diff --git a/changelog.html b/changelog.html index 2fc909b..14c1d9b 100644 --- a/changelog.html +++ b/changelog.html @@ -43,9 +43,10 @@

Xmppweb Plugin Changelog

-

0.10.3 Release 2 -- (to be determined)

+

0.10.6 Release 1 -- (to be determined)

diff --git a/classes/assets/index-126f0889.js b/classes/assets/index-126f0889.js new file mode 100644 index 0000000..ca8cac8 --- /dev/null +++ b/classes/assets/index-126f0889.js @@ -0,0 +1,90 @@ +(function(){const C=document.createElement("link").relList;if(C&&C.supports&&C.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))n(t);new MutationObserver(t=>{for(const i of t)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function e(t){const i={};return t.integrity&&(i.integrity=t.integrity),t.referrerPolicy&&(i.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?i.credentials="include":t.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(t){if(t.ep)return;t.ep=!0;const i=e(t);fetch(t.href,i)}})();/** +* @vue/shared v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Ua(A){const C=Object.create(null);for(const e of A.split(","))C[e]=1;return e=>e in C}const SC={},ht=[],ye=()=>{},rh=()=>!1,Eo=A=>A.charCodeAt(0)===111&&A.charCodeAt(1)===110&&(A.charCodeAt(2)>122||A.charCodeAt(2)<97),Ha=A=>A.startsWith("onUpdate:"),LC=Object.assign,Qa=(A,C)=>{const e=A.indexOf(C);e>-1&&A.splice(e,1)},ch=Object.prototype.hasOwnProperty,gC=(A,C)=>ch.call(A,C),LA=Array.isArray,gt=A=>Ki(A)==="[object Map]",Pt=A=>Ki(A)==="[object Set]",wc=A=>Ki(A)==="[object Date]",VA=A=>typeof A=="function",DC=A=>typeof A=="string",Se=A=>typeof A=="symbol",kC=A=>A!==null&&typeof A=="object",hd=A=>(kC(A)||VA(A))&&VA(A.then)&&VA(A.catch),gd=Object.prototype.toString,Ki=A=>gd.call(A),uh=A=>Ki(A).slice(8,-1),bd=A=>Ki(A)==="[object Object]",Va=A=>DC(A)&&A!=="NaN"&&A[0]!=="-"&&""+parseInt(A,10)===A,Jt=Ua(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),yo=A=>{const C=Object.create(null);return e=>C[e]||(C[e]=A(e))},mh=/-(\w)/g,fe=yo(A=>A.replace(mh,(C,e)=>e?e.toUpperCase():"")),dh=/\B([A-Z])/g,xn=yo(A=>A.replace(dh,"-$1").toLowerCase()),Ti=yo(A=>A.charAt(0).toUpperCase()+A.slice(1)),bs=yo(A=>A?`on${Ti(A)}`:""),vn=(A,C)=>!Object.is(A,C),Es=(A,...C)=>{for(let e=0;e{Object.defineProperty(A,C,{configurable:!0,enumerable:!1,writable:n,value:e})},Ns=A=>{const C=parseFloat(A);return isNaN(C)?A:C},ph=A=>{const C=DC(A)?Number(A):NaN;return isNaN(C)?A:C};let Bc;const vo=()=>Bc||(Bc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function wo(A){if(LA(A)){const C={};for(let e=0;e{if(e){const n=e.split(hh);n.length>1&&(C[n[0].trim()]=n[1].trim())}}),C}function zA(A){let C="";if(DC(A))C=A;else if(LA(A))for(let e=0;eVn(e,C))}const vd=A=>!!(A&&A.__v_isRef===!0),lA=A=>DC(A)?A:A==null?"":LA(A)||kC(A)&&(A.toString===gd||!VA(A.toString))?vd(A)?lA(A.value):JSON.stringify(A,wd,2):String(A),wd=(A,C)=>vd(C)?wd(A,C.value):gt(C)?{[`Map(${C.size})`]:[...C.entries()].reduce((e,[n,t],i)=>(e[sl(n,i)+" =>"]=t,e),{})}:Pt(C)?{[`Set(${C.size})`]:[...C.values()].map(e=>sl(e))}:Se(C)?sl(C):kC(C)&&!LA(C)&&!bd(C)?String(C):C,sl=(A,C="")=>{var e;return Se(A)?`Symbol(${(e=A.description)!=null?e:C})`:A};/** +* @vue/reactivity v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let VC;class Bd{constructor(C=!1){this.detached=C,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=VC,!C&&VC&&(this.index=(VC.scopes||(VC.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let C,e;if(this.scopes)for(C=0,e=this.scopes.length;C0&&--this._on===0&&(VC=this.prevScope,this.prevScope=void 0)}stop(C){if(this._active){this._active=!1;let e,n;for(e=0,n=this.effects.length;e0)return;if(Zt){let C=Zt;for(Zt=void 0;C;){const e=C.next;C.next=void 0,C.flags&=-9,C=e}}let A;for(;Xt;){let C=Xt;for(Xt=void 0;C;){const e=C.next;if(C.next=void 0,C.flags&=-9,C.flags&1)try{C.trigger()}catch(n){A||(A=n)}C=e}}if(A)throw A}function Id(A){for(let C=A.deps;C;C=C.nextDep)C.version=-1,C.prevActiveLink=C.dep.activeLink,C.dep.activeLink=C}function Md(A){let C,e=A.depsTail,n=e;for(;n;){const t=n.prevDep;n.version===-1?(n===e&&(e=t),Ja(n),wh(n)):C=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=t}A.deps=C,A.depsTail=e}function Vl(A){for(let C=A.deps;C;C=C.nextDep)if(C.dep.version!==C.version||C.dep.computed&&(Dd(C.dep.computed)||C.dep.version!==C.version))return!0;return!!A._dirty}function Dd(A){if(A.flags&4&&!(A.flags&16)||(A.flags&=-17,A.globalVersion===ai)||(A.globalVersion=ai,!A.isSSR&&A.flags&128&&(!A.deps&&!A._dirty||!Vl(A))))return;A.flags|=2;const C=A.dep,e=jC,n=ve;jC=A,ve=!0;try{Id(A);const t=A.fn(A._value);(C.version===0||vn(t,A._value))&&(A.flags|=128,A._value=t,C.version++)}catch(t){throw C.version++,t}finally{jC=e,ve=n,Md(A),A.flags&=-3}}function Ja(A,C=!1){const{dep:e,prevSub:n,nextSub:t}=A;if(n&&(n.nextSub=t,A.prevSub=void 0),t&&(t.prevSub=n,A.nextSub=void 0),e.subs===A&&(e.subs=n,!n&&e.computed)){e.computed.flags&=-5;for(let i=e.computed.deps;i;i=i.nextDep)Ja(i,!0)}!C&&!--e.sc&&e.map&&e.map.delete(e.key)}function wh(A){const{prevDep:C,nextDep:e}=A;C&&(C.nextDep=e,A.prevDep=void 0),e&&(e.prevDep=C,A.nextDep=void 0)}let ve=!0;const Pd=[];function An(){Pd.push(ve),ve=!1}function Cn(){const A=Pd.pop();ve=A===void 0?!0:A}function Sc(A){const{cleanup:C}=A;if(A.cleanup=void 0,C){const e=jC;jC=void 0;try{C()}finally{jC=e}}}let ai=0;class Bh{constructor(C,e){this.sub=C,this.dep=e,this.version=e.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Xa{constructor(C){this.computed=C,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(C){if(!jC||!ve||jC===this.computed)return;let e=this.activeLink;if(e===void 0||e.sub!==jC)e=this.activeLink=new Bh(jC,this),jC.deps?(e.prevDep=jC.depsTail,jC.depsTail.nextDep=e,jC.depsTail=e):jC.deps=jC.depsTail=e,Od(e);else if(e.version===-1&&(e.version=this.version,e.nextDep)){const n=e.nextDep;n.prevDep=e.prevDep,e.prevDep&&(e.prevDep.nextDep=n),e.prevDep=jC.depsTail,e.nextDep=void 0,jC.depsTail.nextDep=e,jC.depsTail=e,jC.deps===e&&(jC.deps=n)}return e}trigger(C){this.version++,ai++,this.notify(C)}notify(C){Wa();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ya()}}}function Od(A){if(A.dep.sc++,A.sub.flags&4){const C=A.dep.computed;if(C&&!A.dep.subs){C.flags|=20;for(let n=C.deps;n;n=n.nextDep)Od(n)}const e=A.dep.subs;e!==A&&(A.prevSub=e,e&&(e.nextSub=A)),A.dep.subs=A}}const $s=new WeakMap,Un=Symbol(""),zl=Symbol(""),ri=Symbol("");function zC(A,C,e){if(ve&&jC){let n=$s.get(A);n||$s.set(A,n=new Map);let t=n.get(e);t||(n.set(e,t=new Xa),t.map=n,t.key=e),t.track()}}function Ye(A,C,e,n,t,i){const s=$s.get(A);if(!s){ai++;return}const o=l=>{l&&l.trigger()};if(Wa(),C==="clear")s.forEach(o);else{const l=LA(A),a=l&&Va(e);if(l&&e==="length"){const r=Number(n);s.forEach((p,d)=>{(d==="length"||d===ri||!Se(d)&&d>=r)&&o(p)})}else switch((e!==void 0||s.has(void 0))&&o(s.get(e)),a&&o(s.get(ri)),C){case"add":l?a&&o(s.get("length")):(o(s.get(Un)),gt(A)&&o(s.get(zl)));break;case"delete":l||(o(s.get(Un)),gt(A)&&o(s.get(zl)));break;case"set":gt(A)&&o(s.get(Un));break}}Ya()}function Sh(A,C){const e=$s.get(A);return e&&e.get(C)}function ot(A){const C=rC(A);return C===A?C:(zC(C,"iterate",ri),de(A)?C:C.map(GC))}function Bo(A){return zC(A=rC(A),"iterate",ri),A}const kh={__proto__:null,[Symbol.iterator](){return ll(this,Symbol.iterator,GC)},concat(...A){return ot(this).concat(...A.map(C=>LA(C)?ot(C):C))},entries(){return ll(this,"entries",A=>(A[1]=GC(A[1]),A))},every(A,C){return He(this,"every",A,C,void 0,arguments)},filter(A,C){return He(this,"filter",A,C,e=>e.map(GC),arguments)},find(A,C){return He(this,"find",A,C,GC,arguments)},findIndex(A,C){return He(this,"findIndex",A,C,void 0,arguments)},findLast(A,C){return He(this,"findLast",A,C,GC,arguments)},findLastIndex(A,C){return He(this,"findLastIndex",A,C,void 0,arguments)},forEach(A,C){return He(this,"forEach",A,C,void 0,arguments)},includes(...A){return al(this,"includes",A)},indexOf(...A){return al(this,"indexOf",A)},join(A){return ot(this).join(A)},lastIndexOf(...A){return al(this,"lastIndexOf",A)},map(A,C){return He(this,"map",A,C,void 0,arguments)},pop(){return Rt(this,"pop")},push(...A){return Rt(this,"push",A)},reduce(A,...C){return kc(this,"reduce",A,C)},reduceRight(A,...C){return kc(this,"reduceRight",A,C)},shift(){return Rt(this,"shift")},some(A,C){return He(this,"some",A,C,void 0,arguments)},splice(...A){return Rt(this,"splice",A)},toReversed(){return ot(this).toReversed()},toSorted(A){return ot(this).toSorted(A)},toSpliced(...A){return ot(this).toSpliced(...A)},unshift(...A){return Rt(this,"unshift",A)},values(){return ll(this,"values",GC)}};function ll(A,C,e){const n=Bo(A),t=n[C]();return n!==A&&!de(A)&&(t._next=t.next,t.next=()=>{const i=t._next();return i.value&&(i.value=e(i.value)),i}),t}const xh=Array.prototype;function He(A,C,e,n,t,i){const s=Bo(A),o=s!==A&&!de(A),l=s[C];if(l!==xh[C]){const p=l.apply(A,i);return o?GC(p):p}let a=e;s!==A&&(o?a=function(p,d){return e.call(this,GC(p),d,A)}:e.length>2&&(a=function(p,d){return e.call(this,p,d,A)}));const r=l.call(s,a,n);return o&&t?t(r):r}function kc(A,C,e,n){const t=Bo(A);let i=e;return t!==A&&(de(A)?e.length>3&&(i=function(s,o,l){return e.call(this,s,o,l,A)}):i=function(s,o,l){return e.call(this,s,GC(o),l,A)}),t[C](i,...n)}function al(A,C,e){const n=rC(A);zC(n,"iterate",ri);const t=n[C](...e);return(t===-1||t===!1)&&Cr(e[0])?(e[0]=rC(e[0]),n[C](...e)):t}function Rt(A,C,e=[]){An(),Wa();const n=rC(A)[C].apply(A,e);return Ya(),Cn(),n}const _h=Ua("__proto__,__v_isRef,__isVue"),Ld=new Set(Object.getOwnPropertyNames(Symbol).filter(A=>A!=="arguments"&&A!=="caller").map(A=>Symbol[A]).filter(Se));function jh(A){Se(A)||(A=String(A));const C=rC(this);return zC(C,"has",A),C.hasOwnProperty(A)}class Kd{constructor(C=!1,e=!1){this._isReadonly=C,this._isShallow=e}get(C,e,n){if(e==="__v_skip")return C.__v_skip;const t=this._isReadonly,i=this._isShallow;if(e==="__v_isReactive")return!t;if(e==="__v_isReadonly")return t;if(e==="__v_isShallow")return i;if(e==="__v_raw")return n===(t?i?Nh:$d:i?Nd:Fd).get(C)||Object.getPrototypeOf(C)===Object.getPrototypeOf(n)?C:void 0;const s=LA(C);if(!t){let l;if(s&&(l=kh[e]))return l;if(e==="hasOwnProperty")return jh}const o=Reflect.get(C,e,OC(C)?C:n);return(Se(e)?Ld.has(e):_h(e))||(t||zC(C,"get",e),i)?o:OC(o)?s&&Va(e)?o:o.value:kC(o)?t?Gd(o):Fi(o):o}}class Td extends Kd{constructor(C=!1){super(!1,C)}set(C,e,n,t){let i=C[e];if(!this._isShallow){const l=Bn(i);if(!de(n)&&!Bn(n)&&(i=rC(i),n=rC(n)),!LA(C)&&OC(i)&&!OC(n))return l?!1:(i.value=n,!0)}const s=LA(C)&&Va(e)?Number(e)A,Ji=A=>Reflect.getPrototypeOf(A);function Oh(A,C,e){return function(...n){const t=this.__v_raw,i=rC(t),s=gt(i),o=A==="entries"||A===Symbol.iterator&&s,l=A==="keys"&&s,a=t[A](...n),r=e?ql:C?Rs:GC;return!C&&zC(i,"iterate",l?zl:Un),{next(){const{value:p,done:d}=a.next();return d?{value:p,done:d}:{value:o?[r(p[0]),r(p[1])]:r(p),done:d}},[Symbol.iterator](){return this}}}}function Xi(A){return function(...C){return A==="delete"?!1:A==="clear"?void 0:this}}function Lh(A,C){const e={get(t){const i=this.__v_raw,s=rC(i),o=rC(t);A||(vn(t,o)&&zC(s,"get",t),zC(s,"get",o));const{has:l}=Ji(s),a=C?ql:A?Rs:GC;if(l.call(s,t))return a(i.get(t));if(l.call(s,o))return a(i.get(o));i!==s&&i.get(t)},get size(){const t=this.__v_raw;return!A&&zC(rC(t),"iterate",Un),Reflect.get(t,"size",t)},has(t){const i=this.__v_raw,s=rC(i),o=rC(t);return A||(vn(t,o)&&zC(s,"has",t),zC(s,"has",o)),t===o?i.has(t):i.has(t)||i.has(o)},forEach(t,i){const s=this,o=s.__v_raw,l=rC(o),a=C?ql:A?Rs:GC;return!A&&zC(l,"iterate",Un),o.forEach((r,p)=>t.call(i,a(r),a(p),s))}};return LC(e,A?{add:Xi("add"),set:Xi("set"),delete:Xi("delete"),clear:Xi("clear")}:{add(t){!C&&!de(t)&&!Bn(t)&&(t=rC(t));const i=rC(this);return Ji(i).has.call(i,t)||(i.add(t),Ye(i,"add",t,t)),this},set(t,i){!C&&!de(i)&&!Bn(i)&&(i=rC(i));const s=rC(this),{has:o,get:l}=Ji(s);let a=o.call(s,t);a||(t=rC(t),a=o.call(s,t));const r=l.call(s,t);return s.set(t,i),a?vn(i,r)&&Ye(s,"set",t,i):Ye(s,"add",t,i),this},delete(t){const i=rC(this),{has:s,get:o}=Ji(i);let l=s.call(i,t);l||(t=rC(t),l=s.call(i,t)),o&&o.call(i,t);const a=i.delete(t);return l&&Ye(i,"delete",t,void 0),a},clear(){const t=rC(this),i=t.size!==0,s=t.clear();return i&&Ye(t,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(t=>{e[t]=Oh(t,A,C)}),e}function Za(A,C){const e=Lh(A,C);return(n,t,i)=>t==="__v_isReactive"?!A:t==="__v_isReadonly"?A:t==="__v_raw"?n:Reflect.get(gC(e,t)&&t in n?e:n,t,i)}const Kh={get:Za(!1,!1)},Th={get:Za(!1,!0)},Fh={get:Za(!0,!1)};const Fd=new WeakMap,Nd=new WeakMap,$d=new WeakMap,Nh=new WeakMap;function $h(A){switch(A){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Rh(A){return A.__v_skip||!Object.isExtensible(A)?0:$h(uh(A))}function Fi(A){return Bn(A)?A:Ar(A,!1,Mh,Kh,Fd)}function Rd(A){return Ar(A,!1,Ph,Th,Nd)}function Gd(A){return Ar(A,!0,Dh,Fh,$d)}function Ar(A,C,e,n,t){if(!kC(A)||A.__v_raw&&!(C&&A.__v_isReactive))return A;const i=Rh(A);if(i===0)return A;const s=t.get(A);if(s)return s;const o=new Proxy(A,i===2?n:e);return t.set(A,o),o}function wn(A){return Bn(A)?wn(A.__v_raw):!!(A&&A.__v_isReactive)}function Bn(A){return!!(A&&A.__v_isReadonly)}function de(A){return!!(A&&A.__v_isShallow)}function Cr(A){return A?!!A.__v_raw:!1}function rC(A){const C=A&&A.__v_raw;return C?rC(C):A}function er(A){return!gC(A,"__v_skip")&&Object.isExtensible(A)&&Ed(A,"__v_skip",!0),A}const GC=A=>kC(A)?Fi(A):A,Rs=A=>kC(A)?Gd(A):A;function OC(A){return A?A.__v_isRef===!0:!1}function zn(A){return Ud(A,!1)}function Gh(A){return Ud(A,!0)}function Ud(A,C){return OC(A)?A:new Uh(A,C)}class Uh{constructor(C,e){this.dep=new Xa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=e?C:rC(C),this._value=e?C:GC(C),this.__v_isShallow=e}get value(){return this.dep.track(),this._value}set value(C){const e=this._rawValue,n=this.__v_isShallow||de(C)||Bn(C);C=n?C:rC(C),vn(C,e)&&(this._rawValue=C,this._value=n?C:GC(C),this.dep.trigger())}}function Hn(A){return OC(A)?A.value:A}const Hh={get:(A,C,e)=>C==="__v_raw"?A:Hn(Reflect.get(A,C,e)),set:(A,C,e,n)=>{const t=A[C];return OC(t)&&!OC(e)?(t.value=e,!0):Reflect.set(A,C,e,n)}};function Hd(A){return wn(A)?A:new Proxy(A,Hh)}function Qh(A){const C=LA(A)?new Array(A.length):{};for(const e in A)C[e]=zh(A,e);return C}class Vh{constructor(C,e,n){this._object=C,this._key=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const C=this._object[this._key];return this._value=C===void 0?this._defaultValue:C}set value(C){this._object[this._key]=C}get dep(){return Sh(rC(this._object),this._key)}}function zh(A,C,e){const n=A[C];return OC(n)?n:new Vh(A,C,e)}class qh{constructor(C,e,n){this.fn=C,this.setter=e,this._value=void 0,this.dep=new Xa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ai-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!e,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&jC!==this)return jd(this,!0),!0}get value(){const C=this.dep.track();return Dd(this),C&&(C.version=this.dep.version),this._value}set value(C){this.setter&&this.setter(C)}}function Wh(A,C,e=!1){let n,t;return VA(A)?n=A:(n=A.get,t=A.set),new qh(n,t,e)}const Zi={},Gs=new WeakMap;let Fn;function Yh(A,C=!1,e=Fn){if(e){let n=Gs.get(e);n||Gs.set(e,n=[]),n.push(A)}}function Jh(A,C,e=SC){const{immediate:n,deep:t,once:i,scheduler:s,augmentJob:o,call:l}=e,a=H=>t?H:de(H)||t===!1||t===0?Je(H,1):Je(H);let r,p,d,u,g=!1,v=!1;if(OC(A)?(p=()=>A.value,g=de(A)):wn(A)?(p=()=>a(A),g=!0):LA(A)?(v=!0,g=A.some(H=>wn(H)||de(H)),p=()=>A.map(H=>{if(OC(H))return H.value;if(wn(H))return a(H);if(VA(H))return l?l(H,2):H()})):VA(A)?C?p=l?()=>l(A,2):A:p=()=>{if(d){An();try{d()}finally{Cn()}}const H=Fn;Fn=r;try{return l?l(A,3,[u]):A(u)}finally{Fn=H}}:p=ye,C&&t){const H=p,Y=t===!0?1/0:t;p=()=>Je(H(),Y)}const y=qa(),x=()=>{r.stop(),y&&y.active&&Qa(y.effects,r)};if(i&&C){const H=C;C=(...Y)=>{H(...Y),x()}}let $=v?new Array(A.length).fill(Zi):Zi;const F=H=>{if(!(!(r.flags&1)||!r.dirty&&!H))if(C){const Y=r.run();if(t||g||(v?Y.some((hA,BA)=>vn(hA,$[BA])):vn(Y,$))){d&&d();const hA=Fn;Fn=r;try{const BA=[Y,$===Zi?void 0:v&&$[0]===Zi?[]:$,u];$=Y,l?l(C,3,BA):C(...BA)}finally{Fn=hA}}}else r.run()};return o&&o(F),r=new xd(p),r.scheduler=s?()=>s(F,!1):F,u=H=>Yh(H,!1,r),d=r.onStop=()=>{const H=Gs.get(r);if(H){if(l)l(H,4);else for(const Y of H)Y();Gs.delete(r)}},C?n?F(!0):$=r.run():s?s(F.bind(null,!0),!0):r.run(),x.pause=r.pause.bind(r),x.resume=r.resume.bind(r),x.stop=x,x}function Je(A,C=1/0,e){if(C<=0||!kC(A)||A.__v_skip||(e=e||new Set,e.has(A)))return A;if(e.add(A),C--,OC(A))Je(A.value,C,e);else if(LA(A))for(let n=0;n{Je(n,C,e)});else if(bd(A)){for(const n in A)Je(A[n],C,e);for(const n of Object.getOwnPropertySymbols(A))Object.prototype.propertyIsEnumerable.call(A,n)&&Je(A[n],C,e)}return A}/** +* @vue/runtime-core v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ni(A,C,e,n){try{return n?A(...n):A()}catch(t){So(t,C,e)}}function ke(A,C,e,n){if(VA(A)){const t=Ni(A,C,e,n);return t&&hd(t)&&t.catch(i=>{So(i,C,e)}),t}if(LA(A)){const t=[];for(let i=0;i>>1,t=XC[n],i=ci(t);i=ci(e)?XC.push(A):XC.splice(Zh(C),0,A),A.flags|=1,Vd()}}function Vd(){Us||(Us=Qd.then(qd))}function Ag(A){LA(A)?bt.push(...A):fn&&A.id===-1?fn.splice(ut+1,0,A):A.flags&1||(bt.push(A),A.flags|=1),Vd()}function xc(A,C,e=Te+1){for(;eci(e)-ci(n));if(bt.length=0,fn){fn.push(...C);return}for(fn=C,ut=0;utA.id==null?A.flags&2?-1:1/0:A.id;function qd(A){const C=ye;try{for(Te=0;Te{n._d&&zs(-1);const i=Hs(C);let s;try{s=A(...t)}finally{Hs(i),n._d&&zs(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function HA(A,C){if(NC===null)return A;const e=jo(NC),n=A.dirs||(A.dirs=[]);for(let t=0;tA.__isTeleport,hn=Symbol("_leaveCb"),As=Symbol("_enterCb");function Jd(){const A={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ir(()=>{A.isMounted=!0}),ip(()=>{A.isUnmounting=!0}),A}const ce=[Function,Array],Xd={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ce,onEnter:ce,onAfterEnter:ce,onEnterCancelled:ce,onBeforeLeave:ce,onLeave:ce,onAfterLeave:ce,onLeaveCancelled:ce,onBeforeAppear:ce,onAppear:ce,onAfterAppear:ce,onAppearCancelled:ce},Zd=A=>{const C=A.subTree;return C.component?Zd(C.component):C},eg={name:"BaseTransition",props:Xd,setup(A,{slots:C}){const e=mr(),n=Jd();return()=>{const t=C.default&&tr(C.default(),!0);if(!t||!t.length)return;const i=Ap(t),s=rC(A),{mode:o}=s;if(n.isLeaving)return rl(i);const l=_c(i);if(!l)return rl(i);let a=ui(l,s,n,e,p=>a=p);l.type!==UC&&qn(l,a);let r=e.subTree&&_c(e.subTree);if(r&&r.type!==UC&&!$n(l,r)&&Zd(e).type!==UC){let p=ui(r,s,n,e);if(qn(r,p),o==="out-in"&&l.type!==UC)return n.isLeaving=!0,p.afterLeave=()=>{n.isLeaving=!1,e.job.flags&8||e.update(),delete p.afterLeave,r=void 0},rl(i);o==="in-out"&&l.type!==UC?p.delayLeave=(d,u,g)=>{const v=Cp(n,r);v[String(r.key)]=r,d[hn]=()=>{u(),d[hn]=void 0,delete a.delayedLeave,r=void 0},a.delayedLeave=()=>{g(),delete a.delayedLeave,r=void 0}}:r=void 0}else r&&(r=void 0);return i}}};function Ap(A){let C=A[0];if(A.length>1){for(const e of A)if(e.type!==UC){C=e;break}}return C}const ng=eg;function Cp(A,C){const{leavingVNodes:e}=A;let n=e.get(C.type);return n||(n=Object.create(null),e.set(C.type,n)),n}function ui(A,C,e,n,t){const{appear:i,mode:s,persisted:o=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:r,onEnterCancelled:p,onBeforeLeave:d,onLeave:u,onAfterLeave:g,onLeaveCancelled:v,onBeforeAppear:y,onAppear:x,onAfterAppear:$,onAppearCancelled:F}=C,H=String(A.key),Y=Cp(e,A),hA=(eA,rA)=>{eA&&ke(eA,n,9,rA)},BA=(eA,rA)=>{const I=rA[1];hA(eA,rA),LA(eA)?eA.every(O=>O.length<=1)&&I():eA.length<=1&&I()},cA={mode:s,persisted:o,beforeEnter(eA){let rA=l;if(!e.isMounted)if(i)rA=y||l;else return;eA[hn]&&eA[hn](!0);const I=Y[H];I&&$n(A,I)&&I.el[hn]&&I.el[hn](),hA(rA,[eA])},enter(eA){let rA=a,I=r,O=p;if(!e.isMounted)if(i)rA=x||a,I=$||r,O=F||p;else return;let W=!1;const V=eA[As]=B=>{W||(W=!0,B?hA(O,[eA]):hA(I,[eA]),cA.delayedLeave&&cA.delayedLeave(),eA[As]=void 0)};rA?BA(rA,[eA,V]):V()},leave(eA,rA){const I=String(A.key);if(eA[As]&&eA[As](!0),e.isUnmounting)return rA();hA(d,[eA]);let O=!1;const W=eA[hn]=V=>{O||(O=!0,rA(),V?hA(v,[eA]):hA(g,[eA]),eA[hn]=void 0,Y[I]===A&&delete Y[I])};Y[I]=A,u?BA(u,[eA,W]):W()},clone(eA){const rA=ui(eA,C,e,n,t);return t&&t(rA),rA}};return cA}function rl(A){if(ko(A))return A=Sn(A),A.children=null,A}function _c(A){if(!ko(A))return Yd(A.type)&&A.children?Ap(A.children):A;if(A.component)return A.component.subTree;const{shapeFlag:C,children:e}=A;if(e){if(C&16)return e[0];if(C&32&&VA(e.default))return e.default()}}function qn(A,C){A.shapeFlag&6&&A.component?(A.transition=C,qn(A.component.subTree,C)):A.shapeFlag&128?(A.ssContent.transition=C.clone(A.ssContent),A.ssFallback.transition=C.clone(A.ssFallback)):A.transition=C}function tr(A,C=!1,e){let n=[],t=0;for(let i=0;i1)for(let i=0;iLC({name:A.name},C,{setup:A}))():A}function ep(A){A.ids=[A.ids[0]+A.ids[2]+++"-",0,0]}function Qs(A,C,e,n,t=!1){if(LA(A)){A.forEach((g,v)=>Qs(g,C&&(LA(C)?C[v]:C),e,n,t));return}if(Et(n)&&!t){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Qs(A,C,e,n.component.subTree);return}const i=n.shapeFlag&4?jo(n.component):n.el,s=t?null:i,{i:o,r:l}=A,a=C&&C.r,r=o.refs===SC?o.refs={}:o.refs,p=o.setupState,d=rC(p),u=p===SC?()=>!1:g=>gC(d,g);if(a!=null&&a!==l&&(DC(a)?(r[a]=null,u(a)&&(p[a]=null)):OC(a)&&(a.value=null)),VA(l))Ni(l,o,12,[s,r]);else{const g=DC(l),v=OC(l);if(g||v){const y=()=>{if(A.f){const x=g?u(l)?p[l]:r[l]:l.value;t?LA(x)&&Qa(x,i):LA(x)?x.includes(i)||x.push(i):g?(r[l]=[i],u(l)&&(p[l]=r[l])):(l.value=[i],A.k&&(r[A.k]=l.value))}else g?(r[l]=s,u(l)&&(p[l]=s)):v&&(l.value=s,A.k&&(r[A.k]=s))};s?(y.id=-1,le(y,e)):y()}}}vo().requestIdleCallback;vo().cancelIdleCallback;const Et=A=>!!A.type.__asyncLoader,ko=A=>A.type.__isKeepAlive;function tg(A,C){np(A,"a",C)}function ig(A,C){np(A,"da",C)}function np(A,C,e=RC){const n=A.__wdc||(A.__wdc=()=>{let t=e;for(;t;){if(t.isDeactivated)return;t=t.parent}return A()});if(xo(C,n,e),e){let t=e.parent;for(;t&&t.parent;)ko(t.parent.vnode)&&sg(n,C,e,t),t=t.parent}}function sg(A,C,e,n){const t=xo(C,A,n,!0);sp(()=>{Qa(n[C],t)},e)}function xo(A,C,e=RC,n=!1){if(e){const t=e[A]||(e[A]=[]),i=C.__weh||(C.__weh=(...s)=>{An();const o=Ri(e),l=ke(C,e,A,s);return o(),Cn(),l});return n?t.unshift(i):t.push(i),i}}const on=A=>(C,e=RC)=>{(!pi||A==="sp")&&xo(A,(...n)=>C(...n),e)},og=on("bm"),ir=on("m"),lg=on("bu"),tp=on("u"),ip=on("bum"),sp=on("um"),ag=on("sp"),rg=on("rtg"),cg=on("rtc");function ug(A,C=RC){xo("ec",A,C)}const sr="components",mg="directives";function AA(A,C){return or(sr,A,!0,C)||A}const op=Symbol.for("v-ndc");function _n(A){return DC(A)?or(sr,A,!1)||A:A||op}function lp(A){return or(mg,A)}function or(A,C,e=!0,n=!1){const t=NC||RC;if(t){const i=t.type;if(A===sr){const o=A2(i,!1);if(o&&(o===C||o===fe(C)||o===Ti(fe(C))))return i}const s=jc(t[A]||i[A],C)||jc(t.appContext[A],C);return!s&&n?i:s}}function jc(A,C){return A&&(A[C]||A[fe(C)]||A[Ti(fe(C))])}function JA(A,C,e,n){let t;const i=e&&e[n],s=LA(A);if(s||DC(A)){const o=s&&wn(A);let l=!1,a=!1;o&&(l=!de(A),a=Bn(A),A=Bo(A)),t=new Array(A.length);for(let r=0,p=A.length;rC(o,l,void 0,i&&i[l]));else{const o=Object.keys(A);t=new Array(o.length);for(let l=0,a=o.length;l{const i=n.fn(...t);return i&&(i.key=n.key),i}:n.fn)}return A}function fA(A,C,e={},n,t){if(NC.ce||NC.parent&&Et(NC.parent)&&NC.parent.ce)return C!=="default"&&(e.name=C),h(),S(gA,null,[k("slot",e,n&&n())],64);let i=A[C];i&&i._c&&(i._d=!1),h();const s=i&&ap(i(e)),o=e.key||s&&s.key,l=S(gA,{key:(o&&!Se(o)?o:`_${C}`)+(!s&&n?"_fb":"")},s||(n?n():[]),s&&A._===1?64:-2);return!t&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function ap(A){return A.some(C=>di(C)?!(C.type===UC||C.type===gA&&!ap(C.children)):!0)?A:null}function rp(A,C){const e={};for(const n in A)e[C&&/[A-Z]/.test(n)?`on:${n}`:bs(n)]=A[n];return e}const Wl=A=>A?jp(A)?jo(A):Wl(A.parent):null,Ai=LC(Object.create(null),{$:A=>A,$el:A=>A.vnode.el,$data:A=>A.data,$props:A=>A.props,$attrs:A=>A.attrs,$slots:A=>A.slots,$refs:A=>A.refs,$parent:A=>Wl(A.parent),$root:A=>Wl(A.root),$host:A=>A.ce,$emit:A=>A.emit,$options:A=>ar(A),$forceUpdate:A=>A.f||(A.f=()=>{nr(A.update)}),$nextTick:A=>A.n||(A.n=Ot.bind(A.proxy)),$watch:A=>Lg.bind(A)}),cl=(A,C)=>A!==SC&&!A.__isScriptSetup&&gC(A,C),dg={get({_:A},C){if(C==="__v_skip")return!0;const{ctx:e,setupState:n,data:t,props:i,accessCache:s,type:o,appContext:l}=A;let a;if(C[0]!=="$"){const u=s[C];if(u!==void 0)switch(u){case 1:return n[C];case 2:return t[C];case 4:return e[C];case 3:return i[C]}else{if(cl(n,C))return s[C]=1,n[C];if(t!==SC&&gC(t,C))return s[C]=2,t[C];if((a=A.propsOptions[0])&&gC(a,C))return s[C]=3,i[C];if(e!==SC&&gC(e,C))return s[C]=4,e[C];Yl&&(s[C]=0)}}const r=Ai[C];let p,d;if(r)return C==="$attrs"&&zC(A.attrs,"get",""),r(A);if((p=o.__cssModules)&&(p=p[C]))return p;if(e!==SC&&gC(e,C))return s[C]=4,e[C];if(d=l.config.globalProperties,gC(d,C))return d[C]},set({_:A},C,e){const{data:n,setupState:t,ctx:i}=A;return cl(t,C)?(t[C]=e,!0):n!==SC&&gC(n,C)?(n[C]=e,!0):gC(A.props,C)||C[0]==="$"&&C.slice(1)in A?!1:(i[C]=e,!0)},has({_:{data:A,setupState:C,accessCache:e,ctx:n,appContext:t,propsOptions:i}},s){let o;return!!e[s]||A!==SC&&gC(A,s)||cl(C,s)||(o=i[0])&&gC(o,s)||gC(n,s)||gC(Ai,s)||gC(t.config.globalProperties,s)},defineProperty(A,C,e){return e.get!=null?A._.accessCache[C]=0:gC(e,"value")&&this.set(A,C,e.value,null),Reflect.defineProperty(A,C,e)}};function Ic(A){return LA(A)?A.reduce((C,e)=>(C[e]=null,C),{}):A}let Yl=!0;function pg(A){const C=ar(A),e=A.proxy,n=A.ctx;Yl=!1,C.beforeCreate&&Mc(C.beforeCreate,A,"bc");const{data:t,computed:i,methods:s,watch:o,provide:l,inject:a,created:r,beforeMount:p,mounted:d,beforeUpdate:u,updated:g,activated:v,deactivated:y,beforeDestroy:x,beforeUnmount:$,destroyed:F,unmounted:H,render:Y,renderTracked:hA,renderTriggered:BA,errorCaptured:cA,serverPrefetch:eA,expose:rA,inheritAttrs:I,components:O,directives:W,filters:V}=C;if(a&&fg(a,n,null),s)for(const _ in s){const T=s[_];VA(T)&&(n[_]=T.bind(e))}if(t){const _=t.call(e,e);kC(_)&&(A.data=Fi(_))}if(Yl=!0,i)for(const _ in i){const T=i[_],pA=VA(T)?T.bind(e,e):VA(T.get)?T.get.bind(e,e):ye,bA=!VA(T)&&VA(T.set)?T.set.bind(e):ye,XA=me({get:pA,set:bA});Object.defineProperty(n,_,{enumerable:!0,configurable:!0,get:()=>XA.value,set:nC=>XA.value=nC})}if(o)for(const _ in o)cp(o[_],n,e,_);if(l){const _=VA(l)?l.call(e):l;Reflect.ownKeys(_).forEach(T=>{ys(T,_[T])})}r&&Mc(r,A,"c");function M(_,T){LA(T)?T.forEach(pA=>_(pA.bind(e))):T&&_(T.bind(e))}if(M(og,p),M(ir,d),M(lg,u),M(tp,g),M(tg,v),M(ig,y),M(ug,cA),M(cg,hA),M(rg,BA),M(ip,$),M(sp,H),M(ag,eA),LA(rA))if(rA.length){const _=A.exposed||(A.exposed={});rA.forEach(T=>{Object.defineProperty(_,T,{get:()=>e[T],set:pA=>e[T]=pA})})}else A.exposed||(A.exposed={});Y&&A.render===ye&&(A.render=Y),I!=null&&(A.inheritAttrs=I),O&&(A.components=O),W&&(A.directives=W),eA&&ep(A)}function fg(A,C,e=ye){LA(A)&&(A=Jl(A));for(const n in A){const t=A[n];let i;kC(t)?"default"in t?i=Ne(t.from||n,t.default,!0):i=Ne(t.from||n):i=Ne(t),OC(i)?Object.defineProperty(C,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):C[n]=i}}function Mc(A,C,e){ke(LA(A)?A.map(n=>n.bind(C.proxy)):A.bind(C.proxy),C,e)}function cp(A,C,e,n){let t=n.includes(".")?Bp(e,n):()=>e[n];if(DC(A)){const i=C[A];VA(i)&&yt(t,i)}else if(VA(A))yt(t,A.bind(e));else if(kC(A))if(LA(A))A.forEach(i=>cp(i,C,e,n));else{const i=VA(A.handler)?A.handler.bind(e):C[A.handler];VA(i)&&yt(t,i,A)}}function ar(A){const C=A.type,{mixins:e,extends:n}=C,{mixins:t,optionsCache:i,config:{optionMergeStrategies:s}}=A.appContext,o=i.get(C);let l;return o?l=o:!t.length&&!e&&!n?l=C:(l={},t.length&&t.forEach(a=>Vs(l,a,s,!0)),Vs(l,C,s)),kC(C)&&i.set(C,l),l}function Vs(A,C,e,n=!1){const{mixins:t,extends:i}=C;i&&Vs(A,i,e,!0),t&&t.forEach(s=>Vs(A,s,e,!0));for(const s in C)if(!(n&&s==="expose")){const o=hg[s]||e&&e[s];A[s]=o?o(A[s],C[s]):C[s]}return A}const hg={data:Dc,props:Pc,emits:Pc,methods:Wt,computed:Wt,beforeCreate:JC,created:JC,beforeMount:JC,mounted:JC,beforeUpdate:JC,updated:JC,beforeDestroy:JC,beforeUnmount:JC,destroyed:JC,unmounted:JC,activated:JC,deactivated:JC,errorCaptured:JC,serverPrefetch:JC,components:Wt,directives:Wt,watch:bg,provide:Dc,inject:gg};function Dc(A,C){return C?A?function(){return LC(VA(A)?A.call(this,this):A,VA(C)?C.call(this,this):C)}:C:A}function gg(A,C){return Wt(Jl(A),Jl(C))}function Jl(A){if(LA(A)){const C={};for(let e=0;e1)return e&&VA(C)?C.call(n&&n.proxy):C}}function vg(){return!!(RC||NC||Qn)}const mp={},dp=()=>Object.create(mp),pp=A=>Object.getPrototypeOf(A)===mp;function wg(A,C,e,n=!1){const t={},i=dp();A.propsDefaults=Object.create(null),fp(A,C,t,i);for(const s in A.propsOptions[0])s in t||(t[s]=void 0);e?A.props=n?t:Rd(t):A.type.props?A.props=t:A.props=i,A.attrs=i}function Bg(A,C,e,n){const{props:t,attrs:i,vnode:{patchFlag:s}}=A,o=rC(t),[l]=A.propsOptions;let a=!1;if((n||s>0)&&!(s&16)){if(s&8){const r=A.vnode.dynamicProps;for(let p=0;p{l=!0;const[d,u]=hp(p,C,!0);LC(s,d),u&&o.push(...u)};!e&&C.mixins.length&&C.mixins.forEach(r),A.extends&&r(A.extends),A.mixins&&A.mixins.forEach(r)}if(!i&&!l)return kC(A)&&n.set(A,ht),ht;if(LA(i))for(let r=0;rA[0]==="_"||A==="$stable",cr=A=>LA(A)?A.map(Fe):[Fe(A)],kg=(A,C,e)=>{if(C._n)return C;const n=SA((...t)=>cr(C(...t)),e);return n._c=!1,n},gp=(A,C,e)=>{const n=A._ctx;for(const t in A){if(rr(t))continue;const i=A[t];if(VA(i))C[t]=kg(t,i,n);else if(i!=null){const s=cr(i);C[t]=()=>s}}},bp=(A,C)=>{const e=cr(C);A.slots.default=()=>e},Ep=(A,C,e)=>{for(const n in C)(e||!rr(n))&&(A[n]=C[n])},xg=(A,C,e)=>{const n=A.slots=dp();if(A.vnode.shapeFlag&32){const t=C._;t?(Ep(n,C,e),e&&Ed(n,"_",t,!0)):gp(C,n)}else C&&bp(A,C)},_g=(A,C,e)=>{const{vnode:n,slots:t}=A;let i=!0,s=SC;if(n.shapeFlag&32){const o=C._;o?e&&o===1?i=!1:Ep(t,C,e):(i=!C.$stable,gp(C,t)),s=C}else C&&(bp(A,C),s={default:1});if(i)for(const o in t)!rr(o)&&s[o]==null&&delete t[o]},le=Gg;function jg(A){return Ig(A)}function Ig(A,C){const e=vo();e.__VUE__=!0;const{insert:n,remove:t,patchProp:i,createElement:s,createText:o,createComment:l,setText:a,setElementText:r,parentNode:p,nextSibling:d,setScopeId:u=ye,insertStaticContent:g}=A,v=(E,w,R,X=null,z=null,nA=null,EA=void 0,dA=null,mA=!!w.dynamicChildren)=>{if(E===w)return;E&&!$n(E,w)&&(X=N(E),nC(E,z,nA,!0),E=null),w.patchFlag===-2&&(mA=!1,w.dynamicChildren=null);const{type:iA,ref:$A,shapeFlag:yA}=w;switch(iA){case $i:y(E,w,R,X);break;case UC:x(E,w,R,X);break;case vs:E==null&&$(w,R,X,EA);break;case gA:O(E,w,R,X,z,nA,EA,dA,mA);break;default:yA&1?Y(E,w,R,X,z,nA,EA,dA,mA):yA&6?W(E,w,R,X,z,nA,EA,dA,mA):(yA&64||yA&128)&&iA.process(E,w,R,X,z,nA,EA,dA,mA,aA)}$A!=null&&z&&Qs($A,E&&E.ref,nA,w||E,!w)},y=(E,w,R,X)=>{if(E==null)n(w.el=o(w.children),R,X);else{const z=w.el=E.el;w.children!==E.children&&a(z,w.children)}},x=(E,w,R,X)=>{E==null?n(w.el=l(w.children||""),R,X):w.el=E.el},$=(E,w,R,X)=>{[E.el,E.anchor]=g(E.children,w,R,X,E.el,E.anchor)},F=({el:E,anchor:w},R,X)=>{let z;for(;E&&E!==w;)z=d(E),n(E,R,X),E=z;n(w,R,X)},H=({el:E,anchor:w})=>{let R;for(;E&&E!==w;)R=d(E),t(E),E=R;t(w)},Y=(E,w,R,X,z,nA,EA,dA,mA)=>{w.type==="svg"?EA="svg":w.type==="math"&&(EA="mathml"),E==null?hA(w,R,X,z,nA,EA,dA,mA):eA(E,w,z,nA,EA,dA,mA)},hA=(E,w,R,X,z,nA,EA,dA)=>{let mA,iA;const{props:$A,shapeFlag:yA,transition:PA,dirs:QA}=E;if(mA=E.el=s(E.type,nA,$A&&$A.is,$A),yA&8?r(mA,E.children):yA&16&&cA(E.children,mA,null,X,z,ul(E,nA),EA,dA),QA&&Pn(E,null,X,"created"),BA(mA,E,E.scopeId,EA,X),$A){for(const xC in $A)xC!=="value"&&!Jt(xC)&&i(mA,xC,null,$A[xC],nA,X);"value"in $A&&i(mA,"value",null,$A.value,nA),(iA=$A.onVnodeBeforeMount)&&Pe(iA,X,E)}QA&&Pn(E,null,X,"beforeMount");const aC=Mg(z,PA);aC&&PA.beforeEnter(mA),n(mA,w,R),((iA=$A&&$A.onVnodeMounted)||aC||QA)&&le(()=>{iA&&Pe(iA,X,E),aC&&PA.enter(mA),QA&&Pn(E,null,X,"mounted")},z)},BA=(E,w,R,X,z)=>{if(R&&u(E,R),X)for(let nA=0;nA{for(let iA=mA;iA{const dA=w.el=E.el;let{patchFlag:mA,dynamicChildren:iA,dirs:$A}=w;mA|=E.patchFlag&16;const yA=E.props||SC,PA=w.props||SC;let QA;if(R&&On(R,!1),(QA=PA.onVnodeBeforeUpdate)&&Pe(QA,R,w,E),$A&&Pn(w,E,R,"beforeUpdate"),R&&On(R,!0),(yA.innerHTML&&PA.innerHTML==null||yA.textContent&&PA.textContent==null)&&r(dA,""),iA?rA(E.dynamicChildren,iA,dA,R,X,ul(w,z),nA):EA||T(E,w,dA,null,R,X,ul(w,z),nA,!1),mA>0){if(mA&16)I(dA,yA,PA,R,z);else if(mA&2&&yA.class!==PA.class&&i(dA,"class",null,PA.class,z),mA&4&&i(dA,"style",yA.style,PA.style,z),mA&8){const aC=w.dynamicProps;for(let xC=0;xC{QA&&Pe(QA,R,w,E),$A&&Pn(w,E,R,"updated")},X)},rA=(E,w,R,X,z,nA,EA)=>{for(let dA=0;dA{if(w!==R){if(w!==SC)for(const nA in w)!Jt(nA)&&!(nA in R)&&i(E,nA,w[nA],null,z,X);for(const nA in R){if(Jt(nA))continue;const EA=R[nA],dA=w[nA];EA!==dA&&nA!=="value"&&i(E,nA,dA,EA,z,X)}"value"in R&&i(E,"value",w.value,R.value,z)}},O=(E,w,R,X,z,nA,EA,dA,mA)=>{const iA=w.el=E?E.el:o(""),$A=w.anchor=E?E.anchor:o("");let{patchFlag:yA,dynamicChildren:PA,slotScopeIds:QA}=w;QA&&(dA=dA?dA.concat(QA):QA),E==null?(n(iA,R,X),n($A,R,X),cA(w.children||[],R,$A,z,nA,EA,dA,mA)):yA>0&&yA&64&&PA&&E.dynamicChildren?(rA(E.dynamicChildren,PA,R,z,nA,EA,dA),(w.key!=null||z&&w===z.subTree)&&yp(E,w,!0)):T(E,w,R,$A,z,nA,EA,dA,mA)},W=(E,w,R,X,z,nA,EA,dA,mA)=>{w.slotScopeIds=dA,E==null?w.shapeFlag&512?z.ctx.activate(w,R,X,EA,mA):V(w,R,X,z,nA,EA,mA):B(E,w,mA)},V=(E,w,R,X,z,nA,EA)=>{const dA=E.component=Wg(E,X,z);if(ko(E)&&(dA.ctx.renderer=aA),Yg(dA,!1,EA),dA.asyncDep){if(z&&z.registerDep(dA,M,EA),!E.el){const mA=dA.subTree=k(UC);x(null,mA,w,R)}}else M(dA,E,w,R,z,nA,EA)},B=(E,w,R)=>{const X=w.component=E.component;if($g(E,w,R))if(X.asyncDep&&!X.asyncResolved){_(X,w,R);return}else X.next=w,X.update();else w.el=E.el,X.vnode=w},M=(E,w,R,X,z,nA,EA)=>{const dA=()=>{if(E.isMounted){let{next:yA,bu:PA,u:QA,parent:aC,vnode:xC}=E;{const se=vp(E);if(se){yA&&(yA.el=xC.el,_(E,yA,EA)),se.asyncDep.then(()=>{E.isUnmounted||dA()});return}}let bC=yA,ie;On(E,!1),yA?(yA.el=xC.el,_(E,yA,EA)):yA=xC,PA&&Es(PA),(ie=yA.props&&yA.props.onVnodeBeforeUpdate)&&Pe(ie,aC,yA,xC),On(E,!0);const QC=ml(E),ge=E.subTree;E.subTree=QC,v(ge,QC,p(ge.el),N(ge),E,z,nA),yA.el=QC.el,bC===null&&Rg(E,QC.el),QA&&le(QA,z),(ie=yA.props&&yA.props.onVnodeUpdated)&&le(()=>Pe(ie,aC,yA,xC),z)}else{let yA;const{el:PA,props:QA}=w,{bm:aC,m:xC,parent:bC,root:ie,type:QC}=E,ge=Et(w);if(On(E,!1),aC&&Es(aC),!ge&&(yA=QA&&QA.onVnodeBeforeMount)&&Pe(yA,bC,w),On(E,!0),PA&&uC){const se=()=>{E.subTree=ml(E),uC(PA,E.subTree,E,z,null)};ge&&QC.__asyncHydrate?QC.__asyncHydrate(PA,E,se):se()}else{ie.ce&&ie.ce._injectChildStyle(QC);const se=E.subTree=ml(E);v(null,se,R,X,E,z,nA),w.el=se.el}if(xC&&le(xC,z),!ge&&(yA=QA&&QA.onVnodeMounted)){const se=w;le(()=>Pe(yA,bC,se),z)}(w.shapeFlag&256||bC&&Et(bC.vnode)&&bC.vnode.shapeFlag&256)&&E.a&&le(E.a,z),E.isMounted=!0,w=R=X=null}};E.scope.on();const mA=E.effect=new xd(dA);E.scope.off();const iA=E.update=mA.run.bind(mA),$A=E.job=mA.runIfDirty.bind(mA);$A.i=E,$A.id=E.uid,mA.scheduler=()=>nr($A),On(E,!0),iA()},_=(E,w,R)=>{w.component=E;const X=E.vnode.props;E.vnode=w,E.next=null,Bg(E,w.props,X,R),_g(E,w.children,R),An(),xc(E),Cn()},T=(E,w,R,X,z,nA,EA,dA,mA=!1)=>{const iA=E&&E.children,$A=E?E.shapeFlag:0,yA=w.children,{patchFlag:PA,shapeFlag:QA}=w;if(PA>0){if(PA&128){bA(iA,yA,R,X,z,nA,EA,dA,mA);return}else if(PA&256){pA(iA,yA,R,X,z,nA,EA,dA,mA);return}}QA&8?($A&16&&UA(iA,z,nA),yA!==iA&&r(R,yA)):$A&16?QA&16?bA(iA,yA,R,X,z,nA,EA,dA,mA):UA(iA,z,nA,!0):($A&8&&r(R,""),QA&16&&cA(yA,R,X,z,nA,EA,dA,mA))},pA=(E,w,R,X,z,nA,EA,dA,mA)=>{E=E||ht,w=w||ht;const iA=E.length,$A=w.length,yA=Math.min(iA,$A);let PA;for(PA=0;PA$A?UA(E,z,nA,!0,!1,yA):cA(w,R,X,z,nA,EA,dA,mA,yA)},bA=(E,w,R,X,z,nA,EA,dA,mA)=>{let iA=0;const $A=w.length;let yA=E.length-1,PA=$A-1;for(;iA<=yA&&iA<=PA;){const QA=E[iA],aC=w[iA]=mA?gn(w[iA]):Fe(w[iA]);if($n(QA,aC))v(QA,aC,R,null,z,nA,EA,dA,mA);else break;iA++}for(;iA<=yA&&iA<=PA;){const QA=E[yA],aC=w[PA]=mA?gn(w[PA]):Fe(w[PA]);if($n(QA,aC))v(QA,aC,R,null,z,nA,EA,dA,mA);else break;yA--,PA--}if(iA>yA){if(iA<=PA){const QA=PA+1,aC=QA<$A?w[QA].el:X;for(;iA<=PA;)v(null,w[iA]=mA?gn(w[iA]):Fe(w[iA]),R,aC,z,nA,EA,dA,mA),iA++}}else if(iA>PA)for(;iA<=yA;)nC(E[iA],z,nA,!0),iA++;else{const QA=iA,aC=iA,xC=new Map;for(iA=aC;iA<=PA;iA++){const oe=w[iA]=mA?gn(w[iA]):Fe(w[iA]);oe.key!=null&&xC.set(oe.key,iA)}let bC,ie=0;const QC=PA-aC+1;let ge=!1,se=0;const $t=new Array(QC);for(iA=0;iA=QC){nC(oe,z,nA,!0);continue}let De;if(oe.key!=null)De=xC.get(oe.key);else for(bC=aC;bC<=PA;bC++)if($t[bC-aC]===0&&$n(oe,w[bC])){De=bC;break}De===void 0?nC(oe,z,nA,!0):($t[De-aC]=iA+1,De>=se?se=De:ge=!0,v(oe,w[De],R,null,z,nA,EA,dA,mA),ie++)}const yc=ge?Dg($t):ht;for(bC=yc.length-1,iA=QC-1;iA>=0;iA--){const oe=aC+iA,De=w[oe],vc=oe+1<$A?w[oe+1].el:X;$t[iA]===0?v(null,De,R,vc,z,nA,EA,dA,mA):ge&&(bC<0||iA!==yc[bC]?XA(De,R,vc,2):bC--)}}},XA=(E,w,R,X,z=null)=>{const{el:nA,type:EA,transition:dA,children:mA,shapeFlag:iA}=E;if(iA&6){XA(E.component.subTree,w,R,X);return}if(iA&128){E.suspense.move(w,R,X);return}if(iA&64){EA.move(E,w,R,aA);return}if(EA===gA){n(nA,w,R);for(let yA=0;yAdA.enter(nA),z);else{const{leave:yA,delayLeave:PA,afterLeave:QA}=dA,aC=()=>{E.ctx.isUnmounted?t(nA):n(nA,w,R)},xC=()=>{yA(nA,()=>{aC(),QA&&QA()})};PA?PA(nA,aC,xC):xC()}else n(nA,w,R)},nC=(E,w,R,X=!1,z=!1)=>{const{type:nA,props:EA,ref:dA,children:mA,dynamicChildren:iA,shapeFlag:$A,patchFlag:yA,dirs:PA,cacheIndex:QA}=E;if(yA===-2&&(z=!1),dA!=null&&(An(),Qs(dA,null,R,E,!0),Cn()),QA!=null&&(w.renderCache[QA]=void 0),$A&256){w.ctx.deactivate(E);return}const aC=$A&1&&PA,xC=!Et(E);let bC;if(xC&&(bC=EA&&EA.onVnodeBeforeUnmount)&&Pe(bC,w,E),$A&6)PC(E.component,R,X);else{if($A&128){E.suspense.unmount(R,X);return}aC&&Pn(E,null,w,"beforeUnmount"),$A&64?E.type.remove(E,w,R,aA,X):iA&&!iA.hasOnce&&(nA!==gA||yA>0&&yA&64)?UA(iA,w,R,!1,!0):(nA===gA&&yA&384||!z&&$A&16)&&UA(mA,w,R),X&&FA(E)}(xC&&(bC=EA&&EA.onVnodeUnmounted)||aC)&&le(()=>{bC&&Pe(bC,w,E),aC&&Pn(E,null,w,"unmounted")},R)},FA=E=>{const{type:w,el:R,anchor:X,transition:z}=E;if(w===gA){NA(R,X);return}if(w===vs){H(E);return}const nA=()=>{t(R),z&&!z.persisted&&z.afterLeave&&z.afterLeave()};if(E.shapeFlag&1&&z&&!z.persisted){const{leave:EA,delayLeave:dA}=z,mA=()=>EA(R,nA);dA?dA(E.el,nA,mA):mA()}else nA()},NA=(E,w)=>{let R;for(;E!==w;)R=d(E),t(E),E=R;t(w)},PC=(E,w,R)=>{const{bum:X,scope:z,job:nA,subTree:EA,um:dA,m:mA,a:iA,parent:$A,slots:{__:yA}}=E;Lc(mA),Lc(iA),X&&Es(X),$A&&LA(yA)&&yA.forEach(PA=>{$A.renderCache[PA]=void 0}),z.stop(),nA&&(nA.flags|=8,nC(EA,E,w,R)),dA&&le(dA,w),le(()=>{E.isUnmounted=!0},w),w&&w.pendingBranch&&!w.isUnmounted&&E.asyncDep&&!E.asyncResolved&&E.suspenseId===w.pendingId&&(w.deps--,w.deps===0&&w.resolve())},UA=(E,w,R,X=!1,z=!1,nA=0)=>{for(let EA=nA;EA{if(E.shapeFlag&6)return N(E.component.subTree);if(E.shapeFlag&128)return E.suspense.next();const w=d(E.anchor||E.el),R=w&&w[Cg];return R?d(R):w};let uA=!1;const oA=(E,w,R)=>{E==null?w._vnode&&nC(w._vnode,null,null,!0):v(w._vnode||null,E,w,null,null,null,R),w._vnode=E,uA||(uA=!0,xc(),zd(),uA=!1)},aA={p:v,um:nC,m:XA,r:FA,mt:V,mc:cA,pc:T,pbc:rA,n:N,o:A};let ZA,uC;return C&&([ZA,uC]=C(aA)),{render:oA,hydrate:ZA,createApp:yg(oA,ZA)}}function ul({type:A,props:C},e){return e==="svg"&&A==="foreignObject"||e==="mathml"&&A==="annotation-xml"&&C&&C.encoding&&C.encoding.includes("html")?void 0:e}function On({effect:A,job:C},e){e?(A.flags|=32,C.flags|=4):(A.flags&=-33,C.flags&=-5)}function Mg(A,C){return(!A||A&&!A.pendingBranch)&&C&&!C.persisted}function yp(A,C,e=!1){const n=A.children,t=C.children;if(LA(n)&&LA(t))for(let i=0;i>1,A[e[o]]0&&(C[n]=e[i-1]),e[i]=n)}}for(i=e.length,s=e[i-1];i-- >0;)e[i]=s,s=C[s];return e}function vp(A){const C=A.subTree.component;if(C)return C.asyncDep&&!C.asyncResolved?C:vp(C)}function Lc(A){if(A)for(let C=0;CNe(Pg);function yt(A,C,e){return wp(A,C,e)}function wp(A,C,e=SC){const{immediate:n,deep:t,flush:i,once:s}=e,o=LC({},e),l=C&&n||!C&&i!=="post";let a;if(pi){if(i==="sync"){const u=Og();a=u.__watcherHandles||(u.__watcherHandles=[])}else if(!l){const u=()=>{};return u.stop=ye,u.resume=ye,u.pause=ye,u}}const r=RC;o.call=(u,g,v)=>ke(u,r,g,v);let p=!1;i==="post"?o.scheduler=u=>{le(u,r&&r.suspense)}:i!=="sync"&&(p=!0,o.scheduler=(u,g)=>{g?u():nr(u)}),o.augmentJob=u=>{C&&(u.flags|=4),p&&(u.flags|=2,r&&(u.id=r.uid,u.i=r))};const d=Jh(A,C,o);return pi&&(a?a.push(d):l&&d()),d}function Lg(A,C,e){const n=this.proxy,t=DC(A)?A.includes(".")?Bp(n,A):()=>n[A]:A.bind(n,n);let i;VA(C)?i=C:(i=C.handler,e=C);const s=Ri(this),o=wp(t,i.bind(n),e);return s(),o}function Bp(A,C){const e=C.split(".");return()=>{let n=A;for(let t=0;tC==="modelValue"||C==="model-value"?A.modelModifiers:A[`${C}Modifiers`]||A[`${fe(C)}Modifiers`]||A[`${xn(C)}Modifiers`];function Tg(A,C,...e){if(A.isUnmounted)return;const n=A.vnode.props||SC;let t=e;const i=C.startsWith("update:"),s=i&&Kg(n,C.slice(7));s&&(s.trim&&(t=e.map(r=>DC(r)?r.trim():r)),s.number&&(t=e.map(Ns)));let o,l=n[o=bs(C)]||n[o=bs(fe(C))];!l&&i&&(l=n[o=bs(xn(C))]),l&&ke(l,A,6,t);const a=n[o+"Once"];if(a){if(!A.emitted)A.emitted={};else if(A.emitted[o])return;A.emitted[o]=!0,ke(a,A,6,t)}}function Sp(A,C,e=!1){const n=C.emitsCache,t=n.get(A);if(t!==void 0)return t;const i=A.emits;let s={},o=!1;if(!VA(A)){const l=a=>{const r=Sp(a,C,!0);r&&(o=!0,LC(s,r))};!e&&C.mixins.length&&C.mixins.forEach(l),A.extends&&l(A.extends),A.mixins&&A.mixins.forEach(l)}return!i&&!o?(kC(A)&&n.set(A,null),null):(LA(i)?i.forEach(l=>s[l]=null):LC(s,i),kC(A)&&n.set(A,s),s)}function _o(A,C){return!A||!Eo(C)?!1:(C=C.slice(2).replace(/Once$/,""),gC(A,C[0].toLowerCase()+C.slice(1))||gC(A,xn(C))||gC(A,C))}function ml(A){const{type:C,vnode:e,proxy:n,withProxy:t,propsOptions:[i],slots:s,attrs:o,emit:l,render:a,renderCache:r,props:p,data:d,setupState:u,ctx:g,inheritAttrs:v}=A,y=Hs(A);let x,$;try{if(e.shapeFlag&4){const H=t||n,Y=H;x=Fe(a.call(Y,H,r,p,u,d,g)),$=o}else{const H=C;x=Fe(H.length>1?H(p,{attrs:o,slots:s,emit:l}):H(p,null)),$=C.props?o:Fg(o)}}catch(H){Ci.length=0,So(H,A,1),x=k(UC)}let F=x;if($&&v!==!1){const H=Object.keys($),{shapeFlag:Y}=F;H.length&&Y&7&&(i&&H.some(Ha)&&($=Ng($,i)),F=Sn(F,$,!1,!0))}return e.dirs&&(F=Sn(F,null,!1,!0),F.dirs=F.dirs?F.dirs.concat(e.dirs):e.dirs),e.transition&&qn(F,e.transition),x=F,Hs(y),x}const Fg=A=>{let C;for(const e in A)(e==="class"||e==="style"||Eo(e))&&((C||(C={}))[e]=A[e]);return C},Ng=(A,C)=>{const e={};for(const n in A)(!Ha(n)||!(n.slice(9)in C))&&(e[n]=A[n]);return e};function $g(A,C,e){const{props:n,children:t,component:i}=A,{props:s,children:o,patchFlag:l}=C,a=i.emitsOptions;if(C.dirs||C.transition)return!0;if(e&&l>=0){if(l&1024)return!0;if(l&16)return n?Kc(n,s,a):!!s;if(l&8){const r=C.dynamicProps;for(let p=0;pA.__isSuspense;function Gg(A,C){C&&C.pendingBranch?LA(A)?C.effects.push(...A):C.effects.push(A):Ag(A)}const gA=Symbol.for("v-fgt"),$i=Symbol.for("v-txt"),UC=Symbol.for("v-cmt"),vs=Symbol.for("v-stc"),Ci=[];let re=null;function h(A=!1){Ci.push(re=A?null:[])}function Ug(){Ci.pop(),re=Ci[Ci.length-1]||null}let mi=1;function zs(A,C=!1){mi+=A,A<0&&re&&C&&(re.hasOnce=!0)}function xp(A){return A.dynamicChildren=mi>0?re||ht:null,Ug(),mi>0&&re&&re.push(A),A}function Q(A,C,e,n,t,i){return xp(b(A,C,e,n,t,i,!0))}function S(A,C,e,n,t){return xp(k(A,C,e,n,t,!0))}function di(A){return A?A.__v_isVNode===!0:!1}function $n(A,C){return A.type===C.type&&A.key===C.key}const _p=({key:A})=>A??null,ws=({ref:A,ref_key:C,ref_for:e})=>(typeof A=="number"&&(A=""+A),A!=null?DC(A)||OC(A)||VA(A)?{i:NC,r:A,k:C,f:!!e}:A:null);function b(A,C=null,e=null,n=0,t=null,i=A===gA?0:1,s=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:A,props:C,key:C&&_p(C),ref:C&&ws(C),scopeId:Wd,slotScopeIds:null,children:e,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:t,dynamicChildren:null,appContext:null,ctx:NC};return o?(ur(l,e),i&128&&A.normalize(l)):e&&(l.shapeFlag|=DC(e)?8:16),mi>0&&!s&&re&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&re.push(l),l}const k=Hg;function Hg(A,C=null,e=null,n=0,t=null,i=!1){if((!A||A===op)&&(A=UC),di(A)){const o=Sn(A,C,!0);return e&&ur(o,e),mi>0&&!i&&re&&(o.shapeFlag&6?re[re.indexOf(A)]=o:re.push(o)),o.patchFlag=-2,o}if(C2(A)&&(A=A.__vccOpts),C){C=Qg(C);let{class:o,style:l}=C;o&&!DC(o)&&(C.class=zA(o)),kC(l)&&(Cr(l)&&!LA(l)&&(l=LC({},l)),C.style=wo(l))}const s=DC(A)?1:kp(A)?128:Yd(A)?64:kC(A)?4:VA(A)?2:0;return b(A,C,e,n,t,s,i,!0)}function Qg(A){return A?Cr(A)||pp(A)?LC({},A):A:null}function Sn(A,C,e=!1,n=!1){const{props:t,ref:i,patchFlag:s,children:o,transition:l}=A,a=C?lC(t||{},C):t,r={__v_isVNode:!0,__v_skip:!0,type:A.type,props:a,key:a&&_p(a),ref:C&&C.ref?e&&i?LA(i)?i.concat(ws(C)):[i,ws(C)]:ws(C):i,scopeId:A.scopeId,slotScopeIds:A.slotScopeIds,children:o,target:A.target,targetStart:A.targetStart,targetAnchor:A.targetAnchor,staticCount:A.staticCount,shapeFlag:A.shapeFlag,patchFlag:C&&A.type!==gA?s===-1?16:s|16:s,dynamicProps:A.dynamicProps,dynamicChildren:A.dynamicChildren,appContext:A.appContext,dirs:A.dirs,transition:l,component:A.component,suspense:A.suspense,ssContent:A.ssContent&&Sn(A.ssContent),ssFallback:A.ssFallback&&Sn(A.ssFallback),el:A.el,anchor:A.anchor,ctx:A.ctx,ce:A.ce};return l&&n&&qn(r,l.clone(r)),r}function cC(A=" ",C=0){return k($i,null,A,C)}function Vg(A,C){const e=k(vs,null,A);return e.staticCount=C,e}function L(A="",C=!1){return C?(h(),S(UC,null,A)):k(UC,null,A)}function Fe(A){return A==null||typeof A=="boolean"?k(UC):LA(A)?k(gA,null,A.slice()):di(A)?gn(A):k($i,null,String(A))}function gn(A){return A.el===null&&A.patchFlag!==-1||A.memo?A:Sn(A)}function ur(A,C){let e=0;const{shapeFlag:n}=A;if(C==null)C=null;else if(LA(C))e=16;else if(typeof C=="object")if(n&65){const t=C.default;t&&(t._c&&(t._d=!1),ur(A,t()),t._c&&(t._d=!0));return}else{e=32;const t=C._;!t&&!pp(C)?C._ctx=NC:t===3&&NC&&(NC.slots._===1?C._=1:(C._=2,A.patchFlag|=1024))}else VA(C)?(C={default:C,_ctx:NC},e=32):(C=String(C),n&64?(e=16,C=[cC(C)]):e=8);A.children=C,A.shapeFlag|=e}function lC(...A){const C={};for(let e=0;eRC||NC;let qs,Zl;{const A=vo(),C=(e,n)=>{let t;return(t=A[e])||(t=A[e]=[]),t.push(n),i=>{t.length>1?t.forEach(s=>s(i)):t[0](i)}};qs=C("__VUE_INSTANCE_SETTERS__",e=>RC=e),Zl=C("__VUE_SSR_SETTERS__",e=>pi=e)}const Ri=A=>{const C=RC;return qs(A),A.scope.on(),()=>{A.scope.off(),qs(C)}},Tc=()=>{RC&&RC.scope.off(),qs(null)};function jp(A){return A.vnode.shapeFlag&4}let pi=!1;function Yg(A,C=!1,e=!1){C&&Zl(C);const{props:n,children:t}=A.vnode,i=jp(A);wg(A,n,i,C),xg(A,t,e||C);const s=i?Jg(A,C):void 0;return C&&Zl(!1),s}function Jg(A,C){const e=A.type;A.accessCache=Object.create(null),A.proxy=new Proxy(A.ctx,dg);const{setup:n}=e;if(n){An();const t=A.setupContext=n.length>1?Zg(A):null,i=Ri(A),s=Ni(n,A,0,[A.props,t]),o=hd(s);if(Cn(),i(),(o||A.sp)&&!Et(A)&&ep(A),o){if(s.then(Tc,Tc),C)return s.then(l=>{Fc(A,l,C)}).catch(l=>{So(l,A,0)});A.asyncDep=s}else Fc(A,s,C)}else Ip(A,C)}function Fc(A,C,e){VA(C)?A.type.__ssrInlineRender?A.ssrRender=C:A.render=C:kC(C)&&(A.setupState=Hd(C)),Ip(A,e)}let Nc;function Ip(A,C,e){const n=A.type;if(!A.render){if(!C&&Nc&&!n.render){const t=n.template||ar(A).template;if(t){const{isCustomElement:i,compilerOptions:s}=A.appContext.config,{delimiters:o,compilerOptions:l}=n,a=LC(LC({isCustomElement:i,delimiters:o},s),l);n.render=Nc(t,a)}}A.render=n.render||ye}{const t=Ri(A);An();try{pg(A)}finally{Cn(),t()}}}const Xg={get(A,C){return zC(A,"get",""),A[C]}};function Zg(A){const C=e=>{A.exposed=e||{}};return{attrs:new Proxy(A.attrs,Xg),slots:A.slots,emit:A.emit,expose:C}}function jo(A){return A.exposed?A.exposeProxy||(A.exposeProxy=new Proxy(Hd(er(A.exposed)),{get(C,e){if(e in C)return C[e];if(e in Ai)return Ai[e](A)},has(C,e){return e in C||e in Ai}})):A.proxy}function A2(A,C=!0){return VA(A)?A.displayName||A.name:A.name||C&&A.__name}function C2(A){return VA(A)&&"__vccOpts"in A}const me=(A,C)=>Wh(A,C,pi);function WC(A,C,e){const n=arguments.length;return n===2?kC(C)&&!LA(C)?di(C)?k(A,null,[C]):k(A,C):k(A,null,C):(n>3?e=Array.prototype.slice.call(arguments,2):n===3&&di(e)&&(e=[e]),k(A,C,e))}const e2="3.5.16";/** +* @vue/runtime-dom v3.5.16 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Aa;const $c=typeof window<"u"&&window.trustedTypes;if($c)try{Aa=$c.createPolicy("vue",{createHTML:A=>A})}catch{}const Mp=Aa?A=>Aa.createHTML(A):A=>A,n2="http://www.w3.org/2000/svg",t2="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,Rc=We&&We.createElement("template"),i2={insert:(A,C,e)=>{C.insertBefore(A,e||null)},remove:A=>{const C=A.parentNode;C&&C.removeChild(A)},createElement:(A,C,e,n)=>{const t=C==="svg"?We.createElementNS(n2,A):C==="mathml"?We.createElementNS(t2,A):e?We.createElement(A,{is:e}):We.createElement(A);return A==="select"&&n&&n.multiple!=null&&t.setAttribute("multiple",n.multiple),t},createText:A=>We.createTextNode(A),createComment:A=>We.createComment(A),setText:(A,C)=>{A.nodeValue=C},setElementText:(A,C)=>{A.textContent=C},parentNode:A=>A.parentNode,nextSibling:A=>A.nextSibling,querySelector:A=>We.querySelector(A),setScopeId(A,C){A.setAttribute(C,"")},insertStaticContent(A,C,e,n,t,i){const s=e?e.previousSibling:C.lastChild;if(t&&(t===i||t.nextSibling))for(;C.insertBefore(t.cloneNode(!0),e),!(t===i||!(t=t.nextSibling)););else{Rc.innerHTML=Mp(n==="svg"?`${A}`:n==="mathml"?`${A}`:A);const o=Rc.content;if(n==="svg"||n==="mathml"){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}C.insertBefore(o,e)}return[s?s.nextSibling:C.firstChild,e?e.previousSibling:C.lastChild]}},un="transition",Gt="animation",wt=Symbol("_vtc"),Dp={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Pp=LC({},Xd,Dp),s2=A=>(A.displayName="Transition",A.props=Pp,A),he=s2((A,{slots:C})=>WC(ng,Op(A),C)),Ln=(A,C=[])=>{LA(A)?A.forEach(e=>e(...C)):A&&A(...C)},Gc=A=>A?LA(A)?A.some(C=>C.length>1):A.length>1:!1;function Op(A){const C={};for(const O in A)O in Dp||(C[O]=A[O]);if(A.css===!1)return C;const{name:e="v",type:n,duration:t,enterFromClass:i=`${e}-enter-from`,enterActiveClass:s=`${e}-enter-active`,enterToClass:o=`${e}-enter-to`,appearFromClass:l=i,appearActiveClass:a=s,appearToClass:r=o,leaveFromClass:p=`${e}-leave-from`,leaveActiveClass:d=`${e}-leave-active`,leaveToClass:u=`${e}-leave-to`}=A,g=o2(t),v=g&&g[0],y=g&&g[1],{onBeforeEnter:x,onEnter:$,onEnterCancelled:F,onLeave:H,onLeaveCancelled:Y,onBeforeAppear:hA=x,onAppear:BA=$,onAppearCancelled:cA=F}=C,eA=(O,W,V,B)=>{O._enterCancelled=B,dn(O,W?r:o),dn(O,W?a:s),V&&V()},rA=(O,W)=>{O._isLeaving=!1,dn(O,p),dn(O,u),dn(O,d),W&&W()},I=O=>(W,V)=>{const B=O?BA:$,M=()=>eA(W,O,V);Ln(B,[W,M]),Uc(()=>{dn(W,O?l:i),Le(W,O?r:o),Gc(B)||Hc(W,n,v,M)})};return LC(C,{onBeforeEnter(O){Ln(x,[O]),Le(O,i),Le(O,s)},onBeforeAppear(O){Ln(hA,[O]),Le(O,l),Le(O,a)},onEnter:I(!1),onAppear:I(!0),onLeave(O,W){O._isLeaving=!0;const V=()=>rA(O,W);Le(O,p),O._enterCancelled?(Le(O,d),Ca()):(Ca(),Le(O,d)),Uc(()=>{O._isLeaving&&(dn(O,p),Le(O,u),Gc(H)||Hc(O,n,y,V))}),Ln(H,[O,V])},onEnterCancelled(O){eA(O,!1,void 0,!0),Ln(F,[O])},onAppearCancelled(O){eA(O,!0,void 0,!0),Ln(cA,[O])},onLeaveCancelled(O){rA(O),Ln(Y,[O])}})}function o2(A){if(A==null)return null;if(kC(A))return[dl(A.enter),dl(A.leave)];{const C=dl(A);return[C,C]}}function dl(A){return ph(A)}function Le(A,C){C.split(/\s+/).forEach(e=>e&&A.classList.add(e)),(A[wt]||(A[wt]=new Set)).add(C)}function dn(A,C){C.split(/\s+/).forEach(n=>n&&A.classList.remove(n));const e=A[wt];e&&(e.delete(C),e.size||(A[wt]=void 0))}function Uc(A){requestAnimationFrame(()=>{requestAnimationFrame(A)})}let l2=0;function Hc(A,C,e,n){const t=A._endId=++l2,i=()=>{t===A._endId&&n()};if(e!=null)return setTimeout(i,e);const{type:s,timeout:o,propCount:l}=Lp(A,C);if(!s)return n();const a=s+"end";let r=0;const p=()=>{A.removeEventListener(a,d),i()},d=u=>{u.target===A&&++r>=l&&p()};setTimeout(()=>{r(e[g]||"").split(", "),t=n(`${un}Delay`),i=n(`${un}Duration`),s=Qc(t,i),o=n(`${Gt}Delay`),l=n(`${Gt}Duration`),a=Qc(o,l);let r=null,p=0,d=0;C===un?s>0&&(r=un,p=s,d=i.length):C===Gt?a>0&&(r=Gt,p=a,d=l.length):(p=Math.max(s,a),r=p>0?s>a?un:Gt:null,d=r?r===un?i.length:l.length:0);const u=r===un&&/\b(transform|all)(,|$)/.test(n(`${un}Property`).toString());return{type:r,timeout:p,propCount:d,hasTransform:u}}function Qc(A,C){for(;A.lengthVc(e)+Vc(A[n])))}function Vc(A){return A==="auto"?0:Number(A.slice(0,-1).replace(",","."))*1e3}function Ca(){return document.body.offsetHeight}function a2(A,C,e){const n=A[wt];n&&(C=(C?[C,...n]:[...n]).join(" ")),C==null?A.removeAttribute("class"):e?A.setAttribute("class",C):A.className=C}const Ws=Symbol("_vod"),Kp=Symbol("_vsh"),fC={beforeMount(A,{value:C},{transition:e}){A[Ws]=A.style.display==="none"?"":A.style.display,e&&C?e.beforeEnter(A):Ut(A,C)},mounted(A,{value:C},{transition:e}){e&&C&&e.enter(A)},updated(A,{value:C,oldValue:e},{transition:n}){!C!=!e&&(n?C?(n.beforeEnter(A),Ut(A,!0),n.enter(A)):n.leave(A,()=>{Ut(A,!1)}):Ut(A,C))},beforeUnmount(A,{value:C}){Ut(A,C)}};function Ut(A,C){A.style.display=C?A[Ws]:"none",A[Kp]=!C}const r2=Symbol(""),c2=/(^|;)\s*display\s*:/;function u2(A,C,e){const n=A.style,t=DC(e);let i=!1;if(e&&!t){if(C)if(DC(C))for(const s of C.split(";")){const o=s.slice(0,s.indexOf(":")).trim();e[o]==null&&Bs(n,o,"")}else for(const s in C)e[s]==null&&Bs(n,s,"");for(const s in e)s==="display"&&(i=!0),Bs(n,s,e[s])}else if(t){if(C!==e){const s=n[r2];s&&(e+=";"+s),n.cssText=e,i=c2.test(e)}}else C&&A.removeAttribute("style");Ws in A&&(A[Ws]=i?n.display:"",A[Kp]&&(n.display="none"))}const zc=/\s*!important$/;function Bs(A,C,e){if(LA(e))e.forEach(n=>Bs(A,C,n));else if(e==null&&(e=""),C.startsWith("--"))A.setProperty(C,e);else{const n=m2(A,C);zc.test(e)?A.setProperty(xn(n),e.replace(zc,""),"important"):A[n]=e}}const qc=["Webkit","Moz","ms"],pl={};function m2(A,C){const e=pl[C];if(e)return e;let n=fe(C);if(n!=="filter"&&n in A)return pl[C]=n;n=Ti(n);for(let t=0;tfl||(h2.then(()=>fl=0),fl=Date.now());function b2(A,C){const e=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=e.attached)return;ke(E2(n,e.value),C,5,[n])};return e.value=A,e.attached=g2(),e}function E2(A,C){if(LA(C)){const e=A.stopImmediatePropagation;return A.stopImmediatePropagation=()=>{e.call(A),A._stopped=!0},C.map(n=>t=>!t._stopped&&n&&n(t))}else return C}const Au=A=>A.charCodeAt(0)===111&&A.charCodeAt(1)===110&&A.charCodeAt(2)>96&&A.charCodeAt(2)<123,y2=(A,C,e,n,t,i)=>{const s=t==="svg";C==="class"?a2(A,n,s):C==="style"?u2(A,e,n):Eo(C)?Ha(C)||p2(A,C,e,n,i):(C[0]==="."?(C=C.slice(1),!0):C[0]==="^"?(C=C.slice(1),!1):v2(A,C,n,s))?(Jc(A,C,n),!A.tagName.includes("-")&&(C==="value"||C==="checked"||C==="selected")&&Yc(A,C,n,s,i,C!=="value")):A._isVueCE&&(/[A-Z]/.test(C)||!DC(n))?Jc(A,fe(C),n,i,C):(C==="true-value"?A._trueValue=n:C==="false-value"&&(A._falseValue=n),Yc(A,C,n,s))};function v2(A,C,e,n){if(n)return!!(C==="innerHTML"||C==="textContent"||C in A&&Au(C)&&VA(e));if(C==="spellcheck"||C==="draggable"||C==="translate"||C==="autocorrect"||C==="form"||C==="list"&&A.tagName==="INPUT"||C==="type"&&A.tagName==="TEXTAREA")return!1;if(C==="width"||C==="height"){const t=A.tagName;if(t==="IMG"||t==="VIDEO"||t==="CANVAS"||t==="SOURCE")return!1}return Au(C)&&DC(e)?!1:C in A}const Tp=new WeakMap,Fp=new WeakMap,Ys=Symbol("_moveCb"),Cu=Symbol("_enterCb"),w2=A=>(delete A.props.mode,A),B2=w2({name:"TransitionGroup",props:LC({},Pp,{tag:String,moveClass:String}),setup(A,{slots:C}){const e=mr(),n=Jd();let t,i;return tp(()=>{if(!t.length)return;const s=A.moveClass||`${A.name||"v"}-move`;if(!j2(t[0].el,e.vnode.el,s)){t=[];return}t.forEach(k2),t.forEach(x2);const o=t.filter(_2);Ca(),o.forEach(l=>{const a=l.el,r=a.style;Le(a,s),r.transform=r.webkitTransform=r.transitionDuration="";const p=a[Ys]=d=>{d&&d.target!==a||(!d||/transform$/.test(d.propertyName))&&(a.removeEventListener("transitionend",p),a[Ys]=null,dn(a,s))};a.addEventListener("transitionend",p)}),t=[]}),()=>{const s=rC(A),o=Op(s);let l=s.tag||gA;if(t=[],i)for(let a=0;a{o.split(/\s+/).forEach(l=>l&&n.classList.remove(l))}),e.split(/\s+/).forEach(o=>o&&n.classList.add(o)),n.style.display="none";const i=C.nodeType===1?C:C.parentNode;i.appendChild(n);const{hasTransform:s}=Lp(n);return i.removeChild(n),s}const kn=A=>{const C=A.props["onUpdate:modelValue"]||!1;return LA(C)?e=>Es(C,e):C};function I2(A){A.target.composing=!0}function eu(A){const C=A.target;C.composing&&(C.composing=!1,C.dispatchEvent(new Event("input")))}const pe=Symbol("_assign"),we={created(A,{modifiers:{lazy:C,trim:e,number:n}},t){A[pe]=kn(t);const i=n||t.props&&t.props.type==="number";Xe(A,C?"change":"input",s=>{if(s.target.composing)return;let o=A.value;e&&(o=o.trim()),i&&(o=Ns(o)),A[pe](o)}),e&&Xe(A,"change",()=>{A.value=A.value.trim()}),C||(Xe(A,"compositionstart",I2),Xe(A,"compositionend",eu),Xe(A,"change",eu))},mounted(A,{value:C}){A.value=C??""},beforeUpdate(A,{value:C,oldValue:e,modifiers:{lazy:n,trim:t,number:i}},s){if(A[pe]=kn(s),A.composing)return;const o=(i||A.type==="number")&&!/^0\d/.test(A.value)?Ns(A.value):A.value,l=C??"";o!==l&&(document.activeElement===A&&A.type!=="range"&&(n&&C===e||t&&A.value.trim()===l)||(A.value=l))}},dr={deep:!0,created(A,C,e){A[pe]=kn(e),Xe(A,"change",()=>{const n=A._modelValue,t=Bt(A),i=A.checked,s=A[pe];if(LA(n)){const o=za(n,t),l=o!==-1;if(i&&!l)s(n.concat(t));else if(!i&&l){const a=[...n];a.splice(o,1),s(a)}}else if(Pt(n)){const o=new Set(n);i?o.add(t):o.delete(t),s(o)}else s($p(A,i))})},mounted:nu,beforeUpdate(A,C,e){A[pe]=kn(e),nu(A,C,e)}};function nu(A,{value:C,oldValue:e},n){A._modelValue=C;let t;if(LA(C))t=za(C,n.props.value)>-1;else if(Pt(C))t=C.has(n.props.value);else{if(C===e)return;t=Vn(C,$p(A,!0))}A.checked!==t&&(A.checked=t)}const Np={created(A,{value:C},e){A.checked=Vn(C,e.props.value),A[pe]=kn(e),Xe(A,"change",()=>{A[pe](Bt(A))})},beforeUpdate(A,{value:C,oldValue:e},n){A[pe]=kn(n),C!==e&&(A.checked=Vn(C,n.props.value))}},pr={deep:!0,created(A,{value:C,modifiers:{number:e}},n){const t=Pt(C);Xe(A,"change",()=>{const i=Array.prototype.filter.call(A.options,s=>s.selected).map(s=>e?Ns(Bt(s)):Bt(s));A[pe](A.multiple?t?new Set(i):i:i[0]),A._assigning=!0,Ot(()=>{A._assigning=!1})}),A[pe]=kn(n)},mounted(A,{value:C}){tu(A,C)},beforeUpdate(A,C,e){A[pe]=kn(e)},updated(A,{value:C}){A._assigning||tu(A,C)}};function tu(A,C){const e=A.multiple,n=LA(C);if(!(e&&!n&&!Pt(C))){for(let t=0,i=A.options.length;tString(a)===String(o)):s.selected=za(C,o)>-1}else s.selected=C.has(o);else if(Vn(Bt(s),C)){A.selectedIndex!==t&&(A.selectedIndex=t);return}}!e&&A.selectedIndex!==-1&&(A.selectedIndex=-1)}}function Bt(A){return"_value"in A?A._value:A.value}function $p(A,C){const e=C?"_trueValue":"_falseValue";return e in A?A[e]:C}const Rp={created(A,C,e){Cs(A,C,e,null,"created")},mounted(A,C,e){Cs(A,C,e,null,"mounted")},beforeUpdate(A,C,e,n){Cs(A,C,e,n,"beforeUpdate")},updated(A,C,e,n){Cs(A,C,e,n,"updated")}};function M2(A,C){switch(A){case"SELECT":return pr;case"TEXTAREA":return we;default:switch(C){case"checkbox":return dr;case"radio":return Np;default:return we}}}function Cs(A,C,e,n,t){const s=M2(A.tagName,e.props&&e.props.type)[t];s&&s(A,C,e,n)}const D2=["ctrl","shift","alt","meta"],P2={stop:A=>A.stopPropagation(),prevent:A=>A.preventDefault(),self:A=>A.target!==A.currentTarget,ctrl:A=>!A.ctrlKey,shift:A=>!A.shiftKey,alt:A=>!A.altKey,meta:A=>!A.metaKey,left:A=>"button"in A&&A.button!==0,middle:A=>"button"in A&&A.button!==1,right:A=>"button"in A&&A.button!==2,exact:(A,C)=>D2.some(e=>A[`${e}Key`]&&!C.includes(e))},MA=(A,C)=>{const e=A._withMods||(A._withMods={}),n=C.join(".");return e[n]||(e[n]=(t,...i)=>{for(let s=0;s{const e=A._withKeys||(A._withKeys={}),n=C.join(".");return e[n]||(e[n]=t=>{if(!("key"in t))return;const i=xn(t.key);if(C.some(s=>s===i||O2[s]===i))return A(t)})},L2=LC({patchProp:y2},i2);let iu;function Gp(){return iu||(iu=jg(L2))}const fr=(...A)=>{Gp().render(...A)},Up=(...A)=>{const C=Gp().createApp(...A),{mount:e}=C;return C.mount=n=>{const t=T2(n);if(!t)return;const i=C._component;!VA(i)&&!i.render&&!i.template&&(i.template=t.innerHTML),t.nodeType===1&&(t.textContent="");const s=e(t,!1,K2(t));return t instanceof Element&&(t.removeAttribute("v-cloak"),t.setAttribute("data-v-app","")),s},C};function K2(A){if(A instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&A instanceof MathMLElement)return"mathml"}function T2(A){return DC(A)?document.querySelector(A):A}var F2=!1;/*! + * pinia v2.3.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let Hp;const Io=A=>Hp=A,Qp=Symbol();function ea(A){return A&&typeof A=="object"&&Object.prototype.toString.call(A)==="[object Object]"&&typeof A.toJSON!="function"}var ei;(function(A){A.direct="direct",A.patchObject="patch object",A.patchFunction="patch function"})(ei||(ei={}));function N2(){const A=Sd(!0),C=A.run(()=>zn({}));let e=[],n=[];const t=er({install(i){Io(t),t._a=i,i.provide(Qp,t),i.config.globalProperties.$pinia=t,n.forEach(s=>e.push(s)),n=[]},use(i){return!this._a&&!F2?n.push(i):e.push(i),this},_p:e,_a:null,_e:A,_s:new Map,state:C});return t}const Vp=()=>{};function su(A,C,e,n=Vp){A.push(C);const t=()=>{const i=A.indexOf(C);i>-1&&(A.splice(i,1),n())};return!e&&qa()&&kd(t),t}function lt(A,...C){A.slice().forEach(e=>{e(...C)})}const $2=A=>A(),ou=Symbol(),hl=Symbol();function na(A,C){A instanceof Map&&C instanceof Map?C.forEach((e,n)=>A.set(n,e)):A instanceof Set&&C instanceof Set&&C.forEach(A.add,A);for(const e in C){if(!C.hasOwnProperty(e))continue;const n=C[e],t=A[e];ea(t)&&ea(n)&&A.hasOwnProperty(e)&&!OC(n)&&!wn(n)?A[e]=na(t,n):A[e]=n}return A}const R2=Symbol();function G2(A){return!ea(A)||!A.hasOwnProperty(R2)}const{assign:pn}=Object;function U2(A){return!!(OC(A)&&A.effect)}function H2(A,C,e,n){const{state:t,actions:i,getters:s}=C,o=e.state.value[A];let l;function a(){o||(e.state.value[A]=t?t():{});const r=Qh(e.state.value[A]);return pn(r,i,Object.keys(s||{}).reduce((p,d)=>(p[d]=er(me(()=>{Io(e);const u=e._s.get(A);return s[d].call(u,u)})),p),{}))}return l=zp(A,a,C,e,n,!0),l}function zp(A,C,e={},n,t,i){let s;const o=pn({actions:{}},e),l={deep:!0};let a,r,p=[],d=[],u;const g=n.state.value[A];!i&&!g&&(n.state.value[A]={}),zn({});let v;function y(cA){let eA;a=r=!1,typeof cA=="function"?(cA(n.state.value[A]),eA={type:ei.patchFunction,storeId:A,events:u}):(na(n.state.value[A],cA),eA={type:ei.patchObject,payload:cA,storeId:A,events:u});const rA=v=Symbol();Ot().then(()=>{v===rA&&(a=!0)}),r=!0,lt(p,eA,n.state.value[A])}const x=i?function(){const{state:eA}=e,rA=eA?eA():{};this.$patch(I=>{pn(I,rA)})}:Vp;function $(){s.stop(),p=[],d=[],n._s.delete(A)}const F=(cA,eA="")=>{if(ou in cA)return cA[hl]=eA,cA;const rA=function(){Io(n);const I=Array.from(arguments),O=[],W=[];function V(_){O.push(_)}function B(_){W.push(_)}lt(d,{args:I,name:rA[hl],store:Y,after:V,onError:B});let M;try{M=cA.apply(this&&this.$id===A?this:Y,I)}catch(_){throw lt(W,_),_}return M instanceof Promise?M.then(_=>(lt(O,_),_)).catch(_=>(lt(W,_),Promise.reject(_))):(lt(O,M),M)};return rA[ou]=!0,rA[hl]=eA,rA},H={_p:n,$id:A,$onAction:su.bind(null,d),$patch:y,$reset:x,$subscribe(cA,eA={}){const rA=su(p,cA,eA.detached,()=>I()),I=s.run(()=>yt(()=>n.state.value[A],O=>{(eA.flush==="sync"?r:a)&&cA({storeId:A,type:ei.direct,events:u},O)},pn({},l,eA)));return rA},$dispose:$},Y=Fi(H);n._s.set(A,Y);const BA=(n._a&&n._a.runWithContext||$2)(()=>n._e.run(()=>(s=Sd()).run(()=>C({action:F}))));for(const cA in BA){const eA=BA[cA];if(OC(eA)&&!U2(eA)||wn(eA))i||(g&&G2(eA)&&(OC(eA)?eA.value=g[cA]:na(eA,g[cA])),n.state.value[A][cA]=eA);else if(typeof eA=="function"){const rA=F(eA,cA);BA[cA]=rA,o.actions[cA]=eA}}return pn(Y,BA),pn(rC(Y),BA),Object.defineProperty(Y,"$state",{get:()=>n.state.value[A],set:cA=>{y(eA=>{pn(eA,cA)})}}),n._p.forEach(cA=>{pn(Y,s.run(()=>cA({store:Y,app:n._a,pinia:n,options:o})))}),g&&i&&e.hydrate&&e.hydrate(Y.$state,g),a=!0,r=!0,Y}/*! #__NO_SIDE_EFFECTS__ */function Q2(A,C,e){let n,t;const i=typeof C=="function";typeof A=="string"?(n=A,t=i?e:C):(t=A,n=A.id);function s(o,l){const a=vg();return o=o||(a?Ne(Qp,null):null),o&&Io(o),o=Hp,o._s.has(n)||(i?zp(n,C,t,o):H2(n,t,o)),o._s.get(n)}return s.$id=n,s}function je(A,C){return Array.isArray(C)?C.reduce((e,n)=>(e[n]=function(){return A(this.$pinia)[n]},e),{}):Object.keys(C).reduce((e,n)=>(e[n]=function(){const t=A(this.$pinia),i=C[n];return typeof i=="function"?i.call(this,t):t[i]},e),{})}function qp(A,C){return Array.isArray(C)?C.reduce((e,n)=>(e[n]=function(...t){return A(this.$pinia)[n](...t)},e),{}):Object.keys(C).reduce((e,n)=>(e[n]=function(...t){return A(this.$pinia)[C[n]](...t)},e),{})}function V2(A,C){return Array.isArray(C)?C.reduce((e,n)=>(e[n]={get(){return A(this.$pinia)[n]},set(t){return A(this.$pinia)[n]=t}},e),{}):Object.keys(C).reduce((e,n)=>(e[n]={get(){return A(this.$pinia)[C[n]]},set(t){return A(this.$pinia)[C[n]]=t}},e),{})}var lu;const hr=typeof window<"u",z2=A=>typeof A=="string",q2=()=>{};hr&&((lu=window==null?void 0:window.navigator)!=null&&lu.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Wp(A){return typeof A=="function"?A():Hn(A)}function W2(A){return A}function gr(A){return qa()?(kd(A),!0):!1}function es(){const A=[],C=t=>{const i=A.indexOf(t);i!==-1&&A.splice(i,1)};return{on:t=>{A.push(t);const i=()=>C(t);return gr(i),{off:i}},off:C,trigger:t=>{A.forEach(i=>i(t))}}}function Yp(A,C=!0){mr()?ir(A):C?A():Ot(A)}function Y2(A){var C;const e=Wp(A);return(C=e==null?void 0:e.$el)!=null?C:e}const Jp=hr?window:void 0,J2=hr?window.document:void 0;function Xp(...A){let C,e,n,t;if(z2(A[0])||Array.isArray(A[0])?([e,n,t]=A,C=Jp):[C,e,n,t]=A,!C)return q2;Array.isArray(e)||(e=[e]),Array.isArray(n)||(n=[n]);const i=[],s=()=>{i.forEach(r=>r()),i.length=0},o=(r,p,d,u)=>(r.addEventListener(p,d,u),()=>r.removeEventListener(p,d,u)),l=yt(()=>[Y2(C),Wp(t)],([r,p])=>{s(),r&&i.push(...e.flatMap(d=>n.map(u=>o(r,d,u,p))))},{immediate:!0,flush:"post"}),a=()=>{l(),s()};return gr(a),a}function X2(A,C=!1){const e=zn(),n=()=>e.value=!!A();return n(),Yp(n,C),e}const au=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},ru="__vueuse_ssr_handlers__";au[ru]=au[ru]||{};function Z2({document:A=J2}={}){if(!A)return zn("visible");const C=zn(A.visibilityState);return Xp(A,"visibilitychange",()=>{C.value=A.visibilityState}),C}var cu;(function(A){A.UP="UP",A.RIGHT="RIGHT",A.DOWN="DOWN",A.LEFT="LEFT",A.NONE="NONE"})(cu||(cu={}));var Ab=Object.defineProperty,uu=Object.getOwnPropertySymbols,Cb=Object.prototype.hasOwnProperty,eb=Object.prototype.propertyIsEnumerable,mu=(A,C,e)=>C in A?Ab(A,C,{enumerable:!0,configurable:!0,writable:!0,value:e}):A[C]=e,nb=(A,C)=>{for(var e in C||(C={}))Cb.call(C,e)&&mu(A,e,C[e]);if(uu)for(var e of uu(C))eb.call(C,e)&&mu(A,e,C[e]);return A};const tb={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};nb({linear:W2},tb);const Zp=(A={})=>{const{window:C=Jp}=A,e=X2(()=>!!C&&"Notification"in C),n=zn(null),t=async()=>{e.value&&"permission"in Notification&&Notification.permission!=="denied"&&await Notification.requestPermission()},i=es(),s=es(),o=es(),l=es(),a=async p=>{if(!e.value)return;await t();const d=Object.assign({},A,p);return n.value=new Notification(d.title||"",d),n.value.onclick=u=>i.trigger(u),n.value.onshow=u=>s.trigger(u),n.value.onerror=u=>o.trigger(u),n.value.onclose=u=>l.trigger(u),n.value},r=()=>{n.value&&n.value.close(),n.value=null};if(Yp(async()=>{e.value&&await t()}),gr(r),e.value&&C){const p=C.document;Xp(p,"visibilitychange",d=>{d.preventDefault(),p.visibilityState==="visible"&&r()})}return{isSupported:e,notification:n,show:a,close:r,onClick:i,onShow:s,onError:o,onClose:l}};function f(){var A="/home/runner/work/xmpp-web/xmpp-web/src/store/index.js",C="b79a4dda7ac2020dc4d2361ca7398e4ecf534171",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/store/index.js",statementMap:{0:{start:{line:4,column:23},end:{line:4,column:27}},1:{start:{line:6,column:24},end:{line:22,column:1}},2:{start:{line:7,column:2},end:{line:21,column:3}},3:{start:{line:24,column:24},end:{line:376,column:2}},4:{start:{line:26,column:4},end:{line:29,column:5}},5:{start:{line:35,column:6},end:{line:35,column:61}},6:{start:{line:35,column:47},end:{line:35,column:60}},7:{start:{line:39,column:6},end:{line:39,column:65}},8:{start:{line:39,column:47},end:{line:39,column:64}},9:{start:{line:42,column:24},end:{line:44,column:5}},10:{start:{line:43,column:6},end:{line:43,column:68}},11:{start:{line:43,column:45},end:{line:43,column:61}},12:{start:{line:46,column:29},end:{line:48,column:5}},13:{start:{line:47,column:6},end:{line:47,column:83}},14:{start:{line:47,column:45},end:{line:47,column:82}},15:{start:{line:50,column:25},end:{line:52,column:5}},16:{start:{line:51,column:6},end:{line:51,column:77}},17:{start:{line:51,column:55},end:{line:51,column:76}},18:{start:{line:54,column:33},end:{line:60,column:5}},19:{start:{line:55,column:28},end:{line:55,column:103}},20:{start:{line:55,column:73},end:{line:55,column:102}},21:{start:{line:56,column:6},end:{line:58,column:7}},22:{start:{line:57,column:8},end:{line:57,column:38}},23:{start:{line:59,column:6},end:{line:59,column:15}},24:{start:{line:62,column:31},end:{line:65,column:5}},25:{start:{line:63,column:19},end:{line:63,column:68}},26:{start:{line:63,column:51},end:{line:63,column:67}},27:{start:{line:64,column:6},end:{line:64,column:57}},28:{start:{line:67,column:29},end:{line:82,column:5}},29:{start:{line:68,column:6},end:{line:79,column:7}},30:{start:{line:69,column:30},end:{line:69,column:105}},31:{start:{line:69,column:75},end:{line:69,column:104}},32:{start:{line:70,column:8},end:{line:77,column:9}},33:{start:{line:71,column:10},end:{line:73,column:11}},34:{start:{line:71,column:55},end:{line:71,column:89}},35:{start:{line:72,column:12},end:{line:72,column:30}},36:{start:{line:74,column:10},end:{line:76,column:11}},37:{start:{line:74,column:55},end:{line:74,column:86}},38:{start:{line:75,column:12},end:{line:75,column:27}},39:{start:{line:78,column:8},end:{line:78,column:25}},40:{start:{line:80,column:22},end:{line:80,column:75}},41:{start:{line:80,column:55},end:{line:80,column:74}},42:{start:{line:81,column:6},end:{line:81,column:53}},43:{start:{line:89,column:6},end:{line:89,column:34}},44:{start:{line:94,column:6},end:{line:94,column:30}},45:{start:{line:99,column:6},end:{line:99,column:30}},46:{start:{line:104,column:6},end:{line:104,column:42}},47:{start:{line:107,column:21},end:{line:107,column:40}},48:{start:{line:108,column:22},end:{line:108,column:79}},49:{start:{line:108,column:47},end:{line:108,column:78}},50:{start:{line:109,column:8},end:{line:111,column:9}},51:{start:{line:110,column:10},end:{line:110,column:37}},52:{start:{line:112,column:8},end:{line:112,column:19}},53:{start:{line:114,column:6},end:{line:121,column:7}},54:{start:{line:116,column:10},end:{line:116,column:57}},55:{start:{line:117,column:10},end:{line:117,column:15}},56:{start:{line:119,column:10},end:{line:119,column:61}},57:{start:{line:120,column:10},end:{line:120,column:15}},58:{start:{line:126,column:6},end:{line:126,column:30}},59:{start:{line:127,column:6},end:{line:135,column:8}},60:{start:{line:128,column:8},end:{line:134,column:9}},61:{start:{line:129,column:10},end:{line:133,column:12}},62:{start:{line:130,column:12},end:{line:132,column:13}},63:{start:{line:131,column:14},end:{line:131,column:37}},64:{start:{line:140,column:20},end:{line:140,column:44}},65:{start:{line:141,column:20},end:{line:141,column:78}},66:{start:{line:141,column:51},end:{line:141,column:77}},67:{start:{line:142,column:6},end:{line:146,column:7}},68:{start:{line:144,column:8},end:{line:144,column:34}},69:{start:{line:145,column:8},end:{line:145,column:14}},70:{start:{line:148,column:6},end:{line:153,column:7}},71:{start:{line:149,column:8},end:{line:151,column:9}},72:{start:{line:150,column:10},end:{line:150,column:18}},73:{start:{line:152,column:8},end:{line:152,column:37}},74:{start:{line:154,column:6},end:{line:154,column:29}},75:{start:{line:159,column:19},end:{line:159,column:40}},76:{start:{line:160,column:6},end:{line:168,column:7}},77:{start:{line:161,column:8},end:{line:167,column:10}},78:{start:{line:173,column:20},end:{line:173,column:90}},79:{start:{line:173,column:65},end:{line:173,column:89}},80:{start:{line:174,column:6},end:{line:176,column:7}},81:{start:{line:175,column:8},end:{line:175,column:38}},82:{start:{line:180,column:6},end:{line:180,column:90}},83:{start:{line:180,column:65},end:{line:180,column:89}},84:{start:{line:185,column:20},end:{line:185,column:93}},85:{start:{line:185,column:57},end:{line:185,column:92}},86:{start:{line:186,column:6},end:{line:189,column:7}},87:{start:{line:187,column:8},end:{line:187,column:64}},88:{start:{line:188,column:8},end:{line:188,column:60}},89:{start:{line:194,column:6},end:{line:203,column:7}},90:{start:{line:195,column:25},end:{line:195,column:47}},91:{start:{line:196,column:22},end:{line:196,column:98}},92:{start:{line:196,column:59},end:{line:196,column:97}},93:{start:{line:197,column:8},end:{line:202,column:9}},94:{start:{line:199,column:10},end:{line:199,column:43}},95:{start:{line:200,column:10},end:{line:200,column:34}},96:{start:{line:201,column:10},end:{line:201,column:16}},97:{start:{line:204,column:6},end:{line:213,column:7}},98:{start:{line:205,column:25},end:{line:205,column:47}},99:{start:{line:206,column:22},end:{line:206,column:110}},100:{start:{line:206,column:59},end:{line:206,column:109}},101:{start:{line:207,column:8},end:{line:212,column:9}},102:{start:{line:209,column:10},end:{line:209,column:43}},103:{start:{line:210,column:10},end:{line:210,column:34}},104:{start:{line:211,column:10},end:{line:211,column:16}},105:{start:{line:215,column:6},end:{line:224,column:8}},106:{start:{line:227,column:23},end:{line:227,column:45}},107:{start:{line:228,column:20},end:{line:228,column:31}},108:{start:{line:229,column:6},end:{line:231,column:8}},109:{start:{line:230,column:8},end:{line:230,column:53}},110:{start:{line:232,column:6},end:{line:232,column:30}},111:{start:{line:236,column:21},end:{line:236,column:40}},112:{start:{line:237,column:22},end:{line:237,column:86}},113:{start:{line:237,column:47},end:{line:237,column:85}},114:{start:{line:238,column:8},end:{line:244,column:9}},115:{start:{line:239,column:10},end:{line:243,column:11}},116:{start:{line:240,column:12},end:{line:240,column:39}},117:{start:{line:242,column:12},end:{line:242,column:37}},118:{start:{line:245,column:8},end:{line:245,column:19}},119:{start:{line:247,column:6},end:{line:256,column:7}},120:{start:{line:248,column:27},end:{line:248,column:50}},121:{start:{line:249,column:8},end:{line:255,column:9}},122:{start:{line:250,column:10},end:{line:254,column:12}},123:{start:{line:257,column:6},end:{line:260,column:7}},124:{start:{line:259,column:8},end:{line:259,column:14}},125:{start:{line:261,column:6},end:{line:268,column:7}},126:{start:{line:263,column:10},end:{line:263,column:55}},127:{start:{line:264,column:10},end:{line:264,column:15}},128:{start:{line:266,column:10},end:{line:266,column:59}},129:{start:{line:267,column:10},end:{line:267,column:15}},130:{start:{line:272,column:6},end:{line:274,column:7}},131:{start:{line:273,column:8},end:{line:273,column:14}},132:{start:{line:275,column:20},end:{line:275,column:105}},133:{start:{line:275,column:62},end:{line:275,column:104}},134:{start:{line:276,column:6},end:{line:278,column:7}},135:{start:{line:277,column:8},end:{line:277,column:14}},136:{start:{line:279,column:6},end:{line:282,column:7}},137:{start:{line:286,column:20},end:{line:286,column:85}},138:{start:{line:286,column:62},end:{line:286,column:84}},139:{start:{line:287,column:6},end:{line:292,column:7}},140:{start:{line:288,column:8},end:{line:291,column:9}},141:{start:{line:297,column:6},end:{line:297,column:56}},142:{start:{line:301,column:6},end:{line:307,column:7}},143:{start:{line:301,column:55},end:{line:301,column:88}},144:{start:{line:303,column:8},end:{line:306,column:10}},145:{start:{line:308,column:24},end:{line:308,column:107}},146:{start:{line:308,column:73},end:{line:308,column:106}},147:{start:{line:309,column:23},end:{line:312,column:7}},148:{start:{line:313,column:28},end:{line:313,column:114}},149:{start:{line:313,column:93},end:{line:313,column:113}},150:{start:{line:314,column:6},end:{line:318,column:7}},151:{start:{line:316,column:8},end:{line:316,column:74}},152:{start:{line:317,column:8},end:{line:317,column:14}},153:{start:{line:320,column:6},end:{line:320,column:61}},154:{start:{line:324,column:24},end:{line:324,column:107}},155:{start:{line:324,column:73},end:{line:324,column:106}},156:{start:{line:325,column:6},end:{line:327,column:7}},157:{start:{line:326,column:8},end:{line:326,column:14}},158:{start:{line:328,column:20},end:{line:328,column:106}},159:{start:{line:328,column:85},end:{line:328,column:105}},160:{start:{line:329,column:6},end:{line:331,column:7}},161:{start:{line:330,column:8},end:{line:330,column:65}},162:{start:{line:336,column:6},end:{line:342,column:7}},163:{start:{line:337,column:22},end:{line:337,column:84}},164:{start:{line:337,column:59},end:{line:337,column:83}},165:{start:{line:338,column:8},end:{line:340,column:9}},166:{start:{line:339,column:10},end:{line:339,column:52}},167:{start:{line:341,column:8},end:{line:341,column:14}},168:{start:{line:343,column:6},end:{line:352,column:7}},169:{start:{line:344,column:26},end:{line:344,column:110}},170:{start:{line:344,column:75},end:{line:344,column:109}},171:{start:{line:345,column:8},end:{line:347,column:9}},172:{start:{line:346,column:10},end:{line:346,column:16}},173:{start:{line:348,column:22},end:{line:348,column:113}},174:{start:{line:348,column:87},end:{line:348,column:112}},175:{start:{line:349,column:8},end:{line:351,column:9}},176:{start:{line:350,column:10},end:{line:350,column:79}},177:{start:{line:356,column:6},end:{line:356,column:60}},178:{start:{line:357,column:6},end:{line:365,column:7}},179:{start:{line:359,column:8},end:{line:364,column:11}},180:{start:{line:370,column:27},end:{line:370,column:44}},181:{start:{line:371,column:6},end:{line:373,column:8}},182:{start:{line:372,column:8},end:{line:372,column:37}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:24},end:{line:6,column:25}},loc:{start:{line:6,column:30},end:{line:22,column:1}},line:6},1:{name:"(anonymous_1)",decl:{start:{line:25,column:9},end:{line:25,column:10}},loc:{start:{line:25,column:15},end:{line:30,column:3}},line:25},2:{name:"(anonymous_2)",decl:{start:{line:34,column:17},end:{line:34,column:18}},loc:{start:{line:34,column:28},end:{line:36,column:5}},line:34},3:{name:"(anonymous_3)",decl:{start:{line:35,column:37},end:{line:35,column:38}},loc:{start:{line:35,column:47},end:{line:35,column:60}},line:35},4:{name:"(anonymous_4)",decl:{start:{line:38,column:21},end:{line:38,column:22}},loc:{start:{line:38,column:32},end:{line:40,column:5}},line:38},5:{name:"(anonymous_5)",decl:{start:{line:39,column:37},end:{line:39,column:38}},loc:{start:{line:39,column:47},end:{line:39,column:64}},line:39},6:{name:"(anonymous_6)",decl:{start:{line:42,column:13},end:{line:42,column:14}},loc:{start:{line:42,column:24},end:{line:44,column:5}},line:42},7:{name:"(anonymous_7)",decl:{start:{line:42,column:24},end:{line:42,column:25}},loc:{start:{line:42,column:33},end:{line:44,column:5}},line:42},8:{name:"(anonymous_8)",decl:{start:{line:43,column:35},end:{line:43,column:36}},loc:{start:{line:43,column:45},end:{line:43,column:61}},line:43},9:{name:"(anonymous_9)",decl:{start:{line:46,column:18},end:{line:46,column:19}},loc:{start:{line:46,column:29},end:{line:48,column:5}},line:46},10:{name:"(anonymous_10)",decl:{start:{line:46,column:29},end:{line:46,column:30}},loc:{start:{line:46,column:38},end:{line:48,column:5}},line:46},11:{name:"(anonymous_11)",decl:{start:{line:47,column:35},end:{line:47,column:36}},loc:{start:{line:47,column:45},end:{line:47,column:82}},line:47},12:{name:"(anonymous_12)",decl:{start:{line:50,column:14},end:{line:50,column:15}},loc:{start:{line:50,column:25},end:{line:52,column:5}},line:50},13:{name:"(anonymous_13)",decl:{start:{line:50,column:25},end:{line:50,column:26}},loc:{start:{line:50,column:34},end:{line:52,column:5}},line:50},14:{name:"(anonymous_14)",decl:{start:{line:51,column:36},end:{line:51,column:37}},loc:{start:{line:51,column:55},end:{line:51,column:76}},line:51},15:{name:"(anonymous_15)",decl:{start:{line:54,column:22},end:{line:54,column:23}},loc:{start:{line:54,column:33},end:{line:60,column:5}},line:54},16:{name:"(anonymous_16)",decl:{start:{line:54,column:33},end:{line:54,column:34}},loc:{start:{line:54,column:42},end:{line:60,column:5}},line:54},17:{name:"(anonymous_17)",decl:{start:{line:55,column:54},end:{line:55,column:55}},loc:{start:{line:55,column:73},end:{line:55,column:102}},line:55},18:{name:"(anonymous_18)",decl:{start:{line:62,column:20},end:{line:62,column:21}},loc:{start:{line:62,column:31},end:{line:65,column:5}},line:62},19:{name:"(anonymous_19)",decl:{start:{line:62,column:31},end:{line:62,column:32}},loc:{start:{line:62,column:40},end:{line:65,column:5}},line:62},20:{name:"(anonymous_20)",decl:{start:{line:63,column:41},end:{line:63,column:42}},loc:{start:{line:63,column:51},end:{line:63,column:67}},line:63},21:{name:"(anonymous_21)",decl:{start:{line:67,column:18},end:{line:67,column:19}},loc:{start:{line:67,column:29},end:{line:82,column:5}},line:67},22:{name:"(anonymous_22)",decl:{start:{line:67,column:29},end:{line:67,column:30}},loc:{start:{line:67,column:46},end:{line:82,column:5}},line:67},23:{name:"(anonymous_23)",decl:{start:{line:69,column:56},end:{line:69,column:57}},loc:{start:{line:69,column:75},end:{line:69,column:104}},line:69},24:{name:"(anonymous_24)",decl:{start:{line:71,column:43},end:{line:71,column:44}},loc:{start:{line:71,column:55},end:{line:71,column:89}},line:71},25:{name:"(anonymous_25)",decl:{start:{line:74,column:43},end:{line:74,column:44}},loc:{start:{line:74,column:55},end:{line:74,column:86}},line:74},26:{name:"(anonymous_26)",decl:{start:{line:80,column:42},end:{line:80,column:43}},loc:{start:{line:80,column:55},end:{line:80,column:74}},line:80},27:{name:"(anonymous_27)",decl:{start:{line:88,column:4},end:{line:88,column:5}},loc:{start:{line:88,column:34},end:{line:90,column:5}},line:88},28:{name:"(anonymous_28)",decl:{start:{line:93,column:4},end:{line:93,column:5}},loc:{start:{line:93,column:25},end:{line:95,column:5}},line:93},29:{name:"(anonymous_29)",decl:{start:{line:98,column:4},end:{line:98,column:5}},loc:{start:{line:98,column:27},end:{line:100,column:5}},line:98},30:{name:"(anonymous_30)",decl:{start:{line:103,column:4},end:{line:103,column:5}},loc:{start:{line:103,column:28},end:{line:122,column:5}},line:103},31:{name:"resetUnreadCount",decl:{start:{line:106,column:15},end:{line:106,column:31}},loc:{start:{line:106,column:45},end:{line:113,column:7}},line:106},32:{name:"(anonymous_32)",decl:{start:{line:108,column:37},end:{line:108,column:38}},loc:{start:{line:108,column:47},end:{line:108,column:78}},line:108},33:{name:"(anonymous_33)",decl:{start:{line:125,column:4},end:{line:125,column:5}},loc:{start:{line:125,column:25},end:{line:136,column:5}},line:125},34:{name:"(anonymous_34)",decl:{start:{line:127,column:23},end:{line:127,column:24}},loc:{start:{line:127,column:34},end:{line:135,column:7}},line:127},35:{name:"(anonymous_35)",decl:{start:{line:129,column:33},end:{line:129,column:34}},loc:{start:{line:129,column:42},end:{line:133,column:11}},line:129},36:{name:"(anonymous_36)",decl:{start:{line:139,column:4},end:{line:139,column:5}},loc:{start:{line:139,column:24},end:{line:155,column:5}},line:139},37:{name:"(anonymous_37)",decl:{start:{line:141,column:36},end:{line:141,column:37}},loc:{start:{line:141,column:51},end:{line:141,column:77}},line:141},38:{name:"(anonymous_38)",decl:{start:{line:158,column:4},end:{line:158,column:5}},loc:{start:{line:158,column:46},end:{line:169,column:5}},line:158},39:{name:"(anonymous_39)",decl:{start:{line:172,column:4},end:{line:172,column:5}},loc:{start:{line:172,column:28},end:{line:177,column:5}},line:172},40:{name:"(anonymous_40)",decl:{start:{line:173,column:47},end:{line:173,column:48}},loc:{start:{line:173,column:65},end:{line:173,column:89}},line:173},41:{name:"(anonymous_41)",decl:{start:{line:179,column:4},end:{line:179,column:5}},loc:{start:{line:179,column:31},end:{line:181,column:5}},line:179},42:{name:"(anonymous_42)",decl:{start:{line:180,column:49},end:{line:180,column:50}},loc:{start:{line:180,column:65},end:{line:180,column:89}},line:180},43:{name:"(anonymous_43)",decl:{start:{line:184,column:4},end:{line:184,column:5}},loc:{start:{line:184,column:41},end:{line:190,column:5}},line:184},44:{name:"(anonymous_44)",decl:{start:{line:185,column:44},end:{line:185,column:45}},loc:{start:{line:185,column:57},end:{line:185,column:92}},line:185},45:{name:"(anonymous_45)",decl:{start:{line:193,column:4},end:{line:193,column:5}},loc:{start:{line:193,column:27},end:{line:269,column:5}},line:193},46:{name:"(anonymous_46)",decl:{start:{line:196,column:41},end:{line:196,column:42}},loc:{start:{line:196,column:59},end:{line:196,column:97}},line:196},47:{name:"(anonymous_47)",decl:{start:{line:206,column:41},end:{line:206,column:42}},loc:{start:{line:206,column:59},end:{line:206,column:109}},line:206},48:{name:"(anonymous_48)",decl:{start:{line:229,column:20},end:{line:229,column:21}},loc:{start:{line:229,column:30},end:{line:231,column:7}},line:229},49:{name:"addUnreadCount",decl:{start:{line:235,column:15},end:{line:235,column:29}},loc:{start:{line:235,column:43},end:{line:246,column:7}},line:235},50:{name:"(anonymous_50)",decl:{start:{line:237,column:37},end:{line:237,column:38}},loc:{start:{line:237,column:47},end:{line:237,column:85}},line:237},51:{name:"(anonymous_51)",decl:{start:{line:271,column:4},end:{line:271,column:5}},loc:{start:{line:271,column:28},end:{line:283,column:5}},line:271},52:{name:"(anonymous_52)",decl:{start:{line:275,column:44},end:{line:275,column:45}},loc:{start:{line:275,column:62},end:{line:275,column:104}},line:275},53:{name:"(anonymous_53)",decl:{start:{line:285,column:4},end:{line:285,column:5}},loc:{start:{line:285,column:41},end:{line:293,column:5}},line:285},54:{name:"(anonymous_54)",decl:{start:{line:286,column:44},end:{line:286,column:45}},loc:{start:{line:286,column:62},end:{line:286,column:84}},line:286},55:{name:"(anonymous_55)",decl:{start:{line:296,column:4},end:{line:296,column:5}},loc:{start:{line:296,column:53},end:{line:298,column:5}},line:296},56:{name:"(anonymous_56)",decl:{start:{line:300,column:4},end:{line:300,column:5}},loc:{start:{line:300,column:49},end:{line:321,column:5}},line:300},57:{name:"(anonymous_57)",decl:{start:{line:301,column:36},end:{line:301,column:37}},loc:{start:{line:301,column:55},end:{line:301,column:88}},line:301},58:{name:"(anonymous_58)",decl:{start:{line:308,column:54},end:{line:308,column:55}},loc:{start:{line:308,column:73},end:{line:308,column:106}},line:308},59:{name:"(anonymous_59)",decl:{start:{line:313,column:79},end:{line:313,column:80}},loc:{start:{line:313,column:93},end:{line:313,column:113}},line:313},60:{name:"(anonymous_60)",decl:{start:{line:323,column:4},end:{line:323,column:5}},loc:{start:{line:323,column:42},end:{line:332,column:5}},line:323},61:{name:"(anonymous_61)",decl:{start:{line:324,column:54},end:{line:324,column:55}},loc:{start:{line:324,column:73},end:{line:324,column:106}},line:324},62:{name:"(anonymous_62)",decl:{start:{line:328,column:71},end:{line:328,column:72}},loc:{start:{line:328,column:85},end:{line:328,column:105}},line:328},63:{name:"(anonymous_63)",decl:{start:{line:335,column:4},end:{line:335,column:5}},loc:{start:{line:335,column:44},end:{line:353,column:5}},line:335},64:{name:"(anonymous_64)",decl:{start:{line:337,column:46},end:{line:337,column:47}},loc:{start:{line:337,column:59},end:{line:337,column:83}},line:337},65:{name:"(anonymous_65)",decl:{start:{line:344,column:56},end:{line:344,column:57}},loc:{start:{line:344,column:75},end:{line:344,column:109}},line:344},66:{name:"(anonymous_66)",decl:{start:{line:348,column:73},end:{line:348,column:74}},loc:{start:{line:348,column:87},end:{line:348,column:112}},line:348},67:{name:"(anonymous_67)",decl:{start:{line:355,column:4},end:{line:355,column:5}},loc:{start:{line:355,column:52},end:{line:366,column:5}},line:355},68:{name:"(anonymous_68)",decl:{start:{line:369,column:4},end:{line:369,column:5}},loc:{start:{line:369,column:13},end:{line:374,column:5}},line:369},69:{name:"(anonymous_69)",decl:{start:{line:371,column:40},end:{line:371,column:41}},loc:{start:{line:371,column:49},end:{line:373,column:7}},line:371}},branchMap:{0:{loc:{start:{line:43,column:13},end:{line:43,column:68}},type:"binary-expr",locations:[{start:{line:43,column:13},end:{line:43,column:62}},{start:{line:43,column:66},end:{line:43,column:68}}],line:43},1:{loc:{start:{line:47,column:45},end:{line:47,column:82}},type:"binary-expr",locations:[{start:{line:47,column:45},end:{line:47,column:61}},{start:{line:47,column:65},end:{line:47,column:82}}],line:47},2:{loc:{start:{line:56,column:6},end:{line:58,column:7}},type:"if",locations:[{start:{line:56,column:6},end:{line:58,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:56},3:{loc:{start:{line:64,column:13},end:{line:64,column:57}},type:"cond-expr",locations:[{start:{line:64,column:38},end:{line:64,column:50}},{start:{line:64,column:53},end:{line:64,column:57}}],line:64},4:{loc:{start:{line:64,column:14},end:{line:64,column:34}},type:"binary-expr",locations:[{start:{line:64,column:14},end:{line:64,column:18}},{start:{line:64,column:22},end:{line:64,column:34}}],line:64},5:{loc:{start:{line:68,column:6},end:{line:79,column:7}},type:"if",locations:[{start:{line:68,column:6},end:{line:79,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:68},6:{loc:{start:{line:70,column:8},end:{line:77,column:9}},type:"if",locations:[{start:{line:70,column:8},end:{line:77,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:70},7:{loc:{start:{line:71,column:10},end:{line:73,column:11}},type:"if",locations:[{start:{line:71,column:10},end:{line:73,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:71},8:{loc:{start:{line:74,column:10},end:{line:76,column:11}},type:"if",locations:[{start:{line:74,column:10},end:{line:76,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:74},9:{loc:{start:{line:81,column:13},end:{line:81,column:53}},type:"cond-expr",locations:[{start:{line:81,column:23},end:{line:81,column:40}},{start:{line:81,column:43},end:{line:81,column:53}}],line:81},10:{loc:{start:{line:109,column:8},end:{line:111,column:9}},type:"if",locations:[{start:{line:109,column:8},end:{line:111,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:109},11:{loc:{start:{line:114,column:6},end:{line:121,column:7}},type:"switch",locations:[{start:{line:115,column:8},end:{line:117,column:15}},{start:{line:118,column:8},end:{line:120,column:15}}],line:114},12:{loc:{start:{line:128,column:8},end:{line:134,column:9}},type:"if",locations:[{start:{line:128,column:8},end:{line:134,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:128},13:{loc:{start:{line:130,column:12},end:{line:132,column:13}},type:"if",locations:[{start:{line:130,column:12},end:{line:132,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:130},14:{loc:{start:{line:142,column:6},end:{line:146,column:7}},type:"if",locations:[{start:{line:142,column:6},end:{line:146,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:142},15:{loc:{start:{line:149,column:8},end:{line:151,column:9}},type:"if",locations:[{start:{line:149,column:8},end:{line:151,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:149},16:{loc:{start:{line:149,column:12},end:{line:149,column:60}},type:"binary-expr",locations:[{start:{line:149,column:12},end:{line:149,column:30}},{start:{line:149,column:34},end:{line:149,column:60}}],line:149},17:{loc:{start:{line:160,column:6},end:{line:168,column:7}},type:"if",locations:[{start:{line:160,column:6},end:{line:168,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:160},18:{loc:{start:{line:174,column:6},end:{line:176,column:7}},type:"if",locations:[{start:{line:174,column:6},end:{line:176,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:174},19:{loc:{start:{line:186,column:6},end:{line:189,column:7}},type:"if",locations:[{start:{line:186,column:6},end:{line:189,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:186},20:{loc:{start:{line:194,column:6},end:{line:203,column:7}},type:"if",locations:[{start:{line:194,column:6},end:{line:203,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:194},21:{loc:{start:{line:197,column:8},end:{line:202,column:9}},type:"if",locations:[{start:{line:197,column:8},end:{line:202,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:197},22:{loc:{start:{line:204,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:204,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:204},23:{loc:{start:{line:207,column:8},end:{line:212,column:9}},type:"if",locations:[{start:{line:207,column:8},end:{line:212,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},24:{loc:{start:{line:221,column:15},end:{line:221,column:44}},type:"binary-expr",locations:[{start:{line:221,column:15},end:{line:221,column:36}},{start:{line:221,column:40},end:{line:221,column:44}}],line:221},25:{loc:{start:{line:222,column:15},end:{line:222,column:44}},type:"binary-expr",locations:[{start:{line:222,column:15},end:{line:222,column:36}},{start:{line:222,column:40},end:{line:222,column:44}}],line:222},26:{loc:{start:{line:238,column:8},end:{line:244,column:9}},type:"if",locations:[{start:{line:238,column:8},end:{line:244,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:238},27:{loc:{start:{line:239,column:10},end:{line:243,column:11}},type:"if",locations:[{start:{line:239,column:10},end:{line:243,column:11}},{start:{line:241,column:17},end:{line:243,column:11}}],line:239},28:{loc:{start:{line:239,column:14},end:{line:239,column:87}},type:"binary-expr",locations:[{start:{line:239,column:14},end:{line:239,column:51}},{start:{line:239,column:55},end:{line:239,column:87}}],line:239},29:{loc:{start:{line:247,column:6},end:{line:256,column:7}},type:"if",locations:[{start:{line:247,column:6},end:{line:256,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:247},30:{loc:{start:{line:249,column:8},end:{line:255,column:9}},type:"if",locations:[{start:{line:249,column:8},end:{line:255,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:249},31:{loc:{start:{line:249,column:12},end:{line:249,column:70}},type:"binary-expr",locations:[{start:{line:249,column:12},end:{line:249,column:41}},{start:{line:249,column:45},end:{line:249,column:70}}],line:249},32:{loc:{start:{line:257,column:6},end:{line:260,column:7}},type:"if",locations:[{start:{line:257,column:6},end:{line:260,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:257},33:{loc:{start:{line:261,column:6},end:{line:268,column:7}},type:"switch",locations:[{start:{line:262,column:8},end:{line:264,column:15}},{start:{line:265,column:8},end:{line:267,column:15}}],line:261},34:{loc:{start:{line:272,column:6},end:{line:274,column:7}},type:"if",locations:[{start:{line:272,column:6},end:{line:274,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:272},35:{loc:{start:{line:276,column:6},end:{line:278,column:7}},type:"if",locations:[{start:{line:276,column:6},end:{line:278,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:276},36:{loc:{start:{line:287,column:6},end:{line:292,column:7}},type:"if",locations:[{start:{line:287,column:6},end:{line:292,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:287},37:{loc:{start:{line:301,column:6},end:{line:307,column:7}},type:"if",locations:[{start:{line:301,column:6},end:{line:307,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:301},38:{loc:{start:{line:314,column:6},end:{line:318,column:7}},type:"if",locations:[{start:{line:314,column:6},end:{line:318,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:314},39:{loc:{start:{line:325,column:6},end:{line:327,column:7}},type:"if",locations:[{start:{line:325,column:6},end:{line:327,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:325},40:{loc:{start:{line:329,column:6},end:{line:331,column:7}},type:"if",locations:[{start:{line:329,column:6},end:{line:331,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:329},41:{loc:{start:{line:336,column:6},end:{line:342,column:7}},type:"if",locations:[{start:{line:336,column:6},end:{line:342,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:336},42:{loc:{start:{line:338,column:8},end:{line:340,column:9}},type:"if",locations:[{start:{line:338,column:8},end:{line:340,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:338},43:{loc:{start:{line:343,column:6},end:{line:352,column:7}},type:"if",locations:[{start:{line:343,column:6},end:{line:352,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:343},44:{loc:{start:{line:345,column:8},end:{line:347,column:9}},type:"if",locations:[{start:{line:345,column:8},end:{line:347,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:345},45:{loc:{start:{line:349,column:8},end:{line:351,column:9}},type:"if",locations:[{start:{line:349,column:8},end:{line:351,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:349},46:{loc:{start:{line:357,column:6},end:{line:365,column:7}},type:"if",locations:[{start:{line:357,column:6},end:{line:365,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:357},47:{loc:{start:{line:357,column:10},end:{line:357,column:62}},type:"binary-expr",locations:[{start:{line:357,column:10},end:{line:357,column:33}},{start:{line:357,column:37},end:{line:357,column:62}}],line:357}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0,164:0,165:0,166:0,167:0,168:0,169:0,170:0,171:0,172:0,173:0,174:0,175:0,176:0,177:0,178:0,179:0,180:0,181:0,182:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0,0],38:[0,0],39:[0,0],40:[0,0],41:[0,0],42:[0,0],43:[0,0],44:[0,0],45:[0,0],46:[0,0],47:[0,0]},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/store/index.js"],names:[],mappings:"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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,C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AAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"b79a4dda7ac2020dc4d2361ca7398e4ecf534171"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return f=function(){return s},s}f();let ns=(f().s[0]++,null);f().s[1]++;const du=()=>(f().f[0]++,f().s[2]++,{activeChat:null,messages:[],contacts:[],groups:[],joinedRooms:[],knownRooms:[],roomsOccupants:[],httpFileUploadMaxSize:null,isOnline:!1,presence:"chat",hasNotificationsEnabled:!1,isSendingTypingChatStates:!0,isSendingInactiveChatStates:!1}),ZC=(f().s[3]++,Q2("main",{state:()=>(f().f[1]++,f().s[4]++,{hasNetwork:null,...du()}),getters:{publicRooms:A=>(f().f[2]++,f().s[5]++,A.knownRooms.filter(C=>(f().f[3]++,f().s[6]++,C.isPublic))),bookmarkedRooms:A=>(f().f[4]++,f().s[7]++,A.knownRooms.filter(C=>(f().f[5]++,f().s[8]++,C.isBookmarked))),getRoom:A=>(f().f[6]++,f().s[9]++,C=>(f().f[7]++,f().s[10]++,f().b[0][0]++,A.knownRooms.find(e=>(f().f[8]++,f().s[11]++,e.jid===C))||(f().b[0][1]++,{}))),isBookmarked:A=>(f().f[9]++,f().s[12]++,C=>(f().f[10]++,f().s[13]++,A.knownRooms.some(e=>(f().f[11]++,f().s[14]++,f().b[1][0]++,e.jid===C&&(f().b[1][1]++,e.isBookmarked))))),isJoined:A=>(f().f[12]++,f().s[15]++,C=>(f().f[13]++,f().s[16]++,A.joinedRooms.some(e=>(f().f[14]++,f().s[17]++,e===C)))),getRoomOccupants:A=>(f().f[15]++,f().s[18]++,C=>{f().f[16]++;const e=(f().s[19]++,A.roomsOccupants.find(n=>(f().f[17]++,f().s[20]++,n.roomJid===C)));return f().s[21]++,e?(f().b[2][0]++,f().s[22]++,e.occupants):(f().b[2][1]++,f().s[23]++,[])}),getRoomSubject:A=>(f().f[18]++,f().s[24]++,C=>{f().f[19]++;const e=(f().s[25]++,A.knownRooms.find(n=>(f().f[20]++,f().s[26]++,n.jid===C)));return f().s[27]++,f().b[4][0]++,e&&(f().b[4][1]++,e.subject)?(f().b[3][0]++,e.subject):(f().b[3][1]++,null)}),getChatState:A=>(f().f[21]++,f().s[28]++,(C,e)=>{if(f().f[22]++,f().s[29]++,C){f().b[5][0]++;const t=(f().s[30]++,A.roomsOccupants.find(i=>(f().f[23]++,f().s[31]++,i.roomJid===e)));if(f().s[32]++,t){if(f().b[6][0]++,f().s[33]++,t.occupants.some(i=>(f().f[24]++,f().s[34]++,i.chatState==="composing")))return f().b[7][0]++,f().s[35]++,"composing";if(f().b[7][1]++,f().s[36]++,t.occupants.some(i=>(f().f[25]++,f().s[37]++,i.chatState==="paused")))return f().b[8][0]++,f().s[38]++,"paused";f().b[8][1]++}else f().b[6][1]++;return f().s[39]++,"inactive"}else f().b[5][1]++;const n=(f().s[40]++,A.contacts.find(t=>(f().f[26]++,f().s[41]++,t.jid===e)));return f().s[42]++,n?(f().b[9][0]++,n.chatState):(f().b[9][1]++,"inactive")})},actions:{setNetworkStatus(A){f().f[27]++,f().s[43]++,this.hasNetwork=A},setOnline(A){f().f[28]++,f().s[44]++,this.isOnline=A},setPresence(A){f().f[29]++,f().s[45]++,this.presence=A},setActiveChat(A){f().f[30]++,f().s[46]++,this.activeChat=A.activeChat;function C(e){f().f[31]++;const n=(f().s[47]++,e.slice(0)),t=(f().s[48]++,n.findIndex(i=>(f().f[32]++,f().s[49]++,i.jid===A.activeChat)));return f().s[50]++,t!==-1?(f().b[10][0]++,f().s[51]++,n[t].unreadCount=0):f().b[10][1]++,f().s[52]++,n}switch(f().s[53]++,A.type){case"chat":f().b[11][0]++,f().s[54]++,this.contacts=C(this.contacts),f().s[55]++;break;case"groupchat":f().b[11][1]++,f().s[56]++,this.knownRooms=C(this.knownRooms),f().s[57]++;break}},setRoster(A){f().f[33]++,f().s[58]++,this.contacts=A,f().s[59]++,A.forEach(C=>{f().f[34]++,f().s[60]++,C.groups?(f().b[12][0]++,f().s[61]++,C.groups.forEach(e=>{f().f[35]++,f().s[62]++,this.groups.includes(e)?f().b[13][1]++:(f().b[13][0]++,f().s[63]++,this.groups.push(e))})):f().b[12][1]++})},setKnownRoom(A){f().f[36]++;const C=(f().s[64]++,this.knownRooms.slice(0)),e=(f().s[65]++,C.findIndex(n=>(f().f[37]++,f().s[66]++,n.jid===A.jid)));if(f().s[67]++,e===-1){f().b[14][0]++,f().s[68]++,this.knownRooms.push(A),f().s[69]++;return}else f().b[14][1]++;f().s[70]++;for(const n in A){if(f().s[71]++,f().b[16][0]++,A[n]===null&&(f().b[16][1]++,C[e][n]!==null)){f().b[15][0]++,f().s[72]++;continue}else f().b[15][1]++;f().s[73]++,C[e][n]=A[n]}f().s[74]++,this.knownRooms=C},setRoomSubject(A,C,e){f().f[38]++;const n=(f().s[75]++,this.getRoom(A));f().s[76]++,n.jid?(f().b[17][0]++,f().s[77]++,this.setKnownRoom({...n,subject:{author:C,subject:e}})):f().b[17][1]++},setJoinedRoom(A){f().f[39]++;const C=(f().s[78]++,this.joinedRooms.findIndex(e=>(f().f[40]++,f().s[79]++,e===A)));f().s[80]++,C===-1?(f().b[18][0]++,f().s[81]++,this.joinedRooms.push(A)):f().b[18][1]++},removeJoinedRoom(A){f().f[41]++,f().s[82]++,this.joinedRooms=this.joinedRooms.filter(C=>(f().f[42]++,f().s[83]++,C!==A))},setContactPresence(A){f().f[43]++;const C=(f().s[84]++,this.contacts.findIndex(e=>(f().f[44]++,f().s[85]++,e.jid===A.jid)));f().s[86]++,C!==-1?(f().b[19][0]++,f().s[87]++,this.contacts[C].presence=A.presence,f().s[88]++,this.contacts[C].status=A.status):f().b[19][1]++},storeMessage(A){if(f().f[45]++,f().s[89]++,A.message.id){f().b[20][0]++;const t=(f().s[90]++,this.messages.slice(0)),i=(f().s[91]++,t.findIndex(s=>(f().f[46]++,f().s[92]++,s.id===A.message.id)));if(f().s[93]++,i!==-1){f().b[21][0]++,f().s[94]++,t[i]=A.message,f().s[95]++,this.messages=t,f().s[96]++;return}else f().b[21][1]++}else f().b[20][1]++;if(f().s[97]++,A.message.stanzaId){f().b[22][0]++;const t=(f().s[98]++,this.messages.slice(0)),i=(f().s[99]++,t.findIndex(s=>(f().f[47]++,f().s[100]++,s.stanzaId===A.message.stanzaId)));if(f().s[101]++,i!==-1){f().b[23][0]++,f().s[102]++,t[i]=A.message,f().s[103]++,this.messages=t,f().s[104]++;return}else f().b[23][1]++}else f().b[22][1]++;f().s[105]++,this.messages.push({id:A.message.id,stanzaId:A.message.stanzaId,from:A.message.from,to:A.message.to,body:A.message.body,delay:(f().b[24][0]++,A.message.delay||(f().b[24][1]++,null)),links:(f().b[25][0]++,A.message.links||(f().b[25][1]++,null)),status:null});const C=(f().s[106]++,this.messages.slice(0)),e=(f().s[107]++,this.$dayjs);f().s[108]++,C.sort((t,i)=>(f().f[48]++,f().s[109]++,e(t.delay).isAfter(e(i.delay)))),f().s[110]++,this.messages=C;function n(t){f().f[49]++;const i=(f().s[111]++,t.slice(0)),s=(f().s[112]++,i.findIndex(o=>(f().f[50]++,f().s[113]++,o.jid===A.message.from.bare)));return f().s[114]++,s!==-1?(f().b[26][0]++,f().s[115]++,f().b[28][0]++,i[s].unreadCount===void 0||(f().b[28][1]++,i[s].unreadCount===null)?(f().b[27][0]++,f().s[116]++,i[s].unreadCount=1):(f().b[27][1]++,f().s[117]++,i[s].unreadCount++)):f().b[26][1]++,f().s[118]++,i}if(f().s[119]++,this.hasNotificationsEnabled){f().b[29][0]++;const t=(f().s[120]++,Z2());f().s[121]++,f().b[31][0]++,t.value==="hidden"&&(f().b[31][1]++,ns!==null)?(f().b[30][0]++,f().s[122]++,ns({body:"You have received new message",renotify:!1,tag:"unread"})):f().b[30][1]++}else f().b[29][1]++;if(f().s[123]++,A.message.from.bare===this.activeChat){f().b[32][0]++,f().s[124]++;return}else f().b[32][1]++;switch(f().s[125]++,A.type){case"chat":f().b[33][0]++,f().s[126]++,this.contacts=n(this.contacts),f().s[127]++;break;case"groupchat":f().b[33][1]++,f().s[128]++,this.knownRooms=n(this.knownRooms),f().s[129]++;break}},updateMessage(A){if(f().f[51]++,f().s[130]++,A.stanzaId)f().b[34][1]++;else{f().b[34][0]++,f().s[131]++;return}const C=(f().s[132]++,this.messages.findIndex(e=>(f().f[52]++,f().s[133]++,e.stanzaId===A.stanzaId)));if(f().s[134]++,C===-1){f().b[35][0]++,f().s[135]++;return}else f().b[35][1]++;f().s[136]++,this.messages[C]={...this.messages[C],...A}},setMessageStatus(A,C,e){f().f[53]++;const n=(f().s[137]++,this.messages.findIndex(t=>(f().f[54]++,f().s[138]++,t.id===A)));f().s[139]++,n!==-1?(f().b[36][0]++,f().s[140]++,this.messages[n].status={code:C,message:e}):f().b[36][1]++},setHttpFileUploadMaxSize(A){f().f[55]++,f().s[141]++,this.httpFileUploadMaxSize=A},setRoomOccupant({roomJid:A,jid:C,presence:e}){f().f[56]++,f().s[142]++,this.roomsOccupants.find(s=>(f().f[57]++,f().s[143]++,s.roomJid===A))?f().b[37][1]++:(f().b[37][0]++,f().s[144]++,this.roomsOccupants.push({roomJid:A,occupants:[]}));const n=(f().s[145]++,this.roomsOccupants.findIndex(s=>(f().f[58]++,f().s[146]++,s.roomJid===A))),t=(f().s[147]++,{jid:C,presence:e}),i=(f().s[148]++,this.roomsOccupants[n].occupants.findIndex(s=>(f().f[59]++,f().s[149]++,s.jid===C)));if(f().s[150]++,i!==-1){f().b[38][0]++,f().s[151]++,this.roomsOccupants[n].occupants[i]=t,f().s[152]++;return}else f().b[38][1]++;f().s[153]++,this.roomsOccupants[n].occupants.push(t)},removeRoomOccupant({roomJid:A,jid:C}){f().f[60]++;const e=(f().s[154]++,this.roomsOccupants.findIndex(t=>(f().f[61]++,f().s[155]++,t.roomJid===A)));if(f().s[156]++,e===-1){f().b[39][0]++,f().s[157]++;return}else f().b[39][1]++;const n=(f().s[158]++,this.roomsOccupants[e].occupants.findIndex(t=>(f().f[62]++,f().s[159]++,t.jid===C)));f().s[160]++,n!==-1?(f().b[40][0]++,f().s[161]++,this.roomsOccupants[e].occupants.splice(n,1)):f().b[40][1]++},setChatState({jid:A,type:C,chatState:e}){if(f().f[63]++,f().s[162]++,C==="chat"){f().b[41][0]++;const n=(f().s[163]++,this.contacts.findIndex(t=>(f().f[64]++,f().s[164]++,t.jid===A.bare)));f().s[165]++,n!==-1?(f().b[42][0]++,f().s[166]++,this.contacts[n].chatState=e):f().b[42][1]++,f().s[167]++;return}else f().b[41][1]++;if(f().s[168]++,C==="groupchat"){f().b[43][0]++;const n=(f().s[169]++,this.roomsOccupants.findIndex(i=>(f().f[65]++,f().s[170]++,i.roomJid===A.bare)));if(f().s[171]++,n===-1){f().b[44][0]++,f().s[172]++;return}else f().b[44][1]++;const t=(f().s[173]++,this.roomsOccupants[n].occupants.findIndex(i=>(f().f[66]++,f().s[174]++,i.jid===A.full)));f().s[175]++,t!==-1?(f().b[45][0]++,f().s[176]++,this.roomsOccupants[n].occupants[t].chatState=e):f().b[45][1]++}else f().b[43][1]++},setNotificationStatus(A){f().f[67]++,f().s[177]++,this.hasNotificationsEnabled=A,f().s[178]++,f().b[47][0]++,A&&(f().b[47][1]++,ns===null)?(f().b[46][0]++,f().s[179]++,{show:ns}=Zp({title:window.config.name,icon:"/img/icons/android-chrome-192x192.png",dir:"auto",lang:"en"})):f().b[46][1]++},clear(){f().f[68]++;const A=(f().s[180]++,du());f().s[181]++,Object.keys(A).forEach(C=>{f().f[69]++,f().s[182]++,this[C]=A[C]})}}})),pC=(A,C)=>{const e=A.__vccOpts||A;for(const[n,t]of C)e[n]=t;return e};function TC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/App.vue",C="2049132f829ca2adc424f4f1dd47a146f6415531",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/App.vue",statementMap:{0:{start:{line:6,column:18},end:{line:23,column:1}},1:{start:{line:9,column:4},end:{line:11,column:5}},2:{start:{line:10,column:6},end:{line:10,column:41}},3:{start:{line:13,column:4},end:{line:13,column:50}},4:{start:{line:14,column:4},end:{line:14,column:63}},5:{start:{line:15,column:4},end:{line:15,column:62}},6:{start:{line:20,column:6},end:{line:20,column:52}},7:{start:{line:27,column:19},end:{line:30,column:1}},8:{start:{line:33,column:33},end:{line:33,column:65}},9:{start:{line:35,column:2},end:{line:38,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:8,column:2},end:{line:8,column:3}},loc:{start:{line:8,column:13},end:{line:16,column:3}},line:8},1:{name:"(anonymous_1)",decl:{start:{line:19,column:4},end:{line:19,column:5}},loc:{start:{line:19,column:31},end:{line:21,column:5}},line:19},2:{name:"_sfc_render",decl:{start:{line:32,column:9},end:{line:32,column:20}},loc:{start:{line:32,column:68},end:{line:39,column:1}},line:32}},branchMap:{0:{loc:{start:{line:9,column:4},end:{line:11,column:5}},type:"if",locations:[{start:{line:9,column:4},end:{line:11,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:9},1:{loc:{start:{line:9,column:8},end:{line:9,column:75}},type:"binary-expr",locations:[{start:{line:9,column:8},end:{line:9,column:46}},{start:{line:9,column:50},end:{line:9,column:75}}],line:9}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},f:{0:0,1:0,2:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/App.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"2049132f829ca2adc424f4f1dd47a146f6415531"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return TC=function(){return s},s}TC();const ib=(TC().s[0]++,{name:"App",mounted(){TC().f[0]++,TC().s[1]++,TC().b[1][0]++,typeof window.config.name=="string"&&(TC().b[1][1]++,window.config.name!=="")?(TC().b[0][0]++,TC().s[2]++,document.title=window.config.name):TC().b[0][1]++,TC().s[3]++,this.setNetworkStatus(window.navigator.onLine),TC().s[4]++,window.addEventListener("offline",this.notifyConnectivity),TC().s[5]++,window.addEventListener("online",this.notifyConnectivity)},methods:{...qp(ZC,["setNetworkStatus"]),notifyConnectivity(A){TC().f[1]++,TC().s[6]++,this.setNetworkStatus(A.type==="online")}}}),sb=(TC().s[7]++,{id:"app",class:"is-full-height"});function ob(A,C,e,n,t,i){TC().f[2]++;const s=(TC().s[8]++,AA("router-view"));return TC().s[9]++,h(),Q("div",sb,[k(s,{name:"navbar"}),k(s)])}const lb=pC(ib,[["render",ob]]);function ab(A){return A<0?-1:A>0?1:0}const rb=Math.sign||ab;function Js(A,C){return(A&C)===C}function Ss(A,C){return(A%C+C)%C}function pu(A,C,e){return Math.max(C,Math.min(e,A))}function U(A,C,e=void 0){const n=C.split(".").reduce((t,i)=>typeof t<"u"?t[i]:void 0,A);return typeof n<"u"?n:e}function gl(A,C,e){if(!A)return-1;if(!e||typeof e!="function")return A.indexOf(C);for(let n=0;ntypeof A=="object"&&!Array.isArray(A),A1=(A,C,e=!1)=>{if(e||!Object.assign){const n=i=>fu(C[i])&&A!==null&&Object.prototype.hasOwnProperty.call(A,i)&&fu(A[i]);let t;return C===null||typeof C>"u"?t=!1:t=Object.getOwnPropertyNames(C).map(i=>({[i]:n(i)?A1(A[i],C[i],e):C[i]})).reduce((i,s)=>({...i,...s}),{}),{...A,...t}}else return Object.assign(A,C)},Lt=A1,En={Android:function(){return typeof window<"u"&&window.navigator.userAgent.match(/Android/i)},BlackBerry:function(){return typeof window<"u"&&window.navigator.userAgent.match(/BlackBerry/i)},iOS:function(){return typeof window<"u"&&window.navigator.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return typeof window<"u"&&window.navigator.userAgent.match(/Opera Mini/i)},Windows:function(){return typeof window<"u"&&window.navigator.userAgent.match(/IEMobile/i)},any:function(){return En.Android()||En.BlackBerry()||En.iOS()||En.Opera()||En.Windows()}};function cb(){return typeof window<"u"&&window.navigator.userAgent.indexOf("AppleWebKit/")!==-1&&window.navigator.userAgent.indexOf("Chrome/")===-1}function et(A){typeof A.remove<"u"?A.remove():typeof A.parentNode<"u"&&A.parentNode!==null&&A.parentNode.removeChild(A)}function br(A){const C=document.createElement("div");C.style.position="absolute",C.style.left="0px",C.style.top="0px";const e=document.createElement("div");return C.appendChild(e),e.appendChild(A),document.body.appendChild(C),C}function ub(A){return A&&A.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function Wn(A){return A===void 0?null:isNaN(A)?A:A+"px"}function ta(A){return typeof A<"u"&&A!==null?A:""}function mb(A,C){return typeof A<"u"&&A!==null?A:C}function db(A=void 0,C="long"){const e=[];for(let t=0;t<12;t++)e.push(new Date(2e3,t,15));const n=new Intl.DateTimeFormat(A,{month:C});return e.map(t=>n.format(t))}function pb(A=void 0,C=0,e="narrow"){const n=[];for(let i=1,s=0;s<7;i++){const o=new Date(2e3,0,i);(o.getDay()===C||s>0)&&(n.push(o),s++)}const t=new Intl.DateTimeFormat(A,{weekday:e});return n.map(i=>t.format(i))}function Er(A,C){const e=C.match(A);return A.toString().match(/<(.+?)>/g).map(n=>{const t=n.match(/<(.+)>/);return!t||t.length<=0?null:n.match(/<(.+)>/)[1]}).reduce((n,t,i)=>(e&&e.length>i?n[t]=e[i+1]:n[t]=null,n),{})}function C1(A,C,e){let n;return function(){const t=this,i=arguments,s=function(){n=null,e||A.apply(t,i)},o=e&&!n;clearTimeout(n),n=setTimeout(s,C),o&&A.apply(t,i)}}function fb(A,C){return A.indexOf(C,A.length-C.length)!==-1}const hu=A=>A!==void 0;function gu(A){return A&&A.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}let e1={iconPack:"mdi",useHtml5Validation:!0,statusIcon:!0,transformClasses:void 0};const n1=A=>{e1=A},q=()=>e1;let Mo;const hb=A=>{Mo=A},gb={getOptions:q,setOptions(A){n1(Lt(q(),A,!0))}},bu=(A,C)=>ta(A).split(" ").filter(e=>e.length>0).map(e=>e+C).join(" "),Eu=A=>{const e=(A.$options.computed?Object.keys(A.$options.computed):[]).filter(n=>!fb(n,"Classes")).reduce((n,t)=>(n[t]=A[t],n),{});return{props:A.$props,data:A.$data,computed:e}};var CC=KA({isOruga:!0,props:{override:Boolean},methods:{computedClass(A,C,e=""){const n=this.$props.override===!0?{}:q(),t=this.$props.override||U(n,`${this.$options.configField}.override`,!1),i=U(n,`${this.$options.configField}.${A}.override`,t),s=U(n,"transformClasses",void 0),o=U(n,`${this.$options.configField}.transformClasses`,void 0);let l=U(n,`${this.$options.configField}.${A}.class`,"")||U(n,`${this.$options.configField}.${A}`,""),a=U(this.$props,A);Array.isArray(a)&&(a=a.join(" ")),C.search("{*}")!==-1?C=C.replace(/\{\*\}/g,e):C=C+e;let r=null;typeof a=="function"?(r=Eu(this),a=a(e,r)):a=bu(a,e),typeof l=="function"?l=l(e,r||Eu(this)):l=bu(l,e);let p=`${t&&!i||!t&&!i?C:""} ${ta(l)} ${ta(a)}`.trim().replace(/\s\s+/g," ");return o&&(p=o(p)),s&&(p=s(p)),p}}});const t1={};function bb(A,C){t1[A]=C}function Eb(){return{oruga:t1,addProgrammatic:bb}}const yb=(A,C)=>{A.use(C)},eC=(A,C)=>{A.component(C.name,C)},Do=(A,C,e)=>{const{oruga:n,addProgrammatic:t}=Eb();t(C,e),A._context.provides&&A._context.provides.oruga||A.provide("oruga",n),A.config.globalProperties.$oruga||(A.config.globalProperties.$oruga=n)},vb={sizes:{default:"mdi-24px",small:null,medium:"mdi-36px",large:"mdi-48px"},iconPrefix:"mdi-"},at=()=>{const C=U(q(),"iconComponent")?"":"fa-";return{sizes:{default:null,small:null,medium:C+"lg",large:C+"2x"},iconPrefix:C,internalIcons:{check:"check",information:"info-circle",alert:"exclamation-triangle","alert-circle":"exclamation-circle","arrow-up":"arrow-up","chevron-right":"angle-right","chevron-left":"angle-left","chevron-down":"angle-down","chevron-up":"angle-up",eye:"eye","eye-off":"eye-slash","caret-down":"caret-down","caret-up":"caret-up","close-circle":"times-circle",close:"times",loading:"circle-notch"}}},wb=()=>{let A={mdi:vb,fa:at(),fas:at(),far:at(),fad:at(),fab:at(),fal:at()};const C=U(q(),"customIconPacks");return C&&(A=Lt(A,C,!0)),A};var dC=KA({name:"OIcon",mixins:[CC],configField:"icon",props:{variant:[String,Object],component:String,pack:String,icon:String,size:String,customSize:String,customClass:String,clickable:Boolean,spin:Boolean,rotation:[Number,String],both:Boolean,rootClass:[String,Function,Array],clickableClass:[String,Function,Array],spinClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-icon"),{[this.computedClass("clickableClass","o-icon--clickable")]:this.clickable},{[this.computedClass("spinClass","o-icon--spin")]:this.spin},{[this.computedClass("sizeClass","o-icon--",this.size)]:this.size},{[this.computedClass("variantClass","o-icon--",this.newVariant)]:this.newVariant}]},rootStyle(){const A={};return this.rotation&&(A.transform=`rotate(${this.rotation}deg)`),A},iconConfig(){return wb()[this.newPack]},iconPrefix(){return this.iconConfig&&this.iconConfig.iconPrefix?this.iconConfig.iconPrefix:""},newIcon(){return`${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`},newPack(){return this.pack||U(q(),"iconPack","mdi")},newVariant(){if(!this.variant)return;let A="";return typeof this.variant=="string"?A=this.variant:A=Object.keys(this.variant).filter(C=>this.variant[C])[0],A},newCustomSize(){return this.customSize||this.customSizeByPack},customSizeByPack(){if(this.iconConfig&&this.iconConfig.sizes){if(this.size&&this.iconConfig.sizes[this.size]!==void 0)return this.iconConfig.sizes[this.size];if(this.iconConfig.sizes.default)return this.iconConfig.sizes.default}return null},useIconComponent(){if(this.component)return this.component;const A=U(q(),"iconComponent");return A||null}},methods:{getEquivalentIconOf(A){return this.both&&this.iconConfig&&this.iconConfig.internalIcons&&this.iconConfig.internalIcons[A]?this.iconConfig.internalIcons[A]:A}}});function Bb(A,C,e,n,t,i){return h(),S("span",{class:A.rootClasses,style:A.rootStyle},[A.useIconComponent?(h(),S(gA,{key:1},[L(" custom icon component "),(h(),S(_n(A.useIconComponent),{icon:[A.newPack,A.newIcon],size:A.newCustomSize,class:[A.customClass]},null,8,["icon","size","class"]))],64)):(h(),S("i",{key:0,class:[A.newPack,A.newIcon,A.newCustomSize,A.customClass]},null,2))],6)}dC.render=Bb;dC.__file="src/components/icon/Icon.vue";var jn=KA({inject:{$field:{from:"$field",default:!1}},emits:["blur","focus"],props:{expanded:Boolean,rounded:Boolean,icon:String,iconPack:String,autocomplete:String,maxlength:[Number,String],useHtml5Validation:{type:Boolean,default:()=>U(q(),"useHtml5Validation",!0)},statusIcon:{type:Boolean,default:()=>U(q(),"statusIcon",!0)},validationMessage:String},data(){return{isValid:!0,isFocused:!1,newIconPack:this.iconPack}},computed:{parentField(){return this.$field},statusVariant(){if(this.parentField&&this.parentField.newVariant){if(typeof this.parentField.newVariant=="string")return this.parentField.newVariant;for(const A in this.parentField.newVariant)if(this.parentField.newVariant[A])return A}},statusMessage(){if(this.parentField)return this.parentField.newMessage||this.parentField.hasMessageSlot},statusVariantIcon(){return U(q(),"statusVariantIcon",{success:"check",danger:"alert-circle",info:"information",warning:"alert"})[this.statusVariant]||""}},methods:{focus(){const A=this.getElement();A&&this.$nextTick(()=>{A&&A.focus()})},onBlur(A){this.isFocused=!1,this.parentField&&(this.parentField.isFocused=!1),this.$emit("blur",A),this.checkHtml5Validity()},onFocus(A){this.isFocused=!0,this.parentField&&(this.parentField.isFocused=!0),this.$emit("focus",A)},getElement(){let A=this.$refs[this.$elementRef];for(;A&&A.$elementRef;)A=A.$refs[A.$elementRef];return A},setInvalid(){const A="danger",C=this.validationMessage||this.getElement().validationMessage;this.setValidity(A,C)},setValidity(A,C){this.$nextTick(()=>{this.parentField&&(this.parentField.variant||(this.parentField.newVariant=A),this.parentField.message||(this.parentField.newMessage=C))})},checkHtml5Validity(){if(!this.useHtml5Validation)return;const A=this.getElement();if(A)return A.checkValidity()?(this.setValidity(null,null),this.isValid=!0):(this.setInvalid(),this.isValid=!1),this.isValid},syncFilled(A){this.parentField&&(this.parentField.isFilled=!!A)}}}),xe=KA({name:"OInput",components:{[dC.name]:dC},mixins:[CC,jn],configField:"input",inheritAttrs:!1,emits:["update:modelValue","icon-click","icon-right-click"],props:{modelValue:[Number,String],autocomplete:String,type:{type:String,default:"text"},size:String,variant:String,passwordReveal:Boolean,iconClickable:Boolean,hasCounter:{type:Boolean,default:()=>U(q(),"input.counter",!1)},autosize:{type:Boolean,default:!1},iconRight:String,iconRightClickable:Boolean,iconRightVariant:String,clearable:{type:Boolean,default:()=>U(q(),"input.clearable",!1)},rootClass:[String,Function,Array],expandedClass:[String,Function,Array],iconLeftSpaceClass:[String,Function,Array],iconRightSpaceClass:[String,Function,Array],inputClass:[String,Function,Array],roundedClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],counterClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},data(){return{newValue:this.modelValue,newType:this.type,newAutocomplete:this.autocomplete||U(q(),"input.autocompletete","off"),isPasswordVisible:!1,height:"auto"}},computed:{rootClasses(){return[this.computedClass("rootClass","o-ctrl-input"),{[this.computedClass("expandedClass","o-ctrl-input--expanded")]:this.expanded}]},inputClasses(){return[this.computedClass("inputClass","o-input"),{[this.computedClass("roundedClass","o-input--rounded")]:this.rounded},{[this.computedClass("sizeClass","o-input--",this.size)]:this.size},{[this.computedClass("variantClass","o-input--",this.statusVariant||this.variant)]:this.statusVariant||this.variant},{[this.computedClass("textareaClass","o-input__textarea")]:this.type==="textarea"},{[this.computedClass("iconLeftSpaceClass","o-input-iconspace-left")]:this.icon},{[this.computedClass("iconRightSpaceClass","o-input-iconspace-right")]:this.hasIconRight}]},iconLeftClasses(){return[this.computedClass("iconLeftClass","o-input__icon-left")]},iconRightClasses(){return[this.computedClass("iconRightClass","o-input__icon-right")]},counterClasses(){return[this.computedClass("counterClass","o-input__counter")]},computedValue:{get(){return this.newValue},set(A){this.newValue=A,this.$emit("update:modelValue",this.newValue),this.syncFilled(this.newValue),!this.isValid&&this.checkHtml5Validity()}},hasIconRight(){return this.passwordReveal||this.statusIcon&&this.statusVariantIcon||this.clearable&&this.newValue||this.iconRight},rightIcon(){return this.passwordReveal?this.passwordVisibleIcon:this.clearable&&this.newValue?"close-circle":this.iconRight?this.iconRight:this.statusVariantIcon},rightIconVariant(){return this.passwordReveal||this.iconRight?this.iconRightVariant||this.variant||null:this.statusVariant},hasMessage(){return!!this.statusMessage},passwordVisibleIcon(){return this.isPasswordVisible?"eye-off":"eye"},valueLength(){return typeof this.computedValue=="string"?this.computedValue.length:typeof this.computedValue=="number"?this.computedValue.toString().length:0},computedStyles(){return this.autosize?{resize:"none",height:this.height,overflow:"hidden"}:{}},$elementRef(){return this.type==="textarea"?"textarea":"input"}},watch:{modelValue:{immediate:!0,handler(A){this.newValue=A,this.syncFilled(this.newValue),this.autosize&&this.resize()}},type(A){this.newType=A}},methods:{togglePasswordVisibility(){this.isPasswordVisible=!this.isPasswordVisible,this.newType=this.isPasswordVisible?"text":"password",this.$nextTick(()=>{this.focus()})},iconClick(A,C){this.$emit(A,C),this.$nextTick(()=>{this.focus()})},rightIconClick(A){this.passwordReveal?this.togglePasswordVisibility():this.clearable?this.computedValue="":this.iconRightClickable&&this.iconClick("icon-right-click",A)},resize(){this.height="auto",this.$nextTick(()=>{const A=this.$refs.textarea.scrollHeight;this.height=A+"px"})}}});function Sb(A,C,e,n,t,i){const s=AA("o-icon");return h(),S("div",{class:A.rootClasses},[A.type!=="textarea"?(h(),S("input",lC({key:0},A.$attrs,{ref:"input",class:A.inputClasses,type:A.newType,autocomplete:A.newAutocomplete,maxlength:A.maxlength,value:A.computedValue,onInput:C[1]||(C[1]=o=>A.computedValue=o.target.value),onBlur:C[2]||(C[2]=(...o)=>A.onBlur(...o)),onFocus:C[3]||(C[3]=(...o)=>A.onFocus(...o))}),null,16,["type","autocomplete","maxlength","value"])):(h(),S("textarea",lC({key:1},A.$attrs,{ref:"textarea",class:A.inputClasses,maxlength:A.maxlength,value:A.computedValue,onInput:C[4]||(C[4]=o=>A.computedValue=o.target.value),onBlur:C[5]||(C[5]=(...o)=>A.onBlur(...o)),onFocus:C[6]||(C[6]=(...o)=>A.onFocus(...o)),style:A.computedStyles}),null,16,["maxlength","value"])),A.icon?k(s,{key:2,class:A.iconLeftClasses,clickable:A.iconClickable,icon:A.icon,pack:A.iconPack,size:A.size,onClick:C[7]||(C[7]=o=>A.iconClick("icon-click",o))},null,8,["class","clickable","icon","pack","size"]):L("v-if",!0),A.hasIconRight?k(s,{key:3,class:A.iconRightClasses,clickable:A.passwordReveal||A.clearable||A.iconRightClickable,icon:A.rightIcon,pack:A.iconPack,size:A.size,variant:A.rightIconVariant,both:"",onClick:A.rightIconClick},null,8,["class","clickable","icon","pack","size","variant","onClick"]):L("v-if",!0),A.maxlength&&A.hasCounter&&A.isFocused&&A.type!=="number"?(h(),S("small",{key:4,class:A.counterClasses},lA(A.valueLength)+" / "+lA(A.maxlength),3)):L("v-if",!0)],2)}xe.render=Sb;xe.__file="src/components/input/Input.vue";var fi=KA({name:"OAutocomplete",configField:"autocomplete",components:{[xe.name]:xe},mixins:[CC,jn],inheritAttrs:!1,emits:["update:modelValue","select","infinite-scroll","typing","focus","blur","icon-click","icon-right-click"],props:{modelValue:[Number,String],data:{type:Array,default:()=>[]},autocomplete:String,size:String,field:{type:String,default:"value"},keepFirst:Boolean,clearOnSelect:Boolean,openOnFocus:Boolean,customFormatter:Function,checkInfiniteScroll:Boolean,keepOpen:Boolean,clearable:Boolean,maxHeight:[String,Number],menuPosition:{type:String,default:"auto"},animation:{type:String,default:()=>U(q(),"autocomplete.animation","fade")},groupField:String,groupOptions:String,debounceTyping:Number,iconRight:String,iconRightClickable:Boolean,appendToBody:Boolean,confirmKeys:{type:Array,default:()=>["Tab","Enter"]},type:{type:String,default:"text"},menuTag:{type:String,default:()=>U(q(),"autocomplete.menuTag","div")},itemTag:{type:String,default:()=>U(q(),"autocomplete.itemTag","div")},selectOnClickOutside:Boolean,selectableHeader:Boolean,selectableFooter:Boolean,rootClass:[String,Function,Array],menuClass:[String,Function,Array],expandedClass:[String,Function,Array],menuPositionClass:[String,Function,Array],itemClass:[String,Function,Array],itemHoverClass:[String,Function,Array],itemGroupTitleClass:[String,Function,Array],itemEmptyClass:[String,Function,Array],itemHeaderClass:[String,Function,Array],itemFooterClass:[String,Function,Array],inputClasses:{type:Object,default:()=>U(q(),"autocomplete.inputClasses",{})}},data(){return{selected:null,hovered:null,headerHovered:null,footerHovered:null,isActive:!1,newValue:this.modelValue,ariaAutocomplete:this.keepFirst?"both":"list",newAutocomplete:this.autocomplete||"off",isListInViewportVertically:!0,hasFocus:!1,itemRefs:[],width:void 0,bodyEl:void 0}},computed:{rootClasses(){return[this.computedClass("rootClass","o-acp"),{[this.computedClass("expandedClass","o-acp--expanded")]:this.expanded}]},menuClasses(){return[this.computedClass("menuClass","o-acp__menu"),{[this.computedClass("menuPositionClass","o-acp__menu--",this.newDropdownPosition)]:!this.appendToBody}]},itemClasses(){return[this.computedClass("itemClass","o-acp__item")]},itemEmptyClasses(){return[...this.itemClasses,this.computedClass("itemEmptyClass","o-acp__item--empty")]},itemGroupClasses(){return[...this.itemClasses,this.computedClass("itemGroupTitleClass","o-acp__item-group-title")]},itemHeaderClasses(){return[...this.itemClasses,this.computedClass("itemHeaderClass","o-acp__item-header"),{[this.computedClass("itemHoverClass","o-acp__item--hover")]:this.headerHovered}]},itemFooterClasses(){return[...this.itemClasses,this.computedClass("itemFooterClass","o-acp__item-footer"),{[this.computedClass("itemHoverClass","o-acp__item--hover")]:this.footerHovered}]},inputBind(){return{...this.$attrs,...this.inputClasses}},computedData(){if(this.groupField)if(this.groupOptions){const A=[];return this.data.forEach(C=>{const e=U(C,this.groupField),n=U(C,this.groupOptions);A.push({group:e,items:n})}),A}else{const A={};this.data.forEach(e=>{const n=U(e,this.groupField);A[n]||(A[n]=[]),A[n].push(e)});const C=[];return Object.keys(this.data).forEach(e=>{C.push({group:e,items:this.data[e]})}),C}return[{items:this.data}]},isEmpty(){return this.computedData?!this.computedData.some(A=>A.items&&A.items.length):!0},whiteList(){const A=[];if(A.push(this.$refs.input.$el.querySelector("input")),A.push(this.$refs.dropdown),this.$refs.dropdown!==void 0){const C=this.$refs.dropdown.querySelectorAll("*");for(const e of C)A.push(e)}return A},newDropdownPosition(){return this.menuPosition==="top"||this.menuPosition==="auto"&&!this.isListInViewportVertically?"top":"bottom"},newIconRight(){return this.clearable&&this.newValue?"close-circle":this.iconRight},newIconRightClickable(){return this.clearable?!0:this.iconRightClickable},menuStyle(){return{maxHeight:Wn(this.maxHeight)}},$elementRef(){return"input"}},watch:{modelValue(A){this.newValue=A},isActive(A){this.menuPosition==="auto"&&(A?this.calcDropdownInViewportVertical():setTimeout(()=>{this.calcDropdownInViewportVertical()},100))},newValue(A){this.$emit("update:modelValue",A);const C=this.getValue(this.selected);C&&C!==A&&this.setSelected(null,!1),this.hasFocus&&(!this.openOnFocus||A)&&(this.isActive=!!A)},data(){if(this.keepFirst)this.$nextTick(()=>{this.isActive?this.selectFirstOption(this.computedData):this.setHovered(null)});else if(this.hovered){const A=this.getValue(this.hovered);this.computedData.map(e=>e.items).reduce((e,n)=>[...e,...n],[]).some(e=>this.getValue(e)===A)||this.setHovered(null)}},debounceTyping:{handler(A){this.debouncedEmitTyping=C1(this.emitTyping,A)},immediate:!0}},methods:{itemOptionClasses(A){return[...this.itemClasses,{[this.computedClass("itemHoverClass","o-acp__item--hover")]:A===this.hovered}]},setHovered(A){A!==void 0&&(this.hovered=A)},setSelected(A,C=!0,e=void 0){if(A!==void 0){if(this.selected=A,this.$emit("select",this.selected,e),this.selected!==null){if(this.clearOnSelect){const n=this.$refs.input;n.newValue="",n.$refs.input.value=""}else this.newValue=this.getValue(this.selected);this.setHovered(null)}C&&this.$nextTick(()=>{this.isActive=!1}),this.checkValidity()}},selectFirstOption(A){this.$nextTick(()=>{const C=A.filter(e=>e.items&&e.items.length);if(C.length){const e=C[0].items[0];this.setHovered(e)}else this.setHovered(null)})},keydown(A){const{key:C}=A;if(C==="Enter"&&A.preventDefault(),(C==="Escape"||C==="Tab")&&(this.isActive=!1),this.confirmKeys.indexOf(C)>=0){C===","&&A.preventDefault();const e=!this.keepOpen||C==="Tab";if(this.hovered===null){this.checkIfHeaderOrFooterSelected(A,null,e);return}this.setSelected(this.hovered,e,A)}},selectHeaderOrFoterByClick(A,C){this.checkIfHeaderOrFooterSelected(A,{origin:C})},checkIfHeaderOrFooterSelected(A,C,e=!0){this.selectableHeader&&(this.headerHovered||C&&C.origin==="header")&&(this.$emit("select-header",A),this.headerHovered=!1,C&&this.setHovered(null),e&&(this.isActive=!1)),this.selectableFooter&&(this.footerHovered||C&&C.origin==="header")&&(this.$emit("select-footer",A),this.footerHovered=!1,C&&this.setHovered(null),e&&(this.isActive=!1))},clickedOutside(A){!this.hasFocus&&this.whiteList.indexOf(A.target)<0&&(this.keepFirst&&this.hovered&&this.selectOnClickOutside?this.setSelected(this.hovered,!0):this.isActive=!1)},getValue(A){if(A!==null)return typeof this.customFormatter<"u"?this.customFormatter(A):typeof A=="object"?U(A,this.field):A},checkIfReachedTheEndOfScroll(){const A=this.$refs.dropdown,C=this.$slots.footer?this.$refs.footer.clientHeight:0;A.clientHeight!==A.scrollHeight&&A.scrollTop+A.clientHeight+C>=A.scrollHeight&&this.$emit("infinite-scroll")},calcDropdownInViewportVertical(){this.$nextTick(()=>{if(!this.$refs.dropdown)return;const A=this.$refs.dropdown.getBoundingClientRect();this.isListInViewportVertically=A.top>=0&&A.bottom<=(window.innerHeight||document.documentElement.clientHeight),this.appendToBody&&this.updateAppendToBody()})},keyArrows(A){const C=A==="down"?1:-1;if(this.isActive){const e=this.computedData.map(a=>a.items).reduce((a,r)=>[...a,...r],[]);this.$slots.header&&this.selectableHeader&&e.unshift(void 0),this.$slots.footer&&this.selectableFooter&&e.push(void 0);let n;this.headerHovered?n=0+C:this.footerHovered?n=e.length-1+C:n=e.indexOf(this.hovered)+C,n=n>e.length-1?e.length-1:n,n=n<0?0:n,this.footerHovered=!1,this.headerHovered=!1,this.setHovered(e[n]!==void 0?e[n]:null),this.$slots.footer&&this.selectableFooter&&n===e.length-1&&(this.footerHovered=!0),this.$slots.header&&this.selectableHeader&&n===0&&(this.headerHovered=!0);const t=this.$refs.dropdown;let i=this.itemRefs||[];this.$slots.header&&this.selectableHeader&&(i=[this.$refs.header,...i]),this.$slots.footer&&this.selectableFooter&&(i=[...i,this.$refs.footer]);const s=i[n];if(!s)return;const o=t.scrollTop,l=t.scrollTop+t.clientHeight-s.clientHeight;s.offsetTop=l&&(t.scrollTop=s.offsetTop-t.clientHeight+s.clientHeight)}else this.isActive=!0},focused(A){this.getValue(this.selected)===this.newValue&&this.$el.querySelector("input").select(),this.openOnFocus&&(this.isActive=!0,this.keepFirst&&this.selectFirstOption(this.computedData)),this.hasFocus=!0,this.$emit("focus",A)},onBlur(A){this.hasFocus=!1,this.$emit("blur",A)},onInput(){const A=this.getValue(this.selected);A&&A===this.newValue||(this.debounceTyping?this.debouncedEmitTyping():this.emitTyping())},emitTyping(){this.$emit("typing",this.newValue),this.checkValidity()},rightIconClick(A){this.clearable?(this.newValue="",this.setSelected(null,!1),this.openOnFocus&&this.$refs.input.$el.focus()):this.$emit("icon-right-click",A)},checkValidity(){this.useHtml5Validation&&this.$nextTick(()=>{this.checkHtml5Validity()})},setItemRef(A){A&&this.itemRefs.push(A)},updateAppendToBody(){const A=this.$refs.dropdown,C=this.$refs.input.$el;if(A&&C){const e=this.$data.bodyEl;e.classList.forEach(s=>e.classList.remove(...s.split(" "))),this.rootClasses.forEach(s=>{s&&(typeof s=="object"?Object.keys(s).filter(o=>o&&s[o]).forEach(o=>e.classList.add(o)):e.classList.add(...s.split(" ")))});const n=C.getBoundingClientRect();let t=n.top+window.scrollY;const i=n.left+window.scrollX;this.newDropdownPosition!=="top"?t+=C.clientHeight:t-=A.clientHeight,A.style.position="absolute",A.style.top=`${t}px`,A.style.left=`${i}px`,A.style.width=`${C.clientWidth}px`,A.style.maxWidth=`${C.clientWidth}px`,A.style.zIndex="9999"}}},created(){typeof window<"u"&&(document.addEventListener("click",this.clickedOutside),this.menuPosition==="auto"&&window.addEventListener("resize",this.calcDropdownInViewportVertical))},mounted(){const A=this.$refs.dropdown;this.checkInfiniteScroll&&A&&A.addEventListener("scroll",this.checkIfReachedTheEndOfScroll),this.appendToBody&&(this.$data.bodyEl=br(A),this.updateAppendToBody())},beforeUpdate(){this.width=this.$refs.input?this.$refs.input.$el.clientWidth:void 0,this.itemRefs=[]},beforeUnmount(){typeof window<"u"&&(document.removeEventListener("click",this.clickedOutside),this.menuPosition==="auto"&&window.removeEventListener("resize",this.calcDropdownInViewportVertical)),this.checkInfiniteScroll&&this.$refs.dropdown&&this.$refs.dropdown.removeEventListener("scroll",this.checkIfReachedTheEndOfScroll),this.appendToBody&&et(this.$data.bodyEl)}});const kb={key:1},xb={key:1};function _b(A,C,e,n,t,i){const s=AA("o-input");return h(),S("div",{class:A.rootClasses},[k(s,lC(A.inputBind,{modelValue:A.newValue,"onUpdate:modelValue":[C[1]||(C[1]=o=>A.newValue=o),A.onInput],ref:"input",type:A.type,size:A.size,rounded:A.rounded,icon:A.icon,"icon-right":A.newIconRight,"icon-right-clickable":A.newIconRightClickable,"icon-pack":A.iconPack,maxlength:A.maxlength,autocomplete:A.newAutocomplete,"use-html5-validation":!1,"aria-autocomplete":A.ariaAutocomplete,expanded:A.expanded,onFocus:A.focused,onBlur:A.onBlur,onKeydown:[A.keydown,C[2]||(C[2]=mC(MA(o=>A.keyArrows("up"),["prevent"]),["up"])),C[3]||(C[3]=mC(MA(o=>A.keyArrows("down"),["prevent"]),["down"]))],"onIcon-right-click":A.rightIconClick,"onIcon-click":C[4]||(C[4]=o=>A.$emit("icon-click",o))}),null,16,["modelValue","type","size","rounded","icon","icon-right","icon-right-clickable","icon-pack","maxlength","autocomplete","aria-autocomplete","expanded","onUpdate:modelValue","onFocus","onBlur","onKeydown","onIcon-right-click"]),k(he,{name:A.animation},{default:SA(()=>[HA(k("div",{class:A.menuClasses,is:A.menuTag,style:A.menuStyle,ref:"dropdown"},[A.$slots.header?(h(),S("div",{key:0,is:A.itemTag,ref:"header",role:"button",tabindex:0,onClick:C[5]||(C[5]=o=>A.selectHeaderOrFoterByClick(o,"header")),class:A.itemHeaderClasses},[fA(A.$slots,"header")],10,["is"])):L("v-if",!0),(h(!0),S(gA,null,JA(A.computedData,(o,l)=>(h(),S(gA,null,[o.group?(h(),S("div",{is:A.itemTag,key:l+"group",class:A.itemGroupClasses},[A.$slots.group?fA(A.$slots,"group",{key:0,group:o.group,index:l}):(h(),S("span",kb,lA(o.group),1))],10,["is"])):L("v-if",!0),(h(!0),S(gA,null,JA(o.items,(a,r)=>(h(),S("div",{key:l+":"+r,is:A.itemTag,class:A.itemOptionClasses(a),onClick:MA(p=>A.setSelected(a,!A.keepOpen,p),["stop"]),ref:A.setItemRef},[A.$slots.default?fA(A.$slots,"default",{key:0,option:a,index:r}):(h(),S("span",xb,lA(A.getValue(a)),1))],10,["is","onClick"]))),128))],64))),256)),A.isEmpty&&A.$slots.empty?(h(),S("div",{key:1,is:A.itemTag,class:A.itemEmptyClasses},[fA(A.$slots,"empty")],10,["is"])):L("v-if",!0),A.$slots.footer?(h(),S("div",{key:2,is:A.itemTag,ref:"footer",role:"button",tabindex:0,onClick:C[6]||(C[6]=o=>A.selectHeaderOrFoterByClick(o,"footer")),class:A.itemFooterClasses},[fA(A.$slots,"footer")],10,["is"])):L("v-if",!0)],14,["is"]),[[fC,A.isActive&&(!A.isEmpty||A.$slots.empty||A.$slots.header||A.$slots.footer)]])]),_:1},8,["name"])],2)}fi.render=_b;fi.__file="src/components/autocomplete/Autocomplete.vue";var jb={install(A){eC(A,fi)}};const Ib=jb;var en=KA({name:"OButton",components:{[dC.name]:dC},configField:"button",mixins:[CC],inheritAttrs:!1,props:{variant:String,size:String,label:String,iconPack:String,iconLeft:String,iconRight:String,rounded:{type:Boolean,default:()=>U(q(),"button.rounded",!1)},outlined:Boolean,expanded:Boolean,inverted:Boolean,nativeType:{type:String,default:"button",validator:A=>["button","submit","reset"].indexOf(A)>=0},tag:{type:String,default:"button"},disabled:Boolean,iconBoth:Boolean,elementsWrapperClass:[String,Function,Array],rootClass:[String,Function,Array],outlinedClass:[String,Function,Array],invertedClass:[String,Function,Array],expandedClass:[String,Function,Array],roundedClass:[String,Function,Array],disabledClass:[String,Function,Array],iconClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-btn"),{[this.computedClass("sizeClass","o-btn--",this.size)]:this.size},{[this.computedClass("variantClass","o-btn--",this.variant)]:this.variant},{[this.computedClass("outlinedClass","o-btn--outlined")]:this.outlined&&!this.variant},{[this.computedClass("invertedClass","o-btn--inverted")]:this.inverted&&!this.variant},{[this.computedClass("outlinedClass","o-btn--outlined-",this.variant)]:this.outlined&&this.variant},{[this.computedClass("invertedClass","o-btn--inverted-",this.variant)]:this.inverted&&this.variant},{[this.computedClass("expandedClass","o-btn--expanded")]:this.expanded},{[this.computedClass("roundedClass","o-btn--rounded")]:this.rounded},{[this.computedClass("disabledClass","o-btn--disabled")]:this.disabled}]},labelClasses(){return[this.computedClass("labelClass","o-btn__label")]},iconClasses(){return[this.computedClass("iconClass","o-btn__icon")]},iconLeftClasses(){return[...this.iconClasses,this.computedClass("iconLeftClass","o-btn__icon-left")]},iconRightClasses(){return[...this.iconClasses,this.computedClass("iconRightClass","o-btn__icon-right")]},elementsWrapperClasses(){return[this.computedClass("elementsWrapperClass","o-btn__wrapper")]},computedTag(){return typeof this.disabled<"u"&&this.disabled!==!1?"button":this.tag},computedNativeType(){return this.tag==="button"||this.tag==="input"?this.nativeType:null},computedDisabled(){return this.disabled?!0:null}}});function Mb(A,C,e,n,t,i){const s=AA("o-icon");return h(),S(_n(A.computedTag),lC(A.$attrs,{disabled:A.computedDisabled,type:A.computedNativeType,class:A.rootClasses}),{default:SA(()=>[k("span",{class:A.elementsWrapperClasses},[A.iconLeft?k(s,{key:0,pack:A.iconPack,icon:A.iconLeft,size:A.size,both:A.iconBoth,class:A.iconLeftClasses},null,8,["pack","icon","size","both","class"]):L("v-if",!0),A.label||A.$slots.default?(h(),S("span",{key:1,class:A.labelClasses},[fA(A.$slots,"default",{},()=>[cC(lA(A.label),1)])],2)):L("v-if",!0),A.iconRight?k(s,{key:2,pack:A.iconPack,icon:A.iconRight,size:A.size,both:A.iconBoth,class:A.iconRightClasses},null,8,["pack","icon","size","both","class"]):L("v-if",!0)],2)]),_:1},16,["disabled","type","class"])}en.render=Mb;en.__file="src/components/button/Button.vue";var Db={install(A){eC(A,en)}};const Pb=Db,Ob=1,i1=3,s1=i1;var o1=(A,C=0)=>{const e=KA({provide(){return{["o"+A]:this}}});return Js(C,Ob)&&(e.data=function(){return{childItems:[],sequence:1}},e.methods={_registerItem(n){n.index=this.childItems.length,this.childItems.push(n),this.$el&&this.$nextTick(()=>{const t=this.childItems.map(s=>`[data-id="${A}-${s.newValue}"]`).join(","),i=Array.from(this.$el.querySelectorAll(t)).map(s=>s.getAttribute("data-id").replace(`${A}-`,""));this.childItems.forEach(s=>s.index=i.indexOf(`${s.newValue}`))})},_unregisterItem(n){this.childItems=this.childItems.filter(t=>t!==n)},_nextSequence(){return this.sequence++}},Js(C,i1)&&(e.computed={sortedItems(){return this.childItems.slice().sort((n,t)=>n.index-t.index)}})),e};const l1=1,Lb=2,a1=l1;var r1=(A,C=0)=>{const e=KA({inject:{parent:{from:"o"+A}},created(){if(this.newValue=mb(this.value,this.parent&&this.parent._nextSequence()),this.parent)this.parent._registerItem(this);else if(!Js(C,Lb))throw new Error("You should wrap "+this.$options.name+" in a "+A)},beforeUnmount(){this.parent&&this.parent._unregisterItem(this)}});return Js(C,l1)&&(e.data=()=>({index:null})),e},yr=KA({name:"OCarousel",components:{[dC.name]:dC},configField:"carousel",mixins:[o1("carousel",s1),CC],emits:["update:modelValue","scroll","click"],props:{modelValue:{type:Number,default:0},interval:{type:Number,default:()=>U(q(),"carousel.interval",3500)},hasDrag:{type:Boolean,default:!0},autoplay:{type:Boolean,default:!1},pauseHover:{type:Boolean,default:!1},repeat:{type:Boolean,default:!1},indicator:{type:Boolean,default:!0},indicatorInside:{type:Boolean,default:!1},indicatorMode:{type:String,default:"click"},indicatorPosition:{type:String,default:"bottom"},indicatorStyle:{type:String,default:"dots"},overlay:Boolean,itemsToShow:{type:Number,default:1},itemsToList:{type:Number,default:1},asIndicator:Boolean,arrow:{type:Boolean,default:!0},arrowHover:{type:Boolean,default:!0},iconPack:String,iconSize:String,iconPrev:{type:String,default:()=>U(q(),"carousel.iconPrev","chevron-left")},iconNext:{type:String,default:()=>U(q(),"carousel.iconNext","chevron-right")},breakpoints:{type:Object,default:()=>({})},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],sceneClass:[String,Function,Array],itemsClass:[String,Function,Array],itemsDraggingClass:[String,Function,Array],arrowIconClass:[String,Function,Array],arrowIconPrevClass:[String,Function,Array],arrowIconNextClass:[String,Function,Array],indicatorsClass:[String,Function,Array],indicatorsInsideClass:[String,Function,Array],indicatorsInsidePositionClass:[String,Function,Array],indicatorItemClass:[String,Function,Array],indicatorItemActiveClass:[String,Function,Array],indicatorItemStyleClass:[String,Function,Array]},data(){return{activeIndex:this.modelValue,scrollIndex:this.modelValue,delta:0,dragX:!1,hold:0,windowWidth:0,touch:!1,observer:null,refresh_:0,itemsHovered:!1,isPause:!1,timer:null}},computed:{rootClasses(){return[this.computedClass("rootClass","o-car"),{[this.computedClass("overlayClass","o-car__overlay")]:this.overlay}]},sceneClasses(){return[this.computedClass("sceneClass","o-car__scene")]},itemsClasses(){return[this.computedClass("itemsClass","o-car__items"),{[this.computedClass("itemsDraggingClass","o-car__items--dragging")]:this.dragging}]},arrowIconClasses(){return[this.computedClass("arrowIconClass","o-car__arrow__icon")]},arrowIconPrevClasses(){return[...this.arrowIconClasses,this.computedClass("arrowIconPrevClass","o-car__arrow__icon-prev")]},arrowIconNextClasses(){return[...this.arrowIconClasses,this.computedClass("arrowIconNextClass","o-car__arrow__icon-next")]},indicatorsClasses(){return[this.computedClass("indicatorsClass","o-car__indicators"),{[this.computedClass("indicatorsInsideClass","o-car__indicators--inside")]:this.indicatorInside},{[this.computedClass("indicatorsInsidePositionClass","o-car__indicators--inside--",this.indicatorPosition)]:this.indicatorInside&&this.indicatorPosition}]},indicatorClasses(){return[this.computedClass("indicatorClass","o-car__indicator")]},dragging(){return this.dragX!==!1},itemStyle(){return`width: ${this.itemWidth}px;`},translation(){return-pu(this.delta+this.scrollIndex*this.itemWidth,0,(this.childItems.length-this.settings.itemsToShow)*this.itemWidth)},total(){return this.childItems.length-this.settings.itemsToShow},indicatorCount(){return Math.ceil(this.total/this.settings.itemsToList)+1},indicatorIndex(){return Math.ceil(this.scrollIndex/this.settings.itemsToList)},hasArrows(){return this.settings.arrowHover&&this.itemsHovered||!this.settings.arrowHover},hasPrev(){return(this.settings.repeat||this.scrollIndex>0)&&this.hasArrows},hasNext(){return(this.settings.repeat||this.scrollIndexe-C)},settings(){let A=this.breakpointKeys.filter(C=>{if(this.windowWidth>=C)return!0})[0];return A?{...this.$props,...this.breakpoints[A]}:this.$props},itemWidth(){return this.windowWidth?(this.refresh_,this.$el.getBoundingClientRect().width/this.settings.itemsToShow):0}},watch:{modelValue(A){A<=this.childItems.length-1&&(this.activeIndex=A,this.switchTo(A*this.settings.itemsToList,!0))},autoplay(A){A?this.startTimer():this.pauseTimer()},repeat(A){A&&this.startTimer()}},methods:{indicatorItemClasses(A){return[this.computedClass("indicatorItemClass","o-car__indicator__item"),{[this.computedClass("indicatorItemActiveClass","o-car__indicator__item--active")]:this.indicatorIndex===A},{[this.computedClass("indicatorItemStyleClass","o-car__indicator__item--",this.indicatorStyle)]:this.indicatorStyle}]},onMouseEnter(){this.itemsHovered=!0,this.checkPause()},onMouseLeave(){this.itemsHovered=!1,this.startTimer()},startTimer(){!this.autoplay||this.timer||(this.isPause=!1,this.timer=setInterval(()=>{!this.repeat&&this.activeIndex>=this.childItems.length-1?this.pauseTimer():this.next()},this.interval))},pauseTimer(){this.isPause=!0,this.timer&&(clearInterval(this.timer),this.timer=null)},restartTimer(){this.pauseTimer(),this.startTimer()},checkPause(){this.pauseHover&&this.autoplay&&this.pauseTimer()},modeChange(A,C){if(this.indicatorMode===A)return this.switchTo(C*this.settings.itemsToList)},resized(){this.windowWidth=window.innerWidth},switchTo(A,C=this.asIndicator){this.settings.repeat&&(A=Ss(A,this.total+1)),A=pu(A,0,this.total),this.scrollIndex=A,this.$emit("scroll",this.indicatorIndex),C||(this.activeIndex=Math.ceil(A/this.settings.itemsToList),this.modelValue!==this.activeIndex&&this.$emit("update:modelValue",this.activeIndex))},next(){this.switchTo(this.scrollIndex+this.settings.itemsToList)},prev(){this.switchTo(this.scrollIndex-this.settings.itemsToList)},dragStart(A){this.dragging||!this.settings.hasDrag||A.button!==0&&A.type!=="touchstart"||(this.hold=Date.now(),this.touch=!!A.touches,this.dragX=this.touch?A.touches[0].clientX:A.clientX,this.touch&&this.pauseTimer(),window.addEventListener(this.touch?"touchmove":"mousemove",this.dragMove),window.addEventListener(this.touch?"touchend":"mouseup",this.dragEnd))},dragMove(A){if(!this.dragging)return;const C=A.touches?(A.changedTouches[0]||A.touches[0]).clientX:A.clientX;this.delta=this.dragX-C,A.touches||A.preventDefault()},dragEnd(A){if(!(!this.dragging&&!this.hold)){if(this.hold){const C=rb(this.delta),e=Math.round(Math.abs(this.delta/this.itemWidth)+.15);this.switchTo(this.scrollIndex+C*e)}this.delta=0,this.dragX=!1,A&&A.touches&&this.startTimer(),window.removeEventListener(this.touch?"touchmove":"mousemove",this.dragMove),window.removeEventListener(this.touch?"touchend":"mouseup",this.dragEnd)}},refresh(){this.$nextTick(()=>{this.refresh_++})}},mounted(){if(typeof window<"u"&&(window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.refresh),this.observer.observe(this.$el)),window.addEventListener("resize",this.resized),document.addEventListener("animationend",this.refresh),document.addEventListener("transitionend",this.refresh),document.addEventListener("transitionstart",this.refresh),this.resized(),this.startTimer()),this.$attrs.config)throw new Error("The config prop was removed, you need to use v-bind instead")},beforeUnmount(){typeof window<"u"&&(window.ResizeObserver&&this.observer.disconnect(),window.removeEventListener("resize",this.resized),document.removeEventListener("animationend",this.refresh),document.removeEventListener("transitionend",this.refresh),document.removeEventListener("transitionstart",this.refresh),this.dragEnd(),this.pauseTimer())}});function Kb(A,C,e,n,t,i){const s=AA("o-icon");return h(),S("div",{class:A.rootClasses,onMouseenter:C[3]||(C[3]=(...o)=>A.onMouseEnter(...o)),onMouseleave:C[4]||(C[4]=(...o)=>A.onMouseLeave(...o))},[k("div",{class:A.sceneClasses},[k("div",{onMousedown:C[1]||(C[1]=(...o)=>A.dragStart(...o)),onTouchstart:C[2]||(C[2]=(...o)=>A.dragStart(...o)),class:A.itemsClasses,style:"transform:translateX("+A.translation+"px)"},[fA(A.$slots,"default")],38),fA(A.$slots,"arrow",{hasPrev:A.hasPrev,prev:A.prev,hasNext:A.hasNext,next:A.next},()=>[A.arrow?(h(),S(gA,{key:0},[HA(k(s,{class:A.arrowIconPrevClasses,onClick:A.prev,pack:A.iconPack,icon:A.iconPrev,size:A.iconSize,both:""},null,8,["class","onClick","pack","icon","size"]),[[fC,A.hasPrev]]),HA(k(s,{class:A.arrowIconNextClasses,onClick:A.next,pack:A.iconPack,icon:A.iconNext,size:A.iconSize,both:""},null,8,["class","onClick","pack","icon","size"]),[[fC,A.hasNext]])],64)):L("v-if",!0)])],2),fA(A.$slots,"indicators",{active:A.activeIndex,switchTo:A.switchTo,indicatorIndex:A.indicatorIndex},()=>[A.childItems.length?(h(),S(gA,{key:0},[A.indicator&&!A.asIndicator?(h(),S("div",{key:0,class:A.indicatorsClasses},[(h(!0),S(gA,null,JA(A.indicatorCount,(o,l)=>(h(),S("a",{class:A.indicatorClasses,onMouseover:a=>A.modeChange("hover",l),onClick:a=>A.modeChange("click",l),key:l},[fA(A.$slots,"indicator",{i:l},()=>[k("span",{class:A.indicatorItemClasses(l)},null,2)])],42,["onMouseover","onClick"]))),128))],2)):L("v-if",!0)],64)):L("v-if",!0)]),A.overlay?fA(A.$slots,"overlay",{key:0}):L("v-if",!0)],34)}yr.render=Kb;yr.__file="src/components/carousel/Carousel.vue";var vr=KA({name:"OCarouselItem",configField:"carousel",mixins:[r1("carousel",a1),CC],props:{itemClass:[String,Function,Array],itemActiveClass:[String,Function,Array]},computed:{itemClasses(){return[this.computedClass("itemClass","o-car__item"),{[this.computedClass("itemActiveClass","o-car__item--active")]:this.isActive}]},itemStyle(){return`width: ${this.parent.itemWidth}px;`},isActive(){return this.parent.activeIndex===this.index}},methods:{onClick(A){this.isActive&&this.parent.$emit("click",A),this.parent.asIndicator&&(this.parent.activeIndex=this.index,this.parent.$emit("update:modelValue",this.index))}}});function Tb(A,C,e,n,t,i){return h(),S("div",{class:A.itemClasses,onClick:C[1]||(C[1]=(...s)=>A.onClick(...s)),style:A.itemStyle},[fA(A.$slots,"default")],6)}vr.render=Tb;vr.__file="src/components/carousel/CarouselItem.vue";var Fb={install(A){eC(A,yr),eC(A,vr)}};const Nb=Fb;var c1=KA({emits:["update:modelValue"],props:{modelValue:[String,Number,Boolean,Array],nativeValue:[String,Number,Boolean,Array],variant:String,disabled:Boolean,required:Boolean,name:String,size:String},data(){return{newValue:this.modelValue}},computed:{computedValue:{get(){return this.newValue},set(A){this.newValue=A,this.$emit("update:modelValue",this.newValue)}}},watch:{modelValue(A){this.newValue=A}},methods:{focus(){this.$refs.input.focus()}}}),hi=KA({name:"OCheckbox",mixins:[CC,c1],configField:"checkbox",emits:["input"],props:{indeterminate:{type:Boolean,default:!1},trueValue:{type:[String,Number,Boolean],default:!0},falseValue:{type:[String,Number,Boolean],default:!1},ariaLabelledby:String,autocomplete:String,rootClass:[String,Function,Array],disabledClass:[String,Function,Array],checkClass:[String,Function,Array],checkCheckedClass:[String,Function,Array],checkIndeterminateClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},watch:{indeterminate:{handler(A){this.isIndeterminate=A},immediate:!0}},computed:{isChecked(){return this.computedValue===this.trueValue||Array.isArray(this.computedValue)&&this.computedValue.indexOf(this.nativeValue)!==-1},rootClasses(){return[this.computedClass("rootClass","o-chk"),{[this.computedClass("checkedClass","o-chk--checked")]:this.isChecked},{[this.computedClass("sizeClass","o-chk--",this.size)]:this.size},{[this.computedClass("disabledClass","o-chk--disabled")]:this.disabled},{[this.computedClass("variantClass","o-chk--",this.variant)]:this.variant}]},checkClasses(){return[this.computedClass("checkClass","o-chk__check"),{[this.computedClass("checkCheckedClass","o-chk__check--checked")]:this.isChecked},{[this.computedClass("checkIndeterminateClass","o-chk__check--indeterminate")]:this.isIndeterminate}]},labelClasses(){return[this.computedClass("labelClass","o-chk__label")]}}});function $b(A,C,e,n,t,i){return h(),S("label",{class:A.rootClasses,ref:"label",onClick:C[3]||(C[3]=MA((...s)=>A.focus(...s),["stop"])),onKeydown:C[4]||(C[4]=mC(MA(s=>A.$refs.label.click(),["prevent"]),["enter"]))},[HA(k("input",lC({"onUpdate:modelValue":C[1]||(C[1]=s=>A.computedValue=s),type:"checkbox"},A.$attrs,{ref:"input",onClick:C[2]||(C[2]=MA(()=>{},["stop"])),class:A.checkClasses,disabled:A.disabled,required:A.required,name:A.name,autocomplete:A.autocomplete,value:A.nativeValue,indeterminate:A.indeterminate,"true-value":A.trueValue,"false-value":A.falseValue,"aria-labelledby":A.ariaLabelledby}),null,16,["disabled","required","name","autocomplete","value","indeterminate","true-value","false-value","aria-labelledby"]),[[dr,A.computedValue]]),k("span",{id:A.ariaLabelledby,class:A.labelClasses},[fA(A.$slots,"default")],10,["id"])],34)}hi.render=$b;hi.__file="src/components/checkbox/Checkbox.vue";var Rb={install(A){eC(A,hi)}};const Gb=Rb;var u1=KA({name:"OCollapse",mixins:[CC],configField:"collapse",emits:["update:open","open","close"],props:{open:{type:Boolean,default:!0},animation:{type:String,default:()=>U(q(),"collapse.animation","fade")},ariaId:{type:String,default:""},position:{type:String,default:"top",validator:A=>["top","bottom"].indexOf(A)>-1},rootClass:[String,Function,Array],triggerClass:[String,Function,Array],contentClass:[String,Function,Array]},data(){return{isOpen:this.open}},watch:{open(A){this.isOpen=A}},methods:{toggle(){this.isOpen=!this.isOpen,this.$emit("update:open",this.isOpen),this.$emit(this.isOpen?"open":"close")}},render(){const A=WC("div",{class:this.computedClass("triggerClass","o-clps__trigger"),onClick:this.toggle},this.$slots.trigger({open:this.isOpen})),C=WC(he,{name:this.animation},()=>HA(WC("div",{class:this.computedClass("contentClass","o-clps__content"),id:this.ariaId},this.$slots.default()),[[fC,this.isOpen]]));return WC("div",{class:this.computedClass("rootClass","o-clps")},this.position==="top"?[A,C]:[C,A])}});u1.__file="src/components/collapse/Collapse.vue";var Ub={install(A){eC(A,u1)}};const Hb=Ub;var ln=KA({props:{mobileBreakpoint:String},data(){return{matchMediaRef:void 0,isMatchMedia:void 0}},methods:{onMatchMedia(A){this.isMatchMedia=A.matches}},created(){if(typeof window<"u"){let A=this.mobileBreakpoint;if(!A){const C=q(),e=U(C,"mobileBreakpoint","1023px");A=U(C,`${this.$options.configField}.mobileBreakpoint`,e)}this.matchMediaRef=window.matchMedia(`(max-width: ${A})`),this.matchMediaRef?(this.isMatchMedia=this.matchMediaRef.matches,this.matchMediaRef.addListener(this.onMatchMedia,!1)):this.isMatchMedia=!1}},beforeUnmount(){typeof window<"u"&&this.matchMediaRef&&this.matchMediaRef.removeListener(this.checkMatchMedia)}});const ts=(A,C=!1)=>A?C?A.querySelectorAll('*[tabindex="-1"]'):A.querySelectorAll(`a[href]:not([tabindex="-1"]), + area[href], + input:not([disabled]), + select:not([disabled]), + textarea:not([disabled]), + button:not([disabled]), + iframe, + object, + embed, + *[tabindex]:not([tabindex="-1"]), + *[contenteditable]`):null;let ia;const Qb=(A,{value:C=!0})=>{if(C){let e=ts(A),n=ts(A,!0);e&&e.length>0&&(ia=t=>{e=ts(A),n=ts(A,!0);const i=e[0],s=e[e.length-1];t.target===i&&t.shiftKey&&t.key==="Tab"?(t.preventDefault(),s.focus()):(t.target===s||Array.from(n).indexOf(t.target)>=0)&&!t.shiftKey&&t.key==="Tab"&&(t.preventDefault(),i.focus())},A.addEventListener("keydown",ia))}},Vb=A=>{A.removeEventListener("keydown",ia)},m1={beforeMount:Qb,beforeUnmount:Vb};var Yn=KA({name:"ODropdown",directives:{trapFocus:m1},configField:"dropdown",mixins:[CC,ln],provide(){return{$dropdown:this}},emits:["update:modelValue","active-change","change"],props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:null},disabled:Boolean,inline:Boolean,scrollable:Boolean,maxHeight:{type:[String,Number],default:()=>U(q(),"dropdown.maxHeight",200)},position:{type:String,validator:A=>["top-right","top-left","bottom-left","bottom-right"].indexOf(A)>-1},mobileModal:{type:Boolean,default:()=>U(q(),"dropdown.mobileModal",!0)},ariaRole:{type:String,validator:A=>["menu","list","dialog"].indexOf(A)>-1,default:null},animation:{type:String,default:()=>U(q(),"dropdown.animation","fade")},multiple:Boolean,trapFocus:{type:Boolean,default:()=>U(q(),"dropdown.trapFocus",!0)},closeOnClick:{type:Boolean,default:!0},canClose:{type:[Array,Boolean],default:!0},expanded:Boolean,triggers:{type:Array,default:()=>["click"]},menuTag:{type:String,default:()=>U(q(),"dropdown.menuTag","div")},triggerTabindex:{type:Number,default:0},appendToBody:Boolean,appendToBodyCopyParent:Boolean,rootClass:[String,Function,Array],triggerClass:[String,Function,Array],inlineClass:[String,Function,Array],menuMobileOverlayClass:[String,Function,Array],menuClass:[String,Function,Array],menuPositionClass:[String,Function,Array],menuActiveClass:[String,Function,Array],mobileClass:[String,Function,Array],disabledClass:[String,Function,Array],expandedClass:[String,Function,Array]},data(){return{selected:this.modelValue,isActive:!1,isHoverable:!1,bodyEl:void 0}},computed:{rootClasses(){return[this.computedClass("rootClass","o-drop"),{[this.computedClass("disabledClass","o-drop--disabled")]:this.disabled},{[this.computedClass("expandedClass","o-drop--expanded")]:this.expanded},{[this.computedClass("inlineClass","o-drop--inline")]:this.inline},{[this.computedClass("mobileClass","o-drop--mobile")]:this.isMobileModal&&this.isMatchMedia&&!this.hoverable}]},triggerClasses(){return[this.computedClass("triggerClass","o-drop__trigger")]},menuMobileOverlayClasses(){return[this.computedClass("menuMobileOverlayClass","o-drop__overlay")]},menuClasses(){return[this.computedClass("menuClass","o-drop__menu"),{[this.computedClass("menuPositionClass","o-drop__menu--",this.position)]:this.position},{[this.computedClass("menuActiveClass","o-drop__menu--active")]:this.isActive||this.inline}]},isMobileModal(){return this.mobileModal&&!this.inline},cancelOptions(){return typeof this.canClose=="boolean"?this.canClose?["escape","outside"]:[]:this.canClose},menuStyle(){return{maxHeight:this.scrollable?Wn(this.maxHeight):null,overflow:this.scrollable?"auto":null}},hoverable(){return this.triggers.indexOf("hover")>=0}},watch:{modelValue(A){this.selected=A},isActive(A){this.$emit("active-change",A),this.appendToBody&&this.$nextTick(()=>{this.updateAppendToBody()})}},methods:{selectItem(A){this.multiple?(this.selected?this.selected.indexOf(A)===-1?this.selected=[...this.selected,A]:this.selected=this.selected.filter(C=>C!==A):this.selected=[A],this.$emit("change",this.selected)):this.selected!==A&&(this.selected=A,this.$emit("change",this.selected)),this.$emit("update:modelValue",this.selected),this.multiple||(this.isActive=!this.closeOnClick,this.hoverable&&this.closeOnClick&&(this.isHoverable=!1))},isInWhiteList(A){if(A===this.$refs.dropdownMenu||A===this.$refs.trigger)return!0;if(this.$refs.dropdownMenu!==void 0){const C=this.$refs.dropdownMenu.querySelectorAll("*");for(const e of C)if(A===e)return!0}if(this.$refs.trigger!==void 0){const C=this.$refs.trigger.querySelectorAll("*");for(const e of C)if(A===e)return!0}return!1},clickedOutside(A){this.cancelOptions.indexOf("outside")<0||this.inline||this.isInWhiteList(A.target)||(this.isActive=!1)},keyPress({key:A}){if(this.isActive&&(A==="Escape"||A==="Esc")){if(this.cancelOptions.indexOf("escape")<0)return;this.isActive=!1}},onClick(){this.triggers.indexOf("click")<0||this.toggle()},onContextMenu(){this.triggers.indexOf("contextmenu")<0||this.toggle()},onHover(){this.triggers.indexOf("hover")<0||(this.isHoverable=!0)},onFocus(){this.triggers.indexOf("focus")<0||this.toggle()},toggle(){this.disabled||(this.isActive?this.isActive=!this.isActive:this.$nextTick(()=>{const A=!this.isActive;this.isActive=A,setTimeout(()=>this.isActive=A)}))},updateAppendToBody(){const A=this.$refs.dropdownMenu,C=this.$refs.trigger;if(A&&C){const e=this.$data.bodyEl.children[0];if(e.classList.forEach(s=>e.classList.remove(...s.split(" "))),this.rootClasses.forEach(s=>{s&&(typeof s=="object"?Object.keys(s).filter(o=>o&&s[o]).forEach(o=>e.classList.add(o)):e.classList.add(...s.split(" ")))}),this.appendToBodyCopyParent){const s=this.$refs.dropdown.parentNode,o=this.$data.bodyEl;o.classList.forEach(l=>o.classList.remove(...l.split(" "))),s.classList.forEach(l=>o.classList.add(...l.split(" ")))}const n=C.getBoundingClientRect();let t=n.top+window.scrollY,i=n.left+window.scrollX;!this.position||this.position.indexOf("bottom")>=0?t+=C.clientHeight:t-=A.clientHeight,this.position&&this.position.indexOf("left")>=0&&(i-=A.clientWidth-C.clientWidth),A.style.position="absolute",A.style.top=`${t}px`,A.style.left=`${i}px`,A.style.zIndex="9999"}}},mounted(){this.appendToBody&&(this.$data.bodyEl=br(this.$refs.dropdownMenu),this.updateAppendToBody())},created(){typeof window<"u"&&(document.addEventListener("click",this.clickedOutside),document.addEventListener("keyup",this.keyPress))},beforeUnmount(){typeof window<"u"&&(document.removeEventListener("click",this.clickedOutside),document.removeEventListener("keyup",this.keyPress)),this.appendToBody&&et(this.$data.bodyEl)}});function zb(A,C,e,n,t,i){const s=lp("trap-focus");return h(),S("div",{ref:"dropdown",class:A.rootClasses,onMouseleave:C[5]||(C[5]=o=>A.isHoverable=!1)},[A.inline?L("v-if",!0):(h(),S("div",{key:0,tabindex:A.disabled?null:A.triggerTabindex,ref:"trigger",class:A.triggerClasses,onClick:C[1]||(C[1]=(...o)=>A.onClick(...o)),onContextmenu:C[2]||(C[2]=MA((...o)=>A.onContextMenu(...o),["prevent"])),onMouseenter:C[3]||(C[3]=(...o)=>A.onHover(...o)),onFocusCapture:C[4]||(C[4]=(...o)=>A.onFocus(...o)),"aria-haspopup":"true"},[fA(A.$slots,"trigger",{active:A.isActive})],42,["tabindex"])),k(he,{name:A.animation},{default:SA(()=>[A.isMobileModal?HA((h(),S("div",{key:0,class:A.menuMobileOverlayClasses,"aria-hidden":!A.isActive},null,10,["aria-hidden"])),[[fC,A.isActive]]):L("v-if",!0)]),_:1},8,["name"]),k(he,{name:A.animation},{default:SA(()=>[HA(k("div",{ref:"dropdownMenu",is:A.menuTag,class:A.menuClasses,"aria-hidden":!A.isActive,role:A.ariaRole,"aria-modal":!A.inline,style:A.menuStyle},[fA(A.$slots,"default")],14,["is","aria-hidden","role","aria-modal"]),[[fC,!A.disabled&&(A.isActive||A.isHoverable)||A.inline],[s,A.trapFocus]])]),_:3},8,["name"])],34)}Yn.render=zb;Yn.__file="src/components/dropdown/Dropdown.vue";var Jn=KA({name:"ODropdownItem",mixins:[CC],configField:"dropdown",inject:["$dropdown"],emits:["click"],props:{value:{type:[String,Number,Boolean,Object,Array]},disabled:Boolean,clickable:{type:Boolean,default:!0},tag:{type:String,default:()=>U(q(),"dropdown.itemTag","div")},tabindex:{type:[Number,String],default:0},ariaRole:{type:String,default:""},itemClass:[String,Function,Array],itemActiveClass:[String,Function,Array],itemDisabledClass:[String,Function,Array]},computed:{parent(){return this.$dropdown},rootClasses(){return[this.computedClass("itemClass","o-drop__item"),{[this.computedClass("itemDisabledClass","o-drop__item--disabled")]:this.parent.disabled||this.disabled},{[this.computedClass("itemActiveClass","o-drop__item--active")]:this.isActive}]},ariaRoleItem(){return this.ariaRole==="menuitem"||this.ariaRole==="listitem"?this.ariaRole:null},isClickable(){return!this.parent.disabled&&!this.disabled&&this.clickable},isActive(){return this.parent.selected===null?!1:this.parent.multiple?this.parent.selected.indexOf(this.value)>=0:this.value===this.parent.selected}},methods:{selectItem(){this.isClickable&&(this.parent.selectItem(this.value),this.$emit("click"))}},created(){if(!this.parent)throw new Error("You should wrap oDropdownItem on a oDropdown")}});function qb(A,C,e,n,t,i){return h(),S(_n(A.tag),{class:A.rootClasses,onClick:A.selectItem,role:A.ariaRoleItem,tabindex:A.tabindex},{default:SA(()=>[fA(A.$slots,"default")]),_:3},8,["class","onClick","role","tabindex"])}Jn.render=qb;Jn.__file="src/components/dropdown/DropdownItem.vue";var sa=KA({name:"OFieldBody",inject:["$field"],configField:"field",computed:{parent(){return this.$field}},render(){let A=!0;const C=this.$slots.default(),e=C.length===1&&Array.isArray(C[0].children)?C[0].children:C;return WC("div",{class:this.parent.bodyHorizontalClasses},e.map(n=>{let t;return n.type===UC||n.type===$i?n:(A&&(t=this.parent.newMessage,A=!1),WC(AA("OField"),{variant:this.parent.newVariant,message:t},()=>[n]))}))}});sa.__file="src/components/field/FieldBody.vue";var Xn=KA({name:"OField",components:{[sa.name]:sa},configField:"field",mixins:[CC,ln],provide(){return{$field:this}},inject:{$field:{from:"$field",default:!1}},props:{variant:String,label:String,labelFor:String,message:String,grouped:Boolean,groupMultiline:Boolean,horizontal:Boolean,addons:{type:Boolean,default:!0},labelSize:String,rootClass:[String,Function,Array],horizontalClass:[String,Function,Array],groupedClass:[String,Function,Array],groupMultilineClass:[String,Function,Array],labelClass:[String,Function,Array],labelSizeClass:[String,Function,Array],labelHorizontalClass:[String,Function,Array],bodyClass:[String,Function,Array],bodyHorizontalClass:[String,Function,Array],addonsClass:[String,Function,Array],messageClass:[String,Function,Array],variantMessageClass:[String,Function,Array],variantLabelClass:[String,Function,Array],mobileClass:[String,Function,Array],focusedClass:[String,Function,Array],filledClass:[String,Function,Array]},data(){return{newVariant:this.variant,newMessage:this.message,isFocused:!1,isFilled:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-field"),{[this.computedClass("horizontalClass","o-field--horizontal")]:this.horizontal},{[this.computedClass("mobileClass","o-field--mobile")]:this.isMatchMedia},{[this.computedClass("focusedClass","o-field--focused")]:this.isFocused},{[this.computedClass("filledClass","o-field--filled")]:this.isFilled}]},messageClasses(){return[this.computedClass("messageClass","o-field__message"),{[this.computedClass("variantMessageClass","o-field__message-",this.newVariant)]:this.newVariant}]},labelClasses(){return[this.computedClass("labelClass","o-field__label"),{[this.computedClass("labelSizeClass","o-field__label-",this.labelSize)]:this.labelSize},{[this.computedClass("variantLabelClass","o-field__label-",this.newVariant)]:this.newVariant}]},labelHorizontalClasses(){return[this.computedClass("labelHorizontalClass","o-field__horizontal-label")]},bodyClasses(){return[this.computedClass("bodyClass","o-field__body")]},bodyHorizontalClasses(){return[this.computedClass("bodyHorizontalClass","o-field__horizontal-body")]},innerFieldClasses(){return[this.computedClass("rootClass","o-field"),{[this.computedClass("groupMultilineClass","o-field--grouped-multiline")]:this.groupMultiline},{[this.computedClass("groupedClass","o-field--grouped")]:this.grouped},{[this.computedClass("addonsClass","o-field--addons")]:!this.grouped&&this.hasAddons()}]},parent(){return this.$field},hasLabelSlot(){return this.$slots.label},hasMessageSlot(){return this.$slots.message},hasLabel(){return this.label||this.hasLabelSlot},hasMessage(){return(!this.parent||!this.parent.hasInnerField)&&this.newMessage||this.hasMessageSlot},hasInnerField(){return this.grouped||this.groupMultiline||this.hasAddons()}},watch:{variant(A){this.newVariant=A},message(A){this.newMessage=A},newMessage(A){this.parent&&this.parent.hasInnerField&&(this.parent.variant||(this.parent.newVariant=this.newVariant),this.parent.message||(this.parent.newMessage=A))}},methods:{hasAddons(){let A=0;const C=this.$slots.default();return C&&(A=(C.length===1&&Array.isArray(C[0].children)?C[0].children:C).reduce((n,t)=>t?n+1:n,0)),A>1&&this.addons&&!this.horizontal}}});function Wb(A,C,e,n,t,i){const s=AA("o-field-body");return h(),S("div",{class:A.rootClasses},[A.horizontal?(h(),S("div",{key:0,class:A.labelHorizontalClasses},[A.hasLabel?(h(),S("label",{key:0,for:A.labelFor,class:A.labelClasses},[A.hasLabelSlot?fA(A.$slots,"label",{key:0}):(h(),S(gA,{key:1},[cC(lA(A.label),1)],64))],10,["for"])):L("v-if",!0)],2)):(h(),S(gA,{key:1},[A.hasLabel?(h(),S("label",{key:0,for:A.labelFor,class:A.labelClasses},[A.hasLabelSlot?fA(A.$slots,"label",{key:0}):(h(),S(gA,{key:1},[cC(lA(A.label),1)],64))],10,["for"])):L("v-if",!0)],64)),A.horizontal?k(s,{key:2},{default:SA(()=>[fA(A.$slots,"default")]),_:3}):A.hasInnerField?(h(),S("div",{key:3,class:A.bodyClasses},[k("div",{class:A.innerFieldClasses},[fA(A.$slots,"default")],2)],2)):fA(A.$slots,"default",{key:4}),A.hasMessage&&!A.horizontal?(h(),S("p",{key:5,class:A.messageClasses},[A.hasMessageSlot?fA(A.$slots,"message",{key:0}):(h(),S(gA,{key:1},[cC(lA(A.newMessage),1)],64))],2)):L("v-if",!0)],2)}Xn.render=Wb;Xn.__file="src/components/field/Field.vue";var nn=KA({name:"OSelect",components:{[dC.name]:dC},mixins:[CC,jn],configField:"select",inheritAttrs:!1,emits:["update:modelValue","focus","blur"],props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:null},size:String,variant:String,iconPack:{type:String,default:()=>U(q(),"select.iconPack",void 0)},iconRight:{type:String,default:()=>U(q(),"select.iconRight",void 0)},placeholder:String,multiple:Boolean,nativeSize:[String,Number],rootClass:[String,Function,Array],selectClass:[String,Function,Array],iconLeftSpaceClass:[String,Function,Array],iconRightSpaceClass:[String,Function,Array],roundedClass:[String,Function,Array],multipleClass:[String,Function,Array],expandedClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array],placeholderClass:[String,Function,Array],arrowClass:[String,Function,Array]},data(){return{selected:this.modelValue}},computed:{rootClasses(){return[this.computedClass("rootClass","o-ctrl-sel"),{[this.computedClass("expandedClass","o-ctrl-sel--expanded")]:this.expanded}]},selectClasses(){return[this.computedClass("selectClass","o-sel"),{[this.computedClass("roundedClass","o-sel--rounded")]:this.rounded},{[this.computedClass("multipleClass","o-sel--multiple")]:this.multiple},{[this.computedClass("sizeClass","o-sel--",this.size)]:this.size},{[this.computedClass("variantClass","o-sel--",this.statusVariant||this.variant)]:this.statusVariant||this.variant},{[this.computedClass("iconLeftSpaceClass","o-sel-iconspace-left")]:this.icon},{[this.computedClass("iconRightSpaceClass","o-sel-iconspace-right")]:this.iconRight},{[this.computedClass("placeholderClass","o-sel--placeholder")]:this.placeholderVisible},{[this.computedClass("arrowClass","o-sel-arrow")]:!this.iconRight&&!this.multiple}]},iconLeftClasses(){return[this.computedClass("iconLeftClass","o-sel__icon-left")]},iconRightClasses(){return[this.computedClass("iconRightClass","o-sel__icon-right")]},placeholderVisible(){return this.computedValue===null},computedValue:{get(){return this.selected},set(A){this.selected=A,this.$emit("update:modelValue",A),this.syncFilled(this.selected),!this.isValid&&this.checkHtml5Validity()}},$elementRef(){return"select"}},watch:{modelValue(A){this.selected=A,this.syncFilled(this.selected),!this.isValid&&this.checkHtml5Validity()}}});const Yb={key:0,value:null,disabled:"",hidden:""};function Jb(A,C,e,n,t,i){const s=AA("o-icon");return h(),S("div",{class:A.rootClasses},[HA(k("select",lC(A.$attrs,{"onUpdate:modelValue":C[1]||(C[1]=o=>A.computedValue=o),class:A.selectClasses,ref:"select",autocomplete:A.autocomplete,multiple:A.multiple,size:A.nativeSize,onBlur:C[2]||(C[2]=(...o)=>A.onBlur(...o)),onFocus:C[3]||(C[3]=(...o)=>A.onFocus(...o))}),[A.placeholder?(h(),S(gA,{key:0},[A.placeholderVisible?(h(),S("option",Yb,lA(A.placeholder),1)):L("v-if",!0)],64)):L("v-if",!0),fA(A.$slots,"default")],16,["autocomplete","multiple","size"]),[[pr,A.computedValue]]),A.icon?k(s,{key:0,class:A.iconLeftClasses,icon:A.icon,pack:A.iconPack,size:A.size},null,8,["class","icon","pack","size"]):L("v-if",!0),A.iconRight&&!A.multiple?k(s,{key:1,class:A.iconRightClasses,icon:A.iconRight,pack:A.iconPack,size:A.size},null,8,["class","icon","pack","size"]):L("v-if",!0)],2)}nn.render=Jb;nn.__file="src/components/select/Select.vue";var Xs=KA({name:"ODatepickerTableRow",mixins:[CC],configField:"datepicker",inject:{$datepicker:{from:"$datepicker",default:!1}},emits:["select","rangeHoverEndDate","change-focus"],props:{selectedDate:{type:[Date,Array]},hoveredDateRange:Array,day:{type:Number},week:{type:Array,required:!0},month:{type:Number,required:!0},showWeekNumber:Boolean,minDate:Date,maxDate:Date,disabled:Boolean,unselectableDates:Array,unselectableDaysOfWeek:Array,selectableDates:Array,events:Array,indicators:String,dateCreator:Function,nearbyMonthDays:Boolean,nearbySelectableMonthDays:Boolean,weekNumberClickable:Boolean,range:Boolean,multiple:Boolean,rulesForFirstWeek:Number,firstDayOfWeek:Number,tableRowClass:[String,Function,Array],tableCellClass:[String,Function,Array],tableCellSelectedClass:[String,Function,Array],tableCellFirstSelectedClass:[String,Function,Array],tableCellWithinSelectedClass:[String,Function,Array],tableCellLastSelectedClass:[String,Function,Array],tableCellFirstHoveredClass:[String,Function,Array],tableCellInvisibleClass:[String,Function,Array],tableCellWithinHoveredClass:[String,Function,Array],tableCellLastHoveredClass:[String,Function,Array],tableCellTodayClass:[String,Function,Array],tableCellSelectableClass:[String,Function,Array],tableCellUnselectableClass:[String,Function,Array],tableCellNearbyClass:[String,Function,Array],tableCellEventsClass:[String,Function,Array],tableEventClass:[String,Function,Array],tableEventIndicatorsClass:[String,Function,Array],tableEventsClass:[String,Function,Array],tableEventVariantClass:[String,Function,Array]},computed:{tableRowClasses(){return[this.computedClass("tableRowClass","o-dpck__table__row")]},tableCellClasses(){return[this.computedClass("tableCellClass","o-dpck__table__cell")]},tableEventsClasses(){return[this.computedClass("tableEventsClass","o-dpck__table__events")]},hasEvents(){return this.events&&this.events.length}},watch:{day(A){const C=`day-${this.month}-${A}`;this.$nextTick(()=>{this.$refs[C]&&this.$refs[C].length>0&&this.$refs[C][0]&&this.$refs[C][0].focus()})}},methods:{firstWeekOffset(A,C,e){const n=7+C-e;return-((7+new Date(A,0,n).getDay()-C)%7)+n-1},daysInYear(A){return this.isLeapYear(A)?366:365},isLeapYear(A){return A%4===0&&A%100!==0||A%400===0},getSetDayOfYear(A){return Math.round((A.getTime()-new Date(A.getFullYear(),0,1).getTime())/864e5)+1},weeksInYear(A,C,e){const n=this.firstWeekOffset(A,C,e),t=this.firstWeekOffset(A+1,C,e);return(this.daysInYear(A)-n+t)/7},getWeekNumber(A){const C=this.firstDayOfWeek,e=this.rulesForFirstWeek,n=this.firstWeekOffset(A.getFullYear(),C,e),t=Math.floor((this.getSetDayOfYear(A)-n-1)/7)+1;let i,s;return t<1?(s=A.getFullYear()-1,i=t+this.weeksInYear(s,C,e)):t>this.weeksInYear(A.getFullYear(),C,e)?(i=t-this.weeksInYear(A.getFullYear(),C,e),s=A.getFullYear()+1):(s=A.getFullYear(),i=t),i},clickWeekNumber(A){this.weekNumberClickable&&this.$datepicker.$emit("week-number-click",A)},selectableDate(A){const C=[];if(this.minDate&&C.push(A>=this.minDate),this.maxDate&&C.push(A<=this.maxDate),this.nearbyMonthDays&&!this.nearbySelectableMonthDays&&C.push(A.getMonth()===this.month),this.selectableDates)for(let e=0;en.getDate()===s.getDate()&&n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()):n.getDate()===t.getDate()&&n.getFullYear()===t.getFullYear()&&n.getMonth()===t.getMonth()}function e(n,t,i=!1){return!Array.isArray(t)||i?!1:n>t[0]&&nthis.minDate)&&(!this.maxDate||eA.clickWeekNumber(A.getWeekNumber(A.week[6])),["prevent"]))},[k("span",null,lA(A.getWeekNumber(A.week[6])),1)],6)):L("v-if",!0),(h(!0),S(gA,null,JA(A.week,(s,o)=>(h(),S(gA,{key:o},[A.selectableDate(s)&&!A.disabled?(h(),S("a",{key:0,ref:`day-${s.getMonth()}-${s.getDate()}`,class:A.cellClasses(s),role:"button",href:"#",disabled:A.disabled,onClick:MA(l=>A.emitChosenDate(s),["prevent"]),onMouseenter:l=>A.setRangeHoverEndDate(s),onKeydown:l=>A.manageKeydown(l,s),tabindex:A.day===s.getDate()&&A.month===s.getMonth()?null:-1},[k("span",null,lA(s.getDate()),1),A.eventsDateMatch(s)?(h(),S("div",{key:0,class:A.tableEventsClasses},[(h(!0),S(gA,null,JA(A.eventsDateMatch(s),(l,a)=>(h(),S("div",{class:A.eventClasses(l),key:a},null,2))),128))],2)):L("v-if",!0)],42,["disabled","onClick","onMouseenter","onKeydown","tabindex"])):(h(),S("div",{key:o,class:A.cellClasses(s)},[k("span",null,lA(s.getDate()),1)],2))],64))),128))],2)}Xs.render=Xb;Xs.__file="src/components/datepicker/DatepickerTableRow.vue";var Zs=KA({name:"ODatepickerTable",mixins:[CC],configField:"datepicker",components:{[Xs.name]:Xs},emits:["update:modelValue","range-start","range-end","update:focused"],props:{modelValue:{type:[Date,Array]},dayNames:Array,monthNames:Array,firstDayOfWeek:Number,events:Array,indicators:String,minDate:Date,maxDate:Date,focused:Object,disabled:Boolean,dateCreator:Function,unselectableDates:Array,unselectableDaysOfWeek:Array,selectableDates:Array,nearbyMonthDays:Boolean,nearbySelectableMonthDays:Boolean,showWeekNumber:Boolean,weekNumberClickable:Boolean,rulesForFirstWeek:Number,range:Boolean,multiple:Boolean,tableClass:[String,Function,Array],tableHeadClass:[String,Function,Array],tableHeadCellClass:[String,Function,Array],tableBodyClass:[String,Function,Array],tableRowClass:[String,Function,Array],tableCellClass:[String,Function,Array],tableCellSelectedClass:[String,Function,Array],tableCellFirstSelectedClass:[String,Function,Array],tableCellInvisibleClass:[String,Function,Array],tableCellWithinSelectedClass:[String,Function,Array],tableCellLastSelectedClass:[String,Function,Array],tableCellFirstHoveredClass:[String,Function,Array],tableCellWithinHoveredClass:[String,Function,Array],tableCellLastHoveredClass:[String,Function,Array],tableCellTodayClass:[String,Function,Array],tableCellSelectableClass:[String,Function,Array],tableCellUnselectableClass:[String,Function,Array],tableCellNearbyClass:[String,Function,Array],tableCellEventsClass:[String,Function,Array],tableEventClass:[String,Function,Array],tableEventIndicatorsClass:[String,Function,Array],tableEventsClass:[String,Function,Array],tableEventVariantClass:[String,Function,Array]},data(){return{selectedBeginDate:void 0,selectedEndDate:void 0,hoveredEndDate:void 0}},computed:{tableClasses(){return[this.computedClass("tableClass","o-dpck__table")]},tableHeadClasses(){return[this.computedClass("tableHeadClass","o-dpck__table__head")]},tableHeadCellClasses(){return[this.computedClass("tableHeadCellClass","o-dpck__table__head-cell"),...this.tableCellClasses]},tableBodyClasses(){return[this.computedClass("tableBodyClass","o-dpck__table__body")]},tableCellClasses(){return[this.computedClass("tableCellClass","o-dpck__table__cell")]},visibleDayNames(){const A=[];let C=this.firstDayOfWeek;for(;A.lengthA!==void 0):[this.selectedBeginDate,this.hoveredEndDate].filter(A=>A!==void 0):[]:[]}},methods:{updateSelectedDate(A){!this.range&&!this.multiple?this.$emit("update:modelValue",A):this.range?this.handleSelectRangeDate(A):this.multiple&&this.handleSelectMultipleDates(A)},handleSelectRangeDate(A){this.selectedBeginDate&&this.selectedEndDate?(this.selectedBeginDate=A,this.selectedEndDate=void 0,this.$emit("range-start",A)):this.selectedBeginDate&&!this.selectedEndDate?(this.selectedBeginDate>A?(this.selectedEndDate=this.selectedBeginDate,this.selectedBeginDate=A):this.selectedEndDate=A,this.$emit("range-end",A),this.$emit("update:modelValue",[this.selectedBeginDate,this.selectedEndDate])):(this.selectedBeginDate=A,this.$emit("range-start",A))},handleSelectMultipleDates(A){let C=this.modelValue;C.filter(n=>n.getDate()===A.getDate()&&n.getFullYear()===A.getFullYear()&&n.getMonth()===A.getMonth()).length?C=C.filter(n=>n.getDate()!==A.getDate()||n.getFullYear()!==A.getFullYear()||n.getMonth()!==A.getMonth()):C=[...C,A],this.$emit("update:modelValue",C)},weekBuilder(A,C,e){const n=new Date(e,C),t=[],i=new Date(e,C,A).getDay(),s=i>=this.firstDayOfWeek?i-this.firstDayOfWeek:7-this.firstDayOfWeek+i;let o=1;for(let a=0;a=this.minDate),this.maxDate&&C.push(A<=this.maxDate),this.nearbyMonthDays&&!this.nearbySelectableMonthDays&&C.push(A.getMonth()===this.focused.month),this.selectableDates)for(let e=0;e{const e=new Date(Date.parse(C.date));e.setHours(0,0,0,0);const n=e.getTime();return A.some(t=>t.getTime()===n)})},setRangeHoverEndDate(A){this.hoveredEndDate=A},changeFocus(A){const C={day:A.getDate(),month:A.getMonth(),year:A.getFullYear()};this.$emit("update:focused",C)}}});function Zb(A,C,e,n,t,i){const s=AA("o-datepicker-table-row");return h(),S("section",{class:A.tableClasses},[k("header",{class:A.tableHeadClasses},[(h(!0),S(gA,null,JA(A.visibleDayNames,(o,l)=>(h(),S("div",{key:l,class:A.tableHeadCellClasses},[k("span",null,lA(o),1)],2))),128))],2),k("div",{class:A.tableBodyClasses},[(h(!0),S(gA,null,JA(A.weeksInThisMonth,(o,l)=>(h(),S(s,{key:l,"selected-date":A.modelValue,day:A.focused.day,week:o,month:A.focused.month,"min-date":A.minDate,"max-date":A.maxDate,disabled:A.disabled,"unselectable-dates":A.unselectableDates,"unselectable-days-of-week":A.unselectableDaysOfWeek,"selectable-dates":A.selectableDates,events:A.eventsInThisWeek(o),indicators:A.indicators,"date-creator":A.dateCreator,"nearby-month-days":A.nearbyMonthDays,"nearby-selectable-month-days":A.nearbySelectableMonthDays,"show-week-number":A.showWeekNumber,"week-number-clickable":A.weekNumberClickable,"first-day-of-week":A.firstDayOfWeek,"rules-for-first-week":A.rulesForFirstWeek,range:A.range,"hovered-date-range":A.hoveredDateRange,multiple:A.multiple,"table-row-class":A.tableRowClass,"table-cell-class":A.tableCellClass,"table-cell-selected-class":A.tableCellSelectedClass,"table-cell-first-selected-class":A.tableCellFirstSelectedClass,"table-cell-invisible-class":A.tableCellInvisibleClass,"table-cell-within-selected-class":A.tableCellWithinSelectedClass,"table-cell-last-selected-class":A.tableCellLastSelectedClass,"table-cell-first-hovered-class":A.tableCellFirstHoveredClass,"table-cell-within-hovered-class":A.tableCellWithinHoveredClass,"table-cell-last-hovered-class":A.tableCellLastHoveredClass,"table-cell-today-class":A.tableCellTodayClass,"table-cell-selectable-class":A.tableCellSelectableClass,"table-cell-unselectable-class":A.tableCellUnselectableClass,"table-cell-nearby-class":A.tableCellNearbyClass,"table-cell-events-class":A.tableCellEventsClass,"table-events-class":A.tableEventsClass,"table-event-variant-class":A.tableEventVariantClass,"table-event-class":A.tableEventClass,"table-event-indicators-class":A.tableEventIndicatorsClass,onSelect:A.updateSelectedDate,onRangeHoverEndDate:A.setRangeHoverEndDate,"onChange-focus":A.changeFocus},null,8,["selected-date","day","week","month","min-date","max-date","disabled","unselectable-dates","unselectable-days-of-week","selectable-dates","events","indicators","date-creator","nearby-month-days","nearby-selectable-month-days","show-week-number","week-number-clickable","first-day-of-week","rules-for-first-week","range","hovered-date-range","multiple","table-row-class","table-cell-class","table-cell-selected-class","table-cell-first-selected-class","table-cell-invisible-class","table-cell-within-selected-class","table-cell-last-selected-class","table-cell-first-hovered-class","table-cell-within-hovered-class","table-cell-last-hovered-class","table-cell-today-class","table-cell-selectable-class","table-cell-unselectable-class","table-cell-nearby-class","table-cell-events-class","table-events-class","table-event-variant-class","table-event-class","table-event-indicators-class","onSelect","onRangeHoverEndDate","onChange-focus"]))),128))],2)],2)}Zs.render=Zb;Zs.__file="src/components/datepicker/DatepickerTable.vue";var A3={methods:{manageKeydown(A,C){const{key:e}=A;let n=!0;switch(e){case"Tab":{n=!1;break}case" ":case"Space":case"Spacebar":case"Enter":{this.emitChosenDate(C);break}case"ArrowLeft":case"Left":{this.changeFocus(C,-1);break}case"ArrowRight":case"Right":{this.changeFocus(C,1);break}case"ArrowUp":case"Up":{this.changeFocus(C,-7);break}case"ArrowDown":case"Down":{this.changeFocus(C,7);break}}n&&A.preventDefault()}}},Ao={name:"ODatepickerMonth",mixins:[CC,A3],configField:"datepicker",emits:["update:modelValue","range-start","range-end","updated:focused"],props:{modelValue:{type:[Date,Array]},monthNames:Array,events:Array,indicators:String,minDate:Date,maxDate:Date,focused:Object,disabled:Boolean,dateCreator:Function,unselectableDates:[Array,Function],unselectableDaysOfWeek:Array,selectableDates:[Array,Function],range:Boolean,multiple:Boolean,monthClass:[String,Function,Array],monthBodyClass:[String,Function,Array],monthTableClass:[String,Function,Array],monthCellClass:[String,Function,Array],monthCellSelectedClass:[String,Function,Array],monthCellFirstSelectedClass:[String,Function,Array],monthCellWithinSelectedClass:[String,Function,Array],monthCellLastSelectedClass:[String,Function,Array],monthCellWithinHoveredRangeClass:[String,Function,Array],monthCellFirstHoveredClass:[String,Function,Array],monthCellWithinHoveredClass:[String,Function,Array],monthCellLastHoveredClass:[String,Function,Array],monthCellTodayClass:[String,Function,Array],monthCellSelectableClass:[String,Function,Array],monthCellUnselectableClass:[String,Function,Array],monthCellEventsClass:[String,Function,Array]},data(){return{selectedBeginDate:void 0,selectedEndDate:void 0,hoveredEndDate:void 0,multipleSelectedDates:this.multiple&&this.modelValue?this.modelValue:[]}},computed:{monthClasses(){return[this.computedClass("monthClass","o-dpck__month")]},monthBodyClasses(){return[this.computedClass("monthBodyClass","o-dpck__month__body")]},monthTableClasses(){return[this.computedClass("monthTableClass","o-dpck__month__table")]},monthCellClasses(){return[this.computedClass("monthCellClass","o-dpck__month__cell")]},hasEvents(){return this.events&&this.events.length},eventsInThisYear(){if(!this.events)return[];const A=[];for(let C=0;C0&&this.$nextTick(()=>{this.$refs[C][0]&&this.$refs[C][0].focus()})}},methods:{selectMultipleDates(A){this.multipleSelectedDates.filter(e=>e.getDate()===A.getDate()&&e.getFullYear()===A.getFullYear()&&e.getMonth()===A.getMonth()).length?this.multipleSelectedDates=this.multipleSelectedDates.filter(e=>e.getDate()!==A.getDate()||e.getFullYear()!==A.getFullYear()||e.getMonth()!==A.getMonth()):this.multipleSelectedDates.push(A),this.$emit("update:modelValue",this.multipleSelectedDates)},selectableDate(A){const C=[];if(this.minDate&&C.push(A>=this.minDate),this.maxDate&&C.push(A<=this.maxDate),C.push(A.getFullYear()===this.focused.year),this.selectableDates)if(typeof this.selectableDates=="function"){if(this.selectableDates(A))return!0;C.push(!1)}else for(let e=0;et.getFullYear()===o.getFullYear()&&t.getMonth()===o.getMonth()):t.getFullYear()===i.getFullYear()&&t.getMonth()===i.getMonth()}function e(t,i,s=!1){return!Array.isArray(i)||s?!1:t>i[0]&&tt.getDate()===o.getDate()&&t.getFullYear()===o.getFullYear()&&t.getMonth()===o.getMonth())}return[...this.monthCellClasses,{[this.computedClass("monthCellSelectedClass","o-dpck__month__cell--selected")]:C(A,this.modelValue,this.multiple)||e(A,this.modelValue,this.multiple)||n(A,this.multipleSelectedDates,this.multiple)},{[this.computedClass("monthCellFirstSelectedClass","o-dpck__month__cell--first-selected")]:C(A,Array.isArray(this.modelValue)&&this.modelValue[0],this.multiple)},{[this.computedClass("monthCellWithinSelectedClass","o-dpck__month__cell--within-selected")]:e(A,this.modelValue,this.multiple)},{[this.computedClass("monthCellLastSelectedClass","o-dpck__month__cell--last-selected")]:C(A,Array.isArray(this.modelValue)&&this.modelValue[1],this.multiple)},{[this.computedClass("monthCellWithinHoveredRangeClass","o-dpck__month__cell--within-hovered-range")]:this.hoveredDateRange&&this.hoveredDateRange.length===2&&(C(A,this.hoveredDateRange)||e(A,this.hoveredDateRange))},{[this.computedClass("monthCellFirstHoveredClass","o-dpck__month__cell--first-hovered")]:C(A,Array.isArray(this.hoveredDateRange)&&this.hoveredDateRange[0])},{[this.computedClass("monthCellWithinHoveredClass","o-dpck__month__cell--within-hovered")]:e(A,this.hoveredDateRange)},{[this.computedClass("monthCellLastHoveredClass","o-dpck__month__cell--last-hovered")]:C(A,Array.isArray(this.hoveredDateRange)&&this.hoveredDateRange[1])},{[this.computedClass("monthCellTodayClass","o-dpck__month__cell--today")]:C(A,this.dateCreator())},{[this.computedClass("monthCellSelectableclass","o-dpck__month__cell--selectable")]:this.selectableDate(A)&&!this.disabled},{[this.computedClass("monthCellUnselectableClass","o-dpck__month__cell--unselectable")]:!this.selectableDate(A)||this.disabled},{[this.computedClass("monthCellEventsClass","o-dpck__month__cell--events")]:this.hasEvents}]},updateSelectedDate(A){!this.range&&!this.multiple?this.emitChosenDate(A):this.range?this.handleSelectRangeDate(A):this.multiple&&this.selectMultipleDates(A)},emitChosenDate(A){this.disabled||(this.multiple?this.selectMultipleDates(A):this.selectableDate(A)&&this.$emit("update:modelValue",A))},handleSelectRangeDate(A){this.disabled||(this.selectedBeginDate&&this.selectedEndDate?(this.selectedBeginDate=A,this.selectedEndDate=void 0,this.$emit("range-start",A)):this.selectedBeginDate&&!this.selectedEndDate?(this.selectedBeginDate>A?(this.selectedEndDate=this.selectedBeginDate,this.selectedBeginDate=A):this.selectedEndDate=A,this.$emit("range-end",A),this.$emit("update:modelValue",[this.selectedBeginDate,this.selectedEndDate])):(this.selectedBeginDate=A,this.$emit("range-start",A)))},setRangeHoverEndDate(A){this.range&&(this.hoveredEndDate=A)},changeFocus(A,C){const e=A;e.setMonth(A.getMonth()+C),this.$emit("update:focused",e)}}};const C3={key:0,class:"events"};function e3(A,C,e,n,t,i){return h(),S("section",{class:i.monthClasses},[k("div",{class:i.monthBodyClasses},[k("div",{class:i.monthTableClasses},[(h(!0),S(gA,null,JA(i.monthDates,(s,o)=>(h(),S(gA,{key:o},[i.selectableDate(s)&&!e.disabled?(h(),S("a",{key:0,ref:`month-${s.getMonth()}`,class:i.cellClasses(s),role:"button",href:"#",disabled:e.disabled,onClick:MA(l=>i.updateSelectedDate(s),["prevent"]),onMouseenter:l=>i.setRangeHoverEndDate(s),onKeydown:MA(l=>A.manageKeydown(l,s),["prevent"]),tabindex:e.focused.month===s.getMonth()?null:-1},[cC(lA(e.monthNames[s.getMonth()])+" ",1),i.eventsDateMatch(s)?(h(),S("div",C3,[(h(!0),S(gA,null,JA(i.eventsDateMatch(s),(l,a)=>(h(),S("div",{class:["event",l.type],key:a},null,2))),128))])):L("v-if",!0)],42,["disabled","onClick","onMouseenter","onKeydown","tabindex"])):(h(),S("div",{key:1,class:i.cellClasses(s)},lA(e.monthNames[s.getMonth()]),3))],64))),128))],2)],2)],2)}Ao.render=e3;Ao.__file="src/components/datepicker/DatepickerMonth.vue";const n3=(A,C)=>{const n=(Array.isArray(A)?A:[A]).map(t=>{const i=new Date(t.getFullYear(),t.getMonth(),t.getDate(),12);return C.isTypeMonth?C.dtfMonth.format(i):C.dtf.format(i)});return C.multiple?n.join(", "):n.join(" - ")},t3=(A,C)=>{if(C.dtf.formatToParts&&typeof C.dtf.formatToParts=="function"){const e=(C.isTypeMonth?C.dtfMonth:C.dtf).formatToParts(new Date(2e3,11,25)).map(t=>t.type==="literal"?t.value:`((?!=<${t.type}>)\\d+)`).join(""),n=Er(e,A);if(n.year&&n.year.length===4&&n.month&&n.month<=12){if(C.isTypeMonth)return new Date(n.year,n.month-1);if(n.day&&n.day<=31)return new Date(n.year,n.month-1,n.day,12)}}if(!C.isTypeMonth)return new Date(Date.parse(A));if(A){const e=A.split("/"),n=e[0].length===4?e[0]:e[1],t=e[0].length===2?e[0]:e[1];if(n&&t)return new Date(parseInt(n,10),parseInt(t,10)-1,1,0,0,0,0)}return null};var gi=KA({name:"ODatepicker",components:{[Zs.name]:Zs,[Ao.name]:Ao,[Xn.name]:Xn,[xe.name]:xe,[nn.name]:nn,[dC.name]:dC,[Yn.name]:Yn,[Jn.name]:Jn},configField:"datepicker",mixins:[CC,jn,ln],inheritAttrs:!1,provide(){return{$datepicker:this}},emits:["update:modelValue","focus","blur","change-month","change-year","range-start","range-end","active-change","icon-right-click"],props:{modelValue:{type:[Date,Array]},dayNames:{type:Array,default:()=>U(q(),"datepicker.dayNames",void 0)},monthNames:{type:Array,default:()=>U(q(),"datepicker.monthNames",void 0)},firstDayOfWeek:{type:Number,default:()=>U(q(),"datepicker.firstDayOfWeek",0)},size:String,inline:Boolean,minDate:Date,maxDate:Date,focusedDate:Date,placeholder:String,editable:Boolean,disabled:Boolean,unselectableDates:[Array,Function],unselectableDaysOfWeek:{type:Array,default:()=>U(q(),"datepicker.unselectableDaysOfWeek",void 0)},selectableDates:[Array,Function],dateFormatter:{type:Function,default:(A,C)=>{const e=U(q(),"datepicker.dateFormatter",void 0);return typeof e=="function"?e(A):n3(A,C)}},dateParser:{type:Function,default:(A,C)=>{const e=U(q(),"datepicker.dateParser",void 0);return typeof e=="function"?e(A):t3(A,C)}},dateCreator:{type:Function,default:()=>{const A=U(q(),"datepicker.dateCreator",void 0);return typeof A=="function"?A():new Date}},mobileNative:{type:Boolean,default:()=>U(q(),"datepicker.mobileNative",!0)},position:String,iconRight:String,iconRightClickable:Boolean,events:Array,indicators:{type:String,default:"dots"},openOnFocus:Boolean,iconPrev:{type:String,default:()=>U(q(),"datepicker.iconPrev","chevron-left")},iconNext:{type:String,default:()=>U(q(),"datepicker.iconNext","chevron-right")},yearsRange:{type:Array,default:()=>U(q(),"datepicker.yearsRange",[-100,10])},type:{type:String,validator:A=>["month"].indexOf(A)>=0},nearbyMonthDays:{type:Boolean,default:()=>U(q(),"datepicker.nearbyMonthDays",!0)},nearbySelectableMonthDays:{type:Boolean,default:()=>U(q(),"datepicker.nearbySelectableMonthDays",!1)},showWeekNumber:{type:Boolean,default:()=>U(q(),"datepicker.showWeekNumber",!1)},weekNumberClickable:{type:Boolean,default:()=>U(q(),"datepicker.weekNumberClickable",!1)},rulesForFirstWeek:{type:Number,default:()=>4},range:{type:Boolean,default:!1},closeOnClick:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},mobileModal:{type:Boolean,default:()=>U(q(),"datepicker.mobileModal",!0)},trapFocus:{type:Boolean,default:()=>U(q(),"datepicker.trapFocus",!0)},locale:{type:[String,Array],default:()=>U(q(),"locale")},appendToBody:Boolean,ariaNextLabel:String,ariaPreviousLabel:String,rootClass:[String,Function,Array],sizeClass:[String,Function,Array],boxClass:[String,Function,Array],headerClass:[String,Function,Array],headerButtonsClass:[String,Function,Array],headerButtonsSizeClass:[String,Function,Array],prevBtnClass:[String,Function,Array],nextBtnClass:[String,Function,Array],listsClass:[String,Function,Array],footerClass:[String,Function,Array],tableClass:[String,Function,Array],tableHeadClass:[String,Function,Array],tableHeadCellClass:[String,Function,Array],tableBodyClass:[String,Function,Array],tableRowClass:[String,Function,Array],tableCellClass:[String,Function,Array],tableCellSelectedClass:[String,Function,Array],tableCellFirstSelectedClass:[String,Function,Array],tableCellInvisibleClass:[String,Function,Array],tableCellWithinSelectedClass:[String,Function,Array],tableCellLastSelectedClass:[String,Function,Array],tableCellFirstHoveredClass:[String,Function,Array],tableCellWithinHoveredClass:[String,Function,Array],tableCellLastHoveredClass:[String,Function,Array],tableCellTodayClass:[String,Function,Array],tableCellSelectableClass:[String,Function,Array],tableCellUnselectableClass:[String,Function,Array],tableCellNearbyClass:[String,Function,Array],tableCellEventsClass:[String,Function,Array],tableEventsClass:[String,Function,Array],tableEventVariantClass:[String,Function,Array],tableEventClass:[String,Function,Array],tableEventIndicatorsClass:[String,Function,Array],mobileClass:[String,Function,Array],monthClass:[String,Function,Array],monthBodyClass:[String,Function,Array],monthTableClass:[String,Function,Array],monthCellClass:[String,Function,Array],monthCellSelectedClass:[String,Function,Array],monthCellFirstSelectedClass:[String,Function,Array],monthCellWithinSelectedClass:[String,Function,Array],monthCellLastSelectedClass:[String,Function,Array],monthCellWithinHoveredRangeClass:[String,Function,Array],monthCellFirstHoveredClass:[String,Function,Array],monthCellWithinHoveredClass:[String,Function,Array],monthCellLastHoveredClass:[String,Function,Array],monthCellTodayClass:[String,Function,Array],monthCellSelectableClass:[String,Function,Array],monthCellUnselectableClass:[String,Function,Array],monthCellEventsClass:[String,Function,Array],inputClasses:{type:Object,default:()=>U(q(),"datepicker.inputClasses",{})},dropdownClasses:{type:Object,default:()=>U(q(),"datepicker.dropdownClasses",{})},selectListClasses:Object},data(){const A=(Array.isArray(this.modelValue)?this.modelValue[0]:this.modelValue)||this.focusedDate||this.dateCreator();return!this.modelValue&&this.maxDate&&this.maxDate.getFullYear(){this.checkHtml5Validity()})}},formattedValue(){return this.formatValue(this.computedValue)},localeOptions(){return new Intl.DateTimeFormat(this.locale,{year:"numeric",month:"numeric"}).resolvedOptions()},dtf(){return new Intl.DateTimeFormat(this.locale)},dtfMonth(){return new Intl.DateTimeFormat(this.locale,{year:this.localeOptions.year||"numeric",month:this.localeOptions.month||"2-digit"})},newMonthNames(){return Array.isArray(this.monthNames)?this.monthNames:db(this.locale)},newDayNames(){return Array.isArray(this.dayNames)?this.dayNames:pb(this.locale)},listOfMonths(){let A=0,C=12;return this.minDate&&this.focusedDateData.year===this.minDate.getFullYear()&&(A=this.minDate.getMonth()),this.maxDate&&this.focusedDateData.year===this.maxDate.getFullYear()&&(C=this.maxDate.getMonth()),this.newMonthNames.map((e,n)=>({name:e,index:n,disabled:nC}))},listOfYears(){let A=this.focusedDateData.year+this.yearsRange[1];this.maxDate&&this.maxDate.getFullYear()C&&(C=Math.min(this.minDate.getFullYear(),this.focusedDateData.year));const e=[];for(let n=C;n<=A;n++)e.push(n);return e.reverse()},showPrev(){if(!this.minDate)return!1;if(this.isTypeMonth)return this.focusedDateData.year<=this.minDate.getFullYear();const A=new Date(this.focusedDateData.year,this.focusedDateData.month),C=new Date(this.minDate.getFullYear(),this.minDate.getMonth());return A<=C},showNext(){if(!this.maxDate)return!1;if(this.isTypeMonth)return this.focusedDateData.year>=this.maxDate.getFullYear();const A=new Date(this.focusedDateData.year,this.focusedDateData.month),C=new Date(this.maxDate.getFullYear(),this.maxDate.getMonth());return A>=C},isMobile(){return this.mobileNative&&En.any()},isTypeMonth(){return this.type==="month"},ariaRole(){return this.inline?void 0:"dialog"},$elementRef(){return"input"}},watch:{modelValue(A){this.updateInternalState(A),this.multiple||this.togglePicker(!1)},focusedDate(A){A&&(this.focusedDateData={day:A.getDate(),month:A.getMonth(),year:A.getFullYear()})},"focusedDateData.month"(A){this.$emit("change-month",A)},"focusedDateData.year"(A){this.$emit("change-year",A)}},methods:{onChange(A){const C=this.dateParser(A,this);C&&(!isNaN(C)||Array.isArray(C)&&C.length===2&&!isNaN(C[0])&&!isNaN(C[1]))?this.computedValue=C:(this.computedValue=null,this.$refs.input&&(this.$refs.input.newValue=this.computedValue))},formatValue(A){return Array.isArray(A)?Array.isArray(A)&&A.every(e=>!isNaN(e))?this.dateFormatter([...A],this):null:A&&!isNaN(A)?this.dateFormatter(A,this):null},prev(){this.disabled||(this.isTypeMonth?this.focusedDateData.year-=1:this.focusedDateData.month>0?this.focusedDateData.month-=1:(this.focusedDateData.month=11,this.focusedDateData.year-=1))},next(){this.disabled||(this.isTypeMonth?this.focusedDateData.year+=1:this.focusedDateData.month<11?this.focusedDateData.month+=1:(this.focusedDateData.month=0,this.focusedDateData.year+=1))},formatNative(A){return this.isTypeMonth?this.formatYYYYMM(A):this.formatYYYYMMDD(A)},formatYYYYMMDD(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getFullYear(),n=C.getMonth()+1,t=C.getDate();return e+"-"+((n<10?"0":"")+n)+"-"+((t<10?"0":"")+t)}return""},formatYYYYMM(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getFullYear(),n=C.getMonth()+1;return e+"-"+((n<10?"0":"")+n)}return""},onChangeNativePicker(A){const C=A.target.value,e=C?C.split("-"):[];if(e.length===3){const n=parseInt(e[0],10),t=parseInt(e[1])-1,i=parseInt(e[2]);this.computedValue=new Date(n,t,i)}else this.computedValue=null},updateInternalState(A){if(this.dateSelected===A)return;const C=Array.isArray(A),e=C?A.length?A[A.length-1]:this.dateCreator():A||this.dateCreator();(!C||C&&this.dateSelected&&A.length>this.dateSelected.length)&&(this.focusedDateData={day:e.getDate(),month:e.getMonth(),year:e.getFullYear()}),this.dateSelected=A},togglePicker(A){if(this.$refs.dropdown){const C=typeof A=="boolean"?A:!this.$refs.dropdown.isActive;C?this.$refs.dropdown.isActive=C:this.closeOnClick&&(this.$refs.dropdown.isActive=C)}},handleOnFocus(A){this.onFocus(A),this.openOnFocus&&this.togglePicker(!0)},toggle(){if(this.mobileNative&&this.isMobile){const A=this.$refs.input.$refs.input;A.focus(),A.click();return}this.$refs.dropdown.toggle()},onInputClick(A){this.$refs.dropdown.isActive&&A.stopPropagation()},keyPress({key:A}){this.$refs.dropdown&&this.$refs.dropdown.isActive&&(A==="Escape"||A==="Esc")&&this.togglePicker(!1)},onActiveChange(A){A||this.onBlur(),this.$emit("active-change",A)},changeFocus(A){this.focusedDateData={day:A.getDate(),month:A.getMonth(),year:A.getFullYear()}}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},beforeUnmount(){typeof window<"u"&&document.removeEventListener("keyup",this.keyPress)}});function i3(A,C,e,n,t,i){const s=AA("o-input"),o=AA("o-icon"),l=AA("o-select"),a=AA("o-datepicker-table"),r=AA("o-datepicker-month"),p=AA("o-dropdown-item"),d=AA("o-dropdown");return h(),S("div",{class:A.rootClasses},[!A.isMobile||A.inline?k(d,lC({key:0,ref:"dropdown"},A.dropdownBind,{position:A.position,disabled:A.disabled,inline:A.inline,"mobile-modal":A.mobileModal,"trap-focus":A.trapFocus,"aria-role":A.ariaRole,"aria-modal":!A.inline,"trigger-tabindex":-1,"append-to-body":A.appendToBody,"append-to-body-copy-parent":"","onActive-change":A.onActiveChange}),lr({default:SA(()=>[k(p,{override:"",tag:"div","item-class":A.boxClasses,disabled:A.disabled,clickable:!1},{default:SA(()=>[k("header",{class:A.headerClasses},[fA(A.$slots,"header",{},()=>[k("div",{class:A.headerButtonsClasses},[HA(k("a",{class:A.prevBtnClasses,role:"button",href:"#","aria-label":A.ariaPreviousLabel,onClick:C[4]||(C[4]=MA((...u)=>A.prev(...u),["prevent"])),onKeydown:[C[5]||(C[5]=mC(MA((...u)=>A.prev(...u),["prevent"]),["enter"])),C[6]||(C[6]=mC(MA((...u)=>A.prev(...u),["prevent"]),["space"]))]},[k(o,{icon:A.iconPrev,pack:A.iconPack,both:"",clickable:""},null,8,["icon","pack"])],42,["aria-label"]),[[fC,!A.showPrev&&!A.disabled]]),HA(k("a",{class:A.nextBtnClasses,role:"button",href:"#","aria-label":A.ariaNextLabel,onClick:C[7]||(C[7]=MA((...u)=>A.next(...u),["prevent"])),onKeydown:[C[8]||(C[8]=mC(MA((...u)=>A.next(...u),["prevent"]),["enter"])),C[9]||(C[9]=mC(MA((...u)=>A.next(...u),["prevent"]),["space"]))]},[k(o,{icon:A.iconNext,pack:A.iconPack,both:"",clickable:""},null,8,["icon","pack"])],42,["aria-label"]),[[fC,!A.showNext&&!A.disabled]]),k("div",{class:A.listsClasses},[A.isTypeMonth?L("v-if",!0):k(l,lC({key:0,modelValue:A.focusedDateData.month,"onUpdate:modelValue":C[10]||(C[10]=u=>A.focusedDateData.month=u),disabled:A.disabled,size:A.size},A.selectListBind),{default:SA(()=>[(h(!0),S(gA,null,JA(A.listOfMonths,u=>(h(),S("option",{value:u.index,key:u.name,disabled:u.disabled},lA(u.name),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled","size"]),k(l,lC({modelValue:A.focusedDateData.year,"onUpdate:modelValue":C[11]||(C[11]=u=>A.focusedDateData.year=u),disabled:A.disabled,size:A.size},A.selectListBind),{default:SA(()=>[(h(!0),S(gA,null,JA(A.listOfYears,u=>(h(),S("option",{value:u,key:u},lA(u),9,["value"]))),128))]),_:1},16,["modelValue","disabled","size"])],2)],2)])],2),fA(A.$slots,"table",{},()=>[A.isTypeMonth?L("v-if",!0):k(a,{key:0,modelValue:A.computedValue,"onUpdate:modelValue":C[12]||(C[12]=u=>A.computedValue=u),"day-names":A.newDayNames,"month-names":A.newMonthNames,"first-day-of-week":A.firstDayOfWeek,"rules-for-first-week":A.rulesForFirstWeek,"min-date":A.minDate,"max-date":A.maxDate,focused:A.focusedDateData,disabled:A.disabled,"unselectable-dates":A.unselectableDates,"unselectable-days-of-week":A.unselectableDaysOfWeek,"selectable-dates":A.selectableDates,events:A.events,indicators:A.indicators,"date-creator":A.dateCreator,"type-month":A.isTypeMonth,"nearby-month-days":A.nearbyMonthDays,"nearby-selectable-month-days":A.nearbySelectableMonthDays,"show-week-number":A.showWeekNumber,"week-number-clickable":A.weekNumberClickable,range:A.range,multiple:A.multiple,"table-class":A.tableClass,"table-head-class":A.tableHeadClass,"table-head-cell-class":A.tableHeadCellClass,"table-body-class":A.tableBodyClass,"table-row-class":A.tableRowClass,"table-cell-class":A.tableCellClass,"table-cell-selected-class":A.tableCellSelectedClass,"table-cell-first-selected-class":A.tableCellFirstSelectedClass,"table-cell-invisible-class":A.tableCellInvisibleClass,"table-cell-within-selected-class":A.tableCellWithinSelectedClass,"table-cell-last-selected-class":A.tableCellLastSelectedClass,"table-cell-first-hovered-class":A.tableCellFirstHoveredClass,"table-cell-within-hovered-class":A.tableCellWithinHoveredClass,"table-cell-last-hovered-class":A.tableCellLastHoveredClass,"table-cell-today-class":A.tableCellTodayClass,"table-cell-selectable-class":A.tableCellSelectableClass,"table-cell-unselectable-class":A.tableCellUnselectableClass,"table-cell-nearby-class":A.tableCellNearbyClass,"table-cell-events-class":A.tableCellEventsClass,"table-events-class":A.tableEventsClass,"table-event-variant-class":A.tableEventVariantClass,"table-event-class":A.tableEventClass,"table-event-indicators-class":A.tableEventIndicatorsClass,"onRange-start":C[13]||(C[13]=u=>A.$emit("range-start",u)),"onRange-end":C[14]||(C[14]=u=>A.$emit("range-end",u)),onClose:C[15]||(C[15]=u=>A.togglePicker(!1)),"onUpdate:focused":C[16]||(C[16]=u=>A.focusedDateData=u)},null,8,["modelValue","day-names","month-names","first-day-of-week","rules-for-first-week","min-date","max-date","focused","disabled","unselectable-dates","unselectable-days-of-week","selectable-dates","events","indicators","date-creator","type-month","nearby-month-days","nearby-selectable-month-days","show-week-number","week-number-clickable","range","multiple","table-class","table-head-class","table-head-cell-class","table-body-class","table-row-class","table-cell-class","table-cell-selected-class","table-cell-first-selected-class","table-cell-invisible-class","table-cell-within-selected-class","table-cell-last-selected-class","table-cell-first-hovered-class","table-cell-within-hovered-class","table-cell-last-hovered-class","table-cell-today-class","table-cell-selectable-class","table-cell-unselectable-class","table-cell-nearby-class","table-cell-events-class","table-events-class","table-event-variant-class","table-event-class","table-event-indicators-class"]),A.isTypeMonth?k(r,{key:1,modelValue:A.computedValue,"onUpdate:modelValue":C[17]||(C[17]=u=>A.computedValue=u),"month-names":A.newMonthNames,"min-date":A.minDate,"max-date":A.maxDate,focused:A.focusedDateData,disabled:A.disabled,"unselectable-dates":A.unselectableDates,"unselectable-days-of-week":A.unselectableDaysOfWeek,"selectable-dates":A.selectableDates,events:A.events,indicators:A.indicators,"date-creator":A.dateCreator,range:A.range,multiple:A.multiple,"month-class":A.monthClass,"month-body-class":A.monthBodyClass,"month-table-class":A.monthTableClass,"month-cell-class":A.monthCellClass,"month-cell-selected-class":A.monthCellSelectedClass,"month-cell-first-selected-class":A.monthCellFirstSelectedClass,"month-cell-within-selected-class":A.monthCellWithinSelectedClass,"month-cell-last-selected-class":A.monthCellLastSelectedClass,"month-cell-within-hovered-range-class":A.monthCellWithinHoveredRangeClass,"month-cell-first-hovered-class":A.monthCellFirstHoveredClass,"month-cell-within-hovered-class":A.monthCellWithinHoveredClass,"month-cell-last-hovered-class":A.monthCellLastHoveredClass,"month-cell-today-class":A.monthCellTodayClass,"month-cell-selectable-class":A.monthCellSelectableClass,"month-cell-unselectable-class":A.monthCellUnselectableClass,"month-cell-events-class":A.monthCellEventsClass,"onRange-start":C[18]||(C[18]=u=>A.$emit("range-start",u)),"onRange-end":C[19]||(C[19]=u=>A.$emit("range-end",u)),onClose:C[20]||(C[20]=u=>A.togglePicker(!1)),"onChange-focus":A.changeFocus,"onUpdate:focused":C[21]||(C[21]=u=>A.focusedDateData=u)},null,8,["modelValue","month-names","min-date","max-date","focused","disabled","unselectable-dates","unselectable-days-of-week","selectable-dates","events","indicators","date-creator","range","multiple","month-class","month-body-class","month-table-class","month-cell-class","month-cell-selected-class","month-cell-first-selected-class","month-cell-within-selected-class","month-cell-last-selected-class","month-cell-within-hovered-range-class","month-cell-first-hovered-class","month-cell-within-hovered-class","month-cell-last-hovered-class","month-cell-today-class","month-cell-selectable-class","month-cell-unselectable-class","month-cell-events-class","onChange-focus"]):L("v-if",!0)]),A.$slots.footer!==void 0?(h(),S("footer",{key:0,class:A.footerClasses},[fA(A.$slots,"footer")],2)):L("v-if",!0)]),_:3},8,["item-class","disabled"])]),_:2},[A.inline?void 0:{name:"trigger",fn:SA(()=>[fA(A.$slots,"trigger",{},()=>[k(s,lC({ref:"input",autocomplete:"off","model-value":A.formattedValue,expanded:A.expanded,placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-right":A.iconRight,"icon-right-clickable":A.iconRightClickable,"icon-pack":A.iconPack,rounded:A.rounded,disabled:A.disabled,readonly:!A.editable},A.inputBind,{"use-html5-validation":!1,onClick:A.onInputClick,"onIcon-right-click":C[1]||(C[1]=u=>A.$emit("icon-right-click")),onKeyup:C[2]||(C[2]=mC(u=>A.togglePicker(!0),["enter"])),onChange:C[3]||(C[3]=u=>A.onChange(u.target.value)),onFocus:A.handleOnFocus}),null,16,["model-value","expanded","placeholder","size","icon","icon-right","icon-right-clickable","icon-pack","rounded","disabled","readonly","onClick","onFocus"])])])}]),1040,["position","disabled","inline","mobile-modal","trap-focus","aria-role","aria-modal","append-to-body","onActive-change"]):k(s,lC({key:1,ref:"input",type:A.isTypeMonth?"month":"date",autocomplete:"off",value:A.formatNative(A.computedValue),placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-pack":A.iconPack,rounded:A.rounded,max:A.formatNative(A.maxDate),min:A.formatNative(A.minDate),disabled:A.disabled,readonly:!1},A.$attrs,{"use-html5-validation":!1,onChange:A.onChangeNativePicker,onFocus:A.onFocus,onBlur:A.onBlur}),null,16,["type","value","placeholder","size","icon","icon-pack","rounded","max","min","disabled","onChange","onFocus","onBlur"])],2)}gi.render=i3;gi.__file="src/components/datepicker/Datepicker.vue";var s3={install(A){eC(A,gi)}};const o3=s3,ks="AM",xs="PM",yu="24",_s="12",l3=(A,C)=>C.dtf.format(A),a3=(A,C)=>{if(A){let e=null;if(C.computedValue&&!isNaN(C.computedValue)?e=new Date(C.computedValue):(e=C.timeCreator(),e.setMilliseconds(0)),C.dtf.formatToParts&&typeof C.dtf.formatToParts=="function"){const l=C.dtf.formatToParts(e).map(r=>r.type==="literal"?r.value.replace(/ /g,"\\s?"):r.type==="dayPeriod"?`((?!=<${r.type}>)(${C.amString}|${C.pmString}|${ks}|${xs}|${ks.toLowerCase()}|${xs.toLowerCase()})?)`:`((?!=<${r.type}>)\\d+)`).join(""),a=Er(l,A);if(a.hour=a.hour?parseInt(a.hour,10):null,a.minute=a.minute?parseInt(a.minute,10):null,a.second=a.second?parseInt(a.second,10):null,a.hour&&a.hour>=0&&a.hour<24&&a.minute&&a.minute>=0&&a.minute<59)return a.dayPeriod&&(a.dayPeriod.toLowerCase()===C.pmString.toLowerCase()||a.dayPeriod.toLowerCase()===xs.toLowerCase())&&a.hour<12&&(a.hour+=12),e.setHours(a.hour),e.setMinutes(a.minute),e.setSeconds(a.second||0),e}let n=!1;if(C.hourFormat===_s){const l=A.split(" ");A=l[0],n=l[1]===C.amString||l[1]===ks}const t=A.split(":");let i=parseInt(t[0],10);const s=parseInt(t[1],10),o=C.enableSeconds?parseInt(t[2],10):0;return isNaN(i)||i<0||i>23||C.hourFormat===_s&&(i<1||i>12)||isNaN(s)||s<0||s>59?null:(e.setSeconds(o),e.setMinutes(s),C.hourFormat===_s&&(n&&i===12?i=0:!n&&i!==12&&(i+=12)),e.setHours(i),new Date(e.getTime()))}return null};var r3=KA({mixins:[jn],inheritAttrs:!1,emits:["update:modelValue"],props:{modelValue:Date,inline:Boolean,minTime:Date,maxTime:Date,placeholder:String,editable:Boolean,disabled:Boolean,size:String,hourFormat:{type:String},incrementHours:{type:Number,default:1},incrementMinutes:{type:Number,default:1},incrementSeconds:{type:Number,default:1},timeFormatter:{type:Function,default:(A,C)=>{const e=U(q(),"timepicker.timeFormatter",void 0);return typeof e=="function"?e(A):l3(A,C)}},timeParser:{type:Function,default:(A,C)=>{const e=U(q(),"timepicker.timeParser",void 0);return typeof e=="function"?e(A):a3(A,C)}},mobileNative:{type:Boolean,default:()=>U(q(),"timepicker.mobileNative",!0)},timeCreator:{type:Function,default:()=>{const A=U(q(),"timepicker.timeCreator",void 0);return typeof A=="function"?A():new Date}},position:String,unselectableTimes:Array,openOnFocus:Boolean,enableSeconds:Boolean,defaultMinutes:Number,defaultSeconds:Number,appendToBody:Boolean,resetOnMeridianChange:{type:Boolean,default:!1}},data(){return{dateSelected:this.modelValue,hoursSelected:null,minutesSelected:null,secondsSelected:null,meridienSelected:null,_elementRef:"input"}},computed:{computedValue:{get(){return this.dateSelected},set(A){this.dateSelected=A,this.$emit("update:modelValue",this.dateSelected)}},localeOptions(){return new Intl.DateTimeFormat(this.locale,{hour:"numeric",minute:"numeric",second:this.enableSeconds?"numeric":void 0}).resolvedOptions()},dtf(){return new Intl.DateTimeFormat(this.locale,{hour:this.localeOptions.hour||"numeric",minute:this.localeOptions.minute||"numeric",second:this.enableSeconds?this.localeOptions.second||"numeric":void 0,hourCycle:this.isHourFormat24?"h23":"h12"})},newHourFormat(){return this.hourFormat||(this.localeOptions.hour12?_s:yu)},sampleTime(){let A=this.timeCreator();return A.setHours(10),A.setSeconds(0),A.setMinutes(0),A.setMilliseconds(0),A},hourLiteral(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;const C=this.dtf.formatToParts(A),e=C.find((n,t)=>t>0&&C[t-1].type==="hour");if(e)return e.value}return":"},minuteLiteral(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;const C=this.dtf.formatToParts(A),e=C.find((n,t)=>t>0&&C[t-1].type==="minute");if(e)return e.value}return":"},secondLiteral(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;const C=this.dtf.formatToParts(A),e=C.find((n,t)=>t>0&&C[t-1].type==="second");if(e)return e.value}},amString(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;A.setHours(10);const C=this.dtf.formatToParts(A).find(e=>e.type==="dayPeriod");if(C)return C.value}return ks},pmString(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;A.setHours(20);const C=this.dtf.formatToParts(A).find(e=>e.type==="dayPeriod");if(C)return C.value}return xs},hours(){if(!this.incrementHours||this.incrementHours<1)throw new Error("Hour increment cannot be null or less than 1.");const A=[],C=this.isHourFormat24?24:12;for(let e=0;e=12?this.pmString:this.amString)},locale(){this.value||(this.meridienSelected=this.amString)},modelValue:{handler(A){this.updateInternalState(A),!this.isValid&&this.$refs.input.checkHtml5Validity()},immediate:!0}},methods:{onMeridienChange(A){this.hoursSelected!==null&&this.resetOnMeridianChange?(this.hoursSelected=null,this.minutesSelected=null,this.secondsSelected=null,this.computedValue=null):this.hoursSelected!==null&&(A===this.pmString?this.hoursSelected+=12:A===this.amString&&(this.hoursSelected-=12)),this.updateDateSelected(this.hoursSelected,this.minutesSelected,this.enableSeconds?this.secondsSelected:0,A)},onHoursChange(A){!this.minutesSelected&&typeof this.defaultMinutes<"u"&&(this.minutesSelected=this.defaultMinutes),!this.secondsSelected&&typeof this.defaultSeconds<"u"&&(this.secondsSelected=this.defaultSeconds),this.updateDateSelected(parseInt(A,10),this.minutesSelected,this.enableSeconds?this.secondsSelected:0,this.meridienSelected)},onMinutesChange(A){!this.secondsSelected&&this.defaultSeconds&&(this.secondsSelected=this.defaultSeconds),this.updateDateSelected(this.hoursSelected,parseInt(A,10),this.enableSeconds?this.secondsSelected:0,this.meridienSelected)},onSecondsChange(A){this.updateDateSelected(this.hoursSelected,this.minutesSelected,parseInt(A,10),this.meridienSelected)},updateDateSelected(A,C,e,n){if(A!=null&&C!=null&&(!this.isHourFormat24&&n!==null||this.isHourFormat24)){let t=null;this.computedValue&&!isNaN(this.computedValue)?t=new Date(this.computedValue):(t=this.timeCreator(),t.setMilliseconds(0)),t.setHours(A),t.setMinutes(C),t.setSeconds(e),isNaN(t.getTime())||(this.computedValue=new Date(t.getTime()))}},updateInternalState(A){A?(this.hoursSelected=A.getHours(),this.minutesSelected=A.getMinutes(),this.secondsSelected=A.getSeconds(),this.meridienSelected=A.getHours()>=12?this.pmString:this.amString):(this.hoursSelected=null,this.minutesSelected=null,this.secondsSelected=null,this.meridienSelected=this.amString),this.dateSelected=A},isHourDisabled(A){let C=!1;if(this.minTime){const e=this.minTime.getHours(),n=this.minutes.every(t=>this.isMinuteDisabledForHour(A,t.value));C=Ae}return this.unselectableTimes&&(C||(this.unselectableTimes.filter(n=>this.enableSeconds&&this.secondsSelected!==null?n.getHours()===A&&n.getMinutes()===this.minutesSelected&&n.getSeconds()===this.secondsSelected:this.minutesSelected!==null?n.getHours()===A&&n.getMinutes()===this.minutesSelected:!1).length>0?C=!0:C=this.minutes.every(n=>this.unselectableTimes.filter(t=>t.getHours()===A&&t.getMinutes()===n.value).length>0))),C},isMinuteDisabledForHour(A,C){let e=!1;if(this.minTime){const n=this.minTime.getHours(),t=this.minTime.getMinutes();e=A===n&&Ct}return e},isMinuteDisabled(A){let C=!1;return this.hoursSelected!==null&&(this.isHourDisabled(this.hoursSelected)?C=!0:C=this.isMinuteDisabledForHour(this.hoursSelected,A),this.unselectableTimes&&(C||(C=this.unselectableTimes.filter(n=>this.enableSeconds&&this.secondsSelected!==null?n.getHours()===this.hoursSelected&&n.getMinutes()===A&&n.getSeconds()===this.secondsSelected:n.getHours()===this.hoursSelected&&n.getMinutes()===A).length>0))),C},isSecondDisabled(A){let C=!1;if(this.minutesSelected!==null){if(this.isMinuteDisabled(this.minutesSelected))C=!0;else{if(this.minTime){const e=this.minTime.getHours(),n=this.minTime.getMinutes(),t=this.minTime.getSeconds();C=this.hoursSelected===e&&this.minutesSelected===n&&At}}this.unselectableTimes&&(C||(C=this.unselectableTimes.filter(n=>n.getHours()===this.hoursSelected&&n.getMinutes()===this.minutesSelected&&n.getSeconds()===A).length>0))}return C},isMeridienDisabled(A){const C=A=="AM"?0:12;for(let e=0;e<12;e++)if(!this.isHourDisabled(e+C))return!1;return!0},onChange(A){const C=this.timeParser(A,this);this.updateInternalState(C),C&&!isNaN(C)?this.computedValue=C:(this.computedValue=null,this.$refs.input.newValue=this.computedValue)},toggle(A){this.$refs.dropdown&&(this.$refs.dropdown.isActive=typeof A=="boolean"?A:!this.$refs.dropdown.isActive)},close(){this.toggle(!1)},handleOnFocus(){this.onFocus(),this.openOnFocus&&this.toggle(!0)},formatHHMMSS(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getHours(),n=C.getMinutes(),t=C.getSeconds();return this.formatNumber(e,!0)+":"+this.formatNumber(n,!0)+":"+this.formatNumber(t,!0)}return""},onChangeNativePicker(A){const C=A.target.value;if(C){let e=null;this.computedValue&&!isNaN(this.computedValue)?e=new Date(this.computedValue):(e=new Date,e.setMilliseconds(0));const n=C.split(":");e.setHours(parseInt(n[0],10)),e.setMinutes(parseInt(n[1],10)),e.setSeconds(n[2]?parseInt(n[2],10):0),this.computedValue=new Date(e.getTime())}else this.computedValue=null},formatNumber(A,C){return this.isHourFormat24||C?this.pad(A):A},pad(A){return(A<10?"0":"")+A},formatValue(A){return A&&!isNaN(A)?this.timeFormatter(A,this):null},keyPress({key:A}){this.$refs.dropdown&&this.$refs.dropdown.isActive&&(A==="Escape"||A==="Esc")&&this.toggle(!1)},onActiveChange(A){A||this.onBlur()}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},beforeUnmount(){typeof window<"u"&&document.removeEventListener("keyup",this.keyPress)}}),bi=KA({name:"OTimepicker",components:{[xe.name]:xe,[nn.name]:nn,[dC.name]:dC,[Yn.name]:Yn,[Jn.name]:Jn},configField:"timepicker",mixins:[CC,r3,ln],inheritAttrs:!1,props:{rootClass:[String,Function,Array],sizeClass:[String,Function,Array],boxClass:[String,Function,Array],separatorClass:[String,Function,Array],footerClass:[String,Function,Array],inputClasses:{type:Object,default:()=>U(q(),"timepicker.inputClasses",{})},dropdownClasses:{type:Object,default:()=>U(q(),"timepicker.dropdownClasses",{})},selectClasses:{type:Object,default:()=>U(q(),"timepicker.selectClasses",{})}},computed:{inputBind(){return{...this.$attrs,...this.inputClasses}},dropdownBind(){return{"root-class":this.computedClass("dropdownClasses.rootClass","o-tpck__dropdown"),...this.dropdownClasses}},selectBind(){return{"select-class":this.computedClass("selectClasses.selectClass","o-tpck__select"),"placeholder-class":this.computedClass("selectClasses.placeholderClass","o-tpck__select-placeholder"),...this.selectClasses}},rootClasses(){return[this.computedClass("rootClass","o-tpck"),{[this.computedClass("sizeClass","o-tpck--",this.size)]:this.size},{[this.computedClass("mobileClass","o-tpck--mobile")]:this.isMatchMedia}]},boxClasses(){return[this.computedClass("boxClass","o-tpck__box")]},separatorClasses(){return[this.computedClass("separatorClass","o-tpck__separator")]},footerClasses(){return[this.computedClass("footerClass","o-tpck__footer")]},nativeStep(){return this.enableSeconds?"1":null}}});function c3(A,C,e,n,t,i){const s=AA("o-input"),o=AA("o-select"),l=AA("o-dropdown-item"),a=AA("o-dropdown");return h(),S("div",{class:A.rootClasses},[!A.isMobile||A.inline?k(a,lC({key:0,ref:"dropdown"},A.dropdownBind,{position:A.position,disabled:A.disabled,inline:A.inline,"append-to-body":A.appendToBody,"append-to-body-copy-parent":"","onActive-change":A.onActiveChange}),lr({default:SA(()=>[k(l,{override:"",tag:"div","item-class":A.boxClasses,disabled:A.disabled,clickable:!1},{default:SA(()=>[k(o,lC({override:""},A.selectBind,{modelValue:A.hoursSelected,"onUpdate:modelValue":C[3]||(C[3]=r=>A.hoursSelected=r),onChange:C[4]||(C[4]=r=>A.onHoursChange(r.target.value)),disabled:A.disabled,placeholder:"00"}),{default:SA(()=>[(h(!0),S(gA,null,JA(A.hours,r=>(h(),S("option",{value:r.value,key:r.value,disabled:A.isHourDisabled(r.value)},lA(r.label),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),k("span",{class:A.separatorClasses},lA(A.hourLiteral),3),k(o,lC({override:""},A.selectBind,{modelValue:A.minutesSelected,"onUpdate:modelValue":C[5]||(C[5]=r=>A.minutesSelected=r),onChange:C[6]||(C[6]=r=>A.onMinutesChange(r.target.value)),disabled:A.disabled,placeholder:"00"}),{default:SA(()=>[(h(!0),S(gA,null,JA(A.minutes,r=>(h(),S("option",{value:r.value,key:r.value,disabled:A.isMinuteDisabled(r.value)},lA(r.label),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),A.enableSeconds?(h(),S(gA,{key:0},[k("span",{class:A.separatorClasses},lA(A.minuteLiteral),3),k(o,lC({override:""},A.selectBind,{modelValue:A.secondsSelected,"onUpdate:modelValue":C[7]||(C[7]=r=>A.secondsSelected=r),onChange:C[8]||(C[8]=r=>A.onSecondsChange(r.target.value)),disabled:A.disabled,placeholder:"00"}),{default:SA(()=>[(h(!0),S(gA,null,JA(A.seconds,r=>(h(),S("option",{value:r.value,key:r.value,disabled:A.isSecondDisabled(r.value)},lA(r.label),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),k("span",{class:A.separatorClasses},lA(A.secondLiteral),3)],64)):L("v-if",!0),A.isHourFormat24?L("v-if",!0):k(o,lC({key:1,override:""},A.selectBind,{modelValue:A.meridienSelected,"onUpdate:modelValue":C[9]||(C[9]=r=>A.meridienSelected=r),onChange:C[10]||(C[10]=r=>A.onMeridienChange(r.target.value)),disabled:A.disabled}),{default:SA(()=>[(h(!0),S(gA,null,JA(A.meridiens,r=>(h(),S("option",{value:r,key:r,disabled:A.isMeridienDisabled(r)},lA(r),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),A.$slots.default!==void 0?(h(),S("footer",{key:2,class:A.footerClasses},[fA(A.$slots,"default")],2)):L("v-if",!0)]),_:1},8,["item-class","disabled"])]),_:2},[A.inline?void 0:{name:"trigger",fn:SA(()=>[fA(A.$slots,"trigger",{},()=>[k(s,lC({ref:"input","model-value":A.formatValue(A.computedValue),autocomplete:"off",placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-pack":A.iconPack,disabled:A.disabled,readonly:!A.editable,rounded:A.rounded},A.inputBind,{"use-html5-validation":A.useHtml5Validation,onKeyup:C[1]||(C[1]=mC(r=>A.toggle(!0),["enter"])),onChange:C[2]||(C[2]=r=>A.onChange(r.target.value)),onFocus:A.handleOnFocus}),null,16,["model-value","placeholder","size","icon","icon-pack","disabled","readonly","rounded","use-html5-validation","onFocus"])])])}]),1040,["position","disabled","inline","append-to-body","onActive-change"]):k(s,lC({key:1,ref:"input"},A.inputBind,{type:"time",step:A.nativeStep,autocomplete:"off",value:A.formatHHMMSS(A.computedValue),placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-pack":A.iconPack,rounded:A.rounded,max:A.formatHHMMSS(A.maxTime),min:A.formatHHMMSS(A.minTime),disabled:A.disabled,readonly:!1,"use-html5-validation":A.useHtml5Validation,onChange:C[11]||(C[11]=r=>A.onChange(r.target.value)),onFocus:A.handleOnFocus,onBlur:C[12]||(C[12]=r=>A.onBlur()&&A.checkHtml5Validity())}),null,16,["step","value","placeholder","size","icon","icon-pack","rounded","max","min","disabled","use-html5-validation","onFocus"])],2)}bi.render=c3;bi.__file="src/components/timepicker/Timepicker.vue";const vu="AM",wu="PM";var wr=KA({name:"ODatetimepicker",components:{[gi.name]:gi,[bi.name]:bi},configField:"datetimepicker",mixins:[jn,CC],inheritAttrs:!1,emits:["update:modelValue","change-year","change-month","icon-right-click","active-change"],props:{modelValue:{type:Date},editable:{type:Boolean,default:!1},size:String,placeholder:String,disabled:Boolean,iconRight:String,iconRightClickable:Boolean,inline:Boolean,openOnFocus:Boolean,position:String,mobileNative:{type:Boolean,default:!0},minDatetime:Date,maxDatetime:Date,datetimeFormatter:{type:Function},datetimeParser:{type:Function},datetimeCreator:{type:Function,default:A=>{const C=U(q(),"datetimepicker.datetimeCreator",void 0);return typeof C=="function"?C(A):A}},datepicker:Object,timepicker:Object,locale:{type:[String,Array],default:()=>U(q(),"locale")},appendToBody:Boolean,datepickerWrapperClass:[String,Function,Array],timepickerWrapperClass:[String,Function,Array]},data(){return{newValue:this.modelValue}},computed:{datepickerWrapperClasses(){return[this.computedClass("datepickerWrapperClass","o-dtpck__date")]},timepickerWrapperClasses(){return[this.computedClass("timepickerWrapperClass","o-dtpck__time")]},computedValue:{get(){return this.newValue},set(A){if(A){let C=new Date(A.getTime());this.newValue?(A.getDate()!==this.newValue.getDate()||A.getMonth()!==this.newValue.getMonth()||A.getFullYear()!==this.newValue.getFullYear())&&A.getHours()===0&&A.getMinutes()===0&&A.getSeconds()===0&&C.setHours(this.newValue.getHours(),this.newValue.getMinutes(),this.newValue.getSeconds(),0):C=this.datetimeCreator(A),this.minDatetime&&Cthis.maxDatetime&&(C=this.maxDatetime),this.newValue=new Date(C.getTime())}else this.newValue=A;this.$emit("update:modelValue",this.newValue)}},localeOptions(){return new Intl.DateTimeFormat(this.locale,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:this.enableSeconds()?"numeric":void 0}).resolvedOptions()},dtf(){return new Intl.DateTimeFormat(this.locale,{year:this.localeOptions.year||"numeric",month:this.localeOptions.month||"numeric",day:this.localeOptions.day||"numeric",hour:this.localeOptions.hour||"numeric",minute:this.localeOptions.minute||"numeric",second:this.enableSeconds()?this.localeOptions.second||"numeric":void 0,hourCycle:this.isHourFormat24()?"h23":"h12"})},isMobileNative(){return this.mobileNative},isMobile(){return this.isMobileNative&&En.any()},minDate(){return this.minDatetime?new Date(this.minDatetime.getFullYear(),this.minDatetime.getMonth(),this.minDatetime.getDate(),0,0,0,0):this.datepicker?this.datepicker.minDate:null},maxDate(){return this.maxDatetime?new Date(this.maxDatetime.getFullYear(),this.maxDatetime.getMonth(),this.maxDatetime.getDate(),0,0,0,0):this.datepicker?this.datepicker.maxDate:null},minTime(){return!this.minDatetime||this.newValue===null||typeof this.newValue>"u"||this.newValue.getFullYear()!=this.minDatetime.getFullYear()||this.newValue.getMonth()!=this.minDatetime.getMonth()||this.newValue.getDate()!=this.minDatetime.getDate()?this.timepicker?this.timepicker.minTime:null:this.minDatetime},maxTime(){return!this.maxDatetime||this.newValue===null||typeof this.newValue>"u"||this.newValue.getFullYear()!=this.maxDatetime.getFullYear()||this.newValue.getMonth()!=this.maxDatetime.getMonth()||this.newValue.getDate()!=this.maxDatetime.getDate()?this.timepicker?this.timepicker.maxTime:null:this.maxDatetime},datepickerSize(){return this.datepicker&&this.datepicker.size?this.datepicker.size:this.size},timepickerSize(){return this.timepicker&&this.timepicker.size?this.timepicker.size:this.size},timepickerDisabled(){return this.timepicker&&this.timepicker.disabled?this.timepicker.disabled:this.disabled}},watch:{modelValue(A){this.newValue=A}},methods:{enableSeconds(){return this.$refs.timepicker?this.$refs.timepicker.enableSeconds:!1},isHourFormat24(){return this.$refs.timepicker?this.$refs.timepicker.isHourFormat24:!this.localeOptions.hour12},defaultDatetimeParser(A){const C=U(q(),"datetimepicker.datetimeParser",void 0);if(typeof this.datetimeParser=="function")return this.datetimeParser(A);if(typeof C=="function")return C(A);if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let e=[vu,wu,vu.toLowerCase(),wu.toLowerCase()];this.$refs.timepicker&&(e.push(this.$refs.timepicker.amString),e.push(this.$refs.timepicker.pmString));const n=this.dtf.formatToParts(new Date),t=n.map((s,o)=>s.type==="literal"?o+1)(${e.join("|")})?)`:`((?!=<${s.type}>)\\d+)`).join(""),i=Er(t,A);if(i.year&&i.year.length===4&&i.month&&i.month<=12&&i.day&&i.day<=31&&i.hour&&i.hour>=0&&i.hour<24&&i.minute&&i.minute>=0&&i.minute<=59)return new Date(i.year,i.month-1,i.day,i.hour,i.minute,i.second||0)}return new Date(Date.parse(A))},defaultDatetimeFormatter(A){const C=U(q(),"datetimepicker.datetimeFormatter",void 0);return typeof this.datetimeFormatter=="function"?this.datetimeFormatter(A):typeof C=="function"?C(A):this.dtf.format(A)},onChangeNativePicker(A){const C=A.target.value,e=C?C.split(/\D/):[];if(e.length>=5){const n=parseInt(e[0],10),t=parseInt(e[1],10)-1,i=parseInt(e[2],10),s=parseInt(e[3],10),o=parseInt(e[4],10);this.computedValue=new Date(n,t,i,s,o)}else this.computedValue=null},formatNative(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getFullYear(),n=C.getMonth()+1,t=C.getDate(),i=C.getHours(),s=C.getMinutes(),o=C.getSeconds();return e+"-"+((n<10?"0":"")+n)+"-"+((t<10?"0":"")+t)+"T"+((i<10?"0":"")+i)+":"+((s<10?"0":"")+s)+":"+((o<10?"0":"")+o)}return""},toggle(){this.$refs.datepicker.toggle()}},mounted(){(!this.isMobile||this.inline)&&this.newValue&&this.$refs.datepicker.$forceUpdate()}});function u3(A,C,e,n,t,i){const s=AA("o-timepicker"),o=AA("o-datepicker"),l=AA("o-input");return!A.isMobile||A.inline?k(o,lC({key:0,ref:"datepicker",modelValue:A.computedValue,"onUpdate:modelValue":C[2]||(C[2]=a=>A.computedValue=a)},A.datepicker,{class:A.datepickerWrapperClasses,rounded:A.rounded,"open-on-focus":A.openOnFocus,position:A.position,inline:A.inline,editable:A.editable,expanded:A.expanded,"close-on-click":!1,"date-formatter":A.defaultDatetimeFormatter,"date-parser":A.defaultDatetimeParser,"min-date":A.minDate,"max-date":A.maxDate,icon:A.icon,"icon-right":A.iconRight,"icon-right-clickable":A.iconRightClickable,"icon-pack":A.iconPack,size:A.datepickerSize,placeholder:A.placeholder,range:!1,disabled:A.disabled,"mobile-native":A.isMobileNative,locale:A.locale,"append-to-body":A.appendToBody,onFocus:A.onFocus,onBlur:A.onBlur,"onActive-change":C[3]||(C[3]=a=>A.$emit("active-change",a)),"onIcon-right-click":C[4]||(C[4]=a=>A.$emit("icon-right-click")),"onChange-month":C[5]||(C[5]=a=>A.$emit("change-month",a)),"onChange-year":C[6]||(C[6]=a=>A.$emit("change-year",a))}),{footer:SA(()=>[k("div",{class:A.timepickerWrapperClasses},[k(s,lC({ref:"timepicker"},A.timepicker,{modelValue:A.computedValue,"onUpdate:modelValue":C[1]||(C[1]=a=>A.computedValue=a),inline:"",editable:A.editable,"min-time":A.minTime,"max-time":A.maxTime,size:A.timepickerSize,disabled:A.timepickerDisabled,"mobile-native":A.isMobileNative,locale:A.locale}),null,16,["modelValue","editable","min-time","max-time","size","disabled","mobile-native","locale"])],2),A.$slots.footer!==void 0?fA(A.$slots,"footer",{key:0}):L("v-if",!0)]),_:1},16,["modelValue","class","rounded","open-on-focus","position","inline","editable","expanded","date-formatter","date-parser","min-date","max-date","icon","icon-right","icon-right-clickable","icon-pack","size","placeholder","disabled","mobile-native","locale","append-to-body","onFocus","onBlur"]):k(l,lC({key:1,ref:"input",type:"datetime-local",autocomplete:"off",value:A.formatNative(A.computedValue),placeholder:A.placeholder,size:A.datepickerSize,icon:A.icon,"icon-pack":A.iconPack,rounded:A.rounded,max:A.formatNative(A.maxDate),min:A.formatNative(A.minDate),disabled:A.disabled,readonly:!1},A.$attrs,{"use-html5-validation":A.useHtml5Validation,onChange:A.onChangeNativePicker,onFocus:A.onFocus,onBlur:A.onBlur}),null,16,["value","placeholder","size","icon","icon-pack","rounded","max","min","disabled","use-html5-validation","onChange","onFocus","onBlur"])}wr.render=u3;wr.__file="src/components/datetimepicker/Datetimepicker.vue";var m3={install(A){eC(A,wr)}};const d3=m3;var p3={install(A){eC(A,Yn),eC(A,Jn)}};const f3=p3;var h3={install(A){eC(A,Xn)}};const g3=h3;var b3={install(A){eC(A,dC)}};const E3=b3;var y3={install(A){eC(A,xe)}};const v3=y3;var Br=KA({name:"OInputitems",components:{[fi.name]:fi,[dC.name]:dC},mixins:[jn,CC],inheritAttrs:!1,configField:"inputitems",emits:["update:modelValue","focus","blur","add","remove","typing","infinite-scroll","icon-right-click"],props:{modelValue:{type:Array,default:()=>[]},size:String,data:{type:Array,default:()=>[]},variant:String,maxitems:{type:[Number,String],required:!1},hasCounter:{type:Boolean,default:()=>U(q(),"inputitems.hasCounter",!0)},field:{type:String,default:"value"},autocomplete:Boolean,groupField:String,groupOptions:String,nativeAutocomplete:String,openOnFocus:Boolean,disabled:Boolean,closable:{type:Boolean,default:()=>U(q(),"inputitems.closable",!0)},confirmKeys:{type:Array,default:()=>U(q(),"inputitems.confirmKeys",[",","Tab","Enter"])},removeOnKeys:{type:Array,default:()=>U(q(),"inputitems.removeOnKeys",["Backspace"])},allowNew:Boolean,onPasteSeparators:{type:Array,default:()=>U(q(),"inputitems.onPasteSeparators",[","])},beforeAdding:{type:Function,default:()=>!0},allowDuplicates:{type:Boolean,default:!1},checkInfiniteScroll:{type:Boolean,default:!1},createItem:{type:Function,default:A=>A},closeIcon:{type:String,default:()=>U(q(),"inputitems.closeIcon","close")},keepFirst:Boolean,ariaCloseLabel:String,appendToBody:Boolean,rootClass:[String,Array,Function],expandedClass:[String,Array,Function],variantClass:[String,Array,Function],closeClass:[String,Array,Function],itemClass:[String,Array,Function],counterClass:[String,Array,Function],autocompleteClasses:{type:Object,default:()=>U(q(),"inputitems.autocompleteClasses",{})}},data(){return{items:Array.isArray(this.modelValue)?this.modelValue.slice(0):this.modelValue||[],newItem:"",isComposing:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-inputit"),{[this.computedClass("expandedClass","o-inputit--expanded")]:this.expanded}]},containerClasses(){return[this.computedClass("containerClass","o-inputit__container"),{[this.computedClass("sizeClass","o-inputit__container--",this.size)]:this.size}]},itemClasses(){return[this.computedClass("itemClass","o-inputit__item"),{[this.computedClass("variantClass","o-inputit__item--",this.variant)]:this.variant}]},closeClasses(){return[this.computedClass("closeClass","o-inputit__item__close")]},counterClasses(){return[this.computedClass("counterClass","o-inputit__counter")]},autocompleteBind(){return{...this.$attrs,"root-class":this.computedClass("autocompleteClasses.rootClass","o-inputit__autocomplete"),"input-classes":{"input-class":this.computedClass("autocompleteClasses.inputClasses.inputClass","o-inputit__input")},...this.autocompleteClasses}},valueLength(){return this.newItem.trim().length},hasDefaultSlot(){return!!this.$slots.default},hasEmptySlot(){return!!this.$slots.empty},hasHeaderSlot(){return!!this.$slots.header},hasFooterSlot(){return!!this.$slots.footer},hasInput(){return this.maxitems==null||this.itemsLengthC?C.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"):null).join("|"),"g"):null},$elementRef(){return"autocomplete"}},watch:{modelValue(A){this.items=Array.isArray(A)?A.slice(0):A||[]},hasInput(){this.hasInput||this.onBlur()}},methods:{addItem(A){const C=A||this.newItem.trim();if(C){if(!this.autocomplete){const n=this.separatorsAsRegExp;if(n&&C.match(n)){C.split(n).map(t=>t.trim()).filter(t=>t.length!==0).map(this.addItem);return}}(this.allowDuplicates?!0:this.items.indexOf(this.createItem(C))===-1)&&this.beforeAdding(C)&&(this.items.push(this.createItem(C)),this.$emit("update:modelValue",this.items),this.$emit("add",C))}requestAnimationFrame(()=>{this.newItem="",this.$emit("typing","")})},getNormalizedItemText(A){return typeof A=="object"&&(A=U(A,this.field)),`${A}`},customOnBlur(A){this.autocomplete||this.addItem(),this.onBlur(A)},onSelect(A){A&&(this.addItem(A),this.$nextTick(()=>{this.newItem=""}))},removeItem(A,C){const e=this.items.splice(A,1)[0];return this.$emit("update:modelValue",this.items),this.$emit("remove",e),C&&C.stopPropagation(),this.openOnFocus&&this.$refs.autocomplete&&this.$refs.autocomplete.focus(),e},removeLastItem(){this.itemsLength>0&&this.removeItem(this.itemsLength-1)},keydown(A){const{key:C}=A;if(this.removeOnKeys.indexOf(C)!==-1&&!this.newItem.length&&this.removeLastItem(),!(this.autocomplete&&!this.allowNew)&&this.confirmKeys.indexOf(C)>=0){if(C!=="Tab"&&A.preventDefault(),C==="Enter"&&this.isComposing)return;this.addItem()}},onTyping(A){this.$emit("typing",A.trim())}}});function w3(A,C,e,n,t,i){const s=AA("o-icon"),o=AA("o-autocomplete");return h(),S("div",{class:A.rootClasses},[k("div",{class:A.containerClasses,onClick:C[6]||(C[6]=l=>A.hasInput&&A.focus(l))},[fA(A.$slots,"selected",{items:A.items},()=>[(h(!0),S(gA,null,JA(A.items,(l,a)=>(h(),S("span",{key:A.getNormalizedItemText(l)+a,class:A.itemClasses},[k("span",null,lA(A.getNormalizedItemText(l)),1),A.closable?k(s,{key:0,class:A.closeClasses,clickable:"",both:"",icon:A.closeIcon,onClick:r=>A.removeItem(a,r),"aria-label":A.ariaCloseLabel},null,8,["class","icon","onClick","aria-label"]):L("v-if",!0)],2))),128))]),A.hasInput?k(o,lC({key:0,ref:"autocomplete",modelValue:A.newItem,"onUpdate:modelValue":C[1]||(C[1]=l=>A.newItem=l)},A.autocompleteBind,{data:A.data,field:A.field,icon:A.icon,"icon-pack":A.iconPack,maxlength:A.maxlength,"has-counter":!1,size:A.size,disabled:A.disabled,autocomplete:A.nativeAutocomplete,"open-on-focus":A.openOnFocus,"keep-first":A.keepFirst,"keep-open":A.openOnFocus,"group-field":A.groupField,"group-options":A.groupOptions,"use-html5-validation":A.useHtml5Validation,"check-infinite-scroll":A.checkInfiniteScroll,"append-to-body":A.appendToBody,"confirm-keys":A.confirmKeys,onTyping:A.onTyping,onFocus:A.onFocus,onBlur:A.customOnBlur,onKeydown:A.keydown,onCompositionstart:C[2]||(C[2]=l=>A.isComposing=!0),onCompositionend:C[3]||(C[3]=l=>A.isComposing=!1),onSelect:A.onSelect,"onInfinite-scroll":C[4]||(C[4]=l=>A.$emit("infinite-scroll",l)),"onIcon-right-click":C[5]||(C[5]=l=>A.$emit("icon-right-click",l))}),lr({_:2},[A.hasHeaderSlot?{name:"header",fn:SA(()=>[fA(A.$slots,"header")])}:void 0,A.hasDefaultSlot?{name:"default",fn:SA(l=>[fA(A.$slots,"default",{option:l.option,index:l.index})])}:void 0,A.hasEmptySlot?{name:"empty",fn:SA(()=>[fA(A.$slots,"empty")])}:void 0,A.hasFooterSlot?{name:"footer",fn:SA(()=>[fA(A.$slots,"footer")])}:void 0]),1040,["modelValue","data","field","icon","icon-pack","maxlength","size","disabled","autocomplete","open-on-focus","keep-first","keep-open","group-field","group-options","use-html5-validation","check-infinite-scroll","append-to-body","confirm-keys","onTyping","onFocus","onBlur","onKeydown","onSelect"]):L("v-if",!0)],2),A.hasCounter&&(A.maxitems||A.maxlength)?(h(),S("small",{key:0,class:A.counterClasses},[A.maxlength&&A.valueLength>0?(h(),S(gA,{key:0},[cC(lA(A.valueLength)+" / "+lA(A.maxlength),1)],64)):A.maxitems?(h(),S(gA,{key:1},[cC(lA(A.itemsLength)+" / "+lA(A.maxitems),1)],64)):L("v-if",!0)],2)):L("v-if",!0)],2)}Br.render=w3;Br.__file="src/components/inputitems/Inputitems.vue";var B3={install(A){eC(A,Br)}};const S3=B3,d1=typeof window>"u",k3=d1?Object:window.HTMLElement,x3=d1?Object:window.File;var St=KA({name:"OLoading",components:{[dC.name]:dC},mixins:[CC],configField:"loading",emits:["update:active","close","update:full-page"],props:{active:Boolean,programmatic:Object,promise:Promise,container:[Object,Function,k3],fullPage:{type:Boolean,default:!0},animation:{type:String,default:()=>U(q(),"loading.animation","fade")},canCancel:{type:Boolean,default:!1},onCancel:{type:Function,default:()=>{}},icon:{type:String,default:()=>U(q(),"loading.icon","loading")},iconSpin:{type:Boolean,default:!0},iconSize:{type:String,default:"medium"},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],iconClass:[String,Function,Array],fullPageClass:[String,Function,Array]},data(){return{isActive:this.active||!1,displayInFullPage:this.fullPage}},watch:{active(A){this.isActive=A},fullPage(A){this.displayInFullPage=A}},computed:{rootClasses(){return[this.computedClass("rootClass","o-load"),{[this.computedClass("fullPageClass","o-load--fullpage")]:this.displayInFullPage}]},overlayClasses(){return[this.computedClass("overlayClass","o-load__overlay")]},iconClasses(){return[this.computedClass("iconClass","o-load__icon")]}},methods:{cancel(A){!this.canCancel||!this.isActive||this.close({action:"cancel",method:A})},close(){this.onCancel.apply(null,arguments),this.$emit("close"),this.$emit("update:active",!1),this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.remove(this),this.programmatic.resolve&&this.programmatic.resolve.apply(null,arguments),this.isActive=!1,window.requestAnimationFrame(()=>{et(this.$el)}))},keyPress({key:A}){(A==="Escape"||A==="Esc")&&this.cancel("escape")}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},mounted(){this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.add(this),this.container?(this.displayInFullPage=!1,this.$emit("update:full-page",!1),this.container.appendChild(this.$el)):document.body.appendChild(this.$el),this.isActive=!0)},beforeUnmount(){typeof window<"u"&&document.removeEventListener("keyup",this.keyPress)}});function _3(A,C,e,n,t,i){const s=AA("o-icon");return h(),S(he,{name:A.animation},{default:SA(()=>[A.isActive?(h(),S("div",{key:0,class:A.rootClasses},[k("div",{class:A.overlayClasses,onClick:C[1]||(C[1]=o=>A.cancel("outside"))},null,2),fA(A.$slots,"default",{},()=>[k(s,{icon:A.icon,spin:A.iconSpin,size:A.iconSize,class:A.iconClasses,both:""},null,8,["icon","spin","size","class"])])],2)):L("v-if",!0)]),_:1},8,["name"])}St.render=_3;St.__file="src/components/loading/Loading.vue";class Sr{constructor(){this.entries=[]}add(C){this.entries.push(C)}remove(C){let e=this.entries.indexOf(C);this.entries.splice(e,1)}walk(C){this.entries=[...this.entries].filter(e=>C(e)!==!0)}}let p1,Bu=new Sr;const j3={open(A){const e=Lt({programmatic:{instances:Bu}},A);e.promise=new Promise((i,s)=>{e.programmatic.resolve=i,e.programmatic.reject=s});const n=p1||Mo,t=k(St,e);return t.appContext=n._context,fr(t,document.createElement("div")),t.component.proxy},closeAll(){Bu.walk(A=>{A.close(...arguments)})}};var I3={install(A){p1=A,eC(A,St),Do(A,"loading",j3)}};const M3=I3;var kr=KA({name:"OMenu",configField:"menu",mixins:[CC],props:{accordion:{type:Boolean,default:!0},activable:{type:Boolean,default:!0},rootClass:[String,Array,Function]},data(){return{menuItems:[]}},computed:{rootClasses(){return this.computedClass("rootClass","o-menu")}},methods:{registerMenuItem(A){this.menuItems.push(A)},resetMenu(A=[]){this.menuItems.forEach(C=>{A.includes(C)||C.reset()})}},provide(){return{registerMenuItem:this.registerMenuItem,resetMenu:this.resetMenu,accordion:()=>this.accordion,activable:()=>this.activable}}});function D3(A,C,e,n,t,i){return h(),S("div",{class:A.rootClasses},[fA(A.$slots,"default")],2)}kr.render=D3;kr.__file="src/components/menu/Menu.vue";var xr=KA({name:"OMenuList",configField:"menu",mixins:[CC],props:{ariaRole:String,label:String,icon:String,iconPack:String,size:String,listClass:[String,Array,Function],listLabelClass:[String,Array,Function]},computed:{listClasses(){return this.computedClass("listClass","o-menu-list")},labelClasses(){return this.computedClass("listLabelClass","o-menu-label")},computedAriaRole(){return this.ariaRole==="menu"?this.ariaRole:null}}});const P3={key:1};function O3(A,C,e,n,t,i){const s=AA("o-icon");return h(),S("div",null,[A.label||A.$slots.label?(h(),S("div",{key:0,class:A.labelClasses},[A.label&&A.icon?k(s,{key:0,icon:A.icon,pack:A.iconPack,size:A.size},null,8,["icon","pack","size"]):L("v-if",!0),A.label?(h(),S("span",P3,lA(A.label),1)):fA(A.$slots,"label",{key:2})],2)):L("v-if",!0),k("ul",{class:A.listClasses,role:A.computedAriaRole},[fA(A.$slots,"default")],10,["role"])])}xr.render=O3;xr.__file="src/components/menu/MenuList.vue";var _r=KA({name:"OMenuItem",mixins:[CC],configField:"menu",inheritAttrs:!1,props:{label:String,active:Boolean,expanded:Boolean,disabled:Boolean,iconPack:String,icon:String,animation:{type:String,default:"slide"},tag:{type:String,default:"a"},ariaRole:{type:String,default:""},size:String,itemClass:[String,Array,Function],itemActiveClass:[String,Array,Function],itemDisabledClass:[String,Array,Function],itemIconTextClass:[String,Array,Function],itemSubmenuClass:[String,Array,Function],itemWrapperClass:[String,Array,Function]},data(){return{newActive:this.active,newExpanded:this.expanded}},computed:{ariaRoleMenu(){return this.ariaRole==="menuitem"?this.ariaRole:null},itemClasses(){return{[this.computedClass("itemClass","o-menu-item")]:!0,[this.computedClass("itemActiveClass","o-menu-item--active")]:this.newActive,[this.computedClass("itemDisabledClass","o-menu-item--disabled")]:this.disabled,[this.computedClass("itemIconTextClass","o-menu-item--icon-text")]:this.icon}},submenuClasses(){return this.computedClass("itemSubmenuClass","o-menu-item__submenu")},wrapperClasses(){return this.computedClass("itemWrapperClass","o-menu-item__wrapper")}},watch:{active(A){this.newActive=A},expanded(A){this.newExpanded=A}},methods:{handleClick(){this.disabled||(this.triggerReset(),this.newExpanded=this.$props.expanded||!this.newExpanded,this.$emit("update:expanded",this.newExpanded),this.activable&&(this.newActive=!0,this.$emit("update:active",this.newActive)))},triggerReset(A){this.triggerParentReset?this.triggerParentReset(this):this.resetMenu&&this.resetMenu([this,A])},reset(){(!this.$parent.$data.isMenu||this.$parent.$data.isMenu&&this.accordion)&&(this.newExpanded=!1,this.$emit("update:expanded",this.newExpanded)),this.activable&&(this.newActive=!1,this.$emit("update:active",this.newActive))}},mounted(){this.registerMenuItem&&this.registerMenuItem(this)},provide(){return{triggerParentReset:this.triggerReset}},inject:{registerMenuItem:{default:!1},resetMenu:{default:!1},triggerParentReset:{default:!1},accordion:{default:!1},activable:{default:!1}}});const L3={key:1};function K3(A,C,e,n,t,i){const s=AA("o-icon");return h(),S("li",{role:A.ariaRoleMenu,class:A.wrapperClasses},[(h(),S(_n(A.tag),lC(A.$attrs,{class:A.itemClasses,onClick:C[1]||(C[1]=o=>A.handleClick())}),{default:SA(()=>[A.icon?k(s,{key:0,icon:A.icon,pack:A.iconPack,size:A.size},null,8,["icon","pack","size"]):L("v-if",!0),A.label?(h(),S("span",L3,lA(A.label),1)):fA(A.$slots,"label",{key:2,expanded:A.newExpanded,active:A.newActive})]),_:1},16,["class"])),L(" sub menu items "),A.$slots.default?k(he,{key:0,name:A.animation},{default:SA(()=>[HA(k("ul",{class:A.submenuClasses},[fA(A.$slots,"default")],2),[[fC,A.newExpanded]])]),_:3},8,["name"]):L("v-if",!0)],10,["role"])}_r.render=K3;_r.__file="src/components/menu/MenuItem.vue";var T3={install(A){eC(A,kr),eC(A,xr),eC(A,_r)}};const F3=T3;var Po=KA({name:"OModal",components:{[dC.name]:dC},configField:"modal",directives:{trapFocus:m1},mixins:[CC,ln],emits:["update:active","close"],props:{active:Boolean,component:[Object,Function],content:String,programmatic:Object,promise:Promise,props:Object,events:Object,width:{type:[String,Number],default:()=>U(q(),"modal.width",960)},animation:{type:String,default:()=>U(q(),"modal.animation","zoom-out")},canCancel:{type:[Array,Boolean],default:()=>U(q(),"modal.canCancel",["escape","x","outside","button"])},onCancel:{type:Function,default:()=>{}},onClose:{type:Function,default:()=>{}},scroll:{type:String,default:()=>U(q(),"modal.scroll","keep")},fullScreen:Boolean,trapFocus:{type:Boolean,default:()=>U(q(),"modal.trapFocus",!0)},ariaRole:{type:String,validator:A=>["dialog","alertdialog"].indexOf(A)>=0},ariaModal:Boolean,ariaLabel:String,destroyOnHide:{type:Boolean,default:()=>U(q(),"modal.destroyOnHide",!0)},autoFocus:{type:Boolean,default:()=>U(q(),"modal.autoFocus",!0)},closeIcon:{type:String,default:()=>U(q(),"modal.closeIcon","close")},closeIconSize:{type:String,default:"medium"},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],contentClass:[String,Function,Array],closeClass:[String,Function,Array],fullScreenClass:[String,Function,Array],mobileClass:[String,Function,Array],scrollClipClass:[String,Function,Array],noScrollClass:[String,Function,Array]},data(){return{isActive:this.active||!1,savedScrollTop:null,newWidth:Wn(this.width),animating:!this.active,destroyed:!this.active}},computed:{rootClasses(){return[this.computedClass("rootClass","o-modal"),{[this.computedClass("mobileClass","o-modal--mobile")]:this.isMatchMedia}]},overlayClasses(){return[this.computedClass("overlayClass","o-modal__overlay")]},contentClasses(){return[this.computedClass("contentClass","o-modal__content"),{[this.computedClass("fullScreenClass","o-modal__content--full-screen")]:this.fullScreen}]},closeClasses(){return[this.computedClass("closeClass","o-modal__close")]},scrollClass(){return this.scroll==="clip"?this.computedClass("scrollClipClass","o-clipped"):this.computedClass("noScrollClass","o-noscroll")},cancelOptions(){return typeof this.canCancel=="boolean"?this.canCancel?U(q(),"modal.canCancel",["escape","x","outside","button"]):[]:this.canCancel},showX(){return this.cancelOptions.indexOf("x")>=0},customStyle(){return this.fullScreen?null:{maxWidth:this.newWidth}}},watch:{active(A){this.isActive=A},isActive(A){A&&(this.destroyed=!1),this.handleScroll(),this.$nextTick(()=>{A&&this.$el&&this.$el.focus&&this.autoFocus&&this.$el.focus()})}},methods:{handleScroll(){if(!(typeof window>"u")){if(this.scroll==="clip"&&this.scrollClass){this.isActive?document.documentElement.classList.add(this.scrollClass):document.documentElement.classList.remove(this.scrollClass);return}if(this.savedScrollTop=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop,this.scrollClass&&(this.isActive?document.body.classList.add(this.scrollClass):document.body.classList.remove(this.scrollClass)),this.isActive){document.body.style.top=`-${this.savedScrollTop}px`;return}document.documentElement.scrollTop=this.savedScrollTop,document.body.style.top=null,this.savedScrollTop=null}},cancel(A){this.cancelOptions.indexOf(A)<0||(this.onCancel.apply(null,arguments),this.close({action:"cancel",method:A}))},close(){this.isActive=!1,this.destroyOnHide&&(this.destroyed=!0),this.$emit("update:active",!1),this.onClose.apply(null,arguments),this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.remove(this),this.programmatic.resolve&&this.programmatic.resolve.apply(null,arguments),window.requestAnimationFrame(()=>{et(this.$el)}))},keyPress({key:A}){this.isActive&&(A==="Escape"||A==="Esc")&&this.cancel("escape")},afterEnter(){this.animating=!1},beforeLeave(){this.animating=!0}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},mounted(){this.programmatic?(this.programmatic.instances&&this.programmatic.instances.add(this),document.body.appendChild(this.$el),this.isActive=!0):this.isActive&&this.handleScroll()},beforeUnmount(){if(typeof window<"u"){document.removeEventListener("keyup",this.keyPress);const A=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop;this.scrollClass&&(document.body.classList.remove(this.scrollClass),document.documentElement.classList.remove(this.scrollClass)),document.documentElement.scrollTop=A,document.body.style.top=null}}});const N3={key:1};function $3(A,C,e,n,t,i){const s=AA("o-icon"),o=lp("trap-focus");return h(),S(he,{name:A.animation,"onAfter-enter":A.afterEnter,"onBefore-leave":A.beforeLeave},{default:SA(()=>[A.destroyed?L("v-if",!0):HA((h(),S("div",{key:0,class:A.rootClasses,tabindex:-1,role:A.ariaRole,"aria-label":A.ariaLabel,"aria-modal":A.ariaModal},[k("div",{class:A.overlayClasses,onClick:C[1]||(C[1]=l=>A.cancel("outside"))},null,2),k("div",{class:A.contentClasses,style:A.customStyle},[A.component?(h(),S(_n(A.component),lC({key:0},A.props,rp(A.events||{}),{onClose:A.close}),null,16,["onClose"])):A.content?(h(),S("div",N3,lA(A.content),1)):fA(A.$slots,"default",{key:2}),A.showX?HA(k(s,{key:3,clickable:"",both:"",class:A.closeClasses,icon:A.closeIcon,size:A.closeIconSize,onClick:C[2]||(C[2]=l=>A.cancel("x"))},null,8,["class","icon","size"]),[[fC,!A.animating]]):L("v-if",!0)],6)],10,["role","aria-label","aria-modal"])),[[fC,A.isActive],[o,A.trapFocus]])]),_:1},8,["name","onAfter-enter","onBefore-leave"])}Po.render=$3;Po.__file="src/components/modal/Modal.vue";let f1,bl=new Sr;const R3={open(A){let C;typeof A=="string"?C={content:A}:C=A;const e={programmatic:{instances:bl}};let n;Array.isArray(C.content)&&(n=C.content,delete C.content);const t=Lt(e,C);t.promise=new Promise((l,a)=>{t.programmatic.resolve=l,t.programmatic.reject=a});const i=f1||Mo,o=k(Po,t,()=>n);return o.appContext=i._context,fr(o,document.createElement("div")),o.component.proxy},closeAll(){console.log(bl),bl.walk(A=>{A.close(...arguments)})}};var G3={install(A){f1=A,eC(A,Po),Do(A,"modal",R3)}};const U3=G3;var H3={components:{[dC.name]:dC},props:{active:{type:Boolean,default:!0},closable:{type:Boolean,default:!1},message:String,type:String,hasIcon:Boolean,icon:String,iconPack:String,iconSize:{type:String,default:"large"},autoClose:{type:Boolean,default:!1},duration:{type:Number,default:2e3}},data(){return{isActive:this.active}},watch:{active(A){this.isActive=A},isActive(A){A?this.setAutoClose():this.timer&&clearTimeout(this.timer)}},computed:{computedIcon(){if(this.icon)return this.icon;switch(this.type){case"info":return"information";case"success":return"check-circle";case"warning":return"alert";case"danger":return"alert-circle";default:return null}}},methods:{close(){this.isActive=!1,this.$emit("close",...arguments),this.$emit("update:active",!1)},setAutoClose(){this.autoClose&&(this.timer=setTimeout(()=>{this.isActive&&this.close({action:"close",method:"timeout"})},this.duration))}},mounted(){this.setAutoClose()}},jr={name:"ONotification",configField:"notification",mixins:[CC,H3],emits:["update:active","close"],props:{position:String,variant:[String,Object],ariaCloseLabel:String,closeIconSize:{type:String,default:"small"},animation:{type:String,default:"fade"},component:[Object,Function],props:Object,events:{type:Object,default:()=>({})},closeIcon:{type:String,default:()=>U(q(),"notification.closeIcon","close")},rootClass:[String,Function,Array],closeClass:[String,Function,Array],contentClass:[String,Function,Array],iconClass:[String,Function,Array],positionClass:[String,Function,Array],variantClass:[String,Function,Array],wrapperClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-notification"),{[this.computedClass("variantClass","o-notification--",this.variant)]:this.variant},{[this.computedClass("positionClass","o-notification--",this.position)]:this.position}]},wrapperClasses(){return[this.computedClass("wrapperClass","o-notification__wrapper")]},iconClasses(){return[this.computedClass("iconClass","o-notification__icon")]},contentClasses(){return[this.computedClass("contentClass","o-notification__content")]},closeClasses(){return[this.computedClass("closeClass","o-notification__close")]}}};function Q3(A,C,e,n,t,i){const s=AA("o-icon");return h(),S(he,{name:e.animation},{default:SA(()=>[HA(k("article",{class:i.rootClasses},[A.closable?(h(),S("button",{key:0,class:i.closeClasses,type:"button",onClick:C[1]||(C[1]=o=>A.close({action:"close",method:"x"})),"aria-label":e.ariaCloseLabel},[k(s,{clickable:"",pack:A.iconPack,both:"",icon:e.closeIcon,size:e.closeIconSize},null,8,["pack","icon","size"])],10,["aria-label"])):L("v-if",!0),e.component?(h(),S(_n(e.component),lC({key:1},e.props,rp(e.events),{onClose:A.close}),null,16,["onClose"])):L("v-if",!0),A.$slots.default||A.message?(h(),S("div",{key:2,class:i.wrapperClasses},[A.computedIcon?k(s,{key:0,icon:A.computedIcon,pack:A.iconPack,class:i.iconClasses,both:"",size:A.iconSize,"aria-hidden":""},null,8,["icon","pack","class","size"]):L("v-if",!0),k("div",{class:i.contentClasses},[A.message?(h(),S("span",{key:0,innerHTML:A.message},null,8,["innerHTML"])):fA(A.$slots,"default",{key:1,closeNotification:A.close})],2)],2)):L("v-if",!0)],2),[[fC,A.isActive]])]),_:1},8,["name"])}jr.render=Q3;jr.__file="src/components/notification/Notification.vue";var V3={props:{type:{type:String},message:[String,Array],duration:{type:Number,default:()=>U(q(),"notification.duration",1e3)},queue:{type:Boolean,default:()=>U(q(),"notification.noticeQueue",void 0)},indefinite:{type:Boolean,default:!1},position:{type:String,default:"top",validator(A){return["top-right","top","top-left","bottom-right","bottom","bottom-left"].indexOf(A)>-1}},container:{type:String,default:()=>U(q(),"notification.containerElement",void 0)},programmatic:Object,promise:Promise,onClose:{type:Function,default:()=>{}}},data(){return{isActive:!1,parentTop:null,parentBottom:null,newDuration:this.duration,newContainer:this.container}},computed:{correctParent(){switch(this.position){case"top-right":case"top":case"top-left":return this.parentTop;case"bottom-right":case"bottom":case"bottom-left":return this.parentBottom}},transition(){switch(this.position){case"top-right":case"top":case"top-left":return{enter:"fadeInDown",leave:"fadeOut"};case"bottom-right":case"bottom":case"bottom-left":return{enter:"fadeInUp",leave:"fadeOut"}}}},methods:{shouldQueue(){return this.queue?this.parentTop.childElementCount>0||this.parentBottom.childElementCount>0:!1},close(){clearTimeout(this.timer),this.$emit("close"),this.onClose.apply(null,arguments),this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.remove(this),this.programmatic.resolve&&this.programmatic.resolve.apply(null,arguments)),setTimeout(()=>{this.isActive=!1,et(this.$el)},150)},showNotice(){this.shouldQueue()&&(this.correctParent.innerHTML=""),this.correctParent.insertAdjacentElement("afterbegin",this.$el),this.isActive=!0,this.indefinite||(this.timer=setTimeout(()=>this.timeoutCallback(),this.newDuration))},setupContainer(){if(this.rootClasses()&&this.positionClasses("top")&&this.positionClasses("bottom")){if(this.parentTop=document.querySelector((this.newContainer?this.newContainer:"body")+`>.${this.rootClasses().join(".")}.${this.positionClasses("top").join(".")}`),this.parentBottom=document.querySelector((this.newContainer?this.newContainer:"body")+`>.${this.rootClasses().join(".")}.${this.positionClasses("bottom").join(".")}`),this.parentTop&&this.parentBottom)return;this.parentTop||(this.parentTop=document.createElement("div"),this.parentTop.className=`${this.rootClasses().join(" ")} ${this.positionClasses("top").join(" ")}`),this.parentBottom||(this.parentBottom=document.createElement("div"),this.parentBottom.className=`${this.rootClasses().join(" ")} ${this.positionClasses("bottom").join(" ")}`);const A=document.querySelector(this.newContainer)||document.body;if(A.appendChild(this.parentTop),A.appendChild(this.parentBottom),this.newContainer){const C=this.noticeCustomContainerClasses();C&&C.length&&C.filter(e=>!!e).forEach(e=>{this.parentTop.classList.add(e),this.parentBottom.classList.add(e)})}}},timeoutCallback(){return this.close({action:"close",method:"timeout"})}},beforeMount(){this.setupContainer()},mounted(){this.programmatic&&this.programmatic.instances&&this.programmatic.instances.add(this),this.showNotice()}},Ir=KA({name:"ONotificationNotice",configField:"notification",mixins:[CC,V3],props:{propsNotification:Object,noticeClass:[String,Function,Array],noticePositionClass:[String,Function,Array],noticeCustomContainerClass:[String,Function,Array]},emits:["update:active","close"],methods:{rootClasses(){return[this.computedClass("noticeClass","o-notices")]},positionClasses(A){return[this.computedClass("noticePositionClass","o-notices--",A)]},noticeCustomContainerClasses(){return[this.computedClass("noticeCustomContainerClass","o-notices__custom-container")]},timeoutCallback(){return this.$refs.notification.close({action:"close",method:"timeout"})}}});function z3(A,C,e,n,t,i){const s=AA("o-notification");return h(),S(s,lC(A.propsNotification,{ref:"notification",onClose:A.close}),{default:SA(()=>[fA(A.$slots,"default")]),_:3},16,["onClose"])}Ir.render=z3;Ir.__file="src/components/notification/NotificationNotice.vue";let h1,Su=new Sr;const q3={open(A){let C;typeof A=="string"?C={message:A}:C=A;const e={programmatic:{instances:Su},position:U(q(),"notification.position","top-right"),closable:A.closable||U(q(),"notification.closable",!1)};let n;Array.isArray(C.message)&&(n=C.message,delete C.message),C.active=!0;const t=Lt(e,C);t.promise=new Promise((l,a)=>{t.programmatic.resolve=l,t.programmatic.reject=a});const i=h1||Mo;t.propsNotification=Object.assign({},t),t.propsNotification.isActive=!0;const o=k(Ir,t,()=>n);return o.appContext=i._context,fr(o,document.createElement("div")),o.component.proxy},closeAll(){Su.walk(A=>{A.close(...arguments)})}};var W3={install(A){h1=A,eC(A,jr),Do(A,"notification",q3)}};const Y3=W3;var Ei=KA({name:"OPaginationButton",inject:["$pagination"],configField:"pagination",props:{page:{type:Object,required:!0},tag:{type:String,default:"a",validator:A=>U(q(),"linkTags",["a","button","input","router-link","nuxt-link"]).indexOf(A)>=0},disabled:{type:Boolean,default:!1},linkClass:[String,Array,Object],linkCurrentClass:[String,Array,Object]},computed:{linkClasses(){return[this.linkClass||[...this.$pagination.linkClasses],this.page.class,{[this.linkCurrentClass||this.$pagination.linkCurrentClasses]:this.page.isCurrent}]},href(){return this.tag==="a"?"#":""},isDisabled(){return this.tag==="a"?null:this.disabled||this.page.disabled}}});function J3(A,C,e,n,t,i){return h(),S(_n(A.tag),lC({role:"button",href:A.href,disabled:A.isDisabled,class:A.linkClasses},A.$attrs,{onClick:MA(A.page.click,["prevent"]),"aria-label":A.page["aria-label"],"aria-current":A.page.isCurrent}),{default:SA(()=>[fA(A.$slots,"default",{},()=>[cC(lA(A.page.number),1)])]),_:3},16,["href","disabled","class","onClick","aria-label","aria-current"])}Ei.render=J3;Ei.__file="src/components/pagination/PaginationButton.vue";var yi=KA({name:"OPagination",components:{[dC.name]:dC,[Ei.name]:Ei},configField:"pagination",mixins:[CC,ln],provide(){return{$pagination:this}},emits:["update:active","change","update:current"],props:{total:[Number,String],perPage:{type:[Number,String],default:()=>U(q(),"pagination.perPage",20)},current:{type:[Number,String],default:1},rangeBefore:{type:[Number,String],default:1},rangeAfter:{type:[Number,String],default:1},size:String,simple:Boolean,rounded:Boolean,order:{type:String,default:()=>U(q(),"pagination.order","right")},iconPack:String,iconPrev:{type:String,default:()=>U(q(),"pagination.iconPrev","chevron-left")},iconNext:{type:String,default:()=>U(q(),"pagination.iconNext","chevron-right")},ariaNextLabel:String,ariaPreviousLabel:String,ariaPageLabel:String,ariaCurrentLabel:String,rootClass:[String,Function,Array],prevBtnClass:[String,Function,Array],nextBtnClass:[String,Function,Array],listClass:[String,Function,Array],linkClass:[String,Function,Array],linkCurrentClass:[String,Function,Array],ellipsisClass:[String,Function,Array],infoClass:[String,Function,Array],orderClass:[String,Function,Array],simpleClass:[String,Function,Array],roundedClass:[String,Function,Array],linkDisabledClass:[String,Function,Array],sizeClass:[String,Function,Array],mobileClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-pag"),{[this.computedClass("orderClass","o-pag--",this.order)]:this.order},{[this.computedClass("sizeClass","o-pag--",this.size)]:this.size},{[this.computedClass("simpleClass","o-pag--simple")]:this.simple},{[this.computedClass("mobileClass","o-pag--mobile")]:this.isMatchMedia}]},prevBtnClasses(){return[this.computedClass("prevBtnClass","o-pag__previous"),{[this.computedClass("linkDisabledClass","o-pag__link--disabled")]:!this.hasPrev}]},nextBtnClasses(){return[this.computedClass("nextBtnClass","o-pag__next"),{[this.computedClass("linkDisabledClass","o-pag__link--disabled")]:!this.hasNext}]},infoClasses(){return[this.computedClass("infoClass","o-pag__info")]},ellipsisClasses(){return[this.computedClass("ellipsisClass","o-pag__ellipsis")]},listClasses(){return[this.computedClass("listClass","o-pag__list")]},linkClasses(){return[this.computedClass("linkClass","o-pag__link"),{[this.computedClass("roundedClass","o-pag__link--rounded")]:this.rounded}]},linkCurrentClasses(){return[this.computedClass("linkCurrentClass","o-pag__link--current")]},beforeCurrent(){return parseInt(this.rangeBefore)},afterCurrent(){return parseInt(this.rangeAfter)},pageCount(){return Math.ceil(this.total/this.perPage)},firstItem(){const A=this.current*this.perPage-this.perPage+1;return A>=0?A:0},hasPrev(){return this.current>1},hasFirst(){return this.current>=2+this.beforeCurrent},hasFirstEllipsis(){return this.current>=this.beforeCurrent+4},hasLast(){return this.current<=this.pageCount-(1+this.afterCurrent)},hasLastEllipsis(){return this.currentA&&this.last()}},methods:{prev(A){this.changePage(this.current-1,A)},next(A){this.changePage(this.current+1,A)},first(A){this.changePage(1,A)},last(A){this.changePage(this.pageCount,A)},changePage(A,C){this.current===A||A<1||A>this.pageCount||(this.$emit("change",A),this.$emit("update:current",A),C&&C.target&&this.$nextTick(()=>C.target.focus()))},getPage(A,C={}){return{number:A,isCurrent:this.current===A,click:e=>this.changePage(A,e),disabled:C.disabled||!1,class:C.class||"","aria-label":C["aria-label"]||this.getAriaPageLabel(A,this.current===A)}},getAriaPageLabel(A,C){return this.ariaPageLabel&&(!C||!this.ariaCurrentLabel)?this.ariaPageLabel+" "+A+".":this.ariaPageLabel&&C&&this.ariaCurrentLabel?this.ariaCurrentLabel+", "+this.ariaPageLabel+" "+A+".":null}}});const X3={key:0},Z3={key:1},AE={key:2},CE={key:3};function eE(A,C,e,n,t,i){const s=AA("o-icon"),o=AA("o-pagination-button");return h(),S("nav",{class:A.rootClasses},[A.hasPreviousSlot?fA(A.$slots,"previous",{key:0,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current-1,{class:A.prevBtnClasses,"aria-label":A.ariaPreviousLabel})},()=>[k(s,{icon:A.iconPrev,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]):k(o,{key:1,class:A.prevBtnClasses,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current-1)},{default:SA(()=>[k(s,{icon:A.iconPrev,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]),_:1},8,["class","linkClass","linkCurrentClass","page"]),A.hasNextSlot?fA(A.$slots,"next",{key:2,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current+1,{class:A.nextBtnClasses,"aria-label":A.ariaNextLabel})},()=>[k(s,{icon:A.iconNext,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]):k(o,{key:3,class:A.nextBtnClasses,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current+1)},{default:SA(()=>[k(s,{icon:A.iconNext,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]),_:1},8,["class","linkClass","linkCurrentClass","page"]),A.simple?(h(),S("small",{key:4,class:A.infoClasses},[A.perPage==1?(h(),S(gA,{key:0},[cC(lA(A.firstItem)+" / "+lA(A.total),1)],64)):(h(),S(gA,{key:1},[cC(lA(A.firstItem)+"-"+lA(Math.min(A.current*A.perPage,A.total))+" / "+lA(A.total),1)],64))],2)):(h(),S("ul",{key:5,class:A.listClasses},[L("First"),A.hasFirst?(h(),S("li",X3,[A.hasDefaultSlot?fA(A.$slots,"default",{key:0,page:A.getPage(1),linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses}):k(o,{key:1,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(1)},null,8,["linkClass","linkCurrentClass","page"])])):L("v-if",!0),A.hasFirstEllipsis?(h(),S("li",Z3,[k("span",{class:A.ellipsisClasses},"…",2)])):L("v-if",!0),L("Pages"),(h(!0),S(gA,null,JA(A.pagesInRange,l=>(h(),S("li",{key:l.number},[A.hasDefaultSlot?fA(A.$slots,"default",{key:0,page:l,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses}):k(o,{key:1,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:l},null,8,["linkClass","linkCurrentClass","page"])]))),128)),L("Last"),A.hasLastEllipsis?(h(),S("li",AE,[k("span",{class:A.ellipsisClasses},"…",2)])):L("v-if",!0),A.hasLast?(h(),S("li",CE,[A.hasDefaultSlot?fA(A.$slots,"default",{key:0,page:A.getPage(A.pageCount),linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses}):k(o,{key:1,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.pageCount)},null,8,["linkClass","linkCurrentClass","page"])])):L("v-if",!0)],2))],2)}yi.render=eE;yi.__file="src/components/pagination/Pagination.vue";var nE={install(A){eC(A,yi),eC(A,Ei)}};const tE=nE;var Mr=KA({name:"ORadio",mixins:[CC,c1],configField:"radio",emits:["input"],props:{rootClass:[String,Function,Array],disabledClass:[String,Function,Array],checkCheckedClass:[String,Function,Array],checkClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{isChecked(){return this.modelValue===this.nativeValue},rootClasses(){return[this.computedClass("rootClass","o-radio"),{[this.computedClass("checkedClass","o-radio--checked")]:this.isChecked},{[this.computedClass("sizeClass","o-radio--",this.size)]:this.size},{[this.computedClass("disabledClass","o-radio--disabled")]:this.disabled},{[this.computedClass("variantClass","o-radio--",this.variant)]:this.variant}]},checkClasses(){return[this.computedClass("checkClass","o-radio__check"),{[this.computedClass("checkCheckedClass","o-radio__check--checked")]:this.isChecked}]},labelClasses(){return[this.computedClass("labelClass","o-radio__label")]}}});function iE(A,C,e,n,t,i){return h(),S("label",{class:A.rootClasses,ref:"label",onClick:C[3]||(C[3]=MA((...s)=>A.focus(...s),["stop"])),onKeydown:C[4]||(C[4]=mC(MA(s=>A.$refs.label.click(),["prevent"]),["enter"]))},[HA(k("input",{"onUpdate:modelValue":C[1]||(C[1]=s=>A.computedValue=s),type:"radio",ref:"input",onClick:C[2]||(C[2]=MA(()=>{},["stop"])),class:A.checkClasses,disabled:A.disabled,required:A.required,name:A.name,value:A.nativeValue},null,10,["disabled","required","name","value"]),[[Np,A.computedValue]]),k("span",{class:A.labelClasses},[fA(A.$slots,"default")],2)],34)}Mr.render=iE;Mr.__file="src/components/radio/Radio.vue";var sE={install(A){eC(A,Mr)}};const oE=sE;var lE={install(A){eC(A,nn)}};const aE=lE;var g1=KA({name:"OSkeleton",mixins:[CC],configField:"skeleton",props:{active:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},width:[Number,String],height:[Number,String],circle:Boolean,rounded:{type:Boolean,default:!0},count:{type:Number,default:1},position:{type:String,default:"left",validator(A){return["left","centered","right"].indexOf(A)>-1}},size:String,rootClass:[String,Function,Array],animationClass:[String,Function,Array],positionClass:[String,Function,Array],itemClass:[String,Function,Array],itemRoundedClass:[String,Function,Array],sizeClass:[String,Function,Array]},render(){if(!this.active)return;const A=[],C=this.width,e=this.height;for(let n=0;nU(q(),"sidebar.position","fixed"),validator:A=>["fixed","absolute","static"].indexOf(A)>=0},fullheight:Boolean,fullwidth:Boolean,right:Boolean,mobile:{type:String,validator:A=>["","fullwidth","reduced","hidden"].indexOf(A)>=0},reduce:Boolean,expandOnHover:Boolean,expandOnHoverFixed:Boolean,canCancel:{type:[Array,Boolean],default:()=>U(q(),"sidebar.canCancel",["escape","outside"])},onCancel:{type:Function,default:()=>{}},scroll:{type:String,default:()=>U(q(),"sidebar.scroll","clip"),validator:A=>["clip","keep"].indexOf(A)>=0},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],contentClass:[String,Function,Array],fixedClass:[String,Function,Array],staticClass:[String,Function,Array],absoluteClass:[String,Function,Array],fullheightClass:[String,Function,Array],fullwidthClass:[String,Function,Array],rightClass:[String,Function,Array],reduceClass:[String,Function,Array],expandOnHoverClass:[String,Function,Array],expandOnHoverFixedClass:[String,Function,Array],variantClass:[String,Function,Array],mobileClass:[String,Function,Array],scrollClipClass:[String,Function,Array],noScrollClass:[String,Function,Array],hiddenClass:[String,Function,Array],visibleClass:[String,Function,Array]},data(){return{isOpen:this.open,transitionName:null,animating:!0,savedScrollTop:null}},computed:{rootClasses(){return[this.computedClass("rootClass","o-side"),{[this.computedClass("mobileClass","o-side--mobile")]:this.isMatchMedia}]},overlayClasses(){return[this.computedClass("overlayClass","o-side__overlay")]},contentClasses(){return[this.computedClass("contentClass","o-side__content"),{[this.computedClass("variantClass","o-side__content--",this.variant)]:this.variant},{[this.computedClass("fixedClass","o-side__content--fixed")]:this.isFixed},{[this.computedClass("staticClass","o-side__content--static")]:this.isStatic},{[this.computedClass("absoluteClass","o-side__content--absolute")]:this.isAbsolute},{[this.computedClass("fullheightClass","o-side__content--fullheight")]:this.fullheight},{[this.computedClass("fullwidthClass","o-side__content--fullwidth")]:this.fullwidth||this.mobile==="fullwidth"&&this.isMatchMedia},{[this.computedClass("rightClass","o-side__content--right")]:this.right},{[this.computedClass("reduceClass","o-side__content--mini")]:this.reduce||this.mobile==="reduced"&&this.isMatchMedia},{[this.computedClass("expandOnHoverClass","o-side__content--mini-expand")]:this.expandOnHover&&this.mobile!=="fullwidth"},{[this.computedClass("expandOnHoverFixedClass","o-side__content--expand-mini-hover-fixed")]:this.expandOnHover&&this.expandOnHoverFixed&&this.mobile!=="fullwidth"},{[this.computedClass("visibleClass","o-side__content--visible")]:this.isOpen},{[this.computedClass("hiddenClass","o-side__content--hidden")]:!this.isOpen}]},scrollClass(){return this.scroll==="clip"?this.computedClass("scrollClipClass","o-clipped"):this.computedClass("noScrollClass","o-noscroll")},cancelOptions(){return typeof this.canCancel=="boolean"?this.canCancel?U(q(),"sidebar.canCancel",["escape","outside"]):[]:this.canCancel},isStatic(){return this.position==="static"},isFixed(){return this.position==="fixed"},isAbsolute(){return this.position==="absolute"},hideOnMobile(){return this.mobile==="hidden"&&this.isMatchMedia}},watch:{open:{handler(A){this.isOpen=A,this.overlay&&this.handleScroll();const C=this.right?!A:A;this.transitionName=C?"slide-next":"slide-prev"},immediate:!0}},methods:{keyPress({key:A}){this.isFixed&&this.isOpen&&(A==="Escape"||A==="Esc")&&this.cancel("escape")},cancel(A){this.cancelOptions.indexOf(A)<0||this.isStatic||(this.onCancel.apply(null,arguments),this.close())},close(){this.isOpen=!1,this.$emit("close"),this.$emit("update:open",!1)},clickedOutside(A){!this.isFixed||!this.isOpen||this.animating||A.composedPath().includes(this.$refs.sidebarContent)||this.cancel("outside")},beforeEnter(){this.animating=!0},afterEnter(){this.animating=!1},handleScroll(){if(!(typeof window>"u")){if(this.scroll==="clip"&&this.scrollClass){this.open?document.documentElement.classList.add(this.scrollClass):document.documentElement.classList.remove(this.scrollClass);return}if(this.savedScrollTop=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop,this.scrollClass&&(this.open?document.body.classList.add(this.scrollClass):document.body.classList.remove(this.scrollClass)),this.open){document.body.style.top=`-${this.savedScrollTop}px`;return}document.documentElement.scrollTop=this.savedScrollTop,document.body.style.top=null,this.savedScrollTop=null}}},created(){typeof window<"u"&&(document.addEventListener("keyup",this.keyPress),document.addEventListener("click",this.clickedOutside))},mounted(){typeof window<"u"&&(this.isFixed&&document.body.appendChild(this.$el),this.overlay&&this.open&&this.handleScroll())},beforeUnmount(){if(typeof window<"u"&&(document.removeEventListener("keyup",this.keyPress),document.removeEventListener("click",this.clickedOutside),this.overlay)){const A=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop;this.scrollClass&&(document.body.classList.remove(this.scrollClass),document.documentElement.classList.remove(this.scrollClass)),document.documentElement.scrollTop=A,document.body.style.top=null}this.isFixed&&et(this.$el)}});function uE(A,C,e,n,t,i){return HA((h(),S("div",{class:A.rootClasses},[A.overlay&&A.isOpen?(h(),S("div",{key:0,class:A.overlayClasses},null,2)):L("v-if",!0),k(he,{name:A.transitionName,"onBefore-enter":A.beforeEnter,"onAfter-enter":A.afterEnter},{default:SA(()=>[HA(k("div",{ref:"sidebarContent",class:A.contentClasses},[fA(A.$slots,"default")],2),[[fC,A.isOpen]])]),_:3},8,["name","onBefore-enter","onAfter-enter"])],2)),[[fC,!A.hideOnMobile]])}Dr.render=uE;Dr.__file="src/components/sidebar/Sidebar.vue";var mE={install(A){eC(A,Dr)}};const dE=mE,El={top:"bottom",bottom:"top",right:"left",left:"right"};function pE(A,C){const e=Math.max(A.left,C.left),n=Math.min(A.right,C.right),t=Math.max(A.top,C.top),i=Math.min(A.bottom,C.bottom);return Math.max(n-e,0)*Math.max(i-t,0)}const ku=A=>({top:{x:(A.left+A.right)*.5,y:A.top},bottom:{x:(A.left+A.right)*.5,y:A.bottom},left:{x:A.left,y:(A.top+A.bottom)*.5},right:{x:A.right,y:(A.top+A.bottom)*.5}});var vi=KA({name:"OTooltip",mixins:[CC],configField:"tooltip",emits:["open","close"],props:{active:{type:Boolean,default:!0},label:String,delay:Number,position:{type:String,default:()=>U(q(),"tooltip.position","top"),validator:A=>["top","bottom","left","right","auto"].indexOf(A)>-1},triggers:{type:Array,default:()=>U(q(),"tooltip.triggers",["hover"])},always:Boolean,animated:{type:Boolean,default:!0},animation:{type:String,default:()=>U(q(),"tooltip.animation","fade")},autoClose:{type:[Array,Boolean],default:!0},multiline:Boolean,appendToBody:Boolean,variant:[String,Function,Array],rootClass:[String,Function,Array],contentClass:[String,Function,Array],orderClass:[String,Function,Array],triggerClass:[String,Function,Array],multilineClass:[String,Function,Array],alwaysClass:[String,Function,Array],variantClass:[String,Function,Array],arrowClass:[String,Function,Array],arrowOrderClass:[String,Function,Array]},data(){return{isActive:!1,triggerStyle:{},bodyEl:void 0,metrics:null}},computed:{rootClasses(){return[this.computedClass("rootClass","o-tip")]},triggerClasses(){return[this.computedClass("triggerClass","o-tip__trigger")]},arrowClasses(){return[this.computedClass("arrowClass","o-tip__arrow"),{[this.computedClass("arrowOrderClass","o-tip__arrow--",this.newPosition)]:this.newPosition},{[this.computedClass("variantArrowClass","o-tip__arrow--",this.variant)]:this.variant}]},contentClasses(){return[this.computedClass("contentClass","o-tip__content"),{[this.computedClass("orderClass","o-tip__content--",this.newPosition)]:this.newPosition},{[this.computedClass("variantClass","o-tip__content--",this.variant)]:this.variant},{[this.computedClass("multilineClass","o-tip__content--multiline")]:this.multiline},{[this.computedClass("alwaysClass","o-tip__content--always")]:this.always}]},newAnimation(){return this.animated?this.animation:void 0},newPosition(){if(this.position!=="auto")return this.position;const A=U(q(),"tooltip.position","top");let C=A;if(this.metrics!=null){let e;const n=window.visualViewport;n!=null?cb()?e=new DOMRect(0,0,n.width,n.height):e=new DOMRect(n.offsetLeft,n.offsetTop,n.width,n.height):e=new DOMRect(0,0,document.documentElement.clientWidth,document.documentElement.clientHeight);const t=ku(this.metrics.trigger),i=this.metrics.content,s=ku(i),o=u=>{const g=t[u],v=s[El[u]];return new DOMRect(i.x+(g.x-v.x),i.y+(g.y-v.y),i.width,i.height)},l=El[A],a=A==="top"||A==="bottom"?"left":"top",r=El[a],p=[A,l,a,r];let d=0;for(const u of p){const g=pE(e,o(u));g>d&&(d=g,C=u)}}return C}},watch:{isActive(A){this.$emit(A?"open":"close"),A&&this.position==="auto"&&this.$nextTick(()=>{this.metrics={content:this.$refs.content.getBoundingClientRect(),trigger:this.$refs.trigger.getBoundingClientRect()}}),A&&this.appendToBody&&this.updateAppendToBody()}},methods:{updateAppendToBody(){const A=this.$refs.tooltip,C=this.$refs.trigger;if(A&&C){const e=this.$data.bodyEl.children[0];e.classList.forEach(o=>e.classList.remove(...o.split(" "))),this.$vnode&&this.$vnode.data&&this.$vnode.data.staticClass&&e.classList.add(this.$vnode.data.staticClass),this.rootClasses.forEach(o=>{typeof o=="object"?Object.keys(o).filter(l=>l&&o[l]).forEach(l=>e.classList.add(l)):e.classList.add(...o.split(" "))}),e.style.width=`${C.clientWidth}px`,e.style.height=`${C.clientHeight}px`;const n=C.getBoundingClientRect(),t=n.top+window.scrollY,i=n.left+window.scrollX,s=this.$data.bodyEl;s.style.position="absolute",s.style.top=`${t}px`,s.style.left=`${i}px`,s.style.zIndex=this.isActive||this.always?"99":"-1",this.triggerStyle={zIndex:this.isActive||this.always?"100":void 0}}},onClick(){this.triggers.indexOf("click")<0||this.$nextTick(()=>{setTimeout(()=>this.open())})},onHover(){this.triggers.indexOf("hover")<0||this.open()},onFocus(){this.triggers.indexOf("focus")<0||this.open()},onContextMenu(A){this.triggers.indexOf("contextmenu")<0||(A.preventDefault(),this.open())},open(){this.delay?this.timer=setTimeout(()=>{this.isActive=!0,this.timer=null},this.delay):this.isActive=!0},close(){typeof this.autoClose=="boolean"&&(this.isActive=!this.autoClose),this.autoClose&&this.timer&&clearTimeout(this.timer)},clickedOutside(A){this.isActive&&Array.isArray(this.autoClose)&&(this.autoClose.indexOf("outside")>=0&&(this.isInWhiteList(A.target)||(this.isActive=!1)),this.autoClose.indexOf("inside")>=0&&this.isInWhiteList(A.target)&&(this.isActive=!1))},keyPress({key:A}){this.isActive&&(A==="Escape"||A==="Esc")&&Array.isArray(this.autoClose)&&this.autoClose.indexOf("escape")>=0&&(this.isActive=!1)},isInWhiteList(A){if(A===this.$refs.content)return!0;if(this.$refs.content!==void 0){const C=this.$refs.content.querySelectorAll("*");for(const e of C)if(A===e)return!0}return!1}},mounted(){this.appendToBody&&(this.$data.bodyEl=br(this.$refs.content),this.updateAppendToBody())},created(){typeof window<"u"&&(document.addEventListener("click",this.clickedOutside),document.addEventListener("keyup",this.keyPress))},beforeUnmount(){typeof window<"u"&&(document.removeEventListener("click",this.clickedOutside),document.removeEventListener("keyup",this.keyPress)),this.appendToBody&&et(this.$data.bodyEl)}});function fE(A,C,e,n,t,i){return h(),S("div",{ref:"tooltip",class:A.rootClasses},[k(he,{name:A.newAnimation,"onAfter-leave":C[1]||(C[1]=s=>A.metrics=null),"onEnter-cancelled":C[2]||(C[2]=s=>A.metrics=null)},{default:SA(()=>[HA(k("div",{ref:"content",class:A.contentClasses},[k("span",{class:A.arrowClasses},null,2),A.label?(h(),S(gA,{key:0},[cC(lA(A.label),1)],64)):A.$slots.default?fA(A.$slots,"content",{key:1}):L("v-if",!0)],2),[[fC,A.active&&(A.isActive||A.always)]])]),_:1},8,["name"]),k("div",{ref:"trigger",class:A.triggerClasses,style:A.triggerStyle,onClick:C[3]||(C[3]=(...s)=>A.onClick(...s)),onContextmenu:C[4]||(C[4]=(...s)=>A.onContextMenu(...s)),onMouseenter:C[5]||(C[5]=(...s)=>A.onHover(...s)),onFocusCapture:C[6]||(C[6]=(...s)=>A.onFocus(...s)),onBlurCapture:C[7]||(C[7]=(...s)=>A.close(...s)),onMouseleave:C[8]||(C[8]=(...s)=>A.close(...s))},[fA(A.$slots,"default",{ref:"slot"})],38)],2)}vi.render=fE;vi.__file="src/components/tooltip/Tooltip.vue";var Co=KA({name:"OSliderThumb",components:{[vi.name]:vi},configField:"slider",inheritAttrs:!1,inject:["$slider"],emits:["update:modelValue","dragstart","dragend"],props:{modelValue:{type:Number,default:0},variant:{type:String,default:""},tooltip:{type:Boolean,default:!0},indicator:{type:Boolean,default:!1},customFormatter:Function,format:{type:String,default:"raw",validator:A=>["raw","percent"].indexOf(A)>=0},locale:{type:[String,Array],default:()=>U(q(),"locale")},tooltipAlways:{type:Boolean,default:!1}},data(){return{isFocused:!1,dragging:!1,startX:0,startPosition:0,newPosition:null,oldValue:this.modelValue}},computed:{disabled(){return this.$parent.disabled},max(){return this.$parent.max},min(){return this.$parent.min},step(){return this.$parent.step},precision(){return this.$parent.precision},currentPosition(){return`${(this.modelValue-this.min)/(this.max-this.min)*100}%`},wrapperStyle(){return{left:this.currentPosition}},formattedValue(){return typeof this.customFormatter<"u"?this.customFormatter(this.modelValue):this.format==="percent"?new Intl.NumberFormat(this.locale,{style:"percent"}).format((this.modelValue-this.min)/(this.max-this.min)):new Intl.NumberFormat(this.locale).format(this.modelValue)}},methods:{onFocus(){this.isFocused=!0},onBlur(){this.isFocused=!1},onButtonDown(A){this.disabled||(A.preventDefault(),this.onDragStart(A),typeof window<"u"&&(document.addEventListener("mousemove",this.onDragging),document.addEventListener("touchmove",this.onDragging),document.addEventListener("mouseup",this.onDragEnd),document.addEventListener("touchend",this.onDragEnd),document.addEventListener("contextmenu",this.onDragEnd)))},onLeftKeyDown(){this.disabled||this.modelvalue===this.min||(this.newPosition=parseFloat(this.currentPosition)-this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onRightKeyDown(){this.disabled||this.modelvalue===this.max||(this.newPosition=parseFloat(this.currentPosition)+this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onHomeKeyDown(){this.disabled||this.modelvalue===this.min||(this.newPosition=0,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onEndKeyDown(){this.disabled||this.modelvalue===this.max||(this.newPosition=100,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onDragStart(A){this.dragging=!0,this.$emit("dragstart"),A.type==="touchstart"&&(A.clientX=A.touches[0].clientX),this.startX=A.clientX,this.startPosition=parseFloat(this.currentPosition),this.newPosition=this.startPosition},onDragging(A){if(this.dragging){A.type==="touchmove"&&(A.clientX=A.touches[0].clientX);const C=(A.clientX-this.startX)/this.$parent.sliderSize()*100;this.newPosition=this.startPosition+C,this.setPosition(this.newPosition)}},onDragEnd(){this.dragging=!1,this.$emit("dragend"),this.modelvalue!==this.oldValue&&this.$parent.emitValue("change"),this.setPosition(this.newPosition),typeof window<"u"&&(document.removeEventListener("mousemove",this.onDragging),document.removeEventListener("touchmove",this.onDragging),document.removeEventListener("mouseup",this.onDragEnd),document.removeEventListener("touchend",this.onDragEnd),document.removeEventListener("contextmenu",this.onDragEnd))},setPosition(A){if(A===null||isNaN(A))return;A<0?A=0:A>100&&(A=100);const C=100/((this.max-this.min)/this.step);let n=Math.round(A/C)*C/100*(this.max-this.min)+this.min;n=parseFloat(n.toFixed(this.precision)),this.$emit("update:modelValue",n),!this.dragging&&n!==this.oldValue&&(this.oldValue=n)}}});const hE={key:0};function gE(A,C,e,n,t,i){const s=AA("o-tooltip");return h(),S("div",{class:A.$slider.thumbWrapperClasses,style:A.wrapperStyle},[k(s,{label:A.formattedValue,variant:A.variant,always:A.dragging||A.isFocused||A.tooltipAlways,active:!A.disabled&&A.tooltip},{default:SA(()=>[k("div",lC(A.$attrs,{class:A.$slider.thumbClasses,tabindex:A.disabled?!1:0,onMousedown:C[1]||(C[1]=(...o)=>A.onButtonDown(...o)),onTouchstart:C[2]||(C[2]=(...o)=>A.onButtonDown(...o)),onFocus:C[3]||(C[3]=(...o)=>A.onFocus(...o)),onBlur:C[4]||(C[4]=(...o)=>A.onBlur(...o)),onKeydown:[C[5]||(C[5]=mC(MA((...o)=>A.onLeftKeyDown(...o),["prevent"]),["left"])),C[6]||(C[6]=mC(MA((...o)=>A.onRightKeyDown(...o),["prevent"]),["right"])),C[7]||(C[7]=mC(MA((...o)=>A.onLeftKeyDown(...o),["prevent"]),["down"])),C[8]||(C[8]=mC(MA((...o)=>A.onRightKeyDown(...o),["prevent"]),["up"])),C[9]||(C[9]=mC(MA((...o)=>A.onHomeKeyDown(...o),["prevent"]),["home"])),C[10]||(C[10]=mC(MA((...o)=>A.onEndKeyDown(...o),["prevent"]),["end"]))]}),[A.indicator?(h(),S("span",hE,lA(A.formattedValue),1)):L("v-if",!0)],16,["tabindex"])]),_:1},8,["label","variant","always","active"])],6)}Co.render=gE;Co.__file="src/components/slider/SliderThumb.vue";var wi=KA({name:"OSliderTick",mixins:[CC],configField:"slider",inject:["$slider"],props:{value:{variant:Number,default:0},tickClass:[String,Function,Array],tickHiddenClass:[String,Function,Array],tickLabelClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("tickClass","o-slide__tick"),{[this.computedClass("tickHiddenClass","o-slide__tick--hidden")]:this.hidden}]},tickLabelClasses(){return[this.computedClass("tickLabelClass","o-slide__tick-label")]},position(){const A=(this.value-this.$parent.min)/(this.$parent.max-this.$parent.min)*100;return A>=0&&A<=100?A:0},hidden(){return this.value===this.$parent.min||this.value===this.$parent.max},tickStyle(){return{left:this.position+"%"}}},created(){if(!this.$slider)throw new Error("You should wrap oSliderTick on a oSlider")}});function bE(A,C,e,n,t,i){return h(),S("div",{class:A.rootClasses,style:A.tickStyle},[A.$slots.default?(h(),S("span",{key:0,class:A.tickLabelClasses},[fA(A.$slots,"default")],2)):L("v-if",!0)],6)}wi.render=bE;wi.__file="src/components/slider/SliderTick.vue";var Pr=KA({name:"OSlider",components:{[Co.name]:Co,[wi.name]:wi},configField:"slider",mixins:[CC],provide(){return{$slider:this}},emits:["update:modelValue","change","dragging","dragstart","dragend"],props:{modelValue:{type:[Number,Array],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},variant:{type:String},size:String,ticks:{type:Boolean,default:!1},tooltip:{type:Boolean,default:()=>U(q(),"slider.tooltip",!0)},tooltipVariant:String,rounded:{type:Boolean,default:()=>U(q(),"slider.rounded",!1)},disabled:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},customFormatter:Function,ariaLabel:[String,Array],biggerSliderFocus:{type:Boolean,default:!1},indicator:{type:Boolean,default:!1},format:{type:String,default:"raw",validator:A=>["raw","percent"].indexOf(A)>=0},locale:{type:[String,Array],default:()=>U(q(),"locale")},tooltipAlways:{type:Boolean,default:!1},rootClass:[String,Function,Array],sizeClass:[String,Function,Array],trackClass:[String,Function,Array],fillClass:[String,Function,Array],thumbRoundedClass:[String,Function,Array],thumbDraggingClass:[String,Function,Array],disabledClass:[String,Function,Array],thumbWrapperClass:[String,Function,Array],thumbClass:[String,Function,Array],variantClass:[String,Function,Array]},data(){return{value1:null,value2:null,dragging:!1,isRange:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-slide"),{[this.computedClass("sizeClass","o-slide--",this.size)]:this.size},{[this.computedClass("disabledClass","o-slide--disabled")]:this.disabled}]},trackClasses(){return[this.computedClass("trackClass","o-slide__track")]},fillClasses(){return[this.computedClass("fillClass","o-slide__fill"),{[this.computedClass("variantClass","o-slide__fill--",this.variant)]:this.variant}]},thumbClasses(){return[this.computedClass("thumbClass","o-slide__thumb"),{[this.computedClass("thumbDraggingClass","o-slide__thumb--dragging")]:this.dragging},{[this.computedClass("thumbRoundedClass","o-slide__thumb--rounded")]:this.rounded}]},thumbWrapperClasses(){return[this.computedClass("thumbWrapperClass","o-slide__thumb-wrapper")]},newTooltipVariant(){return this.tooltipVariant?this.tooltipVariant:this.variant},tickValues(){if(!this.ticks||this.min>this.max||this.step===0)return[];const A=[];for(let C=this.min+this.step;C{const e=(""+C).split(".")[1];return e?e.length:0});return Math.max(...A)},barStyle(){return{width:this.barSize,left:this.barStart}}},watch:{value1(){this.onInternalValueUpdate()},value2(){this.onInternalValueUpdate()},min(){this.setValues(this.value)},max(){this.setValues(this.value)},modelValue(A){this.setValues(A)}},methods:{setValues(A){if(!(this.min>this.max))if(Array.isArray(A)){this.isRange=!0;const C=typeof A[0]!="number"||isNaN(A[0])?this.min:Math.min(Math.max(this.min,A[0]),this.max),e=typeof A[1]!="number"||isNaN(A[1])?this.max:Math.max(Math.min(this.max,A[1]),this.min);this.value1=this.isThumbReversed?e:C,this.value2=this.isThumbReversed?C:e}else this.isRange=!1,this.value1=isNaN(A)?this.min:Math.min(this.max,Math.max(this.min,A)),this.value2=null},onInternalValueUpdate(){this.isRange&&(this.isThumbReversed=this.value1>this.value2),(!this.lazy||!this.dragging)&&this.emitValue("update:modelValue"),this.dragging&&this.emitValue("dragging")},sliderSize(){return this.$refs.slider.getBoundingClientRect().width},onSliderClick(A){if(this.disabled||this.isTrackClickDisabled)return;const C=this.$refs.slider.getBoundingClientRect().left,e=(A.clientX-C)/this.sliderSize()*100,n=this.min+e*(this.max-this.min)/100,t=Math.abs(n-this.value1);if(this.isRange){const i=Math.abs(n-this.value2);if(t<=i){if(t{this.isTrackClickDisabled=!1},0),this.dragging=!1,this.$emit("dragend"),this.lazy&&this.emitValue("update:modelValue")},emitValue(A){const C=this.isRange?[this.minValue,this.maxValue]:this.value1;this.$emit(A,C)}},created(){this.isThumbReversed=!1,this.isTrackClickDisabled=!1,this.setValues(this.modelValue)}});function EE(A,C,e,n,t,i){const s=AA("o-slider-tick"),o=AA("o-slider-thumb");return h(),S("div",{onClick:C[3]||(C[3]=(...l)=>A.onSliderClick(...l)),class:A.rootClasses},[k("div",{class:A.trackClasses,ref:"slider"},[k("div",{class:A.fillClasses,style:A.barStyle},null,6),A.ticks?(h(!0),S(gA,{key:0},JA(A.tickValues,(l,a)=>(h(),S(s,{key:a,value:l},null,8,["value"]))),128)):L("v-if",!0),fA(A.$slots,"default"),k(o,{modelValue:A.value1,"onUpdate:modelValue":C[1]||(C[1]=l=>A.value1=l),variant:A.newTooltipVariant,tooltip:A.tooltip,"custom-formatter":A.customFormatter,indicator:A.indicator,ref:"button1",role:"slider",format:A.format,locale:A.locale,"tooltip-always":A.tooltipAlways,"aria-valuenow":A.value1,"aria-valuemin":A.min,"aria-valuemax":A.max,"aria-orientation":"horizontal","aria-label":Array.isArray(A.ariaLabel)?A.ariaLabel[0]:A.ariaLabel,"aria-disabled":A.disabled,onDragstart:A.onDragStart,onDragend:A.onDragEnd},null,8,["modelValue","variant","tooltip","custom-formatter","indicator","format","locale","tooltip-always","aria-valuenow","aria-valuemin","aria-valuemax","aria-label","aria-disabled","onDragstart","onDragend"]),A.isRange?k(o,{key:1,modelValue:A.value2,"onUpdate:modelValue":C[2]||(C[2]=l=>A.value2=l),variant:A.newTooltipVariant,tooltip:A.tooltip,"custom-formatter":A.customFormatter,indicator:A.indicator,ref:"button2",role:"slider",format:A.format,locale:A.locale,"tooltip-always":A.tooltipAlways,"aria-valuenow":A.value2,"aria-valuemin":A.min,"aria-valuemax":A.max,"aria-orientation":"horizontal","aria-label":Array.isArray(A.ariaLabel)?A.ariaLabel[1]:"","aria-disabled":A.disabled,onDragstart:A.onDragStart,onDragend:A.onDragEnd},null,8,["modelValue","variant","tooltip","custom-formatter","indicator","format","locale","tooltip-always","aria-valuenow","aria-valuemin","aria-valuemax","aria-label","aria-disabled","onDragstart","onDragend"]):L("v-if",!0)],2)],2)}Pr.render=EE;Pr.__file="src/components/slider/Slider.vue";var yE={install(A){eC(A,Pr),eC(A,wi)}};const vE=yE;var eo=KA({name:"OSlotComponent",props:{component:{type:Object,required:!0},name:{type:String,default:"default"},props:{type:Object},tag:{type:String,default:"div"}},render(){const A=this.component.$slots[this.name](this.props);return WC(this.tag,{},A)}}),b1=A=>KA({mixins:[o1(A,s1)],components:{[dC.name]:dC,[eo.name]:eo},emits:["update:modelValue"],props:{modelValue:[String,Number],variant:[String,Object],size:String,animated:{type:Boolean,default:!0},vertical:{type:Boolean,default:!1},position:String,destroyOnHide:{type:Boolean,default:!1}},data(){return{activeId:this.modelValue,contentHeight:0,isTransitioning:!1}},computed:{activeItem(){return this.activeId!==void 0&&this.activeId!==null?this.childItems.filter(C=>C.newValue===this.activeId)[0]:this.items[0]},activeIndex(){return this.childItems.findIndex(C=>C.newValue===this.activeId)},items(){return this.sortedItems}},watch:{modelValue(C){this.activeId!==C&&this.performAction(C)}},methods:{childClick(C){this.activeId!==C.newValue&&(this.performAction(C.newValue),this.$emit("update:modelValue",this.activeId))},clickFirstViableChild(C,e){let n=e?1:-1,t=C;for(;t!==this.activeIndex&&!(this.childItems[t].visible&&!this.childItems[t].disabled);t=Ss(t+n,this.childItems.length));this.childClick(this.childItems[t])},next(){let C=Ss(this.activeIndex+1,this.childItems.length);this.clickFirstViableChild(C,!0)},prev(){let C=Ss(this.activeIndex-1,this.childItems.length);this.clickFirstViableChild(C,!1)},homePressed(){this.childItems.length<1||this.clickFirstViableChild(0,!0)},endPressed(){this.childItems.length<1||this.clickFirstViableChild(this.childItems.length-1,!1)},performAction(C){const e=this.activeId,n=e!=null?this.childItems.filter(t=>t.newValue===e)[0]:this.items[0];this.activeId=C,n&&this.activeItem&&(n.deactivate(this.activeItem.index),this.activeItem.activate(n.index))}}}),E1=A=>KA({mixins:[r1(A,a1)],props:{value:[String,Number],label:String,icon:String,iconPack:String,visible:{type:Boolean,default:!0},headerClass:[String,Array,Object]},data(){return{transitionName:void 0,newValue:this.value}},computed:{isActive(){return this.parent.activeItem===this},elementClasses(){return[]}},methods:{activate(C){this.transitionName=this.index{this.parent.isTransitioning=!0},onAfterEnter:()=>{this.parent.isTransitioning=!1}},()=>[e]):e}}),Or=KA({name:"OSteps",components:{[en.name]:en,[dC.name]:dC},configField:"steps",mixins:[CC,ln,b1("step")],props:{iconPack:String,iconPrev:{type:String,default:()=>U(q(),"steps.iconPrev","chevron-left")},iconNext:{type:String,default:()=>U(q(),"steps.iconNext","chevron-right")},hasNavigation:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},labelPosition:{type:String,validator(A){return["bottom","right","left"].indexOf(A)>-1},default:"bottom"},rounded:{type:Boolean,default:!0},ariaNextLabel:String,ariaPreviousLabel:String,rootClass:[String,Function,Array],sizeClass:[String,Function,Array],verticalClass:[String,Function,Array],positionClass:[String,Function,Array],stepsClass:[String,Function,Array],animatedClass:[String,Function,Array],stepMarkerRoundedClass:[String,Function,Array],stepDividerClass:[String,Function,Array],stepMarkerClass:[String,Function,Array],stepContentClass:[String,Function,Array],stepContentTransitioningClass:[String,Function,Array],stepNavigationClass:[String,Function,Array],stepLinkClass:[String,Function,Array],stepLinkClickableClass:[String,Function,Array],stepLinkLabelClass:[String,Function,Array],stepLinkLabelPositionClass:[String,Function,Array],mobileClass:[String,Function,Array]},computed:{wrapperClasses(){return[this.computedClass("rootClass","o-steps__wrapper"),{[this.computedClass("sizeClass","o-steps--",this.size)]:this.size},{[this.computedClass("verticalClass","o-steps__wrapper-vertical")]:this.vertical},{[this.computedClass("positionClass","o-steps__wrapper-position-",this.position)]:this.position&&this.vertical},{[this.computedClass("mobileClass","o-steps--mobile")]:this.isMatchMedia}]},mainClasses(){return[this.computedClass("stepsClass","o-steps"),{[this.computedClass("animatedClass","o-steps--animated")]:this.animated}]},stepDividerClasses(){return[this.computedClass("stepDividerClass","o-steps__divider")]},stepMarkerClasses(){return[this.computedClass("stepMarkerClass","o-steps__marker"),{[this.computedClass("stepMarkerRoundedClass","o-steps__marker--rounded")]:this.rounded}]},stepContentClasses(){return[this.computedClass("stepContentClass","o-steps__content"),{[this.computedClass("stepContentTransitioningClass","o-steps__content-transitioning")]:this.isTransitioning}]},stepNavigationClasses(){return[this.computedClass("stepNavigationClass","o-steps__navigation")]},stepLinkLabelClasses(){return[this.computedClass("stepLinkLabelClass","o-steps__title")]},activeItem(){return this.childItems.filter(A=>A.newValue===this.activeId)[0]||this.items[0]},hasPrev(){return!!this.prevItem},nextItem(){let A=null,C=this.activeItem?this.items.indexOf(this.activeItem)+1:0;for(;C=0;C--)if(this.items[C].visible){A=this.items[C];break}return A},hasNext(){return!!this.nextItem},navigationProps(){return{previous:{disabled:!this.hasPrev,action:this.prev},next:{disabled:!this.hasNext,action:this.next}}}},methods:{stepLinkClasses(A){return[this.computedClass("stepLinkClass","o-steps__link"),{[this.computedClass("stepLinkLabelPositionClass","o-steps__link-label-",this.labelPosition)]:this.labelPosition},{[this.computedClass("stepLinkClickableClass","o-steps__link-clickable")]:this.isItemClickable(A)}]},isItemClickable(A){return A.clickable===void 0?A.indexHA((h(),S("div",{key:l.newValue,class:l.itemClasses},[a>0?(h(),S("span",{key:0,class:A.stepDividerClasses},null,2)):L("v-if",!0),k("a",{class:A.stepLinkClasses(l),onClick:r=>A.isItemClickable(l)&&A.childClick(l)},[k("div",{class:A.stepMarkerClasses},[l.icon?k(s,{key:0,icon:l.icon,pack:l.iconPack,size:A.size},null,8,["icon","pack","size"]):l.step?(h(),S("span",wE,lA(l.step),1)):L("v-if",!0)],2),k("div",{class:A.stepLinkLabelClasses},lA(l.label),3)],10,["onClick"])],2)),[[fC,l.visible]])),128))],2),k("section",{class:A.stepContentClasses},[fA(A.$slots,"default")],2),fA(A.$slots,"navigation",{previous:A.navigationProps.previous,next:A.navigationProps.next},()=>[A.hasNavigation?(h(),S("nav",{key:0,class:A.stepNavigationClasses},[k(o,{role:"button","icon-left":A.iconPrev,"icon-pack":A.iconPack,"icon-both":"",disabled:A.navigationProps.previous.disabled,onClick:MA(A.navigationProps.previous.action,["prevent"]),"aria-label":A.ariaPreviousLabel},null,8,["icon-left","icon-pack","disabled","onClick","aria-label"]),k(o,{role:"button","icon-left":A.iconNext,"icon-pack":A.iconPack,"icon-both":"",disabled:A.navigationProps.next.disabled,onClick:MA(A.navigationProps.next.action,["prevent"]),"aria-label":A.ariaNextLabel},null,8,["icon-left","icon-pack","disabled","onClick","aria-label"])],2)):L("v-if",!0)])],2)}Or.render=BE;Or.__file="src/components/steps/Steps.vue";var y1=KA({name:"OStepItem",mixins:[CC,E1("step")],configField:"steps",props:{step:[String,Number],variant:[String,Object],clickable:{type:Boolean,default:void 0},itemClass:[String,Function,Array],itemHeaderClass:[String,Function,Array],itemHeaderActiveClass:[String,Function,Array],itemHeaderPreviousClass:[String,Function,Array],itemHeaderVariantClass:[String,Function,Array]},computed:{elementClasses(){return[this.computedClass("itemClass","o-steps__item")]},itemClasses(){return[this.headerClass,this.computedClass("itemHeaderClass","o-steps__nav-item"),{[this.computedClass("itemHeaderVariantClass","o-steps__nav-item--",this.variant||this.parent.variant)]:this.variant||this.parent.variant},{[this.computedClass("itemHeaderActiveClass","o-steps__nav-item-active")]:this.isActive},{[this.computedClass("itemHeaderPreviousClass","o-steps__nav-item-previous")]:this.parent.activeItem.index>this.index}]}}});y1.__file="src/components/steps/StepItem.vue";var SE={install(A){eC(A,Or),eC(A,y1)}};const kE=SE;var Lr=KA({name:"OSwitch",mixins:[CC],configField:"switch",emits:["update:modelValue"],props:{modelValue:[String,Number,Boolean],nativeValue:[String,Number,Boolean],disabled:Boolean,variant:String,passiveVariant:String,name:String,required:Boolean,size:String,trueValue:{type:[String,Number,Boolean],default:!0},falseValue:{type:[String,Number,Boolean],default:!1},rounded:{type:Boolean,default:!0},position:{type:String,default:"right"},ariaLabelledby:String,rootClass:[String,Function,Array],disabledClass:[String,Function,Array],checkClass:[String,Function,Array],checkCheckedClass:[String,Function,Array],checkSwitchClass:[String,Function,Array],roundedClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array],elementsWrapperClass:[String,Function,Array],passiveVariantClass:[String,Function,Array],positionClass:[String,Function,Array],inputClass:[String,Function,Array]},data(){return{newValue:this.modelValue,isMouseDown:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-switch"),{[this.computedClass("sizeClass","o-switch--",this.size)]:this.size},{[this.computedClass("disabledClass","o-switch--disabled")]:this.disabled},{[this.computedClass("variantClass","o-switch--",this.variant)]:this.variant},{[this.computedClass("positionClass","o-switch--",this.position)]:this.position},{[this.computedClass("passiveVariantClass","o-switch--",this.passiveVariant+"-passive")]:this.passiveVariant}]},inputClasses(){return[this.computedClass("inputClass","o-switch__input")]},checkClasses(){return[this.computedClass("checkClass","o-switch__check"),{[this.computedClass("checkCheckedClass","o-switch__check--checked")]:this.newValue===this.trueValue},{[this.computedClass("roundedClass","o-switch--rounded")]:this.rounded}]},checkSwitchClasses(){return[this.computedClass("checkSwitchClass","o-switch__check-switch"),{[this.computedClass("roundedClass","o-switch--rounded")]:this.rounded}]},labelClasses(){return[this.computedClass("labelClass","o-switch__label")]},computedValue:{get(){return this.newValue},set(A){this.newValue=A,this.$emit("update:modelValue",this.newValue)}}},watch:{modelValue(A){this.newValue=A}},methods:{focus(){this.$refs.input.focus()}}});function xE(A,C,e,n,t,i){return h(),S("label",{class:A.rootClasses,ref:"label",onClick:C[3]||(C[3]=(...s)=>A.focus(...s)),onKeydown:C[4]||(C[4]=mC(MA(s=>A.$refs.label.click(),["prevent"]),["enter"])),onMousedown:C[5]||(C[5]=s=>A.isMouseDown=!0),onMouseup:C[6]||(C[6]=s=>A.isMouseDown=!1),onMouseout:C[7]||(C[7]=s=>A.isMouseDown=!1),onBlur:C[8]||(C[8]=s=>A.isMouseDown=!1)},[HA(k("input",{"onUpdate:modelValue":C[1]||(C[1]=s=>A.computedValue=s),type:"checkbox",ref:"input",class:A.inputClasses,onClick:C[2]||(C[2]=MA(()=>{},["stop"])),disabled:A.disabled,name:A.name,required:A.required,value:A.nativeValue,"true-value":A.trueValue,"false-value":A.falseValue,"aria-labelledby":A.ariaLabelledby},null,10,["disabled","name","required","value","true-value","false-value","aria-labelledby"]),[[dr,A.computedValue]]),k("span",{class:A.checkClasses},[k("span",{class:A.checkSwitchClasses},null,2)],2),k("span",{id:A.ariaLabelledby,class:A.labelClasses},[fA(A.$slots,"default")],10,["id"])],34)}Lr.render=xE;Lr.__file="src/components/switch/Switch.vue";var _E={install(A){eC(A,Lr)}};const jE=_E;var no=KA({name:"OTableMobileSort",components:{[en.name]:en,[nn.name]:nn,[dC.name]:dC,[Xn.name]:Xn},inject:["$table"],emits:["sort"],props:{currentSortColumn:Object,columns:Array,placeholder:String,iconPack:String,sortIcon:{type:String,default:"arrow-up"},sortIconSize:{type:String,default:"small"},isAsc:Boolean},data(){return{mobileSort:U(this.currentSortColumn,"newKey"),defaultEvent:{shiftKey:!0,altKey:!0,ctrlKey:!0},ignoreSort:!1}},computed:{showPlaceholder(){return!this.columns||!this.columns.some(A=>U(A,"newKey")===this.mobileSort)},sortableColumns(){return this.columns?this.columns.filter(A=>A.sortable):[]},isCurrentSort(){return U(this.currentSortColumn,"newKey")===this.mobileSort}},watch:{mobileSort(A){if(this.currentSortColumn.newKey===A)return;const C=this.sortableColumns.filter(e=>U(e,"newKey")===A)[0];this.$emit("sort",C,this.defaultEvent)},currentSortColumn(A){this.mobileSort=U(A,"newKey")}},methods:{sort(){const A=this.sortableColumns.filter(C=>U(C,"newKey")===this.mobileSort)[0];this.$emit("sort",A,this.defaultEvent)}}});function IE(A,C,e,n,t,i){const s=AA("o-select"),o=AA("o-icon"),l=AA("o-button"),a=AA("o-field");return h(),S("div",{class:A.$table.mobileSortClasses},[k(a,null,{default:SA(()=>[k(s,{modelValue:A.mobileSort,"onUpdate:modelValue":C[1]||(C[1]=r=>A.mobileSort=r),expanded:""},{default:SA(()=>[A.placeholder?HA((h(),S("option",{key:0,value:{},selected:"",disabled:"",hidden:""},lA(A.placeholder),513)),[[fC,A.showPlaceholder]]):L("v-if",!0),(h(!0),S(gA,null,JA(A.sortableColumns,(r,p)=>(h(),S("option",{key:p,value:r.newKey},lA(r.label),9,["value"]))),128))]),_:1},8,["modelValue"]),k(l,{onClick:A.sort},{default:SA(()=>[HA(k(o,{icon:A.sortIcon,pack:A.iconPack,size:A.sortIconSize,both:"",rotation:A.isAsc?0:180},null,8,["icon","pack","size","rotation"]),[[fC,A.isCurrentSort]])]),_:1},8,["onClick"])]),_:1})],2)}no.render=IE;no.__file="src/components/table/TableMobileSort.vue";var ni=KA({name:"OTableColumn",inject:["$table"],props:{label:String,customKey:[String,Number],field:String,meta:[String,Number,Boolean,Function,Object,Array],width:[Number,String],numeric:Boolean,position:{type:String,validator(A){return["left","centered","right"].indexOf(A)>-1}},searchable:Boolean,sortable:Boolean,visible:{type:Boolean,default:!0},customSort:Function,customSearch:Function,sticky:Boolean,headerSelectable:Boolean,thAttrs:{type:Function,default:()=>({})},tdAttrs:{type:Function,default:()=>({})},subheading:String},data(){return{newKey:void 0,thAttrsData:{},tdAttrsData:[]}},computed:{style(){return{width:Wn(this.width)}},hasDefaultSlot(){return this.$slots.default},hasSearchableSlot(){return this.$slots.searchable},hasHeaderSlot(){return this.$slots.header},isHeaderUnselectable(){return!this.headerSelectable&&this.sortable}},created(){if(!this.$table)throw new Error("You should wrap oTableColumn on a oTable");this.newKey=this.$table._nextSequence(),this.$table._addColumn(this)},beforeMount(){typeof this.thAttrs<"u"&&(this.thAttrsData=this.thAttrs(this))},beforeUnmount(){this.$table._removeColumn(this)},render(){return WC("span",{"data-id":this.newKey},this.label)}});ni.__file="src/components/table/TableColumn.vue";var to=KA({name:"OTablePagination",components:{[yi.name]:yi},emits:["update:currentPage","page-change"],props:{paginated:Boolean,total:[Number,String],perPage:[Number,String],currentPage:[Number,String],paginationSimple:Boolean,paginationSize:String,rounded:Boolean,iconPack:String,rootClass:[String,Array,Object],ariaNextLabel:String,ariaPreviousLabel:String,ariaPageLabel:String,ariaCurrentLabel:String},data(){return{newCurrentPage:this.currentPage}},watch:{currentPage(A){this.newCurrentPage=A}},methods:{pageChanged(A){this.newCurrentPage=A>0?A:1,this.$emit("update:currentPage",this.newCurrentPage),this.$emit("page-change",this.newCurrentPage)}}});const ME={key:0};function DE(A,C,e,n,t,i){const s=AA("o-pagination");return h(),S("div",{class:A.rootClass},[k("div",null,[fA(A.$slots,"default")]),k("div",null,[A.paginated?(h(),S("div",ME,[k(s,{"icon-pack":A.iconPack,total:A.total,"per-page":A.perPage,simple:A.paginationSimple,size:A.paginationSize,current:A.newCurrentPage,rounded:A.rounded,onChange:A.pageChanged,"aria-next-label":A.ariaNextLabel,"aria-previous-label":A.ariaPreviousLabel,"aria-page-label":A.ariaPageLabel,"aria-current-label":A.ariaCurrentLabel},null,8,["icon-pack","total","per-page","simple","size","current","rounded","onChange","aria-next-label","aria-previous-label","aria-page-label","aria-current-label"])])):L("v-if",!0)])],2)}to.render=DE;to.__file="src/components/table/TablePagination.vue";var Kr=KA({name:"OTable",components:{[en.name]:en,[hi.name]:hi,[dC.name]:dC,[xe.name]:xe,[St.name]:St,[eo.name]:eo,[no.name]:no,[ni.name]:ni,[to.name]:to},mixins:[CC,ln],configField:"table",inheritAttrs:!1,provide(){return{$table:this}},emits:["page-change","click","dblclick","contextmenu","check","check-all","update:checkedRows","select","update:selected","filters-change","details-open","details-close","update:openedDetailed","mouseenter","mouseleave","sort","sorting-priority-removed","dragstart","dragend","drop","dragleave","dragover","cell-click","columndragstart","columndragend","columndrop","columndragleave","columndragover","update:currentPage"],props:{data:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},bordered:Boolean,striped:Boolean,narrowed:Boolean,hoverable:Boolean,loading:Boolean,detailed:Boolean,checkable:Boolean,headerCheckable:{type:Boolean,default:!0},checkboxPosition:{type:String,default:"left",validator:A=>["left","right"].indexOf(A)>=0},selected:Object,isRowSelectable:{type:Function,default:()=>!0},focusable:Boolean,customIsChecked:Function,isRowCheckable:{type:Function,default:()=>!0},checkedRows:{type:Array,default:()=>[]},mobileCards:{type:Boolean,default:()=>U(q(),"table.mobileCards",!0)},defaultSort:[String,Array],defaultSortDirection:{type:String,default:"asc"},sortIcon:{type:String,default:()=>U(q(),"table.sortIcon","arrow-up")},sortIconSize:{type:String,default:()=>U(q(),"table.sortIconSize","small")},paginated:Boolean,currentPage:{type:Number,default:1},perPage:{type:[Number,String],default:()=>U(q(),"table.perPage",20)},showDetailIcon:{type:Boolean,default:!0},detailIcon:{type:String,default:"chevron-right"},paginationPosition:{type:String,default:()=>U(q(),"table.paginationPosition","bottom"),validator:A=>["bottom","top","both"].indexOf(A)>=0},backendSorting:Boolean,backendFiltering:Boolean,rowClass:{type:Function,default:()=>""},openedDetailed:{type:Array,default:()=>[]},hasDetailedVisible:{type:Function,default:()=>!0},detailKey:{type:String,default:""},customDetailRow:{type:Boolean,default:!1},detailTransition:{type:String,default:""},backendPagination:Boolean,total:{type:[Number,String],default:0},iconPack:String,mobileSortPlaceholder:String,customRowKey:String,draggable:{type:Boolean,default:!1},draggableColumn:{type:Boolean,default:!1},scrollable:Boolean,ariaNextLabel:String,ariaPreviousLabel:String,ariaPageLabel:String,ariaCurrentLabel:String,stickyHeader:Boolean,height:[Number,String],filtersEvent:{type:String,default:""},debounceSearch:Number,showHeader:{type:Boolean,default:()=>U(q(),"table.showHeader",!0)},stickyCheckbox:{type:Boolean,default:!1},paginationRounded:Boolean,rootClass:[String,Function,Array],tableClass:[String,Function,Array],wrapperClass:[String,Function,Array],footerClass:[String,Function,Array],emptyClass:[String,Function,Array],detailedClass:[String,Function,Array],borderedClass:[String,Function,Array],stripedClass:[String,Function,Array],narrowedClass:[String,Function,Array],hoverableClass:[String,Function,Array],thClass:[String,Function,Array],tdClass:[String,Function,Array],thPositionClass:[String,Function,Array],thStickyClass:[String,Function,Array],thCheckboxClass:[String,Function,Array],thCurrentSortClass:[String,Function,Array],thSortableClass:[String,Function,Array],thUnselectableClass:[String,Function,Array],thSortIconClass:[String,Function,Array],thDetailedClass:[String,Function,Array],tdPositionClass:[String,Function,Array],tdStickyClass:[String,Function,Array],tdCheckboxClass:[String,Function,Array],tdDetailedChevronClass:[String,Function,Array],trSelectedClass:[String,Function,Array],stickyHeaderClass:[String,Function,Array],scrollableClass:[String,Function,Array],mobileSortClass:[String,Function,Array],paginationWrapperClass:[String,Function,Array],mobileClass:[String,Function,Array],thSubheadingClass:[String,Function,Array]},data(){return{visibleDetailRows:this.openedDetailed,newData:this.data,newDataTotal:this.backendPagination?this.total:this.data.length,newCheckedRows:[...this.checkedRows],lastCheckedRowIndex:null,newCurrentPage:this.currentPage,currentSortColumn:{},isAsc:!0,filters:{},defaultSlots:[],firstTimeSort:!0,sequence:1,isDraggingRow:!1,isDraggingColumn:!1}},mounted(){this.$nextTick(()=>{this.checkSort()})},computed:{rootClasses(){return[this.computedClass("rootClass","o-table__root"),{[this.computedClass("mobileClass","o-table__wrapper--mobile")]:this.isMobile}]},tableClasses(){return[this.computedClass("tableClass","o-table"),{[this.computedClass("borderedClass","o-table--bordered")]:this.bordered},{[this.computedClass("stripedClass","o-table--striped")]:this.striped},{[this.computedClass("narrowedClass","o-table--narrowed")]:this.narrowed},{[this.computedClass("hoverableClass","o-table--hoverable")]:(this.hoverable||this.focusable)&&this.visibleData.length},{[this.computedClass("emptyClass","o-table--table__empty")]:!this.visibleData.length}]},tableWrapperClasses(){return[this.computedClass("wrapperClass","o-table__wrapper"),{[this.computedClass("stickyHeaderClass","o-table__wrapper--sticky-header")]:this.stickyHeader},{[this.computedClass("scrollableClass","o-table__wrapper--scrollable")]:this.isScrollable},{[this.computedClass("mobileClass","o-table__wrapper--mobile")]:this.isMobile}]},footerClasses(){return[this.computedClass("footerClass","o-table__footer")]},thBaseClasses(){return[this.computedClass("thClass","o-table__th")]},tdBaseClasses(){return[this.computedClass("tdClass","o-table__td")]},thCheckboxClasses(){return[...this.thBaseClasses,this.computedClass("thCheckboxClass","o-table__th-checkbox")]},thDetailedClasses(){return[...this.thBaseClasses,this.computedClass("thDetailedClass","o-table__th--detailed")]},thSubheadingClasses(){return[...this.thBaseClasses,this.computedClass("thSubheadingClass","o-table__th")]},tdCheckboxClasses(){return[...this.tdBaseClasses,this.computedClass("tdCheckboxClass","o-table__td-checkbox"),...this.thStickyClasses({sticky:this.stickyCheckbox})]},detailedClasses(){return[this.computedClass("detailedClass","o-table__detail")]},tdDetailedChevronClasses(){return[...this.tdBaseClasses,this.computedClass("tdDetailedChevronClass","o-table__td-chevron")]},mobileSortClasses(){return[this.computedClass("mobileSortClass","o-table__mobile-sort")]},paginationWrapperClasses(){return[this.computedClass("paginationWrapperClass","o-table__pagination")]},tableWrapperStyle(){return{height:Wn(this.height)}},visibleData(){if(!this.paginated)return this.newData;const A=this.newCurrentPage,C=this.perPage;if(this.newData.length<=C)return this.newData;{const e=(A-1)*C,n=e+parseInt(C,10);return this.newData.slice(e,n)}},visibleColumns(){return this.newColumns?this.newColumns.filter(A=>A.visible||A.visible===void 0):this.newColumns},isAllChecked(){const A=this.visibleData.filter(e=>this.isRowCheckable(e));return A.length===0?!1:!A.some(e=>gl(this.newCheckedRows,e,this.customIsChecked)<0)},isAllUncheckable(){return this.visibleData.filter(C=>this.isRowCheckable(C)).length===0},hasSortablenewColumns(){return this.newColumns.some(A=>A.sortable)},hasSearchablenewColumns(){return this.newColumns.some(A=>A.searchable)},columnCount(){let A=this.visibleColumns.length;return A+=this.checkable?1:0,A+=this.detailed&&this.showDetailIcon?1:0,A},showDetailRowIcon(){return this.detailed&&this.showDetailIcon},isScrollable(){return this.scrollable?!0:this.newColumns?this.newColumns.some(A=>A.sticky):!1},newColumns(){return this.columns&&this.columns.length?this.columns.map(A=>{const C=k(ni,A,e=>[WC("span",{},U(e.row,A.field))]);return Up(C).provide("$table",this).mount(document.createElement("div"))}):this.defaultSlots},isMobile(){return this.mobileCards&&this.isMatchMedia},hasCustomSubheadings(){return this.$slots.subheading?!0:this.newColumns.some(A=>A.subheading||A.$slots.subheading)},canDragRow(){return this.draggable&&!this.isDraggingColumn},canDragColumn(){return this.draggableColumn&&!this.isDraggingRow}},watch:{data:{handler(A){this.newData=A,this.backendFiltering||(this.newData=A.filter(C=>this.isRowFiltered(C))),this.backendSorting||this.sort(this.currentSortColumn,!0),this.backendPagination||(this.newDataTotal=this.newData.length)},deep:!0},visibleColumns:{handler(){this.processTdAttrs()}},visibleData:{handler(){this.processTdAttrs()}},total(A){this.backendPagination&&(this.newDataTotal=A)},currentPage(A){this.newCurrentPage=A},checkedRows:{handler(A){this.newCheckedRows=[...A]},deep:!0},debounceSearch:{handler(A){this.debouncedHandleFiltersChange=C1(this.handleFiltersChange,A)},immediate:!0},filters:{handler(A){this.debounceSearch?this.debouncedHandleFiltersChange(A):this.handleFiltersChange(A)},deep:!0},openedDetailed(A){this.visibleDetailRows=A},newCurrentPage(A){this.$emit("update:currentPage",A)}},methods:{thClasses(A){return[...this.thBaseClasses,...this.thStickyClasses(A),{[this.computedClass("thCurrentSortClass","o-table__th-current-sort")]:this.currentSortColumn===A},{[this.computedClass("thSortableClass","o-table__th--sortable")]:A.sortable},{[this.computedClass("thUnselectableClass","o-table__th--unselectable")]:A.isHeaderUnselectable},{[this.computedClass("thPositionClass","o-table__th--",A.position)]:A.position}]},thStickyClasses(A){return[{[this.computedClass("thStickyClass","o-table__th--sticky")]:A.sticky}]},rowClasses(A,C){return[this.rowClass(A,C),{[this.computedClass("trSelectedClass","o-table__tr--selected")]:this.isRowSelected(A,this.selected)}]},thSortIconClasses(){return[this.computedClass("thSortIconClass","o-table__th__sort-icon")]},tdClasses(A,C){return[...this.tdBaseClasses,{[this.computedClass("tdPositionClass","o-table__td--",C.position)]:C.position},{[this.computedClass("tdStickyClass","o-table__td--sticky")]:C.sticky}]},onFiltersEvent(A){this.$emit(`filters-event-${this.filtersEvent}`,{event:A,filters:this.filters})},handleFiltersChange(A){this.backendFiltering?this.$emit("filters-change",A):(this.newData=this.data.filter(C=>this.isRowFiltered(C)),this.backendPagination||(this.newDataTotal=this.newData.length),this.backendSorting||Object.keys(this.currentSortColumn).length>0&&this.doSortSingleColumn(this.currentSortColumn))},sortBy(A,C,e,n){let t=[];return e&&typeof e=="function"?t=[...A].sort((i,s)=>e(i,s,n)):t=[...A].sort((i,s)=>{let o=U(i,C),l=U(s,C);return typeof o=="boolean"&&typeof l=="boolean"?n?o>l?1:-1:o>l?-1:1:!o&&o!==0?1:!l&&l!==0?-1:o===l?0:(o=typeof o=="string"?o.toUpperCase():o,l=typeof l=="string"?l.toUpperCase():l,n?o>l?1:-1:o>l?-1:1)}),t},sort(A,C=!1,e=null){!A||!A.sortable||(C||(this.isAsc=A===this.currentSortColumn?!this.isAsc:this.defaultSortDirection.toLowerCase()!=="desc"),this.firstTimeSort||this.$emit("sort",A.field,this.isAsc?"asc":"desc",e),this.backendSorting||this.doSortSingleColumn(A),this.currentSortColumn=A)},doSortSingleColumn(A){this.newData=this.sortBy(this.newData,A.field,A.customSort,this.isAsc)},isRowSelected(A,C){return C?this.customRowKey?A[this.customRowKey]===C[this.customRowKey]:A===C:!1},isRowChecked(A){return gl(this.newCheckedRows,A,this.customIsChecked)>=0},removeCheckedRow(A){const C=gl(this.newCheckedRows,A,this.customIsChecked);C>=0&&this.newCheckedRows.splice(C,1)},checkAll(){const A=this.isAllChecked;this.visibleData.forEach(C=>{this.isRowCheckable(C)&&this.removeCheckedRow(C),A||this.isRowCheckable(C)&&this.newCheckedRows.push(C)}),this.$emit("check",this.newCheckedRows),this.$emit("check-all",this.newCheckedRows),this.$emit("update:checkedRows",this.newCheckedRows)},checkRow(A,C,e){if(!this.isRowCheckable(A))return;const n=this.lastCheckedRowIndex;this.lastCheckedRowIndex=C,e.shiftKey&&n!==null&&C!==n?this.shiftCheckRow(A,C,n):this.isRowChecked(A)?this.removeCheckedRow(A):this.newCheckedRows.push(A),this.$emit("check",this.newCheckedRows,A),this.$emit("update:checkedRows",this.newCheckedRows)},shiftCheckRow(A,C,e){const n=this.visibleData.slice(Math.min(C,e),Math.max(C,e)+1),t=!this.isRowChecked(A);n.forEach(i=>{this.removeCheckedRow(i),t&&this.isRowCheckable(i)&&this.newCheckedRows.push(i)})},selectRow(A,C){this.$emit("click",A,C),this.selected!==A&&this.isRowSelectable(A)&&(this.$emit("select",A,this.selected),this.$emit("update:selected",A))},toggleDetails(A){this.isVisibleDetailRow(A)?(this.closeDetailRow(A),this.$emit("details-close",A)):(this.openDetailRow(A),this.$emit("details-open",A)),this.$emit("update:openedDetailed",this.visibleDetailRows)},openDetailRow(A){const C=this.handleDetailKey(A);this.visibleDetailRows.push(C)},closeDetailRow(A){const C=this.handleDetailKey(A),e=this.visibleDetailRows.indexOf(C);e>=0&&this.visibleDetailRows.splice(e,1)},isVisibleDetailRow(A){const C=this.handleDetailKey(A);return this.visibleDetailRows.indexOf(C)>=0},isActiveDetailRow(A){return this.detailed&&!this.customDetailRow&&this.isVisibleDetailRow(A)},isActiveCustomDetailRow(A){return this.detailed&&this.customDetailRow&&this.isVisibleDetailRow(A)},isRowFiltered(A){for(const C in this.filters){if(!this.filters[C])continue;const e=this.filters[C],n=this.newColumns.filter(t=>t.field===C)[0];if(n&&n.customSearch&&typeof n.customSearch=="function"){if(!n.customSearch(A,e))return!1}else{const t=U(A,C);if(t==null)return!1;if(Number.isInteger(t)){if(t!==Number(e))return!1}else{const i=new RegExp(ub(e),"i");if(Array.isArray(t)){if(!t.some(o=>i.test(gu(o))||i.test(o)))return!1}else if(!i.test(gu(t))&&!i.test(t))return!1}}}return!0},handleDetailKey(A){const C=this.detailKey;return!C.length||!A?A:A[C]},checkSort(){if(this.newColumns.length&&this.firstTimeSort)this.initSort(),this.firstTimeSort=!1;else if(this.newColumns.length&&Object.keys(this.currentSortColumn).length>0){for(let A=0;A1)return!0;const C=A[0].tag;if(C!=="th"&&C!=="td")return!1}return!0},pressedArrow(A){if(!this.visibleData.length)return;let C=this.visibleData.indexOf(this.selected)+A;C=C<0?0:C>this.visibleData.length-1?this.visibleData.length-1:C;const e=this.visibleData[C];if(this.isRowSelectable(e))this.selectRow(e);else{let n=null;if(A>0)for(let t=C;t=0&&n===null;t--)this.isRowSelectable(this.visibleData[t])&&(n=t);n>=0&&this.selectRow(this.visibleData[n])}},focus(){this.focusable&&this.$el.querySelector("table").focus()},initSort(){if(!this.defaultSort)return;let A="",C=this.defaultSortDirection;Array.isArray(this.defaultSort)?(A=this.defaultSort[0],this.defaultSort[1]&&(C=this.defaultSort[1])):A=this.defaultSort;const e=this.newColumns.filter(n=>n.field===A)[0];e&&(this.isAsc=C.toLowerCase()!=="desc",this.sort(e,!0))},handleDragStart(A,C,e){this.draggable&&this.$emit("dragstart",{event:A,row:C,index:e})},handleDragEnd(A,C,e){this.draggable&&this.$emit("dragend",{event:A,row:C,index:e})},handleDrop(A,C,e){this.draggable&&this.$emit("drop",{event:A,row:C,index:e})},handleDragOver(A,C,e){this.draggable&&this.$emit("dragover",{event:A,row:C,index:e})},handleDragLeave(A,C,e){this.draggable&&this.$emit("dragleave",{event:A,row:C,index:e})},handleColumnDragStart(A,C,e){this.canDragColumn&&(this.isDraggingColumn=!0,this.$emit("columndragstart",{event:A,column:C,index:e}))},handleColumnDragEnd(A,C,e){this.canDragColumn&&(this.isDraggingColumn=!1,this.$emit("columndragend",{event:A,column:C,index:e}))},handleColumnDrop(A,C,e){this.canDragColumn&&this.$emit("columndrop",{event:A,column:C,index:e})},handleColumnDragOver(A,C,e){this.canDragColumn&&this.$emit("columndragover",{event:A,column:C,index:e})},handleColumnDragLeave(A,C,e){this.canDragColumn&&this.$emit("columndragleave",{event:A,column:C,index:e})},emitEventForRow(A,C,e){return this.$attrs[A]?this.$emit(A,e,C):null},processTdAttrs(){if(this.visibleColumns.length&&this.visibleData.length)for(let A=0;A{C.tdAttrsData[n]=C.tdAttrs(e,C)})}},_addColumn(A){this.defaultSlots.push(A);const C=this.$refs.slot;C&&C.children&&this.$nextTick(()=>{const e=this.defaultSlots.map(t=>`[data-id="${t.newKey}"]`).join(","),n=Array.from(C.querySelectorAll(e)).map(t=>t.getAttribute("data-id"));this.defaultSlots=this.defaultSlots.sort((t,i)=>n.indexOf(`${t.newKey}`)-n.indexOf(`${i.newKey}`))})},_removeColumn(A){this.defaultSlots=this.defaultSlots.filter(C=>C.newKey!==A.newKey)},_nextSequence(){return this.sequence++}}});const PE={ref:"slot",style:{display:"none"}},OE={key:0},LE={key:1},KE={key:1},TE={key:0},FE={key:1},NE={key:2},$E={key:1},RE={key:1},GE={key:2},UE={key:0},HE={key:2};function QE(A,C,e,n,t,i){const s=AA("o-table-mobile-sort"),o=AA("o-table-pagination"),l=AA("o-checkbox"),a=AA("o-slot-component"),r=AA("o-icon"),p=AA("o-input"),d=AA("o-loading");return h(),S("div",{class:A.rootClasses},[k("div",PE,[fA(A.$slots,"default")],512),A.isMobile&&A.hasSortablenewColumns?k(s,{key:0,"current-sort-column":A.currentSortColumn,columns:A.newColumns,placeholder:A.mobileSortPlaceholder,"icon-pack":A.iconPack,"sort-icon":A.sortIcon,"sort-icon-size":A.sortIconSize,"is-asc":A.isAsc,onSort:C[1]||(C[1]=(u,g)=>A.sort(u,null,g))},null,8,["current-sort-column","columns","placeholder","icon-pack","sort-icon","sort-icon-size","is-asc"]):L("v-if",!0),A.paginated&&(A.paginationPosition==="top"||A.paginationPosition==="both")?fA(A.$slots,"pagination",{key:1},()=>[k(o,lC(A.$attrs,{"per-page":A.perPage,paginated:A.paginated,total:A.newDataTotal,"current-page":A.newCurrentPage,"onUpdate:currentPage":C[2]||(C[2]=u=>A.newCurrentPage=u),"root-class":A.paginationWrapperClasses,"icon-pack":A.iconPack,rounded:A.paginationRounded,"onPage-change":C[3]||(C[3]=u=>A.$emit("page-change",u)),"aria-next-label":A.ariaNextLabel,"aria-previous-label":A.ariaPreviousLabel,"aria-page-label":A.ariaPageLabel,"aria-current-label":A.ariaCurrentLabel}),{default:SA(()=>[fA(A.$slots,"top-left")]),_:3},16,["per-page","paginated","total","current-page","root-class","icon-pack","rounded","aria-next-label","aria-previous-label","aria-page-label","aria-current-label"])]):L("v-if",!0),k("div",{class:A.tableWrapperClasses,style:A.tableWrapperStyle},[k("table",{class:A.tableClasses,tabindex:A.focusable?0:!1,onKeydown:[C[4]||(C[4]=mC(MA(u=>A.pressedArrow(-1),["self","prevent"]),["up"])),C[5]||(C[5]=mC(MA(u=>A.pressedArrow(1),["self","prevent"]),["down"]))]},[A.$slots.caption?(h(),S("caption",OE,[fA(A.$slots,"caption")])):L("v-if",!0),A.newColumns.length&&A.showHeader?(h(),S("thead",LE,[k("tr",null,[A.showDetailRowIcon?(h(),S("th",{key:0,class:A.thDetailedClasses},null,2)):L("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),S("th",{key:1,class:A.thCheckboxClasses},[A.headerCheckable?k(l,{key:0,autocomplete:"off",modelValue:A.isAllChecked,disabled:A.isAllUncheckable,"onUpdate:modelValue":A.checkAll},null,8,["modelValue","disabled","onUpdate:modelValue"]):L("v-if",!0)],2)):L("v-if",!0),(h(!0),S(gA,null,JA(A.visibleColumns,(u,g)=>(h(),S("th",lC({key:u.newKey+":"+g+"header"},u.thAttrsData,{class:A.thClasses(u),style:A.isMobile?{}:u.style,onClick:MA(v=>A.sort(u,null,v),["stop"]),draggable:A.canDragColumn,onDragstart:v=>A.handleColumnDragStart(v,u,g),onDragend:v=>A.handleColumnDragEnd(v,u,g),onDrop:v=>A.handleColumnDrop(v,u,g),onDragover:v=>A.handleColumnDragOver(v,u,g),onDragleave:v=>A.handleColumnDragLeave(v,u,g)}),[u.hasHeaderSlot?k(a,{key:0,component:u,name:"header",tag:"span",props:{column:u,index:g}},null,8,["component","props"]):(h(),S("span",KE,[cC(lA(u.label)+" ",1),HA(k("span",{class:A.thSortIconClasses()},[k(r,{icon:A.sortIcon,pack:A.iconPack,both:"",size:A.sortIconSize,rotation:A.isAsc?0:180},null,8,["icon","pack","size","rotation"])],2),[[fC,u.sortable&&A.currentSortColumn===u]])]))],16,["onClick","draggable","onDragstart","onDragend","onDrop","onDragover","onDragleave"]))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),S("th",{key:2,class:A.thCheckboxClasses},[A.headerCheckable?k(l,{key:0,autocomplete:"off",modelValue:A.isAllChecked,disabled:A.isAllUncheckable,"onUpdate:modelValue":A.checkAll},null,8,["modelValue","disabled","onUpdate:modelValue"]):L("v-if",!0)],2)):L("v-if",!0)]),A.hasSearchablenewColumns?(h(),S("tr",TE,[A.showDetailRowIcon?(h(),S("th",{key:0,class:A.thDetailedClasses},null,2)):L("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),S("th",FE)):L("v-if",!0),(h(!0),S(gA,null,JA(A.visibleColumns,(u,g)=>(h(),S("th",lC({key:u.newKey+":"+g+"searchable"},u.thAttrsData,{class:A.thClasses(u),style:A.isMobile?{}:u.style}),[u.searchable?(h(),S(gA,{key:0},[u.hasSearchableSlot?k(a,{key:0,component:u,name:"searchable",tag:"span",props:{column:u,filters:A.filters}},null,8,["component","props"]):k(p,{key:1,["on"+Ti(A.filtersEvent)]:A.onFiltersEvent,modelValue:A.filters[u.field],"onUpdate:modelValue":v=>A.filters[u.field]=v,type:u.numeric?"number":"text"},null,16,["modelValue","onUpdate:modelValue","type"])],64)):L("v-if",!0)],16))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),S("th",NE)):L("v-if",!0)])):L("v-if",!0),A.hasCustomSubheadings?(h(),S("tr",$E,[A.showDetailRowIcon?(h(),S("th",{key:0,class:A.thDetailedClasses},null,2)):L("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),S("th",RE)):L("v-if",!0),(h(!0),S(gA,null,JA(A.visibleColumns,(u,g)=>(h(),S("th",{key:u.newKey+":"+g+"subheading",style:A.isMobile?{}:u.style,class:A.thSubheadingClasses},[u.$slots&&u.$slots.subheading?k(a,{key:0,component:u,name:"subheading",tag:"span",props:{column:u,index:g}},null,8,["component","props"]):(h(),S(gA,{key:1},[cC(lA(u.subheading),1)],64))],6))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),S("th",GE)):L("v-if",!0)])):L("v-if",!0)])):L("v-if",!0),k("tbody",null,[(h(!0),S(gA,null,JA(A.visibleData,(u,g)=>(h(),S(gA,{key:this.customRowKey?u[this.customRowKey]:g},[k("tr",{class:A.rowClasses(u,g),onClick:v=>A.selectRow(u,g),onDblclick:v=>A.$emit("dblclick",u),onMouseenter:v=>A.emitEventForRow("mouseenter",v,u),onMouseleave:v=>A.emitEventForRow("mouseleave",v,u),onContextmenu:v=>A.$emit("contextmenu",u,v),draggable:A.canDragRow,onDragstart:v=>A.handleDragStart(v,u,g),onDragend:v=>A.handleDragEnd(v,u,g),onDrop:v=>A.handleDrop(v,u,g),onDragover:v=>A.handleDragOver(v,u,g),onDragleave:v=>A.handleDragLeave(v,u,g)},[A.showDetailRowIcon?(h(),S("td",{key:0,class:A.tdDetailedChevronClasses},[A.hasDetailedVisible(u)?k(r,{key:0,icon:A.detailIcon,pack:A.iconPack,rotation:A.isVisibleDetailRow(u)?90:0,role:"button",onClick:MA(v=>A.toggleDetails(u),["stop"]),clickable:"",both:""},null,8,["icon","pack","rotation","onClick"]):L("v-if",!0)],2)):L("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),S("td",{key:1,class:A.tdCheckboxClasses},[k(l,{autocomplete:"off",disabled:!A.isRowCheckable(u),modelValue:A.isRowChecked(u),"onUpdate:modelValue":v=>A.checkRow(u,g,v)},null,8,["disabled","modelValue","onUpdate:modelValue"])],2)):L("v-if",!0),(h(!0),S(gA,null,JA(A.visibleColumns,(v,y)=>(h(),S(a,lC({key:v.newKey+g+":"+y},v.tdAttrsData[g],{component:v,name:"default",tag:"td",class:A.tdClasses(u,v),style:A.isMobile?{}:v.style,"data-label":v.label,props:{row:u,column:v,index:g,colindex:y,toggleDetails:A.toggleDetails},onClick:x=>A.$emit("cell-click",u,v,g,y,x)}),null,16,["component","class","style","data-label","props","onClick"]))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),S("td",{key:2,class:A.tdCheckboxClasses},[k(l,{autocomplete:"off",disabled:!A.isRowCheckable(u),modelValue:A.isRowChecked(u),"onUpdate:modelValue":v=>A.checkRow(u,g,v)},null,8,["disabled","modelValue","onUpdate:modelValue"])],2)):L("v-if",!0)],42,["onClick","onDblclick","onMouseenter","onMouseleave","onContextmenu","draggable","onDragstart","onDragend","onDrop","onDragover","onDragleave"]),k(he,{name:A.detailTransition},{default:SA(()=>[A.isActiveDetailRow(u)?(h(),S("tr",{key:(A.customRowKey?u[A.customRowKey]:g)+"detail",class:A.detailedClasses},[k("td",{colspan:A.columnCount},[fA(A.$slots,"detail",{row:u,index:g})],8,["colspan"])],2)):L("v-if",!0)]),_:2},1032,["name"]),A.isActiveCustomDetailRow(u)?fA(A.$slots,"detail",{key:0,row:u,index:g}):L("v-if",!0)],64))),128)),A.visibleData.length?L("v-if",!0):(h(),S("tr",UE,[k("td",{colspan:A.columnCount},[fA(A.$slots,"empty")],8,["colspan"])]))]),A.$slots.footer?(h(),S("tfoot",HE,[k("tr",{class:A.footerClasses},[A.hasCustomFooterSlot()?fA(A.$slots,"footer",{key:0}):(h(),S("th",{key:1,colspan:A.columnCount},[fA(A.$slots,"footer")],8,["colspan"]))],2)])):L("v-if",!0)],42,["tabindex"]),fA(A.$slots,"loading",{},()=>[k(d,{"full-page":!1,active:A.loading},null,8,["active"])])],6),A.checkable&&A.$slots["bottom-left"]||A.paginated&&(A.paginationPosition==="bottom"||A.paginationPosition==="both")?fA(A.$slots,"pagination",{key:2},()=>[k(o,lC(A.$attrs,{"per-page":A.perPage,paginated:A.paginated,total:A.newDataTotal,"current-page":A.newCurrentPage,"onUpdate:currentPage":C[6]||(C[6]=u=>A.newCurrentPage=u),"root-class":A.paginationWrapperClasses,"icon-pack":A.iconPack,rounded:A.paginationRounded,"onPage-change":C[7]||(C[7]=u=>A.$emit("page-change",u)),"aria-next-label":A.ariaNextLabel,"aria-previous-label":A.ariaPreviousLabel,"aria-page-label":A.ariaPageLabel,"aria-current-label":A.ariaCurrentLabel}),{default:SA(()=>[fA(A.$slots,"bottom-left")]),_:3},16,["per-page","paginated","total","current-page","root-class","icon-pack","rounded","aria-next-label","aria-previous-label","aria-page-label","aria-current-label"])]):L("v-if",!0)],2)}Kr.render=QE;Kr.__file="src/components/table/Table.vue";var VE={install(A){eC(A,Kr),eC(A,ni)}};const zE=VE;var Tr=KA({name:"OTabs",mixins:[CC,b1("tab")],configField:"tabs",props:{type:{type:String,default:"default"},expanded:Boolean,animated:{type:Boolean,default:()=>U(q(),"tabs.animated",!0)},multiline:Boolean,rootClass:[String,Function,Array],positionClass:[String,Function,Array],expandedClass:[String,Function,Array],verticalClass:[String,Function,Array],multilineClass:[String,Function,Array],navTabsClass:[String,Function,Array],navSizeClass:[String,Function,Array],navPositionClass:[String,Function,Array],navTypeClass:[String,Function,Array],contentClass:[String,Function,Array],transitioningClass:[String,Function,Array],tabItemWrapperClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-tabs"),{[this.computedClass("positionClass","o-tabs--",this.position)]:this.position&&this.vertical},{[this.computedClass("expandedClass","o-tabs--fullwidth")]:this.expanded},{[this.computedClass("verticalClass","o-tabs--vertical")]:this.vertical},{[this.computedClass("multilineClass","o-tabs--multiline")]:this.multiline}]},itemWrapperClasses(){return[this.computedClass("tabItemWrapperClass","o-tabs__nav-item-wrapper")]},navClasses(){return[this.computedClass("navTabsClass","o-tabs__nav"),{[this.computedClass("navSizeClass","o-tabs__nav--",this.size)]:this.size},{[this.computedClass("navPositionClass","o-tabs__nav--",this.position)]:this.position&&!this.vertical},{[this.computedClass("navTypeClass","o-tabs__nav--",this.type)]:this.type}]},contentClasses(){return[this.computedClass("contentClass","o-tabs__content"),{[this.computedClass("transitioningClass","o-tabs__content--transitioning")]:this.isTransitioning}]}}});function qE(A,C,e,n,t,i){const s=AA("o-slot-component"),o=AA("o-icon");return h(),S("div",{class:A.rootClasses},[k("nav",{class:A.navClasses,role:"tablist","aria-orientation":A.vertical?"vertical":"horizontal"},[fA(A.$slots,"start"),(h(!0),S(gA,null,JA(A.items,l=>HA((h(),S("div",{key:l.newValue,onKeydown:[C[1]||(C[1]=mC(MA((...a)=>A.prev(...a),["prevent"]),["left"])),C[2]||(C[2]=mC(MA((...a)=>A.next(...a),["prevent"]),["right"])),C[3]||(C[3]=mC(MA((...a)=>A.prev(...a),["prevent"]),["up"])),C[4]||(C[4]=mC(MA((...a)=>A.next(...a),["prevent"]),["down"])),C[5]||(C[5]=mC(MA((...a)=>A.homePressed(...a),["prevent"]),["home"])),C[6]||(C[6]=mC(MA((...a)=>A.endPressed(...a),["prevent"]),["end"]))],class:A.itemWrapperClasses,role:"tab","aria-controls":`${l.value}-content`,"aria-selected":`${l.isActive}`},[l.$slots.header?k(s,{key:0,component:l,tag:l.tag,name:"header",onClick:a=>A.childClick(l),onKeydown:[mC(MA(A.prev,["prevent"]),["left"]),mC(MA(A.next,["prevent"]),["right"]),mC(MA(A.prev,["prevent"]),["up"]),mC(MA(A.next,["prevent"]),["down"]),mC(MA(A.homePressed,["prevent"]),["home"]),mC(MA(A.endPressed,["prevent"]),["end"])],class:l.headerClasses},null,8,["component","tag","onClick","onKeydown","class"]):(h(),S(_n(l.tag),{key:1,onClick:a=>A.childClick(l),class:l.headerClasses},{default:SA(()=>[l.icon?k(o,{key:0,rootClass:l.headerIconClasses,icon:l.icon,pack:l.iconPack,size:A.size},null,8,["rootClass","icon","pack","size"]):L("v-if",!0),k("span",{class:l.headerTextClasses},lA(l.label),3)]),_:2},1032,["onClick","class"]))],42,["aria-controls","aria-selected"])),[[fC,l.visible]])),128)),fA(A.$slots,"end")],10,["aria-orientation"]),k("section",{class:A.contentClasses},[fA(A.$slots,"default")],2)],2)}Tr.render=qE;Tr.__file="src/components/tabs/Tabs.vue";var v1=KA({name:"OTabItem",mixins:[CC,E1("tab")],configField:"tabs",props:{disabled:Boolean,tag:{type:String,default:()=>U(q(),"tabs.itemTag","button")},itemClass:[String,Function,Array],itemHeaderClass:[String,Function,Array],itemHeaderActiveClass:[String,Function,Array],itemHeaderDisabledClass:[String,Function,Array],itemHeaderTypeClass:[String,Function,Array],itemHeaderIconClass:[String,Function,Array],itemHeaderTextClass:[String,Function,Array]},computed:{elementClasses(){return[this.computedClass("itemClass","o-tab-item__content")]},headerClasses(){return[this.computedClass("itemHeaderClass","o-tabs__nav-item"),{[this.computedClass("itemHeaderActiveClass","o-tabs__nav-item-{*}--active",this.parent.type)]:this.isActive},{[this.computedClass("itemHeaderDisabledClass","o-tabs__nav-item-{*}--disabled",this.parent.type)]:this.disabled},{[this.computedClass("itemHeaderTypeClass","o-tabs__nav-item-",this.parent.type)]:this.parent.type}]},headerIconClasses(){return[this.computedClass("itemHeaderIconClass","o-tabs__nav-item-icon")]},headerTextClasses(){return[this.computedClass("itemHeaderTextClass","o-tabs__nav-item-text")]}}});v1.__file="src/components/tabs/TabItem.vue";var WE={install(A){eC(A,Tr),eC(A,v1)}};const YE=WE;var JE={install(A){eC(A,bi)}};const XE=JE;var ZE={install(A){eC(A,vi)}};const Ay=ZE;var Fr=KA({name:"OUpload",mixins:[CC,jn],configField:"upload",inheritAttrs:!1,emits:["update:modelValue"],props:{modelValue:[Object,x3,Array],multiple:Boolean,disabled:Boolean,accept:String,dragDrop:Boolean,variant:{type:String},native:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1},rootClass:[String,Function,Array],draggableClass:[String,Function,Array],variantClass:[String,Function,Array],expandedClass:[String,Function,Array],disabledClass:[String,Function,Array],hoveredClass:[String,Function,Array]},data(){return{newValue:this.modelValue,dragDropFocus:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-upl"),{[this.computedClass("expandedClass","o-upl--expanded")]:this.expanded},{[this.computedClass("disabledClass","o-upl--disabled")]:this.disabled}]},draggableClasses(){return[this.computedClass("draggableClass","o-upl__draggable"),{[this.computedClass("hoveredClass","o-upl__draggable--hovered")]:!this.variant&&this.dragDropFocus},{[this.computedClass("variantClass","o-upl__draggable--hovered-",this.variant)]:this.variant&&this.dragDropFocus}]},$elementRef(){return"input"}},watch:{modelValue(A){this.newValue=A,(!A||Array.isArray(A)&&A.length===0)&&(this.$refs.input.value=null),!this.isValid&&!this.dragDrop&&this.checkHtml5Validity()}},methods:{onFileChange(A){if(this.disabled)return;this.dragDrop&&this.updateDragDropFocus(!1);const C=A.target.files||A.dataTransfer.files;if(C.length===0){if(!this.newValue)return;this.native&&(this.newValue=null)}else if(this.multiple){let e=!1;(this.native||!this.newValue)&&(this.newValue=[],e=!0);for(let n=0;nA.updateDragDropFocus(!0)),onMouseleave:C[2]||(C[2]=s=>A.updateDragDropFocus(!1)),onDragover:C[3]||(C[3]=MA(s=>A.updateDragDropFocus(!0),["prevent"])),onDragleave:C[4]||(C[4]=MA(s=>A.updateDragDropFocus(!1),["prevent"])),onDragenter:C[5]||(C[5]=MA(s=>A.updateDragDropFocus(!0),["prevent"])),onDrop:C[6]||(C[6]=MA((...s)=>A.onFileChange(...s),["prevent"]))},[fA(A.$slots,"default")],34)):fA(A.$slots,"default",{key:0}),k("input",lC({ref:"input",type:"file"},A.$attrs,{multiple:A.multiple,accept:A.accept,disabled:A.disabled,onChange:C[7]||(C[7]=(...s)=>A.onFileChange(...s))}),null,16,["multiple","accept","disabled"])],2)}Fr.render=Cy;Fr.__file="src/components/upload/Upload.vue";var ey={install(A){eC(A,Fr)}};const ny=ey;var xu=Object.freeze({__proto__:null,Autocomplete:Ib,Button:Pb,Carousel:Nb,Checkbox:Gb,Collapse:Hb,Datepicker:o3,Datetimepicker:d3,Dropdown:f3,Field:g3,Icon:E3,Input:v3,Inputitems:S3,Loading:M3,Menu:F3,Modal:U3,Notification:Y3,Pagination:tE,Radio:oE,Select:aE,Skeleton:cE,Sidebar:dE,Slider:vE,Steps:kE,Switch:jE,Table:zE,Tabs:YE,Timepicker:XE,Tooltip:Ay,Upload:ny});const ty={install(A,C={}){hb(A);const e=q();n1(Lt(e,C,!0));for(const n in xu)yb(A,xu[n]);Do(A,"config",gb)}},iy=ty,sy={field:{override:!0,rootClass:"field",labelClass:"label",labelSizeClass:"is-",messageClass:"help",variantMessageClass:"is-",addonsClass:"has-addons",groupedClass:"is-grouped",groupMultilineClass:"is-grouped-multiline",horizontalClass:"is-horizontal",labelHorizontalClass:"field-label",bodyHorizontalClass:"field-body",bodyClass:"control"},input:{override:!0,rootClass:(A,{props:C,computed:e})=>{const n=["control"];return C.icon&&n.push("has-icons-left"),e.hasIconRight&&n.push("has-icons-right"),n.join(" ").trim()},inputClass:"input",textareaClass:"textarea",roundedClass:"is-rounded",variantClass:"is-",sizeClass:"is-",expandedClass:"is-expanded",iconLeftClass:"is-left",iconRightClass:"is-right",counterClass:"help counter"},select:{override:!0,rootClass:(A,{props:C,computed:e})=>{const n=["control","select"];return C.size&&n.push(`is-${C.size}`),C.rounded&&n.push("is-rounded"),e.statusVariant&&n.push(`is-${e.statusVariant}`),C.multiple&&n.push("is-multiple"),C.icon&&n.push("has-icons-left"),C.iconRight&&n.push("has-icons-right"),n.join(" ").trim()},expandedClass:"is-fullwidth",iconLeftClass:"is-left",iconRightClass:"is-right",placeholderClass:"is-empty"},icon:{override:!0,rootClass:"icon",variantClass:"has-text-",sizeClass:"is-",clickableClass:"is-clickable",spinClass:"is-spin"},checkbox:{override:!0,rootClass:"b-checkbox checkbox",disabledClass:"is-disabled",checkClass:"check",labelClass:"control-label",variantClass:"is-",sizeClass:"is-"},radio:{override:!0,rootClass:"b-radio radio",disabledClass:"is-disabled",checkClass:"check",labelClass:"control-label",variantClass:"is-",sizeClass:"is-"},switch:{override:!0,rootClass:(A,{props:C})=>{const e=["switch"];return C.rounded&&e.push("is-rounded"),C.position==="left"&&e.push("has-left-label"),e.join(" ")},checkClass:(A,{props:C})=>{const e=["check"];return C.variant&&e.push(`is-${C.variant}`),C.passiveVariant&&e.push(`is-${C.passiveVariant}-passive`),e.join(" ")},labelClass:"control-label",sizeClass:"is-",disabledClass:"is-disabled"},autocomplete:{override:!0,rootClass:"autocomplete control",menuClass:"dropdown-menu dropdown-content",menuPositionClass:"is-opened-",itemClass:"dropdown-item",itemHoverClass:"is-hovered",itemEmptyClasses:"is-disabled",itemGroupTitleClass:"has-text-weight-bold"},inputitems:{override:!0,rootClass:"taginput control",containerClass:"taginput-container is-focusable",itemClass:"tag",closeClass:"delete is-small"},pagination:{override:!0,rootClass:(A,{props:C})=>{const e=["pagination"];return C.rounded&&e.push("is-rounded"),e.join(" ")},sizeClass:"is-",simpleClass:"is-simple",orderClass:"is-",listClass:"pagination-list",linkClass:"pagination-link",linkCurrentClass:"is-current",linkDisabledClass:"is-disabled",nextBtnClass:"pagination-next",prevBtnClass:"pagination-previous",infoClass:"info"},slider:{override:!0,rootClass:(A,{props:C})=>{const e=["b-slider"];return C.variant&&e.push(`is-${C.variant}`),C.rounded&&e.push("is-rounded"),e.join(" ")},disabledClass:"is-disabled",trackClass:"b-slider-track",fillClass:"b-slider-fill",thumbWrapperClass:(A,{data:C})=>{const e=["b-slider-thumb-wrapper"];return C.dragging&&e.push("is-dragging"),e.join(" ")},sizeClass:"is-",thumbClass:"b-slider-thumb",tickLabelClass:"b-slider-tick-label",tickHiddenClass:"is-tick-hidden",tickClass:"b-slider-tick"},tabs:{override:!0,itemTag:"a",rootClass:"b-tabs",contentClass:"tab-content",multilineClass:"is-multiline",navTabsClass:(A,{props:C})=>{const e=["tabs"];return C.type&&e.push(`is-${C.type}`),e.join(" ")},expandedClass:"is-fullwidth",verticalClass:"is-vertical",positionClass:"is-",navSizeClass:"is-",navPositionClass:"is-",transitioningClass:"is-transitioning",itemClass:"tab-item",itemHeaderActiveClass:()=>"is-active",itemHeaderDisabledClass:()=>"is-disabled"},table:{override:!0,rootClass:"b-table",wrapperClass:"table-wrapper",tableClass:"table",borderedClass:"is-bordered",stripedClass:"is-striped",narrowedClass:"is-narrow",hoverableClass:"is-hoverable",emptyClass:"is-empty",detailedClass:"detail",footerClass:"table-footer",paginationWrapperClass:"level",scrollableClass:"table-container",trSelectedClass:"is-selected",thSortableClass:"is-sortable",thCurrentSortClass:"is-current-sort",thSortIconClass:"th-wrap sort-icon",thUnselectableClass:"is-unselectable",thStickyClass:"is-sticky",thCheckboxClass:"th-checkbox",thDetailedClass:"th-chevron-cell",tdDetailedChevronClass:"chevron-cell",thPositionClass:A=>{if(A==="centered")return"is-centered";if(A==="right")return"is-right"},tdPositionClass:A=>{if(A==="centered")return"has-text-centered";if(A==="right")return"has-text-right"},mobileClass:"is-mobile",mobileSortClass:"table-mobile-sort field"},tooltip:{override:!0,rootClass:(A,{props:C})=>{const e=["b-tooltip"];return C.variant?e.push(`is-${C.variant}`):e.push("is-primary"),C.position&&e.push(`is-${C.position}`),e.join(" ")},contentClass:"tooltip-content",triggerClass:"tooltip-trigger",alwaysClass:"is-always",multilineClass:"is-multiline",variantClass:"is-",orderClass:"is-"},steps:{override:!0,rootClass:(A,{props:C})=>{const e=["b-steps"];return C.variant&&e.push(`is-${C.variant}`),C.disables&&e.push("is-disabled"),e.join(" ")},stepsClass:(A,{props:C})=>{const e=["steps"];return C.animated&&e.push("is-animated"),C.rounded&&e.push("is-rounded"),C.labelPosition==="left"&&e.push("has-label-left"),C.labelPosition==="right"&&e.push("has-label-right"),e.join(" ")},itemClass:"step-link",itemHeaderClass:"step-item",itemHeaderVariantClass:"is-",itemHeaderActiveClass:"is-active",itemHeaderPreviousClass:"is-previous",stepLinkClass:"step-link",stepLinkLabelClass:"step-title",stepLinkClickableClass:"is-clickable",stepMarkerClass:"step-marker",stepNavigationClass:"step-navigation",stepContentClass:"step-content",verticalClass:"is-vertical",positionClass:"is-",stepContentTransitioningClass:"is-transitioning",sizeClass:"is-",variantClass:"is-"},button:{override:!0,rootClass:"button",sizeClass:"is-",variantClass:"is-",roundedClass:"is-rounded",expandedClass:"is-fullwidth",loadingClass:"is-loading",outlinedClass:()=>"is-outlined",invertedClass:()=>"is-inverted",elementsWrapperClass:"button-wrapper"},menu:{override:!0,rootClass:"menu",listClass:"menu-list",listLabelClass:"menu-label"},skeleton:{override:!0,rootClass:(A,{props:C})=>{const e=["b-skeleton"];return C.animated&&e.push("is-animated"),e.join(" ")},itemClass:"b-skeleton-item",itemRoundedClass:"is-rounded"},notification:{override:!0,rootClass:(A,{props:C})=>{const e=["notification"];return C.variant&&e.push(`is-${C.variant}`),e.join(" ")},wrapperClass:"media",contentClass:"media-content",iconClass:"media-left",closeClass:"delete",positionClass:"is-",noticeClass:"b-notices",noticePositionClass:"is-"},dropdown:{override:!0,itemTag:"a",rootClass:(A,{props:C,data:e,computed:n})=>{const t=["dropdown","dropdown-menu-animation"];return(e.isActive||C.inline)&&t.push("is-active"),n.hoverable&&t.push("is-hoverable"),C.position&&t.push(`is-${C.position}`),t.join(" ")},triggerClass:"dropdown-trigger",menuClass:"dropdown-content dropdown-menu",disabledClass:"is-disabled",expandedClass:"is-expanded",inlineClass:"is-inline",itemClass:"dropdown-item",itemActiveClass:"is-active",itemDisabledClass:"is-disabled",mobileClass:"is-mobile-modal",menuMobileOverlayClass:"background"},datepicker:{override:!0,rootClass:"datepicker",headerClass:"datepicker-header",footerClass:"datepicker-footer",boxClass:"dropdown-item",tableClass:"datepicker-table",tableHeadClass:"datepicker-header",tableHeadCellClass:"datepicker-cell",headerButtonsClass:"pagination field is-centered",prevBtnClass:"pagination-previous",nextBtnClass:"pagination-next",listsClass:"pagination-list",tableBodyClass:(A,{props:C})=>{const e=["datepicker-body"];return C.events&&e.push("has-events"),e.join(" ")},tableRowClass:"datepicker-row",tableCellClass:"datepicker-cell",tableCellSelectableClass:"is-selectable",tableCellUnselectableClass:"is-unselectable",tableCellTodayClass:"is-today",tableCellSelectedClass:"is-selected",tableCellWithinHoveredClass:"is-within-hovered",tableCellFirstHoveredClass:"is-first-hovered",tableCellLastHoveredClass:"is-last-hovered",tableCellFirstSelectedClass:"is-first-selected",tableCellLastSelectedClass:"is-last-selected",tableCellWithinSelectedClass:"is-within-selected",tableCellInvisibleClass:"",tableCellNearbyClass:"is-nearby",tableCellEventsClass:(A,{props:C})=>{const e=["has-event"];return C.indicators&&e.push(`${C.indicators}`),e.join(" ")},tableEventVariantClass:"is-",tableEventsClass:"events",tableEventClass:"event",monthBodyClass:"datepicker-body",monthCellClass:"datepicker-cell",monthCellFirstHoveredClass:"is-first-hovered",monthCellFirstSelectedClass:"is-first-selected",monthCellLastHoveredClass:"is-last-hovered",monthCellLastSelectedClass:"is-last-selected",monthCellNearbyClass:"is-nearby",monthCellSelectableClass:"is-selectable",monthCellSelectedClass:"is-selected",monthCellTodayClass:"is-today",monthCellUnselectableClass:"is-unselectable",monthCellWithinHoveredClass:"is-within-hovered",monthCellWithinSelectedClass:"is-within-selected",monthClass:"datepicker-table",monthEventsClass:"events",monthTableClass:"datepicker-months"},modal:{override:!0,rootClass:(A,{props:C})=>{const e=["modal"];return(C.active||C.programmatic)&&e.push("is-active"),e.join(" ")},overlayClass:"modal-background",contentClass:"modal-content animation-content",closeClass:"modal-close is-large",fullScreenClass:"is-full-screen",scrollClipClass:"is-clipped"},sidebar:{override:!0,rootClass:"b-sidebar",variantClass:"is-",contentClass:"sidebar-content",staticClass:"is-static",absoluteClass:"is-absolute",fixedClass:"is-fixed",expandOnHoverClass:"is-mini-expand",expandOnHoverFixedClass:"is-mini-expand",fullheightClass:"is-fullheight",fullwidthClass:"is-fullwidth",mobileClass:(A,{props:C})=>{if(C.mobile&&C.mobile!=="reduce")return`is-${C.mobile}-mobile`},overlayClass:"sidebar-background",reduceClass:"is-mini-mobile",rightClass:"is-right"},loading:{fullPageClass:"is-full-page",overlayClass:"loading-overlay",iconClass:"icon",rootClass:"loading"},timepicker:{override:!0,rootClass:"timepicker control",boxClass:"dropdown-item",selectClasses:{rootClass:"select control"},separatorClass:"is-colon control",footerClass:"timepicker-footer",sizeClass:"is-"},carousel:{override:!0,rootClass:"carousel",overlayClass:"is-overlay",sceneClass:"carousel-scene",itemsClass:"carousel-items",itemsDraggingClass:"is-dragging",arrowIconClass:"carousel-arrow",arrowIconPrevClass:"has-icons-left",arrowIconNextClass:"has-icons-right",indicatorsClass:"carousel-indicator",indicatorClass:"indicator-item",indicatorsInsideClass:"is-inside",indicatorsInsidePositionClass:"is-",indicatorItemClass:"indicator-style",indicatorItemActiveClass:"is-active",indicatorItemStyleClass:"is-",itemClass:"carousel-item",itemActiveClass:"is-active"},upload:{override:!0,rootClass:"upload control",draggableClass:"upload-draggable",variantClass:"is-",expandedClass:"is-expanded",disabledClass:"is-disabled",hoveredClass:"is-hovered"}};var TA=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Gi(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}function oy(A){if(A.__esModule)return A;var C=A.default;if(typeof C=="function"){var e=function n(){return this instanceof n?Reflect.construct(C,arguments,this.constructor):C.apply(this,arguments)};e.prototype=C.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(A).forEach(function(n){var t=Object.getOwnPropertyDescriptor(A,n);Object.defineProperty(e,n,t.get?t:{enumerable:!0,get:function(){return A[n]}})}),e}var w1={exports:{}};(function(A,C){(function(e,n){A.exports=n()})(TA,function(){var e=1e3,n=6e4,t=36e5,i="millisecond",s="second",o="minute",l="hour",a="day",r="week",p="month",d="quarter",u="year",g="date",v="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,x=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,$={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(V){var B=["th","st","nd","rd"],M=V%100;return"["+V+(B[(M-20)%10]||B[M]||B[0])+"]"}},F=function(V,B,M){var _=String(V);return!_||_.length>=B?V:""+Array(B+1-_.length).join(M)+V},H={s:F,z:function(V){var B=-V.utcOffset(),M=Math.abs(B),_=Math.floor(M/60),T=M%60;return(B<=0?"+":"-")+F(_,2,"0")+":"+F(T,2,"0")},m:function V(B,M){if(B.date()1)return V(bA[0])}else{var XA=B.name;hA[XA]=B,T=XA}return!_&&T&&(Y=T),T||!_&&Y},rA=function(V,B){if(cA(V))return V.clone();var M=typeof B=="object"?B:{};return M.date=V,M.args=arguments,new O(M)},I=H;I.l=eA,I.i=cA,I.w=function(V,B){return rA(V,{locale:B.$L,utc:B.$u,x:B.$x,$offset:B.$offset})};var O=function(){function V(M){this.$L=eA(M.locale,null,!0),this.parse(M),this.$x=this.$x||M.x||{},this[BA]=!0}var B=V.prototype;return B.parse=function(M){this.$d=function(_){var T=_.date,pA=_.utc;if(T===null)return new Date(NaN);if(I.u(T))return new Date;if(T instanceof Date)return new Date(T);if(typeof T=="string"&&!/Z$/i.test(T)){var bA=T.match(y);if(bA){var XA=bA[2]-1||0,nC=(bA[7]||"0").substring(0,3);return pA?new Date(Date.UTC(bA[1],XA,bA[3]||1,bA[4]||0,bA[5]||0,bA[6]||0,nC)):new Date(bA[1],XA,bA[3]||1,bA[4]||0,bA[5]||0,bA[6]||0,nC)}}return new Date(T)}(M),this.init()},B.init=function(){var M=this.$d;this.$y=M.getFullYear(),this.$M=M.getMonth(),this.$D=M.getDate(),this.$W=M.getDay(),this.$H=M.getHours(),this.$m=M.getMinutes(),this.$s=M.getSeconds(),this.$ms=M.getMilliseconds()},B.$utils=function(){return I},B.isValid=function(){return this.$d.toString()!==v},B.isSame=function(M,_){var T=rA(M);return this.startOf(_)<=T&&T<=this.endOf(_)},B.isAfter=function(M,_){return rA(M)0,hA<=Y.r||!Y.r){hA<=1&&H>0&&(Y=$[H-1]);var BA=x[Y.l];u&&(hA=u(""+hA)),v=typeof BA=="string"?BA.replace("%d",hA):BA(hA,r,Y.l,y);break}}if(r)return v;var cA=y?x.future:x.past;return typeof cA=="function"?cA(v):cA.replace("%s",v)},i.to=function(a,r){return o(a,r,this,!0)},i.from=function(a,r){return o(a,r,this)};var l=function(a){return a.$u?t.utc():t()};i.toNow=function(a){return this.to(l(this),a)},i.fromNow=function(a){return this.from(l(this),a)}}})})(B1);var ay=B1.exports;const ry=Gi(ay);var Oo={},Ie={},$r=class extends Error{constructor(C){super(C),this.name="TimeoutError"}},S1=function(C){let e;const n=new Promise(t=>{e=setTimeout(t,C)});return n.timeout=e,n};const cy=$r,uy=S1;var my=function(C,e){const n=uy(e);function t(){clearTimeout(n.timeout)}return Promise.race([C.finally(t),n.then(()=>{throw new cy})])};const dy=$r;var py=function(C,e,n="error",t){return new Promise((i,s)=>{let o;const l=()=>{clearTimeout(o),C.removeListener(e,r),C.removeListener(n,a)};function a(p){s(p),l()}function r(p){i(p),l()}C.once(e,r),n&&C.once(n,a),t&&(o=setTimeout(()=>{l(),s(new dy)},t))})},Rr={exports:{}},vt=typeof Reflect=="object"?Reflect:null,_u=vt&&typeof vt.apply=="function"?vt.apply:function(C,e,n){return Function.prototype.apply.call(C,e,n)},js;vt&&typeof vt.ownKeys=="function"?js=vt.ownKeys:Object.getOwnPropertySymbols?js=function(C){return Object.getOwnPropertyNames(C).concat(Object.getOwnPropertySymbols(C))}:js=function(C){return Object.getOwnPropertyNames(C)};function fy(A){console&&console.warn&&console.warn(A)}var k1=Number.isNaN||function(C){return C!==C};function wC(){wC.init.call(this)}Rr.exports=wC;Rr.exports.once=Ey;wC.EventEmitter=wC;wC.prototype._events=void 0;wC.prototype._eventsCount=0;wC.prototype._maxListeners=void 0;var ju=10;function Lo(A){if(typeof A!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof A)}Object.defineProperty(wC,"defaultMaxListeners",{enumerable:!0,get:function(){return ju},set:function(A){if(typeof A!="number"||A<0||k1(A))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+A+".");ju=A}});wC.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};wC.prototype.setMaxListeners=function(C){if(typeof C!="number"||C<0||k1(C))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+C+".");return this._maxListeners=C,this};function x1(A){return A._maxListeners===void 0?wC.defaultMaxListeners:A._maxListeners}wC.prototype.getMaxListeners=function(){return x1(this)};wC.prototype.emit=function(C){for(var e=[],n=1;n0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var l=i[C];if(l===void 0)return!1;if(typeof l=="function")_u(l,this,e);else for(var a=l.length,r=D1(l,a),n=0;n0&&s.length>t&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(C)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=A,o.type=C,o.count=s.length,fy(o)}return A}wC.prototype.addListener=function(C,e){return _1(this,C,e,!1)};wC.prototype.on=wC.prototype.addListener;wC.prototype.prependListener=function(C,e){return _1(this,C,e,!0)};function hy(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function j1(A,C,e){var n={fired:!1,wrapFn:void 0,target:A,type:C,listener:e},t=hy.bind(n);return t.listener=e,n.wrapFn=t,t}wC.prototype.once=function(C,e){return Lo(e),this.on(C,j1(this,C,e)),this};wC.prototype.prependOnceListener=function(C,e){return Lo(e),this.prependListener(C,j1(this,C,e)),this};wC.prototype.removeListener=function(C,e){var n,t,i,s,o;if(Lo(e),t=this._events,t===void 0)return this;if(n=t[C],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete t[C],t.removeListener&&this.emit("removeListener",C,n.listener||e));else if(typeof n!="function"){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,i=s;break}if(i<0)return this;i===0?n.shift():gy(n,i),n.length===1&&(t[C]=n[0]),t.removeListener!==void 0&&this.emit("removeListener",C,o||e)}return this};wC.prototype.off=wC.prototype.removeListener;wC.prototype.removeAllListeners=function(C){var e,n,t;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[C]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[C]),this;if(arguments.length===0){var i=Object.keys(n),s;for(t=0;t=0;t--)this.removeListener(C,e[t]);return this};function I1(A,C,e){var n=A._events;if(n===void 0)return[];var t=n[C];return t===void 0?[]:typeof t=="function"?e?[t.listener||t]:[t]:e?by(t):D1(t,t.length)}wC.prototype.listeners=function(C){return I1(this,C,!0)};wC.prototype.rawListeners=function(C){return I1(this,C,!1)};wC.listenerCount=function(A,C){return typeof A.listenerCount=="function"?A.listenerCount(C):M1.call(A,C)};wC.prototype.listenerCount=M1;function M1(A){var C=this._events;if(C!==void 0){var e=C[A];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}wC.prototype.eventNames=function(){return this._eventsCount>0?js(this._events):[]};function D1(A,C){for(var e=new Array(C),n=0;n{this.resolve=C,this.reject=e})};const wy=my,By=S1,Sy=$r,ky=py,xy=Ko,_y=vy;Ie.EventEmitter=xy;Ie.timeout=wy;Ie.delay=By;Ie.TimeoutError=Sy;Ie.promise=ky;Ie.Deferred=_y;var an={exports:{}},Ui={};Ui.detect=function(C){return!(!C||C.replaceAll(String.raw`\20`,"").replaceAll(String.raw`\22`,"").replaceAll(String.raw`\26`,"").replaceAll(String.raw`\27`,"").replaceAll(String.raw`\2f`,"").replaceAll(String.raw`\3a`,"").replaceAll(String.raw`\3c`,"").replaceAll(String.raw`\3e`,"").replaceAll(String.raw`\40`,"").replaceAll(String.raw`\5c`,"").search(/[ "&'/:<>@\\]/g)===-1)};Ui.escape=function(C){return C===null?null:C.replaceAll(/^\s+|\s+$/g,"").replaceAll("\\",String.raw`\5c`).replaceAll(" ",String.raw`\20`).replaceAll('"',String.raw`\22`).replaceAll("&",String.raw`\26`).replaceAll("'",String.raw`\27`).replaceAll("/",String.raw`\2f`).replaceAll(":",String.raw`\3a`).replaceAll("<",String.raw`\3c`).replaceAll(">",String.raw`\3e`).replaceAll("@",String.raw`\40`)};Ui.unescape=function(C){return C===null?null:C.replaceAll(String.raw`\20`," ").replaceAll(String.raw`\22`,'"').replaceAll(String.raw`\26`,"&").replaceAll(String.raw`\27`,"'").replaceAll(String.raw`\2f`,"/").replaceAll(String.raw`\3a`,":").replaceAll(String.raw`\3c`,"<").replaceAll(String.raw`\3e`,">").replaceAll(String.raw`\40`,"@").replaceAll(String.raw`\5c`,"\\")};const yl=Ui;let $e=class O1{constructor(C,e,n){if(typeof e!="string"||!e)throw new TypeError("Invalid domain.");this.setDomain(e),this.setLocal(typeof C=="string"?C:""),this.setResource(typeof n=="string"?n:"")}[Symbol.toPrimitive](C){return C==="number"?NaN:this.toString()}toString(C){let e=this._domain;return this._local&&(e=this.getLocal(C)+"@"+e),this._resource&&(e=e+"/"+this._resource),e}bare(){return this._resource?new O1(this._local,this._domain,null):this}equals(C){return this._local===C._local&&this._domain===C._domain&&this._resource===C._resource}setLocal(C,e){return e=e||yl.detect(C),e&&(C=yl.escape(C)),this._local=C&&C.toLowerCase(),this}getLocal(C=!1){let e=null;return e=C?yl.unescape(this._local):this._local,e}setDomain(C){return this._domain=C.toLowerCase(),this}getDomain(){return this._domain}setResource(C){return this._resource=C,this}getResource(){return this._resource}};Object.defineProperty($e.prototype,"local",{get:$e.prototype.getLocal,set:$e.prototype.setLocal});Object.defineProperty($e.prototype,"domain",{get:$e.prototype.getDomain,set:$e.prototype.setDomain});Object.defineProperty($e.prototype,"resource",{get:$e.prototype.getResource,set:$e.prototype.setResource});var L1=$e;const jy=L1;var Iy=function(C){let e,n;const t=C.indexOf("/");t!==-1&&(n=C.slice(t+1),C=C.slice(0,t));const i=C.indexOf("@");return i!==-1&&(e=C.slice(0,i),C=C.slice(i+1)),new jy(e,C,n)};const K1=L1,Gr=Ui,T1=Iy;function F1(...A){return!A[1]&&!A[2]?T1(...A):new K1(...A)}an.exports=F1.bind();an.exports.jid=F1;an.exports.JID=K1;an.exports.equal=function(C,e){return C.equals(e)};an.exports.detectEscape=Gr.detect;an.exports.escapeLocal=Gr.escape;an.exports.unescapeLocal=Gr.unescape;an.exports.parse=T1;var To=an.exports,N1={exports:{}},nt={};const My={"&":"&","<":"<",">":">",'"':""","'":"'"};function $1(A){return My[A]}const Iu={"&":"&","<":"<",">":">",""":'"',"'":"'"};function R1(A){if(A[1]==="#"){const C=A[2]==="x"?parseInt(A.slice(3),16):parseInt(A.slice(2),10);if(C===9||C===10||C===13||C>=32&&C<=55295||C>=57344&&C<=65533||C>=65536&&C<=1114111)return String.fromCodePoint(C);throw new Error("Illegal XML character 0x"+C.toString(16))}if(Iu[A])return Iu[A]||A;throw new Error("Illegal XML entity "+A)}function Dy(A){return A.replace(/["&'<>]/g,$1)}function Py(A){let C="",e=-1,n=-1,t=0;for(;(e=A.indexOf("&",t))!==-1&&(n=A.indexOf(";",e+1))!==-1;)C=C+A.slice(t,e)+R1(A.slice(e,n+1)),t=n+1;return t===0?A:(C=C+A.substring(t),C)}function Oy(A){return A.replace(/[&<>]/g,$1)}function Ly(A){return A.replace(/&(amp|#38|lt|#60|gt|#62);/g,R1)}nt.escapeXML=Dy;nt.escapeXMLText=Oy;nt.unescapeXML=Py;nt.unescapeXMLText=Ly;var vl=nt;let oa=class la{constructor(C,e){this.name=C,this.parent=null,this.children=[],this.attrs={},this.setAttrs(e)}is(C,e){return this.getName()===C&&(!e||this.getNS()===e)}getName(){const C=this.name.indexOf(":");return C>=0?this.name.slice(C+1):this.name}getNS(){const C=this.name.indexOf(":");if(C>=0){const e=this.name.slice(0,C);return this.findNS(e)}return this.findNS()}findNS(C){if(C){const e="xmlns:"+C;if(this.attrs[e])return this.attrs[e];if(this.parent)return this.parent.findNS(C)}else{if(this.attrs.xmlns)return this.attrs.xmlns;if(this.parent)return this.parent.findNS()}}getXmlns(){let C={};this.parent&&(C=this.parent.getXmlns());for(const e in this.attrs){const n=e.match("xmlns:?(.*)");this.attrs.hasOwnProperty(e)&&n&&(C[this.attrs[e]]=n[1])}return C}setAttrs(C){typeof C=="string"?this.attrs.xmlns=C:C&&Object.assign(this.attrs,C)}getAttr(C,e){if(!e)return this.attrs[C];const n=this.getXmlns();return n[e]?this.attrs[[n[e],C].join(":")]:null}getChild(C,e){return this.getChildren(C,e)[0]}getChildren(C,e){const n=[];for(const t of this.children)t.getName&&t.getName()===C&&(!e||t.getNS()===e)&&n.push(t);return n}getChildByAttr(C,e,n,t){return this.getChildrenByAttr(C,e,n,t)[0]}getChildrenByAttr(C,e,n,t){let i=[];for(const s of this.children)s.attrs&&s.attrs[C]===e&&(!n||s.getNS()===n)&&i.push(s),t&&s.getChildrenByAttr&&i.push(s.getChildrenByAttr(C,e,n,!0));return t&&(i=i.flat()),i}getChildrenByFilter(C,e){let n=[];for(const t of this.children)C(t)&&n.push(t),e&&t.getChildrenByFilter&&n.push(t.getChildrenByFilter(C,!0));return e&&(n=n.flat()),n}getText(){let C="";for(const e of this.children)(typeof e=="string"||typeof e=="number")&&(C+=e);return C}getChildText(C,e){const n=this.getChild(C,e);return n?n.getText():null}getChildElements(){return this.getChildrenByFilter(C=>C instanceof la)}root(){return this.parent?this.parent.root():this}up(){return this.parent?this.parent:this}c(C,e){return this.cnode(new la(C,e))}cnode(C){return this.children.push(C),typeof C=="object"&&(C.parent=this),C}append(...C){for(const e of C)this.children.push(e),typeof e=="object"&&(e.parent=this)}prepend(...C){for(const e of C)this.children.unshift(e),typeof e=="object"&&(e.parent=this)}t(C){return this.children.push(C),this}remove(C,e){const n=typeof C=="string"?t=>!(t.is&&t.is(C,e)):t=>t!==C;return this.children=this.children.filter(n),this}text(C){return C&&this.children.length===1?(this.children[0]=C,this):this.getText()}attr(C,e){return typeof e<"u"||e===null?(this.attrs||(this.attrs={}),this.attrs[C]=e,this):this.attrs[C]}toString(){let C="";return this.write(e=>{C+=e}),C}_addChildren(C){C(">");for(const e of this.children)e!=null&&(e.write?e.write(C):typeof e=="string"?C(vl.escapeXMLText(e)):e.toString&&C(vl.escapeXMLText(e.toString(10))));C("")}write(C){C("<"),C(this.name);for(const e in this.attrs){const n=this.attrs[e];n!=null&&(C(" "),C(e),C('="'),C(vl.escapeXML(typeof n=="string"?n:n.toString(10))),C('"'))}this.children.length===0?C("/>"):this._addChildren(C)}};oa.prototype.tree=oa.prototype.root;var Ur=oa,Ky=Ur;function G1(A,C){if(Array.isArray(C)){for(const e of C)G1(A,e);return}C===""||C==null||C===!0||C===!1||A.cnode(C)}function Ty(A,C,...e){if(typeof C=="object"&&C!==null){delete C.__source,delete C.__self;for(const[t,i]of Object.entries(C))i==null?delete C[t]:C[t]=i.toString(10)}const n=new Ky(A,C);for(const t of e)G1(n,t);return n}var Fy=Ty,Ny=Ko,Mu=nt;const Kn=0,wl=1,Du=2,Pu=3,Bl=4,Ou=5,Lu=6,Ku=7,Sl=8,Tu=9,$y=10;class Ry extends Ny.EventEmitter{constructor(){super();let C=Kn,e,n,t,i,s,o,l,a,r=0,p;this._handleTagOpening=function(u,g,v){u?this.emit("endElement",g,!1):(this.emit("startElement",g,v),o&&this.emit("endElement",g,!0))},this.write=function(u){typeof u!="string"&&(u=u.toString());let g=0;e&&(u=e+u,g+=n?0:e.length,n=!1,e=null);function v(){if(typeof r=="number"){const y=u.slice(r,g);return r=void 0,y}}for(;g",g);x!==-1&&(g=x+2);break}case $y:{const x=u.indexOf("]]>",g);x!==-1&&(g=x+2);break}}const y=u.charCodeAt(g);switch(C){case Kn:if(y===60){const x=v();x&&this.emit("text",Mu.unescapeXML(x)),C=Pu,r=g+1,i={}}break;case Tu:if(y===93)if(u.substr(g+1,2)==="]>"){const x=v();x&&this.emit("text",x),C=Kn}else u.length32&&(r=g,C=Ou);break;case Ou:(y<=32||y===61)&&(p=v(),g--,C=Lu);break;case Lu:y===61&&(C=Ku);break;case Ku:(y===34||y===39)&&(l=y,a=y===34?'"':"'",C=Sl,r=g+1);break;case Sl:if(y===l){const x=Mu.unescapeXML(v());i[p]=x,p=void 0,C=Bl}break}}typeof r=="number"&&r<=u.length&&(e=u.slice(r),r=0)}}end(C){C&&this.write(C),this.write=function(){}}}var Gy=Ry,U1=class extends Error{constructor(...C){super(...C),this.name="XMLError"}};const Uy=Gy,Hy=Ur,Qy=Ko,aa=U1;let H1=class extends Qy{constructor(){super();const C=new Uy;this.root=null,this.cursor=null,C.on("startElement",this.onStartElement.bind(this)),C.on("endElement",this.onEndElement.bind(this)),C.on("text",this.onText.bind(this)),this.parser=C}onStartElement(C,e){const n=new Hy(C,e),{root:t,cursor:i}=this;t?i!==t&&i.append(n):(this.root=n,this.emit("start",n)),this.cursor=n}onEndElement(C){const{root:e,cursor:n}=this;if(C!==n.name){this.emit("error",new aa(`${n.name} must be closed.`));return}if(n===e){this.emit("end",e);return}if(!n.parent){n.parent=e,this.emit("element",n),this.cursor=e;return}this.cursor=n.parent}onText(C){const{cursor:e}=this;if(!e){this.emit("error",new aa(`${C} must be a child.`));return}e.t(C)}write(C){this.parser.write(C)}end(C){C&&this.parser.write(C)}};H1.XMLError=aa;var Q1=H1;(function(A){const C=Ur,e=Fy,n=Q1,{escapeXML:t,unescapeXML:i,escapeXMLText:s,unescapeXMLText:o}=nt,l=U1;function a(...r){return e(...r)}A.exports=a,Object.assign(A.exports,{Element:C,createElement:e,Parser:n,escapeXML:t,unescapeXML:i,escapeXMLText:s,unescapeXMLText:o,XMLError:l})})(N1);var Ge=N1.exports;let Vy=class extends Error{constructor(C,e,n){super(C+(e?` - ${e}`:"")),this.name="XMPPError",this.condition=C,this.text=e,this.application=n}static fromElement(C){const[e,n,t]=C.getChildElements();let i,s;n&&(n.is("text")?i=n:n&&(s=n),t&&(s=t));const o=new this(e.name,i?i.text():"",s);return o.element=C,o}};var Fo=Vy;const zy=Gi(Fo),qy=Fo;let Wy=class extends qy{constructor(...C){super(...C),this.name="StreamError"}};var Yy=Wy,V1={exports:{}};(function(A){function C(t){let{port:i,hostname:s,protocol:o}=new URL(t);return s==="[::1]"&&(s="::1"),{port:i,hostname:s,protocol:o}}function e(t){const{port:i,hostname:s}=C(`http://${t}`);return{port:i,hostname:s}}function n(t){return t.includes("://")?C(t):e(t)}Object.assign(A.exports,{parseURI:C,parseHost:e,parseService:n})})(V1);var Jy=V1.exports;const{EventEmitter:Xy,promise:Tn}=Ie,Zy=To,kl=Ge,A4=Yy,{parseHost:C4,parseService:e4}=Jy,n4="urn:ietf:params:xml:ns:xmpp-streams",t4="http://etherx.jabber.org/streams";let No=class extends Xy{constructor(C={}){super(),this.jid=null,this.timeout=2e3,this.options=C,this.socketListeners=Object.create(null),this.parserListeners=Object.create(null),this.status="offline",this.socket=null,this.parser=null,this.root=null}_reset(){this.jid=null,this.status="offline",this._detachSocket(),this._detachParser()}async _streamError(C,e){try{await this.send(kl("stream:error",{},[kl(C,{xmlns:n4},e)]))}catch{}return this._end()}_onData(C){const e=C.toString("utf8");this.emit("input",e),this.parser.write(e)}_onParserError(C){this._streamError("bad-format"),this._detachParser(),this.emit("error",C)}_attachSocket(C){this.socket=C;const e=this.socketListeners;e.data=this._onData.bind(this),e.close=(n,t)=>{this._reset(),this._status("disconnect",{clean:!n,event:t})},e.connect=()=>{this._status("connect")},e.error=n=>{this.emit("error",n)},this.socket.on("close",e.close),this.socket.on("data",e.data),this.socket.on("error",e.error),this.socket.on("connect",e.connect)}_detachSocket(){const{socketListeners:C,socket:e}=this;for(const n of Object.getOwnPropertyNames(C))e.removeListener(n,C[n]),delete C[n];return this.socket=null,e}_onElement(C){const e=C.is("error",t4);e&&this._onStreamError(C),this.emit("element",C),this.emit(this.isStanza(C)?"stanza":"nonza",C),e&&this._end()}_onStreamError(C){const e=A4.fromElement(C);if(e.condition==="see-other-host")return this._onSeeOtherHost(e);this.emit("error",e)}async _onSeeOtherHost(C){const{protocol:e}=e4(this.options.service),n=C.element.getChildText("see-other-host"),{port:t}=C4(n);let i;i=t?`${e||"xmpp:"}//${n}`:(e?`${e}//`:"")+n;try{await Tn(this,"disconnect");const{domain:s,lang:o}=this.options;await this.connect(i),await this.open({domain:s,lang:o})}catch(s){this.emit("error",s)}}_attachParser(C){this.parser=C;const e=this.parserListeners;e.element=this._onElement.bind(this),e.error=this._onParserError.bind(this),e.end=n=>{this._detachParser(),this._status("close",n)},e.start=n=>{this._status("open",n)},this.parser.on("error",e.error),this.parser.on("element",e.element),this.parser.on("end",e.end),this.parser.on("start",e.start)}_detachParser(){const C=this.parserListeners;for(const e of Object.getOwnPropertyNames(C))this.parser.removeListener(e,C[e]),delete C[e];this.parser=null}_jid(C){return this.jid=Zy(C),this.jid}_status(C,...e){this.status=C,this.emit("status",C,...e),this.emit(C,...e)}async _end(){let C;try{C=await this.close()}catch{}try{await this.disconnect()}catch{}return C}async start(){if(this.status!=="offline")throw new Error("Connection is not offline");const{service:C,domain:e,lang:n}=this.options;await this.connect(C);const t=Tn(this,"online");return await this.open({domain:e,lang:n}),t}async connect(C){this._status("connecting",C);const e=new this.Socket;return this._attachSocket(e),e.connect(this.socketParameters(C)),Tn(e,"connect")}async disconnect(C=this.timeout){this.socket&&this._status("disconnecting"),this.socket.end(),await Tn(this.socket,"close","error",C)}async open(C){this._status("opening"),typeof C=="string"&&(C={domain:C});const{domain:e,lang:n,timeout:t=this.timeout}=C,i=this.headerElement();return i.attrs.to=e,i.attrs["xml:lang"]=n,this.root=i,this._attachParser(new this.Parser),await this.write(this.header(i)),Tn(this,"open","error",t)}async stop(){const C=await this._end();return this.status!=="offline"&&this._status("offline",C),C}async close(C=this.timeout){const e=this.footer(this.footerElement()),n=Promise.all([Tn(this.parser,"end","error",C),this.write(e)]);this.parser&&this.socket&&this._status("closing");const[t]=await n;return this.root=null,t}async restart(){this._detachParser();const{domain:C,lang:e}=this.options;return this.open({domain:C,lang:e})}async send(C){C.parent=this.root,await this.write(C.toString()),this.emit("send",C)}sendReceive(C,e=this.timeout){return Promise.all([this.send(C),Tn(this,"element","error",e)]).then(([,n])=>n)}write(C){return new Promise((e,n)=>{if(this.status==="closing"){n(new Error("Connection is closing"));return}this.socket.write(C,t=>{if(t)return n(t);this.emit("output",C),e()})})}isStanza(C){const{name:e}=C;return e==="iq"||e==="message"||e==="presence"}isNonza(C){return!this.isStanza(C)}header(C){return C.toString()}headerElement(){return new kl.Element("",{version:"1.0",xmlns:this.NS})}footer(C){return C.toString()}footerElement(){}socketParameters(){}};No.prototype.NS="";No.prototype.Socket=null;No.prototype.Parser=null;var z1=No;const i4=z1;let q1=class extends i4{constructor(C){super(C),this.transports=[]}send(C,...e){return this.Transport.prototype.send.call(this,C,...e)}sendMany(...C){return this.Transport.prototype.sendMany.call(this,...C)}_findTransport(C){return this.transports.find(e=>{try{return e.prototype.socketParameters(C)!==void 0}catch{return!1}})}connect(C){const e=this._findTransport(C);if(!e)throw new Error("No compatible connection method found.");return this.Transport=e,this.Socket=e.prototype.Socket,this.Parser=e.prototype.Parser,super.connect(C)}socketParameters(...C){return this.Transport.prototype.socketParameters(...C)}header(...C){return this.Transport.prototype.header(...C)}headerElement(...C){return this.Transport.prototype.headerElement(...C)}footer(...C){return this.Transport.prototype.footer(...C)}footerElement(...C){return this.Transport.prototype.footerElement(...C)}};q1.prototype.NS="jabber:client";var s4=q1;const o4=s4,l4=Ge,a4=To;Oo.Client=o4;Oo.xml=l4;Oo.jid=a4;var r4=function(C){return(C.split("://")[1]||C).split(":")[0].split("/")[0]};const{EventEmitter:c4}=Ie;class u4 extends c4{constructor(C){super(),this.delay=1e3,this.entity=C,this._timeout=null}scheduleReconnect(){const{entity:C,delay:e,_timeout:n}=this;clearTimeout(n),this._timeout=setTimeout(async()=>{if(C.status==="disconnect")try{await this.reconnect()}catch{}},e)}async reconnect(){const{entity:C}=this;this.emit("reconnecting");const{service:e,domain:n,lang:t}=C.options;await C.connect(e),await C.open({domain:n,lang:t}),this.emit("reconnected")}start(){const{entity:C}=this,e={};e.disconnect=()=>{this.scheduleReconnect()},this.listeners=e,C.on("disconnect",e.disconnect)}stop(){const{entity:C,listeners:e,_timeout:n}=this;C.removeListener("disconnect",e.disconnect),clearTimeout(n)}}var m4=function({entity:C}){const e=new u4(C);return e.start(),e};const d4={},p4=Object.freeze(Object.defineProperty({__proto__:null,default:d4},Symbol.toStringTag,{value:"Module"})),te=oy(p4),W1=te,Fu=globalThis.WebSocket||W1,f4=Ko,xl="ECONNERROR";let h4=class extends f4{constructor(){super(),this.listeners=Object.create(null)}connect(C){this.url=C,this._attachSocket(new Fu(C,["xmpp"]))}_attachSocket(C){this.socket=C;const{listeners:e}=this;e.open=()=>{this.emit("connect")},e.message=({data:n})=>this.emit("data",n),e.error=n=>{const{url:t}=this;let{error:i}=n;i||(i=new Error(`WebSocket ${xl} ${t}`),i.errno=xl,i.code=xl),i.event=n,i.url=t,this.emit("error",i)},e.close=n=>{this._detachSocket(),this.emit("close",!n.wasClean,n)},this.socket.addEventListener("open",e.open),this.socket.addEventListener("message",e.message),this.socket.addEventListener("error",e.error),this.socket.addEventListener("close",e.close)}_detachSocket(){delete this.url;const{socket:C,listeners:e}=this;for(const n of Object.getOwnPropertyNames(e))C.removeEventListener(n,e[n]),delete e[n];delete this.socket}end(){this.socket.close()}write(C,e){Fu===W1?this.socket.send(C,e):(this.socket.send(C),e())}};var g4=h4;const{Parser:b4,Element:E4,XMLError:y4}=Ge;var v4=class extends b4{onStartElement(C,e){const n=new E4(C,e),{cursor:t}=this;t&&t.append(n),this.cursor=n}onEndElement(C){const{cursor:e}=this;if(C!==e.name){this.emit("error",new y4(`${e.name} must be closed.`));return}if(e.parent){this.cursor=e.parent;return}e.is("open","urn:ietf:params:xml:ns:xmpp-framing")?this.emit("start",e):e.is("close","urn:ietf:params:xml:ns:xmpp-framing")?this.emit("end",e):this.emit("element",e),this.cursor=null}};const w4=g4,B4=z1,S4=Ge,k4=v4,Nu="urn:ietf:params:xml:ns:xmpp-framing";let $o=class extends B4{send(C,...e){return!C.attrs.xmlns&&super.isStanza(C)&&(C.attrs.xmlns="jabber:client"),super.send(C,...e)}async sendMany(C){for(const e of C)await this.send(e)}footerElement(){return new S4.Element("close",{xmlns:Nu})}headerElement(){const C=super.headerElement();return C.name="open",C.attrs.xmlns=Nu,C}socketParameters(C){return/^wss?:\/\//.test(C)?C:void 0}};$o.prototype.Socket=w4;$o.prototype.NS="jabber:client";$o.prototype.Parser=k4;var x4=$o;const _4=x4;var j4=function({entity:C}){C.transports.push(_4)},I4=M4;function M4(A){if(!Array.isArray(A))throw new TypeError("Middleware stack must be an array!");for(const C of A)if(typeof C!="function")throw new TypeError("Middleware must be composed of functions!");return function(C,e){let n=-1;return t(0);function t(i){if(i<=n)return Promise.reject(new Error("next() called multiple times"));n=i;let s=A[i];if(i===A.length&&(s=e),!s)return Promise.resolve();try{return Promise.resolve(s(C,t.bind(null,i+1)))}catch(o){return Promise.reject(o)}}}}var Y1=class{constructor(C,e){this.stanza=e,this.entity=C;const{name:n,attrs:t}=e,{type:i,id:s}=t;this.name=n,this.id=s||"",n==="message"?this.type=i||"normal":n==="presence"?this.type=i||"available":this.type=i||"",this.from=null,this.to=null,this.local="",this.domain="",this.resource=""}};const D4=Y1,$u=To;var P4=class extends D4{constructor(C,e){super(C,e);const{jid:n,domain:t}=C,i=e.attrs.to||n&&n.toString(),s=e.attrs.from||t;i&&(this.to=new $u(i)),s&&(this.from=new $u(s),this.local=this.from.local,this.domain=this.from.domain,this.resource=this.from.resource)}};const O4=Y1,Ru=To;var L4=class extends O4{constructor(C,e){super(C,e);const{jid:n,domain:t}=C,i=e.attrs.from||n&&n.toString(),s=e.attrs.to||t;i&&(this.from=new Ru(i)),s&&(this.to=new Ru(s),this.local=this.to.local,this.domain=this.to.domain,this.resource=this.to.resource)}};const K4=I4,T4=P4,F4=L4;function Gu(A,C,e){return n=>{const t=new e(A,n);return K4(C)(t)}}function N4(A){return(C,e)=>{e().then(n=>n&&A.send(n)).catch(n=>A.emit("error",n))}}var $4=function({entity:C}){const e=[N4(C)],n=[],t=Gu(C,e,T4),i=Gu(C,n,F4);return C.on("element",t),C.hookOutgoing=i,{use(s){return e.push(s),s},filter(s){return n.push(s),s}}},R4=function(){return async({stanza:C,entity:e},n)=>{if(!C.is("features","http://etherx.jabber.org/streams"))return n();!await n()&&e.jid&&e._status("online",e.jid)}};const G4=R4;var U4=function({middleware:C}){C.use(G4());function e(n,t,i){return C.use((s,o)=>{const{stanza:l}=s;if(!l.is("features","http://etherx.jabber.org/streams"))return o();const a=l.getChild(n,t);return a?i(s,o,a):o()})}return{use:e}},H4=function(){let C;for(;!C;)C=Math.random().toString(36).slice(2,12);return C};const Q4=Fo;let V4=class extends Q4{constructor(C,e,n,t){super(C,e,n),this.type=t,this.name="StanzaError"}static fromElement(C){const e=super.fromElement(C);return e.type=C.attrs.type,e}};var z4=V4;const q4=H4,W4=z4,{Deferred:Y4}=Ie,J4=Ie.timeout,X4=Ge;function Z4({name:A,type:C}){return!(A!=="iq"||C!=="error"&&C!=="result")}class A6{constructor({entity:C,middleware:e}){this.handlers=new Map,this.entity=C,this.middleware=e}start(){this.middleware.use(this._route.bind(this))}_route({type:C,name:e,id:n,stanza:t},i){if(!Z4({name:e,type:C}))return i();const s=this.handlers.get(n);if(!s)return i();C==="error"?s.reject(W4.fromElement(t.getChild("error"))):s.resolve(t),this.handlers.delete(n)}async request(C,e=30*1e3){C.attrs.id||(C.attrs.id=q4());const n=new Y4;this.handlers.set(C.attrs.id,n);try{await this.entity.send(C),await J4(n.promise,e)}catch(t){throw this.handlers.delete(C.attrs.id),t}return n.promise}_childRequest(C,e,n,...t){const{name:i,attrs:{xmlns:s}}=e;return this.request(X4("iq",{type:C,to:n},e),...t).then(o=>o.getChild(i,s))}async get(...C){return this._childRequest("get",...C)}async set(...C){return this._childRequest("set",...C)}}var C6=function(...C){const e=new A6(...C);return e.start(),e};const Bi=Ge,e6="urn:ietf:params:xml:ns:xmpp-stanzas";function n6({name:A,type:C}){return!(A!=="iq"||C==="error"||C==="result")}function t6({type:A},C,e){return!(A!=="get"&&A!=="set"||C.length!==1||!e)}function J1({stanza:A}){return Bi("iq",{to:A.attrs.from,from:A.attrs.to,id:A.attrs.id})}function i6(A,C){const e=J1(A);return e.attrs.type="result",C&&e.append(C),e}function Uu(A,C,e){const n=J1(A);return n.attrs.type="error",e&&n.append(e),n.append(C),n}function _l(A,C){return Bi("error",{type:A},Bi(C,e6))}function s6(A){return async function(e,n){if(!n6(e))return n();const{stanza:t}=e,i=t.getChildElements(),[s]=i;if(!t6(e,i,s))return Uu(e,_l("modify","bad-request"),s);e.element=s;let o;try{o=await n()}catch(l){A.emit("error",l),o=_l("cancel","internal-server-error")}return o||(o=_l("cancel","service-unavailable")),o instanceof Bi.Element&&o.is("error")?Uu(e,o,s):i6(e,o instanceof Bi.Element?o:void 0)}}function Hu(A,C,e,n){return(t,i)=>t.type!==A|!t.element||!t.element.is(e,C)?i():n(t,i)}var o6=function({middleware:C,entity:e}){return C.use(s6(e)),{get(n,t,i){C.use(Hu("get",n,t,i))},set(n,t,i){C.use(Hu("set",n,t,i))}}},Ro={exports:{}},X1={};const l6=Q1;var a6=function(C){const e=new l6;let n=null,t=null;if(e.on("start",i=>{n=i}),e.on("element",i=>{n.append(i)}),e.on("error",i=>{t=i}),e.write(C),e.end(),t)throw t;return n},Z1={};function is(A){return A.startsWith("https")||A.startsWith("wss")}Z1.compare=function(C,e){let n;if(is(C.uri)&&!is(e.uri)?n=-1:!is(C.uri)&&is(e.uri)?n=1:n=0,n!==0)return n;let t;return C.method===e.method?t=0:C.method==="websocket"?t=-1:e.method==="websocket"?t=1:C.method==="xbosh"?t=-1:e.method==="xbosh"?t=1:C.method==="httppoll"?t=-1:e.method==="httppoll"?t=1:t=0,t!==0?t:0};const r6=globalThis.fetch||te,c6=a6,u6=Z1.compare;function m6(A){return r6(`https://${A}/.well-known/host-meta`).then(C=>C.text()).then(C=>c6(C).getChildren("Link").filter(e=>["urn:xmpp:alt-connections:websocket","urn:xmpp:alt-connections:httppoll","urn:xmpp:alt-connections:xbosh"].includes(e.attrs.rel)).map(({attrs:e})=>({rel:e.rel,href:e.href,method:e.rel.split(":").pop(),uri:e.href})).sort(u6)).catch(()=>[])}X1.resolve=m6;const io=te,A0=X1;Ro.exports=function(...C){return Promise.all([io.resolve?io.resolve(...C):Promise.resolve([]),A0.resolve(...C)]).then(([e,n])=>[...e,...n])};io.resolve&&(Ro.exports.dns=io);Ro.exports.http=A0;var d6=Ro.exports;const p6=d6,{promise:f6}=Ie;async function h6(A){const C=await p6(A,{srv:[{service:"xmpps-client",protocol:"tcp"},{service:"xmpp-client",protocol:"tcp"}]});return[...new Set(C.map(e=>e.uri))]}function g6(A,C){return C.filter(e=>A._findTransport(e))}async function ra(A,C){if(C.length===0)throw new Error("Couldn't connect");const e=C.shift(),n=A._findTransport(e);if(!n)return ra(A,C);A._status("connecting",e);const t=n.prototype.socketParameters(e),i=new n.prototype.Socket;try{i.connect(t),await f6(i,"connect")}catch{return ra(A,C)}A._attachSocket(i),i.emit("connect"),A.Transport=n,A.Socket=n.prototype.Socket,A.Parser=n.prototype.Parser}var b6=function({entity:C}){const e=C.connect;C.connect=async function(t){if(!t||/:\/\//.test(t))return e.call(this,t);const i=g6(C,await h6(t));if(i.length===0)throw new Error("No compatible transport found.");try{await ra(C,i)}catch(s){throw C._reset(),C._status("disconnect"),s}}},Hr={};Hr.encode=function(C){return globalThis.btoa(C)};Hr.decode=function(C){return globalThis.atob(C)};const E6=Fo;let y6=class extends E6{constructor(...C){super(...C),this.name="SASLError"}};var v6=y6,ca={exports:{}},ss={exports:{}},Qu;function w6(){return Qu||(Qu=1,function(A,C){(function(e,n){n(C,A)})(TA,function(e,n){function t(){this._mechs=[]}t.prototype.use=function(i,s){return s||(s=i,i=s.prototype.name),this._mechs.push({name:i,mech:s}),this},t.prototype.create=function(i){for(var s=0,o=this._mechs.length;s(console.log(C,typeof C),C.text()))}async function qu(A,C,e,n){const t=A.create([e]);if(!t)throw new Error("No compatible mechanism");const{domain:i}=C.options,s={username:null,password:null,server:i,host:i,realm:i,serviceType:"xmpp",serviceName:i,...n};return new Promise((o,l)=>{const a=r=>{if(r.attrs.xmlns===ti){if(r.name==="challenge"){console.log(r,typeof r),t.challenge(S6(r.text()));const p=t.response(s);C.send(zu("response",{xmlns:ti,mechanism:t.name},typeof p=="string"?Vu(p):""));return}r.name==="failure"?l(k6.fromElement(r)):r.name==="success"&&o(),C.removeListener("nonza",a)}};C.on("nonza",a),t.clientFirst&&C.send(zu("auth",{xmlns:ti,mechanism:t.name},Vu(t.response(s))))})}var j6=function({streamFeatures:C},e){const n=new x6;return C.use("mechanisms",ti,async({stanza:t,entity:i})=>{const s=_6(t);let a=n._mechs.map(({name:r})=>r).filter(r=>s.includes(r))[0];typeof e=="function"?await e(r=>qu(n,i,a,r),a):(!e.username&&!e.password&&(a="ANONYMOUS"),await qu(n,i,a,e)),await i.restart()}),{use(...t){return n.use(...t)}}};const Wu=Ge,C0="urn:ietf:params:xml:ns:xmpp-bind";function I6(A){return Wu("bind",{xmlns:C0},A&&Wu("resource",{},A))}async function Yu(A,C,e){const t=(await C.set(I6(e))).getChildText("jid");return A._jid(t),t}function M6({iqCaller:A},C){return async({entity:e},n)=>{await(typeof C=="function"?C(t=>Yu(e,A,t)):Yu(e,A,C)),n()}}var D6=function({streamFeatures:C,iqCaller:e},n){C.use("bind",C0,M6({iqCaller:e},n))};const P6=Ge,Ju="urn:ietf:params:xml:ns:xmpp-session";var O6=function({iqCaller:C,streamFeatures:e}){e.use("session",Ju,async(n,t,i)=>(i.getChild("optional")||await C.set(P6("session",Ju)),t()))};const Qr=Ge,Ze="urn:xmpp:sm:3";async function L6(A,C,e){return await A.send(Qr("enable",{xmlns:Ze,max:e,resume:C?"true":void 0})),new Promise((n,t)=>{function i(s){if(s.is("enabled",Ze))n(s);else if(s.is("failed",Ze))t(s);else return;A.removeListener("nonza",i)}A.on("nonza",i)})}async function K6(A,C,e){const n=await A.sendReceive(Qr("resume",{xmlns:Ze,h:C,previd:e}));if(!n.is("resumed",Ze))throw n;return n}var T6=function({streamFeatures:C,entity:e,middleware:n}){let t=null;const i={allowResume:!0,preferredMaximum:null,enabled:!1,id:"",outbound:0,inbound:0,max:null};return e.on("online",s=>{t=s,i.outbound=0,i.inbound=0}),e.on("offline",()=>{i.outbound=0,i.inbound=0,i.enabled=!1,i.id=""}),n.use((s,o)=>{const{stanza:l}=s;return["presence","message","iq"].includes(l.name)?i.inbound+=1:l.is("r",Ze)?e.send(Qr("a",{xmlns:Ze,h:i.inbound})).catch(()=>{}):l.is("a",Ze)&&(i.outbound=l.attrs.h),o()}),C.use("sm",Ze,async(s,o)=>{if(i.id)try{return await K6(e,i.inbound,i.id),i.enabled=!0,e.jid=t,e.status="online",!0}catch{i.id="",i.enabled=!1,i.outbound=0}await o();const l=L6(e,i.allowResume,i.preferredMaximum);i.outbound=0;try{const a=await l;i.enabled=!0,i.id=a.attrs.id,i.max=a.attrs.max}catch{i.enabled=!1}i.inbound=0}),i},ua={exports:{}},os={exports:{}},Xu;function F6(){return Xu||(Xu=1,function(A,C){(function(e,n){n(C,A)})(TA,function(e,n){function t(){}t.prototype.name="ANONYMOUS",t.prototype.clientFirst=!0,t.prototype.response=function(i){return i.trace||""},t.prototype.challenge=function(i){},n.exports=t})}(os,os.exports)),os.exports}(function(A,C){(function(e,n){n(C,A,F6())})(TA,function(e,n,t){e=n.exports=t,e.Mechanism=t})})(ua,ua.exports);var N6=ua.exports;const $6=N6;var R6=function(C){C.use($6)},ma={exports:{}},ls={exports:{}},Zu;function G6(){return Zu||(Zu=1,function(A,C){(function(e,n){n(C,A)})(TA,function(e,n){function t(){}t.prototype.name="PLAIN",t.prototype.clientFirst=!0,t.prototype.response=function(i){var s="";return s+=i.authzid||"",s+="\0",s+=i.username,s+="\0",s+=i.password,s},t.prototype.challenge=function(i){return this},n.exports=t})}(ls,ls.exports)),ls.exports}(function(A,C){(function(e,n){n(C,A,G6())})(TA,function(e,n,t){e=n.exports=t,e.Mechanism=t})})(ma,ma.exports);var U6=ma.exports;const H6=U6;var Q6=function(C){C.use(H6)};const{xml:V6,jid:z6,Client:q6}=Oo,W6=r4,Y6=m4,J6=j4,X6=$4,Z6=U4,A5=C6,C5=o6,e5=b6,n5=j6,t5=D6,i5=O6,s5=T6,o5=R6,l5=Q6;function a5(A={}){const{resource:C,credentials:e,username:n,password:t,...i}=A,{domain:s,service:o}=i;!s&&o&&(i.domain=W6(o));const l=new q6(i),a=Y6({entity:l}),r=J6({entity:l}),p=X6({entity:l}),d=Z6({middleware:p}),u=A5({middleware:p,entity:l}),g=C5({middleware:p,entity:l}),v=e5({entity:l}),y=n5({streamFeatures:d},e||{username:n,password:t}),x=s5({streamFeatures:d,entity:l,middleware:p}),$=t5({iqCaller:u,streamFeatures:d},C),F=i5({iqCaller:u,streamFeatures:d}),H=Object.entries({plain:l5,anonymous:o5}).map(([Y,hA])=>({[Y]:hA(y)}));return Object.assign(l,{entity:l,reconnect:a,websocket:r,middleware:p,streamFeatures:d,iqCaller:u,iqCallee:g,resolve:v,sasl:y,resourceBinding:$,sessionEstablishment:F,streamManagement:x,mechanisms:H})}var kA=V6,r5=z6,c5=a5;const u5="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let Am=(A=21)=>{let C="",e=crypto.getRandomValues(new Uint8Array(A|=0));for(;A--;)C+=u5[e[A]&63];return C};function c(){var A="/home/runner/work/xmpp-web/xmpp-web/src/services/XmppClient.js",C="3d1f8403a5ae8fa0e7beb6e0ae682a34050ed052",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/services/XmppClient.js",statementMap:{0:{start:{line:5,column:17},end:{line:5,column:21}},1:{start:{line:6,column:21},end:{line:6,column:25}},2:{start:{line:8,column:11},end:{line:49,column:1}},3:{start:{line:51,column:17},end:{line:51,column:21}},4:{start:{line:52,column:21},end:{line:52,column:23}},5:{start:{line:56,column:4},end:{line:58,column:5}},6:{start:{line:57,column:6},end:{line:57,column:29}},7:{start:{line:59,column:4},end:{line:59,column:24}},8:{start:{line:61,column:4},end:{line:72,column:5}},9:{start:{line:73,column:4},end:{line:73,column:17}},10:{start:{line:74,column:4},end:{line:74,column:29}},11:{start:{line:75,column:4},end:{line:81,column:6}},12:{start:{line:82,column:4},end:{line:82,column:21}},13:{start:{line:84,column:4},end:{line:88,column:5}},14:{start:{line:85,column:6},end:{line:85,column:73}},15:{start:{line:85,column:39},end:{line:85,column:72}},16:{start:{line:86,column:6},end:{line:86,column:69}},17:{start:{line:86,column:37},end:{line:86,column:68}},18:{start:{line:87,column:6},end:{line:87,column:73}},19:{start:{line:87,column:39},end:{line:87,column:72}},20:{start:{line:89,column:4},end:{line:89,column:44}},21:{start:{line:93,column:15},end:{line:93,column:18}},22:{start:{line:94,column:4},end:{line:96,column:5}},23:{start:{line:95,column:6},end:{line:95,column:27}},24:{start:{line:97,column:4},end:{line:103,column:5}},25:{start:{line:107,column:4},end:{line:182,column:5}},26:{start:{line:108,column:6},end:{line:136,column:7}},27:{start:{line:110,column:8},end:{line:123,column:9}},28:{start:{line:112,column:23},end:{line:112,column:46}},29:{start:{line:113,column:10},end:{line:115,column:11}},30:{start:{line:114,column:12},end:{line:114,column:48}},31:{start:{line:116,column:10},end:{line:122,column:11}},32:{start:{line:117,column:28},end:{line:117,column:76}},33:{start:{line:118,column:12},end:{line:120,column:13}},34:{start:{line:119,column:14},end:{line:119,column:49}},35:{start:{line:121,column:12},end:{line:121,column:28}},36:{start:{line:124,column:8},end:{line:124,column:39}},37:{start:{line:126,column:23},end:{line:126,column:48}},38:{start:{line:127,column:8},end:{line:132,column:9}},39:{start:{line:129,column:28},end:{line:129,column:56}},40:{start:{line:130,column:26},end:{line:130,column:55}},41:{start:{line:131,column:10},end:{line:131,column:42}},42:{start:{line:133,column:8},end:{line:135,column:9}},43:{start:{line:134,column:10},end:{line:134,column:41}},44:{start:{line:137,column:11},end:{line:182,column:5}},45:{start:{line:138,column:23},end:{line:142,column:7}},46:{start:{line:143,column:6},end:{line:143,column:60}},47:{start:{line:144,column:6},end:{line:150,column:7}},48:{start:{line:145,column:8},end:{line:145,column:29}},49:{start:{line:146,column:8},end:{line:146,column:33}},50:{start:{line:148,column:8},end:{line:148,column:61}},51:{start:{line:149,column:8},end:{line:149,column:55}},52:{start:{line:152,column:26},end:{line:152,column:59}},53:{start:{line:153,column:6},end:{line:176,column:7}},54:{start:{line:154,column:8},end:{line:154,column:29}},55:{start:{line:155,column:8},end:{line:165,column:10}},56:{start:{line:156,column:10},end:{line:158,column:11}},57:{start:{line:157,column:12},end:{line:157,column:43}},58:{start:{line:159,column:10},end:{line:161,column:11}},59:{start:{line:160,column:12},end:{line:160,column:57}},60:{start:{line:162,column:10},end:{line:164,column:11}},61:{start:{line:163,column:12},end:{line:163,column:41}},62:{start:{line:166,column:8},end:{line:170,column:10}},63:{start:{line:167,column:10},end:{line:169,column:11}},64:{start:{line:168,column:12},end:{line:168,column:34}},65:{start:{line:171,column:8},end:{line:175,column:10}},66:{start:{line:172,column:10},end:{line:174,column:11}},67:{start:{line:173,column:12},end:{line:173,column:85}},68:{start:{line:173,column:66},end:{line:173,column:84}},69:{start:{line:177,column:6},end:{line:179,column:7}},70:{start:{line:178,column:8},end:{line:178,column:58}},71:{start:{line:180,column:6},end:{line:180,column:77}},72:{start:{line:180,column:58},end:{line:180,column:76}},73:{start:{line:186,column:20},end:{line:186,column:22}},74:{start:{line:187,column:17},end:{line:187,column:40}},75:{start:{line:188,column:4},end:{line:231,column:5}},76:{start:{line:189,column:6},end:{line:191,column:7}},77:{start:{line:190,column:8},end:{line:190,column:42}},78:{start:{line:192,column:6},end:{line:192,column:35}},79:{start:{line:193,column:6},end:{line:193,column:59}},80:{start:{line:194,column:6},end:{line:194,column:73}},81:{start:{line:195,column:6},end:{line:195,column:34}},82:{start:{line:196,column:6},end:{line:196,column:38}},83:{start:{line:197,column:27},end:{line:197,column:55}},84:{start:{line:198,column:6},end:{line:200,column:7}},85:{start:{line:199,column:8},end:{line:199,column:48}},86:{start:{line:203,column:25},end:{line:203,column:48}},87:{start:{line:204,column:6},end:{line:213,column:7}},88:{start:{line:205,column:8},end:{line:212,column:10}},89:{start:{line:206,column:10},end:{line:211,column:11}},90:{start:{line:207,column:12},end:{line:209,column:13}},91:{start:{line:208,column:14},end:{line:208,column:32}},92:{start:{line:210,column:12},end:{line:210,column:70}},93:{start:{line:216,column:21},end:{line:216,column:34}},94:{start:{line:217,column:6},end:{line:225,column:7}},95:{start:{line:218,column:22},end:{line:218,column:46}},96:{start:{line:219,column:8},end:{line:219,column:56}},97:{start:{line:221,column:22},end:{line:221,column:46}},98:{start:{line:222,column:8},end:{line:224,column:9}},99:{start:{line:223,column:10},end:{line:223,column:58}},100:{start:{line:226,column:6},end:{line:228,column:7}},101:{start:{line:227,column:8},end:{line:227,column:48}},102:{start:{line:230,column:6},end:{line:230,column:72}},103:{start:{line:230,column:54},end:{line:230,column:71}},104:{start:{line:234,column:19},end:{line:234,column:113}},105:{start:{line:234,column:55},end:{line:234,column:112}},106:{start:{line:235,column:4},end:{line:251,column:5}},107:{start:{line:237,column:25},end:{line:237,column:123}},108:{start:{line:237,column:64},end:{line:237,column:122}},109:{start:{line:238,column:6},end:{line:250,column:7}},110:{start:{line:239,column:24},end:{line:239,column:125}},111:{start:{line:239,column:67},end:{line:239,column:124}},112:{start:{line:240,column:8},end:{line:249,column:9}},113:{start:{line:241,column:29},end:{line:241,column:61}},114:{start:{line:242,column:28},end:{line:247,column:11}},115:{start:{line:248,column:10},end:{line:248,column:90}},116:{start:{line:248,column:70},end:{line:248,column:89}},117:{start:{line:254,column:24},end:{line:254,column:50}},118:{start:{line:255,column:4},end:{line:261,column:5}},119:{start:{line:256,column:22},end:{line:259,column:7}},120:{start:{line:260,column:6},end:{line:260,column:81}},121:{start:{line:260,column:63},end:{line:260,column:80}},122:{start:{line:264,column:22},end:{line:264,column:46}},123:{start:{line:265,column:4},end:{line:274,column:5}},124:{start:{line:266,column:20},end:{line:272,column:7}},125:{start:{line:269,column:56},end:{line:269,column:108}},126:{start:{line:270,column:24},end:{line:270,column:34}},127:{start:{line:273,column:6},end:{line:273,column:82}},128:{start:{line:273,column:66},end:{line:273,column:81}},129:{start:{line:277,column:27},end:{line:277,column:114}},130:{start:{line:277,column:63},end:{line:277,column:113}},131:{start:{line:278,column:4},end:{line:285,column:5}},132:{start:{line:279,column:24},end:{line:283,column:7}},133:{start:{line:284,column:6},end:{line:284,column:79}},134:{start:{line:284,column:59},end:{line:284,column:78}},135:{start:{line:287,column:4},end:{line:289,column:5}},136:{start:{line:288,column:6},end:{line:288,column:48}},137:{start:{line:293,column:4},end:{line:296,column:5}},138:{start:{line:294,column:6},end:{line:294,column:55}},139:{start:{line:295,column:6},end:{line:295,column:82}},140:{start:{line:295,column:63},end:{line:295,column:81}},141:{start:{line:297,column:4},end:{line:297,column:19}},142:{start:{line:301,column:4},end:{line:301,column:20}},143:{start:{line:305,column:4},end:{line:307,column:5}},144:{start:{line:306,column:6},end:{line:306,column:45}},145:{start:{line:308,column:4},end:{line:312,column:5}},146:{start:{line:310,column:6},end:{line:310,column:41}},147:{start:{line:311,column:6},end:{line:311,column:12}},148:{start:{line:314,column:4},end:{line:314,column:32}},149:{start:{line:319,column:6},end:{line:324,column:7}},150:{start:{line:325,column:19},end:{line:325,column:66}},151:{start:{line:326,column:4},end:{line:333,column:8}},152:{start:{line:329,column:8},end:{line:332,column:9}},153:{start:{line:331,column:53},end:{line:331,column:61}},154:{start:{line:337,column:28},end:{line:348,column:5}},155:{start:{line:349,column:4},end:{line:349,column:41}},156:{start:{line:353,column:4},end:{line:355,column:5}},157:{start:{line:354,column:6},end:{line:354,column:12}},158:{start:{line:356,column:19},end:{line:362,column:5}},159:{start:{line:363,column:4},end:{line:365,column:5}},160:{start:{line:364,column:6},end:{line:364,column:12}},161:{start:{line:366,column:4},end:{line:373,column:6}},162:{start:{line:377,column:15},end:{line:377,column:23}},163:{start:{line:378,column:4},end:{line:403,column:6}},164:{start:{line:404,column:24},end:{line:411,column:5}},165:{start:{line:412,column:4},end:{line:414,column:5}},166:{start:{line:413,column:6},end:{line:413,column:35}},167:{start:{line:415,column:4},end:{line:417,column:5}},168:{start:{line:416,column:6},end:{line:416,column:50}},169:{start:{line:418,column:4},end:{line:418,column:81}},170:{start:{line:418,column:59},end:{line:418,column:80}},171:{start:{line:424,column:6},end:{line:429,column:7}},172:{start:{line:430,column:19},end:{line:430,column:67}},173:{start:{line:431,column:4},end:{line:431,column:41}},174:{start:{line:437,column:4},end:{line:445,column:5}},175:{start:{line:446,column:19},end:{line:446,column:68}},176:{start:{line:447,column:22},end:{line:447,column:24}},177:{start:{line:448,column:4},end:{line:472,column:7}},178:{start:{line:449,column:20},end:{line:471,column:9}},179:{start:{line:450,column:22},end:{line:470,column:12}},180:{start:{line:452,column:29},end:{line:452,column:45}},181:{start:{line:453,column:12},end:{line:457,column:13}},182:{start:{line:454,column:14},end:{line:456,column:16}},183:{start:{line:455,column:16},end:{line:455,column:54}},184:{start:{line:458,column:12},end:{line:460,column:13}},185:{start:{line:459,column:14},end:{line:459,column:62}},186:{start:{line:461,column:25},end:{line:461,column:56}},187:{start:{line:462,column:12},end:{line:464,column:13}},188:{start:{line:463,column:14},end:{line:463,column:34}},189:{start:{line:465,column:29},end:{line:465,column:64}},190:{start:{line:466,column:12},end:{line:468,column:13}},191:{start:{line:467,column:14},end:{line:467,column:42}},192:{start:{line:469,column:12},end:{line:469,column:36}},193:{start:{line:473,column:4},end:{line:473,column:20}},194:{start:{line:478,column:4},end:{line:500,column:5}},195:{start:{line:484,column:29},end:{line:496,column:11}},196:{start:{line:501,column:4},end:{line:501,column:56}},197:{start:{line:505,column:22},end:{line:505,column:47}},198:{start:{line:506,column:4},end:{line:512,column:6}},199:{start:{line:513,column:4},end:{line:513,column:38}},200:{start:{line:517,column:22},end:{line:518,column:47}},201:{start:{line:518,column:26},end:{line:518,column:46}},202:{start:{line:519,column:4},end:{line:519,column:38}},203:{start:{line:524,column:4},end:{line:526,column:5}},204:{start:{line:525,column:6},end:{line:525,column:26}},205:{start:{line:527,column:4},end:{line:529,column:5}},206:{start:{line:528,column:6},end:{line:528,column:31}},207:{start:{line:531,column:6},end:{line:536,column:7}},208:{start:{line:537,column:19},end:{line:537,column:69}},209:{start:{line:540,column:22},end:{line:553,column:5}},210:{start:{line:541,column:83},end:{line:541,column:97}},211:{start:{line:542,column:79},end:{line:542,column:96}},212:{start:{line:544,column:8},end:{line:551,column:12}},213:{start:{line:545,column:10},end:{line:550,column:11}},214:{start:{line:554,column:4},end:{line:556,column:5}},215:{start:{line:555,column:6},end:{line:555,column:60}},216:{start:{line:558,column:4},end:{line:558,column:34}},217:{start:{line:559,column:4},end:{line:559,column:20}},218:{start:{line:563,column:4},end:{line:565,column:5}},219:{start:{line:564,column:6},end:{line:564,column:26}},220:{start:{line:567,column:6},end:{line:572,column:7}},221:{start:{line:573,column:19},end:{line:573,column:70}},222:{start:{line:574,column:4},end:{line:576,column:5}},223:{start:{line:575,column:6},end:{line:575,column:50}},224:{start:{line:577,column:4},end:{line:579,column:5}},225:{start:{line:578,column:67},end:{line:578,column:74}},226:{start:{line:585,column:4},end:{line:585,column:40}},227:{start:{line:586,column:22},end:{line:586,column:47}},228:{start:{line:587,column:18},end:{line:587,column:48}},229:{start:{line:588,column:4},end:{line:603,column:5}},230:{start:{line:590,column:25},end:{line:590,column:51}},231:{start:{line:591,column:6},end:{line:602,column:7}},232:{start:{line:591,column:19},end:{line:591,column:20}},233:{start:{line:592,column:8},end:{line:601,column:9}},234:{start:{line:593,column:28},end:{line:593,column:76}},235:{start:{line:594,column:10},end:{line:594,column:50}},236:{start:{line:595,column:10},end:{line:598,column:11}},237:{start:{line:596,column:12},end:{line:596,column:56}},238:{start:{line:597,column:12},end:{line:597,column:17}},239:{start:{line:600,column:10},end:{line:600,column:37}},240:{start:{line:604,column:4},end:{line:606,column:5}},241:{start:{line:610,column:4},end:{line:620,column:5}},242:{start:{line:611,column:6},end:{line:619,column:7}},243:{start:{line:611,column:19},end:{line:611,column:20}},244:{start:{line:612,column:26},end:{line:612,column:49}},245:{start:{line:613,column:8},end:{line:618,column:9}},246:{start:{line:613,column:42},end:{line:613,column:53}},247:{start:{line:614,column:35},end:{line:614,column:99}},248:{start:{line:614,column:68},end:{line:614,column:98}},249:{start:{line:615,column:10},end:{line:617,column:11}},250:{start:{line:616,column:12},end:{line:616,column:58}},251:{start:{line:621,column:4},end:{line:621,column:20}},252:{start:{line:625,column:4},end:{line:627,column:5}},253:{start:{line:626,column:6},end:{line:626,column:29}},254:{start:{line:629,column:6},end:{line:634,column:7}},255:{start:{line:635,column:19},end:{line:635,column:71}},256:{start:{line:636,column:19},end:{line:638,column:5}},257:{start:{line:637,column:47},end:{line:637,column:67}},258:{start:{line:639,column:21},end:{line:639,column:97}},259:{start:{line:639,column:57},end:{line:639,column:77}},260:{start:{line:640,column:4},end:{line:643,column:5}},261:{start:{line:648,column:4},end:{line:691,column:5}},262:{start:{line:696,column:4},end:{line:701,column:5}},263:{start:{line:702,column:19},end:{line:702,column:68}},264:{start:{line:703,column:23},end:{line:707,column:12}},265:{start:{line:705,column:8},end:{line:705,column:44}},266:{start:{line:706,column:8},end:{line:706,column:25}},267:{start:{line:708,column:20},end:{line:726,column:6}},268:{start:{line:709,column:16},end:{line:711,column:7}},269:{start:{line:712,column:23},end:{line:712,column:84}},270:{start:{line:713,column:6},end:{line:724,column:7}},271:{start:{line:715,column:10},end:{line:715,column:91}},272:{start:{line:716,column:10},end:{line:716,column:99}},273:{start:{line:717,column:10},end:{line:717,column:15}},274:{start:{line:719,column:10},end:{line:719,column:36}},275:{start:{line:720,column:10},end:{line:720,column:15}},276:{start:{line:722,column:10},end:{line:722,column:34}},277:{start:{line:723,column:10},end:{line:723,column:15}},278:{start:{line:725,column:6},end:{line:725,column:14}},279:{start:{line:727,column:4},end:{line:727,column:22}},280:{start:{line:733,column:4},end:{line:738,column:5}},281:{start:{line:739,column:18},end:{line:739,column:87}},282:{start:{line:742,column:15},end:{line:742,column:19}},283:{start:{line:743,column:17},end:{line:743,column:21}},284:{start:{line:744,column:4},end:{line:748,column:5}},285:{start:{line:745,column:20},end:{line:745,column:45}},286:{start:{line:746,column:6},end:{line:746,column:49}},287:{start:{line:747,column:6},end:{line:747,column:23}},288:{start:{line:749,column:27},end:{line:767,column:5}},289:{start:{line:761,column:29},end:{line:761,column:53}},290:{start:{line:763,column:10},end:{line:765,column:11}},291:{start:{line:768,column:30},end:{line:769,column:37}},292:{start:{line:769,column:24},end:{line:769,column:36}},293:{start:{line:770,column:4},end:{line:774,column:29}},294:{start:{line:772,column:24},end:{line:772,column:64}},295:{start:{line:777,column:4},end:{line:782,column:5}},296:{start:{line:783,column:19},end:{line:783,column:68}},297:{start:{line:784,column:4},end:{line:786,column:5}},298:{start:{line:785,column:6},end:{line:785,column:50}},299:{start:{line:792,column:4},end:{line:809,column:5}},300:{start:{line:810,column:19},end:{line:810,column:72}},301:{start:{line:811,column:19},end:{line:811,column:21}},302:{start:{line:812,column:4},end:{line:817,column:5}},303:{start:{line:813,column:18},end:{line:813,column:56}},304:{start:{line:814,column:6},end:{line:814,column:46}},305:{start:{line:815,column:6},end:{line:815,column:44}},306:{start:{line:816,column:6},end:{line:816,column:46}},307:{start:{line:818,column:4},end:{line:820,column:5}},308:{start:{line:825,column:4},end:{line:827,column:5}},309:{start:{line:826,column:6},end:{line:826,column:33}},310:{start:{line:828,column:32},end:{line:838,column:5}},311:{start:{line:840,column:28},end:{line:840,column:32}},312:{start:{line:841,column:20},end:{line:841,column:24}},313:{start:{line:842,column:27},end:{line:847,column:6}},314:{start:{line:843,column:6},end:{line:846,column:25}},315:{start:{line:844,column:8},end:{line:844,column:31}},316:{start:{line:845,column:8},end:{line:845,column:47}},317:{start:{line:848,column:24},end:{line:879,column:6}},318:{start:{line:850,column:8},end:{line:852,column:9}},319:{start:{line:851,column:10},end:{line:851,column:57}},320:{start:{line:853,column:8},end:{line:874,column:9}},321:{start:{line:855,column:30},end:{line:855,column:63}},322:{start:{line:856,column:10},end:{line:858,column:11}},323:{start:{line:857,column:12},end:{line:857,column:68}},324:{start:{line:859,column:10},end:{line:867,column:11}},325:{start:{line:860,column:12},end:{line:866,column:13}},326:{start:{line:860,column:65},end:{line:860,column:92}},327:{start:{line:862,column:14},end:{line:862,column:56}},328:{start:{line:863,column:14},end:{line:863,column:37}},329:{start:{line:864,column:14},end:{line:864,column:29}},330:{start:{line:865,column:14},end:{line:865,column:20}},331:{start:{line:868,column:10},end:{line:873,column:11}},332:{start:{line:870,column:12},end:{line:870,column:54}},333:{start:{line:871,column:12},end:{line:871,column:35}},334:{start:{line:872,column:12},end:{line:872,column:67}},335:{start:{line:876,column:6},end:{line:876,column:41}},336:{start:{line:877,column:6},end:{line:878,column:22}},337:{start:{line:880,column:4},end:{line:883,column:6}},338:{start:{line:887,column:28},end:{line:892,column:5}},339:{start:{line:893,column:4},end:{line:893,column:41}},340:{start:{line:898,column:4},end:{line:906,column:5}},341:{start:{line:907,column:19},end:{line:907,column:73}},342:{start:{line:908,column:17},end:{line:908,column:55}},343:{start:{line:909,column:19},end:{line:935,column:5}},344:{start:{line:913,column:18},end:{line:919,column:9}},345:{start:{line:920,column:8},end:{line:932,column:9}},346:{start:{line:922,column:12},end:{line:922,column:37}},347:{start:{line:923,column:12},end:{line:923,column:17}},348:{start:{line:925,column:12},end:{line:930,column:14}},349:{start:{line:926,column:14},end:{line:929,column:15}},350:{start:{line:931,column:12},end:{line:931,column:17}},351:{start:{line:933,column:8},end:{line:933,column:16}},352:{start:{line:936,column:4},end:{line:938,column:5}},353:{start:{line:937,column:6},end:{line:937,column:65}},354:{start:{line:939,column:4},end:{line:939,column:17}},355:{start:{line:944,column:4},end:{line:963,column:5}},356:{start:{line:954,column:12},end:{line:959,column:13}},357:{start:{line:964,column:4},end:{line:964,column:58}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:55,column:2},end:{line:55,column:3}},loc:{start:{line:55,column:22},end:{line:90,column:3}},line:55},1:{name:"(anonymous_1)",decl:{start:{line:85,column:29},end:{line:85,column:30}},loc:{start:{line:85,column:39},end:{line:85,column:72}},line:85},2:{name:"(anonymous_2)",decl:{start:{line:86,column:28},end:{line:86,column:29}},loc:{start:{line:86,column:37},end:{line:86,column:68}},line:86},3:{name:"(anonymous_3)",decl:{start:{line:87,column:29},end:{line:87,column:30}},loc:{start:{line:87,column:39},end:{line:87,column:72}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:92,column:2},end:{line:92,column:3}},loc:{start:{line:92,column:17},end:{line:104,column:3}},line:92},5:{name:"(anonymous_5)",decl:{start:{line:106,column:2},end:{line:106,column:3}},loc:{start:{line:106,column:23},end:{line:183,column:3}},line:106},6:{name:"(anonymous_6)",decl:{start:{line:155,column:44},end:{line:155,column:45}},loc:{start:{line:155,column:49},end:{line:165,column:9}},line:155},7:{name:"(anonymous_7)",decl:{start:{line:166,column:46},end:{line:166,column:47}},loc:{start:{line:166,column:56},end:{line:170,column:9}},line:166},8:{name:"(anonymous_8)",decl:{start:{line:171,column:46},end:{line:171,column:47}},loc:{start:{line:171,column:56},end:{line:175,column:9}},line:171},9:{name:"(anonymous_9)",decl:{start:{line:173,column:52},end:{line:173,column:53}},loc:{start:{line:173,column:66},end:{line:173,column:84}},line:173},10:{name:"(anonymous_10)",decl:{start:{line:180,column:44},end:{line:180,column:45}},loc:{start:{line:180,column:58},end:{line:180,column:76}},line:180},11:{name:"(anonymous_11)",decl:{start:{line:185,column:2},end:{line:185,column:3}},loc:{start:{line:185,column:24},end:{line:290,column:3}},line:185},12:{name:"(anonymous_12)",decl:{start:{line:205,column:27},end:{line:205,column:28}},loc:{start:{line:205,column:40},end:{line:212,column:9}},line:205},13:{name:"(anonymous_13)",decl:{start:{line:230,column:40},end:{line:230,column:41}},loc:{start:{line:230,column:54},end:{line:230,column:71}},line:230},14:{name:"(anonymous_14)",decl:{start:{line:234,column:46},end:{line:234,column:47}},loc:{start:{line:234,column:55},end:{line:234,column:112}},line:234},15:{name:"(anonymous_15)",decl:{start:{line:237,column:55},end:{line:237,column:56}},loc:{start:{line:237,column:64},end:{line:237,column:122}},line:237},16:{name:"(anonymous_16)",decl:{start:{line:239,column:58},end:{line:239,column:59}},loc:{start:{line:239,column:67},end:{line:239,column:124}},line:239},17:{name:"(anonymous_17)",decl:{start:{line:248,column:56},end:{line:248,column:57}},loc:{start:{line:248,column:70},end:{line:248,column:89}},line:248},18:{name:"(anonymous_18)",decl:{start:{line:260,column:49},end:{line:260,column:50}},loc:{start:{line:260,column:63},end:{line:260,column:80}},line:260},19:{name:"(anonymous_19)",decl:{start:{line:269,column:47},end:{line:269,column:48}},loc:{start:{line:269,column:56},end:{line:269,column:108}},line:269},20:{name:"(anonymous_20)",decl:{start:{line:270,column:15},end:{line:270,column:16}},loc:{start:{line:270,column:24},end:{line:270,column:34}},line:270},21:{name:"(anonymous_21)",decl:{start:{line:273,column:52},end:{line:273,column:53}},loc:{start:{line:273,column:66},end:{line:273,column:81}},line:273},22:{name:"(anonymous_22)",decl:{start:{line:277,column:54},end:{line:277,column:55}},loc:{start:{line:277,column:63},end:{line:277,column:113}},line:277},23:{name:"(anonymous_23)",decl:{start:{line:284,column:45},end:{line:284,column:46}},loc:{start:{line:284,column:59},end:{line:284,column:78}},line:284},24:{name:"(anonymous_24)",decl:{start:{line:292,column:2},end:{line:292,column:3}},loc:{start:{line:292,column:18},end:{line:298,column:3}},line:292},25:{name:"(anonymous_25)",decl:{start:{line:295,column:49},end:{line:295,column:50}},loc:{start:{line:295,column:63},end:{line:295,column:81}},line:295},26:{name:"(anonymous_26)",decl:{start:{line:300,column:2},end:{line:300,column:3}},loc:{start:{line:300,column:21},end:{line:302,column:3}},line:300},27:{name:"(anonymous_27)",decl:{start:{line:304,column:2},end:{line:304,column:3}},loc:{start:{line:304,column:21},end:{line:315,column:3}},line:304},28:{name:"(anonymous_28)",decl:{start:{line:317,column:2},end:{line:317,column:3}},loc:{start:{line:317,column:23},end:{line:334,column:3}},line:317},29:{name:"(anonymous_29)",decl:{start:{line:328,column:11},end:{line:328,column:12}},loc:{start:{line:328,column:19},end:{line:333,column:7}},line:328},30:{name:"(anonymous_30)",decl:{start:{line:331,column:48},end:{line:331,column:49}},loc:{start:{line:331,column:53},end:{line:331,column:61}},line:331},31:{name:"(anonymous_31)",decl:{start:{line:336,column:2},end:{line:336,column:3}},loc:{start:{line:336,column:39},end:{line:350,column:3}},line:336},32:{name:"(anonymous_32)",decl:{start:{line:352,column:2},end:{line:352,column:3}},loc:{start:{line:352,column:44},end:{line:374,column:3}},line:352},33:{name:"(anonymous_33)",decl:{start:{line:376,column:2},end:{line:376,column:3}},loc:{start:{line:376,column:54},end:{line:419,column:3}},line:376},34:{name:"(anonymous_34)",decl:{start:{line:418,column:45},end:{line:418,column:46}},loc:{start:{line:418,column:59},end:{line:418,column:80}},line:418},35:{name:"(anonymous_35)",decl:{start:{line:422,column:2},end:{line:422,column:3}},loc:{start:{line:422,column:25},end:{line:432,column:3}},line:422},36:{name:"(anonymous_36)",decl:{start:{line:435,column:2},end:{line:435,column:3}},loc:{start:{line:435,column:23},end:{line:474,column:3}},line:435},37:{name:"(anonymous_37)",decl:{start:{line:449,column:15},end:{line:449,column:16}},loc:{start:{line:449,column:20},end:{line:471,column:9}},line:449},38:{name:"(anonymous_38)",decl:{start:{line:450,column:17},end:{line:450,column:18}},loc:{start:{line:450,column:22},end:{line:470,column:12}},line:450},39:{name:"(anonymous_39)",decl:{start:{line:451,column:19},end:{line:451,column:20}},loc:{start:{line:451,column:33},end:{line:470,column:11}},line:451},40:{name:"(anonymous_40)",decl:{start:{line:454,column:42},end:{line:454,column:43}},loc:{start:{line:454,column:50},end:{line:456,column:15}},line:454},41:{name:"(anonymous_41)",decl:{start:{line:476,column:2},end:{line:476,column:3}},loc:{start:{line:476,column:32},end:{line:502,column:3}},line:476},42:{name:"(anonymous_42)",decl:{start:{line:484,column:24},end:{line:484,column:25}},loc:{start:{line:484,column:29},end:{line:496,column:11}},line:484},43:{name:"(anonymous_43)",decl:{start:{line:504,column:2},end:{line:504,column:3}},loc:{start:{line:504,column:30},end:{line:514,column:3}},line:504},44:{name:"(anonymous_44)",decl:{start:{line:516,column:2},end:{line:516,column:3}},loc:{start:{line:516,column:28},end:{line:520,column:3}},line:516},45:{name:"(anonymous_45)",decl:{start:{line:518,column:14},end:{line:518,column:15}},loc:{start:{line:518,column:26},end:{line:518,column:46}},line:518},46:{name:"(anonymous_46)",decl:{start:{line:523,column:2},end:{line:523,column:3}},loc:{start:{line:523,column:25},end:{line:560,column:3}},line:523},47:{name:"(anonymous_47)",decl:{start:{line:541,column:71},end:{line:541,column:72}},loc:{start:{line:541,column:83},end:{line:541,column:97}},line:541},48:{name:"(anonymous_48)",decl:{start:{line:542,column:68},end:{line:542,column:69}},loc:{start:{line:542,column:79},end:{line:542,column:96}},line:542},49:{name:"(anonymous_49)",decl:{start:{line:543,column:64},end:{line:543,column:65}},loc:{start:{line:543,column:69},end:{line:552,column:7}},line:543},50:{name:"(anonymous_50)",decl:{start:{line:544,column:52},end:{line:544,column:53}},loc:{start:{line:544,column:61},end:{line:551,column:9}},line:544},51:{name:"(anonymous_51)",decl:{start:{line:562,column:2},end:{line:562,column:3}},loc:{start:{line:562,column:26},end:{line:580,column:3}},line:562},52:{name:"(anonymous_52)",decl:{start:{line:578,column:62},end:{line:578,column:63}},loc:{start:{line:578,column:67},end:{line:578,column:74}},line:578},53:{name:"(anonymous_53)",decl:{start:{line:583,column:2},end:{line:583,column:3}},loc:{start:{line:583,column:27},end:{line:607,column:3}},line:583},54:{name:"(anonymous_54)",decl:{start:{line:609,column:2},end:{line:609,column:3}},loc:{start:{line:609,column:29},end:{line:622,column:3}},line:609},55:{name:"(anonymous_55)",decl:{start:{line:613,column:33},end:{line:613,column:34}},loc:{start:{line:613,column:42},end:{line:613,column:53}},line:613},56:{name:"(anonymous_56)",decl:{start:{line:614,column:59},end:{line:614,column:60}},loc:{start:{line:614,column:68},end:{line:614,column:98}},line:614},57:{name:"(anonymous_57)",decl:{start:{line:624,column:2},end:{line:624,column:3}},loc:{start:{line:624,column:35},end:{line:644,column:3}},line:624},58:{name:"(anonymous_58)",decl:{start:{line:637,column:38},end:{line:637,column:39}},loc:{start:{line:637,column:47},end:{line:637,column:67}},line:637},59:{name:"(anonymous_59)",decl:{start:{line:639,column:48},end:{line:639,column:49}},loc:{start:{line:639,column:57},end:{line:639,column:77}},line:639},60:{name:"(anonymous_60)",decl:{start:{line:647,column:2},end:{line:647,column:3}},loc:{start:{line:647,column:24},end:{line:692,column:3}},line:647},61:{name:"(anonymous_61)",decl:{start:{line:694,column:2},end:{line:694,column:3}},loc:{start:{line:694,column:21},end:{line:728,column:3}},line:694},62:{name:"(anonymous_62)",decl:{start:{line:704,column:14},end:{line:704,column:15}},loc:{start:{line:704,column:41},end:{line:707,column:7}},line:704},63:{name:"(anonymous_63)",decl:{start:{line:708,column:58},end:{line:708,column:59}},loc:{start:{line:708,column:68},end:{line:726,column:5}},line:708},64:{name:"(anonymous_64)",decl:{start:{line:730,column:2},end:{line:730,column:3}},loc:{start:{line:730,column:28},end:{line:787,column:3}},line:730},65:{name:"(anonymous_65)",decl:{start:{line:761,column:16},end:{line:761,column:17}},loc:{start:{line:761,column:29},end:{line:761,column:53}},line:761},66:{name:"(anonymous_66)",decl:{start:{line:762,column:13},end:{line:762,column:14}},loc:{start:{line:762,column:26},end:{line:766,column:9}},line:762},67:{name:"(anonymous_67)",decl:{start:{line:769,column:11},end:{line:769,column:12}},loc:{start:{line:769,column:24},end:{line:769,column:36}},line:769},68:{name:"(anonymous_68)",decl:{start:{line:772,column:14},end:{line:772,column:15}},loc:{start:{line:772,column:24},end:{line:772,column:64}},line:772},69:{name:"(anonymous_69)",decl:{start:{line:790,column:2},end:{line:790,column:3}},loc:{start:{line:790,column:43},end:{line:821,column:3}},line:790},70:{name:"(anonymous_70)",decl:{start:{line:824,column:2},end:{line:824,column:3}},loc:{start:{line:824,column:34},end:{line:884,column:3}},line:824},71:{name:"(anonymous_71)",decl:{start:{line:842,column:39},end:{line:842,column:40}},loc:{start:{line:842,column:60},end:{line:847,column:5}},line:842},72:{name:"(anonymous_72)",decl:{start:{line:843,column:29},end:{line:843,column:30}},loc:{start:{line:843,column:35},end:{line:846,column:7}},line:843},73:{name:"(anonymous_73)",decl:{start:{line:848,column:36},end:{line:848,column:37}},loc:{start:{line:848,column:57},end:{line:879,column:5}},line:848},74:{name:"roomJoinAck",decl:{start:{line:849,column:15},end:{line:849,column:26}},loc:{start:{line:849,column:36},end:{line:875,column:7}},line:849},75:{name:"(anonymous_75)",decl:{start:{line:860,column:55},end:{line:860,column:56}},loc:{start:{line:860,column:65},end:{line:860,column:92}},line:860},76:{name:"(anonymous_76)",decl:{start:{line:886,column:2},end:{line:886,column:3}},loc:{start:{line:886,column:29},end:{line:894,column:3}},line:886},77:{name:"(anonymous_77)",decl:{start:{line:896,column:2},end:{line:896,column:3}},loc:{start:{line:896,column:31},end:{line:940,column:3}},line:896},78:{name:"(anonymous_78)",decl:{start:{line:912,column:44},end:{line:912,column:45}},loc:{start:{line:912,column:53},end:{line:934,column:7}},line:912},79:{name:"(anonymous_79)",decl:{start:{line:925,column:56},end:{line:925,column:57}},loc:{start:{line:925,column:66},end:{line:930,column:13}},line:925},80:{name:"(anonymous_80)",decl:{start:{line:942,column:2},end:{line:942,column:3}},loc:{start:{line:942,column:37},end:{line:965,column:3}},line:942},81:{name:"(anonymous_81)",decl:{start:{line:953,column:26},end:{line:953,column:27}},loc:{start:{line:953,column:35},end:{line:960,column:11}},line:953}},branchMap:{0:{loc:{start:{line:56,column:4},end:{line:58,column:5}},type:"if",locations:[{start:{line:56,column:4},end:{line:58,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:56},1:{loc:{start:{line:76,column:15},end:{line:76,column:69}},type:"binary-expr",locations:[{start:{line:76,column:15},end:{line:76,column:29}},{start:{line:76,column:33},end:{line:76,column:69}}],line:76},2:{loc:{start:{line:77,column:14},end:{line:77,column:42}},type:"binary-expr",locations:[{start:{line:77,column:14},end:{line:77,column:27}},{start:{line:77,column:31},end:{line:77,column:42}}],line:77},3:{loc:{start:{line:78,column:17},end:{line:78,column:46}},type:"binary-expr",locations:[{start:{line:78,column:17},end:{line:78,column:32}},{start:{line:78,column:36},end:{line:78,column:46}}],line:78},4:{loc:{start:{line:84,column:4},end:{line:88,column:5}},type:"if",locations:[{start:{line:84,column:4},end:{line:88,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:84},5:{loc:{start:{line:84,column:8},end:{line:84,column:25}},type:"binary-expr",locations:[{start:{line:84,column:8},end:{line:84,column:13}},{start:{line:84,column:17},end:{line:84,column:25}}],line:84},6:{loc:{start:{line:94,column:4},end:{line:96,column:5}},type:"if",locations:[{start:{line:94,column:4},end:{line:96,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:94},7:{loc:{start:{line:107,column:4},end:{line:182,column:5}},type:"if",locations:[{start:{line:107,column:4},end:{line:182,column:5}},{start:{line:137,column:11},end:{line:182,column:5}}],line:107},8:{loc:{start:{line:108,column:6},end:{line:136,column:7}},type:"if",locations:[{start:{line:108,column:6},end:{line:136,column:7}},{start:{line:125,column:13},end:{line:136,column:7}}],line:108},9:{loc:{start:{line:108,column:10},end:{line:108,column:75}},type:"binary-expr",locations:[{start:{line:108,column:10},end:{line:108,column:38}},{start:{line:108,column:42},end:{line:108,column:75}}],line:108},10:{loc:{start:{line:110,column:8},end:{line:123,column:9}},type:"if",locations:[{start:{line:110,column:8},end:{line:123,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:110},11:{loc:{start:{line:110,column:12},end:{line:110,column:96}},type:"binary-expr",locations:[{start:{line:110,column:12},end:{line:110,column:53}},{start:{line:110,column:57},end:{line:110,column:96}}],line:110},12:{loc:{start:{line:113,column:10},end:{line:115,column:11}},type:"if",locations:[{start:{line:113,column:10},end:{line:115,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:113},13:{loc:{start:{line:116,column:10},end:{line:122,column:11}},type:"if",locations:[{start:{line:116,column:10},end:{line:122,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:116},14:{loc:{start:{line:118,column:12},end:{line:120,column:13}},type:"if",locations:[{start:{line:118,column:12},end:{line:120,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:118},15:{loc:{start:{line:118,column:16},end:{line:118,column:33}},type:"binary-expr",locations:[{start:{line:118,column:16},end:{line:118,column:21}},{start:{line:118,column:25},end:{line:118,column:33}}],line:118},16:{loc:{start:{line:127,column:8},end:{line:132,column:9}},type:"if",locations:[{start:{line:127,column:8},end:{line:132,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:127},17:{loc:{start:{line:133,column:8},end:{line:135,column:9}},type:"if",locations:[{start:{line:133,column:8},end:{line:135,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:133},18:{loc:{start:{line:137,column:11},end:{line:182,column:5}},type:"if",locations:[{start:{line:137,column:11},end:{line:182,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:137},19:{loc:{start:{line:144,column:6},end:{line:150,column:7}},type:"if",locations:[{start:{line:144,column:6},end:{line:150,column:7}},{start:{line:147,column:13},end:{line:150,column:7}}],line:144},20:{loc:{start:{line:148,column:24},end:{line:148,column:61}},type:"binary-expr",locations:[{start:{line:148,column:24},end:{line:148,column:51}},{start:{line:148,column:55},end:{line:148,column:61}}],line:148},21:{loc:{start:{line:153,column:6},end:{line:176,column:7}},type:"if",locations:[{start:{line:153,column:6},end:{line:176,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:153},22:{loc:{start:{line:156,column:10},end:{line:158,column:11}},type:"if",locations:[{start:{line:156,column:10},end:{line:158,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:156},23:{loc:{start:{line:159,column:10},end:{line:161,column:11}},type:"if",locations:[{start:{line:159,column:10},end:{line:161,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:159},24:{loc:{start:{line:162,column:10},end:{line:164,column:11}},type:"if",locations:[{start:{line:162,column:10},end:{line:164,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:162},25:{loc:{start:{line:167,column:10},end:{line:169,column:11}},type:"if",locations:[{start:{line:167,column:10},end:{line:169,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:167},26:{loc:{start:{line:172,column:10},end:{line:174,column:11}},type:"if",locations:[{start:{line:172,column:10},end:{line:174,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:172},27:{loc:{start:{line:177,column:6},end:{line:179,column:7}},type:"if",locations:[{start:{line:177,column:6},end:{line:179,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:177},28:{loc:{start:{line:177,column:10},end:{line:177,column:27}},type:"binary-expr",locations:[{start:{line:177,column:10},end:{line:177,column:15}},{start:{line:177,column:19},end:{line:177,column:27}}],line:177},29:{loc:{start:{line:188,column:4},end:{line:231,column:5}},type:"if",locations:[{start:{line:188,column:4},end:{line:231,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:188},30:{loc:{start:{line:189,column:6},end:{line:191,column:7}},type:"if",locations:[{start:{line:189,column:6},end:{line:191,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:189},31:{loc:{start:{line:189,column:10},end:{line:189,column:27}},type:"binary-expr",locations:[{start:{line:189,column:10},end:{line:189,column:15}},{start:{line:189,column:19},end:{line:189,column:27}}],line:189},32:{loc:{start:{line:194,column:39},end:{line:194,column:72}},type:"binary-expr",locations:[{start:{line:194,column:39},end:{line:194,column:54}},{start:{line:194,column:58},end:{line:194,column:72}}],line:194},33:{loc:{start:{line:198,column:6},end:{line:200,column:7}},type:"if",locations:[{start:{line:198,column:6},end:{line:200,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:198},34:{loc:{start:{line:204,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:204,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:204},35:{loc:{start:{line:206,column:10},end:{line:211,column:11}},type:"if",locations:[{start:{line:206,column:10},end:{line:211,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:206},36:{loc:{start:{line:206,column:14},end:{line:206,column:78}},type:"binary-expr",locations:[{start:{line:206,column:14},end:{line:206,column:29}},{start:{line:206,column:33},end:{line:206,column:78}}],line:206},37:{loc:{start:{line:207,column:12},end:{line:209,column:13}},type:"if",locations:[{start:{line:207,column:12},end:{line:209,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},38:{loc:{start:{line:217,column:6},end:{line:225,column:7}},type:"if",locations:[{start:{line:217,column:6},end:{line:225,column:7}},{start:{line:220,column:13},end:{line:225,column:7}}],line:217},39:{loc:{start:{line:217,column:10},end:{line:217,column:47}},type:"binary-expr",locations:[{start:{line:217,column:10},end:{line:217,column:16}},{start:{line:217,column:20},end:{line:217,column:47}}],line:217},40:{loc:{start:{line:219,column:24},end:{line:219,column:56}},type:"cond-expr",locations:[{start:{line:219,column:32},end:{line:219,column:49}},{start:{line:219,column:52},end:{line:219,column:56}}],line:219},41:{loc:{start:{line:222,column:8},end:{line:224,column:9}},type:"if",locations:[{start:{line:222,column:8},end:{line:224,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:222},42:{loc:{start:{line:223,column:26},end:{line:223,column:58}},type:"cond-expr",locations:[{start:{line:223,column:34},end:{line:223,column:51}},{start:{line:223,column:54},end:{line:223,column:58}}],line:223},43:{loc:{start:{line:226,column:6},end:{line:228,column:7}},type:"if",locations:[{start:{line:226,column:6},end:{line:228,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:226},44:{loc:{start:{line:234,column:55},end:{line:234,column:112}},type:"binary-expr",locations:[{start:{line:234,column:55},end:{line:234,column:66}},{start:{line:234,column:70},end:{line:234,column:112}}],line:234},45:{loc:{start:{line:235,column:4},end:{line:251,column:5}},type:"if",locations:[{start:{line:235,column:4},end:{line:251,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:235},46:{loc:{start:{line:237,column:64},end:{line:237,column:122}},type:"binary-expr",locations:[{start:{line:237,column:64},end:{line:237,column:75}},{start:{line:237,column:79},end:{line:237,column:122}}],line:237},47:{loc:{start:{line:238,column:6},end:{line:250,column:7}},type:"if",locations:[{start:{line:238,column:6},end:{line:250,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:238},48:{loc:{start:{line:239,column:67},end:{line:239,column:124}},type:"binary-expr",locations:[{start:{line:239,column:67},end:{line:239,column:78}},{start:{line:239,column:82},end:{line:239,column:124}}],line:239},49:{loc:{start:{line:240,column:8},end:{line:249,column:9}},type:"if",locations:[{start:{line:240,column:8},end:{line:249,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:240},50:{loc:{start:{line:245,column:20},end:{line:245,column:60}},type:"cond-expr",locations:[{start:{line:245,column:33},end:{line:245,column:53}},{start:{line:245,column:56},end:{line:245,column:60}}],line:245},51:{loc:{start:{line:255,column:4},end:{line:261,column:5}},type:"if",locations:[{start:{line:255,column:4},end:{line:261,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:255},52:{loc:{start:{line:265,column:4},end:{line:274,column:5}},type:"if",locations:[{start:{line:265,column:4},end:{line:274,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:265},53:{loc:{start:{line:269,column:56},end:{line:269,column:108}},type:"binary-expr",locations:[{start:{line:269,column:56},end:{line:269,column:67}},{start:{line:269,column:71},end:{line:269,column:108}}],line:269},54:{loc:{start:{line:277,column:63},end:{line:277,column:113}},type:"binary-expr",locations:[{start:{line:277,column:63},end:{line:277,column:74}},{start:{line:277,column:78},end:{line:277,column:113}}],line:277},55:{loc:{start:{line:278,column:4},end:{line:285,column:5}},type:"if",locations:[{start:{line:278,column:4},end:{line:285,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:278},56:{loc:{start:{line:287,column:4},end:{line:289,column:5}},type:"if",locations:[{start:{line:287,column:4},end:{line:289,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:287},57:{loc:{start:{line:287,column:8},end:{line:287,column:25}},type:"binary-expr",locations:[{start:{line:287,column:8},end:{line:287,column:13}},{start:{line:287,column:17},end:{line:287,column:25}}],line:287},58:{loc:{start:{line:293,column:4},end:{line:296,column:5}},type:"if",locations:[{start:{line:293,column:4},end:{line:296,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:293},59:{loc:{start:{line:305,column:4},end:{line:307,column:5}},type:"if",locations:[{start:{line:305,column:4},end:{line:307,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:305},60:{loc:{start:{line:305,column:8},end:{line:305,column:25}},type:"binary-expr",locations:[{start:{line:305,column:8},end:{line:305,column:13}},{start:{line:305,column:17},end:{line:305,column:25}}],line:305},61:{loc:{start:{line:308,column:4},end:{line:312,column:5}},type:"if",locations:[{start:{line:308,column:4},end:{line:312,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:308},62:{loc:{start:{line:345,column:6},end:{line:347,column:14}},type:"cond-expr",locations:[{start:{line:345,column:15},end:{line:347,column:7}},{start:{line:347,column:10},end:{line:347,column:14}}],line:345},63:{loc:{start:{line:353,column:4},end:{line:355,column:5}},type:"if",locations:[{start:{line:353,column:4},end:{line:355,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:353},64:{loc:{start:{line:363,column:4},end:{line:365,column:5}},type:"if",locations:[{start:{line:363,column:4},end:{line:365,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:363},65:{loc:{start:{line:376,column:37},end:{line:376,column:52}},type:"default-arg",locations:[{start:{line:376,column:43},end:{line:376,column:52}}],line:376},66:{loc:{start:{line:387,column:8},end:{line:387,column:24}},type:"cond-expr",locations:[{start:{line:387,column:14},end:{line:387,column:17}},{start:{line:387,column:20},end:{line:387,column:24}}],line:387},67:{loc:{start:{line:389,column:6},end:{line:389,column:67}},type:"cond-expr",locations:[{start:{line:389,column:21},end:{line:389,column:60}},{start:{line:389,column:63},end:{line:389,column:67}}],line:389},68:{loc:{start:{line:390,column:6},end:{line:396,column:14}},type:"cond-expr",locations:[{start:{line:390,column:12},end:{line:396,column:7}},{start:{line:396,column:10},end:{line:396,column:14}}],line:390},69:{loc:{start:{line:412,column:4},end:{line:414,column:5}},type:"if",locations:[{start:{line:412,column:4},end:{line:414,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:412},70:{loc:{start:{line:415,column:4},end:{line:417,column:5}},type:"if",locations:[{start:{line:415,column:4},end:{line:417,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:415},71:{loc:{start:{line:415,column:8},end:{line:415,column:25}},type:"binary-expr",locations:[{start:{line:415,column:8},end:{line:415,column:13}},{start:{line:415,column:17},end:{line:415,column:25}}],line:415},72:{loc:{start:{line:453,column:12},end:{line:457,column:13}},type:"if",locations:[{start:{line:453,column:12},end:{line:457,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:453},73:{loc:{start:{line:458,column:12},end:{line:460,column:13}},type:"if",locations:[{start:{line:458,column:12},end:{line:460,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:458},74:{loc:{start:{line:462,column:12},end:{line:464,column:13}},type:"if",locations:[{start:{line:462,column:12},end:{line:464,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:462},75:{loc:{start:{line:466,column:12},end:{line:468,column:13}},type:"if",locations:[{start:{line:466,column:12},end:{line:468,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:466},76:{loc:{start:{line:490,column:12},end:{line:492,column:20}},type:"cond-expr",locations:[{start:{line:490,column:21},end:{line:492,column:13}},{start:{line:492,column:16},end:{line:492,column:20}}],line:490},77:{loc:{start:{line:493,column:12},end:{line:495,column:20}},type:"cond-expr",locations:[{start:{line:493,column:25},end:{line:495,column:13}},{start:{line:495,column:16},end:{line:495,column:20}}],line:493},78:{loc:{start:{line:524,column:4},end:{line:526,column:5}},type:"if",locations:[{start:{line:524,column:4},end:{line:526,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:524},79:{loc:{start:{line:527,column:4},end:{line:529,column:5}},type:"if",locations:[{start:{line:527,column:4},end:{line:529,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:527},80:{loc:{start:{line:554,column:4},end:{line:556,column:5}},type:"if",locations:[{start:{line:554,column:4},end:{line:556,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:554},81:{loc:{start:{line:554,column:8},end:{line:554,column:25}},type:"binary-expr",locations:[{start:{line:554,column:8},end:{line:554,column:13}},{start:{line:554,column:17},end:{line:554,column:25}}],line:554},82:{loc:{start:{line:563,column:4},end:{line:565,column:5}},type:"if",locations:[{start:{line:563,column:4},end:{line:565,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:563},83:{loc:{start:{line:574,column:4},end:{line:576,column:5}},type:"if",locations:[{start:{line:574,column:4},end:{line:576,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:574},84:{loc:{start:{line:574,column:8},end:{line:574,column:25}},type:"binary-expr",locations:[{start:{line:574,column:8},end:{line:574,column:13}},{start:{line:574,column:17},end:{line:574,column:25}}],line:574},85:{loc:{start:{line:588,column:4},end:{line:603,column:5}},type:"if",locations:[{start:{line:588,column:4},end:{line:603,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:588},86:{loc:{start:{line:595,column:10},end:{line:598,column:11}},type:"if",locations:[{start:{line:595,column:10},end:{line:598,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:595},87:{loc:{start:{line:610,column:4},end:{line:620,column:5}},type:"if",locations:[{start:{line:610,column:4},end:{line:620,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:610},88:{loc:{start:{line:613,column:8},end:{line:618,column:9}},type:"if",locations:[{start:{line:613,column:8},end:{line:618,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:613},89:{loc:{start:{line:615,column:10},end:{line:617,column:11}},type:"if",locations:[{start:{line:615,column:10},end:{line:617,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:615},90:{loc:{start:{line:625,column:4},end:{line:627,column:5}},type:"if",locations:[{start:{line:625,column:4},end:{line:627,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:625},91:{loc:{start:{line:625,column:8},end:{line:625,column:39}},type:"binary-expr",locations:[{start:{line:625,column:8},end:{line:625,column:24}},{start:{line:625,column:28},end:{line:625,column:39}}],line:625},92:{loc:{start:{line:712,column:23},end:{line:712,column:84}},type:"cond-expr",locations:[{start:{line:712,column:49},end:{line:712,column:77}},{start:{line:712,column:80},end:{line:712,column:84}}],line:712},93:{loc:{start:{line:713,column:6},end:{line:724,column:7}},type:"switch",locations:[{start:{line:714,column:8},end:{line:717,column:15}},{start:{line:718,column:8},end:{line:720,column:15}},{start:{line:721,column:8},end:{line:723,column:15}}],line:713},94:{loc:{start:{line:715,column:19},end:{line:715,column:91}},type:"cond-expr",locations:[{start:{line:715,column:47},end:{line:715,column:84}},{start:{line:715,column:87},end:{line:715,column:91}}],line:715},95:{loc:{start:{line:716,column:24},end:{line:716,column:99}},type:"cond-expr",locations:[{start:{line:716,column:50},end:{line:716,column:85}},{start:{line:716,column:88},end:{line:716,column:99}}],line:716},96:{loc:{start:{line:744,column:4},end:{line:748,column:5}},type:"if",locations:[{start:{line:744,column:4},end:{line:748,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:744},97:{loc:{start:{line:784,column:4},end:{line:786,column:5}},type:"if",locations:[{start:{line:784,column:4},end:{line:786,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:784},98:{loc:{start:{line:790,column:33},end:{line:790,column:41}},type:"default-arg",locations:[{start:{line:790,column:39},end:{line:790,column:41}}],line:790},99:{loc:{start:{line:812,column:4},end:{line:817,column:5}},type:"if",locations:[{start:{line:812,column:4},end:{line:817,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:812},100:{loc:{start:{line:825,column:4},end:{line:827,column:5}},type:"if",locations:[{start:{line:825,column:4},end:{line:827,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:825},101:{loc:{start:{line:834,column:8},end:{line:836,column:16}},type:"cond-expr",locations:[{start:{line:834,column:48},end:{line:836,column:9}},{start:{line:836,column:12},end:{line:836,column:16}}],line:834},102:{loc:{start:{line:834,column:8},end:{line:834,column:45}},type:"binary-expr",locations:[{start:{line:834,column:8},end:{line:834,column:12}},{start:{line:834,column:16},end:{line:834,column:24}},{start:{line:834,column:28},end:{line:834,column:45}}],line:834},103:{loc:{start:{line:850,column:8},end:{line:852,column:9}},type:"if",locations:[{start:{line:850,column:8},end:{line:852,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:850},104:{loc:{start:{line:850,column:12},end:{line:850,column:29}},type:"binary-expr",locations:[{start:{line:850,column:12},end:{line:850,column:17}},{start:{line:850,column:21},end:{line:850,column:29}}],line:850},105:{loc:{start:{line:853,column:8},end:{line:874,column:9}},type:"if",locations:[{start:{line:853,column:8},end:{line:874,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:853},106:{loc:{start:{line:853,column:12},end:{line:853,column:75}},type:"binary-expr",locations:[{start:{line:853,column:12},end:{line:853,column:33}},{start:{line:853,column:37},end:{line:853,column:75}}],line:853},107:{loc:{start:{line:856,column:10},end:{line:858,column:11}},type:"if",locations:[{start:{line:856,column:10},end:{line:858,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:856},108:{loc:{start:{line:856,column:14},end:{line:856,column:31}},type:"binary-expr",locations:[{start:{line:856,column:14},end:{line:856,column:19}},{start:{line:856,column:23},end:{line:856,column:31}}],line:856},109:{loc:{start:{line:859,column:10},end:{line:867,column:11}},type:"if",locations:[{start:{line:859,column:10},end:{line:867,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:859},110:{loc:{start:{line:860,column:12},end:{line:866,column:13}},type:"if",locations:[{start:{line:860,column:12},end:{line:866,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:860},111:{loc:{start:{line:868,column:10},end:{line:873,column:11}},type:"if",locations:[{start:{line:868,column:10},end:{line:873,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:868},112:{loc:{start:{line:920,column:8},end:{line:932,column:9}},type:"switch",locations:[{start:{line:921,column:10},end:{line:923,column:17}},{start:{line:924,column:10},end:{line:931,column:17}}],line:920},113:{loc:{start:{line:936,column:4},end:{line:938,column:5}},type:"if",locations:[{start:{line:936,column:4},end:{line:938,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:936},114:{loc:{start:{line:936,column:8},end:{line:936,column:25}},type:"binary-expr",locations:[{start:{line:936,column:8},end:{line:936,column:13}},{start:{line:936,column:17},end:{line:936,column:25}}],line:936},115:{loc:{start:{line:958,column:31},end:{line:958,column:95}},type:"cond-expr",locations:[{start:{line:958,column:58},end:{line:958,column:81}},{start:{line:958,column:84},end:{line:958,column:95}}],line:958},116:{loc:{start:{line:958,column:58},end:{line:958,column:81}},type:"cond-expr",locations:[{start:{line:958,column:72},end:{line:958,column:75}},{start:{line:958,column:78},end:{line:958,column:81}}],line:958}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0,164:0,165:0,166:0,167:0,168:0,169:0,170:0,171:0,172:0,173:0,174:0,175:0,176:0,177:0,178:0,179:0,180:0,181:0,182:0,183:0,184:0,185:0,186:0,187:0,188:0,189:0,190:0,191:0,192:0,193:0,194:0,195:0,196:0,197:0,198:0,199:0,200:0,201:0,202:0,203:0,204:0,205:0,206:0,207:0,208:0,209:0,210:0,211:0,212:0,213:0,214:0,215:0,216:0,217:0,218:0,219:0,220:0,221:0,222:0,223:0,224:0,225:0,226:0,227:0,228:0,229:0,230:0,231:0,232:0,233:0,234:0,235:0,236:0,237:0,238:0,239:0,240:0,241:0,242:0,243:0,244:0,245:0,246:0,247:0,248:0,249:0,250:0,251:0,252:0,253:0,254:0,255:0,256:0,257:0,258:0,259:0,260:0,261:0,262:0,263:0,264:0,265:0,266:0,267:0,268:0,269:0,270:0,271:0,272:0,273:0,274:0,275:0,276:0,277:0,278:0,279:0,280:0,281:0,282:0,283:0,284:0,285:0,286:0,287:0,288:0,289:0,290:0,291:0,292:0,293:0,294:0,295:0,296:0,297:0,298:0,299:0,300:0,301:0,302:0,303:0,304:0,305:0,306:0,307:0,308:0,309:0,310:0,311:0,312:0,313:0,314:0,315:0,316:0,317:0,318:0,319:0,320:0,321:0,322:0,323:0,324:0,325:0,326:0,327:0,328:0,329:0,330:0,331:0,332:0,333:0,334:0,335:0,336:0,337:0,338:0,339:0,340:0,341:0,342:0,343:0,344:0,345:0,346:0,347:0,348:0,349:0,350:0,351:0,352:0,353:0,354:0,355:0,356:0,357:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0,0],38:[0,0],39:[0,0],40:[0,0],41:[0,0],42:[0,0],43:[0,0],44:[0,0],45:[0,0],46:[0,0],47:[0,0],48:[0,0],49:[0,0],50:[0,0],51:[0,0],52:[0,0],53:[0,0],54:[0,0],55:[0,0],56:[0,0],57:[0,0],58:[0,0],59:[0,0],60:[0,0],61:[0,0],62:[0,0],63:[0,0],64:[0,0],65:[0],66:[0,0],67:[0,0],68:[0,0],69:[0,0],70:[0,0],71:[0,0],72:[0,0],73:[0,0],74:[0,0],75:[0,0],76:[0,0],77:[0,0],78:[0,0],79:[0,0],80:[0,0],81:[0,0],82:[0,0],83:[0,0],84:[0,0],85:[0,0],86:[0,0],87:[0,0],88:[0,0],89:[0,0],90:[0,0],91:[0,0],92:[0,0],93:[0,0,0],94:[0,0],95:[0,0],96:[0,0],97:[0,0],98:[0],99:[0,0],100:[0,0],101:[0,0],102:[0,0,0],103:[0,0],104:[0,0],105:[0,0],106:[0,0],107:[0,0],108:[0,0],109:[0,0],110:[0,0],111:[0,0],112:[0,0],113:[0,0],114:[0,0],115:[0,0],116:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/services/XmppClient.js"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3d1f8403a5ae8fa0e7beb6e0ae682a34050ed052"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return c=function(){return s},s}c();c().s[0]++;c().s[1]++;const sC=(c().s[2]++,{ROSTER:"jabber:iq:roster",STANZA_ERROR:"urn:ietf:params:xml:ns:xmpp-stanzas",MUC:"http://jabber.org/protocol/muc",MUC_USER:"http://jabber.org/protocol/muc#user",MUC_OWNER:"http://jabber.org/protocol/muc#owner",DISCO_INFO:"http://jabber.org/protocol/disco#info",DISCO_ITEMS:"http://jabber.org/protocol/disco#items",FORM:"jabber:x:data",HTTP_UPLOAD:"urn:xmpp:http:upload:0",MAM:"urn:xmpp:mam:2",RSM:"http://jabber.org/protocol/rsm",CARBONS:"urn:xmpp:carbons:2",CHAT_STATE:"http://jabber.org/protocol/chatstates",VCARD:"vcard-temp",PRIVATE:"jabber:iq:private",BOOKMARKS:"storage:bookmarks",OUT_OF_BAND_DATA:"jabber:x:oob",UNIQUE_ID:"urn:xmpp:sid:0",DISCO_CONNECTION:"urn:xmpp:alt-connections:websocket",MESSAGE_FASTENING:"urn:xmpp:fasten:0",MESSAGE_MODERATION:"urn:xmpp:message-moderate:0",MESSAGE_RETRACTED:"urn:xmpp:message-retract:0"});let EC=(c().s[3]++,null),jl=(c().s[4]++,[]);class m5{constructor(C){c().f[0]++,c().s[5]++,EC?(c().b[0][0]++,c().s[6]++,EC.disconnect()):c().b[0][1]++,c().s[7]++,this.config=C,c().s[8]++,this.callbacks={chat:[],groupchat:[],messageSent:[],messageSentError:[],messageRetracted:[],presence:[],authenticated:[],mucCreated:[],chatState:[],subjectChange:[]},c().s[9]++,this.jid={},c().s[10]++,this.uploadService=null,c().s[11]++,this.xmpp=c5({service:(c().b[1][0]++,C.service||(c().b[1][1]++,"ws://localhost:5280/xmpp-websocket")),domain:(c().b[2][0]++,C.domain||(c().b[2][1]++,"localhost")),resource:(c().b[3][0]++,(C.resource||(c().b[3][1]++,"Web XMPP"))+" "+Am(5)),username:C.jid,password:C.password}),c().s[12]++,EC=this,c().s[13]++,c().b[5][0]++,c().b[4][1]++,c().s[20]++,this.xmpp.on("stanza",this.parseStanza)}parseJid(C){c().f[4]++;let e=(c().s[21]++,C);return c().s[22]++,typeof C=="string"?(c().b[6][0]++,c().s[23]++,e=r5(C)):c().b[6][1]++,c().s[24]++,{resource:e.getResource(),local:e.getLocal(),domain:e.getDomain(),bare:e.bare().toString(),full:e.toString()}}parseStanza(C){if(c().f[5]++,c().s[25]++,C.is("message"))if(c().b[7][0]++,c().s[26]++,c().b[9][0]++,C.attrs.type==="chat"||(c().b[9][1]++,C.attrs.type==="groupchat")){if(c().b[8][0]++,c().s[27]++,c().b[11][0]++,C.attrs.from===EC.jid.bare&&(c().b[11][1]++,C.attrs.to===EC.jid.full)){c().b[10][0]++;let e=(c().s[28]++,C.getChild("sent"));if(c().s[29]++,e?c().b[12][1]++:(c().b[12][0]++,c().s[30]++,e=C.getChild("received")),c().s[31]++,e){c().b[13][0]++;const n=(c().s[32]++,e.getChild("forwarded").getChild("message"));c().s[33]++,c().b[15][0]++,c().b[14][1]++,c().s[35]++,C=n}else c().b[13][1]++}else c().b[10][1]++;c().s[36]++,EC.parseMessage(C)}else{c().b[8][1]++;const e=(c().s[37]++,C.getChild("result"));if(c().s[38]++,e){c().b[16][0]++;const n=(c().s[39]++,e.getChild("forwarded")),t=(c().s[40]++,n.getChild("message"));c().s[41]++,EC.parseMessage(t)}else c().b[16][1]++;c().s[42]++,C.attrs.type==="error"?(c().b[17][0]++,c().s[43]++,EC.parseMessage(C)):c().b[17][1]++}else if(c().b[7][1]++,c().s[44]++,C.is("presence")){c().b[18][0]++;const e=(c().s[45]++,{isMuc:!1,isSelf:!1,type:C.attrs.type});c().s[46]++,e.from=EC.parseJid(C.attrs.from),c().s[47]++,C.attrs.type==="unavailable"?(c().b[19][0]++,c().s[48]++,e.show="off",c().s[49]++,e.show=void 0):(c().b[19][1]++,c().s[50]++,e.show=(c().b[20][0]++,C.getChildText("show")||(c().b[20][1]++,"chat")),c().s[51]++,e.status=C.getChildText("status"));const n=(c().s[52]++,C.getChild("x",sC.MUC_USER));c().s[53]++,n?(c().b[21][0]++,c().s[54]++,e.isMuc=!0,c().s[55]++,n.getChildren("item").map(t=>{c().f[6]++,c().s[56]++,t.attrs.role?(c().b[22][0]++,c().s[57]++,e.mucRole=t.attrs.role):c().b[22][1]++,c().s[58]++,t.attrs.affiliation?(c().b[23][0]++,c().s[59]++,e.mucAffiliation=t.attrs.affiliation):c().b[23][1]++,c().s[60]++,t.attrs.jid?(c().b[24][0]++,c().s[61]++,e.mucJid=t.attrs.jid):c().b[24][1]++}),c().s[62]++,n.getChildren("status").map(t=>{c().f[7]++,c().s[63]++,t.attrs.code==="110"?(c().b[25][0]++,c().s[64]++,e.isSelf=!0):c().b[25][1]++}),c().s[65]++,n.getChildren("status").map(t=>{c().f[8]++,c().s[66]++,t.attrs.code==="201"?(c().b[26][0]++,c().s[67]++,EC.callbacks.mucCreated.forEach(i=>(c().f[9]++,c().s[68]++,i(e)))):c().b[26][1]++})):c().b[21][1]++,c().s[69]++,c().b[28][0]++,c().b[27][1]++,c().s[71]++,EC.callbacks.presence.forEach(t=>(c().f[10]++,c().s[72]++,t(e)))}else c().b[18][1]++}parseMessage(C){c().f[11]++;const e=(c().s[73]++,{}),n=(c().s[74]++,C.getChild("body"));if(c().s[75]++,n){c().b[29][0]++,c().s[76]++,c().b[31][0]++,c().b[30][1]++,c().s[78]++,e.body=n.getText(),c().s[79]++,e.from=EC.parseJid(C.attrs.from),c().s[80]++,e.to=EC.parseJid((c().b[32][0]++,C.attrs.to||(c().b[32][1]++,EC.jid))),c().s[81]++,e.id=C.attrs.id,c().s[82]++,e.type=C.attrs.type;const l=(c().s[83]++,C.getChild("stanza-id"));c().s[84]++,l?(c().b[33][0]++,c().s[85]++,e.stanzaId=l.attrs.id):c().b[33][1]++;const a=(c().s[86]++,C.getChildren("x"));c().s[87]++,a.length>0?(c().b[34][0]++,c().s[88]++,a.forEach(p=>{c().f[12]++,c().s[89]++,c().b[36][0]++,p.attrs&&(c().b[36][1]++,p.attrs.xmlns===sC.OUT_OF_BAND_DATA)?(c().b[35][0]++,c().s[90]++,e.links?c().b[37][1]++:(c().b[37][0]++,c().s[91]++,e.links=[]),c().s[92]++,e.links.push({url:p.getChildText("url")})):c().b[35][1]++})):c().b[34][1]++;const r=(c().s[93]++,C.parent);if(c().s[94]++,c().b[39][0]++,r&&(c().b[39][1]++,r.name==="forwarded")){c().b[38][0]++;const p=(c().s[95]++,r.getChild("delay"));c().s[96]++,e.delay=p?(c().b[40][0]++,p.attrs.stamp):(c().b[40][1]++,null)}else{c().b[38][1]++;const p=(c().s[97]++,C.getChild("delay"));c().s[98]++,p?(c().b[41][0]++,c().s[99]++,e.delay=p?(c().b[42][0]++,p.attrs.stamp):(c().b[42][1]++,null)):c().b[41][1]++}c().s[100]++,e.delay?c().b[43][1]++:(c().b[43][0]++,c().s[101]++,e.delay=new Date().toISOString()),c().s[102]++,EC.callbacks.chat.forEach(p=>(c().f[13]++,c().s[103]++,p(e)))}else c().b[29][1]++;const t=(c().s[104]++,C.getChildrenByFilter(l=>(c().f[14]++,c().s[105]++,c().b[44][0]++,l.attrs&&(c().b[44][1]++,l.attrs.xmlns===sC.MESSAGE_FASTENING))));if(c().s[106]++,t.length>0){c().b[45][0]++;const l=(c().s[107]++,t[0].getChildrenByFilter(a=>(c().f[15]++,c().s[108]++,c().b[46][0]++,a.attrs&&(c().b[46][1]++,a.attrs.xmlns===sC.MESSAGE_MODERATION))));if(c().s[109]++,l.length>0){c().b[47][0]++;const a=(c().s[110]++,l[0].getChildrenByFilter(r=>(c().f[16]++,c().s[111]++,c().b[48][0]++,r.attrs&&(c().b[48][1]++,r.attrs.xmlns===sC.MESSAGE_RETRACTED))));if(c().s[112]++,a.length>0){c().b[49][0]++;const r=(c().s[113]++,l[0].getChild("reason")),p=(c().s[114]++,{stanzaId:t[0].attrs.id,from:C.attrs.from,reason:r?(c().b[50][0]++,r.getText()):(c().b[50][1]++,null),by:this.parseJid(l[0].attrs.by)});c().s[115]++,EC.callbacks.messageRetracted.forEach(d=>(c().f[17]++,c().s[116]++,d(p)))}else c().b[49][1]++}else c().b[47][1]++}else c().b[45][1]++;const i=(c().s[117]++,C.getChild("subject"));if(c().s[118]++,i){c().b[51][0]++;const l=(c().s[119]++,{from:EC.parseJid(C.attrs.from),subject:i.getText()});c().s[120]++,EC.callbacks.subjectChange.forEach(a=>(c().f[18]++,c().s[121]++,a(l)))}else c().b[51][1]++;const s=(c().s[122]++,C.getChild("error"));if(c().s[123]++,s){c().b[52][0]++;const l=(c().s[124]++,{messageId:C.attrs.id,type:s.attrs.type,message:s.getChildrenByFilter(a=>(c().f[19]++,c().s[125]++,c().b[53][0]++,a.attrs&&(c().b[53][1]++,a.attrs.xmlns===sC.STANZA_ERROR))).map(a=>(c().f[20]++,c().s[126]++,a.name)).join(", ")});c().s[127]++,EC.callbacks.messageSentError.forEach(a=>(c().f[21]++,c().s[128]++,a(l)))}else c().b[52][1]++;const o=(c().s[129]++,C.getChildrenByFilter(l=>(c().f[22]++,c().s[130]++,c().b[54][0]++,l.attrs&&(c().b[54][1]++,l.attrs.xmlns===sC.CHAT_STATE))));if(c().s[131]++,o.length>0){c().b[55][0]++;const l=(c().s[132]++,{jid:EC.parseJid(C.attrs.from),type:C.attrs.type,chatState:o[0].getName()});c().s[133]++,EC.callbacks.chatState.forEach(a=>(c().f[23]++,c().s[134]++,a(l)))}else c().b[55][1]++;c().s[135]++,c().b[57][0]++,c().b[56][1]++}async connect(){return c().f[24]++,c().s[137]++,this.xmpp.status==="offline"?(c().b[58][0]++,c().s[138]++,this.jid=this.parseJid(await this.xmpp.start()),c().s[139]++,EC.callbacks.authenticated.forEach(C=>(c().f[25]++,c().s[140]++,C(this.jid)))):c().b[58][1]++,c().s[141]++,this.jid}async disconnect(){c().f[26]++,c().s[142]++,this.xmpp.stop()}on(C,e){if(c().f[27]++,c().s[143]++,c().b[60][0]++,c().b[59][1]++,c().s[145]++,this.callbacks[C]){c().b[61][0]++,c().s[146]++,this.callbacks[C].push(e),c().s[147]++;return}else c().b[61][1]++;c().s[148]++,this.xmpp.on(C,e)}async getRoster(C){c().f[28]++;const e=(c().s[149]++,kA("iq",{type:"get"},kA("query",{xmlns:sC.ROSTER,ver:C}))),n=(c().s[150]++,await this.xmpp.iqCaller.request(e));return c().s[151]++,n.getChild("query").getChildren("item").map(t=>(c().f[29]++,c().s[152]++,{...t.attrs,groups:t.getChildren("group").map(i=>(c().f[30]++,c().s[153]++,i.text()))}))}async sendPresence(C,e,n){c().f[31]++;const t=(c().s[154]++,kA("presence",{to:n},kA("show",{},C),e?(c().b[62][0]++,kA("status",{},e)):(c().b[62][1]++,null)));c().s[155]++,await this.xmpp.send(t)}async sendChatState(C,e,n){c().f[32]++,c().s[156]++,c().b[63][1]++;const t=(c().s[158]++,["active","composing","paused","inactive","gone"]);if(c().s[159]++,t.includes(n))c().b[64][1]++;else{c().b[64][0]++,c().s[160]++;return}c().s[161]++,await this.xmpp.send(kA("message",{type:e,to:C,from:this.jid.full},kA(n,{xmlns:sC.CHAT_STATE})))}async sendMessage(C,e,n,t=(c().b[65][0]++,void 0)){c().f[33]++;const i=(c().s[162]++,Am());c().s[163]++,await this.xmpp.send(kA("message",{type:e,to:C,from:this.jid.full,id:i},kA("body",{},t?(c().b[66][0]++,t):(c().b[66][1]++,n)),(c().b[67][0]++,kA("active",{xmlns:sC.CHAT_STATE})),t?(c().b[68][0]++,kA("x",{xmlns:sC.OUT_OF_BAND_DATA},kA("url",{},t))):(c().b[68][1]++,null),kA("origin-id",{xmlns:sC.UNIQUE_ID,id:i})));const s=(c().s[164]++,{type:e,to:this.parseJid(C),from:this.jid,id:i,body:n,delay:new Date().toISOString()});c().s[165]++,t?(c().b[69][0]++,c().s[166]++,s.links=[{url:t}]):c().b[69][1]++,c().s[167]++,c().b[71][0]++,c().b[70][1]++,c().s[169]++,EC.callbacks.messageSent.forEach(o=>(c().f[34]++,c().s[170]++,o(s)))}async enableCarbons(){c().f[35]++;const C=(c().s[171]++,kA("iq",{type:"set"},kA("enable",{xmlns:sC.CARBONS}))),e=(c().s[172]++,await this.xmpp.iqCaller.request(C));return c().s[173]++,e.attrs.type==="result"}async getBookmarks(){c().f[36]++;const C=(c().s[174]++,kA("iq",{type:"get"},kA("query",{xmlns:sC.PRIVATE},kA("storage",{xmlns:sC.BOOKMARKS})))),e=(c().s[175]++,await this.xmpp.iqCaller.request(C)),n=(c().s[176]++,[]);return c().s[177]++,e.getChildren("query").forEach(t=>(c().f[37]++,c().s[178]++,t.getChildren("storage").forEach(i=>(c().f[38]++,c().s[179]++,i.getChildren("conference").forEach(s=>{c().f[39]++;const o=(c().s[180]++,s.attrs);c().s[181]++,s.children?(c().b[72][0]++,c().s[182]++,s.children.forEach(r=>{c().f[40]++,c().s[183]++,o[r.name]=r.children[0]})):c().b[72][1]++,c().s[184]++,typeof o.autojoin!="boolean"?(c().b[73][0]++,c().s[185]++,o.autojoin=o.autojoin==="true"):c().b[73][1]++;const l=(c().s[186]++,s.getChildText("nick"));c().s[187]++,l?(c().b[74][0]++,c().s[188]++,o.nick=l):c().b[74][1]++;const a=(c().s[189]++,s.getChildText("password"));c().s[190]++,a?(c().b[75][0]++,c().s[191]++,o.password=a):c().b[75][1]++,c().s[192]++,n.push(o)}))))),c().s[193]++,n}async setBookmarks(C){c().f[41]++;const e=(c().s[194]++,kA("iq",{type:"set"},kA("query",{xmlns:sC.PRIVATE},kA("storage",{xmlns:sC.BOOKMARKS},C.map(n=>(c().f[42]++,c().s[195]++,kA("conference",{jid:n.jid,autojoin:n.autojoin,name:n.name},n.nick?(c().b[76][0]++,kA("nick",{},n.nick)):(c().b[76][1]++,null),n.password?(c().b[77][0]++,kA("password",{},n.password)):(c().b[77][1]++,null))))))));c().s[196]++,await this.xmpp.iqCaller.request(e)}async addBookmark(C){c().f[43]++;const e=(c().s[197]++,await this.getBookmarks());c().s[198]++,e.push({jid:C.jid,autojoin:C.autojoin,name:C.name,nick:C.nick,password:C.password}),c().s[199]++,await this.setBookmarks(e)}async removeBookmark(C){c().f[44]++;const e=(c().s[200]++,(await this.getBookmarks()).filter(n=>(c().f[45]++,c().s[201]++,n.jid!==C)));c().s[202]++,await this.setBookmarks(e)}async getDiscoInfo(C){if(c().f[46]++,c().s[203]++,C===void 0?(c().b[78][0]++,c().s[204]++,C=this.jid.domain):c().b[78][1]++,c().s[205]++,Object.hasOwnProperty.call(jl,C))return c().b[79][0]++,c().s[206]++,jl[C];c().b[79][1]++;const e=(c().s[207]++,kA("iq",{type:"get",from:EC.jid.full,to:C},kA("query",{xmlns:sC.DISCO_INFO}))),n=(c().s[208]++,await this.xmpp.iqCaller.request(e)),t=(c().s[209]++,{identities:n.getChild("query").getChildren("identity").map(i=>(c().f[47]++,c().s[210]++,i.attrs)),features:n.getChild("query").getChildren("feature").map(i=>(c().f[48]++,c().s[211]++,i.attrs.var)),extensions:n.getChild("query").getChildren("x").map(i=>(c().f[49]++,c().s[212]++,{fields:i.getChildren("field").map(s=>(c().f[50]++,c().s[213]++,{name:s.attrs.var,label:s.attrs.label,type:s.attrs.type,value:s.getChildText("value")}))}))});return c().s[214]++,c().b[81][0]++,c().b[80][1]++,c().s[216]++,jl[C]=t,c().s[217]++,t}async getDiscoItems(C){c().f[51]++,c().s[218]++,C===void 0?(c().b[82][0]++,c().s[219]++,C=this.jid.domain):c().b[82][1]++;const e=(c().s[220]++,kA("iq",{type:"get",from:EC.jid.full,to:C},kA("query",{xmlns:sC.DISCO_ITEMS}))),n=(c().s[221]++,await this.xmpp.iqCaller.request(e));return c().s[222]++,c().b[84][0]++,c().b[83][1]++,c().s[224]++,{items:n.getChild("query").getChildren("item").map(t=>(c().f[52]++,c().s[225]++,t.attrs))}}async getUploadService(){c().f[53]++,c().s[226]++,this.uploadService=this.jid.domain;const C=(c().s[227]++,await this.getDiscoInfo());let e=(c().s[228]++,this.getMaxFileSize(C));if(c().s[229]++,e===void 0){c().b[85][0]++;const n=(c().s[230]++,await this.getDiscoItems());c().s[231]++;for(let t=(c().s[232]++,0);t(c().f[55]++,c().s[246]++,t.value)).includes(sC.HTTP_UPLOAD)){c().b[88][0]++;const t=(c().s[247]++,n.fields.filter(i=>(c().f[56]++,c().s[248]++,i.name==="max-file-size")));if(c().s[249]++,t.length>0)return c().b[89][0]++,c().s[250]++,parseInt(t[0].value,10);c().b[89][1]++}else c().b[88][1]++}}else c().b[87][1]++;c().s[251]++}async getUploadSlot(C,e){c().f[57]++,c().s[252]++,c().b[91][0]++,C===void 0||(c().b[91][1]++,C===null)?(c().b[90][0]++,c().s[253]++,C=this.uploadService):c().b[90][1]++;const n=(c().s[254]++,kA("iq",{type:"get",from:EC.jid.full,to:C},kA("request",{xmlns:sC.HTTP_UPLOAD,...e}))),t=(c().s[255]++,await this.xmpp.iqCaller.request(n)),i=(c().s[256]++,{url:t.getChildrenByFilter(o=>(c().f[58]++,c().s[257]++,o.name==="put"),!0)[0].attrs.url}),s=(c().s[258]++,t.getChildrenByFilter(o=>(c().f[59]++,c().s[259]++,o.name==="get"),!0)[0].attrs.url);return c().s[260]++,{upload:i,download:s}}getVCardAttributes(){return c().f[60]++,c().s[261]++,[{id:"PHOTO",label:"",placeholder:"",type:"avatar"},{id:"FN",label:"Full name",placeholder:"John Doe",type:"input"},{id:"NICKNAME",label:"Nickname",placeholder:"Jo",type:"input"},{id:"URL",label:"URL",placeholder:"https://mywebsite.ltd",type:"input"},{id:"BDAY",label:"Birthday",placeholder:"1986-08-23",type:"input"},{id:"ROLE",label:"Role",placeholder:"Executive",type:"input"},{id:"TITLE",label:"Title",placeholder:"V.P. Research and Development",type:"input"}]}async getVCard(C){c().f[61]++;const e=(c().s[262]++,kA("iq",{type:"get",from:EC.jid.full,to:C},kA("vCard",{xmlns:sC.VCARD}))),n=(c().s[263]++,await this.xmpp.iqCaller.request(e)),t=(c().s[264]++,this.getVCardAttributes().reduce((s,o)=>(c().f[62]++,c().s[265]++,s[o.id]=o,c().s[266]++,s),{})),i=(c().s[267]++,n.getChild("vCard").children.map(s=>{c().f[63]++;const o=(c().s[268]++,{name:s.name}),l=(c().s[269]++,t[s.name]?(c().b[92][0]++,t[s.name].type):(c().b[92][1]++,null));switch(c().s[270]++,l){case"avatar":c().b[93][0]++,c().s[271]++,o.data=s.getChild("BINVAL")?(c().b[94][0]++,s.getChild("BINVAL").children[0]):(c().b[94][1]++,null),c().s[272]++,o.mediaType=s.getChild("TYPE")?(c().b[95][0]++,s.getChild("TYPE").children[0]):(c().b[95][1]++,"image/png"),c().s[273]++;break;case"input":c().b[93][1]++,c().s[274]++,o.value=s.getText(),c().s[275]++;break;default:c().b[93][2]++,c().s[276]++,Object.assign(o,s),c().s[277]++;break}return c().s[278]++,o}));return c().s[279]++,{records:i}}async setVCard(C){c().f[64]++;const e=(c().s[280]++,kA("iq",{type:"get",from:EC.jid.full},kA("vCard",{xmlns:sC.VCARD}))),n=(c().s[281]++,(await this.xmpp.iqCaller.request(e)).getChild("vCard"));let t=(c().s[282]++,null),i=(c().s[283]++,null);if(c().s[284]++,C.PHOTO){c().b[96][0]++;const r=(c().s[285]++,C.PHOTO.split(","));c().s[286]++,t=/data:(.*);base64/.exec(r[0])[1],c().s[287]++,i=r[1]}else c().b[96][1]++;const s=(c().s[288]++,[kA("PHOTO",{},kA("TYPE",{},t),kA("BINVAL",{},i)),...this.getVCardAttributes().filter(r=>(c().f[65]++,c().s[289]++,r.id!=="PHOTO")).map(r=>(c().f[66]++,c().s[290]++,kA(r.id,{},C[r.id])))]),o=(c().s[291]++,this.getVCardAttributes().map(r=>(c().f[67]++,c().s[292]++,r.id)));c().s[293]++,n.children=n.children.filter(r=>(c().f[68]++,c().s[294]++,!o.includes(r.name))).concat(s);const l=(c().s[295]++,kA("iq",{type:"set"},n)),a=(c().s[296]++,await this.xmpp.iqCaller.request(l));if(c().s[297]++,a.attrs.type!=="result")throw c().b[97][0]++,c().s[298]++,new Error("Error during vCard update");c().b[97][1]++}async searchHistory(C,e,n=(c().b[98][0]++,50)){c().f[69]++;const t=(c().s[299]++,kA("iq",{type:"set"},kA("query",{xmlns:sC.MAM},kA("x",{xmlns:sC.FORM,type:"submit"},kA("field",{var:"FORM_TYPE",type:"hidden"},kA("value",{},sC.MAM)),kA("field",{var:"with"},kA("value",{},C))),kA("set",{xmlns:sC.RSM},kA("max",{},n),kA("before",{},e))))),i=(c().s[300]++,await this.xmpp.iqCaller.request(t)),s=(c().s[301]++,{});if(c().s[302]++,i.attrs.type==="result"){c().b[99][0]++;const o=(c().s[303]++,i.getChild("fin").getChild("set"));c().s[304]++,s.first=o.getChildText("first"),c().s[305]++,s.last=o.getChildText("last"),c().s[306]++,s.count=o.getChildText("count")}else c().b[99][1]++;return c().s[307]++,{paging:s}}async joinRoom(C,e,n){c().f[70]++,c().s[308]++,e===null?(c().b[100][0]++,c().s[309]++,e=EC.jid.local):c().b[100][1]++;const t=(c().s[310]++,kA("presence",{to:`${C}/${e}`},kA("x",{xmlns:sC.MUC},(c().b[102][0]++,n&&(c().b[102][1]++,n.muc)&&(c().b[102][2]++,n.muc.password)?(c().b[101][0]++,kA("password",null,n.muc.password)):(c().b[101][1]++,null))))),i=(c().s[311]++,2e3);let s=(c().s[312]++,null);const o=(c().s[313]++,new Promise((a,r)=>{c().f[71]++,c().s[314]++,s=setTimeout(()=>{c().f[72]++,c().s[315]++,clearTimeout(s),c().s[316]++,r(new Error("Server unreachable"))},i)})),l=(c().s[317]++,new Promise((a,r)=>{c().f[73]++;function p(d){if(c().f[74]++,c().s[318]++,c().b[104][0]++,c().b[103][1]++,c().s[320]++,c().b[106][0]++,d.is("presence")&&(c().b[106][1]++,d.attrs.from===`${C}/${e}`)){c().b[105][0]++;const u=(c().s[321]++,d.getChild("x",sC.MUC_USER));if(c().s[322]++,c().b[108][0]++,c().b[107][1]++,c().s[324]++,u)if(c().b[109][0]++,c().s[325]++,u.getChildren("status").some(g=>(c().f[75]++,c().s[326]++,g.attrs.code==="110"))){c().b[110][0]++,c().s[327]++,this.removeListener("stanza",p),c().s[328]++,clearTimeout(s),c().s[329]++,a(d),c().s[330]++;return}else c().b[110][1]++;else c().b[109][1]++;c().s[331]++,d.attrs.type==="error"?(c().b[111][0]++,c().s[332]++,this.removeListener("stanza",p),c().s[333]++,clearTimeout(s),c().s[334]++,r(zy.fromElement(d.getChild("error")))):c().b[111][1]++}else c().b[105][1]++}c().s[335]++,this.xmpp.on("stanza",p),c().s[336]++,this.xmpp.send(t).catch(r)}));return c().s[337]++,Promise.race([l,o])}async leaveRoom(C,e){c().f[76]++;const n=(c().s[338]++,kA("presence",{to:`${C}/${e}`,type:"unavailable"}));c().s[339]++,await this.xmpp.send(n)}async getRoomConfig(C){c().f[77]++;const e=(c().s[340]++,kA("iq",{type:"get",to:C},kA("query",{xmlns:sC.MUC_OWNER}))),n=(c().s[341]++,await this.xmpp.iqCaller.request(e)),t=(c().s[342]++,n.getChild("query").getChild("x")),i=(c().s[343]++,{title:t.getChildText("title"),instructions:t.getChildText("instructions"),fields:t.getChildren("field").map(s=>{c().f[78]++;const o=(c().s[344]++,{name:s.attrs.var,label:s.attrs.label,type:s.attrs.type,value:s.getChildText("value"),description:s.getChildText("desc")});switch(c().s[345]++,o.type){case"boolean":c().b[112][0]++,c().s[346]++,o.value=o.value==="1",c().s[347]++;break;case"list-single":c().b[112][1]++,c().s[348]++,o.options=s.getChildren("option").map(l=>(c().f[79]++,c().s[349]++,{value:l.getChildText("value"),label:l.attrs.label})),c().s[350]++;break}return c().s[351]++,o})});return c().s[352]++,c().b[114][0]++,c().b[113][1]++,c().s[354]++,i}async configureRoom(C,e){c().f[80]++;const n=(c().s[355]++,kA("iq",{type:"set",to:C},kA("query",{xmlns:sC.MUC_OWNER},kA("x",{xmlns:sC.FORM,type:"submit"},e.fields.map(t=>(c().f[81]++,c().s[356]++,kA("field",{var:t.name},kA("value",{},t.type==="boolean"?(c().b[115][0]++,t.value?(c().b[116][0]++,"1"):(c().b[116][1]++,"0")):(c().b[115][1]++,t.value)))))))));c().s[357]++,await this.xmpp.iqCaller.request(n)}}function e0(){var A="/home/runner/work/xmpp-web/xmpp-web/src/assets/defaultAvatar.js",C="02b1f33c27dcbc2e9525003b82f024d61859d70e",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/assets/defaultAvatar.js",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/assets/defaultAvatar.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"02b1f33c27dcbc2e9525003b82f024d61859d70e"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return e0=function(){return s},s}e0();const Is='data:image/svg+xml,%3Csvg width="334.26" height="334.26" enable-background="new 0 0 351.333 351.333" version="1.1" viewBox="0 0 334.26 334.26" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"%3E%3Crect width="334.26" height="334.26" rx="0" ry="0" fill="%23edeef2" style="paint-order:markers stroke fill"/%3E%3Cpath d="m100.08 147.42s-6.6224-89.335 52.581-89.102c0 0 10.703-6.0401 50.676 3.0283 0 0 43.286 11.448 33.836 85.726 0 0 3.604 7.3651 3.565 19.255-0.024 7.19-0.43831 21.357-11.744 30.151 0 0-2.5163 23.071-23.849 40.404 0 0-4.9206 23.395 2.667 30 34.161 22.063 104.19 17.426 104.95 67.379h-295.53c0.48993-50.872 87.364-50.653 108.01-69.05 0 0 6.0062-10.573 2.7826-28.53 0 0-20.492-23.204-20.638-41.944 0 0-11.264-8.356-11.887-23.424-0.25-6.058-1.0857-16.903 4.5823-23.894z" fill="%237e8dc8"/%3E%3C/svg%3E%0A';function m(){var A="/home/runner/work/xmpp-web/xmpp-web/src/services/XmppSocket.js",C="f70b81af5d5520e89466dc2c4e43d5e04155e896",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/services/XmppSocket.js",statementMap:{0:{start:{line:4,column:19},end:{line:4,column:43}},1:{start:{line:5,column:17},end:{line:5,column:39}},2:{start:{line:6,column:22},end:{line:6,column:49}},3:{start:{line:7,column:19},end:{line:7,column:43}},4:{start:{line:8,column:23},end:{line:8,column:51}},5:{start:{line:11,column:15},end:{line:11,column:55}},6:{start:{line:12,column:2},end:{line:15,column:3}},7:{start:{line:13,column:4},end:{line:13,column:76}},8:{start:{line:13,column:51},end:{line:13,column:74}},9:{start:{line:14,column:4},end:{line:14,column:10}},10:{start:{line:16,column:2},end:{line:20,column:3}},11:{start:{line:17,column:4},end:{line:17,column:26}},12:{start:{line:19,column:4},end:{line:19,column:25}},13:{start:{line:37,column:4},end:{line:37,column:20}},14:{start:{line:38,column:4},end:{line:38,column:23}},15:{start:{line:39,column:4},end:{line:39,column:19}},16:{start:{line:40,column:4},end:{line:40,column:26}},17:{start:{line:41,column:4},end:{line:41,column:21}},18:{start:{line:44,column:4},end:{line:49,column:5}},19:{start:{line:45,column:6},end:{line:45,column:30}},20:{start:{line:47,column:6},end:{line:47,column:29}},21:{start:{line:48,column:6},end:{line:48,column:18}},22:{start:{line:52,column:21},end:{line:52,column:35}},23:{start:{line:53,column:4},end:{line:56,column:5}},24:{start:{line:54,column:6},end:{line:54,column:23}},25:{start:{line:55,column:6},end:{line:55,column:26}},26:{start:{line:57,column:4},end:{line:59,column:5}},27:{start:{line:58,column:6},end:{line:58,column:28}},28:{start:{line:61,column:4},end:{line:61,column:18}},29:{start:{line:64,column:4},end:{line:66,column:5}},30:{start:{line:65,column:6},end:{line:65,column:53}},31:{start:{line:69,column:4},end:{line:75,column:6}},32:{start:{line:81,column:28},end:{line:81,column:50}},33:{start:{line:82,column:20},end:{line:82,column:24}},34:{start:{line:83,column:27},end:{line:88,column:6}},35:{start:{line:84,column:6},end:{line:87,column:25}},36:{start:{line:85,column:8},end:{line:85,column:31}},37:{start:{line:86,column:8},end:{line:86,column:47}},38:{start:{line:90,column:27},end:{line:121,column:6}},39:{start:{line:93,column:6},end:{line:95,column:8}},40:{start:{line:94,column:8},end:{line:94,column:50}},41:{start:{line:98,column:6},end:{line:110,column:8}},42:{start:{line:99,column:8},end:{line:103,column:9}},43:{start:{line:100,column:10},end:{line:100,column:51}},44:{start:{line:101,column:10},end:{line:101,column:47}},45:{start:{line:102,column:10},end:{line:102,column:44}},46:{start:{line:105,column:8},end:{line:105,column:31}},47:{start:{line:106,column:8},end:{line:106,column:26}},48:{start:{line:107,column:8},end:{line:107,column:43}},49:{start:{line:108,column:8},end:{line:108,column:21}},50:{start:{line:109,column:8},end:{line:109,column:17}},51:{start:{line:112,column:6},end:{line:120,column:10}},52:{start:{line:115,column:10},end:{line:118,column:11}},53:{start:{line:116,column:12},end:{line:116,column:35}},54:{start:{line:117,column:12},end:{line:117,column:62}},55:{start:{line:119,column:10},end:{line:119,column:49}},56:{start:{line:123,column:4},end:{line:126,column:6}},57:{start:{line:133,column:6},end:{line:137,column:7}},58:{start:{line:134,column:8},end:{line:136,column:9}},59:{start:{line:134,column:41},end:{line:134,column:66}},60:{start:{line:135,column:10},end:{line:135,column:27}},61:{start:{line:138,column:6},end:{line:141,column:8}},62:{start:{line:146,column:4},end:{line:149,column:6}},63:{start:{line:147,column:6},end:{line:147,column:33}},64:{start:{line:148,column:6},end:{line:148,column:41}},65:{start:{line:150,column:4},end:{line:157,column:6}},66:{start:{line:151,column:6},end:{line:156,column:7}},67:{start:{line:152,column:8},end:{line:155,column:9}},68:{start:{line:153,column:10},end:{line:153,column:51}},69:{start:{line:154,column:10},end:{line:154,column:46}},70:{start:{line:160,column:4},end:{line:167,column:108}},71:{start:{line:162,column:8},end:{line:162,column:51}},72:{start:{line:165,column:8},end:{line:165,column:34}},73:{start:{line:167,column:30},end:{line:167,column:107}},74:{start:{line:169,column:4},end:{line:170,column:123}},75:{start:{line:170,column:33},end:{line:170,column:122}},76:{start:{line:173,column:4},end:{line:174,column:81}},77:{start:{line:174,column:24},end:{line:174,column:80}},78:{start:{line:177,column:4},end:{line:202,column:87}},79:{start:{line:179,column:8},end:{line:190,column:10}},80:{start:{line:180,column:23},end:{line:180,column:84}},81:{start:{line:181,column:10},end:{line:181,column:34}},82:{start:{line:182,column:10},end:{line:182,column:35}},83:{start:{line:183,column:10},end:{line:183,column:43}},84:{start:{line:185,column:10},end:{line:185,column:48}},85:{start:{line:186,column:10},end:{line:189,column:11}},86:{start:{line:188,column:12},end:{line:188,column:87}},87:{start:{line:192,column:8},end:{line:200,column:10}},88:{start:{line:193,column:10},end:{line:199,column:106}},89:{start:{line:195,column:27},end:{line:195,column:92}},90:{start:{line:196,column:14},end:{line:196,column:38}},91:{start:{line:197,column:14},end:{line:197,column:52}},92:{start:{line:199,column:30},end:{line:199,column:105}},93:{start:{line:202,column:24},end:{line:202,column:86}},94:{start:{line:205,column:4},end:{line:213,column:8}},95:{start:{line:207,column:8},end:{line:209,column:9}},96:{start:{line:208,column:10},end:{line:208,column:83}},97:{start:{line:212,column:8},end:{line:212,column:35}},98:{start:{line:216,column:4},end:{line:218,column:6}},99:{start:{line:217,column:6},end:{line:217,column:63}},100:{start:{line:221,column:4},end:{line:227,column:6}},101:{start:{line:222,column:6},end:{line:225,column:7}},102:{start:{line:224,column:8},end:{line:224,column:14}},103:{start:{line:226,column:6},end:{line:226,column:47}},104:{start:{line:230,column:4},end:{line:232,column:6}},105:{start:{line:231,column:6},end:{line:231,column:49}},106:{start:{line:235,column:4},end:{line:248,column:6}},107:{start:{line:236,column:17},end:{line:238,column:7}},108:{start:{line:239,column:6},end:{line:239,column:44}},109:{start:{line:241,column:6},end:{line:247,column:7}},110:{start:{line:242,column:35},end:{line:242,column:75}},111:{start:{line:243,column:8},end:{line:243,column:73}},112:{start:{line:244,column:8},end:{line:244,column:46}},113:{start:{line:246,column:8},end:{line:246,column:79}},114:{start:{line:251,column:4},end:{line:291,column:6}},115:{start:{line:252,column:22},end:{line:252,column:35}},116:{start:{line:253,column:6},end:{line:260,column:7}},117:{start:{line:255,column:8},end:{line:258,column:9}},118:{start:{line:257,column:10},end:{line:257,column:56}},119:{start:{line:259,column:8},end:{line:259,column:14}},120:{start:{line:262,column:6},end:{line:288,column:7}},121:{start:{line:263,column:8},end:{line:266,column:9}},122:{start:{line:265,column:10},end:{line:265,column:16}},123:{start:{line:267,column:8},end:{line:273,column:9}},124:{start:{line:268,column:10},end:{line:272,column:11}},125:{start:{line:269,column:12},end:{line:269,column:62}},126:{start:{line:271,column:12},end:{line:271,column:59}},127:{start:{line:274,column:8},end:{line:281,column:9}},128:{start:{line:276,column:10},end:{line:279,column:12}},129:{start:{line:280,column:10},end:{line:280,column:16}},130:{start:{line:282,column:8},end:{line:286,column:10}},131:{start:{line:287,column:8},end:{line:287,column:14}},132:{start:{line:290,column:6},end:{line:290,column:117}},133:{start:{line:294,column:4},end:{line:310,column:6}},134:{start:{line:295,column:20},end:{line:295,column:152}},135:{start:{line:295,column:72},end:{line:295,column:151}},136:{start:{line:296,column:6},end:{line:299,column:7}},137:{start:{line:298,column:8},end:{line:298,column:14}},138:{start:{line:300,column:6},end:{line:309,column:8}},139:{start:{line:313,column:4},end:{line:317,column:6}},140:{start:{line:314,column:6},end:{line:316,column:7}},141:{start:{line:315,column:8},end:{line:315,column:120}},142:{start:{line:320,column:4},end:{line:326,column:6}},143:{start:{line:321,column:6},end:{line:325,column:7}},144:{start:{line:323,column:10},end:{line:323,column:87}},145:{start:{line:324,column:10},end:{line:324,column:15}},146:{start:{line:330,column:4},end:{line:337,column:5}},147:{start:{line:331,column:6},end:{line:336,column:7}},148:{start:{line:332,column:8},end:{line:332,column:38}},149:{start:{line:333,column:8},end:{line:333,column:35}},150:{start:{line:335,column:8},end:{line:335,column:74}},151:{start:{line:341,column:4},end:{line:341,column:77}},152:{start:{line:345,column:4},end:{line:345,column:73}},153:{start:{line:349,column:4},end:{line:349,column:80}},154:{start:{line:353,column:17},end:{line:369,column:5}},155:{start:{line:370,column:4},end:{line:448,column:5}},156:{start:{line:372,column:6},end:{line:378,column:7}},157:{start:{line:377,column:8},end:{line:377,column:57}},158:{start:{line:380,column:6},end:{line:401,column:7}},159:{start:{line:384,column:23},end:{line:384,column:62}},160:{start:{line:386,column:28},end:{line:386,column:93}},161:{start:{line:386,column:51},end:{line:386,column:92}},162:{start:{line:387,column:8},end:{line:389,column:9}},163:{start:{line:388,column:10},end:{line:388,column:46}},164:{start:{line:391,column:21},end:{line:391,column:79}},165:{start:{line:391,column:44},end:{line:391,column:78}},166:{start:{line:392,column:8},end:{line:394,column:9}},167:{start:{line:393,column:10},end:{line:393,column:32}},168:{start:{line:396,column:31},end:{line:396,column:94}},169:{start:{line:396,column:54},end:{line:396,column:93}},170:{start:{line:397,column:8},end:{line:400,column:9}},171:{start:{line:398,column:10},end:{line:398,column:62}},172:{start:{line:399,column:10},end:{line:399,column:103}},173:{start:{line:403,column:6},end:{line:405,column:7}},174:{start:{line:404,column:8},end:{line:404,column:28}},175:{start:{line:406,column:6},end:{line:408,column:7}},176:{start:{line:407,column:8},end:{line:407,column:29}},177:{start:{line:410,column:6},end:{line:412,column:7}},178:{start:{line:411,column:8},end:{line:411,column:32}},179:{start:{line:413,column:6},end:{line:415,column:7}},180:{start:{line:414,column:8},end:{line:414,column:33}},181:{start:{line:417,column:6},end:{line:419,column:7}},182:{start:{line:418,column:8},end:{line:418,column:39}},183:{start:{line:420,column:6},end:{line:422,column:7}},184:{start:{line:421,column:8},end:{line:421,column:40}},185:{start:{line:424,column:6},end:{line:426,column:7}},186:{start:{line:425,column:8},end:{line:425,column:33}},187:{start:{line:427,column:6},end:{line:429,column:7}},188:{start:{line:428,column:8},end:{line:428,column:34}},189:{start:{line:431,column:6},end:{line:433,column:7}},190:{start:{line:432,column:8},end:{line:432,column:31}},191:{start:{line:434,column:6},end:{line:436,column:7}},192:{start:{line:435,column:8},end:{line:435,column:32}},193:{start:{line:438,column:6},end:{line:440,column:7}},194:{start:{line:439,column:8},end:{line:439,column:31}},195:{start:{line:441,column:6},end:{line:443,column:7}},196:{start:{line:442,column:8},end:{line:442,column:32}},197:{start:{line:445,column:6},end:{line:447,column:7}},198:{start:{line:446,column:8},end:{line:446,column:28}},199:{start:{line:449,column:4},end:{line:449,column:15}},200:{start:{line:453,column:4},end:{line:473,column:5}},201:{start:{line:454,column:18},end:{line:454,column:57}},202:{start:{line:455,column:6},end:{line:457,column:7}},203:{start:{line:456,column:8},end:{line:456,column:40}},204:{start:{line:458,column:6},end:{line:460,column:7}},205:{start:{line:459,column:8},end:{line:459,column:54}},206:{start:{line:461,column:20},end:{line:461,column:51}},207:{start:{line:462,column:6},end:{line:464,column:7}},208:{start:{line:463,column:8},end:{line:463,column:54}},209:{start:{line:465,column:21},end:{line:465,column:76}},210:{start:{line:465,column:52},end:{line:465,column:75}},211:{start:{line:466,column:6},end:{line:470,column:7}},212:{start:{line:467,column:20},end:{line:467,column:73}},213:{start:{line:468,column:8},end:{line:468,column:52}},214:{start:{line:469,column:8},end:{line:469,column:40}},215:{start:{line:472,column:6},end:{line:472,column:71}},216:{start:{line:474,column:4},end:{line:474,column:50}},217:{start:{line:478,column:4},end:{line:500,column:5}},218:{start:{line:479,column:20},end:{line:479,column:48}},219:{start:{line:480,column:6},end:{line:482,column:7}},220:{start:{line:481,column:8},end:{line:481,column:18}},221:{start:{line:483,column:6},end:{line:496,column:14}},222:{start:{line:486,column:24},end:{line:486,column:112}},223:{start:{line:487,column:10},end:{line:490,column:11}},224:{start:{line:494,column:10},end:{line:494,column:35}},225:{start:{line:495,column:10},end:{line:495,column:20}},226:{start:{line:498,column:6},end:{line:498,column:64}},227:{start:{line:499,column:6},end:{line:499,column:15}},228:{start:{line:504,column:4},end:{line:504,column:39}},229:{start:{line:505,column:4},end:{line:507,column:5}},230:{start:{line:506,column:6},end:{line:506,column:74}},231:{start:{line:508,column:4},end:{line:508,column:10}},232:{start:{line:512,column:4},end:{line:521,column:5}},233:{start:{line:514,column:6},end:{line:514,column:51}},234:{start:{line:516,column:6},end:{line:518,column:8}},235:{start:{line:517,column:8},end:{line:517,column:67}},236:{start:{line:520,column:6},end:{line:520,column:74}},237:{start:{line:525,column:4},end:{line:530,column:5}},238:{start:{line:526,column:22},end:{line:526,column:68}},239:{start:{line:527,column:6},end:{line:527,column:27}},240:{start:{line:529,column:6},end:{line:529,column:75}},241:{start:{line:534,column:4},end:{line:539,column:5}},242:{start:{line:535,column:6},end:{line:538,column:7}},243:{start:{line:540,column:4},end:{line:546,column:5}},244:{start:{line:541,column:6},end:{line:545,column:7}},245:{start:{line:542,column:8},end:{line:542,column:24}},246:{start:{line:544,column:8},end:{line:544,column:33}},247:{start:{line:547,column:4},end:{line:565,column:5}},248:{start:{line:548,column:6},end:{line:548,column:49}},249:{start:{line:549,column:6},end:{line:555,column:7}},250:{start:{line:550,column:21},end:{line:550,column:45}},251:{start:{line:551,column:8},end:{line:553,column:9}},252:{start:{line:552,column:10},end:{line:552,column:43}},253:{start:{line:554,column:8},end:{line:554,column:46}},254:{start:{line:556,column:6},end:{line:558,column:7}},255:{start:{line:560,column:6},end:{line:560,column:64}},256:{start:{line:561,column:6},end:{line:564,column:7}},257:{start:{line:569,column:4},end:{line:571,column:5}},258:{start:{line:570,column:6},end:{line:570,column:15}},259:{start:{line:572,column:18},end:{line:572,column:20}},260:{start:{line:575,column:4},end:{line:610,column:5}},261:{start:{line:576,column:37},end:{line:576,column:89}},262:{start:{line:577,column:6},end:{line:580,column:7}},263:{start:{line:578,column:8},end:{line:578,column:47}},264:{start:{line:579,column:8},end:{line:579,column:17}},265:{start:{line:583,column:6},end:{line:607,column:7}},266:{start:{line:584,column:8},end:{line:606,column:9}},267:{start:{line:585,column:41},end:{line:585,column:92}},268:{start:{line:587,column:10},end:{line:603,column:11}},269:{start:{line:589,column:12},end:{line:602,column:13}},270:{start:{line:590,column:42},end:{line:590,column:94}},271:{start:{line:593,column:14},end:{line:599,column:15}},272:{start:{line:594,column:29},end:{line:594,column:65}},273:{start:{line:595,column:16},end:{line:598,column:17}},274:{start:{line:596,column:18},end:{line:596,column:56}},275:{start:{line:597,column:18},end:{line:597,column:34}},276:{start:{line:601,column:14},end:{line:601,column:103}},277:{start:{line:605,column:10},end:{line:605,column:106}},278:{start:{line:609,column:6},end:{line:609,column:85}},279:{start:{line:611,column:4},end:{line:611,column:16}},280:{start:{line:615,column:4},end:{line:619,column:5}},281:{start:{line:616,column:6},end:{line:618,column:7}},282:{start:{line:620,column:4},end:{line:630,column:5}},283:{start:{line:621,column:33},end:{line:621,column:68}},284:{start:{line:622,column:6},end:{line:625,column:7}},285:{start:{line:623,column:21},end:{line:623,column:68}},286:{start:{line:624,column:8},end:{line:624,column:19}},287:{start:{line:627,column:6},end:{line:629,column:7}},288:{start:{line:631,column:4},end:{line:633,column:5}},289:{start:{line:637,column:4},end:{line:656,column:5}},290:{start:{line:638,column:6},end:{line:655,column:7}},291:{start:{line:640,column:10},end:{line:640,column:63}},292:{start:{line:642,column:10},end:{line:642,column:54}},293:{start:{line:644,column:10},end:{line:644,column:43}},294:{start:{line:646,column:10},end:{line:646,column:46}},295:{start:{line:648,column:10},end:{line:648,column:49}},296:{start:{line:650,column:10},end:{line:650,column:67}},297:{start:{line:652,column:10},end:{line:652,column:61}},298:{start:{line:654,column:10},end:{line:654,column:72}},299:{start:{line:657,column:4},end:{line:657,column:32}},300:{start:{line:662,column:4},end:{line:667,column:5}},301:{start:{line:663,column:6},end:{line:663,column:68}},302:{start:{line:665,column:6},end:{line:665,column:75}},303:{start:{line:666,column:6},end:{line:666,column:17}},304:{start:{line:671,column:4},end:{line:704,column:5}},305:{start:{line:672,column:19},end:{line:672,column:51}},306:{start:{line:673,column:6},end:{line:694,column:7}},307:{start:{line:675,column:25},end:{line:679,column:9}},308:{start:{line:680,column:8},end:{line:682,column:9}},309:{start:{line:681,column:10},end:{line:681,column:43}},310:{start:{line:683,column:8},end:{line:687,column:9}},311:{start:{line:684,column:10},end:{line:684,column:30}},312:{start:{line:685,column:15},end:{line:687,column:9}},313:{start:{line:686,column:10},end:{line:686,column:35}},314:{start:{line:688,column:8},end:{line:688,column:47}},315:{start:{line:689,column:8},end:{line:692,column:10}},316:{start:{line:693,column:8},end:{line:693,column:19}},317:{start:{line:696,column:6},end:{line:696,column:43}},318:{start:{line:697,column:6},end:{line:700,column:8}},319:{start:{line:701,column:6},end:{line:701,column:17}},320:{start:{line:703,column:6},end:{line:703,column:18}},321:{start:{line:708,column:4},end:{line:708,column:64}},322:{start:{line:712,column:4},end:{line:712,column:45}},323:{start:{line:716,column:4},end:{line:716,column:51}},324:{start:{line:721,column:4},end:{line:721,column:20}}},fnMap:{0:{name:"logError",decl:{start:{line:10,column:9},end:{line:10,column:17}},loc:{start:{line:10,column:40},end:{line:21,column:1}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:13,column:44},end:{line:13,column:45}},loc:{start:{line:13,column:51},end:{line:13,column:74}},line:13},2:{name:"(anonymous_2)",decl:{start:{line:35,column:2},end:{line:35,column:3}},loc:{start:{line:35,column:64},end:{line:77,column:3}},line:35},3:{name:"(anonymous_3)",decl:{start:{line:80,column:2},end:{line:80,column:3}},loc:{start:{line:80,column:13},end:{line:127,column:3}},line:80},4:{name:"(anonymous_4)",decl:{start:{line:83,column:39},end:{line:83,column:40}},loc:{start:{line:83,column:60},end:{line:88,column:5}},line:83},5:{name:"(anonymous_5)",decl:{start:{line:84,column:29},end:{line:84,column:30}},loc:{start:{line:84,column:35},end:{line:87,column:7}},line:84},6:{name:"(anonymous_6)",decl:{start:{line:90,column:39},end:{line:90,column:40}},loc:{start:{line:90,column:60},end:{line:121,column:5}},line:90},7:{name:"(anonymous_7)",decl:{start:{line:93,column:30},end:{line:93,column:31}},loc:{start:{line:93,column:41},end:{line:95,column:7}},line:93},8:{name:"(anonymous_8)",decl:{start:{line:98,column:38},end:{line:98,column:39}},loc:{start:{line:98,column:47},end:{line:110,column:7}},line:98},9:{name:"(anonymous_9)",decl:{start:{line:113,column:15},end:{line:113,column:16}},loc:{start:{line:113,column:26},end:{line:120,column:9}},line:113},10:{name:"(anonymous_10)",decl:{start:{line:130,column:2},end:{line:130,column:3}},loc:{start:{line:130,column:12},end:{line:327,column:3}},line:130},11:{name:"storeMessage",decl:{start:{line:131,column:13},end:{line:131,column:25}},loc:{start:{line:131,column:54},end:{line:142,column:5}},line:131},12:{name:"(anonymous_12)",decl:{start:{line:134,column:31},end:{line:134,column:32}},loc:{start:{line:134,column:41},end:{line:134,column:66}},line:134},13:{name:"(anonymous_13)",decl:{start:{line:146,column:29},end:{line:146,column:30}},loc:{start:{line:146,column:35},end:{line:149,column:5}},line:146},14:{name:"(anonymous_14)",decl:{start:{line:150,column:29},end:{line:150,column:30}},loc:{start:{line:150,column:41},end:{line:157,column:5}},line:150},15:{name:"(anonymous_15)",decl:{start:{line:161,column:12},end:{line:161,column:13}},loc:{start:{line:161,column:30},end:{line:166,column:7}},line:161},16:{name:"(anonymous_16)",decl:{start:{line:167,column:13},end:{line:167,column:14}},loc:{start:{line:167,column:30},end:{line:167,column:107}},line:167},17:{name:"(anonymous_17)",decl:{start:{line:170,column:13},end:{line:170,column:14}},loc:{start:{line:170,column:33},end:{line:170,column:122}},line:170},18:{name:"(anonymous_18)",decl:{start:{line:174,column:13},end:{line:174,column:14}},loc:{start:{line:174,column:24},end:{line:174,column:80}},line:174},19:{name:"(anonymous_19)",decl:{start:{line:178,column:12},end:{line:178,column:13}},loc:{start:{line:178,column:30},end:{line:201,column:7}},line:178},20:{name:"(anonymous_20)",decl:{start:{line:179,column:29},end:{line:179,column:30}},loc:{start:{line:179,column:43},end:{line:190,column:9}},line:179},21:{name:"(anonymous_21)",decl:{start:{line:192,column:29},end:{line:192,column:30}},loc:{start:{line:192,column:38},end:{line:200,column:9}},line:192},22:{name:"(anonymous_22)",decl:{start:{line:194,column:18},end:{line:194,column:19}},loc:{start:{line:194,column:42},end:{line:198,column:13}},line:194},23:{name:"(anonymous_23)",decl:{start:{line:199,column:19},end:{line:199,column:20}},loc:{start:{line:199,column:30},end:{line:199,column:105}},line:199},24:{name:"(anonymous_24)",decl:{start:{line:202,column:13},end:{line:202,column:14}},loc:{start:{line:202,column:24},end:{line:202,column:86}},line:202},25:{name:"(anonymous_25)",decl:{start:{line:206,column:12},end:{line:206,column:13}},loc:{start:{line:206,column:37},end:{line:210,column:7}},line:206},26:{name:"(anonymous_26)",decl:{start:{line:211,column:13},end:{line:211,column:14}},loc:{start:{line:211,column:24},end:{line:213,column:7}},line:211},27:{name:"(anonymous_27)",decl:{start:{line:216,column:27},end:{line:216,column:28}},loc:{start:{line:216,column:48},end:{line:218,column:5}},line:216},28:{name:"(anonymous_28)",decl:{start:{line:221,column:34},end:{line:221,column:35}},loc:{start:{line:221,column:47},end:{line:227,column:5}},line:221},29:{name:"(anonymous_29)",decl:{start:{line:230,column:32},end:{line:230,column:33}},loc:{start:{line:230,column:45},end:{line:232,column:5}},line:230},30:{name:"(anonymous_30)",decl:{start:{line:235,column:33},end:{line:235,column:34}},loc:{start:{line:235,column:53},end:{line:248,column:5}},line:235},31:{name:"(anonymous_31)",decl:{start:{line:251,column:31},end:{line:251,column:32}},loc:{start:{line:251,column:51},end:{line:291,column:5}},line:251},32:{name:"(anonymous_32)",decl:{start:{line:294,column:39},end:{line:294,column:40}},loc:{start:{line:294,column:54},end:{line:310,column:5}},line:294},33:{name:"(anonymous_33)",decl:{start:{line:295,column:59},end:{line:295,column:60}},loc:{start:{line:295,column:72},end:{line:295,column:151}},line:295},34:{name:"(anonymous_34)",decl:{start:{line:313,column:36},end:{line:313,column:37}},loc:{start:{line:313,column:55},end:{line:317,column:5}},line:313},35:{name:"(anonymous_35)",decl:{start:{line:320,column:39},end:{line:320,column:40}},loc:{start:{line:320,column:50},end:{line:326,column:5}},line:320},36:{name:"(anonymous_36)",decl:{start:{line:329,column:2},end:{line:329,column:3}},loc:{start:{line:329,column:22},end:{line:338,column:3}},line:329},37:{name:"(anonymous_37)",decl:{start:{line:340,column:2},end:{line:340,column:3}},loc:{start:{line:340,column:33},end:{line:342,column:3}},line:340},38:{name:"(anonymous_38)",decl:{start:{line:344,column:2},end:{line:344,column:3}},loc:{start:{line:344,column:38},end:{line:346,column:3}},line:344},39:{name:"(anonymous_39)",decl:{start:{line:348,column:2},end:{line:348,column:3}},loc:{start:{line:348,column:45},end:{line:350,column:3}},line:348},40:{name:"(anonymous_40)",decl:{start:{line:352,column:2},end:{line:352,column:3}},loc:{start:{line:352,column:63},end:{line:450,column:3}},line:352},41:{name:"(anonymous_41)",decl:{start:{line:386,column:40},end:{line:386,column:41}},loc:{start:{line:386,column:51},end:{line:386,column:92}},line:386},42:{name:"(anonymous_42)",decl:{start:{line:391,column:33},end:{line:391,column:34}},loc:{start:{line:391,column:44},end:{line:391,column:78}},line:391},43:{name:"(anonymous_43)",decl:{start:{line:396,column:43},end:{line:396,column:44}},loc:{start:{line:396,column:54},end:{line:396,column:93}},line:396},44:{name:"(anonymous_44)",decl:{start:{line:452,column:2},end:{line:452,column:3}},loc:{start:{line:452,column:27},end:{line:475,column:3}},line:452},45:{name:"(anonymous_45)",decl:{start:{line:465,column:40},end:{line:465,column:41}},loc:{start:{line:465,column:52},end:{line:465,column:75}},line:465},46:{name:"(anonymous_46)",decl:{start:{line:477,column:2},end:{line:477,column:3}},loc:{start:{line:477,column:22},end:{line:501,column:3}},line:477},47:{name:"(anonymous_47)",decl:{start:{line:485,column:13},end:{line:485,column:14}},loc:{start:{line:485,column:21},end:{line:491,column:9}},line:485},48:{name:"(anonymous_48)",decl:{start:{line:493,column:16},end:{line:493,column:17}},loc:{start:{line:493,column:30},end:{line:496,column:9}},line:493},49:{name:"(anonymous_49)",decl:{start:{line:503,column:2},end:{line:503,column:3}},loc:{start:{line:503,column:32},end:{line:509,column:3}},line:503},50:{name:"(anonymous_50)",decl:{start:{line:511,column:2},end:{line:511,column:3}},loc:{start:{line:511,column:32},end:{line:522,column:3}},line:511},51:{name:"(anonymous_51)",decl:{start:{line:516,column:46},end:{line:516,column:47}},loc:{start:{line:516,column:59},end:{line:518,column:7}},line:516},52:{name:"(anonymous_52)",decl:{start:{line:524,column:2},end:{line:524,column:3}},loc:{start:{line:524,column:41},end:{line:531,column:3}},line:524},53:{name:"(anonymous_53)",decl:{start:{line:533,column:2},end:{line:533,column:3}},loc:{start:{line:533,column:59},end:{line:566,column:3}},line:533},54:{name:"(anonymous_54)",decl:{start:{line:568,column:2},end:{line:568,column:3}},loc:{start:{line:568,column:24},end:{line:612,column:3}},line:568},55:{name:"(anonymous_55)",decl:{start:{line:614,column:2},end:{line:614,column:3}},loc:{start:{line:614,column:22},end:{line:634,column:3}},line:614},56:{name:"(anonymous_56)",decl:{start:{line:636,column:2},end:{line:636,column:3}},loc:{start:{line:636,column:23},end:{line:658,column:3}},line:636},57:{name:"(anonymous_57)",decl:{start:{line:661,column:2},end:{line:661,column:3}},loc:{start:{line:661,column:53},end:{line:668,column:3}},line:661},58:{name:"(anonymous_58)",decl:{start:{line:670,column:2},end:{line:670,column:3}},loc:{start:{line:670,column:64},end:{line:705,column:3}},line:670},59:{name:"(anonymous_59)",decl:{start:{line:707,column:2},end:{line:707,column:3}},loc:{start:{line:707,column:29},end:{line:709,column:3}},line:707},60:{name:"(anonymous_60)",decl:{start:{line:711,column:2},end:{line:711,column:3}},loc:{start:{line:711,column:32},end:{line:713,column:3}},line:711},61:{name:"(anonymous_61)",decl:{start:{line:715,column:2},end:{line:715,column:3}},loc:{start:{line:715,column:38},end:{line:717,column:3}},line:715},62:{name:"(anonymous_62)",decl:{start:{line:720,column:2},end:{line:720,column:3}},loc:{start:{line:720,column:17},end:{line:722,column:3}},line:720}},branchMap:{0:{loc:{start:{line:12,column:2},end:{line:15,column:3}},type:"if",locations:[{start:{line:12,column:2},end:{line:15,column:3}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:12},1:{loc:{start:{line:16,column:2},end:{line:20,column:3}},type:"if",locations:[{start:{line:16,column:2},end:{line:20,column:3}},{start:{line:18,column:9},end:{line:20,column:3}}],line:16},2:{loc:{start:{line:44,column:4},end:{line:49,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:49,column:5}},{start:{line:46,column:11},end:{line:49,column:5}}],line:44},3:{loc:{start:{line:53,column:4},end:{line:56,column:5}},type:"if",locations:[{start:{line:53,column:4},end:{line:56,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:53},4:{loc:{start:{line:57,column:4},end:{line:59,column:5}},type:"if",locations:[{start:{line:57,column:4},end:{line:59,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57},5:{loc:{start:{line:64,column:4},end:{line:66,column:5}},type:"if",locations:[{start:{line:64,column:4},end:{line:66,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},6:{loc:{start:{line:72,column:16},end:{line:72,column:38}},type:"binary-expr",locations:[{start:{line:72,column:16},end:{line:72,column:24}},{start:{line:72,column:28},end:{line:72,column:38}}],line:72},7:{loc:{start:{line:81,column:28},end:{line:81,column:50}},type:"binary-expr",locations:[{start:{line:81,column:28},end:{line:81,column:42}},{start:{line:81,column:46},end:{line:81,column:50}}],line:81},8:{loc:{start:{line:99,column:8},end:{line:103,column:9}},type:"if",locations:[{start:{line:99,column:8},end:{line:103,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:99},9:{loc:{start:{line:115,column:10},end:{line:118,column:11}},type:"if",locations:[{start:{line:115,column:10},end:{line:118,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:115},10:{loc:{start:{line:133,column:6},end:{line:137,column:7}},type:"if",locations:[{start:{line:133,column:6},end:{line:137,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:133},11:{loc:{start:{line:134,column:8},end:{line:136,column:9}},type:"if",locations:[{start:{line:134,column:8},end:{line:136,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:134},12:{loc:{start:{line:151,column:6},end:{line:156,column:7}},type:"if",locations:[{start:{line:151,column:6},end:{line:156,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:151},13:{loc:{start:{line:151,column:10},end:{line:151,column:55}},type:"binary-expr",locations:[{start:{line:151,column:10},end:{line:151,column:28}},{start:{line:151,column:32},end:{line:151,column:55}}],line:151},14:{loc:{start:{line:152,column:8},end:{line:155,column:9}},type:"if",locations:[{start:{line:152,column:8},end:{line:155,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:152},15:{loc:{start:{line:186,column:10},end:{line:189,column:11}},type:"if",locations:[{start:{line:186,column:10},end:{line:189,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:186},16:{loc:{start:{line:207,column:8},end:{line:209,column:9}},type:"if",locations:[{start:{line:207,column:8},end:{line:209,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},17:{loc:{start:{line:222,column:6},end:{line:225,column:7}},type:"if",locations:[{start:{line:222,column:6},end:{line:225,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:222},18:{loc:{start:{line:222,column:10},end:{line:222,column:39}},type:"binary-expr",locations:[{start:{line:222,column:10},end:{line:222,column:23}},{start:{line:222,column:27},end:{line:222,column:39}}],line:222},19:{loc:{start:{line:253,column:6},end:{line:260,column:7}},type:"if",locations:[{start:{line:253,column:6},end:{line:260,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:253},20:{loc:{start:{line:255,column:8},end:{line:258,column:9}},type:"if",locations:[{start:{line:255,column:8},end:{line:258,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:255},21:{loc:{start:{line:262,column:6},end:{line:288,column:7}},type:"if",locations:[{start:{line:262,column:6},end:{line:288,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:262},22:{loc:{start:{line:263,column:8},end:{line:266,column:9}},type:"if",locations:[{start:{line:263,column:8},end:{line:266,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:263},23:{loc:{start:{line:267,column:8},end:{line:273,column:9}},type:"if",locations:[{start:{line:267,column:8},end:{line:273,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:267},24:{loc:{start:{line:268,column:10},end:{line:272,column:11}},type:"if",locations:[{start:{line:268,column:10},end:{line:272,column:11}},{start:{line:270,column:17},end:{line:272,column:11}}],line:268},25:{loc:{start:{line:274,column:8},end:{line:281,column:9}},type:"if",locations:[{start:{line:274,column:8},end:{line:281,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:274},26:{loc:{start:{line:295,column:72},end:{line:295,column:151}},type:"binary-expr",locations:[{start:{line:295,column:72},end:{line:295,column:108}},{start:{line:295,column:112},end:{line:295,column:151}}],line:295},27:{loc:{start:{line:296,column:6},end:{line:299,column:7}},type:"if",locations:[{start:{line:296,column:6},end:{line:299,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:296},28:{loc:{start:{line:303,column:57},end:{line:303,column:105}},type:"cond-expr",locations:[{start:{line:303,column:76},end:{line:303,column:100}},{start:{line:303,column:103},end:{line:303,column:105}}],line:303},29:{loc:{start:{line:314,column:6},end:{line:316,column:7}},type:"if",locations:[{start:{line:314,column:6},end:{line:316,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:314},30:{loc:{start:{line:314,column:10},end:{line:314,column:80}},type:"binary-expr",locations:[{start:{line:314,column:10},end:{line:314,column:28}},{start:{line:314,column:32},end:{line:314,column:55}},{start:{line:314,column:59},end:{line:314,column:80}}],line:314},31:{loc:{start:{line:321,column:6},end:{line:325,column:7}},type:"switch",locations:[{start:{line:322,column:8},end:{line:324,column:15}}],line:321},32:{loc:{start:{line:330,column:4},end:{line:337,column:5}},type:"if",locations:[{start:{line:330,column:4},end:{line:337,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:330},33:{loc:{start:{line:330,column:8},end:{line:330,column:35}},type:"binary-expr",locations:[{start:{line:330,column:8},end:{line:330,column:20}},{start:{line:330,column:24},end:{line:330,column:35}}],line:330},34:{loc:{start:{line:341,column:38},end:{line:341,column:66}},type:"cond-expr",locations:[{start:{line:341,column:46},end:{line:341,column:57}},{start:{line:341,column:60},end:{line:341,column:66}}],line:341},35:{loc:{start:{line:345,column:38},end:{line:345,column:66}},type:"cond-expr",locations:[{start:{line:345,column:46},end:{line:345,column:57}},{start:{line:345,column:60},end:{line:345,column:66}}],line:345},36:{loc:{start:{line:349,column:40},end:{line:349,column:68}},type:"cond-expr",locations:[{start:{line:349,column:48},end:{line:349,column:59}},{start:{line:349,column:62},end:{line:349,column:68}}],line:349},37:{loc:{start:{line:352,column:46},end:{line:352,column:61}},type:"default-arg",locations:[{start:{line:352,column:57},end:{line:352,column:61}}],line:352},38:{loc:{start:{line:370,column:4},end:{line:448,column:5}},type:"if",locations:[{start:{line:370,column:4},end:{line:448,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:370},39:{loc:{start:{line:372,column:6},end:{line:378,column:7}},type:"if",locations:[{start:{line:372,column:6},end:{line:378,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:372},40:{loc:{start:{line:373,column:8},end:{line:375,column:86}},type:"binary-expr",locations:[{start:{line:373,column:8},end:{line:373,column:78}},{start:{line:374,column:8},end:{line:374,column:48}},{start:{line:375,column:8},end:{line:375,column:86}}],line:373},41:{loc:{start:{line:380,column:6},end:{line:401,column:7}},type:"if",locations:[{start:{line:380,column:6},end:{line:401,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:380},42:{loc:{start:{line:381,column:8},end:{line:382,column:88}},type:"binary-expr",locations:[{start:{line:381,column:8},end:{line:381,column:48}},{start:{line:382,column:8},end:{line:382,column:88}}],line:381},43:{loc:{start:{line:387,column:8},end:{line:389,column:9}},type:"if",locations:[{start:{line:387,column:8},end:{line:389,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:387},44:{loc:{start:{line:392,column:8},end:{line:394,column:9}},type:"if",locations:[{start:{line:392,column:8},end:{line:394,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:392},45:{loc:{start:{line:397,column:8},end:{line:400,column:9}},type:"if",locations:[{start:{line:397,column:8},end:{line:400,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:397},46:{loc:{start:{line:399,column:32},end:{line:399,column:103}},type:"cond-expr",locations:[{start:{line:399,column:61},end:{line:399,column:81}},{start:{line:399,column:84},end:{line:399,column:103}}],line:399},47:{loc:{start:{line:403,column:6},end:{line:405,column:7}},type:"if",locations:[{start:{line:403,column:6},end:{line:405,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:403},48:{loc:{start:{line:406,column:6},end:{line:408,column:7}},type:"if",locations:[{start:{line:406,column:6},end:{line:408,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:406},49:{loc:{start:{line:410,column:6},end:{line:412,column:7}},type:"if",locations:[{start:{line:410,column:6},end:{line:412,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:410},50:{loc:{start:{line:413,column:6},end:{line:415,column:7}},type:"if",locations:[{start:{line:413,column:6},end:{line:415,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:413},51:{loc:{start:{line:417,column:6},end:{line:419,column:7}},type:"if",locations:[{start:{line:417,column:6},end:{line:419,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:417},52:{loc:{start:{line:420,column:6},end:{line:422,column:7}},type:"if",locations:[{start:{line:420,column:6},end:{line:422,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:420},53:{loc:{start:{line:424,column:6},end:{line:426,column:7}},type:"if",locations:[{start:{line:424,column:6},end:{line:426,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:424},54:{loc:{start:{line:427,column:6},end:{line:429,column:7}},type:"if",locations:[{start:{line:427,column:6},end:{line:429,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:427},55:{loc:{start:{line:431,column:6},end:{line:433,column:7}},type:"if",locations:[{start:{line:431,column:6},end:{line:433,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:431},56:{loc:{start:{line:434,column:6},end:{line:436,column:7}},type:"if",locations:[{start:{line:434,column:6},end:{line:436,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:434},57:{loc:{start:{line:438,column:6},end:{line:440,column:7}},type:"if",locations:[{start:{line:438,column:6},end:{line:440,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:438},58:{loc:{start:{line:441,column:6},end:{line:443,column:7}},type:"if",locations:[{start:{line:441,column:6},end:{line:443,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:441},59:{loc:{start:{line:445,column:6},end:{line:447,column:7}},type:"if",locations:[{start:{line:445,column:6},end:{line:447,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:445},60:{loc:{start:{line:455,column:6},end:{line:457,column:7}},type:"if",locations:[{start:{line:455,column:6},end:{line:457,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:455},61:{loc:{start:{line:458,column:6},end:{line:460,column:7}},type:"if",locations:[{start:{line:458,column:6},end:{line:460,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:458},62:{loc:{start:{line:462,column:6},end:{line:464,column:7}},type:"if",locations:[{start:{line:462,column:6},end:{line:464,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:462},63:{loc:{start:{line:466,column:6},end:{line:470,column:7}},type:"if",locations:[{start:{line:466,column:6},end:{line:470,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:466},64:{loc:{start:{line:466,column:10},end:{line:466,column:31}},type:"binary-expr",locations:[{start:{line:466,column:10},end:{line:466,column:16}},{start:{line:466,column:20},end:{line:466,column:31}}],line:466},65:{loc:{start:{line:480,column:6},end:{line:482,column:7}},type:"if",locations:[{start:{line:480,column:6},end:{line:482,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:480},66:{loc:{start:{line:486,column:24},end:{line:486,column:112}},type:"cond-expr",locations:[{start:{line:486,column:50},end:{line:486,column:99}},{start:{line:486,column:102},end:{line:486,column:112}}],line:486},67:{loc:{start:{line:505,column:4},end:{line:507,column:5}},type:"if",locations:[{start:{line:505,column:4},end:{line:507,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:505},68:{loc:{start:{line:524,column:28},end:{line:524,column:39}},type:"default-arg",locations:[{start:{line:524,column:35},end:{line:524,column:39}}],line:524},69:{loc:{start:{line:533,column:23},end:{line:533,column:34}},type:"default-arg",locations:[{start:{line:533,column:30},end:{line:533,column:34}}],line:533},70:{loc:{start:{line:533,column:36},end:{line:533,column:45}},type:"default-arg",locations:[{start:{line:533,column:43},end:{line:533,column:45}}],line:533},71:{loc:{start:{line:533,column:47},end:{line:533,column:57}},type:"default-arg",locations:[{start:{line:533,column:55},end:{line:533,column:57}}],line:533},72:{loc:{start:{line:534,column:4},end:{line:539,column:5}},type:"if",locations:[{start:{line:534,column:4},end:{line:539,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:534},73:{loc:{start:{line:540,column:4},end:{line:546,column:5}},type:"if",locations:[{start:{line:540,column:4},end:{line:546,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:540},74:{loc:{start:{line:541,column:6},end:{line:545,column:7}},type:"if",locations:[{start:{line:541,column:6},end:{line:545,column:7}},{start:{line:543,column:13},end:{line:545,column:7}}],line:541},75:{loc:{start:{line:549,column:6},end:{line:555,column:7}},type:"if",locations:[{start:{line:549,column:6},end:{line:555,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:549},76:{loc:{start:{line:551,column:8},end:{line:553,column:9}},type:"if",locations:[{start:{line:551,column:8},end:{line:553,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:551},77:{loc:{start:{line:551,column:12},end:{line:551,column:49}},type:"binary-expr",locations:[{start:{line:551,column:12},end:{line:551,column:16}},{start:{line:551,column:20},end:{line:551,column:28}},{start:{line:551,column:32},end:{line:551,column:49}}],line:551},78:{loc:{start:{line:569,column:4},end:{line:571,column:5}},type:"if",locations:[{start:{line:569,column:4},end:{line:571,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:569},79:{loc:{start:{line:577,column:6},end:{line:580,column:7}},type:"if",locations:[{start:{line:577,column:6},end:{line:580,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:577},80:{loc:{start:{line:587,column:10},end:{line:603,column:11}},type:"if",locations:[{start:{line:587,column:10},end:{line:603,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:587},81:{loc:{start:{line:595,column:16},end:{line:598,column:17}},type:"if",locations:[{start:{line:595,column:16},end:{line:598,column:17}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:595},82:{loc:{start:{line:595,column:20},end:{line:595,column:64}},type:"binary-expr",locations:[{start:{line:595,column:20},end:{line:595,column:28}},{start:{line:595,column:32},end:{line:595,column:64}}],line:595},83:{loc:{start:{line:615,column:4},end:{line:619,column:5}},type:"if",locations:[{start:{line:615,column:4},end:{line:619,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:615},84:{loc:{start:{line:622,column:6},end:{line:625,column:7}},type:"if",locations:[{start:{line:622,column:6},end:{line:625,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:622},85:{loc:{start:{line:637,column:4},end:{line:656,column:5}},type:"if",locations:[{start:{line:637,column:4},end:{line:656,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:637},86:{loc:{start:{line:638,column:6},end:{line:655,column:7}},type:"switch",locations:[{start:{line:639,column:8},end:{line:640,column:63}},{start:{line:641,column:8},end:{line:642,column:54}},{start:{line:643,column:8},end:{line:644,column:43}},{start:{line:645,column:8},end:{line:646,column:46}},{start:{line:647,column:8},end:{line:648,column:49}},{start:{line:649,column:8},end:{line:650,column:67}},{start:{line:651,column:8},end:{line:652,column:61}},{start:{line:653,column:8},end:{line:654,column:72}}],line:638},87:{loc:{start:{line:670,column:34},end:{line:670,column:49}},type:"default-arg",locations:[{start:{line:670,column:45},end:{line:670,column:49}}],line:670},88:{loc:{start:{line:670,column:51},end:{line:670,column:62}},type:"default-arg",locations:[{start:{line:670,column:58},end:{line:670,column:62}}],line:670},89:{loc:{start:{line:673,column:6},end:{line:694,column:7}},type:"if",locations:[{start:{line:673,column:6},end:{line:694,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:673},90:{loc:{start:{line:680,column:8},end:{line:682,column:9}},type:"if",locations:[{start:{line:680,column:8},end:{line:682,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:680},91:{loc:{start:{line:683,column:8},end:{line:687,column:9}},type:"if",locations:[{start:{line:683,column:8},end:{line:687,column:9}},{start:{line:685,column:15},end:{line:687,column:9}}],line:683},92:{loc:{start:{line:685,column:15},end:{line:687,column:9}},type:"if",locations:[{start:{line:685,column:15},end:{line:687,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:685}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0,164:0,165:0,166:0,167:0,168:0,169:0,170:0,171:0,172:0,173:0,174:0,175:0,176:0,177:0,178:0,179:0,180:0,181:0,182:0,183:0,184:0,185:0,186:0,187:0,188:0,189:0,190:0,191:0,192:0,193:0,194:0,195:0,196:0,197:0,198:0,199:0,200:0,201:0,202:0,203:0,204:0,205:0,206:0,207:0,208:0,209:0,210:0,211:0,212:0,213:0,214:0,215:0,216:0,217:0,218:0,219:0,220:0,221:0,222:0,223:0,224:0,225:0,226:0,227:0,228:0,229:0,230:0,231:0,232:0,233:0,234:0,235:0,236:0,237:0,238:0,239:0,240:0,241:0,242:0,243:0,244:0,245:0,246:0,247:0,248:0,249:0,250:0,251:0,252:0,253:0,254:0,255:0,256:0,257:0,258:0,259:0,260:0,261:0,262:0,263:0,264:0,265:0,266:0,267:0,268:0,269:0,270:0,271:0,272:0,273:0,274:0,275:0,276:0,277:0,278:0,279:0,280:0,281:0,282:0,283:0,284:0,285:0,286:0,287:0,288:0,289:0,290:0,291:0,292:0,293:0,294:0,295:0,296:0,297:0,298:0,299:0,300:0,301:0,302:0,303:0,304:0,305:0,306:0,307:0,308:0,309:0,310:0,311:0,312:0,313:0,314:0,315:0,316:0,317:0,318:0,319:0,320:0,321:0,322:0,323:0,324:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0,0],31:[0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0],38:[0,0],39:[0,0],40:[0,0,0],41:[0,0],42:[0,0],43:[0,0],44:[0,0],45:[0,0],46:[0,0],47:[0,0],48:[0,0],49:[0,0],50:[0,0],51:[0,0],52:[0,0],53:[0,0],54:[0,0],55:[0,0],56:[0,0],57:[0,0],58:[0,0],59:[0,0],60:[0,0],61:[0,0],62:[0,0],63:[0,0],64:[0,0],65:[0,0],66:[0,0],67:[0,0],68:[0],69:[0],70:[0],71:[0],72:[0,0],73:[0,0],74:[0,0],75:[0,0],76:[0,0],77:[0,0,0],78:[0,0],79:[0,0],80:[0,0],81:[0,0],82:[0,0],83:[0,0],84:[0,0],85:[0,0],86:[0,0,0,0,0,0,0,0],87:[0],88:[0],89:[0,0],90:[0,0],91:[0,0],92:[0,0]},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/services/XmppSocket.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AACH,CAAC;AACD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA;AACA;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5G;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3H;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f70b81af5d5520e89466dc2c4e43d5e04155e896"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return m=function(){return s},s}m();const Cm=(m().s[0]++,window.config.transports),d5=(m().s[1]++,window.config.resource),em=(m().s[2]++,window.config.defaultDomain),p5=(m().s[3]++,window.config.defaultMuc),f5=(m().s[4]++,window.config.connectTimeout);function YC(A,C){m().f[0]++;const e=(m().s[5]++,Array.prototype.slice.call(arguments,2));if(m().s[6]++,["XMPPError","StanzaError"].includes(A.name)){m().b[0][0]++,m().s[7]++,console.warn(A.name,...e.filter(n=>(m().f[1]++,m().s[8]++,!(n instanceof Error)))),m().s[9]++;return}else m().b[0][1]++;m().s[10]++,C==="error"?(m().b[1][0]++,m().s[11]++,console.error(...e)):(m().b[1][1]++,m().s[12]++,console.warn(...e))}const h5={jid:null,fullJid:null,context:null,client:null,nick:null,isAnonymous:!0,defaultDomain:em,defaultMuc:p5,async create(A,C,e,n,t){m().f[2]++,m().s[13]++,this.nick=null,m().s[14]++,this.fullJid=null,m().s[15]++,this.jid=null,m().s[16]++,this.context=t,m().s[17]++,this.disconnect(),m().s[18]++,A?(m().b[2][0]++,m().s[19]++,this.isAnonymous=!1):(m().b[2][1]++,m().s[20]++,this.isAnonymous=!0,m().s[21]++,A="anon");const i=(m().s[22]++,A.split("@"));m().s[23]++,i.length>1?(m().b[3][0]++,m().s[24]++,A=i[0],m().s[25]++,e=i[1]):m().b[3][1]++,m().s[26]++,e?m().b[4][1]++:(m().b[4][0]++,m().s[27]++,e=em),m().s[28]++,this.jid=A,m().s[29]++,n.websocket?(m().b[5][0]++,m().s[30]++,Cm.websocket=n.websocket):m().b[5][1]++,m().s[31]++,this.client=new m5({service:Cm.websocket,domain:e,resource:(m().b[6][0]++,d5||(m().b[6][1]++,"Web XMPP")),jid:A,password:C})},connect(){m().f[3]++;const A=(m().s[32]++,m().b[7][0]++,f5||(m().b[7][1]++,5e3));let C=(m().s[33]++,null);const e=(m().s[34]++,new Promise((t,i)=>{m().f[4]++,m().s[35]++,C=setTimeout(()=>{m().f[5]++,m().s[36]++,clearTimeout(C),m().s[37]++,i(new Error("Server unreachable"))},A)})),n=(m().s[38]++,new Promise((t,i)=>{m().f[6]++,m().s[39]++,this.client.on("error",s=>{m().f[7]++,m().s[40]++,console.error("XMPP error",s.message)}),m().s[41]++,this.client.on("authenticated",s=>{m().f[8]++,m().s[42]++,this.isAnonymous?m().b[8][1]++:(m().b[8][0]++,m().s[43]++,localStorage.setItem("barejid",s.bare),m().s[44]++,localStorage.setItem("jid",this.jid),m().s[45]++,localStorage.setItem("auth",!0)),m().s[46]++,clearTimeout(C),m().s[47]++,this.fullJid=s,m().s[48]++,this.context.$store.setOnline(!0),m().s[49]++,this.listen(),m().s[50]++,t()}),m().s[51]++,this.client.connect().catch(s=>{if(m().f[9]++,m().s[52]++,s.name==="SASLError")return m().b[9][0]++,m().s[53]++,clearTimeout(C),m().s[54]++,i(new Error("Check your credentials"));m().b[9][1]++,m().s[55]++,i(new Error("Error during login"))})}));return m().s[56]++,Promise.race([n,e])},listen(){m().f[10]++;function A(C,e,n){m().f[11]++,m().s[57]++,n.links?(m().b[10][0]++,m().s[58]++,n.links.some(t=>(m().f[12]++,m().s[59]++,t.url===n.body))?(m().b[11][0]++,m().s[60]++,n.body=""):m().b[11][1]++):m().b[10][1]++,m().s[61]++,C.context.$store.storeMessage({type:e,message:n})}m().s[62]++,this.client.on("online",()=>{m().f[13]++,m().s[63]++,console.info("XMPP online"),m().s[64]++,this.context.$store.setOnline(!0)}),m().s[65]++,this.client.on("status",C=>{m().f[14]++,m().s[66]++,m().b[13][0]++,C==="close"||(m().b[13][1]++,C==="disconnect")?(m().b[12][0]++,m().s[67]++,this.context.$store.isOnline?(m().b[14][0]++,m().s[68]++,console.warn("XMPP connection is closed"),m().s[69]++,this.context.$store.setOnline(!1)):m().b[14][1]++):m().b[12][1]++}),m().s[70]++,this.client.getRoster().then(C=>{m().f[15]++,m().s[71]++,this.context.$store.setRoster(C),m().s[72]++,this.client.sendPresence()}).catch(C=>(m().f[16]++,m().s[73]++,YC(C,"error","getRoster",C.message,C))),m().s[74]++,this.client.getDiscoInfo().catch(C=>(m().f[17]++,m().s[75]++,YC(C,"error","getDiscoInfo",C.message,C))),m().s[76]++,this.client.enableCarbons().catch(C=>(m().f[18]++,m().s[77]++,YC(C,"error","carbon",C.message,C))),m().s[78]++,this.client.getBookmarks().then(C=>{m().f[19]++,m().s[79]++,C.forEach(e=>{m().f[20]++;const n=(m().s[80]++,this.setRoomAttributes(e.jid,null,e.password));m().s[81]++,n.isBookmarked=!0,m().s[82]++,n.name=e.name,m().s[83]++,n.autojoin=e.autojoin,m().s[84]++,this.context.$store.setKnownRoom(n),m().s[85]++,e.autojoin?(m().b[15][0]++,m().s[86]++,this.joinRoom(e.jid,null,{muc:{password:e.password}})):m().b[15][1]++}),m().s[87]++,C.forEach(e=>{m().f[21]++,m().s[88]++,this.client.getDiscoInfo(e.jid).then(n=>{m().f[22]++;const t=(m().s[89]++,this.setRoomAttributes(e.jid,n,e.password));m().s[90]++,t.isBookmarked=!0,m().s[91]++,this.context.$store.setKnownRoom(t)}).catch(n=>(m().f[23]++,m().s[92]++,YC(n,"error","getBookmarks/getDiscoInfo",n.message,n)))})}).catch(C=>(m().f[24]++,m().s[93]++,YC(C,"error","getBookmarks",C.message,C))),m().s[94]++,this.client.getUploadService().then(C=>{m().f[25]++,m().s[95]++,C.maxSize?(m().b[16][0]++,m().s[96]++,this.context.$store.setHttpFileUploadMaxSize(C.maxSize)):m().b[16][1]++}).catch(C=>{m().f[26]++,m().s[97]++,console.warn(C.message)}),m().s[98]++,this.client.on("chat",C=>{m().f[27]++,m().s[99]++,A(this,C.type,C)}),m().s[100]++,this.client.on("messageSent",C=>{if(m().f[28]++,m().s[101]++,m().b[18][0]++,!C.body&&(m().b[18][1]++,!C.url)){m().b[17][0]++,m().s[102]++;return}else m().b[17][1]++;m().s[103]++,A(this,C.type,C)}),m().s[104]++,this.client.on("chatState",C=>{m().f[29]++,m().s[105]++,this.context.$store.setChatState(C)}),m().s[106]++,this.client.on("mucCreated",async C=>{m().f[30]++;let e=(m().s[107]++,{jid:C.from.bare});m().s[108]++,this.context.$store.setKnownRoom(e),m().s[109]++;try{const n=(m().s[110]++,await this.client.getDiscoInfo(e.jid));m().s[111]++,e=this.setRoomAttributes(e.jid,n,null),m().s[112]++,this.context.$store.setKnownRoom(e)}catch(n){m().s[113]++,YC(n,"error","presence/getDiscoInfo",n.message,n)}}),m().s[114]++,this.client.on("presence",async C=>{m().f[31]++;const e=(m().s[115]++,C.from);if(m().s[116]++,e.bare===this.fullJid.bare){m().b[19][0]++,m().s[117]++,e.full===this.fullJid.full?(m().b[20][0]++,m().s[118]++,this.context.$store.setPresence(C.show)):m().b[20][1]++,m().s[119]++;return}else m().b[19][1]++;if(m().s[120]++,C.isMuc){if(m().b[21][0]++,m().s[121]++,e.resource===""){m().b[22][0]++,m().s[122]++;return}else m().b[22][1]++;if(m().s[123]++,C.isSelf?(m().b[23][0]++,m().s[124]++,C.type==="unavailable"?(m().b[24][0]++,m().s[125]++,this.context.$store.removeJoinedRoom(e.bare)):(m().b[24][1]++,m().s[126]++,this.context.$store.setJoinedRoom(e.bare))):m().b[23][1]++,m().s[127]++,C.type==="unavailable"){m().b[25][0]++,m().s[128]++,this.context.$store.removeRoomOccupant({roomJid:e.bare,jid:e.full}),m().s[129]++;return}else m().b[25][1]++;m().s[130]++,this.context.$store.setRoomOccupant({roomJid:e.bare,jid:e.full,presence:C.show}),m().s[131]++;return}else m().b[21][1]++;m().s[132]++,this.context.$store.setContactPresence({jid:e.bare,presence:C.show,status:C.status})}),m().s[133]++,this.client.on("messageRetracted",C=>{m().f[32]++;const e=(m().s[134]++,this.context.$store.messages.findIndex(n=>(m().f[33]++,m().s[135]++,m().b[26][0]++,n.from.bare===C.from&&(m().b[26][1]++,n.stanzaId===C.stanzaId))));if(m().s[136]++,e===-1){m().b[27][0]++,m().s[137]++;return}else m().b[27][1]++;m().s[138]++,this.context.$store.updateMessage({stanzaId:C.stanzaId,body:`Moderated by ${C.by.resource}`+(C.reason?(m().b[28][0]++,` (${C.reason})`):(m().b[28][1]++,"")),links:[],status:{code:"moderated",message:C.reason}})}),m().s[139]++,this.client.on("subjectChange",C=>{m().f[34]++,m().s[140]++,m().b[30][0]++,C.from&&(m().b[30][1]++,C.from.bare)&&(m().b[30][2]++,C.subject)?(m().b[29][0]++,m().s[141]++,this.context.$store.setRoomSubject(C.from.bare,C.from.resource,C.subject)):m().b[29][1]++}),m().s[142]++,this.client.on("messageSentError",C=>{switch(m().f[35]++,m().s[143]++,C.type){case"cancel":m().b[31][0]++,m().s[144]++,this.context.$store.setMessageStatus(C.messageId,"error",C.message),m().s[145]++;break}})},async disconnect(){if(m().f[36]++,m().s[146]++,m().b[33][0]++,this.context&&(m().b[33][1]++,this.client)){m().b[32][0]++,m().s[147]++;try{m().s[148]++,await this.client.disconnect(),m().s[149]++,this.context.$store.clear()}catch(A){m().s[150]++,YC(A,"error","disconnect error",A.message,A)}}else m().b[32][1]++},async sendUrl(A,C,e){m().f[37]++,m().s[151]++,await this.client.sendMessage(A,e?(m().b[34][0]++,"groupchat"):(m().b[34][1]++,"chat"),C,C)},async sendMessage(A,C,e){m().f[38]++,m().s[152]++,await this.client.sendMessage(A,e?(m().b[35][0]++,"groupchat"):(m().b[35][1]++,"chat"),C)},async sendChatState(A,C,e){m().f[39]++,m().s[153]++,await this.client.sendChatState(A,C?(m().b[36][0]++,"groupchat"):(m().b[36][1]++,"chat"),e)},setRoomAttributes(A,C,e=(m().b[37][0]++,null)){m().f[40]++;const n=(m().s[154]++,{jid:A,name:A,description:null,lang:null,occupantsCount:null,password:e,isPublic:null,isPersistent:null,isPasswordProtected:null,isMembersOnly:null,isAnonymous:null,isModerated:null,isBookmarked:null,hasVCard:null,unreadCount:null});if(m().s[155]++,C){if(m().b[38][0]++,m().s[156]++,m().b[40][0]++,Object.prototype.hasOwnProperty.call(C,"identities")&&(m().b[40][1]++,C.identities.length>0)&&(m().b[40][2]++,Object.prototype.hasOwnProperty.call(C.identities[0],"name"))?(m().b[39][0]++,m().s[157]++,n.name=C.identities[0].name):m().b[39][1]++,m().s[158]++,m().b[42][0]++,C.extensions.length>0&&(m().b[42][1]++,Object.prototype.hasOwnProperty.call(C.extensions[0],"fields"))){m().b[41][0]++;const t=(m().s[159]++,C.extensions[0].fields),i=(m().s[160]++,t.find(l=>(m().f[41]++,m().s[161]++,l.name==="muc#roominfo_description")));m().s[162]++,i?(m().b[43][0]++,m().s[163]++,n.description=i.value):m().b[43][1]++;const s=(m().s[164]++,t.find(l=>(m().f[42]++,m().s[165]++,l.name==="muc#roominfo_lang")));m().s[166]++,s?(m().b[44][0]++,m().s[167]++,n.lang=s.value):m().b[44][1]++;const o=(m().s[168]++,t.find(l=>(m().f[43]++,m().s[169]++,l.name==="muc#roominfo_occupants")));m().s[170]++,o?(m().b[45][0]++,m().s[171]++,n.occupantsCount=parseInt(o.value),m().s[172]++,n.occupantsCount=isNaN(n.occupantsCount)?(m().b[46][0]++,o.value):(m().b[46][1]++,n.occupantsCount)):m().b[45][1]++}else m().b[41][1]++;m().s[173]++,C.features.includes("muc_public")?(m().b[47][0]++,m().s[174]++,n.isPublic=!0):m().b[47][1]++,m().s[175]++,C.features.includes("muc_hidden")?(m().b[48][0]++,m().s[176]++,n.isPublic=!1):m().b[48][1]++,m().s[177]++,C.features.includes("muc_persistent")?(m().b[49][0]++,m().s[178]++,n.isPersistent=!0):m().b[49][1]++,m().s[179]++,C.features.includes("muc_temporary")?(m().b[50][0]++,m().s[180]++,n.isPersistent=!1):m().b[50][1]++,m().s[181]++,C.features.includes("muc_passwordprotected")?(m().b[51][0]++,m().s[182]++,n.isPasswordProtected=!0):m().b[51][1]++,m().s[183]++,C.features.includes("muc_unsecured")?(m().b[52][0]++,m().s[184]++,n.isPasswordProtected=!1):m().b[52][1]++,m().s[185]++,C.features.includes("muc_membersonly")?(m().b[53][0]++,m().s[186]++,n.isMembersOnly=!0):m().b[53][1]++,m().s[187]++,C.features.includes("muc_open")?(m().b[54][0]++,m().s[188]++,n.isMembersOnly=!1):m().b[54][1]++,m().s[189]++,C.features.includes("muc_semianonymous")?(m().b[55][0]++,m().s[190]++,n.isAnonymous=!0):m().b[55][1]++,m().s[191]++,C.features.includes("muc_nonanonymous")?(m().b[56][0]++,m().s[192]++,n.isAnonymous=!1):m().b[56][1]++,m().s[193]++,C.features.includes("muc_moderated")?(m().b[57][0]++,m().s[194]++,n.isModerated=!0):m().b[57][1]++,m().s[195]++,C.features.includes("muc_unmoderated")?(m().b[58][0]++,m().s[196]++,n.isModerated=!1):m().b[58][1]++,m().s[197]++,C.features.includes("vcard-temp")?(m().b[59][0]++,m().s[198]++,n.hasVCard=!0):m().b[59][1]++}else m().b[38][1]++;return m().s[199]++,n},async getJidAvatar(A){m().f[44]++,m().s[200]++;try{const C=(m().s[201]++,sessionStorage.getItem("avatar-"+A));if(m().s[202]++,C)return m().b[60][0]++,m().s[203]++,{uri:C,isDefault:!1};if(m().b[60][1]++,m().s[204]++,this.client)m().b[61][1]++;else return m().b[61][0]++,m().s[205]++,{uri:Is,isDefault:!0};const e=(m().s[206]++,await this.client.getVCard(A));if(m().s[207]++,e.records)m().b[62][1]++;else return m().b[62][0]++,m().s[208]++,{uri:Is,isDefault:!0};const n=(m().s[209]++,e.records.find(t=>(m().f[45]++,m().s[210]++,t.name==="PHOTO")));if(m().s[211]++,m().b[64][0]++,n&&(m().b[64][1]++,n.data)){m().b[63][0]++;const t=(m().s[212]++,"data:"+n.mediaType+";base64,"+n.data);return m().s[213]++,sessionStorage.setItem("avatar-"+A,t),m().s[214]++,{uri:t,isDefault:!1}}else m().b[63][1]++}catch(C){m().s[215]++,YC(C,"warn","getJidAvatar error",A,C.message)}return m().s[216]++,{uri:Is,isDefault:!0}},async getProfile(){m().f[46]++,m().s[217]++;try{const A=(m().s[218]++,await this.client.getVCard());if(m().s[219]++,A.records)m().b[65][1]++;else return m().b[65][0]++,m().s[220]++,{};return m().s[221]++,A.records.map(C=>{m().f[47]++;const e=(m().s[222]++,C.name==="PHOTO"?(m().b[66][0]++,"data:"+C.mediaType+";base64,"+C.data):(m().b[66][1]++,C.value));return m().s[223]++,{name:C.name,value:e}}).reduce((C,e)=>(m().f[48]++,m().s[224]++,C[e.name]=e.value,m().s[225]++,C),{})}catch(A){return m().s[226]++,YC(A,"warn","getProfile error",A.message),m().s[227]++,{}}},async updateProfile(A){m().f[49]++,m().s[228]++,await this.client.setVCard(A),m().s[229]++,A.PHOTO?(m().b[67][0]++,m().s[230]++,sessionStorage.setItem("avatar-"+this.fullJid.bare,A.PHOTO)):m().b[67][1]++,m().s[231]++},async sendPresence(A){m().f[50]++,m().s[232]++;try{m().s[233]++,await this.client.sendPresence(A.show),m().s[234]++,this.context.$store.joinedRooms.forEach(C=>{m().f[51]++,m().s[235]++,this.client.sendPresence(A.show,void 0,C)})}catch(C){m().s[236]++,YC(C,"error","sendPresence error",C.message,C)}},async searchHistory(A,C=(m().b[68][0]++,!0)){m().f[52]++,m().s[237]++;try{const e=(m().s[238]++,await this.client.searchHistory(A,C,10));return m().s[239]++,e.paging}catch(e){m().s[240]++,YC(e,"error","searchHistory error",e.message,e)}},async joinRoom(A,C=(m().b[69][0]++,null),e=(m().b[70][0]++,{}),n=(m().b[71][0]++,{})){if(m().f[53]++,m().s[241]++,this.fullJid)m().b[72][1]++;else return m().b[72][0]++,m().s[242]++,{isSuccess:!1,message:"User Jid is missing"};m().s[243]++,C===null?(m().b[73][0]++,m().s[244]++,this.nick!==null?(m().b[74][0]++,m().s[245]++,C=this.nick):(m().b[74][1]++,m().s[246]++,C=this.fullJid.local)):m().b[73][1]++,m().s[247]++;try{if(m().s[248]++,await this.client.joinRoom(A,C,e),m().s[249]++,n.jid){m().b[75][0]++;const t=(m().s[250]++,Object.assign({},n));m().s[251]++,m().b[77][0]++,e&&(m().b[77][1]++,e.muc)&&(m().b[77][2]++,e.muc.password)?(m().b[76][0]++,m().s[252]++,t.password=e.muc.password):m().b[76][1]++,m().s[253]++,this.context.$store.setKnownRoom(t)}else m().b[75][1]++;return m().s[254]++,{isSuccess:!0}}catch(t){return m().s[255]++,YC(t,"error","joinRoom",t.message,t),m().s[256]++,{isSuccess:!1,message:this.getRoomError(t)}}},async getPublicMuc(){if(m().f[54]++,m().s[257]++,this.context)m().b[78][1]++;else return m().b[78][0]++,m().s[258]++,[];const A=(m().s[259]++,[]);m().s[260]++;try{const C=(m().s[261]++,await this.client.getDiscoItems(this.fullJid.domain));if(m().s[262]++,C.items.length===0)return m().b[79][0]++,m().s[263]++,console.info("There is no MUC service"),m().s[264]++,[];m().b[79][1]++,m().s[265]++;for(const e of C.items){m().s[266]++;try{const n=(m().s[267]++,await this.client.getDiscoInfo(e.jid));if(m().s[268]++,n.features.includes(sC.MUC)){m().b[80][0]++,m().s[269]++;try{const t=(m().s[270]++,await this.client.getDiscoItems(e.jid));m().s[271]++;for(const i of t.items){const s=(m().s[272]++,await this.getRoom(i.jid));m().s[273]++,m().b[82][0]++,s.jid&&(m().b[82][1]++,s.jid!==e.jid)?(m().b[81][0]++,m().s[274]++,this.context.$store.setKnownRoom(s),m().s[275]++,A.push(s)):m().b[81][1]++}}catch(t){m().s[276]++,console.warn(`getDiscoItems on MUC service ${e.jid} error:`,t.message)}}else m().b[80][1]++}catch(n){m().s[277]++,YC(n,"warn",`getDiscoInfo on service ${e.jid} error: `,n.message)}}}catch(C){m().s[278]++,YC(C,"error","getDiscoItems on server error",C.message,C)}return m().s[279]++,A},async getRoom(A){if(m().f[55]++,m().s[280]++,this.context)m().b[83][1]++;else return m().b[83][0]++,m().s[281]++,{message:"Missing context"};m().s[282]++;try{const C=(m().s[283]++,await this.client.getDiscoInfo(A));if(m().s[284]++,C.features.includes(sC.MUC)){m().b[84][0]++;const e=(m().s[285]++,this.setRoomAttributes(A,C));return m().s[286]++,e}else m().b[84][1]++}catch(C){return m().s[287]++,{message:this.getRoomError(C)}}return m().s[288]++,{message:"Not a valid room"}},getRoomError(A){if(m().f[56]++,m().s[289]++,Object.prototype.hasOwnProperty.call(A,"message"))switch(m().b[85][0]++,m().s[290]++,A.message){case"not-authorized":return m().b[86][0]++,m().s[291]++,"Valid password is required to join this room";case"forbidden":return m().b[86][1]++,m().s[292]++,"You have been banned from this room";case"item-not-found":return m().b[86][2]++,m().s[293]++,"This room does not exist";case"not-allowed":return m().b[86][3]++,m().s[294]++,"Room creation is restricted";case"not-acceptable":return m().b[86][4]++,m().s[295]++,"Reserved roomnick must be used";case"registration-required":return m().b[86][5]++,m().s[296]++,"You must be on the member list to join this room";case"conflict":return m().b[86][6]++,m().s[297]++,"Your nickname is already used in this room";case"service-unavailable":return m().b[86][7]++,m().s[298]++,"Maximum number of users has been reached in this room"}else m().b[85][1]++;return m().s[299]++,"Unable to join room"},async getUploadSlot(A,C){m().f[57]++,m().s[300]++;try{return m().s[301]++,this.client.getUploadSlot(A,C)}catch(e){throw m().s[302]++,YC(e,"error","getUploadSlot error",e.message,e),m().s[303]++,e}},async bookmarkRoom(A,C,e=(m().b[87][0]++,!0),n=(m().b[88][0]++,null)){m().f[58]++,m().s[304]++;try{const t=(m().s[305]++,this.context.$store.getRoom(C));if(m().s[306]++,A){m().b[89][0]++;const i=(m().s[307]++,{jid:C,name:t.name,autojoin:e});return m().s[308]++,t.password?(m().b[90][0]++,m().s[309]++,i.password=t.password):m().b[90][1]++,m().s[310]++,n?(m().b[91][0]++,m().s[311]++,i.nick=n):(m().b[91][1]++,m().s[312]++,this.nick?(m().b[92][0]++,m().s[313]++,i.nick=this.nick):m().b[92][1]++),m().s[314]++,await this.client.addBookmark(i),m().s[315]++,this.context.$store.setKnownRoom({jid:C,isBookmarked:!0}),m().s[316]++,!0}else m().b[89][1]++;return m().s[317]++,await this.client.removeBookmark(C),m().s[318]++,this.context.$store.setKnownRoom({jid:C,isBookmarked:!1}),m().s[319]++,!0}catch{return m().s[320]++,!1}},async createRoom(A){return m().f[59]++,m().s[321]++,this.client.joinRoom(A,this.fullJid.local,{})},async getRoomConfig(A){return m().f[60]++,m().s[322]++,this.client.getRoomConfig(A)},async setRoomConfig(A,C){return m().f[61]++,m().s[323]++,this.client.configureRoom(A,C)},setNick(A){m().f[62]++,m().s[324]++,this.nick=A}},g5="modulepreload",b5=function(A,C){return new URL(A,C).href},nm={},E5=function(C,e,n){if(!e||e.length===0)return C();const t=document.getElementsByTagName("link");return Promise.all(e.map(i=>{if(i=b5(i,n),i in nm)return;nm[i]=!0;const s=i.endsWith(".css"),o=s?'[rel="stylesheet"]':"";if(!!n)for(let r=t.length-1;r>=0;r--){const p=t[r];if(p.href===i&&(!s||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${o}`))return;const a=document.createElement("link");if(a.rel=s?"stylesheet":g5,s||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),s)return new Promise((r,p)=>{a.addEventListener("load",r),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>C()).catch(i=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=i,window.dispatchEvent(s),!s.defaultPrevented)throw i})};function y5(A={}){const{immediate:C=!1,onNeedRefresh:e,onOfflineReady:n,onRegistered:t,onRegisteredSW:i,onRegisterError:s}=A;let o,l;const a=async(p=!0)=>{await l};async function r(){if("serviceWorker"in navigator){const{Workbox:p}=await E5(()=>import("./workbox-window.prod.es5-08b2315b.js"),[],import.meta.url);o=new p("./sw.js",{scope:"./",type:"classic"}),o.addEventListener("activated",d=>{(d.isUpdate||d.isExternal)&&window.location.reload()}),o.addEventListener("installed",d=>{d.isUpdate||n==null||n()}),o.register({immediate:C}).then(d=>{i?i("./sw.js",d):t==null||t(d)}).catch(d=>{s==null||s(d)})}}return l=r(),a}/*! + * vue-router v4.5.1 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const mt=typeof document<"u";function n0(A){return typeof A=="object"||"displayName"in A||"props"in A||"__vccOpts"in A}function v5(A){return A.__esModule||A[Symbol.toStringTag]==="Module"||A.default&&n0(A.default)}const hC=Object.assign;function Il(A,C){const e={};for(const n in C){const t=C[n];e[n]=_e(t)?t.map(A):A(t)}return e}const ii=()=>{},_e=Array.isArray,t0=/#/g,w5=/&/g,B5=/\//g,S5=/=/g,k5=/\?/g,i0=/\+/g,x5=/%5B/g,_5=/%5D/g,s0=/%5E/g,j5=/%60/g,o0=/%7B/g,I5=/%7C/g,l0=/%7D/g,M5=/%20/g;function Vr(A){return encodeURI(""+A).replace(I5,"|").replace(x5,"[").replace(_5,"]")}function D5(A){return Vr(A).replace(o0,"{").replace(l0,"}").replace(s0,"^")}function da(A){return Vr(A).replace(i0,"%2B").replace(M5,"+").replace(t0,"%23").replace(w5,"%26").replace(j5,"`").replace(o0,"{").replace(l0,"}").replace(s0,"^")}function P5(A){return da(A).replace(S5,"%3D")}function O5(A){return Vr(A).replace(t0,"%23").replace(k5,"%3F")}function L5(A){return A==null?"":O5(A).replace(B5,"%2F")}function Si(A){try{return decodeURIComponent(""+A)}catch{}return""+A}const K5=/\/$/,T5=A=>A.replace(K5,"");function Ml(A,C,e="/"){let n,t={},i="",s="";const o=C.indexOf("#");let l=C.indexOf("?");return o=0&&(l=-1),l>-1&&(n=C.slice(0,l),i=C.slice(l+1,o>-1?o:C.length),t=A(i)),o>-1&&(n=n||C.slice(0,o),s=C.slice(o,C.length)),n=R5(n??C,e),{fullPath:n+(i&&"?")+i+s,path:n,query:t,hash:Si(s)}}function F5(A,C){const e=C.query?A(C.query):"";return C.path+(e&&"?")+e+(C.hash||"")}function tm(A,C){return!C||!A.toLowerCase().startsWith(C.toLowerCase())?A:A.slice(C.length)||"/"}function N5(A,C,e){const n=C.matched.length-1,t=e.matched.length-1;return n>-1&&n===t&&kt(C.matched[n],e.matched[t])&&a0(C.params,e.params)&&A(C.query)===A(e.query)&&C.hash===e.hash}function kt(A,C){return(A.aliasOf||A)===(C.aliasOf||C)}function a0(A,C){if(Object.keys(A).length!==Object.keys(C).length)return!1;for(const e in A)if(!$5(A[e],C[e]))return!1;return!0}function $5(A,C){return _e(A)?im(A,C):_e(C)?im(C,A):A===C}function im(A,C){return _e(C)?A.length===C.length&&A.every((e,n)=>e===C[n]):A.length===1&&A[0]===C}function R5(A,C){if(A.startsWith("/"))return A;if(!A)return C;const e=C.split("/"),n=A.split("/"),t=n[n.length-1];(t===".."||t===".")&&n.push("");let i=e.length-1,s,o;for(s=0;s1&&i--;else break;return e.slice(0,i).join("/")+"/"+n.slice(s).join("/")}const mn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var ki;(function(A){A.pop="pop",A.push="push"})(ki||(ki={}));var si;(function(A){A.back="back",A.forward="forward",A.unknown=""})(si||(si={}));function G5(A){if(!A)if(mt){const C=document.querySelector("base");A=C&&C.getAttribute("href")||"/",A=A.replace(/^\w+:\/\/[^\/]+/,"")}else A="/";return A[0]!=="/"&&A[0]!=="#"&&(A="/"+A),T5(A)}const U5=/^[^#]+#/;function H5(A,C){return A.replace(U5,"#")+C}function Q5(A,C){const e=document.documentElement.getBoundingClientRect(),n=A.getBoundingClientRect();return{behavior:C.behavior,left:n.left-e.left-(C.left||0),top:n.top-e.top-(C.top||0)}}const Go=()=>({left:window.scrollX,top:window.scrollY});function V5(A){let C;if("el"in A){const e=A.el,n=typeof e=="string"&&e.startsWith("#"),t=typeof e=="string"?n?document.getElementById(e.slice(1)):document.querySelector(e):e;if(!t)return;C=Q5(t,A)}else C=A;"scrollBehavior"in document.documentElement.style?window.scrollTo(C):window.scrollTo(C.left!=null?C.left:window.scrollX,C.top!=null?C.top:window.scrollY)}function sm(A,C){return(history.state?history.state.position-C:-1)+A}const pa=new Map;function z5(A,C){pa.set(A,C)}function q5(A){const C=pa.get(A);return pa.delete(A),C}let W5=()=>location.protocol+"//"+location.host;function r0(A,C){const{pathname:e,search:n,hash:t}=C,i=A.indexOf("#");if(i>-1){let o=t.includes(A.slice(i))?A.slice(i).length:1,l=t.slice(o);return l[0]!=="/"&&(l="/"+l),tm(l,"")}return tm(e,A)+n+t}function Y5(A,C,e,n){let t=[],i=[],s=null;const o=({state:d})=>{const u=r0(A,location),g=e.value,v=C.value;let y=0;if(d){if(e.value=u,C.value=d,s&&s===g){s=null;return}y=v?d.position-v.position:0}else n(u);t.forEach(x=>{x(e.value,g,{delta:y,type:ki.pop,direction:y?y>0?si.forward:si.back:si.unknown})})};function l(){s=e.value}function a(d){t.push(d);const u=()=>{const g=t.indexOf(d);g>-1&&t.splice(g,1)};return i.push(u),u}function r(){const{history:d}=window;d.state&&d.replaceState(hC({},d.state,{scroll:Go()}),"")}function p(){for(const d of i)d();i=[],window.removeEventListener("popstate",o),window.removeEventListener("beforeunload",r)}return window.addEventListener("popstate",o),window.addEventListener("beforeunload",r,{passive:!0}),{pauseListeners:l,listen:a,destroy:p}}function om(A,C,e,n=!1,t=!1){return{back:A,current:C,forward:e,replaced:n,position:window.history.length,scroll:t?Go():null}}function J5(A){const{history:C,location:e}=window,n={value:r0(A,e)},t={value:C.state};t.value||i(n.value,{back:null,current:n.value,forward:null,position:C.length-1,replaced:!0,scroll:null},!0);function i(l,a,r){const p=A.indexOf("#"),d=p>-1?(e.host&&document.querySelector("base")?A:A.slice(p))+l:W5()+A+l;try{C[r?"replaceState":"pushState"](a,"",d),t.value=a}catch(u){console.error(u),e[r?"replace":"assign"](d)}}function s(l,a){const r=hC({},C.state,om(t.value.back,l,t.value.forward,!0),a,{position:t.value.position});i(l,r,!0),n.value=l}function o(l,a){const r=hC({},t.value,C.state,{forward:l,scroll:Go()});i(r.current,r,!0);const p=hC({},om(n.value,l,null),{position:r.position+1},a);i(l,p,!1),n.value=l}return{location:n,state:t,push:o,replace:s}}function X5(A){A=G5(A);const C=J5(A),e=Y5(A,C.state,C.location,C.replace);function n(i,s=!0){s||e.pauseListeners(),history.go(i)}const t=hC({location:"",base:A,go:n,createHref:H5.bind(null,A)},C,e);return Object.defineProperty(t,"location",{enumerable:!0,get:()=>C.location.value}),Object.defineProperty(t,"state",{enumerable:!0,get:()=>C.state.value}),t}function Z5(A){return A=location.host?A||location.pathname+location.search:"",A.includes("#")||(A+="#"),X5(A)}function Av(A){return typeof A=="string"||A&&typeof A=="object"}function c0(A){return typeof A=="string"||typeof A=="symbol"}const u0=Symbol("");var lm;(function(A){A[A.aborted=4]="aborted",A[A.cancelled=8]="cancelled",A[A.duplicated=16]="duplicated"})(lm||(lm={}));function xt(A,C){return hC(new Error,{type:A,[u0]:!0},C)}function Qe(A,C){return A instanceof Error&&u0 in A&&(C==null||!!(A.type&C))}const am="[^/]+?",Cv={sensitive:!1,strict:!1,start:!0,end:!0},ev=/[.+*?^${}()[\]/\\]/g;function nv(A,C){const e=hC({},Cv,C),n=[];let t=e.start?"^":"";const i=[];for(const a of A){const r=a.length?[]:[90];e.strict&&!a.length&&(t+="/");for(let p=0;pC.length?C.length===1&&C[0]===40+40?1:-1:0}function m0(A,C){let e=0;const n=A.score,t=C.score;for(;e0&&C[C.length-1]<0}const iv={type:0,value:""},sv=/[a-zA-Z0-9_]/;function ov(A){if(!A)return[[]];if(A==="/")return[[iv]];if(!A.startsWith("/"))throw new Error(`Invalid path "${A}"`);function C(u){throw new Error(`ERR (${e})/"${a}": ${u}`)}let e=0,n=e;const t=[];let i;function s(){i&&t.push(i),i=[]}let o=0,l,a="",r="";function p(){a&&(e===0?i.push({type:0,value:a}):e===1||e===2||e===3?(i.length>1&&(l==="*"||l==="+")&&C(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:a,regexp:r,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):C("Invalid state to consume buffer"),a="")}function d(){a+=l}for(;o{s(F)}:ii}function s(p){if(c0(p)){const d=n.get(p);d&&(n.delete(p),e.splice(e.indexOf(d),1),d.children.forEach(s),d.alias.forEach(s))}else{const d=e.indexOf(p);d>-1&&(e.splice(d,1),p.record.name&&n.delete(p.record.name),p.children.forEach(s),p.alias.forEach(s))}}function o(){return e}function l(p){const d=uv(p,e);e.splice(d,0,p),p.record.name&&!mm(p)&&n.set(p.record.name,p)}function a(p,d){let u,g={},v,y;if("name"in p&&p.name){if(u=n.get(p.name),!u)throw xt(1,{location:p});y=u.record.name,g=hC(cm(d.params,u.keys.filter(F=>!F.optional).concat(u.parent?u.parent.keys.filter(F=>F.optional):[]).map(F=>F.name)),p.params&&cm(p.params,u.keys.map(F=>F.name))),v=u.stringify(g)}else if(p.path!=null)v=p.path,u=e.find(F=>F.re.test(v)),u&&(g=u.parse(v),y=u.record.name);else{if(u=d.name?n.get(d.name):e.find(F=>F.re.test(d.path)),!u)throw xt(1,{location:p,currentLocation:d});y=u.record.name,g=hC({},d.params,p.params),v=u.stringify(g)}const x=[];let $=u;for(;$;)x.unshift($.record),$=$.parent;return{name:y,path:v,params:g,matched:x,meta:cv(x)}}A.forEach(p=>i(p));function r(){e.length=0,n.clear()}return{addRoute:i,resolve:a,removeRoute:s,clearRoutes:r,getRoutes:o,getRecordMatcher:t}}function cm(A,C){const e={};for(const n of C)n in A&&(e[n]=A[n]);return e}function um(A){const C={path:A.path,redirect:A.redirect,name:A.name,meta:A.meta||{},aliasOf:A.aliasOf,beforeEnter:A.beforeEnter,props:rv(A),children:A.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in A?A.components||null:A.component&&{default:A.component}};return Object.defineProperty(C,"mods",{value:{}}),C}function rv(A){const C={},e=A.props||!1;if("component"in A)C.default=e;else for(const n in A.components)C[n]=typeof e=="object"?e[n]:e;return C}function mm(A){for(;A;){if(A.record.aliasOf)return!0;A=A.parent}return!1}function cv(A){return A.reduce((C,e)=>hC(C,e.meta),{})}function dm(A,C){const e={};for(const n in A)e[n]=n in C?C[n]:A[n];return e}function uv(A,C){let e=0,n=C.length;for(;e!==n;){const i=e+n>>1;m0(A,C[i])<0?n=i:e=i+1}const t=mv(A);return t&&(n=C.lastIndexOf(t,n-1)),n}function mv(A){let C=A;for(;C=C.parent;)if(d0(C)&&m0(A,C)===0)return C}function d0({record:A}){return!!(A.name||A.components&&Object.keys(A.components).length||A.redirect)}function dv(A){const C={};if(A===""||A==="?")return C;const n=(A[0]==="?"?A.slice(1):A).split("&");for(let t=0;ti&&da(i)):[n&&da(n)]).forEach(i=>{i!==void 0&&(C+=(C.length?"&":"")+e,i!=null&&(C+="="+i))})}return C}function pv(A){const C={};for(const e in A){const n=A[e];n!==void 0&&(C[e]=_e(n)?n.map(t=>t==null?null:""+t):n==null?n:""+n)}return C}const fv=Symbol(""),fm=Symbol(""),zr=Symbol(""),p0=Symbol(""),fa=Symbol("");function Ht(){let A=[];function C(n){return A.push(n),()=>{const t=A.indexOf(n);t>-1&&A.splice(t,1)}}function e(){A=[]}return{add:C,list:()=>A.slice(),reset:e}}function bn(A,C,e,n,t,i=s=>s()){const s=n&&(n.enterCallbacks[t]=n.enterCallbacks[t]||[]);return()=>new Promise((o,l)=>{const a=d=>{d===!1?l(xt(4,{from:e,to:C})):d instanceof Error?l(d):Av(d)?l(xt(2,{from:C,to:d})):(s&&n.enterCallbacks[t]===s&&typeof d=="function"&&s.push(d),o())},r=i(()=>A.call(n&&n.instances[t],C,e,a));let p=Promise.resolve(r);A.length<3&&(p=p.then(a)),p.catch(d=>l(d))})}function Dl(A,C,e,n,t=i=>i()){const i=[];for(const s of A)for(const o in s.components){let l=s.components[o];if(!(C!=="beforeRouteEnter"&&!s.instances[o]))if(n0(l)){const r=(l.__vccOpts||l)[C];r&&i.push(bn(r,e,n,s,o,t))}else{let a=l();i.push(()=>a.then(r=>{if(!r)throw new Error(`Couldn't resolve component "${o}" at "${s.path}"`);const p=v5(r)?r.default:r;s.mods[o]=r,s.components[o]=p;const u=(p.__vccOpts||p)[C];return u&&bn(u,e,n,s,o,t)()}))}}return i}function hm(A){const C=Ne(zr),e=Ne(p0),n=me(()=>{const l=Hn(A.to);return C.resolve(l)}),t=me(()=>{const{matched:l}=n.value,{length:a}=l,r=l[a-1],p=e.matched;if(!r||!p.length)return-1;const d=p.findIndex(kt.bind(null,r));if(d>-1)return d;const u=gm(l[a-2]);return a>1&&gm(r)===u&&p[p.length-1].path!==u?p.findIndex(kt.bind(null,l[a-2])):d}),i=me(()=>t.value>-1&&yv(e.params,n.value.params)),s=me(()=>t.value>-1&&t.value===e.matched.length-1&&a0(e.params,n.value.params));function o(l={}){if(Ev(l)){const a=C[Hn(A.replace)?"replace":"push"](Hn(A.to)).catch(ii);return A.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:n,href:me(()=>n.value.href),isActive:i,isExactActive:s,navigate:o}}function hv(A){return A.length===1?A[0]:A}const gv=KA({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:hm,setup(A,{slots:C}){const e=Fi(hm(A)),{options:n}=Ne(zr),t=me(()=>({[bm(A.activeClass,n.linkActiveClass,"router-link-active")]:e.isActive,[bm(A.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:e.isExactActive}));return()=>{const i=C.default&&hv(C.default(e));return A.custom?i:WC("a",{"aria-current":e.isExactActive?A.ariaCurrentValue:null,href:e.href,onClick:e.navigate,class:t.value},i)}}}),bv=gv;function Ev(A){if(!(A.metaKey||A.altKey||A.ctrlKey||A.shiftKey)&&!A.defaultPrevented&&!(A.button!==void 0&&A.button!==0)){if(A.currentTarget&&A.currentTarget.getAttribute){const C=A.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(C))return}return A.preventDefault&&A.preventDefault(),!0}}function yv(A,C){for(const e in C){const n=C[e],t=A[e];if(typeof n=="string"){if(n!==t)return!1}else if(!_e(t)||t.length!==n.length||n.some((i,s)=>i!==t[s]))return!1}return!0}function gm(A){return A?A.aliasOf?A.aliasOf.path:A.path:""}const bm=(A,C,e)=>A??C??e,vv=KA({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(A,{attrs:C,slots:e}){const n=Ne(fa),t=me(()=>A.route||n.value),i=Ne(fm,0),s=me(()=>{let a=Hn(i);const{matched:r}=t.value;let p;for(;(p=r[a])&&!p.components;)a++;return a}),o=me(()=>t.value.matched[s.value]);ys(fm,me(()=>s.value+1)),ys(fv,o),ys(fa,t);const l=zn();return yt(()=>[l.value,o.value,A.name],([a,r,p],[d,u,g])=>{r&&(r.instances[p]=a,u&&u!==r&&a&&a===d&&(r.leaveGuards.size||(r.leaveGuards=u.leaveGuards),r.updateGuards.size||(r.updateGuards=u.updateGuards))),a&&r&&(!u||!kt(r,u)||!d)&&(r.enterCallbacks[p]||[]).forEach(v=>v(a))},{flush:"post"}),()=>{const a=t.value,r=A.name,p=o.value,d=p&&p.components[r];if(!d)return Em(e.default,{Component:d,route:a});const u=p.props[r],g=u?u===!0?a.params:typeof u=="function"?u(a):u:null,y=WC(d,hC({},g,C,{onVnodeUnmounted:x=>{x.component.isUnmounted&&(p.instances[r]=null)},ref:l}));return Em(e.default,{Component:y,route:a})||y}}});function Em(A,C){if(!A)return null;const e=A(C);return e.length===1?e[0]:e}const wv=vv;function Bv(A){const C=av(A.routes,A),e=A.parseQuery||dv,n=A.stringifyQuery||pm,t=A.history,i=Ht(),s=Ht(),o=Ht(),l=Gh(mn);let a=mn;mt&&A.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const r=Il.bind(null,N=>""+N),p=Il.bind(null,L5),d=Il.bind(null,Si);function u(N,uA){let oA,aA;return c0(N)?(oA=C.getRecordMatcher(N),aA=uA):aA=N,C.addRoute(aA,oA)}function g(N){const uA=C.getRecordMatcher(N);uA&&C.removeRoute(uA)}function v(){return C.getRoutes().map(N=>N.record)}function y(N){return!!C.getRecordMatcher(N)}function x(N,uA){if(uA=hC({},uA||l.value),typeof N=="string"){const w=Ml(e,N,uA.path),R=C.resolve({path:w.path},uA),X=t.createHref(w.fullPath);return hC(w,R,{params:d(R.params),hash:Si(w.hash),redirectedFrom:void 0,href:X})}let oA;if(N.path!=null)oA=hC({},N,{path:Ml(e,N.path,uA.path).path});else{const w=hC({},N.params);for(const R in w)w[R]==null&&delete w[R];oA=hC({},N,{params:p(w)}),uA.params=p(uA.params)}const aA=C.resolve(oA,uA),ZA=N.hash||"";aA.params=r(d(aA.params));const uC=F5(n,hC({},N,{hash:D5(ZA),path:aA.path})),E=t.createHref(uC);return hC({fullPath:uC,hash:ZA,query:n===pm?pv(N.query):N.query||{}},aA,{redirectedFrom:void 0,href:E})}function $(N){return typeof N=="string"?Ml(e,N,l.value.path):hC({},N)}function F(N,uA){if(a!==N)return xt(8,{from:uA,to:N})}function H(N){return BA(N)}function Y(N){return H(hC($(N),{replace:!0}))}function hA(N){const uA=N.matched[N.matched.length-1];if(uA&&uA.redirect){const{redirect:oA}=uA;let aA=typeof oA=="function"?oA(N):oA;return typeof aA=="string"&&(aA=aA.includes("?")||aA.includes("#")?aA=$(aA):{path:aA},aA.params={}),hC({query:N.query,hash:N.hash,params:aA.path!=null?{}:N.params},aA)}}function BA(N,uA){const oA=a=x(N),aA=l.value,ZA=N.state,uC=N.force,E=N.replace===!0,w=hA(oA);if(w)return BA(hC($(w),{state:typeof w=="object"?hC({},ZA,w.state):ZA,force:uC,replace:E}),uA||oA);const R=oA;R.redirectedFrom=uA;let X;return!uC&&N5(n,aA,oA)&&(X=xt(16,{to:R,from:aA}),XA(aA,aA,!0,!1)),(X?Promise.resolve(X):rA(R,aA)).catch(z=>Qe(z)?Qe(z,2)?z:bA(z):T(z,R,aA)).then(z=>{if(z){if(Qe(z,2))return BA(hC({replace:E},$(z.to),{state:typeof z.to=="object"?hC({},ZA,z.to.state):ZA,force:uC}),uA||R)}else z=O(R,aA,!0,E,ZA);return I(R,aA,z),z})}function cA(N,uA){const oA=F(N,uA);return oA?Promise.reject(oA):Promise.resolve()}function eA(N){const uA=NA.values().next().value;return uA&&typeof uA.runWithContext=="function"?uA.runWithContext(N):N()}function rA(N,uA){let oA;const[aA,ZA,uC]=Sv(N,uA);oA=Dl(aA.reverse(),"beforeRouteLeave",N,uA);for(const w of aA)w.leaveGuards.forEach(R=>{oA.push(bn(R,N,uA))});const E=cA.bind(null,N,uA);return oA.push(E),UA(oA).then(()=>{oA=[];for(const w of i.list())oA.push(bn(w,N,uA));return oA.push(E),UA(oA)}).then(()=>{oA=Dl(ZA,"beforeRouteUpdate",N,uA);for(const w of ZA)w.updateGuards.forEach(R=>{oA.push(bn(R,N,uA))});return oA.push(E),UA(oA)}).then(()=>{oA=[];for(const w of uC)if(w.beforeEnter)if(_e(w.beforeEnter))for(const R of w.beforeEnter)oA.push(bn(R,N,uA));else oA.push(bn(w.beforeEnter,N,uA));return oA.push(E),UA(oA)}).then(()=>(N.matched.forEach(w=>w.enterCallbacks={}),oA=Dl(uC,"beforeRouteEnter",N,uA,eA),oA.push(E),UA(oA))).then(()=>{oA=[];for(const w of s.list())oA.push(bn(w,N,uA));return oA.push(E),UA(oA)}).catch(w=>Qe(w,8)?w:Promise.reject(w))}function I(N,uA,oA){o.list().forEach(aA=>eA(()=>aA(N,uA,oA)))}function O(N,uA,oA,aA,ZA){const uC=F(N,uA);if(uC)return uC;const E=uA===mn,w=mt?history.state:{};oA&&(aA||E?t.replace(N.fullPath,hC({scroll:E&&w&&w.scroll},ZA)):t.push(N.fullPath,ZA)),l.value=N,XA(N,uA,oA,E),bA()}let W;function V(){W||(W=t.listen((N,uA,oA)=>{if(!PC.listening)return;const aA=x(N),ZA=hA(aA);if(ZA){BA(hC(ZA,{replace:!0,force:!0}),aA).catch(ii);return}a=aA;const uC=l.value;mt&&z5(sm(uC.fullPath,oA.delta),Go()),rA(aA,uC).catch(E=>Qe(E,12)?E:Qe(E,2)?(BA(hC($(E.to),{force:!0}),aA).then(w=>{Qe(w,20)&&!oA.delta&&oA.type===ki.pop&&t.go(-1,!1)}).catch(ii),Promise.reject()):(oA.delta&&t.go(-oA.delta,!1),T(E,aA,uC))).then(E=>{E=E||O(aA,uC,!1),E&&(oA.delta&&!Qe(E,8)?t.go(-oA.delta,!1):oA.type===ki.pop&&Qe(E,20)&&t.go(-1,!1)),I(aA,uC,E)}).catch(ii)}))}let B=Ht(),M=Ht(),_;function T(N,uA,oA){bA(N);const aA=M.list();return aA.length?aA.forEach(ZA=>ZA(N,uA,oA)):console.error(N),Promise.reject(N)}function pA(){return _&&l.value!==mn?Promise.resolve():new Promise((N,uA)=>{B.add([N,uA])})}function bA(N){return _||(_=!N,V(),B.list().forEach(([uA,oA])=>N?oA(N):uA()),B.reset()),N}function XA(N,uA,oA,aA){const{scrollBehavior:ZA}=A;if(!mt||!ZA)return Promise.resolve();const uC=!oA&&q5(sm(N.fullPath,0))||(aA||!oA)&&history.state&&history.state.scroll||null;return Ot().then(()=>ZA(N,uA,uC)).then(E=>E&&V5(E)).catch(E=>T(E,N,uA))}const nC=N=>t.go(N);let FA;const NA=new Set,PC={currentRoute:l,listening:!0,addRoute:u,removeRoute:g,clearRoutes:C.clearRoutes,hasRoute:y,getRoutes:v,resolve:x,options:A,push:H,replace:Y,go:nC,back:()=>nC(-1),forward:()=>nC(1),beforeEach:i.add,beforeResolve:s.add,afterEach:o.add,onError:M.add,isReady:pA,install(N){const uA=this;N.component("RouterLink",bv),N.component("RouterView",wv),N.config.globalProperties.$router=uA,Object.defineProperty(N.config.globalProperties,"$route",{enumerable:!0,get:()=>Hn(l)}),mt&&!FA&&l.value===mn&&(FA=!0,H(t.location).catch(ZA=>{}));const oA={};for(const ZA in mn)Object.defineProperty(oA,ZA,{get:()=>l.value[ZA],enumerable:!0});N.provide(zr,uA),N.provide(p0,Rd(oA)),N.provide(fa,l);const aA=N.unmount;NA.add(N),N.unmount=function(){NA.delete(N),NA.size<1&&(a=mn,W&&W(),W=null,l.value=mn,FA=!1,_=!1),aA()}}};function UA(N){return N.reduce((uA,oA)=>uA.then(()=>eA(oA)),Promise.resolve())}return PC}function Sv(A,C){const e=[],n=[],t=[],i=Math.max(C.matched.length,A.matched.length);for(let s=0;skt(a,o))?n.push(o):e.push(o));const l=A.matched[s];l&&(C.matched.find(a=>kt(a,l))||t.push(l))}return[e,n,t]}function f0(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",C="d74a315ffb8992eaa4bea36c0dccdb31595c1798",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d74a315ffb8992eaa4bea36c0dccdb31595c1798"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return f0=function(){return s},s}f0();function WA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",C="51812b9df301af58b73d032d05dc007ed8d99ab1",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",statementMap:{0:{start:{line:2,column:18},end:{line:75,column:1}},1:{start:{line:31,column:4},end:{line:34,column:5}},2:{start:{line:38,column:6},end:{line:46,column:7}},3:{start:{line:40,column:10},end:{line:40,column:34}},4:{start:{line:43,column:10},end:{line:43,column:35}},5:{start:{line:45,column:10},end:{line:45,column:35}},6:{start:{line:49,column:6},end:{line:51,column:7}},7:{start:{line:50,column:8},end:{line:50,column:45}},8:{start:{line:52,column:6},end:{line:52,column:21}},9:{start:{line:59,column:4},end:{line:59,column:23}},10:{start:{line:63,column:21},end:{line:63,column:60}},11:{start:{line:64,column:6},end:{line:64,column:27}},12:{start:{line:65,column:6},end:{line:72,column:7}},13:{start:{line:66,column:22},end:{line:70,column:21}},14:{start:{line:69,column:12},end:{line:69,column:45}},15:{start:{line:71,column:8},end:{line:71,column:55}},16:{start:{line:79,column:19},end:{line:79,column:35}},17:{start:{line:80,column:19},end:{line:83,column:1}},18:{start:{line:86,column:2},end:{line:108,column:8}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:30,column:2},end:{line:30,column:3}},loc:{start:{line:30,column:10},end:{line:35,column:3}},line:30},1:{name:"(anonymous_1)",decl:{start:{line:37,column:4},end:{line:37,column:5}},loc:{start:{line:37,column:21},end:{line:47,column:5}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:48,column:4},end:{line:48,column:5}},loc:{start:{line:48,column:13},end:{line:53,column:5}},line:48},3:{name:"(anonymous_3)",decl:{start:{line:58,column:2},end:{line:58,column:3}},loc:{start:{line:58,column:13},end:{line:60,column:3}},line:58},4:{name:"(anonymous_4)",decl:{start:{line:62,column:4},end:{line:62,column:5}},loc:{start:{line:62,column:26},end:{line:73,column:5}},line:62},5:{name:"(anonymous_5)",decl:{start:{line:68,column:18},end:{line:68,column:19}},loc:{start:{line:68,column:35},end:{line:70,column:11}},line:68},6:{name:"_sfc_render",decl:{start:{line:85,column:9},end:{line:85,column:20}},loc:{start:{line:85,column:68},end:{line:109,column:1}},line:85}},branchMap:{0:{loc:{start:{line:38,column:6},end:{line:46,column:7}},type:"switch",locations:[{start:{line:39,column:8},end:{line:40,column:34}},{start:{line:41,column:8},end:{line:41,column:20}},{start:{line:42,column:8},end:{line:43,column:35}},{start:{line:44,column:8},end:{line:45,column:35}}],line:38},1:{loc:{start:{line:49,column:6},end:{line:51,column:7}},type:"if",locations:[{start:{line:49,column:6},end:{line:51,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:49},2:{loc:{start:{line:65,column:6},end:{line:72,column:7}},type:"if",locations:[{start:{line:65,column:6},end:{line:72,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:65},3:{loc:{start:{line:98,column:6},end:{line:103,column:39}},type:"cond-expr",locations:[{start:{line:99,column:11},end:{line:102,column:21}},{start:{line:103,column:10},end:{line:103,column:39}}],line:98},4:{loc:{start:{line:105,column:4},end:{line:107,column:37}},type:"cond-expr",locations:[{start:{line:106,column:9},end:{line:106,column:123}},{start:{line:107,column:8},end:{line:107,column:37}}],line:105},5:{loc:{start:{line:106,column:80},end:{line:106,column:118}},type:"cond-expr",locations:[{start:{line:106,column:94},end:{line:106,column:105}},{start:{line:106,column:108},end:{line:106,column:118}}],line:106}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0,0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"51812b9df301af58b73d032d05dc007ed8d99ab1"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return WA=function(){return s},s}WA();const kv=(WA().s[0]++,{name:"Avatar",props:{jid:{type:String,required:!0},name:{type:String,default:null},displayJid:{type:Boolean,default:!1},presence:{type:String,default:null},status:{type:String,default:null},size:{type:Number,default:32}},data(){return WA().f[0]++,WA().s[1]++,{uri:null,style:null}},computed:{presenceClass(){switch(WA().f[1]++,WA().s[2]++,this.presence){case"dnd":return WA().b[0][0]++,WA().s[3]++,"has-text-danger";case"away":WA().b[0][1]++;case"xa":return WA().b[0][2]++,WA().s[4]++,"has-text-warning";default:return WA().b[0][3]++,WA().s[5]++,"has-text-success"}},title(){return WA().f[2]++,WA().s[6]++,this.status!==null?(WA().b[1][0]++,WA().s[7]++,`${this.jid} / ${this.status}`):(WA().b[1][1]++,WA().s[8]++,this.jid)}},watch:{jid:"getJidAvatar"},created(){WA().f[3]++,WA().s[9]++,this.getJidAvatar()},methods:{async getJidAvatar(){WA().f[4]++;const A=(WA().s[10]++,await this.$xmpp.getJidAvatar(this.jid));if(WA().s[11]++,this.uri=A.uri,WA().s[12]++,A.isDefault){WA().b[2][0]++;const C=(WA().s[13]++,this.jid.split("").reduce((e,n)=>(WA().f[5]++,WA().s[14]++,e+n.charCodeAt(0)),0)%360);WA().s[15]++,this.style=`filter: hue-rotate(${C}deg);`}else WA().b[2][1]++}}}),xv=(WA().s[16]++,["src","title"]),_v=(WA().s[17]++,{key:0,class:"ml-3"});function jv(A,C,e,n,t,i){return WA().f[6]++,WA().s[18]++,h(),Q("span",{class:zA({"has-jid":e.displayJid})},[b("figure",{class:zA("image is-"+e.size+"x"+e.size)},[b("img",{class:"is-rounded",style:wo(t.style),src:t.uri,title:i.title},null,12,xv),e.presence?(WA().b[3][0]++,h(),Q("i",{key:0,class:zA(["fa fa-circle presence-icon",i.presenceClass])},null,2)):(WA().b[3][1]++,L("",!0))],2),e.displayJid?(WA().b[4][0]++,h(),Q("span",_v,lA(e.name?(WA().b[5][0]++,e.name):(WA().b[5][1]++,e.jid)),1)):(WA().b[4][1]++,L("",!0))],2)}const Kt=pC(kv,[["render",jv]]),h0={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.autodesk.fbx":["fbx"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dcmp+xml":["dcmp"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.slides":["ggs"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.drawing":["gdraw"],"application/vnd.google-apps.form":["gform"],"application/vnd.google-apps.jam":["gjam"],"application/vnd.google-apps.map":["gmap"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.script":["gscript"],"application/vnd.google-apps.site":["gsite"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.gov.sk.xmldatacontainer+xml":["xdcf"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-visio.viewer":["vdx"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.nato.bindingdataobject+xml":["bdo"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.procrate.brushset":["brushset"],"application/vnd.procreate.brush":["brush"],"application/vnd.procreate.dream":["drm"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw","vsdx","vtx"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blender":["blend"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-compressed":["*rar"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-ipynb+json":["ipynb"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zip-compressed":["*zip"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-adobe-dng":["dng"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.bary":["bary"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["*mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(h0);const g0={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(g0);var ue=globalThis&&globalThis.__classPrivateFieldGet||function(A,C,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof C=="function"?A!==C||!n:!C.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(A):n?n.value:C.get(A)},dt,Yt,Nn;class Iv{constructor(...C){dt.set(this,new Map),Yt.set(this,new Map),Nn.set(this,new Map);for(const e of C)this.define(e)}define(C,e=!1){for(let[n,t]of Object.entries(C)){n=n.toLowerCase(),t=t.map(o=>o.toLowerCase()),ue(this,Nn,"f").has(n)||ue(this,Nn,"f").set(n,new Set);const i=ue(this,Nn,"f").get(n);let s=!0;for(let o of t){const l=o.startsWith("*");if(o=l?o.slice(1):o,i==null||i.add(o),s&&ue(this,Yt,"f").set(n,o),s=!1,l)continue;const a=ue(this,dt,"f").get(o);if(a&&a!=n&&!e)throw new Error(`"${n} -> ${o}" conflicts with "${a} -> ${o}". Pass \`force=true\` to override this definition.`);ue(this,dt,"f").set(o,n)}}return this}getType(C){if(typeof C!="string")return null;const e=C.replace(/^.*[/\\]/s,"").toLowerCase(),n=e.replace(/^.*\./s,"").toLowerCase(),t=e.length{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const C of ue(this,Nn,"f").values())Object.freeze(C);return this}_getTestState(){return{types:ue(this,dt,"f"),extensions:ue(this,Yt,"f")}}}dt=new WeakMap,Yt=new WeakMap,Nn=new WeakMap;const Mv=new Iv(g0,h0)._freeze();function b0(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",C="7670b88e626bf7f27e51d4d456524ca97efcfa0d",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7670b88e626bf7f27e51d4d456524ca97efcfa0d"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return b0=function(){return s},s}b0();function _A(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",C="94912963e46ccc42736691474414c6612b8ed96d",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",statementMap:{0:{start:{line:4,column:18},end:{line:50,column:1}},1:{start:{line:13,column:4},end:{line:18,column:5}},2:{start:{line:22,column:6},end:{line:22,column:35}},3:{start:{line:26,column:4},end:{line:48,column:5}},4:{start:{line:31,column:8},end:{line:31,column:27}},5:{start:{line:32,column:8},end:{line:32,column:13}},6:{start:{line:39,column:8},end:{line:39,column:27}},7:{start:{line:40,column:8},end:{line:40,column:13}},8:{start:{line:46,column:8},end:{line:46,column:27}},9:{start:{line:47,column:8},end:{line:47,column:13}},10:{start:{line:54,column:19},end:{line:54,column:26}},11:{start:{line:55,column:19},end:{line:55,column:26}},12:{start:{line:56,column:19},end:{line:56,column:26}},13:{start:{line:57,column:19},end:{line:57,column:27}},14:{start:{line:58,column:19},end:{line:58,column:61}},15:{start:{line:59,column:19},end:{line:59,column:26}},16:{start:{line:62,column:2},end:{line:117,column:5}},17:{start:{line:68,column:56},end:{line:68,column:81}},18:{start:{line:101,column:58},end:{line:101,column:84}},19:{start:{line:113,column:58},end:{line:113,column:84}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:2},end:{line:12,column:3}},loc:{start:{line:12,column:10},end:{line:19,column:3}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:21,column:4},end:{line:21,column:5}},loc:{start:{line:21,column:19},end:{line:23,column:5}},line:21},2:{name:"(anonymous_2)",decl:{start:{line:25,column:2},end:{line:25,column:3}},loc:{start:{line:25,column:13},end:{line:49,column:3}},line:25},3:{name:"_sfc_render",decl:{start:{line:61,column:9},end:{line:61,column:20}},loc:{start:{line:61,column:68},end:{line:118,column:1}},line:61},4:{name:"(anonymous_4)",decl:{start:{line:68,column:45},end:{line:68,column:46}},loc:{start:{line:68,column:56},end:{line:68,column:81}},line:68},5:{name:"(anonymous_5)",decl:{start:{line:101,column:47},end:{line:101,column:48}},loc:{start:{line:101,column:58},end:{line:101,column:84}},line:101},6:{name:"(anonymous_6)",decl:{start:{line:113,column:47},end:{line:113,column:48}},loc:{start:{line:113,column:58},end:{line:113,column:84}},line:113}},branchMap:{0:{loc:{start:{line:26,column:4},end:{line:48,column:5}},type:"switch",locations:[{start:{line:27,column:6},end:{line:27,column:24}},{start:{line:28,column:6},end:{line:28,column:23}},{start:{line:29,column:6},end:{line:29,column:23}},{start:{line:30,column:6},end:{line:32,column:13}},{start:{line:33,column:6},end:{line:33,column:24}},{start:{line:34,column:6},end:{line:34,column:23}},{start:{line:35,column:6},end:{line:35,column:23}},{start:{line:36,column:6},end:{line:36,column:25}},{start:{line:37,column:6},end:{line:37,column:24}},{start:{line:38,column:6},end:{line:40,column:13}},{start:{line:41,column:6},end:{line:41,column:24}},{start:{line:42,column:6},end:{line:42,column:23}},{start:{line:43,column:6},end:{line:43,column:29}},{start:{line:44,column:6},end:{line:44,column:28}},{start:{line:45,column:6},end:{line:47,column:13}}],line:26},1:{loc:{start:{line:63,column:4},end:{line:93,column:30}},type:"cond-expr",locations:[{start:{line:64,column:9},end:{line:69,column:31}},{start:{line:70,column:8},end:{line:93,column:30}}],line:63},2:{loc:{start:{line:68,column:19},end:{line:68,column:83}},type:"binary-expr",locations:[{start:{line:68,column:19},end:{line:68,column:28}},{start:{line:68,column:33},end:{line:68,column:82}}],line:68},3:{loc:{start:{line:70,column:8},end:{line:93,column:30}},type:"cond-expr",locations:[{start:{line:71,column:11},end:{line:75,column:33}},{start:{line:76,column:10},end:{line:93,column:30}}],line:70},4:{loc:{start:{line:76,column:10},end:{line:93,column:30}},type:"cond-expr",locations:[{start:{line:77,column:13},end:{line:82,column:35}},{start:{line:83,column:13},end:{line:93,column:29}}],line:76},5:{loc:{start:{line:89,column:14},end:{line:91,column:21}},type:"binary-expr",locations:[{start:{line:89,column:14},end:{line:89,column:23}},{start:{line:89,column:28},end:{line:91,column:20}}],line:89},6:{loc:{start:{line:94,column:4},end:{line:116,column:37}},type:"cond-expr",locations:[{start:{line:95,column:9},end:{line:115,column:13}},{start:{line:116,column:8},end:{line:116,column:37}}],line:94},7:{loc:{start:{line:101,column:21},end:{line:101,column:86}},type:"binary-expr",locations:[{start:{line:101,column:21},end:{line:101,column:30}},{start:{line:101,column:35},end:{line:101,column:85}}],line:101},8:{loc:{start:{line:113,column:21},end:{line:113,column:86}},type:"binary-expr",locations:[{start:{line:113,column:21},end:{line:113,column:30}},{start:{line:113,column:35},end:{line:113,column:85}}],line:113}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"94912963e46ccc42736691474414c6612b8ed96d"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return _A=function(){return s},s}_A();const Dv=(_A().s[0]++,{name:"MessageLink",props:{url:{type:String,required:!0}},data(){return _A().f[0]++,_A().s[1]++,{isImage:!1,isAudio:!1,isVideo:!1,displayModal:!1}},computed:{contentType(){return _A().f[1]++,_A().s[2]++,Mv.getType(this.url)}},mounted(){switch(_A().f[2]++,_A().s[3]++,this.contentType){case"image/jpeg":_A().b[0][0]++;case"image/gif":_A().b[0][1]++;case"image/png":_A().b[0][2]++;case"image/tiff":_A().b[0][3]++,_A().s[4]++,this.isImage=!0,_A().s[5]++;break;case"audio/mpeg":_A().b[0][4]++;case"audio/mp3":_A().b[0][5]++;case"audio/mp4":_A().b[0][6]++;case"audio/x-wav":_A().b[0][7]++;case"audio/wave":_A().b[0][8]++;case"audio/wav":_A().b[0][9]++,_A().s[6]++,this.isAudio=!0,_A().s[7]++;break;case"video/mpeg":_A().b[0][10]++;case"video/mp4":_A().b[0][11]++;case"video/quicktime":_A().b[0][12]++;case"video/x-ms-wmv":_A().b[0][13]++;case"video/x-msvideo":_A().b[0][14]++,_A().s[8]++,this.isVideo=!0,_A().s[9]++;break}}}),Pv=(_A().s[10]++,["src"]),Ov=(_A().s[11]++,["src"]),Lv=(_A().s[12]++,["src"]),Kv=(_A().s[13]++,["href"]),Tv=(_A().s[14]++,{class:"modal-content image-container"}),Fv=(_A().s[15]++,["src"]);function Nv(A,C,e,n,t,i){return _A().f[3]++,_A().s[16]++,h(),Q("div",null,[t.isImage?(_A().b[1][0]++,h(),Q("img",{key:0,src:e.url,class:"thumbnail",onClick:(_A().b[2][0]++,C[0]||(_A().b[2][1]++,C[0]=s=>(_A().f[4]++,_A().s[17]++,t.displayModal=!0)))},null,8,Pv)):(_A().b[1][1]++,t.isAudio?(_A().b[3][0]++,h(),Q("audio",{key:1,src:e.url,controls:""},null,8,Ov)):(_A().b[3][1]++,t.isVideo?(_A().b[4][0]++,h(),Q("video",{key:2,src:e.url,controls:"",width:"300"},null,8,Lv)):(_A().b[4][1]++,h(),Q("a",{key:3,class:"button is-light is-small",href:e.url,target:"_blank"},[(_A().b[5][0]++,C[3]||(_A().b[5][1]++,C[3]=b("span",{class:"icon is-small"},[b("i",{class:"fa fa-download"})],-1))),b("span",null,"Download file ("+lA(i.contentType)+")",1)],8,Kv)))),t.isImage?(_A().b[6][0]++,h(),Q("div",{key:4,class:zA(["modal",{"is-active":t.displayModal}])},[b("div",{class:"modal-background",onClick:(_A().b[7][0]++,C[1]||(_A().b[7][1]++,C[1]=s=>(_A().f[5]++,_A().s[18]++,t.displayModal=!1)))}),b("div",Tv,[b("img",{src:e.url,alt:""},null,8,Fv)]),b("button",{class:"modal-close is-large","aria-label":"close",title:"Close",onClick:(_A().b[8][0]++,C[2]||(_A().b[8][1]++,C[2]=s=>(_A().f[6]++,_A().s[19]++,t.displayModal=!1)))})],2)):(_A().b[6][1]++,L("",!0))])}const $v=pC(Dv,[["render",Nv],["__scopeId","data-v-63e2154b"]]);var E0={},xi={},qr={},_i={},Wr={};Object.defineProperty(Wr,"__esModule",{value:!0});Wr.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(function(A){return A.charCodeAt(0)}));var Yr={};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.default=new Uint16Array("Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function(A){return A.charCodeAt(0)}));var ha={};(function(A){var C;Object.defineProperty(A,"__esModule",{value:!0}),A.replaceCodePoint=A.fromCodePoint=void 0;var e=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);A.fromCodePoint=(C=String.fromCodePoint)!==null&&C!==void 0?C:function(i){var s="";return i>65535&&(i-=65536,s+=String.fromCharCode(i>>>10&1023|55296),i=56320|i&1023),s+=String.fromCharCode(i),s};function n(i){var s;return i>=55296&&i<=57343||i>1114111?65533:(s=e.get(i))!==null&&s!==void 0?s:i}A.replaceCodePoint=n;function t(i){return(0,A.fromCodePoint)(n(i))}A.default=t})(ha);(function(A){var C=TA&&TA.__createBinding||(Object.create?function(I,O,W,V){V===void 0&&(V=W);var B=Object.getOwnPropertyDescriptor(O,W);(!B||("get"in B?!O.__esModule:B.writable||B.configurable))&&(B={enumerable:!0,get:function(){return O[W]}}),Object.defineProperty(I,V,B)}:function(I,O,W,V){V===void 0&&(V=W),I[V]=O[W]}),e=TA&&TA.__setModuleDefault||(Object.create?function(I,O){Object.defineProperty(I,"default",{enumerable:!0,value:O})}:function(I,O){I.default=O}),n=TA&&TA.__importStar||function(I){if(I&&I.__esModule)return I;var O={};if(I!=null)for(var W in I)W!=="default"&&Object.prototype.hasOwnProperty.call(I,W)&&C(O,I,W);return e(O,I),O},t=TA&&TA.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(A,"__esModule",{value:!0}),A.decodeXML=A.decodeHTMLStrict=A.decodeHTMLAttribute=A.decodeHTML=A.determineBranch=A.EntityDecoder=A.DecodingMode=A.BinTrieFlags=A.fromCodePoint=A.replaceCodePoint=A.decodeCodePoint=A.xmlDecodeTree=A.htmlDecodeTree=void 0;var i=t(Wr);A.htmlDecodeTree=i.default;var s=t(Yr);A.xmlDecodeTree=s.default;var o=n(ha);A.decodeCodePoint=o.default;var l=ha;Object.defineProperty(A,"replaceCodePoint",{enumerable:!0,get:function(){return l.replaceCodePoint}}),Object.defineProperty(A,"fromCodePoint",{enumerable:!0,get:function(){return l.fromCodePoint}});var a;(function(I){I[I.NUM=35]="NUM",I[I.SEMI=59]="SEMI",I[I.EQUALS=61]="EQUALS",I[I.ZERO=48]="ZERO",I[I.NINE=57]="NINE",I[I.LOWER_A=97]="LOWER_A",I[I.LOWER_F=102]="LOWER_F",I[I.LOWER_X=120]="LOWER_X",I[I.LOWER_Z=122]="LOWER_Z",I[I.UPPER_A=65]="UPPER_A",I[I.UPPER_F=70]="UPPER_F",I[I.UPPER_Z=90]="UPPER_Z"})(a||(a={}));var r=32,p;(function(I){I[I.VALUE_LENGTH=49152]="VALUE_LENGTH",I[I.BRANCH_LENGTH=16256]="BRANCH_LENGTH",I[I.JUMP_TABLE=127]="JUMP_TABLE"})(p=A.BinTrieFlags||(A.BinTrieFlags={}));function d(I){return I>=a.ZERO&&I<=a.NINE}function u(I){return I>=a.UPPER_A&&I<=a.UPPER_F||I>=a.LOWER_A&&I<=a.LOWER_F}function g(I){return I>=a.UPPER_A&&I<=a.UPPER_Z||I>=a.LOWER_A&&I<=a.LOWER_Z||d(I)}function v(I){return I===a.EQUALS||g(I)}var y;(function(I){I[I.EntityStart=0]="EntityStart",I[I.NumericStart=1]="NumericStart",I[I.NumericDecimal=2]="NumericDecimal",I[I.NumericHex=3]="NumericHex",I[I.NamedEntity=4]="NamedEntity"})(y||(y={}));var x;(function(I){I[I.Legacy=0]="Legacy",I[I.Strict=1]="Strict",I[I.Attribute=2]="Attribute"})(x=A.DecodingMode||(A.DecodingMode={}));var $=function(){function I(O,W,V){this.decodeTree=O,this.emitCodePoint=W,this.errors=V,this.state=y.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=x.Strict}return I.prototype.startEntity=function(O){this.decodeMode=O,this.state=y.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},I.prototype.write=function(O,W){switch(this.state){case y.EntityStart:return O.charCodeAt(W)===a.NUM?(this.state=y.NumericStart,this.consumed+=1,this.stateNumericStart(O,W+1)):(this.state=y.NamedEntity,this.stateNamedEntity(O,W));case y.NumericStart:return this.stateNumericStart(O,W);case y.NumericDecimal:return this.stateNumericDecimal(O,W);case y.NumericHex:return this.stateNumericHex(O,W);case y.NamedEntity:return this.stateNamedEntity(O,W)}},I.prototype.stateNumericStart=function(O,W){return W>=O.length?-1:(O.charCodeAt(W)|r)===a.LOWER_X?(this.state=y.NumericHex,this.consumed+=1,this.stateNumericHex(O,W+1)):(this.state=y.NumericDecimal,this.stateNumericDecimal(O,W))},I.prototype.addToNumericResult=function(O,W,V,B){if(W!==V){var M=V-W;this.result=this.result*Math.pow(B,M)+parseInt(O.substr(W,M),B),this.consumed+=M}},I.prototype.stateNumericHex=function(O,W){for(var V=W;W>14;W>14,M!==0){if(_===a.SEMI)return this.emitNamedEntityData(this.treeIndex,M,this.consumed+this.excess);this.decodeMode!==x.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1},I.prototype.emitNotTerminatedNamedEntity=function(){var O,W=this,V=W.result,B=W.decodeTree,M=(B[V]&p.VALUE_LENGTH)>>14;return this.emitNamedEntityData(V,M,this.consumed),(O=this.errors)===null||O===void 0||O.missingSemicolonAfterCharacterReference(),this.consumed},I.prototype.emitNamedEntityData=function(O,W,V){var B=this.decodeTree;return this.emitCodePoint(W===1?B[O]&~p.VALUE_LENGTH:B[O+1],V),W===3&&this.emitCodePoint(B[O+2],V),V},I.prototype.end=function(){var O;switch(this.state){case y.NamedEntity:return this.result!==0&&(this.decodeMode!==x.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case y.NumericDecimal:return this.emitNumericEntity(0,2);case y.NumericHex:return this.emitNumericEntity(0,3);case y.NumericStart:return(O=this.errors)===null||O===void 0||O.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case y.EntityStart:return 0}},I}();A.EntityDecoder=$;function F(I){var O="",W=new $(I,function(V){return O+=(0,o.fromCodePoint)(V)});return function(B,M){for(var _=0,T=0;(T=B.indexOf("&",T))>=0;){O+=B.slice(_,T),W.startEntity(M);var pA=W.write(B,T+1);if(pA<0){_=T+W.end();break}_=T+pA,T=pA===0?_+1:_}var bA=O+B.slice(_);return O="",bA}}function H(I,O,W,V){var B=(O&p.BRANCH_LENGTH)>>7,M=O&p.JUMP_TABLE;if(B===0)return M!==0&&V===M?W:-1;if(M){var _=V-M;return _<0||_>=B?-1:I[W+_]-1}for(var T=W,pA=T+B-1;T<=pA;){var bA=T+pA>>>1,XA=I[bA];if(XAV)pA=bA-1;else return I[bA+B]}return-1}A.determineBranch=H;var Y=F(i.default),hA=F(s.default);function BA(I,O){return O===void 0&&(O=x.Legacy),Y(I,O)}A.decodeHTML=BA;function cA(I){return Y(I,x.Attribute)}A.decodeHTMLAttribute=cA;function eA(I){return Y(I,x.Strict)}A.decodeHTMLStrict=eA;function rA(I){return hA(I,x.Strict)}A.decodeXML=rA})(_i);(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.QuoteType=void 0;var C=_i,e;(function(d){d[d.Tab=9]="Tab",d[d.NewLine=10]="NewLine",d[d.FormFeed=12]="FormFeed",d[d.CarriageReturn=13]="CarriageReturn",d[d.Space=32]="Space",d[d.ExclamationMark=33]="ExclamationMark",d[d.Number=35]="Number",d[d.Amp=38]="Amp",d[d.SingleQuote=39]="SingleQuote",d[d.DoubleQuote=34]="DoubleQuote",d[d.Dash=45]="Dash",d[d.Slash=47]="Slash",d[d.Zero=48]="Zero",d[d.Nine=57]="Nine",d[d.Semi=59]="Semi",d[d.Lt=60]="Lt",d[d.Eq=61]="Eq",d[d.Gt=62]="Gt",d[d.Questionmark=63]="Questionmark",d[d.UpperA=65]="UpperA",d[d.LowerA=97]="LowerA",d[d.UpperF=70]="UpperF",d[d.LowerF=102]="LowerF",d[d.UpperZ=90]="UpperZ",d[d.LowerZ=122]="LowerZ",d[d.LowerX=120]="LowerX",d[d.OpeningSquareBracket=91]="OpeningSquareBracket"})(e||(e={}));var n;(function(d){d[d.Text=1]="Text",d[d.BeforeTagName=2]="BeforeTagName",d[d.InTagName=3]="InTagName",d[d.InSelfClosingTag=4]="InSelfClosingTag",d[d.BeforeClosingTagName=5]="BeforeClosingTagName",d[d.InClosingTagName=6]="InClosingTagName",d[d.AfterClosingTagName=7]="AfterClosingTagName",d[d.BeforeAttributeName=8]="BeforeAttributeName",d[d.InAttributeName=9]="InAttributeName",d[d.AfterAttributeName=10]="AfterAttributeName",d[d.BeforeAttributeValue=11]="BeforeAttributeValue",d[d.InAttributeValueDq=12]="InAttributeValueDq",d[d.InAttributeValueSq=13]="InAttributeValueSq",d[d.InAttributeValueNq=14]="InAttributeValueNq",d[d.BeforeDeclaration=15]="BeforeDeclaration",d[d.InDeclaration=16]="InDeclaration",d[d.InProcessingInstruction=17]="InProcessingInstruction",d[d.BeforeComment=18]="BeforeComment",d[d.CDATASequence=19]="CDATASequence",d[d.InSpecialComment=20]="InSpecialComment",d[d.InCommentLike=21]="InCommentLike",d[d.BeforeSpecialS=22]="BeforeSpecialS",d[d.SpecialStartSequence=23]="SpecialStartSequence",d[d.InSpecialTag=24]="InSpecialTag",d[d.BeforeEntity=25]="BeforeEntity",d[d.BeforeNumericEntity=26]="BeforeNumericEntity",d[d.InNamedEntity=27]="InNamedEntity",d[d.InNumericEntity=28]="InNumericEntity",d[d.InHexEntity=29]="InHexEntity"})(n||(n={}));function t(d){return d===e.Space||d===e.NewLine||d===e.Tab||d===e.FormFeed||d===e.CarriageReturn}function i(d){return d===e.Slash||d===e.Gt||t(d)}function s(d){return d>=e.Zero&&d<=e.Nine}function o(d){return d>=e.LowerA&&d<=e.LowerZ||d>=e.UpperA&&d<=e.UpperZ}function l(d){return d>=e.UpperA&&d<=e.UpperF||d>=e.LowerA&&d<=e.LowerF}var a;(function(d){d[d.NoValue=0]="NoValue",d[d.Unquoted=1]="Unquoted",d[d.Single=2]="Single",d[d.Double=3]="Double"})(a=A.QuoteType||(A.QuoteType={}));var r={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},p=function(){function d(u,g){var v=u.xmlMode,y=v===void 0?!1:v,x=u.decodeEntities,$=x===void 0?!0:x;this.cbs=g,this.state=n.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=n.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=y,this.decodeEntities=$,this.entityTrie=y?C.xmlDecodeTree:C.htmlDecodeTree}return d.prototype.reset=function(){this.state=n.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=n.Text,this.currentSequence=void 0,this.running=!0,this.offset=0},d.prototype.write=function(u){this.offset+=this.buffer.length,this.buffer=u,this.parse()},d.prototype.end=function(){this.running&&this.finish()},d.prototype.pause=function(){this.running=!1},d.prototype.resume=function(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=n.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&u===e.Amp&&(this.state=n.BeforeEntity)},d.prototype.stateSpecialStartSequence=function(u){var g=this.sequenceIndex===this.currentSequence.length,v=g?i(u):(u|32)===this.currentSequence[this.sequenceIndex];if(!v)this.isSpecial=!1;else if(!g){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=n.InTagName,this.stateInTagName(u)},d.prototype.stateInSpecialTag=function(u){if(this.sequenceIndex===this.currentSequence.length){if(u===e.Gt||t(u)){var g=this.index-this.currentSequence.length;if(this.sectionStart>14)-1;if(!this.allowLegacyEntity()&&u!==e.Semi)this.trieIndex+=v;else{var y=this.index-this.entityExcess+1;y>this.sectionStart&&this.emitPartial(this.sectionStart,y),this.entityResult=this.trieIndex,this.trieIndex+=v,this.entityExcess=0,this.sectionStart=this.index+1,v===0&&this.emitNamedEntity()}}},d.prototype.emitNamedEntity=function(){if(this.state=this.baseState,this.entityResult!==0){var u=(this.entityTrie[this.entityResult]&C.BinTrieFlags.VALUE_LENGTH)>>14;switch(u){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~C.BinTrieFlags.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}},d.prototype.stateBeforeNumericEntity=function(u){(u|32)===e.LowerX?(this.entityExcess++,this.state=n.InHexEntity):(this.state=n.InNumericEntity,this.stateInNumericEntity(u))},d.prototype.emitNumericEntity=function(u){var g=this.index-this.entityExcess-1,v=g+2+ +(this.state===n.InHexEntity);v!==this.index&&(g>this.sectionStart&&this.emitPartial(this.sectionStart,g),this.sectionStart=this.index+Number(u),this.emitCodePoint((0,C.replaceCodePoint)(this.entityResult))),this.state=this.baseState},d.prototype.stateInNumericEntity=function(u){u===e.Semi?this.emitNumericEntity(!0):s(u)?(this.entityResult=this.entityResult*10+(u-e.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},d.prototype.stateInHexEntity=function(u){u===e.Semi?this.emitNumericEntity(!0):s(u)?(this.entityResult=this.entityResult*16+(u-e.Zero),this.entityExcess++):l(u)?(this.entityResult=this.entityResult*16+((u|32)-e.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},d.prototype.allowLegacyEntity=function(){return!this.xmlMode&&(this.baseState===n.Text||this.baseState===n.InSpecialTag)},d.prototype.cleanup=function(){this.running&&this.sectionStart!==this.index&&(this.state===n.Text||this.state===n.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===n.InAttributeValueDq||this.state===n.InAttributeValueSq||this.state===n.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))},d.prototype.shouldContinue=function(){return this.index0&&s.has(this.stack[this.stack.length-1]);){var o=this.stack.pop();(n=(e=this.cbs).onclosetag)===null||n===void 0||n.call(e,o,!0)}this.isVoidElement(C)||(this.stack.push(C),Sm.has(C)?this.foreignContext.push(!0):km.has(C)&&this.foreignContext.push(!1)),(i=(t=this.cbs).onopentagname)===null||i===void 0||i.call(t,C),this.cbs.onopentag&&(this.attribs={})},A.prototype.endOpenTag=function(C){var e,n;this.startIndex=this.openTagStart,this.attribs&&((n=(e=this.cbs).onopentag)===null||n===void 0||n.call(e,this.tagname,this.attribs,C),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},A.prototype.onopentagend=function(C){this.endIndex=C,this.endOpenTag(!1),this.startIndex=C+1},A.prototype.onclosetag=function(C,e){var n,t,i,s,o,l;this.endIndex=e;var a=this.getSlice(C,e);if(this.lowerCaseTagNames&&(a=a.toLowerCase()),(Sm.has(a)||km.has(a))&&this.foreignContext.pop(),this.isVoidElement(a))!this.options.xmlMode&&a==="br"&&((t=(n=this.cbs).onopentagname)===null||t===void 0||t.call(n,"br"),(s=(i=this.cbs).onopentag)===null||s===void 0||s.call(i,"br",{},!0),(l=(o=this.cbs).onclosetag)===null||l===void 0||l.call(o,"br",!1));else{var r=this.stack.lastIndexOf(a);if(r!==-1)if(this.cbs.onclosetag)for(var p=this.stack.length-r;p--;)this.cbs.onclosetag(this.stack.pop(),p!==0);else this.stack.length=r;else!this.options.xmlMode&&a==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=e+1},A.prototype.onselfclosingtag=function(C){this.endIndex=C,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=C+1):this.onopentagend(C)},A.prototype.closeCurrentTag=function(C){var e,n,t=this.tagname;this.endOpenTag(C),this.stack[this.stack.length-1]===t&&((n=(e=this.cbs).onclosetag)===null||n===void 0||n.call(e,t,!C),this.stack.pop())},A.prototype.onattribname=function(C,e){this.startIndex=C;var n=this.getSlice(C,e);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n},A.prototype.onattribdata=function(C,e){this.attribvalue+=this.getSlice(C,e)},A.prototype.onattribentity=function(C){this.attribvalue+=(0,ym.fromCodePoint)(C)},A.prototype.onattribend=function(C,e){var n,t;this.endIndex=e,(t=(n=this.cbs).onattribute)===null||t===void 0||t.call(n,this.attribname,this.attribvalue,C===as.QuoteType.Double?'"':C===as.QuoteType.Single?"'":C===as.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""},A.prototype.getInstructionName=function(C){var e=C.search(Vv),n=e<0?C:C.substr(0,e);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n},A.prototype.ondeclaration=function(C,e){this.endIndex=e;var n=this.getSlice(C,e);if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(n);this.cbs.onprocessinginstruction("!".concat(t),"!".concat(n))}this.startIndex=e+1},A.prototype.onprocessinginstruction=function(C,e){this.endIndex=e;var n=this.getSlice(C,e);if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(n);this.cbs.onprocessinginstruction("?".concat(t),"?".concat(n))}this.startIndex=e+1},A.prototype.oncomment=function(C,e,n){var t,i,s,o;this.endIndex=e,(i=(t=this.cbs).oncomment)===null||i===void 0||i.call(t,this.getSlice(C,e-n)),(o=(s=this.cbs).oncommentend)===null||o===void 0||o.call(s),this.startIndex=e+1},A.prototype.oncdata=function(C,e,n){var t,i,s,o,l,a,r,p,d,u;this.endIndex=e;var g=this.getSlice(C,e-n);this.options.xmlMode||this.options.recognizeCDATA?((i=(t=this.cbs).oncdatastart)===null||i===void 0||i.call(t),(o=(s=this.cbs).ontext)===null||o===void 0||o.call(s,g),(a=(l=this.cbs).oncdataend)===null||a===void 0||a.call(l)):((p=(r=this.cbs).oncomment)===null||p===void 0||p.call(r,"[CDATA[".concat(g,"]]")),(u=(d=this.cbs).oncommentend)===null||u===void 0||u.call(d)),this.startIndex=e+1},A.prototype.onend=function(){var C,e;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var n=this.stack.length;n>0;this.cbs.onclosetag(this.stack[--n],!0));}(e=(C=this.cbs).onend)===null||e===void 0||e.call(C)},A.prototype.reset=function(){var C,e,n,t;(e=(C=this.cbs).onreset)===null||e===void 0||e.call(C),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(t=(n=this.cbs).onparserinit)===null||t===void 0||t.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1},A.prototype.parseComplete=function(C){this.reset(),this.end(C)},A.prototype.getSlice=function(C,e){for(;C-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();for(var n=this.buffers[0].slice(C-this.bufferOffset,e-this.bufferOffset);e-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,e-this.bufferOffset);return n},A.prototype.shiftBuffer=function(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()},A.prototype.write=function(C){var e,n;if(this.ended){(n=(e=this.cbs).onerror)===null||n===void 0||n.call(e,new Error(".write() after done!"));return}this.buffers.push(C),this.tokenizer.running&&(this.tokenizer.write(C),this.writeIndex++)},A.prototype.end=function(C){var e,n;if(this.ended){(n=(e=this.cbs).onerror)===null||n===void 0||n.call(e,new Error(".end() after done!"));return}C&&this.write(C),this.ended=!0,this.tokenizer.end()},A.prototype.pause=function(){this.tokenizer.pause()},A.prototype.resume=function(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),C}(Jr);tC.NodeWithChildren=Ho;var B0=function(A){In(C,A);function C(){var e=A!==null&&A.apply(this,arguments)||this;return e.type=ee.ElementType.CDATA,e}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),C}(Ho);tC.CDATA=B0;var S0=function(A){In(C,A);function C(){var e=A!==null&&A.apply(this,arguments)||this;return e.type=ee.ElementType.Root,e}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),C}(Ho);tC.Document=S0;var k0=function(A){In(C,A);function C(e,n,t,i){t===void 0&&(t=[]),i===void 0&&(i=e==="script"?ee.ElementType.Script:e==="style"?ee.ElementType.Style:ee.ElementType.Tag);var s=A.call(this,t)||this;return s.name=e,s.attribs=n,s.type=i,s}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map(function(n){var t,i;return{name:n,value:e.attribs[n],namespace:(t=e["x-attribsNamespace"])===null||t===void 0?void 0:t[n],prefix:(i=e["x-attribsPrefix"])===null||i===void 0?void 0:i[n]}})},enumerable:!1,configurable:!0}),C}(Ho);tC.Element=k0;function x0(A){return(0,ee.isTag)(A)}tC.isTag=x0;function _0(A){return A.type===ee.ElementType.CDATA}tC.isCDATA=_0;function j0(A){return A.type===ee.ElementType.Text}tC.isText=j0;function I0(A){return A.type===ee.ElementType.Comment}tC.isComment=I0;function M0(A){return A.type===ee.ElementType.Directive}tC.isDirective=M0;function D0(A){return A.type===ee.ElementType.Root}tC.isDocument=D0;function qv(A){return Object.prototype.hasOwnProperty.call(A,"children")}tC.hasChildren=qv;function Xr(A,C){C===void 0&&(C=!1);var e;if(j0(A))e=new y0(A.data);else if(I0(A))e=new v0(A.data);else if(x0(A)){var n=C?Pl(A.children):[],t=new k0(A.name,oi({},A.attribs),n);n.forEach(function(l){return l.parent=t}),A.namespace!=null&&(t.namespace=A.namespace),A["x-attribsNamespace"]&&(t["x-attribsNamespace"]=oi({},A["x-attribsNamespace"])),A["x-attribsPrefix"]&&(t["x-attribsPrefix"]=oi({},A["x-attribsPrefix"])),e=t}else if(_0(A)){var n=C?Pl(A.children):[],i=new B0(n);n.forEach(function(a){return a.parent=i}),e=i}else if(D0(A)){var n=C?Pl(A.children):[],s=new S0(n);n.forEach(function(a){return a.parent=s}),A["x-mode"]&&(s["x-mode"]=A["x-mode"]),e=s}else if(M0(A)){var o=new w0(A.name,A.data);A["x-name"]!=null&&(o["x-name"]=A["x-name"],o["x-publicId"]=A["x-publicId"],o["x-systemId"]=A["x-systemId"]),e=o}else throw new Error("Not implemented yet: ".concat(A.type));return e.startIndex=A.startIndex,e.endIndex=A.endIndex,A.sourceCodeLocation!=null&&(e.sourceCodeLocation=A.sourceCodeLocation),e}tC.cloneNode=Xr;function Pl(A){for(var C=A.map(function(n){return Xr(n,!0)}),e=1;e$\x80-\uFFFF]/g;var C=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);A.getCodePoint=String.prototype.codePointAt!=null?function(t,i){return t.codePointAt(i)}:function(t,i){return(t.charCodeAt(i)&64512)===55296?(t.charCodeAt(i)-55296)*1024+t.charCodeAt(i+1)-56320+65536:t.charCodeAt(i)};function e(t){for(var i="",s=0,o;(o=A.xmlReplacer.exec(t))!==null;){var l=o.index,a=t.charCodeAt(l),r=C.get(a);r!==void 0?(i+=t.substring(s,l)+r,s=l+1):(i+="".concat(t.substring(s,l),"&#x").concat((0,A.getCodePoint)(t,l).toString(16),";"),s=A.xmlReplacer.lastIndex+=+((a&64512)===55296))}return i+t.substr(s)}A.encodeXML=e,A.escape=e;function n(t,i){return function(o){for(var l,a=0,r="";l=t.exec(o);)a!==l.index&&(r+=o.substring(a,l.index)),r+=i.get(l[0].charCodeAt(0)),a=l.index+1;return r+o.substring(a)}}A.escapeUTF8=n(/[&<>'"]/g,C),A.escapeAttribute=n(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),A.escapeText=n(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))})(so);var Wv=TA&&TA.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(Zn,"__esModule",{value:!0});Zn.encodeNonAsciiHTML=Zn.encodeHTML=void 0;var Yv=Wv(Zr),O0=so,Jv=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function Xv(A){return L0(Jv,A)}Zn.encodeHTML=Xv;function Zv(A){return L0(O0.xmlReplacer,A)}Zn.encodeNonAsciiHTML=Zv;function L0(A,C){for(var e="",n=0,t;(t=A.exec(C))!==null;){var i=t.index;e+=C.substring(n,i);var s=C.charCodeAt(i),o=Yv.default.get(s);if(typeof o=="object"){if(i+10&&(n+=Qo(A.children,C)),(C.xmlMode||!xm.has(A.name))&&(n+=""))),n}function r8(A){return"<".concat(A.data,">")}function c8(A,C){var e,n=A.data||"";return((e=C.encodeEntities)!==null&&e!==void 0?e:C.decodeEntities)!==!1&&!(!C.xmlMode&&A.parent&&n8.has(A.parent.name))&&(n=C.xmlMode||C.encodeEntities!=="utf8"?(0,oo.encodeXML)(n):(0,oo.escapeText)(n)),n}function u8(A){return"")}function m8(A){return"")}var d8=TA&&TA.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.getOuterHTML=T0;Mn.getInnerHTML=h8;Mn.getText=Ds;Mn.textContent=ga;Mn.innerText=ba;var Re=tn,p8=d8(Hi),f8=Tt;function T0(A,C){return(0,p8.default)(A,C)}function h8(A,C){return(0,Re.hasChildren)(A)?A.children.map(function(e){return T0(e,C)}).join(""):""}function Ds(A){return Array.isArray(A)?A.map(Ds).join(""):(0,Re.isTag)(A)?A.name==="br"?` +`:Ds(A.children):(0,Re.isCDATA)(A)?Ds(A.children):(0,Re.isText)(A)?A.data:""}function ga(A){return Array.isArray(A)?A.map(ga).join(""):(0,Re.hasChildren)(A)&&!(0,Re.isComment)(A)?ga(A.children):(0,Re.isText)(A)?A.data:""}function ba(A){return Array.isArray(A)?A.map(ba).join(""):(0,Re.hasChildren)(A)&&(A.type===f8.ElementType.Tag||(0,Re.isCDATA)(A))?ba(A.children):(0,Re.isText)(A)?A.data:""}var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.getChildren=F0;Ue.getParent=N0;Ue.getSiblings=g8;Ue.getAttributeValue=b8;Ue.hasAttrib=E8;Ue.getName=y8;Ue.nextElementSibling=v8;Ue.prevElementSibling=w8;var Ac=tn;function F0(A){return(0,Ac.hasChildren)(A)?A.children:[]}function N0(A){return A.parent||null}function g8(A){var C,e,n=N0(A);if(n!=null)return F0(n);for(var t=[A],i=A.prev,s=A.next;i!=null;)t.unshift(i),C=i,i=C.prev;for(;s!=null;)t.push(s),e=s,s=e.next;return t}function b8(A,C){var e;return(e=A.attribs)===null||e===void 0?void 0:e[C]}function E8(A,C){return A.attribs!=null&&Object.prototype.hasOwnProperty.call(A.attribs,C)&&A.attribs[C]!=null}function y8(A){return A.name}function v8(A){for(var C,e=A.next;e!==null&&!(0,Ac.isTag)(e);)C=e,e=C.next;return e}function w8(A){for(var C,e=A.prev;e!==null&&!(0,Ac.isTag)(e);)C=e,e=C.prev;return e}var Dn={};Object.defineProperty(Dn,"__esModule",{value:!0});Dn.removeElement=Qi;Dn.replaceElement=B8;Dn.appendChild=S8;Dn.append=k8;Dn.prependChild=x8;Dn.prepend=_8;function Qi(A){if(A.prev&&(A.prev.next=A.next),A.next&&(A.next.prev=A.prev),A.parent){var C=A.parent.children,e=C.lastIndexOf(A);e>=0&&C.splice(e,1)}A.next=null,A.prev=null,A.parent=null}function B8(A,C){var e=C.prev=A.prev;e&&(e.next=C);var n=C.next=A.next;n&&(n.prev=C);var t=C.parent=A.parent;if(t){var i=t.children;i[i.lastIndexOf(A)]=C,A.parent=null}}function S8(A,C){if(Qi(C),C.next=null,C.parent=A,A.children.push(C)>1){var e=A.children[A.children.length-2];e.next=C,C.prev=e}else C.prev=null}function k8(A,C){Qi(C);var e=A.parent,n=A.next;if(C.next=n,C.prev=A,A.next=C,C.parent=e,n){if(n.prev=C,e){var t=e.children;t.splice(t.lastIndexOf(n),0,C)}}else e&&e.children.push(C)}function x8(A,C){if(Qi(C),C.parent=A,C.prev=null,A.children.unshift(C)!==1){var e=A.children[1];e.prev=C,C.next=e}else C.next=null}function _8(A,C){Qi(C);var e=A.parent;if(e){var n=e.children;n.splice(n.indexOf(A),0,C)}A.prev&&(A.prev.next=C),C.parent=e,C.prev=A.prev,C.next=A,A.prev=C}var rn={};Object.defineProperty(rn,"__esModule",{value:!0});rn.filter=j8;rn.find=$0;rn.findOneChild=I8;rn.findOne=R0;rn.existsOne=G0;rn.findAll=M8;var At=tn;function j8(A,C,e,n){return e===void 0&&(e=!0),n===void 0&&(n=1/0),$0(A,Array.isArray(C)?C:[C],e,n)}function $0(A,C,e,n){for(var t=[],i=[Array.isArray(C)?C:[C]],s=[0];;){if(s[0]>=i[0].length){if(s.length===1)return t;i.shift(),s.shift();continue}var o=i[0][s[0]++];if(A(o)&&(t.push(o),--n<=0))return t;e&&(0,At.hasChildren)(o)&&o.children.length>0&&(s.unshift(0),i.unshift(o.children))}}function I8(A,C){return C.find(A)}function R0(A,C,e){e===void 0&&(e=!0);for(var n=Array.isArray(C)?C:[C],t=0;t0){var s=R0(A,i.children,!0);if(s)return s}}return null}function G0(A,C){return(Array.isArray(C)?C:[C]).some(function(e){return(0,At.isTag)(e)&&A(e)||(0,At.hasChildren)(e)&&G0(A,e.children)})}function M8(A,C){for(var e=[],n=[Array.isArray(C)?C:[C]],t=[0];;){if(t[0]>=n[0].length){if(n.length===1)return e;n.shift(),t.shift();continue}var i=n[0][t[0]++];(0,At.isTag)(i)&&A(i)&&e.push(i),(0,At.hasChildren)(i)&&i.children.length>0&&(t.unshift(0),n.unshift(i.children))}}var cn={};Object.defineProperty(cn,"__esModule",{value:!0});cn.testElement=P8;cn.getElements=O8;cn.getElementById=L8;cn.getElementsByTagName=K8;cn.getElementsByClassName=T8;cn.getElementsByTagType=F8;var Rn=tn,Vi=rn,lo={tag_name:function(A){return typeof A=="function"?function(C){return(0,Rn.isTag)(C)&&A(C.name)}:A==="*"?Rn.isTag:function(C){return(0,Rn.isTag)(C)&&C.name===A}},tag_type:function(A){return typeof A=="function"?function(C){return A(C.type)}:function(C){return C.type===A}},tag_contains:function(A){return typeof A=="function"?function(C){return(0,Rn.isText)(C)&&A(C.data)}:function(C){return(0,Rn.isText)(C)&&C.data===A}}};function Cc(A,C){return typeof C=="function"?function(e){return(0,Rn.isTag)(e)&&C(e.attribs[A])}:function(e){return(0,Rn.isTag)(e)&&e.attribs[A]===C}}function D8(A,C){return function(e){return A(e)||C(e)}}function U0(A){var C=Object.keys(A).map(function(e){var n=A[e];return Object.prototype.hasOwnProperty.call(lo,e)?lo[e](n):Cc(e,n)});return C.length===0?null:C.reduce(D8)}function P8(A,C){var e=U0(A);return e?e(C):!0}function O8(A,C,e,n){n===void 0&&(n=1/0);var t=U0(A);return t?(0,Vi.filter)(t,C,e,n):[]}function L8(A,C,e){return e===void 0&&(e=!0),Array.isArray(C)||(C=[C]),(0,Vi.findOne)(Cc("id",A),C,e)}function K8(A,C,e,n){return e===void 0&&(e=!0),n===void 0&&(n=1/0),(0,Vi.filter)(lo.tag_name(A),C,e,n)}function T8(A,C,e,n){return e===void 0&&(e=!0),n===void 0&&(n=1/0),(0,Vi.filter)(Cc("class",A),C,e,n)}function F8(A,C,e,n){return e===void 0&&(e=!0),n===void 0&&(n=1/0),(0,Vi.filter)(lo.tag_type(A),C,e,n)}var tt={};Object.defineProperty(tt,"__esModule",{value:!0});tt.DocumentPosition=void 0;tt.removeSubsets=N8;tt.compareDocumentPosition=H0;tt.uniqueSort=$8;var _m=tn;function N8(A){for(var C=A.length;--C>=0;){var e=A[C];if(C>0&&A.lastIndexOf(e,C-1)>=0){A.splice(C,1);continue}for(var n=e.parent;n;n=n.parent)if(A.includes(n)){A.splice(C,1);break}}return A}var be;(function(A){A[A.DISCONNECTED=1]="DISCONNECTED",A[A.PRECEDING=2]="PRECEDING",A[A.FOLLOWING=4]="FOLLOWING",A[A.CONTAINS=8]="CONTAINS",A[A.CONTAINED_BY=16]="CONTAINED_BY"})(be||(tt.DocumentPosition=be={}));function H0(A,C){var e=[],n=[];if(A===C)return 0;for(var t=(0,_m.hasChildren)(A)?A:A.parent;t;)e.unshift(t),t=t.parent;for(t=(0,_m.hasChildren)(C)?C:C.parent;t;)n.unshift(t),t=t.parent;for(var i=Math.min(e.length,n.length),s=0;sl.indexOf(r)?o===C?be.FOLLOWING|be.CONTAINED_BY:be.FOLLOWING:o===A?be.PRECEDING|be.CONTAINS:be.PRECEDING}function $8(A){return A=A.filter(function(C,e,n){return!n.includes(C,e+1)}),A.sort(function(C,e){var n=H0(C,e);return n&be.PRECEDING?-1:n&be.FOLLOWING?1:0}),A}var ec={};Object.defineProperty(ec,"__esModule",{value:!0});ec.getFeed=G8;var R8=Mn,zi=cn;function G8(A){var C=ao(z8,A);return C?C.name==="feed"?U8(C):H8(C):null}function U8(A){var C,e=A.children,n={type:"atom",items:(0,zi.getElementsByTagName)("entry",e).map(function(s){var o,l=s.children,a={media:Q0(l)};Ae(a,"id","id",l),Ae(a,"title","title",l);var r=(o=ao("link",l))===null||o===void 0?void 0:o.attribs.href;r&&(a.link=r);var p=yn("summary",l)||yn("content",l);p&&(a.description=p);var d=yn("updated",l);return d&&(a.pubDate=new Date(d)),a})};Ae(n,"id","id",e),Ae(n,"title","title",e);var t=(C=ao("link",e))===null||C===void 0?void 0:C.attribs.href;t&&(n.link=t),Ae(n,"description","subtitle",e);var i=yn("updated",e);return i&&(n.updated=new Date(i)),Ae(n,"author","email",e,!0),n}function H8(A){var C,e,n=(e=(C=ao("channel",A.children))===null||C===void 0?void 0:C.children)!==null&&e!==void 0?e:[],t={type:A.name.substr(0,3),id:"",items:(0,zi.getElementsByTagName)("item",A.children).map(function(s){var o=s.children,l={media:Q0(o)};Ae(l,"id","guid",o),Ae(l,"title","title",o),Ae(l,"link","link",o),Ae(l,"description","description",o);var a=yn("pubDate",o)||yn("dc:date",o);return a&&(l.pubDate=new Date(a)),l})};Ae(t,"title","title",n),Ae(t,"link","link",n),Ae(t,"description","description",n);var i=yn("lastBuildDate",n);return i&&(t.updated=new Date(i)),Ae(t,"author","managingEditor",n,!0),t}var Q8=["url","type","lang"],V8=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function Q0(A){return(0,zi.getElementsByTagName)("media:content",A).map(function(C){for(var e=C.attribs,n={medium:e.medium,isDefault:!!e.isDefault},t=0,i=Q8;t{if(typeof A!="string")throw new TypeError("Expected a string");return A.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},nc={};Object.defineProperty(nc,"__esModule",{value:!0});/*! + * is-plain-object + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */function jm(A){return Object.prototype.toString.call(A)==="[object Object]"}function W8(A){var C,e;return jm(A)===!1?!1:(C=A.constructor,C===void 0?!0:(e=C.prototype,!(jm(e)===!1||e.hasOwnProperty("isPrototypeOf")===!1)))}nc.isPlainObject=W8;var Y8=function(C){return J8(C)&&!X8(C)};function J8(A){return!!A&&typeof A=="object"}function X8(A){var C=Object.prototype.toString.call(A);return C==="[object RegExp]"||C==="[object Date]"||Cw(A)}var Z8=typeof Symbol=="function"&&Symbol.for,Aw=Z8?Symbol.for("react.element"):60103;function Cw(A){return A.$$typeof===Aw}function ew(A){return Array.isArray(A)?[]:{}}function ji(A,C){return C.clone!==!1&&C.isMergeableObject(A)?jt(ew(A),A,C):A}function nw(A,C,e){return A.concat(C).map(function(n){return ji(n,e)})}function tw(A,C){if(!C.customMerge)return jt;var e=C.customMerge(A);return typeof e=="function"?e:jt}function iw(A){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(A).filter(function(C){return Object.propertyIsEnumerable.call(A,C)}):[]}function Im(A){return Object.keys(A).concat(iw(A))}function V0(A,C){try{return C in A}catch{return!1}}function sw(A,C){return V0(A,C)&&!(Object.hasOwnProperty.call(A,C)&&Object.propertyIsEnumerable.call(A,C))}function ow(A,C,e){var n={};return e.isMergeableObject(A)&&Im(A).forEach(function(t){n[t]=ji(A[t],e)}),Im(C).forEach(function(t){sw(A,t)||(V0(A,t)&&e.isMergeableObject(C[t])?n[t]=tw(t,e)(A[t],C[t],e):n[t]=ji(C[t],e))}),n}function jt(A,C,e){e=e||{},e.arrayMerge=e.arrayMerge||nw,e.isMergeableObject=e.isMergeableObject||Y8,e.cloneUnlessOtherwiseSpecified=ji;var n=Array.isArray(C),t=Array.isArray(A),i=n===t;return i?n?e.arrayMerge(A,C,e):ow(A,C,e):ji(C,e)}jt.all=function(C,e){if(!Array.isArray(C))throw new Error("first argument should be an array");return C.reduce(function(n,t){return jt(n,t,e)},{})};var lw=jt,aw=lw,z0={exports:{}};(function(A){(function(C,e){A.exports?A.exports=e():C.parseSrcset=e()})(TA,function(){return function(C){function e(H){return H===" "||H===" "||H===` +`||H==="\f"||H==="\r"}function n(H){var Y,hA=H.exec(C.substring(y));if(hA)return Y=hA[0],y+=Y.length,Y}for(var t=C.length,i=/^[ \t\n\r\u000c]+/,s=/^[, \t\n\r\u000c]+/,o=/^[^ \t\n\r\u000c]+/,l=/[,]+$/,a=/^\d+$/,r=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,p,d,u,g,v,y=0,x=[];;){if(n(s),y>=t)return x;p=n(o),d=[],p.slice(-1)===","?(p=p.replace(l,""),F()):$()}function $(){for(n(i),u="",g="in descriptor";;){if(v=C.charAt(y),g==="in descriptor")if(e(v))u&&(d.push(u),u="",g="after descriptor");else if(v===","){y+=1,u&&d.push(u),F();return}else if(v==="(")u=u+v,g="in parens";else if(v===""){u&&d.push(u),F();return}else u=u+v;else if(g==="in parens")if(v===")")u=u+v,g="in descriptor";else if(v===""){d.push(u),F();return}else u=u+v;else if(g==="after descriptor"&&!e(v))if(v===""){F();return}else g="in descriptor",y-=1;y+=1}}function F(){var H=!1,Y,hA,BA,cA,eA={},rA,I,O,W,V;for(cA=0;cA",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(C){if(!this.source)return"";let e=this.source;C==null&&(C=Mm.isColorSupported);let n=r=>r,t=r=>r,i=r=>r;if(C){let{bold:r,gray:p,red:d}=Mm.createColors(!0);t=u=>r(d(u)),n=u=>p(u),Dm&&(i=u=>Dm(u))}let s=e.split(/\r?\n/),o=Math.max(this.line-3,0),l=Math.min(this.line+2,s.length),a=String(l).length;return s.slice(o,l).map((r,p)=>{let d=o+1+p,u=" "+(" "+d).slice(-a)+" | ";if(d===this.line){if(r.length>160){let v=20,y=Math.max(0,this.column-v),x=Math.max(this.column+v,this.endColumn+v),$=r.slice(y,x),F=n(u.replace(/\d/g," "))+r.slice(0,Math.min(this.column-1,v-1)).replace(/[^\t]/g," ");return t(">")+n(u)+i($)+` + `+F+t("^")}let g=n(u.replace(/\d/g," "))+r.slice(0,this.column-1).replace(/[^\t]/g," ");return t(">")+n(u)+i(r)+` + `+g+t("^")}return" "+n(u)+i(r)}).join(` +`)}toString(){let C=this.showSourceCode();return C&&(C=` + +`+C+` +`),this.name+": "+this.message+C}};var ic=Ea;Ea.default=Ea;const Pm={after:` +`,beforeClose:` +`,beforeComment:` +`,beforeDecl:` +`,beforeOpen:" ",beforeRule:` +`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function uw(A){return A[0].toUpperCase()+A.slice(1)}let ya=class{constructor(C){this.builder=C}atrule(C,e){let n="@"+C.name,t=C.params?this.rawValue(C,"params"):"";if(typeof C.raws.afterName<"u"?n+=C.raws.afterName:t&&(n+=" "),C.nodes)this.block(C,n+t);else{let i=(C.raws.between||"")+(e?";":"");this.builder(n+t+i,C)}}beforeAfter(C,e){let n;C.type==="decl"?n=this.raw(C,null,"beforeDecl"):C.type==="comment"?n=this.raw(C,null,"beforeComment"):e==="before"?n=this.raw(C,null,"beforeRule"):n=this.raw(C,null,"beforeClose");let t=C.parent,i=0;for(;t&&t.type!=="root";)i+=1,t=t.parent;if(n.includes(` +`)){let s=this.raw(C,null,"indent");if(s.length)for(let o=0;o0&&C.nodes[e].type==="comment";)e-=1;let n=this.raw(C,"semicolon");for(let t=0;t{if(t=l.raws[e],typeof t<"u")return!1})}return typeof t>"u"&&(t=Pm[n]),s.rawCache[n]=t,t}rawBeforeClose(C){let e;return C.walk(n=>{if(n.nodes&&n.nodes.length>0&&typeof n.raws.after<"u")return e=n.raws.after,e.includes(` +`)&&(e=e.replace(/[^\n]+$/,"")),!1}),e&&(e=e.replace(/\S/g,"")),e}rawBeforeComment(C,e){let n;return C.walkComments(t=>{if(typeof t.raws.before<"u")return n=t.raws.before,n.includes(` +`)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(e,null,"beforeDecl"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeDecl(C,e){let n;return C.walkDecls(t=>{if(typeof t.raws.before<"u")return n=t.raws.before,n.includes(` +`)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(e,null,"beforeRule"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeOpen(C){let e;return C.walk(n=>{if(n.type!=="decl"&&(e=n.raws.between,typeof e<"u"))return!1}),e}rawBeforeRule(C){let e;return C.walk(n=>{if(n.nodes&&(n.parent!==C||C.first!==n)&&typeof n.raws.before<"u")return e=n.raws.before,e.includes(` +`)&&(e=e.replace(/[^\n]+$/,"")),!1}),e&&(e=e.replace(/\S/g,"")),e}rawColon(C){let e;return C.walkDecls(n=>{if(typeof n.raws.between<"u")return e=n.raws.between.replace(/[^\s:]/g,""),!1}),e}rawEmptyBody(C){let e;return C.walk(n=>{if(n.nodes&&n.nodes.length===0&&(e=n.raws.after,typeof e<"u"))return!1}),e}rawIndent(C){if(C.raws.indent)return C.raws.indent;let e;return C.walk(n=>{let t=n.parent;if(t&&t!==C&&t.parent&&t.parent===C&&typeof n.raws.before<"u"){let i=n.raws.before.split(` +`);return e=i[i.length-1],e=e.replace(/\S/g,""),!1}}),e}rawSemicolon(C){let e;return C.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(e=n.raws.semicolon,typeof e<"u"))return!1}),e}rawValue(C,e){let n=C[e],t=C.raws[e];return t&&t.value===n?t.raw:n}root(C){this.body(C),C.raws.after&&this.builder(C.raws.after)}rule(C){this.block(C,this.rawValue(C,"selector")),C.raws.ownSemicolon&&this.builder(C.raws.ownSemicolon,C,"end")}stringify(C,e){if(!this[C.type])throw new Error("Unknown AST node type "+C.type+". Maybe you need to change PostCSS stringifier.");this[C.type](C,e)}};var Y0=ya;ya.default=ya;let mw=Y0;function va(A,C){new mw(C).stringify(A)}var Vo=va;va.default=va;var qi={};qi.isClean=Symbol("isClean");qi.my=Symbol("my");let dw=ic,pw=Y0,fw=Vo,{isClean:Qt,my:hw}=qi;function wa(A,C){let e=new A.constructor;for(let n in A){if(!Object.prototype.hasOwnProperty.call(A,n)||n==="proxyCache")continue;let t=A[n],i=typeof t;n==="parent"&&i==="object"?C&&(e[n]=C):n==="source"?e[n]=t:Array.isArray(t)?e[n]=t.map(s=>wa(s,e)):(i==="object"&&t!==null&&(t=wa(t)),e[n]=t)}return e}function ze(A,C){if(C&&typeof C.offset<"u")return C.offset;let e=1,n=1,t=0;for(let i=0;iC.root().toProxy():C[e]},set(C,e,n){return C[e]===n||(C[e]=n,(e==="prop"||e==="value"||e==="name"||e==="params"||e==="important"||e==="text")&&C.markDirty()),!0}}}markClean(){this[Qt]=!0}markDirty(){if(this[Qt]){this[Qt]=!1;let C=this;for(;C=C.parent;)C[Qt]=!1}}next(){if(!this.parent)return;let C=this.parent.index(this);return this.parent.nodes[C+1]}positionBy(C={}){let e=this.source.start;if(C.index)e=this.positionInside(C.index);else if(C.word){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i=n.slice(ze(n,this.source.start),ze(n,this.source.end)).indexOf(C.word);i!==-1&&(e=this.positionInside(i))}return e}positionInside(C){let e=this.source.start.column,n=this.source.start.line,t="document"in this.source.input?this.source.input.document:this.source.input.css,i=ze(t,this.source.start),s=i+C;for(let o=i;otypeof l=="object"&&l.toJSON?l.toJSON(null,e):l);else if(typeof o=="object"&&o.toJSON)n[s]=o.toJSON(null,e);else if(s==="source"){if(o==null)continue;let l=e.get(o.input);l==null&&(l=i,e.set(o.input,i),i++),n[s]={end:o.end,inputId:l,start:o.start}}else n[s]=o}return t&&(n.inputs=[...e.keys()].map(s=>s.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(C=fw){C.stringify&&(C=C.stringify);let e="";return C(this,n=>{e+=n}),e}warn(C,e,n={}){let t={node:this};for(let i in n)t[i]=n[i];return C.warn(e,t)}};var zo=Ba;Ba.default=Ba;let gw=zo,Sa=class extends gw{constructor(C){super(C),this.type="comment"}};var qo=Sa;Sa.default=Sa;let bw=zo,ka=class extends bw{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(C){C&&typeof C.value<"u"&&typeof C.value!="string"&&(C={...C,value:String(C.value)}),super(C),this.type="decl"}};var Wo=ka;ka.default=ka;let J0=qo,X0=Wo,Ew=zo,{isClean:Z0,my:Af}=qi,sc,Cf,ef,oc;function nf(A){return A.map(C=>(C.nodes&&(C.nodes=nf(C.nodes)),delete C.source,C))}function tf(A){if(A[Z0]=!1,A.proxyOf.nodes)for(let C of A.proxyOf.nodes)tf(C)}let sn=class sf extends Ew{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...C){for(let e of C){let n=this.normalize(e,this.last);for(let t of n)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(C){if(super.cleanRaws(C),this.nodes)for(let e of this.nodes)e.cleanRaws(C)}each(C){if(!this.proxyOf.nodes)return;let e=this.getIterator(),n,t;for(;this.indexes[e]C[e](...n.map(t=>typeof t=="function"?(i,s)=>t(i.toProxy(),s):t)):e==="every"||e==="some"?n=>C[e]((t,...i)=>n(t.toProxy(),...i)):e==="root"?()=>C.root().toProxy():e==="nodes"?C.nodes.map(n=>n.toProxy()):e==="first"||e==="last"?C[e].toProxy():C[e]:C[e]},set(C,e,n){return C[e]===n||(C[e]=n,(e==="name"||e==="params"||e==="selector")&&C.markDirty()),!0}}}index(C){return typeof C=="number"?C:(C.proxyOf&&(C=C.proxyOf),this.proxyOf.nodes.indexOf(C))}insertAfter(C,e){let n=this.index(C),t=this.normalize(e,this.proxyOf.nodes[n]).reverse();n=this.index(C);for(let s of t)this.proxyOf.nodes.splice(n+1,0,s);let i;for(let s in this.indexes)i=this.indexes[s],n"u")C=[];else if(Array.isArray(C)){C=C.slice(0);for(let t of C)t.parent&&t.parent.removeChild(t,"ignore")}else if(C.type==="root"&&this.type!=="document"){C=C.nodes.slice(0);for(let t of C)t.parent&&t.parent.removeChild(t,"ignore")}else if(C.type)C=[C];else if(C.prop){if(typeof C.value>"u")throw new Error("Value field is missed in node creation");typeof C.value!="string"&&(C.value=String(C.value)),C=[new X0(C)]}else if(C.selector||C.selectors)C=[new oc(C)];else if(C.name)C=[new sc(C)];else if(C.text)C=[new J0(C)];else throw new Error("Unknown node type in node creation");return C.map(t=>(t[Af]||sf.rebuild(t),t=t.proxyOf,t.parent&&t.parent.removeChild(t),t[Z0]&&tf(t),t.raws||(t.raws={}),typeof t.raws.before>"u"&&e&&typeof e.raws.before<"u"&&(t.raws.before=e.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t))}prepend(...C){C=C.reverse();for(let e of C){let n=this.normalize(e,this.first,"prepend").reverse();for(let t of n)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+n.length}return this.markDirty(),this}push(C){return C.parent=this,this.proxyOf.nodes.push(C),this}removeAll(){for(let C of this.proxyOf.nodes)C.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(C){C=this.index(C),this.proxyOf.nodes[C].parent=void 0,this.proxyOf.nodes.splice(C,1);let e;for(let n in this.indexes)e=this.indexes[n],e>=C&&(this.indexes[n]=e-1);return this.markDirty(),this}replaceValues(C,e,n){return n||(n=e,e={}),this.walkDecls(t=>{e.props&&!e.props.includes(t.prop)||e.fast&&!t.value.includes(e.fast)||(t.value=t.value.replace(C,n))}),this.markDirty(),this}some(C){return this.nodes.some(C)}walk(C){return this.each((e,n)=>{let t;try{t=C(e,n)}catch(i){throw e.addToError(i)}return t!==!1&&e.walk&&(t=e.walk(C)),t})}walkAtRules(C,e){return e?C instanceof RegExp?this.walk((n,t)=>{if(n.type==="atrule"&&C.test(n.name))return e(n,t)}):this.walk((n,t)=>{if(n.type==="atrule"&&n.name===C)return e(n,t)}):(e=C,this.walk((n,t)=>{if(n.type==="atrule")return e(n,t)}))}walkComments(C){return this.walk((e,n)=>{if(e.type==="comment")return C(e,n)})}walkDecls(C,e){return e?C instanceof RegExp?this.walk((n,t)=>{if(n.type==="decl"&&C.test(n.prop))return e(n,t)}):this.walk((n,t)=>{if(n.type==="decl"&&n.prop===C)return e(n,t)}):(e=C,this.walk((n,t)=>{if(n.type==="decl")return e(n,t)}))}walkRules(C,e){return e?C instanceof RegExp?this.walk((n,t)=>{if(n.type==="rule"&&C.test(n.selector))return e(n,t)}):this.walk((n,t)=>{if(n.type==="rule"&&n.selector===C)return e(n,t)}):(e=C,this.walk((n,t)=>{if(n.type==="rule")return e(n,t)}))}};sn.registerParse=A=>{Cf=A};sn.registerRule=A=>{oc=A};sn.registerAtRule=A=>{sc=A};sn.registerRoot=A=>{ef=A};var it=sn;sn.default=sn;sn.rebuild=A=>{A.type==="atrule"?Object.setPrototypeOf(A,sc.prototype):A.type==="rule"?Object.setPrototypeOf(A,oc.prototype):A.type==="decl"?Object.setPrototypeOf(A,X0.prototype):A.type==="comment"?Object.setPrototypeOf(A,J0.prototype):A.type==="root"&&Object.setPrototypeOf(A,ef.prototype),A[Af]=!0,A.nodes&&A.nodes.forEach(C=>{sn.rebuild(C)})};let of=it,ro=class extends of{constructor(C){super(C),this.type="atrule"}append(...C){return this.proxyOf.nodes||(this.nodes=[]),super.append(...C)}prepend(...C){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...C)}};var lc=ro;ro.default=ro;of.registerAtRule(ro);let yw=it,lf,af,Ii=class extends yw{constructor(C){super({type:"document",...C}),this.nodes||(this.nodes=[])}toResult(C={}){return new lf(new af,this,C).stringify()}};Ii.registerLazyResult=A=>{lf=A};Ii.registerProcessor=A=>{af=A};var ac=Ii;Ii.default=Ii;let vw="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",ww=(A,C=21)=>(e=C)=>{let n="",t=e|0;for(;t--;)n+=A[Math.random()*A.length|0];return n},Bw=(A=21)=>{let C="",e=A|0;for(;e--;)C+=vw[Math.random()*64|0];return C};var Sw={nanoid:Bw,customAlphabet:ww};let{existsSync:kw,readFileSync:xw}=te,{dirname:Ol,join:_w}=te,{SourceMapConsumer:Om,SourceMapGenerator:Lm}=te;function jw(A){return Buffer?Buffer.from(A,"base64").toString():window.atob(A)}let xa=class{constructor(C,e){if(e.map===!1)return;this.loadAnnotation(C),this.inline=this.startWith(this.annotation,"data:");let n=e.map?e.map.prev:void 0,t=this.loadMap(e.from,n);!this.mapFile&&e.from&&(this.mapFile=e.from),this.mapFile&&(this.root=Ol(this.mapFile)),t&&(this.text=t)}consumer(){return this.consumerCache||(this.consumerCache=new Om(this.text)),this.consumerCache}decodeInline(C){let e=/^data:application\/json;charset=utf-?8;base64,/,n=/^data:application\/json;base64,/,t=/^data:application\/json;charset=utf-?8,/,i=/^data:application\/json,/,s=C.match(t)||C.match(i);if(s)return decodeURIComponent(C.substr(s[0].length));let o=C.match(e)||C.match(n);if(o)return jw(C.substr(o[0].length));let l=C.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+l)}getAnnotationURL(C){return C.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(C){return typeof C!="object"?!1:typeof C.mappings=="string"||typeof C._mappings=="string"||Array.isArray(C.sections)}loadAnnotation(C){let e=C.match(/\/\*\s*# sourceMappingURL=/g);if(!e)return;let n=C.lastIndexOf(e.pop()),t=C.indexOf("*/",n);n>-1&&t>-1&&(this.annotation=this.getAnnotationURL(C.substring(n,t)))}loadFile(C){if(this.root=Ol(C),kw(C))return this.mapFile=C,xw(C,"utf-8").toString().trim()}loadMap(C,e){if(e===!1)return!1;if(e){if(typeof e=="string")return e;if(typeof e=="function"){let n=e(C);if(n){let t=this.loadFile(n);if(!t)throw new Error("Unable to load previous source map: "+n.toString());return t}}else{if(e instanceof Om)return Lm.fromSourceMap(e).toString();if(e instanceof Lm)return e.toString();if(this.isMap(e))return JSON.stringify(e);throw new Error("Unsupported previous source map format: "+e.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let n=this.annotation;return C&&(n=_w(Ol(C),n)),this.loadFile(n)}}}startWith(C,e){return C?C.substr(0,e.length)===e:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var rf=xa;xa.default=xa;let{nanoid:Iw}=Sw,{isAbsolute:_a,resolve:ja}=te,{SourceMapConsumer:Mw,SourceMapGenerator:Dw}=te,{fileURLToPath:Km,pathToFileURL:cs}=te,Tm=ic,Pw=rf,Ll=te,Kl=Symbol("lineToIndexCache"),Ow=!!(Mw&&Dw),Fm=!!(ja&&_a);function Nm(A){if(A[Kl])return A[Kl];let C=A.css.split(` +`),e=new Array(C.length),n=0;for(let t=0,i=C.length;t"u"||typeof C=="object"&&!C.toString)throw new Error(`PostCSS received ${C} instead of CSS string`);if(this.css=C.toString(),this.css[0]==="\uFEFF"||this.css[0]==="￾"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,e.document&&(this.document=e.document.toString()),e.from&&(!Fm||/^\w+:\/\//.test(e.from)||_a(e.from)?this.file=e.from:this.file=ja(e.from)),Fm&&Ow){let n=new Pw(this.css,e);if(n.text){this.map=n;let t=n.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}error(C,e,n,t={}){let i,s,o,l,a;if(e&&typeof e=="object"){let p=e,d=n;if(typeof p.offset=="number"){l=p.offset;let u=this.fromOffset(l);e=u.line,n=u.col}else e=p.line,n=p.column,l=this.fromLineAndColumn(e,n);if(typeof d.offset=="number"){o=d.offset;let u=this.fromOffset(o);s=u.line,i=u.col}else s=d.line,i=d.column,o=this.fromLineAndColumn(d.line,d.column)}else if(n)l=this.fromLineAndColumn(e,n);else{l=e;let p=this.fromOffset(l);e=p.line,n=p.col}let r=this.origin(e,n,s,i);return r?a=new Tm(C,r.endLine===void 0?r.line:{column:r.column,line:r.line},r.endLine===void 0?r.column:{column:r.endColumn,line:r.endLine},r.source,r.file,t.plugin):a=new Tm(C,s===void 0?e:{column:n,line:e},s===void 0?n:{column:i,line:s},this.css,this.file,t.plugin),a.input={column:n,endColumn:i,endLine:s,endOffset:o,line:e,offset:l,source:this.css},this.file&&(cs&&(a.input.url=cs(this.file).toString()),a.input.file=this.file),a}fromLineAndColumn(C,e){return Nm(this)[C-1]+e-1}fromOffset(C){let e=Nm(this),n=e[e.length-1],t=0;if(C>=n)t=e.length-1;else{let i=e.length-2,s;for(;t>1),C=e[s+1])t=s+1;else{t=s;break}}return{col:C-e[t]+1,line:t+1}}mapResolve(C){return/^\w+:\/\//.test(C)?C:ja(this.map.consumer().sourceRoot||this.map.root||".",C)}origin(C,e,n,t){if(!this.map)return!1;let i=this.map.consumer(),s=i.originalPositionFor({column:e,line:C});if(!s.source)return!1;let o;typeof n=="number"&&(o=i.originalPositionFor({column:t,line:n}));let l;_a(s.source)?l=cs(s.source):l=new URL(s.source,this.map.consumer().sourceRoot||cs(this.map.mapFile));let a={column:s.column,endColumn:o&&o.column,endLine:o&&o.line,line:s.line,url:l.toString()};if(l.protocol==="file:")if(Km)a.file=Km(l);else throw new Error("file: protocol is not available in this PostCSS build");let r=i.sourceContentFor(s.source);return r&&(a.source=r),a}toJSON(){let C={};for(let e of["hasBOM","css","file","id"])this[e]!=null&&(C[e]=this[e]);return this.map&&(C.map={...this.map},C.map.consumerCache&&(C.map.consumerCache=void 0)),C}};var Yo=co;co.default=co;Ll&&Ll.registerInput&&Ll.registerInput(co);let cf=it,uf,mf,It=class extends cf{constructor(C){super(C),this.type="root",this.nodes||(this.nodes=[])}normalize(C,e,n){let t=super.normalize(C);if(e){if(n==="prepend")this.nodes.length>1?e.raws.before=this.nodes[1].raws.before:delete e.raws.before;else if(this.first!==e)for(let i of t)i.raws.before=e.raws.before}return t}removeChild(C,e){let n=this.index(C);return!e&&n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),super.removeChild(C)}toResult(C={}){return new uf(new mf,this,C).stringify()}};It.registerLazyResult=A=>{uf=A};It.registerProcessor=A=>{mf=A};var Wi=It;It.default=It;cf.registerRoot(It);let Mi={comma(A){return Mi.split(A,[","],!0)},space(A){let C=[" ",` +`," "];return Mi.split(A,C)},split(A,C,e){let n=[],t="",i=!1,s=0,o=!1,l="",a=!1;for(let r of A)a?a=!1:r==="\\"?a=!0:o?r===l&&(o=!1):r==='"'||r==="'"?(o=!0,l=r):r==="("?s+=1:r===")"?s>0&&(s-=1):s===0&&C.includes(r)&&(i=!0),i?(t!==""&&n.push(t.trim()),t="",i=!1):t+=r;return(e||t!=="")&&n.push(t.trim()),n}};var df=Mi;Mi.default=Mi;let pf=it,Lw=df,uo=class extends pf{get selectors(){return Lw.comma(this.selector)}set selectors(C){let e=this.selector?this.selector.match(/,\s*/):null,n=e?e[0]:","+this.raw("between","beforeOpen");this.selector=C.join(n)}constructor(C){super(C),this.type="rule",this.nodes||(this.nodes=[])}};var rc=uo;uo.default=uo;pf.registerRule(uo);let Kw=lc,Tw=qo,Fw=Wo,Nw=Yo,$w=rf,Rw=Wi,Gw=rc;function Di(A,C){if(Array.isArray(A))return A.map(t=>Di(t));let{inputs:e,...n}=A;if(e){C=[];for(let t of e){let i={...t,__proto__:Nw.prototype};i.map&&(i.map={...i.map,__proto__:$w.prototype}),C.push(i)}}if(n.nodes&&(n.nodes=A.nodes.map(t=>Di(t,C))),n.source){let{inputId:t,...i}=n.source;n.source=i,t!=null&&(n.source.input=C[t])}if(n.type==="root")return new Rw(n);if(n.type==="decl")return new Fw(n);if(n.type==="rule")return new Gw(n);if(n.type==="comment")return new Tw(n);if(n.type==="atrule")return new Kw(n);throw new Error("Unknown node type: "+A.type)}var Uw=Di;Di.default=Di;let{dirname:Ps,relative:ff,resolve:hf,sep:gf}=te,{SourceMapConsumer:bf,SourceMapGenerator:Os}=te,{pathToFileURL:$m}=te,Hw=Yo,Qw=!!(bf&&Os),Vw=!!(Ps&&hf&&ff&&gf),zw=class{constructor(C,e,n,t){this.stringify=C,this.mapOpts=n.map||{},this.root=e,this.opts=n,this.css=t,this.originalCSS=t,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let C;this.isInline()?C="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?C=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?C=this.mapOpts.annotation(this.opts.to,this.root):C=this.outputFile()+".map";let e=` +`;this.css.includes(`\r +`)&&(e=`\r +`),this.css+=e+"/*# sourceMappingURL="+C+" */"}applyPrevMaps(){for(let C of this.previous()){let e=this.toUrl(this.path(C.file)),n=C.root||Ps(C.file),t;this.mapOpts.sourcesContent===!1?(t=new bf(C.text),t.sourcesContent&&(t.sourcesContent=null)):t=C.consumer(),this.map.applySourceMap(t,e,this.toUrl(this.path(n)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let C;for(let e=this.root.nodes.length-1;e>=0;e--)C=this.root.nodes[e],C.type==="comment"&&C.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(e)}else this.css&&(this.css=this.css.replace(/\n*\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),Vw&&Qw&&this.isMap())return this.generateMap();{let C="";return this.stringify(this.root,e=>{C+=e}),[C]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let C=this.previous()[0].consumer();C.file=this.outputFile(),this.map=Os.fromSourceMap(C,{ignoreInvalidMapping:!0})}else this.map=new Os({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):""});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new Os({file:this.outputFile(),ignoreInvalidMapping:!0});let C=1,e=1,n="",t={generated:{column:0,line:0},original:{column:0,line:0},source:""},i,s;this.stringify(this.root,(o,l,a)=>{if(this.css+=o,l&&a!=="end"&&(t.generated.line=C,t.generated.column=e-1,l.source&&l.source.start?(t.source=this.sourcePath(l),t.original.line=l.source.start.line,t.original.column=l.source.start.column-1,this.map.addMapping(t)):(t.source=n,t.original.line=1,t.original.column=0,this.map.addMapping(t))),s=o.match(/\n/g),s?(C+=s.length,i=o.lastIndexOf(` +`),e=o.length-i):e+=o.length,l&&a!=="start"){let r=l.parent||{raws:{}};(!(l.type==="decl"||l.type==="atrule"&&!l.nodes)||l!==r.last||r.raws.semicolon)&&(l.source&&l.source.end?(t.source=this.sourcePath(l),t.original.line=l.source.end.line,t.original.column=l.source.end.column-1,t.generated.line=C,t.generated.column=e-2,this.map.addMapping(t)):(t.source=n,t.original.line=1,t.original.column=0,t.generated.line=C,t.generated.column=e-1,this.map.addMapping(t)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(C=>C.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let C=this.mapOpts.annotation;return typeof C<"u"&&C!==!0?!1:this.previous().length?this.previous().some(e=>e.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(C=>C.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(C){if(this.mapOpts.absolute||C.charCodeAt(0)===60||/^\w+:\/\//.test(C))return C;let e=this.memoizedPaths.get(C);if(e)return e;let n=this.opts.to?Ps(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(n=Ps(hf(n,this.mapOpts.annotation)));let t=ff(n,C);return this.memoizedPaths.set(C,t),t}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(C=>{if(C.source&&C.source.input.map){let e=C.source.input.map;this.previousMaps.includes(e)||this.previousMaps.push(e)}});else{let C=new Hw(this.originalCSS,this.opts);C.map&&this.previousMaps.push(C.map)}return this.previousMaps}setSourcesContent(){let C={};if(this.root)this.root.walk(e=>{if(e.source){let n=e.source.input.from;if(n&&!C[n]){C[n]=!0;let t=this.usesFileUrls?this.toFileUrl(n):this.toUrl(this.path(n));this.map.setSourceContent(t,e.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"";this.map.setSourceContent(e,this.css)}}sourcePath(C){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(C.source.input.from):this.toUrl(this.path(C.source.input.from))}toBase64(C){return Buffer?Buffer.from(C).toString("base64"):window.btoa(unescape(encodeURIComponent(C)))}toFileUrl(C){let e=this.memoizedFileURLs.get(C);if(e)return e;if($m){let n=$m(C).toString();return this.memoizedFileURLs.set(C,n),n}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(C){let e=this.memoizedURLs.get(C);if(e)return e;gf==="\\"&&(C=C.replace(/\\/g,"/"));let n=encodeURI(C).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(C,n),n}};var Ef=zw;const Tl="'".charCodeAt(0),Rm='"'.charCodeAt(0),us="\\".charCodeAt(0),Gm="/".charCodeAt(0),ms=` +`.charCodeAt(0),Vt=" ".charCodeAt(0),ds="\f".charCodeAt(0),ps=" ".charCodeAt(0),fs="\r".charCodeAt(0),qw="[".charCodeAt(0),Ww="]".charCodeAt(0),Yw="(".charCodeAt(0),Jw=")".charCodeAt(0),Xw="{".charCodeAt(0),Zw="}".charCodeAt(0),A7=";".charCodeAt(0),C7="*".charCodeAt(0),e7=":".charCodeAt(0),n7="@".charCodeAt(0),hs=/[\t\n\f\r "#'()/;[\\\]{}]/g,gs=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,t7=/.[\r\n"'(/\\]/,Um=/[\da-f]/i;var i7=function(C,e={}){let n=C.css.valueOf(),t=e.ignoreErrors,i,s,o,l,a,r,p,d,u,g,v=n.length,y=0,x=[],$=[];function F(){return y}function H(cA){throw C.error("Unclosed "+cA,y)}function Y(){return $.length===0&&y>=v}function hA(cA){if($.length)return $.pop();if(y>=v)return;let eA=cA?cA.ignoreUnclosed:!1;switch(i=n.charCodeAt(y),i){case ms:case Vt:case ps:case fs:case ds:{l=y;do l+=1,i=n.charCodeAt(l);while(i===Vt||i===ms||i===ps||i===fs||i===ds);r=["space",n.slice(y,l)],y=l-1;break}case qw:case Ww:case Xw:case Zw:case e7:case A7:case Jw:{let rA=String.fromCharCode(i);r=[rA,rA,y];break}case Yw:{if(g=x.length?x.pop()[1]:"",u=n.charCodeAt(y+1),g==="url"&&u!==Tl&&u!==Rm&&u!==Vt&&u!==ms&&u!==ps&&u!==ds&&u!==fs){l=y;do{if(p=!1,l=n.indexOf(")",l+1),l===-1)if(t||eA){l=y;break}else H("bracket");for(d=l;n.charCodeAt(d-1)===us;)d-=1,p=!p}while(p);r=["brackets",n.slice(y,l+1),y,l],y=l}else l=n.indexOf(")",y+1),s=n.slice(y,l+1),l===-1||t7.test(s)?r=["(","(",y]:(r=["brackets",s,y,l],y=l);break}case Tl:case Rm:{a=i===Tl?"'":'"',l=y;do{if(p=!1,l=n.indexOf(a,l+1),l===-1)if(t||eA){l=y+1;break}else H("string");for(d=l;n.charCodeAt(d-1)===us;)d-=1,p=!p}while(p);r=["string",n.slice(y,l+1),y,l],y=l;break}case n7:{hs.lastIndex=y+1,hs.test(n),hs.lastIndex===0?l=n.length-1:l=hs.lastIndex-2,r=["at-word",n.slice(y,l+1),y,l],y=l;break}case us:{for(l=y,o=!0;n.charCodeAt(l+1)===us;)l+=1,o=!o;if(i=n.charCodeAt(l+1),o&&i!==Gm&&i!==Vt&&i!==ms&&i!==ps&&i!==fs&&i!==ds&&(l+=1,Um.test(n.charAt(l)))){for(;Um.test(n.charAt(l+1));)l+=1;n.charCodeAt(l+1)===Vt&&(l+=1)}r=["word",n.slice(y,l+1),y,l],y=l;break}default:{i===Gm&&n.charCodeAt(y+1)===C7?(l=n.indexOf("*/",y+2)+1,l===0&&(t||eA?l=n.length:H("comment")),r=["comment",n.slice(y,l+1),y,l],y=l):(gs.lastIndex=y+1,gs.test(n),gs.lastIndex===0?l=n.length-1:l=gs.lastIndex-2,r=["word",n.slice(y,l+1),y,l],x.push(r),y=l);break}}return y++,r}function BA(cA){$.push(cA)}return{back:BA,endOfFile:Y,nextToken:hA,position:F}};let s7=lc,o7=qo,l7=Wo,a7=Wi,Hm=rc,r7=i7;const Qm={empty:!0,space:!0};function c7(A){for(let C=A.length-1;C>=0;C--){let e=A[C],n=e[3]||e[2];if(n)return n}}let u7=class{constructor(C){this.input=C,this.root=new a7,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:C,start:{column:1,line:1,offset:0}}}atrule(C){let e=new s7;e.name=C[1].slice(1),e.name===""&&this.unnamedAtrule(e,C),this.init(e,C[2]);let n,t,i,s=!1,o=!1,l=[],a=[];for(;!this.tokenizer.endOfFile();){if(C=this.tokenizer.nextToken(),n=C[0],n==="("||n==="["?a.push(n==="("?")":"]"):n==="{"&&a.length>0?a.push("}"):n===a[a.length-1]&&a.pop(),a.length===0)if(n===";"){e.source.end=this.getPosition(C[2]),e.source.end.offset++,this.semicolon=!0;break}else if(n==="{"){o=!0;break}else if(n==="}"){if(l.length>0){for(i=l.length-1,t=l[i];t&&t[0]==="space";)t=l[--i];t&&(e.source.end=this.getPosition(t[3]||t[2]),e.source.end.offset++)}this.end(C);break}else l.push(C);else l.push(C);if(this.tokenizer.endOfFile()){s=!0;break}}e.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(e.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(e,"params",l),s&&(C=l[l.length-1],e.source.end=this.getPosition(C[3]||C[2]),e.source.end.offset++,this.spaces=e.raws.between,e.raws.between="")):(e.raws.afterName="",e.params=""),o&&(e.nodes=[],this.current=e)}checkMissedSemicolon(C){let e=this.colon(C);if(e===!1)return;let n=0,t;for(let i=e-1;i>=0&&(t=C[i],!(t[0]!=="space"&&(n+=1,n===2)));i--);throw this.input.error("Missed semicolon",t[0]==="word"?t[3]+1:t[2])}colon(C){let e=0,n,t,i;for(let[s,o]of C.entries()){if(t=o,i=t[0],i==="("&&(e+=1),i===")"&&(e-=1),e===0&&i===":")if(!n)this.doubleColon(t);else{if(n[0]==="word"&&n[1]==="progid")continue;return s}n=t}return!1}comment(C){let e=new o7;this.init(e,C[2]),e.source.end=this.getPosition(C[3]||C[2]),e.source.end.offset++;let n=C[1].slice(2,-2);if(/^\s*$/.test(n))e.text="",e.raws.left=n,e.raws.right="";else{let t=n.match(/^(\s*)([^]*\S)(\s*)$/);e.text=t[2],e.raws.left=t[1],e.raws.right=t[3]}}createTokenizer(){this.tokenizer=r7(this.input)}decl(C,e){let n=new l7;this.init(n,C[0][2]);let t=C[C.length-1];for(t[0]===";"&&(this.semicolon=!0,C.pop()),n.source.end=this.getPosition(t[3]||t[2]||c7(C)),n.source.end.offset++;C[0][0]!=="word";)C.length===1&&this.unknownWord(C),n.raws.before+=C.shift()[1];for(n.source.start=this.getPosition(C[0][2]),n.prop="";C.length;){let a=C[0][0];if(a===":"||a==="space"||a==="comment")break;n.prop+=C.shift()[1]}n.raws.between="";let i;for(;C.length;)if(i=C.shift(),i[0]===":"){n.raws.between+=i[1];break}else i[0]==="word"&&/\w/.test(i[1])&&this.unknownWord([i]),n.raws.between+=i[1];(n.prop[0]==="_"||n.prop[0]==="*")&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1));let s=[],o;for(;C.length&&(o=C[0][0],!(o!=="space"&&o!=="comment"));)s.push(C.shift());this.precheckMissedSemicolon(C);for(let a=C.length-1;a>=0;a--){if(i=C[a],i[1].toLowerCase()==="!important"){n.important=!0;let r=this.stringFrom(C,a);r=this.spacesFromEnd(C)+r,r!==" !important"&&(n.raws.important=r);break}else if(i[1].toLowerCase()==="important"){let r=C.slice(0),p="";for(let d=a;d>0;d--){let u=r[d][0];if(p.trim().startsWith("!")&&u!=="space")break;p=r.pop()[1]+p}p.trim().startsWith("!")&&(n.important=!0,n.raws.important=p,C=r)}if(i[0]!=="space"&&i[0]!=="comment")break}C.some(a=>a[0]!=="space"&&a[0]!=="comment")&&(n.raws.between+=s.map(a=>a[1]).join(""),s=[]),this.raw(n,"value",s.concat(C),e),n.value.includes(":")&&!e&&this.checkMissedSemicolon(C)}doubleColon(C){throw this.input.error("Double colon",{offset:C[2]},{offset:C[2]+C[1].length})}emptyRule(C){let e=new Hm;this.init(e,C[2]),e.selector="",e.raws.between="",this.current=e}end(C){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(C[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(C)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(C){if(this.spaces+=C[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&e.type==="rule"&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="",e.source.end=this.getPosition(C[2]),e.source.end.offset+=e.raws.ownSemicolon.length)}}getPosition(C){let e=this.input.fromOffset(C);return{column:e.col,line:e.line,offset:C}}init(C,e){this.current.push(C),C.source={input:this.input,start:this.getPosition(e)},C.raws.before=this.spaces,this.spaces="",C.type!=="comment"&&(this.semicolon=!1)}other(C){let e=!1,n=null,t=!1,i=null,s=[],o=C[1].startsWith("--"),l=[],a=C;for(;a;){if(n=a[0],l.push(a),n==="("||n==="[")i||(i=a),s.push(n==="("?")":"]");else if(o&&t&&n==="{")i||(i=a),s.push("}");else if(s.length===0)if(n===";")if(t){this.decl(l,o);return}else break;else if(n==="{"){this.rule(l);return}else if(n==="}"){this.tokenizer.back(l.pop()),e=!0;break}else n===":"&&(t=!0);else n===s[s.length-1]&&(s.pop(),s.length===0&&(i=null));a=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(e=!0),s.length>0&&this.unclosedBracket(i),e&&t){if(!o)for(;l.length&&(a=l[l.length-1][0],!(a!=="space"&&a!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,o)}else this.unknownWord(l)}parse(){let C;for(;!this.tokenizer.endOfFile();)switch(C=this.tokenizer.nextToken(),C[0]){case"space":this.spaces+=C[1];break;case";":this.freeSemicolon(C);break;case"}":this.end(C);break;case"comment":this.comment(C);break;case"at-word":this.atrule(C);break;case"{":this.emptyRule(C);break;default:this.other(C);break}this.endFile()}precheckMissedSemicolon(){}raw(C,e,n,t){let i,s,o=n.length,l="",a=!0,r,p;for(let d=0;du+g[1],"");C.raws[e]={raw:d,value:l}}C[e]=l}rule(C){C.pop();let e=new Hm;this.init(e,C[0][2]),e.raws.between=this.spacesAndCommentsFromEnd(C),this.raw(e,"selector",C),this.current=e}spacesAndCommentsFromEnd(C){let e,n="";for(;C.length&&(e=C[C.length-1][0],!(e!=="space"&&e!=="comment"));)n=C.pop()[1]+n;return n}spacesAndCommentsFromStart(C){let e,n="";for(;C.length&&(e=C[0][0],!(e!=="space"&&e!=="comment"));)n+=C.shift()[1];return n}spacesFromEnd(C){let e,n="";for(;C.length&&(e=C[C.length-1][0],e==="space");)n=C.pop()[1]+n;return n}stringFrom(C,e){let n="";for(let t=e;tC.type==="warning")}};var uc=Ma;Ma.default=Ma;let g7=it,b7=ac,E7=Ef,y7=cc,Vm=uc,v7=Wi,w7=Vo,{isClean:Ke,my:B7}=qi;const S7={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},k7={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},x7={Once:!0,postcssPlugin:!0,prepare:!0},Mt=0;function zt(A){return typeof A=="object"&&typeof A.then=="function"}function vf(A){let C=!1,e=S7[A.type];return A.type==="decl"?C=A.prop.toLowerCase():A.type==="atrule"&&(C=A.name.toLowerCase()),C&&A.append?[e,e+"-"+C,Mt,e+"Exit",e+"Exit-"+C]:C?[e,e+"-"+C,e+"Exit",e+"Exit-"+C]:A.append?[e,Mt,e+"Exit"]:[e,e+"Exit"]}function zm(A){let C;return A.type==="document"?C=["Document",Mt,"DocumentExit"]:A.type==="root"?C=["Root",Mt,"RootExit"]:C=vf(A),{eventIndex:0,events:C,iterator:0,node:A,visitorIndex:0,visitors:[]}}function Da(A){return A[Ke]=!1,A.nodes&&A.nodes.forEach(C=>Da(C)),A}let Pa={},Dt=class wf{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(C,e,n){this.stringified=!1,this.processed=!1;let t;if(typeof e=="object"&&e!==null&&(e.type==="root"||e.type==="document"))t=Da(e);else if(e instanceof wf||e instanceof Vm)t=Da(e.root),e.map&&(typeof n.map>"u"&&(n.map={}),n.map.inline||(n.map.inline=!1),n.map.prev=e.map);else{let i=y7;n.syntax&&(i=n.syntax.parse),n.parser&&(i=n.parser),i.parse&&(i=i.parse);try{t=i(e,n)}catch(s){this.processed=!0,this.error=s}t&&!t[B7]&&g7.rebuild(t)}this.result=new Vm(C,t,n),this.helpers={...Pa,postcss:Pa,result:this.result},this.plugins=this.processor.plugins.map(i=>typeof i=="object"&&i.prepare?{...i,...i.prepare(this.result)}:i)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(C){return this.async().catch(C)}finally(C){return this.async().then(C,C)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(C,e){let n=this.result.lastPlugin;try{e&&e.addToError(C),this.error=C,C.name==="CssSyntaxError"&&!C.plugin?(C.plugin=n.postcssPlugin,C.setMessage()):n.postcssVersion}catch(t){console&&console.error&&console.error(t)}return C}prepareVisitors(){this.listeners={};let C=(e,n,t)=>{this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push([e,t])};for(let e of this.plugins)if(typeof e=="object")for(let n in e){if(!k7[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${e.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!x7[n])if(typeof e[n]=="object")for(let t in e[n])t==="*"?C(e,n,e[n][t]):C(e,n+"-"+t.toLowerCase(),e[n][t]);else typeof e[n]=="function"&&C(e,n,e[n])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let C=0;C0;){let n=this.visitTick(e);if(zt(n))try{await n}catch(t){let i=e[e.length-1].node;throw this.handleError(t,i)}}}if(this.listeners.OnceExit)for(let[e,n]of this.listeners.OnceExit){this.result.lastPlugin=e;try{if(C.type==="document"){let t=C.nodes.map(i=>n(i,this.helpers));await Promise.all(t)}else await n(C,this.helpers)}catch(t){throw this.handleError(t)}}}return this.processed=!0,this.stringify()}runOnRoot(C){this.result.lastPlugin=C;try{if(typeof C=="object"&&C.Once){if(this.result.root.type==="document"){let e=this.result.root.nodes.map(n=>C.Once(n,this.helpers));return zt(e[0])?Promise.all(e):e}return C.Once(this.result.root,this.helpers)}else if(typeof C=="function")return C(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let C=this.result.opts,e=w7;C.syntax&&(e=C.syntax.stringify),C.stringifier&&(e=C.stringifier),e.stringify&&(e=e.stringify);let t=new E7(e,this.result.root,this.result.opts).generate();return this.result.css=t[0],this.result.map=t[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let C of this.plugins){let e=this.runOnRoot(C);if(zt(e))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let C=this.result.root;for(;!C[Ke];)C[Ke]=!0,this.walkSync(C);if(this.listeners.OnceExit)if(C.type==="document")for(let e of C.nodes)this.visitSync(this.listeners.OnceExit,e);else this.visitSync(this.listeners.OnceExit,C)}return this.result}then(C,e){return this.async().then(C,e)}toString(){return this.css}visitSync(C,e){for(let[n,t]of C){this.result.lastPlugin=n;let i;try{i=t(e,this.helpers)}catch(s){throw this.handleError(s,e.proxyOf)}if(e.type!=="root"&&e.type!=="document"&&!e.parent)return!0;if(zt(i))throw this.getAsyncError()}}visitTick(C){let e=C[C.length-1],{node:n,visitors:t}=e;if(n.type!=="root"&&n.type!=="document"&&!n.parent){C.pop();return}if(t.length>0&&e.visitorIndex{t[Ke]||this.walkSync(t)});else{let t=this.listeners[n];if(t&&this.visitSync(t,C.toProxy()))return}}warnings(){return this.sync().warnings()}};Dt.registerPostcss=A=>{Pa=A};var Bf=Dt;Dt.default=Dt;v7.registerLazyResult(Dt);b7.registerLazyResult(Dt);let _7=Ef,j7=cc;const I7=uc;let M7=Vo,Oa=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let C,e=j7;try{C=e(this._css,this._opts)}catch(n){this.error=n}if(this.error)throw this.error;return this._root=C,C}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(C,e,n){e=e.toString(),this.stringified=!1,this._processor=C,this._css=e,this._opts=n,this._map=void 0;let t,i=M7;this.result=new I7(this._processor,t,this._opts),this.result.css=e;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let o=new _7(i,t,this._opts,e);if(o.isMap()){let[l,a]=o.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else o.clearAnnotation(),this.result.css=o.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(C){return this.async().catch(C)}finally(C){return this.async().then(C,C)}sync(){if(this.error)throw this.error;return this.result}then(C,e){return this.async().then(C,e)}toString(){return this._css}warnings(){return[]}};var D7=Oa;Oa.default=Oa;let P7=ac,O7=Bf,L7=D7,K7=Wi,Pi=class{constructor(C=[]){this.version="8.5.4",this.plugins=this.normalize(C)}normalize(C){let e=[];for(let n of C)if(n.postcss===!0?n=n():n.postcss&&(n=n.postcss),typeof n=="object"&&Array.isArray(n.plugins))e=e.concat(n.plugins);else if(typeof n=="object"&&n.postcssPlugin)e.push(n);else if(typeof n=="function")e.push(n);else if(!(typeof n=="object"&&(n.parse||n.stringify)))throw new Error(n+" is not a PostCSS plugin");return e}process(C,e={}){return!this.plugins.length&&!e.parser&&!e.stringifier&&!e.syntax?new L7(this,C,e):new O7(this,C,e)}use(C){return this.plugins=this.plugins.concat(this.normalize([C])),this}};var T7=Pi;Pi.default=Pi;K7.registerProcessor(Pi);P7.registerProcessor(Pi);let Sf=lc,kf=qo,F7=it,N7=ic,xf=Wo,_f=ac,$7=Uw,R7=Yo,G7=Bf,U7=df,H7=zo,Q7=cc,mc=T7,V7=uc,jf=Wi,If=rc,z7=Vo,q7=yf;function yC(...A){return A.length===1&&Array.isArray(A[0])&&(A=A[0]),new mc(A)}yC.plugin=function(C,e){let n=!1;function t(...s){console&&console.warn&&!n&&(n=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide: +https://evilmartians.com/chronicles/postcss-8-plugin-migration`),{}.LANG&&{}.LANG.startsWith("cn")&&console.warn(C+`: 里面 postcss.plugin 被弃用. 迁移指南: +https://www.w3ctech.com/topic/2226`));let o=e(...s);return o.postcssPlugin=C,o.postcssVersion=new mc().version,o}let i;return Object.defineProperty(t,"postcss",{get(){return i||(i=t()),i}}),t.process=function(s,o,l){return yC([t(l)]).process(s,o)},t};yC.stringify=z7;yC.parse=Q7;yC.fromJSON=$7;yC.list=U7;yC.comment=A=>new kf(A);yC.atRule=A=>new Sf(A);yC.decl=A=>new xf(A);yC.rule=A=>new If(A);yC.root=A=>new jf(A);yC.document=A=>new _f(A);yC.CssSyntaxError=N7;yC.Declaration=xf;yC.Container=F7;yC.Processor=mc;yC.Document=_f;yC.Comment=kf;yC.Warning=q7;yC.AtRule=Sf;yC.Result=V7;yC.Input=R7;yC.Rule=If;yC.Root=jf;yC.Node=H7;G7.registerPostcss(yC);var W7=yC;yC.default=yC;const Y7=E0,qm=q8,{isPlainObject:J7}=nc,Wm=aw,X7=rw,{parse:Z7}=W7,A9=["img","audio","video","picture","svg","object","map","iframe","embed"],C9=["script","style"];function pt(A,C){A&&Object.keys(A).forEach(function(e){C(A[e],e)})}function qe(A,C){return{}.hasOwnProperty.call(A,C)}function Ym(A,C){const e=[];return pt(A,function(n){C(n)&&e.push(n)}),e}function e9(A){for(const C in A)if(qe(A,C))return!1;return!0}function n9(A){return A.map(function(C){if(!C.url)throw new Error("URL missing");return C.url+(C.w?` ${C.w}w`:"")+(C.h?` ${C.h}h`:"")+(C.d?` ${C.d}x`:"")}).join(", ")}var t9=Oi;const i9=/^[^\0\t\n\f\r /<=>]+$/;function Oi(A,C,e){if(A==null)return"";typeof A=="number"&&(A=A.toString());let n="",t="";function i(B,M){const _=this;this.tag=B,this.attribs=M||{},this.tagPosition=n.length,this.text="",this.openingTagLength=0,this.mediaChildren=[],this.updateParentNodeText=function(){if(y.length){const T=y[y.length-1];T.text+=_.text}},this.updateParentNodeMediaChildren=function(){y.length&&A9.includes(this.tag)&&y[y.length-1].mediaChildren.push(this.tag)}}C=Object.assign({},Oi.defaults,C),C.parser=Object.assign({},s9,C.parser);const s=function(B){return C.allowedTags===!1||(C.allowedTags||[]).indexOf(B)>-1};C9.forEach(function(B){s(B)&&!C.allowVulnerableTags&&console.warn(` + +⚠️ Your \`allowedTags\` option includes, \`${B}\`, which is inherently +vulnerable to XSS attacks. Please remove it from \`allowedTags\`. +Or, to disable this warning, add the \`allowVulnerableTags\` option +and ensure you are accounting for this risk. + +`)});const o=C.nonTextTags||["script","style","textarea","option"];let l,a;C.allowedAttributes&&(l={},a={},pt(C.allowedAttributes,function(B,M){l[M]=[];const _=[];B.forEach(function(T){typeof T=="string"&&T.indexOf("*")>=0?_.push(qm(T).replace(/\\\*/g,".*")):l[M].push(T)}),_.length&&(a[M]=new RegExp("^("+_.join("|")+")$"))}));const r={},p={},d={};pt(C.allowedClasses,function(B,M){if(l&&(qe(l,M)||(l[M]=[]),l[M].push("class")),r[M]=B,Array.isArray(B)){const _=[];r[M]=[],d[M]=[],B.forEach(function(T){typeof T=="string"&&T.indexOf("*")>=0?_.push(qm(T).replace(/\\\*/g,".*")):T instanceof RegExp?d[M].push(T):r[M].push(T)}),_.length&&(p[M]=new RegExp("^("+_.join("|")+")$"))}});const u={};let g;pt(C.transformTags,function(B,M){let _;typeof B=="function"?_=B:typeof B=="string"&&(_=Oi.simpleTransform(B)),M==="*"?g=_:u[M]=_});let v,y,x,$,F,H,Y=!1;BA();const hA=new Y7.Parser({onopentag:function(B,M){if(C.onOpenTag&&C.onOpenTag(B,M),C.enforceHtmlBoundary&&B==="html"&&BA(),F){H++;return}const _=new i(B,M);y.push(_);let T=!1;const pA=!!_.text;let bA;if(qe(u,B)&&(bA=u[B](B,M),_.attribs=M=bA.attribs,bA.text!==void 0&&(_.innerText=bA.text),B!==bA.tagName&&(_.name=B=bA.tagName,$[v]=bA.tagName)),g&&(bA=g(B,M),_.attribs=M=bA.attribs,B!==bA.tagName&&(_.name=B=bA.tagName,$[v]=bA.tagName)),(!s(B)||C.disallowedTagsMode==="recursiveEscape"&&!e9(x)||C.nestingLimit!=null&&v>=C.nestingLimit)&&(T=!0,x[v]=!0,(C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard")&&o.indexOf(B)!==-1&&(F=!0,H=1)),v++,T){if(C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard"){if(_.innerText&&!pA){const FA=cA(_.innerText);C.textFilter?n+=C.textFilter(FA,B):n+=FA,Y=!0}return}t=n,n=""}n+="<"+B,B==="script"&&(C.allowedScriptHostnames||C.allowedScriptDomains)&&(_.innerText=""),T&&(C.disallowedTagsMode==="escape"||C.disallowedTagsMode==="recursiveEscape")&&C.preserveEscapedAttributes?pt(M,function(FA,NA){n+=" "+NA+'="'+cA(FA||"",!0)+'"'}):(!l||qe(l,B)||l["*"])&&pt(M,function(FA,NA){if(!i9.test(NA)){delete _.attribs[NA];return}if(FA===""&&!C.allowedEmptyAttributes.includes(NA)&&(C.nonBooleanAttributes.includes(NA)||C.nonBooleanAttributes.includes("*"))){delete _.attribs[NA];return}let PC=!1;if(!l||qe(l,B)&&l[B].indexOf(NA)!==-1||l["*"]&&l["*"].indexOf(NA)!==-1||qe(a,B)&&a[B].test(NA)||a["*"]&&a["*"].test(NA))PC=!0;else if(l&&l[B]){for(const UA of l[B])if(J7(UA)&&UA.name&&UA.name===NA){PC=!0;let N="";if(UA.multiple===!0){const uA=FA.split(" ");for(const oA of uA)UA.values.indexOf(oA)!==-1&&(N===""?N=oA:N+=" "+oA)}else UA.values.indexOf(FA)>=0&&(N=FA);FA=N}}if(PC){if(C.allowedSchemesAppliedToAttributes.indexOf(NA)!==-1&&eA(B,FA)){delete _.attribs[NA];return}if(B==="script"&&NA==="src"){let UA=!0;try{const N=rA(FA);if(C.allowedScriptHostnames||C.allowedScriptDomains){const uA=(C.allowedScriptHostnames||[]).find(function(aA){return aA===N.url.hostname}),oA=(C.allowedScriptDomains||[]).find(function(aA){return N.url.hostname===aA||N.url.hostname.endsWith(`.${aA}`)});UA=uA||oA}}catch{UA=!1}if(!UA){delete _.attribs[NA];return}}if(B==="iframe"&&NA==="src"){let UA=!0;try{const N=rA(FA);if(N.isRelativeUrl)UA=qe(C,"allowIframeRelativeUrls")?C.allowIframeRelativeUrls:!C.allowedIframeHostnames&&!C.allowedIframeDomains;else if(C.allowedIframeHostnames||C.allowedIframeDomains){const uA=(C.allowedIframeHostnames||[]).find(function(aA){return aA===N.url.hostname}),oA=(C.allowedIframeDomains||[]).find(function(aA){return N.url.hostname===aA||N.url.hostname.endsWith(`.${aA}`)});UA=uA||oA}}catch{UA=!1}if(!UA){delete _.attribs[NA];return}}if(NA==="srcset")try{let UA=X7(FA);if(UA.forEach(function(N){eA("srcset",N.url)&&(N.evil=!0)}),UA=Ym(UA,function(N){return!N.evil}),UA.length)FA=n9(Ym(UA,function(N){return!N.evil})),_.attribs[NA]=FA;else{delete _.attribs[NA];return}}catch{delete _.attribs[NA];return}if(NA==="class"){const UA=r[B],N=r["*"],uA=p[B],oA=d[B],aA=d["*"],ZA=p["*"],uC=[uA,ZA].concat(oA,aA).filter(function(E){return E});if(UA&&N?FA=V(FA,Wm(UA,N),uC):FA=V(FA,UA||N,uC),!FA.length){delete _.attribs[NA];return}}if(NA==="style"){if(C.parseStyleAttributes)try{const UA=Z7(B+" {"+FA+"}",{map:!1}),N=I(UA,C.allowedStyles);if(FA=O(N),FA.length===0){delete _.attribs[NA];return}}catch{typeof window<"u"&&console.warn('Failed to parse "'+B+" {"+FA+`}", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547`),delete _.attribs[NA];return}else if(C.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.")}n+=" "+NA,FA&&FA.length?n+='="'+cA(FA,!0)+'"':C.allowedEmptyAttributes.includes(NA)&&(n+='=""')}else delete _.attribs[NA]}),C.selfClosing.indexOf(B)!==-1?n+=" />":(n+=">",_.innerText&&!pA&&!C.textFilter&&(n+=cA(_.innerText),Y=!0)),T&&(n=t+cA(n),t=""),_.openingTagLength=n.length-_.tagPosition},ontext:function(B){if(F)return;const M=y[y.length-1];let _;if(M&&(_=M.tag,B=M.innerText!==void 0?M.innerText:B),C.disallowedTagsMode==="completelyDiscard"&&!s(_))B="";else if((C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard")&&(_==="script"||_==="style"))n+=B;else if(!Y){const T=cA(B,!1);C.textFilter?n+=C.textFilter(T,_):n+=T}if(y.length){const T=y[y.length-1];T.text+=B}},onclosetag:function(B,M){if(C.onCloseTag&&C.onCloseTag(B,M),F)if(H--,!H)F=!1;else return;const _=y.pop();if(!_)return;if(_.tag!==B){y.push(_);return}F=C.enforceHtmlBoundary?B==="html":!1,v--;const T=x[v];if(T){if(delete x[v],C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard"){_.updateParentNodeText();return}t=n,n=""}if($[v]&&(B=$[v],delete $[v]),C.exclusiveFilter){const pA=C.exclusiveFilter(_);if(pA==="excludeTag"){T&&(n=t,t=""),n=n.substring(0,_.tagPosition)+n.substring(_.tagPosition+_.openingTagLength);return}else if(pA){n=n.substring(0,_.tagPosition);return}}if(_.updateParentNodeMediaChildren(),_.updateParentNodeText(),C.selfClosing.indexOf(B)!==-1||M&&!s(B)&&["escape","recursiveEscape"].indexOf(C.disallowedTagsMode)>=0){T&&(n=t,t="");return}n+="",T&&(n=t+cA(n),t=""),Y=!1}},C.parser);return hA.write(A),hA.end(),n;function BA(){n="",v=0,y=[],x={},$={},F=!1,H=0}function cA(B,M){return typeof B!="string"&&(B=B+""),C.parser.decodeEntities&&(B=B.replace(/&/g,"&").replace(//g,">"),M&&(B=B.replace(/"/g,"""))),B=B.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(//g,">"),M&&(B=B.replace(/"/g,""")),B}function eA(B,M){for(M=M.replace(/[\x00-\x20]+/g,"");;){const pA=M.indexOf("",pA+4);if(bA===-1)break;M=M.substring(0,pA)+M.substring(bA+3)}const _=M.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!_)return M.match(/^[/\\]{2}/)?!C.allowProtocolRelative:!1;const T=_[1].toLowerCase();return qe(C.allowedSchemesByTag,B)?C.allowedSchemesByTag[B].indexOf(T)===-1:!C.allowedSchemes||C.allowedSchemes.indexOf(T)===-1}function rA(B){if(B=B.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//"),B.startsWith("relative:"))throw new Error("relative: exploit attempt");let M="relative://relative-site";for(let pA=0;pA<100;pA++)M+=`/${pA}`;const _=new URL(B,M);return{isRelativeUrl:_&&_.hostname==="relative-site"&&_.protocol==="relative:",url:_}}function I(B,M){if(!M)return B;const _=B.nodes[0];let T;return M[_.selector]&&M["*"]?T=Wm(M[_.selector],M["*"]):T=M[_.selector]||M["*"],T&&(B.nodes[0].nodes=_.nodes.reduce(W(T),[])),B}function O(B){return B.nodes[0].nodes.reduce(function(M,_){return M.push(`${_.prop}:${_.value}${_.important?" !important":""}`),M},[]).join(";")}function W(B){return function(M,_){return qe(B,_.prop)&&B[_.prop].some(function(pA){return pA.test(_.value)})&&M.push(_),M}}function V(B,M,_){return M?(B=B.split(/\s+/),B.filter(function(T){return M.indexOf(T)!==-1||_.some(function(pA){return pA.test(T)})}).join(" ")):B}}const s9={decodeEntities:!0};Oi.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","menu","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0,preserveEscapedAttributes:!1};Oi.simpleTransform=function(A,C,e){return e=e===void 0?!0:e,C=C||{},function(n,t){let i;if(e)for(i in C)t[i]=C[i];else t=C;return{tagName:A,attribs:t}}};const po=Gi(t9);function Z(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Message.vue",C="969cc4727dc9110e50f5ba8bdebafa9dfa4a7b70",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Message.vue",statementMap:{0:{start:{line:5,column:18},end:{line:118,column:1}},1:{start:{line:22,column:6},end:{line:22,column:39}},2:{start:{line:25,column:6},end:{line:30,column:7}},3:{start:{line:26,column:8},end:{line:29,column:10}},4:{start:{line:32,column:31},end:{line:32,column:35}},5:{start:{line:33,column:29},end:{line:33,column:33}},6:{start:{line:34,column:6},end:{line:112,column:19}},7:{start:{line:40,column:10},end:{line:62,column:11}},8:{start:{line:42,column:12},end:{line:49,column:13}},9:{start:{line:43,column:14},end:{line:46,column:15}},10:{start:{line:45,column:16},end:{line:45,column:61}},11:{start:{line:48,column:14},end:{line:48,column:41}},12:{start:{line:50,column:12},end:{line:53,column:13}},13:{start:{line:52,column:14},end:{line:52,column:43}},14:{start:{line:54,column:12},end:{line:59,column:13}},15:{start:{line:56,column:14},end:{line:56,column:39}},16:{start:{line:57,column:14},end:{line:57,column:37}},17:{start:{line:58,column:14},end:{line:58,column:25}},18:{start:{line:61,column:12},end:{line:61,column:23}},19:{start:{line:64,column:10},end:{line:75,column:11}},20:{start:{line:66,column:41},end:{line:68,column:64}},21:{start:{line:68,column:41},end:{line:68,column:63}},22:{start:{line:69,column:12},end:{line:74,column:13}},23:{start:{line:71,column:14},end:{line:71,column:44}},24:{start:{line:72,column:14},end:{line:72,column:65}},25:{start:{line:73,column:14},end:{line:73,column:25}},26:{start:{line:79,column:21},end:{line:79,column:47}},27:{start:{line:81,column:24},end:{line:81,column:26}},28:{start:{line:82,column:25},end:{line:82,column:27}},29:{start:{line:83,column:10},end:{line:86,column:11}},30:{start:{line:84,column:12},end:{line:84,column:41}},31:{start:{line:85,column:12},end:{line:85,column:71}},32:{start:{line:87,column:10},end:{line:89,column:11}},33:{start:{line:88,column:12},end:{line:88,column:27}},34:{start:{line:91,column:24},end:{line:91,column:26}},35:{start:{line:92,column:10},end:{line:95,column:12}},36:{start:{line:93,column:12},end:{line:93,column:31}},37:{start:{line:94,column:12},end:{line:94,column:75}},38:{start:{line:97,column:10},end:{line:97,column:86}},39:{start:{line:99,column:10},end:{line:99,column:74}},40:{start:{line:101,column:10},end:{line:101,column:84}},41:{start:{line:103,column:10},end:{line:105,column:11}},42:{start:{line:104,column:12},end:{line:104,column:111}},43:{start:{line:106,column:10},end:{line:108,column:11}},44:{start:{line:107,column:12},end:{line:107,column:144}},45:{start:{line:109,column:10},end:{line:109,column:21}},46:{start:{line:111,column:26},end:{line:111,column:39}},47:{start:{line:115,column:6},end:{line:115,column:66}},48:{start:{line:122,column:19},end:{line:122,column:32}},49:{start:{line:123,column:19},end:{line:126,column:1}},50:{start:{line:127,column:19},end:{line:130,column:1}},51:{start:{line:131,column:19},end:{line:131,column:40}},52:{start:{line:132,column:19},end:{line:132,column:28}},53:{start:{line:133,column:19},end:{line:133,column:28}},54:{start:{line:136,column:34},end:{line:136,column:67}},55:{start:{line:138,column:2},end:{line:178,column:8}},56:{start:{line:148,column:6},end:{line:152,column:27}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:21,column:4},end:{line:21,column:5}},loc:{start:{line:21,column:12},end:{line:23,column:5}},line:21},1:{name:"(anonymous_1)",decl:{start:{line:24,column:4},end:{line:24,column:5}},loc:{start:{line:24,column:12},end:{line:113,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:39,column:13},end:{line:39,column:14}},loc:{start:{line:39,column:37},end:{line:110,column:9}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:68,column:25},end:{line:68,column:26}},loc:{start:{line:68,column:41},end:{line:68,column:63}},line:68},4:{name:"(anonymous_4)",decl:{start:{line:92,column:83},end:{line:92,column:84}},loc:{start:{line:92,column:100},end:{line:95,column:11}},line:92},5:{name:"(anonymous_5)",decl:{start:{line:111,column:16},end:{line:111,column:17}},loc:{start:{line:111,column:26},end:{line:111,column:39}},line:111},6:{name:"(anonymous_6)",decl:{start:{line:114,column:4},end:{line:114,column:5}},loc:{start:{line:114,column:18},end:{line:116,column:5}},line:114},7:{name:"_sfc_render",decl:{start:{line:135,column:9},end:{line:135,column:20}},loc:{start:{line:135,column:68},end:{line:179,column:1}},line:135},8:{name:"(anonymous_8)",decl:{start:{line:147,column:94},end:{line:147,column:95}},loc:{start:{line:147,column:104},end:{line:153,column:5}},line:147}},branchMap:{0:{loc:{start:{line:25,column:6},end:{line:30,column:7}},type:"if",locations:[{start:{line:25,column:6},end:{line:30,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:25},1:{loc:{start:{line:40,column:10},end:{line:62,column:11}},type:"if",locations:[{start:{line:40,column:10},end:{line:62,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:40},2:{loc:{start:{line:42,column:12},end:{line:49,column:13}},type:"if",locations:[{start:{line:42,column:12},end:{line:49,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:42},3:{loc:{start:{line:43,column:14},end:{line:46,column:15}},type:"if",locations:[{start:{line:43,column:14},end:{line:46,column:15}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:43},4:{loc:{start:{line:50,column:12},end:{line:53,column:13}},type:"if",locations:[{start:{line:50,column:12},end:{line:53,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:50},5:{loc:{start:{line:54,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:54,column:12},end:{line:59,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54},6:{loc:{start:{line:64,column:10},end:{line:75,column:11}},type:"if",locations:[{start:{line:64,column:10},end:{line:75,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},7:{loc:{start:{line:69,column:12},end:{line:74,column:13}},type:"if",locations:[{start:{line:69,column:12},end:{line:74,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:69},8:{loc:{start:{line:87,column:10},end:{line:89,column:11}},type:"if",locations:[{start:{line:87,column:10},end:{line:89,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:87},9:{loc:{start:{line:115,column:13},end:{line:115,column:66}},type:"cond-expr",locations:[{start:{line:115,column:35},end:{line:115,column:59}},{start:{line:115,column:62},end:{line:115,column:66}}],line:115},10:{loc:{start:{line:141,column:4},end:{line:146,column:37}},type:"cond-expr",locations:[{start:{line:142,column:9},end:{line:145,column:31}},{start:{line:146,column:8},end:{line:146,column:37}}],line:141},11:{loc:{start:{line:154,column:4},end:{line:177,column:37}},type:"cond-expr",locations:[{start:{line:155,column:9},end:{line:176,column:10}},{start:{line:177,column:8},end:{line:177,column:37}}],line:154},12:{loc:{start:{line:156,column:10},end:{line:158,column:43}},type:"cond-expr",locations:[{start:{line:157,column:15},end:{line:157,column:101}},{start:{line:158,column:14},end:{line:158,column:43}}],line:156},13:{loc:{start:{line:163,column:10},end:{line:175,column:45}},type:"cond-expr",locations:[{start:{line:164,column:15},end:{line:168,column:37}},{start:{line:169,column:14},end:{line:175,column:45}}],line:163},14:{loc:{start:{line:169,column:14},end:{line:175,column:45}},type:"cond-expr",locations:[{start:{line:170,column:17},end:{line:174,column:39}},{start:{line:175,column:16},end:{line:175,column:45}}],line:169}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Message.vue"],names:[],mappings:";AAeA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAEvC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACb,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACX,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACN,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACN,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACnC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;UACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;MACH;;MAEA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5B,CAAC;QACC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;UAC3B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;cAChC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBAClC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;cAC9C;cACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;cAClB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5B;YACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;cAClC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;cAChB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B;YACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;cAC9B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;cACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;cACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;cACtB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACZ;YACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UACZ;;UAEA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACrB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;cAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;cAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;cAC/B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;cAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;cAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;cAClD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACZ;UACF;;UAEA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UACpB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UAChB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC5D;UACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACnB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAChB;UACA,CAAC,EAAE,CAAC,CAAC,CAAC;UACN,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;UACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YACxF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAChE,CAAC;UACD,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;UAClB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC3E,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;UACpB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC/D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;UACrB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACzE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC5D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACpG;UACA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACrI;UACA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;EACH,CAAC;AACH;;;;;;;EA9H8B,KAAK,EAAC,kDAAkD;;;;EAC1D,KAAK,EAAC,MAAM;;;;;;;;;wBALtC,oBAUO;IAVD,KAAK,mBAAC,qCAAqC,wBAA+B,mBAAU;;KAE5E,cAAO,CAAC,IAAI;uBAAxB,oBAA0C;;UAAhB,SAAa,EAAL,aAAI;;;uBACtC,oBAAmG,6BAAtE,cAAO,CAAC,KAAK,GAArB,IAAI;4BAAzB,aAAmG;QAAtD,GAAG,EAAE,IAAI,CAAC,GAAG;QAAG,GAAG,EAAE,IAAI,CAAC,GAAG;QAAE,KAAK,EAAC,cAAc;;;KACrF,cAAO,CAAC,KAAK;uBAAxB,oBAKM,OALN,UAKM;WAJK,kBAAW;6BAApB,oBAAiD,KAAjD,UAAiD,mBAAX,aAAI;;UAC1C,oBAAqI;YAA9H,QAAQ,EAAE,WAAM,CAAC,cAAO,CAAC,KAAK,EAAE,MAAM;YAAK,KAAK,EAAE,WAAM,CAAC,cAAO,CAAC,KAAK,EAAE,MAAM;8BAAO,WAAM,CAAC,cAAO,CAAC,KAAK,EAAE,OAAO;WAChH,mBAAU;6BAAnB,oBAA4G;;gBAA3E,KAAK,EAAC,kCAAkC;gBAAE,KAAK,EAAE,cAAO,CAAC,MAAM,CAAC,OAAO;;eAC1F,mBAAU;+BAAxB,oBAAmH;;kBAAzE,KAAK,EAAC,gCAAgC;kBAAE,KAAK,EAAE,cAAO,CAAC,MAAM,CAAC,OAAO"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"969cc4727dc9110e50f5ba8bdebafa9dfa4a7b70"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return Z=function(){return s},s}Z();const o9=(Z().s[0]++,{name:"Message",components:{MessageLink:$v},props:{message:{type:Object,required:!0},displayNick:{type:Boolean,default:!1}},computed:{nick(){return Z().f[0]++,Z().s[1]++,this.message.from.resource},body(){if(Z().f[1]++,Z().s[2]++,window.config.isStylingDisabled)return Z().b[0][0]++,Z().s[3]++,po(this.message.body,{allowedTags:[],disallowedTagsMode:escape});Z().b[0][1]++;let A=(Z().s[4]++,null),C=(Z().s[5]++,null);return Z().s[6]++,po(this.message.body,{allowedTags:[],disallowedTagsMode:escape}).split(/\r?\n/).map((e,n,t)=>{var r;if(Z().f[2]++,Z().s[7]++,C!==null)return Z().b[1][0]++,Z().s[8]++,n===A?(Z().b[2][0]++,Z().s[9]++,n===C-1?(Z().b[3][0]++,Z().s[10]++,"
"+e+"
"):(Z().b[3][1]++,Z().s[11]++,"
"+e)):(Z().b[2][1]++,Z().s[12]++,n===C-1?(Z().b[4][0]++,Z().s[13]++,e+"
"):(Z().b[4][1]++,Z().s[14]++,n===C?(Z().b[5][0]++,Z().s[15]++,A=null,Z().s[16]++,C=null,Z().s[17]++,null):(Z().b[5][1]++,Z().s[18]++,e)));if(Z().b[1][1]++,Z().s[19]++,/^```/.test(e)){Z().b[6][0]++;const p=(Z().s[20]++,t.slice(n+1).findIndex(d=>(Z().f[3]++,Z().s[21]++,/```/.test(d))));if(Z().s[22]++,p!==-1)return Z().b[7][0]++,Z().s[23]++,A=n+1,Z().s[24]++,C=n+p+1,Z().s[25]++,null;Z().b[7][1]++}else Z().b[6][1]++;const i=(Z().s[26]++,/([^`]*)`([^`]*)`([^`]*)/g);let s;const o=(Z().s[27]++,{});let l=(Z().s[28]++,"");for(Z().s[29]++;(s=i.exec(e))!==null;)Z().s[30]++,o[s.index]=s[2],Z().s[31]++,l+=`${s[1]}${s[3]}`;Z().s[32]++,l!==""?(Z().b[8][0]++,Z().s[33]++,e=l):Z().b[8][1]++;const a=(Z().s[34]++,{});Z().s[35]++,(r=e.match(/((?:https?|mailto):\/\/[a-z0-9/:%_+.,#?!@&=-]+)/gi))==null||r.forEach((p,d)=>{Z().f[4]++,Z().s[36]++,a[d]=p,Z().s[37]++,e=e.replaceAll(p,`${d}`)}),Z().s[38]++,e=e.replace(/([^*]*)\*([^*]*)\*([^*]*)/g,"$1$2$3"),Z().s[39]++,e=e.replace(/([^_]*)_([^_]*)_([^_]*)/g,"$1$2$3"),Z().s[40]++,e=e.replace(/([^~]*)~([^~]*)~([^~]*)/g,"$1$2$3"),Z().s[41]++;for(const p in o)Z().s[42]++,e=e.replace(new RegExp(`(.*)(.*)`,"g"),`$1${o[p]}$2`);Z().s[43]++;for(const p in a)Z().s[44]++,e=e.replace(`${p}`,`${a[p]}`);return Z().s[45]++,e}).filter(e=>(Z().f[5]++,Z().s[46]++,e!==null)).join(` +`)},statusCode(){return Z().f[6]++,Z().s[47]++,this.message.status?(Z().b[9][0]++,this.message.status.code):(Z().b[9][1]++,null)}}}),l9=(Z().s[48]++,["innerHTML"]),a9=(Z().s[49]++,{key:1,class:"content is-italic has-text-weight-light is-small"}),r9=(Z().s[50]++,{key:0,class:"pr-1"}),c9=(Z().s[51]++,["datetime","title"]),u9=(Z().s[52]++,["title"]),m9=(Z().s[53]++,["title"]);function d9(A,C,e,n,t,i){Z().f[7]++;const s=(Z().s[54]++,AA("message-link"));return Z().s[55]++,h(),Q("span",{class:zA(["message-text has-background-shade-1",{"is-msg-moderated":i.statusCode==="moderated"}])},[e.message.body?(Z().b[10][0]++,h(),Q("span",{key:0,innerHTML:i.body},null,8,l9)):(Z().b[10][1]++,L("",!0)),(h(!0),Q(gA,null,JA(e.message.links,o=>(Z().f[8]++,Z().s[56]++,h(),S(s,{key:o.url,url:o.url,class:"is-clickable"},null,8,["url"]))),128)),e.message.delay?(Z().b[11][0]++,h(),Q("div",a9,[e.displayNick?(Z().b[12][0]++,h(),Q("b",r9,lA(i.nick),1)):(Z().b[12][1]++,L("",!0)),b("time",{datetime:A.$dayjs(e.message.delay).format(),title:A.$dayjs(e.message.delay).format()},lA(A.$dayjs(e.message.delay).fromNow()),9,c9),i.statusCode==="error"?(Z().b[13][0]++,h(),Q("i",{key:1,class:"fa fa-times has-text-danger ml-2",title:e.message.status.message},null,8,u9)):(Z().b[13][1]++,i.statusCode==="moderated"?(Z().b[14][0]++,h(),Q("i",{key:2,class:"fa fa-ban has-text-danger ml-2",title:e.message.status.message},null,8,m9)):(Z().b[14][1]++,L("",!0)))])):(Z().b[11][1]++,L("",!0))],2)}const p9=pC(o9,[["render",d9]]);function wA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Modal.vue",C="dc04761bbe2409f82acab6fdb7955cdc19b74c11",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Modal.vue",statementMap:{0:{start:{line:4,column:18},end:{line:80,column:1}},1:{start:{line:49,column:4},end:{line:52,column:5}},2:{start:{line:55,column:4},end:{line:59,column:5}},3:{start:{line:56,column:6},end:{line:58,column:8}},4:{start:{line:57,column:8},end:{line:57,column:38}},5:{start:{line:63,column:6},end:{line:68,column:7}},6:{start:{line:64,column:8},end:{line:66,column:9}},7:{start:{line:65,column:10},end:{line:65,column:16}},8:{start:{line:67,column:8},end:{line:67,column:54}},9:{start:{line:69,column:6},end:{line:69,column:25}},10:{start:{line:72,column:6},end:{line:72,column:23}},11:{start:{line:73,column:6},end:{line:76,column:7}},12:{start:{line:74,column:8},end:{line:74,column:46}},13:{start:{line:75,column:8},end:{line:75,column:20}},14:{start:{line:77,column:6},end:{line:77,column:17}},15:{start:{line:84,column:19},end:{line:84,column:60}},16:{start:{line:85,column:19},end:{line:85,column:47}},17:{start:{line:86,column:19},end:{line:86,column:48}},18:{start:{line:87,column:19},end:{line:87,column:47}},19:{start:{line:88,column:19},end:{line:88,column:37}},20:{start:{line:89,column:19},end:{line:92,column:1}},21:{start:{line:93,column:19},end:{line:93,column:61}},22:{start:{line:94,column:19},end:{line:94,column:45}},23:{start:{line:95,column:19},end:{line:95,column:32}},24:{start:{line:96,column:20},end:{line:99,column:1}},25:{start:{line:100,column:20},end:{line:100,column:40}},26:{start:{line:101,column:20},end:{line:101,column:43}},27:{start:{line:102,column:20},end:{line:105,column:1}},28:{start:{line:106,column:20},end:{line:106,column:48}},29:{start:{line:107,column:20},end:{line:111,column:1}},30:{start:{line:114,column:2},end:{line:168,column:5}},31:{start:{line:136,column:80},end:{line:136,column:108}},32:{start:{line:163,column:57},end:{line:163,column:104}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:48,column:2},end:{line:48,column:3}},loc:{start:{line:48,column:10},end:{line:53,column:3}},line:48},1:{name:"(anonymous_1)",decl:{start:{line:54,column:2},end:{line:54,column:3}},loc:{start:{line:54,column:13},end:{line:60,column:3}},line:54},2:{name:"(anonymous_2)",decl:{start:{line:56,column:15},end:{line:56,column:16}},loc:{start:{line:56,column:21},end:{line:58,column:7}},line:56},3:{name:"(anonymous_3)",decl:{start:{line:62,column:4},end:{line:62,column:5}},loc:{start:{line:62,column:15},end:{line:70,column:5}},line:62},4:{name:"(anonymous_4)",decl:{start:{line:71,column:4},end:{line:71,column:5}},loc:{start:{line:71,column:18},end:{line:78,column:5}},line:71},5:{name:"_sfc_render",decl:{start:{line:113,column:9},end:{line:113,column:20}},loc:{start:{line:113,column:68},end:{line:169,column:1}},line:113},6:{name:"(anonymous_6)",decl:{start:{line:136,column:69},end:{line:136,column:70}},loc:{start:{line:136,column:80},end:{line:136,column:108}},line:136},7:{name:"(anonymous_7)",decl:{start:{line:163,column:43},end:{line:163,column:44}},loc:{start:{line:163,column:57},end:{line:163,column:104}},line:163}},branchMap:{0:{loc:{start:{line:51,column:19},end:{line:51,column:57}},type:"cond-expr",locations:[{start:{line:51,column:33},end:{line:51,column:50}},{start:{line:51,column:53},end:{line:51,column:57}}],line:51},1:{loc:{start:{line:55,column:4},end:{line:59,column:5}},type:"if",locations:[{start:{line:55,column:4},end:{line:59,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:55},2:{loc:{start:{line:63,column:6},end:{line:68,column:7}},type:"if",locations:[{start:{line:63,column:6},end:{line:68,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:63},3:{loc:{start:{line:64,column:8},end:{line:66,column:9}},type:"if",locations:[{start:{line:64,column:8},end:{line:66,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},4:{loc:{start:{line:73,column:6},end:{line:76,column:7}},type:"if",locations:[{start:{line:73,column:6},end:{line:76,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},5:{loc:{start:{line:120,column:8},end:{line:128,column:41}},type:"cond-expr",locations:[{start:{line:121,column:13},end:{line:127,column:14}},{start:{line:128,column:12},end:{line:128,column:41}}],line:120},6:{loc:{start:{line:131,column:10},end:{line:150,column:43}},type:"cond-expr",locations:[{start:{line:132,column:15},end:{line:149,column:16}},{start:{line:150,column:14},end:{line:150,column:43}}],line:131},7:{loc:{start:{line:136,column:43},end:{line:136,column:110}},type:"binary-expr",locations:[{start:{line:136,column:43},end:{line:136,column:52}},{start:{line:136,column:57},end:{line:136,column:109}}],line:136},8:{loc:{start:{line:146,column:16},end:{line:148,column:49}},type:"cond-expr",locations:[{start:{line:147,column:21},end:{line:147,column:106}},{start:{line:148,column:20},end:{line:148,column:49}}],line:146},9:{loc:{start:{line:155,column:6},end:{line:159,column:39}},type:"cond-expr",locations:[{start:{line:156,column:11},end:{line:158,column:12}},{start:{line:159,column:10},end:{line:159,column:39}}],line:155},10:{loc:{start:{line:163,column:17},end:{line:163,column:106}},type:"binary-expr",locations:[{start:{line:163,column:17},end:{line:163,column:26}},{start:{line:163,column:31},end:{line:163,column:105}}],line:163},11:{loc:{start:{line:163,column:57},end:{line:163,column:104}},type:"binary-expr",locations:[{start:{line:163,column:57},end:{line:163,column:74}},{start:{line:163,column:78},end:{line:163,column:104}}],line:163}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Modal.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dc04761bbe2409f82acab6fdb7955cdc19b74c11"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return wA=function(){return s},s}wA();const f9=(wA().s[0]++,{name:"Modal",props:{type:{type:String,default:"is-primary"},title:{type:String,default:""},message:{type:String,default:""},prompt:{type:Object,default:null},hasIcon:{type:Boolean,default:!1},hasCancelButton:{type:Boolean,default:!1},iconClass:{type:String,default:""},confirmText:{type:String,default:"OK"},cancelText:{type:String,default:"Cancel"}},emits:["close","promptAnswered"],data(){return wA().f[0]++,wA().s[1]++,{error:null,promptValue:this.prompt?(wA().b[0][0]++,this.prompt.value):(wA().b[0][1]++,null)}},mounted(){wA().f[1]++,wA().s[2]++,this.prompt?(wA().b[1][0]++,wA().s[3]++,Ot(()=>{wA().f[2]++,wA().s[4]++,this.$refs.promptInput.focus()})):wA().b[1][1]++},methods:{validate(){if(wA().f[3]++,wA().s[5]++,this.prompt){if(wA().b[2][0]++,wA().s[6]++,this.validPrompt())wA().b[3][1]++;else{wA().b[3][0]++,wA().s[7]++;return}wA().s[8]++,this.$emit("promptAnswered",this.promptValue)}else wA().b[2][1]++;wA().s[9]++,this.$emit("close")},validPrompt(){if(wA().f[4]++,wA().s[10]++,this.error=null,wA().s[11]++,this.promptValue)wA().b[4][1]++;else return wA().b[4][0]++,wA().s[12]++,this.error="This field is required.",wA().s[13]++,!1;return wA().s[14]++,!0}}}),h9=(wA().s[15]++,{class:"modal-card animation-content"}),g9=(wA().s[16]++,{class:"modal-card-head"}),b9=(wA().s[17]++,{class:"modal-card-title"}),E9=(wA().s[18]++,{class:"modal-card-body"}),y9=(wA().s[19]++,{class:"media"}),v9=(wA().s[20]++,{key:0,class:"media-left"}),w9=(wA().s[21]++,{class:"icon has-text-danger is-large"}),B9=(wA().s[22]++,{class:"media-content"}),S9=(wA().s[23]++,["innerHTML"]),k9=(wA().s[24]++,{key:0,class:"field pt-4"}),x9=(wA().s[25]++,{class:"control"}),_9=(wA().s[26]++,["type","placeholder"]),j9=(wA().s[27]++,{key:0,class:"help is-danger"}),I9=(wA().s[28]++,{class:"modal-card-foot"}),M9=(wA().s[29]++,{key:0,type:"button",class:"button"});function D9(A,C,e,n,t,i){return wA().f[5]++,wA().s[30]++,h(),Q("div",h9,[b("header",g9,[b("p",b9,lA(e.title),1)]),b("section",E9,[b("div",y9,[e.hasIcon?(wA().b[5][0]++,h(),Q("div",v9,[b("span",w9,[b("i",{class:zA(e.iconClass)},null,2)])])):(wA().b[5][1]++,L("",!0)),b("div",B9,[b("span",{innerHTML:e.message},null,8,S9),e.prompt?(wA().b[6][0]++,h(),Q("div",k9,[b("div",x9,[HA(b("input",{ref:"promptInput","onUpdate:modelValue":(wA().b[7][0]++,C[0]||(wA().b[7][1]++,C[0]=s=>(wA().f[6]++,wA().s[31]++,t.promptValue=s))),type:e.prompt.type,placeholder:e.prompt.placeholder,required:"required",autofocus:"",class:zA(["input",{"is-danger":t.error}])},null,10,_9),[[Rp,t.promptValue]])]),t.error?(wA().b[8][0]++,h(),Q("p",j9,lA(t.error),1)):(wA().b[8][1]++,L("",!0))])):(wA().b[6][1]++,L("",!0))])])]),b("footer",I9,[e.hasCancelButton?(wA().b[9][0]++,h(),Q("button",M9,[b("span",null,lA(e.cancelText),1)])):(wA().b[9][1]++,L("",!0)),b("button",{type:"button",class:zA(["button",e.type]),onClick:(wA().b[10][0]++,C[1]||(wA().b[10][1]++,C[1]=(...s)=>(wA().f[7]++,wA().s[32]++,wA().b[11][0]++,i.validate&&(wA().b[11][1]++,i.validate(...s)))))},[b("span",null,lA(e.confirmText),1)],2)])])}const li=pC(f9,[["render",D9]]);function Ce(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/InviteGuestButton.vue",C="aa261ccebb3ab3bbbb370f3f1be7be707412e83e",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/InviteGuestButton.vue",statementMap:{0:{start:{line:4,column:18},end:{line:25,column:1}},1:{start:{line:14,column:19},end:{line:14,column:146}},2:{start:{line:15,column:6},end:{line:22,column:8}},3:{start:{line:30,column:2},end:{line:39,column:6}},4:{start:{line:33,column:50},end:{line:33,column:74}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:13,column:4},end:{line:13,column:5}},loc:{start:{line:13,column:21},end:{line:23,column:5}},line:13},1:{name:"_sfc_render",decl:{start:{line:29,column:9},end:{line:29,column:20}},loc:{start:{line:29,column:68},end:{line:40,column:1}},line:29},2:{name:"(anonymous_2)",decl:{start:{line:33,column:39},end:{line:33,column:40}},loc:{start:{line:33,column:50},end:{line:33,column:74}},line:33}},branchMap:{0:{loc:{start:{line:33,column:13},end:{line:33,column:76}},type:"binary-expr",locations:[{start:{line:33,column:13},end:{line:33,column:22}},{start:{line:33,column:27},end:{line:33,column:75}}],line:33},1:{loc:{start:{line:34,column:5},end:{line:39,column:4}},type:"binary-expr",locations:[{start:{line:34,column:5},end:{line:34,column:14}},{start:{line:34,column:19},end:{line:39,column:3}}],line:34}},s:{0:0,1:0,2:0,3:0,4:0},f:{0:0,1:0,2:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/InviteGuestButton.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"aa261ccebb3ab3bbbb370f3f1be7be707412e83e"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return Ce=function(){return s},s}Ce();const P9=(Ce().s[0]++,{name:"InviteGuestButton",props:{roomJid:{type:String,required:!0}},methods:{getInviteLink(){Ce().f[0]++;const A=(Ce().s[1]++,window.location.origin+window.location.pathname+this.$router.resolve({name:"guest",query:{join:this.roomJid}}).href);Ce().s[2]++,this.$oruga.modal.open({component:li,trapFocus:!0,props:{title:"Guest invitation link",message:`

You can provide the following link to anyone (without registration):

${A}

`}})}}});function O9(A,C,e,n,t,i){return Ce().f[1]++,Ce().s[3]++,h(),Q("button",{class:"button is-primary-ghost has-no-border is-shadowless",title:"Guest invitation link",onClick:(Ce().b[0][0]++,C[0]||(Ce().b[0][1]++,C[0]=s=>(Ce().f[2]++,Ce().s[4]++,i.getInviteLink())))},(Ce().b[1][0]++,C[1]||(Ce().b[1][1]++,C[1]=[b("i",{class:"fa fa-share-alt","aria-hidden":"true"},null,-1)])))}const L9=pC(P9,[["render",O9]]);function $C(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/BookmarkButton.vue",C="fe8043aaea09abc59dcfc21cc53ae6f4dc706c39",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/BookmarkButton.vue",statementMap:{0:{start:{line:3,column:18},end:{line:19,column:1}},1:{start:{line:12,column:22},end:{line:12,column:63}},2:{start:{line:16,column:6},end:{line:16,column:65}},3:{start:{line:23,column:19},end:{line:23,column:28}},4:{start:{line:26,column:2},end:{line:35,column:20}},5:{start:{line:29,column:50},end:{line:29,column:73}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:4},end:{line:12,column:5}},loc:{start:{line:12,column:20},end:{line:12,column:65}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:26},end:{line:17,column:5}},line:15},2:{name:"_sfc_render",decl:{start:{line:25,column:9},end:{line:25,column:20}},loc:{start:{line:25,column:68},end:{line:36,column:1}},line:25},3:{name:"(anonymous_3)",decl:{start:{line:29,column:39},end:{line:29,column:40}},loc:{start:{line:29,column:50},end:{line:29,column:73}},line:29}},branchMap:{0:{loc:{start:{line:28,column:11},end:{line:28,column:70}},type:"cond-expr",locations:[{start:{line:28,column:35},end:{line:28,column:52}},{start:{line:28,column:55},end:{line:28,column:70}}],line:28},1:{loc:{start:{line:29,column:13},end:{line:29,column:75}},type:"binary-expr",locations:[{start:{line:29,column:13},end:{line:29,column:22}},{start:{line:29,column:27},end:{line:29,column:74}}],line:29},2:{loc:{start:{line:32,column:36},end:{line:32,column:83}},type:"cond-expr",locations:[{start:{line:32,column:60},end:{line:32,column:69}},{start:{line:32,column:72},end:{line:32,column:83}}],line:32}},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/BookmarkButton.vue"],names:[],mappings:";;AAOA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACtB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,EAAE;MACH,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAC/D,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACpB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;EACH,CAAC;AACH;;;;;;;wBAtBE,oBAES;IAFD,KAAK,EAAC,qDAAqD;IAAE,KAAK,EAAE,qBAAY;IAAyC,OAAK,uCAAE,qBAAY;;IAClJ,oBAAoF;MAAjF,KAAK,mBAAC,IAAI,EAAS,qBAAY;MAA6B,aAAW,EAAC,MAAM"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"fe8043aaea09abc59dcfc21cc53ae6f4dc706c39"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return $C=function(){return s},s}$C();const K9=($C().s[0]++,{name:"BookmarkButton",props:{jid:{type:String,required:!0}},computed:{isBookmarked(){return $C().f[0]++,$C().s[1]++,this.$store.isBookmarked(this.jid)}},methods:{async bookmarkRoom(){$C().f[1]++,$C().s[2]++,await this.$xmpp.bookmarkRoom(!this.isBookmarked,this.jid)}}}),T9=($C().s[3]++,["title"]);function F9(A,C,e,n,t,i){return $C().f[2]++,$C().s[4]++,h(),Q("button",{class:"button is-warning-ghost has-no-border is-shadowless",title:i.isBookmarked?($C().b[0][0]++,"Unbookmark room"):($C().b[0][1]++,"Bookmark room"),onClick:($C().b[1][0]++,C[0]||($C().b[1][1]++,C[0]=s=>($C().f[3]++,$C().s[5]++,i.bookmarkRoom())))},[b("i",{class:zA(["fa",i.isBookmarked?($C().b[2][0]++,"fa-star"):($C().b[2][1]++,"fa-star-o")]),"aria-hidden":"true"},null,2)],8,T9)}const N9=pC(K9,[["render",F9]]);function sA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfiguration.vue",C="24807726298addc53a4b7f396763cb9483ec2444",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfiguration.vue",statementMap:{0:{start:{line:2,column:18},end:{line:54,column:1}},1:{start:{line:18,column:4},end:{line:22,column:5}},2:{start:{line:25,column:16},end:{line:25,column:106}},3:{start:{line:25,column:77},end:{line:25,column:100}},4:{start:{line:28,column:4},end:{line:28,column:31}},5:{start:{line:32,column:6},end:{line:32,column:27}},6:{start:{line:33,column:6},end:{line:33,column:23}},7:{start:{line:34,column:6},end:{line:39,column:7}},8:{start:{line:35,column:8},end:{line:35,column:22}},9:{start:{line:36,column:8},end:{line:36,column:64}},10:{start:{line:38,column:8},end:{line:38,column:76}},11:{start:{line:40,column:6},end:{line:40,column:28}},12:{start:{line:43,column:6},end:{line:43,column:27}},13:{start:{line:44,column:6},end:{line:50,column:7}},14:{start:{line:45,column:8},end:{line:45,column:63}},15:{start:{line:46,column:8},end:{line:46,column:35}},16:{start:{line:47,column:8},end:{line:47,column:27}},17:{start:{line:49,column:8},end:{line:49,column:76}},18:{start:{line:51,column:6},end:{line:51,column:28}},19:{start:{line:58,column:19},end:{line:58,column:42}},20:{start:{line:59,column:19},end:{line:59,column:47}},21:{start:{line:60,column:19},end:{line:60,column:73}},22:{start:{line:61,column:19},end:{line:61,column:47}},23:{start:{line:62,column:19},end:{line:65,column:1}},24:{start:{line:66,column:19},end:{line:66,column:29}},25:{start:{line:67,column:19},end:{line:70,column:1}},26:{start:{line:71,column:19},end:{line:71,column:28}},27:{start:{line:72,column:19},end:{line:75,column:1}},28:{start:{line:76,column:20},end:{line:76,column:66}},29:{start:{line:77,column:20},end:{line:77,column:48}},30:{start:{line:78,column:20},end:{line:81,column:1}},31:{start:{line:84,column:30},end:{line:84,column:59}},32:{start:{line:85,column:29},end:{line:85,column:57}},33:{start:{line:86,column:31},end:{line:86,column:61}},34:{start:{line:88,column:2},end:{line:172,column:5}},35:{start:{line:94,column:8},end:{line:145,column:11}},36:{start:{line:112,column:58},end:{line:112,column:80}},37:{start:{line:117,column:28},end:{line:131,column:31}},38:{start:{line:123,column:66},end:{line:123,column:88}},39:{start:{line:126,column:56},end:{line:128,column:33}},40:{start:{line:136,column:60},end:{line:136,column:82}},41:{start:{line:149,column:68},end:{line:149,column:94}},42:{start:{line:158,column:58},end:{line:158,column:77}},43:{start:{line:165,column:61},end:{line:165,column:134}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:10},end:{line:23,column:3}},line:17},1:{name:"(anonymous_1)",decl:{start:{line:25,column:4},end:{line:25,column:5}},loc:{start:{line:25,column:14},end:{line:25,column:108}},line:25},2:{name:"(anonymous_2)",decl:{start:{line:25,column:66},end:{line:25,column:67}},loc:{start:{line:25,column:77},end:{line:25,column:100}},line:25},3:{name:"(anonymous_3)",decl:{start:{line:27,column:2},end:{line:27,column:3}},loc:{start:{line:27,column:13},end:{line:29,column:3}},line:27},4:{name:"(anonymous_4)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:34},end:{line:41,column:5}},line:31},5:{name:"(anonymous_5)",decl:{start:{line:42,column:4},end:{line:42,column:5}},loc:{start:{line:42,column:35},end:{line:52,column:5}},line:42},6:{name:"_sfc_render",decl:{start:{line:83,column:9},end:{line:83,column:20}},loc:{start:{line:83,column:68},end:{line:173,column:1}},line:83},7:{name:"(anonymous_7)",decl:{start:{line:93,column:91},end:{line:93,column:92}},loc:{start:{line:93,column:109},end:{line:146,column:7}},line:93},8:{name:"(anonymous_8)",decl:{start:{line:112,column:47},end:{line:112,column:48}},loc:{start:{line:112,column:58},end:{line:112,column:80}},line:112},9:{name:"(anonymous_9)",decl:{start:{line:116,column:109},end:{line:116,column:110}},loc:{start:{line:116,column:121},end:{line:132,column:27}},line:116},10:{name:"(anonymous_10)",decl:{start:{line:123,column:55},end:{line:123,column:56}},loc:{start:{line:123,column:66},end:{line:123,column:88}},line:123},11:{name:"(anonymous_11)",decl:{start:{line:126,column:50},end:{line:126,column:51}},loc:{start:{line:126,column:56},end:{line:128,column:33}},line:126},12:{name:"(anonymous_12)",decl:{start:{line:136,column:49},end:{line:136,column:50}},loc:{start:{line:136,column:60},end:{line:136,column:82}},line:136},13:{name:"(anonymous_13)",decl:{start:{line:149,column:57},end:{line:149,column:58}},loc:{start:{line:149,column:68},end:{line:149,column:94}},line:149},14:{name:"(anonymous_14)",decl:{start:{line:158,column:47},end:{line:158,column:48}},loc:{start:{line:158,column:58},end:{line:158,column:77}},line:158},15:{name:"(anonymous_15)",decl:{start:{line:165,column:47},end:{line:165,column:48}},loc:{start:{line:165,column:61},end:{line:165,column:134}},line:165}},branchMap:{0:{loc:{start:{line:25,column:23},end:{line:25,column:106}},type:"cond-expr",locations:[{start:{line:25,column:42},end:{line:25,column:101}},{start:{line:25,column:104},end:{line:25,column:106}}],line:25},1:{loc:{start:{line:38,column:21},end:{line:38,column:76}},type:"cond-expr",locations:[{start:{line:38,column:37},end:{line:38,column:50}},{start:{line:38,column:53},end:{line:38,column:76}}],line:38},2:{loc:{start:{line:49,column:21},end:{line:49,column:76}},type:"cond-expr",locations:[{start:{line:49,column:37},end:{line:49,column:50}},{start:{line:49,column:53},end:{line:49,column:76}}],line:49},3:{loc:{start:{line:98,column:10},end:{line:144,column:17}},type:"cond-expr",locations:[{start:{line:99,column:15},end:{line:99,column:100}},{start:{line:100,column:15},end:{line:144,column:16}}],line:98},4:{loc:{start:{line:101,column:16},end:{line:103,column:49}},type:"cond-expr",locations:[{start:{line:102,column:21},end:{line:102,column:109}},{start:{line:103,column:20},end:{line:103,column:49}}],line:101},5:{loc:{start:{line:108,column:18},end:{line:142,column:26}},type:"cond-expr",locations:[{start:{line:109,column:23},end:{line:113,column:72}},{start:{line:114,column:22},end:{line:142,column:26}}],line:108},6:{loc:{start:{line:114,column:22},end:{line:142,column:26}},type:"cond-expr",locations:[{start:{line:115,column:25},end:{line:133,column:26}},{start:{line:134,column:24},end:{line:142,column:26}}],line:114},7:{loc:{start:{line:138,column:32},end:{line:138,column:83}},type:"cond-expr",locations:[{start:{line:138,column:64},end:{line:138,column:74}},{start:{line:138,column:77},end:{line:138,column:83}}],line:138},8:{loc:{start:{line:149,column:31},end:{line:149,column:96}},type:"binary-expr",locations:[{start:{line:149,column:31},end:{line:149,column:40}},{start:{line:149,column:45},end:{line:149,column:95}}],line:149},9:{loc:{start:{line:154,column:6},end:{line:160,column:39}},type:"cond-expr",locations:[{start:{line:155,column:11},end:{line:159,column:21}},{start:{line:160,column:10},end:{line:160,column:39}}],line:154},10:{loc:{start:{line:158,column:21},end:{line:158,column:79}},type:"binary-expr",locations:[{start:{line:158,column:21},end:{line:158,column:30}},{start:{line:158,column:35},end:{line:158,column:78}}],line:158},11:{loc:{start:{line:161,column:6},end:{line:167,column:39}},type:"cond-expr",locations:[{start:{line:162,column:11},end:{line:166,column:20}},{start:{line:167,column:10},end:{line:167,column:39}}],line:161},12:{loc:{start:{line:165,column:21},end:{line:165,column:136}},type:"binary-expr",locations:[{start:{line:165,column:21},end:{line:165,column:30}},{start:{line:165,column:35},end:{line:165,column:135}}],line:165},13:{loc:{start:{line:165,column:61},end:{line:165,column:134}},type:"binary-expr",locations:[{start:{line:165,column:61},end:{line:165,column:91}},{start:{line:165,column:95},end:{line:165,column:134}}],line:165},14:{loc:{start:{line:168,column:6},end:{line:170,column:39}},type:"cond-expr",locations:[{start:{line:169,column:11},end:{line:169,column:99}},{start:{line:170,column:10},end:{line:170,column:39}}],line:168}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfiguration.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"24807726298addc53a4b7f396763cb9483ec2444"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return sA=function(){return s},s}sA();const $9=(sA().s[0]++,{name:"RoomConfiguration",props:{roomJid:{type:String,required:!0},hasCancelButton:{type:Boolean,default:!0}},emits:["close"],data(){return sA().f[0]++,sA().s[1]++,{form:{},isLoading:!1,error:null}},computed:{fields(){return sA().f[1]++,sA().s[2]++,this.form.fields?(sA().b[0][0]++,this.form.fields.filter(A=>(sA().f[2]++,sA().s[3]++,A.type!=="hidden"))):(sA().b[0][1]++,[])}},mounted(){sA().f[3]++,sA().s[4]++,this.getRoomConfiguration()},methods:{async getRoomConfiguration(){sA().f[4]++,sA().s[5]++,this.isLoading=!0,sA().s[6]++,this.error=null,sA().s[7]++;try{sA().s[8]++,this.form={},sA().s[9]++,this.form=await this.$xmpp.getRoomConfig(this.roomJid)}catch(A){sA().s[10]++,this.error=A.message?(sA().b[1][0]++,A.message):(sA().b[1][1]++,"Oups, an error occurs")}sA().s[11]++,this.isLoading=!1},async saveRoomConfiguration(){sA().f[5]++,sA().s[12]++,this.isLoading=!0,sA().s[13]++;try{sA().s[14]++,await this.$xmpp.setRoomConfig(this.roomJid,this.form),sA().s[15]++,this.$parent.$emit("saved"),sA().s[16]++,this.$emit("close")}catch(A){sA().s[17]++,this.error=A.message?(sA().b[2][0]++,A.message):(sA().b[2][1]++,"Oups, an error occurs")}sA().s[18]++,this.isLoading=!1}}}),R9=(sA().s[19]++,{class:"modal-card"}),G9=(sA().s[20]++,{class:"modal-card-head"}),U9=(sA().s[21]++,{class:"modal-card-title has-text-weight-semibold"}),H9=(sA().s[22]++,{class:"modal-card-body"}),Q9=(sA().s[23]++,{key:0,class:"divider has-text-light is-dark"}),V9=(sA().s[24]++,{key:1}),z9=(sA().s[25]++,{key:0,class:"label has-text-light"}),q9=(sA().s[26]++,["title"]),W9=(sA().s[27]++,{key:1,class:"radio"}),Y9=(sA().s[28]++,["onUpdate:modelValue","type","placeholder"]),J9=(sA().s[29]++,{class:"modal-card-foot"}),X9=(sA().s[30]++,{key:2,class:"is-flex-grow-1 has-text-right has-text-danger"});function Z9(A,C,e,n,t,i){sA().f[6]++;const s=(sA().s[31]++,AA("o-switch")),o=(sA().s[32]++,AA("o-radio")),l=(sA().s[33]++,AA("o-loading"));return sA().s[34]++,h(),Q("main",R9,[b("header",G9,[b("span",U9,"Room <"+lA(e.roomJid)+"> configuration",1)]),b("section",H9,[(h(!0),Q(gA,null,JA(i.fields,(a,r)=>(sA().f[7]++,sA().s[35]++,h(),Q("div",{key:r,class:"field"},[a.type==="fixed"?(sA().b[3][0]++,h(),Q("h3",Q9,lA(a.value),1)):(sA().b[3][1]++,h(),Q("div",V9,[a.label?(sA().b[4][0]++,h(),Q("label",z9,lA(a.label),1)):(sA().b[4][1]++,L("",!0)),b("div",{class:"control",title:a.description},[a.type==="boolean"?(sA().b[5][0]++,h(),S(s,{key:0,modelValue:a.value,"onUpdate:modelValue":p=>(sA().f[8]++,sA().s[36]++,a.value=p)},null,8,["modelValue","onUpdate:modelValue"])):(sA().b[5][1]++,a.type==="list-single"?(sA().b[6][0]++,h(),Q("label",W9,[(h(!0),Q(gA,null,JA(a.options,p=>(sA().f[9]++,sA().s[37]++,h(),Q("div",{key:p.value,class:"field"},[k(o,{modelValue:a.value,"onUpdate:modelValue":d=>(sA().f[10]++,sA().s[38]++,a.value=d),"native-value":p.value},{default:SA(()=>(sA().f[11]++,sA().s[39]++,[cC(lA(p.label),1)])),_:2},1032,["modelValue","onUpdate:modelValue","native-value"])]))),128))])):(sA().b[6][1]++,HA((h(),Q("input",{key:2,"onUpdate:modelValue":p=>(sA().f[12]++,sA().s[40]++,a.value=p),class:"input",type:a.type==="text-private"?(sA().b[7][0]++,"password"):(sA().b[7][1]++,"text"),placeholder:a.description},null,8,Y9)),[[Rp,a.value]])))],8,q9)]))]))),128)),k(l,{modelValue:t.isLoading,"onUpdate:modelValue":(sA().b[8][0]++,C[0]||(sA().b[8][1]++,C[0]=a=>(sA().f[13]++,sA().s[41]++,t.isLoading=a))),"is-full-page":!1},null,8,["modelValue"])]),b("footer",J9,[e.hasCancelButton?(sA().b[9][0]++,h(),Q("button",{key:0,class:"button is-dark",onClick:(sA().b[10][0]++,C[1]||(sA().b[10][1]++,C[1]=a=>(sA().f[14]++,sA().s[42]++,A.$emit("close"))))},"Close")):(sA().b[9][1]++,L("",!0)),t.form.fields?(sA().b[11][0]++,h(),Q("button",{key:1,class:"button is-primary",onClick:(sA().b[12][0]++,C[2]||(sA().b[12][1]++,C[2]=(...a)=>(sA().f[15]++,sA().s[43]++,sA().b[13][0]++,i.saveRoomConfiguration&&(sA().b[13][1]++,i.saveRoomConfiguration(...a)))))},"Save")):(sA().b[11][1]++,L("",!0)),t.error?(sA().b[14][0]++,h(),Q("span",X9,lA(t.error),1)):(sA().b[14][1]++,L("",!0))])])}const Mf=pC($9,[["render",Z9]]);function ae(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfigurationButton.vue",C="ec1d97c4387afef3d732d84b3a3dbdd583adccc8",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfigurationButton.vue",statementMap:{0:{start:{line:4,column:18},end:{line:22,column:1}},1:{start:{line:14,column:6},end:{line:19,column:8}},2:{start:{line:27,column:2},end:{line:36,column:6}},3:{start:{line:30,column:50},end:{line:30,column:83}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:13,column:4},end:{line:13,column:5}},loc:{start:{line:13,column:30},end:{line:20,column:5}},line:13},1:{name:"_sfc_render",decl:{start:{line:26,column:9},end:{line:26,column:20}},loc:{start:{line:26,column:68},end:{line:37,column:1}},line:26},2:{name:"(anonymous_2)",decl:{start:{line:30,column:39},end:{line:30,column:40}},loc:{start:{line:30,column:50},end:{line:30,column:83}},line:30}},branchMap:{0:{loc:{start:{line:30,column:13},end:{line:30,column:85}},type:"binary-expr",locations:[{start:{line:30,column:13},end:{line:30,column:22}},{start:{line:30,column:27},end:{line:30,column:84}}],line:30},1:{loc:{start:{line:31,column:5},end:{line:36,column:4}},type:"binary-expr",locations:[{start:{line:31,column:5},end:{line:31,column:14}},{start:{line:31,column:19},end:{line:36,column:3}}],line:31}},s:{0:0,1:0,2:0,3:0},f:{0:0,1:0,2:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfigurationButton.vue"],names:[],mappings:";AAOA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAElE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;MAClC,CAAC;IACH,CAAC;EACH,CAAC;AACH;;;;;wBA1BE,oBAES;IAFD,KAAK,EAAC,qDAAqD;IAAC,KAAK,EAAC,gBAAgB;IAAE,OAAK,uCAAE,+BAAsB;;IACvH,oBAA6C;MAA1C,KAAK,EAAC,cAAc;MAAC,aAAW,EAAC,MAAM"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ec1d97c4387afef3d732d84b3a3dbdd583adccc8"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return ae=function(){return s},s}ae();const AB=(ae().s[0]++,{name:"RoomConfigurationButton",props:{roomJid:{type:String,required:!0}},methods:{openConfigurationModal(){ae().f[0]++,ae().s[1]++,this.$oruga.modal.open({component:Mf,hasModalCard:!0,trapFocus:!0,props:{roomJid:this.roomJid}})}}});function CB(A,C,e,n,t,i){return ae().f[1]++,ae().s[2]++,h(),Q("button",{class:"button is-primary-ghost has-no-border is-shadowless",title:"Configure room",onClick:(ae().b[0][0]++,C[0]||(ae().b[0][1]++,C[0]=s=>(ae().f[2]++,ae().s[3]++,i.openConfigurationModal())))},(ae().b[1][0]++,C[1]||(ae().b[1][1]++,C[1]=[b("i",{class:"fa fa-wrench","aria-hidden":"true"},null,-1)])))}const eB=pC(AB,[["render",CB]]);function IC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RetrieveHistoryButton.vue",C="d00a7ad2461516beea281fe765561556cf090983",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RetrieveHistoryButton.vue",statementMap:{0:{start:{line:5,column:18},end:{line:36,column:1}},1:{start:{line:8,column:4},end:{line:11,column:5}},2:{start:{line:17,column:20},end:{line:17,column:55}},3:{start:{line:21,column:6},end:{line:21,column:37}},4:{start:{line:27,column:6},end:{line:27,column:43}},5:{start:{line:28,column:21},end:{line:28,column:89}},6:{start:{line:29,column:6},end:{line:32,column:7}},7:{start:{line:31,column:8},end:{line:31,column:42}},8:{start:{line:33,column:6},end:{line:33,column:44}},9:{start:{line:40,column:19},end:{line:40,column:31}},10:{start:{line:43,column:2},end:{line:53,column:22}},11:{start:{line:47,column:50},end:{line:47,column:80}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:7,column:2},end:{line:7,column:3}},loc:{start:{line:7,column:10},end:{line:12,column:3}},line:7},1:{name:"(anonymous_1)",decl:{start:{line:17,column:4},end:{line:17,column:5}},loc:{start:{line:17,column:18},end:{line:17,column:57}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:20,column:16},end:{line:20,column:17}},loc:{start:{line:20,column:28},end:{line:22,column:5}},line:20},3:{name:"(anonymous_3)",decl:{start:{line:26,column:4},end:{line:26,column:5}},loc:{start:{line:26,column:33},end:{line:34,column:5}},line:26},4:{name:"_sfc_render",decl:{start:{line:42,column:9},end:{line:42,column:20}},loc:{start:{line:42,column:68},end:{line:54,column:1}},line:42},5:{name:"(anonymous_5)",decl:{start:{line:47,column:39},end:{line:47,column:40}},loc:{start:{line:47,column:50},end:{line:47,column:80}},line:47}},branchMap:{0:{loc:{start:{line:29,column:6},end:{line:32,column:7}},type:"if",locations:[{start:{line:29,column:6},end:{line:32,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:29},1:{loc:{start:{line:47,column:13},end:{line:47,column:82}},type:"binary-expr",locations:[{start:{line:47,column:13},end:{line:47,column:22}},{start:{line:47,column:27},end:{line:47,column:81}}],line:47},2:{loc:{start:{line:48,column:5},end:{line:53,column:4}},type:"binary-expr",locations:[{start:{line:48,column:5},end:{line:48,column:14}},{start:{line:48,column:19},end:{line:53,column:3}}],line:48}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RetrieveHistoryButton.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d00a7ad2461516beea281fe765561556cf090983"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return IC=function(){return s},s}IC();const nB=(IC().s[0]++,{name:"RetrieveHistoryButton",data(){return IC().f[0]++,IC().s[1]++,{firstMessageId:void 0,isLoadingPreviousMessages:!1}},computed:{...je(ZC,["activeChat"]),isDisabled(){return IC().f[1]++,IC().s[2]++,this.firstMessageId===null}},watch:{activeChat:function(){IC().f[2]++,IC().s[3]++,this.firstMessageId=void 0}},methods:{async getPreviousMessages(){IC().f[3]++,IC().s[4]++,this.isLoadingPreviousMessages=!0;const A=(IC().s[5]++,await this.$xmpp.searchHistory(this.activeChat,this.firstMessageId));IC().s[6]++,A?(IC().b[0][0]++,IC().s[7]++,this.firstMessageId=A.first):IC().b[0][1]++,IC().s[8]++,this.isLoadingPreviousMessages=!1}}}),tB=(IC().s[9]++,["disabled"]);function iB(A,C,e,n,t,i){return IC().f[4]++,IC().s[10]++,h(),Q("button",{class:zA(["button is-primary-ghost has-no-border is-shadowless",{"is-loading":t.isLoadingPreviousMessages}]),title:"Get history",disabled:i.isDisabled,onClick:(IC().b[1][0]++,C[0]||(IC().b[1][1]++,C[0]=s=>(IC().f[5]++,IC().s[11]++,i.getPreviousMessages())))},(IC().b[2][0]++,C[1]||(IC().b[2][1]++,C[1]=[b("i",{class:"fa fa-history","aria-hidden":"true"},null,-1)])),10,tB)}const sB=pC(nB,[["render",iB]]);function Ee(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomOccupants.vue",C="954e4e9e5a38a7f8ac3b947ccfe5eff65a87d818",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomOccupants.vue",statementMap:{0:{start:{line:3,column:18},end:{line:17,column:1}},1:{start:{line:15,column:19},end:{line:15,column:68}},2:{start:{line:21,column:19},end:{line:24,column:1}},3:{start:{line:27,column:28},end:{line:27,column:55}},4:{start:{line:29,column:2},end:{line:40,column:5}},5:{start:{line:31,column:6},end:{line:38,column:39}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:17},end:{line:15,column:70}},line:15},1:{name:"_sfc_render",decl:{start:{line:26,column:9},end:{line:26,column:20}},loc:{start:{line:26,column:68},end:{line:41,column:1}},line:26},2:{name:"(anonymous_2)",decl:{start:{line:30,column:92},end:{line:30,column:93}},loc:{start:{line:30,column:106},end:{line:39,column:5}},line:30}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0},b:{},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomOccupants.vue"],names:[],mappings:";AAOA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACR,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACpE,CAAC;AACH;;;;;EArBQ,KAAK,EAAC,0DAA0D;EAAC,KAA4C,EAA5C,2CAA4C;;;;;;wBAAnH,oBAEO,QAFP,UAEO;uBADL,oBAAyK,6BAA9I,kBAAS,GAArB,QAAQ;4BAAvB,aAAyK;QAAlI,GAAG,EAAE,QAAQ,CAAC,GAAG;QAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;QAAG,aAAW,EAAE,KAAK;QAAG,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAAG,IAAI,EAAE,EAAE;QAAE,KAA0B,EAA1B,sBAA0B"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"954e4e9e5a38a7f8ac3b947ccfe5eff65a87d818"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return Ee=function(){return s},s}Ee();const oB=(Ee().s[0]++,{name:"RoomOccupants",components:{avatar:Kt},props:{roomJid:{type:String,required:!0}},computed:{occupants(){return Ee().f[0]++,Ee().s[1]++,this.$store.getRoomOccupants(this.roomJid)}}}),lB=(Ee().s[2]++,{class:"px-4 py-1 is-flex is-align-items-center is-flex-shrink-5",style:{"overflow-x":"auto","overflow-y":"hidden"}});function aB(A,C,e,n,t,i){Ee().f[1]++;const s=(Ee().s[3]++,AA("avatar"));return Ee().s[4]++,h(),Q("span",lB,[(h(!0),Q(gA,null,JA(i.occupants,o=>(Ee().f[2]++,Ee().s[5]++,h(),S(s,{key:o.jid,jid:o.jid,"display-jid":!1,presence:o.presence,size:24,style:{"margin-left":"-5px"}},null,8,["jid","presence"]))),128))])}const rB=pC(oB,[["render",aB]]);function BC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomSubject.vue",C="c9f0ffdd552c5a01c1f8a0385eac115a78b3bcbf",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomSubject.vue",statementMap:{0:{start:{line:3,column:18},end:{line:25,column:1}},1:{start:{line:12,column:4},end:{line:14,column:5}},2:{start:{line:18,column:6},end:{line:18,column:53}},3:{start:{line:21,column:6},end:{line:22,column:136}},4:{start:{line:29,column:19},end:{line:33,column:1}},5:{start:{line:34,column:19},end:{line:34,column:46}},6:{start:{line:35,column:19},end:{line:35,column:62}},7:{start:{line:36,column:19},end:{line:36,column:64}},8:{start:{line:37,column:19},end:{line:37,column:32}},9:{start:{line:38,column:19},end:{line:38,column:80}},10:{start:{line:41,column:2},end:{line:65,column:35}},11:{start:{line:49,column:58},end:{line:49,column:82}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:10},end:{line:15,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:17,column:4},end:{line:17,column:5}},loc:{start:{line:17,column:19},end:{line:19,column:5}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:20,column:4},end:{line:20,column:5}},loc:{start:{line:20,column:15},end:{line:23,column:5}},line:20},3:{name:"_sfc_render",decl:{start:{line:40,column:9},end:{line:40,column:20}},loc:{start:{line:40,column:68},end:{line:66,column:1}},line:40},4:{name:"(anonymous_4)",decl:{start:{line:49,column:47},end:{line:49,column:48}},loc:{start:{line:49,column:58},end:{line:49,column:82}},line:49}},branchMap:{0:{loc:{start:{line:41,column:9},end:{line:65,column:35}},type:"cond-expr",locations:[{start:{line:42,column:7},end:{line:64,column:8}},{start:{line:65,column:6},end:{line:65,column:35}}],line:41},1:{loc:{start:{line:41,column:10},end:{line:41,column:50}},type:"binary-expr",locations:[{start:{line:41,column:10},end:{line:41,column:26}},{start:{line:41,column:30},end:{line:41,column:50}}],line:41},2:{loc:{start:{line:49,column:21},end:{line:49,column:84}},type:"binary-expr",locations:[{start:{line:49,column:21},end:{line:49,column:30}},{start:{line:49,column:35},end:{line:49,column:83}}],line:49},3:{loc:{start:{line:53,column:10},end:{line:55,column:17}},type:"binary-expr",locations:[{start:{line:53,column:10},end:{line:53,column:19}},{start:{line:53,column:24},end:{line:55,column:16}}],line:53}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomSubject.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c9f0ffdd552c5a01c1f8a0385eac115a78b3bcbf"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return BC=function(){return s},s}BC();const cB=(BC().s[0]++,{name:"RoomSubject",props:{roomJid:{type:String,required:!0}},data(){return BC().f[0]++,BC().s[1]++,{isDiplayed:!0}},computed:{roomSubject(){return BC().f[1]++,BC().s[2]++,this.$store.getRoomSubject(this.roomJid)},subject(){return BC().f[2]++,BC().s[3]++,po(this.roomSubject.subject).replace(/(.*)((?:https?|mailto):\/\/[a-z0-9/:%_+.,#?!@&=-]+)(.*)/g,'$1$2$3')}}}),uB=(BC().s[4]++,{key:0,class:"message is-small is-shade-1 has-background-shade-2 m-3",title:"Room subject"}),mB=(BC().s[5]++,{class:"message-header"}),dB=(BC().s[6]++,{class:"message-body is-flex py-3 px-1"}),pB=(BC().s[7]++,{class:"is-flex is-flex-direction-column"}),fB=(BC().s[8]++,["innerHTML"]),hB=(BC().s[9]++,{class:"content is-italic has-text-weight-light is-small"});function gB(A,C,e,n,t,i){return BC().f[3]++,BC().s[10]++,BC().b[1][0]++,t.isDiplayed&&(BC().b[1][1]++,i.roomSubject)?(BC().b[0][0]++,h(),Q("div",uB,[b("div",mB,[b("p",null,lA(e.roomJid),1),b("button",{class:"delete","aria-label":"delete",title:"Dismiss",onClick:(BC().b[2][0]++,C[0]||(BC().b[2][1]++,C[0]=s=>(BC().f[4]++,BC().s[11]++,t.isDiplayed=!1)))})]),b("div",dB,[(BC().b[3][0]++,C[1]||(BC().b[3][1]++,C[1]=b("div",{class:"icon is-medium is-flex-shrink-0"},[b("i",{class:"fa fa-2x fa-info-circle"})],-1))),b("div",pB,[b("span",{style:{"white-space":"pre-wrap"},innerHTML:i.subject},null,8,fB),b("span",hB,lA(i.roomSubject.author),1)])])])):(BC().b[0][1]++,L("",!0))}const bB=pC(cB,[["render",gB]]),Jm=[{emoji:"😀",names:["grinning"],tags:["smile","happy"],description:"grinning face",category:"Smileys & Emotion"},{emoji:"😃",names:["smiley"],tags:["happy","joy","haha"],description:"grinning face with big eyes",category:"Smileys & Emotion"},{emoji:"😄",names:["smile"],tags:["happy","joy","laugh","pleased"],description:"grinning face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😁",names:["grin"],tags:[],description:"beaming face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😆",names:["laughing","satisfied"],tags:["happy","haha"],description:"grinning squinting face",category:"Smileys & Emotion"},{emoji:"😅",names:["sweat_smile"],tags:["hot"],description:"grinning face with sweat",category:"Smileys & Emotion"},{emoji:"🤣",names:["rofl"],tags:["lol","laughing"],description:"rolling on the floor laughing",category:"Smileys & Emotion"},{emoji:"😂",names:["joy"],tags:["tears"],description:"face with tears of joy",category:"Smileys & Emotion"},{emoji:"🙂",names:["slightly_smiling_face"],tags:[],description:"slightly smiling face",category:"Smileys & Emotion"},{emoji:"🙃",names:["upside_down_face"],tags:[],description:"upside-down face",category:"Smileys & Emotion"},{emoji:"🫠",names:["melting_face"],tags:["sarcasm","dread"],description:"melting face",category:"Smileys & Emotion"},{emoji:"😉",names:["wink"],tags:["flirt"],description:"winking face",category:"Smileys & Emotion"},{emoji:"😊",names:["blush"],tags:["proud"],description:"smiling face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😇",names:["innocent"],tags:["angel"],description:"smiling face with halo",category:"Smileys & Emotion"},{emoji:"🥰",names:["smiling_face_with_three_hearts"],tags:["love"],description:"smiling face with hearts",category:"Smileys & Emotion"},{emoji:"😍",names:["heart_eyes"],tags:["love","crush"],description:"smiling face with heart-eyes",category:"Smileys & Emotion"},{emoji:"🤩",names:["star_struck"],tags:["eyes"],description:"star-struck",category:"Smileys & Emotion"},{emoji:"😘",names:["kissing_heart"],tags:["flirt"],description:"face blowing a kiss",category:"Smileys & Emotion"},{emoji:"😗",names:["kissing"],tags:[],description:"kissing face",category:"Smileys & Emotion"},{emoji:"☺️",names:["relaxed"],tags:["blush","pleased"],description:"smiling face",category:"Smileys & Emotion"},{emoji:"😚",names:["kissing_closed_eyes"],tags:[],description:"kissing face with closed eyes",category:"Smileys & Emotion"},{emoji:"😙",names:["kissing_smiling_eyes"],tags:[],description:"kissing face with smiling eyes",category:"Smileys & Emotion"},{emoji:"🥲",names:["smiling_face_with_tear"],tags:[],description:"smiling face with tear",category:"Smileys & Emotion"},{emoji:"😋",names:["yum"],tags:["tongue","lick"],description:"face savoring food",category:"Smileys & Emotion"},{emoji:"😛",names:["stuck_out_tongue"],tags:[],description:"face with tongue",category:"Smileys & Emotion"},{emoji:"😜",names:["stuck_out_tongue_winking_eye"],tags:["prank","silly"],description:"winking face with tongue",category:"Smileys & Emotion"},{emoji:"🤪",names:["zany_face"],tags:["goofy","wacky"],description:"zany face",category:"Smileys & Emotion"},{emoji:"😝",names:["stuck_out_tongue_closed_eyes"],tags:["prank"],description:"squinting face with tongue",category:"Smileys & Emotion"},{emoji:"🤑",names:["money_mouth_face"],tags:["rich"],description:"money-mouth face",category:"Smileys & Emotion"},{emoji:"🤗",names:["hugs"],tags:[],description:"smiling face with open hands",category:"Smileys & Emotion"},{emoji:"🤭",names:["hand_over_mouth"],tags:["quiet","whoops"],description:"face with hand over mouth",category:"Smileys & Emotion"},{emoji:"🫢",names:["face_with_open_eyes_and_hand_over_mouth"],tags:["gasp","shock"],description:"face with open eyes and hand over mouth",category:"Smileys & Emotion"},{emoji:"🫣",names:["face_with_peeking_eye"],tags:[],description:"face with peeking eye",category:"Smileys & Emotion"},{emoji:"🤫",names:["shushing_face"],tags:["silence","quiet"],description:"shushing face",category:"Smileys & Emotion"},{emoji:"🤔",names:["thinking"],tags:[],description:"thinking face",category:"Smileys & Emotion"},{emoji:"🫡",names:["saluting_face"],tags:["respect"],description:"saluting face",category:"Smileys & Emotion"},{emoji:"🤐",names:["zipper_mouth_face"],tags:["silence","hush"],description:"zipper-mouth face",category:"Smileys & Emotion"},{emoji:"🤨",names:["raised_eyebrow"],tags:["suspicious"],description:"face with raised eyebrow",category:"Smileys & Emotion"},{emoji:"😐",names:["neutral_face"],tags:["meh"],description:"neutral face",category:"Smileys & Emotion"},{emoji:"😑",names:["expressionless"],tags:[],description:"expressionless face",category:"Smileys & Emotion"},{emoji:"😶",names:["no_mouth"],tags:["mute","silence"],description:"face without mouth",category:"Smileys & Emotion"},{emoji:"🫥",names:["dotted_line_face"],tags:["invisible"],description:"dotted line face",category:"Smileys & Emotion"},{emoji:"😶‍🌫️",names:["face_in_clouds"],tags:[],description:"face in clouds",category:"Smileys & Emotion"},{emoji:"😏",names:["smirk"],tags:["smug"],description:"smirking face",category:"Smileys & Emotion"},{emoji:"😒",names:["unamused"],tags:["meh"],description:"unamused face",category:"Smileys & Emotion"},{emoji:"🙄",names:["roll_eyes"],tags:[],description:"face with rolling eyes",category:"Smileys & Emotion"},{emoji:"😬",names:["grimacing"],tags:[],description:"grimacing face",category:"Smileys & Emotion"},{emoji:"😮‍💨",names:["face_exhaling"],tags:[],description:"face exhaling",category:"Smileys & Emotion"},{emoji:"🤥",names:["lying_face"],tags:["liar"],description:"lying face",category:"Smileys & Emotion"},{emoji:"🫨",names:["shaking_face"],tags:["shock"],description:"shaking face",category:"Smileys & Emotion"},{emoji:"😌",names:["relieved"],tags:["whew"],description:"relieved face",category:"Smileys & Emotion"},{emoji:"😔",names:["pensive"],tags:[],description:"pensive face",category:"Smileys & Emotion"},{emoji:"😪",names:["sleepy"],tags:["tired"],description:"sleepy face",category:"Smileys & Emotion"},{emoji:"🤤",names:["drooling_face"],tags:[],description:"drooling face",category:"Smileys & Emotion"},{emoji:"😴",names:["sleeping"],tags:["zzz"],description:"sleeping face",category:"Smileys & Emotion"},{emoji:"😷",names:["mask"],tags:["sick","ill"],description:"face with medical mask",category:"Smileys & Emotion"},{emoji:"🤒",names:["face_with_thermometer"],tags:["sick"],description:"face with thermometer",category:"Smileys & Emotion"},{emoji:"🤕",names:["face_with_head_bandage"],tags:["hurt"],description:"face with head-bandage",category:"Smileys & Emotion"},{emoji:"🤢",names:["nauseated_face"],tags:["sick","barf","disgusted"],description:"nauseated face",category:"Smileys & Emotion"},{emoji:"🤮",names:["vomiting_face"],tags:["barf","sick"],description:"face vomiting",category:"Smileys & Emotion"},{emoji:"🤧",names:["sneezing_face"],tags:["achoo","sick"],description:"sneezing face",category:"Smileys & Emotion"},{emoji:"🥵",names:["hot_face"],tags:["heat","sweating"],description:"hot face",category:"Smileys & Emotion"},{emoji:"🥶",names:["cold_face"],tags:["freezing","ice"],description:"cold face",category:"Smileys & Emotion"},{emoji:"🥴",names:["woozy_face"],tags:["groggy"],description:"woozy face",category:"Smileys & Emotion"},{emoji:"😵",names:["dizzy_face"],tags:[],description:"face with crossed-out eyes",category:"Smileys & Emotion"},{emoji:"😵‍💫",names:["face_with_spiral_eyes"],tags:[],description:"face with spiral eyes",category:"Smileys & Emotion"},{emoji:"🤯",names:["exploding_head"],tags:["mind","blown"],description:"exploding head",category:"Smileys & Emotion"},{emoji:"🤠",names:["cowboy_hat_face"],tags:[],description:"cowboy hat face",category:"Smileys & Emotion"},{emoji:"🥳",names:["partying_face"],tags:["celebration","birthday"],description:"partying face",category:"Smileys & Emotion"},{emoji:"🥸",names:["disguised_face"],tags:[],description:"disguised face",category:"Smileys & Emotion"},{emoji:"😎",names:["sunglasses"],tags:["cool"],description:"smiling face with sunglasses",category:"Smileys & Emotion"},{emoji:"🤓",names:["nerd_face"],tags:["geek","glasses"],description:"nerd face",category:"Smileys & Emotion"},{emoji:"🧐",names:["monocle_face"],tags:[],description:"face with monocle",category:"Smileys & Emotion"},{emoji:"😕",names:["confused"],tags:[],description:"confused face",category:"Smileys & Emotion"},{emoji:"🫤",names:["face_with_diagonal_mouth"],tags:["confused"],description:"face with diagonal mouth",category:"Smileys & Emotion"},{emoji:"😟",names:["worried"],tags:["nervous"],description:"worried face",category:"Smileys & Emotion"},{emoji:"🙁",names:["slightly_frowning_face"],tags:[],description:"slightly frowning face",category:"Smileys & Emotion"},{emoji:"☹️",names:["frowning_face"],tags:[],description:"frowning face",category:"Smileys & Emotion"},{emoji:"😮",names:["open_mouth"],tags:["surprise","impressed","wow"],description:"face with open mouth",category:"Smileys & Emotion"},{emoji:"😯",names:["hushed"],tags:["silence","speechless"],description:"hushed face",category:"Smileys & Emotion"},{emoji:"😲",names:["astonished"],tags:["amazed","gasp"],description:"astonished face",category:"Smileys & Emotion"},{emoji:"😳",names:["flushed"],tags:[],description:"flushed face",category:"Smileys & Emotion"},{emoji:"🥺",names:["pleading_face"],tags:["puppy","eyes"],description:"pleading face",category:"Smileys & Emotion"},{emoji:"🥹",names:["face_holding_back_tears"],tags:["tears","gratitude"],description:"face holding back tears",category:"Smileys & Emotion"},{emoji:"😦",names:["frowning"],tags:[],description:"frowning face with open mouth",category:"Smileys & Emotion"},{emoji:"😧",names:["anguished"],tags:["stunned"],description:"anguished face",category:"Smileys & Emotion"},{emoji:"😨",names:["fearful"],tags:["scared","shocked","oops"],description:"fearful face",category:"Smileys & Emotion"},{emoji:"😰",names:["cold_sweat"],tags:["nervous"],description:"anxious face with sweat",category:"Smileys & Emotion"},{emoji:"😥",names:["disappointed_relieved"],tags:["phew","sweat","nervous"],description:"sad but relieved face",category:"Smileys & Emotion"},{emoji:"😢",names:["cry"],tags:["sad","tear"],description:"crying face",category:"Smileys & Emotion"},{emoji:"😭",names:["sob"],tags:["sad","cry","bawling"],description:"loudly crying face",category:"Smileys & Emotion"},{emoji:"😱",names:["scream"],tags:["horror","shocked"],description:"face screaming in fear",category:"Smileys & Emotion"},{emoji:"😖",names:["confounded"],tags:[],description:"confounded face",category:"Smileys & Emotion"},{emoji:"😣",names:["persevere"],tags:["struggling"],description:"persevering face",category:"Smileys & Emotion"},{emoji:"😞",names:["disappointed"],tags:["sad"],description:"disappointed face",category:"Smileys & Emotion"},{emoji:"😓",names:["sweat"],tags:[],description:"downcast face with sweat",category:"Smileys & Emotion"},{emoji:"😩",names:["weary"],tags:["tired"],description:"weary face",category:"Smileys & Emotion"},{emoji:"😫",names:["tired_face"],tags:["upset","whine"],description:"tired face",category:"Smileys & Emotion"},{emoji:"🥱",names:["yawning_face"],tags:[],description:"yawning face",category:"Smileys & Emotion"},{emoji:"😤",names:["triumph"],tags:["smug"],description:"face with steam from nose",category:"Smileys & Emotion"},{emoji:"😡",names:["rage","pout"],tags:["angry"],description:"enraged face",category:"Smileys & Emotion"},{emoji:"😠",names:["angry"],tags:["mad","annoyed"],description:"angry face",category:"Smileys & Emotion"},{emoji:"🤬",names:["cursing_face"],tags:["foul"],description:"face with symbols on mouth",category:"Smileys & Emotion"},{emoji:"😈",names:["smiling_imp"],tags:["devil","evil","horns"],description:"smiling face with horns",category:"Smileys & Emotion"},{emoji:"👿",names:["imp"],tags:["angry","devil","evil","horns"],description:"angry face with horns",category:"Smileys & Emotion"},{emoji:"💀",names:["skull"],tags:["dead","danger","poison"],description:"skull",category:"Smileys & Emotion"},{emoji:"☠️",names:["skull_and_crossbones"],tags:["danger","pirate"],description:"skull and crossbones",category:"Smileys & Emotion"},{emoji:"💩",names:["hankey","poop","shit"],tags:["crap"],description:"pile of poo",category:"Smileys & Emotion"},{emoji:"🤡",names:["clown_face"],tags:[],description:"clown face",category:"Smileys & Emotion"},{emoji:"👹",names:["japanese_ogre"],tags:["monster"],description:"ogre",category:"Smileys & Emotion"},{emoji:"👺",names:["japanese_goblin"],tags:[],description:"goblin",category:"Smileys & Emotion"},{emoji:"👻",names:["ghost"],tags:["halloween"],description:"ghost",category:"Smileys & Emotion"},{emoji:"👽",names:["alien"],tags:["ufo"],description:"alien",category:"Smileys & Emotion"},{emoji:"👾",names:["space_invader"],tags:["game","retro"],description:"alien monster",category:"Smileys & Emotion"},{emoji:"🤖",names:["robot"],tags:[],description:"robot",category:"Smileys & Emotion"},{emoji:"😺",names:["smiley_cat"],tags:[],description:"grinning cat",category:"Smileys & Emotion"},{emoji:"😸",names:["smile_cat"],tags:[],description:"grinning cat with smiling eyes",category:"Smileys & Emotion"},{emoji:"😹",names:["joy_cat"],tags:[],description:"cat with tears of joy",category:"Smileys & Emotion"},{emoji:"😻",names:["heart_eyes_cat"],tags:[],description:"smiling cat with heart-eyes",category:"Smileys & Emotion"},{emoji:"😼",names:["smirk_cat"],tags:[],description:"cat with wry smile",category:"Smileys & Emotion"},{emoji:"😽",names:["kissing_cat"],tags:[],description:"kissing cat",category:"Smileys & Emotion"},{emoji:"🙀",names:["scream_cat"],tags:["horror"],description:"weary cat",category:"Smileys & Emotion"},{emoji:"😿",names:["crying_cat_face"],tags:["sad","tear"],description:"crying cat",category:"Smileys & Emotion"},{emoji:"😾",names:["pouting_cat"],tags:[],description:"pouting cat",category:"Smileys & Emotion"},{emoji:"🙈",names:["see_no_evil"],tags:["monkey","blind","ignore"],description:"see-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙉",names:["hear_no_evil"],tags:["monkey","deaf"],description:"hear-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙊",names:["speak_no_evil"],tags:["monkey","mute","hush"],description:"speak-no-evil monkey",category:"Smileys & Emotion"},{emoji:"💌",names:["love_letter"],tags:["email","envelope"],description:"love letter",category:"Smileys & Emotion"},{emoji:"💘",names:["cupid"],tags:["love","heart"],description:"heart with arrow",category:"Smileys & Emotion"},{emoji:"💝",names:["gift_heart"],tags:["chocolates"],description:"heart with ribbon",category:"Smileys & Emotion"},{emoji:"💖",names:["sparkling_heart"],tags:[],description:"sparkling heart",category:"Smileys & Emotion"},{emoji:"💗",names:["heartpulse"],tags:[],description:"growing heart",category:"Smileys & Emotion"},{emoji:"💓",names:["heartbeat"],tags:[],description:"beating heart",category:"Smileys & Emotion"},{emoji:"💞",names:["revolving_hearts"],tags:[],description:"revolving hearts",category:"Smileys & Emotion"},{emoji:"💕",names:["two_hearts"],tags:[],description:"two hearts",category:"Smileys & Emotion"},{emoji:"💟",names:["heart_decoration"],tags:[],description:"heart decoration",category:"Smileys & Emotion"},{emoji:"❣️",names:["heavy_heart_exclamation"],tags:[],description:"heart exclamation",category:"Smileys & Emotion"},{emoji:"💔",names:["broken_heart"],tags:[],description:"broken heart",category:"Smileys & Emotion"},{emoji:"❤️‍🔥",names:["heart_on_fire"],tags:[],description:"heart on fire",category:"Smileys & Emotion"},{emoji:"❤️‍🩹",names:["mending_heart"],tags:[],description:"mending heart",category:"Smileys & Emotion"},{emoji:"❤️",names:["heart"],tags:["love"],description:"red heart",category:"Smileys & Emotion"},{emoji:"🩷",names:["pink_heart"],tags:[],description:"pink heart",category:"Smileys & Emotion"},{emoji:"🧡",names:["orange_heart"],tags:[],description:"orange heart",category:"Smileys & Emotion"},{emoji:"💛",names:["yellow_heart"],tags:[],description:"yellow heart",category:"Smileys & Emotion"},{emoji:"💚",names:["green_heart"],tags:[],description:"green heart",category:"Smileys & Emotion"},{emoji:"💙",names:["blue_heart"],tags:[],description:"blue heart",category:"Smileys & Emotion"},{emoji:"🩵",names:["light_blue_heart"],tags:[],description:"light blue heart",category:"Smileys & Emotion"},{emoji:"💜",names:["purple_heart"],tags:[],description:"purple heart",category:"Smileys & Emotion"},{emoji:"🤎",names:["brown_heart"],tags:[],description:"brown heart",category:"Smileys & Emotion"},{emoji:"🖤",names:["black_heart"],tags:[],description:"black heart",category:"Smileys & Emotion"},{emoji:"🩶",names:["grey_heart"],tags:[],description:"grey heart",category:"Smileys & Emotion"},{emoji:"🤍",names:["white_heart"],tags:[],description:"white heart",category:"Smileys & Emotion"},{emoji:"💋",names:["kiss"],tags:["lipstick"],description:"kiss mark",category:"Smileys & Emotion"},{emoji:"💯",names:["100"],tags:["score","perfect"],description:"hundred points",category:"Smileys & Emotion"},{emoji:"💢",names:["anger"],tags:["angry"],description:"anger symbol",category:"Smileys & Emotion"},{emoji:"💥",names:["boom","collision"],tags:["explode"],description:"collision",category:"Smileys & Emotion"},{emoji:"💫",names:["dizzy"],tags:["star"],description:"dizzy",category:"Smileys & Emotion"},{emoji:"💦",names:["sweat_drops"],tags:["water","workout"],description:"sweat droplets",category:"Smileys & Emotion"},{emoji:"💨",names:["dash"],tags:["wind","blow","fast"],description:"dashing away",category:"Smileys & Emotion"},{emoji:"🕳️",names:["hole"],tags:[],description:"hole",category:"Smileys & Emotion"},{emoji:"💬",names:["speech_balloon"],tags:["comment"],description:"speech balloon",category:"Smileys & Emotion"},{emoji:"👁️‍🗨️",names:["eye_speech_bubble"],tags:[],description:"eye in speech bubble",category:"Smileys & Emotion"},{emoji:"🗨️",names:["left_speech_bubble"],tags:[],description:"left speech bubble",category:"Smileys & Emotion"},{emoji:"🗯️",names:["right_anger_bubble"],tags:[],description:"right anger bubble",category:"Smileys & Emotion"},{emoji:"💭",names:["thought_balloon"],tags:["thinking"],description:"thought balloon",category:"Smileys & Emotion"},{emoji:"💤",names:["zzz"],tags:["sleeping"],description:"ZZZ",category:"Smileys & Emotion"},{emoji:"👋",names:["wave"],tags:["goodbye"],description:"waving hand",category:"People & Body"},{emoji:"🤚",names:["raised_back_of_hand"],tags:[],description:"raised back of hand",category:"People & Body"},{emoji:"🖐️",names:["raised_hand_with_fingers_splayed"],tags:[],description:"hand with fingers splayed",category:"People & Body"},{emoji:"✋",names:["hand","raised_hand"],tags:["highfive","stop"],description:"raised hand",category:"People & Body"},{emoji:"🖖",names:["vulcan_salute"],tags:["prosper","spock"],description:"vulcan salute",category:"People & Body"},{emoji:"🫱",names:["rightwards_hand"],tags:[],description:"rightwards hand",category:"People & Body"},{emoji:"🫲",names:["leftwards_hand"],tags:[],description:"leftwards hand",category:"People & Body"},{emoji:"🫳",names:["palm_down_hand"],tags:[],description:"palm down hand",category:"People & Body"},{emoji:"🫴",names:["palm_up_hand"],tags:[],description:"palm up hand",category:"People & Body"},{emoji:"🫷",names:["leftwards_pushing_hand"],tags:[],description:"leftwards pushing hand",category:"People & Body"},{emoji:"🫸",names:["rightwards_pushing_hand"],tags:[],description:"rightwards pushing hand",category:"People & Body"},{emoji:"👌",names:["ok_hand"],tags:[],description:"OK hand",category:"People & Body"},{emoji:"🤌",names:["pinched_fingers"],tags:[],description:"pinched fingers",category:"People & Body"},{emoji:"🤏",names:["pinching_hand"],tags:[],description:"pinching hand",category:"People & Body"},{emoji:"✌️",names:["v"],tags:["victory","peace"],description:"victory hand",category:"People & Body"},{emoji:"🤞",names:["crossed_fingers"],tags:["luck","hopeful"],description:"crossed fingers",category:"People & Body"},{emoji:"🫰",names:["hand_with_index_finger_and_thumb_crossed"],tags:[],description:"hand with index finger and thumb crossed",category:"People & Body"},{emoji:"🤟",names:["love_you_gesture"],tags:[],description:"love-you gesture",category:"People & Body"},{emoji:"🤘",names:["metal"],tags:[],description:"sign of the horns",category:"People & Body"},{emoji:"🤙",names:["call_me_hand"],tags:[],description:"call me hand",category:"People & Body"},{emoji:"👈",names:["point_left"],tags:[],description:"backhand index pointing left",category:"People & Body"},{emoji:"👉",names:["point_right"],tags:[],description:"backhand index pointing right",category:"People & Body"},{emoji:"👆",names:["point_up_2"],tags:[],description:"backhand index pointing up",category:"People & Body"},{emoji:"🖕",names:["middle_finger","fu"],tags:[],description:"middle finger",category:"People & Body"},{emoji:"👇",names:["point_down"],tags:[],description:"backhand index pointing down",category:"People & Body"},{emoji:"☝️",names:["point_up"],tags:[],description:"index pointing up",category:"People & Body"},{emoji:"🫵",names:["index_pointing_at_the_viewer"],tags:[],description:"index pointing at the viewer",category:"People & Body"},{emoji:"👍",names:["+1","thumbsup"],tags:["approve","ok"],description:"thumbs up",category:"People & Body"},{emoji:"👎",names:["-1","thumbsdown"],tags:["disapprove","bury"],description:"thumbs down",category:"People & Body"},{emoji:"✊",names:["fist_raised","fist"],tags:["power"],description:"raised fist",category:"People & Body"},{emoji:"👊",names:["fist_oncoming","facepunch","punch"],tags:["attack"],description:"oncoming fist",category:"People & Body"},{emoji:"🤛",names:["fist_left"],tags:[],description:"left-facing fist",category:"People & Body"},{emoji:"🤜",names:["fist_right"],tags:[],description:"right-facing fist",category:"People & Body"},{emoji:"👏",names:["clap"],tags:["praise","applause"],description:"clapping hands",category:"People & Body"},{emoji:"🙌",names:["raised_hands"],tags:["hooray"],description:"raising hands",category:"People & Body"},{emoji:"🫶",names:["heart_hands"],tags:["love"],description:"heart hands",category:"People & Body"},{emoji:"👐",names:["open_hands"],tags:[],description:"open hands",category:"People & Body"},{emoji:"🤲",names:["palms_up_together"],tags:[],description:"palms up together",category:"People & Body"},{emoji:"🤝",names:["handshake"],tags:["deal"],description:"handshake",category:"People & Body"},{emoji:"🙏",names:["pray"],tags:["please","hope","wish"],description:"folded hands",category:"People & Body"},{emoji:"✍️",names:["writing_hand"],tags:[],description:"writing hand",category:"People & Body"},{emoji:"💅",names:["nail_care"],tags:["beauty","manicure"],description:"nail polish",category:"People & Body"},{emoji:"🤳",names:["selfie"],tags:[],description:"selfie",category:"People & Body"},{emoji:"💪",names:["muscle"],tags:["flex","bicep","strong","workout"],description:"flexed biceps",category:"People & Body"},{emoji:"🦾",names:["mechanical_arm"],tags:[],description:"mechanical arm",category:"People & Body"},{emoji:"🦿",names:["mechanical_leg"],tags:[],description:"mechanical leg",category:"People & Body"},{emoji:"🦵",names:["leg"],tags:[],description:"leg",category:"People & Body"},{emoji:"🦶",names:["foot"],tags:[],description:"foot",category:"People & Body"},{emoji:"👂",names:["ear"],tags:["hear","sound","listen"],description:"ear",category:"People & Body"},{emoji:"🦻",names:["ear_with_hearing_aid"],tags:[],description:"ear with hearing aid",category:"People & Body"},{emoji:"👃",names:["nose"],tags:["smell"],description:"nose",category:"People & Body"},{emoji:"🧠",names:["brain"],tags:[],description:"brain",category:"People & Body"},{emoji:"🫀",names:["anatomical_heart"],tags:[],description:"anatomical heart",category:"People & Body"},{emoji:"🫁",names:["lungs"],tags:[],description:"lungs",category:"People & Body"},{emoji:"🦷",names:["tooth"],tags:[],description:"tooth",category:"People & Body"},{emoji:"🦴",names:["bone"],tags:[],description:"bone",category:"People & Body"},{emoji:"👀",names:["eyes"],tags:["look","see","watch"],description:"eyes",category:"People & Body"},{emoji:"👁️",names:["eye"],tags:[],description:"eye",category:"People & Body"},{emoji:"👅",names:["tongue"],tags:["taste"],description:"tongue",category:"People & Body"},{emoji:"👄",names:["lips"],tags:["kiss"],description:"mouth",category:"People & Body"},{emoji:"🫦",names:["biting_lip"],tags:[],description:"biting lip",category:"People & Body"},{emoji:"👶",names:["baby"],tags:["child","newborn"],description:"baby",category:"People & Body"},{emoji:"🧒",names:["child"],tags:[],description:"child",category:"People & Body"},{emoji:"👦",names:["boy"],tags:["child"],description:"boy",category:"People & Body"},{emoji:"👧",names:["girl"],tags:["child"],description:"girl",category:"People & Body"},{emoji:"🧑",names:["adult"],tags:[],description:"person",category:"People & Body"},{emoji:"👱",names:["blond_haired_person"],tags:[],description:"person: blond hair",category:"People & Body"},{emoji:"👨",names:["man"],tags:["mustache","father","dad"],description:"man",category:"People & Body"},{emoji:"🧔",names:["bearded_person"],tags:[],description:"person: beard",category:"People & Body"},{emoji:"🧔‍♂️",names:["man_beard"],tags:[],description:"man: beard",category:"People & Body"},{emoji:"🧔‍♀️",names:["woman_beard"],tags:[],description:"woman: beard",category:"People & Body"},{emoji:"👨‍🦰",names:["red_haired_man"],tags:[],description:"man: red hair",category:"People & Body"},{emoji:"👨‍🦱",names:["curly_haired_man"],tags:[],description:"man: curly hair",category:"People & Body"},{emoji:"👨‍🦳",names:["white_haired_man"],tags:[],description:"man: white hair",category:"People & Body"},{emoji:"👨‍🦲",names:["bald_man"],tags:[],description:"man: bald",category:"People & Body"},{emoji:"👩",names:["woman"],tags:["girls"],description:"woman",category:"People & Body"},{emoji:"👩‍🦰",names:["red_haired_woman"],tags:[],description:"woman: red hair",category:"People & Body"},{emoji:"🧑‍🦰",names:["person_red_hair"],tags:[],description:"person: red hair",category:"People & Body"},{emoji:"👩‍🦱",names:["curly_haired_woman"],tags:[],description:"woman: curly hair",category:"People & Body"},{emoji:"🧑‍🦱",names:["person_curly_hair"],tags:[],description:"person: curly hair",category:"People & Body"},{emoji:"👩‍🦳",names:["white_haired_woman"],tags:[],description:"woman: white hair",category:"People & Body"},{emoji:"🧑‍🦳",names:["person_white_hair"],tags:[],description:"person: white hair",category:"People & Body"},{emoji:"👩‍🦲",names:["bald_woman"],tags:[],description:"woman: bald",category:"People & Body"},{emoji:"🧑‍🦲",names:["person_bald"],tags:[],description:"person: bald",category:"People & Body"},{emoji:"👱‍♀️",names:["blond_haired_woman","blonde_woman"],tags:[],description:"woman: blond hair",category:"People & Body"},{emoji:"👱‍♂️",names:["blond_haired_man"],tags:[],description:"man: blond hair",category:"People & Body"},{emoji:"🧓",names:["older_adult"],tags:[],description:"older person",category:"People & Body"},{emoji:"👴",names:["older_man"],tags:[],description:"old man",category:"People & Body"},{emoji:"👵",names:["older_woman"],tags:[],description:"old woman",category:"People & Body"},{emoji:"🙍",names:["frowning_person"],tags:[],description:"person frowning",category:"People & Body"},{emoji:"🙍‍♂️",names:["frowning_man"],tags:[],description:"man frowning",category:"People & Body"},{emoji:"🙍‍♀️",names:["frowning_woman"],tags:[],description:"woman frowning",category:"People & Body"},{emoji:"🙎",names:["pouting_face"],tags:[],description:"person pouting",category:"People & Body"},{emoji:"🙎‍♂️",names:["pouting_man"],tags:[],description:"man pouting",category:"People & Body"},{emoji:"🙎‍♀️",names:["pouting_woman"],tags:[],description:"woman pouting",category:"People & Body"},{emoji:"🙅",names:["no_good"],tags:["stop","halt","denied"],description:"person gesturing NO",category:"People & Body"},{emoji:"🙅‍♂️",names:["no_good_man","ng_man"],tags:["stop","halt","denied"],description:"man gesturing NO",category:"People & Body"},{emoji:"🙅‍♀️",names:["no_good_woman","ng_woman"],tags:["stop","halt","denied"],description:"woman gesturing NO",category:"People & Body"},{emoji:"🙆",names:["ok_person"],tags:[],description:"person gesturing OK",category:"People & Body"},{emoji:"🙆‍♂️",names:["ok_man"],tags:[],description:"man gesturing OK",category:"People & Body"},{emoji:"🙆‍♀️",names:["ok_woman"],tags:[],description:"woman gesturing OK",category:"People & Body"},{emoji:"💁",names:["tipping_hand_person","information_desk_person"],tags:[],description:"person tipping hand",category:"People & Body"},{emoji:"💁‍♂️",names:["tipping_hand_man","sassy_man"],tags:["information"],description:"man tipping hand",category:"People & Body"},{emoji:"💁‍♀️",names:["tipping_hand_woman","sassy_woman"],tags:["information"],description:"woman tipping hand",category:"People & Body"},{emoji:"🙋",names:["raising_hand"],tags:[],description:"person raising hand",category:"People & Body"},{emoji:"🙋‍♂️",names:["raising_hand_man"],tags:[],description:"man raising hand",category:"People & Body"},{emoji:"🙋‍♀️",names:["raising_hand_woman"],tags:[],description:"woman raising hand",category:"People & Body"},{emoji:"🧏",names:["deaf_person"],tags:[],description:"deaf person",category:"People & Body"},{emoji:"🧏‍♂️",names:["deaf_man"],tags:[],description:"deaf man",category:"People & Body"},{emoji:"🧏‍♀️",names:["deaf_woman"],tags:[],description:"deaf woman",category:"People & Body"},{emoji:"🙇",names:["bow"],tags:["respect","thanks"],description:"person bowing",category:"People & Body"},{emoji:"🙇‍♂️",names:["bowing_man"],tags:["respect","thanks"],description:"man bowing",category:"People & Body"},{emoji:"🙇‍♀️",names:["bowing_woman"],tags:["respect","thanks"],description:"woman bowing",category:"People & Body"},{emoji:"🤦",names:["facepalm"],tags:[],description:"person facepalming",category:"People & Body"},{emoji:"🤦‍♂️",names:["man_facepalming"],tags:[],description:"man facepalming",category:"People & Body"},{emoji:"🤦‍♀️",names:["woman_facepalming"],tags:[],description:"woman facepalming",category:"People & Body"},{emoji:"🤷",names:["shrug"],tags:[],description:"person shrugging",category:"People & Body"},{emoji:"🤷‍♂️",names:["man_shrugging"],tags:[],description:"man shrugging",category:"People & Body"},{emoji:"🤷‍♀️",names:["woman_shrugging"],tags:[],description:"woman shrugging",category:"People & Body"},{emoji:"🧑‍⚕️",names:["health_worker"],tags:[],description:"health worker",category:"People & Body"},{emoji:"👨‍⚕️",names:["man_health_worker"],tags:["doctor","nurse"],description:"man health worker",category:"People & Body"},{emoji:"👩‍⚕️",names:["woman_health_worker"],tags:["doctor","nurse"],description:"woman health worker",category:"People & Body"},{emoji:"🧑‍🎓",names:["student"],tags:[],description:"student",category:"People & Body"},{emoji:"👨‍🎓",names:["man_student"],tags:["graduation"],description:"man student",category:"People & Body"},{emoji:"👩‍🎓",names:["woman_student"],tags:["graduation"],description:"woman student",category:"People & Body"},{emoji:"🧑‍🏫",names:["teacher"],tags:[],description:"teacher",category:"People & Body"},{emoji:"👨‍🏫",names:["man_teacher"],tags:["school","professor"],description:"man teacher",category:"People & Body"},{emoji:"👩‍🏫",names:["woman_teacher"],tags:["school","professor"],description:"woman teacher",category:"People & Body"},{emoji:"🧑‍⚖️",names:["judge"],tags:[],description:"judge",category:"People & Body"},{emoji:"👨‍⚖️",names:["man_judge"],tags:["justice"],description:"man judge",category:"People & Body"},{emoji:"👩‍⚖️",names:["woman_judge"],tags:["justice"],description:"woman judge",category:"People & Body"},{emoji:"🧑‍🌾",names:["farmer"],tags:[],description:"farmer",category:"People & Body"},{emoji:"👨‍🌾",names:["man_farmer"],tags:[],description:"man farmer",category:"People & Body"},{emoji:"👩‍🌾",names:["woman_farmer"],tags:[],description:"woman farmer",category:"People & Body"},{emoji:"🧑‍🍳",names:["cook"],tags:[],description:"cook",category:"People & Body"},{emoji:"👨‍🍳",names:["man_cook"],tags:["chef"],description:"man cook",category:"People & Body"},{emoji:"👩‍🍳",names:["woman_cook"],tags:["chef"],description:"woman cook",category:"People & Body"},{emoji:"🧑‍🔧",names:["mechanic"],tags:[],description:"mechanic",category:"People & Body"},{emoji:"👨‍🔧",names:["man_mechanic"],tags:[],description:"man mechanic",category:"People & Body"},{emoji:"👩‍🔧",names:["woman_mechanic"],tags:[],description:"woman mechanic",category:"People & Body"},{emoji:"🧑‍🏭",names:["factory_worker"],tags:[],description:"factory worker",category:"People & Body"},{emoji:"👨‍🏭",names:["man_factory_worker"],tags:[],description:"man factory worker",category:"People & Body"},{emoji:"👩‍🏭",names:["woman_factory_worker"],tags:[],description:"woman factory worker",category:"People & Body"},{emoji:"🧑‍💼",names:["office_worker"],tags:[],description:"office worker",category:"People & Body"},{emoji:"👨‍💼",names:["man_office_worker"],tags:["business"],description:"man office worker",category:"People & Body"},{emoji:"👩‍💼",names:["woman_office_worker"],tags:["business"],description:"woman office worker",category:"People & Body"},{emoji:"🧑‍🔬",names:["scientist"],tags:[],description:"scientist",category:"People & Body"},{emoji:"👨‍🔬",names:["man_scientist"],tags:["research"],description:"man scientist",category:"People & Body"},{emoji:"👩‍🔬",names:["woman_scientist"],tags:["research"],description:"woman scientist",category:"People & Body"},{emoji:"🧑‍💻",names:["technologist"],tags:[],description:"technologist",category:"People & Body"},{emoji:"👨‍💻",names:["man_technologist"],tags:["coder"],description:"man technologist",category:"People & Body"},{emoji:"👩‍💻",names:["woman_technologist"],tags:["coder"],description:"woman technologist",category:"People & Body"},{emoji:"🧑‍🎤",names:["singer"],tags:[],description:"singer",category:"People & Body"},{emoji:"👨‍🎤",names:["man_singer"],tags:["rockstar"],description:"man singer",category:"People & Body"},{emoji:"👩‍🎤",names:["woman_singer"],tags:["rockstar"],description:"woman singer",category:"People & Body"},{emoji:"🧑‍🎨",names:["artist"],tags:[],description:"artist",category:"People & Body"},{emoji:"👨‍🎨",names:["man_artist"],tags:["painter"],description:"man artist",category:"People & Body"},{emoji:"👩‍🎨",names:["woman_artist"],tags:["painter"],description:"woman artist",category:"People & Body"},{emoji:"🧑‍✈️",names:["pilot"],tags:[],description:"pilot",category:"People & Body"},{emoji:"👨‍✈️",names:["man_pilot"],tags:[],description:"man pilot",category:"People & Body"},{emoji:"👩‍✈️",names:["woman_pilot"],tags:[],description:"woman pilot",category:"People & Body"},{emoji:"🧑‍🚀",names:["astronaut"],tags:[],description:"astronaut",category:"People & Body"},{emoji:"👨‍🚀",names:["man_astronaut"],tags:["space"],description:"man astronaut",category:"People & Body"},{emoji:"👩‍🚀",names:["woman_astronaut"],tags:["space"],description:"woman astronaut",category:"People & Body"},{emoji:"🧑‍🚒",names:["firefighter"],tags:[],description:"firefighter",category:"People & Body"},{emoji:"👨‍🚒",names:["man_firefighter"],tags:[],description:"man firefighter",category:"People & Body"},{emoji:"👩‍🚒",names:["woman_firefighter"],tags:[],description:"woman firefighter",category:"People & Body"},{emoji:"👮",names:["police_officer","cop"],tags:["law"],description:"police officer",category:"People & Body"},{emoji:"👮‍♂️",names:["policeman"],tags:["law","cop"],description:"man police officer",category:"People & Body"},{emoji:"👮‍♀️",names:["policewoman"],tags:["law","cop"],description:"woman police officer",category:"People & Body"},{emoji:"🕵️",names:["detective"],tags:["sleuth"],description:"detective",category:"People & Body"},{emoji:"🕵️‍♂️",names:["male_detective"],tags:["sleuth"],description:"man detective",category:"People & Body"},{emoji:"🕵️‍♀️",names:["female_detective"],tags:["sleuth"],description:"woman detective",category:"People & Body"},{emoji:"💂",names:["guard"],tags:[],description:"guard",category:"People & Body"},{emoji:"💂‍♂️",names:["guardsman"],tags:[],description:"man guard",category:"People & Body"},{emoji:"💂‍♀️",names:["guardswoman"],tags:[],description:"woman guard",category:"People & Body"},{emoji:"🥷",names:["ninja"],tags:[],description:"ninja",category:"People & Body"},{emoji:"👷",names:["construction_worker"],tags:["helmet"],description:"construction worker",category:"People & Body"},{emoji:"👷‍♂️",names:["construction_worker_man"],tags:["helmet"],description:"man construction worker",category:"People & Body"},{emoji:"👷‍♀️",names:["construction_worker_woman"],tags:["helmet"],description:"woman construction worker",category:"People & Body"},{emoji:"🫅",names:["person_with_crown"],tags:[],description:"person with crown",category:"People & Body"},{emoji:"🤴",names:["prince"],tags:["crown","royal"],description:"prince",category:"People & Body"},{emoji:"👸",names:["princess"],tags:["crown","royal"],description:"princess",category:"People & Body"},{emoji:"👳",names:["person_with_turban"],tags:[],description:"person wearing turban",category:"People & Body"},{emoji:"👳‍♂️",names:["man_with_turban"],tags:[],description:"man wearing turban",category:"People & Body"},{emoji:"👳‍♀️",names:["woman_with_turban"],tags:[],description:"woman wearing turban",category:"People & Body"},{emoji:"👲",names:["man_with_gua_pi_mao"],tags:[],description:"person with skullcap",category:"People & Body"},{emoji:"🧕",names:["woman_with_headscarf"],tags:["hijab"],description:"woman with headscarf",category:"People & Body"},{emoji:"🤵",names:["person_in_tuxedo"],tags:["groom","marriage","wedding"],description:"person in tuxedo",category:"People & Body"},{emoji:"🤵‍♂️",names:["man_in_tuxedo"],tags:[],description:"man in tuxedo",category:"People & Body"},{emoji:"🤵‍♀️",names:["woman_in_tuxedo"],tags:[],description:"woman in tuxedo",category:"People & Body"},{emoji:"👰",names:["person_with_veil"],tags:["marriage","wedding"],description:"person with veil",category:"People & Body"},{emoji:"👰‍♂️",names:["man_with_veil"],tags:[],description:"man with veil",category:"People & Body"},{emoji:"👰‍♀️",names:["woman_with_veil","bride_with_veil"],tags:[],description:"woman with veil",category:"People & Body"},{emoji:"🤰",names:["pregnant_woman"],tags:[],description:"pregnant woman",category:"People & Body"},{emoji:"🫃",names:["pregnant_man"],tags:[],description:"pregnant man",category:"People & Body"},{emoji:"🫄",names:["pregnant_person"],tags:[],description:"pregnant person",category:"People & Body"},{emoji:"🤱",names:["breast_feeding"],tags:["nursing"],description:"breast-feeding",category:"People & Body"},{emoji:"👩‍🍼",names:["woman_feeding_baby"],tags:[],description:"woman feeding baby",category:"People & Body"},{emoji:"👨‍🍼",names:["man_feeding_baby"],tags:[],description:"man feeding baby",category:"People & Body"},{emoji:"🧑‍🍼",names:["person_feeding_baby"],tags:[],description:"person feeding baby",category:"People & Body"},{emoji:"👼",names:["angel"],tags:[],description:"baby angel",category:"People & Body"},{emoji:"🎅",names:["santa"],tags:["christmas"],description:"Santa Claus",category:"People & Body"},{emoji:"🤶",names:["mrs_claus"],tags:["santa"],description:"Mrs. Claus",category:"People & Body"},{emoji:"🧑‍🎄",names:["mx_claus"],tags:[],description:"mx claus",category:"People & Body"},{emoji:"🦸",names:["superhero"],tags:[],description:"superhero",category:"People & Body"},{emoji:"🦸‍♂️",names:["superhero_man"],tags:[],description:"man superhero",category:"People & Body"},{emoji:"🦸‍♀️",names:["superhero_woman"],tags:[],description:"woman superhero",category:"People & Body"},{emoji:"🦹",names:["supervillain"],tags:[],description:"supervillain",category:"People & Body"},{emoji:"🦹‍♂️",names:["supervillain_man"],tags:[],description:"man supervillain",category:"People & Body"},{emoji:"🦹‍♀️",names:["supervillain_woman"],tags:[],description:"woman supervillain",category:"People & Body"},{emoji:"🧙",names:["mage"],tags:["wizard"],description:"mage",category:"People & Body"},{emoji:"🧙‍♂️",names:["mage_man"],tags:["wizard"],description:"man mage",category:"People & Body"},{emoji:"🧙‍♀️",names:["mage_woman"],tags:["wizard"],description:"woman mage",category:"People & Body"},{emoji:"🧚",names:["fairy"],tags:[],description:"fairy",category:"People & Body"},{emoji:"🧚‍♂️",names:["fairy_man"],tags:[],description:"man fairy",category:"People & Body"},{emoji:"🧚‍♀️",names:["fairy_woman"],tags:[],description:"woman fairy",category:"People & Body"},{emoji:"🧛",names:["vampire"],tags:[],description:"vampire",category:"People & Body"},{emoji:"🧛‍♂️",names:["vampire_man"],tags:[],description:"man vampire",category:"People & Body"},{emoji:"🧛‍♀️",names:["vampire_woman"],tags:[],description:"woman vampire",category:"People & Body"},{emoji:"🧜",names:["merperson"],tags:[],description:"merperson",category:"People & Body"},{emoji:"🧜‍♂️",names:["merman"],tags:[],description:"merman",category:"People & Body"},{emoji:"🧜‍♀️",names:["mermaid"],tags:[],description:"mermaid",category:"People & Body"},{emoji:"🧝",names:["elf"],tags:[],description:"elf",category:"People & Body"},{emoji:"🧝‍♂️",names:["elf_man"],tags:[],description:"man elf",category:"People & Body"},{emoji:"🧝‍♀️",names:["elf_woman"],tags:[],description:"woman elf",category:"People & Body"},{emoji:"🧞",names:["genie"],tags:[],description:"genie",category:"People & Body"},{emoji:"🧞‍♂️",names:["genie_man"],tags:[],description:"man genie",category:"People & Body"},{emoji:"🧞‍♀️",names:["genie_woman"],tags:[],description:"woman genie",category:"People & Body"},{emoji:"🧟",names:["zombie"],tags:[],description:"zombie",category:"People & Body"},{emoji:"🧟‍♂️",names:["zombie_man"],tags:[],description:"man zombie",category:"People & Body"},{emoji:"🧟‍♀️",names:["zombie_woman"],tags:[],description:"woman zombie",category:"People & Body"},{emoji:"🧌",names:["troll"],tags:[],description:"troll",category:"People & Body"},{emoji:"💆",names:["massage"],tags:["spa"],description:"person getting massage",category:"People & Body"},{emoji:"💆‍♂️",names:["massage_man"],tags:["spa"],description:"man getting massage",category:"People & Body"},{emoji:"💆‍♀️",names:["massage_woman"],tags:["spa"],description:"woman getting massage",category:"People & Body"},{emoji:"💇",names:["haircut"],tags:["beauty"],description:"person getting haircut",category:"People & Body"},{emoji:"💇‍♂️",names:["haircut_man"],tags:[],description:"man getting haircut",category:"People & Body"},{emoji:"💇‍♀️",names:["haircut_woman"],tags:[],description:"woman getting haircut",category:"People & Body"},{emoji:"🚶",names:["walking"],tags:[],description:"person walking",category:"People & Body"},{emoji:"🚶‍♂️",names:["walking_man"],tags:[],description:"man walking",category:"People & Body"},{emoji:"🚶‍♀️",names:["walking_woman"],tags:[],description:"woman walking",category:"People & Body"},{emoji:"🧍",names:["standing_person"],tags:[],description:"person standing",category:"People & Body"},{emoji:"🧍‍♂️",names:["standing_man"],tags:[],description:"man standing",category:"People & Body"},{emoji:"🧍‍♀️",names:["standing_woman"],tags:[],description:"woman standing",category:"People & Body"},{emoji:"🧎",names:["kneeling_person"],tags:[],description:"person kneeling",category:"People & Body"},{emoji:"🧎‍♂️",names:["kneeling_man"],tags:[],description:"man kneeling",category:"People & Body"},{emoji:"🧎‍♀️",names:["kneeling_woman"],tags:[],description:"woman kneeling",category:"People & Body"},{emoji:"🧑‍🦯",names:["person_with_probing_cane"],tags:[],description:"person with white cane",category:"People & Body"},{emoji:"👨‍🦯",names:["man_with_probing_cane"],tags:[],description:"man with white cane",category:"People & Body"},{emoji:"👩‍🦯",names:["woman_with_probing_cane"],tags:[],description:"woman with white cane",category:"People & Body"},{emoji:"🧑‍🦼",names:["person_in_motorized_wheelchair"],tags:[],description:"person in motorized wheelchair",category:"People & Body"},{emoji:"👨‍🦼",names:["man_in_motorized_wheelchair"],tags:[],description:"man in motorized wheelchair",category:"People & Body"},{emoji:"👩‍🦼",names:["woman_in_motorized_wheelchair"],tags:[],description:"woman in motorized wheelchair",category:"People & Body"},{emoji:"🧑‍🦽",names:["person_in_manual_wheelchair"],tags:[],description:"person in manual wheelchair",category:"People & Body"},{emoji:"👨‍🦽",names:["man_in_manual_wheelchair"],tags:[],description:"man in manual wheelchair",category:"People & Body"},{emoji:"👩‍🦽",names:["woman_in_manual_wheelchair"],tags:[],description:"woman in manual wheelchair",category:"People & Body"},{emoji:"🏃",names:["runner","running"],tags:["exercise","workout","marathon"],description:"person running",category:"People & Body"},{emoji:"🏃‍♂️",names:["running_man"],tags:["exercise","workout","marathon"],description:"man running",category:"People & Body"},{emoji:"🏃‍♀️",names:["running_woman"],tags:["exercise","workout","marathon"],description:"woman running",category:"People & Body"},{emoji:"💃",names:["woman_dancing","dancer"],tags:["dress"],description:"woman dancing",category:"People & Body"},{emoji:"🕺",names:["man_dancing"],tags:["dancer"],description:"man dancing",category:"People & Body"},{emoji:"🕴️",names:["business_suit_levitating"],tags:[],description:"person in suit levitating",category:"People & Body"},{emoji:"👯",names:["dancers"],tags:["bunny"],description:"people with bunny ears",category:"People & Body"},{emoji:"👯‍♂️",names:["dancing_men"],tags:["bunny"],description:"men with bunny ears",category:"People & Body"},{emoji:"👯‍♀️",names:["dancing_women"],tags:["bunny"],description:"women with bunny ears",category:"People & Body"},{emoji:"🧖",names:["sauna_person"],tags:["steamy"],description:"person in steamy room",category:"People & Body"},{emoji:"🧖‍♂️",names:["sauna_man"],tags:["steamy"],description:"man in steamy room",category:"People & Body"},{emoji:"🧖‍♀️",names:["sauna_woman"],tags:["steamy"],description:"woman in steamy room",category:"People & Body"},{emoji:"🧗",names:["climbing"],tags:["bouldering"],description:"person climbing",category:"People & Body"},{emoji:"🧗‍♂️",names:["climbing_man"],tags:["bouldering"],description:"man climbing",category:"People & Body"},{emoji:"🧗‍♀️",names:["climbing_woman"],tags:["bouldering"],description:"woman climbing",category:"People & Body"},{emoji:"🤺",names:["person_fencing"],tags:[],description:"person fencing",category:"People & Body"},{emoji:"🏇",names:["horse_racing"],tags:[],description:"horse racing",category:"People & Body"},{emoji:"⛷️",names:["skier"],tags:[],description:"skier",category:"People & Body"},{emoji:"🏂",names:["snowboarder"],tags:[],description:"snowboarder",category:"People & Body"},{emoji:"🏌️",names:["golfing"],tags:[],description:"person golfing",category:"People & Body"},{emoji:"🏌️‍♂️",names:["golfing_man"],tags:[],description:"man golfing",category:"People & Body"},{emoji:"🏌️‍♀️",names:["golfing_woman"],tags:[],description:"woman golfing",category:"People & Body"},{emoji:"🏄",names:["surfer"],tags:[],description:"person surfing",category:"People & Body"},{emoji:"🏄‍♂️",names:["surfing_man"],tags:[],description:"man surfing",category:"People & Body"},{emoji:"🏄‍♀️",names:["surfing_woman"],tags:[],description:"woman surfing",category:"People & Body"},{emoji:"🚣",names:["rowboat"],tags:[],description:"person rowing boat",category:"People & Body"},{emoji:"🚣‍♂️",names:["rowing_man"],tags:[],description:"man rowing boat",category:"People & Body"},{emoji:"🚣‍♀️",names:["rowing_woman"],tags:[],description:"woman rowing boat",category:"People & Body"},{emoji:"🏊",names:["swimmer"],tags:[],description:"person swimming",category:"People & Body"},{emoji:"🏊‍♂️",names:["swimming_man"],tags:[],description:"man swimming",category:"People & Body"},{emoji:"🏊‍♀️",names:["swimming_woman"],tags:[],description:"woman swimming",category:"People & Body"},{emoji:"⛹️",names:["bouncing_ball_person"],tags:["basketball"],description:"person bouncing ball",category:"People & Body"},{emoji:"⛹️‍♂️",names:["bouncing_ball_man","basketball_man"],tags:[],description:"man bouncing ball",category:"People & Body"},{emoji:"⛹️‍♀️",names:["bouncing_ball_woman","basketball_woman"],tags:[],description:"woman bouncing ball",category:"People & Body"},{emoji:"🏋️",names:["weight_lifting"],tags:["gym","workout"],description:"person lifting weights",category:"People & Body"},{emoji:"🏋️‍♂️",names:["weight_lifting_man"],tags:["gym","workout"],description:"man lifting weights",category:"People & Body"},{emoji:"🏋️‍♀️",names:["weight_lifting_woman"],tags:["gym","workout"],description:"woman lifting weights",category:"People & Body"},{emoji:"🚴",names:["bicyclist"],tags:[],description:"person biking",category:"People & Body"},{emoji:"🚴‍♂️",names:["biking_man"],tags:[],description:"man biking",category:"People & Body"},{emoji:"🚴‍♀️",names:["biking_woman"],tags:[],description:"woman biking",category:"People & Body"},{emoji:"🚵",names:["mountain_bicyclist"],tags:[],description:"person mountain biking",category:"People & Body"},{emoji:"🚵‍♂️",names:["mountain_biking_man"],tags:[],description:"man mountain biking",category:"People & Body"},{emoji:"🚵‍♀️",names:["mountain_biking_woman"],tags:[],description:"woman mountain biking",category:"People & Body"},{emoji:"🤸",names:["cartwheeling"],tags:[],description:"person cartwheeling",category:"People & Body"},{emoji:"🤸‍♂️",names:["man_cartwheeling"],tags:[],description:"man cartwheeling",category:"People & Body"},{emoji:"🤸‍♀️",names:["woman_cartwheeling"],tags:[],description:"woman cartwheeling",category:"People & Body"},{emoji:"🤼",names:["wrestling"],tags:[],description:"people wrestling",category:"People & Body"},{emoji:"🤼‍♂️",names:["men_wrestling"],tags:[],description:"men wrestling",category:"People & Body"},{emoji:"🤼‍♀️",names:["women_wrestling"],tags:[],description:"women wrestling",category:"People & Body"},{emoji:"🤽",names:["water_polo"],tags:[],description:"person playing water polo",category:"People & Body"},{emoji:"🤽‍♂️",names:["man_playing_water_polo"],tags:[],description:"man playing water polo",category:"People & Body"},{emoji:"🤽‍♀️",names:["woman_playing_water_polo"],tags:[],description:"woman playing water polo",category:"People & Body"},{emoji:"🤾",names:["handball_person"],tags:[],description:"person playing handball",category:"People & Body"},{emoji:"🤾‍♂️",names:["man_playing_handball"],tags:[],description:"man playing handball",category:"People & Body"},{emoji:"🤾‍♀️",names:["woman_playing_handball"],tags:[],description:"woman playing handball",category:"People & Body"},{emoji:"🤹",names:["juggling_person"],tags:[],description:"person juggling",category:"People & Body"},{emoji:"🤹‍♂️",names:["man_juggling"],tags:[],description:"man juggling",category:"People & Body"},{emoji:"🤹‍♀️",names:["woman_juggling"],tags:[],description:"woman juggling",category:"People & Body"},{emoji:"🧘",names:["lotus_position"],tags:["meditation"],description:"person in lotus position",category:"People & Body"},{emoji:"🧘‍♂️",names:["lotus_position_man"],tags:["meditation"],description:"man in lotus position",category:"People & Body"},{emoji:"🧘‍♀️",names:["lotus_position_woman"],tags:["meditation"],description:"woman in lotus position",category:"People & Body"},{emoji:"🛀",names:["bath"],tags:["shower"],description:"person taking bath",category:"People & Body"},{emoji:"🛌",names:["sleeping_bed"],tags:[],description:"person in bed",category:"People & Body"},{emoji:"🧑‍🤝‍🧑",names:["people_holding_hands"],tags:["couple","date"],description:"people holding hands",category:"People & Body"},{emoji:"👭",names:["two_women_holding_hands"],tags:["couple","date"],description:"women holding hands",category:"People & Body"},{emoji:"👫",names:["couple"],tags:["date"],description:"woman and man holding hands",category:"People & Body"},{emoji:"👬",names:["two_men_holding_hands"],tags:["couple","date"],description:"men holding hands",category:"People & Body"},{emoji:"💏",names:["couplekiss"],tags:[],description:"kiss",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👨",names:["couplekiss_man_woman"],tags:[],description:"kiss: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍💋‍👨",names:["couplekiss_man_man"],tags:[],description:"kiss: man, man",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👩",names:["couplekiss_woman_woman"],tags:[],description:"kiss: woman, woman",category:"People & Body"},{emoji:"💑",names:["couple_with_heart"],tags:[],description:"couple with heart",category:"People & Body"},{emoji:"👩‍❤️‍👨",names:["couple_with_heart_woman_man"],tags:[],description:"couple with heart: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍👨",names:["couple_with_heart_man_man"],tags:[],description:"couple with heart: man, man",category:"People & Body"},{emoji:"👩‍❤️‍👩",names:["couple_with_heart_woman_woman"],tags:[],description:"couple with heart: woman, woman",category:"People & Body"},{emoji:"👪",names:["family"],tags:["home","parents","child"],description:"family",category:"People & Body"},{emoji:"👨‍👩‍👦",names:["family_man_woman_boy"],tags:[],description:"family: man, woman, boy",category:"People & Body"},{emoji:"👨‍👩‍👧",names:["family_man_woman_girl"],tags:[],description:"family: man, woman, girl",category:"People & Body"},{emoji:"👨‍👩‍👧‍👦",names:["family_man_woman_girl_boy"],tags:[],description:"family: man, woman, girl, boy",category:"People & Body"},{emoji:"👨‍👩‍👦‍👦",names:["family_man_woman_boy_boy"],tags:[],description:"family: man, woman, boy, boy",category:"People & Body"},{emoji:"👨‍👩‍👧‍👧",names:["family_man_woman_girl_girl"],tags:[],description:"family: man, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👨‍👦",names:["family_man_man_boy"],tags:[],description:"family: man, man, boy",category:"People & Body"},{emoji:"👨‍👨‍👧",names:["family_man_man_girl"],tags:[],description:"family: man, man, girl",category:"People & Body"},{emoji:"👨‍👨‍👧‍👦",names:["family_man_man_girl_boy"],tags:[],description:"family: man, man, girl, boy",category:"People & Body"},{emoji:"👨‍👨‍👦‍👦",names:["family_man_man_boy_boy"],tags:[],description:"family: man, man, boy, boy",category:"People & Body"},{emoji:"👨‍👨‍👧‍👧",names:["family_man_man_girl_girl"],tags:[],description:"family: man, man, girl, girl",category:"People & Body"},{emoji:"👩‍👩‍👦",names:["family_woman_woman_boy"],tags:[],description:"family: woman, woman, boy",category:"People & Body"},{emoji:"👩‍👩‍👧",names:["family_woman_woman_girl"],tags:[],description:"family: woman, woman, girl",category:"People & Body"},{emoji:"👩‍👩‍👧‍👦",names:["family_woman_woman_girl_boy"],tags:[],description:"family: woman, woman, girl, boy",category:"People & Body"},{emoji:"👩‍👩‍👦‍👦",names:["family_woman_woman_boy_boy"],tags:[],description:"family: woman, woman, boy, boy",category:"People & Body"},{emoji:"👩‍👩‍👧‍👧",names:["family_woman_woman_girl_girl"],tags:[],description:"family: woman, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👦",names:["family_man_boy"],tags:[],description:"family: man, boy",category:"People & Body"},{emoji:"👨‍👦‍👦",names:["family_man_boy_boy"],tags:[],description:"family: man, boy, boy",category:"People & Body"},{emoji:"👨‍👧",names:["family_man_girl"],tags:[],description:"family: man, girl",category:"People & Body"},{emoji:"👨‍👧‍👦",names:["family_man_girl_boy"],tags:[],description:"family: man, girl, boy",category:"People & Body"},{emoji:"👨‍👧‍👧",names:["family_man_girl_girl"],tags:[],description:"family: man, girl, girl",category:"People & Body"},{emoji:"👩‍👦",names:["family_woman_boy"],tags:[],description:"family: woman, boy",category:"People & Body"},{emoji:"👩‍👦‍👦",names:["family_woman_boy_boy"],tags:[],description:"family: woman, boy, boy",category:"People & Body"},{emoji:"👩‍👧",names:["family_woman_girl"],tags:[],description:"family: woman, girl",category:"People & Body"},{emoji:"👩‍👧‍👦",names:["family_woman_girl_boy"],tags:[],description:"family: woman, girl, boy",category:"People & Body"},{emoji:"👩‍👧‍👧",names:["family_woman_girl_girl"],tags:[],description:"family: woman, girl, girl",category:"People & Body"},{emoji:"🗣️",names:["speaking_head"],tags:[],description:"speaking head",category:"People & Body"},{emoji:"👤",names:["bust_in_silhouette"],tags:["user"],description:"bust in silhouette",category:"People & Body"},{emoji:"👥",names:["busts_in_silhouette"],tags:["users","group","team"],description:"busts in silhouette",category:"People & Body"},{emoji:"🫂",names:["people_hugging"],tags:[],description:"people hugging",category:"People & Body"},{emoji:"👣",names:["footprints"],tags:["feet","tracks"],description:"footprints",category:"People & Body"},{emoji:"🐵",names:["monkey_face"],tags:[],description:"monkey face",category:"Animals & Nature"},{emoji:"🐒",names:["monkey"],tags:[],description:"monkey",category:"Animals & Nature"},{emoji:"🦍",names:["gorilla"],tags:[],description:"gorilla",category:"Animals & Nature"},{emoji:"🦧",names:["orangutan"],tags:[],description:"orangutan",category:"Animals & Nature"},{emoji:"🐶",names:["dog"],tags:["pet"],description:"dog face",category:"Animals & Nature"},{emoji:"🐕",names:["dog2"],tags:[],description:"dog",category:"Animals & Nature"},{emoji:"🦮",names:["guide_dog"],tags:[],description:"guide dog",category:"Animals & Nature"},{emoji:"🐕‍🦺",names:["service_dog"],tags:[],description:"service dog",category:"Animals & Nature"},{emoji:"🐩",names:["poodle"],tags:["dog"],description:"poodle",category:"Animals & Nature"},{emoji:"🐺",names:["wolf"],tags:[],description:"wolf",category:"Animals & Nature"},{emoji:"🦊",names:["fox_face"],tags:[],description:"fox",category:"Animals & Nature"},{emoji:"🦝",names:["raccoon"],tags:[],description:"raccoon",category:"Animals & Nature"},{emoji:"🐱",names:["cat"],tags:["pet"],description:"cat face",category:"Animals & Nature"},{emoji:"🐈",names:["cat2"],tags:[],description:"cat",category:"Animals & Nature"},{emoji:"🐈‍⬛",names:["black_cat"],tags:[],description:"black cat",category:"Animals & Nature"},{emoji:"🦁",names:["lion"],tags:[],description:"lion",category:"Animals & Nature"},{emoji:"🐯",names:["tiger"],tags:[],description:"tiger face",category:"Animals & Nature"},{emoji:"🐅",names:["tiger2"],tags:[],description:"tiger",category:"Animals & Nature"},{emoji:"🐆",names:["leopard"],tags:[],description:"leopard",category:"Animals & Nature"},{emoji:"🐴",names:["horse"],tags:[],description:"horse face",category:"Animals & Nature"},{emoji:"🫎",names:["moose"],tags:["canada"],description:"moose",category:"Animals & Nature"},{emoji:"🫏",names:["donkey"],tags:["mule"],description:"donkey",category:"Animals & Nature"},{emoji:"🐎",names:["racehorse"],tags:["speed"],description:"horse",category:"Animals & Nature"},{emoji:"🦄",names:["unicorn"],tags:[],description:"unicorn",category:"Animals & Nature"},{emoji:"🦓",names:["zebra"],tags:[],description:"zebra",category:"Animals & Nature"},{emoji:"🦌",names:["deer"],tags:[],description:"deer",category:"Animals & Nature"},{emoji:"🦬",names:["bison"],tags:[],description:"bison",category:"Animals & Nature"},{emoji:"🐮",names:["cow"],tags:[],description:"cow face",category:"Animals & Nature"},{emoji:"🐂",names:["ox"],tags:[],description:"ox",category:"Animals & Nature"},{emoji:"🐃",names:["water_buffalo"],tags:[],description:"water buffalo",category:"Animals & Nature"},{emoji:"🐄",names:["cow2"],tags:[],description:"cow",category:"Animals & Nature"},{emoji:"🐷",names:["pig"],tags:[],description:"pig face",category:"Animals & Nature"},{emoji:"🐖",names:["pig2"],tags:[],description:"pig",category:"Animals & Nature"},{emoji:"🐗",names:["boar"],tags:[],description:"boar",category:"Animals & Nature"},{emoji:"🐽",names:["pig_nose"],tags:[],description:"pig nose",category:"Animals & Nature"},{emoji:"🐏",names:["ram"],tags:[],description:"ram",category:"Animals & Nature"},{emoji:"🐑",names:["sheep"],tags:[],description:"ewe",category:"Animals & Nature"},{emoji:"🐐",names:["goat"],tags:[],description:"goat",category:"Animals & Nature"},{emoji:"🐪",names:["dromedary_camel"],tags:["desert"],description:"camel",category:"Animals & Nature"},{emoji:"🐫",names:["camel"],tags:[],description:"two-hump camel",category:"Animals & Nature"},{emoji:"🦙",names:["llama"],tags:[],description:"llama",category:"Animals & Nature"},{emoji:"🦒",names:["giraffe"],tags:[],description:"giraffe",category:"Animals & Nature"},{emoji:"🐘",names:["elephant"],tags:[],description:"elephant",category:"Animals & Nature"},{emoji:"🦣",names:["mammoth"],tags:[],description:"mammoth",category:"Animals & Nature"},{emoji:"🦏",names:["rhinoceros"],tags:[],description:"rhinoceros",category:"Animals & Nature"},{emoji:"🦛",names:["hippopotamus"],tags:[],description:"hippopotamus",category:"Animals & Nature"},{emoji:"🐭",names:["mouse"],tags:[],description:"mouse face",category:"Animals & Nature"},{emoji:"🐁",names:["mouse2"],tags:[],description:"mouse",category:"Animals & Nature"},{emoji:"🐀",names:["rat"],tags:[],description:"rat",category:"Animals & Nature"},{emoji:"🐹",names:["hamster"],tags:["pet"],description:"hamster",category:"Animals & Nature"},{emoji:"🐰",names:["rabbit"],tags:["bunny"],description:"rabbit face",category:"Animals & Nature"},{emoji:"🐇",names:["rabbit2"],tags:[],description:"rabbit",category:"Animals & Nature"},{emoji:"🐿️",names:["chipmunk"],tags:[],description:"chipmunk",category:"Animals & Nature"},{emoji:"🦫",names:["beaver"],tags:[],description:"beaver",category:"Animals & Nature"},{emoji:"🦔",names:["hedgehog"],tags:[],description:"hedgehog",category:"Animals & Nature"},{emoji:"🦇",names:["bat"],tags:[],description:"bat",category:"Animals & Nature"},{emoji:"🐻",names:["bear"],tags:[],description:"bear",category:"Animals & Nature"},{emoji:"🐻‍❄️",names:["polar_bear"],tags:[],description:"polar bear",category:"Animals & Nature"},{emoji:"🐨",names:["koala"],tags:[],description:"koala",category:"Animals & Nature"},{emoji:"🐼",names:["panda_face"],tags:[],description:"panda",category:"Animals & Nature"},{emoji:"🦥",names:["sloth"],tags:[],description:"sloth",category:"Animals & Nature"},{emoji:"🦦",names:["otter"],tags:[],description:"otter",category:"Animals & Nature"},{emoji:"🦨",names:["skunk"],tags:[],description:"skunk",category:"Animals & Nature"},{emoji:"🦘",names:["kangaroo"],tags:[],description:"kangaroo",category:"Animals & Nature"},{emoji:"🦡",names:["badger"],tags:[],description:"badger",category:"Animals & Nature"},{emoji:"🐾",names:["feet","paw_prints"],tags:[],description:"paw prints",category:"Animals & Nature"},{emoji:"🦃",names:["turkey"],tags:["thanksgiving"],description:"turkey",category:"Animals & Nature"},{emoji:"🐔",names:["chicken"],tags:[],description:"chicken",category:"Animals & Nature"},{emoji:"🐓",names:["rooster"],tags:[],description:"rooster",category:"Animals & Nature"},{emoji:"🐣",names:["hatching_chick"],tags:[],description:"hatching chick",category:"Animals & Nature"},{emoji:"🐤",names:["baby_chick"],tags:[],description:"baby chick",category:"Animals & Nature"},{emoji:"🐥",names:["hatched_chick"],tags:[],description:"front-facing baby chick",category:"Animals & Nature"},{emoji:"🐦",names:["bird"],tags:[],description:"bird",category:"Animals & Nature"},{emoji:"🐧",names:["penguin"],tags:[],description:"penguin",category:"Animals & Nature"},{emoji:"🕊️",names:["dove"],tags:["peace"],description:"dove",category:"Animals & Nature"},{emoji:"🦅",names:["eagle"],tags:[],description:"eagle",category:"Animals & Nature"},{emoji:"🦆",names:["duck"],tags:[],description:"duck",category:"Animals & Nature"},{emoji:"🦢",names:["swan"],tags:[],description:"swan",category:"Animals & Nature"},{emoji:"🦉",names:["owl"],tags:[],description:"owl",category:"Animals & Nature"},{emoji:"🦤",names:["dodo"],tags:[],description:"dodo",category:"Animals & Nature"},{emoji:"🪶",names:["feather"],tags:[],description:"feather",category:"Animals & Nature"},{emoji:"🦩",names:["flamingo"],tags:[],description:"flamingo",category:"Animals & Nature"},{emoji:"🦚",names:["peacock"],tags:[],description:"peacock",category:"Animals & Nature"},{emoji:"🦜",names:["parrot"],tags:[],description:"parrot",category:"Animals & Nature"},{emoji:"🪽",names:["wing"],tags:["fly"],description:"wing",category:"Animals & Nature"},{emoji:"🐦‍⬛",names:["black_bird"],tags:[],description:"black bird",category:"Animals & Nature"},{emoji:"🪿",names:["goose"],tags:["honk"],description:"goose",category:"Animals & Nature"},{emoji:"🐸",names:["frog"],tags:[],description:"frog",category:"Animals & Nature"},{emoji:"🐊",names:["crocodile"],tags:[],description:"crocodile",category:"Animals & Nature"},{emoji:"🐢",names:["turtle"],tags:["slow"],description:"turtle",category:"Animals & Nature"},{emoji:"🦎",names:["lizard"],tags:[],description:"lizard",category:"Animals & Nature"},{emoji:"🐍",names:["snake"],tags:[],description:"snake",category:"Animals & Nature"},{emoji:"🐲",names:["dragon_face"],tags:[],description:"dragon face",category:"Animals & Nature"},{emoji:"🐉",names:["dragon"],tags:[],description:"dragon",category:"Animals & Nature"},{emoji:"🦕",names:["sauropod"],tags:["dinosaur"],description:"sauropod",category:"Animals & Nature"},{emoji:"🦖",names:["t-rex"],tags:["dinosaur"],description:"T-Rex",category:"Animals & Nature"},{emoji:"🐳",names:["whale"],tags:["sea"],description:"spouting whale",category:"Animals & Nature"},{emoji:"🐋",names:["whale2"],tags:[],description:"whale",category:"Animals & Nature"},{emoji:"🐬",names:["dolphin","flipper"],tags:[],description:"dolphin",category:"Animals & Nature"},{emoji:"🦭",names:["seal"],tags:[],description:"seal",category:"Animals & Nature"},{emoji:"🐟",names:["fish"],tags:[],description:"fish",category:"Animals & Nature"},{emoji:"🐠",names:["tropical_fish"],tags:[],description:"tropical fish",category:"Animals & Nature"},{emoji:"🐡",names:["blowfish"],tags:[],description:"blowfish",category:"Animals & Nature"},{emoji:"🦈",names:["shark"],tags:[],description:"shark",category:"Animals & Nature"},{emoji:"🐙",names:["octopus"],tags:[],description:"octopus",category:"Animals & Nature"},{emoji:"🐚",names:["shell"],tags:["sea","beach"],description:"spiral shell",category:"Animals & Nature"},{emoji:"🪸",names:["coral"],tags:[],description:"coral",category:"Animals & Nature"},{emoji:"🪼",names:["jellyfish"],tags:[],description:"jellyfish",category:"Animals & Nature"},{emoji:"🐌",names:["snail"],tags:["slow"],description:"snail",category:"Animals & Nature"},{emoji:"🦋",names:["butterfly"],tags:[],description:"butterfly",category:"Animals & Nature"},{emoji:"🐛",names:["bug"],tags:[],description:"bug",category:"Animals & Nature"},{emoji:"🐜",names:["ant"],tags:[],description:"ant",category:"Animals & Nature"},{emoji:"🐝",names:["bee","honeybee"],tags:[],description:"honeybee",category:"Animals & Nature"},{emoji:"🪲",names:["beetle"],tags:[],description:"beetle",category:"Animals & Nature"},{emoji:"🐞",names:["lady_beetle"],tags:["bug"],description:"lady beetle",category:"Animals & Nature"},{emoji:"🦗",names:["cricket"],tags:[],description:"cricket",category:"Animals & Nature"},{emoji:"🪳",names:["cockroach"],tags:[],description:"cockroach",category:"Animals & Nature"},{emoji:"🕷️",names:["spider"],tags:[],description:"spider",category:"Animals & Nature"},{emoji:"🕸️",names:["spider_web"],tags:[],description:"spider web",category:"Animals & Nature"},{emoji:"🦂",names:["scorpion"],tags:[],description:"scorpion",category:"Animals & Nature"},{emoji:"🦟",names:["mosquito"],tags:[],description:"mosquito",category:"Animals & Nature"},{emoji:"🪰",names:["fly"],tags:[],description:"fly",category:"Animals & Nature"},{emoji:"🪱",names:["worm"],tags:[],description:"worm",category:"Animals & Nature"},{emoji:"🦠",names:["microbe"],tags:["germ"],description:"microbe",category:"Animals & Nature"},{emoji:"💐",names:["bouquet"],tags:["flowers"],description:"bouquet",category:"Animals & Nature"},{emoji:"🌸",names:["cherry_blossom"],tags:["flower","spring"],description:"cherry blossom",category:"Animals & Nature"},{emoji:"💮",names:["white_flower"],tags:[],description:"white flower",category:"Animals & Nature"},{emoji:"🪷",names:["lotus"],tags:[],description:"lotus",category:"Animals & Nature"},{emoji:"🏵️",names:["rosette"],tags:[],description:"rosette",category:"Animals & Nature"},{emoji:"🌹",names:["rose"],tags:["flower"],description:"rose",category:"Animals & Nature"},{emoji:"🥀",names:["wilted_flower"],tags:[],description:"wilted flower",category:"Animals & Nature"},{emoji:"🌺",names:["hibiscus"],tags:[],description:"hibiscus",category:"Animals & Nature"},{emoji:"🌻",names:["sunflower"],tags:[],description:"sunflower",category:"Animals & Nature"},{emoji:"🌼",names:["blossom"],tags:[],description:"blossom",category:"Animals & Nature"},{emoji:"🌷",names:["tulip"],tags:["flower"],description:"tulip",category:"Animals & Nature"},{emoji:"🪻",names:["hyacinth"],tags:[],description:"hyacinth",category:"Animals & Nature"},{emoji:"🌱",names:["seedling"],tags:["plant"],description:"seedling",category:"Animals & Nature"},{emoji:"🪴",names:["potted_plant"],tags:[],description:"potted plant",category:"Animals & Nature"},{emoji:"🌲",names:["evergreen_tree"],tags:["wood"],description:"evergreen tree",category:"Animals & Nature"},{emoji:"🌳",names:["deciduous_tree"],tags:["wood"],description:"deciduous tree",category:"Animals & Nature"},{emoji:"🌴",names:["palm_tree"],tags:[],description:"palm tree",category:"Animals & Nature"},{emoji:"🌵",names:["cactus"],tags:[],description:"cactus",category:"Animals & Nature"},{emoji:"🌾",names:["ear_of_rice"],tags:[],description:"sheaf of rice",category:"Animals & Nature"},{emoji:"🌿",names:["herb"],tags:[],description:"herb",category:"Animals & Nature"},{emoji:"☘️",names:["shamrock"],tags:[],description:"shamrock",category:"Animals & Nature"},{emoji:"🍀",names:["four_leaf_clover"],tags:["luck"],description:"four leaf clover",category:"Animals & Nature"},{emoji:"🍁",names:["maple_leaf"],tags:["canada"],description:"maple leaf",category:"Animals & Nature"},{emoji:"🍂",names:["fallen_leaf"],tags:["autumn"],description:"fallen leaf",category:"Animals & Nature"},{emoji:"🍃",names:["leaves"],tags:["leaf"],description:"leaf fluttering in wind",category:"Animals & Nature"},{emoji:"🪹",names:["empty_nest"],tags:[],description:"empty nest",category:"Animals & Nature"},{emoji:"🪺",names:["nest_with_eggs"],tags:[],description:"nest with eggs",category:"Animals & Nature"},{emoji:"🍄",names:["mushroom"],tags:["fungus"],description:"mushroom",category:"Animals & Nature"},{emoji:"🍇",names:["grapes"],tags:[],description:"grapes",category:"Food & Drink"},{emoji:"🍈",names:["melon"],tags:[],description:"melon",category:"Food & Drink"},{emoji:"🍉",names:["watermelon"],tags:[],description:"watermelon",category:"Food & Drink"},{emoji:"🍊",names:["tangerine","orange","mandarin"],tags:[],description:"tangerine",category:"Food & Drink"},{emoji:"🍋",names:["lemon"],tags:[],description:"lemon",category:"Food & Drink"},{emoji:"🍌",names:["banana"],tags:["fruit"],description:"banana",category:"Food & Drink"},{emoji:"🍍",names:["pineapple"],tags:[],description:"pineapple",category:"Food & Drink"},{emoji:"🥭",names:["mango"],tags:[],description:"mango",category:"Food & Drink"},{emoji:"🍎",names:["apple"],tags:[],description:"red apple",category:"Food & Drink"},{emoji:"🍏",names:["green_apple"],tags:["fruit"],description:"green apple",category:"Food & Drink"},{emoji:"🍐",names:["pear"],tags:[],description:"pear",category:"Food & Drink"},{emoji:"🍑",names:["peach"],tags:[],description:"peach",category:"Food & Drink"},{emoji:"🍒",names:["cherries"],tags:["fruit"],description:"cherries",category:"Food & Drink"},{emoji:"🍓",names:["strawberry"],tags:["fruit"],description:"strawberry",category:"Food & Drink"},{emoji:"🫐",names:["blueberries"],tags:[],description:"blueberries",category:"Food & Drink"},{emoji:"🥝",names:["kiwi_fruit"],tags:[],description:"kiwi fruit",category:"Food & Drink"},{emoji:"🍅",names:["tomato"],tags:[],description:"tomato",category:"Food & Drink"},{emoji:"🫒",names:["olive"],tags:[],description:"olive",category:"Food & Drink"},{emoji:"🥥",names:["coconut"],tags:[],description:"coconut",category:"Food & Drink"},{emoji:"🥑",names:["avocado"],tags:[],description:"avocado",category:"Food & Drink"},{emoji:"🍆",names:["eggplant"],tags:["aubergine"],description:"eggplant",category:"Food & Drink"},{emoji:"🥔",names:["potato"],tags:[],description:"potato",category:"Food & Drink"},{emoji:"🥕",names:["carrot"],tags:[],description:"carrot",category:"Food & Drink"},{emoji:"🌽",names:["corn"],tags:[],description:"ear of corn",category:"Food & Drink"},{emoji:"🌶️",names:["hot_pepper"],tags:["spicy"],description:"hot pepper",category:"Food & Drink"},{emoji:"🫑",names:["bell_pepper"],tags:[],description:"bell pepper",category:"Food & Drink"},{emoji:"🥒",names:["cucumber"],tags:[],description:"cucumber",category:"Food & Drink"},{emoji:"🥬",names:["leafy_green"],tags:[],description:"leafy green",category:"Food & Drink"},{emoji:"🥦",names:["broccoli"],tags:[],description:"broccoli",category:"Food & Drink"},{emoji:"🧄",names:["garlic"],tags:[],description:"garlic",category:"Food & Drink"},{emoji:"🧅",names:["onion"],tags:[],description:"onion",category:"Food & Drink"},{emoji:"🥜",names:["peanuts"],tags:[],description:"peanuts",category:"Food & Drink"},{emoji:"🫘",names:["beans"],tags:[],description:"beans",category:"Food & Drink"},{emoji:"🌰",names:["chestnut"],tags:[],description:"chestnut",category:"Food & Drink"},{emoji:"🫚",names:["ginger_root"],tags:[],description:"ginger root",category:"Food & Drink"},{emoji:"🫛",names:["pea_pod"],tags:[],description:"pea pod",category:"Food & Drink"},{emoji:"🍞",names:["bread"],tags:["toast"],description:"bread",category:"Food & Drink"},{emoji:"🥐",names:["croissant"],tags:[],description:"croissant",category:"Food & Drink"},{emoji:"🥖",names:["baguette_bread"],tags:[],description:"baguette bread",category:"Food & Drink"},{emoji:"🫓",names:["flatbread"],tags:[],description:"flatbread",category:"Food & Drink"},{emoji:"🥨",names:["pretzel"],tags:[],description:"pretzel",category:"Food & Drink"},{emoji:"🥯",names:["bagel"],tags:[],description:"bagel",category:"Food & Drink"},{emoji:"🥞",names:["pancakes"],tags:[],description:"pancakes",category:"Food & Drink"},{emoji:"🧇",names:["waffle"],tags:[],description:"waffle",category:"Food & Drink"},{emoji:"🧀",names:["cheese"],tags:[],description:"cheese wedge",category:"Food & Drink"},{emoji:"🍖",names:["meat_on_bone"],tags:[],description:"meat on bone",category:"Food & Drink"},{emoji:"🍗",names:["poultry_leg"],tags:["meat","chicken"],description:"poultry leg",category:"Food & Drink"},{emoji:"🥩",names:["cut_of_meat"],tags:[],description:"cut of meat",category:"Food & Drink"},{emoji:"🥓",names:["bacon"],tags:[],description:"bacon",category:"Food & Drink"},{emoji:"🍔",names:["hamburger"],tags:["burger"],description:"hamburger",category:"Food & Drink"},{emoji:"🍟",names:["fries"],tags:[],description:"french fries",category:"Food & Drink"},{emoji:"🍕",names:["pizza"],tags:[],description:"pizza",category:"Food & Drink"},{emoji:"🌭",names:["hotdog"],tags:[],description:"hot dog",category:"Food & Drink"},{emoji:"🥪",names:["sandwich"],tags:[],description:"sandwich",category:"Food & Drink"},{emoji:"🌮",names:["taco"],tags:[],description:"taco",category:"Food & Drink"},{emoji:"🌯",names:["burrito"],tags:[],description:"burrito",category:"Food & Drink"},{emoji:"🫔",names:["tamale"],tags:[],description:"tamale",category:"Food & Drink"},{emoji:"🥙",names:["stuffed_flatbread"],tags:[],description:"stuffed flatbread",category:"Food & Drink"},{emoji:"🧆",names:["falafel"],tags:[],description:"falafel",category:"Food & Drink"},{emoji:"🥚",names:["egg"],tags:[],description:"egg",category:"Food & Drink"},{emoji:"🍳",names:["fried_egg"],tags:["breakfast"],description:"cooking",category:"Food & Drink"},{emoji:"🥘",names:["shallow_pan_of_food"],tags:["paella","curry"],description:"shallow pan of food",category:"Food & Drink"},{emoji:"🍲",names:["stew"],tags:[],description:"pot of food",category:"Food & Drink"},{emoji:"🫕",names:["fondue"],tags:[],description:"fondue",category:"Food & Drink"},{emoji:"🥣",names:["bowl_with_spoon"],tags:[],description:"bowl with spoon",category:"Food & Drink"},{emoji:"🥗",names:["green_salad"],tags:[],description:"green salad",category:"Food & Drink"},{emoji:"🍿",names:["popcorn"],tags:[],description:"popcorn",category:"Food & Drink"},{emoji:"🧈",names:["butter"],tags:[],description:"butter",category:"Food & Drink"},{emoji:"🧂",names:["salt"],tags:[],description:"salt",category:"Food & Drink"},{emoji:"🥫",names:["canned_food"],tags:[],description:"canned food",category:"Food & Drink"},{emoji:"🍱",names:["bento"],tags:[],description:"bento box",category:"Food & Drink"},{emoji:"🍘",names:["rice_cracker"],tags:[],description:"rice cracker",category:"Food & Drink"},{emoji:"🍙",names:["rice_ball"],tags:[],description:"rice ball",category:"Food & Drink"},{emoji:"🍚",names:["rice"],tags:[],description:"cooked rice",category:"Food & Drink"},{emoji:"🍛",names:["curry"],tags:[],description:"curry rice",category:"Food & Drink"},{emoji:"🍜",names:["ramen"],tags:["noodle"],description:"steaming bowl",category:"Food & Drink"},{emoji:"🍝",names:["spaghetti"],tags:["pasta"],description:"spaghetti",category:"Food & Drink"},{emoji:"🍠",names:["sweet_potato"],tags:[],description:"roasted sweet potato",category:"Food & Drink"},{emoji:"🍢",names:["oden"],tags:[],description:"oden",category:"Food & Drink"},{emoji:"🍣",names:["sushi"],tags:[],description:"sushi",category:"Food & Drink"},{emoji:"🍤",names:["fried_shrimp"],tags:["tempura"],description:"fried shrimp",category:"Food & Drink"},{emoji:"🍥",names:["fish_cake"],tags:[],description:"fish cake with swirl",category:"Food & Drink"},{emoji:"🥮",names:["moon_cake"],tags:[],description:"moon cake",category:"Food & Drink"},{emoji:"🍡",names:["dango"],tags:[],description:"dango",category:"Food & Drink"},{emoji:"🥟",names:["dumpling"],tags:[],description:"dumpling",category:"Food & Drink"},{emoji:"🥠",names:["fortune_cookie"],tags:[],description:"fortune cookie",category:"Food & Drink"},{emoji:"🥡",names:["takeout_box"],tags:[],description:"takeout box",category:"Food & Drink"},{emoji:"🦀",names:["crab"],tags:[],description:"crab",category:"Food & Drink"},{emoji:"🦞",names:["lobster"],tags:[],description:"lobster",category:"Food & Drink"},{emoji:"🦐",names:["shrimp"],tags:[],description:"shrimp",category:"Food & Drink"},{emoji:"🦑",names:["squid"],tags:[],description:"squid",category:"Food & Drink"},{emoji:"🦪",names:["oyster"],tags:[],description:"oyster",category:"Food & Drink"},{emoji:"🍦",names:["icecream"],tags:[],description:"soft ice cream",category:"Food & Drink"},{emoji:"🍧",names:["shaved_ice"],tags:[],description:"shaved ice",category:"Food & Drink"},{emoji:"🍨",names:["ice_cream"],tags:[],description:"ice cream",category:"Food & Drink"},{emoji:"🍩",names:["doughnut"],tags:[],description:"doughnut",category:"Food & Drink"},{emoji:"🍪",names:["cookie"],tags:[],description:"cookie",category:"Food & Drink"},{emoji:"🎂",names:["birthday"],tags:["party"],description:"birthday cake",category:"Food & Drink"},{emoji:"🍰",names:["cake"],tags:["dessert"],description:"shortcake",category:"Food & Drink"},{emoji:"🧁",names:["cupcake"],tags:[],description:"cupcake",category:"Food & Drink"},{emoji:"🥧",names:["pie"],tags:[],description:"pie",category:"Food & Drink"},{emoji:"🍫",names:["chocolate_bar"],tags:[],description:"chocolate bar",category:"Food & Drink"},{emoji:"🍬",names:["candy"],tags:["sweet"],description:"candy",category:"Food & Drink"},{emoji:"🍭",names:["lollipop"],tags:[],description:"lollipop",category:"Food & Drink"},{emoji:"🍮",names:["custard"],tags:[],description:"custard",category:"Food & Drink"},{emoji:"🍯",names:["honey_pot"],tags:[],description:"honey pot",category:"Food & Drink"},{emoji:"🍼",names:["baby_bottle"],tags:["milk"],description:"baby bottle",category:"Food & Drink"},{emoji:"🥛",names:["milk_glass"],tags:[],description:"glass of milk",category:"Food & Drink"},{emoji:"☕",names:["coffee"],tags:["cafe","espresso"],description:"hot beverage",category:"Food & Drink"},{emoji:"🫖",names:["teapot"],tags:[],description:"teapot",category:"Food & Drink"},{emoji:"🍵",names:["tea"],tags:["green","breakfast"],description:"teacup without handle",category:"Food & Drink"},{emoji:"🍶",names:["sake"],tags:[],description:"sake",category:"Food & Drink"},{emoji:"🍾",names:["champagne"],tags:["bottle","bubbly","celebration"],description:"bottle with popping cork",category:"Food & Drink"},{emoji:"🍷",names:["wine_glass"],tags:[],description:"wine glass",category:"Food & Drink"},{emoji:"🍸",names:["cocktail"],tags:["drink"],description:"cocktail glass",category:"Food & Drink"},{emoji:"🍹",names:["tropical_drink"],tags:["summer","vacation"],description:"tropical drink",category:"Food & Drink"},{emoji:"🍺",names:["beer"],tags:["drink"],description:"beer mug",category:"Food & Drink"},{emoji:"🍻",names:["beers"],tags:["drinks"],description:"clinking beer mugs",category:"Food & Drink"},{emoji:"🥂",names:["clinking_glasses"],tags:["cheers","toast"],description:"clinking glasses",category:"Food & Drink"},{emoji:"🥃",names:["tumbler_glass"],tags:["whisky"],description:"tumbler glass",category:"Food & Drink"},{emoji:"🫗",names:["pouring_liquid"],tags:[],description:"pouring liquid",category:"Food & Drink"},{emoji:"🥤",names:["cup_with_straw"],tags:[],description:"cup with straw",category:"Food & Drink"},{emoji:"🧋",names:["bubble_tea"],tags:[],description:"bubble tea",category:"Food & Drink"},{emoji:"🧃",names:["beverage_box"],tags:[],description:"beverage box",category:"Food & Drink"},{emoji:"🧉",names:["mate"],tags:[],description:"mate",category:"Food & Drink"},{emoji:"🧊",names:["ice_cube"],tags:[],description:"ice",category:"Food & Drink"},{emoji:"🥢",names:["chopsticks"],tags:[],description:"chopsticks",category:"Food & Drink"},{emoji:"🍽️",names:["plate_with_cutlery"],tags:["dining","dinner"],description:"fork and knife with plate",category:"Food & Drink"},{emoji:"🍴",names:["fork_and_knife"],tags:["cutlery"],description:"fork and knife",category:"Food & Drink"},{emoji:"🥄",names:["spoon"],tags:[],description:"spoon",category:"Food & Drink"},{emoji:"🔪",names:["hocho","knife"],tags:["cut","chop"],description:"kitchen knife",category:"Food & Drink"},{emoji:"🫙",names:["jar"],tags:[],description:"jar",category:"Food & Drink"},{emoji:"🏺",names:["amphora"],tags:[],description:"amphora",category:"Food & Drink"},{emoji:"🌍",names:["earth_africa"],tags:["globe","world","international"],description:"globe showing Europe-Africa",category:"Travel & Places"},{emoji:"🌎",names:["earth_americas"],tags:["globe","world","international"],description:"globe showing Americas",category:"Travel & Places"},{emoji:"🌏",names:["earth_asia"],tags:["globe","world","international"],description:"globe showing Asia-Australia",category:"Travel & Places"},{emoji:"🌐",names:["globe_with_meridians"],tags:["world","global","international"],description:"globe with meridians",category:"Travel & Places"},{emoji:"🗺️",names:["world_map"],tags:["travel"],description:"world map",category:"Travel & Places"},{emoji:"🗾",names:["japan"],tags:[],description:"map of Japan",category:"Travel & Places"},{emoji:"🧭",names:["compass"],tags:[],description:"compass",category:"Travel & Places"},{emoji:"🏔️",names:["mountain_snow"],tags:[],description:"snow-capped mountain",category:"Travel & Places"},{emoji:"⛰️",names:["mountain"],tags:[],description:"mountain",category:"Travel & Places"},{emoji:"🌋",names:["volcano"],tags:[],description:"volcano",category:"Travel & Places"},{emoji:"🗻",names:["mount_fuji"],tags:[],description:"mount fuji",category:"Travel & Places"},{emoji:"🏕️",names:["camping"],tags:[],description:"camping",category:"Travel & Places"},{emoji:"🏖️",names:["beach_umbrella"],tags:[],description:"beach with umbrella",category:"Travel & Places"},{emoji:"🏜️",names:["desert"],tags:[],description:"desert",category:"Travel & Places"},{emoji:"🏝️",names:["desert_island"],tags:[],description:"desert island",category:"Travel & Places"},{emoji:"🏞️",names:["national_park"],tags:[],description:"national park",category:"Travel & Places"},{emoji:"🏟️",names:["stadium"],tags:[],description:"stadium",category:"Travel & Places"},{emoji:"🏛️",names:["classical_building"],tags:[],description:"classical building",category:"Travel & Places"},{emoji:"🏗️",names:["building_construction"],tags:[],description:"building construction",category:"Travel & Places"},{emoji:"🧱",names:["bricks"],tags:[],description:"brick",category:"Travel & Places"},{emoji:"🪨",names:["rock"],tags:[],description:"rock",category:"Travel & Places"},{emoji:"🪵",names:["wood"],tags:[],description:"wood",category:"Travel & Places"},{emoji:"🛖",names:["hut"],tags:[],description:"hut",category:"Travel & Places"},{emoji:"🏘️",names:["houses"],tags:[],description:"houses",category:"Travel & Places"},{emoji:"🏚️",names:["derelict_house"],tags:[],description:"derelict house",category:"Travel & Places"},{emoji:"🏠",names:["house"],tags:[],description:"house",category:"Travel & Places"},{emoji:"🏡",names:["house_with_garden"],tags:[],description:"house with garden",category:"Travel & Places"},{emoji:"🏢",names:["office"],tags:[],description:"office building",category:"Travel & Places"},{emoji:"🏣",names:["post_office"],tags:[],description:"Japanese post office",category:"Travel & Places"},{emoji:"🏤",names:["european_post_office"],tags:[],description:"post office",category:"Travel & Places"},{emoji:"🏥",names:["hospital"],tags:[],description:"hospital",category:"Travel & Places"},{emoji:"🏦",names:["bank"],tags:[],description:"bank",category:"Travel & Places"},{emoji:"🏨",names:["hotel"],tags:[],description:"hotel",category:"Travel & Places"},{emoji:"🏩",names:["love_hotel"],tags:[],description:"love hotel",category:"Travel & Places"},{emoji:"🏪",names:["convenience_store"],tags:[],description:"convenience store",category:"Travel & Places"},{emoji:"🏫",names:["school"],tags:[],description:"school",category:"Travel & Places"},{emoji:"🏬",names:["department_store"],tags:[],description:"department store",category:"Travel & Places"},{emoji:"🏭",names:["factory"],tags:[],description:"factory",category:"Travel & Places"},{emoji:"🏯",names:["japanese_castle"],tags:[],description:"Japanese castle",category:"Travel & Places"},{emoji:"🏰",names:["european_castle"],tags:[],description:"castle",category:"Travel & Places"},{emoji:"💒",names:["wedding"],tags:["marriage"],description:"wedding",category:"Travel & Places"},{emoji:"🗼",names:["tokyo_tower"],tags:[],description:"Tokyo tower",category:"Travel & Places"},{emoji:"🗽",names:["statue_of_liberty"],tags:[],description:"Statue of Liberty",category:"Travel & Places"},{emoji:"⛪",names:["church"],tags:[],description:"church",category:"Travel & Places"},{emoji:"🕌",names:["mosque"],tags:[],description:"mosque",category:"Travel & Places"},{emoji:"🛕",names:["hindu_temple"],tags:[],description:"hindu temple",category:"Travel & Places"},{emoji:"🕍",names:["synagogue"],tags:[],description:"synagogue",category:"Travel & Places"},{emoji:"⛩️",names:["shinto_shrine"],tags:[],description:"shinto shrine",category:"Travel & Places"},{emoji:"🕋",names:["kaaba"],tags:[],description:"kaaba",category:"Travel & Places"},{emoji:"⛲",names:["fountain"],tags:[],description:"fountain",category:"Travel & Places"},{emoji:"⛺",names:["tent"],tags:["camping"],description:"tent",category:"Travel & Places"},{emoji:"🌁",names:["foggy"],tags:["karl"],description:"foggy",category:"Travel & Places"},{emoji:"🌃",names:["night_with_stars"],tags:[],description:"night with stars",category:"Travel & Places"},{emoji:"🏙️",names:["cityscape"],tags:["skyline"],description:"cityscape",category:"Travel & Places"},{emoji:"🌄",names:["sunrise_over_mountains"],tags:[],description:"sunrise over mountains",category:"Travel & Places"},{emoji:"🌅",names:["sunrise"],tags:[],description:"sunrise",category:"Travel & Places"},{emoji:"🌆",names:["city_sunset"],tags:[],description:"cityscape at dusk",category:"Travel & Places"},{emoji:"🌇",names:["city_sunrise"],tags:[],description:"sunset",category:"Travel & Places"},{emoji:"🌉",names:["bridge_at_night"],tags:[],description:"bridge at night",category:"Travel & Places"},{emoji:"♨️",names:["hotsprings"],tags:[],description:"hot springs",category:"Travel & Places"},{emoji:"🎠",names:["carousel_horse"],tags:[],description:"carousel horse",category:"Travel & Places"},{emoji:"🛝",names:["playground_slide"],tags:[],description:"playground slide",category:"Travel & Places"},{emoji:"🎡",names:["ferris_wheel"],tags:[],description:"ferris wheel",category:"Travel & Places"},{emoji:"🎢",names:["roller_coaster"],tags:[],description:"roller coaster",category:"Travel & Places"},{emoji:"💈",names:["barber"],tags:[],description:"barber pole",category:"Travel & Places"},{emoji:"🎪",names:["circus_tent"],tags:[],description:"circus tent",category:"Travel & Places"},{emoji:"🚂",names:["steam_locomotive"],tags:["train"],description:"locomotive",category:"Travel & Places"},{emoji:"🚃",names:["railway_car"],tags:[],description:"railway car",category:"Travel & Places"},{emoji:"🚄",names:["bullettrain_side"],tags:["train"],description:"high-speed train",category:"Travel & Places"},{emoji:"🚅",names:["bullettrain_front"],tags:["train"],description:"bullet train",category:"Travel & Places"},{emoji:"🚆",names:["train2"],tags:[],description:"train",category:"Travel & Places"},{emoji:"🚇",names:["metro"],tags:[],description:"metro",category:"Travel & Places"},{emoji:"🚈",names:["light_rail"],tags:[],description:"light rail",category:"Travel & Places"},{emoji:"🚉",names:["station"],tags:[],description:"station",category:"Travel & Places"},{emoji:"🚊",names:["tram"],tags:[],description:"tram",category:"Travel & Places"},{emoji:"🚝",names:["monorail"],tags:[],description:"monorail",category:"Travel & Places"},{emoji:"🚞",names:["mountain_railway"],tags:[],description:"mountain railway",category:"Travel & Places"},{emoji:"🚋",names:["train"],tags:[],description:"tram car",category:"Travel & Places"},{emoji:"🚌",names:["bus"],tags:[],description:"bus",category:"Travel & Places"},{emoji:"🚍",names:["oncoming_bus"],tags:[],description:"oncoming bus",category:"Travel & Places"},{emoji:"🚎",names:["trolleybus"],tags:[],description:"trolleybus",category:"Travel & Places"},{emoji:"🚐",names:["minibus"],tags:[],description:"minibus",category:"Travel & Places"},{emoji:"🚑",names:["ambulance"],tags:[],description:"ambulance",category:"Travel & Places"},{emoji:"🚒",names:["fire_engine"],tags:[],description:"fire engine",category:"Travel & Places"},{emoji:"🚓",names:["police_car"],tags:[],description:"police car",category:"Travel & Places"},{emoji:"🚔",names:["oncoming_police_car"],tags:[],description:"oncoming police car",category:"Travel & Places"},{emoji:"🚕",names:["taxi"],tags:[],description:"taxi",category:"Travel & Places"},{emoji:"🚖",names:["oncoming_taxi"],tags:[],description:"oncoming taxi",category:"Travel & Places"},{emoji:"🚗",names:["car","red_car"],tags:[],description:"automobile",category:"Travel & Places"},{emoji:"🚘",names:["oncoming_automobile"],tags:[],description:"oncoming automobile",category:"Travel & Places"},{emoji:"🚙",names:["blue_car"],tags:[],description:"sport utility vehicle",category:"Travel & Places"},{emoji:"🛻",names:["pickup_truck"],tags:[],description:"pickup truck",category:"Travel & Places"},{emoji:"🚚",names:["truck"],tags:[],description:"delivery truck",category:"Travel & Places"},{emoji:"🚛",names:["articulated_lorry"],tags:[],description:"articulated lorry",category:"Travel & Places"},{emoji:"🚜",names:["tractor"],tags:[],description:"tractor",category:"Travel & Places"},{emoji:"🏎️",names:["racing_car"],tags:[],description:"racing car",category:"Travel & Places"},{emoji:"🏍️",names:["motorcycle"],tags:[],description:"motorcycle",category:"Travel & Places"},{emoji:"🛵",names:["motor_scooter"],tags:[],description:"motor scooter",category:"Travel & Places"},{emoji:"🦽",names:["manual_wheelchair"],tags:[],description:"manual wheelchair",category:"Travel & Places"},{emoji:"🦼",names:["motorized_wheelchair"],tags:[],description:"motorized wheelchair",category:"Travel & Places"},{emoji:"🛺",names:["auto_rickshaw"],tags:[],description:"auto rickshaw",category:"Travel & Places"},{emoji:"🚲",names:["bike"],tags:["bicycle"],description:"bicycle",category:"Travel & Places"},{emoji:"🛴",names:["kick_scooter"],tags:[],description:"kick scooter",category:"Travel & Places"},{emoji:"🛹",names:["skateboard"],tags:[],description:"skateboard",category:"Travel & Places"},{emoji:"🛼",names:["roller_skate"],tags:[],description:"roller skate",category:"Travel & Places"},{emoji:"🚏",names:["busstop"],tags:[],description:"bus stop",category:"Travel & Places"},{emoji:"🛣️",names:["motorway"],tags:[],description:"motorway",category:"Travel & Places"},{emoji:"🛤️",names:["railway_track"],tags:[],description:"railway track",category:"Travel & Places"},{emoji:"🛢️",names:["oil_drum"],tags:[],description:"oil drum",category:"Travel & Places"},{emoji:"⛽",names:["fuelpump"],tags:[],description:"fuel pump",category:"Travel & Places"},{emoji:"🛞",names:["wheel"],tags:[],description:"wheel",category:"Travel & Places"},{emoji:"🚨",names:["rotating_light"],tags:["911","emergency"],description:"police car light",category:"Travel & Places"},{emoji:"🚥",names:["traffic_light"],tags:[],description:"horizontal traffic light",category:"Travel & Places"},{emoji:"🚦",names:["vertical_traffic_light"],tags:["semaphore"],description:"vertical traffic light",category:"Travel & Places"},{emoji:"🛑",names:["stop_sign"],tags:[],description:"stop sign",category:"Travel & Places"},{emoji:"🚧",names:["construction"],tags:["wip"],description:"construction",category:"Travel & Places"},{emoji:"⚓",names:["anchor"],tags:["ship"],description:"anchor",category:"Travel & Places"},{emoji:"🛟",names:["ring_buoy"],tags:["life preserver"],description:"ring buoy",category:"Travel & Places"},{emoji:"⛵",names:["boat","sailboat"],tags:[],description:"sailboat",category:"Travel & Places"},{emoji:"🛶",names:["canoe"],tags:[],description:"canoe",category:"Travel & Places"},{emoji:"🚤",names:["speedboat"],tags:["ship"],description:"speedboat",category:"Travel & Places"},{emoji:"🛳️",names:["passenger_ship"],tags:["cruise"],description:"passenger ship",category:"Travel & Places"},{emoji:"⛴️",names:["ferry"],tags:[],description:"ferry",category:"Travel & Places"},{emoji:"🛥️",names:["motor_boat"],tags:[],description:"motor boat",category:"Travel & Places"},{emoji:"🚢",names:["ship"],tags:[],description:"ship",category:"Travel & Places"},{emoji:"✈️",names:["airplane"],tags:["flight"],description:"airplane",category:"Travel & Places"},{emoji:"🛩️",names:["small_airplane"],tags:["flight"],description:"small airplane",category:"Travel & Places"},{emoji:"🛫",names:["flight_departure"],tags:[],description:"airplane departure",category:"Travel & Places"},{emoji:"🛬",names:["flight_arrival"],tags:[],description:"airplane arrival",category:"Travel & Places"},{emoji:"🪂",names:["parachute"],tags:[],description:"parachute",category:"Travel & Places"},{emoji:"💺",names:["seat"],tags:[],description:"seat",category:"Travel & Places"},{emoji:"🚁",names:["helicopter"],tags:[],description:"helicopter",category:"Travel & Places"},{emoji:"🚟",names:["suspension_railway"],tags:[],description:"suspension railway",category:"Travel & Places"},{emoji:"🚠",names:["mountain_cableway"],tags:[],description:"mountain cableway",category:"Travel & Places"},{emoji:"🚡",names:["aerial_tramway"],tags:[],description:"aerial tramway",category:"Travel & Places"},{emoji:"🛰️",names:["artificial_satellite"],tags:["orbit","space"],description:"satellite",category:"Travel & Places"},{emoji:"🚀",names:["rocket"],tags:["ship","launch"],description:"rocket",category:"Travel & Places"},{emoji:"🛸",names:["flying_saucer"],tags:["ufo"],description:"flying saucer",category:"Travel & Places"},{emoji:"🛎️",names:["bellhop_bell"],tags:[],description:"bellhop bell",category:"Travel & Places"},{emoji:"🧳",names:["luggage"],tags:[],description:"luggage",category:"Travel & Places"},{emoji:"⌛",names:["hourglass"],tags:["time"],description:"hourglass done",category:"Travel & Places"},{emoji:"⏳",names:["hourglass_flowing_sand"],tags:["time"],description:"hourglass not done",category:"Travel & Places"},{emoji:"⌚",names:["watch"],tags:["time"],description:"watch",category:"Travel & Places"},{emoji:"⏰",names:["alarm_clock"],tags:["morning"],description:"alarm clock",category:"Travel & Places"},{emoji:"⏱️",names:["stopwatch"],tags:[],description:"stopwatch",category:"Travel & Places"},{emoji:"⏲️",names:["timer_clock"],tags:[],description:"timer clock",category:"Travel & Places"},{emoji:"🕰️",names:["mantelpiece_clock"],tags:[],description:"mantelpiece clock",category:"Travel & Places"},{emoji:"🕛",names:["clock12"],tags:[],description:"twelve o’clock",category:"Travel & Places"},{emoji:"🕧",names:["clock1230"],tags:[],description:"twelve-thirty",category:"Travel & Places"},{emoji:"🕐",names:["clock1"],tags:[],description:"one o’clock",category:"Travel & Places"},{emoji:"🕜",names:["clock130"],tags:[],description:"one-thirty",category:"Travel & Places"},{emoji:"🕑",names:["clock2"],tags:[],description:"two o’clock",category:"Travel & Places"},{emoji:"🕝",names:["clock230"],tags:[],description:"two-thirty",category:"Travel & Places"},{emoji:"🕒",names:["clock3"],tags:[],description:"three o’clock",category:"Travel & Places"},{emoji:"🕞",names:["clock330"],tags:[],description:"three-thirty",category:"Travel & Places"},{emoji:"🕓",names:["clock4"],tags:[],description:"four o’clock",category:"Travel & Places"},{emoji:"🕟",names:["clock430"],tags:[],description:"four-thirty",category:"Travel & Places"},{emoji:"🕔",names:["clock5"],tags:[],description:"five o’clock",category:"Travel & Places"},{emoji:"🕠",names:["clock530"],tags:[],description:"five-thirty",category:"Travel & Places"},{emoji:"🕕",names:["clock6"],tags:[],description:"six o’clock",category:"Travel & Places"},{emoji:"🕡",names:["clock630"],tags:[],description:"six-thirty",category:"Travel & Places"},{emoji:"🕖",names:["clock7"],tags:[],description:"seven o’clock",category:"Travel & Places"},{emoji:"🕢",names:["clock730"],tags:[],description:"seven-thirty",category:"Travel & Places"},{emoji:"🕗",names:["clock8"],tags:[],description:"eight o’clock",category:"Travel & Places"},{emoji:"🕣",names:["clock830"],tags:[],description:"eight-thirty",category:"Travel & Places"},{emoji:"🕘",names:["clock9"],tags:[],description:"nine o’clock",category:"Travel & Places"},{emoji:"🕤",names:["clock930"],tags:[],description:"nine-thirty",category:"Travel & Places"},{emoji:"🕙",names:["clock10"],tags:[],description:"ten o’clock",category:"Travel & Places"},{emoji:"🕥",names:["clock1030"],tags:[],description:"ten-thirty",category:"Travel & Places"},{emoji:"🕚",names:["clock11"],tags:[],description:"eleven o’clock",category:"Travel & Places"},{emoji:"🕦",names:["clock1130"],tags:[],description:"eleven-thirty",category:"Travel & Places"},{emoji:"🌑",names:["new_moon"],tags:[],description:"new moon",category:"Travel & Places"},{emoji:"🌒",names:["waxing_crescent_moon"],tags:[],description:"waxing crescent moon",category:"Travel & Places"},{emoji:"🌓",names:["first_quarter_moon"],tags:[],description:"first quarter moon",category:"Travel & Places"},{emoji:"🌔",names:["moon","waxing_gibbous_moon"],tags:[],description:"waxing gibbous moon",category:"Travel & Places"},{emoji:"🌕",names:["full_moon"],tags:[],description:"full moon",category:"Travel & Places"},{emoji:"🌖",names:["waning_gibbous_moon"],tags:[],description:"waning gibbous moon",category:"Travel & Places"},{emoji:"🌗",names:["last_quarter_moon"],tags:[],description:"last quarter moon",category:"Travel & Places"},{emoji:"🌘",names:["waning_crescent_moon"],tags:[],description:"waning crescent moon",category:"Travel & Places"},{emoji:"🌙",names:["crescent_moon"],tags:["night"],description:"crescent moon",category:"Travel & Places"},{emoji:"🌚",names:["new_moon_with_face"],tags:[],description:"new moon face",category:"Travel & Places"},{emoji:"🌛",names:["first_quarter_moon_with_face"],tags:[],description:"first quarter moon face",category:"Travel & Places"},{emoji:"🌜",names:["last_quarter_moon_with_face"],tags:[],description:"last quarter moon face",category:"Travel & Places"},{emoji:"🌡️",names:["thermometer"],tags:[],description:"thermometer",category:"Travel & Places"},{emoji:"☀️",names:["sunny"],tags:["weather"],description:"sun",category:"Travel & Places"},{emoji:"🌝",names:["full_moon_with_face"],tags:[],description:"full moon face",category:"Travel & Places"},{emoji:"🌞",names:["sun_with_face"],tags:["summer"],description:"sun with face",category:"Travel & Places"},{emoji:"🪐",names:["ringed_planet"],tags:[],description:"ringed planet",category:"Travel & Places"},{emoji:"⭐",names:["star"],tags:[],description:"star",category:"Travel & Places"},{emoji:"🌟",names:["star2"],tags:[],description:"glowing star",category:"Travel & Places"},{emoji:"🌠",names:["stars"],tags:[],description:"shooting star",category:"Travel & Places"},{emoji:"🌌",names:["milky_way"],tags:[],description:"milky way",category:"Travel & Places"},{emoji:"☁️",names:["cloud"],tags:[],description:"cloud",category:"Travel & Places"},{emoji:"⛅",names:["partly_sunny"],tags:["weather","cloud"],description:"sun behind cloud",category:"Travel & Places"},{emoji:"⛈️",names:["cloud_with_lightning_and_rain"],tags:[],description:"cloud with lightning and rain",category:"Travel & Places"},{emoji:"🌤️",names:["sun_behind_small_cloud"],tags:[],description:"sun behind small cloud",category:"Travel & Places"},{emoji:"🌥️",names:["sun_behind_large_cloud"],tags:[],description:"sun behind large cloud",category:"Travel & Places"},{emoji:"🌦️",names:["sun_behind_rain_cloud"],tags:[],description:"sun behind rain cloud",category:"Travel & Places"},{emoji:"🌧️",names:["cloud_with_rain"],tags:[],description:"cloud with rain",category:"Travel & Places"},{emoji:"🌨️",names:["cloud_with_snow"],tags:[],description:"cloud with snow",category:"Travel & Places"},{emoji:"🌩️",names:["cloud_with_lightning"],tags:[],description:"cloud with lightning",category:"Travel & Places"},{emoji:"🌪️",names:["tornado"],tags:[],description:"tornado",category:"Travel & Places"},{emoji:"🌫️",names:["fog"],tags:[],description:"fog",category:"Travel & Places"},{emoji:"🌬️",names:["wind_face"],tags:[],description:"wind face",category:"Travel & Places"},{emoji:"🌀",names:["cyclone"],tags:["swirl"],description:"cyclone",category:"Travel & Places"},{emoji:"🌈",names:["rainbow"],tags:[],description:"rainbow",category:"Travel & Places"},{emoji:"🌂",names:["closed_umbrella"],tags:["weather","rain"],description:"closed umbrella",category:"Travel & Places"},{emoji:"☂️",names:["open_umbrella"],tags:[],description:"umbrella",category:"Travel & Places"},{emoji:"☔",names:["umbrella"],tags:["rain","weather"],description:"umbrella with rain drops",category:"Travel & Places"},{emoji:"⛱️",names:["parasol_on_ground"],tags:["beach_umbrella"],description:"umbrella on ground",category:"Travel & Places"},{emoji:"⚡",names:["zap"],tags:["lightning","thunder"],description:"high voltage",category:"Travel & Places"},{emoji:"❄️",names:["snowflake"],tags:["winter","cold","weather"],description:"snowflake",category:"Travel & Places"},{emoji:"☃️",names:["snowman_with_snow"],tags:["winter","christmas"],description:"snowman",category:"Travel & Places"},{emoji:"⛄",names:["snowman"],tags:["winter"],description:"snowman without snow",category:"Travel & Places"},{emoji:"☄️",names:["comet"],tags:[],description:"comet",category:"Travel & Places"},{emoji:"🔥",names:["fire"],tags:["burn"],description:"fire",category:"Travel & Places"},{emoji:"💧",names:["droplet"],tags:["water"],description:"droplet",category:"Travel & Places"},{emoji:"🌊",names:["ocean"],tags:["sea"],description:"water wave",category:"Travel & Places"},{emoji:"🎃",names:["jack_o_lantern"],tags:["halloween"],description:"jack-o-lantern",category:"Activities"},{emoji:"🎄",names:["christmas_tree"],tags:[],description:"Christmas tree",category:"Activities"},{emoji:"🎆",names:["fireworks"],tags:["festival","celebration"],description:"fireworks",category:"Activities"},{emoji:"🎇",names:["sparkler"],tags:[],description:"sparkler",category:"Activities"},{emoji:"🧨",names:["firecracker"],tags:[],description:"firecracker",category:"Activities"},{emoji:"✨",names:["sparkles"],tags:["shiny"],description:"sparkles",category:"Activities"},{emoji:"🎈",names:["balloon"],tags:["party","birthday"],description:"balloon",category:"Activities"},{emoji:"🎉",names:["tada"],tags:["hooray","party"],description:"party popper",category:"Activities"},{emoji:"🎊",names:["confetti_ball"],tags:[],description:"confetti ball",category:"Activities"},{emoji:"🎋",names:["tanabata_tree"],tags:[],description:"tanabata tree",category:"Activities"},{emoji:"🎍",names:["bamboo"],tags:[],description:"pine decoration",category:"Activities"},{emoji:"🎎",names:["dolls"],tags:[],description:"Japanese dolls",category:"Activities"},{emoji:"🎏",names:["flags"],tags:[],description:"carp streamer",category:"Activities"},{emoji:"🎐",names:["wind_chime"],tags:[],description:"wind chime",category:"Activities"},{emoji:"🎑",names:["rice_scene"],tags:[],description:"moon viewing ceremony",category:"Activities"},{emoji:"🧧",names:["red_envelope"],tags:[],description:"red envelope",category:"Activities"},{emoji:"🎀",names:["ribbon"],tags:[],description:"ribbon",category:"Activities"},{emoji:"🎁",names:["gift"],tags:["present","birthday","christmas"],description:"wrapped gift",category:"Activities"},{emoji:"🎗️",names:["reminder_ribbon"],tags:[],description:"reminder ribbon",category:"Activities"},{emoji:"🎟️",names:["tickets"],tags:[],description:"admission tickets",category:"Activities"},{emoji:"🎫",names:["ticket"],tags:[],description:"ticket",category:"Activities"},{emoji:"🎖️",names:["medal_military"],tags:[],description:"military medal",category:"Activities"},{emoji:"🏆",names:["trophy"],tags:["award","contest","winner"],description:"trophy",category:"Activities"},{emoji:"🏅",names:["medal_sports"],tags:["gold","winner"],description:"sports medal",category:"Activities"},{emoji:"🥇",names:["1st_place_medal"],tags:["gold"],description:"1st place medal",category:"Activities"},{emoji:"🥈",names:["2nd_place_medal"],tags:["silver"],description:"2nd place medal",category:"Activities"},{emoji:"🥉",names:["3rd_place_medal"],tags:["bronze"],description:"3rd place medal",category:"Activities"},{emoji:"⚽",names:["soccer"],tags:["sports"],description:"soccer ball",category:"Activities"},{emoji:"⚾",names:["baseball"],tags:["sports"],description:"baseball",category:"Activities"},{emoji:"🥎",names:["softball"],tags:[],description:"softball",category:"Activities"},{emoji:"🏀",names:["basketball"],tags:["sports"],description:"basketball",category:"Activities"},{emoji:"🏐",names:["volleyball"],tags:[],description:"volleyball",category:"Activities"},{emoji:"🏈",names:["football"],tags:["sports"],description:"american football",category:"Activities"},{emoji:"🏉",names:["rugby_football"],tags:[],description:"rugby football",category:"Activities"},{emoji:"🎾",names:["tennis"],tags:["sports"],description:"tennis",category:"Activities"},{emoji:"🥏",names:["flying_disc"],tags:[],description:"flying disc",category:"Activities"},{emoji:"🎳",names:["bowling"],tags:[],description:"bowling",category:"Activities"},{emoji:"🏏",names:["cricket_game"],tags:[],description:"cricket game",category:"Activities"},{emoji:"🏑",names:["field_hockey"],tags:[],description:"field hockey",category:"Activities"},{emoji:"🏒",names:["ice_hockey"],tags:[],description:"ice hockey",category:"Activities"},{emoji:"🥍",names:["lacrosse"],tags:[],description:"lacrosse",category:"Activities"},{emoji:"🏓",names:["ping_pong"],tags:[],description:"ping pong",category:"Activities"},{emoji:"🏸",names:["badminton"],tags:[],description:"badminton",category:"Activities"},{emoji:"🥊",names:["boxing_glove"],tags:[],description:"boxing glove",category:"Activities"},{emoji:"🥋",names:["martial_arts_uniform"],tags:[],description:"martial arts uniform",category:"Activities"},{emoji:"🥅",names:["goal_net"],tags:[],description:"goal net",category:"Activities"},{emoji:"⛳",names:["golf"],tags:[],description:"flag in hole",category:"Activities"},{emoji:"⛸️",names:["ice_skate"],tags:["skating"],description:"ice skate",category:"Activities"},{emoji:"🎣",names:["fishing_pole_and_fish"],tags:[],description:"fishing pole",category:"Activities"},{emoji:"🤿",names:["diving_mask"],tags:[],description:"diving mask",category:"Activities"},{emoji:"🎽",names:["running_shirt_with_sash"],tags:["marathon"],description:"running shirt",category:"Activities"},{emoji:"🎿",names:["ski"],tags:[],description:"skis",category:"Activities"},{emoji:"🛷",names:["sled"],tags:[],description:"sled",category:"Activities"},{emoji:"🥌",names:["curling_stone"],tags:[],description:"curling stone",category:"Activities"},{emoji:"🎯",names:["dart"],tags:["target"],description:"bullseye",category:"Activities"},{emoji:"🪀",names:["yo_yo"],tags:[],description:"yo-yo",category:"Activities"},{emoji:"🪁",names:["kite"],tags:[],description:"kite",category:"Activities"},{emoji:"🔫",names:["gun"],tags:["shoot","weapon"],description:"water pistol",category:"Activities"},{emoji:"🎱",names:["8ball"],tags:["pool","billiards"],description:"pool 8 ball",category:"Activities"},{emoji:"🔮",names:["crystal_ball"],tags:["fortune"],description:"crystal ball",category:"Activities"},{emoji:"🪄",names:["magic_wand"],tags:[],description:"magic wand",category:"Activities"},{emoji:"🎮",names:["video_game"],tags:["play","controller","console"],description:"video game",category:"Activities"},{emoji:"🕹️",names:["joystick"],tags:[],description:"joystick",category:"Activities"},{emoji:"🎰",names:["slot_machine"],tags:[],description:"slot machine",category:"Activities"},{emoji:"🎲",names:["game_die"],tags:["dice","gambling"],description:"game die",category:"Activities"},{emoji:"🧩",names:["jigsaw"],tags:[],description:"puzzle piece",category:"Activities"},{emoji:"🧸",names:["teddy_bear"],tags:[],description:"teddy bear",category:"Activities"},{emoji:"🪅",names:["pinata"],tags:[],description:"piñata",category:"Activities"},{emoji:"🪩",names:["mirror_ball"],tags:["disco","party"],description:"mirror ball",category:"Activities"},{emoji:"🪆",names:["nesting_dolls"],tags:[],description:"nesting dolls",category:"Activities"},{emoji:"♠️",names:["spades"],tags:[],description:"spade suit",category:"Activities"},{emoji:"♥️",names:["hearts"],tags:[],description:"heart suit",category:"Activities"},{emoji:"♦️",names:["diamonds"],tags:[],description:"diamond suit",category:"Activities"},{emoji:"♣️",names:["clubs"],tags:[],description:"club suit",category:"Activities"},{emoji:"♟️",names:["chess_pawn"],tags:[],description:"chess pawn",category:"Activities"},{emoji:"🃏",names:["black_joker"],tags:[],description:"joker",category:"Activities"},{emoji:"🀄",names:["mahjong"],tags:[],description:"mahjong red dragon",category:"Activities"},{emoji:"🎴",names:["flower_playing_cards"],tags:[],description:"flower playing cards",category:"Activities"},{emoji:"🎭",names:["performing_arts"],tags:["theater","drama"],description:"performing arts",category:"Activities"},{emoji:"🖼️",names:["framed_picture"],tags:[],description:"framed picture",category:"Activities"},{emoji:"🎨",names:["art"],tags:["design","paint"],description:"artist palette",category:"Activities"},{emoji:"🧵",names:["thread"],tags:[],description:"thread",category:"Activities"},{emoji:"🪡",names:["sewing_needle"],tags:[],description:"sewing needle",category:"Activities"},{emoji:"🧶",names:["yarn"],tags:[],description:"yarn",category:"Activities"},{emoji:"🪢",names:["knot"],tags:[],description:"knot",category:"Activities"},{emoji:"👓",names:["eyeglasses"],tags:["glasses"],description:"glasses",category:"Objects"},{emoji:"🕶️",names:["dark_sunglasses"],tags:[],description:"sunglasses",category:"Objects"},{emoji:"🥽",names:["goggles"],tags:[],description:"goggles",category:"Objects"},{emoji:"🥼",names:["lab_coat"],tags:[],description:"lab coat",category:"Objects"},{emoji:"🦺",names:["safety_vest"],tags:[],description:"safety vest",category:"Objects"},{emoji:"👔",names:["necktie"],tags:["shirt","formal"],description:"necktie",category:"Objects"},{emoji:"👕",names:["shirt","tshirt"],tags:[],description:"t-shirt",category:"Objects"},{emoji:"👖",names:["jeans"],tags:["pants"],description:"jeans",category:"Objects"},{emoji:"🧣",names:["scarf"],tags:[],description:"scarf",category:"Objects"},{emoji:"🧤",names:["gloves"],tags:[],description:"gloves",category:"Objects"},{emoji:"🧥",names:["coat"],tags:[],description:"coat",category:"Objects"},{emoji:"🧦",names:["socks"],tags:[],description:"socks",category:"Objects"},{emoji:"👗",names:["dress"],tags:[],description:"dress",category:"Objects"},{emoji:"👘",names:["kimono"],tags:[],description:"kimono",category:"Objects"},{emoji:"🥻",names:["sari"],tags:[],description:"sari",category:"Objects"},{emoji:"🩱",names:["one_piece_swimsuit"],tags:[],description:"one-piece swimsuit",category:"Objects"},{emoji:"🩲",names:["swim_brief"],tags:[],description:"briefs",category:"Objects"},{emoji:"🩳",names:["shorts"],tags:[],description:"shorts",category:"Objects"},{emoji:"👙",names:["bikini"],tags:["beach"],description:"bikini",category:"Objects"},{emoji:"👚",names:["womans_clothes"],tags:[],description:"woman’s clothes",category:"Objects"},{emoji:"🪭",names:["folding_hand_fan"],tags:["sensu"],description:"folding hand fan",category:"Objects"},{emoji:"👛",names:["purse"],tags:[],description:"purse",category:"Objects"},{emoji:"👜",names:["handbag"],tags:["bag"],description:"handbag",category:"Objects"},{emoji:"👝",names:["pouch"],tags:["bag"],description:"clutch bag",category:"Objects"},{emoji:"🛍️",names:["shopping"],tags:["bags"],description:"shopping bags",category:"Objects"},{emoji:"🎒",names:["school_satchel"],tags:[],description:"backpack",category:"Objects"},{emoji:"🩴",names:["thong_sandal"],tags:[],description:"thong sandal",category:"Objects"},{emoji:"👞",names:["mans_shoe","shoe"],tags:[],description:"man’s shoe",category:"Objects"},{emoji:"👟",names:["athletic_shoe"],tags:["sneaker","sport","running"],description:"running shoe",category:"Objects"},{emoji:"🥾",names:["hiking_boot"],tags:[],description:"hiking boot",category:"Objects"},{emoji:"🥿",names:["flat_shoe"],tags:[],description:"flat shoe",category:"Objects"},{emoji:"👠",names:["high_heel"],tags:["shoe"],description:"high-heeled shoe",category:"Objects"},{emoji:"👡",names:["sandal"],tags:["shoe"],description:"woman’s sandal",category:"Objects"},{emoji:"🩰",names:["ballet_shoes"],tags:[],description:"ballet shoes",category:"Objects"},{emoji:"👢",names:["boot"],tags:[],description:"woman’s boot",category:"Objects"},{emoji:"🪮",names:["hair_pick"],tags:[],description:"hair pick",category:"Objects"},{emoji:"👑",names:["crown"],tags:["king","queen","royal"],description:"crown",category:"Objects"},{emoji:"👒",names:["womans_hat"],tags:[],description:"woman’s hat",category:"Objects"},{emoji:"🎩",names:["tophat"],tags:["hat","classy"],description:"top hat",category:"Objects"},{emoji:"🎓",names:["mortar_board"],tags:["education","college","university","graduation"],description:"graduation cap",category:"Objects"},{emoji:"🧢",names:["billed_cap"],tags:[],description:"billed cap",category:"Objects"},{emoji:"🪖",names:["military_helmet"],tags:[],description:"military helmet",category:"Objects"},{emoji:"⛑️",names:["rescue_worker_helmet"],tags:[],description:"rescue worker’s helmet",category:"Objects"},{emoji:"📿",names:["prayer_beads"],tags:[],description:"prayer beads",category:"Objects"},{emoji:"💄",names:["lipstick"],tags:["makeup"],description:"lipstick",category:"Objects"},{emoji:"💍",names:["ring"],tags:["wedding","marriage","engaged"],description:"ring",category:"Objects"},{emoji:"💎",names:["gem"],tags:["diamond"],description:"gem stone",category:"Objects"},{emoji:"🔇",names:["mute"],tags:["sound","volume"],description:"muted speaker",category:"Objects"},{emoji:"🔈",names:["speaker"],tags:[],description:"speaker low volume",category:"Objects"},{emoji:"🔉",names:["sound"],tags:["volume"],description:"speaker medium volume",category:"Objects"},{emoji:"🔊",names:["loud_sound"],tags:["volume"],description:"speaker high volume",category:"Objects"},{emoji:"📢",names:["loudspeaker"],tags:["announcement"],description:"loudspeaker",category:"Objects"},{emoji:"📣",names:["mega"],tags:[],description:"megaphone",category:"Objects"},{emoji:"📯",names:["postal_horn"],tags:[],description:"postal horn",category:"Objects"},{emoji:"🔔",names:["bell"],tags:["sound","notification"],description:"bell",category:"Objects"},{emoji:"🔕",names:["no_bell"],tags:["volume","off"],description:"bell with slash",category:"Objects"},{emoji:"🎼",names:["musical_score"],tags:[],description:"musical score",category:"Objects"},{emoji:"🎵",names:["musical_note"],tags:[],description:"musical note",category:"Objects"},{emoji:"🎶",names:["notes"],tags:["music"],description:"musical notes",category:"Objects"},{emoji:"🎙️",names:["studio_microphone"],tags:["podcast"],description:"studio microphone",category:"Objects"},{emoji:"🎚️",names:["level_slider"],tags:[],description:"level slider",category:"Objects"},{emoji:"🎛️",names:["control_knobs"],tags:[],description:"control knobs",category:"Objects"},{emoji:"🎤",names:["microphone"],tags:["sing"],description:"microphone",category:"Objects"},{emoji:"🎧",names:["headphones"],tags:["music","earphones"],description:"headphone",category:"Objects"},{emoji:"📻",names:["radio"],tags:["podcast"],description:"radio",category:"Objects"},{emoji:"🎷",names:["saxophone"],tags:[],description:"saxophone",category:"Objects"},{emoji:"🪗",names:["accordion"],tags:[],description:"accordion",category:"Objects"},{emoji:"🎸",names:["guitar"],tags:["rock"],description:"guitar",category:"Objects"},{emoji:"🎹",names:["musical_keyboard"],tags:["piano"],description:"musical keyboard",category:"Objects"},{emoji:"🎺",names:["trumpet"],tags:[],description:"trumpet",category:"Objects"},{emoji:"🎻",names:["violin"],tags:[],description:"violin",category:"Objects"},{emoji:"🪕",names:["banjo"],tags:[],description:"banjo",category:"Objects"},{emoji:"🥁",names:["drum"],tags:[],description:"drum",category:"Objects"},{emoji:"🪘",names:["long_drum"],tags:[],description:"long drum",category:"Objects"},{emoji:"🪇",names:["maracas"],tags:["shaker"],description:"maracas",category:"Objects"},{emoji:"🪈",names:["flute"],tags:["recorder"],description:"flute",category:"Objects"},{emoji:"📱",names:["iphone"],tags:["smartphone","mobile"],description:"mobile phone",category:"Objects"},{emoji:"📲",names:["calling"],tags:["call","incoming"],description:"mobile phone with arrow",category:"Objects"},{emoji:"☎️",names:["phone","telephone"],tags:[],description:"telephone",category:"Objects"},{emoji:"📞",names:["telephone_receiver"],tags:["phone","call"],description:"telephone receiver",category:"Objects"},{emoji:"📟",names:["pager"],tags:[],description:"pager",category:"Objects"},{emoji:"📠",names:["fax"],tags:[],description:"fax machine",category:"Objects"},{emoji:"🔋",names:["battery"],tags:["power"],description:"battery",category:"Objects"},{emoji:"🪫",names:["low_battery"],tags:[],description:"low battery",category:"Objects"},{emoji:"🔌",names:["electric_plug"],tags:[],description:"electric plug",category:"Objects"},{emoji:"💻",names:["computer"],tags:["desktop","screen"],description:"laptop",category:"Objects"},{emoji:"🖥️",names:["desktop_computer"],tags:[],description:"desktop computer",category:"Objects"},{emoji:"🖨️",names:["printer"],tags:[],description:"printer",category:"Objects"},{emoji:"⌨️",names:["keyboard"],tags:[],description:"keyboard",category:"Objects"},{emoji:"🖱️",names:["computer_mouse"],tags:[],description:"computer mouse",category:"Objects"},{emoji:"🖲️",names:["trackball"],tags:[],description:"trackball",category:"Objects"},{emoji:"💽",names:["minidisc"],tags:[],description:"computer disk",category:"Objects"},{emoji:"💾",names:["floppy_disk"],tags:["save"],description:"floppy disk",category:"Objects"},{emoji:"💿",names:["cd"],tags:[],description:"optical disk",category:"Objects"},{emoji:"📀",names:["dvd"],tags:[],description:"dvd",category:"Objects"},{emoji:"🧮",names:["abacus"],tags:[],description:"abacus",category:"Objects"},{emoji:"🎥",names:["movie_camera"],tags:["film","video"],description:"movie camera",category:"Objects"},{emoji:"🎞️",names:["film_strip"],tags:[],description:"film frames",category:"Objects"},{emoji:"📽️",names:["film_projector"],tags:[],description:"film projector",category:"Objects"},{emoji:"🎬",names:["clapper"],tags:["film"],description:"clapper board",category:"Objects"},{emoji:"📺",names:["tv"],tags:[],description:"television",category:"Objects"},{emoji:"📷",names:["camera"],tags:["photo"],description:"camera",category:"Objects"},{emoji:"📸",names:["camera_flash"],tags:["photo"],description:"camera with flash",category:"Objects"},{emoji:"📹",names:["video_camera"],tags:[],description:"video camera",category:"Objects"},{emoji:"📼",names:["vhs"],tags:[],description:"videocassette",category:"Objects"},{emoji:"🔍",names:["mag"],tags:["search","zoom"],description:"magnifying glass tilted left",category:"Objects"},{emoji:"🔎",names:["mag_right"],tags:[],description:"magnifying glass tilted right",category:"Objects"},{emoji:"🕯️",names:["candle"],tags:[],description:"candle",category:"Objects"},{emoji:"💡",names:["bulb"],tags:["idea","light"],description:"light bulb",category:"Objects"},{emoji:"🔦",names:["flashlight"],tags:[],description:"flashlight",category:"Objects"},{emoji:"🏮",names:["izakaya_lantern","lantern"],tags:[],description:"red paper lantern",category:"Objects"},{emoji:"🪔",names:["diya_lamp"],tags:[],description:"diya lamp",category:"Objects"},{emoji:"📔",names:["notebook_with_decorative_cover"],tags:[],description:"notebook with decorative cover",category:"Objects"},{emoji:"📕",names:["closed_book"],tags:[],description:"closed book",category:"Objects"},{emoji:"📖",names:["book","open_book"],tags:[],description:"open book",category:"Objects"},{emoji:"📗",names:["green_book"],tags:[],description:"green book",category:"Objects"},{emoji:"📘",names:["blue_book"],tags:[],description:"blue book",category:"Objects"},{emoji:"📙",names:["orange_book"],tags:[],description:"orange book",category:"Objects"},{emoji:"📚",names:["books"],tags:["library"],description:"books",category:"Objects"},{emoji:"📓",names:["notebook"],tags:[],description:"notebook",category:"Objects"},{emoji:"📒",names:["ledger"],tags:[],description:"ledger",category:"Objects"},{emoji:"📃",names:["page_with_curl"],tags:[],description:"page with curl",category:"Objects"},{emoji:"📜",names:["scroll"],tags:["document"],description:"scroll",category:"Objects"},{emoji:"📄",names:["page_facing_up"],tags:["document"],description:"page facing up",category:"Objects"},{emoji:"📰",names:["newspaper"],tags:["press"],description:"newspaper",category:"Objects"},{emoji:"🗞️",names:["newspaper_roll"],tags:["press"],description:"rolled-up newspaper",category:"Objects"},{emoji:"📑",names:["bookmark_tabs"],tags:[],description:"bookmark tabs",category:"Objects"},{emoji:"🔖",names:["bookmark"],tags:[],description:"bookmark",category:"Objects"},{emoji:"🏷️",names:["label"],tags:["tag"],description:"label",category:"Objects"},{emoji:"💰",names:["moneybag"],tags:["dollar","cream"],description:"money bag",category:"Objects"},{emoji:"🪙",names:["coin"],tags:[],description:"coin",category:"Objects"},{emoji:"💴",names:["yen"],tags:[],description:"yen banknote",category:"Objects"},{emoji:"💵",names:["dollar"],tags:["money"],description:"dollar banknote",category:"Objects"},{emoji:"💶",names:["euro"],tags:[],description:"euro banknote",category:"Objects"},{emoji:"💷",names:["pound"],tags:[],description:"pound banknote",category:"Objects"},{emoji:"💸",names:["money_with_wings"],tags:["dollar"],description:"money with wings",category:"Objects"},{emoji:"💳",names:["credit_card"],tags:["subscription"],description:"credit card",category:"Objects"},{emoji:"🧾",names:["receipt"],tags:[],description:"receipt",category:"Objects"},{emoji:"💹",names:["chart"],tags:[],description:"chart increasing with yen",category:"Objects"},{emoji:"✉️",names:["envelope"],tags:["letter","email"],description:"envelope",category:"Objects"},{emoji:"📧",names:["email","e-mail"],tags:[],description:"e-mail",category:"Objects"},{emoji:"📨",names:["incoming_envelope"],tags:[],description:"incoming envelope",category:"Objects"},{emoji:"📩",names:["envelope_with_arrow"],tags:[],description:"envelope with arrow",category:"Objects"},{emoji:"📤",names:["outbox_tray"],tags:[],description:"outbox tray",category:"Objects"},{emoji:"📥",names:["inbox_tray"],tags:[],description:"inbox tray",category:"Objects"},{emoji:"📦",names:["package"],tags:["shipping"],description:"package",category:"Objects"},{emoji:"📫",names:["mailbox"],tags:[],description:"closed mailbox with raised flag",category:"Objects"},{emoji:"📪",names:["mailbox_closed"],tags:[],description:"closed mailbox with lowered flag",category:"Objects"},{emoji:"📬",names:["mailbox_with_mail"],tags:[],description:"open mailbox with raised flag",category:"Objects"},{emoji:"📭",names:["mailbox_with_no_mail"],tags:[],description:"open mailbox with lowered flag",category:"Objects"},{emoji:"📮",names:["postbox"],tags:[],description:"postbox",category:"Objects"},{emoji:"🗳️",names:["ballot_box"],tags:[],description:"ballot box with ballot",category:"Objects"},{emoji:"✏️",names:["pencil2"],tags:[],description:"pencil",category:"Objects"},{emoji:"✒️",names:["black_nib"],tags:[],description:"black nib",category:"Objects"},{emoji:"🖋️",names:["fountain_pen"],tags:[],description:"fountain pen",category:"Objects"},{emoji:"🖊️",names:["pen"],tags:[],description:"pen",category:"Objects"},{emoji:"🖌️",names:["paintbrush"],tags:[],description:"paintbrush",category:"Objects"},{emoji:"🖍️",names:["crayon"],tags:[],description:"crayon",category:"Objects"},{emoji:"📝",names:["memo","pencil"],tags:["document","note"],description:"memo",category:"Objects"},{emoji:"💼",names:["briefcase"],tags:["business"],description:"briefcase",category:"Objects"},{emoji:"📁",names:["file_folder"],tags:["directory"],description:"file folder",category:"Objects"},{emoji:"📂",names:["open_file_folder"],tags:[],description:"open file folder",category:"Objects"},{emoji:"🗂️",names:["card_index_dividers"],tags:[],description:"card index dividers",category:"Objects"},{emoji:"📅",names:["date"],tags:["calendar","schedule"],description:"calendar",category:"Objects"},{emoji:"📆",names:["calendar"],tags:["schedule"],description:"tear-off calendar",category:"Objects"},{emoji:"🗒️",names:["spiral_notepad"],tags:[],description:"spiral notepad",category:"Objects"},{emoji:"🗓️",names:["spiral_calendar"],tags:[],description:"spiral calendar",category:"Objects"},{emoji:"📇",names:["card_index"],tags:[],description:"card index",category:"Objects"},{emoji:"📈",names:["chart_with_upwards_trend"],tags:["graph","metrics"],description:"chart increasing",category:"Objects"},{emoji:"📉",names:["chart_with_downwards_trend"],tags:["graph","metrics"],description:"chart decreasing",category:"Objects"},{emoji:"📊",names:["bar_chart"],tags:["stats","metrics"],description:"bar chart",category:"Objects"},{emoji:"📋",names:["clipboard"],tags:[],description:"clipboard",category:"Objects"},{emoji:"📌",names:["pushpin"],tags:["location"],description:"pushpin",category:"Objects"},{emoji:"📍",names:["round_pushpin"],tags:["location"],description:"round pushpin",category:"Objects"},{emoji:"📎",names:["paperclip"],tags:[],description:"paperclip",category:"Objects"},{emoji:"🖇️",names:["paperclips"],tags:[],description:"linked paperclips",category:"Objects"},{emoji:"📏",names:["straight_ruler"],tags:[],description:"straight ruler",category:"Objects"},{emoji:"📐",names:["triangular_ruler"],tags:[],description:"triangular ruler",category:"Objects"},{emoji:"✂️",names:["scissors"],tags:["cut"],description:"scissors",category:"Objects"},{emoji:"🗃️",names:["card_file_box"],tags:[],description:"card file box",category:"Objects"},{emoji:"🗄️",names:["file_cabinet"],tags:[],description:"file cabinet",category:"Objects"},{emoji:"🗑️",names:["wastebasket"],tags:["trash"],description:"wastebasket",category:"Objects"},{emoji:"🔒",names:["lock"],tags:["security","private"],description:"locked",category:"Objects"},{emoji:"🔓",names:["unlock"],tags:["security"],description:"unlocked",category:"Objects"},{emoji:"🔏",names:["lock_with_ink_pen"],tags:[],description:"locked with pen",category:"Objects"},{emoji:"🔐",names:["closed_lock_with_key"],tags:["security"],description:"locked with key",category:"Objects"},{emoji:"🔑",names:["key"],tags:["lock","password"],description:"key",category:"Objects"},{emoji:"🗝️",names:["old_key"],tags:[],description:"old key",category:"Objects"},{emoji:"🔨",names:["hammer"],tags:["tool"],description:"hammer",category:"Objects"},{emoji:"🪓",names:["axe"],tags:[],description:"axe",category:"Objects"},{emoji:"⛏️",names:["pick"],tags:[],description:"pick",category:"Objects"},{emoji:"⚒️",names:["hammer_and_pick"],tags:[],description:"hammer and pick",category:"Objects"},{emoji:"🛠️",names:["hammer_and_wrench"],tags:[],description:"hammer and wrench",category:"Objects"},{emoji:"🗡️",names:["dagger"],tags:[],description:"dagger",category:"Objects"},{emoji:"⚔️",names:["crossed_swords"],tags:[],description:"crossed swords",category:"Objects"},{emoji:"💣",names:["bomb"],tags:["boom"],description:"bomb",category:"Objects"},{emoji:"🪃",names:["boomerang"],tags:[],description:"boomerang",category:"Objects"},{emoji:"🏹",names:["bow_and_arrow"],tags:["archery"],description:"bow and arrow",category:"Objects"},{emoji:"🛡️",names:["shield"],tags:[],description:"shield",category:"Objects"},{emoji:"🪚",names:["carpentry_saw"],tags:[],description:"carpentry saw",category:"Objects"},{emoji:"🔧",names:["wrench"],tags:["tool"],description:"wrench",category:"Objects"},{emoji:"🪛",names:["screwdriver"],tags:[],description:"screwdriver",category:"Objects"},{emoji:"🔩",names:["nut_and_bolt"],tags:[],description:"nut and bolt",category:"Objects"},{emoji:"⚙️",names:["gear"],tags:[],description:"gear",category:"Objects"},{emoji:"🗜️",names:["clamp"],tags:[],description:"clamp",category:"Objects"},{emoji:"⚖️",names:["balance_scale"],tags:[],description:"balance scale",category:"Objects"},{emoji:"🦯",names:["probing_cane"],tags:[],description:"white cane",category:"Objects"},{emoji:"🔗",names:["link"],tags:[],description:"link",category:"Objects"},{emoji:"⛓️",names:["chains"],tags:[],description:"chains",category:"Objects"},{emoji:"🪝",names:["hook"],tags:[],description:"hook",category:"Objects"},{emoji:"🧰",names:["toolbox"],tags:[],description:"toolbox",category:"Objects"},{emoji:"🧲",names:["magnet"],tags:[],description:"magnet",category:"Objects"},{emoji:"🪜",names:["ladder"],tags:[],description:"ladder",category:"Objects"},{emoji:"⚗️",names:["alembic"],tags:[],description:"alembic",category:"Objects"},{emoji:"🧪",names:["test_tube"],tags:[],description:"test tube",category:"Objects"},{emoji:"🧫",names:["petri_dish"],tags:[],description:"petri dish",category:"Objects"},{emoji:"🧬",names:["dna"],tags:[],description:"dna",category:"Objects"},{emoji:"🔬",names:["microscope"],tags:["science","laboratory","investigate"],description:"microscope",category:"Objects"},{emoji:"🔭",names:["telescope"],tags:[],description:"telescope",category:"Objects"},{emoji:"📡",names:["satellite"],tags:["signal"],description:"satellite antenna",category:"Objects"},{emoji:"💉",names:["syringe"],tags:["health","hospital","needle"],description:"syringe",category:"Objects"},{emoji:"🩸",names:["drop_of_blood"],tags:[],description:"drop of blood",category:"Objects"},{emoji:"💊",names:["pill"],tags:["health","medicine"],description:"pill",category:"Objects"},{emoji:"🩹",names:["adhesive_bandage"],tags:[],description:"adhesive bandage",category:"Objects"},{emoji:"🩼",names:["crutch"],tags:[],description:"crutch",category:"Objects"},{emoji:"🩺",names:["stethoscope"],tags:[],description:"stethoscope",category:"Objects"},{emoji:"🩻",names:["x_ray"],tags:[],description:"x-ray",category:"Objects"},{emoji:"🚪",names:["door"],tags:[],description:"door",category:"Objects"},{emoji:"🛗",names:["elevator"],tags:[],description:"elevator",category:"Objects"},{emoji:"🪞",names:["mirror"],tags:[],description:"mirror",category:"Objects"},{emoji:"🪟",names:["window"],tags:[],description:"window",category:"Objects"},{emoji:"🛏️",names:["bed"],tags:[],description:"bed",category:"Objects"},{emoji:"🛋️",names:["couch_and_lamp"],tags:[],description:"couch and lamp",category:"Objects"},{emoji:"🪑",names:["chair"],tags:[],description:"chair",category:"Objects"},{emoji:"🚽",names:["toilet"],tags:["wc"],description:"toilet",category:"Objects"},{emoji:"🪠",names:["plunger"],tags:[],description:"plunger",category:"Objects"},{emoji:"🚿",names:["shower"],tags:["bath"],description:"shower",category:"Objects"},{emoji:"🛁",names:["bathtub"],tags:[],description:"bathtub",category:"Objects"},{emoji:"🪤",names:["mouse_trap"],tags:[],description:"mouse trap",category:"Objects"},{emoji:"🪒",names:["razor"],tags:[],description:"razor",category:"Objects"},{emoji:"🧴",names:["lotion_bottle"],tags:[],description:"lotion bottle",category:"Objects"},{emoji:"🧷",names:["safety_pin"],tags:[],description:"safety pin",category:"Objects"},{emoji:"🧹",names:["broom"],tags:[],description:"broom",category:"Objects"},{emoji:"🧺",names:["basket"],tags:[],description:"basket",category:"Objects"},{emoji:"🧻",names:["roll_of_paper"],tags:["toilet"],description:"roll of paper",category:"Objects"},{emoji:"🪣",names:["bucket"],tags:[],description:"bucket",category:"Objects"},{emoji:"🧼",names:["soap"],tags:[],description:"soap",category:"Objects"},{emoji:"🫧",names:["bubbles"],tags:[],description:"bubbles",category:"Objects"},{emoji:"🪥",names:["toothbrush"],tags:[],description:"toothbrush",category:"Objects"},{emoji:"🧽",names:["sponge"],tags:[],description:"sponge",category:"Objects"},{emoji:"🧯",names:["fire_extinguisher"],tags:[],description:"fire extinguisher",category:"Objects"},{emoji:"🛒",names:["shopping_cart"],tags:[],description:"shopping cart",category:"Objects"},{emoji:"🚬",names:["smoking"],tags:["cigarette"],description:"cigarette",category:"Objects"},{emoji:"⚰️",names:["coffin"],tags:["funeral"],description:"coffin",category:"Objects"},{emoji:"🪦",names:["headstone"],tags:[],description:"headstone",category:"Objects"},{emoji:"⚱️",names:["funeral_urn"],tags:[],description:"funeral urn",category:"Objects"},{emoji:"🧿",names:["nazar_amulet"],tags:[],description:"nazar amulet",category:"Objects"},{emoji:"🪬",names:["hamsa"],tags:[],description:"hamsa",category:"Objects"},{emoji:"🗿",names:["moyai"],tags:["stone"],description:"moai",category:"Objects"},{emoji:"🪧",names:["placard"],tags:[],description:"placard",category:"Objects"},{emoji:"🪪",names:["identification_card"],tags:[],description:"identification card",category:"Objects"},{emoji:"🏧",names:["atm"],tags:[],description:"ATM sign",category:"Symbols"},{emoji:"🚮",names:["put_litter_in_its_place"],tags:[],description:"litter in bin sign",category:"Symbols"},{emoji:"🚰",names:["potable_water"],tags:[],description:"potable water",category:"Symbols"},{emoji:"♿",names:["wheelchair"],tags:["accessibility"],description:"wheelchair symbol",category:"Symbols"},{emoji:"🚹",names:["mens"],tags:[],description:"men’s room",category:"Symbols"},{emoji:"🚺",names:["womens"],tags:[],description:"women’s room",category:"Symbols"},{emoji:"🚻",names:["restroom"],tags:["toilet"],description:"restroom",category:"Symbols"},{emoji:"🚼",names:["baby_symbol"],tags:[],description:"baby symbol",category:"Symbols"},{emoji:"🚾",names:["wc"],tags:["toilet","restroom"],description:"water closet",category:"Symbols"},{emoji:"🛂",names:["passport_control"],tags:[],description:"passport control",category:"Symbols"},{emoji:"🛃",names:["customs"],tags:[],description:"customs",category:"Symbols"},{emoji:"🛄",names:["baggage_claim"],tags:["airport"],description:"baggage claim",category:"Symbols"},{emoji:"🛅",names:["left_luggage"],tags:[],description:"left luggage",category:"Symbols"},{emoji:"⚠️",names:["warning"],tags:["wip"],description:"warning",category:"Symbols"},{emoji:"🚸",names:["children_crossing"],tags:[],description:"children crossing",category:"Symbols"},{emoji:"⛔",names:["no_entry"],tags:["limit"],description:"no entry",category:"Symbols"},{emoji:"🚫",names:["no_entry_sign"],tags:["block","forbidden"],description:"prohibited",category:"Symbols"},{emoji:"🚳",names:["no_bicycles"],tags:[],description:"no bicycles",category:"Symbols"},{emoji:"🚭",names:["no_smoking"],tags:[],description:"no smoking",category:"Symbols"},{emoji:"🚯",names:["do_not_litter"],tags:[],description:"no littering",category:"Symbols"},{emoji:"🚱",names:["non-potable_water"],tags:[],description:"non-potable water",category:"Symbols"},{emoji:"🚷",names:["no_pedestrians"],tags:[],description:"no pedestrians",category:"Symbols"},{emoji:"📵",names:["no_mobile_phones"],tags:[],description:"no mobile phones",category:"Symbols"},{emoji:"🔞",names:["underage"],tags:[],description:"no one under eighteen",category:"Symbols"},{emoji:"☢️",names:["radioactive"],tags:[],description:"radioactive",category:"Symbols"},{emoji:"☣️",names:["biohazard"],tags:[],description:"biohazard",category:"Symbols"},{emoji:"⬆️",names:["arrow_up"],tags:[],description:"up arrow",category:"Symbols"},{emoji:"↗️",names:["arrow_upper_right"],tags:[],description:"up-right arrow",category:"Symbols"},{emoji:"➡️",names:["arrow_right"],tags:[],description:"right arrow",category:"Symbols"},{emoji:"↘️",names:["arrow_lower_right"],tags:[],description:"down-right arrow",category:"Symbols"},{emoji:"⬇️",names:["arrow_down"],tags:[],description:"down arrow",category:"Symbols"},{emoji:"↙️",names:["arrow_lower_left"],tags:[],description:"down-left arrow",category:"Symbols"},{emoji:"⬅️",names:["arrow_left"],tags:[],description:"left arrow",category:"Symbols"},{emoji:"↖️",names:["arrow_upper_left"],tags:[],description:"up-left arrow",category:"Symbols"},{emoji:"↕️",names:["arrow_up_down"],tags:[],description:"up-down arrow",category:"Symbols"},{emoji:"↔️",names:["left_right_arrow"],tags:[],description:"left-right arrow",category:"Symbols"},{emoji:"↩️",names:["leftwards_arrow_with_hook"],tags:["return"],description:"right arrow curving left",category:"Symbols"},{emoji:"↪️",names:["arrow_right_hook"],tags:[],description:"left arrow curving right",category:"Symbols"},{emoji:"⤴️",names:["arrow_heading_up"],tags:[],description:"right arrow curving up",category:"Symbols"},{emoji:"⤵️",names:["arrow_heading_down"],tags:[],description:"right arrow curving down",category:"Symbols"},{emoji:"🔃",names:["arrows_clockwise"],tags:[],description:"clockwise vertical arrows",category:"Symbols"},{emoji:"🔄",names:["arrows_counterclockwise"],tags:["sync"],description:"counterclockwise arrows button",category:"Symbols"},{emoji:"🔙",names:["back"],tags:[],description:"BACK arrow",category:"Symbols"},{emoji:"🔚",names:["end"],tags:[],description:"END arrow",category:"Symbols"},{emoji:"🔛",names:["on"],tags:[],description:"ON! arrow",category:"Symbols"},{emoji:"🔜",names:["soon"],tags:[],description:"SOON arrow",category:"Symbols"},{emoji:"🔝",names:["top"],tags:[],description:"TOP arrow",category:"Symbols"},{emoji:"🛐",names:["place_of_worship"],tags:[],description:"place of worship",category:"Symbols"},{emoji:"⚛️",names:["atom_symbol"],tags:[],description:"atom symbol",category:"Symbols"},{emoji:"🕉️",names:["om"],tags:[],description:"om",category:"Symbols"},{emoji:"✡️",names:["star_of_david"],tags:[],description:"star of David",category:"Symbols"},{emoji:"☸️",names:["wheel_of_dharma"],tags:[],description:"wheel of dharma",category:"Symbols"},{emoji:"☯️",names:["yin_yang"],tags:[],description:"yin yang",category:"Symbols"},{emoji:"✝️",names:["latin_cross"],tags:[],description:"latin cross",category:"Symbols"},{emoji:"☦️",names:["orthodox_cross"],tags:[],description:"orthodox cross",category:"Symbols"},{emoji:"☪️",names:["star_and_crescent"],tags:[],description:"star and crescent",category:"Symbols"},{emoji:"☮️",names:["peace_symbol"],tags:[],description:"peace symbol",category:"Symbols"},{emoji:"🕎",names:["menorah"],tags:[],description:"menorah",category:"Symbols"},{emoji:"🔯",names:["six_pointed_star"],tags:[],description:"dotted six-pointed star",category:"Symbols"},{emoji:"🪯",names:["khanda"],tags:[],description:"khanda",category:"Symbols"},{emoji:"♈",names:["aries"],tags:[],description:"Aries",category:"Symbols"},{emoji:"♉",names:["taurus"],tags:[],description:"Taurus",category:"Symbols"},{emoji:"♊",names:["gemini"],tags:[],description:"Gemini",category:"Symbols"},{emoji:"♋",names:["cancer"],tags:[],description:"Cancer",category:"Symbols"},{emoji:"♌",names:["leo"],tags:[],description:"Leo",category:"Symbols"},{emoji:"♍",names:["virgo"],tags:[],description:"Virgo",category:"Symbols"},{emoji:"♎",names:["libra"],tags:[],description:"Libra",category:"Symbols"},{emoji:"♏",names:["scorpius"],tags:[],description:"Scorpio",category:"Symbols"},{emoji:"♐",names:["sagittarius"],tags:[],description:"Sagittarius",category:"Symbols"},{emoji:"♑",names:["capricorn"],tags:[],description:"Capricorn",category:"Symbols"},{emoji:"♒",names:["aquarius"],tags:[],description:"Aquarius",category:"Symbols"},{emoji:"♓",names:["pisces"],tags:[],description:"Pisces",category:"Symbols"},{emoji:"⛎",names:["ophiuchus"],tags:[],description:"Ophiuchus",category:"Symbols"},{emoji:"🔀",names:["twisted_rightwards_arrows"],tags:["shuffle"],description:"shuffle tracks button",category:"Symbols"},{emoji:"🔁",names:["repeat"],tags:["loop"],description:"repeat button",category:"Symbols"},{emoji:"🔂",names:["repeat_one"],tags:[],description:"repeat single button",category:"Symbols"},{emoji:"▶️",names:["arrow_forward"],tags:[],description:"play button",category:"Symbols"},{emoji:"⏩",names:["fast_forward"],tags:[],description:"fast-forward button",category:"Symbols"},{emoji:"⏭️",names:["next_track_button"],tags:[],description:"next track button",category:"Symbols"},{emoji:"⏯️",names:["play_or_pause_button"],tags:[],description:"play or pause button",category:"Symbols"},{emoji:"◀️",names:["arrow_backward"],tags:[],description:"reverse button",category:"Symbols"},{emoji:"⏪",names:["rewind"],tags:[],description:"fast reverse button",category:"Symbols"},{emoji:"⏮️",names:["previous_track_button"],tags:[],description:"last track button",category:"Symbols"},{emoji:"🔼",names:["arrow_up_small"],tags:[],description:"upwards button",category:"Symbols"},{emoji:"⏫",names:["arrow_double_up"],tags:[],description:"fast up button",category:"Symbols"},{emoji:"🔽",names:["arrow_down_small"],tags:[],description:"downwards button",category:"Symbols"},{emoji:"⏬",names:["arrow_double_down"],tags:[],description:"fast down button",category:"Symbols"},{emoji:"⏸️",names:["pause_button"],tags:[],description:"pause button",category:"Symbols"},{emoji:"⏹️",names:["stop_button"],tags:[],description:"stop button",category:"Symbols"},{emoji:"⏺️",names:["record_button"],tags:[],description:"record button",category:"Symbols"},{emoji:"⏏️",names:["eject_button"],tags:[],description:"eject button",category:"Symbols"},{emoji:"🎦",names:["cinema"],tags:["film","movie"],description:"cinema",category:"Symbols"},{emoji:"🔅",names:["low_brightness"],tags:[],description:"dim button",category:"Symbols"},{emoji:"🔆",names:["high_brightness"],tags:[],description:"bright button",category:"Symbols"},{emoji:"📶",names:["signal_strength"],tags:["wifi"],description:"antenna bars",category:"Symbols"},{emoji:"🛜",names:["wireless"],tags:["wifi"],description:"wireless",category:"Symbols"},{emoji:"📳",names:["vibration_mode"],tags:[],description:"vibration mode",category:"Symbols"},{emoji:"📴",names:["mobile_phone_off"],tags:["mute","off"],description:"mobile phone off",category:"Symbols"},{emoji:"♀️",names:["female_sign"],tags:[],description:"female sign",category:"Symbols"},{emoji:"♂️",names:["male_sign"],tags:[],description:"male sign",category:"Symbols"},{emoji:"⚧️",names:["transgender_symbol"],tags:[],description:"transgender symbol",category:"Symbols"},{emoji:"✖️",names:["heavy_multiplication_x"],tags:[],description:"multiply",category:"Symbols"},{emoji:"➕",names:["heavy_plus_sign"],tags:[],description:"plus",category:"Symbols"},{emoji:"➖",names:["heavy_minus_sign"],tags:[],description:"minus",category:"Symbols"},{emoji:"➗",names:["heavy_division_sign"],tags:[],description:"divide",category:"Symbols"},{emoji:"🟰",names:["heavy_equals_sign"],tags:[],description:"heavy equals sign",category:"Symbols"},{emoji:"♾️",names:["infinity"],tags:[],description:"infinity",category:"Symbols"},{emoji:"‼️",names:["bangbang"],tags:[],description:"double exclamation mark",category:"Symbols"},{emoji:"⁉️",names:["interrobang"],tags:[],description:"exclamation question mark",category:"Symbols"},{emoji:"❓",names:["question"],tags:["confused"],description:"red question mark",category:"Symbols"},{emoji:"❔",names:["grey_question"],tags:[],description:"white question mark",category:"Symbols"},{emoji:"❕",names:["grey_exclamation"],tags:[],description:"white exclamation mark",category:"Symbols"},{emoji:"❗",names:["exclamation","heavy_exclamation_mark"],tags:["bang"],description:"red exclamation mark",category:"Symbols"},{emoji:"〰️",names:["wavy_dash"],tags:[],description:"wavy dash",category:"Symbols"},{emoji:"💱",names:["currency_exchange"],tags:[],description:"currency exchange",category:"Symbols"},{emoji:"💲",names:["heavy_dollar_sign"],tags:[],description:"heavy dollar sign",category:"Symbols"},{emoji:"⚕️",names:["medical_symbol"],tags:[],description:"medical symbol",category:"Symbols"},{emoji:"♻️",names:["recycle"],tags:["environment","green"],description:"recycling symbol",category:"Symbols"},{emoji:"⚜️",names:["fleur_de_lis"],tags:[],description:"fleur-de-lis",category:"Symbols"},{emoji:"🔱",names:["trident"],tags:[],description:"trident emblem",category:"Symbols"},{emoji:"📛",names:["name_badge"],tags:[],description:"name badge",category:"Symbols"},{emoji:"🔰",names:["beginner"],tags:[],description:"Japanese symbol for beginner",category:"Symbols"},{emoji:"⭕",names:["o"],tags:[],description:"hollow red circle",category:"Symbols"},{emoji:"✅",names:["white_check_mark"],tags:[],description:"check mark button",category:"Symbols"},{emoji:"☑️",names:["ballot_box_with_check"],tags:[],description:"check box with check",category:"Symbols"},{emoji:"✔️",names:["heavy_check_mark"],tags:[],description:"check mark",category:"Symbols"},{emoji:"❌",names:["x"],tags:[],description:"cross mark",category:"Symbols"},{emoji:"❎",names:["negative_squared_cross_mark"],tags:[],description:"cross mark button",category:"Symbols"},{emoji:"➰",names:["curly_loop"],tags:[],description:"curly loop",category:"Symbols"},{emoji:"➿",names:["loop"],tags:[],description:"double curly loop",category:"Symbols"},{emoji:"〽️",names:["part_alternation_mark"],tags:[],description:"part alternation mark",category:"Symbols"},{emoji:"✳️",names:["eight_spoked_asterisk"],tags:[],description:"eight-spoked asterisk",category:"Symbols"},{emoji:"✴️",names:["eight_pointed_black_star"],tags:[],description:"eight-pointed star",category:"Symbols"},{emoji:"❇️",names:["sparkle"],tags:[],description:"sparkle",category:"Symbols"},{emoji:"©️",names:["copyright"],tags:[],description:"copyright",category:"Symbols"},{emoji:"®️",names:["registered"],tags:[],description:"registered",category:"Symbols"},{emoji:"™️",names:["tm"],tags:["trademark"],description:"trade mark",category:"Symbols"},{emoji:"#️⃣",names:["hash"],tags:["number"],description:"keycap: #",category:"Symbols"},{emoji:"*️⃣",names:["asterisk"],tags:[],description:"keycap: *",category:"Symbols"},{emoji:"0️⃣",names:["zero"],tags:[],description:"keycap: 0",category:"Symbols"},{emoji:"1️⃣",names:["one"],tags:[],description:"keycap: 1",category:"Symbols"},{emoji:"2️⃣",names:["two"],tags:[],description:"keycap: 2",category:"Symbols"},{emoji:"3️⃣",names:["three"],tags:[],description:"keycap: 3",category:"Symbols"},{emoji:"4️⃣",names:["four"],tags:[],description:"keycap: 4",category:"Symbols"},{emoji:"5️⃣",names:["five"],tags:[],description:"keycap: 5",category:"Symbols"},{emoji:"6️⃣",names:["six"],tags:[],description:"keycap: 6",category:"Symbols"},{emoji:"7️⃣",names:["seven"],tags:[],description:"keycap: 7",category:"Symbols"},{emoji:"8️⃣",names:["eight"],tags:[],description:"keycap: 8",category:"Symbols"},{emoji:"9️⃣",names:["nine"],tags:[],description:"keycap: 9",category:"Symbols"},{emoji:"🔟",names:["keycap_ten"],tags:[],description:"keycap: 10",category:"Symbols"},{emoji:"🔠",names:["capital_abcd"],tags:["letters"],description:"input latin uppercase",category:"Symbols"},{emoji:"🔡",names:["abcd"],tags:[],description:"input latin lowercase",category:"Symbols"},{emoji:"🔢",names:["1234"],tags:["numbers"],description:"input numbers",category:"Symbols"},{emoji:"🔣",names:["symbols"],tags:[],description:"input symbols",category:"Symbols"},{emoji:"🔤",names:["abc"],tags:["alphabet"],description:"input latin letters",category:"Symbols"},{emoji:"🅰️",names:["a"],tags:[],description:"A button (blood type)",category:"Symbols"},{emoji:"🆎",names:["ab"],tags:[],description:"AB button (blood type)",category:"Symbols"},{emoji:"🅱️",names:["b"],tags:[],description:"B button (blood type)",category:"Symbols"},{emoji:"🆑",names:["cl"],tags:[],description:"CL button",category:"Symbols"},{emoji:"🆒",names:["cool"],tags:[],description:"COOL button",category:"Symbols"},{emoji:"🆓",names:["free"],tags:[],description:"FREE button",category:"Symbols"},{emoji:"ℹ️",names:["information_source"],tags:[],description:"information",category:"Symbols"},{emoji:"🆔",names:["id"],tags:[],description:"ID button",category:"Symbols"},{emoji:"Ⓜ️",names:["m"],tags:[],description:"circled M",category:"Symbols"},{emoji:"🆕",names:["new"],tags:["fresh"],description:"NEW button",category:"Symbols"},{emoji:"🆖",names:["ng"],tags:[],description:"NG button",category:"Symbols"},{emoji:"🅾️",names:["o2"],tags:[],description:"O button (blood type)",category:"Symbols"},{emoji:"🆗",names:["ok"],tags:["yes"],description:"OK button",category:"Symbols"},{emoji:"🅿️",names:["parking"],tags:[],description:"P button",category:"Symbols"},{emoji:"🆘",names:["sos"],tags:["help","emergency"],description:"SOS button",category:"Symbols"},{emoji:"🆙",names:["up"],tags:[],description:"UP! button",category:"Symbols"},{emoji:"🆚",names:["vs"],tags:[],description:"VS button",category:"Symbols"},{emoji:"🈁",names:["koko"],tags:[],description:"Japanese “here” button",category:"Symbols"},{emoji:"🈂️",names:["sa"],tags:[],description:"Japanese “service charge” button",category:"Symbols"},{emoji:"🈷️",names:["u6708"],tags:[],description:"Japanese “monthly amount” button",category:"Symbols"},{emoji:"🈶",names:["u6709"],tags:[],description:"Japanese “not free of charge” button",category:"Symbols"},{emoji:"🈯",names:["u6307"],tags:[],description:"Japanese “reserved” button",category:"Symbols"},{emoji:"🉐",names:["ideograph_advantage"],tags:[],description:"Japanese “bargain” button",category:"Symbols"},{emoji:"🈹",names:["u5272"],tags:[],description:"Japanese “discount” button",category:"Symbols"},{emoji:"🈚",names:["u7121"],tags:[],description:"Japanese “free of charge” button",category:"Symbols"},{emoji:"🈲",names:["u7981"],tags:[],description:"Japanese “prohibited” button",category:"Symbols"},{emoji:"🉑",names:["accept"],tags:[],description:"Japanese “acceptable” button",category:"Symbols"},{emoji:"🈸",names:["u7533"],tags:[],description:"Japanese “application” button",category:"Symbols"},{emoji:"🈴",names:["u5408"],tags:[],description:"Japanese “passing grade” button",category:"Symbols"},{emoji:"🈳",names:["u7a7a"],tags:[],description:"Japanese “vacancy” button",category:"Symbols"},{emoji:"㊗️",names:["congratulations"],tags:[],description:"Japanese “congratulations” button",category:"Symbols"},{emoji:"㊙️",names:["secret"],tags:[],description:"Japanese “secret” button",category:"Symbols"},{emoji:"🈺",names:["u55b6"],tags:[],description:"Japanese “open for business” button",category:"Symbols"},{emoji:"🈵",names:["u6e80"],tags:[],description:"Japanese “no vacancy” button",category:"Symbols"},{emoji:"🔴",names:["red_circle"],tags:[],description:"red circle",category:"Symbols"},{emoji:"🟠",names:["orange_circle"],tags:[],description:"orange circle",category:"Symbols"},{emoji:"🟡",names:["yellow_circle"],tags:[],description:"yellow circle",category:"Symbols"},{emoji:"🟢",names:["green_circle"],tags:[],description:"green circle",category:"Symbols"},{emoji:"🔵",names:["large_blue_circle"],tags:[],description:"blue circle",category:"Symbols"},{emoji:"🟣",names:["purple_circle"],tags:[],description:"purple circle",category:"Symbols"},{emoji:"🟤",names:["brown_circle"],tags:[],description:"brown circle",category:"Symbols"},{emoji:"⚫",names:["black_circle"],tags:[],description:"black circle",category:"Symbols"},{emoji:"⚪",names:["white_circle"],tags:[],description:"white circle",category:"Symbols"},{emoji:"🟥",names:["red_square"],tags:[],description:"red square",category:"Symbols"},{emoji:"🟧",names:["orange_square"],tags:[],description:"orange square",category:"Symbols"},{emoji:"🟨",names:["yellow_square"],tags:[],description:"yellow square",category:"Symbols"},{emoji:"🟩",names:["green_square"],tags:[],description:"green square",category:"Symbols"},{emoji:"🟦",names:["blue_square"],tags:[],description:"blue square",category:"Symbols"},{emoji:"🟪",names:["purple_square"],tags:[],description:"purple square",category:"Symbols"},{emoji:"🟫",names:["brown_square"],tags:[],description:"brown square",category:"Symbols"},{emoji:"⬛",names:["black_large_square"],tags:[],description:"black large square",category:"Symbols"},{emoji:"⬜",names:["white_large_square"],tags:[],description:"white large square",category:"Symbols"},{emoji:"◼️",names:["black_medium_square"],tags:[],description:"black medium square",category:"Symbols"},{emoji:"◻️",names:["white_medium_square"],tags:[],description:"white medium square",category:"Symbols"},{emoji:"◾",names:["black_medium_small_square"],tags:[],description:"black medium-small square",category:"Symbols"},{emoji:"◽",names:["white_medium_small_square"],tags:[],description:"white medium-small square",category:"Symbols"},{emoji:"▪️",names:["black_small_square"],tags:[],description:"black small square",category:"Symbols"},{emoji:"▫️",names:["white_small_square"],tags:[],description:"white small square",category:"Symbols"},{emoji:"🔶",names:["large_orange_diamond"],tags:[],description:"large orange diamond",category:"Symbols"},{emoji:"🔷",names:["large_blue_diamond"],tags:[],description:"large blue diamond",category:"Symbols"},{emoji:"🔸",names:["small_orange_diamond"],tags:[],description:"small orange diamond",category:"Symbols"},{emoji:"🔹",names:["small_blue_diamond"],tags:[],description:"small blue diamond",category:"Symbols"},{emoji:"🔺",names:["small_red_triangle"],tags:[],description:"red triangle pointed up",category:"Symbols"},{emoji:"🔻",names:["small_red_triangle_down"],tags:[],description:"red triangle pointed down",category:"Symbols"},{emoji:"💠",names:["diamond_shape_with_a_dot_inside"],tags:[],description:"diamond with a dot",category:"Symbols"},{emoji:"🔘",names:["radio_button"],tags:[],description:"radio button",category:"Symbols"},{emoji:"🔳",names:["white_square_button"],tags:[],description:"white square button",category:"Symbols"},{emoji:"🔲",names:["black_square_button"],tags:[],description:"black square button",category:"Symbols"},{emoji:"🏁",names:["checkered_flag"],tags:["milestone","finish"],description:"chequered flag",category:"Flags"},{emoji:"🚩",names:["triangular_flag_on_post"],tags:[],description:"triangular flag",category:"Flags"},{emoji:"🎌",names:["crossed_flags"],tags:[],description:"crossed flags",category:"Flags"},{emoji:"🏴",names:["black_flag"],tags:[],description:"black flag",category:"Flags"},{emoji:"🏳️",names:["white_flag"],tags:[],description:"white flag",category:"Flags"},{emoji:"🏳️‍🌈",names:["rainbow_flag"],tags:["pride"],description:"rainbow flag",category:"Flags"},{emoji:"🏳️‍⚧️",names:["transgender_flag"],tags:[],description:"transgender flag",category:"Flags"},{emoji:"🏴‍☠️",names:["pirate_flag"],tags:[],description:"pirate flag",category:"Flags"},{emoji:"🇦🇨",names:["ascension_island"],tags:[],description:"flag: Ascension Island",category:"Flags"},{emoji:"🇦🇩",names:["andorra"],tags:[],description:"flag: Andorra",category:"Flags"},{emoji:"🇦🇪",names:["united_arab_emirates"],tags:[],description:"flag: United Arab Emirates",category:"Flags"},{emoji:"🇦🇫",names:["afghanistan"],tags:[],description:"flag: Afghanistan",category:"Flags"},{emoji:"🇦🇬",names:["antigua_barbuda"],tags:[],description:"flag: Antigua & Barbuda",category:"Flags"},{emoji:"🇦🇮",names:["anguilla"],tags:[],description:"flag: Anguilla",category:"Flags"},{emoji:"🇦🇱",names:["albania"],tags:[],description:"flag: Albania",category:"Flags"},{emoji:"🇦🇲",names:["armenia"],tags:[],description:"flag: Armenia",category:"Flags"},{emoji:"🇦🇴",names:["angola"],tags:[],description:"flag: Angola",category:"Flags"},{emoji:"🇦🇶",names:["antarctica"],tags:[],description:"flag: Antarctica",category:"Flags"},{emoji:"🇦🇷",names:["argentina"],tags:[],description:"flag: Argentina",category:"Flags"},{emoji:"🇦🇸",names:["american_samoa"],tags:[],description:"flag: American Samoa",category:"Flags"},{emoji:"🇦🇹",names:["austria"],tags:[],description:"flag: Austria",category:"Flags"},{emoji:"🇦🇺",names:["australia"],tags:[],description:"flag: Australia",category:"Flags"},{emoji:"🇦🇼",names:["aruba"],tags:[],description:"flag: Aruba",category:"Flags"},{emoji:"🇦🇽",names:["aland_islands"],tags:[],description:"flag: Åland Islands",category:"Flags"},{emoji:"🇦🇿",names:["azerbaijan"],tags:[],description:"flag: Azerbaijan",category:"Flags"},{emoji:"🇧🇦",names:["bosnia_herzegovina"],tags:[],description:"flag: Bosnia & Herzegovina",category:"Flags"},{emoji:"🇧🇧",names:["barbados"],tags:[],description:"flag: Barbados",category:"Flags"},{emoji:"🇧🇩",names:["bangladesh"],tags:[],description:"flag: Bangladesh",category:"Flags"},{emoji:"🇧🇪",names:["belgium"],tags:[],description:"flag: Belgium",category:"Flags"},{emoji:"🇧🇫",names:["burkina_faso"],tags:[],description:"flag: Burkina Faso",category:"Flags"},{emoji:"🇧🇬",names:["bulgaria"],tags:[],description:"flag: Bulgaria",category:"Flags"},{emoji:"🇧🇭",names:["bahrain"],tags:[],description:"flag: Bahrain",category:"Flags"},{emoji:"🇧🇮",names:["burundi"],tags:[],description:"flag: Burundi",category:"Flags"},{emoji:"🇧🇯",names:["benin"],tags:[],description:"flag: Benin",category:"Flags"},{emoji:"🇧🇱",names:["st_barthelemy"],tags:[],description:"flag: St. Barthélemy",category:"Flags"},{emoji:"🇧🇲",names:["bermuda"],tags:[],description:"flag: Bermuda",category:"Flags"},{emoji:"🇧🇳",names:["brunei"],tags:[],description:"flag: Brunei",category:"Flags"},{emoji:"🇧🇴",names:["bolivia"],tags:[],description:"flag: Bolivia",category:"Flags"},{emoji:"🇧🇶",names:["caribbean_netherlands"],tags:[],description:"flag: Caribbean Netherlands",category:"Flags"},{emoji:"🇧🇷",names:["brazil"],tags:[],description:"flag: Brazil",category:"Flags"},{emoji:"🇧🇸",names:["bahamas"],tags:[],description:"flag: Bahamas",category:"Flags"},{emoji:"🇧🇹",names:["bhutan"],tags:[],description:"flag: Bhutan",category:"Flags"},{emoji:"🇧🇻",names:["bouvet_island"],tags:[],description:"flag: Bouvet Island",category:"Flags"},{emoji:"🇧🇼",names:["botswana"],tags:[],description:"flag: Botswana",category:"Flags"},{emoji:"🇧🇾",names:["belarus"],tags:[],description:"flag: Belarus",category:"Flags"},{emoji:"🇧🇿",names:["belize"],tags:[],description:"flag: Belize",category:"Flags"},{emoji:"🇨🇦",names:["canada"],tags:[],description:"flag: Canada",category:"Flags"},{emoji:"🇨🇨",names:["cocos_islands"],tags:["keeling"],description:"flag: Cocos (Keeling) Islands",category:"Flags"},{emoji:"🇨🇩",names:["congo_kinshasa"],tags:[],description:"flag: Congo - Kinshasa",category:"Flags"},{emoji:"🇨🇫",names:["central_african_republic"],tags:[],description:"flag: Central African Republic",category:"Flags"},{emoji:"🇨🇬",names:["congo_brazzaville"],tags:[],description:"flag: Congo - Brazzaville",category:"Flags"},{emoji:"🇨🇭",names:["switzerland"],tags:[],description:"flag: Switzerland",category:"Flags"},{emoji:"🇨🇮",names:["cote_divoire"],tags:["ivory"],description:"flag: Côte d’Ivoire",category:"Flags"},{emoji:"🇨🇰",names:["cook_islands"],tags:[],description:"flag: Cook Islands",category:"Flags"},{emoji:"🇨🇱",names:["chile"],tags:[],description:"flag: Chile",category:"Flags"},{emoji:"🇨🇲",names:["cameroon"],tags:[],description:"flag: Cameroon",category:"Flags"},{emoji:"🇨🇳",names:["cn"],tags:["china"],description:"flag: China",category:"Flags"},{emoji:"🇨🇴",names:["colombia"],tags:[],description:"flag: Colombia",category:"Flags"},{emoji:"🇨🇵",names:["clipperton_island"],tags:[],description:"flag: Clipperton Island",category:"Flags"},{emoji:"🇨🇷",names:["costa_rica"],tags:[],description:"flag: Costa Rica",category:"Flags"},{emoji:"🇨🇺",names:["cuba"],tags:[],description:"flag: Cuba",category:"Flags"},{emoji:"🇨🇻",names:["cape_verde"],tags:[],description:"flag: Cape Verde",category:"Flags"},{emoji:"🇨🇼",names:["curacao"],tags:[],description:"flag: Curaçao",category:"Flags"},{emoji:"🇨🇽",names:["christmas_island"],tags:[],description:"flag: Christmas Island",category:"Flags"},{emoji:"🇨🇾",names:["cyprus"],tags:[],description:"flag: Cyprus",category:"Flags"},{emoji:"🇨🇿",names:["czech_republic"],tags:[],description:"flag: Czechia",category:"Flags"},{emoji:"🇩🇪",names:["de"],tags:["flag","germany"],description:"flag: Germany",category:"Flags"},{emoji:"🇩🇬",names:["diego_garcia"],tags:[],description:"flag: Diego Garcia",category:"Flags"},{emoji:"🇩🇯",names:["djibouti"],tags:[],description:"flag: Djibouti",category:"Flags"},{emoji:"🇩🇰",names:["denmark"],tags:[],description:"flag: Denmark",category:"Flags"},{emoji:"🇩🇲",names:["dominica"],tags:[],description:"flag: Dominica",category:"Flags"},{emoji:"🇩🇴",names:["dominican_republic"],tags:[],description:"flag: Dominican Republic",category:"Flags"},{emoji:"🇩🇿",names:["algeria"],tags:[],description:"flag: Algeria",category:"Flags"},{emoji:"🇪🇦",names:["ceuta_melilla"],tags:[],description:"flag: Ceuta & Melilla",category:"Flags"},{emoji:"🇪🇨",names:["ecuador"],tags:[],description:"flag: Ecuador",category:"Flags"},{emoji:"🇪🇪",names:["estonia"],tags:[],description:"flag: Estonia",category:"Flags"},{emoji:"🇪🇬",names:["egypt"],tags:[],description:"flag: Egypt",category:"Flags"},{emoji:"🇪🇭",names:["western_sahara"],tags:[],description:"flag: Western Sahara",category:"Flags"},{emoji:"🇪🇷",names:["eritrea"],tags:[],description:"flag: Eritrea",category:"Flags"},{emoji:"🇪🇸",names:["es"],tags:["spain"],description:"flag: Spain",category:"Flags"},{emoji:"🇪🇹",names:["ethiopia"],tags:[],description:"flag: Ethiopia",category:"Flags"},{emoji:"🇪🇺",names:["eu","european_union"],tags:[],description:"flag: European Union",category:"Flags"},{emoji:"🇫🇮",names:["finland"],tags:[],description:"flag: Finland",category:"Flags"},{emoji:"🇫🇯",names:["fiji"],tags:[],description:"flag: Fiji",category:"Flags"},{emoji:"🇫🇰",names:["falkland_islands"],tags:[],description:"flag: Falkland Islands",category:"Flags"},{emoji:"🇫🇲",names:["micronesia"],tags:[],description:"flag: Micronesia",category:"Flags"},{emoji:"🇫🇴",names:["faroe_islands"],tags:[],description:"flag: Faroe Islands",category:"Flags"},{emoji:"🇫🇷",names:["fr"],tags:["france","french"],description:"flag: France",category:"Flags"},{emoji:"🇬🇦",names:["gabon"],tags:[],description:"flag: Gabon",category:"Flags"},{emoji:"🇬🇧",names:["gb","uk"],tags:["flag","british"],description:"flag: United Kingdom",category:"Flags"},{emoji:"🇬🇩",names:["grenada"],tags:[],description:"flag: Grenada",category:"Flags"},{emoji:"🇬🇪",names:["georgia"],tags:[],description:"flag: Georgia",category:"Flags"},{emoji:"🇬🇫",names:["french_guiana"],tags:[],description:"flag: French Guiana",category:"Flags"},{emoji:"🇬🇬",names:["guernsey"],tags:[],description:"flag: Guernsey",category:"Flags"},{emoji:"🇬🇭",names:["ghana"],tags:[],description:"flag: Ghana",category:"Flags"},{emoji:"🇬🇮",names:["gibraltar"],tags:[],description:"flag: Gibraltar",category:"Flags"},{emoji:"🇬🇱",names:["greenland"],tags:[],description:"flag: Greenland",category:"Flags"},{emoji:"🇬🇲",names:["gambia"],tags:[],description:"flag: Gambia",category:"Flags"},{emoji:"🇬🇳",names:["guinea"],tags:[],description:"flag: Guinea",category:"Flags"},{emoji:"🇬🇵",names:["guadeloupe"],tags:[],description:"flag: Guadeloupe",category:"Flags"},{emoji:"🇬🇶",names:["equatorial_guinea"],tags:[],description:"flag: Equatorial Guinea",category:"Flags"},{emoji:"🇬🇷",names:["greece"],tags:[],description:"flag: Greece",category:"Flags"},{emoji:"🇬🇸",names:["south_georgia_south_sandwich_islands"],tags:[],description:"flag: South Georgia & South Sandwich Islands",category:"Flags"},{emoji:"🇬🇹",names:["guatemala"],tags:[],description:"flag: Guatemala",category:"Flags"},{emoji:"🇬🇺",names:["guam"],tags:[],description:"flag: Guam",category:"Flags"},{emoji:"🇬🇼",names:["guinea_bissau"],tags:[],description:"flag: Guinea-Bissau",category:"Flags"},{emoji:"🇬🇾",names:["guyana"],tags:[],description:"flag: Guyana",category:"Flags"},{emoji:"🇭🇰",names:["hong_kong"],tags:[],description:"flag: Hong Kong SAR China",category:"Flags"},{emoji:"🇭🇲",names:["heard_mcdonald_islands"],tags:[],description:"flag: Heard & McDonald Islands",category:"Flags"},{emoji:"🇭🇳",names:["honduras"],tags:[],description:"flag: Honduras",category:"Flags"},{emoji:"🇭🇷",names:["croatia"],tags:[],description:"flag: Croatia",category:"Flags"},{emoji:"🇭🇹",names:["haiti"],tags:[],description:"flag: Haiti",category:"Flags"},{emoji:"🇭🇺",names:["hungary"],tags:[],description:"flag: Hungary",category:"Flags"},{emoji:"🇮🇨",names:["canary_islands"],tags:[],description:"flag: Canary Islands",category:"Flags"},{emoji:"🇮🇩",names:["indonesia"],tags:[],description:"flag: Indonesia",category:"Flags"},{emoji:"🇮🇪",names:["ireland"],tags:[],description:"flag: Ireland",category:"Flags"},{emoji:"🇮🇱",names:["israel"],tags:[],description:"flag: Israel",category:"Flags"},{emoji:"🇮🇲",names:["isle_of_man"],tags:[],description:"flag: Isle of Man",category:"Flags"},{emoji:"🇮🇳",names:["india"],tags:[],description:"flag: India",category:"Flags"},{emoji:"🇮🇴",names:["british_indian_ocean_territory"],tags:[],description:"flag: British Indian Ocean Territory",category:"Flags"},{emoji:"🇮🇶",names:["iraq"],tags:[],description:"flag: Iraq",category:"Flags"},{emoji:"🇮🇷",names:["iran"],tags:[],description:"flag: Iran",category:"Flags"},{emoji:"🇮🇸",names:["iceland"],tags:[],description:"flag: Iceland",category:"Flags"},{emoji:"🇮🇹",names:["it"],tags:["italy"],description:"flag: Italy",category:"Flags"},{emoji:"🇯🇪",names:["jersey"],tags:[],description:"flag: Jersey",category:"Flags"},{emoji:"🇯🇲",names:["jamaica"],tags:[],description:"flag: Jamaica",category:"Flags"},{emoji:"🇯🇴",names:["jordan"],tags:[],description:"flag: Jordan",category:"Flags"},{emoji:"🇯🇵",names:["jp"],tags:["japan"],description:"flag: Japan",category:"Flags"},{emoji:"🇰🇪",names:["kenya"],tags:[],description:"flag: Kenya",category:"Flags"},{emoji:"🇰🇬",names:["kyrgyzstan"],tags:[],description:"flag: Kyrgyzstan",category:"Flags"},{emoji:"🇰🇭",names:["cambodia"],tags:[],description:"flag: Cambodia",category:"Flags"},{emoji:"🇰🇮",names:["kiribati"],tags:[],description:"flag: Kiribati",category:"Flags"},{emoji:"🇰🇲",names:["comoros"],tags:[],description:"flag: Comoros",category:"Flags"},{emoji:"🇰🇳",names:["st_kitts_nevis"],tags:[],description:"flag: St. Kitts & Nevis",category:"Flags"},{emoji:"🇰🇵",names:["north_korea"],tags:[],description:"flag: North Korea",category:"Flags"},{emoji:"🇰🇷",names:["kr"],tags:["korea"],description:"flag: South Korea",category:"Flags"},{emoji:"🇰🇼",names:["kuwait"],tags:[],description:"flag: Kuwait",category:"Flags"},{emoji:"🇰🇾",names:["cayman_islands"],tags:[],description:"flag: Cayman Islands",category:"Flags"},{emoji:"🇰🇿",names:["kazakhstan"],tags:[],description:"flag: Kazakhstan",category:"Flags"},{emoji:"🇱🇦",names:["laos"],tags:[],description:"flag: Laos",category:"Flags"},{emoji:"🇱🇧",names:["lebanon"],tags:[],description:"flag: Lebanon",category:"Flags"},{emoji:"🇱🇨",names:["st_lucia"],tags:[],description:"flag: St. Lucia",category:"Flags"},{emoji:"🇱🇮",names:["liechtenstein"],tags:[],description:"flag: Liechtenstein",category:"Flags"},{emoji:"🇱🇰",names:["sri_lanka"],tags:[],description:"flag: Sri Lanka",category:"Flags"},{emoji:"🇱🇷",names:["liberia"],tags:[],description:"flag: Liberia",category:"Flags"},{emoji:"🇱🇸",names:["lesotho"],tags:[],description:"flag: Lesotho",category:"Flags"},{emoji:"🇱🇹",names:["lithuania"],tags:[],description:"flag: Lithuania",category:"Flags"},{emoji:"🇱🇺",names:["luxembourg"],tags:[],description:"flag: Luxembourg",category:"Flags"},{emoji:"🇱🇻",names:["latvia"],tags:[],description:"flag: Latvia",category:"Flags"},{emoji:"🇱🇾",names:["libya"],tags:[],description:"flag: Libya",category:"Flags"},{emoji:"🇲🇦",names:["morocco"],tags:[],description:"flag: Morocco",category:"Flags"},{emoji:"🇲🇨",names:["monaco"],tags:[],description:"flag: Monaco",category:"Flags"},{emoji:"🇲🇩",names:["moldova"],tags:[],description:"flag: Moldova",category:"Flags"},{emoji:"🇲🇪",names:["montenegro"],tags:[],description:"flag: Montenegro",category:"Flags"},{emoji:"🇲🇫",names:["st_martin"],tags:[],description:"flag: St. Martin",category:"Flags"},{emoji:"🇲🇬",names:["madagascar"],tags:[],description:"flag: Madagascar",category:"Flags"},{emoji:"🇲🇭",names:["marshall_islands"],tags:[],description:"flag: Marshall Islands",category:"Flags"},{emoji:"🇲🇰",names:["macedonia"],tags:[],description:"flag: North Macedonia",category:"Flags"},{emoji:"🇲🇱",names:["mali"],tags:[],description:"flag: Mali",category:"Flags"},{emoji:"🇲🇲",names:["myanmar"],tags:["burma"],description:"flag: Myanmar (Burma)",category:"Flags"},{emoji:"🇲🇳",names:["mongolia"],tags:[],description:"flag: Mongolia",category:"Flags"},{emoji:"🇲🇴",names:["macau"],tags:[],description:"flag: Macao SAR China",category:"Flags"},{emoji:"🇲🇵",names:["northern_mariana_islands"],tags:[],description:"flag: Northern Mariana Islands",category:"Flags"},{emoji:"🇲🇶",names:["martinique"],tags:[],description:"flag: Martinique",category:"Flags"},{emoji:"🇲🇷",names:["mauritania"],tags:[],description:"flag: Mauritania",category:"Flags"},{emoji:"🇲🇸",names:["montserrat"],tags:[],description:"flag: Montserrat",category:"Flags"},{emoji:"🇲🇹",names:["malta"],tags:[],description:"flag: Malta",category:"Flags"},{emoji:"🇲🇺",names:["mauritius"],tags:[],description:"flag: Mauritius",category:"Flags"},{emoji:"🇲🇻",names:["maldives"],tags:[],description:"flag: Maldives",category:"Flags"},{emoji:"🇲🇼",names:["malawi"],tags:[],description:"flag: Malawi",category:"Flags"},{emoji:"🇲🇽",names:["mexico"],tags:[],description:"flag: Mexico",category:"Flags"},{emoji:"🇲🇾",names:["malaysia"],tags:[],description:"flag: Malaysia",category:"Flags"},{emoji:"🇲🇿",names:["mozambique"],tags:[],description:"flag: Mozambique",category:"Flags"},{emoji:"🇳🇦",names:["namibia"],tags:[],description:"flag: Namibia",category:"Flags"},{emoji:"🇳🇨",names:["new_caledonia"],tags:[],description:"flag: New Caledonia",category:"Flags"},{emoji:"🇳🇪",names:["niger"],tags:[],description:"flag: Niger",category:"Flags"},{emoji:"🇳🇫",names:["norfolk_island"],tags:[],description:"flag: Norfolk Island",category:"Flags"},{emoji:"🇳🇬",names:["nigeria"],tags:[],description:"flag: Nigeria",category:"Flags"},{emoji:"🇳🇮",names:["nicaragua"],tags:[],description:"flag: Nicaragua",category:"Flags"},{emoji:"🇳🇱",names:["netherlands"],tags:[],description:"flag: Netherlands",category:"Flags"},{emoji:"🇳🇴",names:["norway"],tags:[],description:"flag: Norway",category:"Flags"},{emoji:"🇳🇵",names:["nepal"],tags:[],description:"flag: Nepal",category:"Flags"},{emoji:"🇳🇷",names:["nauru"],tags:[],description:"flag: Nauru",category:"Flags"},{emoji:"🇳🇺",names:["niue"],tags:[],description:"flag: Niue",category:"Flags"},{emoji:"🇳🇿",names:["new_zealand"],tags:[],description:"flag: New Zealand",category:"Flags"},{emoji:"🇴🇲",names:["oman"],tags:[],description:"flag: Oman",category:"Flags"},{emoji:"🇵🇦",names:["panama"],tags:[],description:"flag: Panama",category:"Flags"},{emoji:"🇵🇪",names:["peru"],tags:[],description:"flag: Peru",category:"Flags"},{emoji:"🇵🇫",names:["french_polynesia"],tags:[],description:"flag: French Polynesia",category:"Flags"},{emoji:"🇵🇬",names:["papua_new_guinea"],tags:[],description:"flag: Papua New Guinea",category:"Flags"},{emoji:"🇵🇭",names:["philippines"],tags:[],description:"flag: Philippines",category:"Flags"},{emoji:"🇵🇰",names:["pakistan"],tags:[],description:"flag: Pakistan",category:"Flags"},{emoji:"🇵🇱",names:["poland"],tags:[],description:"flag: Poland",category:"Flags"},{emoji:"🇵🇲",names:["st_pierre_miquelon"],tags:[],description:"flag: St. Pierre & Miquelon",category:"Flags"},{emoji:"🇵🇳",names:["pitcairn_islands"],tags:[],description:"flag: Pitcairn Islands",category:"Flags"},{emoji:"🇵🇷",names:["puerto_rico"],tags:[],description:"flag: Puerto Rico",category:"Flags"},{emoji:"🇵🇸",names:["palestinian_territories"],tags:[],description:"flag: Palestinian Territories",category:"Flags"},{emoji:"🇵🇹",names:["portugal"],tags:[],description:"flag: Portugal",category:"Flags"},{emoji:"🇵🇼",names:["palau"],tags:[],description:"flag: Palau",category:"Flags"},{emoji:"🇵🇾",names:["paraguay"],tags:[],description:"flag: Paraguay",category:"Flags"},{emoji:"🇶🇦",names:["qatar"],tags:[],description:"flag: Qatar",category:"Flags"},{emoji:"🇷🇪",names:["reunion"],tags:[],description:"flag: Réunion",category:"Flags"},{emoji:"🇷🇴",names:["romania"],tags:[],description:"flag: Romania",category:"Flags"},{emoji:"🇷🇸",names:["serbia"],tags:[],description:"flag: Serbia",category:"Flags"},{emoji:"🇷🇺",names:["ru"],tags:["russia"],description:"flag: Russia",category:"Flags"},{emoji:"🇷🇼",names:["rwanda"],tags:[],description:"flag: Rwanda",category:"Flags"},{emoji:"🇸🇦",names:["saudi_arabia"],tags:[],description:"flag: Saudi Arabia",category:"Flags"},{emoji:"🇸🇧",names:["solomon_islands"],tags:[],description:"flag: Solomon Islands",category:"Flags"},{emoji:"🇸🇨",names:["seychelles"],tags:[],description:"flag: Seychelles",category:"Flags"},{emoji:"🇸🇩",names:["sudan"],tags:[],description:"flag: Sudan",category:"Flags"},{emoji:"🇸🇪",names:["sweden"],tags:[],description:"flag: Sweden",category:"Flags"},{emoji:"🇸🇬",names:["singapore"],tags:[],description:"flag: Singapore",category:"Flags"},{emoji:"🇸🇭",names:["st_helena"],tags:[],description:"flag: St. Helena",category:"Flags"},{emoji:"🇸🇮",names:["slovenia"],tags:[],description:"flag: Slovenia",category:"Flags"},{emoji:"🇸🇯",names:["svalbard_jan_mayen"],tags:[],description:"flag: Svalbard & Jan Mayen",category:"Flags"},{emoji:"🇸🇰",names:["slovakia"],tags:[],description:"flag: Slovakia",category:"Flags"},{emoji:"🇸🇱",names:["sierra_leone"],tags:[],description:"flag: Sierra Leone",category:"Flags"},{emoji:"🇸🇲",names:["san_marino"],tags:[],description:"flag: San Marino",category:"Flags"},{emoji:"🇸🇳",names:["senegal"],tags:[],description:"flag: Senegal",category:"Flags"},{emoji:"🇸🇴",names:["somalia"],tags:[],description:"flag: Somalia",category:"Flags"},{emoji:"🇸🇷",names:["suriname"],tags:[],description:"flag: Suriname",category:"Flags"},{emoji:"🇸🇸",names:["south_sudan"],tags:[],description:"flag: South Sudan",category:"Flags"},{emoji:"🇸🇹",names:["sao_tome_principe"],tags:[],description:"flag: São Tomé & Príncipe",category:"Flags"},{emoji:"🇸🇻",names:["el_salvador"],tags:[],description:"flag: El Salvador",category:"Flags"},{emoji:"🇸🇽",names:["sint_maarten"],tags:[],description:"flag: Sint Maarten",category:"Flags"},{emoji:"🇸🇾",names:["syria"],tags:[],description:"flag: Syria",category:"Flags"},{emoji:"🇸🇿",names:["swaziland"],tags:[],description:"flag: Eswatini",category:"Flags"},{emoji:"🇹🇦",names:["tristan_da_cunha"],tags:[],description:"flag: Tristan da Cunha",category:"Flags"},{emoji:"🇹🇨",names:["turks_caicos_islands"],tags:[],description:"flag: Turks & Caicos Islands",category:"Flags"},{emoji:"🇹🇩",names:["chad"],tags:[],description:"flag: Chad",category:"Flags"},{emoji:"🇹🇫",names:["french_southern_territories"],tags:[],description:"flag: French Southern Territories",category:"Flags"},{emoji:"🇹🇬",names:["togo"],tags:[],description:"flag: Togo",category:"Flags"},{emoji:"🇹🇭",names:["thailand"],tags:[],description:"flag: Thailand",category:"Flags"},{emoji:"🇹🇯",names:["tajikistan"],tags:[],description:"flag: Tajikistan",category:"Flags"},{emoji:"🇹🇰",names:["tokelau"],tags:[],description:"flag: Tokelau",category:"Flags"},{emoji:"🇹🇱",names:["timor_leste"],tags:[],description:"flag: Timor-Leste",category:"Flags"},{emoji:"🇹🇲",names:["turkmenistan"],tags:[],description:"flag: Turkmenistan",category:"Flags"},{emoji:"🇹🇳",names:["tunisia"],tags:[],description:"flag: Tunisia",category:"Flags"},{emoji:"🇹🇴",names:["tonga"],tags:[],description:"flag: Tonga",category:"Flags"},{emoji:"🇹🇷",names:["tr"],tags:["turkey"],description:"flag: Turkey",category:"Flags"},{emoji:"🇹🇹",names:["trinidad_tobago"],tags:[],description:"flag: Trinidad & Tobago",category:"Flags"},{emoji:"🇹🇻",names:["tuvalu"],tags:[],description:"flag: Tuvalu",category:"Flags"},{emoji:"🇹🇼",names:["taiwan"],tags:[],description:"flag: Taiwan",category:"Flags"},{emoji:"🇹🇿",names:["tanzania"],tags:[],description:"flag: Tanzania",category:"Flags"},{emoji:"🇺🇦",names:["ukraine"],tags:[],description:"flag: Ukraine",category:"Flags"},{emoji:"🇺🇬",names:["uganda"],tags:[],description:"flag: Uganda",category:"Flags"},{emoji:"🇺🇲",names:["us_outlying_islands"],tags:[],description:"flag: U.S. Outlying Islands",category:"Flags"},{emoji:"🇺🇳",names:["united_nations"],tags:[],description:"flag: United Nations",category:"Flags"},{emoji:"🇺🇸",names:["us"],tags:["flag","united","america"],description:"flag: United States",category:"Flags"},{emoji:"🇺🇾",names:["uruguay"],tags:[],description:"flag: Uruguay",category:"Flags"},{emoji:"🇺🇿",names:["uzbekistan"],tags:[],description:"flag: Uzbekistan",category:"Flags"},{emoji:"🇻🇦",names:["vatican_city"],tags:[],description:"flag: Vatican City",category:"Flags"},{emoji:"🇻🇨",names:["st_vincent_grenadines"],tags:[],description:"flag: St. Vincent & Grenadines",category:"Flags"},{emoji:"🇻🇪",names:["venezuela"],tags:[],description:"flag: Venezuela",category:"Flags"},{emoji:"🇻🇬",names:["british_virgin_islands"],tags:[],description:"flag: British Virgin Islands",category:"Flags"},{emoji:"🇻🇮",names:["us_virgin_islands"],tags:[],description:"flag: U.S. Virgin Islands",category:"Flags"},{emoji:"🇻🇳",names:["vietnam"],tags:[],description:"flag: Vietnam",category:"Flags"},{emoji:"🇻🇺",names:["vanuatu"],tags:[],description:"flag: Vanuatu",category:"Flags"},{emoji:"🇼🇫",names:["wallis_futuna"],tags:[],description:"flag: Wallis & Futuna",category:"Flags"},{emoji:"🇼🇸",names:["samoa"],tags:[],description:"flag: Samoa",category:"Flags"},{emoji:"🇽🇰",names:["kosovo"],tags:[],description:"flag: Kosovo",category:"Flags"},{emoji:"🇾🇪",names:["yemen"],tags:[],description:"flag: Yemen",category:"Flags"},{emoji:"🇾🇹",names:["mayotte"],tags:[],description:"flag: Mayotte",category:"Flags"},{emoji:"🇿🇦",names:["south_africa"],tags:[],description:"flag: South Africa",category:"Flags"},{emoji:"🇿🇲",names:["zambia"],tags:[],description:"flag: Zambia",category:"Flags"},{emoji:"🇿🇼",names:["zimbabwe"],tags:[],description:"flag: Zimbabwe",category:"Flags"},{emoji:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",names:["england"],tags:[],description:"flag: England",category:"Flags"},{emoji:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",names:["scotland"],tags:[],description:"flag: Scotland",category:"Flags"},{emoji:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",names:["wales"],tags:[],description:"flag: Wales",category:"Flags"}];function OA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/EmojiPicker.vue",C="10f3e218bbe730932ad6bfc42b0776de40546ade",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/EmojiPicker.vue",statementMap:{0:{start:{line:4,column:18},end:{line:46,column:1}},1:{start:{line:10,column:4},end:{line:13,column:5}},2:{start:{line:17,column:6},end:{line:22,column:12}},3:{start:{line:18,column:8},end:{line:20,column:9}},4:{start:{line:19,column:10},end:{line:19,column:34}},5:{start:{line:21,column:8},end:{line:21,column:18}},6:{start:{line:26,column:4},end:{line:26,column:50}},7:{start:{line:29,column:4},end:{line:29,column:53}},8:{start:{line:33,column:6},end:{line:34,column:55}},9:{start:{line:34,column:27},end:{line:34,column:54}},10:{start:{line:37,column:6},end:{line:37,column:45}},11:{start:{line:38,column:6},end:{line:38,column:25}},12:{start:{line:41,column:6},end:{line:43,column:7}},13:{start:{line:42,column:8},end:{line:42,column:27}},14:{start:{line:50,column:19},end:{line:53,column:1}},15:{start:{line:54,column:19},end:{line:54,column:111}},16:{start:{line:55,column:19},end:{line:55,column:39}},17:{start:{line:58,column:32},end:{line:58,column:63}},18:{start:{line:59,column:28},end:{line:59,column:55}},19:{start:{line:61,column:2},end:{line:101,column:9}},20:{start:{line:66,column:54},end:{line:66,column:73}},21:{start:{line:75,column:34},end:{line:98,column:11}},22:{start:{line:77,column:14},end:{line:96,column:34}},23:{start:{line:82,column:40},end:{line:94,column:17}},24:{start:{line:85,column:22},end:{line:91,column:71}},25:{start:{line:90,column:59},end:{line:90,column:90}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:9,column:2},end:{line:9,column:3}},loc:{start:{line:9,column:10},end:{line:14,column:3}},line:9},1:{name:"(anonymous_1)",decl:{start:{line:16,column:4},end:{line:16,column:5}},loc:{start:{line:16,column:18},end:{line:23,column:5}},line:16},2:{name:"(anonymous_2)",decl:{start:{line:17,column:27},end:{line:17,column:28}},loc:{start:{line:17,column:49},end:{line:22,column:7}},line:17},3:{name:"(anonymous_3)",decl:{start:{line:25,column:2},end:{line:25,column:3}},loc:{start:{line:25,column:13},end:{line:27,column:3}},line:25},4:{name:"(anonymous_4)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:19},end:{line:30,column:3}},line:28},5:{name:"(anonymous_5)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:34},end:{line:35,column:5}},line:32},6:{name:"(anonymous_6)",decl:{start:{line:34,column:16},end:{line:34,column:17}},loc:{start:{line:34,column:27},end:{line:34,column:54}},line:34},7:{name:"(anonymous_7)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:28},end:{line:39,column:5}},line:36},8:{name:"(anonymous_8)",decl:{start:{line:40,column:4},end:{line:40,column:5}},loc:{start:{line:40,column:20},end:{line:44,column:5}},line:40},9:{name:"_sfc_render",decl:{start:{line:57,column:9},end:{line:57,column:20}},loc:{start:{line:57,column:68},end:{line:102,column:1}},line:57},10:{name:"(anonymous_10)",decl:{start:{line:66,column:43},end:{line:66,column:44}},loc:{start:{line:66,column:54},end:{line:66,column:73}},line:66},11:{name:"(anonymous_11)",decl:{start:{line:75,column:28},end:{line:75,column:29}},loc:{start:{line:75,column:34},end:{line:98,column:11}},line:75},12:{name:"(anonymous_12)",decl:{start:{line:76,column:101},end:{line:76,column:102}},loc:{start:{line:76,column:115},end:{line:97,column:13}},line:76},13:{name:"(anonymous_13)",decl:{start:{line:82,column:34},end:{line:82,column:35}},loc:{start:{line:82,column:40},end:{line:94,column:17}},line:82},14:{name:"(anonymous_14)",decl:{start:{line:84,column:127},end:{line:84,column:128}},loc:{start:{line:84,column:138},end:{line:92,column:21}},line:84},15:{name:"(anonymous_15)",decl:{start:{line:90,column:48},end:{line:90,column:49}},loc:{start:{line:90,column:59},end:{line:90,column:90}},line:90}},branchMap:{0:{loc:{start:{line:18,column:8},end:{line:20,column:9}},type:"if",locations:[{start:{line:18,column:8},end:{line:20,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:18},1:{loc:{start:{line:41,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:6},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},2:{loc:{start:{line:41,column:10},end:{line:41,column:60}},type:"binary-expr",locations:[{start:{line:41,column:10},end:{line:41,column:21}},{start:{line:41,column:26},end:{line:41,column:42}},{start:{line:41,column:46},end:{line:41,column:59}}],line:41},3:{loc:{start:{line:61,column:9},end:{line:101,column:9}},type:"cond-expr",locations:[{start:{line:62,column:7},end:{line:72,column:9}},{start:{line:73,column:7},end:{line:101,column:8}}],line:61},4:{loc:{start:{line:66,column:17},end:{line:66,column:75}},type:"binary-expr",locations:[{start:{line:66,column:17},end:{line:66,column:26}},{start:{line:66,column:31},end:{line:66,column:74}}],line:66},5:{loc:{start:{line:67,column:9},end:{line:72,column:8}},type:"binary-expr",locations:[{start:{line:67,column:9},end:{line:67,column:18}},{start:{line:67,column:23},end:{line:72,column:7}}],line:67}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0},b:{0:[0,0],1:[0,0],2:[0,0,0],3:[0,0],4:[0,0],5:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/EmojiPicker.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"10f3e218bbe730932ad6bfc42b0776de40546ade"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return OA=function(){return s},s}OA();const EB=(OA().s[0]++,{name:"EmojiPicker",emits:["emoji-picked"],data(){return OA().f[0]++,OA().s[1]++,{isOpen:!1,activeCategory:""}},computed:{categories(){return OA().f[1]++,OA().s[2]++,Jm.reduce(function(A,C){return OA().f[2]++,OA().s[3]++,A.includes(C.category)?OA().b[0][1]++:(OA().b[0][0]++,OA().s[4]++,A.push(C.category)),OA().s[5]++,A},[])}},created(){OA().f[3]++,OA().s[6]++,document.addEventListener("keyup",this.keyUp)},beforeUnmount(){OA().f[4]++,OA().s[7]++,document.removeEventListener("keyup",this.keyUp)},methods:{getEmojiByCategory(A){return OA().f[5]++,OA().s[8]++,Jm.filter(C=>(OA().f[6]++,OA().s[9]++,C.category===A))},sendEmojiPicked(A){OA().f[7]++,OA().s[10]++,this.$emit("emoji-picked",A.emoji),OA().s[11]++,this.isOpen=!1},keyUp({key:A}){OA().f[8]++,OA().s[12]++,OA().b[2][0]++,this.isOpen&&(OA().b[2][1]++,A==="Escape"||(OA().b[2][2]++,A==="Esc"))?(OA().b[1][0]++,OA().s[13]++,this.isOpen=!1):OA().b[1][1]++}}}),yB=(OA().s[14]++,{key:1,class:"emojiPicker px-0"}),vB=(OA().s[15]++,{class:"is-flex is-flex-wrap-wrap is-align-content-flex-start is-full-height-scrollable"}),wB=(OA().s[16]++,["title","onClick"]);function BB(A,C,e,n,t,i){OA().f[9]++;const s=(OA().s[17]++,AA("o-tab-item")),o=(OA().s[18]++,AA("o-tabs"));return OA().s[19]++,t.isOpen?(OA().b[3][1]++,h(),Q("aside",yB,[k(o,null,{default:SA(()=>(OA().f[11]++,OA().s[21]++,[(h(!0),Q(gA,null,JA(i.categories,l=>(OA().f[12]++,OA().s[22]++,h(),S(s,{key:l,label:l,class:"is-full-height mb-5"},{default:SA(()=>(OA().f[13]++,OA().s[23]++,[b("div",vB,[(h(!0),Q(gA,null,JA(i.getEmojiByCategory(l),a=>(OA().f[14]++,OA().s[24]++,h(),Q("a",{key:a.emoji,href:"#",title:a.description,class:"emoji is-size-5 p-1",onClick:MA(r=>(OA().f[15]++,OA().s[25]++,i.sendEmojiPicked(a)),["prevent"])},lA(a.emoji),9,wB))),128))])])),_:2},1032,["label"]))),128))])),_:1})])):(OA().b[3][0]++,h(),Q("button",{key:0,class:"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3",title:"Choose an emoji",onClick:(OA().b[4][0]++,C[0]||(OA().b[4][1]++,C[0]=l=>(OA().f[10]++,OA().s[20]++,t.isOpen=!0)))},(OA().b[5][0]++,C[1]||(OA().b[5][1]++,C[1]=[b("i",{class:"fa fa-smile-o","aria-hidden":"true"},null,-1)]))))}const SB=pC(EB,[["render",BB]]);function Df(A,C){return function(){return A.apply(C,arguments)}}const{toString:kB}=Object.prototype,{getPrototypeOf:dc}=Object,{iterator:Jo,toStringTag:Pf}=Symbol,Xo=(A=>C=>{const e=kB.call(C);return A[e]||(A[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),Me=A=>(A=A.toLowerCase(),C=>Xo(C)===A),Zo=A=>C=>typeof C===A,{isArray:Ft}=Array,Li=Zo("undefined");function xB(A){return A!==null&&!Li(A)&&A.constructor!==null&&!Li(A.constructor)&&ne(A.constructor.isBuffer)&&A.constructor.isBuffer(A)}const Of=Me("ArrayBuffer");function _B(A){let C;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?C=ArrayBuffer.isView(A):C=A&&A.buffer&&Of(A.buffer),C}const jB=Zo("string"),ne=Zo("function"),Lf=Zo("number"),Al=A=>A!==null&&typeof A=="object",IB=A=>A===!0||A===!1,Ls=A=>{if(Xo(A)!=="object")return!1;const C=dc(A);return(C===null||C===Object.prototype||Object.getPrototypeOf(C)===null)&&!(Pf in A)&&!(Jo in A)},MB=Me("Date"),DB=Me("File"),PB=Me("Blob"),OB=Me("FileList"),LB=A=>Al(A)&&ne(A.pipe),KB=A=>{let C;return A&&(typeof FormData=="function"&&A instanceof FormData||ne(A.append)&&((C=Xo(A))==="formdata"||C==="object"&&ne(A.toString)&&A.toString()==="[object FormData]"))},TB=Me("URLSearchParams"),[FB,NB,$B,RB]=["ReadableStream","Request","Response","Headers"].map(Me),GB=A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Yi(A,C,{allOwnKeys:e=!1}={}){if(A===null||typeof A>"u")return;let n,t;if(typeof A!="object"&&(A=[A]),Ft(A))for(n=0,t=A.length;n0;)if(t=e[n],C===t.toLowerCase())return t;return null}const Gn=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Tf=A=>!Li(A)&&A!==Gn;function La(){const{caseless:A}=Tf(this)&&this||{},C={},e=(n,t)=>{const i=A&&Kf(C,t)||t;Ls(C[i])&&Ls(n)?C[i]=La(C[i],n):Ls(n)?C[i]=La({},n):Ft(n)?C[i]=n.slice():C[i]=n};for(let n=0,t=arguments.length;n(Yi(C,(t,i)=>{e&&ne(t)?A[i]=Df(t,e):A[i]=t},{allOwnKeys:n}),A),HB=A=>(A.charCodeAt(0)===65279&&(A=A.slice(1)),A),QB=(A,C,e,n)=>{A.prototype=Object.create(C.prototype,n),A.prototype.constructor=A,Object.defineProperty(A,"super",{value:C.prototype}),e&&Object.assign(A.prototype,e)},VB=(A,C,e,n)=>{let t,i,s;const o={};if(C=C||{},A==null)return C;do{for(t=Object.getOwnPropertyNames(A),i=t.length;i-- >0;)s=t[i],(!n||n(s,A,C))&&!o[s]&&(C[s]=A[s],o[s]=!0);A=e!==!1&&dc(A)}while(A&&(!e||e(A,C))&&A!==Object.prototype);return C},zB=(A,C,e)=>{A=String(A),(e===void 0||e>A.length)&&(e=A.length),e-=C.length;const n=A.indexOf(C,e);return n!==-1&&n===e},qB=A=>{if(!A)return null;if(Ft(A))return A;let C=A.length;if(!Lf(C))return null;const e=new Array(C);for(;C-- >0;)e[C]=A[C];return e},WB=(A=>C=>A&&C instanceof A)(typeof Uint8Array<"u"&&dc(Uint8Array)),YB=(A,C)=>{const n=(A&&A[Jo]).call(A);let t;for(;(t=n.next())&&!t.done;){const i=t.value;C.call(A,i[0],i[1])}},JB=(A,C)=>{let e;const n=[];for(;(e=A.exec(C))!==null;)n.push(e);return n},XB=Me("HTMLFormElement"),ZB=A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,t){return n.toUpperCase()+t}),Xm=(({hasOwnProperty:A})=>(C,e)=>A.call(C,e))(Object.prototype),AS=Me("RegExp"),Ff=(A,C)=>{const e=Object.getOwnPropertyDescriptors(A),n={};Yi(e,(t,i)=>{let s;(s=C(t,i,A))!==!1&&(n[i]=s||t)}),Object.defineProperties(A,n)},CS=A=>{Ff(A,(C,e)=>{if(ne(A)&&["arguments","caller","callee"].indexOf(e)!==-1)return!1;const n=A[e];if(ne(n)){if(C.enumerable=!1,"writable"in C){C.writable=!1;return}C.set||(C.set=()=>{throw Error("Can not rewrite read-only method '"+e+"'")})}})},eS=(A,C)=>{const e={},n=t=>{t.forEach(i=>{e[i]=!0})};return Ft(A)?n(A):n(String(A).split(C)),e},nS=()=>{},tS=(A,C)=>A!=null&&Number.isFinite(A=+A)?A:C;function iS(A){return!!(A&&ne(A.append)&&A[Pf]==="FormData"&&A[Jo])}const sS=A=>{const C=new Array(10),e=(n,t)=>{if(Al(n)){if(C.indexOf(n)>=0)return;if(!("toJSON"in n)){C[t]=n;const i=Ft(n)?[]:{};return Yi(n,(s,o)=>{const l=e(s,t+1);!Li(l)&&(i[o]=l)}),C[t]=void 0,i}}return n};return e(A,0)},oS=Me("AsyncFunction"),lS=A=>A&&(Al(A)||ne(A))&&ne(A.then)&&ne(A.catch),Nf=((A,C)=>A?setImmediate:C?((e,n)=>(Gn.addEventListener("message",({source:t,data:i})=>{t===Gn&&i===e&&n.length&&n.shift()()},!1),t=>{n.push(t),Gn.postMessage(e,"*")}))(`axios@${Math.random()}`,[]):e=>setTimeout(e))(typeof setImmediate=="function",ne(Gn.postMessage)),aS=typeof queueMicrotask<"u"?queueMicrotask.bind(Gn):typeof process<"u"&&process.nextTick||Nf,rS=A=>A!=null&&ne(A[Jo]),G={isArray:Ft,isArrayBuffer:Of,isBuffer:xB,isFormData:KB,isArrayBufferView:_B,isString:jB,isNumber:Lf,isBoolean:IB,isObject:Al,isPlainObject:Ls,isReadableStream:FB,isRequest:NB,isResponse:$B,isHeaders:RB,isUndefined:Li,isDate:MB,isFile:DB,isBlob:PB,isRegExp:AS,isFunction:ne,isStream:LB,isURLSearchParams:TB,isTypedArray:WB,isFileList:OB,forEach:Yi,merge:La,extend:UB,trim:GB,stripBOM:HB,inherits:QB,toFlatObject:VB,kindOf:Xo,kindOfTest:Me,endsWith:zB,toArray:qB,forEachEntry:YB,matchAll:JB,isHTMLForm:XB,hasOwnProperty:Xm,hasOwnProp:Xm,reduceDescriptors:Ff,freezeMethods:CS,toObjectSet:eS,toCamelCase:ZB,noop:nS,toFiniteNumber:tS,findKey:Kf,global:Gn,isContextDefined:Tf,isSpecCompliantForm:iS,toJSONObject:sS,isAsyncFn:oS,isThenable:lS,setImmediate:Nf,asap:aS,isIterable:rS};function YA(A,C,e,n,t){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=A,this.name="AxiosError",C&&(this.code=C),e&&(this.config=e),n&&(this.request=n),t&&(this.response=t,this.status=t.status?t.status:null)}G.inherits(YA,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:G.toJSONObject(this.config),code:this.code,status:this.status}}});const $f=YA.prototype,Rf={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(A=>{Rf[A]={value:A}});Object.defineProperties(YA,Rf);Object.defineProperty($f,"isAxiosError",{value:!0});YA.from=(A,C,e,n,t,i)=>{const s=Object.create($f);return G.toFlatObject(A,s,function(l){return l!==Error.prototype},o=>o!=="isAxiosError"),YA.call(s,A.message,C,e,n,t),s.cause=A,s.name=A.name,i&&Object.assign(s,i),s};const cS=null;function Ka(A){return G.isPlainObject(A)||G.isArray(A)}function Gf(A){return G.endsWith(A,"[]")?A.slice(0,-2):A}function Zm(A,C,e){return A?A.concat(C).map(function(t,i){return t=Gf(t),!e&&i?"["+t+"]":t}).join(e?".":""):C}function uS(A){return G.isArray(A)&&!A.some(Ka)}const mS=G.toFlatObject(G,{},null,function(C){return/^is[A-Z]/.test(C)});function Cl(A,C,e){if(!G.isObject(A))throw new TypeError("target must be an object");C=C||new FormData,e=G.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(v,y){return!G.isUndefined(y[v])});const n=e.metaTokens,t=e.visitor||r,i=e.dots,s=e.indexes,l=(e.Blob||typeof Blob<"u"&&Blob)&&G.isSpecCompliantForm(C);if(!G.isFunction(t))throw new TypeError("visitor must be a function");function a(g){if(g===null)return"";if(G.isDate(g))return g.toISOString();if(!l&&G.isBlob(g))throw new YA("Blob is not supported. Use a Buffer instead.");return G.isArrayBuffer(g)||G.isTypedArray(g)?l&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function r(g,v,y){let x=g;if(g&&!y&&typeof g=="object"){if(G.endsWith(v,"{}"))v=n?v:v.slice(0,-2),g=JSON.stringify(g);else if(G.isArray(g)&&uS(g)||(G.isFileList(g)||G.endsWith(v,"[]"))&&(x=G.toArray(g)))return v=Gf(v),x.forEach(function(F,H){!(G.isUndefined(F)||F===null)&&C.append(s===!0?Zm([v],H,i):s===null?v:v+"[]",a(F))}),!1}return Ka(g)?!0:(C.append(Zm(y,v,i),a(g)),!1)}const p=[],d=Object.assign(mS,{defaultVisitor:r,convertValue:a,isVisitable:Ka});function u(g,v){if(!G.isUndefined(g)){if(p.indexOf(g)!==-1)throw Error("Circular reference detected in "+v.join("."));p.push(g),G.forEach(g,function(x,$){(!(G.isUndefined(x)||x===null)&&t.call(C,x,G.isString($)?$.trim():$,v,d))===!0&&u(x,v?v.concat($):[$])}),p.pop()}}if(!G.isObject(A))throw new TypeError("data must be an object");return u(A),C}function Ad(A){const C={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,function(n){return C[n]})}function pc(A,C){this._pairs=[],A&&Cl(A,this,C)}const Uf=pc.prototype;Uf.append=function(C,e){this._pairs.push([C,e])};Uf.toString=function(C){const e=C?function(n){return C.call(this,n,Ad)}:Ad;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};function dS(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Hf(A,C,e){if(!C)return A;const n=e&&e.encode||dS;G.isFunction(e)&&(e={serialize:e});const t=e&&e.serialize;let i;if(t?i=t(C,e):i=G.isURLSearchParams(C)?C.toString():new pc(C,e).toString(n),i){const s=A.indexOf("#");s!==-1&&(A=A.slice(0,s)),A+=(A.indexOf("?")===-1?"?":"&")+i}return A}class pS{constructor(){this.handlers=[]}use(C,e,n){return this.handlers.push({fulfilled:C,rejected:e,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(C){this.handlers[C]&&(this.handlers[C]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(C){G.forEach(this.handlers,function(n){n!==null&&C(n)})}}const Cd=pS,Qf={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},fS=typeof URLSearchParams<"u"?URLSearchParams:pc,hS=typeof FormData<"u"?FormData:null,gS=typeof Blob<"u"?Blob:null,bS={isBrowser:!0,classes:{URLSearchParams:fS,FormData:hS,Blob:gS},protocols:["http","https","file","blob","url","data"]},fc=typeof window<"u"&&typeof document<"u",Ta=typeof navigator=="object"&&navigator||void 0,ES=fc&&(!Ta||["ReactNative","NativeScript","NS"].indexOf(Ta.product)<0),yS=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),vS=fc&&window.location.href||"http://localhost",wS=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:fc,hasStandardBrowserEnv:ES,hasStandardBrowserWebWorkerEnv:yS,navigator:Ta,origin:vS},Symbol.toStringTag,{value:"Module"})),qC={...wS,...bS};function BS(A,C){return Cl(A,new qC.classes.URLSearchParams,Object.assign({visitor:function(e,n,t,i){return qC.isNode&&G.isBuffer(e)?(this.append(n,e.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},C))}function SS(A){return G.matchAll(/\w+|\[(\w*)]/g,A).map(C=>C[0]==="[]"?"":C[1]||C[0])}function kS(A){const C={},e=Object.keys(A);let n;const t=e.length;let i;for(n=0;n=e.length;return s=!s&&G.isArray(t)?t.length:s,l?(G.hasOwnProp(t,s)?t[s]=[t[s],n]:t[s]=n,!o):((!t[s]||!G.isObject(t[s]))&&(t[s]=[]),C(e,n,t[s],i)&&G.isArray(t[s])&&(t[s]=kS(t[s])),!o)}if(G.isFormData(A)&&G.isFunction(A.entries)){const e={};return G.forEachEntry(A,(n,t)=>{C(SS(n),t,e,0)}),e}return null}function xS(A,C,e){if(G.isString(A))try{return(C||JSON.parse)(A),G.trim(A)}catch(n){if(n.name!=="SyntaxError")throw n}return(e||JSON.stringify)(A)}const hc={transitional:Qf,adapter:["xhr","http","fetch"],transformRequest:[function(C,e){const n=e.getContentType()||"",t=n.indexOf("application/json")>-1,i=G.isObject(C);if(i&&G.isHTMLForm(C)&&(C=new FormData(C)),G.isFormData(C))return t?JSON.stringify(Vf(C)):C;if(G.isArrayBuffer(C)||G.isBuffer(C)||G.isStream(C)||G.isFile(C)||G.isBlob(C)||G.isReadableStream(C))return C;if(G.isArrayBufferView(C))return C.buffer;if(G.isURLSearchParams(C))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),C.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return BS(C,this.formSerializer).toString();if((o=G.isFileList(C))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return Cl(o?{"files[]":C}:C,l&&new l,this.formSerializer)}}return i||t?(e.setContentType("application/json",!1),xS(C)):C}],transformResponse:[function(C){const e=this.transitional||hc.transitional,n=e&&e.forcedJSONParsing,t=this.responseType==="json";if(G.isResponse(C)||G.isReadableStream(C))return C;if(C&&G.isString(C)&&(n&&!this.responseType||t)){const s=!(e&&e.silentJSONParsing)&&t;try{return JSON.parse(C)}catch(o){if(s)throw o.name==="SyntaxError"?YA.from(o,YA.ERR_BAD_RESPONSE,this,null,this.response):o}}return C}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:qC.classes.FormData,Blob:qC.classes.Blob},validateStatus:function(C){return C>=200&&C<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};G.forEach(["delete","get","head","post","put","patch"],A=>{hc.headers[A]={}});const gc=hc,_S=G.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),jS=A=>{const C={};let e,n,t;return A&&A.split(` +`).forEach(function(s){t=s.indexOf(":"),e=s.substring(0,t).trim().toLowerCase(),n=s.substring(t+1).trim(),!(!e||C[e]&&_S[e])&&(e==="set-cookie"?C[e]?C[e].push(n):C[e]=[n]:C[e]=C[e]?C[e]+", "+n:n)}),C},ed=Symbol("internals");function qt(A){return A&&String(A).trim().toLowerCase()}function Ks(A){return A===!1||A==null?A:G.isArray(A)?A.map(Ks):String(A)}function IS(A){const C=Object.create(null),e=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=e.exec(A);)C[n[1]]=n[2];return C}const MS=A=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim());function Fl(A,C,e,n,t){if(G.isFunction(n))return n.call(this,C,e);if(t&&(C=e),!!G.isString(C)){if(G.isString(n))return C.indexOf(n)!==-1;if(G.isRegExp(n))return n.test(C)}}function DS(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(C,e,n)=>e.toUpperCase()+n)}function PS(A,C){const e=G.toCamelCase(" "+C);["get","set","has"].forEach(n=>{Object.defineProperty(A,n+e,{value:function(t,i,s){return this[n].call(this,C,t,i,s)},configurable:!0})})}class el{constructor(C){C&&this.set(C)}set(C,e,n){const t=this;function i(o,l,a){const r=qt(l);if(!r)throw new Error("header name must be a non-empty string");const p=G.findKey(t,r);(!p||t[p]===void 0||a===!0||a===void 0&&t[p]!==!1)&&(t[p||l]=Ks(o))}const s=(o,l)=>G.forEach(o,(a,r)=>i(a,r,l));if(G.isPlainObject(C)||C instanceof this.constructor)s(C,e);else if(G.isString(C)&&(C=C.trim())&&!MS(C))s(jS(C),e);else if(G.isObject(C)&&G.isIterable(C)){let o={},l,a;for(const r of C){if(!G.isArray(r))throw TypeError("Object iterator must return a key-value pair");o[a=r[0]]=(l=o[a])?G.isArray(l)?[...l,r[1]]:[l,r[1]]:r[1]}s(o,e)}else C!=null&&i(e,C,n);return this}get(C,e){if(C=qt(C),C){const n=G.findKey(this,C);if(n){const t=this[n];if(!e)return t;if(e===!0)return IS(t);if(G.isFunction(e))return e.call(this,t,n);if(G.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(C,e){if(C=qt(C),C){const n=G.findKey(this,C);return!!(n&&this[n]!==void 0&&(!e||Fl(this,this[n],n,e)))}return!1}delete(C,e){const n=this;let t=!1;function i(s){if(s=qt(s),s){const o=G.findKey(n,s);o&&(!e||Fl(n,n[o],o,e))&&(delete n[o],t=!0)}}return G.isArray(C)?C.forEach(i):i(C),t}clear(C){const e=Object.keys(this);let n=e.length,t=!1;for(;n--;){const i=e[n];(!C||Fl(this,this[i],i,C,!0))&&(delete this[i],t=!0)}return t}normalize(C){const e=this,n={};return G.forEach(this,(t,i)=>{const s=G.findKey(n,i);if(s){e[s]=Ks(t),delete e[i];return}const o=C?DS(i):String(i).trim();o!==i&&delete e[i],e[o]=Ks(t),n[o]=!0}),this}concat(...C){return this.constructor.concat(this,...C)}toJSON(C){const e=Object.create(null);return G.forEach(this,(n,t)=>{n!=null&&n!==!1&&(e[t]=C&&G.isArray(n)?n.join(", "):n)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([C,e])=>C+": "+e).join(` +`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(C){return C instanceof this?C:new this(C)}static concat(C,...e){const n=new this(C);return e.forEach(t=>n.set(t)),n}static accessor(C){const n=(this[ed]=this[ed]={accessors:{}}).accessors,t=this.prototype;function i(s){const o=qt(s);n[o]||(PS(t,s),n[o]=!0)}return G.isArray(C)?C.forEach(i):i(C),this}}el.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);G.reduceDescriptors(el.prototype,({value:A},C)=>{let e=C[0].toUpperCase()+C.slice(1);return{get:()=>A,set(n){this[e]=n}}});G.freezeMethods(el);const Be=el;function Nl(A,C){const e=this||gc,n=C||e,t=Be.from(n.headers);let i=n.data;return G.forEach(A,function(o){i=o.call(e,i,t.normalize(),C?C.status:void 0)}),t.normalize(),i}function zf(A){return!!(A&&A.__CANCEL__)}function Nt(A,C,e){YA.call(this,A??"canceled",YA.ERR_CANCELED,C,e),this.name="CanceledError"}G.inherits(Nt,YA,{__CANCEL__:!0});function qf(A,C,e){const n=e.config.validateStatus;!e.status||!n||n(e.status)?A(e):C(new YA("Request failed with status code "+e.status,[YA.ERR_BAD_REQUEST,YA.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e))}function OS(A){const C=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return C&&C[1]||""}function LS(A,C){A=A||10;const e=new Array(A),n=new Array(A);let t=0,i=0,s;return C=C!==void 0?C:1e3,function(l){const a=Date.now(),r=n[i];s||(s=a),e[t]=l,n[t]=a;let p=i,d=0;for(;p!==t;)d+=e[p++],p=p%A;if(t=(t+1)%A,t===i&&(i=(i+1)%A),a-s{e=r,t=null,i&&(clearTimeout(i),i=null),A.apply(null,a)};return[(...a)=>{const r=Date.now(),p=r-e;p>=n?s(a,r):(t=a,i||(i=setTimeout(()=>{i=null,s(t)},n-p)))},()=>t&&s(t)]}const fo=(A,C,e=3)=>{let n=0;const t=LS(50,250);return KS(i=>{const s=i.loaded,o=i.lengthComputable?i.total:void 0,l=s-n,a=t(l),r=s<=o;n=s;const p={loaded:s,total:o,progress:o?s/o:void 0,bytes:l,rate:a||void 0,estimated:a&&o&&r?(o-s)/a:void 0,event:i,lengthComputable:o!=null,[C?"download":"upload"]:!0};A(p)},e)},nd=(A,C)=>{const e=A!=null;return[n=>C[0]({lengthComputable:e,total:A,loaded:n}),C[1]]},td=A=>(...C)=>G.asap(()=>A(...C)),TS=qC.hasStandardBrowserEnv?((A,C)=>e=>(e=new URL(e,qC.origin),A.protocol===e.protocol&&A.host===e.host&&(C||A.port===e.port)))(new URL(qC.origin),qC.navigator&&/(msie|trident)/i.test(qC.navigator.userAgent)):()=>!0,FS=qC.hasStandardBrowserEnv?{write(A,C,e,n,t,i){const s=[A+"="+encodeURIComponent(C)];G.isNumber(e)&&s.push("expires="+new Date(e).toGMTString()),G.isString(n)&&s.push("path="+n),G.isString(t)&&s.push("domain="+t),i===!0&&s.push("secure"),document.cookie=s.join("; ")},read(A){const C=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return C?decodeURIComponent(C[3]):null},remove(A){this.write(A,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function NS(A){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(A)}function $S(A,C){return C?A.replace(/\/?\/$/,"")+"/"+C.replace(/^\/+/,""):A}function Wf(A,C,e){let n=!NS(C);return A&&(n||e==!1)?$S(A,C):C}const id=A=>A instanceof Be?{...A}:A;function Ct(A,C){C=C||{};const e={};function n(a,r,p,d){return G.isPlainObject(a)&&G.isPlainObject(r)?G.merge.call({caseless:d},a,r):G.isPlainObject(r)?G.merge({},r):G.isArray(r)?r.slice():r}function t(a,r,p,d){if(G.isUndefined(r)){if(!G.isUndefined(a))return n(void 0,a,p,d)}else return n(a,r,p,d)}function i(a,r){if(!G.isUndefined(r))return n(void 0,r)}function s(a,r){if(G.isUndefined(r)){if(!G.isUndefined(a))return n(void 0,a)}else return n(void 0,r)}function o(a,r,p){if(p in C)return n(a,r);if(p in A)return n(void 0,a)}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:o,headers:(a,r,p)=>t(id(a),id(r),p,!0)};return G.forEach(Object.keys(Object.assign({},A,C)),function(r){const p=l[r]||t,d=p(A[r],C[r],r);G.isUndefined(d)&&p!==o||(e[r]=d)}),e}const Yf=A=>{const C=Ct({},A);let{data:e,withXSRFToken:n,xsrfHeaderName:t,xsrfCookieName:i,headers:s,auth:o}=C;C.headers=s=Be.from(s),C.url=Hf(Wf(C.baseURL,C.url,C.allowAbsoluteUrls),A.params,A.paramsSerializer),o&&s.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):"")));let l;if(G.isFormData(e)){if(qC.hasStandardBrowserEnv||qC.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((l=s.getContentType())!==!1){const[a,...r]=l?l.split(";").map(p=>p.trim()).filter(Boolean):[];s.setContentType([a||"multipart/form-data",...r].join("; "))}}if(qC.hasStandardBrowserEnv&&(n&&G.isFunction(n)&&(n=n(C)),n||n!==!1&&TS(C.url))){const a=t&&i&&FS.read(i);a&&s.set(t,a)}return C},RS=typeof XMLHttpRequest<"u",GS=RS&&function(A){return new Promise(function(e,n){const t=Yf(A);let i=t.data;const s=Be.from(t.headers).normalize();let{responseType:o,onUploadProgress:l,onDownloadProgress:a}=t,r,p,d,u,g;function v(){u&&u(),g&&g(),t.cancelToken&&t.cancelToken.unsubscribe(r),t.signal&&t.signal.removeEventListener("abort",r)}let y=new XMLHttpRequest;y.open(t.method.toUpperCase(),t.url,!0),y.timeout=t.timeout;function x(){if(!y)return;const F=Be.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),Y={data:!o||o==="text"||o==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:F,config:A,request:y};qf(function(BA){e(BA),v()},function(BA){n(BA),v()},Y),y=null}"onloadend"in y?y.onloadend=x:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(x)},y.onabort=function(){y&&(n(new YA("Request aborted",YA.ECONNABORTED,A,y)),y=null)},y.onerror=function(){n(new YA("Network Error",YA.ERR_NETWORK,A,y)),y=null},y.ontimeout=function(){let H=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const Y=t.transitional||Qf;t.timeoutErrorMessage&&(H=t.timeoutErrorMessage),n(new YA(H,Y.clarifyTimeoutError?YA.ETIMEDOUT:YA.ECONNABORTED,A,y)),y=null},i===void 0&&s.setContentType(null),"setRequestHeader"in y&&G.forEach(s.toJSON(),function(H,Y){y.setRequestHeader(Y,H)}),G.isUndefined(t.withCredentials)||(y.withCredentials=!!t.withCredentials),o&&o!=="json"&&(y.responseType=t.responseType),a&&([d,g]=fo(a,!0),y.addEventListener("progress",d)),l&&y.upload&&([p,u]=fo(l),y.upload.addEventListener("progress",p),y.upload.addEventListener("loadend",u)),(t.cancelToken||t.signal)&&(r=F=>{y&&(n(!F||F.type?new Nt(null,A,y):F),y.abort(),y=null)},t.cancelToken&&t.cancelToken.subscribe(r),t.signal&&(t.signal.aborted?r():t.signal.addEventListener("abort",r)));const $=OS(t.url);if($&&qC.protocols.indexOf($)===-1){n(new YA("Unsupported protocol "+$+":",YA.ERR_BAD_REQUEST,A));return}y.send(i||null)})},US=(A,C)=>{const{length:e}=A=A?A.filter(Boolean):[];if(C||e){let n=new AbortController,t;const i=function(a){if(!t){t=!0,o();const r=a instanceof Error?a:this.reason;n.abort(r instanceof YA?r:new Nt(r instanceof Error?r.message:r))}};let s=C&&setTimeout(()=>{s=null,i(new YA(`timeout ${C} of ms exceeded`,YA.ETIMEDOUT))},C);const o=()=>{A&&(s&&clearTimeout(s),s=null,A.forEach(a=>{a.unsubscribe?a.unsubscribe(i):a.removeEventListener("abort",i)}),A=null)};A.forEach(a=>a.addEventListener("abort",i));const{signal:l}=n;return l.unsubscribe=()=>G.asap(o),l}},HS=US,QS=function*(A,C){let e=A.byteLength;if(!C||e{const t=VS(A,C);let i=0,s,o=l=>{s||(s=!0,n&&n(l))};return new ReadableStream({async pull(l){try{const{done:a,value:r}=await t.next();if(a){o(),l.close();return}let p=r.byteLength;if(e){let d=i+=p;e(d)}l.enqueue(new Uint8Array(r))}catch(a){throw o(a),a}},cancel(l){return o(l),t.return()}},{highWaterMark:2})},nl=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Jf=nl&&typeof ReadableStream=="function",qS=nl&&(typeof TextEncoder=="function"?(A=>C=>A.encode(C))(new TextEncoder):async A=>new Uint8Array(await new Response(A).arrayBuffer())),Xf=(A,...C)=>{try{return!!A(...C)}catch{return!1}},WS=Jf&&Xf(()=>{let A=!1;const C=new Request(qC.origin,{body:new ReadableStream,method:"POST",get duplex(){return A=!0,"half"}}).headers.has("Content-Type");return A&&!C}),od=64*1024,Fa=Jf&&Xf(()=>G.isReadableStream(new Response("").body)),ho={stream:Fa&&(A=>A.body)};nl&&(A=>{["text","arrayBuffer","blob","formData","stream"].forEach(C=>{!ho[C]&&(ho[C]=G.isFunction(A[C])?e=>e[C]():(e,n)=>{throw new YA(`Response type '${C}' is not supported`,YA.ERR_NOT_SUPPORT,n)})})})(new Response);const YS=async A=>{if(A==null)return 0;if(G.isBlob(A))return A.size;if(G.isSpecCompliantForm(A))return(await new Request(qC.origin,{method:"POST",body:A}).arrayBuffer()).byteLength;if(G.isArrayBufferView(A)||G.isArrayBuffer(A))return A.byteLength;if(G.isURLSearchParams(A)&&(A=A+""),G.isString(A))return(await qS(A)).byteLength},JS=async(A,C)=>{const e=G.toFiniteNumber(A.getContentLength());return e??YS(C)},XS=nl&&(async A=>{let{url:C,method:e,data:n,signal:t,cancelToken:i,timeout:s,onDownloadProgress:o,onUploadProgress:l,responseType:a,headers:r,withCredentials:p="same-origin",fetchOptions:d}=Yf(A);a=a?(a+"").toLowerCase():"text";let u=HS([t,i&&i.toAbortSignal()],s),g;const v=u&&u.unsubscribe&&(()=>{u.unsubscribe()});let y;try{if(l&&WS&&e!=="get"&&e!=="head"&&(y=await JS(r,n))!==0){let Y=new Request(C,{method:"POST",body:n,duplex:"half"}),hA;if(G.isFormData(n)&&(hA=Y.headers.get("content-type"))&&r.setContentType(hA),Y.body){const[BA,cA]=nd(y,fo(td(l)));n=sd(Y.body,od,BA,cA)}}G.isString(p)||(p=p?"include":"omit");const x="credentials"in Request.prototype;g=new Request(C,{...d,signal:u,method:e.toUpperCase(),headers:r.normalize().toJSON(),body:n,duplex:"half",credentials:x?p:void 0});let $=await fetch(g);const F=Fa&&(a==="stream"||a==="response");if(Fa&&(o||F&&v)){const Y={};["status","statusText","headers"].forEach(eA=>{Y[eA]=$[eA]});const hA=G.toFiniteNumber($.headers.get("content-length")),[BA,cA]=o&&nd(hA,fo(td(o),!0))||[];$=new Response(sd($.body,od,BA,()=>{cA&&cA(),v&&v()}),Y)}a=a||"text";let H=await ho[G.findKey(ho,a)||"text"]($,A);return!F&&v&&v(),await new Promise((Y,hA)=>{qf(Y,hA,{data:H,headers:Be.from($.headers),status:$.status,statusText:$.statusText,config:A,request:g})})}catch(x){throw v&&v(),x&&x.name==="TypeError"&&/Load failed|fetch/i.test(x.message)?Object.assign(new YA("Network Error",YA.ERR_NETWORK,A,g),{cause:x.cause||x}):YA.from(x,x&&x.code,A,g)}}),Na={http:cS,xhr:GS,fetch:XS};G.forEach(Na,(A,C)=>{if(A){try{Object.defineProperty(A,"name",{value:C})}catch{}Object.defineProperty(A,"adapterName",{value:C})}});const ld=A=>`- ${A}`,ZS=A=>G.isFunction(A)||A===null||A===!1,Zf={getAdapter:A=>{A=G.isArray(A)?A:[A];const{length:C}=A;let e,n;const t={};for(let i=0;i`adapter ${o} `+(l===!1?"is not supported by the environment":"is not available in the build"));let s=C?i.length>1?`since : +`+i.map(ld).join(` +`):" "+ld(i[0]):"as no adapter specified";throw new YA("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:Na};function $l(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new Nt(null,A)}function ad(A){return $l(A),A.headers=Be.from(A.headers),A.data=Nl.call(A,A.transformRequest),["post","put","patch"].indexOf(A.method)!==-1&&A.headers.setContentType("application/x-www-form-urlencoded",!1),Zf.getAdapter(A.adapter||gc.adapter)(A).then(function(n){return $l(A),n.data=Nl.call(A,A.transformResponse,n),n.headers=Be.from(n.headers),n},function(n){return zf(n)||($l(A),n&&n.response&&(n.response.data=Nl.call(A,A.transformResponse,n.response),n.response.headers=Be.from(n.response.headers))),Promise.reject(n)})}const Ah="1.9.0",tl={};["object","boolean","number","function","string","symbol"].forEach((A,C)=>{tl[A]=function(n){return typeof n===A||"a"+(C<1?"n ":" ")+A}});const rd={};tl.transitional=function(C,e,n){function t(i,s){return"[Axios v"+Ah+"] Transitional option '"+i+"'"+s+(n?". "+n:"")}return(i,s,o)=>{if(C===!1)throw new YA(t(s," has been removed"+(e?" in "+e:"")),YA.ERR_DEPRECATED);return e&&!rd[s]&&(rd[s]=!0,console.warn(t(s," has been deprecated since v"+e+" and will be removed in the near future"))),C?C(i,s,o):!0}};tl.spelling=function(C){return(e,n)=>(console.warn(`${n} is likely a misspelling of ${C}`),!0)};function Ak(A,C,e){if(typeof A!="object")throw new YA("options must be an object",YA.ERR_BAD_OPTION_VALUE);const n=Object.keys(A);let t=n.length;for(;t-- >0;){const i=n[t],s=C[i];if(s){const o=A[i],l=o===void 0||s(o,i,A);if(l!==!0)throw new YA("option "+i+" must be "+l,YA.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new YA("Unknown option "+i,YA.ERR_BAD_OPTION)}}const Ts={assertOptions:Ak,validators:tl},Oe=Ts.validators;class go{constructor(C){this.defaults=C||{},this.interceptors={request:new Cd,response:new Cd}}async request(C,e){try{return await this._request(C,e)}catch(n){if(n instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const i=t.stack?t.stack.replace(/^.+\n/,""):"";try{n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=` +`+i):n.stack=i}catch{}}throw n}}_request(C,e){typeof C=="string"?(e=e||{},e.url=C):e=C||{},e=Ct(this.defaults,e);const{transitional:n,paramsSerializer:t,headers:i}=e;n!==void 0&&Ts.assertOptions(n,{silentJSONParsing:Oe.transitional(Oe.boolean),forcedJSONParsing:Oe.transitional(Oe.boolean),clarifyTimeoutError:Oe.transitional(Oe.boolean)},!1),t!=null&&(G.isFunction(t)?e.paramsSerializer={serialize:t}:Ts.assertOptions(t,{encode:Oe.function,serialize:Oe.function},!0)),e.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),Ts.assertOptions(e,{baseUrl:Oe.spelling("baseURL"),withXsrfToken:Oe.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=i&&G.merge(i.common,i[e.method]);i&&G.forEach(["delete","get","head","post","put","patch","common"],g=>{delete i[g]}),e.headers=Be.concat(s,i);const o=[];let l=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(e)===!1||(l=l&&v.synchronous,o.unshift(v.fulfilled,v.rejected))});const a=[];this.interceptors.response.forEach(function(v){a.push(v.fulfilled,v.rejected)});let r,p=0,d;if(!l){const g=[ad.bind(this),void 0];for(g.unshift.apply(g,o),g.push.apply(g,a),d=g.length,r=Promise.resolve(e);p{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](t);n._listeners=null}),this.promise.then=t=>{let i;const s=new Promise(o=>{n.subscribe(o),i=o}).then(t);return s.cancel=function(){n.unsubscribe(i)},s},C(function(i,s,o){n.reason||(n.reason=new Nt(i,s,o),e(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(C){if(this.reason){C(this.reason);return}this._listeners?this._listeners.push(C):this._listeners=[C]}unsubscribe(C){if(!this._listeners)return;const e=this._listeners.indexOf(C);e!==-1&&this._listeners.splice(e,1)}toAbortSignal(){const C=new AbortController,e=n=>{C.abort(n)};return this.subscribe(e),C.signal.unsubscribe=()=>this.unsubscribe(e),C.signal}static source(){let C;return{token:new bc(function(t){C=t}),cancel:C}}}const Ck=bc;function ek(A){return function(e){return A.apply(null,e)}}function nk(A){return G.isObject(A)&&A.isAxiosError===!0}const $a={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries($a).forEach(([A,C])=>{$a[C]=A});const tk=$a;function Ch(A){const C=new Fs(A),e=Df(Fs.prototype.request,C);return G.extend(e,Fs.prototype,C,{allOwnKeys:!0}),G.extend(e,C,null,{allOwnKeys:!0}),e.create=function(t){return Ch(Ct(A,t))},e}const KC=Ch(gc);KC.Axios=Fs;KC.CanceledError=Nt;KC.CancelToken=Ck;KC.isCancel=zf;KC.VERSION=Ah;KC.toFormData=Cl;KC.AxiosError=YA;KC.Cancel=KC.CanceledError;KC.all=function(C){return Promise.all(C)};KC.spread=ek;KC.isAxiosError=nk;KC.mergeConfig=Ct;KC.AxiosHeaders=Be;KC.formToJSON=A=>Vf(G.isHTMLForm(A)?new FormData(A):A);KC.getAdapter=Zf.getAdapter;KC.HttpStatusCode=tk;KC.default=KC;const Ec=KC;/** + * filesize + * + * @copyright 2024 Jason Mulligan + * @license BSD-3-Clause + * @version 10.1.6 + */const ik="array",sk="bit",cd="bits",ok="byte",ud="bytes",ct="",lk="exponent",ak="function",md="iec",rk="Invalid number",ck="Invalid rounding method",Rl="jedec",uk="object",dd=".",mk="round",dk="s",pk="si",fk="kbit",hk="kB",gk=" ",bk="string",Ek="0",Gl={symbol:{iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},fullform:{iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]}};function pd(A,{bits:C=!1,pad:e=!1,base:n=-1,round:t=2,locale:i=ct,localeOptions:s={},separator:o=ct,spacer:l=gk,symbols:a={},standard:r=ct,output:p=bk,fullform:d=!1,fullforms:u=[],exponent:g=-1,roundingMethod:v=mk,precision:y=0}={}){let x=g,$=Number(A),F=[],H=0,Y=ct;r===pk?(n=10,r=Rl):r===md||r===Rl?n=2:n===2?r=md:(n=10,r=Rl);const hA=n===10?1e3:1024,BA=d===!0,cA=$<0,eA=Math[v];if(typeof A!="bigint"&&isNaN(A))throw new TypeError(rk);if(typeof eA!==ak)throw new TypeError(ck);if(cA&&($=-$),(x===-1||isNaN(x))&&(x=Math.floor(Math.log($)/Math.log(hA)),x<0&&(x=0)),x>8&&(y>0&&(y+=8-x),x=8),p===lk)return x;if($===0)F[0]=0,Y=F[1]=Gl.symbol[r][C?cd:ud][x];else{H=$/(n===2?Math.pow(2,x*10):Math.pow(1e3,x)),C&&(H=H*8,H>=hA&&x<8&&(H=H/hA,x++));const rA=Math.pow(10,x>0?t:0);F[0]=eA(H*rA)/rA,F[0]===hA&&x<8&&g===-1&&(F[0]=1,x++),Y=F[1]=n===10&&x===1?C?fk:hk:Gl.symbol[r][C?cd:ud][x]}if(cA&&(F[0]=-F[0]),y>0&&(F[0]=F[0].toPrecision(y)),F[1]=a[F[1]]||F[1],i===!0?F[0]=F[0].toLocaleString():i.length>0?F[0]=F[0].toLocaleString(i,s):o.length>0&&(F[0]=F[0].toString().replace(dd,o)),e&&t>0){const rA=F[0].toString(),I=o||(rA.match(/(\D)/g)||[]).pop()||dd,O=rA.toString().split(I),W=O[1]||ct,V=W.length,B=t-V;F[0]=`${O[0]}${I}${W.padEnd(V+B,Ek)}`}return BA&&(F[1]=u[x]?u[x]:Gl.fullform[r][x]+(C?sk:ok)+(F[0]===1?ct:dk)),p===ik?F:p===uk?{value:F[0],symbol:F[1],exponent:x,unit:Y}:F.join(l)}function D(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Sendbox.vue",C="adab5fa6075598e131ef7351be52b89a2330ab69",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Sendbox.vue",statementMap:{0:{start:{line:8,column:18},end:{line:155,column:1}},1:{start:{line:20,column:4},end:{line:27,column:5}},2:{start:{line:31,column:6},end:{line:31,column:31}},3:{start:{line:41,column:6},end:{line:44,column:7}},4:{start:{line:42,column:8},end:{line:42,column:32}},5:{start:{line:43,column:8},end:{line:43,column:30}},6:{start:{line:48,column:6},end:{line:61,column:7}},7:{start:{line:49,column:8},end:{line:52,column:9}},8:{start:{line:50,column:10},end:{line:50,column:40}},9:{start:{line:51,column:10},end:{line:51,column:16}},10:{start:{line:53,column:8},end:{line:56,column:9}},11:{start:{line:55,column:10},end:{line:55,column:16}},12:{start:{line:57,column:8},end:{line:57,column:89}},13:{start:{line:58,column:8},end:{line:58,column:34}},14:{start:{line:60,column:8},end:{line:60,column:42}},15:{start:{line:64,column:6},end:{line:67,column:7}},16:{start:{line:66,column:8},end:{line:66,column:14}},17:{start:{line:68,column:6},end:{line:68,column:39}},18:{start:{line:69,column:6},end:{line:91,column:7}},19:{start:{line:71,column:8},end:{line:81,column:17}},20:{start:{line:72,column:10},end:{line:74,column:11}},21:{start:{line:73,column:12},end:{line:73,column:18}},22:{start:{line:75,column:10},end:{line:75,column:35}},23:{start:{line:76,column:10},end:{line:80,column:11}},24:{start:{line:77,column:12},end:{line:77,column:88}},25:{start:{line:79,column:12},end:{line:79,column:96}},26:{start:{line:82,column:8},end:{line:85,column:9}},27:{start:{line:84,column:10},end:{line:84,column:16}},28:{start:{line:87,column:8},end:{line:87,column:36}},29:{start:{line:90,column:8},end:{line:90,column:33}},30:{start:{line:92,column:6},end:{line:92,column:82}},31:{start:{line:95,column:20},end:{line:95,column:58}},32:{start:{line:96,column:6},end:{line:98,column:7}},33:{start:{line:97,column:8},end:{line:97,column:14}},34:{start:{line:99,column:6},end:{line:99,column:26}},35:{start:{line:101,column:6},end:{line:104,column:7}},36:{start:{line:102,column:8},end:{line:102,column:110}},37:{start:{line:103,column:8},end:{line:103,column:14}},38:{start:{line:106,column:6},end:{line:121,column:7}},39:{start:{line:107,column:23},end:{line:107,column:39}},40:{start:{line:108,column:19},end:{line:108,column:23}},41:{start:{line:109,column:8},end:{line:111,column:9}},42:{start:{line:110,column:10},end:{line:110,column:44}},43:{start:{line:112,column:8},end:{line:112,column:39}},44:{start:{line:113,column:13},end:{line:121,column:7}},45:{start:{line:114,column:8},end:{line:114,column:41}},46:{start:{line:115,column:13},end:{line:121,column:7}},47:{start:{line:116,column:8},end:{line:116,column:41}},48:{start:{line:117,column:13},end:{line:121,column:7}},49:{start:{line:118,column:8},end:{line:118,column:39}},50:{start:{line:120,column:8},end:{line:120,column:35}},51:{start:{line:124,column:6},end:{line:144,column:7}},52:{start:{line:126,column:37},end:{line:130,column:10}},53:{start:{line:132,column:8},end:{line:136,column:10}},54:{start:{line:138,column:8},end:{line:138,column:93}},55:{start:{line:139,column:8},end:{line:139,column:24}},56:{start:{line:140,column:8},end:{line:140,column:33}},57:{start:{line:141,column:8},end:{line:141,column:28}},58:{start:{line:143,column:8},end:{line:143,column:42}},59:{start:{line:147,column:6},end:{line:147,column:22}},60:{start:{line:148,column:6},end:{line:148,column:31}},61:{start:{line:149,column:6},end:{line:149,column:26}},62:{start:{line:152,column:6},end:{line:152,column:36}},63:{start:{line:159,column:19},end:{line:159,column:62}},64:{start:{line:160,column:19},end:{line:160,column:72}},65:{start:{line:161,column:19},end:{line:161,column:54}},66:{start:{line:162,column:19},end:{line:162,column:46}},67:{start:{line:163,column:19},end:{line:166,column:1}},68:{start:{line:167,column:19},end:{line:167,column:26}},69:{start:{line:168,column:19},end:{line:173,column:1}},70:{start:{line:174,column:19},end:{line:178,column:1}},71:{start:{line:179,column:19},end:{line:179,column:42}},72:{start:{line:182,column:34},end:{line:182,column:67}},73:{start:{line:184,column:2},end:{line:252,column:5}},74:{start:{line:186,column:71},end:{line:186,column:124}},75:{start:{line:191,column:72},end:{line:191,column:105}},76:{start:{line:197,column:79},end:{line:197,column:132}},77:{start:{line:198,column:79},end:{line:198,column:138}},78:{start:{line:200,column:61},end:{line:200,column:106}},79:{start:{line:222,column:67},end:{line:222,column:118}},80:{start:{line:241,column:68},end:{line:241,column:123}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:19,column:2},end:{line:19,column:3}},loc:{start:{line:19,column:10},end:{line:28,column:3}},line:19},1:{name:"(anonymous_1)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:15},end:{line:32,column:5}},line:30},2:{name:"(anonymous_2)",decl:{start:{line:40,column:4},end:{line:40,column:5}},loc:{start:{line:40,column:33},end:{line:45,column:5}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:47,column:4},end:{line:47,column:5}},loc:{start:{line:47,column:25},end:{line:62,column:5}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:63,column:4},end:{line:63,column:5}},loc:{start:{line:63,column:21},end:{line:93,column:5}},line:63},5:{name:"(anonymous_5)",decl:{start:{line:71,column:41},end:{line:71,column:42}},loc:{start:{line:71,column:53},end:{line:81,column:9}},line:71},6:{name:"(anonymous_6)",decl:{start:{line:94,column:4},end:{line:94,column:5}},loc:{start:{line:94,column:21},end:{line:122,column:5}},line:94},7:{name:"(anonymous_7)",decl:{start:{line:109,column:24},end:{line:109,column:25}},loc:{start:{line:109,column:31},end:{line:111,column:9}},line:109},8:{name:"(anonymous_8)",decl:{start:{line:123,column:4},end:{line:123,column:5}},loc:{start:{line:123,column:26},end:{line:145,column:5}},line:123},9:{name:"(anonymous_9)",decl:{start:{line:146,column:4},end:{line:146,column:5}},loc:{start:{line:146,column:18},end:{line:150,column:5}},line:146},10:{name:"(anonymous_10)",decl:{start:{line:151,column:4},end:{line:151,column:5}},loc:{start:{line:151,column:21},end:{line:153,column:5}},line:151},11:{name:"_sfc_render",decl:{start:{line:181,column:9},end:{line:181,column:20}},loc:{start:{line:181,column:68},end:{line:253,column:1}},line:181},12:{name:"(anonymous_12)",decl:{start:{line:186,column:57},end:{line:186,column:58}},loc:{start:{line:186,column:71},end:{line:186,column:124}},line:186},13:{name:"(anonymous_13)",decl:{start:{line:191,column:61},end:{line:191,column:62}},loc:{start:{line:191,column:72},end:{line:191,column:105}},line:191},14:{name:"(anonymous_14)",decl:{start:{line:197,column:65},end:{line:197,column:66}},loc:{start:{line:197,column:79},end:{line:197,column:132}},line:197},15:{name:"(anonymous_15)",decl:{start:{line:198,column:65},end:{line:198,column:66}},loc:{start:{line:198,column:79},end:{line:198,column:138}},line:198},16:{name:"(anonymous_16)",decl:{start:{line:200,column:47},end:{line:200,column:48}},loc:{start:{line:200,column:61},end:{line:200,column:106}},line:200},17:{name:"(anonymous_17)",decl:{start:{line:222,column:53},end:{line:222,column:54}},loc:{start:{line:222,column:67},end:{line:222,column:118}},line:222},18:{name:"(anonymous_18)",decl:{start:{line:241,column:54},end:{line:241,column:55}},loc:{start:{line:241,column:68},end:{line:241,column:123}},line:241}},branchMap:{0:{loc:{start:{line:41,column:6},end:{line:44,column:7}},type:"if",locations:[{start:{line:41,column:6},end:{line:44,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:49,column:8},end:{line:52,column:9}},type:"if",locations:[{start:{line:49,column:8},end:{line:52,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:49},2:{loc:{start:{line:53,column:8},end:{line:56,column:9}},type:"if",locations:[{start:{line:53,column:8},end:{line:56,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:53},3:{loc:{start:{line:64,column:6},end:{line:67,column:7}},type:"if",locations:[{start:{line:64,column:6},end:{line:67,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},4:{loc:{start:{line:69,column:6},end:{line:91,column:7}},type:"if",locations:[{start:{line:69,column:6},end:{line:91,column:7}},{start:{line:88,column:13},end:{line:91,column:7}}],line:69},5:{loc:{start:{line:72,column:10},end:{line:74,column:11}},type:"if",locations:[{start:{line:72,column:10},end:{line:74,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:72},6:{loc:{start:{line:82,column:8},end:{line:85,column:9}},type:"if",locations:[{start:{line:82,column:8},end:{line:85,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:82},7:{loc:{start:{line:95,column:20},end:{line:95,column:58}},type:"binary-expr",locations:[{start:{line:95,column:20},end:{line:95,column:34}},{start:{line:95,column:38},end:{line:95,column:58}}],line:95},8:{loc:{start:{line:96,column:6},end:{line:98,column:7}},type:"if",locations:[{start:{line:96,column:6},end:{line:98,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},9:{loc:{start:{line:101,column:6},end:{line:104,column:7}},type:"if",locations:[{start:{line:101,column:6},end:{line:104,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:101},10:{loc:{start:{line:106,column:6},end:{line:121,column:7}},type:"if",locations:[{start:{line:106,column:6},end:{line:121,column:7}},{start:{line:113,column:13},end:{line:121,column:7}}],line:106},11:{loc:{start:{line:113,column:13},end:{line:121,column:7}},type:"if",locations:[{start:{line:113,column:13},end:{line:121,column:7}},{start:{line:115,column:13},end:{line:121,column:7}}],line:113},12:{loc:{start:{line:115,column:13},end:{line:121,column:7}},type:"if",locations:[{start:{line:115,column:13},end:{line:121,column:7}},{start:{line:117,column:13},end:{line:121,column:7}}],line:115},13:{loc:{start:{line:117,column:13},end:{line:121,column:7}},type:"if",locations:[{start:{line:117,column:13},end:{line:121,column:7}},{start:{line:119,column:13},end:{line:121,column:7}}],line:117},14:{loc:{start:{line:186,column:16},end:{line:186,column:140}},type:"binary-expr",locations:[{start:{line:186,column:16},end:{line:186,column:25}},{start:{line:186,column:30},end:{line:186,column:139}}],line:186},15:{loc:{start:{line:186,column:71},end:{line:186,column:124}},type:"binary-expr",locations:[{start:{line:186,column:71},end:{line:186,column:91}},{start:{line:186,column:95},end:{line:186,column:124}}],line:186},16:{loc:{start:{line:191,column:35},end:{line:191,column:107}},type:"binary-expr",locations:[{start:{line:191,column:35},end:{line:191,column:44}},{start:{line:191,column:49},end:{line:191,column:106}}],line:191},17:{loc:{start:{line:193,column:25},end:{line:193,column:57}},type:"cond-expr",locations:[{start:{line:193,column:38},end:{line:193,column:52}},{start:{line:193,column:55},end:{line:193,column:57}}],line:193},18:{loc:{start:{line:195,column:22},end:{line:195,column:59}},type:"binary-expr",locations:[{start:{line:195,column:22},end:{line:195,column:41}},{start:{line:195,column:45},end:{line:195,column:59}}],line:195},19:{loc:{start:{line:197,column:14},end:{line:197,column:157}},type:"binary-expr",locations:[{start:{line:197,column:14},end:{line:197,column:23}},{start:{line:197,column:28},end:{line:197,column:156}}],line:197},20:{loc:{start:{line:197,column:79},end:{line:197,column:132}},type:"binary-expr",locations:[{start:{line:197,column:79},end:{line:197,column:99}},{start:{line:197,column:103},end:{line:197,column:132}}],line:197},21:{loc:{start:{line:198,column:14},end:{line:198,column:164}},type:"binary-expr",locations:[{start:{line:198,column:14},end:{line:198,column:23}},{start:{line:198,column:28},end:{line:198,column:163}}],line:198},22:{loc:{start:{line:198,column:79},end:{line:198,column:138}},type:"binary-expr",locations:[{start:{line:198,column:79},end:{line:198,column:102}},{start:{line:198,column:106},end:{line:198,column:138}}],line:198},23:{loc:{start:{line:200,column:21},end:{line:200,column:108}},type:"binary-expr",locations:[{start:{line:200,column:21},end:{line:200,column:30}},{start:{line:200,column:35},end:{line:200,column:107}}],line:200},24:{loc:{start:{line:200,column:61},end:{line:200,column:106}},type:"binary-expr",locations:[{start:{line:200,column:61},end:{line:200,column:77}},{start:{line:200,column:81},end:{line:200,column:106}}],line:200},25:{loc:{start:{line:204,column:10},end:{line:225,column:43}},type:"cond-expr",locations:[{start:{line:205,column:15},end:{line:224,column:16}},{start:{line:225,column:14},end:{line:225,column:43}}],line:204},26:{loc:{start:{line:204,column:11},end:{line:204,column:48}},type:"binary-expr",locations:[{start:{line:204,column:11},end:{line:204,column:30}},{start:{line:204,column:34},end:{line:204,column:48}}],line:204},27:{loc:{start:{line:206,column:16},end:{line:212,column:49}},type:"cond-expr",locations:[{start:{line:207,column:21},end:{line:211,column:43}},{start:{line:212,column:20},end:{line:212,column:49}}],line:206},28:{loc:{start:{line:213,column:16},end:{line:218,column:49}},type:"cond-expr",locations:[{start:{line:214,column:21},end:{line:217,column:31}},{start:{line:218,column:20},end:{line:218,column:49}}],line:213},29:{loc:{start:{line:222,column:27},end:{line:222,column:120}},type:"binary-expr",locations:[{start:{line:222,column:27},end:{line:222,column:36}},{start:{line:222,column:41},end:{line:222,column:119}}],line:222},30:{loc:{start:{line:222,column:67},end:{line:222,column:118}},type:"binary-expr",locations:[{start:{line:222,column:67},end:{line:222,column:86}},{start:{line:222,column:90},end:{line:222,column:118}}],line:222},31:{loc:{start:{line:228,column:8},end:{line:249,column:15}},type:"cond-expr",locations:[{start:{line:229,column:13},end:{line:234,column:15}},{start:{line:235,column:13},end:{line:249,column:14}}],line:228},32:{loc:{start:{line:228,column:9},end:{line:228,column:76}},type:"binary-expr",locations:[{start:{line:228,column:9},end:{line:228,column:31}},{start:{line:228,column:35},end:{line:228,column:45}},{start:{line:228,column:49},end:{line:228,column:76}}],line:228},33:{loc:{start:{line:229,column:69},end:{line:234,column:14}},type:"binary-expr",locations:[{start:{line:229,column:69},end:{line:229,column:78}},{start:{line:229,column:83},end:{line:234,column:13}}],line:229},34:{loc:{start:{line:241,column:28},end:{line:241,column:125}},type:"binary-expr",locations:[{start:{line:241,column:28},end:{line:241,column:37}},{start:{line:241,column:42},end:{line:241,column:124}}],line:241},35:{loc:{start:{line:241,column:68},end:{line:241,column:123}},type:"binary-expr",locations:[{start:{line:241,column:68},end:{line:241,column:89}},{start:{line:241,column:93},end:{line:241,column:123}}],line:241},36:{loc:{start:{line:243,column:16},end:{line:247,column:23}},type:"binary-expr",locations:[{start:{line:243,column:16},end:{line:243,column:25}},{start:{line:243,column:30},end:{line:247,column:22}}],line:243}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Sendbox.vue"],names:[],mappings:"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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAClC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAClC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAChC,EAAE,CAAC,CAAC,CAAC,EAAE;QACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5B;IACF,CAAC;IA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"adab5fa6075598e131ef7351be52b89a2330ab69"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return D=function(){return s},s}D();const yk=(D().s[0]++,{name:"Sendbox",components:{EmojiPicker:SB},props:{isRoom:{type:Boolean,default:!1}},data(){return D().f[0]++,D().s[1]++,{composingMessage:"",file:null,fileThumbnail:null,fileIcon:null,chatState:null,pauseTimeoutId:null}},computed:{userJid(){return D().f[1]++,D().s[2]++,this.$xmpp.fullJid},...je(ZC,["activeChat","httpFileUploadMaxSize","isSendingTypingChatStates"])},methods:{async handleEnterKey(A){D().f[2]++,D().s[3]++,window.config.hasSendingEnterKey?(D().b[0][0]++,D().s[4]++,await this.sendMessage(),D().s[5]++,A.preventDefault()):D().b[0][1]++},async sendMessage(){D().f[3]++,D().s[6]++;try{if(D().s[7]++,this.file){D().b[1][0]++,D().s[8]++,await this.postFile(this.file),D().s[9]++;return}else D().b[1][1]++;if(D().s[10]++,this.composingMessage.trim()===""){D().b[2][0]++,D().s[11]++;return}else D().b[2][1]++;D().s[12]++,await this.$xmpp.sendMessage(this.activeChat,this.composingMessage,this.isRoom),D().s[13]++,this.composingMessage=""}catch(A){D().s[14]++,console.error("send error",A)}},async onInput(){if(D().f[4]++,D().s[15]++,this.isSendingTypingChatStates)D().b[3][1]++;else{D().b[3][0]++,D().s[16]++;return}if(D().s[17]++,clearTimeout(this.pauseTimeoutId),D().s[18]++,this.composingMessage){if(D().b[4][0]++,D().s[19]++,this.pauseTimeoutId=setTimeout(async()=>{if(D().f[5]++,D().s[20]++,this.userJid)D().b[5][1]++;else{D().b[5][0]++,D().s[21]++;return}D().s[22]++,this.chatState="paused",D().s[23]++;try{D().s[24]++,await this.$xmpp.sendChatState(this.activeChat,this.isRoom,this.chatState)}catch(A){D().s[25]++,console.warn(`Can not send state chat (${A.message}), are you still connected?`)}},15e3),D().s[26]++,this.chatState==="composing"){D().b[6][0]++,D().s[27]++;return}else D().b[6][1]++;D().s[28]++,this.chatState="composing"}else D().b[4][1]++,D().s[29]++,this.chatState="active";D().s[30]++,await this.$xmpp.sendChatState(this.activeChat,this.isRoom,this.chatState)},onFileChange(A){D().f[6]++;const C=(D().s[31]++,D().b[7][0]++,A.target.files||(D().b[7][1]++,A.dataTransfer.files));if(D().s[32]++,C.length)D().b[8][1]++;else{D().b[8][0]++,D().s[33]++;return}if(D().s[34]++,this.file=C[0],D().s[35]++,this.file.size>this.httpFileUploadMaxSize){D().b[9][0]++,D().s[36]++,alert(`File is too big (${pd(this.file.size)}, max is ${pd(this.httpFileUploadMaxSize)})`),D().s[37]++;return}else D().b[9][1]++;if(D().s[38]++,this.file.type.startsWith("image/")){D().b[10][0]++;const e=(D().s[39]++,new FileReader),n=(D().s[40]++,this);D().s[41]++,e.onload=t=>{D().f[7]++,D().s[42]++,n.fileThumbnail=t.target.result},D().s[43]++,e.readAsDataURL(this.file)}else D().b[10][1]++,D().s[44]++,this.file.type.startsWith("audio/")?(D().b[11][0]++,D().s[45]++,this.fileIcon="fa-file-audio-o"):(D().b[11][1]++,D().s[46]++,this.file.type.startsWith("video/")?(D().b[12][0]++,D().s[47]++,this.fileIcon="fa-file-video-o"):(D().b[12][1]++,D().s[48]++,this.file.type.includes("pdf")?(D().b[13][0]++,D().s[49]++,this.fileIcon="fa-file-pdf-o"):(D().b[13][1]++,D().s[50]++,this.fileIcon="fa-file-o")))},async postFile(A){D().f[8]++,D().s[51]++;try{const C=(D().s[52]++,await this.$xmpp.getUploadSlot(null,{filename:A.name,size:A.size,"content-type":A.type}));D().s[53]++,await Ec.put(C.upload.url,A,{headers:{"Content-Type":A.type}}),D().s[54]++,await this.$xmpp.sendUrl(this.activeChat,C.download,this.isRoom),D().s[55]++,this.file=null,D().s[56]++,this.fileThumbnail=null,D().s[57]++,this.fileIcon=null}catch(C){D().s[58]++,console.error("httpUpload",C)}},removeFile(){D().f[9]++,D().s[59]++,this.file=null,D().s[60]++,this.fileThumbnail=null,D().s[61]++,this.fileIcon=null},addEmoji(A){D().f[10]++,D().s[62]++,this.composingMessage+=A}}}),vk=(D().s[63]++,{class:"sendbox has-border-top-shade-3"}),wk=(D().s[64]++,{class:"field is-flex is-align-items-center mr-3"}),Bk=(D().s[65]++,{class:"control is-flex-grow-1"}),Sk=(D().s[66]++,["placeholder","disabled"]),kk=(D().s[67]++,{key:0,class:"thumbnail-container"}),xk=(D().s[68]++,["src"]),_k=(D().s[69]++,{key:0,type:"submit",class:"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3",title:"Send message"}),jk=(D().s[70]++,{key:1,class:"file has-no-border is-size-4",title:"Send a file"}),Ik=(D().s[71]++,{class:"file-label"});function Mk(A,C,e,n,t,i){D().f[11]++;const s=(D().s[72]++,AA("emoji-picker"));return D().s[73]++,h(),Q("div",vk,[b("form",{onSubmit:(D().b[14][0]++,C[6]||(D().b[14][1]++,C[6]=MA((...o)=>(D().f[12]++,D().s[74]++,D().b[15][0]++,i.sendMessage&&(D().b[15][1]++,i.sendMessage(...o))),["prevent"])))},[b("div",wk,[b("div",Bk,[HA(b("textarea",{"onUpdate:modelValue":(D().b[16][0]++,C[0]||(D().b[16][1]++,C[0]=o=>(D().f[13]++,D().s[75]++,t.composingMessage=o))),class:"textarea has-background-shade-4 is-shadowless has-placeholder-shade-1",placeholder:t.file?(D().b[17][1]++,""):(D().b[17][0]++,"Send message"),rows:"2",disabled:(D().b[18][0]++,t.fileThumbnail||(D().b[18][1]++,t.fileIcon)),onKeydown:[(D().b[19][0]++,C[1]||(D().b[19][1]++,C[1]=mC(MA((...o)=>(D().f[14]++,D().s[76]++,D().b[20][0]++,i.sendMessage&&(D().b[20][1]++,i.sendMessage(...o))),["ctrl"]),["enter"]))),(D().b[21][0]++,C[2]||(D().b[21][1]++,C[2]=mC(MA((...o)=>(D().f[15]++,D().s[77]++,D().b[22][0]++,i.handleEnterKey&&(D().b[22][1]++,i.handleEnterKey(...o))),["exact"]),["enter"])))],onInput:(D().b[23][0]++,C[3]||(D().b[23][1]++,C[3]=(...o)=>(D().f[16]++,D().s[78]++,D().b[24][0]++,i.onInput&&(D().b[24][1]++,i.onInput(...o)))))},null,40,Sk),[[we,t.composingMessage]]),(D().b[26][0]++,t.fileThumbnail||(D().b[26][1]++,t.fileIcon)?(D().b[25][0]++,h(),Q("div",kk,[t.fileThumbnail?(D().b[27][0]++,h(),Q("img",{key:0,src:t.fileThumbnail,class:"thumbnail"},null,8,xk)):(D().b[27][1]++,L("",!0)),t.fileIcon?(D().b[28][0]++,h(),Q("i",{key:1,class:zA(["fa fa-2x",t.fileIcon])},null,2)):(D().b[28][1]++,L("",!0)),b("button",{class:"delete has-background-grey-light",title:"Remove file",onClick:(D().b[29][0]++,C[4]||(D().b[29][1]++,C[4]=(...o)=>(D().f[17]++,D().s[79]++,D().b[30][0]++,i.removeFile&&(D().b[30][1]++,i.removeFile(...o)))))})])):(D().b[25][1]++,L("",!0)))]),k(s,{onEmojiPicked:i.addEmoji},null,8,["onEmojiPicked"]),(D().b[32][0]++,t.composingMessage||(D().b[32][1]++,t.file)||(D().b[32][2]++,!A.httpFileUploadMaxSize)?(D().b[31][0]++,h(),Q("button",_k,(D().b[33][0]++,C[7]||(D().b[33][1]++,C[7]=[b("i",{class:"fa fa-paper-plane","aria-hidden":"true"},null,-1)])))):(D().b[31][1]++,h(),Q("div",jk,[b("label",Ik,[b("input",{class:"file-input",type:"file",name:"resume",onChange:(D().b[34][0]++,C[5]||(D().b[34][1]++,C[5]=(...o)=>(D().f[18]++,D().s[80]++,D().b[35][0]++,i.onFileChange&&(D().b[35][1]++,i.onFileChange(...o)))))},null,32),(D().b[36][0]++,C[8]||(D().b[36][1]++,C[8]=b("span",{class:"file-cta is-primary-ghost has-no-border is-size-4 px-3"},[b("span",{class:"file-icon mr-0"},[b("i",{class:"fa fa-paperclip is-primary-ghost is-size-4"})])],-1)))])])))])],32)])}const Dk=pC(yk,[["render",Mk]]);function qA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Presence.vue",C="60794b3ad02c46aac6382f4206d58efb92e575b2",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Presence.vue",statementMap:{0:{start:{line:2,column:18},end:{line:55,column:1}},1:{start:{line:16,column:6},end:{line:26,column:7}},2:{start:{line:18,column:10},end:{line:18,column:34}},3:{start:{line:21,column:10},end:{line:21,column:35}},4:{start:{line:23,column:10},end:{line:23,column:38}},5:{start:{line:25,column:10},end:{line:25,column:35}},6:{start:{line:29,column:6},end:{line:39,column:7}},7:{start:{line:31,column:10},end:{line:31,column:25}},8:{start:{line:34,column:10},end:{line:34,column:26}},9:{start:{line:36,column:10},end:{line:36,column:33}},10:{start:{line:38,column:10},end:{line:38,column:32}},11:{start:{line:42,column:6},end:{line:52,column:7}},12:{start:{line:44,column:10},end:{line:44,column:33}},13:{start:{line:47,column:10},end:{line:47,column:23}},14:{start:{line:49,column:10},end:{line:49,column:31}},15:{start:{line:51,column:10},end:{line:51,column:28}},16:{start:{line:59,column:19},end:{line:59,column:40}},17:{start:{line:60,column:19},end:{line:63,column:1}},18:{start:{line:66,column:2},end:{line:78,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:23},end:{line:27,column:5}},line:15},1:{name:"(anonymous_1)",decl:{start:{line:28,column:4},end:{line:28,column:5}},loc:{start:{line:28,column:17},end:{line:40,column:5}},line:28},2:{name:"(anonymous_2)",decl:{start:{line:41,column:4},end:{line:41,column:5}},loc:{start:{line:41,column:12},end:{line:53,column:5}},line:41},3:{name:"_sfc_render",decl:{start:{line:65,column:9},end:{line:65,column:20}},loc:{start:{line:65,column:68},end:{line:79,column:1}},line:65}},branchMap:{0:{loc:{start:{line:16,column:6},end:{line:26,column:7}},type:"switch",locations:[{start:{line:17,column:8},end:{line:18,column:34}},{start:{line:19,column:8},end:{line:19,column:20}},{start:{line:20,column:8},end:{line:21,column:35}},{start:{line:22,column:8},end:{line:23,column:38}},{start:{line:24,column:8},end:{line:25,column:35}}],line:16},1:{loc:{start:{line:29,column:6},end:{line:39,column:7}},type:"switch",locations:[{start:{line:30,column:8},end:{line:31,column:25}},{start:{line:32,column:8},end:{line:32,column:20}},{start:{line:33,column:8},end:{line:34,column:26}},{start:{line:35,column:8},end:{line:36,column:33}},{start:{line:37,column:8},end:{line:38,column:32}}],line:29},2:{loc:{start:{line:42,column:6},end:{line:52,column:7}},type:"switch",locations:[{start:{line:43,column:8},end:{line:44,column:33}},{start:{line:45,column:8},end:{line:45,column:20}},{start:{line:46,column:8},end:{line:47,column:23}},{start:{line:48,column:8},end:{line:49,column:31}},{start:{line:50,column:8},end:{line:51,column:28}}],line:42},3:{loc:{start:{line:75,column:4},end:{line:77,column:37}},type:"cond-expr",locations:[{start:{line:76,column:9},end:{line:76,column:98}},{start:{line:77,column:8},end:{line:77,column:37}}],line:75}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0,0,0,0],1:[0,0,0,0,0],2:[0,0,0,0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Presence.vue"],names:[],mappings:";AAWA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAChB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACR,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACZ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACjB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;UACP,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACL,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5B;IACF,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACX,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;UACP,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACL,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACzB;IACF,CAAC;IACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACN,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACrB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;UACP,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACL,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACrB;IACF,CAAC;EACH,CAAC;AACH;;;;qBA9DU,KAAK,EAAC,UAAU;;;EAII,KAAK,EAAC,MAAM;;;;wBALxC,oBAMO;IALL,oBAGO,QAHP,UAGO;MAFL,oBAA+D;QAA5D,KAAK,mBAAC,0BAA0B,EAAS,wBAAe;;MAC3D,oBAAgE;QAA7D,KAAK,mBAAC,iCAAiC,EAAS,kBAAS;;;KAElD,mBAAY;uBAAxB,oBAAwD,QAAxD,UAAwD,mBAAd,aAAI"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"60794b3ad02c46aac6382f4206d58efb92e575b2"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return qA=function(){return s},s}qA();const Pk=(qA().s[0]++,{name:"Presence",props:{presence:{type:String,required:!0},displayLabel:{type:Boolean,default:!0}},computed:{backgroundClass(){switch(qA().f[0]++,qA().s[1]++,this.presence){case"dnd":return qA().b[0][0]++,qA().s[2]++,"has-text-danger";case"away":qA().b[0][1]++;case"xa":return qA().b[0][2]++,qA().s[3]++,"has-text-warning";case"off":return qA().b[0][3]++,qA().s[4]++,"has-text-grey-light";default:return qA().b[0][4]++,qA().s[5]++,"has-text-success"}},iconClass(){switch(qA().f[1]++,qA().s[6]++,this.presence){case"dnd":return qA().b[1][0]++,qA().s[7]++,"fa-ban";case"away":qA().b[1][1]++;case"xa":return qA().b[1][2]++,qA().s[8]++,"fa-moon";case"off":return qA().b[1][3]++,qA().s[9]++,"fa-exclamation";default:return qA().b[1][4]++,qA().s[10]++,"fa-comments-o"}},text(){switch(qA().f[2]++,qA().s[11]++,this.presence){case"dnd":return qA().b[2][0]++,qA().s[12]++,"Do not disturb";case"away":qA().b[2][1]++;case"xa":return qA().b[2][2]++,qA().s[13]++,"Away";case"off":return qA().b[2][3]++,qA().s[14]++,"Disconnected";default:return qA().b[2][4]++,qA().s[15]++,"Available"}}}}),Ok=(qA().s[16]++,{class:"fa-stack"}),Lk=(qA().s[17]++,{key:0,class:"ml-3"});function Kk(A,C,e,n,t,i){return qA().f[3]++,qA().s[18]++,h(),Q("span",null,[b("span",Ok,[b("i",{class:zA(["fa fa-circle fa-stack-2x",i.backgroundClass])},null,2),b("i",{class:zA(["fa fa-stack-1x fa-inverse fa-fw",i.iconClass])},null,2)]),e.displayLabel?(qA().b[3][0]++,h(),Q("span",Lk,lA(i.text),1)):(qA().b[3][1]++,L("",!0))])}const Tk=pC(Pk,[["render",Kk]]);function iC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/NotificationsSwitch.vue",C="3319434d5d613c56aa8b72fe6285e4315f3595f6",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/NotificationsSwitch.vue",statementMap:{0:{start:{line:6,column:26},end:{line:6,column:51}},1:{start:{line:8,column:18},end:{line:41,column:1}},2:{start:{line:11,column:28},end:{line:11,column:48}},3:{start:{line:12,column:4},end:{line:12,column:52}},4:{start:{line:20,column:8},end:{line:20,column:43}},5:{start:{line:23,column:8},end:{line:27,column:9}},6:{start:{line:24,column:10},end:{line:24,column:74}},7:{start:{line:26,column:10},end:{line:26,column:52}},8:{start:{line:28,column:8},end:{line:28,column:59}},9:{start:{line:33,column:36},end:{line:33,column:75}},10:{start:{line:34,column:4},end:{line:36,column:5}},11:{start:{line:35,column:6},end:{line:35,column:57}},12:{start:{line:45,column:19},end:{line:45,column:29}},13:{start:{line:48,column:30},end:{line:48,column:59}},14:{start:{line:50,column:2},end:{line:71,column:35}},15:{start:{line:54,column:70},end:{line:54,column:119}},16:{start:{line:58,column:34},end:{line:66,column:12}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:10},end:{line:13,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:19,column:6},end:{line:19,column:7}},loc:{start:{line:19,column:12},end:{line:21,column:7}},line:19},2:{name:"(anonymous_2)",decl:{start:{line:22,column:6},end:{line:22,column:7}},loc:{start:{line:22,column:35},end:{line:29,column:7}},line:22},3:{name:"(anonymous_3)",decl:{start:{line:32,column:2},end:{line:32,column:3}},loc:{start:{line:32,column:13},end:{line:37,column:3}},line:32},4:{name:"_sfc_render",decl:{start:{line:47,column:9},end:{line:47,column:20}},loc:{start:{line:47,column:68},end:{line:72,column:1}},line:47},5:{name:"(anonymous_5)",decl:{start:{line:54,column:59},end:{line:54,column:60}},loc:{start:{line:54,column:70},end:{line:54,column:119}},line:54},6:{name:"(anonymous_6)",decl:{start:{line:58,column:28},end:{line:58,column:29}},loc:{start:{line:58,column:34},end:{line:66,column:12}},line:58}},branchMap:{0:{loc:{start:{line:23,column:8},end:{line:27,column:9}},type:"if",locations:[{start:{line:23,column:8},end:{line:27,column:9}},{start:{line:25,column:15},end:{line:27,column:9}}],line:23},1:{loc:{start:{line:34,column:4},end:{line:36,column:5}},type:"if",locations:[{start:{line:34,column:4},end:{line:36,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:34},2:{loc:{start:{line:50,column:9},end:{line:71,column:35}},type:"cond-expr",locations:[{start:{line:51,column:7},end:{line:70,column:8}},{start:{line:71,column:6},end:{line:71,column:35}}],line:50},3:{loc:{start:{line:54,column:33},end:{line:54,column:121}},type:"binary-expr",locations:[{start:{line:54,column:33},end:{line:54,column:42}},{start:{line:54,column:47},end:{line:54,column:120}}],line:54},4:{loc:{start:{line:58,column:34},end:{line:66,column:12}},type:"binary-expr",locations:[{start:{line:58,column:34},end:{line:58,column:43}},{start:{line:58,column:48},end:{line:66,column:11}}],line:58}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/NotificationsSwitch.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3319434d5d613c56aa8b72fe6285e4315f3595f6"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return iC=function(){return s},s}iC();const Ul=(iC().s[0]++,"hasNotificationsEnabled"),Fk=(iC().s[1]++,{name:"NotificationsSwitch",setup(){iC().f[0]++;const{isSupported:A}=(iC().s[2]++,Zp());return iC().s[3]++,{isNotificationsSupported:A}},computed:{...je(ZC,["hasNotificationsEnabled"]),hasNotificationsEnabledSwitch:{get(){return iC().f[1]++,iC().s[4]++,this.hasNotificationsEnabled},set(A){iC().f[2]++,iC().s[5]++,A?(iC().b[0][0]++,iC().s[6]++,localStorage.setItem(Ul,A)):(iC().b[0][1]++,iC().s[7]++,localStorage.removeItem(Ul)),iC().s[8]++,this.setNotificationStatus(A)}}},mounted(){iC().f[3]++;const A=(iC().s[9]++,localStorage.getItem(Ul));iC().s[10]++,A?(iC().b[1][0]++,iC().s[11]++,this.setNotificationStatus(A)):iC().b[1][1]++},methods:{...qp(ZC,["setNotificationStatus"])}}),Nk=(iC().s[12]++,{key:0});function $k(A,C,e,n,t,i){iC().f[4]++;const s=(iC().s[13]++,AA("o-switch"));return iC().s[14]++,n.isNotificationsSupported?(iC().b[2][0]++,h(),Q("div",Nk,[k(s,{modelValue:i.hasNotificationsEnabledSwitch,"onUpdate:modelValue":(iC().b[3][0]++,C[0]||(iC().b[3][1]++,C[0]=o=>(iC().f[5]++,iC().s[15]++,i.hasNotificationsEnabledSwitch=o))),title:"Allow the browser to send you notifications when you miss messages",class:"has-no-wrap"},{default:SA(()=>(iC().f[6]++,iC().s[16]++,iC().b[4][0]++,C[1]||(iC().b[4][1]++,C[1]=[b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-bell-ringing fa-fw","aria-hidden":"true"})],-1),cC("Notifications")]))),_:1,__:[1]},8,["modelValue"])])):(iC().b[2][1]++,L("",!0))}const Rk=pC(Fk,[["render",$k]]);function J(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/PresenceController.vue",C="59f40fe11c50209fbd34c8d3a3b564b48d143df1",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/PresenceController.vue",statementMap:{0:{start:{line:7,column:33},end:{line:7,column:63}},1:{start:{line:8,column:32},end:{line:8,column:61}},2:{start:{line:10,column:18},end:{line:90,column:1}},3:{start:{line:27,column:4},end:{line:29,column:5}},4:{start:{line:42,column:8},end:{line:42,column:45}},5:{start:{line:45,column:8},end:{line:49,column:9}},6:{start:{line:46,column:10},end:{line:46,column:62}},7:{start:{line:48,column:10},end:{line:48,column:59}},8:{start:{line:50,column:8},end:{line:50,column:66}},9:{start:{line:55,column:8},end:{line:55,column:47}},10:{start:{line:58,column:8},end:{line:62,column:9}},11:{start:{line:59,column:10},end:{line:59,column:61}},12:{start:{line:61,column:10},end:{line:61,column:58}},13:{start:{line:63,column:8},end:{line:63,column:70}},14:{start:{line:68,column:4},end:{line:68,column:92}},15:{start:{line:69,column:4},end:{line:69,column:93}},16:{start:{line:73,column:6},end:{line:73,column:49}},17:{start:{line:76,column:6},end:{line:82,column:7}},18:{start:{line:77,column:8},end:{line:77,column:62}},19:{start:{line:78,column:8},end:{line:78,column:63}},20:{start:{line:80,column:8},end:{line:80,column:65}},21:{start:{line:81,column:8},end:{line:81,column:66}},22:{start:{line:85,column:6},end:{line:87,column:7}},23:{start:{line:86,column:8},end:{line:86,column:65}},24:{start:{line:94,column:19},end:{line:94,column:30}},25:{start:{line:97,column:30},end:{line:97,column:59}},26:{start:{line:98,column:30},end:{line:98,column:59}},27:{start:{line:99,column:42},end:{line:99,column:83}},28:{start:{line:101,column:2},end:{line:214,column:8}},29:{start:{line:130,column:14},end:{line:136,column:32}},30:{start:{line:133,column:36},end:{line:133,column:72}},31:{start:{line:146,column:76},end:{line:146,column:107}},32:{start:{line:151,column:40},end:{line:159,column:18}},33:{start:{line:172,column:76},end:{line:172,column:127}},34:{start:{line:176,column:40},end:{line:184,column:18}},35:{start:{line:194,column:76},end:{line:194,column:129}},36:{start:{line:198,column:40},end:{line:206,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:26,column:2},end:{line:26,column:3}},loc:{start:{line:26,column:10},end:{line:30,column:3}},line:26},1:{name:"(anonymous_1)",decl:{start:{line:41,column:6},end:{line:41,column:7}},loc:{start:{line:41,column:12},end:{line:43,column:7}},line:41},2:{name:"(anonymous_2)",decl:{start:{line:44,column:6},end:{line:44,column:7}},loc:{start:{line:44,column:37},end:{line:51,column:7}},line:44},3:{name:"(anonymous_3)",decl:{start:{line:54,column:6},end:{line:54,column:7}},loc:{start:{line:54,column:12},end:{line:56,column:7}},line:54},4:{name:"(anonymous_4)",decl:{start:{line:57,column:6},end:{line:57,column:7}},loc:{start:{line:57,column:39},end:{line:64,column:7}},line:57},5:{name:"(anonymous_5)",decl:{start:{line:67,column:2},end:{line:67,column:3}},loc:{start:{line:67,column:13},end:{line:70,column:3}},line:67},6:{name:"(anonymous_6)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:27},end:{line:74,column:5}},line:72},7:{name:"(anonymous_7)",decl:{start:{line:75,column:4},end:{line:75,column:5}},loc:{start:{line:75,column:23},end:{line:83,column:5}},line:75},8:{name:"(anonymous_8)",decl:{start:{line:84,column:4},end:{line:84,column:5}},loc:{start:{line:84,column:29},end:{line:88,column:5}},line:84},9:{name:"_sfc_render",decl:{start:{line:96,column:9},end:{line:96,column:20}},loc:{start:{line:96,column:68},end:{line:215,column:1}},line:96},10:{name:"(anonymous_10)",decl:{start:{line:129,column:101},end:{line:129,column:102}},loc:{start:{line:129,column:121},end:{line:137,column:13}},line:129},11:{name:"(anonymous_11)",decl:{start:{line:133,column:25},end:{line:133,column:26}},loc:{start:{line:133,column:36},end:{line:133,column:72}},line:133},12:{name:"(anonymous_12)",decl:{start:{line:146,column:65},end:{line:146,column:66}},loc:{start:{line:146,column:76},end:{line:146,column:107}},line:146},13:{name:"(anonymous_13)",decl:{start:{line:151,column:34},end:{line:151,column:35}},loc:{start:{line:151,column:40},end:{line:159,column:18}},line:151},14:{name:"(anonymous_14)",decl:{start:{line:172,column:65},end:{line:172,column:66}},loc:{start:{line:172,column:76},end:{line:172,column:127}},line:172},15:{name:"(anonymous_15)",decl:{start:{line:176,column:34},end:{line:176,column:35}},loc:{start:{line:176,column:40},end:{line:184,column:18}},line:176},16:{name:"(anonymous_16)",decl:{start:{line:194,column:65},end:{line:194,column:66}},loc:{start:{line:194,column:76},end:{line:194,column:129}},line:194},17:{name:"(anonymous_17)",decl:{start:{line:198,column:34},end:{line:198,column:35}},loc:{start:{line:198,column:40},end:{line:206,column:18}},line:198}},branchMap:{0:{loc:{start:{line:45,column:8},end:{line:49,column:9}},type:"if",locations:[{start:{line:45,column:8},end:{line:49,column:9}},{start:{line:47,column:15},end:{line:49,column:9}}],line:45},1:{loc:{start:{line:58,column:8},end:{line:62,column:9}},type:"if",locations:[{start:{line:58,column:8},end:{line:62,column:9}},{start:{line:60,column:15},end:{line:62,column:9}}],line:58},2:{loc:{start:{line:76,column:6},end:{line:82,column:7}},type:"if",locations:[{start:{line:76,column:6},end:{line:82,column:7}},{start:{line:79,column:13},end:{line:82,column:7}}],line:76},3:{loc:{start:{line:85,column:6},end:{line:87,column:7}},type:"if",locations:[{start:{line:85,column:6},end:{line:87,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:85},4:{loc:{start:{line:86,column:25},end:{line:86,column:64}},type:"cond-expr",locations:[{start:{line:86,column:49},end:{line:86,column:55}},{start:{line:86,column:58},end:{line:86,column:64}}],line:86},5:{loc:{start:{line:102,column:77},end:{line:102,column:138}},type:"cond-expr",locations:[{start:{line:102,column:99},end:{line:102,column:125}},{start:{line:102,column:128},end:{line:102,column:138}}],line:102},6:{loc:{start:{line:105,column:30},end:{line:105,column:99}},type:"cond-expr",locations:[{start:{line:105,column:52},end:{line:105,column:78}},{start:{line:105,column:81},end:{line:105,column:99}}],line:105},7:{loc:{start:{line:107,column:6},end:{line:117,column:13}},type:"cond-expr",locations:[{start:{line:108,column:11},end:{line:112,column:35}},{start:{line:113,column:11},end:{line:117,column:12}}],line:107},8:{loc:{start:{line:124,column:6},end:{line:212,column:39}},type:"cond-expr",locations:[{start:{line:125,column:11},end:{line:211,column:15}},{start:{line:212,column:10},end:{line:212,column:39}}],line:124},9:{loc:{start:{line:127,column:36},end:{line:127,column:105}},type:"cond-expr",locations:[{start:{line:127,column:58},end:{line:127,column:84}},{start:{line:127,column:87},end:{line:127,column:105}}],line:127},10:{loc:{start:{line:132,column:91},end:{line:132,column:144}},type:"cond-expr",locations:[{start:{line:132,column:113},end:{line:132,column:126}},{start:{line:132,column:129},end:{line:132,column:144}}],line:132},11:{loc:{start:{line:139,column:38},end:{line:139,column:97}},type:"cond-expr",locations:[{start:{line:139,column:60},end:{line:139,column:76}},{start:{line:139,column:79},end:{line:139,column:97}}],line:139},12:{loc:{start:{line:142,column:38},end:{line:142,column:91}},type:"cond-expr",locations:[{start:{line:142,column:60},end:{line:142,column:73}},{start:{line:142,column:76},end:{line:142,column:91}}],line:142},13:{loc:{start:{line:146,column:39},end:{line:146,column:109}},type:"binary-expr",locations:[{start:{line:146,column:39},end:{line:146,column:48}},{start:{line:146,column:53},end:{line:146,column:108}}],line:146},14:{loc:{start:{line:151,column:40},end:{line:159,column:18}},type:"binary-expr",locations:[{start:{line:151,column:40},end:{line:151,column:49}},{start:{line:151,column:54},end:{line:159,column:17}}],line:151},15:{loc:{start:{line:165,column:38},end:{line:165,column:91}},type:"cond-expr",locations:[{start:{line:165,column:60},end:{line:165,column:73}},{start:{line:165,column:76},end:{line:165,column:91}}],line:165},16:{loc:{start:{line:168,column:38},end:{line:168,column:91}},type:"cond-expr",locations:[{start:{line:168,column:60},end:{line:168,column:73}},{start:{line:168,column:76},end:{line:168,column:91}}],line:168},17:{loc:{start:{line:172,column:39},end:{line:172,column:129}},type:"binary-expr",locations:[{start:{line:172,column:39},end:{line:172,column:48}},{start:{line:172,column:53},end:{line:172,column:128}}],line:172},18:{loc:{start:{line:176,column:40},end:{line:184,column:18}},type:"binary-expr",locations:[{start:{line:176,column:40},end:{line:176,column:49}},{start:{line:176,column:54},end:{line:184,column:17}}],line:176},19:{loc:{start:{line:190,column:38},end:{line:190,column:91}},type:"cond-expr",locations:[{start:{line:190,column:60},end:{line:190,column:73}},{start:{line:190,column:76},end:{line:190,column:91}}],line:190},20:{loc:{start:{line:194,column:39},end:{line:194,column:131}},type:"binary-expr",locations:[{start:{line:194,column:39},end:{line:194,column:48}},{start:{line:194,column:53},end:{line:194,column:130}}],line:194},21:{loc:{start:{line:198,column:40},end:{line:206,column:18}},type:"binary-expr",locations:[{start:{line:198,column:40},end:{line:198,column:49}},{start:{line:198,column:54},end:{line:206,column:17}}],line:198}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/PresenceController.vue"],names:[],mappings:";AA0BA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAEjC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"59f40fe11c50209fbd34c8d3a3b564b48d143df1"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return J=function(){return s},s}J();const Hl=(J().s[0]++,"isNotSendingTypingChatStates"),Ql=(J().s[1]++,"isSendingInactiveChatStates"),Gk=(J().s[2]++,{name:"PresenceController",components:{presence:Tk,NotificationsSwitch:Rk},props:{isNavbarItem:{type:Boolean,default:!1},isRight:{type:Boolean,default:!1}},data(){return J().f[0]++,J().s[3]++,{isAutoPresence:!1}},computed:{...je(ZC,["isOnline","presence"]),...V2(ZC,["isSendingTypingChatStates","isSendingInactiveChatStates"]),isSendingTypingChatStatesSwitch:{get(){return J().f[1]++,J().s[4]++,this.isSendingTypingChatStates},set(A){J().f[2]++,J().s[5]++,A?(J().b[0][1]++,J().s[7]++,localStorage.removeItem(Hl)):(J().b[0][0]++,J().s[6]++,localStorage.setItem(Hl,!0)),J().s[8]++,this.isSendingTypingChatStates=A}},isSendingInactiveChatStatesSwitch:{get(){return J().f[3]++,J().s[9]++,this.isSendingInactiveChatStates},set(A){J().f[4]++,J().s[10]++,A?(J().b[1][0]++,J().s[11]++,localStorage.setItem(Ql,!0)):(J().b[1][1]++,J().s[12]++,localStorage.removeItem(Ql)),J().s[13]++,this.isSendingInactiveChatStates=A}}},mounted(){J().f[5]++,J().s[14]++,this.isSendingTypingChatStates=localStorage.getItem(Hl)===null,J().s[15]++,this.isSendingInactiveChatStates=localStorage.getItem(Ql)!==null},methods:{setPresence(A){J().f[6]++,J().s[16]++,this.$xmpp.sendPresence({show:A})},setAutoPresence(){J().f[7]++,J().s[17]++,this.isAutoPresence?(J().b[2][0]++,J().s[18]++,window.addEventListener("blur",this.sendAutoPresence),J().s[19]++,window.addEventListener("focus",this.sendAutoPresence)):(J().b[2][1]++,J().s[20]++,window.removeEventListener("blur",this.sendAutoPresence),J().s[21]++,window.removeEventListener("focus",this.sendAutoPresence))},sendAutoPresence(A){J().f[8]++,J().s[22]++,this.$xmpp.client?(J().b[3][0]++,J().s[23]++,this.setPresence(A.type==="blur"?(J().b[4][0]++,"away"):(J().b[4][1]++,"chat"))):J().b[3][1]++}}}),Uk=(J().s[24]++,["onClick"]);function Hk(A,C,e,n,t,i){J().f[9]++;const s=(J().s[25]++,AA("presence")),o=(J().s[26]++,AA("o-switch")),l=(J().s[27]++,AA("notifications-switch"));return J().s[28]++,h(),Q("div",{class:zA(["is-hoverable",[{"is-right":e.isRight},e.isNavbarItem?(J().b[5][0]++,"navbar-item has-dropdown"):(J().b[5][1]++,"dropdown")]])},[b("a",{class:zA([e.isNavbarItem?(J().b[6][0]++,"navbar-link is-arrowless"):(J().b[6][1]++,"dropdown-trigger")])},[A.isOnline?(J().b[7][0]++,h(),S(s,{key:0,presence:A.presence,"display-label":!1},null,8,["presence"])):(J().b[7][1]++,h(),S(s,{key:1,presence:"off","display-label":!1}))],2),b("div",{id:"dropdown-menu",class:zA({"dropdown-menu":!e.isNavbarItem}),role:"menu"},[A.isOnline?(J().b[8][0]++,h(),Q("div",{key:0,class:zA([e.isNavbarItem?(J().b[9][0]++,"navbar-dropdown is-right"):(J().b[9][1]++,"dropdown-content")])},[(h(),Q(gA,null,JA(["chat","away","dnd"],a=>(J().f[10]++,J().s[29]++,b("a",{key:a,class:zA([{"is-active":a===A.presence},e.isNavbarItem?(J().b[10][0]++,"navbar-item"):(J().b[10][1]++,"dropdown-item")]),onClick:r=>(J().f[11]++,J().s[30]++,i.setPresence(a))},[k(s,{presence:a},null,8,["presence"])],10,Uk))),64)),b("hr",{class:zA([e.isNavbarItem?(J().b[11][0]++,"navbar-divider"):(J().b[11][1]++,"dropdown-divider")])},null,2),b("div",{class:zA([e.isNavbarItem?(J().b[12][0]++,"navbar-item"):(J().b[12][1]++,"dropdown-item")])},[k(o,{modelValue:t.isAutoPresence,"onUpdate:modelValue":(J().b[13][0]++,C[0]||(J().b[13][1]++,C[0]=a=>(J().f[12]++,J().s[31]++,t.isAutoPresence=a))),title:"You will be seen away when the browser is not active",class:"has-no-wrap",onChange:i.setAutoPresence},{default:SA(()=>(J().f[13]++,J().s[32]++,J().b[14][0]++,C[3]||(J().b[14][1]++,C[3]=[b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-moon-o fa-fw","aria-hidden":"true"})],-1),cC("Set away when inactive")]))),_:1,__:[3]},8,["modelValue","onChange"])],2),k(l,{class:zA([e.isNavbarItem?(J().b[15][0]++,"navbar-item"):(J().b[15][1]++,"dropdown-item")])},null,8,["class"]),b("div",{class:zA([e.isNavbarItem?(J().b[16][0]++,"navbar-item"):(J().b[16][1]++,"dropdown-item")])},[k(o,{modelValue:i.isSendingTypingChatStatesSwitch,"onUpdate:modelValue":(J().b[17][0]++,C[1]||(J().b[17][1]++,C[1]=a=>(J().f[14]++,J().s[33]++,i.isSendingTypingChatStatesSwitch=a))),title:"Notify your partner(s) that you are typing or paused",class:"has-no-wrap"},{default:SA(()=>(J().f[15]++,J().s[34]++,J().b[18][0]++,C[4]||(J().b[18][1]++,C[4]=[b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-pencil-square-o fa-fw","aria-hidden":"true"})],-1),cC("Send typing states")]))),_:1,__:[4]},8,["modelValue"])],2),b("div",{class:zA([e.isNavbarItem?(J().b[19][0]++,"navbar-item"):(J().b[19][1]++,"dropdown-item")])},[k(o,{modelValue:i.isSendingInactiveChatStatesSwitch,"onUpdate:modelValue":(J().b[20][0]++,C[2]||(J().b[20][1]++,C[2]=a=>(J().f[16]++,J().s[35]++,i.isSendingInactiveChatStatesSwitch=a))),title:"Notify your partner(s) that you are not looking the conversation",class:"has-no-wrap"},{default:SA(()=>(J().f[17]++,J().s[36]++,J().b[21][0]++,C[5]||(J().b[21][1]++,C[5]=[b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-eye-slash fa-fw","aria-hidden":"true"})],-1),cC("Send inactive chat states")]))),_:1,__:[5]},8,["modelValue"])],2)],2)):(J().b[8][1]++,L("",!0))],2)],2)}const eh=pC(Gk,[["render",Hk]]);function j(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Chat.vue",C="ec6fc2a38f9958f8e2264cf0c23f30f612a98948",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Chat.vue",statementMap:{0:{start:{line:16,column:18},end:{line:217,column:1}},1:{start:{line:31,column:4},end:{line:33,column:6}},2:{start:{line:32,column:6},end:{line:32,column:29}},3:{start:{line:46,column:4},end:{line:48,column:5}},4:{start:{line:52,column:6},end:{line:52,column:31}},5:{start:{line:55,column:6},end:{line:55,column:28}},6:{start:{line:58,column:6},end:{line:58,column:112}},7:{start:{line:58,column:48},end:{line:58,column:110}},8:{start:{line:61,column:6},end:{line:68,column:7}},9:{start:{line:63,column:10},end:{line:63,column:38}},10:{start:{line:65,column:10},end:{line:65,column:35}},11:{start:{line:67,column:10},end:{line:67,column:35}},12:{start:{line:76,column:6},end:{line:76,column:56}},13:{start:{line:86,column:4},end:{line:86,column:22}},14:{start:{line:89,column:4},end:{line:92,column:5}},15:{start:{line:91,column:6},end:{line:91,column:12}},16:{start:{line:93,column:4},end:{line:96,column:5}},17:{start:{line:95,column:6},end:{line:95,column:12}},18:{start:{line:98,column:4},end:{line:102,column:5}},19:{start:{line:99,column:6},end:{line:99,column:71}},20:{start:{line:101,column:6},end:{line:101,column:33}},21:{start:{line:107,column:6},end:{line:107,column:116}},22:{start:{line:111,column:6},end:{line:114,column:7}},23:{start:{line:113,column:8},end:{line:113,column:14}},24:{start:{line:115,column:6},end:{line:118,column:8}},25:{start:{line:119,column:6},end:{line:183,column:7}},26:{start:{line:121,column:19},end:{line:121,column:48}},27:{start:{line:122,column:24},end:{line:122,column:27}},28:{start:{line:123,column:8},end:{line:142,column:9}},29:{start:{line:125,column:10},end:{line:125,column:51}},30:{start:{line:126,column:10},end:{line:141,column:11}},31:{start:{line:128,column:12},end:{line:139,column:13}},32:{start:{line:129,column:14},end:{line:138,column:16}},33:{start:{line:137,column:31},end:{line:137,column:45}},34:{start:{line:140,column:12},end:{line:140,column:35}},35:{start:{line:143,column:8},end:{line:169,column:9}},36:{start:{line:145,column:25},end:{line:162,column:11}},37:{start:{line:146,column:12},end:{line:161,column:14}},38:{start:{line:150,column:30},end:{line:150,column:44}},39:{start:{line:163,column:10},end:{line:165,column:11}},40:{start:{line:166,column:10},end:{line:168,column:11}},41:{start:{line:167,column:12},end:{line:167,column:35}},42:{start:{line:170,column:23},end:{line:170,column:79}},43:{start:{line:171,column:8},end:{line:182,column:9}},44:{start:{line:172,column:10},end:{line:180,column:12}},45:{start:{line:181,column:10},end:{line:181,column:33}},46:{start:{line:184,column:6},end:{line:191,column:7}},47:{start:{line:186,column:8},end:{line:190,column:9}},48:{start:{line:187,column:10},end:{line:187,column:68}},49:{start:{line:189,column:10},end:{line:189,column:63}},50:{start:{line:192,column:6},end:{line:192,column:32}},51:{start:{line:196,column:6},end:{line:201,column:7}},52:{start:{line:197,column:8},end:{line:199,column:9}},53:{start:{line:198,column:10},end:{line:198,column:53}},54:{start:{line:200,column:8},end:{line:200,column:50}},55:{start:{line:202,column:6},end:{line:204,column:7}},56:{start:{line:203,column:8},end:{line:203,column:65}},57:{start:{line:205,column:6},end:{line:205,column:32}},58:{start:{line:209,column:6},end:{line:214,column:8}},59:{start:{line:210,column:34},end:{line:210,column:79}},60:{start:{line:211,column:8},end:{line:213,column:9}},61:{start:{line:212,column:10},end:{line:212,column:77}},62:{start:{line:221,column:19},end:{line:221,column:147}},63:{start:{line:222,column:19},end:{line:222,column:65}},64:{start:{line:223,column:19},end:{line:226,column:1}},65:{start:{line:227,column:19},end:{line:230,column:1}},66:{start:{line:233,column:33},end:{line:233,column:65}},67:{start:{line:234,column:36},end:{line:234,column:71}},68:{start:{line:235,column:37},end:{line:235,column:73}},69:{start:{line:236,column:47},end:{line:236,column:93}},70:{start:{line:237,column:41},end:{line:237,column:81}},71:{start:{line:238,column:45},end:{line:238,column:89}},72:{start:{line:239,column:41},end:{line:239,column:81}},73:{start:{line:240,column:34},end:{line:240,column:67}},74:{start:{line:241,column:28},end:{line:241,column:55}},75:{start:{line:242,column:29},end:{line:242,column:57}},76:{start:{line:243,column:29},end:{line:243,column:57}},77:{start:{line:245,column:2},end:{line:347,column:5}},78:{start:{line:254,column:36},end:{line:259,column:14}},79:{start:{line:269,column:36},end:{line:274,column:14}},80:{start:{line:326,column:32},end:{line:342,column:9}},81:{start:{line:328,column:12},end:{line:340,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:30,column:2},end:{line:30,column:3}},loc:{start:{line:30,column:36},end:{line:34,column:3}},line:30},1:{name:"(anonymous_1)",decl:{start:{line:31,column:9},end:{line:31,column:10}},loc:{start:{line:31,column:15},end:{line:33,column:5}},line:31},2:{name:"(anonymous_2)",decl:{start:{line:45,column:2},end:{line:45,column:3}},loc:{start:{line:45,column:10},end:{line:49,column:3}},line:45},3:{name:"(anonymous_3)",decl:{start:{line:51,column:4},end:{line:51,column:5}},loc:{start:{line:51,column:15},end:{line:53,column:5}},line:51},4:{name:"(anonymous_4)",decl:{start:{line:54,column:4},end:{line:54,column:5}},loc:{start:{line:54,column:16},end:{line:56,column:5}},line:54},5:{name:"(anonymous_5)",decl:{start:{line:57,column:4},end:{line:57,column:5}},loc:{start:{line:57,column:23},end:{line:59,column:5}},line:57},6:{name:"(anonymous_6)",decl:{start:{line:58,column:34},end:{line:58,column:35}},loc:{start:{line:58,column:48},end:{line:58,column:110}},line:58},7:{name:"(anonymous_7)",decl:{start:{line:60,column:4},end:{line:60,column:5}},loc:{start:{line:60,column:22},end:{line:69,column:5}},line:60},8:{name:"(anonymous_8)",decl:{start:{line:75,column:4},end:{line:75,column:5}},loc:{start:{line:75,column:26},end:{line:77,column:5}},line:75},9:{name:"(anonymous_9)",decl:{start:{line:84,column:2},end:{line:84,column:3}},loc:{start:{line:84,column:13},end:{line:87,column:3}},line:84},10:{name:"(anonymous_10)",decl:{start:{line:88,column:2},end:{line:88,column:3}},loc:{start:{line:88,column:25},end:{line:103,column:3}},line:88},11:{name:"(anonymous_11)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:17},end:{line:108,column:5}},line:106},12:{name:"(anonymous_12)",decl:{start:{line:110,column:4},end:{line:110,column:5}},loc:{start:{line:110,column:25},end:{line:193,column:5}},line:110},13:{name:"(anonymous_13)",decl:{start:{line:128,column:30},end:{line:128,column:31}},loc:{start:{line:129,column:14},end:{line:138,column:16}},line:129},14:{name:"(anonymous_14)",decl:{start:{line:137,column:25},end:{line:137,column:26}},loc:{start:{line:137,column:31},end:{line:137,column:45}},line:137},15:{name:"(anonymous_15)",decl:{start:{line:145,column:43},end:{line:145,column:44}},loc:{start:{line:146,column:12},end:{line:161,column:14}},line:146},16:{name:"(anonymous_16)",decl:{start:{line:150,column:24},end:{line:150,column:25}},loc:{start:{line:150,column:30},end:{line:150,column:44}},line:150},17:{name:"(anonymous_17)",decl:{start:{line:194,column:4},end:{line:194,column:5}},loc:{start:{line:194,column:17},end:{line:206,column:5}},line:194},18:{name:"(anonymous_18)",decl:{start:{line:208,column:4},end:{line:208,column:5}},loc:{start:{line:208,column:27},end:{line:215,column:5}},line:208},19:{name:"(anonymous_19)",decl:{start:{line:209,column:21},end:{line:209,column:22}},loc:{start:{line:209,column:27},end:{line:214,column:7}},line:209},20:{name:"_sfc_render",decl:{start:{line:232,column:9},end:{line:232,column:20}},loc:{start:{line:232,column:68},end:{line:348,column:1}},line:232},21:{name:"(anonymous_21)",decl:{start:{line:254,column:30},end:{line:254,column:31}},loc:{start:{line:254,column:36},end:{line:259,column:14}},line:254},22:{name:"(anonymous_22)",decl:{start:{line:269,column:30},end:{line:269,column:31}},loc:{start:{line:269,column:36},end:{line:274,column:14}},line:269},23:{name:"(anonymous_23)",decl:{start:{line:326,column:26},end:{line:326,column:27}},loc:{start:{line:326,column:32},end:{line:342,column:9}},line:326},24:{name:"(anonymous_24)",decl:{start:{line:327,column:104},end:{line:327,column:105}},loc:{start:{line:327,column:117},end:{line:341,column:11}},line:327}},branchMap:{0:{loc:{start:{line:58,column:48},end:{line:58,column:110}},type:"binary-expr",locations:[{start:{line:58,column:48},end:{line:58,column:78}},{start:{line:58,column:82},end:{line:58,column:110}}],line:58},1:{loc:{start:{line:61,column:6},end:{line:68,column:7}},type:"switch",locations:[{start:{line:62,column:8},end:{line:63,column:38}},{start:{line:64,column:8},end:{line:65,column:35}},{start:{line:66,column:8},end:{line:67,column:35}}],line:61},2:{loc:{start:{line:76,column:13},end:{line:76,column:56}},type:"binary-expr",locations:[{start:{line:76,column:13},end:{line:76,column:41}},{start:{line:76,column:45},end:{line:76,column:56}}],line:76},3:{loc:{start:{line:89,column:4},end:{line:92,column:5}},type:"if",locations:[{start:{line:89,column:4},end:{line:92,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:89},4:{loc:{start:{line:93,column:4},end:{line:96,column:5}},type:"if",locations:[{start:{line:93,column:4},end:{line:96,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:93},5:{loc:{start:{line:107,column:13},end:{line:107,column:116}},type:"binary-expr",locations:[{start:{line:107,column:13},end:{line:107,column:43}},{start:{line:107,column:47},end:{line:107,column:82}},{start:{line:107,column:86},end:{line:107,column:116}}],line:107},6:{loc:{start:{line:111,column:6},end:{line:114,column:7}},type:"if",locations:[{start:{line:111,column:6},end:{line:114,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:111},7:{loc:{start:{line:116,column:14},end:{line:116,column:48}},type:"cond-expr",locations:[{start:{line:116,column:28},end:{line:116,column:39}},{start:{line:116,column:42},end:{line:116,column:48}}],line:116},8:{loc:{start:{line:119,column:6},end:{line:183,column:7}},type:"if",locations:[{start:{line:119,column:6},end:{line:183,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:119},9:{loc:{start:{line:119,column:10},end:{line:119,column:56}},type:"binary-expr",locations:[{start:{line:119,column:10},end:{line:119,column:21}},{start:{line:119,column:25},end:{line:119,column:56}}],line:119},10:{loc:{start:{line:123,column:8},end:{line:142,column:9}},type:"if",locations:[{start:{line:123,column:8},end:{line:142,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:123},11:{loc:{start:{line:123,column:12},end:{line:123,column:30}},type:"binary-expr",locations:[{start:{line:123,column:12},end:{line:123,column:17}},{start:{line:123,column:21},end:{line:123,column:30}}],line:123},12:{loc:{start:{line:126,column:10},end:{line:141,column:11}},type:"if",locations:[{start:{line:126,column:10},end:{line:141,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:126},13:{loc:{start:{line:134,column:27},end:{line:134,column:64}},type:"binary-expr",locations:[{start:{line:134,column:27},end:{line:134,column:39}},{start:{line:134,column:43},end:{line:134,column:64}}],line:134},14:{loc:{start:{line:143,column:8},end:{line:169,column:9}},type:"if",locations:[{start:{line:143,column:8},end:{line:169,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:143},15:{loc:{start:{line:143,column:12},end:{line:143,column:48}},type:"binary-expr",locations:[{start:{line:143,column:12},end:{line:143,column:20}},{start:{line:143,column:24},end:{line:143,column:48}}],line:143},16:{loc:{start:{line:157,column:25},end:{line:157,column:44}},type:"binary-expr",locations:[{start:{line:157,column:25},end:{line:157,column:38}},{start:{line:157,column:42},end:{line:157,column:44}}],line:157},17:{loc:{start:{line:166,column:10},end:{line:168,column:11}},type:"if",locations:[{start:{line:166,column:10},end:{line:168,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:166},18:{loc:{start:{line:171,column:8},end:{line:182,column:9}},type:"if",locations:[{start:{line:171,column:8},end:{line:182,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:171},19:{loc:{start:{line:177,column:23},end:{line:177,column:62}},type:"binary-expr",locations:[{start:{line:177,column:23},end:{line:177,column:37}},{start:{line:177,column:41},end:{line:177,column:62}}],line:177},20:{loc:{start:{line:184,column:6},end:{line:191,column:7}},type:"if",locations:[{start:{line:184,column:6},end:{line:191,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:184},21:{loc:{start:{line:184,column:10},end:{line:184,column:59}},type:"binary-expr",locations:[{start:{line:184,column:10},end:{line:184,column:22}},{start:{line:184,column:26},end:{line:184,column:59}}],line:184},22:{loc:{start:{line:196,column:6},end:{line:201,column:7}},type:"if",locations:[{start:{line:196,column:6},end:{line:201,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:196},23:{loc:{start:{line:196,column:10},end:{line:196,column:90}},type:"binary-expr",locations:[{start:{line:196,column:10},end:{line:196,column:28}},{start:{line:196,column:32},end:{line:196,column:90}}],line:196},24:{loc:{start:{line:197,column:8},end:{line:199,column:9}},type:"if",locations:[{start:{line:197,column:8},end:{line:199,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:197},25:{loc:{start:{line:202,column:6},end:{line:204,column:7}},type:"if",locations:[{start:{line:202,column:6},end:{line:204,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:202},26:{loc:{start:{line:202,column:10},end:{line:202,column:45}},type:"binary-expr",locations:[{start:{line:202,column:10},end:{line:202,column:23}},{start:{line:202,column:27},end:{line:202,column:45}}],line:202},27:{loc:{start:{line:211,column:8},end:{line:213,column:9}},type:"if",locations:[{start:{line:211,column:8},end:{line:213,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:211},28:{loc:{start:{line:247,column:6},end:{line:277,column:24}},type:"cond-expr",locations:[{start:{line:248,column:11},end:{line:262,column:26}},{start:{line:263,column:11},end:{line:277,column:23}}],line:247},29:{loc:{start:{line:254,column:36},end:{line:259,column:14}},type:"binary-expr",locations:[{start:{line:254,column:36},end:{line:254,column:45}},{start:{line:254,column:50},end:{line:259,column:13}}],line:254},30:{loc:{start:{line:269,column:36},end:{line:274,column:14}},type:"binary-expr",locations:[{start:{line:269,column:36},end:{line:269,column:45}},{start:{line:269,column:50},end:{line:274,column:13}}],line:269},31:{loc:{start:{line:283,column:8},end:{line:288,column:41}},type:"cond-expr",locations:[{start:{line:284,column:13},end:{line:287,column:37}},{start:{line:288,column:12},end:{line:288,column:41}}],line:283},32:{loc:{start:{line:289,column:8},end:{line:294,column:41}},type:"cond-expr",locations:[{start:{line:290,column:13},end:{line:293,column:32}},{start:{line:294,column:12},end:{line:294,column:41}}],line:289},33:{loc:{start:{line:289,column:9},end:{line:289,column:49}},type:"binary-expr",locations:[{start:{line:289,column:9},end:{line:289,column:22}},{start:{line:289,column:26},end:{line:289,column:49}}],line:289},34:{loc:{start:{line:295,column:8},end:{line:300,column:41}},type:"cond-expr",locations:[{start:{line:296,column:13},end:{line:299,column:37}},{start:{line:300,column:12},end:{line:300,column:41}}],line:295},35:{loc:{start:{line:295,column:9},end:{line:295,column:49}},type:"binary-expr",locations:[{start:{line:295,column:9},end:{line:295,column:22}},{start:{line:295,column:26},end:{line:295,column:49}}],line:295},36:{loc:{start:{line:301,column:8},end:{line:306,column:41}},type:"cond-expr",locations:[{start:{line:302,column:13},end:{line:305,column:37}},{start:{line:306,column:12},end:{line:306,column:41}}],line:301},37:{loc:{start:{line:308,column:8},end:{line:315,column:41}},type:"cond-expr",locations:[{start:{line:309,column:13},end:{line:314,column:14}},{start:{line:315,column:12},end:{line:315,column:41}}],line:308},38:{loc:{start:{line:319,column:6},end:{line:324,column:39}},type:"cond-expr",locations:[{start:{line:320,column:11},end:{line:323,column:35}},{start:{line:324,column:10},end:{line:324,column:39}}],line:319},39:{loc:{start:{line:333,column:21},end:{line:333,column:123}},type:"cond-expr",locations:[{start:{line:333,column:86},end:{line:333,column:103}},{start:{line:333,column:106},end:{line:333,column:123}}],line:333},40:{loc:{start:{line:333,column:22},end:{line:333,column:82}},type:"binary-expr",locations:[{start:{line:333,column:22},end:{line:333,column:35}},{start:{line:333,column:39},end:{line:333,column:82}}],line:333}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0},b:{0:[0,0],1:[0,0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0,0],38:[0,0],39:[0,0],40:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Chat.vue"],names:[],mappings:";AA6BA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ec6fc2a38f9958f8e2264cf0c23f30f612a98948"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return j=function(){return s},s}j();const Qk=(j().s[0]++,{name:"Chat",components:{avatar:Kt,message:p9,InviteGuestButton:L9,BookmarkButton:N9,RoomConfigurationButton:eB,RetrieveHistoryButton:sB,RoomOccupants:rB,RoomSubject:bB,Sendbox:Dk,PresenceController:eh},beforeRouteEnter(A,C,e){j().f[0]++,j().s[1]++,e(n=>{j().f[1]++,j().s[2]++,n.previousRoute=C})},props:{jid:{type:String,default:null},isRoom:{type:Boolean,default:!1}},data(){return j().f[2]++,j().s[3]++,{previousRoute:null}},computed:{userJid(){return j().f[3]++,j().s[4]++,this.$xmpp.fullJid},userNick(){return j().f[4]++,j().s[5]++,this.$xmpp.nick},messagesWithJid(){return j().f[5]++,j().s[6]++,this.messages.filter(A=>(j().f[6]++,j().s[7]++,j().b[0][0]++,A.from.bare===this.jid||(j().b[0][1]++,A.to.bare===this.jid)))},chatStateClass(){switch(j().f[7]++,j().s[8]++,this.$store.getChatState(this.isRoom,this.jid)){case"composing":return j().b[1][0]++,j().s[9]++,"has-text-grey-light";case"paused":return j().b[1][1]++,j().s[10]++,"has-text-shade-3";default:return j().b[1][2]++,j().s[11]++,"has-text-shade-4"}},...je(ZC,["activeChat","messages","isSendingInactiveChatStates"]),hasGuestInviteLink(){return j().f[8]++,j().s[12]++,j().b[2][0]++,window.config.hasGuestAccess&&(j().b[2][1]++,this.isRoom)}},watch:{jid:"handleRoute",messagesWithJid:"scrollToLastMessage"},mounted(){j().f[9]++,j().s[13]++,this.handleRoute()},async beforeUnmount(){if(j().f[10]++,j().s[14]++,this.userJid)j().b[3][1]++;else{j().b[3][0]++,j().s[15]++;return}if(j().s[16]++,this.isSendingInactiveChatStates)j().b[4][1]++;else{j().b[4][0]++,j().s[17]++;return}j().s[18]++;try{j().s[19]++,await this.$xmpp.sendChatState(this.jid,this.isRoom,"inactive")}catch(A){j().s[20]++,console.warn(A.message)}},methods:{isUser(A){return j().f[11]++,j().s[21]++,j().b[5][0]++,A.bare===this.userJid.bare||(j().b[5][1]++,A.resource===this.userJid.local)||(j().b[5][2]++,A.resource===this.userNick)},async handleRoute(){if(j().f[12]++,j().s[22]++,this.userJid)j().b[6][1]++;else{j().b[6][0]++,j().s[23]++;return}if(j().s[24]++,this.$store.setActiveChat({type:this.isRoom?(j().b[7][0]++,"groupchat"):(j().b[7][1]++,"chat"),activeChat:this.jid}),j().s[25]++,j().b[9][0]++,this.isRoom&&(j().b[9][1]++,!this.$store.isJoined(this.jid))){j().b[8][0]++;let A=(j().s[26]++,this.$store.getRoom(this.jid));const C=(j().s[27]++,{});if(j().s[28]++,j().b[11][0]++,!A||(j().b[11][1]++,!A.jid))if(j().b[10][0]++,j().s[29]++,A=await this.$xmpp.getRoom(this.jid),j().s[30]++,A.jid)j().b[12][1]++;else return j().b[12][0]++,j().s[31]++,await new Promise(n=>(j().f[13]++,j().s[32]++,this.$oruga.modal.open({component:li,trapFocus:!0,props:{title:"Error",message:(j().b[13][0]++,A.message||(j().b[13][1]++,"Unable to join room")),type:"is-danger"},onClose:()=>(j().f[14]++,j().s[33]++,n(!1))}))),j().s[34]++,this.abortChat();else j().b[10][1]++;if(j().s[35]++,j().b[15][0]++,A.jid&&(j().b[15][1]++,A.isPasswordProtected)){j().b[14][0]++;const n=(j().s[36]++,await new Promise(t=>(j().f[15]++,j().s[37]++,this.$oruga.modal.open({rootClass:"dialog",trapFocus:!0,component:li,onCancel:()=>(j().f[16]++,j().s[38]++,t(!1)),props:{title:"Room protected",message:'Please enter password',prompt:{placeholder:"Password",type:"password",value:(j().b[16][0]++,A.password||(j().b[16][1]++,""))},onPromptAnswered:t}}))));if(j().s[39]++,C.muc={password:n},j().s[40]++,n===!1)return j().b[17][0]++,j().s[41]++,this.abortChat();j().b[17][1]++}else j().b[14][1]++;const e=(j().s[42]++,await this.$xmpp.joinRoom(this.jid,null,C,A));if(j().s[43]++,e.isSuccess)j().b[18][1]++;else return j().b[18][0]++,j().s[44]++,this.$oruga.modal.open({component:li,trapFocus:!0,props:{title:"Error",message:(j().b[19][0]++,e.message||(j().b[19][1]++,"Unable to join room")),type:"is-danger"}}),j().s[45]++,this.abortChat()}else j().b[8][1]++;if(j().s[46]++,j().b[21][0]++,!this.isRoom&&(j().b[21][1]++,this.messagesWithJid.length===0)){j().b[20][0]++,j().s[47]++;try{j().s[48]++,await this.$xmpp.searchHistory(this.activeChat,void 0)}catch(A){j().s[49]++,console.warn("History was not loaded",A.message)}}else j().b[20][1]++;j().s[50]++,this.scrollToLastMessage()},abortChat(){return j().f[17]++,j().s[51]++,j().b[23][0]++,this.previousRoute&&(j().b[23][1]++,this.previousRoute.query.redirect===this.$route.fullPath)?(j().b[22][0]++,j().s[52]++,this.$xmpp.isAnonymous?(j().b[24][0]++,j().s[53]++,this.$router.push({name:"guest"})):(j().b[24][1]++,j().s[54]++,this.$router.push({name:"home"}))):(j().b[22][1]++,j().s[55]++,j().b[26][0]++,history.state&&(j().b[26][1]++,history.state.back)?(j().b[25][0]++,j().s[56]++,this.$router.replace({path:history.state.back})):(j().b[25][1]++,j().s[57]++,this.$router.back()))},scrollToLastMessage(){j().f[18]++,j().s[58]++,this.$nextTick(()=>{j().f[19]++;const A=(j().s[59]++,document.getElementById("messages-container"));j().s[60]++,A?(j().b[27][0]++,j().s[61]++,A.scrollTop=A.scrollHeight+5e3):j().b[27][1]++})}}}),Vk=(j().s[62]++,{class:"is-flex is-flex-direction-column is-justify-content-space-between is-full-height has-background-shade-4 is-relative"}),zk=(j().s[63]++,{class:"toolbar has-border-bottom-shade-3"}),qk=(j().s[64]++,{class:"is-flex is-align-items-center",style:{"min-width":"0"}}),Wk=(j().s[65]++,{id:"messages-container",class:"messages-container"});function Yk(A,C,e,n,t,i){j().f[20]++;const s=(j().s[66]++,AA("router-link")),o=(j().s[67]++,AA("room-occupants")),l=(j().s[68]++,AA("bookmark-button")),a=(j().s[69]++,AA("room-configuration-button")),r=(j().s[70]++,AA("invite-guest-button")),p=(j().s[71]++,AA("retrieve-history-button")),d=(j().s[72]++,AA("presence-controller")),u=(j().s[73]++,AA("room-subject")),g=(j().s[74]++,AA("avatar")),v=(j().s[75]++,AA("message")),y=(j().s[76]++,AA("sendbox"));return j().s[77]++,h(),Q("main",Vk,[b("div",zk,[A.$xmpp.isAnonymous?(j().b[28][1]++,h(),S(s,{key:1,to:{name:"guestRooms",state:{nick:i.userNick}},class:"button is-primary-ghost has-no-border is-shadowless",title:"Leave this room and go back to rooms list"},{default:SA(()=>(j().f[22]++,j().s[79]++,j().b[30][0]++,C[1]||(j().b[30][1]++,C[1]=[b("i",{class:"fa fa-arrow-circle-left","aria-hidden":"true"},null,-1)]))),_:1,__:[1]},8,["to"])):(j().b[28][0]++,h(),S(s,{key:0,to:{name:"home"},class:zA(["button is-primary-ghost has-no-border is-shadowless",{"is-hidden-tablet":e.jid}]),title:"Back to contacts"},{default:SA(()=>(j().f[21]++,j().s[78]++,j().b[29][0]++,C[0]||(j().b[29][1]++,C[0]=[b("i",{class:"fa fa-arrow-circle-left","aria-hidden":"true"},null,-1)]))),_:1,__:[0]},8,["class"])),b("i",{class:zA(["fa fa-lg fa-pencil-square-o",i.chatStateClass]),"aria-hidden":"true"},null,2),b("span",qk,[e.isRoom?(j().b[31][0]++,h(),S(o,{key:0,"room-jid":e.jid},null,8,["room-jid"])):(j().b[31][1]++,L("",!0)),(j().b[33][0]++,e.isRoom&&(j().b[33][1]++,!A.$xmpp.isAnonymous)?(j().b[32][0]++,h(),S(l,{key:1,jid:e.jid},null,8,["jid"])):(j().b[32][1]++,L("",!0))),(j().b[35][0]++,e.isRoom&&(j().b[35][1]++,!A.$xmpp.isAnonymous)?(j().b[34][0]++,h(),S(a,{key:2,"room-jid":e.jid},null,8,["room-jid"])):(j().b[34][1]++,L("",!0))),i.hasGuestInviteLink?(j().b[36][0]++,h(),S(r,{key:3,"room-jid":e.jid},null,8,["room-jid"])):(j().b[36][1]++,L("",!0)),k(p),A.$xmpp.isAnonymous?(j().b[37][0]++,h(),S(d,{key:4,"is-navbar-item":!1,"is-right":!0,class:"px-2 mx-2"})):(j().b[37][1]++,L("",!0))])]),b("div",Wk,[e.isRoom?(j().b[38][0]++,h(),S(u,{key:0,"room-jid":e.jid},null,8,["room-jid"])):(j().b[38][1]++,L("",!0)),k(S2,{name:"messages-list"},{default:SA(()=>(j().f[23]++,j().s[80]++,[(h(!0),Q(gA,null,JA(i.messagesWithJid,x=>(j().f[24]++,j().s[81]++,h(),Q("div",{key:x.id,class:zA(["mx-4 my-2 is-flex",{"is-flex-direction-row-reverse":i.isUser(x.from)}])},[k(g,{jid:(j().b[40][0]++,e.isRoom&&(j().b[40][1]++,x.from.bare!==i.userJid.bare)?(j().b[39][0]++,x.from.full):(j().b[39][1]++,x.from.bare)),"display-jid":!1},null,8,["jid"]),k(v,{message:x,"display-nick":e.isRoom},null,8,["message","display-nick"])],2))),128))])),_:1})]),k(y,{"is-room":e.isRoom},null,8,["is-room"])])}const Ra=pC(Qk,[["render",Yk]]),nh="0.10.6",Jk="Lightweight web chat client for XMPP server",th="https://github.com/nioc/xmpp-web",Xk={url:"https://github.com/nioc/xmpp-web/issues"},Ga="AGPL-3.0-or-later",Zk={latestReleaseUrl:"https://api.github.com/repos/nioc/xmpp-web/releases/latest"};function xA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Navbar.vue",C="3b8dfc45c3971065beb663dd5eda0ed074d6f550",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Navbar.vue",statementMap:{0:{start:{line:8,column:18},end:{line:41,column:1}},1:{start:{line:15,column:4},end:{line:18,column:5}},2:{start:{line:26,column:4},end:{line:26,column:55}},3:{start:{line:30,column:6},end:{line:30,column:44}},4:{start:{line:31,column:6},end:{line:31,column:74}},5:{start:{line:34,column:6},end:{line:34,column:35}},6:{start:{line:35,column:6},end:{line:35,column:25}},7:{start:{line:36,column:6},end:{line:36,column:26}},8:{start:{line:37,column:6},end:{line:37,column:28}},9:{start:{line:38,column:6},end:{line:38,column:36}},10:{start:{line:45,column:19},end:{line:45,column:62}},11:{start:{line:46,column:19},end:{line:46,column:44}},12:{start:{line:47,column:19},end:{line:47,column:60}},13:{start:{line:48,column:19},end:{line:51,column:1}},14:{start:{line:52,column:19},end:{line:52,column:42}},15:{start:{line:53,column:19},end:{line:53,column:69}},16:{start:{line:54,column:19},end:{line:54,column:56}},17:{start:{line:55,column:19},end:{line:55,column:56}},18:{start:{line:56,column:19},end:{line:56,column:27}},19:{start:{line:59,column:33},end:{line:59,column:65}},20:{start:{line:60,column:41},end:{line:60,column:81}},21:{start:{line:61,column:28},end:{line:61,column:55}},22:{start:{line:63,column:2},end:{line:153,column:5}},23:{start:{line:69,column:32},end:{line:74,column:10}},24:{start:{line:85,column:57},end:{line:85,column:108}},25:{start:{line:112,column:38},end:{line:115,column:16}},26:{start:{line:124,column:38},end:{line:127,column:16}},27:{start:{line:144,column:60},end:{line:144,column:77}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:10},end:{line:19,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:25,column:2},end:{line:25,column:3}},loc:{start:{line:25,column:13},end:{line:27,column:3}},line:25},2:{name:"(anonymous_2)",decl:{start:{line:29,column:4},end:{line:29,column:5}},loc:{start:{line:29,column:19},end:{line:32,column:5}},line:29},3:{name:"(anonymous_3)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:20},end:{line:39,column:5}},line:33},4:{name:"_sfc_render",decl:{start:{line:58,column:9},end:{line:58,column:20}},loc:{start:{line:58,column:68},end:{line:154,column:1}},line:58},5:{name:"(anonymous_5)",decl:{start:{line:69,column:26},end:{line:69,column:27}},loc:{start:{line:69,column:32},end:{line:74,column:10}},line:69},6:{name:"(anonymous_6)",decl:{start:{line:85,column:43},end:{line:85,column:44}},loc:{start:{line:85,column:57},end:{line:85,column:108}},line:85},7:{name:"(anonymous_7)",decl:{start:{line:112,column:32},end:{line:112,column:33}},loc:{start:{line:112,column:38},end:{line:115,column:16}},line:112},8:{name:"(anonymous_8)",decl:{start:{line:124,column:32},end:{line:124,column:33}},loc:{start:{line:124,column:38},end:{line:127,column:16}},line:124},9:{name:"(anonymous_9)",decl:{start:{line:144,column:49},end:{line:144,column:50}},loc:{start:{line:144,column:60},end:{line:144,column:77}},line:144}},branchMap:{0:{loc:{start:{line:69,column:32},end:{line:74,column:10}},type:"binary-expr",locations:[{start:{line:69,column:32},end:{line:69,column:41}},{start:{line:69,column:46},end:{line:74,column:9}}],line:69},1:{loc:{start:{line:85,column:17},end:{line:85,column:110}},type:"binary-expr",locations:[{start:{line:85,column:17},end:{line:85,column:26}},{start:{line:85,column:31},end:{line:85,column:109}}],line:85},2:{loc:{start:{line:85,column:57},end:{line:85,column:108}},type:"binary-expr",locations:[{start:{line:85,column:57},end:{line:85,column:76}},{start:{line:85,column:80},end:{line:85,column:108}}],line:85},3:{loc:{start:{line:86,column:9},end:{line:93,column:8}},type:"binary-expr",locations:[{start:{line:86,column:9},end:{line:86,column:18}},{start:{line:86,column:23},end:{line:93,column:7}}],line:86},4:{loc:{start:{line:112,column:38},end:{line:115,column:16}},type:"binary-expr",locations:[{start:{line:112,column:38},end:{line:112,column:47}},{start:{line:112,column:52},end:{line:115,column:15}}],line:112},5:{loc:{start:{line:124,column:38},end:{line:127,column:16}},type:"binary-expr",locations:[{start:{line:124,column:38},end:{line:124,column:47}},{start:{line:124,column:52},end:{line:127,column:15}}],line:124},6:{loc:{start:{line:136,column:15},end:{line:139,column:14}},type:"binary-expr",locations:[{start:{line:136,column:15},end:{line:136,column:24}},{start:{line:136,column:29},end:{line:139,column:13}}],line:136},7:{loc:{start:{line:140,column:12},end:{line:140,column:103}},type:"binary-expr",locations:[{start:{line:140,column:12},end:{line:140,column:21}},{start:{line:140,column:26},end:{line:140,column:102}}],line:140},8:{loc:{start:{line:144,column:23},end:{line:144,column:79}},type:"binary-expr",locations:[{start:{line:144,column:23},end:{line:144,column:32}},{start:{line:144,column:37},end:{line:144,column:78}}],line:144},9:{loc:{start:{line:145,column:15},end:{line:148,column:14}},type:"binary-expr",locations:[{start:{line:145,column:15},end:{line:145,column:24}},{start:{line:145,column:29},end:{line:148,column:13}}],line:145}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Navbar.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3b8dfc45c3971065beb663dd5eda0ed074d6f550"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return xA=function(){return s},s}xA();const Ax=(xA().s[0]++,{name:"Navbar",components:{avatar:Kt,PresenceController:eh},data(){return xA().f[0]++,xA().s[1]++,{userJid:localStorage.getItem("barejid"),bugUrl:Xk.url}},computed:{...je(ZC,["activeChat"])},mounted(){xA().f[1]++,xA().s[2]++,document.body.classList.add("has-navbar-fixed-top")},methods:{toggleMenu(A){xA().f[2]++,xA().s[3]++,A.target.classList.toggle("is-active"),xA().s[4]++,document.getElementById("navbar-menu").classList.toggle("is-active")},async logout(){xA().f[3]++,xA().s[5]++,await this.$xmpp.disconnect(),xA().s[6]++,this.$store.clear(),xA().s[7]++,localStorage.clear(),xA().s[8]++,sessionStorage.clear(),xA().s[9]++,this.$router.replace("/login")}}}),Cx=(xA().s[10]++,{class:"navbar is-shade-2 is-fixed-top"}),ex=(xA().s[11]++,{class:"navbar-brand"}),nx=(xA().s[12]++,{class:"navbar-item is-hidden-tablet"}),tx=(xA().s[13]++,{id:"navbar-menu",class:"navbar-menu"}),ix=(xA().s[14]++,{class:"navbar-end"}),sx=(xA().s[15]++,{class:"navbar-item has-dropdown is-hoverable"}),ox=(xA().s[16]++,{class:"navbar-link is-arrowless"}),lx=(xA().s[17]++,{class:"navbar-dropdown is-right"}),ax=(xA().s[18]++,["href"]);function rx(A,C,e,n,t,i){xA().f[4]++;const s=(xA().s[19]++,AA("router-link")),o=(xA().s[20]++,AA("presence-controller")),l=(xA().s[21]++,AA("avatar"));return xA().s[22]++,h(),Q("nav",Cx,[b("div",ex,[k(s,{class:"navbar-item",to:{name:"home"}},{default:SA(()=>(xA().f[5]++,xA().s[23]++,xA().b[0][0]++,C[2]||(xA().b[0][1]++,C[2]=[b("h1",{class:"has-text-weight-bold"},[b("i",{class:"fa fa-xmpp fa-fw"}),b("span",{class:"ml-3 is-hidden-mobile"},"Home")],-1)]))),_:1,__:[2]}),b("span",nx,lA(A.activeChat),1),b("a",{id:"navbar-burger",role:"button",class:"navbar-burger","aria-label":"menu","aria-expanded":"false",onClick:(xA().b[1][0]++,C[0]||(xA().b[1][1]++,C[0]=(...a)=>(xA().f[6]++,xA().s[24]++,xA().b[2][0]++,i.toggleMenu&&(xA().b[2][1]++,i.toggleMenu(...a)))))},(xA().b[3][0]++,C[3]||(xA().b[3][1]++,C[3]=[b("span",{"aria-hidden":"true",class:"is-primary"},null,-1),b("span",{"aria-hidden":"true"},null,-1),b("span",{"aria-hidden":"true"},null,-1)])))]),b("div",tx,[b("div",ix,[k(o,{"is-navbar-item":!0}),b("div",sx,[b("a",ox,[k(l,{jid:t.userJid,"display-jid":!0,size:32},null,8,["jid"])]),b("div",lx,[k(s,{class:"navbar-item",to:{name:"about"},"active-class":"is-active"},{default:SA(()=>(xA().f[7]++,xA().s[25]++,xA().b[4][0]++,C[4]||(xA().b[4][1]++,C[4]=[b("i",{class:"fa fa-info-circle fa-fw mr-3"},null,-1),cC("About")]))),_:1,__:[4]}),k(s,{class:"navbar-item",to:{name:"profile"},"active-class":"is-active"},{default:SA(()=>(xA().f[8]++,xA().s[26]++,xA().b[5][0]++,C[5]||(xA().b[5][1]++,C[5]=[b("i",{class:"fa fa-user fa-fw mr-3"},null,-1),cC("Profile")]))),_:1,__:[5]}),b("a",{class:"navbar-item",href:t.bugUrl,target:"_blank",rel:"noreferrer"},(xA().b[6][0]++,C[6]||(xA().b[6][1]++,C[6]=[b("i",{class:"fa fa-bug fa-fw mr-3"},null,-1),cC("Bug")])),8,ax),(xA().b[7][0]++,C[8]||(xA().b[7][1]++,C[8]=b("hr",{class:"navbar-divider"},null,-1))),b("a",{id:"logout",class:"navbar-item",onClick:(xA().b[8][0]++,C[1]||(xA().b[8][1]++,C[1]=a=>(xA().f[9]++,xA().s[27]++,i.logout())))},(xA().b[9][0]++,C[7]||(xA().b[9][1]++,C[7]=[b("i",{class:"fa fa-sign-out fa-fw mr-3"},null,-1),cC("Logout")])))])])])])])}const cx=pC(Ax,[["render",rx]]);function FC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Version.vue",C="3aad487c09b105094c528248ca56740a690c7918",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Version.vue",statementMap:{0:{start:{line:4,column:18},end:{line:15,column:1}},1:{start:{line:7,column:4},end:{line:13,column:5}},2:{start:{line:19,column:19},end:{line:19,column:27}},3:{start:{line:20,column:19},end:{line:20,column:36}},4:{start:{line:21,column:19},end:{line:21,column:28}},5:{start:{line:22,column:19},end:{line:22,column:36}},6:{start:{line:25,column:2},end:{line:67,column:3}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:2},end:{line:6,column:3}},loc:{start:{line:6,column:10},end:{line:14,column:3}},line:6},1:{name:"_sfc_render",decl:{start:{line:24,column:9},end:{line:24,column:20}},loc:{start:{line:24,column:68},end:{line:68,column:1}},line:24}},branchMap:{0:{loc:{start:{line:25,column:9},end:{line:67,column:3}},type:"binary-expr",locations:[{start:{line:25,column:9},end:{line:25,column:18}},{start:{line:26,column:4},end:{line:66,column:13}}],line:25},1:{loc:{start:{line:32,column:8},end:{line:32,column:289}},type:"binary-expr",locations:[{start:{line:32,column:8},end:{line:32,column:17}},{start:{line:32,column:22},end:{line:32,column:288}}],line:32},2:{loc:{start:{line:43,column:8},end:{line:49,column:15}},type:"binary-expr",locations:[{start:{line:43,column:8},end:{line:43,column:17}},{start:{line:43,column:22},end:{line:49,column:14}}],line:43},3:{loc:{start:{line:55,column:8},end:{line:61,column:15}},type:"binary-expr",locations:[{start:{line:55,column:8},end:{line:55,column:17}},{start:{line:55,column:22},end:{line:61,column:14}}],line:55}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Version.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3aad487c09b105094c528248ca56740a690c7918"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return FC=function(){return s},s}FC();const ux=(FC().s[0]++,{name:"Version",data(){return FC().f[0]++,FC().s[1]++,{gitVersion:"0.10.6",gitBranch:"HEAD",homepage:th,license:Ga,version:nh}}}),mx=(FC().s[2]++,["href"]),dx=(FC().s[3]++,{class:"ml-3"}),px=(FC().s[4]++,["title"]),fx=(FC().s[5]++,{class:"ml-3"});function hx(A,C,e,n,t,i){return FC().f[1]++,FC().s[6]++,FC().b[0][0]++,C[0]||(FC().b[0][1]++,zs(-1,!0),(C[0]=b("span",{class:"is-block is-size-7 has-text-grey has-text-centered py-2",style:{opacity:"50%"}},[b("span",null,[(FC().b[1][0]++,C[1]||(FC().b[1][1]++,C[1]=Vg('CodeMade with love by ',5))),b("b",null,[b("a",{href:t.homepage,target:"_blank",rel:"noreferrer",class:"has-text-grey"},"Nioc",8,mx)])]),b("span",dx,[(FC().b[2][0]++,C[2]||(FC().b[2][1]++,C[2]=b("span",{class:"mr-1"},[b("i",{class:"fa fa-tag","aria-hidden":"true"}),b("span",{class:"sr-only"},"Version")],-1))),b("span",{title:`${t.gitVersion} (${t.gitBranch})`},lA(t.version),9,px)]),b("span",fx,[(FC().b[3][0]++,C[3]||(FC().b[3][1]++,C[3]=b("span",{class:"mr-1"},[b("i",{class:"fa fa-balance-scale","aria-hidden":"true"}),b("span",{class:"sr-only"},"License")],-1))),b("span",null,lA(t.license),1)])])).cacheIndex=0,zs(1),C[0])}const il=pC(ux,[["render",hx]]);function P(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Login.vue",C="ef61b87f2198cd0a1f402c59cd4cd3ceecf316bd",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Login.vue",statementMap:{0:{start:{line:7,column:18},end:{line:100,column:1}},1:{start:{line:13,column:4},end:{line:25,column:5}},2:{start:{line:29,column:6},end:{line:29,column:102}},3:{start:{line:32,column:6},end:{line:32,column:168}},4:{start:{line:35,column:6},end:{line:35,column:120}},5:{start:{line:38,column:6},end:{line:38,column:76}},6:{start:{line:44,column:4},end:{line:44,column:58}},7:{start:{line:46,column:4},end:{line:57,column:5}},8:{start:{line:47,column:6},end:{line:56,column:7}},9:{start:{line:48,column:24},end:{line:48,column:67}},10:{start:{line:49,column:8},end:{line:49,column:75}},11:{start:{line:50,column:8},end:{line:50,column:85}},12:{start:{line:51,column:8},end:{line:53,column:9}},13:{start:{line:52,column:10},end:{line:52,column:22}},14:{start:{line:55,column:8},end:{line:55,column:59}},15:{start:{line:59,column:16},end:{line:59,column:43}},16:{start:{line:60,column:4},end:{line:62,column:5}},17:{start:{line:61,column:6},end:{line:61,column:32}},18:{start:{line:63,column:21},end:{line:63,column:46}},19:{start:{line:64,column:4},end:{line:69,column:5}},20:{start:{line:66,column:22},end:{line:66,column:67}},21:{start:{line:66,column:33},end:{line:66,column:67}},22:{start:{line:67,column:6},end:{line:67,column:66}},23:{start:{line:68,column:6},end:{line:68,column:18}},24:{start:{line:73,column:6},end:{line:73,column:21}},25:{start:{line:74,column:22},end:{line:74,column:67}},26:{start:{line:74,column:33},end:{line:74,column:67}},27:{start:{line:76,column:6},end:{line:78,column:7}},28:{start:{line:77,column:8},end:{line:77,column:14}},29:{start:{line:80,column:6},end:{line:80,column:27}},30:{start:{line:81,column:6},end:{line:95,column:7}},31:{start:{line:82,column:8},end:{line:82,column:113}},32:{start:{line:83,column:8},end:{line:83,column:34}},33:{start:{line:85,column:8},end:{line:87,column:9}},34:{start:{line:86,column:10},end:{line:86,column:86}},35:{start:{line:88,column:8},end:{line:90,column:9}},36:{start:{line:89,column:10},end:{line:89,column:62}},37:{start:{line:91,column:8},end:{line:91,column:30}},38:{start:{line:94,column:8},end:{line:94,column:34}},39:{start:{line:97,column:6},end:{line:97,column:28}},40:{start:{line:104,column:19},end:{line:104,column:50}},41:{start:{line:105,column:19},end:{line:105,column:41}},42:{start:{line:106,column:19},end:{line:106,column:59}},43:{start:{line:107,column:19},end:{line:107,column:55}},44:{start:{line:108,column:19},end:{line:108,column:58}},45:{start:{line:109,column:19},end:{line:109,column:107}},46:{start:{line:110,column:19},end:{line:110,column:26}},47:{start:{line:111,column:19},end:{line:111,column:37}},48:{start:{line:112,column:19},end:{line:112,column:54}},49:{start:{line:113,column:20},end:{line:113,column:35}},50:{start:{line:114,column:20},end:{line:114,column:38}},51:{start:{line:115,column:20},end:{line:115,column:55}},52:{start:{line:116,column:20},end:{line:116,column:57}},53:{start:{line:117,column:20},end:{line:121,column:1}},54:{start:{line:122,column:20},end:{line:122,column:69}},55:{start:{line:123,column:20},end:{line:123,column:45}},56:{start:{line:124,column:20},end:{line:124,column:38}},57:{start:{line:125,column:20},end:{line:125,column:40}},58:{start:{line:126,column:20},end:{line:126,column:38}},59:{start:{line:127,column:20},end:{line:127,column:32}},60:{start:{line:128,column:20},end:{line:131,column:1}},61:{start:{line:132,column:20},end:{line:132,column:61}},62:{start:{line:135,column:32},end:{line:135,column:63}},63:{start:{line:136,column:32},end:{line:136,column:63}},64:{start:{line:137,column:29},end:{line:137,column:57}},65:{start:{line:139,column:2},end:{line:270,column:5}},66:{start:{line:145,column:79},end:{line:145,column:120}},67:{start:{line:158,column:80},end:{line:158,column:112}},68:{start:{line:174,column:80},end:{line:174,column:117}},69:{start:{line:190,column:78},end:{line:190,column:115}},70:{start:{line:194,column:42},end:{line:196,column:20}},71:{start:{line:208,column:49},end:{line:224,column:21}},72:{start:{line:225,column:44},end:{line:242,column:21}},73:{start:{line:230,column:90},end:{line:230,column:131}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:2},end:{line:12,column:3}},loc:{start:{line:12,column:10},end:{line:26,column:3}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:28,column:4},end:{line:28,column:5}},loc:{start:{line:28,column:18},end:{line:30,column:5}},line:28},2:{name:"(anonymous_2)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:22},end:{line:33,column:5}},line:31},3:{name:"(anonymous_3)",decl:{start:{line:34,column:4},end:{line:34,column:5}},loc:{start:{line:34,column:15},end:{line:36,column:5}},line:34},4:{name:"(anonymous_4)",decl:{start:{line:37,column:4},end:{line:37,column:5}},loc:{start:{line:37,column:15},end:{line:39,column:5}},line:37},5:{name:"(anonymous_5)",decl:{start:{line:42,column:2},end:{line:42,column:3}},loc:{start:{line:42,column:19},end:{line:70,column:3}},line:42},6:{name:"(anonymous_6)",decl:{start:{line:66,column:22},end:{line:66,column:23}},loc:{start:{line:66,column:33},end:{line:66,column:67}},line:66},7:{name:"(anonymous_7)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:19},end:{line:98,column:5}},line:72},8:{name:"(anonymous_8)",decl:{start:{line:74,column:22},end:{line:74,column:23}},loc:{start:{line:74,column:33},end:{line:74,column:67}},line:74},9:{name:"_sfc_render",decl:{start:{line:134,column:9},end:{line:134,column:20}},loc:{start:{line:134,column:68},end:{line:271,column:1}},line:134},10:{name:"(anonymous_10)",decl:{start:{line:145,column:65},end:{line:145,column:66}},loc:{start:{line:145,column:79},end:{line:145,column:120}},line:145},11:{name:"(anonymous_11)",decl:{start:{line:158,column:69},end:{line:158,column:70}},loc:{start:{line:158,column:80},end:{line:158,column:112}},line:158},12:{name:"(anonymous_12)",decl:{start:{line:174,column:69},end:{line:174,column:70}},loc:{start:{line:174,column:80},end:{line:174,column:117}},line:174},13:{name:"(anonymous_13)",decl:{start:{line:190,column:67},end:{line:190,column:68}},loc:{start:{line:190,column:78},end:{line:190,column:115}},line:190},14:{name:"(anonymous_14)",decl:{start:{line:194,column:36},end:{line:194,column:37}},loc:{start:{line:194,column:42},end:{line:196,column:20}},line:194},15:{name:"(anonymous_15)",decl:{start:{line:208,column:38},end:{line:208,column:39}},loc:{start:{line:208,column:49},end:{line:224,column:21}},line:208},16:{name:"(anonymous_16)",decl:{start:{line:225,column:38},end:{line:225,column:39}},loc:{start:{line:225,column:44},end:{line:242,column:21}},line:225},17:{name:"(anonymous_17)",decl:{start:{line:230,column:79},end:{line:230,column:80}},loc:{start:{line:230,column:90},end:{line:230,column:131}},line:230}},branchMap:{0:{loc:{start:{line:29,column:13},end:{line:29,column:102}},type:"binary-expr",locations:[{start:{line:29,column:13},end:{line:29,column:27}},{start:{line:29,column:31},end:{line:29,column:52}},{start:{line:29,column:56},end:{line:29,column:82}},{start:{line:29,column:86},end:{line:29,column:102}}],line:29},1:{loc:{start:{line:32,column:13},end:{line:32,column:168}},type:"cond-expr",locations:[{start:{line:32,column:103},end:{line:32,column:144}},{start:{line:32,column:147},end:{line:32,column:168}}],line:32},2:{loc:{start:{line:32,column:14},end:{line:32,column:99}},type:"binary-expr",locations:[{start:{line:32,column:14},end:{line:32,column:61}},{start:{line:32,column:65},end:{line:32,column:99}}],line:32},3:{loc:{start:{line:35,column:13},end:{line:35,column:120}},type:"cond-expr",locations:[{start:{line:35,column:85},end:{line:35,column:103}},{start:{line:35,column:106},end:{line:35,column:120}}],line:35},4:{loc:{start:{line:35,column:14},end:{line:35,column:81}},type:"binary-expr",locations:[{start:{line:35,column:14},end:{line:35,column:52}},{start:{line:35,column:56},end:{line:35,column:81}}],line:35},5:{loc:{start:{line:38,column:13},end:{line:38,column:76}},type:"binary-expr",locations:[{start:{line:38,column:13},end:{line:38,column:34}},{start:{line:38,column:38},end:{line:38,column:76}}],line:38},6:{loc:{start:{line:46,column:4},end:{line:57,column:5}},type:"if",locations:[{start:{line:46,column:4},end:{line:57,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46},7:{loc:{start:{line:46,column:8},end:{line:46,column:122}},type:"binary-expr",locations:[{start:{line:46,column:8},end:{line:46,column:25}},{start:{line:46,column:29},end:{line:46,column:55}},{start:{line:46,column:59},end:{line:46,column:86}},{start:{line:46,column:90},end:{line:46,column:122}}],line:46},8:{loc:{start:{line:51,column:8},end:{line:53,column:9}},type:"if",locations:[{start:{line:51,column:8},end:{line:53,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:51},9:{loc:{start:{line:51,column:12},end:{line:51,column:61}},type:"binary-expr",locations:[{start:{line:51,column:12},end:{line:51,column:32}},{start:{line:51,column:36},end:{line:51,column:61}}],line:51},10:{loc:{start:{line:60,column:4},end:{line:62,column:5}},type:"if",locations:[{start:{line:60,column:4},end:{line:62,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:60},11:{loc:{start:{line:64,column:4},end:{line:69,column:5}},type:"if",locations:[{start:{line:64,column:4},end:{line:69,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},12:{loc:{start:{line:76,column:6},end:{line:78,column:7}},type:"if",locations:[{start:{line:76,column:6},end:{line:78,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:76},13:{loc:{start:{line:76,column:10},end:{line:76,column:73}},type:"binary-expr",locations:[{start:{line:76,column:10},end:{line:76,column:37}},{start:{line:76,column:41},end:{line:76,column:73}}],line:76},14:{loc:{start:{line:85,column:8},end:{line:87,column:9}},type:"if",locations:[{start:{line:85,column:8},end:{line:87,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:85},15:{loc:{start:{line:88,column:8},end:{line:90,column:9}},type:"if",locations:[{start:{line:88,column:8},end:{line:90,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:88},16:{loc:{start:{line:145,column:24},end:{line:145,column:136}},type:"binary-expr",locations:[{start:{line:145,column:24},end:{line:145,column:33}},{start:{line:145,column:38},end:{line:145,column:135}}],line:145},17:{loc:{start:{line:145,column:79},end:{line:145,column:120}},type:"binary-expr",locations:[{start:{line:145,column:79},end:{line:145,column:93}},{start:{line:145,column:97},end:{line:145,column:120}}],line:145},18:{loc:{start:{line:154,column:14},end:{line:154,column:117}},type:"binary-expr",locations:[{start:{line:154,column:14},end:{line:154,column:24}},{start:{line:154,column:29},end:{line:154,column:116}}],line:154},19:{loc:{start:{line:158,column:43},end:{line:158,column:114}},type:"binary-expr",locations:[{start:{line:158,column:43},end:{line:158,column:52}},{start:{line:158,column:57},end:{line:158,column:113}}],line:158},20:{loc:{start:{line:166,column:18},end:{line:168,column:25}},type:"binary-expr",locations:[{start:{line:166,column:18},end:{line:166,column:27}},{start:{line:166,column:32},end:{line:168,column:24}}],line:166},21:{loc:{start:{line:174,column:43},end:{line:174,column:119}},type:"binary-expr",locations:[{start:{line:174,column:43},end:{line:174,column:52}},{start:{line:174,column:57},end:{line:174,column:118}}],line:174},22:{loc:{start:{line:182,column:18},end:{line:184,column:25}},type:"binary-expr",locations:[{start:{line:182,column:18},end:{line:182,column:27}},{start:{line:182,column:32},end:{line:184,column:24}}],line:182},23:{loc:{start:{line:190,column:41},end:{line:190,column:117}},type:"binary-expr",locations:[{start:{line:190,column:41},end:{line:190,column:50}},{start:{line:190,column:55},end:{line:190,column:116}}],line:190},24:{loc:{start:{line:194,column:42},end:{line:196,column:20}},type:"binary-expr",locations:[{start:{line:194,column:42},end:{line:194,column:51}},{start:{line:194,column:56},end:{line:196,column:19}}],line:194},25:{loc:{start:{line:201,column:14},end:{line:245,column:47}},type:"cond-expr",locations:[{start:{line:202,column:19},end:{line:244,column:20}},{start:{line:245,column:18},end:{line:245,column:47}}],line:201},26:{loc:{start:{line:210,column:24},end:{line:216,column:31}},type:"binary-expr",locations:[{start:{line:210,column:24},end:{line:210,column:33}},{start:{line:210,column:38},end:{line:216,column:30}}],line:210},27:{loc:{start:{line:219,column:70},end:{line:219,column:113}},type:"cond-expr",locations:[{start:{line:219,column:83},end:{line:219,column:98}},{start:{line:219,column:100},end:{line:219,column:113}}],line:219},28:{loc:{start:{line:230,column:53},end:{line:230,column:133}},type:"binary-expr",locations:[{start:{line:230,column:53},end:{line:230,column:62}},{start:{line:230,column:67},end:{line:230,column:132}}],line:230},29:{loc:{start:{line:251,column:19},end:{line:257,column:18}},type:"binary-expr",locations:[{start:{line:251,column:19},end:{line:251,column:28}},{start:{line:251,column:33},end:{line:257,column:17}}],line:251},30:{loc:{start:{line:259,column:14},end:{line:263,column:47}},type:"cond-expr",locations:[{start:{line:260,column:19},end:{line:262,column:20}},{start:{line:263,column:18},end:{line:263,column:47}}],line:259}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},b:{0:[0,0,0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0,0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Login.vue"],names:[],mappings:"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,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAChB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnK,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACvC,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACf,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACtH,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACb;MACF,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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MACA,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACpB,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E;QACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD;QACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACvB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACd,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ef61b87f2198cd0a1f402c59cd4cd3ceecf316bd"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return P=function(){return s},s}P();const gx=(P().s[0]++,{name:"Login",components:{Version:il},data(){return P().f[0]++,P().s[1]++,{credentials:{jid:"",password:"",remember:!1},transportsUser:{websocket:window.config.transports.websocket},isLoading:!1,error:"",isTransportsUserAllowed:window.config.isTransportsUserAllowed}},computed:{isDisabled(){return P().f[1]++,P().s[2]++,P().b[0][0]++,this.isLoading||(P().b[0][1]++,!this.credentials.jid)||(P().b[0][2]++,!this.credentials.password)||(P().b[0][3]++,!this.hasNetwork)},jidPlaceholder(){return P().f[2]++,P().s[3]++,P().b[2][0]++,typeof window.config.defaultDomain=="string"&&(P().b[2][1]++,window.config.defaultDomain!=="")?(P().b[1][0]++,`username@${window.config.defaultDomain}`):(P().b[1][1]++,"username@domain.ltd")},appName(){return P().f[3]++,P().s[4]++,P().b[4][0]++,typeof window.config.name=="string"&&(P().b[4][1]++,window.config.name!=="")?(P().b[3][0]++,window.config.name):(P().b[3][1]++,"XMPP webchat")},logoSrc(){return P().f[4]++,P().s[5]++,P().b[5][0]++,window.config.logoUrl||(P().b[5][1]++,"img/icons/android-chrome-192x192.png")},...je(ZC,["hasNetwork"])},async mounted(){if(P().f[5]++,P().s[6]++,document.body.classList.remove("has-navbar-fixed-top"),P().s[7]++,P().b[7][0]++,window.config.sso&&(P().b[7][1]++,window.config.sso.endpoint)&&(P().b[7][2]++,window.config.sso.jidHeader)&&(P().b[7][3]++,window.config.sso.passwordHeader)){P().b[6][0]++,P().s[8]++;try{const e=(P().s[9]++,await Ec.get(window.config.sso.endpoint));P().s[10]++,this.credentials.jid=e.headers[window.config.sso.jidHeader],P().s[11]++,this.credentials.password=e.headers[window.config.sso.passwordHeader],P().s[12]++,P().b[9][0]++,this.credentials.jid&&(P().b[9][1]++,this.credentials.password)?(P().b[8][0]++,P().s[13]++,this.login()):P().b[8][1]++}catch(e){P().s[14]++,console.warn(`SSO login failed (${e.message})`)}}else P().b[6][1]++;const A=(P().s[15]++,localStorage.getItem("jid"));P().s[16]++,A?(P().b[10][0]++,P().s[17]++,this.credentials.jid=A):P().b[10][1]++;const C=(P().s[18]++,localStorage.getItem("p"));if(P().s[19]++,C){P().b[11][0]++,P().s[20]++;const e=n=>(P().f[6]++,P().s[21]++,n.split("").reverse().join(""));P().s[22]++,this.credentials.password=e(atob(e(C))),P().s[23]++,this.login()}else P().b[11][1]++},methods:{async login(){P().f[7]++,P().s[24]++,this.error="",P().s[25]++;const A=C=>(P().f[8]++,P().s[26]++,C.split("").reverse().join(""));if(P().s[27]++,P().b[13][0]++,this.credentials.jid===""||(P().b[13][1]++,this.credentials.password==="")){P().b[12][0]++,P().s[28]++;return}else P().b[12][1]++;P().s[29]++,this.isLoading=!0,P().s[30]++;try{if(P().s[31]++,await this.$xmpp.create(this.credentials.jid,this.credentials.password,null,this.transportsUser,this),P().s[32]++,await this.$xmpp.connect(),P().s[33]++,this.credentials.remember?(P().b[14][0]++,P().s[34]++,localStorage.setItem("p",A(btoa(A(this.credentials.password))))):P().b[14][1]++,P().s[35]++,this.$route.query.redirect!==void 0)return P().b[15][0]++,P().s[36]++,this.$router.push(this.$route.query.redirect);P().b[15][1]++,P().s[37]++,this.$router.push("/")}catch(C){P().s[38]++,this.error=C.message}P().s[39]++,this.isLoading=!1}}}),bx=(P().s[40]++,{class:"hero is-fullheight"}),Ex=(P().s[41]++,{class:"hero-body"}),yx=(P().s[42]++,{class:"container has-text-centered"}),vx=(P().s[43]++,{class:"column is-4 is-offset-4"}),wx=(P().s[44]++,{class:"box has-background-shade-3"}),Bx=(P().s[45]++,{class:"title has-text-grey is-flex is-justify-content-center is-align-items-center"}),Sx=(P().s[46]++,["src"]),kx=(P().s[47]++,{class:"field"}),xx=(P().s[48]++,{class:"control has-icons-left"}),_x=(P().s[49]++,["placeholder"]),jx=(P().s[50]++,{class:"field"}),Ix=(P().s[51]++,{class:"control has-icons-left"}),Mx=(P().s[52]++,{class:"field has-text-left pl-3"}),Dx=(P().s[53]++,{role:"button","aria-controls":"connection-settings",class:"card-header"}),Px=(P().s[54]++,{class:"card-header-icon has-text-grey-light"}),Ox=(P().s[55]++,{class:"card-content"}),Lx=(P().s[56]++,{class:"field"}),Kx=(P().s[57]++,{class:"control"}),Tx=(P().s[58]++,{class:"field"}),Fx=(P().s[59]++,["disabled"]),Nx=(P().s[60]++,{key:1,class:"message is-danger"}),$x=(P().s[61]++,{class:"message-body has-text-danger"});function Rx(A,C,e,n,t,i){P().f[9]++;const s=(P().s[62]++,AA("o-checkbox")),o=(P().s[63]++,AA("o-collapse")),l=(P().s[64]++,AA("version"));return P().s[65]++,h(),Q("section",bx,[b("div",Ex,[b("div",yx,[b("div",vx,[b("div",wx,[b("form",{onSubmit:(P().b[16][0]++,C[4]||(P().b[16][1]++,C[4]=MA((...a)=>(P().f[10]++,P().s[66]++,P().b[17][0]++,i.login&&(P().b[17][1]++,i.login(...a))),["prevent"])))},[b("h3",Bx,[b("img",{class:"image is-48x48 is-inline mr-2",src:i.logoSrc},null,8,Sx),cC(lA(i.appName),1)]),(P().b[18][0]++,C[10]||(P().b[18][1]++,C[10]=b("p",{class:"subtitle has-text-grey"},"Login",-1))),b("div",kx,[b("div",xx,[HA(b("input",{"onUpdate:modelValue":(P().b[19][0]++,C[0]||(P().b[19][1]++,C[0]=a=>(P().f[11]++,P().s[67]++,t.credentials.jid=a))),class:"input is-medium",type:"text",name:"jid",placeholder:i.jidPlaceholder},null,8,_x),[[we,t.credentials.jid]]),(P().b[20][0]++,C[5]||(P().b[20][1]++,C[5]=b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-user"})],-1)))])]),b("div",jx,[b("div",Ix,[HA(b("input",{"onUpdate:modelValue":(P().b[21][0]++,C[1]||(P().b[21][1]++,C[1]=a=>(P().f[12]++,P().s[68]++,t.credentials.password=a))),class:"input is-medium",type:"password",name:"password",placeholder:"Password"},null,512),[[we,t.credentials.password]]),(P().b[22][0]++,C[6]||(P().b[22][1]++,C[6]=b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-lock"})],-1)))])]),b("div",Mx,[k(s,{modelValue:t.credentials.remember,"onUpdate:modelValue":(P().b[23][0]++,C[2]||(P().b[23][1]++,C[2]=a=>(P().f[13]++,P().s[69]++,t.credentials.remember=a))),variant:"primary",class:"has-text-grey-light"},{default:SA(()=>(P().f[14]++,P().s[70]++,P().b[24][0]++,C[7]||(P().b[24][1]++,C[7]=[cC(" Store my password in browser ")]))),_:1,__:[7]},8,["modelValue"])]),t.isTransportsUserAllowed?(P().b[25][0]++,h(),S(o,{key:0,class:"card has-background-shade-3 mb-3",open:!1,"aria-id":"connection-settings"},{trigger:SA(a=>(P().f[15]++,P().s[71]++,[b("div",Dx,[(P().b[26][0]++,C[8]||(P().b[26][1]++,C[8]=b("p",{class:"card-header-title has-text-grey-light"},[b("span",{class:"fa fa-cog fa-fw mr-3","aria-hidden":"true"}),cC("Connection settings")],-1))),b("a",Px,[b("span",{class:zA(["fa fa-fw mr-3",[a.open?(P().b[27][0]++,"fa-caret-down"):(P().b[27][1]++,"fa-caret-up")]]),"aria-hidden":"true"},null,2)])])])),default:SA(()=>(P().f[16]++,P().s[72]++,[b("div",Ox,[b("div",Lx,[b("div",Kx,[HA(b("input",{"onUpdate:modelValue":(P().b[28][0]++,C[3]||(P().b[28][1]++,C[3]=a=>(P().f[17]++,P().s[73]++,t.transportsUser.websocket=a))),class:"input",type:"url",name:"websocket",placeholder:"wss://chat.domain.ltd/xmpp-websocket",title:"Websocket url"},null,512),[[we,t.transportsUser.websocket]])])])])])),_:1})):(P().b[25][1]++,L("",!0)),b("div",Tx,[b("button",{type:"submit",class:zA(["button is-block is-primary is-medium is-fullwidth",{"is-loading":t.isLoading}]),disabled:i.isDisabled},(P().b[29][0]++,C[9]||(P().b[29][1]++,C[9]=[b("span",{class:"fa fa-sign-in fa-fw mr-3","aria-hidden":"true"},null,-1),cC("Login")])),10,Fx)]),t.error?(P().b[30][0]++,h(),Q("div",Nx,[b("div",$x,lA(t.error),1)])):(P().b[30][1]++,L("",!0))],32)])])])]),k(l)])}const Gx=pC(gx,[["render",Rx]]);function ih(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",C="6454a43858a181e432887f82ed4bc3a5f9c8c909",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6454a43858a181e432887f82ed4bc3a5f9c8c909"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return ih=function(){return s},s}ih();function DA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",C="5b737a067a5a15b143636a64625ae3ac379a06ea",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",statementMap:{0:{start:{line:4,column:18},end:{line:45,column:1}},1:{start:{line:40,column:15},end:{line:40,column:126}},2:{start:{line:41,column:18},end:{line:41,column:126}},3:{start:{line:42,column:14},end:{line:42,column:71}},4:{start:{line:43,column:18},end:{line:43,column:55}},5:{start:{line:49,column:19},end:{line:52,column:1}},6:{start:{line:53,column:19},end:{line:56,column:1}},7:{start:{line:57,column:19},end:{line:61,column:1}},8:{start:{line:62,column:19},end:{line:66,column:1}},9:{start:{line:67,column:19},end:{line:71,column:1}},10:{start:{line:72,column:19},end:{line:76,column:1}},11:{start:{line:77,column:19},end:{line:81,column:1}},12:{start:{line:84,column:28},end:{line:84,column:55}},13:{start:{line:85,column:33},end:{line:85,column:65}},14:{start:{line:87,column:2},end:{line:155,column:25}},15:{start:{line:94,column:28},end:{line:153,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:40,column:4},end:{line:40,column:5}},loc:{start:{line:40,column:13},end:{line:40,column:128}},line:40},1:{name:"(anonymous_1)",decl:{start:{line:41,column:4},end:{line:41,column:5}},loc:{start:{line:41,column:16},end:{line:41,column:128}},line:41},2:{name:"(anonymous_2)",decl:{start:{line:42,column:4},end:{line:42,column:5}},loc:{start:{line:42,column:12},end:{line:42,column:73}},line:42},3:{name:"(anonymous_3)",decl:{start:{line:43,column:4},end:{line:43,column:5}},loc:{start:{line:43,column:16},end:{line:43,column:57}},line:43},4:{name:"_sfc_render",decl:{start:{line:83,column:9},end:{line:83,column:20}},loc:{start:{line:83,column:68},end:{line:156,column:1}},line:83},5:{name:"(anonymous_5)",decl:{start:{line:94,column:22},end:{line:94,column:23}},loc:{start:{line:94,column:28},end:{line:153,column:5}},line:94}},branchMap:{0:{loc:{start:{line:40,column:22},end:{line:40,column:126}},type:"cond-expr",locations:[{start:{line:40,column:36},end:{line:40,column:68}},{start:{line:40,column:71},end:{line:40,column:126}}],line:40},1:{loc:{start:{line:40,column:71},end:{line:40,column:126}},type:"cond-expr",locations:[{start:{line:40,column:85},end:{line:40,column:115}},{start:{line:40,column:118},end:{line:40,column:126}}],line:40},2:{loc:{start:{line:41,column:25},end:{line:41,column:126}},type:"cond-expr",locations:[{start:{line:41,column:72},end:{line:41,column:109}},{start:{line:41,column:112},end:{line:41,column:126}}],line:41},3:{loc:{start:{line:41,column:25},end:{line:41,column:69}},type:"binary-expr",locations:[{start:{line:41,column:25},end:{line:41,column:39}},{start:{line:41,column:43},end:{line:41,column:69}}],line:41},4:{loc:{start:{line:42,column:21},end:{line:42,column:71}},type:"cond-expr",locations:[{start:{line:42,column:35},end:{line:42,column:64}},{start:{line:42,column:67},end:{line:42,column:71}}],line:42},5:{loc:{start:{line:88,column:16},end:{line:88,column:52}},type:"cond-expr",locations:[{start:{line:88,column:32},end:{line:88,column:43}},{start:{line:88,column:46},end:{line:88,column:52}}],line:88},6:{loc:{start:{line:95,column:6},end:{line:146,column:76}},type:"cond-expr",locations:[{start:{line:96,column:11},end:{line:137,column:12}},{start:{line:138,column:11},end:{line:146,column:75}}],line:95},7:{loc:{start:{line:97,column:12},end:{line:105,column:45}},type:"cond-expr",locations:[{start:{line:98,column:17},end:{line:104,column:36}},{start:{line:105,column:16},end:{line:105,column:45}}],line:97},8:{loc:{start:{line:111,column:12},end:{line:115,column:45}},type:"cond-expr",locations:[{start:{line:112,column:16},end:{line:114,column:18}},{start:{line:115,column:16},end:{line:115,column:45}}],line:111},9:{loc:{start:{line:117,column:62},end:{line:117,column:120}},type:"cond-expr",locations:[{start:{line:117,column:82},end:{line:117,column:103}},{start:{line:117,column:105},end:{line:117,column:120}}],line:117},10:{loc:{start:{line:119,column:14},end:{line:121,column:47}},type:"cond-expr",locations:[{start:{line:120,column:19},end:{line:120,column:69}},{start:{line:121,column:18},end:{line:121,column:47}}],line:119},11:{loc:{start:{line:122,column:14},end:{line:124,column:47}},type:"cond-expr",locations:[{start:{line:123,column:19},end:{line:123,column:69}},{start:{line:124,column:18},end:{line:124,column:47}}],line:122},12:{loc:{start:{line:125,column:14},end:{line:127,column:47}},type:"cond-expr",locations:[{start:{line:126,column:19},end:{line:126,column:69}},{start:{line:127,column:18},end:{line:127,column:47}}],line:125},13:{loc:{start:{line:128,column:14},end:{line:130,column:47}},type:"cond-expr",locations:[{start:{line:129,column:19},end:{line:129,column:69}},{start:{line:130,column:18},end:{line:130,column:47}}],line:128},14:{loc:{start:{line:131,column:14},end:{line:133,column:47}},type:"cond-expr",locations:[{start:{line:132,column:19},end:{line:132,column:69}},{start:{line:133,column:18},end:{line:133,column:47}}],line:131},15:{loc:{start:{line:147,column:6},end:{line:152,column:39}},type:"cond-expr",locations:[{start:{line:148,column:11},end:{line:151,column:53}},{start:{line:152,column:10},end:{line:152,column:39}}],line:147},16:{loc:{start:{line:150,column:64},end:{line:150,column:116}},type:"cond-expr",locations:[{start:{line:150,column:84},end:{line:150,column:90}},{start:{line:150,column:93},end:{line:150,column:116}}],line:150}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"5b737a067a5a15b143636a64625ae3ac379a06ea"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return DA=function(){return s},s}DA();const Ux=(DA().s[0]++,{name:"Contact",components:{avatar:Kt},props:{jid:{type:String,required:!0},name:{type:String,default:null},presence:{type:String,default:null},status:{type:String,default:null},isRoom:{type:Boolean,default:!1},unreadCount:{type:Number,default:0},isExpanded:{type:Boolean,default:!0}},computed:{title(){return DA().f[0]++,DA().s[1]++,this.isRoom?(DA().b[0][0]++,`${this.jid} +${this.room.name}`):(DA().b[0][1]++,this.status?(DA().b[1][0]++,`${this.jid} / ${this.status}`):(DA().b[1][1]++,this.jid))},roomName(){return DA().f[1]++,DA().s[2]++,DA().b[3][0]++,this.room.name&&(DA().b[3][1]++,this.room.name.length>25)?(DA().b[2][0]++,this.room.name.substring(0,25)+"…"):(DA().b[2][1]++,this.room.name)},room(){return DA().f[2]++,DA().s[3]++,this.isRoom?(DA().b[4][0]++,this.$store.getRoom(this.jid)):(DA().b[4][1]++,null)},isJoined(){return DA().f[3]++,DA().s[4]++,this.$store.isJoined(this.jid)}}}),Hx=(DA().s[5]++,{key:0,class:"is-flex is-align-items-center"}),Qx=(DA().s[6]++,{key:1,class:"fa fa-star has-text-warning ml-3"}),Vx=(DA().s[7]++,{key:0,class:"fa fa-key-modern fa-fw",title:"Password protected"}),zx=(DA().s[8]++,{key:1,class:"fa fa-shield fa-fw",title:"Is moderated"}),qx=(DA().s[9]++,{key:2,class:"fa fa-user-secret fa-fw",title:"Allow anonymous (nick)"}),Wx=(DA().s[10]++,{key:3,class:"fa fa-users fa-fw",title:"Restricted to members"}),Yx=(DA().s[11]++,{key:4,class:"fa fa-globe fa-fw",title:"Public room"});function Jx(A,C,e,n,t,i){DA().f[4]++;const s=(DA().s[12]++,AA("avatar")),o=(DA().s[13]++,AA("router-link"));return DA().s[14]++,h(),S(o,{to:{name:e.isRoom?(DA().b[5][0]++,"groupchat"):(DA().b[5][1]++,"chat"),params:{jid:e.jid}},class:"has-unread is-relative",title:i.title,exact:"","exact-active-class":"is-active"},{default:SA(()=>(DA().f[5]++,DA().s[15]++,[e.isRoom?(DA().b[6][0]++,h(),Q("span",Hx,[i.room.hasVCard?(DA().b[7][0]++,h(),S(s,{key:0,class:"mr-3",jid:e.jid,"display-jid":!1,size:24},null,8,["jid"])):(DA().b[7][1]++,L("",!0)),HA(b("span",{class:zA({"is-italic has-text-grey":!i.isJoined})},lA(i.roomName),3),[[fC,e.isExpanded]]),i.room.isBookmarked?(DA().b[8][0]++,HA((h(),Q("i",Qx,null,512)),[[fC,e.isExpanded]])):(DA().b[8][1]++,L("",!0)),HA(b("span",{class:zA(["ml-3 room-attributes",i.isJoined?(DA().b[9][0]++,"has-text-grey-light"):(DA().b[9][1]++,"has-text-grey")])},[i.room.isPasswordProtected?(DA().b[10][0]++,h(),Q("i",Vx)):(DA().b[10][1]++,L("",!0)),i.room.isModerated?(DA().b[11][0]++,h(),Q("i",zx)):(DA().b[11][1]++,L("",!0)),i.room.isAnonymous?(DA().b[12][0]++,h(),Q("i",qx)):(DA().b[12][1]++,L("",!0)),i.room.isMembersOnly?(DA().b[13][0]++,h(),Q("i",Wx)):(DA().b[13][1]++,L("",!0)),i.room.isPublic?(DA().b[14][0]++,h(),Q("i",Yx)):(DA().b[14][1]++,L("",!0))],2),[[fC,e.isExpanded]])])):(DA().b[6][1]++,h(),S(s,{key:1,jid:e.jid,name:e.name,"display-jid":e.isExpanded,size:24,presence:e.presence,status:e.status},null,8,["jid","name","display-jid","presence","status"])),e.unreadCount>0?(DA().b[15][0]++,h(),Q("span",{key:2,class:zA(["tag is-rounded is-danger",e.isExpanded?(DA().b[16][0]++,"ml-3"):(DA().b[16][1]++,"unread-count-attached")])},lA(e.unreadCount),3)):(DA().b[15][1]++,L("",!0))])),_:1},8,["to","title"])}const sh=pC(Ux,[["render",Jx],["__scopeId","data-v-a1b25128"]]);function MC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Group.vue",C="2f41961891565d53dcb5e0b743bd9bf4343ad623",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Group.vue",statementMap:{0:{start:{line:6,column:18},end:{line:31,column:1}},1:{start:{line:18,column:4},end:{line:20,column:5}},2:{start:{line:27,column:6},end:{line:28,column:65}},3:{start:{line:28,column:29},end:{line:28,column:64}},4:{start:{line:35,column:19},end:{line:35,column:29}},5:{start:{line:38,column:29},end:{line:38,column:57}},6:{start:{line:40,column:2},end:{line:68,column:5}},7:{start:{line:43,column:52},end:{line:43,column:84}},8:{start:{line:53,column:12},end:{line:64,column:15}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:10},end:{line:21,column:3}},line:17},1:{name:"(anonymous_1)",decl:{start:{line:26,column:4},end:{line:26,column:5}},loc:{start:{line:26,column:23},end:{line:29,column:5}},line:26},2:{name:"(anonymous_2)",decl:{start:{line:28,column:16},end:{line:28,column:17}},loc:{start:{line:28,column:29},end:{line:28,column:64}},line:28},3:{name:"_sfc_render",decl:{start:{line:37,column:9},end:{line:37,column:20}},loc:{start:{line:37,column:68},end:{line:69,column:1}},line:37},4:{name:"(anonymous_4)",decl:{start:{line:43,column:41},end:{line:43,column:42}},loc:{start:{line:43,column:52},end:{line:43,column:84}},line:43},5:{name:"(anonymous_5)",decl:{start:{line:52,column:104},end:{line:52,column:105}},loc:{start:{line:52,column:117},end:{line:65,column:11}},line:52}},branchMap:{0:{loc:{start:{line:43,column:15},end:{line:43,column:86}},type:"binary-expr",locations:[{start:{line:43,column:15},end:{line:43,column:24}},{start:{line:43,column:29},end:{line:43,column:85}}],line:43},1:{loc:{start:{line:47,column:44},end:{line:47,column:92}},type:"cond-expr",locations:[{start:{line:47,column:61},end:{line:47,column:76}},{start:{line:47,column:79},end:{line:47,column:92}}],line:47},2:{loc:{start:{line:50,column:4},end:{line:67,column:37}},type:"cond-expr",locations:[{start:{line:51,column:9},end:{line:66,column:10}},{start:{line:67,column:8},end:{line:67,column:37}}],line:50}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Group.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"2f41961891565d53dcb5e0b743bd9bf4343ad623"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return MC=function(){return s},s}MC();const Xx=(MC().s[0]++,{name:"Group",components:{contact:sh},props:{group:{type:String,required:!0}},data(){return MC().f[0]++,MC().s[1]++,{isOpened:!1}},computed:{...je(ZC,["contacts"]),contactsInGroup(){return MC().f[1]++,MC().s[2]++,this.contacts.filter(A=>(MC().f[2]++,MC().s[3]++,A.groups.includes(this.group)))}}}),Zx=(MC().s[4]++,{key:0});function A_(A,C,e,n,t,i){MC().f[3]++;const s=(MC().s[5]++,AA("contact"));return MC().s[6]++,h(),Q("div",null,[b("a",{class:"is-flex is-align-items-center is-justify-content-space-between",onClick:(MC().b[0][0]++,C[0]||(MC().b[0][1]++,C[0]=o=>(MC().f[4]++,MC().s[7]++,t.isOpened=!t.isOpened)))},[b("span",null,lA(e.group),1),b("i",{class:zA(["fa fa-fw",t.isOpened?(MC().b[1][0]++,"fa-caret-down"):(MC().b[1][1]++,"fa-caret-up")])},null,2)]),t.isOpened?(MC().b[2][0]++,h(),Q("ul",Zx,[(h(!0),Q(gA,null,JA(i.contactsInGroup,o=>(MC().f[5]++,MC().s[8]++,h(),Q("li",{key:o.jid},[k(s,{jid:o.jid,"is-room":!1,name:o.name,presence:o.presence,status:o.status,"unread-count":o.unreadCount},null,8,["jid","name","presence","status","unread-count"])]))),128))])):(MC().b[2][1]++,L("",!0))])}const C_=pC(Xx,[["render",A_]]);function oh(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",C="d4fd57caff29f93750328f576c41f9b515047176",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d4fd57caff29f93750328f576c41f9b515047176"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return oh=function(){return s},s}oh();function CA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",C="54bcbf6efd91d0535e8713a3aa27c5b2e37e4ae8",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",statementMap:{0:{start:{line:7,column:18},end:{line:54,column:1}},1:{start:{line:20,column:4},end:{line:22,column:5}},2:{start:{line:31,column:6},end:{line:32,column:78}},3:{start:{line:32,column:26},end:{line:32,column:77}},4:{start:{line:34,column:25},end:{line:34,column:135}},5:{start:{line:35,column:24},end:{line:35,column:112}},6:{start:{line:39,column:6},end:{line:41,column:7}},7:{start:{line:40,column:8},end:{line:40,column:14}},8:{start:{line:42,column:6},end:{line:47,column:7}},9:{start:{line:43,column:8},end:{line:45,column:9}},10:{start:{line:44,column:10},end:{line:44,column:16}},11:{start:{line:46,column:8},end:{line:46,column:65}},12:{start:{line:48,column:6},end:{line:50,column:7}},13:{start:{line:49,column:8},end:{line:49,column:79}},14:{start:{line:51,column:6},end:{line:51,column:23}},15:{start:{line:58,column:19},end:{line:58,column:36}},16:{start:{line:59,column:19},end:{line:62,column:1}},17:{start:{line:63,column:19},end:{line:66,column:1}},18:{start:{line:67,column:19},end:{line:70,column:1}},19:{start:{line:71,column:19},end:{line:74,column:1}},20:{start:{line:75,column:19},end:{line:75,column:42}},21:{start:{line:76,column:19},end:{line:79,column:1}},22:{start:{line:80,column:19},end:{line:80,column:54}},23:{start:{line:81,column:19},end:{line:81,column:34}},24:{start:{line:82,column:20},end:{line:85,column:1}},25:{start:{line:86,column:20},end:{line:86,column:32}},26:{start:{line:89,column:29},end:{line:89,column:57}},27:{start:{line:90,column:27},end:{line:90,column:53}},28:{start:{line:91,column:33},end:{line:91,column:65}},29:{start:{line:93,column:2},end:{line:231,column:8}},30:{start:{line:109,column:10},end:{line:121,column:13}},31:{start:{line:136,column:10},end:{line:138,column:13}},32:{start:{line:153,column:10},end:{line:162,column:13}},33:{start:{line:170,column:36},end:{line:173,column:14}},34:{start:{line:183,column:77},end:{line:183,column:134}},35:{start:{line:187,column:76},end:{line:187,column:100}},36:{start:{line:217,column:36},end:{line:222,column:14}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:19,column:2},end:{line:19,column:3}},loc:{start:{line:19,column:10},end:{line:23,column:3}},line:19},1:{name:"(anonymous_1)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:22},end:{line:33,column:5}},line:30},2:{name:"(anonymous_2)",decl:{start:{line:32,column:16},end:{line:32,column:17}},loc:{start:{line:32,column:26},end:{line:32,column:77}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:34,column:4},end:{line:34,column:5}},loc:{start:{line:34,column:23},end:{line:34,column:137}},line:34},4:{name:"(anonymous_4)",decl:{start:{line:35,column:4},end:{line:35,column:5}},loc:{start:{line:35,column:22},end:{line:35,column:114}},line:35},5:{name:"(anonymous_5)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:21},end:{line:52,column:5}},line:38},6:{name:"_sfc_render",decl:{start:{line:88,column:9},end:{line:88,column:20}},loc:{start:{line:88,column:68},end:{line:232,column:1}},line:88},7:{name:"(anonymous_7)",decl:{start:{line:108,column:91},end:{line:108,column:92}},loc:{start:{line:108,column:104},end:{line:122,column:9}},line:108},8:{name:"(anonymous_8)",decl:{start:{line:135,column:89},end:{line:135,column:90}},loc:{start:{line:135,column:100},end:{line:139,column:9}},line:135},9:{name:"(anonymous_9)",decl:{start:{line:152,column:101},end:{line:152,column:102}},loc:{start:{line:152,column:111},end:{line:163,column:9}},line:152},10:{name:"(anonymous_10)",decl:{start:{line:170,column:30},end:{line:170,column:31}},loc:{start:{line:170,column:36},end:{line:173,column:14}},line:170},11:{name:"(anonymous_11)",decl:{start:{line:183,column:63},end:{line:183,column:64}},loc:{start:{line:183,column:77},end:{line:183,column:134}},line:183},12:{name:"(anonymous_12)",decl:{start:{line:187,column:65},end:{line:187,column:66}},loc:{start:{line:187,column:76},end:{line:187,column:100}},line:187},13:{name:"(anonymous_13)",decl:{start:{line:217,column:30},end:{line:217,column:31}},loc:{start:{line:217,column:36},end:{line:222,column:14}},line:217}},branchMap:{0:{loc:{start:{line:32,column:26},end:{line:32,column:77}},type:"binary-expr",locations:[{start:{line:32,column:26},end:{line:32,column:43}},{start:{line:32,column:47},end:{line:32,column:77}}],line:32},1:{loc:{start:{line:34,column:32},end:{line:34,column:135}},type:"cond-expr",locations:[{start:{line:34,column:56},end:{line:34,column:87}},{start:{line:34,column:90},end:{line:34,column:135}}],line:34},2:{loc:{start:{line:35,column:31},end:{line:35,column:112}},type:"cond-expr",locations:[{start:{line:35,column:55},end:{line:35,column:78}},{start:{line:35,column:81},end:{line:35,column:112}}],line:35},3:{loc:{start:{line:39,column:6},end:{line:41,column:7}},type:"if",locations:[{start:{line:39,column:6},end:{line:41,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:39},4:{loc:{start:{line:42,column:6},end:{line:47,column:7}},type:"if",locations:[{start:{line:42,column:6},end:{line:47,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:42},5:{loc:{start:{line:43,column:8},end:{line:45,column:9}},type:"if",locations:[{start:{line:43,column:8},end:{line:45,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:43},6:{loc:{start:{line:48,column:6},end:{line:50,column:7}},type:"if",locations:[{start:{line:48,column:6},end:{line:50,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:48},7:{loc:{start:{line:48,column:10},end:{line:48,column:114}},type:"binary-expr",locations:[{start:{line:48,column:10},end:{line:48,column:42}},{start:{line:48,column:47},end:{line:48,column:70}},{start:{line:48,column:74},end:{line:48,column:113}}],line:48},8:{loc:{start:{line:94,column:44},end:{line:94,column:83}},type:"cond-expr",locations:[{start:{line:94,column:64},end:{line:94,column:69}},{start:{line:94,column:72},end:{line:94,column:83}}],line:94},9:{loc:{start:{line:97,column:6},end:{line:106,column:39}},type:"cond-expr",locations:[{start:{line:98,column:11},end:{line:105,column:12}},{start:{line:106,column:10},end:{line:106,column:39}}],line:97},10:{loc:{start:{line:100,column:57},end:{line:100,column:105}},type:"cond-expr",locations:[{start:{line:100,column:77},end:{line:100,column:84}},{start:{line:100,column:87},end:{line:100,column:105}}],line:100},11:{loc:{start:{line:124,column:6},end:{line:133,column:39}},type:"cond-expr",locations:[{start:{line:125,column:10},end:{line:132,column:12}},{start:{line:133,column:10},end:{line:133,column:39}}],line:124},12:{loc:{start:{line:127,column:65},end:{line:127,column:113}},type:"cond-expr",locations:[{start:{line:127,column:85},end:{line:127,column:92}},{start:{line:127,column:95},end:{line:127,column:113}}],line:127},13:{loc:{start:{line:129,column:12},end:{line:129,column:86}},type:"binary-expr",locations:[{start:{line:129,column:12},end:{line:129,column:21}},{start:{line:129,column:26},end:{line:129,column:85}}],line:129},14:{loc:{start:{line:145,column:54},end:{line:145,column:102}},type:"cond-expr",locations:[{start:{line:145,column:74},end:{line:145,column:81}},{start:{line:145,column:84},end:{line:145,column:102}}],line:145},15:{loc:{start:{line:170,column:36},end:{line:173,column:14}},type:"binary-expr",locations:[{start:{line:170,column:36},end:{line:170,column:45}},{start:{line:170,column:50},end:{line:173,column:13}}],line:170},16:{loc:{start:{line:183,column:22},end:{line:183,column:150}},type:"binary-expr",locations:[{start:{line:183,column:22},end:{line:183,column:31}},{start:{line:183,column:36},end:{line:183,column:149}}],line:183},17:{loc:{start:{line:183,column:77},end:{line:183,column:134}},type:"binary-expr",locations:[{start:{line:183,column:77},end:{line:183,column:99}},{start:{line:183,column:103},end:{line:183,column:134}}],line:183},18:{loc:{start:{line:187,column:39},end:{line:187,column:102}},type:"binary-expr",locations:[{start:{line:187,column:39},end:{line:187,column:48}},{start:{line:187,column:53},end:{line:187,column:101}}],line:187},19:{loc:{start:{line:201,column:17},end:{line:205,column:16}},type:"binary-expr",locations:[{start:{line:201,column:17},end:{line:201,column:26}},{start:{line:201,column:31},end:{line:205,column:15}}],line:201},20:{loc:{start:{line:217,column:36},end:{line:222,column:14}},type:"binary-expr",locations:[{start:{line:217,column:36},end:{line:217,column:45}},{start:{line:217,column:50},end:{line:222,column:13}}],line:217}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue"],names:[],mappings:"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C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAChH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACf,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,C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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"54bcbf6efd91d0535e8713a3aa27c5b2e37e4ae8"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return CA=function(){return s},s}CA();const e_=(CA().s[0]++,{name:"Contacts",components:{contact:sh,group:C_},props:{isExpanded:{type:Boolean,default:!0}},data(){return CA().f[0]++,CA().s[1]++,{roomJid:""}},computed:{...je(ZC,["contacts","knownRooms","groups"]),displayedRooms(){return CA().f[1]++,CA().s[2]++,this.knownRooms.filter(A=>(CA().f[2]++,CA().s[3]++,CA().b[0][0]++,A.isBookmarked||(CA().b[0][1]++,this.$store.isJoined(A.jid))))},roomPlaceholder(){return CA().f[3]++,CA().s[4]++,this.$xmpp.defaultMuc?(CA().b[1][0]++,`room@${this.$xmpp.defaultMuc}`):(CA().b[1][1]++,`room@conference.${this.$xmpp.defaultDomain}`)},isValidRoomJid(){return CA().f[4]++,CA().s[5]++,this.$xmpp.defaultMuc?(CA().b[2][0]++,this.roomJid.length>2):(CA().b[2][1]++,/\S+@\S+\S+/.test(this.roomJid))}},methods:{joinRoomByJid(){if(CA().f[5]++,CA().s[6]++,this.roomJid===""){CA().b[3][0]++,CA().s[7]++;return}else CA().b[3][1]++;if(CA().s[8]++,/\S+@\S+\S+/.test(this.roomJid))CA().b[4][1]++;else{if(CA().b[4][0]++,CA().s[9]++,this.$xmpp.defaultMuc)CA().b[5][1]++;else{CA().b[5][0]++,CA().s[10]++;return}CA().s[11]++,this.roomJid=this.roomJid+"@"+this.$xmpp.defaultMuc}CA().s[12]++,CA().b[7][0]++,this.$route.name!=="groupchat"||(CA().b[7][1]++,!this.$route.params.jid)||(CA().b[7][2]++,this.$route.params.jid!==this.roomJid)?(CA().b[6][0]++,CA().s[13]++,this.$router.push({name:"groupchat",params:{jid:this.roomJid}})):CA().b[6][1]++,CA().s[14]++,this.roomJid=""}}}),n_=(CA().s[15]++,{class:"menu"}),t_=(CA().s[16]++,{key:0,class:"menu-label"}),i_=(CA().s[17]++,{id:"contactsList",class:"menu-list"}),s_=(CA().s[18]++,{key:1,class:"menu-label"}),o_=(CA().s[19]++,{id:"groupsList",class:"menu-list"}),l_=(CA().s[20]++,{class:"menu-label"}),a_=(CA().s[21]++,{id:"roomsList",class:"menu-list"}),r_=(CA().s[22]++,{class:"control is-flex-grow-1"}),c_=(CA().s[23]++,["placeholder"]),u_=(CA().s[24]++,{class:"control",title:"Join this room"}),m_=(CA().s[25]++,["disabled"]);function d_(A,C,e,n,t,i){CA().f[6]++;const s=(CA().s[26]++,AA("contact")),o=(CA().s[27]++,AA("group")),l=(CA().s[28]++,AA("router-link"));return CA().s[29]++,h(),Q("aside",{class:zA(["section pb-2",e.isExpanded?(CA().b[8][0]++,"p-5"):(CA().b[8][1]++,"py-5 px-1")])},[b("div",n_,[A.groups.length>0?(CA().b[9][0]++,h(),Q("p",t_,[b("i",{class:zA(["fa fa-user mr-3",e.isExpanded?(CA().b[10][0]++,"fa-lg"):(CA().b[10][1]++,"fa-2x fa-fw pl-4")])},null,2),HA(b("span",null,"Contacts",512),[[fC,e.isExpanded]])])):(CA().b[9][1]++,L("",!0)),b("ul",i_,[(h(!0),Q(gA,null,JA(A.contacts,a=>(CA().f[7]++,CA().s[30]++,h(),Q("li",{key:a.jid},[k(s,{jid:a.jid,"is-room":!1,name:a.name,"is-expanded":e.isExpanded,presence:a.presence,status:a.status,"unread-count":a.unreadCount},null,8,["jid","name","is-expanded","presence","status","unread-count"])]))),128))]),A.groups.length>0?(CA().b[11][0]++,HA((h(),Q("p",s_,[b("i",{class:zA(["fa fa-address-book mr-3",e.isExpanded?(CA().b[12][0]++,"fa-lg"):(CA().b[12][1]++,"fa-2x fa-fw pl-4")])},null,2),(CA().b[13][0]++,C[2]||(CA().b[13][1]++,C[2]=b("span",null,"Groups",-1)))],512)),[[fC,e.isExpanded]])):(CA().b[11][1]++,L("",!0)),HA(b("ul",o_,[(h(!0),Q(gA,null,JA(A.groups,a=>(CA().f[8]++,CA().s[31]++,h(),Q("li",{key:a},[k(o,{group:a},null,8,["group"])]))),128))],512),[[fC,e.isExpanded]]),b("p",l_,[b("i",{class:zA(["fa fa-users mr-3",e.isExpanded?(CA().b[14][0]++,"fa-lg"):(CA().b[14][1]++,"fa-2x fa-fw pl-3")])},null,2),HA(b("span",null,"Rooms",512),[[fC,e.isExpanded]])]),b("ul",a_,[(h(!0),Q(gA,null,JA(i.displayedRooms,a=>(CA().f[9]++,CA().s[32]++,h(),Q("li",{key:a.jid},[k(s,{jid:a.jid,"is-room":!0,"unread-count":a.unreadCount,"is-expanded":e.isExpanded},null,8,["jid","unread-count","is-expanded"])]))),128)),HA(b("li",null,[k(l,{"active-class":"is-active",to:{name:"public muc"},title:"Join a room"},{default:SA(()=>(CA().f[10]++,CA().s[33]++,CA().b[15][0]++,C[3]||(CA().b[15][1]++,C[3]=[b("i",{class:"fa fa-sign-in fa-fw mr-3"},null,-1),cC("Public rooms")]))),_:1,__:[3]})],512),[[fC,e.isExpanded]]),HA(b("li",null,[b("form",{class:"field has-addons",onSubmit:(CA().b[16][0]++,C[1]||(CA().b[16][1]++,C[1]=MA((...a)=>(CA().f[11]++,CA().s[34]++,CA().b[17][0]++,i.joinRoomByJid&&(CA().b[17][1]++,i.joinRoomByJid(...a))),["prevent"])))},[b("div",r_,[HA(b("input",{"onUpdate:modelValue":(CA().b[18][0]++,C[0]||(CA().b[18][1]++,C[0]=a=>(CA().f[12]++,CA().s[35]++,t.roomJid=a))),class:"input is-dark",type:"text",placeholder:i.roomPlaceholder,title:"Enter a room jid for joining"},null,8,c_),[[we,t.roomJid]])]),b("div",u_,[b("button",{type:"submit",class:"button is-dark",disabled:!i.isValidRoomJid},(CA().b[19][0]++,C[4]||(CA().b[19][1]++,C[4]=[b("span",{class:"icon"},[b("i",{class:"fa fa-sign-in"})],-1)])),8,m_)])],32)],512),[[fC,e.isExpanded]]),HA(b("li",null,[k(l,{to:{name:"room creation"},class:"button is-fullwidth is-dark",title:"Create a room"},{default:SA(()=>(CA().f[13]++,CA().s[36]++,CA().b[20][0]++,C[5]||(CA().b[20][1]++,C[5]=[b("span",{class:"icon"},[b("i",{class:"fa fa-plus-square"})],-1),b("span",null,"Create a room",-1)]))),_:1,__:[5]})],512),[[fC,e.isExpanded]])])])],2)}const p_=pC(e_,[["render",d_],["__scopeId","data-v-443cd60f"]]);function GA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Home.vue",C="6deb9c04a0bbf1c88c56c20bf2f596e4bbe9ec8a",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Home.vue",statementMap:{0:{start:{line:5,column:18},end:{line:57,column:1}},1:{start:{line:18,column:4},end:{line:21,column:5}},2:{start:{line:25,column:6},end:{line:25,column:44}},3:{start:{line:28,column:6},end:{line:28,column:31}},4:{start:{line:34,column:6},end:{line:38,column:7}},5:{start:{line:35,column:8},end:{line:37,column:10}},6:{start:{line:42,column:4},end:{line:42,column:33}},7:{start:{line:46,column:4},end:{line:50,column:5}},8:{start:{line:48,column:6},end:{line:48,column:37}},9:{start:{line:49,column:6},end:{line:49,column:95}},10:{start:{line:51,column:4},end:{line:51,column:32}},11:{start:{line:53,column:4},end:{line:55,column:6}},12:{start:{line:54,column:6},end:{line:54,column:35}},13:{start:{line:61,column:19},end:{line:64,column:1}},14:{start:{line:65,column:19},end:{line:68,column:1}},15:{start:{line:69,column:19},end:{line:69,column:69}},16:{start:{line:70,column:19},end:{line:70,column:28}},17:{start:{line:71,column:19},end:{line:71,column:41}},18:{start:{line:74,column:30},end:{line:74,column:59}},19:{start:{line:75,column:29},end:{line:75,column:57}},20:{start:{line:76,column:33},end:{line:76,column:65}},21:{start:{line:78,column:2},end:{line:108,column:35}},22:{start:{line:88,column:62},end:{line:88,column:98}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:10},end:{line:22,column:3}},line:17},1:{name:"(anonymous_1)",decl:{start:{line:24,column:4},end:{line:24,column:5}},loc:{start:{line:24,column:22},end:{line:26,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:27,column:4},end:{line:27,column:5}},loc:{start:{line:27,column:15},end:{line:29,column:5}},line:27},3:{name:"resetActiveChat",decl:{start:{line:33,column:18},end:{line:33,column:33}},loc:{start:{line:33,column:37},end:{line:39,column:5}},line:33},4:{name:"(anonymous_4)",decl:{start:{line:41,column:2},end:{line:41,column:3}},loc:{start:{line:41,column:25},end:{line:43,column:3}},line:41},5:{name:"(anonymous_5)",decl:{start:{line:44,column:2},end:{line:44,column:3}},loc:{start:{line:44,column:13},end:{line:56,column:3}},line:44},6:{name:"(anonymous_6)",decl:{start:{line:53,column:44},end:{line:53,column:45}},loc:{start:{line:53,column:56},end:{line:55,column:5}},line:53},7:{name:"_sfc_render",decl:{start:{line:73,column:9},end:{line:73,column:20}},loc:{start:{line:73,column:68},end:{line:109,column:1}},line:73},8:{name:"(anonymous_8)",decl:{start:{line:88,column:51},end:{line:88,column:52}},loc:{start:{line:88,column:62},end:{line:88,column:98}},line:88}},branchMap:{0:{loc:{start:{line:34,column:6},end:{line:38,column:7}},type:"if",locations:[{start:{line:34,column:6},end:{line:38,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:34},1:{loc:{start:{line:46,column:4},end:{line:50,column:5}},type:"if",locations:[{start:{line:46,column:4},end:{line:50,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46},2:{loc:{start:{line:46,column:8},end:{line:46,column:55}},type:"binary-expr",locations:[{start:{line:46,column:8},end:{line:46,column:29}},{start:{line:46,column:33},end:{line:46,column:55}}],line:46},3:{loc:{start:{line:78,column:9},end:{line:108,column:35}},type:"cond-expr",locations:[{start:{line:79,column:7},end:{line:107,column:8}},{start:{line:108,column:6},end:{line:108,column:35}}],line:78},4:{loc:{start:{line:87,column:23},end:{line:87,column:63}},type:"cond-expr",locations:[{start:{line:87,column:42},end:{line:87,column:52}},{start:{line:87,column:55},end:{line:87,column:63}}],line:87},5:{loc:{start:{line:88,column:25},end:{line:88,column:100}},type:"binary-expr",locations:[{start:{line:88,column:25},end:{line:88,column:34}},{start:{line:88,column:39},end:{line:88,column:99}}],line:88},6:{loc:{start:{line:92,column:50},end:{line:92,column:117}},type:"cond-expr",locations:[{start:{line:92,column:69},end:{line:92,column:91}},{start:{line:92,column:94},end:{line:92,column:117}}],line:92},7:{loc:{start:{line:99,column:10},end:{line:101,column:43}},type:"cond-expr",locations:[{start:{line:100,column:15},end:{line:100,column:73}},{start:{line:101,column:14},end:{line:101,column:43}}],line:99}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Home.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6deb9c04a0bbf1c88c56c20bf2f596e4bbe9ec8a"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return GA=function(){return s},s}GA();const f_=(GA().s[0]++,{name:"Home",components:{contacts:p_,Version:il},props:{jid:{type:String,default:null}},data(){return GA().f[0]++,GA().s[1]++,{hasAuthConfirmed:!1,isExpanded:!0}},computed:{displayContact(){return GA().f[1]++,GA().s[2]++,this.$route.meta.displayContact},userJid(){return GA().f[2]++,GA().s[3]++,this.$xmpp.fullJid}},watch:{jid:function(){GA().f[3]++,GA().s[4]++,this.jid===null?(GA().b[0][0]++,GA().s[5]++,this.$store.setActiveChat({activeChat:null})):GA().b[0][1]++}},async beforeUnmount(){GA().f[4]++,GA().s[6]++,await this.$xmpp.disconnect()},created(){if(GA().f[5]++,GA().s[7]++,GA().b[2][0]++,this.userJid===null||(GA().b[2][1]++,this.$xmpp.isAnonymous))return GA().b[1][0]++,GA().s[8]++,localStorage.removeItem("auth"),GA().s[9]++,this.$router.replace({name:"login",query:{redirect:this.$route.fullPath}});GA().b[1][1]++,GA().s[10]++,this.hasAuthConfirmed=!0,GA().s[11]++,window.addEventListener("beforeunload",async()=>{GA().f[6]++,GA().s[12]++,await this.$xmpp.disconnect()})}}),h_=(GA().s[13]++,{key:0,class:"is-flex-tablet is-block-mobile is-full-height"}),g_=(GA().s[14]++,{style:{position:"absolute",top:"4px",right:"0px"},class:"is-clipped is-hidden-mobile"}),b_=(GA().s[15]++,{style:{position:"relative",right:"-20px"}}),E_=(GA().s[16]++,["title"]),y_=(GA().s[17]++,{class:"icon pr-3"});function v_(A,C,e,n,t,i){GA().f[7]++;const s=(GA().s[18]++,AA("contacts")),o=(GA().s[19]++,AA("version")),l=(GA().s[20]++,AA("router-view"));return GA().s[21]++,t.hasAuthConfirmed?(GA().b[3][0]++,h(),Q("div",h_,[b("aside",{class:zA(["is-full-height-scrollable is-block-mobile is-flex-shrink-0 has-background-shade-3 is-flex is-flex-direction-column is-justify-content-space-between is-relative",{"is-hidden-mobile":!i.displayContact}])},[b("span",g_,[b("span",b_,[b("button",{class:"button is-rounded is-dark has-text-grey px-4 py-3",title:t.isExpanded?(GA().b[4][0]++,"Collapse"):(GA().b[4][1]++,"Expand"),onClick:(GA().b[5][0]++,C[0]||(GA().b[5][1]++,C[0]=a=>(GA().f[8]++,GA().s[22]++,t.isExpanded=!t.isExpanded)))},[b("span",y_,[b("i",{class:zA(["fa",t.isExpanded?(GA().b[6][0]++,"fa-angle-double-left"):(GA().b[6][1]++,"fa-angle-double-right")])},null,2)])],8,E_)])]),k(s,{"is-expanded":t.isExpanded},null,8,["is-expanded"]),t.isExpanded?(GA().b[7][0]++,h(),S(o,{key:0})):(GA().b[7][1]++,L("",!0))],2),(h(),S(l,{key:A.$route.fullPath,class:"is-flex-grow-1"}))])):(GA().b[3][1]++,L("",!0))}const w_=pC(f_,[["render",v_]]);function jA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomsList.vue",C="52b141f48f4801375d11fcad18b18a1559cc96a9",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomsList.vue",statementMap:{0:{start:{line:6,column:18},end:{line:36,column:1}},1:{start:{line:15,column:4},end:{line:19,column:5}},2:{start:{line:16,column:6},end:{line:16,column:37}},3:{start:{line:18,column:6},end:{line:18,column:48}},4:{start:{line:23,column:6},end:{line:23,column:63}},5:{start:{line:26,column:18},end:{line:26,column:20}},6:{start:{line:27,column:6},end:{line:29,column:7}},7:{start:{line:28,column:8},end:{line:28,column:33}},8:{start:{line:30,column:6},end:{line:32,column:7}},9:{start:{line:31,column:8},end:{line:31,column:40}},10:{start:{line:33,column:6},end:{line:33,column:40}},11:{start:{line:40,column:19},end:{line:40,column:39}},12:{start:{line:41,column:19},end:{line:41,column:76}},13:{start:{line:42,column:19},end:{line:42,column:30}},14:{start:{line:43,column:19},end:{line:43,column:28}},15:{start:{line:44,column:19},end:{line:44,column:49}},16:{start:{line:45,column:19},end:{line:45,column:49}},17:{start:{line:46,column:19},end:{line:50,column:1}},18:{start:{line:51,column:19},end:{line:51,column:49}},19:{start:{line:52,column:19},end:{line:56,column:1}},20:{start:{line:57,column:20},end:{line:57,column:50}},21:{start:{line:58,column:20},end:{line:62,column:1}},22:{start:{line:63,column:20},end:{line:63,column:50}},23:{start:{line:64,column:20},end:{line:68,column:1}},24:{start:{line:69,column:20},end:{line:69,column:50}},25:{start:{line:70,column:20},end:{line:74,column:1}},26:{start:{line:77,column:28},end:{line:77,column:55}},27:{start:{line:79,column:2},end:{line:144,column:5}},28:{start:{line:96,column:10},end:{line:140,column:28}},29:{start:{line:99,column:32},end:{line:99,column:59}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:19},end:{line:20,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:22,column:4},end:{line:22,column:5}},loc:{start:{line:22,column:19},end:{line:24,column:5}},line:22},2:{name:"(anonymous_2)",decl:{start:{line:25,column:4},end:{line:25,column:5}},loc:{start:{line:25,column:24},end:{line:34,column:5}},line:25},3:{name:"_sfc_render",decl:{start:{line:76,column:9},end:{line:76,column:20}},loc:{start:{line:76,column:68},end:{line:145,column:1}},line:76},4:{name:"(anonymous_4)",decl:{start:{line:95,column:94},end:{line:95,column:95}},loc:{start:{line:95,column:104},end:{line:141,column:9}},line:95},5:{name:"(anonymous_5)",decl:{start:{line:99,column:21},end:{line:99,column:22}},loc:{start:{line:99,column:32},end:{line:99,column:59}},line:99}},branchMap:{0:{loc:{start:{line:27,column:6},end:{line:29,column:7}},type:"if",locations:[{start:{line:27,column:6},end:{line:29,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:27},1:{loc:{start:{line:30,column:6},end:{line:32,column:7}},type:"if",locations:[{start:{line:30,column:6},end:{line:32,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:30},2:{loc:{start:{line:33,column:13},end:{line:33,column:40}},type:"cond-expr",locations:[{start:{line:33,column:28},end:{line:33,column:32}},{start:{line:33,column:35},end:{line:33,column:40}}],line:33},3:{loc:{start:{line:80,column:4},end:{line:80,column:96}},type:"binary-expr",locations:[{start:{line:80,column:4},end:{line:80,column:13}},{start:{line:80,column:18},end:{line:80,column:95}}],line:80},4:{loc:{start:{line:82,column:6},end:{line:93,column:13}},type:"binary-expr",locations:[{start:{line:82,column:6},end:{line:82,column:15}},{start:{line:82,column:20},end:{line:93,column:12}}],line:82},5:{loc:{start:{line:102,column:14},end:{line:108,column:47}},type:"cond-expr",locations:[{start:{line:103,column:19},end:{line:107,column:38}},{start:{line:108,column:18},end:{line:108,column:47}}],line:102},6:{loc:{start:{line:116,column:14},end:{line:118,column:47}},type:"cond-expr",locations:[{start:{line:117,column:19},end:{line:117,column:69}},{start:{line:118,column:18},end:{line:118,column:47}}],line:116},7:{loc:{start:{line:121,column:14},end:{line:123,column:47}},type:"cond-expr",locations:[{start:{line:122,column:19},end:{line:122,column:69}},{start:{line:123,column:18},end:{line:123,column:47}}],line:121},8:{loc:{start:{line:126,column:14},end:{line:128,column:47}},type:"cond-expr",locations:[{start:{line:127,column:19},end:{line:127,column:70}},{start:{line:128,column:18},end:{line:128,column:47}}],line:126},9:{loc:{start:{line:131,column:14},end:{line:133,column:47}},type:"cond-expr",locations:[{start:{line:132,column:19},end:{line:132,column:70}},{start:{line:133,column:18},end:{line:133,column:47}}],line:131},10:{loc:{start:{line:136,column:14},end:{line:138,column:47}},type:"cond-expr",locations:[{start:{line:137,column:19},end:{line:137,column:70}},{start:{line:138,column:18},end:{line:138,column:47}}],line:136}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomsList.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"52b141f48f4801375d11fcad18b18a1559cc96a9"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return jA=function(){return s},s}jA();const B_=(jA().s[0]++,{name:"RoomsList",components:{avatar:Kt},computed:{...je(ZC,["publicRooms"])},async mounted(){jA().f[0]++,jA().s[1]++;try{jA().s[2]++,await this.$xmpp.getPublicMuc()}catch(A){jA().s[3]++,console.error("getPublicMuc error",A)}},methods:{openRoom(A){jA().f[1]++,jA().s[4]++,this.$router.push({name:"groupchat",params:{jid:A}})},getRoomTitle(A){jA().f[2]++;let C=(jA().s[5]++,"");return jA().s[6]++,A.lang?(jA().b[0][0]++,jA().s[7]++,C=`[${A.lang}] `):jA().b[0][1]++,jA().s[8]++,A.description?(jA().b[1][0]++,jA().s[9]++,C=C+A.description):jA().b[1][1]++,jA().s[10]++,C===""?(jA().b[2][0]++,null):(jA().b[2][1]++,C)}}}),S_=(jA().s[11]++,{class:"section"}),k_=(jA().s[12]++,{class:"table is-hoverable is-fullwidth center-table"}),x_=(jA().s[13]++,["onClick"]),__=(jA().s[14]++,["title"]),j_=(jA().s[15]++,{class:"has-text-centered"}),I_=(jA().s[16]++,{class:"has-text-centered"}),M_=(jA().s[17]++,{key:0,class:"fa fa-key-modern fa-fw",title:"Password protected"}),D_=(jA().s[18]++,{class:"has-text-centered"}),P_=(jA().s[19]++,{key:0,class:"fa fa-shield fa-fw",title:"Is moderated"}),O_=(jA().s[20]++,{class:"has-text-centered"}),L_=(jA().s[21]++,{key:0,class:"fa fa-user-secret fa-fw",title:"Allow anonymous (nick)"}),K_=(jA().s[22]++,{class:"has-text-centered"}),T_=(jA().s[23]++,{key:0,class:"fa fa-users fa-fw",title:"Restricted to members"}),F_=(jA().s[24]++,{class:"has-text-centered"}),N_=(jA().s[25]++,{key:0,class:"fa fa-globe fa-fw",title:"Public room"});function $_(A,C,e,n,t,i){jA().f[3]++;const s=(jA().s[26]++,AA("avatar"));return jA().s[27]++,h(),Q("main",S_,[(jA().b[3][0]++,C[1]||(jA().b[3][1]++,C[1]=b("h2",{class:"title"},"Public rooms",-1))),b("table",k_,[(jA().b[4][0]++,C[0]||(jA().b[4][1]++,C[0]=b("thead",null,[b("tr",null,[b("th",{style:{width:"32px"}}),b("th",{class:"has-text-centered"},"Room name"),b("th",{class:"has-text-centered"},"Occupants"),b("th",{class:"has-text-centered"},"Password protected"),b("th",{class:"has-text-centered"},"Moderated"),b("th",{class:"has-text-centered"},"Semi-Anonymous"),b("th",{class:"has-text-centered"},"Members-Only"),b("th",{class:"has-text-centered"},"Visibility")])],-1))),b("tbody",null,[(h(!0),Q(gA,null,JA(A.publicRooms,o=>(jA().f[4]++,jA().s[28]++,h(),Q("tr",{key:o.jid,class:"is-clickable",onClick:l=>(jA().f[5]++,jA().s[29]++,i.openRoom(o.jid))},[b("td",null,[o.hasVCard?(jA().b[5][0]++,h(),S(s,{key:0,jid:o.jid,size:32},null,8,["jid"])):(jA().b[5][1]++,L("",!0))]),b("td",{class:"has-text-centered",title:i.getRoomTitle(o)},lA(o.name),9,__),b("td",j_,lA(o.occupantsCount),1),b("td",I_,[o.isPasswordProtected?(jA().b[6][0]++,h(),Q("i",M_)):(jA().b[6][1]++,L("",!0))]),b("td",D_,[o.isModerated?(jA().b[7][0]++,h(),Q("i",P_)):(jA().b[7][1]++,L("",!0))]),b("td",O_,[o.isAnonymous?(jA().b[8][0]++,h(),Q("i",L_)):(jA().b[8][1]++,L("",!0))]),b("td",K_,[o.isMembersOnly?(jA().b[9][0]++,h(),Q("i",T_)):(jA().b[9][1]++,L("",!0))]),b("td",F_,[o.isPublic?(jA().b[10][0]++,h(),Q("i",N_)):(jA().b[10][1]++,L("",!0))])],8,x_))),128))])])])}const R_=pC(B_,[["render",$_]]);function IA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomCreation.vue",C="1f68031827b5480bcda06f93a7ecc06fbb4aa512",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomCreation.vue",statementMap:{0:{start:{line:4,column:18},end:{line:49,column:1}},1:{start:{line:7,column:4},end:{line:11,column:5}},2:{start:{line:14,column:25},end:{line:14,column:135}},3:{start:{line:15,column:21},end:{line:15,column:109}},4:{start:{line:19,column:6},end:{line:24,column:7}},5:{start:{line:20,column:8},end:{line:22,column:9}},6:{start:{line:21,column:10},end:{line:21,column:16}},7:{start:{line:23,column:8},end:{line:23,column:65}},8:{start:{line:25,column:6},end:{line:25,column:27}},9:{start:{line:26,column:6},end:{line:45,column:7}},10:{start:{line:27,column:8},end:{line:27,column:23}},11:{start:{line:28,column:23},end:{line:28,column:64}},12:{start:{line:29,column:8},end:{line:42,column:9}},13:{start:{line:30,column:10},end:{line:41,column:12}},14:{start:{line:38,column:14},end:{line:38,column:85}},15:{start:{line:44,column:8},end:{line:44,column:34}},16:{start:{line:46,column:6},end:{line:46,column:28}},17:{start:{line:53,column:19},end:{line:53,column:39}},18:{start:{line:54,column:19},end:{line:54,column:69}},19:{start:{line:55,column:19},end:{line:55,column:34}},20:{start:{line:56,column:19},end:{line:56,column:39}},21:{start:{line:57,column:19},end:{line:57,column:31}},22:{start:{line:58,column:19},end:{line:61,column:1}},23:{start:{line:62,column:19},end:{line:62,column:60}},24:{start:{line:65,column:2},end:{line:103,column:5}},25:{start:{line:68,column:71},end:{line:68,column:122}},26:{start:{line:72,column:70},end:{line:72,column:94}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:2},end:{line:6,column:3}},loc:{start:{line:6,column:10},end:{line:12,column:3}},line:6},1:{name:"(anonymous_1)",decl:{start:{line:14,column:4},end:{line:14,column:5}},loc:{start:{line:14,column:23},end:{line:14,column:137}},line:14},2:{name:"(anonymous_2)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:19},end:{line:15,column:111}},line:15},3:{name:"(anonymous_3)",decl:{start:{line:18,column:4},end:{line:18,column:5}},loc:{start:{line:18,column:24},end:{line:47,column:5}},line:18},4:{name:"(anonymous_4)",decl:{start:{line:37,column:21},end:{line:37,column:22}},loc:{start:{line:37,column:27},end:{line:39,column:13}},line:37},5:{name:"_sfc_render",decl:{start:{line:64,column:9},end:{line:64,column:20}},loc:{start:{line:64,column:68},end:{line:104,column:1}},line:64},6:{name:"(anonymous_6)",decl:{start:{line:68,column:57},end:{line:68,column:58}},loc:{start:{line:68,column:71},end:{line:68,column:122}},line:68},7:{name:"(anonymous_7)",decl:{start:{line:72,column:59},end:{line:72,column:60}},loc:{start:{line:72,column:70},end:{line:72,column:94}},line:72}},branchMap:{0:{loc:{start:{line:14,column:32},end:{line:14,column:135}},type:"cond-expr",locations:[{start:{line:14,column:56},end:{line:14,column:87}},{start:{line:14,column:90},end:{line:14,column:135}}],line:14},1:{loc:{start:{line:15,column:28},end:{line:15,column:109}},type:"cond-expr",locations:[{start:{line:15,column:52},end:{line:15,column:75}},{start:{line:15,column:78},end:{line:15,column:109}}],line:15},2:{loc:{start:{line:19,column:6},end:{line:24,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:24,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:19},3:{loc:{start:{line:20,column:8},end:{line:22,column:9}},type:"if",locations:[{start:{line:20,column:8},end:{line:22,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:20},4:{loc:{start:{line:29,column:8},end:{line:42,column:9}},type:"if",locations:[{start:{line:29,column:8},end:{line:42,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:29},5:{loc:{start:{line:68,column:16},end:{line:68,column:138}},type:"binary-expr",locations:[{start:{line:68,column:16},end:{line:68,column:25}},{start:{line:68,column:30},end:{line:68,column:137}}],line:68},6:{loc:{start:{line:68,column:71},end:{line:68,column:122}},type:"binary-expr",locations:[{start:{line:68,column:71},end:{line:68,column:90}},{start:{line:68,column:94},end:{line:68,column:122}}],line:68},7:{loc:{start:{line:72,column:33},end:{line:72,column:96}},type:"binary-expr",locations:[{start:{line:72,column:33},end:{line:72,column:42}},{start:{line:72,column:47},end:{line:72,column:95}}],line:72},8:{loc:{start:{line:81,column:8},end:{line:83,column:15}},type:"binary-expr",locations:[{start:{line:81,column:8},end:{line:81,column:17}},{start:{line:81,column:22},end:{line:83,column:14}}],line:81},9:{loc:{start:{line:90,column:11},end:{line:95,column:10}},type:"binary-expr",locations:[{start:{line:90,column:11},end:{line:90,column:20}},{start:{line:90,column:25},end:{line:95,column:9}}],line:90},10:{loc:{start:{line:98,column:4},end:{line:102,column:37}},type:"cond-expr",locations:[{start:{line:99,column:9},end:{line:101,column:10}},{start:{line:102,column:8},end:{line:102,column:37}}],line:98}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomCreation.vue"],names:[],mappings:";AAwBA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAElE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACpB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACN,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACL,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB;EACF,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAC7G,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAClB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACpC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UAC1B,CAAC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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"1f68031827b5480bcda06f93a7ecc06fbb4aa512"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return IA=function(){return s},s}IA();const G_=(IA().s[0]++,{name:"RoomCreation",data(){return IA().f[0]++,IA().s[1]++,{error:"",roomJid:"",isLoading:!1}},computed:{roomPlaceholder(){return IA().f[1]++,IA().s[2]++,this.$xmpp.defaultMuc?(IA().b[0][0]++,`room@${this.$xmpp.defaultMuc}`):(IA().b[0][1]++,`room@conference.${this.$xmpp.defaultDomain}`)},hasValidJid(){return IA().f[2]++,IA().s[3]++,this.$xmpp.defaultMuc?(IA().b[1][0]++,this.roomJid.length>2):(IA().b[1][1]++,/\S+@\S+\S+/.test(this.roomJid))}},methods:{async createRoom(){if(IA().f[3]++,IA().s[4]++,/\S+@\S+\S+/.test(this.roomJid))IA().b[2][1]++;else{if(IA().b[2][0]++,IA().s[5]++,this.$xmpp.defaultMuc)IA().b[3][1]++;else{IA().b[3][0]++,IA().s[6]++;return}IA().s[7]++,this.roomJid=this.roomJid+"@"+this.$xmpp.defaultMuc}IA().s[8]++,this.isLoading=!0,IA().s[9]++;try{IA().s[10]++,this.error="";const A=(IA().s[11]++,await this.$xmpp.createRoom(this.roomJid));IA().s[12]++,A?(IA().b[4][0]++,IA().s[13]++,this.$oruga.modal.open({component:Mf,trapFocus:!0,props:{roomJid:this.roomJid,hasCancelButton:!1},onClose:()=>{IA().f[4]++,IA().s[14]++,this.$router.push({name:"groupchat",params:{jid:this.roomJid}})},canCancel:!1})):IA().b[4][1]++}catch(A){IA().s[15]++,this.error=A.message}IA().s[16]++,this.isLoading=!1}}}),U_=(IA().s[17]++,{class:"section"}),H_=(IA().s[18]++,{class:"control has-icons-left is-flex-grow-1"}),Q_=(IA().s[19]++,["placeholder"]),V_=(IA().s[20]++,{class:"control"}),z_=(IA().s[21]++,["disabled"]),q_=(IA().s[22]++,{key:0,class:"message is-danger"}),W_=(IA().s[23]++,{class:"message-body has-text-danger"});function Y_(A,C,e,n,t,i){return IA().f[5]++,IA().s[24]++,h(),Q("main",U_,[b("form",{class:"field has-addons",onSubmit:(IA().b[5][0]++,C[1]||(IA().b[5][1]++,C[1]=MA((...s)=>(IA().f[6]++,IA().s[25]++,IA().b[6][0]++,i.createRoom&&(IA().b[6][1]++,i.createRoom(...s))),["prevent"])))},[b("div",H_,[HA(b("input",{"onUpdate:modelValue":(IA().b[7][0]++,C[0]||(IA().b[7][1]++,C[0]=s=>(IA().f[7]++,IA().s[26]++,t.roomJid=s))),autofocus:"",class:"input",type:"text",placeholder:i.roomPlaceholder,title:"Enter room Jid"},null,8,Q_),[[we,t.roomJid]]),(IA().b[8][0]++,C[2]||(IA().b[8][1]++,C[2]=b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-tag"})],-1)))]),b("div",V_,[b("button",{type:"submit",class:zA(["button is-primary",{"is-loading":t.isLoading}]),disabled:!i.hasValidJid},(IA().b[9][0]++,C[3]||(IA().b[9][1]++,C[3]=[b("span",{class:"icon"},[b("i",{class:"fa fa-plus-square"})],-1),b("span",null,"Create",-1)])),10,z_)])],32),t.error?(IA().b[10][0]++,h(),Q("div",q_,[b("div",W_,lA(t.error),1)])):(IA().b[10][1]++,L("",!0))])}const J_=pC(G_,[["render",Y_]]);function vA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Profile.vue",C="9a78dbbcc59e0f6f32205d7ea87120732f86b230",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Profile.vue",statementMap:{0:{start:{line:4,column:18},end:{line:52,column:1}},1:{start:{line:9,column:4},end:{line:16,column:5}},2:{start:{line:13,column:73},end:{line:13,column:99}},3:{start:{line:21,column:4},end:{line:21,column:48}},4:{start:{line:22,column:4},end:{line:22,column:24}},5:{start:{line:26,column:6},end:{line:26,column:23}},6:{start:{line:27,column:6},end:{line:31,column:7}},7:{start:{line:28,column:8},end:{line:28,column:52}},8:{start:{line:30,column:8},end:{line:30,column:68}},9:{start:{line:34,column:6},end:{line:34,column:30}},10:{start:{line:35,column:21},end:{line:35,column:37}},11:{start:{line:36,column:6},end:{line:44,column:7}},12:{start:{line:38,column:22},end:{line:38,column:46}},13:{start:{line:39,column:21},end:{line:39,column:54}},14:{start:{line:40,column:8},end:{line:42,column:9}},15:{start:{line:41,column:10},end:{line:41,column:44}},16:{start:{line:43,column:8},end:{line:43,column:33}},17:{start:{line:45,column:6},end:{line:49,column:7}},18:{start:{line:46,column:8},end:{line:46,column:56}},19:{start:{line:48,column:8},end:{line:48,column:36}},20:{start:{line:56,column:19},end:{line:59,column:1}},21:{start:{line:60,column:19},end:{line:63,column:1}},22:{start:{line:64,column:19},end:{line:64,column:48}},23:{start:{line:65,column:19},end:{line:65,column:26}},24:{start:{line:66,column:19},end:{line:66,column:26}},25:{start:{line:67,column:19},end:{line:67,column:52}},26:{start:{line:68,column:19},end:{line:68,column:39}},27:{start:{line:69,column:19},end:{line:69,column:57}},28:{start:{line:70,column:19},end:{line:70,column:37}},29:{start:{line:71,column:20},end:{line:71,column:40}},30:{start:{line:72,column:20},end:{line:72,column:32}},31:{start:{line:73,column:20},end:{line:73,column:47}},32:{start:{line:74,column:20},end:{line:77,column:1}},33:{start:{line:80,column:31},end:{line:80,column:61}},34:{start:{line:82,column:2},end:{line:148,column:9}},35:{start:{line:90,column:62},end:{line:90,column:117}},36:{start:{line:107,column:10},end:{line:122,column:13}},37:{start:{line:114,column:50},end:{line:114,column:84}},38:{start:{line:129,column:63},end:{line:129,column:102}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:8,column:2},end:{line:8,column:3}},loc:{start:{line:8,column:10},end:{line:17,column:3}},line:8},1:{name:"(anonymous_1)",decl:{start:{line:13,column:60},end:{line:13,column:61}},loc:{start:{line:13,column:73},end:{line:13,column:99}},line:13},2:{name:"(anonymous_2)",decl:{start:{line:20,column:2},end:{line:20,column:3}},loc:{start:{line:20,column:19},end:{line:23,column:3}},line:20},3:{name:"(anonymous_3)",decl:{start:{line:25,column:4},end:{line:25,column:5}},loc:{start:{line:25,column:17},end:{line:32,column:5}},line:25},4:{name:"(anonymous_4)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:20},end:{line:50,column:5}},line:33},5:{name:"(anonymous_5)",decl:{start:{line:36,column:22},end:{line:36,column:23}},loc:{start:{line:36,column:28},end:{line:44,column:7}},line:36},6:{name:"_sfc_render",decl:{start:{line:79,column:9},end:{line:79,column:20}},loc:{start:{line:79,column:68},end:{line:149,column:1}},line:79},7:{name:"(anonymous_7)",decl:{start:{line:90,column:48},end:{line:90,column:49}},loc:{start:{line:90,column:62},end:{line:90,column:117}},line:90},8:{name:"(anonymous_8)",decl:{start:{line:106,column:90},end:{line:106,column:91}},loc:{start:{line:106,column:101},end:{line:123,column:9}},line:106},9:{name:"(anonymous_9)",decl:{start:{line:114,column:39},end:{line:114,column:40}},loc:{start:{line:114,column:50},end:{line:114,column:84}},line:114},10:{name:"(anonymous_10)",decl:{start:{line:129,column:49},end:{line:129,column:50}},loc:{start:{line:129,column:63},end:{line:129,column:102}},line:129}},branchMap:{0:{loc:{start:{line:40,column:8},end:{line:42,column:9}},type:"if",locations:[{start:{line:40,column:8},end:{line:42,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:40},1:{loc:{start:{line:40,column:12},end:{line:40,column:55}},type:"binary-expr",locations:[{start:{line:40,column:12},end:{line:40,column:16}},{start:{line:40,column:20},end:{line:40,column:35}},{start:{line:40,column:39},end:{line:40,column:55}}],line:40},2:{loc:{start:{line:82,column:9},end:{line:148,column:9}},type:"cond-expr",locations:[{start:{line:83,column:7},end:{line:139,column:8}},{start:{line:140,column:7},end:{line:148,column:8}}],line:82},3:{loc:{start:{line:90,column:22},end:{line:90,column:119}},type:"binary-expr",locations:[{start:{line:90,column:22},end:{line:90,column:31}},{start:{line:90,column:36},end:{line:90,column:118}}],line:90},4:{loc:{start:{line:90,column:62},end:{line:90,column:117}},type:"binary-expr",locations:[{start:{line:90,column:62},end:{line:90,column:83}},{start:{line:90,column:87},end:{line:90,column:117}}],line:90},5:{loc:{start:{line:93,column:12},end:{line:103,column:40}},type:"cond-expr",locations:[{start:{line:94,column:17},end:{line:98,column:39}},{start:{line:99,column:17},end:{line:103,column:39}}],line:93},6:{loc:{start:{line:129,column:23},end:{line:129,column:104}},type:"binary-expr",locations:[{start:{line:129,column:23},end:{line:129,column:32}},{start:{line:129,column:37},end:{line:129,column:103}}],line:129},7:{loc:{start:{line:129,column:63},end:{line:129,column:102}},type:"binary-expr",locations:[{start:{line:129,column:63},end:{line:129,column:76}},{start:{line:129,column:80},end:{line:129,column:102}}],line:129},8:{loc:{start:{line:130,column:15},end:{line:135,column:14}},type:"binary-expr",locations:[{start:{line:130,column:15},end:{line:130,column:24}},{start:{line:130,column:29},end:{line:135,column:13}}],line:130}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},b:{0:[0,0],1:[0,0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Profile.vue"],names:[],mappings:";AAiCA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAElD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACZ,CAAC;EACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACN,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;MACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;MACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC9F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACb,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACb;EACF,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACV,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;EACrB,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MAChB,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7C,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7D;IACF,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACvB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;QACpB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;UAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC;QACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;MAC1B;MACA,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACjD,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7B;IACF,CAAC;EACH,CAAC;AACH;;;;;;EAlFwB,KAAK,EAAC,mCAAmC;;;EACtD,KAAK,EAAC,gDAAgD;EAAC,KAAK,EAAC,2BAA2B;;qBAEvF,KAAK,EAAC,kBAAkB;;;qBAOvB,KAAK,EAAC,sBAAsB;qBAC9B,KAAK,EAAC,SAAS;;qBAKjB,KAAK,EAAC,OAAO;sBACX,KAAK,EAAC,SAAS;;sBAKjB,KAAK,EAAC,gBAAgB;;;EAIhB,KAAK,EAAC,qBAAqB;;;;;;UA1B5B,cAAQ;qBAApB,oBAwBO,QAxBP,UAwBO;QAvBL,oBAMQ,SANR,UAMQ;UALN,oBAA2F;YAApF,GAAG,EAAC,QAAQ;YAAC,KAAK,EAAC,YAAY;YAAC,IAAI,EAAC,MAAM;YAAC,MAAM,EAAC,SAAS;YAAE,QAAM,0CAAE,uDAAY;;UACzF,oBAGO,QAHP,UAGO;aAFM,aAAO,CAAC,KAAK;+BAAxB,oBAAkE;;kBAAxC,KAAK,EAAC,YAAY;kBAAE,GAAG,EAAE,aAAO,CAAC,KAAK;;+BAChE,oBAAoD;;kBAAxC,KAAK,EAAC,YAAY;kBAAE,GAAG,EAAE,mBAAa;;;;2BAItD,oBAKM,6BALe,YAAM,GAAf,KAAK;gCAAjB,oBAKM;YALwB,GAAG,EAAE,KAAK,CAAC,EAAE;YAAE,KAAK,EAAC,OAAO;;YACxD,oBAA6D,SAA7D,UAA6D,mBAAtB,KAAK,CAAC,KAAK;YAClD,oBAEM,OAFN,UAEM;8BADJ,oBAA8F;mDAA9E,aAAO,CAAC,KAAK,CAAC,EAAE;gBAAG,KAAK,EAAC,OAAO;gBAAC,IAAI,EAAC,MAAM;gBAAE,WAAW,EAAE,KAAK,CAAC,WAAW;;8BAA5E,aAAO,CAAC,KAAK,CAAC,EAAE;;;;;QAIpC,oBAOM,OAPN,UAOM;UANJ,oBAIM,OAJN,WAIM;YAHJ,oBAES;cAFD,KAAK,EAAC,mBAAmB;cAAE,QAAQ,EAAE,kBAAY;cAAG,OAAK,0CAAE,uCAAI;;cACrE,oBAAkD,UAA5C,KAAK,EAAC,MAAM;gBAAC,oBAAwB,OAArB,KAAK,EAAC,YAAY;;cAAU,oBAAiB,cAAX,MAAI;;;UAGhE,oBAAyC,KAAzC,WAAyC,mBAAZ,WAAK;;;qBAItC,oBAEO,QAFP,WAEO;QADL,aAAiI;UAAtH,KAAK,EAAC,mCAAmC;UAAE,MAAM,EAAE,IAAI;UAAG,WAAS,EAAE,KAAK;UAAE,IAAI,EAAC,gBAAgB;UAAC,WAAS,EAAC,OAAO"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9a78dbbcc59e0f6f32205d7ea87120732f86b230"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return vA=function(){return s},s}vA();const X_=(vA().s[0]++,{name:"Profile",components:{},data(){return vA().f[0]++,vA().s[1]++,{isLoaded:!1,isProcessing:!1,profile:{},fields:this.$xmpp.client.getVCardAttributes().filter(A=>(vA().f[1]++,vA().s[2]++,A.type==="input")),defaultAvatar:Is,error:null}},computed:{},async created(){vA().f[2]++,vA().s[3]++,this.profile=await this.$xmpp.getProfile(),vA().s[4]++,this.isLoaded=!0},methods:{async save(){vA().f[3]++,vA().s[5]++,this.error=null,vA().s[6]++;try{vA().s[7]++,await this.$xmpp.updateProfile(this.profile)}catch(A){vA().s[8]++,this.error=`Error during profile update: ${A.message}`}},selectAvatar(){vA().f[4]++,vA().s[9]++,this.isProcessing=!0;const A=(vA().s[10]++,new FileReader);vA().s[11]++,A.onload=()=>{vA().f[5]++;const C=(vA().s[12]++,A.result.split(",")),e=(vA().s[13]++,/data:(.*);base64/.exec(C[0]));vA().s[14]++,vA().b[1][0]++,e&&(vA().b[1][1]++,e.length>1)&&(vA().b[1][2]++,C.length>1)?(vA().b[0][0]++,vA().s[15]++,this.profile.PHOTO=A.result):vA().b[0][1]++,vA().s[16]++,this.isProcessing=!1},vA().s[17]++;try{vA().s[18]++,A.readAsDataURL(this.$refs.avatar.files[0])}catch(C){vA().s[19]++,console.error(C.message)}}}}),Z_=(vA().s[20]++,{key:0,class:"is-full-height-scrollable section"}),Aj=(vA().s[21]++,{class:"is-inline-block field is-relative is-clickable",title:"Click to edit your avatar"}),Cj=(vA().s[22]++,{class:"image is-128x128"}),ej=(vA().s[23]++,["src"]),nj=(vA().s[24]++,["src"]),tj=(vA().s[25]++,{class:"label has-text-light"}),ij=(vA().s[26]++,{class:"control"}),sj=(vA().s[27]++,["onUpdate:modelValue","placeholder"]),oj=(vA().s[28]++,{class:"field"}),lj=(vA().s[29]++,{class:"control"}),aj=(vA().s[30]++,["disabled"]),rj=(vA().s[31]++,{class:"help is-danger"}),cj=(vA().s[32]++,{key:1,class:"is-relative section"});function uj(A,C,e,n,t,i){vA().f[6]++;const s=(vA().s[33]++,AA("o-loading"));return vA().s[34]++,t.isLoaded?(vA().b[2][0]++,h(),Q("main",Z_,[b("label",Aj,[b("input",{ref:"avatar",class:"file-input",type:"file",accept:"image/*",onChange:(vA().b[3][0]++,C[0]||(vA().b[3][1]++,C[0]=(...o)=>(vA().f[7]++,vA().s[35]++,vA().b[4][0]++,i.selectAvatar&&(vA().b[4][1]++,i.selectAvatar(...o)))))},null,544),b("span",Cj,[t.profile.PHOTO?(vA().b[5][0]++,h(),Q("img",{key:0,class:"is-rounded",src:t.profile.PHOTO},null,8,ej)):(vA().b[5][1]++,h(),Q("img",{key:1,class:"is-rounded",src:t.defaultAvatar},null,8,nj))])]),(h(!0),Q(gA,null,JA(t.fields,o=>(vA().f[8]++,vA().s[36]++,h(),Q("div",{key:o.id,class:"field"},[b("label",tj,lA(o.label),1),b("div",ij,[HA(b("input",{"onUpdate:modelValue":l=>(vA().f[9]++,vA().s[37]++,t.profile[o.id]=l),class:"input",type:"text",placeholder:o.placeholder},null,8,sj),[[we,t.profile[o.id]]])])]))),128)),b("div",oj,[b("div",lj,[b("button",{class:"button is-primary",disabled:t.isProcessing,onClick:(vA().b[6][0]++,C[1]||(vA().b[6][1]++,C[1]=(...o)=>(vA().f[10]++,vA().s[38]++,vA().b[7][0]++,i.save&&(vA().b[7][1]++,i.save(...o)))))},(vA().b[8][0]++,C[2]||(vA().b[8][1]++,C[2]=[b("span",{class:"icon"},[b("i",{class:"fa fa-save"})],-1),b("span",null,"Save",-1)])),8,aj)]),b("p",rj,lA(t.error),1)])])):(vA().b[2][1]++,h(),Q("main",cj,[k(s,{class:"is-full-height-scrollable section",active:!0,"full-page":!1,icon:"circle-o-notch","icon-size":"large"})]))}const mj=pC(X_,[["render",uj]]),dj={name:"DSDP License",url:"https://fedoraproject.org/wiki/Licensing/DSDP",osiApproved:!1},pj={name:"Ricoh Source Code Public License",url:"http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml",osiApproved:!0},fj={name:"Good Luck With That Public License",url:"https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85",osiApproved:!1},hj={name:"Checkmk License",url:"https://github.com/libcheck/check/blob/master/checkmk/checkmk.in",osiApproved:!1},gj={name:"The MirOS Licence",url:"https://opensource.org/licenses/MirOS",osiApproved:!0},bj={name:"Inno Setup License",url:"https://github.com/jrsoftware/issrc/blob/HEAD/license.txt",osiApproved:!1},Ej={name:"Japan Network Information Center License",url:"https://gitlab.isc.org/isc-projects/bind9/blob/master/COPYRIGHT#L366",osiApproved:!1},yj={name:"OpenVision License",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L66-L98",osiApproved:!1},vj={name:"SGP4 Permission Notice",url:"https://celestrak.org/publications/AIAA/2006-6753/faq.php",osiApproved:!1},wj={name:"Vim License",url:"http://vimdoc.sourceforge.net/htmldoc/uganda.html",osiApproved:!1},Bj={name:"CrystalStacker License",url:"https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd=Licensing/CrystalStacker",osiApproved:!1},Sj={name:"XPP License",url:"https://fedoraproject.org/wiki/Licensing/xpp",osiApproved:!1},kj={name:"Plexus Classworlds License",url:"https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License",osiApproved:!1},xj={name:"Amazon Digital Services License",url:"https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense",osiApproved:!1},_j={name:"IPA Font License",url:"https://opensource.org/licenses/IPA",osiApproved:!0},jj={name:"psutils License",url:"https://fedoraproject.org/wiki/Licensing/psutils",osiApproved:!1},Ij={name:"FSF Unlimited License (with License Retention)",url:"https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant",osiApproved:!1},Mj={name:"MMIXware License",url:"https://gitlab.lrz.de/mmix/mmixware/-/blob/master/boilerplate.w",osiApproved:!1},Dj={name:"mailprio License",url:"https://fossies.org/linux/sendmail/contrib/mailprio",osiApproved:!1},Pj={name:"Noweb License",url:"https://fedoraproject.org/wiki/Licensing/Noweb",osiApproved:!1},Oj={name:"Soundex License",url:"https://metacpan.org/release/RJBS/Text-Soundex-3.05/source/Soundex.pm#L3-11",osiApproved:!1},Lj={name:"Aladdin Free Public License",url:"http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.01/Public.htm",osiApproved:!1},Kj={name:"Kazlib License",url:"http://git.savannah.gnu.org/cgit/kazlib.git/tree/except.c?id=0062df360c2d17d57f6af19b0e444c51feb99036",osiApproved:!1},Tj={name:"Rdisc License",url:"https://fedoraproject.org/wiki/Licensing/Rdisc_License",osiApproved:!1},Fj={name:"Lesser General Public License For Linguistic Resources",url:"http://www-igm.univ-mlv.fr/~unitex/lgpllr.html",osiApproved:!1},Nj={name:"OAR License",url:"https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/string/strsignal.c;hb=HEAD#l35",osiApproved:!1},$j={name:"HTML Tidy License",url:"https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md",osiApproved:!1},Rj={name:"Academy of Motion Picture Arts and Sciences BSD",url:"https://fedoraproject.org/wiki/Licensing/BSD#AMPASBSD",osiApproved:!1},Gj={name:"Netizen Open Source License",url:"http://bits.netizen.com.au/licenses/NOSL/nosl.txt",osiApproved:!1},Uj={name:"fwlw License",url:"https://mirrors.nic.cz/tex-archive/macros/latex/contrib/fwlw/README",osiApproved:!1},Hj={name:"w3m License",url:"https://github.com/tats/w3m/blob/master/COPYING",osiApproved:!1},Qj={name:"Latex2e License",url:"https://fedoraproject.org/wiki/Licensing/Latex2e",osiApproved:!1},Vj={name:"mplus Font License",url:"https://fedoraproject.org/wiki/Licensing:Mplus?rd=Licensing/mplus",osiApproved:!1},zj={name:"Peer Production License",url:"https://wiki.p2pfoundation.net/Peer_Production_License",osiApproved:!1},qj={name:"SNIA Public License 1.1",url:"https://fedoraproject.org/wiki/Licensing/SNIA_Public_License",osiApproved:!1},Wj={name:"Barr License",url:"https://fedoraproject.org/wiki/Licensing/Barr",osiApproved:!1},Yj={name:"softSurfer License",url:"https://github.com/mm2/Little-CMS/blob/master/src/cmssm.c#L207",osiApproved:!1},Jj={name:"psfrag License",url:"https://fedoraproject.org/wiki/Licensing/psfrag",osiApproved:!1},Xj={name:"Cube License",url:"https://fedoraproject.org/wiki/Licensing/Cube",osiApproved:!1},Zj={name:"Text-Tabs+Wrap License",url:"https://fedoraproject.org/wiki/Licensing/TTWL",osiApproved:!1},AI={name:"WWL License",url:"http://www.db.net/downloads/wwl+db-1.3.tgz",osiApproved:!1},CI={name:"Nethack General Public License",url:"https://opensource.org/licenses/NGPL",osiApproved:!0},eI={name:"FSF All Permissive License",url:"https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html",osiApproved:!1},nI={name:"mpich2 License",url:"https://fedoraproject.org/wiki/Licensing/MIT",osiApproved:!1},tI={name:"EU DataGrid Software License",url:"http://eu-datagrid.web.cern.ch/eu-datagrid/license.html",osiApproved:!0},iI={name:"Sleepycat License",url:"https://opensource.org/licenses/Sleepycat",osiApproved:!0},sI={name:"David M. Gay dtoa License",url:"https://github.com/SWI-Prolog/swipl-devel/blob/master/src/os/dtoa.c",osiApproved:!1},oI={name:"iMatix Standard Function Library Agreement",url:"http://legacy.imatix.com/html/sfl/sfl4.htm#license",osiApproved:!1},lI={name:"Common Lisp LOOP License",url:"https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/loop.lsp",osiApproved:!1},aI={name:"eGenix.com Public License 1.1.0",url:"http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf",osiApproved:!1},rI={name:"Attribution Assurance License",url:"https://opensource.org/licenses/attribution",osiApproved:!0},cI={name:"hdparm License",url:"https://github.com/Distrotech/hdparm/blob/4517550db29a91420fb2b020349523b1b4512df2/LICENSE.TXT",osiApproved:!1},uI={name:"MIT License",url:"https://opensource.org/license/mit/",osiApproved:!0},mI={name:"XSkat License",url:"https://fedoraproject.org/wiki/Licensing/XSkat_License",osiApproved:!1},dI={name:"Gutmann License",url:"https://www.cs.auckland.ac.nz/~pgut001/dumpasn1.c",osiApproved:!1},pI={name:"wxWindows Library License",url:"https://opensource.org/licenses/WXwindows",osiApproved:!0},fI={name:"The Unlicense",url:"https://unlicense.org/",osiApproved:!0},hI={name:"NCL Source Code License",url:"https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/modules/module-filter-chain/pffft.c?ref_type=heads#L1-52",osiApproved:!1},gI={name:"Newsletr License",url:"https://fedoraproject.org/wiki/Licensing/Newsletr",osiApproved:!1},bI={name:"TMate Open Source License",url:"http://svnkit.com/license.html",osiApproved:!1},EI={name:"EPICS Open License",url:"https://epics.anl.gov/license/open.php",osiApproved:!1},yI={name:"DOC License",url:"http://www.cs.wustl.edu/~schmidt/ACE-copying.html",osiApproved:!1},vI={name:"FSF Unlimited License (With License Retention and Warranty Disclaimer)",url:"https://lists.gnu.org/archive/html/autoconf/2012-04/msg00061.html",osiApproved:!1},wI={name:"Entessa Public License v1.0",url:"https://opensource.org/licenses/Entessa",osiApproved:!0},BI={name:"3dfx Glide License",url:"http://www.users.on.net/~triforce/glidexp/COPYING.txt",osiApproved:!1},SI={name:"Motosoto License",url:"https://opensource.org/licenses/Motosoto",osiApproved:!0},kI={name:"W3C Software Notice and License (2002-12-31)",url:"http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html",osiApproved:!0},xI={name:"magaz License",url:"https://mirrors.nic.cz/tex-archive/macros/latex/contrib/magaz/magaz.tex",osiApproved:!1},_I={name:"NTP License",url:"https://opensource.org/licenses/NTP",osiApproved:!0},jI={name:"Do What The F*ck You Want To Public License",url:"http://www.wtfpl.net/about/",osiApproved:!1},II={name:"Fuzzy Bitmap License",url:"https://github.com/SWI-Prolog/packages-xpce/blob/161a40cd82004f731ba48024f9d30af388a7edf5/src/img/gifwrite.c#L21-L26",osiApproved:!1},MI={name:"Clarified Artistic License",url:"http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/",osiApproved:!1},DI={name:"SunPro License",url:"https://github.com/freebsd/freebsd-src/blob/main/lib/msun/src/e_acosh.c",osiApproved:!1},PI={name:"Ruby License",url:"https://www.ruby-lang.org/en/about/license.txt",osiApproved:!1},OI={name:"Fair License",url:"https://web.archive.org/web/20150926120323/http://fairlicense.org/",osiApproved:!0},LI={name:"UnixCrypt License",url:"https://foss.heptapod.net/python-libs/passlib/-/blob/branch/stable/LICENSE#L70",osiApproved:!1},KI={name:"lsof License",url:"https://github.com/lsof-org/lsof/blob/master/COPYING",osiApproved:!1},TI={name:"FreeImage Public License v1.0",url:"http://freeimage.sourceforge.net/freeimage-license.txt",osiApproved:!1},FI={name:"pnmstitch License",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/editor/pnmstitch.c#l2",osiApproved:!1},NI={name:"diffmark license",url:"https://fedoraproject.org/wiki/Licensing/diffmark",osiApproved:!1},$I={name:"swrule License",url:"https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/misc/swrule.sty",osiApproved:!1},RI={name:"MakeIndex License",url:"https://fedoraproject.org/wiki/Licensing/MakeIndex",osiApproved:!1},GI={name:"SL License",url:"https://github.com/mtoyoda/sl/blob/master/LICENSE",osiApproved:!1},UI={name:"Saxpath License",url:"https://fedoraproject.org/wiki/Licensing/Saxpath_License",osiApproved:!1},HI={name:"dvipdfm License",url:"https://fedoraproject.org/wiki/Licensing/dvipdfm",osiApproved:!1},QI={name:"NetCDF license",url:"http://www.unidata.ucar.edu/software/netcdf/copyright.html",osiApproved:!1},VI={name:"Freetype Project License",url:"http://freetype.fis.uniroma2.it/FTL.TXT",osiApproved:!1},zI={name:"X11 License",url:"http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3",osiApproved:!1},qI={name:"Bahyph License",url:"https://fedoraproject.org/wiki/Licensing/Bahyph",osiApproved:!1},WI={name:"Eurosym License",url:"https://fedoraproject.org/wiki/Licensing/Eurosym",osiApproved:!1},YI={name:"ThirdEye License",url:"https://sourceware.org/cgit/binutils-gdb/tree/include/coff/symconst.h#n11",osiApproved:!1},JI={name:"Caldera License",url:"http://www.lemis.com/grog/UNIX/ancient-source-all.pdf",osiApproved:!1},XI={name:"Secure Messaging Protocol Public License",url:"https://github.com/dcblake/SMP/blob/master/Documentation/License.txt",osiApproved:!1},ZI={name:"Afmparse License",url:"https://fedoraproject.org/wiki/Licensing/Afmparse",osiApproved:!1},AM={name:"GD License",url:"https://libgd.github.io/manuals/2.3.0/files/license-txt.html",osiApproved:!1},CM={name:"Cronyx License",url:"https://gitlab.freedesktop.org/xorg/font/alias/-/blob/master/COPYING",osiApproved:!1},eM={name:"TTYP0 License",url:"https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/",osiApproved:!1},nM={name:"Scheme Language Report License",osiApproved:!1},tM={name:"Crossword License",url:"https://fedoraproject.org/wiki/Licensing/Crossword",osiApproved:!1},iM={name:"Sun Industry Standards Source License v1.1",url:"http://www.openoffice.org/licenses/sissl_license.html",osiApproved:!0},sM={name:"gtkbook License",url:"https://github.com/slogan621/gtkbook",osiApproved:!1},oM={name:"threeparttable License",url:"https://fedoraproject.org/wiki/Licensing/Threeparttable",osiApproved:!1},lM={name:"Imlib2 License",url:"http://trac.enlightenment.org/e/browser/trunk/imlib2/COPYING",osiApproved:!1},aM={name:"X.Net License",url:"https://opensource.org/licenses/Xnet",osiApproved:!0},rM={name:"Mup License",url:"https://fedoraproject.org/wiki/Licensing/Mup",osiApproved:!1},cM={name:"Historical Permission Notice and Disclaimer",url:"https://opensource.org/licenses/HPND",osiApproved:!0},uM={name:"Zeeff License",url:"ftp://ftp.tin.org/pub/news/utils/newsx/newsx-1.6.tar.gz",osiApproved:!1},mM={name:"gnuplot License",url:"https://fedoraproject.org/wiki/Licensing/Gnuplot",osiApproved:!1},dM={name:"Leptonica License",url:"https://fedoraproject.org/wiki/Licensing/Leptonica",osiApproved:!1},pM={name:"Clips License",url:"https://github.com/DrItanium/maya/blob/master/LICENSE.CLIPS",osiApproved:!1},fM={name:"OpenSSL License",url:"http://www.openssl.org/source/license.html",osiApproved:!1},hM={name:"Sendmail License",url:"http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf",osiApproved:!1},gM={name:"TrustedQSL License",url:"https://sourceforge.net/p/trustedqsl/tqsl/ci/master/tree/LICENSE.txt",osiApproved:!1},bM={name:"Catharon License",url:"https://github.com/scummvm/scummvm/blob/v2.8.0/LICENSES/CatharonLicense.txt",osiApproved:!1},EM={name:"Wsuipa License",url:"https://fedoraproject.org/wiki/Licensing/Wsuipa",osiApproved:!1},yM={name:"Jam License",url:"https://www.boost.org/doc/libs/1_35_0/doc/html/jam.html",osiApproved:!0},vM={name:"xinetd License",url:"https://fedoraproject.org/wiki/Licensing/Xinetd_License",osiApproved:!1},wM={name:"OFFIS License",url:"https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/dicom/README",osiApproved:!1},BM={name:"radvd License",url:"https://github.com/radvd-project/radvd/blob/master/COPYRIGHT",osiApproved:!1},SM={name:"Xfig License",url:"https://github.com/Distrotech/transfig/blob/master/transfig/transfig.c",osiApproved:!1},kM={name:"Multics License",url:"https://opensource.org/licenses/Multics",osiApproved:!0},xM={name:"Beerware License",url:"https://fedoraproject.org/wiki/Licensing/Beerware",osiApproved:!1},_M={name:"Baekmuk License",url:"https://fedoraproject.org/wiki/Licensing:Baekmuk?rd=Licensing/Baekmuk",osiApproved:!1},jM={name:"Qhull License",url:"https://fedoraproject.org/wiki/Licensing/Qhull",osiApproved:!1},IM={name:"VOSTROM Public License for Open Source",url:"https://fedoraproject.org/wiki/Licensing/VOSTROM",osiApproved:!1},MM={name:"NRL License",url:"http://web.mit.edu/network/isakmp/nrllicense.html",osiApproved:!1},DM={name:"Time::ParseDate License",url:"https://metacpan.org/pod/Time::ParseDate#LICENSE",osiApproved:!1},PM={name:"Open Market License",url:"https://fedoraproject.org/wiki/Licensing/Open_Market_License",osiApproved:!1},OM={name:"Dotseqn License",url:"https://fedoraproject.org/wiki/Licensing/Dotseqn",osiApproved:!1},LM={name:"Intel Open Source License",url:"https://opensource.org/licenses/Intel",osiApproved:!0},KM={name:"Kastrup License",url:"https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/kastrup/binhex.dtx",osiApproved:!1},TM={name:"No Limit Public License",url:"https://fedoraproject.org/wiki/Licensing/NLPL",osiApproved:!1},FM={name:"University of Illinois/NCSA Open Source License",url:"http://otm.illinois.edu/uiuc_openSource",osiApproved:!0},NM={name:"Glulxe License",url:"https://fedoraproject.org/wiki/Licensing/Glulxe",osiApproved:!1},$M={name:"ulem License",url:"https://mirrors.ctan.org/macros/latex/contrib/ulem/README",osiApproved:!1},RM={name:"Borceux license",url:"https://fedoraproject.org/wiki/Licensing/Borceux",osiApproved:!1},GM={name:"Standard ML of New Jersey License",url:"https://www.smlnj.org/license.html",osiApproved:!1},UM={name:"metamail License",url:"https://github.com/Dual-Life/mime-base64/blob/master/Base64.xs#L12",osiApproved:!1},HM={name:"Zed License",url:"https://fedoraproject.org/wiki/Licensing/Zed",osiApproved:!1},QM={name:"xlock License",url:"https://fossies.org/linux/tiff/contrib/ras/ras2tif.c",osiApproved:!1},VM={name:"SCEA Shared Source License",url:"http://research.scea.com/scea_shared_source_license.html",osiApproved:!1},zM={name:"ICU License",url:"http://source.icu-project.org/repos/icu/icu/trunk/license.html",osiApproved:!0},qM={name:"AMD's plpa_map.c License",url:"https://fedoraproject.org/wiki/Licensing/AMD_plpa_map_License",osiApproved:!1},WM={name:"PADL License",url:"https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/os-local.c?ref_type=heads#L19-23",osiApproved:!1},YM={name:"MIPS License",url:"https://sourceware.org/cgit/binutils-gdb/tree/include/coff/sym.h#n11",osiApproved:!1},JM={name:"Apple MIT License",url:"https://fedoraproject.org/wiki/Licensing/Apple_MIT_License",osiApproved:!1},XM={name:"Symlinks License",url:"https://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg11494.html",osiApproved:!1},ZM={name:"UCAR License",url:"https://github.com/Unidata/UDUNITS-2/blob/master/COPYRIGHT",osiApproved:!1},AD={name:"Furuseth License",url:"https://git.openldap.org/openldap/openldap/-/blob/master/COPYRIGHT?ref_type=heads#L39-51",osiApproved:!1},CD={name:"zlib License",url:"http://www.zlib.net/zlib_license.html",osiApproved:!0},eD={name:"Adobe Postscript AFM License",url:"https://fedoraproject.org/wiki/Licensing/AdobePostscriptAFM",osiApproved:!1},nD={name:"TCL/TK License",url:"http://www.tcl.tk/software/tcltk/license.html",osiApproved:!1},tD={name:"Xerox License",url:"https://fedoraproject.org/wiki/Licensing/Xerox",osiApproved:!1},iD={name:"FSF Unlimited License",url:"https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License",osiApproved:!1},sD={name:"ImageMagick License",url:"http://www.imagemagick.org/script/license.php",osiApproved:!1},oD={name:"curl License",url:"https://github.com/bagder/curl/blob/master/COPYING",osiApproved:!1},lD={name:"MIT +no-false-attribs license",url:"https://fedoraproject.org/wiki/Licensing/MITNFA",osiApproved:!1},aD={name:"libtiff License",url:"https://fedoraproject.org/wiki/Licensing/libtiff",osiApproved:!1},rD={name:"Haskell Language Report License",url:"https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License",osiApproved:!1},cD={name:"ISC License",url:"https://www.isc.org/licenses/",osiApproved:!0},uD={name:"Naumen Public License",url:"https://opensource.org/licenses/Naumen",osiApproved:!0},mD={name:"CFITSIO License",url:"https://heasarc.gsfc.nasa.gov/docs/software/fitsio/c/f_user/node9.html",osiApproved:!1},dD={name:"snprintf License",url:"https://github.com/openssh/openssh-portable/blob/master/openbsd-compat/bsd-snprintf.c#L2",osiApproved:!1},pD={name:"Nunit License",url:"https://fedoraproject.org/wiki/Licensing/Nunit",osiApproved:!1},fD={name:"Pixar License",url:"https://github.com/PixarAnimationStudios/OpenSubdiv/raw/v3_5_0/LICENSE.txt",osiApproved:!1},hD={name:"Minpack License",url:"http://www.netlib.org/minpack/disclaimer",osiApproved:!1},gD={name:"Open Group Test Suite License",url:"http://www.opengroup.org/testing/downloads/The_Open_Group_TSL.txt",osiApproved:!0},bD={name:"Matrix Template Library License",url:"https://fedoraproject.org/wiki/Licensing/Matrix_Template_Library_License",osiApproved:!1},ED={name:"HIDAPI License",url:"https://github.com/signal11/hidapi/blob/master/LICENSE-orig.txt",osiApproved:!1},yD={name:"GL2PS License",url:"http://www.geuz.org/gl2ps/COPYING.GL2PS",osiApproved:!1},vD={name:"Trusster Open Source License",url:"https://fedoraproject.org/wiki/Licensing/TOSL",osiApproved:!1},wD={name:"Abstyles License",url:"https://fedoraproject.org/wiki/Licensing/Abstyles",osiApproved:!1},BD={name:"TermReadKey License",url:"https://github.com/jonathanstowe/TermReadKey/blob/master/README#L9-L10",osiApproved:!1},SD={name:"xzoom License",url:"https://metadata.ftp-master.debian.org/changelogs//main/x/xzoom/xzoom_0.3-27_copyright",osiApproved:!1},kD={name:"PostgreSQL License",url:"http://www.postgresql.org/about/licence",osiApproved:!0},xD={name:"libpng License",url:"http://www.libpng.org/pub/png/src/libpng-LICENSE.txt",osiApproved:!1},_D={name:"Scheme Widget Library (SWL) Software License Agreement",url:"https://fedoraproject.org/wiki/Licensing/SWL",osiApproved:!1},jD={name:"Giftware License",url:"http://liballeg.org/license.html#allegro-4-the-giftware-license",osiApproved:!1},ID={name:"pkgconf License",url:"https://github.com/pkgconf/pkgconf/blob/master/cli/main.c#L8",osiApproved:!1},MD={name:"SQLite Blessing",url:"https://www.sqlite.org/src/artifact/e33a4df7e32d742a?ln=4-9",osiApproved:!1},DD={name:"Independent JPEG Group License",url:"http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev=1.2",osiApproved:!1},PD={name:"Nokia Open Source License",url:"https://opensource.org/licenses/nokia",osiApproved:!0},OD={DSDP:dj,"NIST-PD":{name:"NIST Public Domain Notice",url:"https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt",osiApproved:!1},"CC-BY-NC-SA-2.0":{name:"Creative Commons Attribution Non Commercial Share Alike 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/legalcode",osiApproved:!1},"NLOD-1.0":{name:"Norwegian Licence for Open Government Data (NLOD) 1.0",url:"http://data.norge.no/nlod/en/1.0",osiApproved:!1},"RHeCos-1.1":{name:"Red Hat eCos Public License v1.1",url:"http://ecos.sourceware.org/old-license.html",osiApproved:!1},"GFDL-1.3-no-invariants-only":{name:"GNU Free Documentation License v1.3 only - no invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},RSCPL:pj,"ASWF-Digital-Assets-1.1":{name:"ASWF Digital Assets License 1.1",url:"https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.1.txt",osiApproved:!1},"eCos-2.0":{name:"eCos license version 2.0",url:"https://www.gnu.org/licenses/ecos-license.html",osiApproved:!1},GLWTPL:fj,"Info-ZIP":{name:"Info-ZIP License",url:"http://www.info-zip.org/license.html",osiApproved:!1},"LPPL-1.3c":{name:"LaTeX Project Public License v1.3c",url:"http://www.latex-project.org/lppl/lppl-1-3c.txt",osiApproved:!0},"zlib-acknowledgement":{name:"zlib/libpng License with Acknowledgement",url:"https://fedoraproject.org/wiki/Licensing/ZlibWithAcknowledgement",osiApproved:!1},checkmk:hj,"OLDAP-2.8":{name:"Open LDAP Public License v2.8",url:"http://www.openldap.org/software/release/license.html",osiApproved:!0},"cve-tou":{name:"Common Vulnerability Enumeration ToU License",url:"https://www.cve.org/Legal/TermsOfUse",osiApproved:!1},MirOS:gj,"Parity-6.0.0":{name:"The Parity Public License 6.0.0",url:"https://paritylicense.com/versions/6.0.0.html",osiApproved:!1},"CC-BY-SA-2.1-JP":{name:"Creative Commons Attribution Share Alike 2.1 Japan",url:"https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode",osiApproved:!1},InnoSetup:bj,"IPL-1.0":{name:"IBM Public License v1.0",url:"https://opensource.org/licenses/IPL-1.0",osiApproved:!0},"Spencer-86":{name:"Spencer License 86",url:"https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License",osiApproved:!1},JPNIC:Ej,OpenVision:yj,SGP4:vj,"MPL-1.1":{name:"Mozilla Public License 1.1",url:"http://www.mozilla.org/MPL/MPL-1.1.html",osiApproved:!0},"BSD-3-Clause-Clear":{name:"BSD 3-Clause Clear License",url:"http://labs.metacarta.com/license-explanation.html#license",osiApproved:!1},"AML-glslang":{name:"AML glslang variant License",url:"https://github.com/KhronosGroup/glslang/blob/main/LICENSE.txt#L949",osiApproved:!1},Vim:wj,"Community-Spec-1.0":{name:"Community Specification License 1.0",url:"https://github.com/CommunitySpecification/1.0/blob/master/1._Community_Specification_License-v1.md",osiApproved:!1},"OSL-3.0":{name:"Open Software License 3.0",url:"https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm",osiApproved:!0},CrystalStacker:Bj,"MPL-1.0":{name:"Mozilla Public License 1.0",url:"http://www.mozilla.org/MPL/MPL-1.0.html",osiApproved:!0},"OLDAP-1.2":{name:"Open LDAP Public License v1.2",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=42b0383c50c299977b5893ee695cf4e486fb0dc7",osiApproved:!1},"Sendmail-8.23":{name:"Sendmail License 8.23",url:"https://www.proofpoint.com/sites/default/files/sendmail-license.pdf",osiApproved:!1},"CMU-Mach":{name:"CMU Mach License",url:"https://www.cs.cmu.edu/~410/licenses.html",osiApproved:!1},xpp:Sj,"GPL-2.0-with-bison-exception":{name:"GNU General Public License v2.0 w/Bison exception",url:"http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id=193d7c7054ba7197b0789e14965b739162319b5e#n141",osiApproved:!1},"ECL-1.0":{name:"Educational Community License v1.0",url:"https://opensource.org/licenses/ECL-1.0",osiApproved:!0},Plexus:kj,"Elastic-2.0":{name:"Elastic License 2.0",url:"https://www.elastic.co/licensing/elastic-license",osiApproved:!1},"CPL-1.0":{name:"Common Public License 1.0",url:"https://opensource.org/licenses/CPL-1.0",osiApproved:!0},"GFDL-1.2-no-invariants-only":{name:"GNU Free Documentation License v1.2 only - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"OPL-1.0":{name:"Open Public License v1.0",url:"http://old.koalateam.com/jackaroo/OPL_1_0.TXT",osiApproved:!1},"CC-BY-SA-4.0":{name:"Creative Commons Attribution Share Alike 4.0 International",url:"https://creativecommons.org/licenses/by-sa/4.0/legalcode",osiApproved:!1},ADSL:xj,"SGI-B-1.1":{name:"SGI Free Software License B v1.1",url:"http://oss.sgi.com/projects/FreeB/",osiApproved:!1},"XFree86-1.1":{name:"XFree86 License 1.1",url:"http://www.xfree86.org/current/LICENSE4.html",osiApproved:!1},"Latex2e-translated-notice":{name:"Latex2e with translated notice permission",url:"https://git.savannah.gnu.org/cgit/indent.git/tree/doc/indent.texi?id=a74c6b4ee49397cf330b333da1042bffa60ed14f#n74",osiApproved:!1},IPA:_j,psutils:jj,"CC-BY-NC-ND-3.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode",osiApproved:!1},FSFULLR:Ij,"SSLeay-standalone":{name:"SSLeay License - standalone",url:"https://www.tq-group.com/filedownloads/files/software-license-conditions/OriginalSSLeay/OriginalSSLeay.pdf",osiApproved:!1},MMIXware:Mj,"Graphics-Gems":{name:"Graphics Gems License",url:"https://github.com/erich666/GraphicsGems/blob/master/LICENSE.md",osiApproved:!1},"HPND-export-US-acknowledgement":{name:"HPND with US Government export control warning and acknowledgment",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L831-L852",osiApproved:!1},"CC-BY-NC-2.0":{name:"Creative Commons Attribution Non Commercial 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc/2.0/legalcode",osiApproved:!1},"OLDAP-1.3":{name:"Open LDAP Public License v1.3",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=e5f8117f0ce088d0bd7a8e18ddf37eaa40eb09b1",osiApproved:!1},"LGPL-2.1-only":{name:"GNU Lesser General Public License v2.1 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},"NLOD-2.0":{name:"Norwegian Licence for Open Government Data (NLOD) 2.0",url:"http://data.norge.no/nlod/en/2.0",osiApproved:!1},"BSD-2-Clause":{name:'BSD 2-Clause "Simplified" License',url:"https://opensource.org/licenses/BSD-2-Clause",osiApproved:!0},mailprio:Dj,"CC-BY-SA-3.0":{name:"Creative Commons Attribution Share Alike 3.0 Unported",url:"https://creativecommons.org/licenses/by-sa/3.0/legalcode",osiApproved:!1},Noweb:Pj,Soundex:Oj,"CECILL-1.0":{name:"CeCILL Free Software License Agreement v1.0",url:"http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html",osiApproved:!1},Aladdin:Lj,"SSH-OpenSSH":{name:"SSH OpenSSH license",url:"https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10",osiApproved:!1},"BSD-Attribution-HPND-disclaimer":{name:"BSD with Attribution and HPND disclaimer",url:"https://github.com/cyrusimap/cyrus-sasl/blob/master/COPYING",osiApproved:!1},"CC-BY-NC-SA-2.0-UK":{name:"Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/uk/legalcode",osiApproved:!1},Kazlib:Kj,"Ubuntu-font-1.0":{name:"Ubuntu Font Licence v1.0",url:"https://ubuntu.com/legal/font-licence",osiApproved:!1},"SGI-OpenGL":{name:"SGI OpenGL License",url:"https://gitlab.freedesktop.org/mesa/glw/-/blob/master/README?ref_type=heads",osiApproved:!1},Rdisc:Tj,"HPND-sell-variant-MIT-disclaimer":{name:"HPND sell variant with MIT disclaimer",url:"https://github.com/sigmavirus24/x11-ssh-askpass/blob/master/README",osiApproved:!1},LGPLLR:Fj,OAR:Nj,HTMLTIDY:$j,AMPAS:Rj,NOSL:Gj,fwlw:Uj,w3m:Hj,Latex2e:Qj,"O-UDA-1.0":{name:"Open Use of Data Agreement v1.0",url:"https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md",osiApproved:!1},mplus:Vj,"HPND-Intel":{name:"Historical Permission Notice and Disclaimer - Intel variant",url:"https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/machine/i960/memcpy.S;hb=HEAD",osiApproved:!1},PPL:zj,"OFL-1.1-RFN":{name:"SIL Open Font License 1.1 with Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web",osiApproved:!0},"EPL-1.0":{name:"Eclipse Public License 1.0",url:"http://www.eclipse.org/legal/epl-v10.html",osiApproved:!0},"HPND-UC-export-US":{name:"Historical Permission Notice and Disclaimer - University of California, US export warning",url:"https://github.com/RTimothyEdwards/magic/blob/master/LICENSE",osiApproved:!1},"CC-BY-3.0-DE":{name:"Creative Commons Attribution 3.0 Germany",url:"https://creativecommons.org/licenses/by/3.0/de/legalcode",osiApproved:!1},SNIA:qj,Barr:Wj,"OLDAP-2.1":{name:"Open LDAP Public License v2.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=b0d176738e96a0d3b9f85cb51e140a86f21be715",osiApproved:!1},"CC-BY-ND-4.0":{name:"Creative Commons Attribution No Derivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nd/4.0/legalcode",osiApproved:!1},softSurfer:Yj,"LGPL-2.1-or-later":{name:"GNU Lesser General Public License v2.1 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},"OFL-1.0":{name:"SIL Open Font License 1.0",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL10_web",osiApproved:!1},"BSD-3-Clause-flex":{name:"BSD 3-Clause Flex variant",url:"https://github.com/westes/flex/blob/master/COPYING",osiApproved:!1},psfrag:Jj,"BSD-1-Clause":{name:"BSD 1-Clause License",url:"https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision=326823",osiApproved:!0},"BSD-3-Clause-No-Military-License":{name:"BSD 3-Clause No Military License",url:"https://gitlab.syncad.com/hive/dhive/-/blob/master/LICENSE",osiApproved:!1},Cube:Xj,"LPPL-1.2":{name:"LaTeX Project Public License v1.2",url:"http://www.latex-project.org/lppl/lppl-1-2.txt",osiApproved:!1},"OLDAP-2.2.2":{name:"Open LDAP Public License 2.2.2",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=df2cc1e21eb7c160695f5b7cffd6296c151ba188",osiApproved:!1},TTWL:Zj,"CC-BY-3.0":{name:"Creative Commons Attribution 3.0 Unported",url:"https://creativecommons.org/licenses/by/3.0/legalcode",osiApproved:!1},"BSD-3-Clause-Open-MPI":{name:"BSD 3-Clause Open MPI variant",url:"https://www.open-mpi.org/community/license.php",osiApproved:!1},"CC-BY-NC-ND-3.0-IGO":{name:"Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO",url:"https://creativecommons.org/licenses/by-nc-nd/3.0/igo/legalcode",osiApproved:!1},"ZPL-2.1":{name:"Zope Public License 2.1",url:"http://old.zope.org/Resources/ZPL/",osiApproved:!0},"CC0-1.0":{name:"Creative Commons Zero v1.0 Universal",url:"https://creativecommons.org/publicdomain/zero/1.0/legalcode",osiApproved:!1},"NPL-1.0":{name:"Netscape Public License v1.0",url:"http://www.mozilla.org/MPL/NPL/1.0/",osiApproved:!1},"CECILL-2.0":{name:"CeCILL Free Software License Agreement v2.0",url:"http://www.cecill.info/licences/Licence_CeCILL_V2-en.html",osiApproved:!1},wwl:AI,NGPL:CI,FSFAP:eI,"any-OSI":{name:"Any OSI License",url:"https://metacpan.org/pod/Exporter::Tidy#LICENSE",osiApproved:!1},mpich2:nI,EUDatagrid:tI,Sleepycat:iI,"AFL-3.0":{name:"Academic Free License v3.0",url:"http://www.rosenlaw.com/AFL3.0.htm",osiApproved:!0},"Arphic-1999":{name:"Arphic Public License",url:"http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/LICENSE",osiApproved:!1},"BSD-4-Clause-UC":{name:"BSD-4-Clause (University of California-Specific)",url:"http://www.freebsd.org/copyright/license.html",osiApproved:!1},dtoa:sI,"Unicode-DFS-2015":{name:"Unicode License Agreement - Data Files and Software (2015)",url:"https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html",osiApproved:!1},"TCP-wrappers":{name:"TCP Wrappers License",url:"http://rc.quest.com/topics/openssh/license.php#tcpwrappers",osiApproved:!1},"MIT-0":{name:"MIT No Attribution",url:"https://github.com/aws/mit-0",osiApproved:!0},"SugarCRM-1.1.3":{name:"SugarCRM Public License v1.1.3",url:"http://www.sugarcrm.com/crm/SPL",osiApproved:!1},iMatix:oI,"CC-BY-3.0-AT":{name:"Creative Commons Attribution 3.0 Austria",url:"https://creativecommons.org/licenses/by/3.0/at/legalcode",osiApproved:!1},"Adobe-2006":{name:"Adobe Systems Incorporated Source Code License Agreement",url:"https://fedoraproject.org/wiki/Licensing/AdobeLicense",osiApproved:!1},LOOP:lI,"MIT-testregex":{name:"MIT testregex Variant",url:"https://github.com/dotnet/runtime/blob/55e1ac7c07df62c4108d4acedf78f77574470ce5/src/libraries/System.Text.RegularExpressions/tests/FunctionalTests/AttRegexTests.cs#L12-L28",osiApproved:!1},eGenix:aI,"GCR-docs":{name:"Gnome GCR Documentation License",url:"https://github.com/GNOME/gcr/blob/master/docs/COPYING",osiApproved:!1},AAL:rI,"CAL-1.0":{name:"Cryptographic Autonomy License 1.0",url:"http://cryptographicautonomylicense.com/license-text.html",osiApproved:!0},"PHP-3.0":{name:"PHP License v3.0",url:"http://www.php.net/license/3_0.txt",osiApproved:!0},hdparm:cI,"OpenPBS-2.3":{name:"OpenPBS v2.3 Software License",url:"https://github.com/adaptivecomputing/torque/blob/master/PBS_License.txt",osiApproved:!1},"DL-DE-BY-2.0":{name:"Data licence Germany – attribution – version 2.0",url:"https://www.govdata.de/dl-de/by-2-0",osiApproved:!1},"GFDL-1.3-or-later":{name:"GNU Free Documentation License v1.3 or later",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"CERN-OHL-1.2":{name:"CERN Open Hardware Licence v1.2",url:"https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2",osiApproved:!1},MIT:uI,XSkat:mI,Gutmann:dI,wxWindows:pI,"CC-BY-NC-SA-2.5":{name:"Creative Commons Attribution Non Commercial Share Alike 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.5/legalcode",osiApproved:!1},"PDDL-1.0":{name:"Open Data Commons Public Domain Dedication & License 1.0",url:"http://opendatacommons.org/licenses/pddl/1.0/",osiApproved:!1},Unlicense:fI,"CUA-OPL-1.0":{name:"CUA Office Public License v1.0",url:"https://opensource.org/licenses/CUA-OPL-1.0",osiApproved:!0},NCL:hI,"GFDL-1.1-invariants-or-later":{name:"GNU Free Documentation License v1.1 or later - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"CECILL-2.1":{name:"CeCILL Free Software License Agreement v2.1",url:"http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html",osiApproved:!0},"PolyForm-Small-Business-1.0.0":{name:"PolyForm Small Business License 1.0.0",url:"https://polyformproject.org/licenses/small-business/1.0.0",osiApproved:!1},"HP-1986":{name:"Hewlett-Packard 1986 License",url:"https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/machine/hppa/memchr.S;h=1cca3e5e8867aa4bffef1f75a5c1bba25c0c441e;hb=HEAD#l2",osiApproved:!1},"HPND-export-US":{name:"HPND with US Government export control warning",url:"https://www.kermitproject.org/ck90.html#source",osiApproved:!1},"X11-swapped":{name:"X11 swapped final paragraphs",url:"https://github.com/fedeinthemix/chez-srfi/blob/master/srfi/LICENSE",osiApproved:!1},"SHL-0.5":{name:"Solderpad Hardware License v0.5",url:"https://solderpad.org/licenses/SHL-0.5/",osiApproved:!1},"BSD-Systemics":{name:"Systemics BSD variant license",url:"https://metacpan.org/release/DPARIS/Crypt-DES-2.07/source/COPYRIGHT",osiApproved:!1},"CDLA-Sharing-1.0":{name:"Community Data License Agreement Sharing 1.0",url:"https://cdla.io/sharing-1-0",osiApproved:!1},"GFDL-1.1-or-later":{name:"GNU Free Documentation License v1.1 or later",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},Newsletr:gI,TMate:bI,EPICS:EI,"SAX-PD":{name:"Sax Public Domain Notice",url:"http://www.saxproject.org/copying.html",osiApproved:!1},"MIT-Festival":{name:"MIT Festival Variant",url:"https://github.com/festvox/flite/blob/master/COPYING",osiApproved:!1},"LGPL-2.0-or-later":{name:"GNU Library General Public License v2 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},"QPL-1.0":{name:"Q Public License 1.0",url:"http://doc.qt.nokia.com/3.3/license.html",osiApproved:!0},"SSH-short":{name:"SSH short notice",url:"https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/pathnames.h",osiApproved:!1},"OGL-UK-1.0":{name:"Open Government Licence v1.0",url:"http://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/",osiApproved:!1},"GPL-2.0-only":{name:"GNU General Public License v2.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},"GPL-3.0-with-GCC-exception":{name:"GNU General Public License v3.0 w/GCC Runtime Library exception",url:"https://www.gnu.org/licenses/gcc-exception-3.1.html",osiApproved:!0},"ECL-2.0":{name:"Educational Community License v2.0",url:"https://opensource.org/licenses/ECL-2.0",osiApproved:!0},"CATOSL-1.1":{name:"Computer Associates Trusted Open Source License 1.1",url:"https://opensource.org/licenses/CATOSL-1.1",osiApproved:!0},"Cornell-Lossless-JPEG":{name:"Cornell Lossless JPEG License",url:"https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_lossless_jpeg.cpp#16",osiApproved:!1},DOC:yI,"RSA-MD":{name:"RSA Message-Digest License",url:"http://www.faqs.org/rfcs/rfc1321.html",osiApproved:!1},"OCLC-2.0":{name:"OCLC Research Public License 2.0",url:"http://www.oclc.org/research/activities/software/license/v2final.htm",osiApproved:!0},"AGPL-3.0-only":{name:"GNU Affero General Public License v3.0 only",url:"https://www.gnu.org/licenses/agpl.txt",osiApproved:!0},"OLDAP-2.5":{name:"Open LDAP Public License v2.5",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=6852b9d90022e8593c98205413380536b1b5a7cf",osiApproved:!1},"CC-BY-SA-3.0-DE":{name:"Creative Commons Attribution Share Alike 3.0 Germany",url:"https://creativecommons.org/licenses/by-sa/3.0/de/legalcode",osiApproved:!1},"Artistic-1.0-Perl":{name:"Artistic License 1.0 (Perl)",url:"http://dev.perl.org/licenses/artistic.html",osiApproved:!0},"CC-BY-NC-ND-4.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode",osiApproved:!1},"BSD-3-Clause-No-Nuclear-License-2014":{name:"BSD 3-Clause No Nuclear License 2014",url:"https://java.net/projects/javaeetutorial/pages/BerkeleyLicense",osiApproved:!1},"Martin-Birgmeier":{name:"Martin Birgmeier License",url:"https://github.com/Perl/perl5/blob/blead/util.c#L6136",osiApproved:!1},"EUPL-1.0":{name:"European Union Public License 1.0",url:"http://ec.europa.eu/idabc/en/document/7330.html",osiApproved:!1},"GPL-2.0":{name:"GNU General Public License v2.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},"McPhee-slideshow":{name:"McPhee Slideshow License",url:"https://mirror.las.iastate.edu/tex-archive/graphics/metapost/contrib/macros/slideshow/slideshow.mp",osiApproved:!1},"CC-BY-NC-ND-1.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic",url:"https://creativecommons.org/licenses/by-nd-nc/1.0/legalcode",osiApproved:!1},"BlueOak-1.0.0":{name:"Blue Oak Model License 1.0.0",url:"https://blueoakcouncil.org/license/1.0.0",osiApproved:!0},"ODC-By-1.0":{name:"Open Data Commons Attribution License v1.0",url:"https://opendatacommons.org/licenses/by/1.0/",osiApproved:!1},"COIL-1.0":{name:"Copyfree Open Innovation License",url:"https://coil.apotheon.org/plaintext/01.0.txt",osiApproved:!1},"Bitstream-Vera":{name:"Bitstream Vera Font License",url:"https://web.archive.org/web/20080207013128/http://www.gnome.org/fonts/",osiApproved:!1},"JPL-image":{name:"JPL Image Use Policy",url:"https://www.jpl.nasa.gov/jpl-image-use-policy",osiApproved:!1},"MIT-enna":{name:"enna License",url:"https://fedoraproject.org/wiki/Licensing/MIT#enna",osiApproved:!1},"BSD-Inferno-Nettverk":{name:"BSD-Inferno-Nettverk",url:"https://www.inet.no/dante/LICENSE",osiApproved:!1},"CDDL-1.1":{name:"Common Development and Distribution License 1.1",url:"http://glassfish.java.net/public/CDDL+GPL_1_1.html",osiApproved:!1},FSFULLRWD:vI,"GFDL-1.2-invariants-only":{name:"GNU Free Documentation License v1.2 only - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"EFL-1.0":{name:"Eiffel Forum License v1.0",url:"http://www.eiffel-nice.org/license/forum.txt",osiApproved:!0},Entessa:wI,Glide:BI,"CC-BY-NC-3.0-DE":{name:"Creative Commons Attribution Non Commercial 3.0 Germany",url:"https://creativecommons.org/licenses/by-nc/3.0/de/legalcode",osiApproved:!1},"Artistic-1.0-cl8":{name:"Artistic License 1.0 w/clause 8",url:"https://opensource.org/licenses/Artistic-1.0",osiApproved:!0},"W3C-19980720":{name:"W3C Software Notice and License (1998-07-20)",url:"http://www.w3.org/Consortium/Legal/copyright-software-19980720.html",osiApproved:!1},"HPND-merchantability-variant":{name:"Historical Permission Notice and Disclaimer - merchantability variant",url:"https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/misc/fini.c;hb=HEAD",osiApproved:!1},Motosoto:SI,"OLDAP-1.1":{name:"Open LDAP Public License v1.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=806557a5ad59804ef3a44d5abfbe91d706b0791f",osiApproved:!1},"HP-1989":{name:"Hewlett-Packard 1989 License",url:"https://github.com/bleargh45/Data-UUID/blob/master/LICENSE",osiApproved:!1},"IEC-Code-Components-EULA":{name:"IEC Code Components End-user licence agreement",url:"https://www.iec.ch/webstore/custserv/pdf/CC-EULA.pdf",osiApproved:!1},"NCGL-UK-2.0":{name:"Non-Commercial Government Licence",url:"http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/",osiApproved:!1},"CC-BY-3.0-IGO":{name:"Creative Commons Attribution 3.0 IGO",url:"https://creativecommons.org/licenses/by/3.0/igo/legalcode",osiApproved:!1},"BSD-Source-Code":{name:"BSD Source Code Attribution",url:"https://github.com/robbiehanson/CocoaHTTPServer/blob/master/LICENSE.txt",osiApproved:!1},"GFDL-1.1-no-invariants-only":{name:"GNU Free Documentation License v1.1 only - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},W3C:kI,magaz:xI,"libutil-David-Nugent":{name:"libutil David Nugent License",url:"http://web.mit.edu/freebsd/head/lib/libutil/login_ok.3",osiApproved:!1},"AFL-2.1":{name:"Academic Free License v2.1",url:"http://opensource.linux-mirror.org/licenses/afl-2.1.txt",osiApproved:!0},"NAIST-2003":{name:"Nara Institute of Science and Technology License (2003)",url:"https://enterprise.dejacode.com/licenses/public/naist-2003/#license-text",osiApproved:!1},"DocBook-XML":{name:"DocBook XML License",url:"https://github.com/docbook/xslt10-stylesheets/blob/efd62655c11cc8773708df7a843613fa1e932bf8/xsl/COPYING#L27",osiApproved:!1},"LiLiQ-Rplus-1.1":{name:"Licence Libre du Québec – Réciprocité forte version 1.1",url:"https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-forte-liliq-r-v1-1/",osiApproved:!0},"MIT-feh":{name:"feh License",url:"https://fedoraproject.org/wiki/Licensing/MIT#feh",osiApproved:!1},"LGPL-2.1":{name:"GNU Lesser General Public License v2.1 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},"UMich-Merit":{name:"Michigan/Merit Networks License",url:"https://github.com/radcli/radcli/blob/master/COPYRIGHT#L64",osiApproved:!1},"CC-BY-NC-3.0":{name:"Creative Commons Attribution Non Commercial 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc/3.0/legalcode",osiApproved:!1},"GPL-1.0":{name:"GNU General Public License v1.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},NTP:_I,"Frameworx-1.0":{name:"Frameworx Open License 1.0",url:"https://opensource.org/licenses/Frameworx-1.0",osiApproved:!0},"BSD-2-Clause-NetBSD":{name:"BSD 2-Clause NetBSD License",url:"http://www.netbsd.org/about/redistribution.html#default",osiApproved:!1},"HPND-sell-variant":{name:"Historical Permission Notice and Disclaimer - sell variant",url:"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/sunrpc/auth_gss/gss_generic_token.c?h=v4.19",osiApproved:!1},"CC-BY-1.0":{name:"Creative Commons Attribution 1.0 Generic",url:"https://creativecommons.org/licenses/by/1.0/legalcode",osiApproved:!1},"APL-1.0":{name:"Adaptive Public License 1.0",url:"https://opensource.org/licenses/APL-1.0",osiApproved:!0},WTFPL:jI,FBM:II,ClArtistic:MI,SunPro:DI,"VSL-1.0":{name:"Vovida Software License v1.0",url:"https://opensource.org/licenses/VSL-1.0",osiApproved:!0},"CC-BY-NC-SA-3.0-IGO":{name:"Creative Commons Attribution Non Commercial Share Alike 3.0 IGO",url:"https://creativecommons.org/licenses/by-nc-sa/3.0/igo/legalcode",osiApproved:!1},"NBPL-1.0":{name:"Net Boolean Public License v1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=37b4b3f6cc4bf34e1d3dec61e69914b9819d8894",osiApproved:!1},"OPUBL-1.0":{name:"Open Publication License v1.0",url:"http://opencontent.org/openpub/",osiApproved:!1},"CC-BY-NC-ND-2.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.0/legalcode",osiApproved:!1},"BSD-3-Clause-LBNL":{name:"Lawrence Berkeley National Labs BSD variant license",url:"https://fedoraproject.org/wiki/Licensing/LBNLBSD",osiApproved:!0},Ruby:PI,Fair:OI,"MIT-advertising":{name:"Enlightenment License (e16)",url:"https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising",osiApproved:!1},"OGDL-Taiwan-1.0":{name:"Taiwan Open Government Data License, version 1.0",url:"https://data.gov.tw/license",osiApproved:!1},"OPL-UK-3.0":{name:"United Kingdom Open Parliament Licence v3.0",url:"https://www.parliament.uk/site-information/copyright-parliament/open-parliament-licence/",osiApproved:!1},"MPL-2.0":{name:"Mozilla Public License 2.0",url:"https://www.mozilla.org/MPL/2.0/",osiApproved:!0},"DocBook-Stylesheet":{name:"DocBook Stylesheet License",url:"http://www.docbook.org/xml/5.0/docbook-5.0.zip",osiApproved:!1},"TPL-1.0":{name:"THOR Public License 1.0",url:"https://fedoraproject.org/wiki/Licensing:ThorPublicLicense",osiApproved:!1},"TAPR-OHL-1.0":{name:"TAPR Open Hardware License v1.0",url:"https://www.tapr.org/OHL",osiApproved:!1},UnixCrypt:LI,"FreeBSD-DOC":{name:"FreeBSD Documentation License",url:"https://www.freebsd.org/copyright/freebsd-doc-license/",osiApproved:!1},"CMU-Mach-nodoc":{name:"CMU Mach - no notices-in-documentation variant",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L718-L728",osiApproved:!1},"CC-BY-3.0-AU":{name:"Creative Commons Attribution 3.0 Australia",url:"https://creativecommons.org/licenses/by/3.0/au/legalcode",osiApproved:!1},"Zimbra-1.4":{name:"Zimbra Public License v1.4",url:"http://www.zimbra.com/legal/zimbra-public-license-1-4",osiApproved:!1},"BSD-3-Clause":{name:'BSD 3-Clause "New" or "Revised" License',url:"https://opensource.org/licenses/BSD-3-Clause",osiApproved:!0},lsof:KI,FreeImage:TI,"OLDAP-2.0":{name:"Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=cbf50f4e1185a21abd4c0a54d3f4341fe28f36ea",osiApproved:!1},"APSL-1.2":{name:"Apple Public Source License 1.2",url:"http://www.samurajdata.se/opensource/mirror/licenses/apsl.php",osiApproved:!0},"APSL-1.0":{name:"Apple Public Source License 1.0",url:"https://fedoraproject.org/wiki/Licensing/Apple_Public_Source_License_1.0",osiApproved:!0},"CC-BY-NC-SA-2.0-FR":{name:"Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode",osiApproved:!1},"D-FSL-1.0":{name:"Deutsche Freie Software Lizenz",url:"http://www.dipp.nrw.de/d-fsl/lizenzen/",osiApproved:!1},pnmstitch:FI,"CC-BY-SA-2.0-UK":{name:"Creative Commons Attribution Share Alike 2.0 England and Wales",url:"https://creativecommons.org/licenses/by-sa/2.0/uk/legalcode",osiApproved:!1},"CERN-OHL-W-2.0":{name:"CERN Open Hardware Licence Version 2 - Weakly Reciprocal",url:"https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2",osiApproved:!0},"LPL-1.02":{name:"Lucent Public License v1.02",url:"http://plan9.bell-labs.com/plan9/license.html",osiApproved:!0},"CNRI-Jython":{name:"CNRI Jython License",url:"http://www.jython.org/license.html",osiApproved:!1},"BSD-2-Clause-first-lines":{name:"BSD 2-Clause - first lines requirement",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L664-L690",osiApproved:!1},"BSL-1.0":{name:"Boost Software License 1.0",url:"http://www.boost.org/LICENSE_1_0.txt",osiApproved:!0},"LZMA-SDK-9.11-to-9.20":{name:"LZMA SDK License (versions 9.11 to 9.20)",url:"https://www.7-zip.org/sdk.html",osiApproved:!1},"Condor-1.1":{name:"Condor Public License v1.1",url:"http://research.cs.wisc.edu/condor/license.html#condor",osiApproved:!1},"CC-BY-3.0-US":{name:"Creative Commons Attribution 3.0 United States",url:"https://creativecommons.org/licenses/by/3.0/us/legalcode",osiApproved:!1},"CECILL-C":{name:"CeCILL-C Free Software License Agreement",url:"http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html",osiApproved:!1},diffmark:NI,"HPND-Kevlin-Henney":{name:"Historical Permission Notice and Disclaimer - Kevlin Henney variant",url:"https://github.com/mruby/mruby/blob/83d12f8d52522cdb7c8cc46fad34821359f453e6/mrbgems/mruby-dir/src/Win/dirent.c#L127-L140",osiApproved:!1},"GFDL-1.1":{name:"GNU Free Documentation License v1.1",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"StandardML-NJ":{name:"Standard ML of New Jersey License",url:"https://www.smlnj.org/license.html",osiApproved:!1},"RPL-1.1":{name:"Reciprocal Public License 1.1",url:"https://opensource.org/licenses/RPL-1.1",osiApproved:!0},"Hippocratic-2.1":{name:"Hippocratic License 2.1",url:"https://firstdonoharm.dev/version/2/1/license.html",osiApproved:!1},swrule:$I,"CDDL-1.0":{name:"Common Development and Distribution License 1.0",url:"https://opensource.org/licenses/cddl1",osiApproved:!0},"MS-RL":{name:"Microsoft Reciprocal License",url:"http://www.microsoft.com/opensource/licenses.mspx",osiApproved:!0},"any-OSI-perl-modules":{name:"Any OSI License - Perl Modules",url:"https://metacpan.org/release/JUERD/Exporter-Tidy-0.09/view/Tidy.pm#LICENSE",osiApproved:!1},"CNRI-Python":{name:"CNRI Python License",url:"https://opensource.org/licenses/CNRI-Python",osiApproved:!0},"OLDAP-2.3":{name:"Open LDAP Public License v2.3",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=d32cf54a32d581ab475d23c810b0a7fbaf8d63c3",osiApproved:!1},"LiLiQ-P-1.1":{name:"Licence Libre du Québec – Permissive version 1.1",url:"https://forge.gouv.qc.ca/licence/fr/liliq-v1-1/",osiApproved:!0},"Python-2.0.1":{name:"Python License 2.0.1",url:"https://www.python.org/download/releases/2.0.1/license/",osiApproved:!1},MakeIndex:RI,"AFL-1.2":{name:"Academic Free License v1.2",url:"http://opensource.linux-mirror.org/licenses/afl-1.2.txt",osiApproved:!0},"CC-BY-ND-2.0":{name:"Creative Commons Attribution No Derivatives 2.0 Generic",url:"https://creativecommons.org/licenses/by-nd/2.0/legalcode",osiApproved:!1},"FDK-AAC":{name:"Fraunhofer FDK AAC Codec Library",url:"https://fedoraproject.org/wiki/Licensing/FDK-AAC",osiApproved:!1},SL:GI,"TU-Berlin-1.0":{name:"Technische Universitaet Berlin License 1.0",url:"https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT",osiApproved:!1},"GPL-1.0+":{name:"GNU General Public License v1.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},Saxpath:UI,dvipdfm:HI,"BSD-2-Clause-Darwin":{name:"BSD 2-Clause - Ian Darwin variant",url:"https://github.com/file/file/blob/master/COPYING",osiApproved:!1},"CPAL-1.0":{name:"Common Public Attribution License 1.0",url:"https://opensource.org/licenses/CPAL-1.0",osiApproved:!0},"copyleft-next-0.3.1":{name:"copyleft-next 0.3.1",url:"https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1",osiApproved:!1},NetCDF:QI,FTL:VI,"DocBook-Schema":{name:"DocBook Schema License",url:"https://github.com/docbook/xslt10-stylesheets/blob/efd62655c11cc8773708df7a843613fa1e932bf8/xsl/assembly/schema/docbook51b7.rnc",osiApproved:!1},"CERN-OHL-S-2.0":{name:"CERN Open Hardware Licence Version 2 - Strongly Reciprocal",url:"https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2",osiApproved:!0},"X11-distribute-modifications-variant":{name:"X11 License Distribution Modification Variant",url:"https://github.com/mirror/ncurses/blob/master/COPYING",osiApproved:!1},"copyleft-next-0.3.0":{name:"copyleft-next 0.3.0",url:"https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.0",osiApproved:!1},X11:zI,"CC-BY-NC-SA-2.0-DE":{name:"Creative Commons Attribution Non Commercial Share Alike 2.0 Germany",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/de/legalcode",osiApproved:!1},"GFDL-1.3-only":{name:"GNU Free Documentation License v1.3 only",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},Bahyph:qI,"LGPL-3.0-or-later":{name:"GNU Lesser General Public License v3.0 or later",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0},"ZPL-1.1":{name:"Zope Public License 1.1",url:"http://old.zope.org/Resources/License/ZPL-1.1",osiApproved:!1},"gSOAP-1.3b":{name:"gSOAP Public License v1.3b",url:"http://www.cs.fsu.edu/~engelen/license.html",osiApproved:!1},"JasPer-2.0":{name:"JasPer License",url:"http://www.ece.uvic.ca/~mdadams/jasper/LICENSE",osiApproved:!1},"Sendmail-Open-Source-1.1":{name:"Sendmail Open Source License v1.1",url:"https://github.com/trusteddomainproject/OpenDMARC/blob/master/LICENSE.Sendmail",osiApproved:!1},"BUSL-1.1":{name:"Business Source License 1.1",url:"https://mariadb.com/bsl11/",osiApproved:!1},Eurosym:WI,ThirdEye:YI,"CC-SA-1.0":{name:"Creative Commons Share Alike 1.0 Generic",url:"https://creativecommons.org/licenses/sa/1.0/legalcode",osiApproved:!1},"Watcom-1.0":{name:"Sybase Open Watcom Public License 1.0",url:"https://opensource.org/licenses/Watcom-1.0",osiApproved:!0},Caldera:JI,"Parity-7.0.0":{name:"The Parity Public License 7.0.0",url:"https://paritylicense.com/versions/7.0.0.html",osiApproved:!1},SMPPL:XI,"AGPL-1.0":{name:"Affero General Public License v1.0",url:"http://www.affero.org/oagpl.html",osiApproved:!1},"MulanPSL-2.0":{name:"Mulan Permissive Software License, Version 2",url:"https://license.coscl.org.cn/MulanPSL2",osiApproved:!0},Afmparse:ZI,"GFDL-1.2-no-invariants-or-later":{name:"GNU Free Documentation License v1.2 or later - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"Lucida-Bitmap-Fonts":{name:"Lucida Bitmap Fonts License",url:"https://gitlab.freedesktop.org/xorg/font/bh-100dpi/-/blob/master/COPYING?ref_type=heads",osiApproved:!1},"DRL-1.0":{name:"Detection Rule License 1.0",url:"https://github.com/Neo23x0/sigma/blob/master/LICENSE.Detection.Rules.md",osiApproved:!1},"CC-BY-NC-2.5":{name:"Creative Commons Attribution Non Commercial 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc/2.5/legalcode",osiApproved:!1},GD:AM,"Zend-2.0":{name:"Zend License v2.0",url:"https://web.archive.org/web/20130517195954/http://www.zend.com/license/2_00.txt",osiApproved:!1},Cronyx:CM,TTYP0:eM,"CC-BY-ND-1.0":{name:"Creative Commons Attribution No Derivatives 1.0 Generic",url:"https://creativecommons.org/licenses/by-nd/1.0/legalcode",osiApproved:!1},"Ferguson-Twofish":{name:"Ferguson Twofish License",url:"https://github.com/wernerd/ZRTPCPP/blob/6b3cd8e6783642292bad0c21e3e5e5ce45ff3e03/cryptcommon/twofish.c#L113C3-L127",osiApproved:!1},SchemeReport:nM,"MIT-Khronos-old":{name:"MIT Khronos - old variant",url:"https://github.com/KhronosGroup/SPIRV-Cross/blob/main/LICENSES/LicenseRef-KhronosFreeUse.txt",osiApproved:!1},"LPD-document":{name:"LPD Documentation License",url:"https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md",osiApproved:!1},"UPL-1.0":{name:"Universal Permissive License v1.0",url:"https://opensource.org/licenses/UPL",osiApproved:!0},"CECILL-1.1":{name:"CeCILL Free Software License Agreement v1.1",url:"http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html",osiApproved:!1},Crossword:tM,"C-UDA-1.0":{name:"Computational Use of Data Agreement v1.0",url:"https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md",osiApproved:!1},"BSD-3-Clause-HP":{name:"Hewlett-Packard BSD variant license",url:"https://github.com/zdohnal/hplip/blob/master/COPYING#L939",osiApproved:!1},"Apache-1.0":{name:"Apache License 1.0",url:"http://www.apache.org/licenses/LICENSE-1.0",osiApproved:!1},"CERN-OHL-1.1":{name:"CERN Open Hardware Licence v1.1",url:"https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1",osiApproved:!1},SISSL:iM,"MPL-2.0-no-copyleft-exception":{name:"Mozilla Public License 2.0 (no copyleft exception)",url:"https://www.mozilla.org/MPL/2.0/",osiApproved:!0},"OLFL-1.3":{name:"Open Logistics Foundation License Version 1.3",url:"https://openlogisticsfoundation.org/licenses/",osiApproved:!0},"Inner-Net-2.0":{name:"Inner Net License v2.0",url:"https://fedoraproject.org/wiki/Licensing/Inner_Net_License",osiApproved:!1},"GPL-1.0-only":{name:"GNU General Public License v1.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},"LiLiQ-R-1.1":{name:"Licence Libre du Québec – Réciprocité version 1.1",url:"https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-liliq-r-v1-1/",osiApproved:!0},"BSD-4.3TAHOE":{name:"BSD 4.3 TAHOE License",url:"https://github.com/389ds/389-ds-base/blob/main/ldap/include/sysexits-compat.h#L15",osiApproved:!1},"AFL-2.0":{name:"Academic Free License v2.0",url:"http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt",osiApproved:!0},"GFDL-1.2-invariants-or-later":{name:"GNU Free Documentation License v1.2 or later - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"CC-BY-NC-ND-2.5":{name:"Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode",osiApproved:!1},"OLDAP-2.4":{name:"Open LDAP Public License v2.4",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=cd1284c4a91a8a380d904eee68d1583f989ed386",osiApproved:!1},"Brian-Gladman-3-Clause":{name:"Brian Gladman 3-Clause License",url:"https://github.com/SWI-Prolog/packages-clib/blob/master/sha1/brg_endian.h",osiApproved:!1},gtkbook:sM,"OFL-1.0-no-RFN":{name:"SIL Open Font License 1.0 with no Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL10_web",osiApproved:!1},"LAL-1.3":{name:"Licence Art Libre 1.3",url:"https://artlibre.org/",osiApproved:!1},threeparttable:oM,Imlib2:lM,"Adobe-Display-PostScript":{name:"Adobe Display PostScript License",url:"https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type=heads#L752",osiApproved:!1},Xnet:aM,"OSL-2.1":{name:"Open Software License 2.1",url:"http://web.archive.org/web/20050212003940/http://www.rosenlaw.com/osl21.htm",osiApproved:!0},"OLDAP-2.2":{name:"Open LDAP Public License v2.2",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=470b0c18ec67621c85881b2733057fecf4a1acc3",osiApproved:!1},"MS-LPL":{name:"Microsoft Limited Public License",url:"https://www.openhub.net/licenses/mslpl",osiApproved:!1},Mup:rM,"LGPL-3.0":{name:"GNU Lesser General Public License v3.0 only",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0},"BSD-4.3RENO":{name:"BSD 4.3 RENO License",url:"https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=libiberty/strcasecmp.c;h=131d81c2ce7881fa48c363dc5bf5fb302c61ce0b;hb=HEAD",osiApproved:!1},"MIT-Click":{name:"MIT Click License",url:"https://github.com/kohler/t1utils/blob/master/LICENSE",osiApproved:!1},"W3C-20150513":{name:"W3C Software Notice and Document License (2015-05-13)",url:"https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document",osiApproved:!0},"GPL-1.0-or-later":{name:"GNU General Public License v1.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},"OSL-2.0":{name:"Open Software License 2.0",url:"http://web.archive.org/web/20041020171434/http://www.rosenlaw.com/osl2.0.html",osiApproved:!0},"EPL-2.0":{name:"Eclipse Public License 2.0",url:"https://www.eclipse.org/legal/epl-2.0",osiApproved:!0},"GFDL-1.3":{name:"GNU Free Documentation License v1.3",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"ASWF-Digital-Assets-1.0":{name:"ASWF Digital Assets License version 1.0",url:"https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.0.txt",osiApproved:!1},"APSL-1.1":{name:"Apple Public Source License 1.1",url:"http://www.opensource.apple.com/source/IOSerialFamily/IOSerialFamily-7/APPLE_LICENSE",osiApproved:!0},HPND:cM,"Linux-OpenIB":{name:"Linux Kernel Variant of OpenIB.org license",url:"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h",osiApproved:!1},Zeeff:uM,"OGL-UK-3.0":{name:"Open Government Licence v3.0",url:"http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/",osiApproved:!1},"CC-BY-ND-3.0-DE":{name:"Creative Commons Attribution No Derivatives 3.0 Germany",url:"https://creativecommons.org/licenses/by-nd/3.0/de/legalcode",osiApproved:!1},"BSD-4-Clause-Shortened":{name:"BSD 4 Clause Shortened",url:"https://metadata.ftp-master.debian.org/changelogs//main/a/arpwatch/arpwatch_2.1a15-7_copyright",osiApproved:!1},"BSD-2-Clause-FreeBSD":{name:"BSD 2-Clause FreeBSD License",url:"http://www.freebsd.org/copyright/freebsd-license.html",osiApproved:!1},gnuplot:mM,"libpng-2.0":{name:"PNG Reference Library version 2",url:"http://www.libpng.org/pub/png/src/libpng-LICENSE.txt",osiApproved:!1},Leptonica:dM,Clips:pM,OpenSSL:fM,Sendmail:hM,"NCBI-PD":{name:"NCBI Public Domain Notice",url:"https://github.com/ncbi/sra-tools/blob/e8e5b6af4edc460156ad9ce5902d0779cffbf685/LICENSE",osiApproved:!1},TrustedQSL:gM,Catharon:bM,"EUPL-1.2":{name:"European Union Public License 1.2",url:"https://joinup.ec.europa.eu/page/eupl-text-11-12",osiApproved:!0},Wsuipa:EM,"OGL-UK-2.0":{name:"Open Government Licence v2.0",url:"http://www.nationalarchives.gov.uk/doc/open-government-licence/version/2/",osiApproved:!1},"ISC-Veillard":{name:"ISC Veillard variant",url:"https://raw.githubusercontent.com/GNOME/libxml2/4c2e7c651f6c2f0d1a74f350cbda95f7df3e7017/hash.c",osiApproved:!1},"CC-BY-3.0-NL":{name:"Creative Commons Attribution 3.0 Netherlands",url:"https://creativecommons.org/licenses/by/3.0/nl/legalcode",osiApproved:!1},"AdaCore-doc":{name:"AdaCore Doc License",url:"https://github.com/AdaCore/xmlada/blob/master/docs/index.rst",osiApproved:!1},"AGPL-1.0-only":{name:"Affero General Public License v1.0 only",url:"http://www.affero.org/oagpl.html",osiApproved:!1},"LGPL-3.0+":{name:"GNU Lesser General Public License v3.0 or later",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0},"libselinux-1.0":{name:"libselinux public domain notice",url:"https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE",osiApproved:!1},"HPND-Fenneberg-Livingston":{name:"Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant",url:"https://github.com/FreeRADIUS/freeradius-client/blob/master/COPYRIGHT#L32",osiApproved:!1},"Xdebug-1.03":{name:"Xdebug License v 1.03",url:"https://github.com/xdebug/xdebug/blob/master/LICENSE",osiApproved:!1},Jam:yM,"GPL-2.0-with-classpath-exception":{name:"GNU General Public License v2.0 w/Classpath exception",url:"https://www.gnu.org/software/classpath/license.html",osiApproved:!1},"check-cvs":{name:"check-cvs License",url:"http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/contrib/check_cvs.in?revision=1.1.4.3&view=markup&pathrev=cvs1-11-23#l2",osiApproved:!1},"LGPL-2.0+":{name:"GNU Library General Public License v2 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},"AMD-newlib":{name:"AMD newlib License",url:"https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/sys/a29khif/_close.S;h=04f52ae00de1dafbd9055ad8d73c5c697a3aae7f;hb=HEAD",osiApproved:!1},"CC-BY-NC-1.0":{name:"Creative Commons Attribution Non Commercial 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc/1.0/legalcode",osiApproved:!1},xinetd:vM,"BSD-4-Clause":{name:'BSD 4-Clause "Original" or "Old" License',url:"http://directory.fsf.org/wiki/License:BSD_4Clause",osiApproved:!1},"IBM-pibs":{name:"IBM PowerPC Initialization and Boot Software",url:"http://git.denx.de/?p=u-boot.git;a=blob;f=arch/powerpc/cpu/ppc4xx/miiphy.c;h=297155fdafa064b955e53e9832de93bfb0cfb85b;hb=9fab4bf4cc077c21e43941866f3f2c196f28670d",osiApproved:!1},"Apache-2.0":{name:"Apache License 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0",osiApproved:!0},"Linux-man-pages-1-para":{name:"Linux man-pages - 1 paragraph",url:"https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/getcpu.2#n4",osiApproved:!1},"CPOL-1.02":{name:"Code Project Open License 1.02",url:"http://www.codeproject.com/info/cpol10.aspx",osiApproved:!1},"BSD-Source-beginning-file":{name:"BSD Source Code Attribution - beginning of file variant",url:"https://github.com/lattera/freebsd/blob/master/sys/cam/cam.c#L4",osiApproved:!1},"CERN-OHL-P-2.0":{name:"CERN Open Hardware Licence Version 2 - Permissive",url:"https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2",osiApproved:!0},OFFIS:wM,"GPL-2.0-or-later":{name:"GNU General Public License v2.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},radvd:BM,Xfig:SM,Multics:kM,"AFL-1.1":{name:"Academic Free License v1.1",url:"http://opensource.linux-mirror.org/licenses/afl-1.1.txt",osiApproved:!0},Beerware:xM,"MS-PL":{name:"Microsoft Public License",url:"http://www.microsoft.com/opensource/licenses.mspx",osiApproved:!0},"ssh-keyscan":{name:"ssh-keyscan License",url:"https://github.com/openssh/openssh-portable/blob/master/LICENCE#L82",osiApproved:!1},"Spencer-99":{name:"Spencer License 99",url:"http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c",osiApproved:!1},"OFL-1.1":{name:"SIL Open Font License 1.1",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web",osiApproved:!0},Baekmuk:_M,Qhull:jM,"GFDL-1.2-or-later":{name:"GNU Free Documentation License v1.2 or later",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"CC-BY-NC-SA-4.0":{name:"Creative Commons Attribution Non Commercial Share Alike 4.0 International",url:"https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode",osiApproved:!1},"APSL-2.0":{name:"Apple Public Source License 2.0",url:"http://www.opensource.apple.com/license/apsl/",osiApproved:!0},VOSTROM:IM,"Net-SNMP":{name:"Net-SNMP License",url:"http://net-snmp.sourceforge.net/about/license.html",osiApproved:!1},"HPND-doc":{name:"Historical Permission Notice and Disclaimer - documentation variant",url:"https://gitlab.freedesktop.org/xorg/lib/libxext/-/blob/master/COPYING?ref_type=heads#L185-197",osiApproved:!1},NRL:MM,TPDL:DM,"AGPL-1.0-or-later":{name:"Affero General Public License v1.0 or later",url:"http://www.affero.org/oagpl.html",osiApproved:!1},"HPND-Markus-Kuhn":{name:"Historical Permission Notice and Disclaimer - Markus Kuhn variant",url:"https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c",osiApproved:!1},"LZMA-SDK-9.22":{name:"LZMA SDK License (versions 9.22 and beyond)",url:"https://www.7-zip.org/sdk.html",osiApproved:!1},"Unicode-3.0":{name:"Unicode License v3",url:"https://www.unicode.org/license.txt",osiApproved:!0},"GPL-3.0-or-later":{name:"GNU General Public License v3.0 or later",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},"OpenSSL-standalone":{name:"OpenSSL License - standalone",url:"https://library.netapp.com/ecm/ecm_download_file/ECMP1196395",osiApproved:!1},"Zimbra-1.3":{name:"Zimbra Public License v1.3",url:"http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html",osiApproved:!1},"xkeyboard-config-Zinoviev":{name:"xkeyboard-config Zinoviev License",url:"https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/blob/master/COPYING?ref_type=heads#L178",osiApproved:!1},"GFDL-1.1-invariants-only":{name:"GNU Free Documentation License v1.1 only - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},OML:PM,"ANTLR-PD":{name:"ANTLR Software Rights Notice",url:"http://www.antlr2.org/license.html",osiApproved:!1},"HPND-MIT-disclaimer":{name:"Historical Permission Notice and Disclaimer with MIT disclaimer",url:"https://metacpan.org/release/NLNETLABS/Net-DNS-SEC-1.22/source/LICENSE",osiApproved:!1},Dotseqn:OM,"HPND-DEC":{name:"Historical Permission Notice and Disclaimer - DEC variant",url:"https://gitlab.freedesktop.org/xorg/app/xkbcomp/-/blob/master/COPYING?ref_type=heads#L69",osiApproved:!1},"LGPL-2.0-only":{name:"GNU Library General Public License v2 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},"CC-BY-2.5-AU":{name:"Creative Commons Attribution 2.5 Australia",url:"https://creativecommons.org/licenses/by/2.5/au/legalcode",osiApproved:!1},"DEC-3-Clause":{name:"DEC 3-Clause License",url:"https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type=heads#L239",osiApproved:!1},"QPL-1.0-INRIA-2004":{name:"Q Public License 1.0 - INRIA 2004 variant",url:"https://github.com/maranget/hevea/blob/master/LICENSE",osiApproved:!1},Intel:LM,"NIST-PD-fallback":{name:"NIST Public Domain Notice with license fallback",url:"https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE",osiApproved:!1},"CC-BY-NC-4.0":{name:"Creative Commons Attribution Non Commercial 4.0 International",url:"https://creativecommons.org/licenses/by-nc/4.0/legalcode",osiApproved:!1},"BSD-3-Clause-No-Nuclear-Warranty":{name:"BSD 3-Clause No Nuclear Warranty",url:"https://jogamp.org/git/?p=gluegen.git;a=blob_plain;f=LICENSE.txt",osiApproved:!1},"HPND-UC":{name:"Historical Permission Notice and Disclaimer - University of California variant",url:"https://core.tcl-lang.org/tk/file?name=compat/unistd.h",osiApproved:!1},"MIT-Wu":{name:"MIT Tom Wu Variant",url:"https://github.com/chromium/octane/blob/master/crypto.js",osiApproved:!1},Kastrup:KM,"MIT-CMU":{name:"CMU License",url:"https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#CMU_Style",osiApproved:!1},"DL-DE-ZERO-2.0":{name:"Data licence Germany – zero – version 2.0",url:"https://www.govdata.de/dl-de/zero-2-0",osiApproved:!1},"NIST-Software":{name:"NIST Software License",url:"https://github.com/open-quantum-safe/liboqs/blob/40b01fdbb270f8614fde30e65d30e9da18c02393/src/common/rand/rand_nist.c#L1-L15",osiApproved:!1},"Spencer-94":{name:"Spencer License 94",url:"https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License",osiApproved:!1},"CC-BY-2.0":{name:"Creative Commons Attribution 2.0 Generic",url:"https://creativecommons.org/licenses/by/2.0/legalcode",osiApproved:!1},"EUPL-1.1":{name:"European Union Public License 1.1",url:"https://joinup.ec.europa.eu/software/page/eupl/licence-eupl",osiApproved:!0},"HPND-export-US-modify":{name:"HPND with US Government export control warning and modification rqmt",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L1157-L1182",osiApproved:!1},"generic-xts":{name:"Generic XTS License",url:"https://github.com/mhogomchungu/zuluCrypt/blob/master/external_libraries/tcplay/generic_xts.c",osiApproved:!1},NLPL:TM,NCSA:FM,"PSF-2.0":{name:"Python Software Foundation License 2.0",url:"https://opensource.org/licenses/Python-2.0",osiApproved:!1},"Linux-man-pages-copyleft-var":{name:"Linux man-pages Copyleft Variant",url:"https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/set_mempolicy.2#n5",osiApproved:!1},"OSL-1.1":{name:"Open Software License 1.1",url:"https://fedoraproject.org/wiki/Licensing/OSL1.1",osiApproved:!1},"mpi-permissive":{name:"mpi Permissive License",url:"https://sources.debian.org/src/openmpi/4.1.0-10/ompi/debuggers/msgq_interface.h/?hl=19#L19",osiApproved:!1},Glulxe:NM,"LAL-1.2":{name:"Licence Art Libre 1.2",url:"http://artlibre.org/licence/lal/licence-art-libre-12/",osiApproved:!1},"SMAIL-GPL":{name:"SMAIL General Public License",url:"https://sources.debian.org/copyright/license/debianutils/4.11.2/",osiApproved:!1},"NASA-1.3":{name:"NASA Open Source Agreement 1.3",url:"http://ti.arc.nasa.gov/opensource/nosa/",osiApproved:!0},"SPL-1.0":{name:"Sun Public License v1.0",url:"https://opensource.org/licenses/SPL-1.0",osiApproved:!0},"BSD-Advertising-Acknowledgement":{name:"BSD Advertising Acknowledgement License",url:"https://github.com/python-excel/xlrd/blob/master/LICENSE#L33",osiApproved:!1},"BSD-3-Clause-Modification":{name:"BSD 3-Clause Modification",url:"https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant",osiApproved:!1},"3D-Slicer-1.0":{name:"3D Slicer License v1.0",url:"https://slicer.org/LICENSE",osiApproved:!1},"NPL-1.1":{name:"Netscape Public License v1.1",url:"http://www.mozilla.org/MPL/NPL/1.1/",osiApproved:!1},"GPL-2.0-with-GCC-exception":{name:"GNU General Public License v2.0 w/GCC Runtime Library exception",url:"https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/libgcc1.c;h=762f5143fc6eed57b6797c82710f3538aa52b40b;hb=cb143a3ce4fb417c68f5fa2691a1b1b1053dfba9#l10",osiApproved:!1},"IJG-short":{name:"Independent JPEG Group License - short",url:"https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/ljpg/",osiApproved:!1},"CC-BY-4.0":{name:"Creative Commons Attribution 4.0 International",url:"https://creativecommons.org/licenses/by/4.0/legalcode",osiApproved:!1},ulem:$M,"BSD-3-Clause-Sun":{name:"BSD 3-Clause Sun Microsystems",url:"https://github.com/xmlark/msv/blob/b9316e2f2270bc1606952ea4939ec87fbba157f3/xsdlib/src/main/java/com/sun/msv/datatype/regexp/InternalImpl.java",osiApproved:!1},"SAX-PD-2.0":{name:"Sax Public Domain Notice 2.0",url:"http://www.saxproject.org/copying.html",osiApproved:!1},"TORQUE-1.1":{name:"TORQUE v2.5+ Software License v1.1",url:"https://fedoraproject.org/wiki/Licensing/TORQUEv1.1",osiApproved:!1},"TU-Berlin-2.0":{name:"Technische Universitaet Berlin License 2.0",url:"https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt",osiApproved:!1},Borceux:RM,"GPL-3.0+":{name:"GNU General Public License v3.0 or later",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},"0BSD":{name:"BSD Zero Clause License",url:"http://landley.net/toybox/license.html",osiApproved:!0},"Mackerras-3-Clause":{name:"Mackerras 3-Clause License",url:"https://github.com/ppp-project/ppp/blob/master/pppd/chap_ms.c#L6-L28",osiApproved:!1},"GFDL-1.3-invariants-or-later":{name:"GNU Free Documentation License v1.3 or later - invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"Knuth-CTAN":{name:"Knuth CTAN License",url:"https://ctan.org/license/knuth",osiApproved:!1},SMLNJ:GM,"NPOSL-3.0":{name:"Non-Profit Open Software License 3.0",url:"https://opensource.org/licenses/NOSL3.0",osiApproved:!0},"OLDAP-1.4":{name:"Open LDAP Public License v1.4",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=c9f95c2f3f2ffb5e0ae55fe7388af75547660941",osiApproved:!1},"Intel-ACPI":{name:"Intel ACPI Software License Agreement",url:"https://fedoraproject.org/wiki/Licensing/Intel_ACPI_Software_License_Agreement",osiApproved:!1},"Adobe-Glyph":{name:"Adobe Glyph List License",url:"https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph",osiApproved:!1},"BSD-3-Clause-Attribution":{name:"BSD with attribution",url:"https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution",osiApproved:!1},metamail:UM,Zed:HM,"Sun-PPP-2000":{name:"Sun PPP License (2000)",url:"https://github.com/ppp-project/ppp/blob/master/modules/ppp_ahdlc.c#L7-L19",osiApproved:!1},"SGI-B-1.0":{name:"SGI Free Software License B v1.0",url:"http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.1.0.html",osiApproved:!1},xlock:QM,"AGPL-3.0":{name:"GNU Affero General Public License v3.0",url:"https://www.gnu.org/licenses/agpl.txt",osiApproved:!0},SCEA:VM,"Artistic-2.0":{name:"Artistic License 2.0",url:"http://www.perlfoundation.org/artistic_license_2_0",osiApproved:!0},ICU:zM,"CC-BY-2.5":{name:"Creative Commons Attribution 2.5 Generic",url:"https://creativecommons.org/licenses/by/2.5/legalcode",osiApproved:!1},"SHL-0.51":{name:"Solderpad Hardware License, Version 0.51",url:"https://solderpad.org/licenses/SHL-0.51/",osiApproved:!1},"LPPL-1.3a":{name:"LaTeX Project Public License v1.3a",url:"http://www.latex-project.org/lppl/lppl-1-3a.txt",osiApproved:!1},"CDLA-Permissive-1.0":{name:"Community Data License Agreement Permissive 1.0",url:"https://cdla.io/permissive-1-0",osiApproved:!1},"EFL-2.0":{name:"Eiffel Forum License v2.0",url:"http://www.eiffel-nice.org/license/eiffel-forum-license-2.html",osiApproved:!0},"URT-RLE":{name:"Utah Raster Toolkit Run Length Encoded License",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/other/pnmtorle.c",osiApproved:!1},"HPND-sell-regexpr":{name:"Historical Permission Notice and Disclaimer - sell regexpr variant",url:"https://gitlab.com/bacula-org/bacula/-/blob/Branch-11.0/bacula/LICENSE-FOSS?ref_type=heads#L245",osiApproved:!1},"GFDL-1.3-no-invariants-or-later":{name:"GNU Free Documentation License v1.3 or later - no invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},AMDPLPA:qM,"Bitstream-Charter":{name:"Bitstream Charter Font License",url:"https://fedoraproject.org/wiki/Licensing/Charter#License_Text",osiApproved:!1},"python-ldap":{name:"Python ldap License",url:"https://github.com/python-ldap/python-ldap/blob/main/LICENCE",osiApproved:!1},"CC-BY-SA-3.0-AT":{name:"Creative Commons Attribution Share Alike 3.0 Austria",url:"https://creativecommons.org/licenses/by-sa/3.0/at/legalcode",osiApproved:!1},"OGC-1.0":{name:"OGC Software License, Version 1.0",url:"https://www.ogc.org/ogc/software/1.0",osiApproved:!1},"CC-BY-SA-2.0":{name:"Creative Commons Attribution Share Alike 2.0 Generic",url:"https://creativecommons.org/licenses/by-sa/2.0/legalcode",osiApproved:!1},PADL:WM,"NICTA-1.0":{name:"NICTA Public Software License, Version 1.0",url:"https://opensource.apple.com/source/mDNSResponder/mDNSResponder-320.10/mDNSPosix/nss_ReadMe.txt",osiApproved:!1},"LPL-1.0":{name:"Lucent Public License Version 1.0",url:"https://opensource.org/licenses/LPL-1.0",osiApproved:!0},"LPPL-1.1":{name:"LaTeX Project Public License v1.1",url:"http://www.latex-project.org/lppl/lppl-1-1.txt",osiApproved:!1},"CDL-1.0":{name:"Common Documentation License 1.0",url:"http://www.opensource.apple.com/cdl/",osiApproved:!1},"Boehm-GC":{name:"Boehm-Demers-Weiser GC License",url:"https://fedoraproject.org/wiki/Licensing:MIT#Another_Minimal_variant_(found_in_libatomic_ops)",osiApproved:!1},"Sun-PPP":{name:"Sun PPP License",url:"https://github.com/ppp-project/ppp/blob/master/pppd/eap.c#L7-L16",osiApproved:!1},"OLDAP-2.2.1":{name:"Open LDAP Public License v2.2.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=4bc786f34b50aa301be6f5600f58a980070f481e",osiApproved:!1},"AGPL-3.0-or-later":{name:"GNU Affero General Public License v3.0 or later",url:"https://www.gnu.org/licenses/agpl.txt",osiApproved:!0},"OLDAP-2.6":{name:"Open LDAP Public License v2.6",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=1cae062821881f41b73012ba816434897abf4205",osiApproved:!1},"BSD-3-Clause-No-Nuclear-License":{name:"BSD 3-Clause No Nuclear License",url:"http://download.oracle.com/otn-pub/java/licenses/bsd.txt",osiApproved:!1},"BSD-Protection":{name:"BSD Protection License",url:"https://fedoraproject.org/wiki/Licensing/BSD_Protection_License",osiApproved:!1},"OCCT-PL":{name:"Open CASCADE Technology Public License",url:"http://www.opencascade.com/content/occt-public-license",osiApproved:!1},"GPL-2.0-with-font-exception":{name:"GNU General Public License v2.0 w/Font exception",url:"https://www.gnu.org/licenses/gpl-faq.html#FontException",osiApproved:!1},"YPL-1.0":{name:"Yahoo! Public License v1.0",url:"http://www.zimbra.com/license/yahoo_public_license_1.0.html",osiApproved:!1},MIPS:YM,"SGI-B-2.0":{name:"SGI Free Software License B v2.0",url:"http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf",osiApproved:!1},"MIT-open-group":{name:"MIT Open Group variant",url:"https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING",osiApproved:!1},AML:JM,"OSL-1.0":{name:"Open Software License 1.0",url:"https://opensource.org/licenses/OSL-1.0",osiApproved:!0},"GFDL-1.3-invariants-only":{name:"GNU Free Documentation License v1.3 only - invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"bzip2-1.0.5":{name:"bzip2 and libbzip2 License v1.0.5",url:"https://sourceware.org/bzip2/1.0.5/bzip2-manual-1.0.5.html",osiApproved:!1},Symlinks:XM,"Ruby-pty":{name:"Ruby pty extension license",url:"https://github.com/ruby/ruby/blob/9f6deaa6888a423720b4b127b5314f0ad26cc2e6/ext/pty/pty.c#L775-L786",osiApproved:!1},UCAR:ZM,"SimPL-2.0":{name:"Simple Public License 2.0",url:"https://opensource.org/licenses/SimPL-2.0",osiApproved:!0},"PolyForm-Noncommercial-1.0.0":{name:"PolyForm Noncommercial License 1.0.0",url:"https://polyformproject.org/licenses/noncommercial/1.0.0",osiApproved:!1},"OFL-1.1-no-RFN":{name:"SIL Open Font License 1.1 with no Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web",osiApproved:!0},Furuseth:AD,"Mackerras-3-Clause-acknowledgment":{name:"Mackerras 3-Clause - acknowledgment variant",url:"https://github.com/ppp-project/ppp/blob/master/pppd/auth.c#L6-L28",osiApproved:!1},"CC-PDM-1.0":{name:"Creative Commons Public Domain Mark 1.0 Universal",url:"https://creativecommons.org/publicdomain/mark/1.0/",osiApproved:!1},"LGPL-2.1+":{name:"GNU Lesser General Public License v2.1 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},Zlib:CD,"BSD-2-Clause-Views":{name:"BSD 2-Clause with views sentence",url:"http://www.freebsd.org/copyright/freebsd-license.html",osiApproved:!1},"Interbase-1.0":{name:"Interbase Public License v1.0",url:"https://web.archive.org/web/20060319014854/http://info.borland.com/devsupport/interbase/opensource/IPL.html",osiApproved:!1},"LGPL-2.0":{name:"GNU Library General Public License v2 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},"LGPL-3.0-only":{name:"GNU Lesser General Public License v3.0 only",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0},"CC-BY-NC-SA-3.0":{name:"Creative Commons Attribution Non Commercial Share Alike 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode",osiApproved:!1},"MIT-Modern-Variant":{name:"MIT License Modern Variant",url:"https://fedoraproject.org/wiki/Licensing:MIT#Modern_Variants",osiApproved:!0},"Unicode-TOU":{name:"Unicode Terms of Use",url:"http://web.archive.org/web/20140704074106/http://www.unicode.org/copyright.html",osiApproved:!1},APAFML:eD,TCL:nD,Xerox:tD,FSFUL:iD,"FSFAP-no-warranty-disclaimer":{name:"FSF All Permissive License (without Warranty)",url:"https://git.savannah.gnu.org/cgit/wget.git/tree/util/trunc.c?h=v1.21.3&id=40747a11e44ced5a8ac628a41f879ced3e2ebce9#n6",osiApproved:!1},"Artistic-1.0":{name:"Artistic License 1.0",url:"https://opensource.org/licenses/Artistic-1.0",osiApproved:!0},ImageMagick:sD,"Brian-Gladman-2-Clause":{name:"Brian Gladman 2-Clause License",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L140-L156",osiApproved:!1},"BitTorrent-1.1":{name:"BitTorrent Open Source License v1.1",url:"http://directory.fsf.org/wiki/License:BitTorrentOSL1.1",osiApproved:!1},"GPL-3.0-only":{name:"GNU General Public License v3.0 only",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},"Linux-man-pages-copyleft":{name:"Linux man-pages Copyleft",url:"https://www.kernel.org/doc/man-pages/licenses.html",osiApproved:!1},"NTP-0":{name:"NTP No Attribution",url:"https://github.com/tytso/e2fsprogs/blob/master/lib/et/et_name.c",osiApproved:!1},curl:oD,MITNFA:lD,libtiff:aD,"ErlPL-1.1":{name:"Erlang Public License v1.1",url:"http://www.erlang.org/EPLICENSE",osiApproved:!1},"Adobe-Utopia":{name:"Adobe Utopia Font License",url:"https://gitlab.freedesktop.org/xorg/font/adobe-utopia-100dpi/-/blob/master/COPYING?ref_type=heads",osiApproved:!1},HaskellReport:rD,ISC:cD,Naumen:uD,"CC-BY-SA-1.0":{name:"Creative Commons Attribution Share Alike 1.0 Generic",url:"https://creativecommons.org/licenses/by-sa/1.0/legalcode",osiApproved:!1},"etalab-2.0":{name:"Etalab Open License 2.0",url:"https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf",osiApproved:!1},"MPEG-SSG":{name:"MPEG Software Simulation",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/ppm/ppmtompeg/jrevdct.c#l1189",osiApproved:!1},CFITSIO:mD,"MulanPSL-1.0":{name:"Mulan Permissive Software License, Version 1",url:"https://license.coscl.org.cn/MulanPSL/",osiApproved:!1},"GPL-2.0+":{name:"GNU General Public License v2.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},"BSD-2-Clause-Patent":{name:"BSD-2-Clause Plus Patent License",url:"https://opensource.org/licenses/BSDplusPatent",osiApproved:!0},"CC-PDDC":{name:"Creative Commons Public Domain Dedication and Certification",url:"https://creativecommons.org/licenses/publicdomain/",osiApproved:!1},"TGPPL-1.0":{name:"Transitive Grace Period Public Licence 1.0",url:"https://fedoraproject.org/wiki/Licensing/TGPPL",osiApproved:!1},snprintf:dD,Nunit:pD,"Boehm-GC-without-fee":{name:"Boehm-Demers-Weiser GC License (without fee)",url:"https://github.com/MariaDB/server/blob/11.6/libmysqld/lib_sql.cc",osiApproved:!1},Pixar:fD,"HPND-Netrek":{name:"Historical Permission Notice and Disclaimer - Netrek variant",osiApproved:!1},Minpack:hD,"GFDL-1.1-only":{name:"GNU Free Documentation License v1.1 only",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"HPND-INRIA-IMAG":{name:"Historical Permission Notice and Disclaimer - INRIA-IMAG variant",url:"https://github.com/ppp-project/ppp/blob/master/pppd/ipv6cp.c#L75-L83",osiApproved:!1},"App-s2p":{name:"App::s2p License",url:"https://fedoraproject.org/wiki/Licensing/App-s2p",osiApproved:!1},"BSD-3-Clause-acpica":{name:"BSD 3-Clause acpica variant",url:"https://github.com/acpica/acpica/blob/master/source/common/acfileio.c#L119",osiApproved:!1},OGTSL:gD,"ODbL-1.0":{name:"Open Data Commons Open Database License v1.0",url:"http://www.opendatacommons.org/licenses/odbl/1.0/",osiApproved:!1},"CC-BY-ND-3.0":{name:"Creative Commons Attribution No Derivatives 3.0 Unported",url:"https://creativecommons.org/licenses/by-nd/3.0/legalcode",osiApproved:!1},"CC-BY-SA-2.5":{name:"Creative Commons Attribution Share Alike 2.5 Generic",url:"https://creativecommons.org/licenses/by-sa/2.5/legalcode",osiApproved:!1},"OLDAP-2.7":{name:"Open LDAP Public License v2.7",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=47c2415c1df81556eeb39be6cad458ef87c534a2",osiApproved:!1},"UCL-1.0":{name:"Upstream Compatibility License v1.0",url:"https://opensource.org/licenses/UCL-1.0",osiApproved:!0},MTLL:bD,"HPND-export2-US":{name:"HPND with US Government export control and 2 disclaimers",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L111-L133",osiApproved:!1},"OFL-1.0-RFN":{name:"SIL Open Font License 1.0 with Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL10_web",osiApproved:!1},"ZPL-2.0":{name:"Zope Public License 2.0",url:"http://old.zope.org/Resources/License/ZPL-2.0",osiApproved:!0},"bcrypt-Solar-Designer":{name:"bcrypt Solar Designer License",url:"https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/ext/mri/crypt_blowfish.c",osiApproved:!1},"CC-BY-NC-SA-3.0-DE":{name:"Creative Commons Attribution Non Commercial Share Alike 3.0 Germany",url:"https://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode",osiApproved:!1},"GFDL-1.1-no-invariants-or-later":{name:"GNU Free Documentation License v1.1 or later - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"CC-BY-SA-3.0-IGO":{name:"Creative Commons Attribution-ShareAlike 3.0 IGO",url:"https://creativecommons.org/licenses/by-sa/3.0/igo/legalcode",osiApproved:!1},"Apache-1.1":{name:"Apache License 1.1",url:"http://apache.org/licenses/LICENSE-1.1",osiApproved:!0},"GPL-2.0-with-autoconf-exception":{name:"GNU General Public License v2.0 w/Autoconf exception",url:"http://ac-archive.sourceforge.net/doc/copyright.html",osiApproved:!1},"Caldera-no-preamble":{name:"Caldera License (without preamble)",url:"https://github.com/apache/apr/blob/trunk/LICENSE#L298C6-L298C29",osiApproved:!1},"SSPL-1.0":{name:"Server Side Public License, v 1",url:"https://www.mongodb.com/licensing/server-side-public-license",osiApproved:!1},"DRL-1.1":{name:"Detection Rule License 1.1",url:"https://github.com/SigmaHQ/Detection-Rule-License/blob/6ec7fbde6101d101b5b5d1fcb8f9b69fbc76c04a/LICENSE.Detection.Rules.md",osiApproved:!1},"Linux-man-pages-copyleft-2-para":{name:"Linux man-pages Copyleft - 2 paragraphs",url:"https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/move_pages.2#n5",osiApproved:!1},"OLDAP-2.0.1":{name:"Open LDAP Public License v2.0.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=b6d68acd14e51ca3aab4428bf26522aa74873f0e",osiApproved:!1},"ANTLR-PD-fallback":{name:"ANTLR Software Rights Notice with license fallback",url:"http://www.antlr2.org/license.html",osiApproved:!1},"CDLA-Permissive-2.0":{name:"Community Data License Agreement Permissive 2.0",url:"https://cdla.dev/permissive-2-0",osiApproved:!1},HIDAPI:ED,"bzip2-1.0.6":{name:"bzip2 and libbzip2 License v1.0.6",url:"https://sourceware.org/git/?p=bzip2.git;a=blob;f=LICENSE;hb=bzip2-1.0.6",osiApproved:!1},GL2PS:yD,TOSL:vD,Abstyles:wD,TermReadKey:BD,"GFDL-1.2":{name:"GNU Free Documentation License v1.2",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},xzoom:SD,PostgreSQL:kD,"CNRI-Python-GPL-Compatible":{name:"CNRI Python Open Source GPL Compatible License Agreement",url:"http://www.python.org/download/releases/1.6.1/download_win/",osiApproved:!1},"Widget-Workshop":{name:"Widget Workshop License",url:"https://github.com/novnc/noVNC/blob/master/core/crypto/des.js#L24",osiApproved:!1},Libpng:xD,"HPND-sell-MIT-disclaimer-xserver":{name:"Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer",url:"https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type=heads#L1781",osiApproved:!1},"CC-BY-NC-SA-1.0":{name:"Creative Commons Attribution Non Commercial Share Alike 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/1.0/legalcode",osiApproved:!1},"Python-2.0":{name:"Python License 2.0",url:"https://opensource.org/licenses/Python-2.0",osiApproved:!0},"BSD-Systemics-W3Works":{name:"Systemics W3Works BSD variant license",url:"https://metacpan.org/release/DPARIS/Crypt-Blowfish-2.14/source/COPYRIGHT#L7",osiApproved:!1},"LPPL-1.0":{name:"LaTeX Project Public License v1.0",url:"http://www.latex-project.org/lppl/lppl-1-0.txt",osiApproved:!1},"YPL-1.1":{name:"Yahoo! Public License v1.1",url:"http://www.zimbra.com/license/yahoo_public_license_1.1.html",osiApproved:!1},SWL:_D,Giftware:jD,"CECILL-B":{name:"CeCILL-B Free Software License Agreement",url:"http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html",osiApproved:!1},"OSET-PL-2.1":{name:"OSET Public License version 2.1",url:"http://www.osetfoundation.org/public-license",osiApproved:!0},"GPL-3.0-with-autoconf-exception":{name:"GNU General Public License v3.0 w/Autoconf exception",url:"https://www.gnu.org/licenses/autoconf-exception-3.0.html",osiApproved:!1},"CAL-1.0-Combined-Work-Exception":{name:"Cryptographic Autonomy License 1.0 (Combined Work Exception)",url:"http://cryptographicautonomylicense.com/license-text.html",osiApproved:!0},"HPND-sell-variant-MIT-disclaimer-rev":{name:"HPND sell variant with MIT disclaimer - reverse",url:"https://github.com/sigmavirus24/x11-ssh-askpass/blob/master/dynlist.c",osiApproved:!1},JSON:{name:"JSON License",url:"http://www.json.org/license.html",osiApproved:!1},"GFDL-1.2-only":{name:"GNU Free Documentation License v1.2 only",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},pkgconf:ID,"Unicode-DFS-2016":{name:"Unicode License Agreement - Data Files and Software (2016)",url:"https://www.unicode.org/license.txt",osiApproved:!0},"PHP-3.01":{name:"PHP License v3.01",url:"http://www.php.net/license/3_01.txt",osiApproved:!0},blessing:MD,"RPSL-1.0":{name:"RealNetworks Public Source License v1.0",url:"https://helixcommunity.org/content/rpsl",osiApproved:!0},"BitTorrent-1.0":{name:"BitTorrent Open Source License v1.0",url:"http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/BitTorrent?r1=1.1&r2=1.1.1.1&diff_format=s",osiApproved:!1},"SISSL-1.2":{name:"Sun Industry Standards Source License v1.2",url:"http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html",osiApproved:!1},"GPL-3.0":{name:"GNU General Public License v3.0 only",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},IJG:DD,"OGL-Canada-2.0":{name:"Open Government Licence - Canada",url:"https://open.canada.ca/en/open-government-licence-canada",osiApproved:!1},"CC-BY-ND-2.5":{name:"Creative Commons Attribution No Derivatives 2.5 Generic",url:"https://creativecommons.org/licenses/by-nd/2.5/legalcode",osiApproved:!1},"HPND-Pbmplus":{name:"Historical Permission Notice and Disclaimer - Pbmplus variant",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/netpbm.c#l8",osiApproved:!1},"CC-BY-NC-ND-3.0-DE":{name:"Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany",url:"https://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode",osiApproved:!1},"RPL-1.5":{name:"Reciprocal Public License 1.5",url:"https://opensource.org/licenses/RPL-1.5",osiApproved:!0},Nokia:PD,"HPND-doc-sell":{name:"Historical Permission Notice and Disclaimer - documentation sell variant",url:"https://gitlab.freedesktop.org/xorg/lib/libxtst/-/blob/master/COPYING?ref_type=heads#L108-117",osiApproved:!1}};var LD=OD;const KD=Gi(LD),TD=""+new URL("../img/icons/android-chrome-192x192.png",import.meta.url).href;function RA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/About.vue",C="9ec806c145c55e6c3bce106d46862ed2b15654af",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/About.vue",statementMap:{0:{start:{line:6,column:18},end:{line:48,column:1}},1:{start:{line:9,column:4},end:{line:25,column:5}},2:{start:{line:28,column:4},end:{line:28,column:25}},3:{start:{line:29,column:4},end:{line:29,column:21}},4:{start:{line:33,column:6},end:{line:42,column:7}},5:{start:{line:34,column:25},end:{line:34,column:66}},6:{start:{line:35,column:8},end:{line:35,column:52}},7:{start:{line:36,column:8},end:{line:36,column:56}},8:{start:{line:37,column:8},end:{line:39,column:9}},9:{start:{line:38,column:10},end:{line:38,column:33}},10:{start:{line:41,column:8},end:{line:41,column:52}},11:{start:{line:45,column:6},end:{line:45,column:59}},12:{start:{line:54,column:19},end:{line:54,column:39}},13:{start:{line:55,column:19},end:{line:55,column:41}},14:{start:{line:56,column:19},end:{line:56,column:45}},15:{start:{line:57,column:19},end:{line:57,column:27}},16:{start:{line:58,column:19},end:{line:58,column:77}},17:{start:{line:59,column:19},end:{line:59,column:39}},18:{start:{line:60,column:19},end:{line:60,column:47}},19:{start:{line:61,column:19},end:{line:61,column:28}},20:{start:{line:62,column:19},end:{line:62,column:39}},21:{start:{line:63,column:20},end:{line:63,column:28}},22:{start:{line:64,column:20},end:{line:64,column:44}},23:{start:{line:65,column:20},end:{line:65,column:40}},24:{start:{line:66,column:20},end:{line:69,column:1}},25:{start:{line:70,column:20},end:{line:70,column:28}},26:{start:{line:73,column:2},end:{line:126,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:8,column:2},end:{line:8,column:3}},loc:{start:{line:8,column:10},end:{line:26,column:3}},line:8},1:{name:"(anonymous_1)",decl:{start:{line:27,column:2},end:{line:27,column:3}},loc:{start:{line:27,column:13},end:{line:30,column:3}},line:27},2:{name:"(anonymous_2)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:28},end:{line:43,column:5}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:44,column:4},end:{line:44,column:5}},loc:{start:{line:44,column:18},end:{line:46,column:5}},line:44},4:{name:"_sfc_render",decl:{start:{line:72,column:9},end:{line:72,column:20}},loc:{start:{line:72,column:68},end:{line:127,column:1}},line:72}},branchMap:{0:{loc:{start:{line:37,column:8},end:{line:39,column:9}},type:"if",locations:[{start:{line:37,column:8},end:{line:39,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:37},1:{loc:{start:{line:75,column:6},end:{line:75,column:91}},type:"binary-expr",locations:[{start:{line:75,column:6},end:{line:75,column:15}},{start:{line:75,column:20},end:{line:75,column:90}}],line:75},2:{loc:{start:{line:81,column:11},end:{line:87,column:10}},type:"binary-expr",locations:[{start:{line:81,column:11},end:{line:81,column:20}},{start:{line:81,column:25},end:{line:87,column:9}}],line:81},3:{loc:{start:{line:92,column:12},end:{line:92,column:117}},type:"binary-expr",locations:[{start:{line:92,column:12},end:{line:92,column:21}},{start:{line:92,column:26},end:{line:92,column:116}}],line:92},4:{loc:{start:{line:94,column:46},end:{line:94,column:90}},type:"cond-expr",locations:[{start:{line:94,column:65},end:{line:94,column:77}},{start:{line:94,column:79},end:{line:94,column:90}}],line:94},5:{loc:{start:{line:100,column:10},end:{line:111,column:43}},type:"cond-expr",locations:[{start:{line:101,column:15},end:{line:110,column:32}},{start:{line:111,column:14},end:{line:111,column:43}}],line:100},6:{loc:{start:{line:108,column:16},end:{line:108,column:118}},type:"binary-expr",locations:[{start:{line:108,column:16},end:{line:108,column:25}},{start:{line:108,column:30},end:{line:108,column:117}}],line:108},7:{loc:{start:{line:115,column:6},end:{line:124,column:39}},type:"cond-expr",locations:[{start:{line:116,column:11},end:{line:123,column:12}},{start:{line:124,column:10},end:{line:124,column:39}}],line:115},8:{loc:{start:{line:117,column:12},end:{line:117,column:94}},type:"binary-expr",locations:[{start:{line:117,column:12},end:{line:117,column:21}},{start:{line:117,column:26},end:{line:117,column:93}}],line:117}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/About.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9ec806c145c55e6c3bce106d46862ed2b15654af"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return RA=function(){return s},s}RA();const FD=(RA().s[0]++,{name:"About",data(){return RA().f[0]++,RA().s[1]++,{version:{installed:nh,latest:null,latestLink:null},description:Jk,license:{id:Ga,name:null,url:null},homepage:th,isUpToDate:!0,gitVersion:"0.10.6",gitBranch:"HEAD"}},mounted(){RA().f[1]++,RA().s[2]++,this.getLastVersion(),RA().s[3]++,this.getLicense()},methods:{async getLastVersion(){RA().f[2]++,RA().s[4]++;try{const A=(RA().s[5]++,await Ec.get(Zk.latestReleaseUrl));RA().s[6]++,this.version.latest=A.data.tag_name,RA().s[7]++,this.version.latestLink=A.data.html_url,RA().s[8]++,this.version.latest!==this.version.installed?(RA().b[0][0]++,RA().s[9]++,this.isUpToDate=!1):RA().b[0][1]++}catch(A){RA().s[10]++,console.error("getLastVersion error",A)}},getLicense(){RA().f[3]++,RA().s[11]++,Object.assign(this.license,KD[Ga])}}}),ND=(RA().s[12]++,{class:"section"}),$D=(RA().s[13]++,{class:"container"}),RD=(RA().s[14]++,{class:"subtitle is-5"}),GD=(RA().s[15]++,["href"]),UD=(RA().s[16]++,{class:"content field is-grouped is-grouped-multiline"}),HD=(RA().s[17]++,{class:"control"}),QD=(RA().s[18]++,{class:"tags has-addons"}),VD=(RA().s[19]++,["title"]),zD=(RA().s[20]++,{class:"control"}),qD=(RA().s[21]++,["href"]),WD=(RA().s[22]++,{class:"tag is-info"}),YD=(RA().s[23]++,{class:"content"}),JD=(RA().s[24]++,{key:0,class:"content"}),XD=(RA().s[25]++,["href"]);function ZD(A,C,e,n,t,i){return RA().f[4]++,RA().s[26]++,h(),Q("main",ND,[b("div",$D,[(RA().b[1][0]++,C[4]||(RA().b[1][1]++,C[4]=b("h2",{class:"title"},"About",-1))),b("h3",RD,[b("a",{href:t.homepage,target:"_blank",rel:"noreferrer"},(RA().b[2][0]++,C[0]||(RA().b[2][1]++,C[0]=[b("img",{class:"image is-96x96",src:TD},null,-1),cC("XMPP Web")])),8,GD)]),b("div",UD,[b("div",HD,[b("div",QD,[(RA().b[3][0]++,C[1]||(RA().b[3][1]++,C[1]=b("span",{class:"tag is-dark"},"Installed version",-1))),b("span",{class:zA(["tag",[t.isUpToDate?(RA().b[4][0]++,"is-success"):(RA().b[4][1]++,"is-danger")]]),title:`${t.gitVersion} (${t.gitBranch})`},lA(t.version.installed),11,VD)])]),b("div",zD,[t.isUpToDate?(RA().b[5][1]++,L("",!0)):(RA().b[5][0]++,h(),Q("a",{key:0,class:"tags has-addons",href:t.version.latestLink,target:"_blank",rel:"noreferrer"},[(RA().b[6][0]++,C[2]||(RA().b[6][1]++,C[2]=b("span",{class:"tag is-dark"},"Latest version",-1))),b("span",WD,lA(t.version.latest),1)],8,qD))])]),b("p",YD,lA(t.description),1),t.license.name?(RA().b[7][0]++,h(),Q("p",JD,[(RA().b[8][0]++,C[3]||(RA().b[8][1]++,C[3]=cC("This project is licensed under the "))),b("a",{href:t.license.url,target:"_blank",rel:"noreferrer"},lA(t.license.name),9,XD)])):(RA().b[7][1]++,L("",!0))])])}const AP=pC(FD,[["render",ZD]]);function tA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/GuestHome.vue",C="31219a41ecb1e46bf17ea31779674bfaac533565",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/GuestHome.vue",statementMap:{0:{start:{line:5,column:18},end:{line:67,column:1}},1:{start:{line:17,column:4},end:{line:26,column:5}},2:{start:{line:29,column:22},end:{line:29,column:49}},3:{start:{line:31,column:6},end:{line:33,column:7}},4:{start:{line:32,column:8},end:{line:32,column:19}},5:{start:{line:34,column:6},end:{line:36,column:7}},6:{start:{line:35,column:8},end:{line:35,column:32}},7:{start:{line:37,column:6},end:{line:37,column:60}},8:{start:{line:40,column:6},end:{line:40,column:120}},9:{start:{line:43,column:6},end:{line:43,column:76}},10:{start:{line:46,column:6},end:{line:46,column:97}},11:{start:{line:51,column:4},end:{line:51,column:58}},12:{start:{line:55,column:6},end:{line:55,column:27}},13:{start:{line:56,column:6},end:{line:63,column:7}},14:{start:{line:57,column:8},end:{line:57,column:83}},15:{start:{line:58,column:8},end:{line:58,column:37}},16:{start:{line:59,column:8},end:{line:59,column:34}},17:{start:{line:60,column:8},end:{line:60,column:114}},18:{start:{line:62,column:8},end:{line:62,column:34}},19:{start:{line:64,column:6},end:{line:64,column:28}},20:{start:{line:71,column:19},end:{line:71,column:74}},21:{start:{line:72,column:19},end:{line:75,column:1}},22:{start:{line:76,column:19},end:{line:79,column:1}},23:{start:{line:80,column:19},end:{line:80,column:60}},24:{start:{line:81,column:19},end:{line:84,column:1}},25:{start:{line:85,column:19},end:{line:88,column:1}},26:{start:{line:89,column:19},end:{line:89,column:107}},27:{start:{line:90,column:19},end:{line:90,column:26}},28:{start:{line:91,column:19},end:{line:91,column:32}},29:{start:{line:92,column:20},end:{line:92,column:38}},30:{start:{line:93,column:20},end:{line:93,column:55}},31:{start:{line:94,column:20},end:{line:94,column:38}},32:{start:{line:95,column:20},end:{line:95,column:32}},33:{start:{line:96,column:20},end:{line:99,column:1}},34:{start:{line:100,column:20},end:{line:100,column:61}},35:{start:{line:103,column:33},end:{line:103,column:65}},36:{start:{line:104,column:29},end:{line:104,column:57}},37:{start:{line:106,column:2},end:{line:186,column:5}},38:{start:{line:115,column:40},end:{line:117,column:18}},39:{start:{line:127,column:81},end:{line:127,column:120}},40:{start:{line:147,column:82},end:{line:147,column:103}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:16,column:2},end:{line:16,column:3}},loc:{start:{line:16,column:10},end:{line:27,column:3}},line:16},1:{name:"(anonymous_1)",decl:{start:{line:29,column:4},end:{line:29,column:5}},loc:{start:{line:29,column:20},end:{line:29,column:51}},line:29},2:{name:"(anonymous_2)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:24},end:{line:38,column:5}},line:30},3:{name:"(anonymous_3)",decl:{start:{line:39,column:4},end:{line:39,column:5}},loc:{start:{line:39,column:15},end:{line:41,column:5}},line:39},4:{name:"(anonymous_4)",decl:{start:{line:42,column:4},end:{line:42,column:5}},loc:{start:{line:42,column:15},end:{line:44,column:5}},line:42},5:{name:"(anonymous_5)",decl:{start:{line:45,column:4},end:{line:45,column:5}},loc:{start:{line:45,column:19},end:{line:47,column:5}},line:45},6:{name:"(anonymous_6)",decl:{start:{line:49,column:2},end:{line:49,column:3}},loc:{start:{line:49,column:13},end:{line:52,column:3}},line:49},7:{name:"(anonymous_7)",decl:{start:{line:54,column:4},end:{line:54,column:5}},loc:{start:{line:54,column:18},end:{line:65,column:5}},line:54},8:{name:"_sfc_render",decl:{start:{line:102,column:9},end:{line:102,column:20}},loc:{start:{line:102,column:68},end:{line:187,column:1}},line:102},9:{name:"(anonymous_9)",decl:{start:{line:115,column:34},end:{line:115,column:35}},loc:{start:{line:115,column:40},end:{line:117,column:18}},line:115},10:{name:"(anonymous_10)",decl:{start:{line:127,column:67},end:{line:127,column:68}},loc:{start:{line:127,column:81},end:{line:127,column:120}},line:127},11:{name:"(anonymous_11)",decl:{start:{line:147,column:71},end:{line:147,column:72}},loc:{start:{line:147,column:82},end:{line:147,column:103}},line:147}},branchMap:{0:{loc:{start:{line:31,column:6},end:{line:33,column:7}},type:"if",locations:[{start:{line:31,column:6},end:{line:33,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:31},1:{loc:{start:{line:34,column:6},end:{line:36,column:7}},type:"if",locations:[{start:{line:34,column:6},end:{line:36,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:34},2:{loc:{start:{line:34,column:10},end:{line:34,column:72}},type:"binary-expr",locations:[{start:{line:34,column:10},end:{line:34,column:46}},{start:{line:34,column:50},end:{line:34,column:72}}],line:34},3:{loc:{start:{line:40,column:13},end:{line:40,column:120}},type:"cond-expr",locations:[{start:{line:40,column:85},end:{line:40,column:103}},{start:{line:40,column:106},end:{line:40,column:120}}],line:40},4:{loc:{start:{line:40,column:14},end:{line:40,column:81}},type:"binary-expr",locations:[{start:{line:40,column:14},end:{line:40,column:52}},{start:{line:40,column:56},end:{line:40,column:81}}],line:40},5:{loc:{start:{line:43,column:13},end:{line:43,column:76}},type:"binary-expr",locations:[{start:{line:43,column:13},end:{line:43,column:34}},{start:{line:43,column:38},end:{line:43,column:76}}],line:43},6:{loc:{start:{line:46,column:13},end:{line:46,column:97}},type:"cond-expr",locations:[{start:{line:46,column:46},end:{line:46,column:90}},{start:{line:46,column:93},end:{line:46,column:97}}],line:46},7:{loc:{start:{line:108,column:6},end:{line:183,column:13}},type:"cond-expr",locations:[{start:{line:109,column:11},end:{line:122,column:12}},{start:{line:123,column:11},end:{line:183,column:12}}],line:108},8:{loc:{start:{line:111,column:14},end:{line:111,column:92}},type:"binary-expr",locations:[{start:{line:111,column:14},end:{line:111,column:23}},{start:{line:111,column:28},end:{line:111,column:91}}],line:111},9:{loc:{start:{line:112,column:14},end:{line:112,column:82}},type:"binary-expr",locations:[{start:{line:112,column:14},end:{line:112,column:23}},{start:{line:112,column:28},end:{line:112,column:81}}],line:112},10:{loc:{start:{line:113,column:14},end:{line:113,column:68}},type:"binary-expr",locations:[{start:{line:113,column:14},end:{line:113,column:23}},{start:{line:113,column:28},end:{line:113,column:67}}],line:113},11:{loc:{start:{line:115,column:40},end:{line:117,column:18}},type:"binary-expr",locations:[{start:{line:115,column:40},end:{line:115,column:49}},{start:{line:115,column:54},end:{line:117,column:17}}],line:115},12:{loc:{start:{line:127,column:26},end:{line:127,column:136}},type:"binary-expr",locations:[{start:{line:127,column:26},end:{line:127,column:35}},{start:{line:127,column:40},end:{line:127,column:135}}],line:127},13:{loc:{start:{line:127,column:81},end:{line:127,column:120}},type:"binary-expr",locations:[{start:{line:127,column:81},end:{line:127,column:94}},{start:{line:127,column:98},end:{line:127,column:120}}],line:127},14:{loc:{start:{line:136,column:16},end:{line:136,column:117}},type:"binary-expr",locations:[{start:{line:136,column:16},end:{line:136,column:25}},{start:{line:136,column:30},end:{line:136,column:116}}],line:136},15:{loc:{start:{line:137,column:16},end:{line:143,column:49}},type:"cond-expr",locations:[{start:{line:138,column:21},end:{line:142,column:43}},{start:{line:143,column:20},end:{line:143,column:49}}],line:137},16:{loc:{start:{line:147,column:45},end:{line:147,column:105}},type:"binary-expr",locations:[{start:{line:147,column:45},end:{line:147,column:54}},{start:{line:147,column:59},end:{line:147,column:104}}],line:147},17:{loc:{start:{line:156,column:20},end:{line:158,column:27}},type:"binary-expr",locations:[{start:{line:156,column:20},end:{line:156,column:29}},{start:{line:156,column:34},end:{line:158,column:26}}],line:156},18:{loc:{start:{line:166,column:21},end:{line:174,column:20}},type:"binary-expr",locations:[{start:{line:166,column:21},end:{line:166,column:30}},{start:{line:166,column:35},end:{line:174,column:19}}],line:166},19:{loc:{start:{line:176,column:16},end:{line:180,column:49}},type:"cond-expr",locations:[{start:{line:177,column:21},end:{line:179,column:22}},{start:{line:180,column:20},end:{line:180,column:49}}],line:176}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/GuestHome.vue"],names:[],mappings:"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AC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAClE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACzB;MACA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACb,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACT,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACvD,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACpB,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MAC3G,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC3B;MACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;EACH,CAAC;AACH;;;;qBA1GW,KAAK,EAAC,4CAA4C;;EACpD,KAAK,EAAC,kDAAkD;EAAC,KAAwB,EAAxB,qBAAwB;;;;EAExD,KAAK,EAAC,iDAAiD;;qBAC5E,KAAK,EAAC,8BAA8B;;;EAG/B,KAAK,EAAC,sBAAsB;;;EACjC,KAAK,EAAC,iCAAiC;EAAC,KAAyB,EAAzB,qBAAyB;;qBAE9D,KAAK,EAAC,6EAA6E;;;sBAIlF,KAAK,EAAC,OAAO;sBACX,KAAK,EAAC,wBAAwB;sBAOhC,KAAK,EAAC,OAAO;;;;EAOA,KAAK,EAAC,mBAAmB;;sBACpC,KAAK,EAAC,8BAA8B;;;;;;wBA9BrD,oBAqCU,WArCV,UAqCU;IApCR,oBAkCM,OAlCN,UAkCM;OAhCO,YAAM;yBAAjB,oBAEM,OAFN,UAEM;YADJ,oBAAkJ,OAAlJ,UAAkJ;yDAAxG,iCAA+B;wCAAA,oBAAI;yDAAA,SAAO;cAAA,aAAwD,0BAA1C,EAAE,EAAE,iBAAiB;kCAAE,CAAK;mCAAL,OAAK;;;;;;;yBAGhI,oBA2BM,OA3BN,UA2BM;YA1BJ,oBAyBM,OAzBN,UAyBM;cAxBJ,oBAuBO;gBAvBD,KAAK,EAAC,mBAAmB;gBAAE,QAAM,yDAAU,uCAAI;;gBACnD,oBAAoK,MAApK,UAAoK;kBAA5E,oBAA0D;oBAArD,KAAK,EAAC,+BAA+B;oBAAE,GAAG,EAAE,gBAAO;;oDAAK,gBAAO;;0CAC5J,oBAA2C,OAAxC,KAAK,EAAC,wBAAwB,IAAC,OAAK;iBAE9B,oBAAW;mCAApB,oBAAqF;;sBAA/D,KAAK,EAAC,iCAAiC;sBAAC,SAAoB,EAAZ,oBAAW;;;gBACjF,oBAOM,OAPN,WAOM;kBANJ,oBAKM,OALN,WAKM;oCAJJ,oBAAuG;mFAAvF,UAAI;sBAAE,SAAS,EAAT,EAAS;sBAAC,KAAK,EAAC,iBAAiB;sBAAC,IAAI,EAAC,MAAM;sBAAC,IAAI,EAAC,MAAM;sBAAC,WAAW,EAAC,UAAU;;oCAAtF,UAAI;;8CACpB,oBAEO,UAFD,KAAK,EAAC,uBAAuB;sBACjC,oBAAwB,OAArB,KAAK,EAAC,YAAY;;;;gBAI3B,oBAMM,OANN,WAMM;kBALJ,oBAIS;oBAJD,IAAI,EAAC,QAAQ;oBAAC,KAAK,EAAC,mDAAmD;oBAAE,QAAQ,GAAG,qBAAY;;oBACtG,oBACoC;sBAD9B,KAAK,EAAC,MAAM;sBAAC,aAAW,EAAC,MAAM;;sBACnC,oBAA2B,OAAxB,KAAK,EAAC,eAAe;;oBAC1B,oBAAiB,cAAX,MAAI;;;iBAGH,WAAK;mCAAhB,oBAEM,OAFN,WAEM;sBADJ,oBAA2D,OAA3D,WAA2D,mBAAd,WAAK;;;;;;;IAM5D,aAAW"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"31219a41ecb1e46bf17ea31779674bfaac533565"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return tA=function(){return s},s}tA();const CP=(tA().s[0]++,{name:"GuestHome",components:{Version:il},props:{requestedJid:{type:String,default:null}},data(){return tA().f[0]++,tA().s[1]++,{nick:"",isLoading:!1,error:"",transportsUser:{websocket:window.config.transports.websocket,bosh:window.config.transports.bosh},server:window.config.anonymousHost}},computed:{hasValidNick(){return tA().f[1]++,tA().s[2]++,this.nick.length>2},requestedFullJid(){if(tA().f[2]++,tA().s[3]++,this.requestedJid)tA().b[0][1]++;else return tA().b[0][0]++,tA().s[4]++,null;return tA().s[5]++,tA().b[2][0]++,/\S+@\S+\S+/.test(this.requestedJid)||(tA().b[2][1]++,!this.$xmpp.defaultMuc)?(tA().b[1][0]++,tA().s[6]++,this.requestedJid):(tA().b[1][1]++,tA().s[7]++,`${this.requestedJid}@${this.$xmpp.defaultMuc}`)},appName(){return tA().f[3]++,tA().s[8]++,tA().b[4][0]++,typeof window.config.name=="string"&&(tA().b[4][1]++,window.config.name!=="")?(tA().b[3][0]++,window.config.name):(tA().b[3][1]++,"XMPP webchat")},logoSrc(){return tA().f[4]++,tA().s[9]++,tA().b[5][0]++,window.config.logoUrl||(tA().b[5][1]++,"img/icons/android-chrome-192x192.png")},description(){return tA().f[5]++,tA().s[10]++,window.config.guestDescription?(tA().b[6][0]++,po(window.config.guestDescription)):(tA().b[6][1]++,null)}},mounted(){tA().f[6]++,tA().s[11]++,document.body.classList.remove("has-navbar-fixed-top")},methods:{async join(){tA().f[7]++,tA().s[12]++,this.isLoading=!0,tA().s[13]++;try{tA().s[14]++,await this.$xmpp.create(null,null,this.server,this.transportsUser,this),tA().s[15]++,this.$xmpp.setNick(this.nick),tA().s[16]++,await this.$xmpp.connect(),tA().s[17]++,this.$router.push({name:"guestRooms",state:{nick:this.nick,requestedJid:this.requestedFullJid}})}catch(A){tA().s[18]++,this.error=A.message}tA().s[19]++,this.isLoading=!1}}}),eP=(tA().s[20]++,{class:"hero is-full-height has-background-shade-4"}),nP=(tA().s[21]++,{class:"is-flex is-justify-content-center is-full-height",style:{"overflow-y":"auto"}}),tP=(tA().s[22]++,{key:0,class:"message is-danger is-light is-align-self-center"}),iP=(tA().s[23]++,{class:"message-body has-text-danger"}),sP=(tA().s[24]++,{key:1,class:"is-align-self-center"}),oP=(tA().s[25]++,{class:"box has-background-shade-3 mx-1",style:{"max-width":"420px"}}),lP=(tA().s[26]++,{class:"title has-text-grey is-flex is-justify-content-center is-align-items-center"}),aP=(tA().s[27]++,["src"]),rP=(tA().s[28]++,["innerHTML"]),cP=(tA().s[29]++,{class:"field"}),uP=(tA().s[30]++,{class:"control has-icons-left"}),mP=(tA().s[31]++,{class:"field"}),dP=(tA().s[32]++,["disabled"]),pP=(tA().s[33]++,{key:1,class:"message is-danger"}),fP=(tA().s[34]++,{class:"message-body has-text-danger"});function hP(A,C,e,n,t,i){tA().f[8]++;const s=(tA().s[35]++,AA("router-link")),o=(tA().s[36]++,AA("version"));return tA().s[37]++,h(),Q("section",eP,[b("div",nP,[t.server===null?(tA().b[7][0]++,h(),Q("div",tP,[b("div",iP,[(tA().b[8][0]++,C[3]||(tA().b[8][1]++,C[3]=cC("Anonymous access is not allowed"))),(tA().b[9][0]++,C[4]||(tA().b[9][1]++,C[4]=b("br",null,null,-1))),(tA().b[10][0]++,C[5]||(tA().b[10][1]++,C[5]=cC("Please "))),k(s,{to:{name:"login"}},{default:SA(()=>(tA().f[9]++,tA().s[38]++,tA().b[11][0]++,C[2]||(tA().b[11][1]++,C[2]=[cC("login")]))),_:1,__:[2]})])])):(tA().b[7][1]++,h(),Q("div",sP,[b("div",oP,[b("form",{class:"has-text-centered",onSubmit:(tA().b[12][0]++,C[1]||(tA().b[12][1]++,C[1]=MA((...l)=>(tA().f[10]++,tA().s[39]++,tA().b[13][0]++,i.join&&(tA().b[13][1]++,i.join(...l))),["prevent"])))},[b("h3",lP,[b("img",{class:"image is-48x48 is-inline mr-2",src:i.logoSrc},null,8,aP),cC(lA(i.appName),1)]),(tA().b[14][0]++,C[8]||(tA().b[14][1]++,C[8]=b("p",{class:"subtitle has-text-grey"},"Guest",-1))),i.description?(tA().b[15][0]++,h(),Q("p",{key:0,class:"content has-text-grey is-size-7",innerHTML:i.description},null,8,rP)):(tA().b[15][1]++,L("",!0)),b("div",cP,[b("div",uP,[HA(b("input",{"onUpdate:modelValue":(tA().b[16][0]++,C[0]||(tA().b[16][1]++,C[0]=l=>(tA().f[11]++,tA().s[40]++,t.nick=l))),autofocus:"",class:"input is-medium",type:"text",name:"nick",placeholder:"Nickname"},null,512),[[we,t.nick]]),(tA().b[17][0]++,C[6]||(tA().b[17][1]++,C[6]=b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-user"})],-1)))])]),b("div",mP,[b("button",{type:"submit",class:"button is-medium is-block is-primary is-fullwidth",disabled:!i.hasValidNick},(tA().b[18][0]++,C[7]||(tA().b[18][1]++,C[7]=[b("span",{class:"icon","aria-hidden":"true"},[b("i",{class:"fa fa-sign-in"})],-1),b("span",null,"Join",-1)])),8,dP)]),t.error?(tA().b[19][0]++,h(),Q("div",pP,[b("div",fP,lA(t.error),1)])):(tA().b[19][1]++,L("",!0))],32)])]))]),k(o)])}const fd=pC(CP,[["render",hP]]);function K(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/GuestRooms.vue",C="a44519d073b73971eed895b0e41669fed1b63e19",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/GuestRooms.vue",statementMap:{0:{start:{line:8,column:18},end:{line:112,column:1}},1:{start:{line:15,column:4},end:{line:28,column:5}},2:{start:{line:31,column:26},end:{line:31,column:79}},3:{start:{line:33,column:6},end:{line:34,column:36}},4:{start:{line:33,column:56},end:{line:33,column:65}},5:{start:{line:34,column:24},end:{line:34,column:35}},6:{start:{line:37,column:26},end:{line:37,column:56}},7:{start:{line:38,column:25},end:{line:38,column:55}},8:{start:{line:39,column:29},end:{line:39,column:49}},9:{start:{line:40,column:6},end:{line:53,column:10}},10:{start:{line:41,column:26},end:{line:41,column:215}},11:{start:{line:43,column:10},end:{line:46,column:11}},12:{start:{line:49,column:10},end:{line:51,column:11}},13:{start:{line:50,column:12},end:{line:50,column:38}},14:{start:{line:52,column:10},end:{line:52,column:60}},15:{start:{line:58,column:4},end:{line:61,column:5}},16:{start:{line:59,column:6},end:{line:59,column:52}},17:{start:{line:60,column:6},end:{line:60,column:36}},18:{start:{line:62,column:4},end:{line:66,column:5}},19:{start:{line:64,column:6},end:{line:64,column:42}},20:{start:{line:65,column:6},end:{line:65,column:12}},21:{start:{line:67,column:4},end:{line:67,column:25}},22:{start:{line:68,column:4},end:{line:100,column:5}},23:{start:{line:70,column:20},end:{line:70,column:51}},24:{start:{line:72,column:6},end:{line:97,column:7}},25:{start:{line:73,column:8},end:{line:76,column:9}},26:{start:{line:73,column:33},end:{line:73,column:63}},27:{start:{line:75,column:10},end:{line:75,column:49}},28:{start:{line:78,column:30},end:{line:78,column:73}},29:{start:{line:79,column:8},end:{line:82,column:9}},30:{start:{line:81,column:10},end:{line:81,column:49}},31:{start:{line:83,column:8},end:{line:96,column:9}},32:{start:{line:84,column:10},end:{line:95,column:11}},33:{start:{line:85,column:12},end:{line:94,column:14}},34:{start:{line:93,column:29},end:{line:93,column:43}},35:{start:{line:99,column:6},end:{line:99,column:34}},36:{start:{line:101,column:4},end:{line:101,column:26}},37:{start:{line:105,column:4},end:{line:105,column:58}},38:{start:{line:109,column:6},end:{line:109,column:65}},39:{start:{line:116,column:19},end:{line:116,column:69}},40:{start:{line:117,column:19},end:{line:120,column:1}},41:{start:{line:121,column:19},end:{line:124,column:1}},42:{start:{line:125,column:19},end:{line:125,column:53}},43:{start:{line:126,column:19},end:{line:126,column:66}},44:{start:{line:127,column:19},end:{line:127,column:54}},45:{start:{line:128,column:19},end:{line:128,column:38}},46:{start:{line:129,column:19},end:{line:129,column:80}},47:{start:{line:130,column:19},end:{line:130,column:73}},48:{start:{line:131,column:20},end:{line:131,column:54}},49:{start:{line:132,column:20},end:{line:132,column:44}},50:{start:{line:133,column:20},end:{line:133,column:50}},51:{start:{line:134,column:20},end:{line:138,column:1}},52:{start:{line:139,column:20},end:{line:143,column:1}},53:{start:{line:144,column:20},end:{line:144,column:42}},54:{start:{line:145,column:20},end:{line:149,column:1}},55:{start:{line:150,column:20},end:{line:153,column:1}},56:{start:{line:154,column:20},end:{line:154,column:45}},57:{start:{line:155,column:20},end:{line:155,column:38}},58:{start:{line:156,column:20},end:{line:156,column:46}},59:{start:{line:157,column:20},end:{line:157,column:43}},60:{start:{line:158,column:20},end:{line:158,column:46}},61:{start:{line:159,column:20},end:{line:159,column:40}},62:{start:{line:160,column:20},end:{line:160,column:44}},63:{start:{line:163,column:28},end:{line:163,column:55}},64:{start:{line:164,column:33},end:{line:164,column:65}},65:{start:{line:165,column:29},end:{line:165,column:57}},66:{start:{line:167,column:2},end:{line:284,column:5}},67:{start:{line:174,column:78},end:{line:174,column:106}},68:{start:{line:190,column:80},end:{line:190,column:112}},69:{start:{line:195,column:22},end:{line:195,column:124}},70:{start:{line:209,column:18},end:{line:276,column:21}},71:{start:{line:265,column:50},end:{line:270,column:28}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:10},end:{line:29,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:24},end:{line:31,column:81}},line:31},2:{name:"(anonymous_2)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:22},end:{line:35,column:5}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:33,column:46},end:{line:33,column:47}},loc:{start:{line:33,column:56},end:{line:33,column:65}},line:33},4:{name:"(anonymous_4)",decl:{start:{line:34,column:16},end:{line:34,column:17}},loc:{start:{line:34,column:24},end:{line:34,column:35}},line:34},5:{name:"(anonymous_5)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:27},end:{line:54,column:5}},line:36},6:{name:"(anonymous_6)",decl:{start:{line:41,column:16},end:{line:41,column:17}},loc:{start:{line:41,column:26},end:{line:41,column:215}},line:41},7:{name:"(anonymous_7)",decl:{start:{line:42,column:13},end:{line:42,column:14}},loc:{start:{line:42,column:23},end:{line:47,column:9}},line:42},8:{name:"(anonymous_8)",decl:{start:{line:48,column:14},end:{line:48,column:15}},loc:{start:{line:48,column:24},end:{line:53,column:9}},line:48},9:{name:"(anonymous_9)",decl:{start:{line:57,column:2},end:{line:57,column:3}},loc:{start:{line:57,column:19},end:{line:102,column:3}},line:57},10:{name:"(anonymous_10)",decl:{start:{line:73,column:23},end:{line:73,column:24}},loc:{start:{line:73,column:33},end:{line:73,column:63}},line:73},11:{name:"(anonymous_11)",decl:{start:{line:84,column:28},end:{line:84,column:29}},loc:{start:{line:85,column:12},end:{line:94,column:14}},line:85},12:{name:"(anonymous_12)",decl:{start:{line:93,column:23},end:{line:93,column:24}},loc:{start:{line:93,column:29},end:{line:93,column:43}},line:93},13:{name:"(anonymous_13)",decl:{start:{line:103,column:2},end:{line:103,column:3}},loc:{start:{line:103,column:13},end:{line:106,column:3}},line:103},14:{name:"(anonymous_14)",decl:{start:{line:108,column:4},end:{line:108,column:5}},loc:{start:{line:108,column:19},end:{line:110,column:5}},line:108},15:{name:"_sfc_render",decl:{start:{line:162,column:9},end:{line:162,column:20}},loc:{start:{line:162,column:68},end:{line:285,column:1}},line:162},16:{name:"(anonymous_16)",decl:{start:{line:174,column:67},end:{line:174,column:68}},loc:{start:{line:174,column:78},end:{line:174,column:106}},line:174},17:{name:"(anonymous_17)",decl:{start:{line:190,column:69},end:{line:190,column:70}},loc:{start:{line:190,column:80},end:{line:190,column:112}},line:190},18:{name:"(anonymous_18)",decl:{start:{line:194,column:113},end:{line:194,column:114}},loc:{start:{line:194,column:127},end:{line:196,column:21}},line:194},19:{name:"(anonymous_19)",decl:{start:{line:208,column:114},end:{line:208,column:115}},loc:{start:{line:208,column:124},end:{line:277,column:17}},line:208},20:{name:"(anonymous_20)",decl:{start:{line:265,column:44},end:{line:265,column:45}},loc:{start:{line:265,column:50},end:{line:270,column:28}},line:265}},branchMap:{0:{loc:{start:{line:31,column:33},end:{line:31,column:79}},type:"binary-expr",locations:[{start:{line:31,column:33},end:{line:31,column:48}},{start:{line:31,column:52},end:{line:31,column:79}}],line:31},1:{loc:{start:{line:37,column:26},end:{line:37,column:56}},type:"binary-expr",locations:[{start:{line:37,column:26},end:{line:37,column:50}},{start:{line:37,column:54},end:{line:37,column:56}}],line:37},2:{loc:{start:{line:41,column:26},end:{line:41,column:215}},type:"binary-expr",locations:[{start:{line:41,column:27},end:{line:41,column:44}},{start:{line:41,column:48},end:{line:41,column:96}},{start:{line:41,column:100},end:{line:41,column:155}},{start:{line:41,column:161},end:{line:41,column:182}},{start:{line:41,column:186},end:{line:41,column:214}}],line:41},3:{loc:{start:{line:49,column:10},end:{line:51,column:11}},type:"if",locations:[{start:{line:49,column:10},end:{line:51,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:49},4:{loc:{start:{line:50,column:19},end:{line:50,column:38}},type:"cond-expr",locations:[{start:{line:50,column:32},end:{line:50,column:34}},{start:{line:50,column:37},end:{line:50,column:38}}],line:50},5:{loc:{start:{line:58,column:4},end:{line:61,column:5}},type:"if",locations:[{start:{line:58,column:4},end:{line:61,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:58},6:{loc:{start:{line:62,column:4},end:{line:66,column:5}},type:"if",locations:[{start:{line:62,column:4},end:{line:66,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:62,column:8},end:{line:62,column:37}},type:"binary-expr",locations:[{start:{line:62,column:8},end:{line:62,column:18}},{start:{line:62,column:22},end:{line:62,column:37}}],line:62},8:{loc:{start:{line:72,column:6},end:{line:97,column:7}},type:"if",locations:[{start:{line:72,column:6},end:{line:97,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:72},9:{loc:{start:{line:73,column:8},end:{line:76,column:9}},type:"if",locations:[{start:{line:73,column:8},end:{line:76,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},10:{loc:{start:{line:79,column:8},end:{line:82,column:9}},type:"if",locations:[{start:{line:79,column:8},end:{line:82,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:79},11:{loc:{start:{line:83,column:8},end:{line:96,column:9}},type:"if",locations:[{start:{line:83,column:8},end:{line:96,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:83},12:{loc:{start:{line:90,column:25},end:{line:90,column:71}},type:"binary-expr",locations:[{start:{line:90,column:25},end:{line:90,column:46}},{start:{line:90,column:50},end:{line:90,column:71}}],line:90},13:{loc:{start:{line:169,column:6},end:{line:282,column:39}},type:"cond-expr",locations:[{start:{line:170,column:11},end:{line:281,column:12}},{start:{line:282,column:10},end:{line:282,column:39}}],line:169},14:{loc:{start:{line:174,column:41},end:{line:174,column:108}},type:"binary-expr",locations:[{start:{line:174,column:41},end:{line:174,column:50}},{start:{line:174,column:55},end:{line:174,column:107}}],line:174},15:{loc:{start:{line:183,column:16},end:{line:185,column:23}},type:"binary-expr",locations:[{start:{line:183,column:16},end:{line:183,column:25}},{start:{line:183,column:30},end:{line:185,column:22}}],line:183},16:{loc:{start:{line:190,column:43},end:{line:190,column:114}},type:"binary-expr",locations:[{start:{line:190,column:43},end:{line:190,column:52}},{start:{line:190,column:57},end:{line:190,column:113}}],line:190},17:{loc:{start:{line:193,column:20},end:{line:193,column:101}},type:"binary-expr",locations:[{start:{line:193,column:20},end:{line:193,column:29}},{start:{line:193,column:34},end:{line:193,column:100}}],line:193},18:{loc:{start:{line:200,column:18},end:{line:202,column:25}},type:"binary-expr",locations:[{start:{line:200,column:18},end:{line:200,column:27}},{start:{line:200,column:32},end:{line:202,column:24}}],line:200},19:{loc:{start:{line:216,column:26},end:{line:220,column:59}},type:"cond-expr",locations:[{start:{line:217,column:31},end:{line:219,column:33}},{start:{line:220,column:30},end:{line:220,column:59}}],line:216},20:{loc:{start:{line:217,column:86},end:{line:219,column:32}},type:"binary-expr",locations:[{start:{line:217,column:86},end:{line:217,column:95}},{start:{line:217,column:100},end:{line:219,column:31}}],line:217},21:{loc:{start:{line:221,column:26},end:{line:223,column:59}},type:"cond-expr",locations:[{start:{line:222,column:31},end:{line:222,column:129}},{start:{line:223,column:30},end:{line:223,column:59}}],line:221},22:{loc:{start:{line:226,column:26},end:{line:230,column:59}},type:"cond-expr",locations:[{start:{line:227,column:31},end:{line:229,column:33}},{start:{line:230,column:30},end:{line:230,column:59}}],line:226},23:{loc:{start:{line:227,column:86},end:{line:229,column:32}},type:"binary-expr",locations:[{start:{line:227,column:86},end:{line:227,column:95}},{start:{line:227,column:100},end:{line:229,column:31}}],line:227},24:{loc:{start:{line:231,column:26},end:{line:238,column:59}},type:"cond-expr",locations:[{start:{line:232,column:31},end:{line:237,column:32}},{start:{line:238,column:30},end:{line:238,column:59}}],line:231},25:{loc:{start:{line:233,column:32},end:{line:235,column:39}},type:"binary-expr",locations:[{start:{line:233,column:32},end:{line:233,column:41}},{start:{line:233,column:46},end:{line:235,column:38}}],line:233},26:{loc:{start:{line:243,column:26},end:{line:251,column:59}},type:"cond-expr",locations:[{start:{line:244,column:31},end:{line:250,column:50}},{start:{line:251,column:30},end:{line:251,column:59}}],line:243},27:{loc:{start:{line:265,column:50},end:{line:270,column:28}},type:"binary-expr",locations:[{start:{line:265,column:50},end:{line:265,column:59}},{start:{line:265,column:64},end:{line:270,column:27}}],line:265}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0},b:{0:[0,0],1:[0,0],2:[0,0,0,0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/GuestRooms.vue"],names:[],mappings:"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ACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAChB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACrB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;MACjD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAChD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"a44519d073b73971eed895b0e41669fed1b63e19"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return K=function(){return s},s}K();const gP=(K().s[0]++,{name:"GuestRooms",components:{avatar:Kt,Version:il},data(){return K().f[0]++,K().s[1]++,{isLoading:!1,search:{text:"",language:""},transportsUser:{websocket:window.config.transports.websocket,bosh:window.config.transports.bosh},server:window.config.anonymousHost,nick:null,requestedJid:null}},computed:{displayRoomsList(){return K().f[1]++,K().s[2]++,K().b[0][0]++,!this.isLoading&&(K().b[0][1]++,this.publicRooms.length>0)},roomsLanguages(){return K().f[2]++,K().s[3]++,[...new Set(this.publicRooms.map(A=>(K().f[3]++,K().s[4]++,A.lang)))].filter(A=>(K().f[4]++,K().s[5]++,A!==""))},filteredPublicRooms(){K().f[5]++;const A=(K().s[6]++,K().b[1][0]++,window.config.pinnedMucs||(K().b[1][1]++,[])),C=(K().s[7]++,this.search.text.toLowerCase()),e=(K().s[8]++,this.search.language);return K().s[9]++,this.publicRooms.filter(n=>(K().f[6]++,K().s[10]++,K().b[2][0]++,(C===""||(K().b[2][1]++,n.name.toLowerCase().indexOf(C)>-1)||(K().b[2][2]++,n.description.toLowerCase().indexOf(C)>-1))&&(K().b[2][3]++,e===""||(K().b[2][4]++,n.lang===e)))).map(n=>(K().f[7]++,K().s[11]++,{...n,isPinned:A.includes(n.jid)})).sort((n,t)=>(K().f[8]++,K().s[12]++,n.isPinned!==t.isPinned?(K().b[3][0]++,K().s[13]++,n.isPinned?(K().b[4][0]++,-1):(K().b[4][1]++,1)):(K().b[3][1]++,K().s[14]++,n.name.toLowerCase()>t.name.toLowerCase())))},...je(ZC,["publicRooms"])},async created(){if(K().f[9]++,K().s[15]++,history.state?(K().b[5][0]++,K().s[16]++,this.requestedJid=history.state.requestedJid,K().s[17]++,this.nick=history.state.nick):K().b[5][1]++,K().s[18]++,K().b[7][0]++,!this.nick||(K().b[7][1]++,!this.$xmpp.jid)){K().b[6][0]++,K().s[19]++,this.$router.push({name:"guest"}),K().s[20]++;return}else K().b[6][1]++;K().s[21]++,this.isLoading=!0,K().s[22]++;try{const A=(K().s[23]++,await this.$xmpp.getPublicMuc());if(K().s[24]++,this.requestedJid){if(K().b[8][0]++,K().s[25]++,A.find(e=>(K().f[10]++,K().s[26]++,e.jid===this.requestedJid)))return K().b[9][0]++,K().s[27]++,this.openRoom(this.requestedJid);K().b[9][1]++;const C=(K().s[28]++,await this.$xmpp.getRoom(this.requestedJid));if(K().s[29]++,C.jid)return K().b[10][0]++,K().s[30]++,this.openRoom(this.requestedJid);K().b[10][1]++,K().s[31]++,C.message?(K().b[11][0]++,K().s[32]++,await new Promise(e=>(K().f[11]++,K().s[33]++,this.$oruga.modal.open({component:li,trapFocus:!0,props:{title:"Error",message:(K().b[12][0]++,C.message||(K().b[12][1]++,"Unable to join room")),type:"is-danger"},onClose:()=>(K().f[12]++,K().s[34]++,e(!1))})))):K().b[11][1]++}else K().b[8][1]++}catch(A){K().s[35]++,console.error(A.message)}K().s[36]++,this.isLoading=!1},mounted(){K().f[13]++,K().s[37]++,document.body.classList.remove("has-navbar-fixed-top")},methods:{openRoom(A){K().f[14]++,K().s[38]++,this.$router.push({name:"guestInRoom",params:{jid:A}})}}}),bP=(K().s[39]++,{class:"is-full-height has-background-shade-3"}),EP=(K().s[40]++,{class:"is-flex is-justify-content-center is-full-height",style:{"overflow-y":"auto"}}),yP=(K().s[41]++,{key:0,class:"container is-flex is-flex-direction-column"}),vP=(K().s[42]++,{class:"field has-addons mt-5"}),wP=(K().s[43]++,{class:"control is-expanded has-icons-left"}),BP=(K().s[44]++,{class:"control has-icons-left"}),SP=(K().s[45]++,{class:"select"}),kP=(K().s[46]++,{class:"is-flex is-justify-content-center is-flex-grow-1"}),xP=(K().s[47]++,{class:"is-align-self-center columns is-multiline"}),_P=(K().s[48]++,{class:"card is-width-min-400"}),jP=(K().s[49]++,{class:"card-header"}),IP=(K().s[50]++,{class:"card-header-title"}),MP=(K().s[51]++,{key:0,class:"icon has-text-danger mr-2",title:"Pinned room"}),DP=(K().s[52]++,{key:1,class:"has-text-weight-light",title:"Language"}),PP=(K().s[53]++,{class:"px-4 py-3"}),OP=(K().s[54]++,{key:0,class:"icon",title:"This room is password protected"}),LP=(K().s[55]++,{key:1,title:"Occupants"}),KP=(K().s[56]++,{class:"card-content"}),TP=(K().s[57]++,{class:"media"}),FP=(K().s[58]++,{class:"media-content"}),NP=(K().s[59]++,{class:"title is-5"}),$P=(K().s[60]++,{class:"subtitle is-6"}),RP=(K().s[61]++,{class:"content"}),GP=(K().s[62]++,{class:"card-footer"});function UP(A,C,e,n,t,i){K().f[15]++;const s=(K().s[63]++,AA("avatar")),o=(K().s[64]++,AA("router-link")),l=(K().s[65]++,AA("version"));return K().s[66]++,h(),Q("section",bP,[b("div",EP,[i.displayRoomsList?(K().b[13][0]++,h(),Q("div",yP,[b("div",vP,[b("div",wP,[HA(b("input",{"onUpdate:modelValue":(K().b[14][0]++,C[0]||(K().b[14][1]++,C[0]=a=>(K().f[16]++,K().s[67]++,t.search.text=a))),class:"input",type:"text",name:"room",placeholder:"Search a room",title:"Filter rooms by name or description"},null,512),[[we,t.search.text]]),(K().b[15][0]++,C[2]||(K().b[15][1]++,C[2]=b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-search"})],-1)))]),b("div",BP,[b("span",SP,[HA(b("select",{"onUpdate:modelValue":(K().b[16][0]++,C[1]||(K().b[16][1]++,C[1]=a=>(K().f[17]++,K().s[68]++,t.search.language=a))),title:"Filter rooms by language"},[(K().b[17][0]++,C[3]||(K().b[17][1]++,C[3]=b("option",{value:""},null,-1))),(h(!0),Q(gA,null,JA(i.roomsLanguages,a=>(K().f[18]++,K().s[69]++,h(),Q("option",{key:a},lA(a),1))),128))],512),[[pr,t.search.language]]),(K().b[18][0]++,C[4]||(K().b[18][1]++,C[4]=b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-globe-e"})],-1)))])])]),b("div",kP,[b("ul",xP,[(h(!0),Q(gA,null,JA(i.filteredPublicRooms,a=>(K().f[19]++,K().s[70]++,h(),Q("li",{key:a.jid,class:"column"},[b("div",_P,[b("header",jP,[b("span",IP,[a.isPinned?(K().b[19][0]++,h(),Q("span",MP,(K().b[20][0]++,C[5]||(K().b[20][1]++,C[5]=[b("i",{class:"fa fa-map-pin"},null,-1)])))):(K().b[19][1]++,L("",!0)),a.lang?(K().b[21][0]++,h(),Q("span",DP,"["+lA(a.lang)+"]",1)):(K().b[21][1]++,L("",!0))]),b("span",PP,[a.isPasswordProtected?(K().b[22][0]++,h(),Q("span",OP,(K().b[23][0]++,C[6]||(K().b[23][1]++,C[6]=[b("i",{class:"fa fa-key-modern"},null,-1)])))):(K().b[22][1]++,L("",!0)),a.occupantsCount?(K().b[24][0]++,h(),Q("span",LP,[(K().b[25][0]++,C[7]||(K().b[25][1]++,C[7]=b("span",{class:"icon mr-1 ml-2"},[b("i",{class:"fa fa-users"})],-1))),b("span",null,lA(a.occupantsCount),1)])):(K().b[24][1]++,L("",!0))])]),b("div",KP,[b("div",TP,[a.hasVCard?(K().b[26][0]++,h(),S(s,{key:0,class:"media-left",jid:a.jid,"display-jid":!1,size:48},null,8,["jid"])):(K().b[26][1]++,L("",!0)),b("div",FP,[b("div",NP,lA(a.name),1),b("div",$P,lA(a.jid),1)])]),b("small",RP,lA(a.description),1)]),b("footer",GP,[k(o,{to:{name:"guestInRoom",params:{jid:a.jid}},class:"card-footer-item",title:"Join the room"},{default:SA(()=>(K().f[20]++,K().s[71]++,K().b[27][0]++,C[8]||(K().b[27][1]++,C[8]=[b("span",{class:"icon"},[b("i",{class:"fa fa-sign-in"})],-1),b("span",null,"Join",-1)]))),_:2,__:[8]},1032,["to"])])])]))),128))])]),k(l)])):(K().b[13][1]++,L("",!0))])])}const HP=pC(gP,[["render",UP]]);function _C(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/GuestChat.vue",C="d8cb51575c6f75b8898bd54f0e8fb8be9ee052b0",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/GuestChat.vue",statementMap:{0:{start:{line:3,column:18},end:{line:31,column:1}},1:{start:{line:15,column:21},end:{line:15,column:73}},2:{start:{line:18,column:4},end:{line:20,column:5}},3:{start:{line:19,column:6},end:{line:19,column:72}},4:{start:{line:24,column:4},end:{line:24,column:58}},5:{start:{line:27,column:4},end:{line:29,column:5}},6:{start:{line:28,column:6},end:{line:28,column:66}},7:{start:{line:35,column:19},end:{line:35,column:46}},8:{start:{line:36,column:19},end:{line:36,column:72}},9:{start:{line:39,column:26},end:{line:39,column:51}},10:{start:{line:41,column:2},end:{line:52,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:19},end:{line:15,column:75}},line:15},1:{name:"(anonymous_1)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:13},end:{line:21,column:3}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:22,column:2},end:{line:22,column:3}},loc:{start:{line:22,column:13},end:{line:25,column:3}},line:22},3:{name:"(anonymous_3)",decl:{start:{line:26,column:2},end:{line:26,column:3}},loc:{start:{line:26,column:25},end:{line:30,column:3}},line:26},4:{name:"_sfc_render",decl:{start:{line:38,column:9},end:{line:38,column:20}},loc:{start:{line:38,column:68},end:{line:53,column:1}},line:38}},branchMap:{0:{loc:{start:{line:15,column:28},end:{line:15,column:73}},type:"binary-expr",locations:[{start:{line:15,column:28},end:{line:15,column:45}},{start:{line:15,column:49},end:{line:15,column:73}}],line:15},1:{loc:{start:{line:18,column:4},end:{line:20,column:5}},type:"if",locations:[{start:{line:18,column:4},end:{line:20,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:18},2:{loc:{start:{line:27,column:4},end:{line:29,column:5}},type:"if",locations:[{start:{line:27,column:4},end:{line:29,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:27},3:{loc:{start:{line:43,column:6},end:{line:50,column:39}},type:"cond-expr",locations:[{start:{line:44,column:11},end:{line:49,column:30}},{start:{line:50,column:10},end:{line:50,column:39}}],line:43}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/GuestChat.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d8cb51575c6f75b8898bd54f0e8fb8be9ee052b0"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return _C=function(){return s},s}_C();const QP=(_C().s[0]++,{name:"Guest",components:{Chat:Ra},props:{jid:{type:String,default:null}},computed:{displayChat(){return _C().f[0]++,_C().s[1]++,_C().b[0][0]++,this.jid!==null&&(_C().b[0][1]++,this.$xmpp.nick!==null)}},created(){_C().f[1]++,_C().s[2]++,this.$xmpp.nick===null?(_C().b[1][0]++,_C().s[3]++,this.$router.replace({name:"guest",query:{join:this.jid}})):_C().b[1][1]++},mounted(){_C().f[2]++,_C().s[4]++,document.body.classList.remove("has-navbar-fixed-top")},async beforeUnmount(){_C().f[3]++,_C().s[5]++,this.$xmpp.client?(_C().b[2][0]++,_C().s[6]++,await this.$xmpp.client.leaveRoom(this.jid,this.$xmpp.nick)):_C().b[2][1]++}}),VP=(_C().s[7]++,{class:"is-full-height"}),zP=(_C().s[8]++,{class:"is-justify-content-center is-full-height"});function qP(A,C,e,n,t,i){_C().f[4]++;const s=(_C().s[9]++,AA("chat"));return _C().s[10]++,h(),Q("section",VP,[b("div",zP,[i.displayChat?(_C().b[3][0]++,h(),S(s,{key:0,jid:e.jid,"is-room":!0,class:"is-flex-grow-1"},null,8,["jid"])):(_C().b[3][1]++,L("",!0))])])}const WP=pC(QP,[["render",qP]]);function oC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/router/index.js",C="d8c1752bad67d8482b48833fb211ee9feec4d362",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/router/index.js",statementMap:{0:{start:{line:14,column:15},end:{line:20,column:1}},1:{start:{line:22,column:0},end:{line:116,column:1}},2:{start:{line:24,column:2},end:{line:115,column:3}},3:{start:{line:78,column:29},end:{line:81,column:11}},4:{start:{line:118,column:0},end:{line:171,column:1}},5:{start:{line:120,column:2},end:{line:154,column:3}},6:{start:{line:126,column:25},end:{line:128,column:7}},7:{start:{line:147,column:25},end:{line:149,column:7}},8:{start:{line:155,column:2},end:{line:170,column:3}},9:{start:{line:157,column:4},end:{line:169,column:5}},10:{start:{line:162,column:27},end:{line:164,column:9}},11:{start:{line:173,column:15},end:{line:176,column:2}},12:{start:{line:178,column:0},end:{line:189,column:2}},13:{start:{line:180,column:2},end:{line:188,column:3}},14:{start:{line:180,column:32},end:{line:180,column:56}},15:{start:{line:181,column:4},end:{line:187,column:5}},16:{start:{line:183,column:6},end:{line:186,column:7}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:78,column:17},end:{line:78,column:18}},loc:{start:{line:78,column:29},end:{line:81,column:11}},line:78},1:{name:"(anonymous_1)",decl:{start:{line:126,column:13},end:{line:126,column:14}},loc:{start:{line:126,column:25},end:{line:128,column:7}},line:126},2:{name:"(anonymous_2)",decl:{start:{line:147,column:13},end:{line:147,column:14}},loc:{start:{line:147,column:25},end:{line:149,column:7}},line:147},3:{name:"(anonymous_3)",decl:{start:{line:162,column:15},end:{line:162,column:16}},loc:{start:{line:162,column:27},end:{line:164,column:9}},line:162},4:{name:"(anonymous_4)",decl:{start:{line:178,column:18},end:{line:178,column:19}},loc:{start:{line:178,column:26},end:{line:189,column:1}},line:178},5:{name:"(anonymous_5)",decl:{start:{line:180,column:22},end:{line:180,column:23}},loc:{start:{line:180,column:32},end:{line:180,column:56}},line:180}},branchMap:{0:{loc:{start:{line:22,column:0},end:{line:116,column:1}},type:"if",locations:[{start:{line:22,column:0},end:{line:116,column:1}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:22},1:{loc:{start:{line:118,column:0},end:{line:171,column:1}},type:"if",locations:[{start:{line:118,column:0},end:{line:171,column:1}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:118},2:{loc:{start:{line:155,column:2},end:{line:170,column:3}},type:"if",locations:[{start:{line:155,column:2},end:{line:170,column:3}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:155},3:{loc:{start:{line:180,column:2},end:{line:188,column:3}},type:"if",locations:[{start:{line:180,column:2},end:{line:188,column:3}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:180},4:{loc:{start:{line:181,column:4},end:{line:187,column:5}},type:"if",locations:[{start:{line:181,column:4},end:{line:187,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:181}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0]},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/router/index.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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C,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,C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C,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,CAAC;AACD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC;AACF;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH,CAAC,CAAC;AACF;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d8c1752bad67d8482b48833fb211ee9feec4d362"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return oC=function(){return s},s}oC();const bo=(oC().s[0]++,[{path:"/:pathMatch(.*)*",redirect:{name:"home"}}]);oC().s[1]++;window.config.hasRegisteredAccess?(oC().b[0][0]++,oC().s[2]++,bo.push({name:"home",path:"/",components:{navbar:cx,default:w_},props:{default:!0,navbar:!1},meta:{requiresAuth:!0,displayContact:!0},children:[{name:"chat",path:"contacts/:jid",component:Ra,props:!0,meta:{requiresAuth:!0,displayContact:!1}},{name:"public muc",path:"rooms/discover",component:R_,meta:{requiresAuth:!0,displayContact:!1}},{name:"room creation",path:"rooms/new",component:J_,meta:{requiresAuth:!0,displayContact:!1}},{name:"groupchat",path:"rooms/:jid",component:Ra,props:A=>(oC().f[0]++,oC().s[3]++,{jid:A.params.jid,isRoom:!0}),meta:{requiresAuth:!0,displayContact:!1}},{name:"profile",path:"profile",component:mj,meta:{requiresAuth:!0,displayContact:!1}},{name:"about",path:"about",component:AP,meta:{requiresAuth:!0,displayContact:!1}}]},{name:"login",path:"/login",component:Gx})):oC().b[0][1]++;oC().s[4]++;window.config.hasGuestAccess?(oC().b[1][0]++,oC().s[5]++,bo.push({name:"guest",path:"/guest",component:fd,props:A=>(oC().f[1]++,oC().s[6]++,{requestedJid:A.query.join}),meta:{requiresAuth:!1}},{name:"guestRooms",path:"/guest/rooms",component:HP,meta:{requiresAuth:!1}},{name:"guestInRoom",path:"/guest/:jid",component:WP,props:A=>(oC().f[2]++,oC().s[7]++,{jid:A.params.jid}),meta:{requiresAuth:!1}}),oC().s[8]++,window.config.hasRegisteredAccess?oC().b[2][1]++:(oC().b[2][0]++,oC().s[9]++,bo.push({name:"home",path:"/",component:fd,props:A=>(oC().f[3]++,oC().s[10]++,{requestedJid:A.query.join}),meta:{requiresAuth:!1}}))):oC().b[1][1]++;const lh=(oC().s[11]++,Bv({history:Z5(),routes:bo}));oC().s[12]++;lh.beforeEach(A=>{if(oC().f[4]++,oC().s[13]++,A.matched.some(C=>(oC().f[5]++,oC().s[14]++,C.meta.requiresAuth))){if(oC().b[3][0]++,oC().s[15]++,localStorage.getItem("auth")===null)return oC().b[4][0]++,oC().s[16]++,{name:"login",query:{redirect:A.fullPath}};oC().b[4][1]++}else oC().b[3][1]++});function HC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/main.js",C="6a8d01204a5a83088546ca1cf9be74250edc7db0",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/main.js",statementMap:{0:{start:{line:16,column:0},end:{line:16,column:31}},1:{start:{line:17,column:0},end:{line:17,column:26}},2:{start:{line:19,column:14},end:{line:19,column:27}},3:{start:{line:20,column:12},end:{line:20,column:26}},4:{start:{line:22,column:0},end:{line:22,column:50}},5:{start:{line:23,column:0},end:{line:23,column:46}},6:{start:{line:24,column:0},end:{line:24,column:42}},7:{start:{line:26,column:0},end:{line:28,column:3}},8:{start:{line:27,column:2},end:{line:27,column:26}},9:{start:{line:29,column:0},end:{line:29,column:14}},10:{start:{line:30,column:0},end:{line:30,column:15}},11:{start:{line:32,column:14},end:{line:32,column:24}},12:{start:{line:33,column:0},end:{line:33,column:42}},13:{start:{line:35,column:0},end:{line:35,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:26,column:10},end:{line:26,column:11}},loc:{start:{line:26,column:16},end:{line:28,column:1}},line:26}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},f:{0:0},b:{},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/main.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6a8d01204a5a83088546ca1cf9be74250edc7db0"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return HC=function(){return s},s}HC();HC().s[0]++;y5({immediate:!0});HC().s[1]++;Nr.extend(ry);const ah=(HC().s[2]++,N2()),st=(HC().s[3]++,Up(lb));HC().s[4]++;st.use(iy,{...sy,iconPack:"fa"});HC().s[5]++;st.config.globalProperties.$xmpp=h5;HC().s[6]++;st.config.globalProperties.$dayjs=Nr;HC().s[7]++;ah.use(()=>(HC().f[0]++,HC().s[8]++,{$dayjs:Nr}));HC().s[9]++;st.use(ah);HC().s[10]++;st.use(lh);const YP=(HC().s[11]++,ZC());HC().s[12]++;st.config.globalProperties.$store=YP;HC().s[13]++;st.mount("#body"); diff --git a/classes/assets/index-126f0889.js.map b/classes/assets/index-126f0889.js.map new file mode 100644 index 0000000..4c2da6a --- /dev/null +++ b/classes/assets/index-126f0889.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"ssBAAA;AAAA;AAAA;AAAA;AAAA,GAKA,2BAEA,SAASA,GAAQC,EAAK,CACpB,MAAMC,EAAsB,OAAO,OAAO,IAAI,EAC9C,UAAWC,KAAOF,EAAI,MAAM,GAAG,EAAGC,EAAIC,CAAG,EAAI,EAC7C,OAAQC,GAAQA,KAAOF,CACzB,CAEA,MAAMG,GAA4E,GAC5EC,GAA4E,GAC5EC,GAAO,IAAM,CACnB,EACMC,GAAK,IAAM,GACXC,GAAQN,GAAQA,EAAI,WAAW,CAAC,IAAM,KAAOA,EAAI,WAAW,CAAC,IAAM,MACxEA,EAAI,WAAW,CAAC,EAAI,KAAOA,EAAI,WAAW,CAAC,EAAI,IAC1CO,GAAmBP,GAAQA,EAAI,WAAW,WAAW,EACrDQ,GAAS,OAAO,OAChBC,GAAS,CAACC,EAAKC,IAAO,CAC1B,MAAMC,EAAIF,EAAI,QAAQC,CAAE,EACpBC,EAAI,IACNF,EAAI,OAAOE,EAAG,CAAC,CAEnB,EACMC,GAAiB,OAAO,UAAU,eAClCC,GAAS,CAACb,EAAKD,IAAQa,GAAe,KAAKZ,EAAKD,CAAG,EACnDe,GAAU,MAAM,QAChBC,GAASf,GAAQgB,GAAahB,CAAG,IAAM,eACvCiB,GAASjB,GAAQgB,GAAahB,CAAG,IAAM,eACvCkB,GAAUlB,GAAQgB,GAAahB,CAAG,IAAM,gBAExCmB,GAAcnB,GAAQ,OAAOA,GAAQ,WACrCoB,GAAYpB,GAAQ,OAAOA,GAAQ,SACnCqB,GAAYrB,GAAQ,OAAOA,GAAQ,SACnCsB,GAAYtB,GAAQA,IAAQ,MAAQ,OAAOA,GAAQ,SACnDuB,GAAavB,IACTsB,GAAStB,CAAG,GAAKmB,GAAWnB,CAAG,IAAMmB,GAAWnB,EAAI,IAAI,GAAKmB,GAAWnB,EAAI,KAAK,EAErFwB,GAAiB,OAAO,UAAU,SAClCR,GAAgBS,GAAUD,GAAe,KAAKC,CAAK,EACnDC,GAAaD,GACVT,GAAaS,CAAK,EAAE,MAAM,EAAG,EAAE,EAElCE,GAAiB3B,GAAQgB,GAAahB,CAAG,IAAM,kBAC/C4B,GAAgB7B,GAAQqB,GAASrB,CAAG,GAAKA,IAAQ,OAASA,EAAI,CAAC,IAAM,KAAO,GAAK,SAASA,EAAK,EAAE,IAAMA,EACvG8B,GAAiCjC,GAErC,qIACF,EAIMkC,GAAuBC,GAAO,CAClC,MAAMC,EAAwB,OAAO,OAAO,IAAI,EAChD,OAAQnC,GACMmC,EAAMnC,CAAG,IACNmC,EAAMnC,CAAG,EAAIkC,EAAGlC,CAAG,EAEtC,EACMoC,GAAa,SACbC,GAAWJ,GACdjC,GACQA,EAAI,QAAQoC,GAAY,CAACE,EAAGC,IAAMA,EAAIA,EAAE,YAAa,EAAG,EAAE,CAErE,EACMC,GAAc,aACdC,GAAYR,GACfjC,GAAQA,EAAI,QAAQwC,GAAa,KAAK,EAAE,YAAa,CACxD,EACME,GAAaT,GAAqBjC,GAC/BA,EAAI,OAAO,CAAC,EAAE,YAAW,EAAKA,EAAI,MAAM,CAAC,CACjD,EACK2C,GAAeV,GAClBjC,GACWA,EAAM,KAAK0C,GAAW1C,CAAG,CAAC,GAAK,EAG7C,EACM4C,GAAa,CAAChB,EAAOiB,IAAa,CAAC,OAAO,GAAGjB,EAAOiB,CAAQ,EAC5DC,GAAiB,CAACC,KAAQC,IAAQ,CACtC,QAASlC,EAAI,EAAGA,EAAIiC,EAAI,OAAQjC,IAC9BiC,EAAIjC,CAAC,EAAE,GAAGkC,CAAG,CAEjB,EACMC,GAAM,CAACC,EAAKhD,EAAK0B,EAAOuB,EAAW,KAAU,CACjD,OAAO,eAAeD,EAAKhD,EAAK,CAC9B,aAAc,GACd,WAAY,GACZ,SAAAiD,EACA,MAAAvB,CACJ,CAAG,CACH,EACMwB,GAAiBjD,GAAQ,CAC7B,MAAMkD,EAAI,WAAWlD,CAAG,EACxB,OAAO,MAAMkD,CAAC,EAAIlD,EAAMkD,CAC1B,EACMC,GAAYnD,GAAQ,CACxB,MAAMkD,EAAI9B,GAASpB,CAAG,EAAI,OAAOA,CAAG,EAAI,IACxC,OAAO,MAAMkD,CAAC,EAAIlD,EAAMkD,CAC1B,EACA,IAAIE,GACJ,MAAMC,GAAgB,IACbD,KAAgBA,GAAc,OAAO,WAAe,IAAc,WAAa,OAAO,KAAS,IAAc,KAAO,OAAO,OAAW,IAAc,OAAS,OAAO,OAAW,IAAc,OAAS,IAiJ/M,SAASE,GAAe7B,EAAO,CAC7B,GAAIX,GAAQW,CAAK,EAAG,CAClB,MAAM8B,EAAM,GACZ,QAAS5C,EAAI,EAAGA,EAAIc,EAAM,OAAQd,IAAK,CACrC,MAAM6C,EAAO/B,EAAMd,CAAC,EACd8C,EAAarC,GAASoC,CAAI,EAAIE,GAAiBF,CAAI,EAAIF,GAAeE,CAAI,EAChF,GAAIC,EACF,UAAW1D,KAAO0D,EAChBF,EAAIxD,CAAG,EAAI0D,EAAW1D,CAAG,CAG9B,CACD,OAAOwD,CACR,SAAUnC,GAASK,CAAK,GAAKH,GAASG,CAAK,EAC1C,OAAOA,CAEX,CACA,MAAMkC,GAAkB,gBAClBC,GAAsB,UACtBC,GAAiB,iBACvB,SAASH,GAAiBI,EAAS,CACjC,MAAMC,EAAM,GACZ,OAAAD,EAAQ,QAAQD,GAAgB,EAAE,EAAE,MAAMF,EAAe,EAAE,QAASH,GAAS,CAC3E,GAAIA,EAAM,CACR,MAAMQ,EAAMR,EAAK,MAAMI,EAAmB,EAC1CI,EAAI,OAAS,IAAMD,EAAIC,EAAI,CAAC,EAAE,KAAI,CAAE,EAAIA,EAAI,CAAC,EAAE,KAAM,EACtD,CACL,CAAG,EACMD,CACT,CAcA,SAASE,GAAexC,EAAO,CAC7B,IAAI8B,EAAM,GACV,GAAInC,GAASK,CAAK,EAChB8B,EAAM9B,UACGX,GAAQW,CAAK,EACtB,QAASd,EAAI,EAAGA,EAAIc,EAAM,OAAQd,IAAK,CACrC,MAAM8C,EAAaQ,GAAexC,EAAMd,CAAC,CAAC,EACtC8C,IACFF,GAAOE,EAAa,IAEvB,SACQnC,GAASG,CAAK,EACvB,UAAWyC,KAAQzC,EACbA,EAAMyC,CAAI,IACZX,GAAOW,EAAO,KAIpB,OAAOX,EAAI,MACb,CAsBA,MAAMY,GAAsB,8EACtBC,GAAuCxE,GAAQuE,EAAmB,EAIxE,SAASE,GAAmB5C,EAAO,CACjC,MAAO,CAAC,CAACA,GAASA,IAAU,EAC9B,CAuFA,SAAS6C,GAAmBC,EAAGC,EAAG,CAChC,GAAID,EAAE,SAAWC,EAAE,OAAQ,MAAO,GAClC,IAAIC,EAAQ,GACZ,QAAS9D,EAAI,EAAG8D,GAAS9D,EAAI4D,EAAE,OAAQ5D,IACrC8D,EAAQC,GAAWH,EAAE5D,CAAC,EAAG6D,EAAE7D,CAAC,CAAC,EAE/B,OAAO8D,CACT,CACA,SAASC,GAAWH,EAAGC,EAAG,CACxB,GAAID,IAAMC,EAAG,MAAO,GACpB,IAAIG,EAAazD,GAAOqD,CAAC,EACrBK,EAAa1D,GAAOsD,CAAC,EACzB,GAAIG,GAAcC,EAChB,OAAOD,GAAcC,EAAaL,EAAE,QAAS,IAAKC,EAAE,QAAS,EAAG,GAIlE,GAFAG,EAAatD,GAASkD,CAAC,EACvBK,EAAavD,GAASmD,CAAC,EACnBG,GAAcC,EAChB,OAAOL,IAAMC,EAIf,GAFAG,EAAa7D,GAAQyD,CAAC,EACtBK,EAAa9D,GAAQ0D,CAAC,EAClBG,GAAcC,EAChB,OAAOD,GAAcC,EAAaN,GAAmBC,EAAGC,CAAC,EAAI,GAI/D,GAFAG,EAAarD,GAASiD,CAAC,EACvBK,EAAatD,GAASkD,CAAC,EACnBG,GAAcC,EAAY,CAC5B,GAAI,CAACD,GAAc,CAACC,EAClB,MAAO,GAET,MAAMC,EAAa,OAAO,KAAKN,CAAC,EAAE,OAC5BO,EAAa,OAAO,KAAKN,CAAC,EAAE,OAClC,GAAIK,IAAeC,EACjB,MAAO,GAET,UAAW/E,KAAOwE,EAAG,CACnB,MAAMQ,EAAUR,EAAE,eAAexE,CAAG,EAC9BiF,EAAUR,EAAE,eAAezE,CAAG,EACpC,GAAIgF,GAAW,CAACC,GAAW,CAACD,GAAWC,GAAW,CAACN,GAAWH,EAAExE,CAAG,EAAGyE,EAAEzE,CAAG,CAAC,EAC1E,MAAO,EAEV,CACF,CACD,OAAO,OAAOwE,CAAC,IAAM,OAAOC,CAAC,CAC/B,CACA,SAASS,GAAaxE,EAAKT,EAAK,CAC9B,OAAOS,EAAI,UAAW+C,GAASkB,GAAWlB,EAAMxD,CAAG,CAAC,CACtD,CAEA,MAAMkF,GAASlF,GACN,CAAC,EAAEA,GAAOA,EAAI,YAAiB,IAElCmF,GAAmBnF,GAChBoB,GAASpB,CAAG,EAAIA,EAAMA,GAAO,KAAO,GAAKc,GAAQd,CAAG,GAAKsB,GAAStB,CAAG,IAAMA,EAAI,WAAawB,IAAkB,CAACL,GAAWnB,EAAI,QAAQ,GAAKkF,GAAMlF,CAAG,EAAImF,GAAgBnF,EAAI,KAAK,EAAI,KAAK,UAAUA,EAAKoF,GAAU,CAAC,EAAI,OAAOpF,CAAG,EAErOoF,GAAW,CAACC,EAAMrF,IAClBkF,GAAMlF,CAAG,EACJoF,GAASC,EAAMrF,EAAI,KAAK,EACtBe,GAAMf,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,QAAS,GAAE,OACvC,CAACsF,EAAS,CAACvF,EAAKwF,CAAI,EAAG,KACrBD,EAAQE,GAAgBzF,EAAK,CAAC,EAAI,KAAK,EAAIwF,EACpCD,GAET,CAAE,CACH,CACP,EACarE,GAAMjB,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,OAAQ,GAAE,IAAKyF,GAAMD,GAAgBC,CAAC,CAAC,CAC3E,EACapE,GAASrB,CAAG,EACdwF,GAAgBxF,CAAG,EACjBsB,GAAStB,CAAG,GAAK,CAACc,GAAQd,CAAG,GAAK,CAAC2B,GAAc3B,CAAG,EACtD,OAAOA,CAAG,EAEZA,EAEHwF,GAAkB,CAACC,EAAG9E,EAAI,KAAO,CACrC,IAAI+E,EACJ,OAGErE,GAASoE,CAAC,EAAI,WAAWC,EAAKD,EAAE,cAAgB,KAAOC,EAAK/E,CAAC,IAAM8E,CAEvE,ECpgBA;AAAA;AAAA;AAAA;AAAA,GAWA,IAAIE,GACJ,MAAMC,EAAY,CAChB,YAAYC,EAAW,GAAO,CAC5B,KAAK,SAAWA,EAIhB,KAAK,QAAU,GAIf,KAAK,IAAM,EAIX,KAAK,QAAU,GAIf,KAAK,SAAW,GAChB,KAAK,UAAY,GACjB,KAAK,OAASF,GACV,CAACE,GAAYF,KACf,KAAK,OAASA,GAAkB,SAAWA,GAAkB,OAAS,CAAE,IAAG,KACzE,IACD,EAAG,EAEP,CACD,IAAI,QAAS,CACX,OAAO,KAAK,OACb,CACD,OAAQ,CACN,GAAI,KAAK,QAAS,CAChB,KAAK,UAAY,GACjB,IAAIhF,EAAGmF,EACP,GAAI,KAAK,OACP,IAAKnF,EAAI,EAAGmF,EAAI,KAAK,OAAO,OAAQnF,EAAImF,EAAGnF,IACzC,KAAK,OAAOA,CAAC,EAAE,MAAK,EAGxB,IAAKA,EAAI,EAAGmF,EAAI,KAAK,QAAQ,OAAQnF,EAAImF,EAAGnF,IAC1C,KAAK,QAAQA,CAAC,EAAE,MAAK,CAExB,CACF,CAID,QAAS,CACP,GAAI,KAAK,SACH,KAAK,UAAW,CAClB,KAAK,UAAY,GACjB,IAAIA,EAAGmF,EACP,GAAI,KAAK,OACP,IAAKnF,EAAI,EAAGmF,EAAI,KAAK,OAAO,OAAQnF,EAAImF,EAAGnF,IACzC,KAAK,OAAOA,CAAC,EAAE,OAAM,EAGzB,IAAKA,EAAI,EAAGmF,EAAI,KAAK,QAAQ,OAAQnF,EAAImF,EAAGnF,IAC1C,KAAK,QAAQA,CAAC,EAAE,OAAM,CAEzB,CAEJ,CACD,IAAIoB,EAAI,CACN,GAAI,KAAK,QAAS,CAChB,MAAMgE,EAAqBJ,GAC3B,GAAI,CACF,OAAAA,GAAoB,KACb5D,EAAE,CACjB,QAAgB,CACR4D,GAAoBI,CACrB,CAGF,CACF,CAKD,IAAK,CACC,EAAE,KAAK,MAAQ,IACjB,KAAK,UAAYJ,GACjBA,GAAoB,KAEvB,CAKD,KAAM,CACA,KAAK,IAAM,GAAK,EAAE,KAAK,MAAQ,IACjCA,GAAoB,KAAK,UACzB,KAAK,UAAY,OAEpB,CACD,KAAKK,EAAY,CACf,GAAI,KAAK,QAAS,CAChB,KAAK,QAAU,GACf,IAAIrF,EAAGmF,EACP,IAAKnF,EAAI,EAAGmF,EAAI,KAAK,QAAQ,OAAQnF,EAAImF,EAAGnF,IAC1C,KAAK,QAAQA,CAAC,EAAE,KAAI,EAGtB,IADA,KAAK,QAAQ,OAAS,EACjBA,EAAI,EAAGmF,EAAI,KAAK,SAAS,OAAQnF,EAAImF,EAAGnF,IAC3C,KAAK,SAASA,CAAC,IAGjB,GADA,KAAK,SAAS,OAAS,EACnB,KAAK,OAAQ,CACf,IAAKA,EAAI,EAAGmF,EAAI,KAAK,OAAO,OAAQnF,EAAImF,EAAGnF,IACzC,KAAK,OAAOA,CAAC,EAAE,KAAK,EAAI,EAE1B,KAAK,OAAO,OAAS,CACtB,CACD,GAAI,CAAC,KAAK,UAAY,KAAK,QAAU,CAACqF,EAAY,CAChD,MAAMC,EAAO,KAAK,OAAO,OAAO,IAAG,EAC/BA,GAAQA,IAAS,OACnB,KAAK,OAAO,OAAO,KAAK,KAAK,EAAIA,EACjCA,EAAK,MAAQ,KAAK,MAErB,CACD,KAAK,OAAS,MACf,CACF,CACH,CACA,SAASC,GAAYL,EAAU,CAC7B,OAAO,IAAID,GAAYC,CAAQ,CACjC,CACA,SAASM,IAAkB,CACzB,OAAOR,EACT,CACA,SAASS,GAAerE,EAAIsE,EAAe,GAAO,CAC5CV,IACFA,GAAkB,SAAS,KAAK5D,CAAE,CAMtC,CAEA,IAAIuE,GAmBJ,MAAMC,GAAqC,IAAI,QAC/C,MAAMC,EAAe,CACnB,YAAYzE,EAAI,CACd,KAAK,GAAKA,EAIV,KAAK,KAAO,OAIZ,KAAK,SAAW,OAIhB,KAAK,MAAQ,EAIb,KAAK,KAAO,OAIZ,KAAK,QAAU,OACf,KAAK,UAAY,OACb4D,IAAqBA,GAAkB,QACzCA,GAAkB,QAAQ,KAAK,IAAI,CAEtC,CACD,OAAQ,CACN,KAAK,OAAS,EACf,CACD,QAAS,CACH,KAAK,MAAQ,KACf,KAAK,OAAS,IACVY,GAAmB,IAAI,IAAI,IAC7BA,GAAmB,OAAO,IAAI,EAC9B,KAAK,QAAO,GAGjB,CAID,QAAS,CACH,KAAK,MAAQ,GAAK,EAAE,KAAK,MAAQ,KAG/B,KAAK,MAAQ,GACjBE,GAAM,IAAI,CAEb,CACD,KAAM,CACJ,GAAI,EAAE,KAAK,MAAQ,GACjB,OAAO,KAAK,KAEd,KAAK,OAAS,EACdC,GAAc,IAAI,EAClBC,GAAY,IAAI,EAChB,MAAMC,EAAaN,GACbO,EAAkBC,GACxBR,GAAY,KACZQ,GAAc,GACd,GAAI,CACF,OAAO,KAAK,IAClB,QAAc,CAMRC,GAAY,IAAI,EAChBT,GAAYM,EACZE,GAAcD,EACd,KAAK,OAAS,EACf,CACF,CACD,MAAO,CACL,GAAI,KAAK,MAAQ,EAAG,CAClB,QAASG,EAAO,KAAK,KAAMA,EAAMA,EAAOA,EAAK,QAC3CC,GAAUD,CAAI,EAEhB,KAAK,KAAO,KAAK,SAAW,OAC5BN,GAAc,IAAI,EAClB,KAAK,QAAU,KAAK,SACpB,KAAK,OAAS,EACf,CACF,CACD,SAAU,CACJ,KAAK,MAAQ,GACfH,GAAmB,IAAI,IAAI,EAClB,KAAK,UACd,KAAK,UAAS,EAEd,KAAK,WAAU,CAElB,CAID,YAAa,CACPW,GAAQ,IAAI,GACd,KAAK,IAAG,CAEX,CACD,IAAI,OAAQ,CACV,OAAOA,GAAQ,IAAI,CACpB,CACH,CACA,IAAIC,GAAa,EACbC,GACAC,GACJ,SAASZ,GAAMa,EAAKC,EAAa,GAAO,CAEtC,GADAD,EAAI,OAAS,EACTC,EAAY,CACdD,EAAI,KAAOD,GACXA,GAAkBC,EAClB,MACD,CACDA,EAAI,KAAOF,GACXA,GAAaE,CACf,CACA,SAASE,IAAa,CACpBL,IACF,CACA,SAASM,IAAW,CAClB,GAAI,EAAEN,GAAa,EACjB,OAEF,GAAIE,GAAiB,CACnB,IAAIK,EAAIL,GAER,IADAA,GAAkB,OACXK,GAAG,CACR,MAAMC,EAAOD,EAAE,KACfA,EAAE,KAAO,OACTA,EAAE,OAAS,GACXA,EAAIC,CACL,CACF,CACD,IAAIC,EACJ,KAAOR,IAAY,CACjB,IAAIM,EAAIN,GAER,IADAA,GAAa,OACNM,GAAG,CACR,MAAMC,EAAOD,EAAE,KAGf,GAFAA,EAAE,KAAO,OACTA,EAAE,OAAS,GACPA,EAAE,MAAQ,EACZ,GAAI,CAEFA,EAAE,QAAO,CACV,OAAQG,EAAK,CACPD,IAAOA,EAAQC,EACrB,CAEHH,EAAIC,CACL,CACF,CACD,GAAIC,EAAO,MAAMA,CACnB,CACA,SAASjB,GAAYW,EAAK,CACxB,QAASN,EAAOM,EAAI,KAAMN,EAAMA,EAAOA,EAAK,QAC1CA,EAAK,QAAU,GACfA,EAAK,eAAiBA,EAAK,IAAI,WAC/BA,EAAK,IAAI,WAAaA,CAE1B,CACA,SAASD,GAAYO,EAAK,CACxB,IAAIQ,EACAC,EAAOT,EAAI,SACXN,EAAOe,EACX,KAAOf,GAAM,CACX,MAAMgB,EAAOhB,EAAK,QACdA,EAAK,UAAY,IACfA,IAASe,IAAMA,EAAOC,GAC1Bf,GAAUD,CAAI,EACdiB,GAAUjB,CAAI,GAEdc,EAAOd,EAETA,EAAK,IAAI,WAAaA,EAAK,eAC3BA,EAAK,eAAiB,OACtBA,EAAOgB,CACR,CACDV,EAAI,KAAOQ,EACXR,EAAI,SAAWS,CACjB,CACA,SAASb,GAAQI,EAAK,CACpB,QAASN,EAAOM,EAAI,KAAMN,EAAMA,EAAOA,EAAK,QAC1C,GAAIA,EAAK,IAAI,UAAYA,EAAK,SAAWA,EAAK,IAAI,WAAakB,GAAgBlB,EAAK,IAAI,QAAQ,GAAKA,EAAK,IAAI,UAAYA,EAAK,SAC7H,MAAO,GAGX,MAAI,EAAAM,EAAI,MAIV,CACA,SAASY,GAAgBC,EAAU,CASjC,GARIA,EAAS,MAAQ,GAAK,EAAEA,EAAS,MAAQ,MAG7CA,EAAS,OAAS,IACdA,EAAS,gBAAkBC,MAG/BD,EAAS,cAAgBC,GACrB,CAACD,EAAS,OAASA,EAAS,MAAQ,MAAQ,CAACA,EAAS,MAAQ,CAACA,EAAS,QAAU,CAACjB,GAAQiB,CAAQ,IACrG,OAEFA,EAAS,OAAS,EAClB,MAAME,EAAMF,EAAS,IACfG,EAAUhC,GACVO,EAAkBC,GACxBR,GAAY6B,EACZrB,GAAc,GACd,GAAI,CACFH,GAAYwB,CAAQ,EACpB,MAAM1G,EAAQ0G,EAAS,GAAGA,EAAS,MAAM,GACrCE,EAAI,UAAY,GAAK5F,GAAWhB,EAAO0G,EAAS,MAAM,KACxDA,EAAS,OAAS,IAClBA,EAAS,OAAS1G,EAClB4G,EAAI,UAEP,OAAQR,EAAK,CACZ,MAAAQ,EAAI,UACER,CACV,QAAY,CACRvB,GAAYgC,EACZxB,GAAcD,EACdE,GAAYoB,CAAQ,EACpBA,EAAS,OAAS,EACnB,CACH,CACA,SAASlB,GAAUD,EAAMuB,EAAO,GAAO,CACrC,KAAM,CAAE,IAAAF,EAAK,QAAAC,EAAS,QAAAE,CAAO,EAAKxB,EAYlC,GAXIsB,IACFA,EAAQ,QAAUE,EAClBxB,EAAK,QAAU,QAEbwB,IACFA,EAAQ,QAAUF,EAClBtB,EAAK,QAAU,QAKbqB,EAAI,OAASrB,IACfqB,EAAI,KAAOC,EACP,CAACA,GAAWD,EAAI,UAAU,CAC5BA,EAAI,SAAS,OAAS,GACtB,QAASvC,EAAIuC,EAAI,SAAS,KAAMvC,EAAGA,EAAIA,EAAE,QACvCmB,GAAUnB,EAAG,EAAI,CAEpB,CAEC,CAACyC,GAAQ,CAAC,EAAEF,EAAI,IAAMA,EAAI,KAC5BA,EAAI,IAAI,OAAOA,EAAI,GAAG,CAE1B,CACA,SAASJ,GAAUjB,EAAM,CACvB,KAAM,CAAE,QAAAyB,EAAS,QAAAC,CAAS,EAAG1B,EACzByB,IACFA,EAAQ,QAAUC,EAClB1B,EAAK,QAAU,QAEb0B,IACFA,EAAQ,QAAUD,EAClBzB,EAAK,QAAU,OAEnB,CAsBA,IAAIF,GAAc,GAClB,MAAM6B,GAAa,GACnB,SAASC,IAAgB,CACvBD,GAAW,KAAK7B,EAAW,EAC3BA,GAAc,EAChB,CAKA,SAAS+B,IAAgB,CACvB,MAAM5C,EAAO0C,GAAW,MACxB7B,GAAcb,IAAS,OAAS,GAAOA,CACzC,CAUA,SAASS,GAAcgB,EAAG,CACxB,KAAM,CAAE,QAAAoB,CAAS,EAAGpB,EAEpB,GADAA,EAAE,QAAU,OACRoB,EAAS,CACX,MAAMR,EAAUhC,GAChBA,GAAY,OACZ,GAAI,CACFwC,GACN,QAAc,CACRxC,GAAYgC,CACb,CACF,CACH,CAEA,IAAIF,GAAgB,EACpB,MAAMW,EAAK,CACT,YAAYzB,EAAKe,EAAK,CACpB,KAAK,IAAMf,EACX,KAAK,IAAMe,EACX,KAAK,QAAUA,EAAI,QACnB,KAAK,QAAU,KAAK,QAAU,KAAK,QAAU,KAAK,QAAU,KAAK,eAAiB,MACnF,CACH,CACA,MAAMW,EAAI,CACR,YAAYb,EAAU,CACpB,KAAK,SAAWA,EAChB,KAAK,QAAU,EAIf,KAAK,WAAa,OAIlB,KAAK,KAAO,OAIZ,KAAK,IAAM,OACX,KAAK,IAAM,OAIX,KAAK,GAAK,CAIX,CACD,MAAMc,EAAW,CACf,GAAI,CAAC3C,IAAa,CAACQ,IAAeR,KAAc,KAAK,SACnD,OAEF,IAAIU,EAAO,KAAK,WAChB,GAAIA,IAAS,QAAUA,EAAK,MAAQV,GAClCU,EAAO,KAAK,WAAa,IAAI+B,GAAKzC,GAAW,IAAI,EAC5CA,GAAU,MAGbU,EAAK,QAAUV,GAAU,SACzBA,GAAU,SAAS,QAAUU,EAC7BV,GAAU,SAAWU,GAJrBV,GAAU,KAAOA,GAAU,SAAWU,EAMxCkC,GAAOlC,CAAI,UACFA,EAAK,UAAY,KAC1BA,EAAK,QAAU,KAAK,QAChBA,EAAK,SAAS,CAChB,MAAMW,EAAOX,EAAK,QAClBW,EAAK,QAAUX,EAAK,QAChBA,EAAK,UACPA,EAAK,QAAQ,QAAUW,GAEzBX,EAAK,QAAUV,GAAU,SACzBU,EAAK,QAAU,OACfV,GAAU,SAAS,QAAUU,EAC7BV,GAAU,SAAWU,EACjBV,GAAU,OAASU,IACrBV,GAAU,KAAOqB,EAEpB,CAYH,OAAOX,CACR,CACD,QAAQiC,EAAW,CACjB,KAAK,UACLb,KACA,KAAK,OAAOa,CAAS,CACtB,CACD,OAAOA,EAAW,CAChBzB,KACA,GAAI,CAeF,QAASR,EAAO,KAAK,KAAMA,EAAMA,EAAOA,EAAK,QACvCA,EAAK,IAAI,UAEXA,EAAK,IAAI,IAAI,QAGvB,QAAc,CACRS,IACD,CACF,CACH,CACA,SAASyB,GAAOlC,EAAM,CAEpB,GADAA,EAAK,IAAI,KACLA,EAAK,IAAI,MAAQ,EAAG,CACtB,MAAMmB,EAAWnB,EAAK,IAAI,SAC1B,GAAImB,GAAY,CAACnB,EAAK,IAAI,KAAM,CAC9BmB,EAAS,OAAS,GAClB,QAASrC,EAAIqC,EAAS,KAAMrC,EAAGA,EAAIA,EAAE,QACnCoD,GAAOpD,CAAC,CAEX,CACD,MAAMqD,EAAcnC,EAAK,IAAI,KACzBmC,IAAgBnC,IAClBA,EAAK,QAAUmC,EACXA,IAAaA,EAAY,QAAUnC,IAKzCA,EAAK,IAAI,KAAOA,CACjB,CACH,CACA,MAAMoC,GAA4B,IAAI,QAChCC,GAAc,OAC6C,EACjE,EACMC,GAAsB,OACuC,EACnE,EACMC,GAAoB,OACsC,EAChE,EACA,SAASC,GAAMC,EAAQC,EAAM3J,EAAK,CAChC,GAAI+G,IAAeR,GAAW,CAC5B,IAAIqD,EAAUP,GAAU,IAAIK,CAAM,EAC7BE,GACHP,GAAU,IAAIK,EAAQE,EAA0B,IAAI,GAAK,EAE3D,IAAItB,EAAMsB,EAAQ,IAAI5J,CAAG,EACpBsI,IACHsB,EAAQ,IAAI5J,EAAKsI,EAAM,IAAIW,EAAK,EAChCX,EAAI,IAAMsB,EACVtB,EAAI,IAAMtI,GASVsI,EAAI,MAAK,CAEZ,CACH,CACA,SAASuB,GAAQH,EAAQC,EAAM3J,EAAK8J,EAAUnH,EAAUoH,EAAW,CACjE,MAAMH,EAAUP,GAAU,IAAIK,CAAM,EACpC,GAAI,CAACE,EAAS,CACZvB,KACA,MACD,CACD,MAAM2B,EAAO1B,GAAQ,CACfA,GAWAA,EAAI,QAAO,CAGnB,EAEE,GADAb,KACIkC,IAAS,QACXC,EAAQ,QAAQI,CAAG,MACd,CACL,MAAMC,EAAgBlJ,GAAQ2I,CAAM,EAC9BQ,EAAeD,GAAiBpI,GAAa7B,CAAG,EACtD,GAAIiK,GAAiBjK,IAAQ,SAAU,CACrC,MAAMmK,EAAY,OAAOL,CAAQ,EACjCF,EAAQ,QAAQ,CAACtB,EAAK8B,IAAS,EACzBA,IAAS,UAAYA,IAASZ,IAAqB,CAAClI,GAAS8I,CAAI,GAAKA,GAAQD,IAChFH,EAAI1B,CAAG,CAEjB,CAAO,CACP,KAOM,SANItI,IAAQ,QAAU4J,EAAQ,IAAI,MAAM,IACtCI,EAAIJ,EAAQ,IAAI5J,CAAG,CAAC,EAElBkK,GACFF,EAAIJ,EAAQ,IAAIJ,EAAiB,CAAC,EAE5BG,EAAI,CACV,IAAK,MACEM,EAKMC,GACTF,EAAIJ,EAAQ,IAAI,QAAQ,CAAC,GALzBI,EAAIJ,EAAQ,IAAIN,EAAW,CAAC,EACxBtI,GAAM0I,CAAM,GACdM,EAAIJ,EAAQ,IAAIL,EAAmB,CAAC,GAKxC,MACF,IAAK,SACEU,IACHD,EAAIJ,EAAQ,IAAIN,EAAW,CAAC,EACxBtI,GAAM0I,CAAM,GACdM,EAAIJ,EAAQ,IAAIL,EAAmB,CAAC,GAGxC,MACF,IAAK,MACCvI,GAAM0I,CAAM,GACdM,EAAIJ,EAAQ,IAAIN,EAAW,CAAC,EAE9B,KACH,CAEJ,CACD5B,IACF,CACA,SAAS2C,GAAmBC,EAAQtK,EAAK,CACvC,MAAMuK,EAASlB,GAAU,IAAIiB,CAAM,EACnC,OAAOC,GAAUA,EAAO,IAAIvK,CAAG,CACjC,CAEA,SAASwK,GAAkBC,EAAO,CAChC,MAAMC,EAAMC,GAAMF,CAAK,EACvB,OAAIC,IAAQD,EAAcC,GAC1BjB,GAAMiB,EAAK,UAAWlB,EAAiB,EAChCoB,GAAUH,CAAK,EAAIC,EAAMA,EAAI,IAAIG,EAAU,EACpD,CACA,SAASC,GAAiBpK,EAAK,CAC7B,OAAA+I,GAAM/I,EAAMiK,GAAMjK,CAAG,EAAG,UAAW8I,EAAiB,EAC7C9I,CACT,CACA,MAAMqK,GAAwB,CAC5B,UAAW,KACX,CAAC,OAAO,QAAQ,GAAI,CAClB,OAAOC,GAAS,KAAM,OAAO,SAAUH,EAAU,CAClD,EACD,UAAUI,EAAM,CACd,OAAOT,GAAkB,IAAI,EAAE,OAC7B,GAAGS,EAAK,IAAKC,GAAMnK,GAAQmK,CAAC,EAAIV,GAAkBU,CAAC,EAAIA,CAAC,CAC9D,CACG,EACD,SAAU,CACR,OAAOF,GAAS,KAAM,UAAYtJ,IAChCA,EAAM,CAAC,EAAImJ,GAAWnJ,EAAM,CAAC,CAAC,EACvBA,EACR,CACF,EACD,MAAMM,EAAImJ,EAAS,CACjB,OAAOC,GAAM,KAAM,QAASpJ,EAAImJ,EAAS,OAAQ,SAAS,CAC3D,EACD,OAAOnJ,EAAImJ,EAAS,CAClB,OAAOC,GAAM,KAAM,SAAUpJ,EAAImJ,EAAUzF,GAAMA,EAAE,IAAImF,EAAU,EAAG,SAAS,CAC9E,EACD,KAAK7I,EAAImJ,EAAS,CAChB,OAAOC,GAAM,KAAM,OAAQpJ,EAAImJ,EAASN,GAAY,SAAS,CAC9D,EACD,UAAU7I,EAAImJ,EAAS,CACrB,OAAOC,GAAM,KAAM,YAAapJ,EAAImJ,EAAS,OAAQ,SAAS,CAC/D,EACD,SAASnJ,EAAImJ,EAAS,CACpB,OAAOC,GAAM,KAAM,WAAYpJ,EAAImJ,EAASN,GAAY,SAAS,CAClE,EACD,cAAc7I,EAAImJ,EAAS,CACzB,OAAOC,GAAM,KAAM,gBAAiBpJ,EAAImJ,EAAS,OAAQ,SAAS,CACnE,EAED,QAAQnJ,EAAImJ,EAAS,CACnB,OAAOC,GAAM,KAAM,UAAWpJ,EAAImJ,EAAS,OAAQ,SAAS,CAC7D,EACD,YAAYF,EAAM,CAChB,OAAOI,GAAY,KAAM,WAAYJ,CAAI,CAC1C,EACD,WAAWA,EAAM,CACf,OAAOI,GAAY,KAAM,UAAWJ,CAAI,CACzC,EACD,KAAKK,EAAW,CACd,OAAOd,GAAkB,IAAI,EAAE,KAAKc,CAAS,CAC9C,EAED,eAAeL,EAAM,CACnB,OAAOI,GAAY,KAAM,cAAeJ,CAAI,CAC7C,EACD,IAAIjJ,EAAImJ,EAAS,CACf,OAAOC,GAAM,KAAM,MAAOpJ,EAAImJ,EAAS,OAAQ,SAAS,CACzD,EACD,KAAM,CACJ,OAAOI,GAAW,KAAM,KAAK,CAC9B,EACD,QAAQN,EAAM,CACZ,OAAOM,GAAW,KAAM,OAAQN,CAAI,CACrC,EACD,OAAOjJ,KAAOiJ,EAAM,CAClB,OAAOO,GAAO,KAAM,SAAUxJ,EAAIiJ,CAAI,CACvC,EACD,YAAYjJ,KAAOiJ,EAAM,CACvB,OAAOO,GAAO,KAAM,cAAexJ,EAAIiJ,CAAI,CAC5C,EACD,OAAQ,CACN,OAAOM,GAAW,KAAM,OAAO,CAChC,EAED,KAAKvJ,EAAImJ,EAAS,CAChB,OAAOC,GAAM,KAAM,OAAQpJ,EAAImJ,EAAS,OAAQ,SAAS,CAC1D,EACD,UAAUF,EAAM,CACd,OAAOM,GAAW,KAAM,SAAUN,CAAI,CACvC,EACD,YAAa,CACX,OAAOT,GAAkB,IAAI,EAAE,YAChC,EACD,SAASiB,EAAU,CACjB,OAAOjB,GAAkB,IAAI,EAAE,SAASiB,CAAQ,CACjD,EACD,aAAaR,EAAM,CACjB,OAAOT,GAAkB,IAAI,EAAE,UAAU,GAAGS,CAAI,CACjD,EACD,WAAWA,EAAM,CACf,OAAOM,GAAW,KAAM,UAAWN,CAAI,CACxC,EACD,QAAS,CACP,OAAOD,GAAS,KAAM,SAAUH,EAAU,CAC3C,CACH,EACA,SAASG,GAASU,EAAMC,EAAQC,EAAW,CACzC,MAAMlL,EAAMoK,GAAiBY,CAAI,EAC3BG,EAAOnL,EAAIiL,CAAM,IACvB,OAAIjL,IAAQgL,GAAQ,CAACd,GAAUc,CAAI,IACjCG,EAAK,MAAQA,EAAK,KAClBA,EAAK,KAAO,IAAM,CAChB,MAAMC,EAASD,EAAK,QACpB,OAAIC,EAAO,QACTA,EAAO,MAAQF,EAAUE,EAAO,KAAK,GAEhCA,CACb,GAESD,CACT,CACA,MAAME,GAAa,MAAM,UACzB,SAASX,GAAMM,EAAMC,EAAQ3J,EAAImJ,EAASa,EAAcf,EAAM,CAC5D,MAAMvK,EAAMoK,GAAiBY,CAAI,EAC3BO,EAAYvL,IAAQgL,GAAQ,CAACd,GAAUc,CAAI,EAC3CQ,EAAWxL,EAAIiL,CAAM,EAC3B,GAAIO,IAAaH,GAAWJ,CAAM,EAAG,CACnC,MAAMQ,EAAUD,EAAS,MAAMR,EAAMT,CAAI,EACzC,OAAOgB,EAAYpB,GAAWsB,CAAO,EAAIA,CAC1C,CACD,IAAIC,EAAYpK,EACZtB,IAAQgL,IACNO,EACFG,EAAY,SAAS3I,EAAM4I,EAAO,CAChC,OAAOrK,EAAG,KAAK,KAAM6I,GAAWpH,CAAI,EAAG4I,EAAOX,CAAI,CAC1D,EACe1J,EAAG,OAAS,IACrBoK,EAAY,SAAS3I,EAAM4I,EAAO,CAChC,OAAOrK,EAAG,KAAK,KAAMyB,EAAM4I,EAAOX,CAAI,CAC9C,IAGE,MAAMI,EAASI,EAAS,KAAKxL,EAAK0L,EAAWjB,CAAO,EACpD,OAAOc,GAAaD,EAAeA,EAAaF,CAAM,EAAIA,CAC5D,CACA,SAASN,GAAOE,EAAMC,EAAQ3J,EAAIiJ,EAAM,CACtC,MAAMvK,EAAMoK,GAAiBY,CAAI,EACjC,IAAIU,EAAYpK,EAChB,OAAItB,IAAQgL,IACLd,GAAUc,CAAI,EAIR1J,EAAG,OAAS,IACrBoK,EAAY,SAASE,EAAK7I,EAAM4I,EAAO,CACrC,OAAOrK,EAAG,KAAK,KAAMsK,EAAK7I,EAAM4I,EAAOX,CAAI,CACnD,GANMU,EAAY,SAASE,EAAK7I,EAAM4I,EAAO,CACrC,OAAOrK,EAAG,KAAK,KAAMsK,EAAKzB,GAAWpH,CAAI,EAAG4I,EAAOX,CAAI,CAC/D,GAOShL,EAAIiL,CAAM,EAAES,EAAW,GAAGnB,CAAI,CACvC,CACA,SAASI,GAAYK,EAAMC,EAAQV,EAAM,CACvC,MAAMvK,EAAMiK,GAAMe,CAAI,EACtBjC,GAAM/I,EAAK,UAAW8I,EAAiB,EACvC,MAAMhG,EAAM9C,EAAIiL,CAAM,EAAE,GAAGV,CAAI,EAC/B,OAAKzH,IAAQ,IAAMA,IAAQ,KAAU+I,GAAQtB,EAAK,CAAC,CAAC,GAClDA,EAAK,CAAC,EAAIN,GAAMM,EAAK,CAAC,CAAC,EAChBvK,EAAIiL,CAAM,EAAE,GAAGV,CAAI,GAErBzH,CACT,CACA,SAAS+H,GAAWG,EAAMC,EAAQV,EAAO,GAAI,CAC3CpC,KACApB,KACA,MAAMjE,EAAMmH,GAAMe,CAAI,EAAEC,CAAM,EAAE,MAAMD,EAAMT,CAAI,EAChD,OAAAvD,KACAoB,KACOtF,CACT,CAEA,MAAMgJ,GAAqC3M,GAAQ,6BAA6B,EAC1E4M,GAAiB,IAAI,IACT,OAAO,oBAAoB,MAAM,EAAE,OAAQzM,GAAQA,IAAQ,aAAeA,IAAQ,QAAQ,EAAE,IAAKA,GAAQ,OAAOA,CAAG,CAAC,EAAE,OAAOsB,EAAQ,CACvJ,EACA,SAAST,GAAeb,EAAK,CACtBsB,GAAStB,CAAG,IAAGA,EAAM,OAAOA,CAAG,GACpC,MAAMgD,EAAM2H,GAAM,IAAI,EACtB,OAAAlB,GAAMzG,EAAK,MAAOhD,CAAG,EACdgD,EAAI,eAAehD,CAAG,CAC/B,CACA,MAAM0M,EAAoB,CACxB,YAAYC,EAAc,GAAOC,EAAa,GAAO,CACnD,KAAK,YAAcD,EACnB,KAAK,WAAaC,CACnB,CACD,IAAIlD,EAAQ1J,EAAK6M,EAAU,CACzB,GAAI7M,IAAQ,WAAY,OAAO0J,EAAO,SACtC,MAAMoD,EAAc,KAAK,YAAaC,EAAa,KAAK,WACxD,GAAI/M,IAAQ,iBACV,MAAO,CAAC8M,EACH,GAAI9M,IAAQ,iBACjB,OAAO8M,EACF,GAAI9M,IAAQ,gBACjB,OAAO+M,EACF,GAAI/M,IAAQ,UACjB,OAAI6M,KAAcC,EAAcC,EAAaC,GAAqBC,GAAcF,EAAaG,GAAqBC,IAAa,IAAIzD,CAAM,GAEzI,OAAO,eAAeA,CAAM,IAAM,OAAO,eAAemD,CAAQ,EACvDnD,EAET,OAEF,MAAMO,EAAgBlJ,GAAQ2I,CAAM,EACpC,GAAI,CAACoD,EAAa,CAChB,IAAI9K,EACJ,GAAIiI,IAAkBjI,EAAK+I,GAAsB/K,CAAG,GAClD,OAAOgC,EAET,GAAIhC,IAAQ,iBACV,OAAOa,EAEV,CACD,MAAM2C,EAAM,QAAQ,IAClBkG,EACA1J,EAIAmF,GAAMuE,CAAM,EAAIA,EAASmD,CAC/B,EAOI,OANIvL,GAAStB,CAAG,EAAIyM,GAAe,IAAIzM,CAAG,EAAIwM,GAAmBxM,CAAG,KAG/D8M,GACHrD,GAAMC,EAAQ,MAAO1J,CAAG,EAEtB+M,GACKvJ,EAEL2B,GAAM3B,CAAG,EACJyG,GAAiBpI,GAAa7B,CAAG,EAAIwD,EAAMA,EAAI,MAEpDjC,GAASiC,CAAG,EACPsJ,EAAcM,GAAS5J,CAAG,EAAI6J,GAAS7J,CAAG,EAE5CA,CACR,CACH,CACA,MAAM8J,WAA+BZ,EAAoB,CACvD,YAAYK,EAAa,GAAO,CAC9B,MAAM,GAAOA,CAAU,CACxB,CACD,IAAIrD,EAAQ1J,EAAK0B,EAAOmL,EAAU,CAChC,IAAIlK,EAAW+G,EAAO1J,CAAG,EACzB,GAAI,CAAC,KAAK,WAAY,CACpB,MAAMuN,EAAqBC,GAAW7K,CAAQ,EAK9C,GAJI,CAACiI,GAAUlJ,CAAK,GAAK,CAAC8L,GAAW9L,CAAK,IACxCiB,EAAWgI,GAAMhI,CAAQ,EACzBjB,EAAQiJ,GAAMjJ,CAAK,GAEjB,CAACX,GAAQ2I,CAAM,GAAKvE,GAAMxC,CAAQ,GAAK,CAACwC,GAAMzD,CAAK,EACrD,OAAI6L,EACK,IAEP5K,EAAS,MAAQjB,EACV,GAGZ,CACD,MAAM+L,EAAS1M,GAAQ2I,CAAM,GAAK7H,GAAa7B,CAAG,EAAI,OAAOA,CAAG,EAAI0J,EAAO,OAAS5I,GAAO4I,EAAQ1J,CAAG,EAChG8L,EAAS,QAAQ,IACrBpC,EACA1J,EACA0B,EACAyD,GAAMuE,CAAM,EAAIA,EAASmD,CAC/B,EACI,OAAInD,IAAWiB,GAAMkC,CAAQ,IACtBY,EAEM/K,GAAWhB,EAAOiB,CAAQ,GACnCkH,GAAQH,EAAQ,MAAO1J,EAAK0B,CAAe,EAF3CmI,GAAQH,EAAQ,MAAO1J,EAAK0B,CAAK,GAK9BoK,CACR,CACD,eAAepC,EAAQ1J,EAAK,CAC1B,MAAMyN,EAAS3M,GAAO4I,EAAQ1J,CAAG,EAChB0J,EAAO1J,CAAG,EAC3B,MAAM8L,EAAS,QAAQ,eAAepC,EAAQ1J,CAAG,EACjD,OAAI8L,GAAU2B,GACZ5D,GAAQH,EAAQ,SAAU1J,EAAK,MAAgB,EAE1C8L,CACR,CACD,IAAIpC,EAAQ1J,EAAK,CACf,MAAM8L,EAAS,QAAQ,IAAIpC,EAAQ1J,CAAG,EACtC,OAAI,CAACsB,GAAStB,CAAG,GAAK,CAACyM,GAAe,IAAIzM,CAAG,IAC3CyJ,GAAMC,EAAQ,MAAO1J,CAAG,EAEnB8L,CACR,CACD,QAAQpC,EAAQ,CACd,OAAAD,GACEC,EACA,UACA3I,GAAQ2I,CAAM,EAAI,SAAWJ,EACnC,EACW,QAAQ,QAAQI,CAAM,CAC9B,CACH,CACA,MAAMgE,WAAgChB,EAAoB,CACxD,YAAYK,EAAa,GAAO,CAC9B,MAAM,GAAMA,CAAU,CACvB,CACD,IAAIrD,EAAQ1J,EAAK,CAOf,MAAO,EACR,CACD,eAAe0J,EAAQ1J,EAAK,CAO1B,MAAO,EACR,CACH,CACA,MAAM2N,GAAkC,IAAIL,GACtCM,GAAmC,IAAIF,GACvCG,GAA0C,IAAIP,GAAuB,EAAI,EAG/E,MAAMQ,GAAapM,GAAUA,EACvBqM,GAAYrI,GAAM,QAAQ,eAAeA,CAAC,EAChD,SAASsI,GAAqBrC,EAAQmB,EAAaC,EAAY,CAC7D,OAAO,YAAY9B,EAAM,CACvB,MAAMvB,EAAS,KAAK,QACduE,EAAYtD,GAAMjB,CAAM,EACxBwE,EAAclN,GAAMiN,CAAS,EAC7BE,EAASxC,IAAW,WAAaA,IAAW,OAAO,UAAYuC,EAC/DE,EAAYzC,IAAW,QAAUuC,EACjCG,EAAgB3E,EAAOiC,CAAM,EAAE,GAAGV,CAAI,EACtCqD,EAAOvB,EAAae,GAAYhB,EAAcyB,GAAa1D,GACjE,OAACiC,GAAerD,GACdwE,EACA,UACAG,EAAY7E,GAAsBD,EACxC,EACW,CAEL,MAAO,CACL,KAAM,CAAE,MAAA5H,EAAO,KAAA8M,CAAM,EAAGH,EAAc,KAAI,EAC1C,OAAOG,EAAO,CAAE,MAAA9M,EAAO,KAAA8M,GAAS,CAC9B,MAAOL,EAAS,CAACG,EAAK5M,EAAM,CAAC,CAAC,EAAG4M,EAAK5M,EAAM,CAAC,CAAC,CAAC,EAAI4M,EAAK5M,CAAK,EAC7D,KAAA8M,CACV,CACO,EAED,CAAC,OAAO,QAAQ,GAAI,CAClB,OAAO,IACR,CACP,CACA,CACA,CACA,SAASC,GAAqB9E,EAAM,CAClC,OAAO,YAAYsB,EAAM,CAQvB,OAAOtB,IAAS,SAAW,GAAQA,IAAS,QAAU,OAAS,IACnE,CACA,CACA,SAAS+E,GAAuBtB,EAAUuB,EAAS,CACjD,MAAMC,EAAmB,CACvB,IAAI5O,EAAK,CACP,MAAM0J,EAAS,KAAK,QACduE,EAAYtD,GAAMjB,CAAM,EACxBmF,EAASlE,GAAM3K,CAAG,EACnBoN,IACC1K,GAAW1C,EAAK6O,CAAM,GACxBpF,GAAMwE,EAAW,MAAOjO,CAAG,EAE7ByJ,GAAMwE,EAAW,MAAOY,CAAM,GAEhC,KAAM,CAAE,IAAAC,CAAG,EAAKf,GAASE,CAAS,EAC5BK,EAAOK,EAAUb,GAAYV,EAAWmB,GAAa1D,GAC3D,GAAIiE,EAAI,KAAKb,EAAWjO,CAAG,EACzB,OAAOsO,EAAK5E,EAAO,IAAI1J,CAAG,CAAC,EACtB,GAAI8O,EAAI,KAAKb,EAAWY,CAAM,EACnC,OAAOP,EAAK5E,EAAO,IAAImF,CAAM,CAAC,EACrBnF,IAAWuE,GACpBvE,EAAO,IAAI1J,CAAG,CAEjB,EACD,IAAI,MAAO,CACT,MAAM0J,EAAS,KAAK,QACpB,OAAC0D,GAAY3D,GAAMkB,GAAMjB,CAAM,EAAG,UAAWJ,EAAW,EACjD,QAAQ,IAAII,EAAQ,OAAQA,CAAM,CAC1C,EACD,IAAI1J,EAAK,CACP,MAAM0J,EAAS,KAAK,QACduE,EAAYtD,GAAMjB,CAAM,EACxBmF,EAASlE,GAAM3K,CAAG,EACxB,OAAKoN,IACC1K,GAAW1C,EAAK6O,CAAM,GACxBpF,GAAMwE,EAAW,MAAOjO,CAAG,EAE7ByJ,GAAMwE,EAAW,MAAOY,CAAM,GAEzB7O,IAAQ6O,EAASnF,EAAO,IAAI1J,CAAG,EAAI0J,EAAO,IAAI1J,CAAG,GAAK0J,EAAO,IAAImF,CAAM,CAC/E,EACD,QAAQE,EAAU5D,EAAS,CACzB,MAAM6D,EAAW,KACXtF,EAASsF,EAAS,QAClBf,EAAYtD,GAAMjB,CAAM,EACxB4E,EAAOK,EAAUb,GAAYV,EAAWmB,GAAa1D,GAC3D,OAACuC,GAAY3D,GAAMwE,EAAW,UAAW3E,EAAW,EAC7CI,EAAO,QAAQ,CAAChI,EAAO1B,IACrB+O,EAAS,KAAK5D,EAASmD,EAAK5M,CAAK,EAAG4M,EAAKtO,CAAG,EAAGgP,CAAQ,CAC/D,CACF,CACL,EACExO,UACEoO,EACAxB,EAAW,CACT,IAAKqB,GAAqB,KAAK,EAC/B,IAAKA,GAAqB,KAAK,EAC/B,OAAQA,GAAqB,QAAQ,EACrC,MAAOA,GAAqB,OAAO,CACzC,EAAQ,CACF,IAAI/M,EAAO,CACL,CAACiN,GAAW,CAAC/D,GAAUlJ,CAAK,GAAK,CAAC8L,GAAW9L,CAAK,IACpDA,EAAQiJ,GAAMjJ,CAAK,GAErB,MAAMgI,EAASiB,GAAM,IAAI,EAGzB,OAFcoD,GAASrE,CAAM,EACR,IAAI,KAAKA,EAAQhI,CAAK,IAEzCgI,EAAO,IAAIhI,CAAK,EAChBmI,GAAQH,EAAQ,MAAOhI,EAAOA,CAAK,GAE9B,IACR,EACD,IAAI1B,EAAK0B,EAAO,CACV,CAACiN,GAAW,CAAC/D,GAAUlJ,CAAK,GAAK,CAAC8L,GAAW9L,CAAK,IACpDA,EAAQiJ,GAAMjJ,CAAK,GAErB,MAAMgI,EAASiB,GAAM,IAAI,EACnB,CAAE,IAAAmE,EAAK,IAAAG,CAAK,EAAGlB,GAASrE,CAAM,EACpC,IAAI+D,EAASqB,EAAI,KAAKpF,EAAQ1J,CAAG,EAC5ByN,IACHzN,EAAM2K,GAAM3K,CAAG,EACfyN,EAASqB,EAAI,KAAKpF,EAAQ1J,CAAG,GAI/B,MAAM2C,EAAWsM,EAAI,KAAKvF,EAAQ1J,CAAG,EACrC,OAAA0J,EAAO,IAAI1J,EAAK0B,CAAK,EAChB+L,EAEM/K,GAAWhB,EAAOiB,CAAQ,GACnCkH,GAAQH,EAAQ,MAAO1J,EAAK0B,CAAe,EAF3CmI,GAAQH,EAAQ,MAAO1J,EAAK0B,CAAK,EAI5B,IACR,EACD,OAAO1B,EAAK,CACV,MAAM0J,EAASiB,GAAM,IAAI,EACnB,CAAE,IAAAmE,EAAK,IAAAG,CAAK,EAAGlB,GAASrE,CAAM,EACpC,IAAI+D,EAASqB,EAAI,KAAKpF,EAAQ1J,CAAG,EAC5ByN,IACHzN,EAAM2K,GAAM3K,CAAG,EACfyN,EAASqB,EAAI,KAAKpF,EAAQ1J,CAAG,GAIdiP,GAAMA,EAAI,KAAKvF,EAAQ1J,CAAG,EAC3C,MAAM8L,EAASpC,EAAO,OAAO1J,CAAG,EAChC,OAAIyN,GACF5D,GAAQH,EAAQ,SAAU1J,EAAK,MAAgB,EAE1C8L,CACR,EACD,OAAQ,CACN,MAAMpC,EAASiB,GAAM,IAAI,EACnBuE,EAAWxF,EAAO,OAAS,EAE3BoC,EAASpC,EAAO,QACtB,OAAIwF,GACFrF,GACEH,EACA,QACA,OACA,MAEF,EAEKoC,CACR,CACF,CACL,EAC0B,CACtB,OACA,SACA,UACA,OAAO,QACX,EACkB,QAASH,GAAW,CAClCiD,EAAiBjD,CAAM,EAAIqC,GAAqBrC,EAAQyB,EAAUuB,CAAO,CAC7E,CAAG,EACMC,CACT,CACA,SAASO,GAA4BrC,EAAa6B,EAAS,CACzD,MAAMC,EAAmBF,GAAuB5B,EAAa6B,CAAO,EACpE,MAAO,CAACjF,EAAQ1J,EAAK6M,IACf7M,IAAQ,iBACH,CAAC8M,EACC9M,IAAQ,iBACV8M,EACE9M,IAAQ,UACV0J,EAEF,QAAQ,IACb5I,GAAO8N,EAAkB5O,CAAG,GAAKA,KAAO0J,EAASkF,EAAmBlF,EACpE1J,EACA6M,CACN,CAEA,CACA,MAAMuC,GAA4B,CAChC,IAAqBD,GAA4B,GAAO,EAAK,CAC/D,EACME,GAA4B,CAChC,IAAqBF,GAA4B,GAAO,EAAI,CAC9D,EACMG,GAA6B,CACjC,IAAqBH,GAA4B,GAAM,EAAK,CAC9D,EAcA,MAAMhC,GAA8B,IAAI,QAClCD,GAAqC,IAAI,QACzCD,GAA8B,IAAI,QAClCD,GAAqC,IAAI,QAC/C,SAASuC,GAAcC,EAAS,CAC9B,OAAQA,EAAO,CACb,IAAK,SACL,IAAK,QACH,MAAO,GACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACH,MAAO,GACT,QACE,MAAO,EACV,CACH,CACA,SAASC,GAAc/N,EAAO,CAC5B,OAAOA,EAAM,UAAe,CAAC,OAAO,aAAaA,CAAK,EAAI,EAAkB6N,GAAc5N,GAAUD,CAAK,CAAC,CAC5G,CACA,SAAS2L,GAAS3D,EAAQ,CACxB,OAAI8D,GAAW9D,CAAM,EACZA,EAEFgG,GACLhG,EACA,GACAiE,GACAyB,GACAjC,EACJ,CACA,CACA,SAASwC,GAAgBjG,EAAQ,CAC/B,OAAOgG,GACLhG,EACA,GACAmE,GACAwB,GACAnC,EACJ,CACA,CACA,SAASE,GAAS1D,EAAQ,CACxB,OAAOgG,GACLhG,EACA,GACAkE,GACA0B,GACArC,EACJ,CACA,CAUA,SAASyC,GAAqBhG,EAAQoD,EAAa8C,EAAcC,EAAoBC,EAAU,CAW7F,GAVI,CAACvO,GAASmI,CAAM,GAUhBA,EAAO,SAAc,EAAEoD,GAAepD,EAAO,gBAC/C,OAAOA,EAET,MAAMqG,EAAaN,GAAc/F,CAAM,EACvC,GAAIqG,IAAe,EACjB,OAAOrG,EAET,MAAMsG,EAAgBF,EAAS,IAAIpG,CAAM,EACzC,GAAIsG,EACF,OAAOA,EAET,MAAMC,EAAQ,IAAI,MAChBvG,EACAqG,IAAe,EAAqBF,EAAqBD,CAC7D,EACE,OAAAE,EAAS,IAAIpG,EAAQuG,CAAK,EACnBA,CACT,CACA,SAASC,GAAWxO,EAAO,CACzB,OAAI8L,GAAW9L,CAAK,EACXwO,GAAWxO,EAAM,OAAU,EAE7B,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAAS8L,GAAW9L,EAAO,CACzB,MAAO,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAASkJ,GAAUlJ,EAAO,CACxB,MAAO,CAAC,EAAEA,GAASA,EAAM,cAC3B,CACA,SAAS6K,GAAQ7K,EAAO,CACtB,OAAOA,EAAQ,CAAC,CAACA,EAAM,QAAa,EACtC,CACA,SAASiJ,GAAMqE,EAAU,CACvB,MAAMtE,EAAMsE,GAAYA,EAAS,QACjC,OAAOtE,EAAMC,GAAMD,CAAG,EAAIsE,CAC5B,CACA,SAASmB,GAAQzO,EAAO,CACtB,MAAI,CAACZ,GAAOY,EAAO,UAAU,GAAK,OAAO,aAAaA,CAAK,GACzDqB,GAAIrB,EAAO,WAAY,EAAI,EAEtBA,CACT,CACA,MAAMmJ,GAAcnJ,GAAUH,GAASG,CAAK,EAAI2L,GAAS3L,CAAK,EAAIA,EAC5D6M,GAAc7M,GAAUH,GAASG,CAAK,EAAI0L,GAAS1L,CAAK,EAAIA,EAElE,SAASyD,GAAMiL,EAAG,CAChB,OAAOA,EAAIA,EAAE,YAAiB,GAAO,EACvC,CACA,SAASC,GAAI3O,EAAO,CAClB,OAAO4O,GAAU5O,EAAO,EAAK,CAC/B,CACA,SAAS6O,GAAW7O,EAAO,CACzB,OAAO4O,GAAU5O,EAAO,EAAI,CAC9B,CACA,SAAS4O,GAAUE,EAAU7B,EAAS,CACpC,OAAIxJ,GAAMqL,CAAQ,EACTA,EAEF,IAAIC,GAAQD,EAAU7B,CAAO,CACtC,CACA,MAAM8B,EAAQ,CACZ,YAAY/O,EAAOqL,EAAY,CAC7B,KAAK,IAAM,IAAI9D,GACf,KAAK,UAAe,GACpB,KAAK,cAAmB,GACxB,KAAK,UAAY8D,EAAarL,EAAQiJ,GAAMjJ,CAAK,EACjD,KAAK,OAASqL,EAAarL,EAAQmJ,GAAWnJ,CAAK,EACnD,KAAK,cAAmBqL,CACzB,CACD,IAAI,OAAQ,CAQR,YAAK,IAAI,QAEJ,KAAK,MACb,CACD,IAAI,MAAMjD,EAAU,CAClB,MAAMnH,EAAW,KAAK,UAChB+N,EAAiB,KAAK,eAAoB9F,GAAUd,CAAQ,GAAK0D,GAAW1D,CAAQ,EAC1FA,EAAW4G,EAAiB5G,EAAWa,GAAMb,CAAQ,EACjDpH,GAAWoH,EAAUnH,CAAQ,IAC/B,KAAK,UAAYmH,EACjB,KAAK,OAAS4G,EAAiB5G,EAAWe,GAAWf,CAAQ,EAU3D,KAAK,IAAI,UAGd,CACH,CAeA,SAAS6G,GAAMC,EAAM,CACnB,OAAOzL,GAAMyL,CAAI,EAAIA,EAAK,MAAQA,CACpC,CAIA,MAAMC,GAAwB,CAC5B,IAAK,CAACnH,EAAQ1J,EAAK6M,IAAa7M,IAAQ,UAAY0J,EAASiH,GAAM,QAAQ,IAAIjH,EAAQ1J,EAAK6M,CAAQ,CAAC,EACrG,IAAK,CAACnD,EAAQ1J,EAAK0B,EAAOmL,IAAa,CACrC,MAAMlK,EAAW+G,EAAO1J,CAAG,EAC3B,OAAImF,GAAMxC,CAAQ,GAAK,CAACwC,GAAMzD,CAAK,GACjCiB,EAAS,MAAQjB,EACV,IAEA,QAAQ,IAAIgI,EAAQ1J,EAAK0B,EAAOmL,CAAQ,CAElD,CACH,EACA,SAASiE,GAAUC,EAAgB,CACjC,OAAOb,GAAWa,CAAc,EAAIA,EAAiB,IAAI,MAAMA,EAAgBF,EAAqB,CACtG,CAoBA,SAASG,GAAO1G,EAAQ,CAItB,MAAMtG,EAAMjD,GAAQuJ,CAAM,EAAI,IAAI,MAAMA,EAAO,MAAM,EAAI,GACzD,UAAWtK,KAAOsK,EAChBtG,EAAIhE,CAAG,EAAIiR,GAAc3G,EAAQtK,CAAG,EAEtC,OAAOgE,CACT,CACA,MAAMkN,EAAc,CAClB,YAAYC,EAAS7L,EAAM8L,EAAe,CACxC,KAAK,QAAUD,EACf,KAAK,KAAO7L,EACZ,KAAK,cAAgB8L,EACrB,KAAK,UAAe,GACpB,KAAK,OAAS,MACf,CACD,IAAI,OAAQ,CACV,MAAMnR,EAAM,KAAK,QAAQ,KAAK,IAAI,EAClC,OAAO,KAAK,OAASA,IAAQ,OAAS,KAAK,cAAgBA,CAC5D,CACD,IAAI,MAAMoR,EAAQ,CAChB,KAAK,QAAQ,KAAK,IAAI,EAAIA,CAC3B,CACD,IAAI,KAAM,CACR,OAAOhH,GAAmBM,GAAM,KAAK,OAAO,EAAG,KAAK,IAAI,CACzD,CACH,CAuBA,SAASsG,GAAcK,EAAQtR,EAAKuR,EAAc,CAChD,MAAMtR,EAAMqR,EAAOtR,CAAG,EACtB,OAAOmF,GAAMlF,CAAG,EAAIA,EAAM,IAAIiR,GAAcI,EAAQtR,EAAKuR,CAAY,CACvE,CAEA,MAAMC,EAAgB,CACpB,YAAYxP,EAAIyP,EAAQC,EAAO,CAC7B,KAAK,GAAK1P,EACV,KAAK,OAASyP,EAId,KAAK,OAAS,OAId,KAAK,IAAM,IAAIxI,GAAI,IAAI,EAIvB,KAAK,UAAY,GAMjB,KAAK,KAAO,OAIZ,KAAK,SAAW,OAIhB,KAAK,MAAQ,GAIb,KAAK,cAAgBZ,GAAgB,EAIrC,KAAK,KAAO,OAEZ,KAAK,OAAS,KACd,KAAK,eAAoB,CAACoJ,EAC1B,KAAK,MAAQC,CACd,CAID,QAAS,CAEP,GADA,KAAK,OAAS,GACV,EAAE,KAAK,MAAQ,IACnBnL,KAAc,KACZ,OAAAG,GAAM,KAAM,EAAI,EACT,EAEV,CACD,IAAI,OAAQ,CACV,MAAMO,EAID,KAAK,IAAI,MAAK,EACnB,OAAAkB,GAAgB,IAAI,EAChBlB,IACFA,EAAK,QAAU,KAAK,IAAI,SAEnB,KAAK,MACb,CACD,IAAI,MAAM6C,EAAU,CACd,KAAK,QACP,KAAK,OAAOA,CAAQ,CAIvB,CACH,CACA,SAAS1B,GAASuJ,EAAiBC,EAAcF,EAAQ,GAAO,CAC9D,IAAIG,EACAJ,EACJ,OAAIrQ,GAAWuQ,CAAe,EAC5BE,EAASF,GAETE,EAASF,EAAgB,IACzBF,EAASE,EAAgB,KAEd,IAAIH,GAAgBK,EAAQJ,EAAQC,CAAK,CAMxD,CA8BA,MAAMI,GAAwB,GACxBC,GAA6B,IAAI,QACvC,IAAIC,GAIJ,SAASC,GAAiBC,EAAW5L,EAAe,GAAO6L,EAAQH,GAAe,CAChF,GAAIG,EAAO,CACT,IAAIC,EAAWL,GAAW,IAAII,CAAK,EAC9BC,GAAUL,GAAW,IAAII,EAAOC,EAAW,EAAE,EAClDA,EAAS,KAAKF,CAAS,CAKxB,CACH,CACA,SAASG,GAAMf,EAAQgB,EAAIC,EAAUrS,GAAW,CAC9C,KAAM,CAAE,UAAAsS,EAAW,KAAAC,EAAM,KAAAC,EAAM,UAAAC,EAAW,WAAAC,EAAY,KAAAC,CAAM,EAAGN,EAQzDO,EAAkBC,GAClBN,EAAaM,EACbnI,GAAUmI,CAAO,GAAKN,IAAS,IAASA,IAAS,EAC5CO,GAASD,EAAS,CAAC,EACrBC,GAASD,CAAO,EAEzB,IAAIE,EACApB,EACA9I,EACAmK,EACAC,EAAe,GACfC,EAAgB,GA+CpB,GA9CIjO,GAAMmM,CAAM,GACdO,EAAS,IAAMP,EAAO,MACtB6B,EAAevI,GAAU0G,CAAM,GACtBpB,GAAWoB,CAAM,GAC1BO,EAAS,IAAMiB,EAAexB,CAAM,EACpC6B,EAAe,IACNpS,GAAQuQ,CAAM,GACvB8B,EAAgB,GAChBD,EAAe7B,EAAO,KAAM+B,GAAMnD,GAAWmD,CAAC,GAAKzI,GAAUyI,CAAC,CAAC,EAC/DxB,EAAS,IAAMP,EAAO,IAAK+B,GAAM,CAC/B,GAAIlO,GAAMkO,CAAC,EACT,OAAOA,EAAE,MACJ,GAAInD,GAAWmD,CAAC,EACrB,OAAOP,EAAeO,CAAC,EAClB,GAAIjS,GAAWiS,CAAC,EACrB,OAAOR,EAAOA,EAAKQ,EAAG,CAAC,EAAIA,EAAC,CAIpC,CAAK,GACQjS,GAAWkQ,CAAM,EACtBgB,EACFT,EAASgB,EAAO,IAAMA,EAAKvB,EAAQ,CAAC,EAAIA,EAExCO,EAAS,IAAM,CACb,GAAI9I,EAAS,CACXF,KACA,GAAI,CACFE,GACZ,QAAoB,CACRD,IACD,CACF,CACD,MAAMwK,EAAgBtB,GACtBA,GAAgBiB,EAChB,GAAI,CACF,OAAOJ,EAAOA,EAAKvB,EAAQ,EAAG,CAAC4B,CAAY,CAAC,EAAI5B,EAAO4B,CAAY,CAC7E,QAAkB,CACRlB,GAAgBsB,CACjB,CACT,EAGIzB,EAASzR,GAGPkS,GAAMG,EAAM,CACd,MAAMc,EAAa1B,EACb2B,EAAQf,IAAS,GAAO,IAAWA,EACzCZ,EAAS,IAAMmB,GAASO,EAAY,EAAEC,CAAK,CAC5C,CACD,MAAMC,EAAQrN,KACRsN,EAAc,IAAM,CACxBT,EAAO,KAAI,EACPQ,GAASA,EAAM,QACjBhT,GAAOgT,EAAM,QAASR,CAAM,CAElC,EACE,GAAIP,GAAQJ,EAAI,CACd,MAAMqB,EAAMrB,EACZA,EAAK,IAAIrH,IAAS,CAChB0I,EAAI,GAAG1I,CAAI,EACXyI,GACN,CACG,CACD,IAAI/Q,EAAWyQ,EAAgB,IAAI,MAAM9B,EAAO,MAAM,EAAE,KAAKQ,EAAqB,EAAIA,GACtF,MAAM8B,EAAOC,GAAsB,CACjC,GAAI,IAAEZ,EAAO,MAAQ,IAAM,CAACA,EAAO,OAAS,CAACY,GAG7C,GAAIvB,EAAI,CACN,MAAMxI,EAAWmJ,EAAO,MACxB,GAAIR,GAAQU,IAAiBC,EAAgBtJ,EAAS,KAAK,CAACpE,GAAG9E,KAAM8B,GAAWgD,GAAG/C,EAAS/B,EAAC,CAAC,CAAC,EAAI8B,GAAWoH,EAAUnH,CAAQ,GAAI,CAC9HoG,GACFA,IAEF,MAAM+K,GAAiB9B,GACvBA,GAAgBiB,EAChB,GAAI,CACF,MAAMhI,GAAO,CACXnB,EAEAnH,IAAamP,GAAwB,OAASsB,GAAiBzQ,EAAS,CAAC,IAAMmP,GAAwB,GAAKnP,EAC5GuQ,CACZ,EACUvQ,EAAWmH,EACX+I,EAAOA,EAAKP,EAAI,EAAGrH,EAAI,EAErBqH,EAAG,GAAGrH,EAAI,CAEtB,QAAkB,CACR+G,GAAgB8B,EACjB,CACF,CACP,MACMb,EAAO,IAAG,CAEhB,EACE,OAAIL,GACFA,EAAWgB,CAAG,EAEhBX,EAAS,IAAIxM,GAAeoL,CAAM,EAClCoB,EAAO,UAAYN,EAAY,IAAMA,EAAUiB,EAAK,EAAK,EAAIA,EAC7DV,EAAgBlR,GAAOiQ,GAAiBjQ,EAAI,GAAOiR,CAAM,EACzDlK,EAAUkK,EAAO,OAAS,IAAM,CAC9B,MAAMb,EAAWL,GAAW,IAAIkB,CAAM,EACtC,GAAIb,EAAU,CACZ,GAAIS,EACFA,EAAKT,EAAU,CAAC,MAEhB,WAAW2B,KAAY3B,EAAU2B,IAEnChC,GAAW,OAAOkB,CAAM,CACzB,CACL,EAKMX,EACEE,EACFoB,EAAI,EAAI,EAERjR,EAAWsQ,EAAO,MAEXN,EACTA,EAAUiB,EAAI,KAAK,KAAM,EAAI,EAAG,EAAI,EAEpCX,EAAO,IAAG,EAEZS,EAAY,MAAQT,EAAO,MAAM,KAAKA,CAAM,EAC5CS,EAAY,OAAST,EAAO,OAAO,KAAKA,CAAM,EAC9CS,EAAY,KAAOA,EACZA,CACT,CACA,SAASV,GAAStR,EAAO8R,EAAQ,IAAUQ,EAAM,CAK/C,GAJIR,GAAS,GAAK,CAACjS,GAASG,CAAK,GAAKA,EAAM,WAG5CsS,EAAOA,GAAwB,IAAI,IAC/BA,EAAK,IAAItS,CAAK,GAChB,OAAOA,EAIT,GAFAsS,EAAK,IAAItS,CAAK,EACd8R,IACIrO,GAAMzD,CAAK,EACbsR,GAAStR,EAAM,MAAO8R,EAAOQ,CAAI,UACxBjT,GAAQW,CAAK,EACtB,QAASd,EAAI,EAAGA,EAAIc,EAAM,OAAQd,IAChCoS,GAAStR,EAAMd,CAAC,EAAG4S,EAAOQ,CAAI,UAEvB9S,GAAMQ,CAAK,GAAKV,GAAMU,CAAK,EACpCA,EAAM,QAASgE,GAAM,CACnBsN,GAAStN,EAAG8N,EAAOQ,CAAI,CAC7B,CAAK,UACQpS,GAAcF,CAAK,EAAG,CAC/B,UAAW1B,KAAO0B,EAChBsR,GAAStR,EAAM1B,CAAG,EAAGwT,EAAOQ,CAAI,EAElC,UAAWhU,KAAO,OAAO,sBAAsB0B,CAAK,EAC9C,OAAO,UAAU,qBAAqB,KAAKA,EAAO1B,CAAG,GACvDgT,GAAStR,EAAM1B,CAAG,EAAGwT,EAAOQ,CAAI,CAGrC,CACD,OAAOtS,CACT,CCj3DA;AAAA;AAAA;AAAA;GAoMA,SAASuS,GAAsBjS,EAAIkS,EAAUvK,EAAMsB,EAAM,CACvD,GAAI,CACF,OAAOA,EAAOjJ,EAAG,GAAGiJ,CAAI,EAAIjJ,EAAE,CAC/B,OAAQ8F,EAAK,CACZqM,GAAYrM,EAAKoM,EAAUvK,CAAI,CAChC,CACH,CACA,SAASyK,GAA2BpS,EAAIkS,EAAUvK,EAAMsB,EAAM,CAC5D,GAAI7J,GAAWY,CAAE,EAAG,CAClB,MAAMwB,EAAMyQ,GAAsBjS,EAAIkS,EAAUvK,EAAMsB,CAAI,EAC1D,OAAIzH,GAAOhC,GAAUgC,CAAG,GACtBA,EAAI,MAAOsE,GAAQ,CACjBqM,GAAYrM,EAAKoM,EAAUvK,CAAI,CACvC,CAAO,EAEInG,CACR,CACD,GAAIzC,GAAQiB,CAAE,EAAG,CACf,MAAMqS,EAAS,GACf,QAAS,EAAI,EAAG,EAAIrS,EAAG,OAAQ,IAC7BqS,EAAO,KAAKD,GAA2BpS,EAAG,CAAC,EAAGkS,EAAUvK,EAAMsB,CAAI,CAAC,EAErE,OAAOoJ,CAKR,CACH,CACA,SAASF,GAAYrM,EAAKoM,EAAUvK,EAAM2K,EAAa,GAAM,CAC3D,MAAMC,EAAeL,EAAWA,EAAS,MAAQ,KAC3C,CAAE,aAAAM,EAAc,gCAAAC,GAAoCP,GAAYA,EAAS,WAAW,QAAUhU,GACpG,GAAIgU,EAAU,CACZ,IAAIQ,EAAMR,EAAS,OACnB,MAAMS,EAAkBT,EAAS,MAC3BU,EAAmF,8CAA8CjL,CAAI,GAC3I,KAAO+K,GAAK,CACV,MAAMG,EAAqBH,EAAI,GAC/B,GAAIG,GACF,QAASjU,EAAI,EAAGA,EAAIiU,EAAmB,OAAQjU,IAC7C,GAAIiU,EAAmBjU,CAAC,EAAEkH,EAAK6M,EAAiBC,CAAS,IAAM,GAC7D,OAINF,EAAMA,EAAI,MACX,CACD,GAAIF,EAAc,CAChB3L,KACAoL,GAAsBO,EAAc,KAAM,GAAI,CAC5C1M,EACA6M,EACAC,CACR,CAAO,EACD9L,KACA,MACD,CACF,CACDgM,GAAShN,EAAK6B,EAAM4K,EAAcD,EAAYG,CAA+B,CAC/E,CACA,SAASK,GAAShN,EAAK6B,EAAM4K,EAAcD,EAAa,GAAMS,EAAc,GAAO,CAe1E,GAAIA,EACT,MAAMjN,EAEN,QAAQ,MAAMA,CAAG,CAErB,CAEA,MAAMkN,GAAQ,GACd,IAAIC,GAAa,GACjB,MAAMC,GAAsB,GAC5B,IAAIC,GAAqB,KACrBC,GAAiB,EACrB,MAAMC,GAAkC,QAAQ,UAChD,IAAIC,GAAsB,KAE1B,SAASC,GAASvT,EAAI,CACpB,MAAMwT,EAAIF,IAAuBD,GACjC,OAAOrT,EAAKwT,EAAE,KAAK,KAAOxT,EAAG,KAAK,IAAI,EAAIA,CAAE,EAAIwT,CAClD,CACA,SAASC,GAAmBC,EAAI,CAC9B,IAAIC,EAAQV,GAAa,EACrBW,EAAMZ,GAAM,OAChB,KAAOW,EAAQC,GAAK,CAClB,MAAMC,EAASF,EAAQC,IAAQ,EACzBE,EAAYd,GAAMa,CAAM,EACxBE,EAAcC,GAAMF,CAAS,EAC/BC,EAAcL,GAAMK,IAAgBL,GAAMI,EAAU,MAAQ,EAC9DH,EAAQE,EAAS,EAEjBD,EAAMC,CAET,CACD,OAAOF,CACT,CACA,SAASM,GAASrC,EAAK,CACrB,GAAI,EAAEA,EAAI,MAAQ,GAAI,CACpB,MAAMsC,EAAQF,GAAMpC,CAAG,EACjBuC,EAAUnB,GAAMA,GAAM,OAAS,CAAC,EAClC,CAACmB,GACL,EAAEvC,EAAI,MAAQ,IAAMsC,GAASF,GAAMG,CAAO,EACxCnB,GAAM,KAAKpB,CAAG,EAEdoB,GAAM,OAAOS,GAAmBS,CAAK,EAAG,EAAGtC,CAAG,EAEhDA,EAAI,OAAS,EACbwC,IACD,CACH,CACA,SAASA,IAAa,CACfd,KACHA,GAAsBD,GAAgB,KAAKgB,EAAS,EAExD,CACA,SAASC,GAAiBhE,EAAI,CACvBvR,GAAQuR,CAAE,EAQb4C,GAAoB,KAAK,GAAG5C,CAAE,EAP1B6C,IAAsB7C,EAAG,KAAO,GAClC6C,GAAmB,OAAOC,GAAiB,EAAG,EAAG9C,CAAE,EACxCA,EAAG,MAAQ,IACtB4C,GAAoB,KAAK5C,CAAE,EAC3BA,EAAG,OAAS,GAKhB8D,IACF,CACA,SAASG,GAAiBrC,EAAUF,EAAMpT,EAAIqU,GAAa,EAAG,CAI5D,KAAOrU,EAAIoU,GAAM,OAAQpU,IAAK,CAC5B,MAAM0R,EAAK0C,GAAMpU,CAAC,EAClB,GAAI0R,GAAMA,EAAG,MAAQ,EAAG,CACtB,GAAI4B,GAAY5B,EAAG,KAAO4B,EAAS,IACjC,SAKFc,GAAM,OAAOpU,EAAG,CAAC,EACjBA,IACI0R,EAAG,MAAQ,IACbA,EAAG,OAAS,IAEdA,IACMA,EAAG,MAAQ,IACfA,EAAG,OAAS,GAEf,CACF,CACH,CACA,SAASkE,GAAkBxC,EAAM,CAC/B,GAAIkB,GAAoB,OAAQ,CAC9B,MAAMuB,EAAU,CAAC,GAAG,IAAI,IAAIvB,EAAmB,CAAC,EAAE,KAChD,CAAC1Q,EAAGC,IAAMuR,GAAMxR,CAAC,EAAIwR,GAAMvR,CAAC,CAClC,EAEI,GADAyQ,GAAoB,OAAS,EACzBC,GAAoB,CACtBA,GAAmB,KAAK,GAAGsB,CAAO,EAClC,MACD,CAKD,IAJAtB,GAAqBsB,EAIhBrB,GAAiB,EAAGA,GAAiBD,GAAmB,OAAQC,KAAkB,CACrF,MAAM9C,EAAK6C,GAAmBC,EAAc,EAIxC9C,EAAG,MAAQ,IACbA,EAAG,OAAS,IAERA,EAAG,MAAQ,GAAIA,EAAE,EACvBA,EAAG,OAAS,EACb,CACD6C,GAAqB,KACrBC,GAAiB,CAClB,CACH,CACA,MAAMY,GAASpC,GAAQA,EAAI,IAAM,KAAOA,EAAI,MAAQ,EAAI,GAAK,IAAWA,EAAI,GAC5E,SAASyC,GAAUrC,EAAM,CAIvB,MAAM0C,EAAgGtW,GACtG,GAAI,CACF,IAAK6U,GAAa,EAAGA,GAAaD,GAAM,OAAQC,KAAc,CAC5D,MAAMrB,EAAMoB,GAAMC,EAAU,EACxBrB,GAAO,EAAEA,EAAI,MAAQ,KAInBA,EAAI,MAAQ,IACdA,EAAI,OAAS,IAEfK,GACEL,EACAA,EAAI,EACJA,EAAI,EAAI,GAAK,EACvB,EACcA,EAAI,MAAQ,IAChBA,EAAI,OAAS,IAGlB,CACL,QAAY,CACR,KAAOqB,GAAaD,GAAM,OAAQC,KAAc,CAC9C,MAAMrB,EAAMoB,GAAMC,EAAU,EACxBrB,IACFA,EAAI,OAAS,GAEhB,CACDqB,GAAa,GACbD,GAAM,OAAS,EACfwB,GAAsB,EACtBlB,GAAsB,MAClBN,GAAM,QAAUE,GAAoB,SACtCmB,GAAc,CAEjB,CACH,CAwOA,IAAIM,GAA2B,KAC3BC,GAAiB,KACrB,SAASC,GAA4B3C,EAAU,CAC7C,MAAMjM,EAAO0O,GACb,OAAAA,GAA2BzC,EAC3B0C,GAAiB1C,GAAYA,EAAS,KAAK,WAAa,KACjDjM,CACT,CAQA,SAAS6O,GAAQ9U,EAAI+U,EAAMJ,GAA0BK,EAAiB,CAEpE,GADI,CAACD,GACD/U,EAAG,GACL,OAAOA,EAET,MAAMiV,EAAsB,IAAIhM,IAAS,CACnCgM,EAAoB,IACtBC,GAAiB,EAAE,EAErB,MAAMC,EAAeN,GAA4BE,CAAG,EACpD,IAAIvT,EACJ,GAAI,CACFA,EAAMxB,EAAG,GAAGiJ,CAAI,CACtB,QAAc,CACR4L,GAA4BM,CAAY,EACpCF,EAAoB,IACtBC,GAAiB,CAAC,CAErB,CAID,OAAO1T,CACX,EACE,OAAAyT,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GAClBA,CACT,CAOA,SAASG,GAAeC,EAAOC,EAAY,CACzC,GAAIX,KAA6B,KAE/B,OAAOU,EAET,MAAMnD,EAAWqD,GAA2BZ,EAAwB,EAC9Da,EAAWH,EAAM,OAASA,EAAM,KAAO,IAC7C,QAASzW,EAAI,EAAGA,EAAI0W,EAAW,OAAQ1W,IAAK,CAC1C,GAAI,CAAC6W,EAAK/V,EAAOoB,EAAK4U,EAAYxX,EAAS,EAAIoX,EAAW1W,CAAC,EACvD6W,IACErW,GAAWqW,CAAG,IAChBA,EAAM,CACJ,QAASA,EACT,QAASA,CACnB,GAEUA,EAAI,MACNzE,GAAStR,CAAK,EAEhB8V,EAAS,KAAK,CACZ,IAAAC,EACA,SAAAvD,EACA,MAAAxS,EACA,SAAU,OACV,IAAAoB,EACA,UAAA4U,CACR,CAAO,EAEJ,CACD,OAAOL,CACT,CACA,SAASM,GAAoBN,EAAOO,EAAW1D,EAAU/P,EAAM,CAC7D,MAAMqT,EAAWH,EAAM,KACjBQ,EAAcD,GAAaA,EAAU,KAC3C,QAAShX,EAAI,EAAGA,EAAI4W,EAAS,OAAQ5W,IAAK,CACxC,MAAMkX,EAAUN,EAAS5W,CAAC,EACtBiX,IACFC,EAAQ,SAAWD,EAAYjX,CAAC,EAAE,OAEpC,IAAImX,EAAOD,EAAQ,IAAI3T,CAAI,EACvB4T,IACFlP,KACAuL,GAA2B2D,EAAM7D,EAAU,EAAG,CAC5CmD,EAAM,GACNS,EACAT,EACAO,CACR,CAAO,EACD9O,KAEH,CACH,CAEA,MAAMkP,GAAiB,OAAO,MAAM,EAC9BC,GAActO,GAASA,EAAK,aA2V5BuO,GAAa,OAAO,UAAU,EAC9BC,GAAa,OAAO,UAAU,EACpC,SAASC,IAAqB,CAC5B,MAAMC,EAAQ,CACZ,UAAW,GACX,UAAW,GACX,aAAc,GACd,cAA+B,IAAI,GACvC,EACE,OAAAC,GAAU,IAAM,CACdD,EAAM,UAAY,EACtB,CAAG,EACDE,GAAgB,IAAM,CACpBF,EAAM,aAAe,EACzB,CAAG,EACMA,CACT,CACA,MAAMG,GAA0B,CAAC,SAAU,KAAK,EAC1CC,GAAgC,CACpC,KAAM,OACN,OAAQ,QACR,UAAW,QAEX,cAAeD,GACf,QAASA,GACT,aAAcA,GACd,iBAAkBA,GAElB,cAAeA,GACf,QAASA,GACT,aAAcA,GACd,iBAAkBA,GAElB,eAAgBA,GAChB,SAAUA,GACV,cAAeA,GACf,kBAAmBA,EACrB,EACME,GAAuBxE,GAAa,CACxC,MAAMyE,EAAUzE,EAAS,QACzB,OAAOyE,EAAQ,UAAYD,GAAoBC,EAAQ,SAAS,EAAIA,CACtE,EACMC,GAAqB,CACzB,KAAM,iBACN,MAAOH,GACP,MAAMI,EAAO,CAAE,MAAAC,GAAS,CACtB,MAAM5E,EAAW6E,KACXV,EAAQD,KACd,MAAO,IAAM,CACX,MAAMY,EAAWF,EAAM,SAAWG,GAAyBH,EAAM,QAAO,EAAI,EAAI,EAChF,GAAI,CAACE,GAAY,CAACA,EAAS,OACzB,OAEF,MAAME,EAAQC,GAAoBH,CAAQ,EACpCI,EAAWzO,GAAMkO,CAAK,EACtB,CAAE,KAAAQ,CAAM,EAAGD,EAIjB,GAAIf,EAAM,UACR,OAAOiB,GAAiBJ,CAAK,EAE/B,MAAMK,EAAaC,GAAgBN,CAAK,EACxC,GAAI,CAACK,EACH,OAAOD,GAAiBJ,CAAK,EAE/B,IAAIO,EAAaC,GACfH,EACAH,EACAf,EACAnE,EAECyF,GAAUF,EAAaE,CAChC,EACUJ,EAAW,OAASK,IACtBC,GAAmBN,EAAYE,CAAU,EAE3C,IAAIK,EAAgB5F,EAAS,SAAWsF,GAAgBtF,EAAS,OAAO,EACxE,GAAI4F,GAAiBA,EAAc,OAASF,IAAW,CAACG,GAAgBR,EAAYO,CAAa,GAAKpB,GAAoBxE,CAAQ,EAAE,OAAS0F,GAAS,CACpJ,IAAII,EAAeN,GACjBI,EACAV,EACAf,EACAnE,CACV,EAEQ,GADA2F,GAAmBC,EAAeE,CAAY,EAC1CX,IAAS,UAAYE,EAAW,OAASK,GAC3C,OAAAvB,EAAM,UAAY,GAClB2B,EAAa,WAAa,IAAM,CAC9B3B,EAAM,UAAY,GACZnE,EAAS,IAAI,MAAQ,GACzBA,EAAS,OAAM,EAEjB,OAAO8F,EAAa,WACpBF,EAAgB,MAC5B,EACiBR,GAAiBJ,CAAK,EACpBG,IAAS,UAAYE,EAAW,OAASK,GAClDI,EAAa,WAAa,CAACrZ,EAAIsZ,EAAaC,IAAiB,CAC3D,MAAMC,EAAqBC,GACzB/B,EACAyB,CACd,EACYK,EAAmB,OAAOL,EAAc,GAAG,CAAC,EAAIA,EAChDnZ,EAAGuX,EAAU,EAAI,IAAM,CACrB+B,IACAtZ,EAAGuX,EAAU,EAAI,OACjB,OAAOuB,EAAW,aAClBK,EAAgB,MAC9B,EACYL,EAAW,aAAe,IAAM,CAC9BS,IACA,OAAOT,EAAW,aAClBK,EAAgB,MAC9B,CACA,EAEUA,EAAgB,MAEnB,MAAUA,IACTA,EAAgB,QAElB,OAAOZ,CACb,CACG,CACH,EACA,SAASC,GAAoBH,EAAU,CACrC,IAAIE,EAAQF,EAAS,CAAC,EACtB,GAAIA,EAAS,OAAS,GAEpB,UAAW3W,KAAK2W,EACd,GAAI3W,EAAE,OAASuX,GAAS,CAOtBV,EAAQ7W,EAEwC,KACjD,EAGL,OAAO6W,CACT,CACA,MAAMmB,GAAiBzB,GACvB,SAASwB,GAAuB/B,EAAOhB,EAAO,CAC5C,KAAM,CAAE,cAAAiD,CAAe,EAAGjC,EAC1B,IAAI8B,EAAqBG,EAAc,IAAIjD,EAAM,IAAI,EACrD,OAAK8C,IACHA,EAAqC,OAAO,OAAO,IAAI,EACvDG,EAAc,IAAIjD,EAAM,KAAM8C,CAAkB,GAE3CA,CACT,CACA,SAAST,GAAuBrC,EAAOwB,EAAOR,EAAOnE,EAAUqG,EAAW,CACxE,KAAM,CACJ,OAAAC,EACA,KAAAnB,EACA,UAAAoB,EAAY,GACZ,cAAAC,EACA,QAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,QAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,SAAAC,EACA,cAAAC,EACA,kBAAAC,CACD,EAAGxC,EACE7Y,EAAM,OAAOqX,EAAM,GAAG,EACtB8C,EAAqBC,GAAuB/B,EAAOhB,CAAK,EACxDiE,GAAW,CAACvD,GAAM9M,KAAS,CAC/B8M,IAAQ3D,GACN2D,GACA7D,EACA,EACAjJ,EACN,CACA,EACQsQ,GAAgB,CAACxD,GAAM9M,KAAS,CACpC,MAAMuD,EAAOvD,GAAK,CAAC,EACnBqQ,GAASvD,GAAM9M,EAAI,EACflK,GAAQgX,EAAI,EACVA,GAAK,MAAOyD,GAAUA,EAAM,QAAU,CAAC,GAAGhN,IACrCuJ,GAAK,QAAU,GACxBvJ,GAEN,EACQmL,GAAQ,CACZ,KAAAN,EACA,UAAAoB,EACA,YAAY9Z,GAAI,CACd,IAAIoX,GAAO2C,EACX,GAAI,CAACrC,EAAM,UACT,GAAImC,EACFzC,GAAOmD,GAAkBR,MAEzB,QAGA/Z,GAAGuX,EAAU,GACfvX,GAAGuX,EAAU,EACX,EAEV,EAEM,MAAMuD,EAAetB,EAAmBna,CAAG,EACvCyb,GAAgB1B,GAAgB1C,EAAOoE,CAAY,GAAKA,EAAa,GAAGvD,EAAU,GACpFuD,EAAa,GAAGvD,EAAU,IAE5BoD,GAASvD,GAAM,CAACpX,EAAE,CAAC,CACpB,EACD,MAAMA,GAAI,CACR,IAAIoX,GAAO4C,EACPe,EAAYd,EACZe,EAAad,EACjB,GAAI,CAACxC,EAAM,UACT,GAAImC,EACFzC,GAAOoD,GAAYR,EACnBe,EAAYN,GAAiBR,EAC7Be,EAAaN,GAAqBR,MAElC,QAGJ,IAAIe,EAAS,GACb,MAAMpN,EAAO7N,GAAGwX,EAAU,EAAK0D,GAAc,CACvCD,IACJA,EAAS,GACLC,EACFP,GAASK,EAAY,CAAChb,EAAE,CAAC,EAEzB2a,GAASI,EAAW,CAAC/a,EAAE,CAAC,EAEtBgZ,GAAM,cACRA,GAAM,aAAY,EAEpBhZ,GAAGwX,EAAU,EAAI,OACzB,EACUJ,GACFwD,GAAcxD,GAAM,CAACpX,GAAI6N,CAAI,CAAC,EAE9BA,GAEH,EACD,MAAM7N,GAAIF,GAAQ,CAChB,MAAM2J,EAAO,OAAOiN,EAAM,GAAG,EAO7B,GANI1W,GAAGwX,EAAU,GACfxX,GAAGwX,EAAU,EACX,EAEV,EAEUE,EAAM,aACR,OAAO5X,GAAM,EAEf6a,GAASR,EAAe,CAACna,EAAE,CAAC,EAC5B,IAAIib,EAAS,GACb,MAAMpN,EAAO7N,GAAGuX,EAAU,EAAK2D,GAAc,CACvCD,IACJA,EAAS,GACTnb,KACIob,EACFP,GAASL,EAAkB,CAACta,EAAE,CAAC,EAE/B2a,GAASN,EAAc,CAACra,EAAE,CAAC,EAE7BA,GAAGuX,EAAU,EAAI,OACbiC,EAAmB/P,CAAI,IAAMiN,GAC/B,OAAO8C,EAAmB/P,CAAI,EAExC,EACM+P,EAAmB/P,CAAI,EAAIiN,EACvB0D,EACFQ,GAAcR,EAAS,CAACpa,GAAI6N,CAAI,CAAC,EAEjCA,GAEH,EACD,MAAMsN,GAAQ,CACZ,MAAMC,GAASrC,GACboC,GACAjD,EACAR,EACAnE,EACAqG,CACR,EACM,OAAIA,GAAWA,EAAUwB,EAAM,EACxBA,EACR,CACL,EACE,OAAOpC,EACT,CACA,SAASL,GAAiBjC,EAAO,CAC/B,GAAI2E,GAAY3E,CAAK,EACnB,OAAAA,EAAQ4E,GAAW5E,CAAK,EACxBA,EAAM,SAAW,KACVA,CAEX,CACA,SAASmC,GAAgBnC,EAAO,CAC9B,GAAI,CAAC2E,GAAY3E,CAAK,EACpB,OAAIY,GAAWZ,EAAM,IAAI,GAAKA,EAAM,SAC3B8B,GAAoB9B,EAAM,QAAQ,EAEpCA,EAET,GAAIA,EAAM,UACR,OAAOA,EAAM,UAAU,QAEzB,KAAM,CAAE,UAAA6E,EAAW,SAAAlD,CAAU,EAAG3B,EAChC,GAAI2B,EAAU,CACZ,GAAIkD,EAAY,GACd,OAAOlD,EAAS,CAAC,EAEnB,GAAIkD,EAAY,IAAM9a,GAAW4X,EAAS,OAAO,EAC/C,OAAOA,EAAS,SAEnB,CACH,CACA,SAASa,GAAmBxC,EAAOsC,EAAO,CACpCtC,EAAM,UAAY,GAAKA,EAAM,WAC/BA,EAAM,WAAasC,EACnBE,GAAmBxC,EAAM,UAAU,QAASsC,CAAK,GACxCtC,EAAM,UAAY,KAC3BA,EAAM,UAAU,WAAasC,EAAM,MAAMtC,EAAM,SAAS,EACxDA,EAAM,WAAW,WAAasC,EAAM,MAAMtC,EAAM,UAAU,GAE1DA,EAAM,WAAasC,CAEvB,CACA,SAASV,GAAyBD,EAAUmD,EAAc,GAAOC,EAAW,CAC1E,IAAIpY,EAAM,GACNqY,EAAqB,EACzB,QAAS,EAAI,EAAG,EAAIrD,EAAS,OAAQ,IAAK,CACxC,IAAIE,EAAQF,EAAS,CAAC,EACtB,MAAMhZ,EAAMoc,GAAa,KAAOlD,EAAM,IAAM,OAAOkD,CAAS,EAAI,OAAOlD,EAAM,KAAO,KAAOA,EAAM,IAAM,CAAC,EACpGA,EAAM,OAASoD,IACbpD,EAAM,UAAY,KAAKmD,IAC3BrY,EAAMA,EAAI,OACRiV,GAAyBC,EAAM,SAAUiD,EAAanc,CAAG,CACjE,IACemc,GAAejD,EAAM,OAASU,KACvC5V,EAAI,KAAKhE,GAAO,KAAOic,GAAW/C,EAAO,CAAE,IAAAlZ,CAAG,CAAE,EAAIkZ,CAAK,CAE5D,CACD,GAAImD,EAAqB,EACvB,QAAS,EAAI,EAAG,EAAIrY,EAAI,OAAQ,IAC9BA,EAAI,CAAC,EAAE,UAAY,GAGvB,OAAOA,CACT,CAEA,2BAEA,SAASuY,GAAgBhK,EAASiK,EAAc,CAC9C,OAAOpb,GAAWmR,CAAO,GAGN,IAAM/R,GAAO,CAAE,KAAM+R,EAAQ,MAAQiK,EAAc,CAAE,MAAOjK,CAAO,CAAE,GAAI,EACxFA,CACN,CAaA,SAASkK,GAAkBvI,EAAU,CACnCA,EAAS,IAAM,CAACA,EAAS,IAAI,CAAC,EAAIA,EAAS,IAAI,CAAC,IAAM,IAAK,EAAG,CAAC,CACjE,CA8BA,SAASwI,GAAOC,EAAQC,EAAWC,EAAgBxF,EAAOyF,EAAY,GAAO,CAC3E,GAAI/b,GAAQ4b,CAAM,EAAG,CACnBA,EAAO,QACL,CAACvM,EAAGxP,IAAM8b,GACRtM,EACAwM,IAAc7b,GAAQ6b,CAAS,EAAIA,EAAUhc,CAAC,EAAIgc,GAClDC,EACAxF,EACAyF,CACD,CACP,EACI,MACD,CACD,GAAIC,GAAe1F,CAAK,GAAK,CAACyF,EAAW,CACnCzF,EAAM,UAAY,KAAOA,EAAM,KAAK,iBAAmBA,EAAM,UAAU,QAAQ,WACjFqF,GAAOC,EAAQC,EAAWC,EAAgBxF,EAAM,UAAU,OAAO,EAEnE,MACD,CACD,MAAM2F,EAAW3F,EAAM,UAAY,EAAIE,GAA2BF,EAAM,SAAS,EAAIA,EAAM,GACrF3V,EAAQob,EAAY,KAAOE,EAC3B,CAAE,EAAG7K,EAAO,EAAG9B,CAAG,EAAKsM,EAOvBM,EAASL,GAAaA,EAAU,EAChCM,EAAO/K,EAAM,OAASjS,GAAYiS,EAAM,KAAO,GAAKA,EAAM,KAC1DgL,EAAahL,EAAM,WACnBiL,EAAgBzS,GAAMwS,CAAU,EAChCE,EAAiBF,IAAejd,GAAY,IAAM,GAASF,GAWxDc,GAAOsc,EAAepd,CAAG,EAYlC,GAVIid,GAAU,MAAQA,IAAW5M,IAC3BhP,GAAS4b,CAAM,GACjBC,EAAKD,CAAM,EAAI,KACXI,EAAeJ,CAAM,IACvBE,EAAWF,CAAM,EAAI,OAEd9X,GAAM8X,CAAM,IACrBA,EAAO,MAAQ,OAGf7b,GAAWiP,CAAG,EAChB4D,GAAsB5D,EAAK8B,EAAO,GAAI,CAACzQ,EAAOwb,CAAI,CAAC,MAC9C,CACL,MAAMI,EAAYjc,GAASgP,CAAG,EACxBkN,EAASpY,GAAMkL,CAAG,EACxB,GAAIiN,GAAaC,EAAQ,CACvB,MAAMC,EAAQ,IAAM,CAClB,GAAIb,EAAO,EAAG,CACZ,MAAMc,EAAWH,EAAYD,EAAehN,CAAG,EAAI8M,EAAW9M,CAAG,EAAI6M,EAAK7M,CAAG,EAAIA,EAAI,MACjFyM,EACF/b,GAAQ0c,CAAQ,GAAKhd,GAAOgd,EAAUT,CAAQ,EAEzCjc,GAAQ0c,CAAQ,EAUTA,EAAS,SAAST,CAAQ,GACpCS,EAAS,KAAKT,CAAQ,EAVlBM,GACFJ,EAAK7M,CAAG,EAAI,CAAC2M,CAAQ,EACjBK,EAAehN,CAAG,IACpB8M,EAAW9M,CAAG,EAAI6M,EAAK7M,CAAG,KAG5BA,EAAI,MAAQ,CAAC2M,CAAQ,EACjBL,EAAO,IAAGO,EAAKP,EAAO,CAAC,EAAItM,EAAI,OAM1C,MAAUiN,GACTJ,EAAK7M,CAAG,EAAI3O,EACR2b,EAAehN,CAAG,IACpB8M,EAAW9M,CAAG,EAAI3O,IAEX6b,IACTlN,EAAI,MAAQ3O,EACRib,EAAO,IAAGO,EAAKP,EAAO,CAAC,EAAIjb,GAIzC,EACUA,GACF8b,EAAM,GAAK,GACXE,GAAsBF,EAAOX,CAAc,GAE3CW,GAIH,CACF,CACH,CA8oB4Bla,GAAe,EAAC,oBACjBA,GAAa,EAAG,mBA0F3C,MAAMyZ,GAAkBnc,GAAM,CAAC,CAACA,EAAE,KAAK,cAuKjCob,GAAe3E,GAAUA,EAAM,KAAK,cA2N1C,SAASsG,GAAY5F,EAAMrO,EAAQ,CACjCkU,GAAsB7F,EAAM,IAAKrO,CAAM,CACzC,CACA,SAASmU,GAAc9F,EAAMrO,EAAQ,CACnCkU,GAAsB7F,EAAM,KAAMrO,CAAM,CAC1C,CACA,SAASkU,GAAsB7F,EAAMpO,EAAMD,EAASoU,GAAiB,CACnE,MAAMC,EAAchG,EAAK,QAAUA,EAAK,MAAQ,IAAM,CACpD,IAAIiG,EAAUtU,EACd,KAAOsU,GAAS,CACd,GAAIA,EAAQ,cACV,OAEFA,EAAUA,EAAQ,MACnB,CACD,OAAOjG,EAAI,CACf,GAEE,GADAkG,GAAWtU,EAAMoU,EAAarU,CAAM,EAChCA,EAAQ,CACV,IAAIsU,EAAUtU,EAAO,OACrB,KAAOsU,GAAWA,EAAQ,QACpBhC,GAAYgC,EAAQ,OAAO,KAAK,GAClCE,GAAsBH,EAAapU,EAAMD,EAAQsU,CAAO,EAE1DA,EAAUA,EAAQ,MAErB,CACH,CACA,SAASE,GAAsBnG,EAAMpO,EAAMD,EAAQyU,EAAe,CAChE,MAAMC,EAAWH,GACftU,EACAoO,EACAoG,EACA,EAEJ,EACEE,GAAY,IAAM,CAChB5d,GAAO0d,EAAcxU,CAAI,EAAGyU,CAAQ,CACrC,EAAE1U,CAAM,CACX,CASA,SAASuU,GAAWtU,EAAMoO,EAAMrO,EAASoU,GAAiBQ,EAAU,GAAO,CACzE,GAAI5U,EAAQ,CACV,MAAMiQ,EAAQjQ,EAAOC,CAAI,IAAMD,EAAOC,CAAI,EAAI,IACxCoU,EAAchG,EAAK,QAAUA,EAAK,MAAQ,IAAI9M,IAAS,CAC3DpC,KACA,MAAM0V,EAAQC,GAAmB9U,CAAM,EACjClG,EAAM4Q,GAA2B2D,EAAMrO,EAAQC,EAAMsB,CAAI,EAC/D,OAAAsT,IACAzV,KACOtF,CACb,GACI,OAAI8a,EACF3E,EAAM,QAAQoE,CAAW,EAEzBpE,EAAM,KAAKoE,CAAW,EAEjBA,CAMR,CACH,CACA,MAAMU,GAAcC,GAAc,CAAC3G,EAAMrO,EAASoU,KAAoB,EAChE,CAACa,IAAyBD,IAAc,OAC1CT,GAAWS,EAAW,IAAIzT,IAAS8M,EAAK,GAAG9M,CAAI,EAAGvB,CAAM,CAE5D,EACMkV,GAAgBH,GAAW,IAAI,EAC/BnG,GAAYmG,GAAW,GAAG,EAC1BI,GAAiBJ,GACrB,IACF,EACMK,GAAYL,GAAW,GAAG,EAC1BlG,GAAkBkG,GACtB,KACF,EACMJ,GAAcI,GAAW,IAAI,EAC7BM,GAAmBN,GACvB,IACF,EACMO,GAAoBP,GAAW,KAAK,EACpCQ,GAAkBR,GAAW,KAAK,EACxC,SAASS,GAAgBnH,EAAMrO,EAASoU,GAAiB,CACvDG,GAAW,KAAMlG,EAAMrO,CAAM,CAC/B,CAEA,MAAMyV,GAAa,aACbC,GAAa,aACnB,SAASC,GAAiBlb,EAAMmb,EAAoB,CAClD,OAAOC,GAAaJ,GAAYhb,EAAM,GAAMmb,CAAkB,GAAKnb,CACrE,CACA,MAAMqb,GAAyB,OAAO,IAAI,OAAO,EACjD,SAASC,GAAwBC,EAAW,CAC1C,OAAIre,GAASqe,CAAS,EACbH,GAAaJ,GAAYO,EAAW,EAAK,GAAKA,EAE9CA,GAAaF,EAExB,CACA,SAASG,GAAiBxb,EAAM,CAC9B,OAAOob,GAAaH,GAAYjb,CAAI,CACtC,CACA,SAASob,GAAa5V,EAAMxF,EAAMyb,EAAc,GAAMN,EAAqB,GAAO,CAChF,MAAMpL,EAAWyC,IAA4BmH,GAC7C,GAAI5J,EAAU,CACZ,MAAM2L,EAAY3L,EAAS,KAC3B,GAAIvK,IAASwV,GAAY,CACvB,MAAMW,EAAWC,GACfF,EACA,EACR,EACM,GAAIC,IAAaA,IAAa3b,GAAQ2b,IAAa3d,GAASgC,CAAI,GAAK2b,IAAatd,GAAWL,GAASgC,CAAI,CAAC,GACzG,OAAO0b,CAEV,CACD,MAAMrc,EAGJwc,GAAQ9L,EAASvK,CAAI,GAAKkW,EAAUlW,CAAI,EAAGxF,CAAI,GAC/C6b,GAAQ9L,EAAS,WAAWvK,CAAI,EAAGxF,CAAI,EAEzC,MAAI,CAACX,GAAO8b,EACHO,EAOFrc,CAKR,CACH,CACA,SAASwc,GAAQC,EAAU9b,EAAM,CAC/B,OAAO8b,IAAaA,EAAS9b,CAAI,GAAK8b,EAAS9d,GAASgC,CAAI,CAAC,GAAK8b,EAASzd,GAAWL,GAASgC,CAAI,CAAC,CAAC,EACvG,CAEA,SAAS+b,GAAW5O,EAAQ6O,EAAYle,EAAOoK,EAAO,CACpD,IAAIrI,EACJ,MAAMoc,EAASne,GAASA,EAAMoK,CAAK,EAC7BgU,EAAgBtf,GAAQuQ,CAAM,EACpC,GAAI+O,GAAiBhf,GAASiQ,CAAM,EAAG,CACrC,MAAMgP,EAAwBD,GAAiBnQ,GAAWoB,CAAM,EAChE,IAAIrF,EAAY,GACZsU,EAAmB,GACnBD,IACFrU,EAAY,CAACrB,GAAU0G,CAAM,EAC7BiP,EAAmB/S,GAAW8D,CAAM,EACpCA,EAASxG,GAAiBwG,CAAM,GAElCtN,EAAM,IAAI,MAAMsN,EAAO,MAAM,EAC7B,QAAS1Q,EAAI,EAAGmF,EAAIuL,EAAO,OAAQ1Q,EAAImF,EAAGnF,IACxCoD,EAAIpD,CAAC,EAAIuf,EACPlU,EAAYsU,EAAmBhS,GAAW1D,GAAWyG,EAAO1Q,CAAC,CAAC,CAAC,EAAIiK,GAAWyG,EAAO1Q,CAAC,CAAC,EAAI0Q,EAAO1Q,CAAC,EACnGA,EACA,OACAwf,GAAUA,EAAOxf,CAAC,CAC1B,CAEA,SAAa,OAAO0Q,GAAW,SAAU,CAIrCtN,EAAM,IAAI,MAAMsN,CAAM,EACtB,QAAS1Q,EAAI,EAAGA,EAAI0Q,EAAQ1Q,IAC1BoD,EAAIpD,CAAC,EAAIuf,EAAWvf,EAAI,EAAGA,EAAG,OAAQwf,GAAUA,EAAOxf,CAAC,CAAC,CAE/D,SAAaW,GAAS+P,CAAM,EACxB,GAAIA,EAAO,OAAO,QAAQ,EACxBtN,EAAM,MAAM,KACVsN,EACA,CAAC7N,EAAM7C,IAAMuf,EAAW1c,EAAM7C,EAAG,OAAQwf,GAAUA,EAAOxf,CAAC,CAAC,CACpE,MACW,CACL,MAAM4f,EAAO,OAAO,KAAKlP,CAAM,EAC/BtN,EAAM,IAAI,MAAMwc,EAAK,MAAM,EAC3B,QAAS5f,EAAI,EAAGmF,EAAIya,EAAK,OAAQ5f,EAAImF,EAAGnF,IAAK,CAC3C,MAAMZ,EAAMwgB,EAAK5f,CAAC,EAClBoD,EAAIpD,CAAC,EAAIuf,EAAW7O,EAAOtR,CAAG,EAAGA,EAAKY,EAAGwf,GAAUA,EAAOxf,CAAC,CAAC,CAC7D,CACF,MAEDoD,EAAM,GAER,OAAI/B,IACFA,EAAMoK,CAAK,EAAIrI,GAEVA,CACT,CAEA,SAASyc,GAAY3H,EAAO4H,EAAc,CACxC,QAAS9f,EAAI,EAAGA,EAAI8f,EAAa,OAAQ9f,IAAK,CAC5C,MAAM+f,EAAOD,EAAa9f,CAAC,EAC3B,GAAIG,GAAQ4f,CAAI,EACd,QAASC,EAAI,EAAGA,EAAID,EAAK,OAAQC,IAC/B9H,EAAM6H,EAAKC,CAAC,EAAE,IAAI,EAAID,EAAKC,CAAC,EAAE,QAEvBD,IACT7H,EAAM6H,EAAK,IAAI,EAAIA,EAAK,IAAM,IAAI1V,IAAS,CACzC,MAAMzH,EAAMmd,EAAK,GAAG,GAAG1V,CAAI,EAC3B,OAAIzH,IAAKA,EAAI,IAAMmd,EAAK,KACjBnd,CACf,EAAUmd,EAAK,GAEZ,CACD,OAAO7H,CACT,CAEA,SAAS+H,GAAW/H,EAAO3U,EAAM0U,EAAQ,CAAE,EAAEiI,EAAUC,EAAW,CAChE,GAAIpK,GAAyB,IAAMA,GAAyB,QAAUoG,GAAepG,GAAyB,MAAM,GAAKA,GAAyB,OAAO,GACvJ,OAAIxS,IAAS,YAAW0U,EAAM,KAAO1U,GAC9B6c,EAAW,EAAEC,EAClB3E,GACA,KACA,CAAC4E,EAAY,OAAQrI,EAAOiI,GAAYA,EAAU,EAAC,EACnD,EACN,EAEE,IAAIH,EAAO7H,EAAM3U,CAAI,EAOjBwc,GAAQA,EAAK,KACfA,EAAK,GAAK,IAEZK,IACA,MAAMG,EAAmBR,GAAQS,GAAiBT,EAAK9H,CAAK,CAAC,EACvDwI,EAAUxI,EAAM,KAEtBsI,GAAoBA,EAAiB,IAC/BG,EAAWL,EACf3E,GACA,CACE,KAAM+E,GAAW,CAAC/f,GAAS+f,CAAO,EAAIA,EAAU,IAAIld,CAAI,KACvD,CAACgd,GAAoBL,EAAW,MAAQ,GAC1C,EACDK,IAAqBL,EAAWA,EAAU,EAAG,IAC7CK,GAAoBrI,EAAM,IAAM,EAAI,GAAK,EAC7C,EACE,MAAI,CAACiI,GAAaO,EAAS,UACzBA,EAAS,aAAe,CAACA,EAAS,QAAU,IAAI,GAE9CX,GAAQA,EAAK,KACfA,EAAK,GAAK,IAELW,CACT,CACA,SAASF,GAAiBG,EAAQ,CAChC,OAAOA,EAAO,KAAMrI,GACbsI,GAAQtI,CAAK,EACd,EAAAA,EAAM,OAASU,IACfV,EAAM,OAASoD,IAAY,CAAC8E,GAAiBlI,EAAM,QAAQ,GAFnC,EAK7B,EAAIqI,EAAS,IAChB,CAEA,SAASE,GAAWze,EAAK0e,EAAyB,CAChD,MAAM1d,EAAM,GAKZ,UAAWhE,KAAOgD,EAChBgB,EAAI0d,GAA2B,QAAQ,KAAK1hB,CAAG,EAAI,MAAMA,CAAG,GAAKyC,GAAazC,CAAG,CAAC,EAAIgD,EAAIhD,CAAG,EAE/F,OAAOgE,CACT,CAEA,MAAM2d,GAAqB/gB,GACpBA,EACDghB,GAAoBhhB,CAAC,EAAU2W,GAA2B3W,CAAC,EACxD+gB,GAAkB/gB,EAAE,MAAM,EAFlB,KAIXihB,GAGYrhB,GAAuB,OAAO,OAAO,IAAI,EAAG,CAC1D,EAAII,GAAMA,EACV,IAAMA,GAAMA,EAAE,MAAM,GACpB,MAAQA,GAAMA,EAAE,KAChB,OAASA,GAA6EA,EAAE,MACxF,OAASA,GAA6EA,EAAE,MACxF,OAASA,GAA6EA,EAAE,MACxF,MAAQA,GAA4EA,EAAE,KACtF,QAAUA,GAAM+gB,GAAkB/gB,EAAE,MAAM,EAC1C,MAAQA,GAAM+gB,GAAkB/gB,EAAE,IAAI,EACtC,MAAQA,GAAMA,EAAE,GAChB,MAAQA,GAAMA,EAAE,KAChB,SAAWA,GAA4BkhB,GAAqBlhB,CAAC,EAC7D,aAAeA,GAAMA,EAAE,IAAMA,EAAE,EAAI,IAAM,CACvCqV,GAASrV,EAAE,MAAM,CACvB,GACI,UAAYA,GAAMA,EAAE,IAAMA,EAAE,EAAI2U,GAAS,KAAK3U,EAAE,KAAK,GACrD,OAASA,GAA4BmhB,GAAc,KAAKnhB,CAAC,CAC7D,CAAG,EAGGohB,GAAkB,CAAC3J,EAAOrY,IAAQqY,IAAUnY,IAAa,CAACmY,EAAM,iBAAmBvX,GAAOuX,EAAOrY,CAAG,EACpGiiB,GAA8B,CAClC,IAAI,CAAE,EAAG/N,CAAQ,EAAIlU,EAAK,CACxB,GAAIA,IAAQ,WACV,MAAO,GAET,KAAM,CAAE,IAAA+W,EAAK,WAAAoG,EAAY,KAAA+E,EAAM,MAAArJ,EAAO,YAAAsJ,EAAa,KAAAxY,EAAM,WAAAyY,CAAY,EAAGlO,EAIxE,IAAImO,EACJ,GAAIriB,EAAI,CAAC,IAAM,IAAK,CAClB,MAAMmD,EAAIgf,EAAYniB,CAAG,EACzB,GAAImD,IAAM,OACR,OAAQA,EAAC,CACP,IAAK,GACH,OAAOga,EAAWnd,CAAG,EACvB,IAAK,GACH,OAAOkiB,EAAKliB,CAAG,EACjB,IAAK,GACH,OAAO+W,EAAI/W,CAAG,EAChB,IAAK,GACH,OAAO6Y,EAAM7Y,CAAG,CACnB,KACI,IAAIgiB,GAAgB7E,EAAYnd,CAAG,EACxC,OAAAmiB,EAAYniB,CAAG,EAAI,EACZmd,EAAWnd,CAAG,EAChB,GAAIkiB,IAAShiB,IAAaY,GAAOohB,EAAMliB,CAAG,EAC/C,OAAAmiB,EAAYniB,CAAG,EAAI,EACZkiB,EAAKliB,CAAG,EACV,IAGJqiB,EAAkBnO,EAAS,aAAa,CAAC,IAAMpT,GAAOuhB,EAAiBriB,CAAG,EAE3E,OAAAmiB,EAAYniB,CAAG,EAAI,EACZ6Y,EAAM7Y,CAAG,EACX,GAAI+W,IAAQ7W,IAAaY,GAAOiW,EAAK/W,CAAG,EAC7C,OAAAmiB,EAAYniB,CAAG,EAAI,EACZ+W,EAAI/W,CAAG,EACmBsiB,KACjCH,EAAYniB,CAAG,EAAI,GAEtB,CACD,MAAMuiB,EAAeV,GAAoB7hB,CAAG,EAC5C,IAAIwiB,EAAWC,EACf,GAAIF,EACF,OAAIviB,IAAQ,UACVyJ,GAAMyK,EAAS,MAAO,MAAO,EAAE,EAK1BqO,EAAarO,CAAQ,EACvB,IAEJsO,EAAY7Y,EAAK,gBAAkB6Y,EAAYA,EAAUxiB,CAAG,GAE7D,OAAOwiB,EACF,GAAIzL,IAAQ7W,IAAaY,GAAOiW,EAAK/W,CAAG,EAC7C,OAAAmiB,EAAYniB,CAAG,EAAI,EACZ+W,EAAI/W,CAAG,EACT,GAELyiB,EAAmBL,EAAW,OAAO,iBAAkBthB,GAAO2hB,EAAkBziB,CAAG,EAGjF,OAAOyiB,EAAiBziB,CAAG,CAiBhC,EACD,IAAI,CAAE,EAAGkU,CAAQ,EAAIlU,EAAK0B,EAAO,CAC/B,KAAM,CAAE,KAAAwgB,EAAM,WAAA/E,EAAY,IAAApG,CAAG,EAAK7C,EAClC,OAAI8N,GAAgB7E,EAAYnd,CAAG,GACjCmd,EAAWnd,CAAG,EAAI0B,EACX,IAIEwgB,IAAShiB,IAAaY,GAAOohB,EAAMliB,CAAG,GAC/CkiB,EAAKliB,CAAG,EAAI0B,EACL,IACEZ,GAAOoT,EAAS,MAAOlU,CAAG,GAIjCA,EAAI,CAAC,IAAM,KAAOA,EAAI,MAAM,CAAC,IAAKkU,EAI7B,IASL6C,EAAI/W,CAAG,EAAI0B,EAGR,GACR,EACD,IAAI,CACF,EAAG,CAAE,KAAAwgB,EAAM,WAAA/E,EAAY,YAAAgF,EAAa,IAAApL,EAAK,WAAAqL,EAAY,aAAAM,CAAc,CACpE,EAAE1iB,EAAK,CACN,IAAIqiB,EACJ,MAAO,CAAC,CAACF,EAAYniB,CAAG,GAAKkiB,IAAShiB,IAAaY,GAAOohB,EAAMliB,CAAG,GAAKgiB,GAAgB7E,EAAYnd,CAAG,IAAMqiB,EAAkBK,EAAa,CAAC,IAAM5hB,GAAOuhB,EAAiBriB,CAAG,GAAKc,GAAOiW,EAAK/W,CAAG,GAAKc,GAAO+gB,GAAqB7hB,CAAG,GAAKc,GAAOshB,EAAW,OAAO,iBAAkBpiB,CAAG,CAC1R,EACD,eAAe0J,EAAQ1J,EAAK2iB,EAAY,CACtC,OAAIA,EAAW,KAAO,KACpBjZ,EAAO,EAAE,YAAY1J,CAAG,EAAI,EACnBc,GAAO6hB,EAAY,OAAO,GACnC,KAAK,IAAIjZ,EAAQ1J,EAAK2iB,EAAW,MAAO,IAAI,EAEvC,QAAQ,eAAejZ,EAAQ1J,EAAK2iB,CAAU,CACtD,CACH,EA4IA,SAASC,GAAsB/J,EAAO,CACpC,OAAO9X,GAAQ8X,CAAK,EAAIA,EAAM,OAC5B,CAACnV,EAAY8R,KAAO9R,EAAW8R,CAAC,EAAI,KAAM9R,GAC1C,CAAE,CACH,EAAGmV,CACN,CAoEA,IAAIyJ,GAAoB,GACxB,SAASO,GAAa3O,EAAU,CAC9B,MAAM3B,EAAUuP,GAAqB5N,CAAQ,EACvC4O,EAAa5O,EAAS,MACtB6C,EAAM7C,EAAS,IACrBoO,GAAoB,GAChB/P,EAAQ,cACV+I,GAAS/I,EAAQ,aAAc2B,EAAU,IAAI,EAE/C,KAAM,CAEJ,KAAM6O,EACN,SAAUC,EACV,QAAAC,EACA,MAAOC,EACP,QAASC,EACT,OAAQC,EAER,QAAAC,EACA,YAAAC,EACA,QAAAC,EACA,aAAAC,EACA,QAAAC,EACA,UAAAC,EACA,YAAAC,EACA,cAAAC,EACA,cAAAC,EACA,UAAAC,EACA,UAAAC,EACA,OAAAC,EACA,cAAAC,GACA,gBAAAC,GACA,cAAAC,GACA,eAAAC,GAEA,OAAAC,GACA,aAAAC,EAEA,WAAAC,EACA,WAAAjN,EACA,QAAAkN,CACD,EAAGjS,EAaJ,GAHI6Q,GACFqB,GAAkBrB,EAAerM,EAVqE,IAUxC,EAE5DkM,EACF,UAAWjjB,KAAOijB,EAAS,CACzB,MAAMyB,EAAgBzB,EAAQjjB,CAAG,EAC7BoB,GAAWsjB,CAAa,IASxB3N,EAAI/W,CAAG,EAAI0kB,EAAc,KAAK5B,CAAU,EAU7C,CAEH,GAAIC,EAAa,CAMf,MAAMb,EAAOa,EAAY,KAAKD,EAAYA,CAAU,EAM/CvhB,GAAS2gB,CAAI,IAGhBhO,EAAS,KAAO7G,GAAS6U,CAAI,EAehC,CAED,GADAI,GAAoB,GAChBU,EACF,UAAWhjB,KAAOgjB,EAAiB,CACjC,MAAM2B,EAAM3B,EAAgBhjB,CAAG,EACzBiP,GAAM7N,GAAWujB,CAAG,EAAIA,EAAI,KAAK7B,EAAYA,CAAU,EAAI1hB,GAAWujB,EAAI,GAAG,EAAIA,EAAI,IAAI,KAAK7B,EAAYA,CAAU,EAAI1iB,GAIxHwkB,GAAM,CAACxjB,GAAWujB,CAAG,GAAKvjB,GAAWujB,EAAI,GAAG,EAAIA,EAAI,IAAI,KAAK7B,CAAU,EAIzE1iB,GACEiC,GAAI+F,GAAS,CACjB,IAAA6G,GACA,IAAA2V,EACR,CAAO,EACD,OAAO,eAAe7N,EAAK/W,EAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAMqC,GAAE,MACb,IAAMqD,IAAMrD,GAAE,MAAQqD,EAC9B,CAAO,CAIF,CAEH,GAAIwd,EACF,UAAWljB,KAAOkjB,EAChB2B,GAAc3B,EAAaljB,CAAG,EAAG+W,EAAK+L,EAAY9iB,CAAG,EAGzD,GAAImjB,EAAgB,CAClB,MAAM2B,EAAW1jB,GAAW+hB,CAAc,EAAIA,EAAe,KAAKL,CAAU,EAAIK,EAChF,QAAQ,QAAQ2B,CAAQ,EAAE,QAAS9kB,GAAQ,CACzC+kB,GAAQ/kB,EAAK8kB,EAAS9kB,CAAG,CAAC,CAChC,CAAK,CACF,CACGqjB,GACF/H,GAAS+H,EAASnP,EAAU,GAAG,EAEjC,SAAS8Q,EAAsBC,EAAUlN,EAAM,CACzChX,GAAQgX,CAAI,EACdA,EAAK,QAASmN,IAAUD,EAASC,GAAM,KAAKpC,CAAU,CAAC,CAAC,EAC/C/K,GACTkN,EAASlN,EAAK,KAAK+K,CAAU,CAAC,CAEjC,CAaD,GAZAkC,EAAsBpG,GAAe0E,CAAW,EAChD0B,EAAsB1M,GAAWiL,CAAO,EACxCyB,EAAsBnG,GAAgB2E,CAAY,EAClDwB,EAAsBlG,GAAW2E,CAAO,EACxCuB,EAAsBrH,GAAa+F,CAAS,EAC5CsB,EAAsBnH,GAAe8F,CAAW,EAChDqB,EAAsB9F,GAAiBiF,EAAa,EACpDa,EAAsB/F,GAAiBgF,EAAa,EACpDe,EAAsBhG,GAAmBkF,EAAe,EACxDc,EAAsBzM,GAAiBsL,CAAa,EACpDmB,EAAsB3G,GAAa0F,CAAS,EAC5CiB,EAAsBjG,GAAkBqF,EAAc,EAClDrjB,GAAQsjB,EAAM,EAChB,GAAIA,GAAO,OAAQ,CACjB,MAAMc,EAAUjR,EAAS,UAAYA,EAAS,QAAU,IACxDmQ,GAAO,QAASrkB,GAAQ,CACtB,OAAO,eAAemlB,EAASnlB,EAAK,CAClC,IAAK,IAAM8iB,EAAW9iB,CAAG,EACzB,IAAMC,IAAQ6iB,EAAW9iB,CAAG,EAAIC,EAC1C,CAAS,CACT,CAAO,CACP,MAAgBiU,EAAS,UACnBA,EAAS,QAAU,IAGnB8P,GAAU9P,EAAS,SAAW9T,KAChC8T,EAAS,OAAS8P,GAEhBM,GAAgB,OAClBpQ,EAAS,aAAeoQ,GAEtBC,IAAYrQ,EAAS,WAAaqQ,GAClCjN,IAAYpD,EAAS,WAAaoD,GAClC8M,IACF3H,GAAkBvI,CAAQ,CAE9B,CACA,SAASuQ,GAAkBrB,EAAerM,EAAKqO,EAA2BhlB,GAAM,CAC1EW,GAAQqiB,CAAa,IACvBA,EAAgBiC,GAAgBjC,CAAa,GAE/C,UAAWpjB,KAAOojB,EAAe,CAC/B,MAAMuB,EAAMvB,EAAcpjB,CAAG,EAC7B,IAAIoe,EACA7c,GAASojB,CAAG,EACV,YAAaA,EACfvG,EAAWkH,GACTX,EAAI,MAAQ3kB,EACZ2kB,EAAI,QACJ,EACV,EAEQvG,EAAWkH,GAAOX,EAAI,MAAQ3kB,CAAG,EAGnCoe,EAAWkH,GAAOX,CAAG,EAEnBxf,GAAMiZ,CAAQ,EAChB,OAAO,eAAerH,EAAK/W,EAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAMoe,EAAS,MACpB,IAAM1Y,GAAM0Y,EAAS,MAAQ1Y,CACrC,CAAO,EAEDqR,EAAI/W,CAAG,EAAIoe,CAKd,CACH,CACA,SAAS9C,GAASvD,EAAM7D,EAAUvK,EAAM,CACtCyK,GACErT,GAAQgX,CAAI,EAAIA,EAAK,IAAKwN,GAAMA,EAAE,KAAKrR,EAAS,KAAK,CAAC,EAAI6D,EAAK,KAAK7D,EAAS,KAAK,EAClFA,EACAvK,CACJ,CACA,CACA,SAASkb,GAAcna,EAAKqM,EAAK+L,EAAY9iB,EAAK,CAChD,IAAI6R,EAAS7R,EAAI,SAAS,GAAG,EAAIwlB,GAAiB1C,EAAY9iB,CAAG,EAAI,IAAM8iB,EAAW9iB,CAAG,EACzF,GAAIqB,GAASqJ,CAAG,EAAG,CACjB,MAAM+a,EAAU1O,EAAIrM,CAAG,EACnBtJ,GAAWqkB,CAAO,GAElBpT,GAAMR,EAAQ4T,CAAO,CAK7B,SAAarkB,GAAWsJ,CAAG,EAErB2H,GAAMR,EAAQnH,EAAI,KAAKoY,CAAU,CAAC,UAE3BvhB,GAASmJ,CAAG,EACrB,GAAI3J,GAAQ2J,CAAG,EACbA,EAAI,QAAS0F,GAAMyU,GAAczU,EAAG2G,EAAK+L,EAAY9iB,CAAG,CAAC,MACpD,CACL,MAAMylB,EAAUrkB,GAAWsJ,EAAI,OAAO,EAAIA,EAAI,QAAQ,KAAKoY,CAAU,EAAI/L,EAAIrM,EAAI,OAAO,EACpFtJ,GAAWqkB,CAAO,GACpBpT,GAAMR,EAAQ4T,EAAS/a,CAAG,CAI7B,CAIL,CACA,SAASoX,GAAqB5N,EAAU,CACtC,MAAMwR,EAAOxR,EAAS,KAChB,CAAE,OAAAyR,EAAQ,QAASC,CAAc,EAAKF,EACtC,CACJ,OAAQG,EACR,aAAc5jB,EACd,OAAQ,CAAE,sBAAA6jB,CAAuB,CACrC,EAAM5R,EAAS,WACPkM,EAASne,EAAM,IAAIyjB,CAAI,EAC7B,IAAIK,EACJ,OAAI3F,EACF2F,EAAW3F,EACF,CAACyF,EAAa,QAAU,CAACF,GAAU,CAACC,EAE3CG,EAAWL,GAGbK,EAAW,GACPF,EAAa,QACfA,EAAa,QACVG,GAAMC,GAAaF,EAAUC,EAAGF,EAAuB,EAAI,CACpE,EAEIG,GAAaF,EAAUL,EAAMI,CAAqB,GAEhDvkB,GAASmkB,CAAI,GACfzjB,EAAM,IAAIyjB,EAAMK,CAAQ,EAEnBA,CACT,CACA,SAASE,GAAaC,EAAIC,EAAMC,EAAQC,EAAU,GAAO,CACvD,KAAM,CAAE,OAAAV,EAAQ,QAASC,CAAc,EAAKO,EACxCP,GACFK,GAAaC,EAAIN,EAAgBQ,EAAQ,EAAI,EAE3CT,GACFA,EAAO,QACJK,GAAMC,GAAaC,EAAIF,EAAGI,EAAQ,EAAI,CAC7C,EAEE,UAAWpmB,KAAOmmB,EAChB,GAAI,EAAAE,GAAWrmB,IAAQ,UAIhB,CACL,MAAMsmB,EAAQC,GAA0BvmB,CAAG,GAAKomB,GAAUA,EAAOpmB,CAAG,EACpEkmB,EAAGlmB,CAAG,EAAIsmB,EAAQA,EAAMJ,EAAGlmB,CAAG,EAAGmmB,EAAKnmB,CAAG,CAAC,EAAImmB,EAAKnmB,CAAG,CACvD,CAEH,OAAOkmB,CACT,CACA,MAAMK,GAA4B,CAChC,KAAMC,GACN,MAAOC,GACP,MAAOA,GAEP,QAASC,GACT,SAAUA,GAEV,aAAcC,GACd,QAASA,GACT,YAAaA,GACb,QAASA,GACT,aAAcA,GACd,QAASA,GACT,cAAeA,GACf,cAAeA,GACf,UAAWA,GACX,UAAWA,GACX,UAAWA,GACX,YAAaA,GACb,cAAeA,GACf,eAAgBA,GAEhB,WAAYD,GACZ,WAAYA,GAEZ,MAAOE,GAEP,QAASJ,GACT,OAAQK,EACV,EACA,SAASL,GAAYN,EAAIC,EAAM,CAC7B,OAAKA,EAGAD,EAGE,UAAwB,CAC7B,OAAQ1lB,GACNY,GAAW8kB,CAAE,EAAIA,EAAG,KAAK,KAAM,IAAI,EAAIA,EACvC9kB,GAAW+kB,CAAI,EAAIA,EAAK,KAAK,KAAM,IAAI,EAAIA,CACjD,CACA,EAPWA,EAHAD,CAWX,CACA,SAASW,GAAYX,EAAIC,EAAM,CAC7B,OAAOO,GAAmBrB,GAAgBa,CAAE,EAAGb,GAAgBc,CAAI,CAAC,CACtE,CACA,SAASd,GAAgB3a,EAAK,CAC5B,GAAI3J,GAAQ2J,CAAG,EAAG,CAChB,MAAMlH,EAAM,GACZ,QAAS5C,EAAI,EAAGA,EAAI8J,EAAI,OAAQ9J,IAC9B4C,EAAIkH,EAAI9J,CAAC,CAAC,EAAI8J,EAAI9J,CAAC,EAErB,OAAO4C,CACR,CACD,OAAOkH,CACT,CACA,SAASic,GAAaT,EAAIC,EAAM,CAC9B,OAAOD,EAAK,CAAC,GAAG,IAAI,IAAI,CAAE,EAAC,OAAOA,EAAIC,CAAI,CAAC,CAAC,EAAIA,CAClD,CACA,SAASO,GAAmBR,EAAIC,EAAM,CACpC,OAAOD,EAAK1lB,GAAuB,OAAO,OAAO,IAAI,EAAG0lB,EAAIC,CAAI,EAAIA,CACtE,CACA,SAASM,GAAyBP,EAAIC,EAAM,CAC1C,OAAID,EACEnlB,GAAQmlB,CAAE,GAAKnlB,GAAQolB,CAAI,EACtB,CAAC,GAAmB,IAAI,IAAI,CAAC,GAAGD,EAAI,GAAGC,CAAI,CAAC,CAAC,EAE/C3lB,GACW,OAAO,OAAO,IAAI,EAClCoiB,GAAsBsD,CAAE,EACxBtD,GAAsBuD,GAAsB,EAAE,CACpD,EAEWA,CAEX,CACA,SAASS,GAAkBV,EAAIC,EAAM,CACnC,GAAI,CAACD,EAAI,OAAOC,EAChB,GAAI,CAACA,EAAM,OAAOD,EAClB,MAAMY,EAAStmB,GAAuB,OAAO,OAAO,IAAI,EAAG0lB,CAAE,EAC7D,UAAWlmB,KAAOmmB,EAChBW,EAAO9mB,CAAG,EAAI2mB,GAAaT,EAAGlmB,CAAG,EAAGmmB,EAAKnmB,CAAG,CAAC,EAE/C,OAAO8mB,CACT,CAEA,SAASC,IAAmB,CAC1B,MAAO,CACL,IAAK,KACL,OAAQ,CACN,YAAa1mB,GACb,YAAa,GACb,iBAAkB,CAAE,EACpB,sBAAuB,CAAE,EACzB,aAAc,OACd,YAAa,OACb,gBAAiB,CAAE,CACpB,EACD,OAAQ,CAAE,EACV,WAAY,CAAE,EACd,WAAY,CAAE,EACd,SAA0B,OAAO,OAAO,IAAI,EAC5C,aAA8B,IAAI,QAClC,WAA4B,IAAI,QAChC,WAA4B,IAAI,OACpC,CACA,CACA,IAAI2mB,GAAQ,EACZ,SAASC,GAAajD,EAAQkD,EAAS,CACrC,OAAO,SAAmBC,EAAeC,EAAY,KAAM,CACpDhmB,GAAW+lB,CAAa,IAC3BA,EAAgB3mB,GAAO,GAAI2mB,CAAa,GAEtCC,GAAa,MAAQ,CAAC7lB,GAAS6lB,CAAS,IAE1CA,EAAY,MAEd,MAAMC,EAAUN,KACVO,EAAmC,IAAI,QACvCC,EAAmB,GACzB,IAAIC,EAAY,GAChB,MAAMC,EAAMJ,EAAQ,IAAM,CACxB,KAAML,KACN,WAAYG,EACZ,OAAQC,EACR,WAAY,KACZ,SAAUC,EACV,UAAW,KACjB,QAAMK,GACA,IAAI,QAAS,CACX,OAAOL,EAAQ,MAChB,EACD,IAAI,OAAO3hB,EAAG,CAMb,EACD,IAAIiiB,KAAWpV,EAAS,CACtB,OAAI+U,EAAiB,IAAIK,CAAM,IAEpBA,GAAUvmB,GAAWumB,EAAO,OAAO,GAC5CL,EAAiB,IAAIK,CAAM,EAC3BA,EAAO,QAAQF,EAAK,GAAGlV,CAAO,GACrBnR,GAAWumB,CAAM,IAC1BL,EAAiB,IAAIK,CAAM,EAC3BA,EAAOF,EAAK,GAAGlV,CAAO,IAMjBkV,CACR,EACD,MAAMG,EAAO,CAET,OAAKP,EAAQ,OAAO,SAASO,CAAK,GAChCP,EAAQ,OAAO,KAAKO,CAAK,EAStBH,CACR,EACD,UAAUtjB,EAAMub,EAAW,CAIzB,OAAKA,GAML2H,EAAQ,WAAWljB,CAAI,EAAIub,EACpB+H,GANEJ,EAAQ,WAAWljB,CAAI,CAOjC,EACD,UAAUA,EAAM0jB,EAAW,CAIzB,OAAKA,GAMLR,EAAQ,WAAWljB,CAAI,EAAI0jB,EACpBJ,GANEJ,EAAQ,WAAWljB,CAAI,CAOjC,EACD,MAAM2jB,EAAeC,EAAWC,EAAW,CACzC,GAAI,CAACR,EAAW,CAOd,MAAMnQ,EAAQoQ,EAAI,UAAYvG,EAAYiG,EAAeC,CAAS,EAClE,OAAA/P,EAAM,WAAagQ,EACfW,IAAc,GAChBA,EAAY,MACHA,IAAc,KACvBA,EAAY,QASVD,GAAab,EACfA,EAAQ7P,EAAOyQ,CAAa,EAE5B9D,EAAO3M,EAAOyQ,EAAeE,CAAS,EAExCR,EAAY,GACZC,EAAI,WAAaK,EACjBA,EAAc,YAAcL,EAKrBlQ,GAA2BF,EAAM,SAAS,CAMlD,CACF,EACD,UAAUnF,EAAW,CAMnBqV,EAAiB,KAAKrV,CAAS,CAChC,EACD,SAAU,CACJsV,IACFpT,GACEmT,EACAE,EAAI,UACJ,EACZ,EACUzD,EAAO,KAAMyD,EAAI,UAAU,EAK3B,OAAOA,EAAI,WAAW,YAIzB,EACD,QAAQznB,EAAK0B,EAAO,CAYlB,OAAA2lB,EAAQ,SAASrnB,CAAG,EAAI0B,EACjB+lB,CACR,EACD,eAAezlB,EAAI,CACjB,MAAMimB,EAAUC,GAChBA,GAAaT,EACb,GAAI,CACF,OAAOzlB,EAAE,CACnB,QAAkB,CACRkmB,GAAaD,CACd,CACF,CACP,EACI,OAAOR,CACX,CACA,CACA,IAAIS,GAAa,KAEjB,SAASnD,GAAQ/kB,EAAK0B,EAAO,CAC3B,GAAKoc,GAIE,CACL,IAAIgH,EAAWhH,GAAgB,SAC/B,MAAMqK,EAAiBrK,GAAgB,QAAUA,GAAgB,OAAO,SACpEqK,IAAmBrD,IACrBA,EAAWhH,GAAgB,SAAW,OAAO,OAAOqK,CAAc,GAEpErD,EAAS9kB,CAAG,EAAI0B,CACjB,CACH,CACA,SAAS4jB,GAAOtlB,EAAKuR,EAAc6W,EAAwB,GAAO,CAChE,MAAMlU,EAAW4J,IAAmBnH,GACpC,GAAIzC,GAAYgU,GAAY,CAC1B,IAAIpD,EAAWoD,GAAaA,GAAW,SAAS,SAAWhU,EAAWA,EAAS,QAAU,MAAQA,EAAS,GAAKA,EAAS,MAAM,YAAcA,EAAS,MAAM,WAAW,SAAWA,EAAS,OAAO,SAAW,OAC5M,GAAI4Q,GAAY9kB,KAAO8kB,EACrB,OAAOA,EAAS9kB,CAAG,EACd,GAAI,UAAU,OAAS,EAC5B,OAAOooB,GAAyBhnB,GAAWmQ,CAAY,EAAIA,EAAa,KAAK2C,GAAYA,EAAS,KAAK,EAAI3C,CAM9G,CACH,CACA,SAAS8W,IAAsB,CAC7B,MAAO,CAAC,EAAEvK,IAAmBnH,IAA4BuR,GAC3D,CAEA,MAAMI,GAAsB,GACtBC,GAAuB,IAAM,OAAO,OAAOD,EAAmB,EAC9DE,GAAoBxlB,GAAQ,OAAO,eAAeA,CAAG,IAAMslB,GAEjE,SAASG,GAAUvU,EAAUkF,EAAUsP,EAAYhX,EAAQ,GAAO,CAChE,MAAMmH,EAAQ,GACR8P,EAAQJ,KACdrU,EAAS,cAAgC,OAAO,OAAO,IAAI,EAC3D0U,GAAa1U,EAAUkF,EAAUP,EAAO8P,CAAK,EAC7C,UAAW3oB,KAAOkU,EAAS,aAAa,CAAC,EACjClU,KAAO6Y,IACXA,EAAM7Y,CAAG,EAAI,QAMb0oB,EACFxU,EAAS,MAAQxC,EAAQmH,EAAQlJ,GAAgBkJ,CAAK,EAEjD3E,EAAS,KAAK,MAGjBA,EAAS,MAAQ2E,EAFjB3E,EAAS,MAAQyU,EAKrBzU,EAAS,MAAQyU,CACnB,CAOA,SAASE,GAAY3U,EAAUkF,EAAU0P,EAAcC,EAAW,CAChE,KAAM,CACJ,MAAAlQ,EACA,MAAA8P,EACA,MAAO,CAAE,UAAAK,CAAW,CACrB,EAAG9U,EACE+U,EAAkBte,GAAMkO,CAAK,EAC7B,CAACtG,CAAO,EAAI2B,EAAS,aAC3B,IAAIgV,EAAkB,GACtB,IAI+EH,GAAaC,EAAY,IAAM,EAAEA,EAAY,KAE1H,GAAIA,EAAY,EAAG,CACjB,MAAMG,EAAgBjV,EAAS,MAAM,aACrC,QAAStT,EAAI,EAAGA,EAAIuoB,EAAc,OAAQvoB,IAAK,CAC7C,IAAIZ,EAAMmpB,EAAcvoB,CAAC,EACzB,GAAIwoB,GAAelV,EAAS,aAAclU,CAAG,EAC3C,SAEF,MAAM0B,EAAQ0X,EAASpZ,CAAG,EAC1B,GAAIuS,EACF,GAAIzR,GAAO6nB,EAAO3oB,CAAG,EACf0B,IAAUinB,EAAM3oB,CAAG,IACrB2oB,EAAM3oB,CAAG,EAAI0B,EACbwnB,EAAkB,QAEf,CACL,MAAMG,EAAelnB,GAASnC,CAAG,EACjC6Y,EAAMwQ,CAAY,EAAIC,GACpB/W,EACA0W,EACAI,EACA3nB,EACAwS,EACA,EACd,CACW,MAEGxS,IAAUinB,EAAM3oB,CAAG,IACrB2oB,EAAM3oB,CAAG,EAAI0B,EACbwnB,EAAkB,GAGvB,CACF,MACI,CACDN,GAAa1U,EAAUkF,EAAUP,EAAO8P,CAAK,IAC/CO,EAAkB,IAEpB,IAAIK,EACJ,UAAWvpB,KAAOipB,GACZ,CAAC7P,GACL,CAACtY,GAAOsY,EAAUpZ,CAAG,KAEnBupB,EAAWhnB,GAAUvC,CAAG,KAAOA,GAAO,CAACc,GAAOsY,EAAUmQ,CAAQ,MAC5DhX,EACEuW,IACHA,EAAa9oB,CAAG,IAAM,QACvB8oB,EAAaS,CAAQ,IAAM,UACzB1Q,EAAM7Y,CAAG,EAAIspB,GACX/W,EACA0W,EACAjpB,EACA,OACAkU,EACA,EACd,GAGU,OAAO2E,EAAM7Y,CAAG,GAItB,GAAI2oB,IAAUM,EACZ,UAAWjpB,KAAO2oB,GACZ,CAACvP,GAAY,CAACtY,GAAOsY,EAAUpZ,CAAG,KACpC,OAAO2oB,EAAM3oB,CAAG,EAChBkpB,EAAkB,GAIzB,CACGA,GACFrf,GAAQqK,EAAS,MAAO,MAAO,EAAE,CAKrC,CACA,SAAS0U,GAAa1U,EAAUkF,EAAUP,EAAO8P,EAAO,CACtD,KAAM,CAACpW,EAASiX,CAAY,EAAItV,EAAS,aACzC,IAAIgV,EAAkB,GAClBO,EACJ,GAAIrQ,EACF,QAASpZ,KAAOoZ,EAAU,CACxB,GAAItX,GAAe9B,CAAG,EACpB,SAEF,MAAM0B,EAAQ0X,EAASpZ,CAAG,EAC1B,IAAI0pB,EACAnX,GAAWzR,GAAOyR,EAASmX,EAAWvnB,GAASnC,CAAG,CAAC,EACjD,CAACwpB,GAAgB,CAACA,EAAa,SAASE,CAAQ,EAClD7Q,EAAM6Q,CAAQ,EAAIhoB,GAEjB+nB,IAAkBA,EAAgB,KAAKC,CAAQ,EAAIhoB,EAE5C0nB,GAAelV,EAAS,aAAclU,CAAG,IAC/C,EAAEA,KAAO2oB,IAAUjnB,IAAUinB,EAAM3oB,CAAG,KACxC2oB,EAAM3oB,CAAG,EAAI0B,EACbwnB,EAAkB,GAGvB,CAEH,GAAIM,EAAc,CAChB,MAAMP,EAAkBte,GAAMkO,CAAK,EAC7B8Q,EAAaF,GAAiBvpB,GACpC,QAASU,EAAI,EAAGA,EAAI4oB,EAAa,OAAQ5oB,IAAK,CAC5C,MAAMZ,EAAMwpB,EAAa5oB,CAAC,EAC1BiY,EAAM7Y,CAAG,EAAIspB,GACX/W,EACA0W,EACAjpB,EACA2pB,EAAW3pB,CAAG,EACdkU,EACA,CAACpT,GAAO6oB,EAAY3pB,CAAG,CAC/B,CACK,CACF,CACD,OAAOkpB,CACT,CACA,SAASI,GAAiB/W,EAASsG,EAAO7Y,EAAK0B,EAAOwS,EAAU0V,EAAU,CACxE,MAAMjF,EAAMpS,EAAQvS,CAAG,EACvB,GAAI2kB,GAAO,KAAM,CACf,MAAMkF,EAAa/oB,GAAO6jB,EAAK,SAAS,EACxC,GAAIkF,GAAcnoB,IAAU,OAAQ,CAClC,MAAM6P,EAAeoT,EAAI,QACzB,GAAIA,EAAI,OAAS,UAAY,CAACA,EAAI,aAAevjB,GAAWmQ,CAAY,EAAG,CACzE,KAAM,CAAE,cAAAuY,CAAe,EAAG5V,EAC1B,GAAIlU,KAAO8pB,EACTpoB,EAAQooB,EAAc9pB,CAAG,MACpB,CACL,MAAMue,EAAQC,GAAmBtK,CAAQ,EACzCxS,EAAQooB,EAAc9pB,CAAG,EAAIuR,EAAa,KACxC,KACAsH,CACZ,EACU0F,GACD,CACT,MACQ7c,EAAQ6P,EAEN2C,EAAS,IACXA,EAAS,GAAG,SAASlU,EAAK0B,CAAK,CAElC,CACGijB,EAAI,KACFiF,GAAY,CAACC,EACfnoB,EAAQ,GACCijB,EAAI,CAAC,IAA2BjjB,IAAU,IAAMA,IAAUa,GAAUvC,CAAG,KAChF0B,EAAQ,IAGb,CACD,OAAOA,CACT,CACA,MAAMqoB,GAAkC,IAAI,QAC5C,SAASC,GAAsBC,EAAM7H,EAAYiE,EAAU,GAAO,CAChE,MAAMpkB,EAA+BokB,EAAU0D,GAAkB3H,EAAW,WACtEhC,EAASne,EAAM,IAAIgoB,CAAI,EAC7B,GAAI7J,EACF,OAAOA,EAET,MAAM1V,EAAMuf,EAAK,MACXvmB,EAAa,GACb8lB,EAAe,GACrB,IAAIU,EAAa,GACjB,GAA2B,CAAC9oB,GAAW6oB,CAAI,EAAG,CAC5C,MAAME,EAAeC,GAAS,CAC5BF,EAAa,GACb,KAAM,CAACrR,EAAO2H,CAAI,EAAIwJ,GAAsBI,EAAMhI,EAAY,EAAI,EAClE5hB,GAAOkD,EAAYmV,CAAK,EACpB2H,GAAMgJ,EAAa,KAAK,GAAGhJ,CAAI,CACzC,EACQ,CAAC6F,GAAWjE,EAAW,OAAO,QAChCA,EAAW,OAAO,QAAQ+H,CAAW,EAEnCF,EAAK,SACPE,EAAYF,EAAK,OAAO,EAEtBA,EAAK,QACPA,EAAK,OAAO,QAAQE,CAAW,CAElC,CACD,GAAI,CAACzf,GAAO,CAACwf,EACX,OAAI3oB,GAAS0oB,CAAI,GACfhoB,EAAM,IAAIgoB,EAAM9pB,EAAS,EAEpBA,GAET,GAAIY,GAAQ2J,CAAG,EACb,QAAS9J,EAAI,EAAGA,EAAI8J,EAAI,OAAQ9J,IAAK,CAInC,MAAMypB,EAAgBloB,GAASuI,EAAI9J,CAAC,CAAC,EACjC0pB,GAAiBD,CAAa,IAChC3mB,EAAW2mB,CAAa,EAAInqB,GAE/B,SACQwK,EAIT,UAAW1K,KAAO0K,EAAK,CACrB,MAAM2f,EAAgBloB,GAASnC,CAAG,EAClC,GAAIsqB,GAAiBD,CAAa,EAAG,CACnC,MAAM1F,EAAMja,EAAI1K,CAAG,EACbuqB,EAAO7mB,EAAW2mB,CAAa,EAAItpB,GAAQ4jB,CAAG,GAAKvjB,GAAWujB,CAAG,EAAI,CAAE,KAAMA,CAAG,EAAKnkB,GAAO,GAAImkB,CAAG,EACnG6F,EAAWD,EAAK,KACtB,IAAIE,EAAa,GACbC,EAAiB,GACrB,GAAI3pB,GAAQypB,CAAQ,EAClB,QAASne,EAAQ,EAAGA,EAAQme,EAAS,OAAQ,EAAEne,EAAO,CACpD,MAAM1C,EAAO6gB,EAASne,CAAK,EACrBse,EAAWvpB,GAAWuI,CAAI,GAAKA,EAAK,KAC1C,GAAIghB,IAAa,UAAW,CAC1BF,EAAa,GACb,KACd,MAAuBE,IAAa,WACtBD,EAAiB,GAEpB,MAEDD,EAAarpB,GAAWopB,CAAQ,GAAKA,EAAS,OAAS,UAEzDD,EAAK,CAAmB,EAAGE,EAC3BF,EAAK,CAAuB,EAAGG,GAC3BD,GAAc3pB,GAAOypB,EAAM,SAAS,IACtCf,EAAa,KAAKa,CAAa,CAElC,CACF,CAEH,MAAM7mB,EAAM,CAACE,EAAY8lB,CAAY,EACrC,OAAIjoB,GAAS0oB,CAAI,GACfhoB,EAAM,IAAIgoB,EAAMzmB,CAAG,EAEdA,CACT,CACA,SAAS8mB,GAAiBtqB,EAAK,CAC7B,OAAIA,EAAI,CAAC,IAAM,KAAO,CAAC8B,GAAe9B,CAAG,CAM3C,CAqHA,MAAM4qB,GAAiB5qB,GAAQA,EAAI,CAAC,IAAM,KAAOA,IAAQ,UACnD6qB,GAAsBnpB,GAAUX,GAAQW,CAAK,EAAIA,EAAM,IAAIopB,EAAc,EAAI,CAACA,GAAeppB,CAAK,CAAC,EACnGqpB,GAAgB,CAAC/qB,EAAKgrB,EAASjU,IAAQ,CAC3C,GAAIiU,EAAQ,GACV,OAAOA,EAET,MAAMtnB,EAAaoT,GAAQ,IAAI7L,IAMtB4f,GAAmBG,EAAQ,GAAG/f,CAAI,CAAC,EACzC8L,CAAG,EACN,OAAArT,EAAW,GAAK,GACTA,CACT,EACMunB,GAAuB,CAACC,EAAUpS,EAAO5E,IAAa,CAC1D,MAAM6C,EAAMmU,EAAS,KACrB,UAAWlrB,KAAOkrB,EAAU,CAC1B,GAAIN,GAAc5qB,CAAG,EAAG,SACxB,MAAM0B,EAAQwpB,EAASlrB,CAAG,EAC1B,GAAIoB,GAAWM,CAAK,EAClBoX,EAAM9Y,CAAG,EAAI+qB,GAAc/qB,EAAK0B,EAAOqV,CAAG,UACjCrV,GAAS,KAAM,CAMxB,MAAMgC,EAAamnB,GAAmBnpB,CAAK,EAC3CoX,EAAM9Y,CAAG,EAAI,IAAM0D,CACpB,CACF,CACH,EACMynB,GAAsB,CAACjX,EAAU8E,IAAa,CAMlD,MAAMtV,EAAamnB,GAAmB7R,CAAQ,EAC9C9E,EAAS,MAAM,QAAU,IAAMxQ,CACjC,EACM0nB,GAAc,CAACtS,EAAOE,EAAU+P,IAAc,CAClD,UAAW/oB,KAAOgZ,GACZ+P,GAAa,CAAC6B,GAAc5qB,CAAG,KACjC8Y,EAAM9Y,CAAG,EAAIgZ,EAAShZ,CAAG,EAG/B,EACMqrB,GAAY,CAACnX,EAAU8E,EAAU+P,IAAc,CACnD,MAAMjQ,EAAQ5E,EAAS,MAAQqU,GAAoB,EACnD,GAAIrU,EAAS,MAAM,UAAY,GAAI,CACjC,MAAMvK,EAAOqP,EAAS,EAClBrP,GACFyhB,GAAYtS,EAAOE,EAAU+P,CAAS,EAClCA,GACFhmB,GAAI+V,EAAO,IAAKnP,EAAM,EAAI,GAG5BshB,GAAqBjS,EAAUF,CAAK,CAEvC,MAAUE,GACTmS,GAAoBjX,EAAU8E,CAAQ,CAE1C,EACMsS,GAAc,CAACpX,EAAU8E,EAAU+P,IAAc,CACrD,KAAM,CAAE,MAAA1R,EAAO,MAAAyB,CAAO,EAAG5E,EACzB,IAAIqX,EAAoB,GACpBC,EAA2BtrB,GAC/B,GAAImX,EAAM,UAAY,GAAI,CACxB,MAAM1N,EAAOqP,EAAS,EAClBrP,EAISof,GAAapf,IAAS,EAC/B4hB,EAAoB,GAEpBH,GAAYtS,EAAOE,EAAU+P,CAAS,GAGxCwC,EAAoB,CAACvS,EAAS,QAC9BiS,GAAqBjS,EAAUF,CAAK,GAEtC0S,EAA2BxS,CAC5B,MAAUA,IACTmS,GAAoBjX,EAAU8E,CAAQ,EACtCwS,EAA2B,CAAE,QAAS,IAExC,GAAID,EACF,UAAWvrB,KAAO8Y,EACZ,CAAC8R,GAAc5qB,CAAG,GAAKwrB,EAAyBxrB,CAAG,GAAK,MAC1D,OAAO8Y,EAAM9Y,CAAG,CAIxB,EAkEM0d,GAAwB+N,GAC9B,SAASC,GAAenZ,EAAS,CAC/B,OAAOoZ,GAAmBpZ,CAAO,CACnC,CAIA,SAASoZ,GAAmBpZ,EAASqZ,EAAoB,CAIvD,MAAMliB,EAASpG,KACfoG,EAAO,QAAU,GAIjB,KAAM,CACJ,OAAQmiB,EACR,OAAQC,EACR,UAAWC,EACX,cAAeC,EACf,WAAYC,EACZ,cAAeC,EACf,QAASC,EACT,eAAgBC,EAChB,WAAYC,EACZ,YAAaC,EACb,WAAYC,EAAiBnsB,GAC7B,oBAAqBosB,CACtB,EAAGja,EACEka,EAAQ,CAACC,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAMjQ,GAAiB,KAAMmL,GAAY,OAAQ+E,GAAe,KAAMhE,GAAiF,CAAC,CAAC4D,EAAG,kBAAoB,CACjP,GAAID,IAAOC,EACT,OAEED,GAAM,CAAC3S,GAAgB2S,EAAIC,CAAE,IAC/BE,EAASG,EAAgBN,CAAE,EAC3BO,GAAQP,EAAII,EAAiBjQ,GAAgB,EAAI,EACjD6P,EAAK,MAEHC,EAAG,YAAc,KACnB5D,GAAY,GACZ4D,EAAG,gBAAkB,MAEvB,KAAM,CAAE,KAAAhjB,GAAM,IAAA0G,GAAK,UAAA6L,EAAS,EAAKyQ,EACjC,OAAQhjB,GAAI,CACV,KAAKujB,GACHC,EAAYT,EAAIC,EAAIC,EAAWC,CAAM,EACrC,MACF,KAAKjT,GACHwT,EAAmBV,EAAIC,EAAIC,EAAWC,CAAM,EAC5C,MACF,KAAKQ,GACCX,GAAM,MACRY,EAAgBX,EAAIC,EAAWC,EAAQ7E,EAAS,EAIlD,MACF,KAAK1L,GACHiR,EACEb,EACAC,EACAC,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACV,EACQ,MACF,QACM7M,GAAY,EACdsR,EACEd,EACAC,EACAC,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACZ,EACmB7M,GAAY,EACrBuR,EACEf,EACAC,EACAC,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACZ,GACmB7M,GAAY,IAaZA,GAAY,MACrBvS,GAAK,QACH+iB,EACAC,EACAC,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,GACA2E,EACZ,CAIK,CACGrd,IAAO,MAAQyc,GACjBpQ,GAAOrM,GAAKqc,GAAMA,EAAG,IAAK7P,GAAgB8P,GAAMD,EAAI,CAACC,CAAE,CAE7D,EACQQ,EAAc,CAACT,EAAIC,EAAIC,EAAWC,IAAW,CACjD,GAAIH,GAAM,KACRb,EACEc,EAAG,GAAKV,EAAeU,EAAG,QAAQ,EAClCC,EACAC,CACR,MACW,CACL,MAAMlsB,EAAKgsB,EAAG,GAAKD,EAAG,GAClBC,EAAG,WAAaD,EAAG,UACrBP,EAAYxrB,EAAIgsB,EAAG,QAAQ,CAE9B,CACL,EACQS,EAAqB,CAACV,EAAIC,EAAIC,EAAWC,IAAW,CACpDH,GAAM,KACRb,EACEc,EAAG,GAAKT,EAAkBS,EAAG,UAAY,EAAE,EAC3CC,EACAC,CACR,EAEMF,EAAG,GAAKD,EAAG,EAEjB,EACQY,EAAkB,CAACX,EAAIC,EAAWC,EAAQ7E,IAAc,CAC5D,CAAC2E,EAAG,GAAIA,EAAG,MAAM,EAAIH,EACnBG,EAAG,SACHC,EACAC,EACA7E,EACA2E,EAAG,GACHA,EAAG,MACT,CACA,EAgBQgB,EAAiB,CAAC,CAAE,GAAAhtB,EAAI,OAAAksB,CAAQ,EAAED,EAAWgB,IAAgB,CACjE,IAAIhmB,EACJ,KAAOjH,GAAMA,IAAOksB,GAClBjlB,EAAO0kB,EAAgB3rB,CAAE,EACzBkrB,EAAWlrB,EAAIisB,EAAWgB,CAAW,EACrCjtB,EAAKiH,EAEPikB,EAAWgB,EAAQD,EAAWgB,CAAW,CAC7C,EACQC,EAAmB,CAAC,CAAE,GAAAltB,EAAI,OAAAksB,CAAM,IAAO,CAC3C,IAAIjlB,EACJ,KAAOjH,GAAMA,IAAOksB,GAClBjlB,EAAO0kB,EAAgB3rB,CAAE,EACzBmrB,EAAWnrB,CAAE,EACbA,EAAKiH,EAEPkkB,EAAWe,CAAM,CACrB,EACQW,EAAiB,CAACd,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBjQ,GAAgBmL,GAAW+E,GAAchE,KAAc,CACrH4D,EAAG,OAAS,MACd3E,GAAY,MACH2E,EAAG,OAAS,SACrB3E,GAAY,UAEV0E,GAAM,KACRoB,GACEnB,EACAC,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACR,EAEMgF,GACErB,EACAC,EACAG,EACAjQ,GACAmL,GACA+E,GACAhE,EACR,CAEA,EACQ+E,GAAe,CAACzW,EAAOuV,EAAWC,EAAQC,EAAiBjQ,EAAgBmL,GAAW+E,GAAchE,KAAc,CACtH,IAAIpoB,GACAqtB,GACJ,KAAM,CAAE,MAAAnV,GAAO,UAAAqD,GAAW,WAAA+R,GAAY,KAAAC,EAAI,EAAK7W,EAyB/C,GAxBA1W,GAAK0W,EAAM,GAAK2U,EACd3U,EAAM,KACN2Q,GACAnP,IAASA,GAAM,GACfA,EACN,EACQqD,GAAY,EACdkQ,EAAmBzrB,GAAI0W,EAAM,QAAQ,EAC5B6E,GAAY,IACrBiS,GACE9W,EAAM,SACN1W,GACA,KACAmsB,EACAjQ,EACAuR,GAAyB/W,EAAO2Q,EAAS,EACzC+E,GACAhE,EACR,EAEQmF,IACFvW,GAAoBN,EAAO,KAAMyV,EAAiB,SAAS,EAE7DuB,GAAW1tB,GAAI0W,EAAOA,EAAM,QAAS0V,GAAcD,CAAe,EAC9DjU,GAAO,CACT,UAAW7Y,MAAO6Y,GACZ7Y,KAAQ,SAAW,CAAC8B,GAAe9B,EAAG,GACxC+rB,EAAcprB,GAAIX,GAAK,KAAM6Y,GAAM7Y,EAAG,EAAGgoB,GAAW8E,CAAe,EAGnE,UAAWjU,IACbkT,EAAcprB,GAAI,QAAS,KAAMkY,GAAM,MAAOmP,EAAS,GAErDgG,GAAYnV,GAAM,qBACpByV,GAAgBN,GAAWlB,EAAiBzV,CAAK,CAEpD,CAKG6W,IACFvW,GAAoBN,EAAO,KAAMyV,EAAiB,aAAa,EAEjE,MAAMyB,GAA0BC,GAAe3R,EAAgBoR,EAAU,EACrEM,IACFN,GAAW,YAAYttB,EAAE,EAE3BkrB,EAAWlrB,GAAIisB,EAAWC,CAAM,IAC3BmB,GAAYnV,IAASA,GAAM,iBAAmB0V,IAA2BL,KAC5ExQ,GAAsB,IAAM,CAC1BsQ,IAAaM,GAAgBN,GAAWlB,EAAiBzV,CAAK,EAC9DkX,IAA2BN,GAAW,MAAMttB,EAAE,EAC9CutB,IAAQvW,GAAoBN,EAAO,KAAMyV,EAAiB,SAAS,CACpE,EAAEjQ,CAAc,CAEvB,EACQwR,GAAa,CAAC1tB,EAAI0W,EAAOoX,EAAS1B,EAAcD,IAAoB,CAIxE,GAHI2B,GACFlC,EAAe5rB,EAAI8tB,CAAO,EAExB1B,EACF,QAASnsB,GAAI,EAAGA,GAAImsB,EAAa,OAAQnsB,KACvC2rB,EAAe5rB,EAAIosB,EAAansB,EAAC,CAAC,EAGtC,GAAIksB,EAAiB,CACnB,IAAInU,GAAUmU,EAAgB,QAI9B,GAAIzV,IAAUsB,IAAW+V,GAAW/V,GAAQ,IAAI,IAAMA,GAAQ,YAActB,GAASsB,GAAQ,aAAetB,GAAQ,CAClH,MAAMsX,GAAc7B,EAAgB,MACpCuB,GACE1tB,EACAguB,GACAA,GAAY,QACZA,GAAY,aACZ7B,EAAgB,MAC1B,CACO,CACF,CACL,EACQqB,GAAgB,CAACnV,EAAU4T,EAAWC,EAAQC,EAAiBjQ,EAAgBmL,GAAW+E,GAAchE,GAAWpT,GAAQ,IAAM,CACrI,QAAS/U,GAAI+U,GAAO/U,GAAIoY,EAAS,OAAQpY,KAAK,CAC5C,MAAMsY,GAAQF,EAASpY,EAAC,EAAImoB,GAAY6F,GAAe5V,EAASpY,EAAC,CAAC,EAAIkqB,GAAe9R,EAASpY,EAAC,CAAC,EAChG6rB,EACE,KACAvT,GACA0T,EACAC,EACAC,EACAjQ,EACAmL,GACA+E,GACAhE,EACR,CACK,CACL,EACQgF,GAAe,CAACrB,EAAIC,EAAIG,EAAiBjQ,EAAgBmL,EAAW+E,GAAchE,KAAc,CACpG,MAAMpoB,GAAKgsB,EAAG,GAAKD,EAAG,GAItB,GAAI,CAAE,UAAA1D,GAAW,gBAAA6F,GAAiB,KAAAX,EAAI,EAAKvB,EAC3C3D,IAAa0D,EAAG,UAAY,GAC5B,MAAMoC,GAAWpC,EAAG,OAASxsB,GACvB6uB,GAAWpC,EAAG,OAASzsB,GAC7B,IAAI8tB,GA2CJ,GA1CAlB,GAAmBkC,GAAclC,EAAiB,EAAK,GACnDkB,GAAYe,GAAS,sBACvBT,GAAgBN,GAAWlB,EAAiBH,EAAID,CAAE,EAEhDwB,IACFvW,GAAoBgV,EAAID,EAAII,EAAiB,cAAc,EAE7DA,GAAmBkC,GAAclC,EAAiB,EAAI,GAMlDgC,GAAS,WAAaC,GAAS,WAAa,MAAQD,GAAS,aAAeC,GAAS,aAAe,OACtG3C,EAAmBzrB,GAAI,EAAE,EAEvBkuB,GACFI,GACEvC,EAAG,gBACHmC,GACAluB,GACAmsB,EACAjQ,EACAuR,GAAyBzB,EAAI3E,CAAS,EACtC+E,EACR,EAIgBhE,IACVmG,EACExC,EACAC,EACAhsB,GACA,KACAmsB,EACAjQ,EACAuR,GAAyBzB,EAAI3E,CAAS,EACtC+E,GACA,EACR,EAEQ/D,GAAY,EAAG,CACjB,GAAIA,GAAY,GACdmG,EAAWxuB,GAAImuB,GAAUC,GAAUjC,EAAiB9E,CAAS,UAEzDgB,GAAY,GACV8F,GAAS,QAAUC,GAAS,OAC9BhD,EAAcprB,GAAI,QAAS,KAAMouB,GAAS,MAAO/G,CAAS,EAG1DgB,GAAY,GACd+C,EAAcprB,GAAI,QAASmuB,GAAS,MAAOC,GAAS,MAAO/G,CAAS,EAElEgB,GAAY,EAAG,CACjB,MAAMG,GAAgBwD,EAAG,aACzB,QAAS/rB,GAAI,EAAGA,GAAIuoB,GAAc,OAAQvoB,KAAK,CAC7C,MAAMZ,GAAMmpB,GAAcvoB,EAAC,EACrBqH,GAAO6mB,GAAS9uB,EAAG,EACnB4H,GAAOmnB,GAAS/uB,EAAG,GACrB4H,KAASK,IAAQjI,KAAQ,UAC3B+rB,EAAcprB,GAAIX,GAAKiI,GAAML,GAAMogB,EAAW8E,CAAe,CAEhE,CACF,CAEC9D,GAAY,GACV0D,EAAG,WAAaC,EAAG,UACrBP,EAAmBzrB,GAAIgsB,EAAG,QAAQ,CAGvC,KAAU,CAAC5D,IAAa8F,IAAmB,MAC1CM,EAAWxuB,GAAImuB,GAAUC,GAAUjC,EAAiB9E,CAAS,IAE1DgG,GAAYe,GAAS,iBAAmBb,KAC3CxQ,GAAsB,IAAM,CAC1BsQ,IAAaM,GAAgBN,GAAWlB,EAAiBH,EAAID,CAAE,EAC/DwB,IAAQvW,GAAoBgV,EAAID,EAAII,EAAiB,SAAS,CAC/D,EAAEjQ,CAAc,CAEvB,EACQoS,GAAqB,CAACG,EAAaC,EAAaC,EAAmBxC,EAAiBjQ,EAAgBmL,GAAW+E,KAAiB,CACpI,QAASnsB,GAAI,EAAGA,GAAIyuB,EAAY,OAAQzuB,KAAK,CAC3C,MAAM2uB,GAAWH,EAAYxuB,EAAC,EACxB4uB,GAAWH,EAAYzuB,EAAC,EACxBgsB,GAGJ2C,GAAS,KAERA,GAAS,OAASjT,IAEnB,CAACvC,GAAgBwV,GAAUC,EAAQ,GACnCD,GAAS,UAAa,KAAiBlD,EAAekD,GAAS,EAAE,EAG/DD,EAGJ7C,EACE8C,GACAC,GACA5C,GACA,KACAE,EACAjQ,EACAmL,GACA+E,GACA,EACR,CACK,CACL,EACQoC,EAAa,CAACxuB,EAAImuB,EAAUC,EAAUjC,EAAiB9E,IAAc,CACzE,GAAI8G,IAAaC,EAAU,CACzB,GAAID,IAAa5uB,GACf,UAAWF,MAAO8uB,EACZ,CAAChtB,GAAe9B,EAAG,GAAK,EAAEA,MAAO+uB,IACnChD,EACEprB,EACAX,GACA8uB,EAAS9uB,EAAG,EACZ,KACAgoB,EACA8E,CACd,EAIM,UAAW9sB,MAAO+uB,EAAU,CAC1B,GAAIjtB,GAAe9B,EAAG,EAAG,SACzB,MAAM4H,GAAOmnB,EAAS/uB,EAAG,EACnBiI,GAAO6mB,EAAS9uB,EAAG,EACrB4H,KAASK,IAAQjI,KAAQ,SAC3B+rB,EAAcprB,EAAIX,GAAKiI,GAAML,GAAMogB,EAAW8E,CAAe,CAEhE,CACG,UAAWiC,GACbhD,EAAcprB,EAAI,QAASmuB,EAAS,MAAOC,EAAS,MAAO/G,CAAS,CAEvE,CACL,EACQuF,EAAkB,CAACb,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBjQ,GAAgBmL,GAAW+E,GAAchE,KAAc,CAC1H,MAAM0G,GAAsB9C,EAAG,GAAKD,EAAKA,EAAG,GAAKT,EAAe,EAAE,EAC5DyD,GAAoB/C,EAAG,OAASD,EAAKA,EAAG,OAAST,EAAe,EAAE,EACxE,GAAI,CAAE,UAAAjD,GAAW,gBAAA6F,GAAiB,aAAcc,EAAoB,EAAKhD,EAOrEgD,KACF5C,GAAeA,GAAeA,GAAa,OAAO4C,EAAoB,EAAIA,IAExEjD,GAAM,MACRb,EAAW4D,GAAqB7C,EAAWC,CAAM,EACjDhB,EAAW6D,GAAmB9C,EAAWC,CAAM,EAC/CsB,GAKExB,EAAG,UAAY,CAAE,EACjBC,EACA8C,GACA5C,EACAjQ,GACAmL,GACA+E,GACAhE,EACR,GAEUC,GAAY,GAAKA,GAAY,IAAM6F,IAEvCnC,EAAG,iBACDuC,GACEvC,EAAG,gBACHmC,GACAjC,EACAE,EACAjQ,GACAmL,GACA+E,EACV,GAQUJ,EAAG,KAAO,MAAQG,GAAmBH,IAAOG,EAAgB,UAE5D8C,GACElD,EACAC,EACA,EAEZ,GAGQuC,EACExC,EACAC,EACAC,EACA8C,GACA5C,EACAjQ,GACAmL,GACA+E,GACAhE,EACV,CAGA,EACQ0E,EAAmB,CAACf,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBjQ,GAAgBmL,GAAW+E,GAAchE,KAAc,CAC3H4D,EAAG,aAAeI,GACdL,GAAM,KACJC,EAAG,UAAY,IACjBG,EAAgB,IAAI,SAClBH,EACAC,EACAC,EACA7E,GACAe,EACV,EAEQ8G,EACElD,EACAC,EACAC,EACAC,EACAjQ,GACAmL,GACAe,EACV,EAGM+G,EAAgBpD,EAAIC,EAAI5D,EAAS,CAEvC,EACQ8G,EAAiB,CAACE,EAAcnD,EAAWC,EAAQC,EAAiBjQ,EAAgBmL,GAAWe,KAAc,CACjH,MAAM7U,GAAY6b,EAAa,UAAYC,GACzCD,EACAjD,EACAjQ,CACN,EAqBI,GAbIb,GAAY+T,CAAY,IAC1B7b,GAAS,IAAI,SAAWwZ,IAMxBuC,GAAe/b,GAAU,GAAO6U,EAAS,EAMvC7U,GAAS,UAEX,GADA2I,GAAkBA,EAAe,YAAY3I,GAAUgc,EAAmBnH,EAAS,EAC/E,CAACgH,EAAa,GAAI,CACpB,MAAMI,GAAcjc,GAAS,QAAUgN,EAAYtH,EAAO,EAC1DwT,EAAmB,KAAM+C,GAAavD,EAAWC,CAAM,CACxD,OAEDqD,EACEhc,GACA6b,EACAnD,EACAC,EACAhQ,EACAmL,GACAe,EACR,CAMA,EACQ+G,EAAkB,CAACpD,EAAIC,EAAI5D,IAAc,CAC7C,MAAM7U,EAAWyY,EAAG,UAAYD,EAAG,UACnC,GAAI0D,GAAsB1D,EAAIC,EAAI5D,CAAS,EACzC,GAAI7U,EAAS,UAAY,CAACA,EAAS,cAAe,CAIhDmc,EAAyBnc,EAAUyY,EAAI5D,CAAS,EAIhD,MACR,MACQ7U,EAAS,KAAOyY,EAChBzY,EAAS,OAAM,OAGjByY,EAAG,GAAKD,EAAG,GACXxY,EAAS,MAAQyY,CAEvB,EACQuD,EAAoB,CAAChc,EAAU6b,EAAcnD,EAAWC,EAAQhQ,EAAgBmL,GAAWe,KAAc,CAC7G,MAAMuH,GAAoB,IAAM,CAC9B,GAAKpc,EAAS,UA2FP,CACL,GAAI,CAAE,KAAAtM,GAAM,GAAA2oB,GAAI,EAAAC,GAAG,OAAAC,GAAQ,MAAApZ,EAAO,EAAGnD,EACrC,CACE,MAAMwc,GAAuBC,GAA2Bzc,CAAQ,EAChE,GAAIwc,GAAsB,CACpB9oB,KACFA,GAAK,GAAKyP,GAAM,GAChBgZ,EAAyBnc,EAAUtM,GAAMmhB,EAAS,GAEpD2H,GAAqB,SAAS,KAAK,IAAM,CAClCxc,EAAS,aACZoc,IAEhB,CAAa,EACD,MACD,CACF,CACD,IAAIM,GAAahpB,GACbomB,GAIJgB,GAAc9a,EAAU,EAAK,EACzBtM,IACFA,GAAK,GAAKyP,GAAM,GAChBgZ,EAAyBnc,EAAUtM,GAAMmhB,EAAS,GAElDnhB,GAAOyP,GAELkZ,IACF3tB,GAAe2tB,EAAE,GAEfvC,GAAYpmB,GAAK,OAASA,GAAK,MAAM,sBACvC0mB,GAAgBN,GAAWyC,GAAQ7oB,GAAMyP,EAAK,EAEhD2X,GAAc9a,EAAU,EAAI,EAI5B,MAAM2c,GAAWC,GAAoB5c,CAAQ,EAIvC6c,GAAW7c,EAAS,QAC1BA,EAAS,QAAU2c,GAInBpE,EACEsE,GACAF,GAEAxE,EAAe0E,GAAS,EAAE,EAE1B/D,EAAgB+D,EAAQ,EACxB7c,EACA2I,EACAmL,EACV,EAIQpgB,GAAK,GAAKipB,GAAS,GACfD,KAAe,MACjBI,GAAgB9c,EAAU2c,GAAS,EAAE,EAEnCL,IACF9S,GAAsB8S,GAAG3T,CAAc,GAErCmR,GAAYpmB,GAAK,OAASA,GAAK,MAAM,iBACvC8V,GACE,IAAM4Q,GAAgBN,GAAWyC,GAAQ7oB,GAAMyP,EAAK,EACpDwF,CACZ,CAQO,KA5KwB,CACvB,IAAImR,GACJ,KAAM,CAAE,GAAArtB,GAAI,MAAAkY,EAAO,EAAGkX,EAChB,CAAE,GAAAkB,GAAI,EAAAjL,GAAG,OAAAyK,GAAQ,KAAAS,GAAM,KAAAvnB,EAAM,EAAGuK,EAChCid,GAAsBpU,GAAegT,CAAY,EASvD,GARAf,GAAc9a,EAAU,EAAK,EACzB+c,IACFruB,GAAequB,EAAE,EAEf,CAACE,KAAwBnD,GAAYnV,IAASA,GAAM,qBACtDyV,GAAgBN,GAAWyC,GAAQV,CAAY,EAEjDf,GAAc9a,EAAU,EAAI,EACxBvT,IAAMywB,GAAa,CACrB,MAAMC,GAAiB,IAAM,CAI3Bnd,EAAS,QAAU4c,GAAoB5c,CAAQ,EAO/Ckd,GACEzwB,GACAuT,EAAS,QACTA,EACA2I,EACA,IACd,CAIA,EACcsU,IAAuBxnB,GAAK,eAC9BA,GAAK,eACHhJ,GACAuT,EACAmd,EACd,EAEYA,IAEZ,KAAe,CACDH,GAAK,IACPA,GAAK,GAAG,kBAAkBvnB,EAAI,EAKhC,MAAMgP,GAAUzE,EAAS,QAAU4c,GAAoB5c,CAAQ,EAO/DuY,EACE,KACA9T,GACAiU,EACAC,EACA3Y,EACA2I,EACAmL,EACZ,EAIU+H,EAAa,GAAKpX,GAAQ,EAC3B,CAID,GAHIqN,IACFtI,GAAsBsI,GAAGnJ,CAAc,EAErC,CAACsU,KAAwBnD,GAAYnV,IAASA,GAAM,gBAAiB,CACvE,MAAMyY,GAAqBvB,EAC3BrS,GACE,IAAM4Q,GAAgBN,GAAWyC,GAAQa,EAAkB,EAC3DzU,CACZ,CACS,EACGkT,EAAa,UAAY,KAAOU,IAAU1T,GAAe0T,GAAO,KAAK,GAAKA,GAAO,MAAM,UAAY,MACrGvc,EAAS,GAAKwJ,GAAsBxJ,EAAS,EAAG2I,CAAc,EAEhE3I,EAAS,UAAY,GAIrB6b,EAAenD,EAAYC,EAAS,IAC5C,CAkFA,EACI3Y,EAAS,MAAM,KACf,MAAMjB,GAASiB,EAAS,OAAS,IAAIzN,GAAe6pB,EAAiB,EACrEpc,EAAS,MAAM,MACf,MAAMqd,GAASrd,EAAS,OAASjB,GAAO,IAAI,KAAKA,EAAM,EACjDW,GAAMM,EAAS,IAAMjB,GAAO,WAAW,KAAKA,EAAM,EACxDW,GAAI,EAAIM,EACRN,GAAI,GAAKM,EAAS,IAClBjB,GAAO,UAAY,IAAMgD,GAASrC,EAAG,EACrCob,GAAc9a,EAAU,EAAI,EAK5Bqd,IACJ,EACQlB,EAA2B,CAACnc,EAAUsd,EAAWzI,IAAc,CACnEyI,EAAU,UAAYtd,EACtB,MAAMud,EAAYvd,EAAS,MAAM,MACjCA,EAAS,MAAQsd,EACjBtd,EAAS,KAAO,KAChB2U,GAAY3U,EAAUsd,EAAU,MAAOC,EAAW1I,CAAS,EAC3DuC,GAAYpX,EAAUsd,EAAU,SAAUzI,CAAS,EACnDlgB,KACA0N,GAAiBrC,CAAQ,EACzBpL,IACJ,EACQomB,EAAgB,CAACxC,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBjQ,GAAgBmL,GAAW+E,GAAchE,GAAY,KAAU,CAChI,MAAM2I,GAAKhF,GAAMA,EAAG,SACdiF,GAAgBjF,EAAKA,EAAG,UAAY,EACpCkF,GAAKjF,EAAG,SACR,CAAE,UAAA3D,GAAW,UAAA9M,EAAW,EAAGyQ,EACjC,GAAI3D,GAAY,GACd,GAAIA,GAAY,IAAK,CACnB6I,GACEH,GACAE,GACAhF,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACV,EACQ,MACR,SAAiBC,GAAY,IAAK,CAC1B8I,GACEJ,GACAE,GACAhF,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACV,EACQ,MACD,EAEC7M,GAAY,GACVyV,GAAgB,IAClBI,GAAgBL,GAAI5E,EAAiBjQ,EAAc,EAEjD+U,KAAOF,IACTtF,EAAmBQ,EAAWgF,EAAE,GAG9BD,GAAgB,GACdzV,GAAY,GACd2V,GACEH,GACAE,GACAhF,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACZ,EAEUgJ,GAAgBL,GAAI5E,EAAiBjQ,GAAgB,EAAI,GAGvD8U,GAAgB,GAClBvF,EAAmBQ,EAAW,EAAE,EAE9B1Q,GAAY,IACdiS,GACEyD,GACAhF,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACZ,EAIA,EACQ+I,GAAuB,CAACJ,EAAIE,EAAIhF,EAAWC,EAAQC,EAAiBjQ,GAAgBmL,GAAW+E,GAAchE,KAAc,CAC/H2I,EAAKA,GAAMvxB,GACXyxB,EAAKA,GAAMzxB,GACX,MAAM6xB,GAAYN,EAAG,OACfvnB,GAAYynB,EAAG,OACfK,GAAe,KAAK,IAAID,GAAW7nB,EAAS,EAClD,IAAIvJ,GACJ,IAAKA,GAAI,EAAGA,GAAIqxB,GAAcrxB,KAAK,CACjC,MAAMsxB,GAAYN,EAAGhxB,EAAC,EAAImoB,GAAY6F,GAAegD,EAAGhxB,EAAC,CAAC,EAAIkqB,GAAe8G,EAAGhxB,EAAC,CAAC,EAClF6rB,EACEiF,EAAG9wB,EAAC,EACJsxB,GACAtF,EACA,KACAE,EACAjQ,GACAmL,GACA+E,GACAhE,EACR,CACK,CACGiJ,GAAY7nB,GACd4nB,GACEL,EACA5E,EACAjQ,GACA,GACA,GACAoV,EACR,EAEM9D,GACEyD,EACAhF,EACAC,EACAC,EACAjQ,GACAmL,GACA+E,GACAhE,GACAkJ,EACR,CAEA,EACQJ,GAAqB,CAACH,EAAIE,EAAIhF,EAAWuF,EAAcrF,EAAiBjQ,GAAgBmL,GAAW+E,GAAchE,KAAc,CACnI,IAAInoB,GAAI,EACR,MAAMwxB,GAAKR,EAAG,OACd,IAAIS,GAAKX,EAAG,OAAS,EACjBY,GAAKF,GAAK,EACd,KAAOxxB,IAAKyxB,IAAMzxB,IAAK0xB,IAAI,CACzB,MAAM5F,GAAKgF,EAAG9wB,EAAC,EACT+rB,GAAKiF,EAAGhxB,EAAC,EAAImoB,GAAY6F,GAAegD,EAAGhxB,EAAC,CAAC,EAAIkqB,GAAe8G,EAAGhxB,EAAC,CAAC,EAC3E,GAAImZ,GAAgB2S,GAAIC,EAAE,EACxBF,EACEC,GACAC,GACAC,EACA,KACAE,EACAjQ,GACAmL,GACA+E,GACAhE,EACV,MAEQ,OAEFnoB,IACD,CACD,KAAOA,IAAKyxB,IAAMzxB,IAAK0xB,IAAI,CACzB,MAAM5F,GAAKgF,EAAGW,EAAE,EACV1F,GAAKiF,EAAGU,EAAE,EAAIvJ,GAAY6F,GAAegD,EAAGU,EAAE,CAAC,EAAIxH,GAAe8G,EAAGU,EAAE,CAAC,EAC9E,GAAIvY,GAAgB2S,GAAIC,EAAE,EACxBF,EACEC,GACAC,GACAC,EACA,KACAE,EACAjQ,GACAmL,GACA+E,GACAhE,EACV,MAEQ,OAEFsJ,KACAC,IACD,CACD,GAAI1xB,GAAIyxB,IACN,GAAIzxB,IAAK0xB,GAAI,CACX,MAAMC,GAAUD,GAAK,EACfzF,GAAS0F,GAAUH,GAAKR,EAAGW,EAAO,EAAE,GAAKJ,EAC/C,KAAOvxB,IAAK0xB,IACV7F,EACE,KACAmF,EAAGhxB,EAAC,EAAImoB,GAAY6F,GAAegD,EAAGhxB,EAAC,CAAC,EAAIkqB,GAAe8G,EAAGhxB,EAAC,CAAC,EAChEgsB,EACAC,GACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACZ,EACUnoB,IAEH,UACQA,GAAI0xB,GACb,KAAO1xB,IAAKyxB,IACVpF,GAAQyE,EAAG9wB,EAAC,EAAGksB,EAAiBjQ,GAAgB,EAAI,EACpDjc,SAEG,CACL,MAAM4xB,GAAK5xB,GACL6xB,GAAK7xB,GACL8xB,GAAmC,IAAI,IAC7C,IAAK9xB,GAAI6xB,GAAI7xB,IAAK0xB,GAAI1xB,KAAK,CACzB,MAAMsxB,GAAYN,EAAGhxB,EAAC,EAAImoB,GAAY6F,GAAegD,EAAGhxB,EAAC,CAAC,EAAIkqB,GAAe8G,EAAGhxB,EAAC,CAAC,EAC9EsxB,GAAU,KAAO,MAQnBQ,GAAiB,IAAIR,GAAU,IAAKtxB,EAAC,CAExC,CACD,IAAIggB,GACA+R,GAAU,EACd,MAAMC,GAAcN,GAAKG,GAAK,EAC9B,IAAII,GAAQ,GACRC,GAAmB,EACvB,MAAMC,GAAwB,IAAI,MAAMH,EAAW,EACnD,IAAKhyB,GAAI,EAAGA,GAAIgyB,GAAahyB,KAAKmyB,GAAsBnyB,EAAC,EAAI,EAC7D,IAAKA,GAAI4xB,GAAI5xB,IAAKyxB,GAAIzxB,KAAK,CACzB,MAAMoyB,GAAYtB,EAAG9wB,EAAC,EACtB,GAAI+xB,IAAWC,GAAa,CAC1B3F,GAAQ+F,GAAWlG,EAAiBjQ,GAAgB,EAAI,EACxD,QACD,CACD,IAAIoW,GACJ,GAAID,GAAU,KAAO,KACnBC,GAAWP,GAAiB,IAAIM,GAAU,GAAG,MAE7C,KAAKpS,GAAI6R,GAAI7R,IAAK0R,GAAI1R,KACpB,GAAImS,GAAsBnS,GAAI6R,EAAE,IAAM,GAAK1Y,GAAgBiZ,GAAWpB,EAAGhR,EAAC,CAAC,EAAG,CAC5EqS,GAAWrS,GACX,KACD,CAGDqS,KAAa,OACfhG,GAAQ+F,GAAWlG,EAAiBjQ,GAAgB,EAAI,GAExDkW,GAAsBE,GAAWR,EAAE,EAAI7xB,GAAI,EACvCqyB,IAAYH,GACdA,GAAmBG,GAEnBJ,GAAQ,GAEVpG,EACEuG,GACApB,EAAGqB,EAAQ,EACXrG,EACA,KACAE,EACAjQ,GACAmL,GACA+E,GACAhE,EACZ,EACU4J,KAEH,CACD,MAAMO,GAA6BL,GAAQM,GAAYJ,EAAqB,EAAI5yB,GAEhF,IADAygB,GAAIsS,GAA2B,OAAS,EACnCtyB,GAAIgyB,GAAc,EAAGhyB,IAAK,EAAGA,KAAK,CACrC,MAAMwyB,GAAYX,GAAK7xB,GACjBsxB,GAAYN,EAAGwB,EAAS,EACxBvG,GAASuG,GAAY,EAAIhB,GAAKR,EAAGwB,GAAY,CAAC,EAAE,GAAKjB,EACvDY,GAAsBnyB,EAAC,IAAM,EAC/B6rB,EACE,KACAyF,GACAtF,EACAC,GACAC,EACAjQ,GACAmL,GACA+E,GACAhE,EACZ,EACmB8J,KACLjS,GAAI,GAAKhgB,KAAMsyB,GAA2BtS,EAAC,EAC7CyS,GAAKnB,GAAWtF,EAAWC,GAAQ,CAAC,EAEpCjM,KAGL,CACF,CACL,EACQyS,GAAO,CAAChc,EAAOuV,EAAWC,EAAQyG,EAAUzW,EAAiB,OAAS,CAC1E,KAAM,CAAE,GAAAlc,GAAI,KAAAgJ,GAAM,WAAAskB,GAAY,SAAAjV,GAAU,UAAAkD,EAAW,EAAG7E,EACtD,GAAI6E,GAAY,EAAG,CACjBmX,GAAKhc,EAAM,UAAU,QAASuV,EAAWC,EAAQyG,CAAQ,EACzD,MACD,CACD,GAAIpX,GAAY,IAAK,CACnB7E,EAAM,SAAS,KAAKuV,EAAWC,EAAQyG,CAAQ,EAC/C,MACD,CACD,GAAIpX,GAAY,GAAI,CAClBvS,GAAK,KAAK0N,EAAOuV,EAAWC,EAAQa,EAAS,EAC7C,MACD,CACD,GAAI/jB,KAAS2S,GAAU,CACrBuP,EAAWlrB,GAAIisB,EAAWC,CAAM,EAChC,QAASjsB,GAAI,EAAGA,GAAIoY,GAAS,OAAQpY,KACnCyyB,GAAKra,GAASpY,EAAC,EAAGgsB,EAAWC,EAAQyG,CAAQ,EAE/CzH,EAAWxU,EAAM,OAAQuV,EAAWC,CAAM,EAC1C,MACD,CACD,GAAIljB,KAAS0jB,GAAQ,CACnBM,EAAetW,EAAOuV,EAAWC,CAAM,EACvC,MACD,CAED,GADwByG,IAAa,GAAKpX,GAAY,GAAK+R,GAEzD,GAAIqF,IAAa,EACfrF,GAAW,YAAYttB,EAAE,EACzBkrB,EAAWlrB,GAAIisB,EAAWC,CAAM,EAChCnP,GAAsB,IAAMuQ,GAAW,MAAMttB,EAAE,EAAGkc,CAAc,MAC3D,CACL,KAAM,CAAE,MAAA0W,GAAO,WAAAC,GAAY,WAAAC,EAAU,EAAKxF,GACpCyF,GAAU,IAAM,CAChBrc,EAAM,IAAI,YACZyU,EAAWnrB,EAAE,EAEbkrB,EAAWlrB,GAAIisB,EAAWC,CAAM,CAE5C,EACc8G,GAAe,IAAM,CACzBJ,GAAM5yB,GAAI,IAAM,CACd+yB,KACAD,IAAcA,GAAU,CACpC,CAAW,CACX,EACYD,GACFA,GAAW7yB,GAAI+yB,GAASC,EAAY,EAEpCA,IAEH,MAED9H,EAAWlrB,GAAIisB,EAAWC,CAAM,CAEtC,EACQI,GAAU,CAAC5V,EAAOyV,EAAiBjQ,EAAgB+W,EAAW,GAAO7K,EAAY,KAAU,CAC/F,KAAM,CACJ,KAAApf,GACA,MAAAkP,GACA,IAAAxI,GACA,SAAA2I,GACA,gBAAA6V,GACA,UAAA3S,GACA,UAAA8M,GACA,KAAAkF,GACA,WAAA2F,EACD,EAAGxc,EAYJ,GAXI2R,KAAc,KAChBD,EAAY,IAEV1Y,IAAO,OACTxH,KACA6T,GAAOrM,GAAK,KAAMwM,EAAgBxF,EAAO,EAAI,EAC7CvO,MAEE+qB,IAAc,OAChB/G,EAAgB,YAAY+G,EAAU,EAAI,QAExC3X,GAAY,IAAK,CACnB4Q,EAAgB,IAAI,WAAWzV,CAAK,EACpC,MACD,CACD,MAAMyc,GAAmB5X,GAAY,GAAKgS,GACpC6F,GAAwB,CAAChX,GAAe1F,CAAK,EACnD,IAAI2W,GAIJ,GAHI+F,KAA0B/F,GAAYnV,IAASA,GAAM,uBACvDyV,GAAgBN,GAAWlB,EAAiBzV,CAAK,EAE/C6E,GAAY,EACd8X,GAAiB3c,EAAM,UAAWwF,EAAgB+W,CAAQ,MACrD,CACL,GAAI1X,GAAY,IAAK,CACnB7E,EAAM,SAAS,QAAQwF,EAAgB+W,CAAQ,EAC/C,MACD,CACGE,IACFnc,GAAoBN,EAAO,KAAMyV,EAAiB,eAAe,EAE/D5Q,GAAY,GACd7E,EAAM,KAAK,OACTA,EACAyV,EACAjQ,EACA6Q,GACAkG,CACV,EACiB/E,IAKX,CAACA,GAAgB,UAChBllB,KAAS2S,IAAY0M,GAAY,GAAKA,GAAY,IACjD+I,GACElD,GACA/B,EACAjQ,EACA,GACA,EACV,GACiBlT,KAAS2S,IAAY0M,GAAa,KAAc,CAACD,GAAa7M,GAAY,KACnF6V,GAAgB/Y,GAAU8T,EAAiBjQ,CAAc,EAEvD+W,GACFnzB,GAAO4W,CAAK,CAEf,EACG0c,KAA0B/F,GAAYnV,IAASA,GAAM,mBAAqBib,KAC5EpW,GAAsB,IAAM,CAC1BsQ,IAAaM,GAAgBN,GAAWlB,EAAiBzV,CAAK,EAC9Dyc,IAAoBnc,GAAoBN,EAAO,KAAMyV,EAAiB,WAAW,CAClF,EAAEjQ,CAAc,CAEvB,EACQpc,GAAU4W,GAAU,CACxB,KAAM,CAAE,KAAA1N,EAAM,GAAAhJ,EAAI,OAAAksB,EAAQ,WAAAoB,CAAU,EAAK5W,EACzC,GAAI1N,IAAS2S,GAAU,CAUnB2X,GAAetzB,EAAIksB,CAAM,EAE3B,MACD,CACD,GAAIljB,IAAS0jB,GAAQ,CACnBQ,EAAiBxW,CAAK,EACtB,MACD,CACD,MAAM6c,GAAgB,IAAM,CAC1BpI,EAAWnrB,CAAE,EACTstB,GAAc,CAACA,EAAW,WAAaA,EAAW,YACpDA,EAAW,WAAU,CAE7B,EACI,GAAI5W,EAAM,UAAY,GAAK4W,GAAc,CAACA,EAAW,UAAW,CAC9D,KAAM,CAAE,MAAAsF,GAAO,WAAAC,EAAY,EAAGvF,EACxB0F,GAAe,IAAMJ,GAAM5yB,EAAIuzB,EAAa,EAC9CV,GACFA,GAAWnc,EAAM,GAAI6c,GAAeP,EAAY,EAEhDA,IAER,MACMO,IAEN,EACQD,GAAiB,CAACvf,EAAKkB,IAAQ,CACnC,IAAIhO,EACJ,KAAO8M,IAAQkB,GACbhO,EAAO0kB,EAAgB5X,CAAG,EAC1BoX,EAAWpX,CAAG,EACdA,EAAM9M,EAERkkB,EAAWlW,CAAG,CAClB,EACQoe,GAAmB,CAAC9f,EAAU2I,EAAgB+W,IAAa,CAI/D,KAAM,CACJ,IAAAO,EACA,MAAA1gB,EACA,IAAAG,GACA,QAAA+E,GACA,GAAAyb,GACA,EAAApO,GACA,EAAAxhB,GACA,OAAAisB,GACA,MAAO,CAAE,GAAI4D,EAAe,CAC7B,EAAGngB,EACJogB,GAAgBtO,EAAC,EACjBsO,GAAgB9vB,EAAC,EACb2vB,GACFvxB,GAAeuxB,CAAG,EAEhB1D,IAAU1vB,GAAQszB,EAAa,GACjCA,GAAc,QAAS3uB,IAAM,CAC3B+qB,GAAO,YAAY/qB,EAAC,EAAI,MAChC,CAAO,EAEH+N,EAAM,KAAI,EACNG,KACFA,GAAI,OAAS,EACbqZ,GAAQtU,GAASzE,EAAU2I,EAAgB+W,CAAQ,GAEjDQ,IACF1W,GAAsB0W,GAAIvX,CAAc,EAE1Ca,GAAsB,IAAM,CAC1BxJ,EAAS,YAAc,EACxB,EAAE2I,CAAc,EACbA,GAAkBA,EAAe,eAAiB,CAACA,EAAe,aAAe3I,EAAS,UAAY,CAACA,EAAS,eAAiBA,EAAS,aAAe2I,EAAe,YAC1KA,EAAe,OACXA,EAAe,OAAS,GAC1BA,EAAe,QAAO,EAM9B,EACQkV,GAAkB,CAAC/Y,EAAU8T,EAAiBjQ,EAAgB+W,EAAW,GAAO7K,EAAY,GAAOpT,GAAQ,IAAM,CACrH,QAAS/U,GAAI+U,GAAO/U,GAAIoY,EAAS,OAAQpY,KACvCqsB,GAAQjU,EAASpY,EAAC,EAAGksB,EAAiBjQ,EAAgB+W,EAAU7K,CAAS,CAE/E,EACQiE,EAAmB3V,GAAU,CACjC,GAAIA,EAAM,UAAY,EACpB,OAAO2V,EAAgB3V,EAAM,UAAU,OAAO,EAEhD,GAAIA,EAAM,UAAY,IACpB,OAAOA,EAAM,SAAS,OAExB,MAAM1W,EAAK2rB,EAAgBjV,EAAM,QAAUA,EAAM,EAAE,EAC7Ckd,EAAc5zB,GAAMA,EAAGqX,EAAc,EAC3C,OAAOuc,EAAcjI,EAAgBiI,CAAW,EAAI5zB,CACxD,EACE,IAAI6zB,GAAa,GACjB,MAAMxQ,GAAS,CAAC3M,EAAOuV,EAAW5E,IAAc,CAC1C3Q,GAAS,KACPuV,EAAU,QACZK,GAAQL,EAAU,OAAQ,KAAM,KAAM,EAAI,EAG5CH,EACEG,EAAU,QAAU,KACpBvV,EACAuV,EACA,KACA,KACA,KACA5E,CACR,EAEI4E,EAAU,OAASvV,EACdmd,KACHA,GAAa,GACbje,KACAC,KACAge,GAAa,GAEnB,EACQ9G,GAAY,CAChB,EAAGjB,EACH,GAAIQ,GACJ,EAAGoG,GACH,EAAG5yB,GACH,GAAIovB,EACJ,GAAI1B,GACJ,GAAIe,EACJ,IAAKD,GACL,EAAGjC,EACH,EAAGza,CACP,EACE,IAAI2U,GACAkK,GACJ,OAAIxF,IACF,CAAC1E,GAASkK,EAAW,EAAIxF,EACvB8B,EACN,GAES,CACL,OAAA1J,GACA,QAAAkD,GACA,UAAWD,GAAajD,GAAQkD,EAAO,CAC3C,CACA,CACA,SAASkH,GAAyB,CAAE,KAAAzkB,EAAM,MAAAkP,CAAK,EAAI4b,EAAkB,CACnE,OAAOA,IAAqB,OAAS9qB,IAAS,iBAAmB8qB,IAAqB,UAAY9qB,IAAS,kBAAoBkP,GAASA,EAAM,UAAYA,EAAM,SAAS,SAAS,MAAM,EAAI,OAAS4b,CACvM,CACA,SAASzF,GAAc,CAAE,OAAA/b,EAAQ,IAAAW,CAAG,EAAI8gB,EAAS,CAC3CA,GACFzhB,EAAO,OAAS,GAChBW,EAAI,OAAS,IAEbX,EAAO,OAAS,IAChBW,EAAI,OAAS,GAEjB,CACA,SAAS4a,GAAe3R,EAAgBoR,EAAY,CAClD,OAAQ,CAACpR,GAAkBA,GAAkB,CAACA,EAAe,gBAAkBoR,GAAc,CAACA,EAAW,SAC3G,CACA,SAAS2B,GAAuBlD,EAAIC,EAAIhe,EAAU,GAAO,CACvD,MAAMgmB,EAAMjI,EAAG,SACTkI,EAAMjI,EAAG,SACf,GAAI5rB,GAAQ4zB,CAAG,GAAK5zB,GAAQ6zB,CAAG,EAC7B,QAAS,EAAI,EAAG,EAAID,EAAI,OAAQ,IAAK,CACnC,MAAMjD,EAAKiD,EAAI,CAAC,EAChB,IAAI/C,EAAKgD,EAAI,CAAC,EACVhD,EAAG,UAAY,GAAK,CAACA,EAAG,mBACtBA,EAAG,WAAa,GAAKA,EAAG,YAAc,MACxCA,EAAKgD,EAAI,CAAC,EAAIhG,GAAegG,EAAI,CAAC,CAAC,EACnChD,EAAG,GAAKF,EAAG,IAET,CAAC/iB,GAAWijB,EAAG,YAAc,IAC/BhC,GAAuB8B,EAAIE,CAAE,GAE7BA,EAAG,OAAS1E,KACd0E,EAAG,GAAKF,EAAG,IAETE,EAAG,OAAShY,IAAW,CAACgY,EAAG,KAC7BA,EAAG,GAAKF,EAAG,GAKd,CAEL,CACA,SAASyB,GAAYzyB,EAAK,CACxB,MAAM8U,EAAI9U,EAAI,QACRoL,EAAS,CAAC,CAAC,EACjB,IAAIlL,EAAGggB,EAAG4P,EAAG9qB,EAAGrD,EAChB,MAAMwyB,EAAMn0B,EAAI,OAChB,IAAKE,EAAI,EAAGA,EAAIi0B,EAAKj0B,IAAK,CACxB,MAAMk0B,EAAOp0B,EAAIE,CAAC,EAClB,GAAIk0B,IAAS,EAAG,CAEd,GADAlU,EAAI9U,EAAOA,EAAO,OAAS,CAAC,EACxBpL,EAAIkgB,CAAC,EAAIkU,EAAM,CACjBtf,EAAE5U,CAAC,EAAIggB,EACP9U,EAAO,KAAKlL,CAAC,EACb,QACD,CAGD,IAFA4vB,EAAI,EACJ9qB,EAAIoG,EAAO,OAAS,EACb0kB,EAAI9qB,GACTrD,EAAImuB,EAAI9qB,GAAK,EACThF,EAAIoL,EAAOzJ,CAAC,CAAC,EAAIyyB,EACnBtE,EAAInuB,EAAI,EAERqD,EAAIrD,EAGJyyB,EAAOp0B,EAAIoL,EAAO0kB,CAAC,CAAC,IAClBA,EAAI,IACNhb,EAAE5U,CAAC,EAAIkL,EAAO0kB,EAAI,CAAC,GAErB1kB,EAAO0kB,CAAC,EAAI5vB,EAEf,CACF,CAGD,IAFA4vB,EAAI1kB,EAAO,OACXpG,EAAIoG,EAAO0kB,EAAI,CAAC,EACTA,KAAM,GACX1kB,EAAO0kB,CAAC,EAAI9qB,EACZA,EAAI8P,EAAE9P,CAAC,EAET,OAAOoG,CACT,CACA,SAAS6kB,GAA2Bzc,EAAU,CAC5C,MAAM6gB,EAAe7gB,EAAS,QAAQ,UACtC,GAAI6gB,EACF,OAAIA,EAAa,UAAY,CAACA,EAAa,cAClCA,EAEApE,GAA2BoE,CAAY,CAGpD,CACA,SAAST,GAAgB3a,EAAO,CAC9B,GAAIA,EACF,QAAS/Y,EAAI,EAAGA,EAAI+Y,EAAM,OAAQ/Y,IAChC+Y,EAAM/Y,CAAC,EAAE,OAAS,CAExB,CAEA,MAAMo0B,GAAgB,OAAO,IAAI,OAAO,EAClCC,GAAgB,IAEN3P,GAAO0P,EAAa,EA2BpC,SAAS3iB,GAAMf,EAAQgB,EAAIC,EAAS,CAMlC,OAAO2iB,GAAQ5jB,EAAQgB,EAAIC,CAAO,CACpC,CACA,SAAS2iB,GAAQ5jB,EAAQgB,EAAIC,EAAUrS,GAAW,CAChD,KAAM,CAAE,UAAAsS,EAAW,KAAAC,EAAM,MAAA0iB,EAAO,KAAAziB,CAAI,EAAKH,EAkBnC6iB,EAAmB50B,GAAO,CAAE,EAAE+R,CAAO,EAErC8iB,EAAkB/iB,GAAME,GAAa,CAACF,GAAM6iB,IAAU,OAC5D,IAAIG,EACJ,GAAI3W,IACF,GAAIwW,IAAU,OAAQ,CACpB,MAAMpe,EAAMke,KACZK,EAAave,EAAI,mBAAqBA,EAAI,iBAAmB,CAAE,EACrE,SAAe,CAACse,EAAiB,CAC3B,MAAME,EAAkB,IAAM,CACpC,EACM,OAAAA,EAAgB,KAAOn1B,GACvBm1B,EAAgB,OAASn1B,GACzBm1B,EAAgB,MAAQn1B,GACjBm1B,CACR,EAEH,MAAMrhB,EAAW4J,GACjBsX,EAAiB,KAAO,CAACpzB,EAAI2H,EAAMsB,IAASmJ,GAA2BpS,EAAIkS,EAAUvK,EAAMsB,CAAI,EAC/F,IAAIuqB,EAAQ,GACRL,IAAU,OACZC,EAAiB,UAAaxhB,GAAQ,CACpC8J,GAAsB9J,EAAKM,GAAYA,EAAS,QAAQ,CAC9D,EACaihB,IAAU,SACnBK,EAAQ,GACRJ,EAAiB,UAAY,CAACxhB,EAAK6hB,IAAe,CAC5CA,EACF7hB,IAEAqC,GAASrC,CAAG,CAEpB,GAEEwhB,EAAiB,WAAcxhB,GAAQ,CACjCtB,IACFsB,EAAI,OAAS,GAEX4hB,IACF5hB,EAAI,OAAS,EACTM,IACFN,EAAI,GAAKM,EAAS,IAClBN,EAAI,EAAIM,GAGhB,EACE,MAAMR,EAAcgiB,GAAQpkB,EAAQgB,EAAI8iB,CAAgB,EACxD,OAAIzW,KACE2W,EACFA,EAAW,KAAK5hB,CAAW,EAClB2hB,GACT3hB,KAGGA,CACT,CACA,SAASqO,GAAczQ,EAAQ5P,EAAO6Q,EAAS,CAC7C,MAAMuQ,EAAa,KAAK,MAClBjR,EAASxQ,GAASiQ,CAAM,EAAIA,EAAO,SAAS,GAAG,EAAIkU,GAAiB1C,EAAYxR,CAAM,EAAI,IAAMwR,EAAWxR,CAAM,EAAIA,EAAO,KAAKwR,EAAYA,CAAU,EAC7J,IAAIxQ,EACAlR,GAAWM,CAAK,EAClB4Q,EAAK5Q,GAEL4Q,EAAK5Q,EAAM,QACX6Q,EAAU7Q,GAEZ,MAAM6c,EAAQC,GAAmB,IAAI,EAC/Bhb,EAAM0xB,GAAQrjB,EAAQS,EAAG,KAAKwQ,CAAU,EAAGvQ,CAAO,EACxD,OAAAgM,IACO/a,CACT,CACA,SAASgiB,GAAiBzO,EAAK4e,EAAM,CACnC,MAAMC,EAAWD,EAAK,MAAM,GAAG,EAC/B,MAAO,IAAM,CACX,IAAIjhB,EAAMqC,EACV,QAASnW,EAAI,EAAGA,EAAIg1B,EAAS,QAAUlhB,EAAK9T,IAC1C8T,EAAMA,EAAIkhB,EAASh1B,CAAC,CAAC,EAEvB,OAAO8T,CACX,CACA,CAiEA,MAAMmhB,GAAoB,CAAChd,EAAOid,IACzBA,IAAc,cAAgBA,IAAc,cAAgBjd,EAAM,eAAiBA,EAAM,GAAGid,CAAS,WAAW,GAAKjd,EAAM,GAAG1W,GAAS2zB,CAAS,CAAC,WAAW,GAAKjd,EAAM,GAAGtW,GAAUuzB,CAAS,CAAC,WAAW,EAGlN,SAASC,GAAK7hB,EAAU8hB,KAAUC,EAAS,CACzC,GAAI/hB,EAAS,YAAa,OAC1B,MAAM2E,EAAQ3E,EAAS,MAAM,OAAShU,GA0BtC,IAAI+K,EAAOgrB,EACX,MAAM11B,EAAkBy1B,EAAM,WAAW,SAAS,EAC5Cte,EAAYnX,GAAmBs1B,GAAkBhd,EAAOmd,EAAM,MAAM,CAAC,CAAC,EACxEte,IACEA,EAAU,OACZzM,EAAOgrB,EAAQ,IAAKzxB,GAAMnD,GAASmD,CAAC,EAAIA,EAAE,KAAM,EAAGA,CAAC,GAElDkT,EAAU,SACZzM,EAAOgrB,EAAQ,IAAI/yB,EAAa,IAmBpC,IAAIgzB,EACAzQ,EAAU5M,EAAMqd,EAAczzB,GAAauzB,CAAK,CAAC,GACrDnd,EAAMqd,EAAczzB,GAAaN,GAAS6zB,CAAK,CAAC,CAAC,EAC7C,CAACvQ,GAAWllB,IACdklB,EAAU5M,EAAMqd,EAAczzB,GAAaF,GAAUyzB,CAAK,CAAC,CAAC,GAE1DvQ,GACFrR,GACEqR,EACAvR,EACA,EACAjJ,CACN,EAEE,MAAMkrB,EAActd,EAAMqd,EAAc,MAAM,EAC9C,GAAIC,EAAa,CACf,GAAI,CAACjiB,EAAS,QACZA,EAAS,QAAU,WACVA,EAAS,QAAQgiB,CAAW,EACrC,OAEFhiB,EAAS,QAAQgiB,CAAW,EAAI,GAChC9hB,GACE+hB,EACAjiB,EACA,EACAjJ,CACN,CACG,CACH,CACA,SAASmrB,GAAsBnM,EAAM7H,EAAYiE,EAAU,GAAO,CAChE,MAAMpkB,EAAQmgB,EAAW,WACnBhC,EAASne,EAAM,IAAIgoB,CAAI,EAC7B,GAAI7J,IAAW,OACb,OAAOA,EAET,MAAM1V,EAAMuf,EAAK,MACjB,IAAIvmB,EAAa,GACbwmB,EAAa,GACjB,GAA2B,CAAC9oB,GAAW6oB,CAAI,EAAG,CAC5C,MAAMoM,EAAejM,GAAS,CAC5B,MAAMkM,EAAuBF,GAAsBhM,EAAMhI,EAAY,EAAI,EACrEkU,IACFpM,EAAa,GACb1pB,GAAOkD,EAAY4yB,CAAoB,EAE/C,EACQ,CAACjQ,GAAWjE,EAAW,OAAO,QAChCA,EAAW,OAAO,QAAQiU,CAAW,EAEnCpM,EAAK,SACPoM,EAAYpM,EAAK,OAAO,EAEtBA,EAAK,QACPA,EAAK,OAAO,QAAQoM,CAAW,CAElC,CACD,MAAI,CAAC3rB,GAAO,CAACwf,GACP3oB,GAAS0oB,CAAI,GACfhoB,EAAM,IAAIgoB,EAAM,IAAI,EAEf,OAELlpB,GAAQ2J,CAAG,EACbA,EAAI,QAAS1K,GAAQ0D,EAAW1D,CAAG,EAAI,IAAI,EAE3CQ,GAAOkD,EAAYgH,CAAG,EAEpBnJ,GAAS0oB,CAAI,GACfhoB,EAAM,IAAIgoB,EAAMvmB,CAAU,EAErBA,EACT,CACA,SAAS0lB,GAAe7W,EAASvS,EAAK,CACpC,MAAI,CAACuS,GAAW,CAACjS,GAAKN,CAAG,EAChB,IAETA,EAAMA,EAAI,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAC/Bc,GAAOyR,EAASvS,EAAI,CAAC,EAAE,YAAa,EAAGA,EAAI,MAAM,CAAC,CAAC,GAAKc,GAAOyR,EAAShQ,GAAUvC,CAAG,CAAC,GAAKc,GAAOyR,EAASvS,CAAG,EACvH,CAMA,SAAS8wB,GAAoB5c,EAAU,CACrC,KAAM,CACJ,KAAM2L,EACN,MAAAxI,EACA,MAAApH,EACA,UAAAsmB,EACA,aAAc,CAAC7T,CAAY,EAC3B,MAAA5J,EACA,MAAA6P,EACA,KAAAoN,EACA,OAAA/R,EACA,YAAAwS,EACA,MAAA3d,EACA,KAAAqJ,EACA,WAAA/E,EACA,IAAApG,EACA,aAAAuN,CACD,EAAGpQ,EACEjM,EAAO4O,GAA4B3C,CAAQ,EACjD,IAAIpI,EACA2qB,EAIJ,GAAI,CACF,GAAIpf,EAAM,UAAY,EAAG,CACvB,MAAMqf,EAAaH,GAAatmB,EAC1B0mB,EASDD,EACL5qB,EAASgf,GACP9G,EAAO,KACL2S,EACAD,EACAF,EACqE3d,EACrEsE,EACA+E,EACAnL,CACD,CACT,EACM0f,EAAmB9N,CACzB,KAAW,CACL,MAAMiO,EAAU/W,EAIhB/T,EAASgf,GACP8L,EAAQ,OAAS,EAAIA,EACkD/d,EAQjE,CAAE,MAAA8P,EAAO,MAAA7P,EAAO,KAAAid,CAAM,CACpC,EAAYa,EACmE/d,EACrE,IACD,CACT,EACM4d,EAAmB5W,EAAU,MAAQ8I,EAAQkO,GAAyBlO,CAAK,CAC5E,CACF,OAAQ7gB,EAAK,CACZgvB,GAAW,OAAS,EACpB3iB,GAAYrM,EAAKoM,EAAU,CAAC,EAC5BpI,EAASoV,EAAYtH,EAAO,CAC7B,CACD,IAAIsX,EAAOplB,EAKX,GAAI2qB,GAAoBnS,IAAiB,GAAO,CAC9C,MAAM9D,EAAO,OAAO,KAAKiW,CAAgB,EACnC,CAAE,UAAAva,CAAW,EAAGgV,EAClB1Q,EAAK,QACHtE,EAAa,IACXwG,GAAgBlC,EAAK,KAAKjgB,EAAe,IAC3Ck2B,EAAmBM,GACjBN,EACA/T,CACZ,GAEQwO,EAAOjV,GAAWiV,EAAMuF,EAAkB,GAAO,EAAI,EA2B1D,CACD,OAAIpf,EAAM,OAMR6Z,EAAOjV,GAAWiV,EAAM,KAAM,GAAO,EAAI,EACzCA,EAAK,KAAOA,EAAK,KAAOA,EAAK,KAAK,OAAO7Z,EAAM,IAAI,EAAIA,EAAM,MAE3DA,EAAM,YAMRwC,GAAmBqX,EAAM7Z,EAAM,UAAU,EAKzCvL,EAASolB,EAEXra,GAA4B5O,CAAI,EACzB6D,CACT,CA6CA,MAAM+qB,GAA4BlO,GAAU,CAC1C,IAAInlB,EACJ,UAAWxD,KAAO2oB,GACZ3oB,IAAQ,SAAWA,IAAQ,SAAWM,GAAKN,CAAG,MAC/CwD,IAAQA,EAAM,CAAE,IAAGxD,CAAG,EAAI2oB,EAAM3oB,CAAG,GAGxC,OAAOwD,CACT,EACMuzB,GAAuB,CAACpO,EAAO9P,IAAU,CAC7C,MAAMrV,EAAM,GACZ,UAAWxD,KAAO2oB,GACZ,CAACpoB,GAAgBP,CAAG,GAAK,EAAEA,EAAI,MAAM,CAAC,IAAK6Y,MAC7CrV,EAAIxD,CAAG,EAAI2oB,EAAM3oB,CAAG,GAGxB,OAAOwD,CACT,EAIA,SAAS4sB,GAAsBxY,EAAW4Z,EAAWzI,EAAW,CAC9D,KAAM,CAAE,MAAO0I,EAAW,SAAUuF,EAAc,UAAAtX,CAAW,EAAG9H,EAC1D,CAAE,MAAOqf,EAAW,SAAUC,EAAc,UAAAlO,CAAW,EAAGwI,EAC1D2F,EAAQzX,EAAU,aAIxB,GAAI8R,EAAU,MAAQA,EAAU,WAC9B,MAAO,GAET,GAAIzI,GAAaC,GAAa,EAAG,CAC/B,GAAIA,EAAY,KACd,MAAO,GAET,GAAIA,EAAY,GACd,OAAKyI,EAGE2F,GAAgB3F,EAAWwF,EAAWE,CAAK,EAFzC,CAAC,CAACF,EAGN,GAAIjO,EAAY,EAAG,CACxB,MAAMqO,EAAe7F,EAAU,aAC/B,QAAS5wB,EAAI,EAAGA,EAAIy2B,EAAa,OAAQz2B,IAAK,CAC5C,MAAMZ,EAAMq3B,EAAaz2B,CAAC,EAC1B,GAAIq2B,EAAUj3B,CAAG,IAAMyxB,EAAUzxB,CAAG,GAAK,CAACopB,GAAe+N,EAAOn3B,CAAG,EACjE,MAAO,EAEV,CACF,CACL,KACI,QAAIg3B,GAAgBE,KACd,CAACA,GAAgB,CAACA,EAAa,SAC1B,GAGPzF,IAAcwF,EACT,GAEJxF,EAGAwF,EAGEG,GAAgB3F,EAAWwF,EAAWE,CAAK,EAFzC,GAHA,CAAC,CAACF,EAOb,MAAO,EACT,CACA,SAASG,GAAgB3F,EAAWwF,EAAWK,EAAc,CAC3D,MAAMC,EAAW,OAAO,KAAKN,CAAS,EACtC,GAAIM,EAAS,SAAW,OAAO,KAAK9F,CAAS,EAAE,OAC7C,MAAO,GAET,QAAS7wB,EAAI,EAAGA,EAAI22B,EAAS,OAAQ32B,IAAK,CACxC,MAAMZ,EAAMu3B,EAAS32B,CAAC,EACtB,GAAIq2B,EAAUj3B,CAAG,IAAMyxB,EAAUzxB,CAAG,GAAK,CAACopB,GAAekO,EAAct3B,CAAG,EACxE,MAAO,EAEV,CACD,MAAO,EACT,CACA,SAASgxB,GAAgB,CAAE,MAAA3Z,EAAO,OAAAoZ,CAAM,EAAI9vB,EAAI,CAC9C,KAAO8vB,GAAQ,CACb,MAAMS,EAAOT,EAAO,QAIpB,GAHIS,EAAK,UAAYA,EAAK,SAAS,eAAiB7Z,IAClD6Z,EAAK,GAAK7Z,EAAM,IAEd6Z,IAAS7Z,GACVA,EAAQoZ,EAAO,OAAO,GAAK9vB,EAC5B8vB,EAASA,EAAO,WAEhB,MAEH,CACH,CAEA,MAAM/B,GAAc/kB,GAASA,EAAK,aAmjBlC,SAAS8hB,GAAwBzpB,EAAIw1B,EAAU,CACzCA,GAAYA,EAAS,cACnBz2B,GAAQiB,CAAE,EACZw1B,EAAS,QAAQ,KAAK,GAAGx1B,CAAE,EAE3Bw1B,EAAS,QAAQ,KAAKx1B,CAAE,EAG1BsU,GAAiBtU,CAAE,CAEvB,CAoBA,MAAMsa,GAAW,OAAO,IAAI,OAAO,EAC7B4Q,GAAO,OAAO,IAAI,OAAO,EACzBtT,GAAU,OAAO,IAAI,OAAO,EAC5ByT,GAAS,OAAO,IAAI,OAAO,EAC3ByJ,GAAa,GACnB,IAAIW,GAAe,KACnB,SAASzW,EAAU0W,EAAkB,GAAO,CAC1CZ,GAAW,KAAKW,GAAeC,EAAkB,KAAO,CAAE,EAC5D,CACA,SAASC,IAAa,CACpBb,GAAW,IAAG,EACdW,GAAeX,GAAWA,GAAW,OAAS,CAAC,GAAK,IACtD,CACA,IAAIc,GAAqB,EACzB,SAAS1gB,GAAiBxV,EAAOm2B,EAAU,GAAO,CAChDD,IAAsBl2B,EAClBA,EAAQ,GAAK+1B,IAAgBI,IAC/BJ,GAAa,QAAU,GAE3B,CACA,SAASK,GAAWzgB,EAAO,CACzB,OAAAA,EAAM,gBAAkBugB,GAAqB,EAAIH,IAAgBt3B,GAAY,KAC7Ew3B,KACIC,GAAqB,GAAKH,IAC5BA,GAAa,KAAKpgB,CAAK,EAElBA,CACT,CACA,SAAS0gB,EAAmBpuB,EAAMkP,EAAOG,EAAUgQ,EAAWqO,EAAcnb,EAAW,CACrF,OAAO4b,GACLE,EACEruB,EACAkP,EACAG,EACAgQ,EACAqO,EACAnb,EACA,EACD,CACL,CACA,CACA,SAAS+E,EAAYtX,EAAMkP,EAAOG,EAAUgQ,EAAWqO,EAAc,CACnE,OAAOS,GACL5W,EACEvX,EACAkP,EACAG,EACAgQ,EACAqO,EACA,EACD,CACL,CACA,CACA,SAAS7V,GAAQ9f,EAAO,CACtB,OAAOA,EAAQA,EAAM,cAAgB,GAAO,EAC9C,CACA,SAASqY,GAAgB2S,EAAIC,EAAI,CAS/B,OAAOD,EAAG,OAASC,EAAG,MAAQD,EAAG,MAAQC,EAAG,GAC9C,CAUA,MAAMsL,GAAe,CAAC,CAAE,IAAAj4B,CAAK,IAAKA,GAAoB,KAChDk4B,GAAe,CAAC,CACpB,IAAA7nB,EACA,QAAA8nB,EACA,QAAAC,CACF,KACM,OAAO/nB,GAAQ,WACjBA,EAAM,GAAKA,GAENA,GAAO,KAAOhP,GAASgP,CAAG,GAAKlL,GAAMkL,CAAG,GAAKjP,GAAWiP,CAAG,EAAI,CAAE,EAAGsG,GAA0B,EAAGtG,EAAK,EAAG8nB,EAAS,EAAG,CAAC,CAACC,CAAO,EAAK/nB,EAAM,MAElJ,SAAS2nB,EAAgBruB,EAAMkP,EAAQ,KAAMG,EAAW,KAAMgQ,EAAY,EAAGqO,EAAe,KAAMnb,EAAYvS,IAAS2S,GAAW,EAAI,EAAG+b,EAAc,GAAOC,EAAgC,GAAO,CACnM,MAAMjhB,EAAQ,CACZ,YAAa,GACb,SAAU,GACV,KAAA1N,EACA,MAAAkP,EACA,IAAKA,GAASof,GAAapf,CAAK,EAChC,IAAKA,GAASqf,GAAarf,CAAK,EAChC,QAASjC,GACT,aAAc,KACd,SAAAoC,EACA,UAAW,KACX,SAAU,KACV,UAAW,KACX,WAAY,KACZ,KAAM,KACN,WAAY,KACZ,GAAI,KACJ,OAAQ,KACR,OAAQ,KACR,YAAa,KACb,aAAc,KACd,YAAa,EACb,UAAAkD,EACA,UAAA8M,EACA,aAAAqO,EACA,gBAAiB,KACjB,WAAY,KACZ,IAAK1gB,EACT,EACE,OAAI2hB,GACFC,GAAkBlhB,EAAO2B,CAAQ,EAC7BkD,EAAY,KACdvS,EAAK,UAAU0N,CAAK,GAEb2B,IACT3B,EAAM,WAAahW,GAAS2X,CAAQ,EAAI,EAAI,IAK1C4e,GAAqB,GACzB,CAACS,GACDZ,KAICpgB,EAAM,UAAY,GAAK6E,EAAY,IAEpC7E,EAAM,YAAc,IAClBogB,GAAa,KAAKpgB,CAAK,EAElBA,CACT,CACA,MAAM6J,EAAyFsX,GAC/F,SAASA,GAAa7uB,EAAMkP,EAAQ,KAAMG,EAAW,KAAMgQ,EAAY,EAAGqO,EAAe,KAAMgB,EAAc,GAAO,CAOlH,IANI,CAAC1uB,GAAQA,IAAS6V,MAIpB7V,EAAOiQ,IAEL4H,GAAQ7X,CAAI,EAAG,CACjB,MAAM8uB,EAASxc,GACbtS,EACAkP,EACA,EAEN,EACI,OAAIG,GACFuf,GAAkBE,EAAQzf,CAAQ,EAEhC4e,GAAqB,GAAK,CAACS,GAAeZ,KACxCgB,EAAO,UAAY,EACrBhB,GAAaA,GAAa,QAAQ9tB,CAAI,CAAC,EAAI8uB,EAE3ChB,GAAa,KAAKgB,CAAM,GAG5BA,EAAO,UAAY,GACZA,CACR,CAID,GAHIC,GAAiB/uB,CAAI,IACvBA,EAAOA,EAAK,WAEVkP,EAAO,CACTA,EAAQ8f,GAAmB9f,CAAK,EAChC,GAAI,CAAE,MAAO+f,EAAO,MAAAC,CAAK,EAAKhgB,EAC1B+f,GAAS,CAACv3B,GAASu3B,CAAK,IAC1B/f,EAAM,MAAQ3U,GAAe00B,CAAK,GAEhCr3B,GAASs3B,CAAK,IACZtsB,GAAQssB,CAAK,GAAK,CAAC93B,GAAQ83B,CAAK,IAClCA,EAAQr4B,GAAO,GAAIq4B,CAAK,GAE1BhgB,EAAM,MAAQtV,GAAes1B,CAAK,EAErC,CACD,MAAM3c,EAAY7a,GAASsI,CAAI,EAAI,EAAI+kB,GAAW/kB,CAAI,EAAI,IAAMsO,GAAWtO,CAAI,EAAI,GAAKpI,GAASoI,CAAI,EAAI,EAAIvI,GAAWuI,CAAI,EAAI,EAAI,EAUpI,OAAOquB,EACLruB,EACAkP,EACAG,EACAgQ,EACAqO,EACAnb,EACAmc,EACA,EACJ,CACA,CACA,SAASM,GAAmB9f,EAAO,CACjC,OAAKA,EACEtM,GAAQsM,CAAK,GAAK2P,GAAiB3P,CAAK,EAAIrY,GAAO,CAAE,EAAEqY,CAAK,EAAIA,EADpD,IAErB,CACA,SAASoD,GAAW5E,EAAOyhB,EAAYC,EAAW,GAAOC,EAAkB,GAAO,CAChF,KAAM,CAAE,MAAAngB,EAAO,IAAAxI,EAAK,UAAA2Y,EAAW,SAAAhQ,EAAU,WAAAiV,CAAY,EAAG5W,EAClD4hB,EAAcH,EAAaI,GAAWrgB,GAAS,GAAIigB,CAAU,EAAIjgB,EACjE4f,EAAS,CACb,YAAa,GACb,SAAU,GACV,KAAMphB,EAAM,KACZ,MAAO4hB,EACP,IAAKA,GAAehB,GAAagB,CAAW,EAC5C,IAAKH,GAAcA,EAAW,IAI5BC,GAAY1oB,EAAMtP,GAAQsP,CAAG,EAAIA,EAAI,OAAO6nB,GAAaY,CAAU,CAAC,EAAI,CAACzoB,EAAK6nB,GAAaY,CAAU,CAAC,EAAIZ,GAAaY,CAAU,EAC/HzoB,EACJ,QAASgH,EAAM,QACf,aAAcA,EAAM,aACpB,SAA8H2B,EAC9H,OAAQ3B,EAAM,OACd,YAAaA,EAAM,YACnB,aAAcA,EAAM,aACpB,YAAaA,EAAM,YACnB,UAAWA,EAAM,UAKjB,UAAWyhB,GAAczhB,EAAM,OAASiF,GAAW0M,IAAc,GAAK,GAAKA,EAAY,GAAKA,EAC5F,aAAc3R,EAAM,aACpB,gBAAiBA,EAAM,gBACvB,WAAYA,EAAM,WAClB,KAAMA,EAAM,KACZ,WAAA4W,EAKA,UAAW5W,EAAM,UACjB,SAAUA,EAAM,SAChB,UAAWA,EAAM,WAAa4E,GAAW5E,EAAM,SAAS,EACxD,WAAYA,EAAM,YAAc4E,GAAW5E,EAAM,UAAU,EAC3D,GAAIA,EAAM,GACV,OAAQA,EAAM,OACd,IAAKA,EAAM,IACX,GAAIA,EAAM,EACd,EACE,OAAI4W,GAAc+K,GAChBnf,GACE4e,EACAxK,EAAW,MAAMwK,CAAM,CAC7B,EAESA,CACT,CAQA,SAASU,GAAgBC,EAAO,IAAKC,EAAO,EAAG,CAC7C,OAAOnY,EAAYgM,GAAM,KAAMkM,EAAMC,CAAI,CAC3C,CACA,SAASC,GAAkBC,EAASC,EAAe,CACjD,MAAMniB,EAAQ6J,EAAYmM,GAAQ,KAAMkM,CAAO,EAC/C,OAAAliB,EAAM,YAAcmiB,EACbniB,CACT,CACA,SAASoiB,EAAmBL,EAAO,GAAIM,EAAU,GAAO,CACtD,OAAOA,GAAW1Y,IAAaC,EAAYrH,GAAS,KAAMwf,CAAI,GAAKlY,EAAYtH,GAAS,KAAMwf,CAAI,CACpG,CACA,SAAStO,GAAe5R,EAAO,CAC7B,OAAIA,GAAS,MAAQ,OAAOA,GAAU,UAC7BgI,EAAYtH,EAAO,EACjB7Y,GAAQmY,CAAK,EACfgI,EACL5E,GACA,KAEApD,EAAM,MAAO,CACnB,EACasI,GAAQtI,CAAK,EACf0V,GAAe1V,CAAK,EAEpBgI,EAAYgM,GAAM,KAAM,OAAOhU,CAAK,CAAC,CAEhD,CACA,SAAS0V,GAAe1V,EAAO,CAC7B,OAAOA,EAAM,KAAO,MAAQA,EAAM,YAAc,IAAMA,EAAM,KAAOA,EAAQ+C,GAAW/C,CAAK,CAC7F,CACA,SAASqf,GAAkBlhB,EAAO2B,EAAU,CAC1C,IAAIrP,EAAO,EACX,KAAM,CAAE,UAAAuS,CAAW,EAAG7E,EACtB,GAAI2B,GAAY,KACdA,EAAW,aACFjY,GAAQiY,CAAQ,EACzBrP,EAAO,WACE,OAAOqP,GAAa,SAC7B,GAAIkD,EAAa,GAAS,CACxB,MAAMyE,EAAO3H,EAAS,QAClB2H,IACFA,EAAK,KAAOA,EAAK,GAAK,IACtB4X,GAAkBlhB,EAAOsJ,EAAI,CAAE,EAC/BA,EAAK,KAAOA,EAAK,GAAK,KAExB,MACN,KAAW,CACLhX,EAAO,GACP,MAAMgwB,EAAW3gB,EAAS,EACtB,CAAC2gB,GAAY,CAACnR,GAAiBxP,CAAQ,EACzCA,EAAS,KAAOrC,GACPgjB,IAAa,GAAKhjB,KACvBA,GAAyB,MAAM,IAAM,EACvCqC,EAAS,EAAI,GAEbA,EAAS,EAAI,EACb3B,EAAM,WAAa,MAGxB,MACQjW,GAAW4X,CAAQ,GAC5BA,EAAW,CAAE,QAASA,EAAU,KAAMrC,EAAwB,EAC9DhN,EAAO,KAEPqP,EAAW,OAAOA,CAAQ,EACtBkD,EAAY,IACdvS,EAAO,GACPqP,EAAW,CAACmgB,GAAgBngB,CAAQ,CAAC,GAErCrP,EAAO,GAGX0N,EAAM,SAAW2B,EACjB3B,EAAM,WAAa1N,CACrB,CACA,SAASuvB,MAAcjuB,EAAM,CAC3B,MAAMjH,EAAM,GACZ,QAASpD,EAAI,EAAGA,EAAIqK,EAAK,OAAQrK,IAAK,CACpC,MAAMg5B,EAAU3uB,EAAKrK,CAAC,EACtB,UAAWZ,KAAO45B,EAChB,GAAI55B,IAAQ,QACNgE,EAAI,QAAU41B,EAAQ,QACxB51B,EAAI,MAAQE,GAAe,CAACF,EAAI,MAAO41B,EAAQ,KAAK,CAAC,WAE9C55B,IAAQ,QACjBgE,EAAI,MAAQT,GAAe,CAACS,EAAI,MAAO41B,EAAQ,KAAK,CAAC,UAC5Ct5B,GAAKN,CAAG,EAAG,CACpB,MAAMyd,EAAWzZ,EAAIhE,CAAG,EAClB65B,EAAWD,EAAQ55B,CAAG,EACxB65B,GAAYpc,IAAaoc,GAAY,EAAE94B,GAAQ0c,CAAQ,GAAKA,EAAS,SAASoc,CAAQ,KACxF71B,EAAIhE,CAAG,EAAIyd,EAAW,GAAG,OAAOA,EAAUoc,CAAQ,EAAIA,EAEhE,MAAiB75B,IAAQ,KACjBgE,EAAIhE,CAAG,EAAI45B,EAAQ55B,CAAG,EAG3B,CACD,OAAOgE,CACT,CACA,SAASsqB,GAAgBvW,EAAM7D,EAAUmD,EAAOO,EAAY,KAAM,CAChExD,GAA2B2D,EAAM7D,EAAU,EAAG,CAC5CmD,EACAO,CACJ,CAAG,CACH,CAEA,MAAMkiB,GAAkB/S,GAAgB,EACxC,IAAIgT,GAAM,EACV,SAAS/J,GAAwB3Y,EAAOoZ,EAAQ+G,EAAU,CACxD,MAAM7tB,EAAO0N,EAAM,KACb+K,GAAcqO,EAASA,EAAO,WAAapZ,EAAM,aAAeyiB,GAChE5lB,EAAW,CACf,IAAK6lB,KACL,MAAA1iB,EACA,KAAA1N,EACA,OAAA8mB,EACA,WAAArO,EACA,KAAM,KAEN,KAAM,KACN,QAAS,KAET,OAAQ,KACR,OAAQ,KAER,IAAK,KACL,MAAO,IAAIvc,GACT,EAED,EACD,OAAQ,KACR,MAAO,KACP,QAAS,KACT,YAAa,KACb,UAAW,KACX,SAAU4qB,EAASA,EAAO,SAAW,OAAO,OAAOrO,EAAW,QAAQ,EACtE,IAAKqO,EAASA,EAAO,IAAM,CAAC,GAAI,EAAG,CAAC,EACpC,YAAa,KACb,YAAa,CAAE,EAEf,WAAY,KACZ,WAAY,KAEZ,aAAczG,GAAsBrgB,EAAMyY,CAAU,EACpD,aAAcgU,GAAsBzsB,EAAMyY,CAAU,EAEpD,KAAM,KAEN,QAAS,KAET,cAAeliB,GAEf,aAAcyJ,EAAK,aAEnB,IAAKzJ,GACL,KAAMA,GACN,MAAOA,GACP,MAAOA,GACP,MAAOA,GACP,KAAMA,GACN,WAAYA,GACZ,aAAc,KAEd,SAAAs3B,EACA,WAAYA,EAAWA,EAAS,UAAY,EAC5C,SAAU,KACV,cAAe,GAGf,UAAW,GACX,YAAa,GACb,cAAe,GACf,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,IAAK,KACL,GAAI,KACJ,EAAG,KACH,IAAK,KACL,IAAK,KACL,GAAI,KACJ,GAAI,IACR,EAII,OAAAtjB,EAAS,IAAM,CAAE,EAAGA,CAAQ,EAE9BA,EAAS,KAAOuc,EAASA,EAAO,KAAOvc,EACvCA,EAAS,KAAO6hB,GAAK,KAAK,KAAM7hB,CAAQ,EACpCmD,EAAM,IACRA,EAAM,GAAGnD,CAAQ,EAEZA,CACT,CACA,IAAI4J,GAAkB,KACtB,MAAM/E,GAAqB,IAAM+E,IAAmBnH,GACpD,IAAIqjB,GACAC,GACJ,CACE,MAAMC,EAAI52B,KACJ62B,EAAuB,CAACn6B,EAAKyR,IAAW,CAC5C,IAAI2oB,EACJ,OAAMA,EAAUF,EAAEl6B,CAAG,KAAIo6B,EAAUF,EAAEl6B,CAAG,EAAI,IAC5Co6B,EAAQ,KAAK3oB,CAAM,EACX/L,GAAM,CACR00B,EAAQ,OAAS,EAAGA,EAAQ,QAASxV,GAAQA,EAAIlf,CAAC,CAAC,EAClD00B,EAAQ,CAAC,EAAE10B,CAAC,CACvB,CACA,EACEs0B,GAA6BG,EAC3B,2BACCz0B,GAAMoY,GAAkBpY,CAC7B,EACEu0B,GAAqBE,EACnB,sBACCz0B,GAAMiZ,GAAwBjZ,CACnC,CACA,CACA,MAAM8Y,GAAsBtK,GAAa,CACvC,MAAMjM,EAAO6V,GACb,OAAAkc,GAA2B9lB,CAAQ,EACnCA,EAAS,MAAM,KACR,IAAM,CACXA,EAAS,MAAM,MACf8lB,GAA2B/xB,CAAI,CACnC,CACA,EACMoyB,GAAuB,IAAM,CACjCvc,IAAmBA,GAAgB,MAAM,MACzCkc,GAA2B,IAAI,CACjC,EASA,SAASpY,GAAoB1N,EAAU,CACrC,OAAOA,EAAS,MAAM,UAAY,CACpC,CACA,IAAIyK,GAAwB,GAC5B,SAASsR,GAAe/b,EAAUxC,EAAQ,GAAOqX,EAAY,GAAO,CAClErX,GAASuoB,GAAmBvoB,CAAK,EACjC,KAAM,CAAE,MAAAmH,EAAO,SAAAG,GAAa9E,EAAS,MAC/BwU,EAAa9G,GAAoB1N,CAAQ,EAC/CuU,GAAUvU,EAAU2E,EAAO6P,EAAYhX,CAAK,EAC5C2Z,GAAUnX,EAAU8E,EAAU+P,GAAarX,CAAK,EAChD,MAAM4oB,EAAc5R,EAAa6R,GAAuBrmB,EAAUxC,CAAK,EAAI,OAC3E,OAAAA,GAASuoB,GAAmB,EAAK,EAC1BK,CACT,CACA,SAASC,GAAuBrmB,EAAUxC,EAAO,CAE/C,MAAMmO,EAAY3L,EAAS,KAuB3BA,EAAS,YAA8B,OAAO,OAAO,IAAI,EACzDA,EAAS,MAAQ,IAAI,MAAMA,EAAS,IAAK+N,EAA2B,EAIpE,KAAM,CAAE,MAAAuY,CAAO,EAAG3a,EAClB,GAAI2a,EAAO,CACT3xB,KACA,MAAM4xB,EAAevmB,EAAS,aAAesmB,EAAM,OAAS,EAAIE,GAAmBxmB,CAAQ,EAAI,KACzFqK,EAAQC,GAAmBtK,CAAQ,EACnComB,EAAcrmB,GAClBumB,EACAtmB,EACA,EACA,CACgFA,EAAS,MACvFumB,CACD,CACP,EACUE,EAAen5B,GAAU84B,CAAW,EAM1C,GALAxxB,KACAyV,KACKoc,GAAgBzmB,EAAS,KAAO,CAAC6I,GAAe7I,CAAQ,GAC3DuI,GAAkBvI,CAAQ,EAExBymB,EAAc,CAEhB,GADAL,EAAY,KAAKD,GAAsBA,EAAoB,EACvD3oB,EACF,OAAO4oB,EAAY,KAAMM,GAAmB,CAC1CC,GAAkB3mB,EAAU0mB,EAAgBlpB,CAAK,CAC3D,CAAS,EAAE,MAAO/J,GAAM,CACdwM,GAAYxM,EAAGuM,EAAU,CAAC,CACpC,CAAS,EAEDA,EAAS,SAAWomB,CAQ5B,MACMO,GAAkB3mB,EAAUomB,EAAa5oB,CAAK,CAEpD,MACIopB,GAAqB5mB,EAAUxC,CAAK,CAExC,CACA,SAASmpB,GAAkB3mB,EAAUomB,EAAa5oB,EAAO,CACnDtQ,GAAWk5B,CAAW,EACpBpmB,EAAS,KAAK,kBAChBA,EAAS,UAAYomB,EAErBpmB,EAAS,OAASomB,EAEX/4B,GAAS+4B,CAAW,IAS7BpmB,EAAS,WAAapD,GAAUwpB,CAAW,GAS7CQ,GAAqB5mB,EAAUxC,CAAK,CACtC,CACA,IAAIqpB,GAWJ,SAASD,GAAqB5mB,EAAUxC,EAAOspB,EAAa,CAC1D,MAAMnb,EAAY3L,EAAS,KAC3B,GAAI,CAACA,EAAS,OAAQ,CACpB,GAAI,CAACxC,GAASqpB,IAAW,CAAClb,EAAU,OAAQ,CAC1C,MAAMob,EAAWpb,EAAU,UAAmCiC,GAAqB5N,CAAQ,EAAE,SAC7F,GAAI+mB,EAAU,CAIZ,KAAM,CAAE,gBAAAC,EAAiB,gBAAAC,CAAe,EAAKjnB,EAAS,WAAW,OAC3D,CAAE,WAAAknB,EAAY,gBAAiBC,CAAwB,EAAKxb,EAC5Dyb,EAAuB96B,GAC3BA,GACE,CACE,gBAAA06B,EACA,WAAAE,CACD,EACDD,CACD,EACDE,CACV,EACQxb,EAAU,OAASkb,GAAQE,EAAUK,CAAoB,CAI1D,CACF,CACDpnB,EAAS,OAAS2L,EAAU,QAAUzf,EAIvC,CACgC,CAC/B,MAAMme,EAAQC,GAAmBtK,CAAQ,EACzCrL,KACA,GAAI,CACFga,GAAa3O,CAAQ,CAC3B,QAAc,CACRpL,KACAyV,GACD,CACF,CAUH,CACA,MAAMgd,GAcF,CACF,IAAI7xB,EAAQ1J,EAAK,CACf,OAAAyJ,GAAMC,EAAQ,MAAO,EAAE,EAChBA,EAAO1J,CAAG,CAClB,CACH,EASA,SAAS06B,GAAmBxmB,EAAU,CACpC,MAAMmQ,EAAUc,GAAY,CAqB1BjR,EAAS,QAAUiR,GAAW,EAClC,EAiBI,MAAO,CACL,MAAO,IAAI,MAAMjR,EAAS,MAAOqnB,EAAkB,EACnD,MAAOrnB,EAAS,MAChB,KAAMA,EAAS,KACf,OAAAmQ,CACN,CAEA,CACA,SAAS9M,GAA2BrD,EAAU,CAC5C,OAAIA,EAAS,QACJA,EAAS,cAAgBA,EAAS,YAAc,IAAI,MAAMpD,GAAUX,GAAQ+D,EAAS,OAAO,CAAC,EAAG,CACrG,IAAIxK,EAAQ1J,EAAK,CACf,GAAIA,KAAO0J,EACT,OAAOA,EAAO1J,CAAG,EACZ,GAAIA,KAAO6hB,GAChB,OAAOA,GAAoB7hB,CAAG,EAAEkU,CAAQ,CAE3C,EACD,IAAIxK,EAAQ1J,EAAK,CACf,OAAOA,KAAO0J,GAAU1J,KAAO6hB,EAChC,CACF,IAEM3N,EAAS,KAEpB,CAGA,SAAS6L,GAAiBF,EAAW2b,EAAkB,GAAM,CAC3D,OAAOp6B,GAAWye,CAAS,EAAIA,EAAU,aAAeA,EAAU,KAAOA,EAAU,MAAQ2b,GAAmB3b,EAAU,MAC1H,CAuBA,SAAS6Y,GAAiBh3B,EAAO,CAC/B,OAAON,GAAWM,CAAK,GAAK,cAAeA,CAC7C,CAEA,MAAM0G,GAAW,CAACuJ,EAAiBC,IACvB6pB,GAAW9pB,EAAiBC,EAAc+M,EAAqB,EAU3E,SAAS4G,GAAE5b,EAAM+xB,EAAiB1iB,EAAU,CAC1C,MAAMjT,EAAI,UAAU,OACpB,OAAIA,IAAM,EACJxE,GAASm6B,CAAe,GAAK,CAAC36B,GAAQ26B,CAAe,EACnDla,GAAQka,CAAe,EAClBxa,EAAYvX,EAAM,KAAM,CAAC+xB,CAAe,CAAC,EAE3Cxa,EAAYvX,EAAM+xB,CAAe,EAEjCxa,EAAYvX,EAAM,KAAM+xB,CAAe,GAG5C31B,EAAI,EACNiT,EAAW,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,EACzCjT,IAAM,GAAKyb,GAAQxI,CAAQ,IACpCA,EAAW,CAACA,CAAQ,GAEfkI,EAAYvX,EAAM+xB,EAAiB1iB,CAAQ,EAEtD,CAgNA,MAAM0O,GAAU,SCnwQhB;AAAA;AAAA;AAAA;AAAA,GASA,IAAIiU,GACJ,MAAMC,GAAK,OAAO,OAAW,KAAe,OAAO,aACnD,GAAIA,GACF,GAAI,CACFD,GAAyBC,GAAG,aAAa,MAAO,CAC9C,WAAa37B,GAAQA,CAC3B,CAAK,CACF,MAAW,CAEX,CAEH,MAAM47B,GAAsBF,GAAU17B,GAAQ07B,GAAO,WAAW17B,CAAG,EAAKA,GAAQA,EAC1E67B,GAAQ,6BACRC,GAAW,qCACXC,GAAM,OAAO,SAAa,IAAc,SAAW,KACnDC,GAAoBD,IAAuBA,GAAI,cAAc,UAAU,EACvEE,GAAU,CACd,OAAQ,CAAChjB,EAAOuX,EAAQ5D,IAAW,CACjC4D,EAAO,aAAavX,EAAO2T,GAAU,IAAI,CAC1C,EACD,OAAS3T,GAAU,CACjB,MAAMuX,EAASvX,EAAM,WACjBuX,GACFA,EAAO,YAAYvX,CAAK,CAE3B,EACD,cAAe,CAACijB,EAAKnU,EAAWoU,EAAIvjB,IAAU,CAC5C,MAAMlY,EAAKqnB,IAAc,MAAQgU,GAAI,gBAAgBF,GAAOK,CAAG,EAAInU,IAAc,SAAWgU,GAAI,gBAAgBD,GAAUI,CAAG,EAAIC,EAAKJ,GAAI,cAAcG,EAAK,CAAE,GAAAC,CAAE,CAAE,EAAIJ,GAAI,cAAcG,CAAG,EAC5L,OAAIA,IAAQ,UAAYtjB,GAASA,EAAM,UAAY,MACjDlY,EAAG,aAAa,WAAYkY,EAAM,QAAQ,EAErClY,CACR,EACD,WAAay4B,GAAS4C,GAAI,eAAe5C,CAAI,EAC7C,cAAgBA,GAAS4C,GAAI,cAAc5C,CAAI,EAC/C,QAAS,CAACiD,EAAMjD,IAAS,CACvBiD,EAAK,UAAYjD,CAClB,EACD,eAAgB,CAACz4B,EAAIy4B,IAAS,CAC5Bz4B,EAAG,YAAcy4B,CAClB,EACD,WAAaiD,GAASA,EAAK,WAC3B,YAAcA,GAASA,EAAK,YAC5B,cAAgBC,GAAaN,GAAI,cAAcM,CAAQ,EACvD,WAAW37B,EAAI+U,EAAI,CACjB/U,EAAG,aAAa+U,EAAI,EAAE,CACvB,EAKD,oBAAoB6jB,EAAS9I,EAAQ5D,EAAQ7E,EAAWrS,EAAOC,EAAK,CAClE,MAAM2mB,EAAS1P,EAASA,EAAO,gBAAkB4D,EAAO,UACxD,GAAI9a,IAAUA,IAAUC,GAAOD,EAAM,aACnC,KACE8a,EAAO,aAAa9a,EAAM,UAAU,EAAI,EAAGkX,CAAM,EAC7C,EAAAlX,IAAUC,GAAO,EAAED,EAAQA,EAAM,eAArC,KAEG,CACLsmB,GAAkB,UAAYJ,GAC5B7T,IAAc,MAAQ,QAAQuR,CAAO,SAAWvR,IAAc,SAAW,SAASuR,CAAO,UAAYA,CAC7G,EACM,MAAM0B,EAAWgB,GAAkB,QACnC,GAAIjU,IAAc,OAASA,IAAc,SAAU,CACjD,MAAMwU,EAAUvB,EAAS,WACzB,KAAOuB,EAAQ,YACbvB,EAAS,YAAYuB,EAAQ,UAAU,EAEzCvB,EAAS,YAAYuB,CAAO,CAC7B,CACD/L,EAAO,aAAawK,EAAUpO,CAAM,CACrC,CACD,MAAO,CAEL0P,EAASA,EAAO,YAAc9L,EAAO,WAErC5D,EAASA,EAAO,gBAAkB4D,EAAO,SAC/C,CACG,CACH,EAEMgM,GAAa,aACbC,GAAY,YACZC,GAAS,OAAO,MAAM,EACtBC,GAA+B,CACnC,KAAM,OACN,KAAM,OACN,IAAK,CACH,KAAM,QACN,QAAS,EACV,EACD,SAAU,CAAC,OAAQ,OAAQ,MAAM,EACjC,eAAgB,OAChB,iBAAkB,OAClB,aAAc,OACd,gBAAiB,OACjB,kBAAmB,OACnB,cAAe,OACf,eAAgB,OAChB,iBAAkB,OAClB,aAAc,MAChB,EACMC,GAA4Cr8B,GAChD,CAAE,EACFiY,GACAmkB,EACF,EACME,GAAcC,IAClBA,EAAE,YAAc,aAChBA,EAAE,MAAQF,GACHE,GAEHC,GAA6BF,GACjC,CAACjkB,EAAO,CAAE,MAAAC,KAAYyM,GAAElL,GAAgB4iB,GAAuBpkB,CAAK,EAAGC,CAAK,CAC9E,EACMwC,GAAW,CAACvD,EAAM9M,EAAO,KAAO,CAChClK,GAAQgX,CAAI,EACdA,EAAK,QAASmlB,GAAOA,EAAG,GAAGjyB,CAAI,CAAC,EACvB8M,GACTA,EAAK,GAAG9M,CAAI,CAEhB,EACMkyB,GAAuBplB,GACpBA,EAAOhX,GAAQgX,CAAI,EAAIA,EAAK,KAAMmlB,GAAOA,EAAG,OAAS,CAAC,EAAInlB,EAAK,OAAS,EAAI,GAErF,SAASklB,GAAuB7jB,EAAU,CACxC,MAAMgkB,EAAY,GAClB,UAAWp9B,KAAOoZ,EACVpZ,KAAO48B,KACXQ,EAAUp9B,CAAG,EAAIoZ,EAASpZ,CAAG,GAGjC,GAAIoZ,EAAS,MAAQ,GACnB,OAAOgkB,EAET,KAAM,CACJ,KAAAj5B,EAAO,IACP,KAAAwF,EACA,SAAA0zB,EACA,eAAAC,EAAiB,GAAGn5B,CAAI,cACxB,iBAAAo5B,EAAmB,GAAGp5B,CAAI,gBAC1B,aAAAq5B,EAAe,GAAGr5B,CAAI,YACtB,gBAAAs5B,EAAkBH,EAClB,kBAAAI,EAAoBH,EACpB,cAAAI,EAAgBH,EAChB,eAAAI,EAAiB,GAAGz5B,CAAI,cACxB,iBAAA05B,EAAmB,GAAG15B,CAAI,gBAC1B,aAAA25B,EAAe,GAAG35B,CAAI,WACvB,EAAGiV,EACE2kB,EAAYC,GAAkBX,CAAQ,EACtCY,EAAgBF,GAAaA,EAAU,CAAC,EACxCG,EAAgBH,GAAaA,EAAU,CAAC,EACxC,CACJ,cAAArjB,EACA,QAAAC,EACA,iBAAAE,EACA,QAAAE,EACA,iBAAAE,EACA,eAAAC,GAAiBR,EACjB,SAAAS,GAAWR,EACX,kBAAAU,GAAoBR,CACrB,EAAGuiB,EACEe,GAAc,CAACx9B,EAAIy9B,EAAU5vB,EAAM6vB,IAAgB,CACvD19B,EAAG,gBAAkB09B,EACrBC,GAAsB39B,EAAIy9B,EAAWT,EAAgBH,CAAY,EACjEc,GAAsB39B,EAAIy9B,EAAWV,EAAoBH,CAAgB,EACzE/uB,GAAQA,EAAI,CAChB,EACQ+vB,GAAc,CAAC59B,EAAI6N,IAAS,CAChC7N,EAAG,WAAa,GAChB29B,GAAsB39B,EAAIi9B,CAAc,EACxCU,GAAsB39B,EAAIm9B,CAAY,EACtCQ,GAAsB39B,EAAIk9B,CAAgB,EAC1CrvB,GAAQA,EAAI,CAChB,EACQgwB,EAAiBJ,GACd,CAACz9B,EAAI6N,IAAS,CACnB,MAAMuJ,EAAOqmB,EAAWjjB,GAAWR,EAC7BqF,EAAU,IAAMme,GAAYx9B,EAAIy9B,EAAU5vB,CAAI,EACpD8M,GAASvD,EAAM,CAACpX,EAAIqf,CAAO,CAAC,EAC5Bye,GAAU,IAAM,CACdH,GAAsB39B,EAAIy9B,EAAWX,EAAkBH,CAAc,EACrEoB,GAAmB/9B,EAAIy9B,EAAWT,EAAgBH,CAAY,EACzDL,GAAoBplB,CAAI,GAC3B4mB,GAAmBh+B,EAAIgJ,EAAMs0B,EAAeje,CAAO,CAE7D,CAAO,CACP,EAEE,OAAOxf,GAAO48B,EAAW,CACvB,cAAcz8B,EAAI,CAChB2a,GAASZ,EAAe,CAAC/Z,CAAE,CAAC,EAC5B+9B,GAAmB/9B,EAAI28B,CAAc,EACrCoB,GAAmB/9B,EAAI48B,CAAgB,CACxC,EACD,eAAe58B,EAAI,CACjB2a,GAASJ,GAAgB,CAACva,CAAE,CAAC,EAC7B+9B,GAAmB/9B,EAAI88B,CAAe,EACtCiB,GAAmB/9B,EAAI+8B,CAAiB,CACzC,EACD,QAASc,EAAc,EAAK,EAC5B,SAAUA,EAAc,EAAI,EAC5B,QAAQ79B,EAAI6N,EAAM,CAChB7N,EAAG,WAAa,GAChB,MAAMqf,EAAU,IAAMue,GAAY59B,EAAI6N,CAAI,EAC1CkwB,GAAmB/9B,EAAIi9B,CAAc,EAChCj9B,EAAG,iBAIN+9B,GAAmB/9B,EAAIk9B,CAAgB,EACvCe,OAJAA,KACAF,GAAmB/9B,EAAIk9B,CAAgB,GAKzCY,GAAU,IAAM,CACT99B,EAAG,aAGR29B,GAAsB39B,EAAIi9B,CAAc,EACxCc,GAAmB/9B,EAAIm9B,CAAY,EAC9BX,GAAoBpiB,CAAO,GAC9B4jB,GAAmBh+B,EAAIgJ,EAAMu0B,EAAele,CAAO,EAE7D,CAAO,EACD1E,GAASP,EAAS,CAACpa,EAAIqf,CAAO,CAAC,CAChC,EACD,iBAAiBrf,EAAI,CACnBw9B,GAAYx9B,EAAI,GAAO,OAAQ,EAAI,EACnC2a,GAAST,EAAkB,CAACla,CAAE,CAAC,CAChC,EACD,kBAAkBA,EAAI,CACpBw9B,GAAYx9B,EAAI,GAAM,OAAQ,EAAI,EAClC2a,GAASD,GAAmB,CAAC1a,CAAE,CAAC,CACjC,EACD,iBAAiBA,EAAI,CACnB49B,GAAY59B,CAAE,EACd2a,GAASL,EAAkB,CAACta,CAAE,CAAC,CAChC,CACL,CAAG,CACH,CACA,SAASq9B,GAAkBX,EAAU,CACnC,GAAIA,GAAY,KACd,OAAO,KACF,GAAI97B,GAAS87B,CAAQ,EAC1B,MAAO,CAACwB,GAASxB,EAAS,KAAK,EAAGwB,GAASxB,EAAS,KAAK,CAAC,EACrD,CACL,MAAMl6B,EAAI07B,GAASxB,CAAQ,EAC3B,MAAO,CAACl6B,EAAGA,CAAC,CACb,CACH,CACA,SAAS07B,GAAS5+B,EAAK,CAKrB,OAJYmD,GAASnD,CAAG,CAK1B,CACA,SAASy+B,GAAmB/9B,EAAIm+B,EAAK,CACnCA,EAAI,MAAM,KAAK,EAAE,QAASz8B,GAAMA,GAAK1B,EAAG,UAAU,IAAI0B,CAAC,CAAC,GACvD1B,EAAGg8B,EAAM,IAAMh8B,EAAGg8B,EAAM,EAAoB,IAAI,MAAQ,IAAImC,CAAG,CAClE,CACA,SAASR,GAAsB39B,EAAIm+B,EAAK,CACtCA,EAAI,MAAM,KAAK,EAAE,QAASz8B,GAAMA,GAAK1B,EAAG,UAAU,OAAO0B,CAAC,CAAC,EAC3D,MAAM08B,EAAOp+B,EAAGg8B,EAAM,EAClBoC,IACFA,EAAK,OAAOD,CAAG,EACVC,EAAK,OACRp+B,EAAGg8B,EAAM,EAAI,QAGnB,CACA,SAAS8B,GAAUnsB,EAAI,CACrB,sBAAsB,IAAM,CAC1B,sBAAsBA,CAAE,CAC5B,CAAG,CACH,CACA,IAAI0sB,GAAQ,EACZ,SAASL,GAAmBh+B,EAAIs+B,EAAcC,EAAiBlf,EAAS,CACtE,MAAMtK,EAAK/U,EAAG,OAAS,EAAEq+B,GACnBG,EAAoB,IAAM,CAC1BzpB,IAAO/U,EAAG,QACZqf,GAEN,EACE,GAAIkf,GAAmB,KACrB,OAAO,WAAWC,EAAmBD,CAAe,EAEtD,KAAM,CAAE,KAAAv1B,EAAM,QAAAy1B,EAAS,UAAAC,CAAW,EAAGC,GAAkB3+B,EAAIs+B,CAAY,EACvE,GAAI,CAACt1B,EACH,OAAOqW,EAAO,EAEhB,MAAMuf,EAAW51B,EAAO,MACxB,IAAI61B,EAAQ,EACZ,MAAM5pB,EAAM,IAAM,CAChBjV,EAAG,oBAAoB4+B,EAAUE,CAAK,EACtCN,GACJ,EACQM,EAAS93B,GAAM,CACfA,EAAE,SAAWhH,GAAM,EAAE6+B,GAASH,GAChCzpB,GAEN,EACE,WAAW,IAAM,CACX4pB,EAAQH,GACVzpB,GAEN,EAAKwpB,EAAU,CAAC,EACdz+B,EAAG,iBAAiB4+B,EAAUE,CAAK,CACrC,CACA,SAASH,GAAkB3+B,EAAIs+B,EAAc,CAC3C,MAAMS,EAAS,OAAO,iBAAiB/+B,CAAE,EACnCg/B,EAAsB3/B,IAAS0/B,EAAO1/B,CAAG,GAAK,IAAI,MAAM,IAAI,EAC5D4/B,EAAmBD,EAAmB,GAAGlD,EAAU,OAAO,EAC1DoD,EAAsBF,EAAmB,GAAGlD,EAAU,UAAU,EAChEqD,EAAoBC,GAAWH,EAAkBC,CAAmB,EACpEG,EAAkBL,EAAmB,GAAGjD,EAAS,OAAO,EACxDuD,EAAqBN,EAAmB,GAAGjD,EAAS,UAAU,EAC9DwD,EAAmBH,GAAWC,EAAiBC,CAAkB,EACvE,IAAIt2B,EAAO,KACPy1B,EAAU,EACVC,EAAY,EACZJ,IAAiBxC,GACfqD,EAAoB,IACtBn2B,EAAO8yB,GACP2C,EAAUU,EACVT,EAAYQ,EAAoB,QAEzBZ,IAAiBvC,GACtBwD,EAAmB,IACrBv2B,EAAO+yB,GACP0C,EAAUc,EACVb,EAAYY,EAAmB,SAGjCb,EAAU,KAAK,IAAIU,EAAmBI,CAAgB,EACtDv2B,EAAOy1B,EAAU,EAAIU,EAAoBI,EAAmBzD,GAAaC,GAAY,KACrF2C,EAAY11B,EAAOA,IAAS8yB,GAAaoD,EAAoB,OAASI,EAAmB,OAAS,GAEpG,MAAME,EAAex2B,IAAS8yB,IAAc,yBAAyB,KACnEkD,EAAmB,GAAGlD,EAAU,UAAU,EAAE,SAAU,CAC1D,EACE,MAAO,CACL,KAAA9yB,EACA,QAAAy1B,EACA,UAAAC,EACA,aAAAc,CACJ,CACA,CACA,SAASJ,GAAWK,EAAQrC,EAAW,CACrC,KAAOqC,EAAO,OAASrC,EAAU,QAC/BqC,EAASA,EAAO,OAAOA,CAAM,EAE/B,OAAO,KAAK,IAAI,GAAGrC,EAAU,IAAI,CAACsC,EAAGz/B,IAAM0/B,GAAKD,CAAC,EAAIC,GAAKF,EAAOx/B,CAAC,CAAC,CAAC,CAAC,CACvE,CACA,SAAS0/B,GAAKjtB,EAAG,CACf,OAAIA,IAAM,OAAe,EAClB,OAAOA,EAAE,MAAM,EAAG,EAAE,EAAE,QAAQ,IAAK,GAAG,CAAC,EAAI,GACpD,CACA,SAASurB,IAAc,CACrB,OAAO,SAAS,KAAK,YACvB,CAEA,SAAS2B,GAAW5/B,EAAIe,EAAO8+B,EAAO,CACpC,MAAMC,EAAoB9/B,EAAGg8B,EAAM,EAC/B8D,IACF/+B,GAASA,EAAQ,CAACA,EAAO,GAAG++B,CAAiB,EAAI,CAAC,GAAGA,CAAiB,GAAG,KAAK,GAAG,GAE/E/+B,GAAS,KACXf,EAAG,gBAAgB,OAAO,EACjB6/B,EACT7/B,EAAG,aAAa,QAASe,CAAK,EAE9Bf,EAAG,UAAYe,CAEnB,CAEA,MAAMg/B,GAAuB,OAAO,MAAM,EACpCC,GAAc,OAAO,MAAM,EAC3BC,GAAQ,CACZ,YAAYjgC,EAAI,CAAE,MAAAe,CAAK,EAAI,CAAE,WAAAusB,CAAU,EAAI,CACzCttB,EAAG+/B,EAAoB,EAAI//B,EAAG,MAAM,UAAY,OAAS,GAAKA,EAAG,MAAM,QACnEstB,GAAcvsB,EAChBusB,EAAW,YAAYttB,CAAE,EAEzBkgC,GAAWlgC,EAAIe,CAAK,CAEvB,EACD,QAAQf,EAAI,CAAE,MAAAe,CAAK,EAAI,CAAE,WAAAusB,CAAU,EAAI,CACjCA,GAAcvsB,GAChBusB,EAAW,MAAMttB,CAAE,CAEtB,EACD,QAAQA,EAAI,CAAE,MAAAe,EAAO,SAAAiB,CAAU,EAAE,CAAE,WAAAsrB,GAAc,CAC3C,CAACvsB,GAAU,CAACiB,IACZsrB,EACEvsB,GACFusB,EAAW,YAAYttB,CAAE,EACzBkgC,GAAWlgC,EAAI,EAAI,EACnBstB,EAAW,MAAMttB,CAAE,GAEnBstB,EAAW,MAAMttB,EAAI,IAAM,CACzBkgC,GAAWlgC,EAAI,EAAK,CAC9B,CAAS,EAGHkgC,GAAWlgC,EAAIe,CAAK,EAEvB,EACD,cAAcf,EAAI,CAAE,MAAAe,GAAS,CAC3Bm/B,GAAWlgC,EAAIe,CAAK,CACrB,CACH,EAIA,SAASm/B,GAAWlgC,EAAIe,EAAO,CAC7Bf,EAAG,MAAM,QAAUe,EAAQf,EAAG+/B,EAAoB,EAAI,OACtD//B,EAAGggC,EAAW,EAAI,CAACj/B,CACrB,CASA,MAAMo/B,GAAe,OAAoE,EAAE,EAwErFC,GAAY,sBAClB,SAASC,GAAWrgC,EAAIsH,EAAML,EAAM,CAClC,MAAMixB,EAAQl4B,EAAG,MACXsgC,EAAc5/B,GAASuG,CAAI,EACjC,IAAIs5B,EAAuB,GAC3B,GAAIt5B,GAAQ,CAACq5B,EAAa,CACxB,GAAIh5B,EACF,GAAK5G,GAAS4G,CAAI,EAOhB,UAAWk5B,KAAal5B,EAAK,MAAM,GAAG,EAAG,CACvC,MAAMjI,EAAMmhC,EAAU,MAAM,EAAGA,EAAU,QAAQ,GAAG,CAAC,EAAE,OACnDv5B,EAAK5H,CAAG,GAAK,MACfohC,GAASvI,EAAO74B,EAAK,EAAE,CAE1B,KAXD,WAAWA,KAAOiI,EACZL,EAAK5H,CAAG,GAAK,MACfohC,GAASvI,EAAO74B,EAAK,EAAE,EAY/B,UAAWA,KAAO4H,EACZ5H,IAAQ,YACVkhC,EAAuB,IAEzBE,GAASvI,EAAO74B,EAAK4H,EAAK5H,CAAG,CAAC,CAEpC,SACQihC,GACF,GAAIh5B,IAASL,EAAM,CACjB,MAAMy5B,EAAaxI,EAAMiI,EAAY,EACjCO,IACFz5B,GAAQ,IAAMy5B,GAEhBxI,EAAM,QAAUjxB,EAChBs5B,EAAuBH,GAAU,KAAKn5B,CAAI,CAC3C,OACQK,GACTtH,EAAG,gBAAgB,OAAO,EAG1B+/B,MAAwB//B,IAC1BA,EAAG+/B,EAAoB,EAAIQ,EAAuBrI,EAAM,QAAU,GAC9Dl4B,EAAGggC,EAAW,IAChB9H,EAAM,QAAU,QAGtB,CAEA,MAAMyI,GAAc,iBACpB,SAASF,GAASvI,EAAO10B,EAAMlE,EAAK,CAClC,GAAIc,GAAQd,CAAG,EACbA,EAAI,QAASyF,GAAM07B,GAASvI,EAAO10B,EAAMuB,CAAC,CAAC,UAEvCzF,GAAO,OAAMA,EAAM,IAQnBkE,EAAK,WAAW,IAAI,EACtB00B,EAAM,YAAY10B,EAAMlE,CAAG,MACtB,CACL,MAAMshC,EAAWC,GAAW3I,EAAO10B,CAAI,EACnCm9B,GAAY,KAAKrhC,CAAG,EACtB44B,EAAM,YACJt2B,GAAUg/B,CAAQ,EAClBthC,EAAI,QAAQqhC,GAAa,EAAE,EAC3B,WACV,EAEQzI,EAAM0I,CAAQ,EAAIthC,CAErB,CAEL,CACA,MAAMwhC,GAAW,CAAC,SAAU,MAAO,IAAI,EACjCC,GAAc,GACpB,SAASF,GAAW3I,EAAO8I,EAAS,CAClC,MAAMvhB,EAASshB,GAAYC,CAAO,EAClC,GAAIvhB,EACF,OAAOA,EAET,IAAIjc,EAAOhC,GAASw/B,CAAO,EAC3B,GAAIx9B,IAAS,UAAYA,KAAQ00B,EAC/B,OAAO6I,GAAYC,CAAO,EAAIx9B,EAEhCA,EAAO3B,GAAW2B,CAAI,EACtB,QAASvD,EAAI,EAAGA,EAAI6gC,GAAS,OAAQ7gC,IAAK,CACxC,MAAM2gC,EAAWE,GAAS7gC,CAAC,EAAIuD,EAC/B,GAAIo9B,KAAY1I,EACd,OAAO6I,GAAYC,CAAO,EAAIJ,CAEjC,CACD,OAAOI,CACT,CAEA,MAAMC,GAAU,+BAChB,SAASC,GAAUlhC,EAAIX,EAAK0B,EAAO8+B,EAAOtsB,EAAU4tB,EAAYz9B,GAAqBrE,CAAG,EAAG,CACrFwgC,GAASxgC,EAAI,WAAW,QAAQ,EAC9B0B,GAAS,KACXf,EAAG,kBAAkBihC,GAAS5hC,EAAI,MAAM,EAAGA,EAAI,MAAM,CAAC,EAEtDW,EAAG,eAAeihC,GAAS5hC,EAAK0B,CAAK,EAGnCA,GAAS,MAAQogC,GAAa,CAACx9B,GAAmB5C,CAAK,EACzDf,EAAG,gBAAgBX,CAAG,EAEtBW,EAAG,aACDX,EACA8hC,EAAY,GAAKxgC,GAASI,CAAK,EAAI,OAAOA,CAAK,EAAIA,CAC3D,CAGA,CAEA,SAASqgC,GAAaphC,EAAIX,EAAK0B,EAAOorB,EAAiBkV,EAAU,CAC/D,GAAIhiC,IAAQ,aAAeA,IAAQ,cAAe,CAC5C0B,GAAS,OACXf,EAAGX,CAAG,EAAIA,IAAQ,YAAc67B,GAAoBn6B,CAAK,EAAIA,GAE/D,MACD,CACD,MAAMy6B,EAAMx7B,EAAG,QACf,GAAIX,IAAQ,SAAWm8B,IAAQ,YAC/B,CAACA,EAAI,SAAS,GAAG,EAAG,CAClB,MAAMx5B,EAAWw5B,IAAQ,SAAWx7B,EAAG,aAAa,OAAO,GAAK,GAAKA,EAAG,MAClEmJ,EAAWpI,GAAS,KAGxBf,EAAG,OAAS,WAAa,KAAO,GAC9B,OAAOe,CAAK,GACZiB,IAAamH,GAAY,EAAE,WAAYnJ,MACzCA,EAAG,MAAQmJ,GAETpI,GAAS,MACXf,EAAG,gBAAgBX,CAAG,EAExBW,EAAG,OAASe,EACZ,MACD,CACD,IAAIugC,EAAa,GACjB,GAAIvgC,IAAU,IAAMA,GAAS,KAAM,CACjC,MAAMiI,EAAO,OAAOhJ,EAAGX,CAAG,EACtB2J,IAAS,UACXjI,EAAQ4C,GAAmB5C,CAAK,EACvBA,GAAS,MAAQiI,IAAS,UACnCjI,EAAQ,GACRugC,EAAa,IACJt4B,IAAS,WAClBjI,EAAQ,EACRugC,EAAa,GAEhB,CACD,GAAI,CACFthC,EAAGX,CAAG,EAAI0B,CACX,MAAW,CAOX,CACDugC,GAActhC,EAAG,gBAAgBqhC,GAAYhiC,CAAG,CAClD,CAEA,SAASkiC,GAAiBvhC,EAAIq1B,EAAOvQ,EAASlT,EAAS,CACrD5R,EAAG,iBAAiBq1B,EAAOvQ,EAASlT,CAAO,CAC7C,CACA,SAAS4vB,GAAoBxhC,EAAIq1B,EAAOvQ,EAASlT,EAAS,CACxD5R,EAAG,oBAAoBq1B,EAAOvQ,EAASlT,CAAO,CAChD,CACA,MAAM6vB,GAAS,OAAO,MAAM,EAC5B,SAASC,GAAW1hC,EAAIghC,EAASW,EAAWC,EAAWruB,EAAW,KAAM,CACtE,MAAMsuB,EAAW7hC,EAAGyhC,EAAM,IAAMzhC,EAAGyhC,EAAM,EAAI,IACvCK,EAAkBD,EAASb,CAAO,EACxC,GAAIY,GAAaE,EACfA,EAAgB,MAA6FF,MACxG,CACL,KAAM,CAACp+B,EAAMoO,CAAO,EAAImwB,GAAUf,CAAO,EACzC,GAAIY,EAAW,CACb,MAAMI,EAAUH,EAASb,CAAO,EAAIiB,GACmDL,EACrFruB,CACR,EACMguB,GAAiBvhC,EAAIwD,EAAMw+B,EAASpwB,CAAO,CAC5C,MAAUkwB,IACTN,GAAoBxhC,EAAIwD,EAAMs+B,EAAiBlwB,CAAO,EACtDiwB,EAASb,CAAO,EAAI,OAEvB,CACH,CACA,MAAMkB,GAAoB,4BAC1B,SAASH,GAAUv+B,EAAM,CACvB,IAAIoO,EACJ,GAAIswB,GAAkB,KAAK1+B,CAAI,EAAG,CAChCoO,EAAU,GACV,IAAIyT,EACJ,KAAOA,EAAI7hB,EAAK,MAAM0+B,EAAiB,GACrC1+B,EAAOA,EAAK,MAAM,EAAGA,EAAK,OAAS6hB,EAAE,CAAC,EAAE,MAAM,EAC9CzT,EAAQyT,EAAE,CAAC,EAAE,YAAa,GAAI,EAEjC,CAED,MAAO,CADO7hB,EAAK,CAAC,IAAM,IAAMA,EAAK,MAAM,CAAC,EAAI5B,GAAU4B,EAAK,MAAM,CAAC,CAAC,EACxDoO,CAAO,CACxB,CACA,IAAIuwB,GAAY,EAChB,MAAMttB,GAAoB,QAAQ,UAC5ButB,GAAS,IAAMD,KAActtB,GAAE,KAAK,IAAMstB,GAAY,CAAC,EAAGA,GAAY,KAAK,IAAK,GACtF,SAASF,GAAcI,EAAc9uB,EAAU,CAC7C,MAAMyuB,EAAWh7B,GAAM,CACrB,GAAI,CAACA,EAAE,KACLA,EAAE,KAAO,KAAK,cACLA,EAAE,MAAQg7B,EAAQ,SAC3B,OAEFvuB,GACE6uB,GAA8Bt7B,EAAGg7B,EAAQ,KAAK,EAC9CzuB,EACA,EACA,CAACvM,CAAC,CACR,CACA,EACE,OAAAg7B,EAAQ,MAAQK,EAChBL,EAAQ,SAAWI,KACZJ,CACT,CAWA,SAASM,GAA8Bt7B,EAAGjG,EAAO,CAC/C,GAAIX,GAAQW,CAAK,EAAG,CAClB,MAAMwhC,EAAev7B,EAAE,yBACvB,OAAAA,EAAE,yBAA2B,IAAM,CACjCu7B,EAAa,KAAKv7B,CAAC,EACnBA,EAAE,SAAW,EACnB,EACWjG,EAAM,IACVM,GAAQswB,GAAO,CAACA,EAAG,UAAYtwB,GAAMA,EAAGswB,CAAE,CACjD,CACA,KACI,QAAO5wB,CAEX,CAEA,MAAMyhC,GAAcnjC,GAAQA,EAAI,WAAW,CAAC,IAAM,KAAOA,EAAI,WAAW,CAAC,IAAM,KAC/EA,EAAI,WAAW,CAAC,EAAI,IAAMA,EAAI,WAAW,CAAC,EAAI,IACxCojC,GAAY,CAACziC,EAAIX,EAAKsiC,EAAWC,EAAWva,EAAW8E,IAAoB,CAC/E,MAAM0T,EAAQxY,IAAc,MACxBhoB,IAAQ,QACVugC,GAAW5/B,EAAI4hC,EAAW/B,CAAK,EACtBxgC,IAAQ,QACjBghC,GAAWrgC,EAAI2hC,EAAWC,CAAS,EAC1BjiC,GAAKN,CAAG,EACZO,GAAgBP,CAAG,GACtBqiC,GAAW1hC,EAAIX,EAAKsiC,EAAWC,EAAWzV,CAAe,GAElD9sB,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAQA,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAASqjC,GAAgB1iC,EAAIX,EAAKuiC,EAAW/B,CAAK,IAC/IuB,GAAaphC,EAAIX,EAAKuiC,CAAS,EAC3B,CAAC5hC,EAAG,QAAQ,SAAS,GAAG,IAAMX,IAAQ,SAAWA,IAAQ,WAAaA,IAAQ,aAChF6hC,GAAUlhC,EAAIX,EAAKuiC,EAAW/B,EAAO1T,EAAiB9sB,IAAQ,OAAO,GAIvEW,EAAG,WAAa,QAAQ,KAAKX,CAAG,GAAK,CAACqB,GAASkhC,CAAS,GAExDR,GAAaphC,EAAI2iC,GAAWtjC,CAAG,EAAGuiC,EAAWzV,EAAiB9sB,CAAG,GAE7DA,IAAQ,aACVW,EAAG,WAAa4hC,EACPviC,IAAQ,gBACjBW,EAAG,YAAc4hC,GAEnBV,GAAUlhC,EAAIX,EAAKuiC,EAAW/B,CAAK,EAEvC,EACA,SAAS6C,GAAgB1iC,EAAIX,EAAK0B,EAAO8+B,EAAO,CAC9C,GAAIA,EAIF,MAHI,GAAAxgC,IAAQ,aAAeA,IAAQ,eAG/BA,KAAOW,GAAMwiC,GAAWnjC,CAAG,GAAKoB,GAAWM,CAAK,GActD,GATI1B,IAAQ,cAAgBA,IAAQ,aAAeA,IAAQ,aAAeA,IAAQ,eAG9EA,IAAQ,QAGRA,IAAQ,QAAUW,EAAG,UAAY,SAGjCX,IAAQ,QAAUW,EAAG,UAAY,WACnC,MAAO,GAET,GAAIX,IAAQ,SAAWA,IAAQ,SAAU,CACvC,MAAMm8B,EAAMx7B,EAAG,QACf,GAAIw7B,IAAQ,OAASA,IAAQ,SAAWA,IAAQ,UAAYA,IAAQ,SAClE,MAAO,EAEV,CACD,OAAIgH,GAAWnjC,CAAG,GAAKqB,GAASK,CAAK,EAC5B,GAEF1B,KAAOW,CAChB,CA2bA,MAAM4iC,GAA8B,IAAI,QAClCC,GAAiC,IAAI,QACrCC,GAAY,OAAO,SAAS,EAC5BtrB,GAAa,OAAO,UAAU,EAC9BurB,GAAY3G,IAChB,OAAOA,EAAE,MAAM,KACRA,GAEH4G,GAAsCD,GAAS,CACnD,KAAM,kBACN,MAAuBljC,GAAO,CAAE,EAAEq8B,GAA2B,CAC3D,IAAK,OACL,UAAW,MACf,CAAG,EACD,MAAMhkB,EAAO,CAAE,MAAAC,GAAS,CACtB,MAAM5E,EAAW6E,KACXV,EAAQD,KACd,IAAI4e,EACAhe,EACJ,OAAA8F,GAAU,IAAM,CACd,GAAI,CAACkY,EAAa,OAChB,OAEF,MAAM4M,EAAY/qB,EAAM,WAAa,GAAGA,EAAM,MAAQ,GAAG,QACzD,GAAI,CAACgrB,GACH7M,EAAa,CAAC,EAAE,GAChB9iB,EAAS,MAAM,GACf0vB,CACR,EAAS,CACD5M,EAAe,GACf,MACD,CACDA,EAAa,QAAQ8M,EAAc,EACnC9M,EAAa,QAAQ+M,EAAc,EACnC,MAAMC,EAAgBhN,EAAa,OAAOiN,EAAgB,EAC1DrF,KACAoF,EAAc,QAAS3hC,GAAM,CAC3B,MAAM1B,EAAK0B,EAAE,GACPw2B,EAAQl4B,EAAG,MACjB+9B,GAAmB/9B,EAAIijC,CAAS,EAChC/K,EAAM,UAAYA,EAAM,gBAAkBA,EAAM,mBAAqB,GACrE,MAAMvmB,EAAK3R,EAAG8iC,EAAS,EAAK97B,GAAM,CAC5BA,GAAKA,EAAE,SAAWhH,IAGlB,CAACgH,GAAK,aAAa,KAAKA,EAAE,YAAY,KACxChH,EAAG,oBAAoB,gBAAiB2R,CAAE,EAC1C3R,EAAG8iC,EAAS,EAAI,KAChBnF,GAAsB39B,EAAIijC,CAAS,EAE/C,EACQjjC,EAAG,iBAAiB,gBAAiB2R,CAAE,CAC/C,CAAO,EACD0kB,EAAe,EACrB,CAAK,EACM,IAAM,CACX,MAAM5d,EAAWzO,GAAMkO,CAAK,EACtBqrB,EAAqBjH,GAAuB7jB,CAAQ,EAC1D,IAAI+iB,EAAM/iB,EAAS,KAAOkD,GAE1B,GADA0a,EAAe,GACXhe,EACF,QAASpY,EAAI,EAAGA,EAAIoY,EAAS,OAAQpY,IAAK,CACxC,MAAMsY,EAAQF,EAASpY,CAAC,EACpBsY,EAAM,IAAMA,EAAM,cAAc,UAClC8d,EAAa,KAAK9d,CAAK,EACvBW,GACEX,EACAQ,GACER,EACAgrB,EACA7rB,EACAnE,CACD,CACf,EACYqvB,GAAY,IACVrqB,EACAA,EAAM,GAAG,sBAAuB,CAC9C,EAES,CAEHF,EAAWF,EAAM,QAAUG,GAAyBH,EAAM,QAAO,CAAE,EAAI,GACvE,QAASlY,EAAI,EAAGA,EAAIoY,EAAS,OAAQpY,IAAK,CACxC,MAAMsY,EAAQF,EAASpY,CAAC,EACpBsY,EAAM,KAAO,MACfW,GACEX,EACAQ,GAAuBR,EAAOgrB,EAAoB7rB,EAAOnE,CAAQ,CAC7E,CAIO,CACD,OAAOgN,EAAYib,EAAK,KAAMnjB,CAAQ,CAC5C,CACG,CACH,CAAC,EACKmrB,GAAkBR,GACxB,SAASG,GAAezhC,EAAG,CACzB,MAAM1B,EAAK0B,EAAE,GACT1B,EAAG8iC,EAAS,GACd9iC,EAAG8iC,EAAS,IAEV9iC,EAAGwX,EAAU,GACfxX,EAAGwX,EAAU,GAEjB,CACA,SAAS4rB,GAAe1hC,EAAG,CACzBmhC,GAAe,IAAInhC,EAAGA,EAAE,GAAG,sBAAqB,CAAE,CACpD,CACA,SAAS4hC,GAAiB5hC,EAAG,CAC3B,MAAM+hC,EAASb,GAAY,IAAIlhC,CAAC,EAC1BgiC,EAASb,GAAe,IAAInhC,CAAC,EAC7BiiC,EAAKF,EAAO,KAAOC,EAAO,KAC1BE,EAAKH,EAAO,IAAMC,EAAO,IAC/B,GAAIC,GAAMC,EAAI,CACZ,MAAMlxB,EAAIhR,EAAE,GAAG,MACf,OAAAgR,EAAE,UAAYA,EAAE,gBAAkB,aAAaixB,CAAE,MAAMC,CAAE,MACzDlxB,EAAE,mBAAqB,KAChBhR,CACR,CACH,CACA,SAASwhC,GAAgBljC,EAAIuwB,EAAM0S,EAAW,CAC5C,MAAMY,EAAQ7jC,EAAG,YACXo+B,EAAOp+B,EAAGg8B,EAAM,EAClBoC,GACFA,EAAK,QAASD,GAAQ,CACpBA,EAAI,MAAM,KAAK,EAAE,QAASz8B,GAAMA,GAAKmiC,EAAM,UAAU,OAAOniC,CAAC,CAAC,CACpE,CAAK,EAEHuhC,EAAU,MAAM,KAAK,EAAE,QAASvhC,GAAMA,GAAKmiC,EAAM,UAAU,IAAIniC,CAAC,CAAC,EACjEmiC,EAAM,MAAM,QAAU,OACtB,MAAM5X,EAAYsE,EAAK,WAAa,EAAIA,EAAOA,EAAK,WACpDtE,EAAU,YAAY4X,CAAK,EAC3B,KAAM,CAAE,aAAArE,CAAY,EAAKb,GAAkBkF,CAAK,EAChD,OAAA5X,EAAU,YAAY4X,CAAK,EACpBrE,CACT,CAEA,MAAMsE,GAAoBptB,GAAU,CAClC,MAAMrV,EAAKqV,EAAM,MAAM,qBAAqB,GAAK,GACjD,OAAOtW,GAAQiB,CAAE,EAAKN,GAAUkB,GAAeZ,EAAIN,CAAK,EAAIM,CAC9D,EACA,SAAS0iC,GAAmB/8B,EAAG,CAC7BA,EAAE,OAAO,UAAY,EACvB,CACA,SAASg9B,GAAiBh9B,EAAG,CAC3B,MAAM+B,EAAS/B,EAAE,OACb+B,EAAO,YACTA,EAAO,UAAY,GACnBA,EAAO,cAAc,IAAI,MAAM,OAAO,CAAC,EAE3C,CACA,MAAMk7B,GAAY,OAAO,SAAS,EAC5BC,GAAa,CACjB,QAAQlkC,EAAI,CAAE,UAAW,CAAE,KAAAmkC,EAAM,KAAAC,EAAM,OAAAC,EAAU,EAAE3tB,EAAO,CACxD1W,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,EACtC,MAAM4tB,EAAeD,GAAU3tB,EAAM,OAASA,EAAM,MAAM,OAAS,SACnE6qB,GAAiBvhC,EAAImkC,EAAO,SAAW,QAAUn9B,GAAM,CACrD,GAAIA,EAAE,OAAO,UAAW,OACxB,IAAIu9B,EAAWvkC,EAAG,MACdokC,IACFG,EAAWA,EAAS,QAElBD,IACFC,EAAWhiC,GAAcgiC,CAAQ,GAEnCvkC,EAAGikC,EAAS,EAAEM,CAAQ,CAC5B,CAAK,EACGH,GACF7C,GAAiBvhC,EAAI,SAAU,IAAM,CACnCA,EAAG,MAAQA,EAAG,MAAM,KAAI,CAChC,CAAO,EAEEmkC,IACH5C,GAAiBvhC,EAAI,mBAAoB+jC,EAAkB,EAC3DxC,GAAiBvhC,EAAI,iBAAkBgkC,EAAgB,EACvDzC,GAAiBvhC,EAAI,SAAUgkC,EAAgB,EAElD,EAED,QAAQhkC,EAAI,CAAE,MAAAe,GAAS,CACrBf,EAAG,MAAQe,GAAgB,EAC5B,EACD,aAAaf,EAAI,CAAE,MAAAe,EAAO,SAAAiB,EAAU,UAAW,CAAE,KAAAmiC,EAAM,KAAAC,EAAM,OAAAC,CAAQ,GAAI3tB,EAAO,CAE9E,GADA1W,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,EAClC1W,EAAG,UAAW,OAClB,MAAMwkC,GAAWH,GAAUrkC,EAAG,OAAS,WAAa,CAAC,OAAO,KAAKA,EAAG,KAAK,EAAIuC,GAAcvC,EAAG,KAAK,EAAIA,EAAG,MACpGmJ,EAAWpI,GAAgB,GAC7ByjC,IAAYr7B,IAGZ,SAAS,gBAAkBnJ,GAAMA,EAAG,OAAS,UAC3CmkC,GAAQpjC,IAAUiB,GAGlBoiC,GAAQpkC,EAAG,MAAM,KAAI,IAAOmJ,KAIlCnJ,EAAG,MAAQmJ,GACZ,CACH,EACMs7B,GAAiB,CAErB,KAAM,GACN,QAAQzkC,EAAIyB,EAAGiV,EAAO,CACpB1W,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,EACtC6qB,GAAiBvhC,EAAI,SAAU,IAAM,CACnC,MAAM0kC,EAAa1kC,EAAG,YAChB2kC,EAAeC,GAAS5kC,CAAE,EAC1B6kC,EAAU7kC,EAAG,QACb8kC,EAAS9kC,EAAGikC,EAAS,EAC3B,GAAI7jC,GAAQskC,CAAU,EAAG,CACvB,MAAMh5B,EAAQnH,GAAamgC,EAAYC,CAAY,EAC7CI,EAAQr5B,IAAU,GACxB,GAAIm5B,GAAW,CAACE,EACdD,EAAOJ,EAAW,OAAOC,CAAY,CAAC,UAC7B,CAACE,GAAWE,EAAO,CAC5B,MAAMC,EAAW,CAAC,GAAGN,CAAU,EAC/BM,EAAS,OAAOt5B,EAAO,CAAC,EACxBo5B,EAAOE,CAAQ,CAChB,CACT,SAAiBzkC,GAAMmkC,CAAU,EAAG,CAC5B,MAAM5M,EAAS,IAAI,IAAI4M,CAAU,EAC7BG,EACF/M,EAAO,IAAI6M,CAAY,EAEvB7M,EAAO,OAAO6M,CAAY,EAE5BG,EAAOhN,CAAM,CACrB,MACQgN,EAAOG,GAAiBjlC,EAAI6kC,CAAO,CAAC,CAE5C,CAAK,CACF,EAED,QAASK,GACT,aAAallC,EAAImX,EAAST,EAAO,CAC/B1W,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,EACtCwuB,GAAWllC,EAAImX,EAAST,CAAK,CAC9B,CACH,EACA,SAASwuB,GAAWllC,EAAI,CAAE,MAAAe,EAAO,SAAAiB,CAAQ,EAAI0U,EAAO,CAClD1W,EAAG,YAAce,EACjB,IAAI8jC,EACJ,GAAIzkC,GAAQW,CAAK,EACf8jC,EAAUtgC,GAAaxD,EAAO2V,EAAM,MAAM,KAAK,EAAI,WAC1CnW,GAAMQ,CAAK,EACpB8jC,EAAU9jC,EAAM,IAAI2V,EAAM,MAAM,KAAK,MAChC,CACL,GAAI3V,IAAUiB,EAAU,OACxB6iC,EAAU7gC,GAAWjD,EAAOkkC,GAAiBjlC,EAAI,EAAI,CAAC,CACvD,CACGA,EAAG,UAAY6kC,IACjB7kC,EAAG,QAAU6kC,EAEjB,CACA,MAAMM,GAAc,CAClB,QAAQnlC,EAAI,CAAE,MAAAe,CAAK,EAAI2V,EAAO,CAC5B1W,EAAG,QAAUgE,GAAWjD,EAAO2V,EAAM,MAAM,KAAK,EAChD1W,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,EACtC6qB,GAAiBvhC,EAAI,SAAU,IAAM,CACnCA,EAAGikC,EAAS,EAAEW,GAAS5kC,CAAE,CAAC,CAChC,CAAK,CACF,EACD,aAAaA,EAAI,CAAE,MAAAe,EAAO,SAAAiB,CAAQ,EAAI0U,EAAO,CAC3C1W,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,EAClC3V,IAAUiB,IACZhC,EAAG,QAAUgE,GAAWjD,EAAO2V,EAAM,MAAM,KAAK,EAEnD,CACH,EACM0uB,GAAe,CAEnB,KAAM,GACN,QAAQplC,EAAI,CAAE,MAAAe,EAAO,UAAW,CAAE,OAAAsjC,CAAM,CAAI,EAAE3tB,EAAO,CACnD,MAAM2uB,EAAa9kC,GAAMQ,CAAK,EAC9BwgC,GAAiBvhC,EAAI,SAAU,IAAM,CACnC,MAAMslC,EAAc,MAAM,UAAU,OAAO,KAAKtlC,EAAG,QAAUulC,GAAMA,EAAE,QAAQ,EAAE,IAC5EA,GAAMlB,EAAS9hC,GAAcqiC,GAASW,CAAC,CAAC,EAAIX,GAASW,CAAC,CAC/D,EACMvlC,EAAGikC,EAAS,EACVjkC,EAAG,SAAWqlC,EAAa,IAAI,IAAIC,CAAW,EAAIA,EAAcA,EAAY,CAAC,CACrF,EACMtlC,EAAG,WAAa,GAChB4U,GAAS,IAAM,CACb5U,EAAG,WAAa,EACxB,CAAO,CACP,CAAK,EACDA,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,CACvC,EAGD,QAAQ1W,EAAI,CAAE,MAAAe,GAAS,CACrBykC,GAAYxlC,EAAIe,CAAK,CACtB,EACD,aAAaf,EAAIylC,EAAU/uB,EAAO,CAChC1W,EAAGikC,EAAS,EAAIH,GAAiBptB,CAAK,CACvC,EACD,QAAQ1W,EAAI,CAAE,MAAAe,GAAS,CAChBf,EAAG,YACNwlC,GAAYxlC,EAAIe,CAAK,CAExB,CACH,EACA,SAASykC,GAAYxlC,EAAIe,EAAO,CAC9B,MAAM2kC,EAAa1lC,EAAG,SAChB2lC,EAAevlC,GAAQW,CAAK,EAClC,GAAI,EAAA2kC,GAAc,CAACC,GAAgB,CAACplC,GAAMQ,CAAK,GAM/C,SAASd,EAAI,EAAGmF,EAAIpF,EAAG,QAAQ,OAAQC,EAAImF,EAAGnF,IAAK,CACjD,MAAM2lC,EAAS5lC,EAAG,QAAQC,CAAC,EACrB4lC,EAAcjB,GAASgB,CAAM,EACnC,GAAIF,EACF,GAAIC,EAAc,CAChB,MAAMG,EAAa,OAAOD,EACtBC,IAAe,UAAYA,IAAe,SAC5CF,EAAO,SAAW7kC,EAAM,KAAMgE,GAAM,OAAOA,CAAC,IAAM,OAAO8gC,CAAW,CAAC,EAErED,EAAO,SAAWrhC,GAAaxD,EAAO8kC,CAAW,EAAI,EAE/D,MACQD,EAAO,SAAW7kC,EAAM,IAAI8kC,CAAW,UAEhC7hC,GAAW4gC,GAASgB,CAAM,EAAG7kC,CAAK,EAAG,CAC1Cf,EAAG,gBAAkBC,IAAGD,EAAG,cAAgBC,GAC/C,MACD,CACF,CACG,CAACylC,GAAc1lC,EAAG,gBAAkB,KACtCA,EAAG,cAAgB,IAEvB,CACA,SAAS4kC,GAAS5kC,EAAI,CACpB,MAAO,WAAYA,EAAKA,EAAG,OAASA,EAAG,KACzC,CACA,SAASilC,GAAiBjlC,EAAI6kC,EAAS,CACrC,MAAMxlC,EAAMwlC,EAAU,aAAe,cACrC,OAAOxlC,KAAOW,EAAKA,EAAGX,CAAG,EAAIwlC,CAC/B,CACA,MAAMkB,GAAgB,CACpB,QAAQ/lC,EAAImX,EAAST,EAAO,CAC1BsvB,GAAchmC,EAAImX,EAAST,EAAO,KAAM,SAAS,CAClD,EACD,QAAQ1W,EAAImX,EAAST,EAAO,CAC1BsvB,GAAchmC,EAAImX,EAAST,EAAO,KAAM,SAAS,CAClD,EACD,aAAa1W,EAAImX,EAAST,EAAOO,EAAW,CAC1C+uB,GAAchmC,EAAImX,EAAST,EAAOO,EAAW,cAAc,CAC5D,EACD,QAAQjX,EAAImX,EAAST,EAAOO,EAAW,CACrC+uB,GAAchmC,EAAImX,EAAST,EAAOO,EAAW,SAAS,CACvD,CACH,EACA,SAASgvB,GAAoBC,EAASl9B,EAAM,CAC1C,OAAQk9B,EAAO,CACb,IAAK,SACH,OAAOd,GACT,IAAK,WACH,OAAOlB,GACT,QACE,OAAQl7B,EAAI,CACV,IAAK,WACH,OAAOy7B,GACT,IAAK,QACH,OAAOU,GACT,QACE,OAAOjB,EACV,CACJ,CACH,CACA,SAAS8B,GAAchmC,EAAImX,EAAST,EAAOO,EAAWG,EAAM,CAK1D,MAAM/V,EAJa4kC,GACjBjmC,EAAG,QACH0W,EAAM,OAASA,EAAM,MAAM,IAC/B,EACwBU,CAAI,EAC1B/V,GAAMA,EAAGrB,EAAImX,EAAST,EAAOO,CAAS,CACxC,CAoCA,MAAMkvB,GAAkB,CAAC,OAAQ,QAAS,MAAO,MAAM,EACjDC,GAAiB,CACrB,KAAOp/B,GAAMA,EAAE,gBAAiB,EAChC,QAAUA,GAAMA,EAAE,eAAgB,EAClC,KAAOA,GAAMA,EAAE,SAAWA,EAAE,cAC5B,KAAOA,GAAM,CAACA,EAAE,QAChB,MAAQA,GAAM,CAACA,EAAE,SACjB,IAAMA,GAAM,CAACA,EAAE,OACf,KAAOA,GAAM,CAACA,EAAE,QAChB,KAAOA,GAAM,WAAYA,GAAKA,EAAE,SAAW,EAC3C,OAASA,GAAM,WAAYA,GAAKA,EAAE,SAAW,EAC7C,MAAQA,GAAM,WAAYA,GAAKA,EAAE,SAAW,EAC5C,MAAO,CAACA,EAAG+P,IAAcovB,GAAgB,KAAM9gB,GAAMre,EAAE,GAAGqe,CAAC,KAAK,GAAK,CAACtO,EAAU,SAASsO,CAAC,CAAC,CAC7F,EACMghB,GAAgB,CAAChlC,EAAI0V,IAAc,CACvC,MAAMzV,EAAQD,EAAG,YAAcA,EAAG,UAAY,IACxCilC,EAAWvvB,EAAU,KAAK,GAAG,EACnC,OAAOzV,EAAMglC,CAAQ,IAAMhlC,EAAMglC,CAAQ,EAAI,CAACjR,KAAU/qB,IAAS,CAC/D,QAASrK,EAAI,EAAGA,EAAI8W,EAAU,OAAQ9W,IAAK,CACzC,MAAMsmC,EAAQH,GAAervB,EAAU9W,CAAC,CAAC,EACzC,GAAIsmC,GAASA,EAAMlR,EAAOte,CAAS,EAAG,MACvC,CACD,OAAO1V,EAAGg0B,EAAO,GAAG/qB,CAAI,CAC5B,EACA,EACMk8B,GAAW,CACf,IAAK,SACL,MAAO,IACP,GAAI,WACJ,KAAM,aACN,MAAO,cACP,KAAM,aACN,OAAQ,WACV,EACMC,GAAW,CAACplC,EAAI0V,IAAc,CAClC,MAAMzV,EAAQD,EAAG,YAAcA,EAAG,UAAY,IACxCilC,EAAWvvB,EAAU,KAAK,GAAG,EACnC,OAAOzV,EAAMglC,CAAQ,IAAMhlC,EAAMglC,CAAQ,EAAKjR,GAAU,CACtD,GAAI,EAAE,QAASA,GACb,OAEF,MAAMqR,EAAW9kC,GAAUyzB,EAAM,GAAG,EACpC,GAAIte,EAAU,KACX4vB,GAAMA,IAAMD,GAAYF,GAASG,CAAC,IAAMD,CAC/C,EACM,OAAOrlC,EAAGg0B,CAAK,CAErB,EACA,EAEMuR,GAAkC/mC,GAAO,CAAE,UAAA4iC,EAAW,EAAElH,EAAO,EACrE,IAAIsL,GAEJ,SAASC,IAAiB,CACxB,OAAOD,KAAaA,GAAW9b,GAAe6b,EAAe,EAC/D,CAMA,MAAMvjB,GAAS,IAAI/Y,IAAS,CAC1Bw8B,KAAiB,OAAO,GAAGx8B,CAAI,CACjC,EAIMy8B,GAAY,IAAIz8B,IAAS,CAC7B,MAAMwc,EAAMggB,GAAc,EAAG,UAAU,GAAGx8B,CAAI,EAKxC,CAAE,MAAA08B,CAAO,EAAGlgB,EAClB,OAAAA,EAAI,MAASmgB,GAAwB,CACnC,MAAMhb,EAAYib,GAAmBD,CAAmB,EACxD,GAAI,CAAChb,EAAW,OAChB,MAAMlN,EAAY+H,EAAI,WAClB,CAACrmB,GAAWse,CAAS,GAAK,CAACA,EAAU,QAAU,CAACA,EAAU,WAC5DA,EAAU,SAAWkN,EAAU,WAE7BA,EAAU,WAAa,IACzBA,EAAU,YAAc,IAE1B,MAAM3c,EAAQ03B,EAAM/a,EAAW,GAAOkb,GAAqBlb,CAAS,CAAC,EACrE,OAAIA,aAAqB,UACvBA,EAAU,gBAAgB,SAAS,EACnCA,EAAU,aAAa,aAAc,EAAE,GAElC3c,CACX,EACSwX,CACT,EAgBA,SAASqgB,GAAqBlb,EAAW,CACvC,GAAIA,aAAqB,WACvB,MAAO,MAET,GAAI,OAAO,eAAkB,YAAcA,aAAqB,cAC9D,MAAO,QAEX,CAoCA,SAASib,GAAmBjb,EAAW,CACrC,OAAIvrB,GAASurB,CAAS,EACR,SAAS,cAAcA,CAAS,EAavCA,CACT,CC9zDA,IAAImb,GAAS,GCFb;AAAA;AAAA;AAAA;AAAA,GAYA,IAAIC,GAQJ,MAAMC,GAAkBC,GAAWF,GAAcE,EAK3CC,GAAsG,OAAM,EAElH,SAASvmC,GAETskC,EAAG,CACC,OAAQA,GACJ,OAAOA,GAAM,UACb,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,mBACtC,OAAOA,EAAE,QAAW,UAC5B,CAMA,IAAIkC,IACH,SAAUA,EAAc,CAQrBA,EAAa,OAAY,SAMzBA,EAAa,YAAiB,eAM9BA,EAAa,cAAmB,gBAEpC,GAAGA,KAAiBA,GAAe,CAAE,EAAC,EAu4BtC,SAASC,IAAc,CACnB,MAAM50B,EAAQtN,GAAY,EAAI,EAGxBkS,EAAQ5E,EAAM,IAAI,IAAMpD,GAAI,CAAE,EAAC,EACrC,IAAIi4B,EAAK,GAELC,EAAgB,GACpB,MAAML,EAAQ/3B,GAAQ,CAClB,QAAQsX,EAAK,CAGTwgB,GAAeC,CAAK,EAEhBA,EAAM,GAAKzgB,EACXA,EAAI,QAAQ0gB,GAAaD,CAAK,EAC9BzgB,EAAI,OAAO,iBAAiB,OAASygB,EAKrCK,EAAc,QAAS5gB,GAAW2gB,EAAG,KAAK3gB,CAAM,CAAC,EACjD4gB,EAAgB,EAEvB,EACD,IAAI5gB,EAAQ,CACR,MAAI,CAAC,KAAK,IAAM,CAACogB,GACbQ,EAAc,KAAK5gB,CAAM,EAGzB2gB,EAAG,KAAK3gB,CAAM,EAEX,IACV,EACD,GAAA2gB,EAGA,GAAI,KACJ,GAAI70B,EACJ,GAAI,IAAI,IACR,MAAA4E,CACR,CAAK,EAMD,OAAO6vB,CACX,CAiHA,MAAMM,GAAO,IAAM,GACnB,SAASC,GAAgBC,EAAe35B,EAAUjJ,EAAU6iC,EAAYH,GAAM,CAC1EE,EAAc,KAAK35B,CAAQ,EAC3B,MAAM65B,EAAqB,IAAM,CAC7B,MAAMC,EAAMH,EAAc,QAAQ35B,CAAQ,EACtC85B,EAAM,KACNH,EAAc,OAAOG,EAAK,CAAC,EAC3BF,IAEZ,EACI,MAAI,CAAC7iC,GAAYM,MACbC,GAAeuiC,CAAkB,EAE9BA,CACX,CACA,SAASE,GAAqBJ,KAAkBz9B,EAAM,CAClDy9B,EAAc,MAAK,EAAG,QAAS35B,GAAa,CACxCA,EAAS,GAAG9D,CAAI,CACxB,CAAK,CACL,CAEA,MAAM89B,GAA0B/mC,GAAOA,IAKjCgnC,GAAgB,OAAM,EAKtBC,GAAc,OAAM,EAC1B,SAASC,GAAqBx/B,EAAQy/B,EAAc,CAE5Cz/B,aAAkB,KAAOy/B,aAAwB,IACjDA,EAAa,QAAQ,CAACznC,EAAO1B,IAAQ0J,EAAO,IAAI1J,EAAK0B,CAAK,CAAC,EAEtDgI,aAAkB,KAAOy/B,aAAwB,KAEtDA,EAAa,QAAQz/B,EAAO,IAAKA,CAAM,EAG3C,UAAW1J,KAAOmpC,EAAc,CAC5B,GAAI,CAACA,EAAa,eAAenpC,CAAG,EAChC,SACJ,MAAMopC,EAAWD,EAAanpC,CAAG,EAC3BqpC,EAAc3/B,EAAO1J,CAAG,EAC1B4B,GAAcynC,CAAW,GACzBznC,GAAcwnC,CAAQ,GACtB1/B,EAAO,eAAe1J,CAAG,GACzB,CAACmF,GAAMikC,CAAQ,GACf,CAACl5B,GAAWk5B,CAAQ,EAIpB1/B,EAAO1J,CAAG,EAAIkpC,GAAqBG,EAAaD,CAAQ,EAIxD1/B,EAAO1J,CAAG,EAAIopC,CAErB,CACD,OAAO1/B,CACX,CACA,MAAM4/B,GAE2B,SAiBjC,SAASC,GAAcvmC,EAAK,CACxB,MAAO,CAACpB,GAAcoB,CAAG,GAAK,CAACA,EAAI,eAAesmC,EAAiB,CACvE,CACA,KAAM,CAAE7D,SAAQ,EAAG,OACnB,SAASj+B,GAAW0+B,EAAG,CACnB,MAAO,CAAC,EAAE/gC,GAAM+gC,CAAC,GAAKA,EAAE,OAC5B,CACA,SAASsD,GAAmB9zB,EAAInD,EAAS21B,EAAOuB,EAAK,CACjD,KAAM,CAAE,MAAApxB,EAAO,QAAAqxB,EAAS,QAAAC,CAAO,EAAKp3B,EAC9Bq3B,EAAe1B,EAAM,MAAM,MAAMxyB,CAAE,EACzC,IAAIm0B,EACJ,SAASrP,GAAQ,CACRoP,IAMG1B,EAAM,MAAM,MAAMxyB,CAAE,EAAI2C,EAAQA,EAAO,EAAG,IAIlD,MAAMyxB,EAGA94B,GAAOk3B,EAAM,MAAM,MAAMxyB,CAAE,CAAC,EAClC,OAAO+vB,GAAOqE,EAAYJ,EAAS,OAAO,KAAKC,GAAW,EAAE,EAAE,OAAO,CAACI,EAAiB5lC,KAInF4lC,EAAgB5lC,CAAI,EAAIgM,GAAQ/H,GAAS,IAAM,CAC3C6/B,GAAeC,CAAK,EAEpB,MAAM2B,EAAQ3B,EAAM,GAAG,IAAIxyB,CAAE,EAQ7B,OAAOi0B,EAAQxlC,CAAI,EAAE,KAAK0lC,EAAOA,CAAK,CACzC,EAAC,EACKE,GACR,EAAE,CAAC,CACT,CACD,OAAAF,EAAQG,GAAiBt0B,EAAI8kB,EAAOjoB,EAAS21B,EAAOuB,EAAK,EAAI,EACtDI,CACX,CACA,SAASG,GAAiBC,EAAKzP,EAAOjoB,EAAU,GAAI21B,EAAOuB,EAAKS,EAAgB,CAC5E,IAAIz2B,EACJ,MAAM02B,EAAmB1E,GAAO,CAAE,QAAS,CAAE,GAAIlzB,CAAO,EAMlD63B,EAAoB,CAAE,KAAM,IAsBlC,IAAIC,EACAC,EACA5B,EAAgB,GAChB6B,EAAsB,GACtBC,EACJ,MAAMZ,EAAe1B,EAAM,MAAM,MAAM+B,CAAG,EAGtC,CAACC,GAAkB,CAACN,IAMhB1B,EAAM,MAAM,MAAM+B,CAAG,EAAI,IAGhB55B,GAAI,EAAE,EAGvB,IAAIo6B,EACJ,SAASC,EAAOC,GAAuB,CACnC,IAAIC,GACJP,EAAcC,EAAkB,GAM5B,OAAOK,IAA0B,YACjCA,GAAsBzC,EAAM,MAAM,MAAM+B,CAAG,CAAC,EAC5CW,GAAuB,CACnB,KAAMxC,GAAa,cACnB,QAAS6B,EACT,OAAQO,CACxB,IAGYtB,GAAqBhB,EAAM,MAAM,MAAM+B,CAAG,EAAGU,EAAqB,EAClEC,GAAuB,CACnB,KAAMxC,GAAa,YACnB,QAASuC,GACT,QAASV,EACT,OAAQO,CACxB,GAEQ,MAAMK,GAAgBJ,EAAiB,OAAM,EAC7Cl1B,GAAQ,EAAG,KAAK,IAAM,CACdk1B,IAAmBI,KACnBR,EAAc,GAE9B,CAAS,EACDC,EAAkB,GAElBxB,GAAqBJ,EAAekC,GAAsB1C,EAAM,MAAM,MAAM+B,CAAG,CAAC,CACnF,CACD,MAAMa,EAASZ,EACT,UAAkB,CAChB,KAAM,CAAE,MAAA7xB,EAAO,EAAG9F,EACZw4B,GAAW1yB,GAAQA,GAAK,EAAK,GAEnC,KAAK,OAAQ2yB,GAAW,CAEpBvF,GAAOuF,EAAQD,EAAQ,CACvC,CAAa,CACJ,EAMSvC,GACd,SAASyC,GAAW,CAChBx3B,EAAM,KAAI,EACVi1B,EAAgB,GAChB6B,EAAsB,GACtBrC,EAAM,GAAG,OAAO+B,CAAG,CACtB,CAMD,MAAMiB,EAAS,CAAClpC,GAAImC,GAAO,KAAO,CAC9B,GAAI6kC,MAAiBhnC,GACjB,OAAAA,GAAGinC,EAAW,EAAI9kC,GACXnC,GAEX,MAAMmpC,GAAgB,UAAY,CAC9BlD,GAAeC,CAAK,EACpB,MAAMj9B,EAAO,MAAM,KAAK,SAAS,EAC3BmgC,EAAoB,GACpBC,EAAsB,GAC5B,SAASC,EAAMv8B,EAAU,CACrBq8B,EAAkB,KAAKr8B,CAAQ,CAClC,CACD,SAASw8B,EAAQx8B,EAAU,CACvBs8B,EAAoB,KAAKt8B,CAAQ,CACpC,CAED+5B,GAAqByB,EAAqB,CACtC,KAAAt/B,EACA,KAAMkgC,GAAclC,EAAW,EAC/B,MAAAY,EACA,MAAAyB,EACA,QAAAC,CAChB,CAAa,EACD,IAAIvnC,EACJ,GAAI,CACAA,EAAMhC,GAAG,MAAM,MAAQ,KAAK,MAAQioC,EAAM,KAAOJ,EAAO5+B,CAAI,CAE/D,OACMpD,EAAO,CACV,MAAAihC,GAAqBuC,EAAqBxjC,CAAK,EACzCA,CACT,CACD,OAAI7D,aAAe,QACRA,EACF,KAAMtC,IACPonC,GAAqBsC,EAAmB1pC,CAAK,EACtCA,EACV,EACI,MAAOmG,IACRihC,GAAqBuC,EAAqBxjC,CAAK,EACxC,QAAQ,OAAOA,CAAK,EAC9B,GAGLihC,GAAqBsC,EAAmBpnC,CAAG,EACpCA,EACnB,EACQ,OAAAmnC,GAAcnC,EAAa,EAAI,GAC/BmC,GAAclC,EAAW,EAAI9kC,GAGtBgnC,EACf,EAOUK,EAAe,CACjB,GAAItD,EAEJ,IAAA+B,EACA,UAAWxB,GAAgB,KAAK,KAAM8B,CAAmB,EACzD,OAAAG,EACA,OAAAI,EACA,WAAW/7B,GAAUwD,GAAU,GAAI,CAC/B,MAAMq2B,GAAqBH,GAAgBC,EAAe35B,GAAUwD,GAAQ,SAAU,IAAMk5B,EAAW,CAAE,EACnGA,EAAch4B,EAAM,IAAI,IAAMpB,GAAM,IAAM61B,EAAM,MAAM,MAAM+B,CAAG,EAAI5xB,GAAU,EAC3E9F,GAAQ,QAAU,OAAS+3B,EAAkBD,IAC7Ct7B,GAAS,CACL,QAASk7B,EACT,KAAM7B,GAAa,OACnB,OAAQoC,CACX,EAAEnyB,CAAK,CAEf,EAAEotB,GAAO,CAAE,EAAE2E,EAAmB73B,EAAO,CAAC,CAAC,EAC1C,OAAOq2B,EACV,EACD,SAAAqC,CACR,EAMUpB,EAAQx8B,GAQRm+B,CAAY,EAGlBtD,EAAM,GAAG,IAAI+B,EAAKJ,CAAK,EAGvB,MAAM6B,IAFkBxD,EAAM,IAAMA,EAAM,GAAG,gBAAmBa,IAE9B,IAAMb,EAAM,GAAG,IAAI,KAAOz0B,EAAQtN,GAAa,GAAE,IAAI,IAAMq0B,EAAM,CAAE,OAAA0Q,CAAQ,EAAC,CAAC,CAAC,EAEhH,UAAWlrC,MAAO0rC,GAAY,CAC1B,MAAMnhB,GAAOmhB,GAAW1rC,EAAG,EAC3B,GAAKmF,GAAMolB,EAAI,GAAK,CAAC/iB,GAAW+iB,EAAI,GAAMra,GAAWqa,EAAI,EAO3C2f,IAEFN,GAAgBL,GAAchf,EAAI,IAC9BplB,GAAMolB,EAAI,EACVA,GAAK,MAAQqf,EAAa5pC,EAAG,EAK7BkpC,GAAqB3e,GAAMqf,EAAa5pC,EAAG,CAAC,GAShDkoC,EAAM,MAAM,MAAM+B,CAAG,EAAEjqC,EAAG,EAAIuqB,YASjC,OAAOA,IAAS,WAAY,CACjC,MAAMohB,GAAsET,EAAO3gB,GAAMvqB,EAAG,EASxF0rC,GAAW1rC,EAAG,EAAI2rC,GAQtBxB,EAAiB,QAAQnqC,EAAG,EAAIuqB,EACnC,CAgBJ,CASGkb,UAAOoE,EAAO6B,EAAU,EAGxBjG,GAAO96B,GAAMk/B,CAAK,EAAG6B,EAAU,EAKnC,OAAO,eAAe7B,EAAO,SAAU,CACnC,IAAK,IAAyE3B,EAAM,MAAM,MAAM+B,CAAG,EACnG,IAAM5xB,IAAU,CAKZqyB,EAAQM,IAAW,CAEfvF,GAAOuF,GAAQ3yB,EAAK,CACpC,CAAa,CACJ,CACT,CAAK,EAyFD6vB,EAAM,GAAG,QAAS0D,IAAa,CAavBnG,GAAOoE,EAAOp2B,EAAM,IAAI,IAAMm4B,GAAS,CACnC,MAAO/B,EACP,IAAK3B,EAAM,GACX,MAAAA,EACA,QAASiC,CACZ,EAAC,CAAC,CAEf,CAAK,EAWGP,GACAM,GACA33B,EAAQ,SACRA,EAAQ,QAAQs3B,EAAM,OAAQD,CAAY,EAE9CS,EAAc,GACdC,EAAkB,GACXT,CACX,CAEA,2BACA,SAASgC,GAETC,EAAatR,EAAOuR,EAAc,CAC9B,IAAIr2B,EACAnD,EACJ,MAAMy5B,EAAe,OAAOxR,GAAU,WAClC,OAAOsR,GAAgB,UACvBp2B,EAAKo2B,EAELv5B,EAAUy5B,EAAeD,EAAevR,IAGxCjoB,EAAUu5B,EACVp2B,EAAKo2B,EAAY,IAKrB,SAASG,EAAS/D,EAAOuB,EAAK,CAC1B,MAAMyC,EAAa7jB,KACnB,OAAA6f,EAGuFA,IAC9EgE,EAAa5mB,GAAO6iB,GAAa,IAAI,EAAI,MAC9CD,GACAD,GAAeC,CAAK,EAMxBA,EAAQF,GACHE,EAAM,GAAG,IAAIxyB,CAAE,IAEZs2B,EACAhC,GAAiBt0B,EAAI8kB,EAAOjoB,EAAS21B,CAAK,EAG1CsB,GAAmB9zB,EAAInD,EAAS21B,CAAK,GAQ/BA,EAAM,GAAG,IAAIxyB,CAAE,CAyBhC,CACD,OAAAu2B,EAAS,IAAMv2B,EACRu2B,CACX,CA8DA,SAASE,GAASF,EAAUG,EAAc,CACtC,OAAO,MAAM,QAAQA,CAAY,EAC3BA,EAAa,OAAO,CAACC,EAASrsC,KAC5BqsC,EAAQrsC,CAAG,EAAI,UAAY,CAEvB,OAAOisC,EAAS,KAAK,MAAM,EAAEjsC,CAAG,CAChD,EACmBqsC,GACR,EAAE,EACH,OAAO,KAAKD,CAAY,EAAE,OAAO,CAACC,EAASrsC,KAEzCqsC,EAAQrsC,CAAG,EAAI,UAAY,CACvB,MAAM6pC,EAAQoC,EAAS,KAAK,MAAM,EAC5BK,EAAWF,EAAapsC,CAAG,EAGjC,OAAO,OAAOssC,GAAa,WACrBA,EAAS,KAAK,KAAMzC,CAAK,EAEvBA,EAAMyC,CAAQ,CACtC,EACmBD,GACR,CAAE,EACb,CAcA,SAASE,GAAWN,EAAUG,EAAc,CACxC,OAAO,MAAM,QAAQA,CAAY,EAC3BA,EAAa,OAAO,CAACC,EAASrsC,KAE5BqsC,EAAQrsC,CAAG,EAAI,YAAaiL,EAAM,CAE9B,OAAOghC,EAAS,KAAK,MAAM,EAAEjsC,CAAG,EAAE,GAAGiL,CAAI,CACzD,EACmBohC,GACR,EAAE,EACH,OAAO,KAAKD,CAAY,EAAE,OAAO,CAACC,EAASrsC,KAEzCqsC,EAAQrsC,CAAG,EAAI,YAAaiL,EAAM,CAE9B,OAAOghC,EAAS,KAAK,MAAM,EAAEG,EAAapsC,CAAG,CAAC,EAAE,GAAGiL,CAAI,CACvE,EACmBohC,GACR,CAAE,EACb,CASA,SAASG,GAAiBP,EAAUG,EAAc,CAC9C,OAAO,MAAM,QAAQA,CAAY,EAC3BA,EAAa,OAAO,CAACC,EAASrsC,KAC5BqsC,EAAQrsC,CAAG,EAAI,CACX,KAAM,CACF,OAAOisC,EAAS,KAAK,MAAM,EAAEjsC,CAAG,CACnC,EACD,IAAI0B,EAAO,CACP,OAAQuqC,EAAS,KAAK,MAAM,EAAEjsC,CAAG,EAAI0B,CACxC,CACjB,EACmB2qC,GACR,EAAE,EACH,OAAO,KAAKD,CAAY,EAAE,OAAO,CAACC,EAASrsC,KACzCqsC,EAAQrsC,CAAG,EAAI,CACX,KAAM,CACF,OAAOisC,EAAS,KAAK,MAAM,EAAEG,EAAapsC,CAAG,CAAC,CACjD,EACD,IAAI0B,EAAO,CACP,OAAQuqC,EAAS,KAAK,MAAM,EAAEG,EAAapsC,CAAG,CAAC,EAAI0B,CACtD,CACjB,EACmB2qC,GACR,CAAE,EACb,CC32DA,IAAI1mC,GACJ,MAAM8mC,GAAW,OAAO,OAAW,IAU7BprC,GAAYpB,GAAQ,OAAOA,GAAQ,SAMnCuoC,GAAO,IAAM,CACnB,EAMciE,MAAc9mC,GAAK,QAAU,KAAO,OAAS,OAAO,YAAc,MAAgBA,GAAG,YAAc,iBAAiB,KAAK,OAAO,UAAU,SAAS,EAGjK,SAAS+mC,GAAat8B,EAAG,CACvB,OAAO,OAAOA,GAAM,WAAaA,EAAC,EAAKO,GAAMP,CAAC,CAChD,CA2IA,SAASu8B,GAAS7pC,EAAK,CACrB,OAAOA,CACT,CA6EA,SAAS8pC,GAAkB5qC,EAAI,CAC7B,OAAIoE,GAAe,GACjBC,GAAerE,CAAE,EACV,IAEF,EACT,CAEA,SAAS6qC,IAAkB,CACzB,MAAMhqC,EAAM,GACNiqC,EAAO9qC,GAAO,CAClB,MAAMqK,EAAQxJ,EAAI,QAAQb,CAAE,EACxBqK,IAAU,IACZxJ,EAAI,OAAOwJ,EAAO,CAAC,CACzB,EAYE,MAAO,CACL,GAZUrK,GAAO,CACjBa,EAAI,KAAKb,CAAE,EACX,MAAM+qC,EAAQ,IAAMD,EAAI9qC,CAAE,EAC1B,OAAA4qC,GAAkBG,CAAK,EAChB,CACL,IAAKA,CACX,CACA,EAMI,IAAAD,EACA,QANeE,GAAU,CACzBnqC,EAAI,QAASb,GAAOA,EAAGgrC,CAAK,CAAC,CACjC,CAKA,CACA,CAoaA,SAASC,GAAajrC,EAAIkrC,EAAO,GAAM,CACjCn0B,GAAoB,EACtBT,GAAUtW,CAAE,EACLkrC,EACPlrC,IAEAuT,GAASvT,CAAE,CACf,CC7oBA,SAASmrC,GAAaC,EAAO,CAC3B,IAAIznC,EACJ,MAAM0nC,EAAQX,GAAaU,CAAK,EAChC,OAAQznC,EAAK0nC,GAAS,KAAO,OAASA,EAAM,MAAQ,KAAO1nC,EAAK0nC,CAClE,CAEA,MAAMC,GAAgBb,GAAW,OAAS,OACpCc,GAAkBd,GAAW,OAAO,SAAW,OAIrD,SAASe,MAAoBviC,EAAM,CACjC,IAAIvB,EACA+jC,EACAC,EACAn7B,EAOJ,GANIlR,GAAS4J,EAAK,CAAC,CAAC,GAAK,MAAM,QAAQA,EAAK,CAAC,CAAC,GAC5C,CAACwiC,EAAQC,EAAWn7B,CAAO,EAAItH,EAC/BvB,EAAS4jC,IAET,CAAC5jC,EAAQ+jC,EAAQC,EAAWn7B,CAAO,EAAItH,EAErC,CAACvB,EACH,OAAO8+B,GACJ,MAAM,QAAQiF,CAAM,IACvBA,EAAS,CAACA,CAAM,GACb,MAAM,QAAQC,CAAS,IAC1BA,EAAY,CAACA,CAAS,GACxB,MAAMt7B,EAAW,GACXrJ,EAAU,IAAM,CACpBqJ,EAAS,QAASpQ,GAAOA,EAAI,GAC7BoQ,EAAS,OAAS,CACtB,EACQ6S,EAAW,CAACtkB,EAAIq1B,EAAO2X,EAAUC,KACrCjtC,EAAG,iBAAiBq1B,EAAO2X,EAAUC,CAAQ,EACtC,IAAMjtC,EAAG,oBAAoBq1B,EAAO2X,EAAUC,CAAQ,GAEzDC,EAAYx7B,GAAM,IAAM,CAAC86B,GAAazjC,CAAM,EAAGgjC,GAAan6B,CAAO,CAAC,EAAG,CAAC,CAAC5R,EAAIitC,CAAQ,IAAM,CAC/F7kC,IACKpI,GAELyR,EAAS,KAAK,GAAGq7B,EAAO,QAASzX,GACxB0X,EAAU,IAAKC,GAAa1oB,EAAStkB,EAAIq1B,EAAO2X,EAAUC,CAAQ,CAAC,CAC3E,CAAC,CACH,EAAE,CAAE,UAAW,GAAM,MAAO,MAAQ,GAC/BE,EAAO,IAAM,CACjBD,IACA9kC,GACJ,EACE,OAAA6jC,GAAkBkB,CAAI,EACfA,CACT,CAmaA,SAASC,GAAah/B,EAAUm+B,EAAO,GAAO,CAC5C,MAAMc,EAAc39B,KACdkhB,EAAS,IAAMyc,EAAY,MAAQ,EAAQj/B,EAAQ,EACzD,OAAAwiB,IACA0b,GAAa1b,EAAQ2b,CAAI,EAClBc,CACT,CAgcA,MAAMC,GAAU,OAAO,WAAe,IAAc,WAAa,OAAO,OAAW,IAAc,OAAS,OAAO,OAAW,IAAc,OAAS,OAAO,KAAS,IAAc,KAAO,GAClLC,GAAY,0BAClBD,GAAQC,EAAS,EAAID,GAAQC,EAAS,GAAK,GA+xB3C,SAASC,GAAsB,CAAE,SAAAC,EAAWb,EAAe,EAAK,GAAI,CAClE,GAAI,CAACa,EACH,OAAO/9B,GAAI,SAAS,EACtB,MAAMg+B,EAAah+B,GAAI+9B,EAAS,eAAe,EAC/C,OAAAZ,GAAiBY,EAAU,mBAAoB,IAAM,CACnDC,EAAW,MAAQD,EAAS,eAChC,CAAG,EACMC,CACT,CAi+EA,IAAIC,IACH,SAASC,EAAiB,CACzBA,EAAgB,GAAQ,KACxBA,EAAgB,MAAW,QAC3BA,EAAgB,KAAU,OAC1BA,EAAgB,KAAU,OAC1BA,EAAgB,KAAU,MAC5B,GAAGD,KAAmBA,GAAiB,CAAE,EAAC,EAguC1C,IAAIE,GAAY,OAAO,eACnBC,GAAsB,OAAO,sBAC7BC,GAAe,OAAO,UAAU,eAChCC,GAAe,OAAO,UAAU,qBAChCC,GAAkB,CAAC5rC,EAAKhD,EAAK0B,IAAU1B,KAAOgD,EAAMwrC,GAAUxrC,EAAKhD,EAAK,CAAE,WAAY,GAAM,aAAc,GAAM,SAAU,GAAM,MAAA0B,CAAO,GAAIsB,EAAIhD,CAAG,EAAI0B,EACtJmtC,GAAiB,CAACrqC,EAAGC,IAAM,CAC7B,QAAS8lB,KAAQ9lB,IAAMA,EAAI,IACrBiqC,GAAa,KAAKjqC,EAAG8lB,CAAI,GAC3BqkB,GAAgBpqC,EAAG+lB,EAAM9lB,EAAE8lB,CAAI,CAAC,EACpC,GAAIkkB,GACF,QAASlkB,KAAQkkB,GAAoBhqC,CAAC,EAChCkqC,GAAa,KAAKlqC,EAAG8lB,CAAI,GAC3BqkB,GAAgBpqC,EAAG+lB,EAAM9lB,EAAE8lB,CAAI,CAAC,EAEtC,OAAO/lB,CACT,EACA,MAAMsqC,GAAqB,CACzB,WAAY,CAAC,IAAM,EAAG,IAAM,CAAC,EAC7B,YAAa,CAAC,IAAM,EAAG,IAAM,CAAC,EAC9B,cAAe,CAAC,IAAM,EAAG,IAAM,CAAC,EAChC,WAAY,CAAC,IAAM,EAAG,GAAK,CAAC,EAC5B,YAAa,CAAC,GAAK,EAAG,IAAM,CAAC,EAC7B,cAAe,CAAC,IAAM,EAAG,IAAM,CAAC,EAChC,YAAa,CAAC,IAAM,EAAG,IAAM,CAAC,EAC9B,aAAc,CAAC,IAAM,EAAG,IAAM,CAAC,EAC/B,eAAgB,CAAC,IAAM,EAAG,IAAM,CAAC,EACjC,YAAa,CAAC,GAAK,EAAG,IAAM,CAAC,EAC7B,aAAc,CAAC,IAAM,EAAG,GAAK,CAAC,EAC9B,eAAgB,CAAC,IAAM,EAAG,IAAM,CAAC,EACjC,YAAa,CAAC,IAAM,EAAG,IAAM,CAAC,EAC9B,aAAc,CAAC,IAAM,EAAG,IAAM,CAAC,EAC/B,eAAgB,CAAC,IAAM,EAAG,IAAM,CAAC,EACjC,WAAY,CAAC,GAAK,EAAG,IAAM,CAAC,EAC5B,YAAa,CAAC,IAAM,EAAG,GAAK,CAAC,EAC7B,cAAe,CAAC,IAAM,EAAG,IAAM,CAAC,EAChC,WAAY,CAAC,IAAM,EAAG,EAAG,GAAI,EAC7B,YAAa,CAAC,EAAG,IAAM,IAAM,CAAC,EAC9B,cAAe,CAAC,IAAM,EAAG,IAAM,CAAC,EAChC,WAAY,CAAC,IAAM,EAAG,IAAM,IAAK,EACjC,YAAa,CAAC,IAAM,KAAM,IAAM,CAAC,EACjC,cAAe,CAAC,IAAM,IAAM,IAAM,GAAG,CACvC,EAC0BD,GAAe,CACvC,OAAQlC,EACV,EAAGmC,EAAkB,EAgiBrB,MAAMC,GAAqB,CAACC,EAAiB,KAAO,CAClD,KAAM,CACJ,OAAAC,EAAS3B,EACV,EAAG0B,EACEhB,EAAcD,GAAa,IAAM,CAAC,CAACkB,GAAU,iBAAkBA,CAAM,EACrEC,EAAe7+B,GAAI,IAAI,EACvB8+B,EAAoB,SAAY,CAC/BnB,EAAY,OAEb,eAAgB,cAAgB,aAAa,aAAe,UAC9D,MAAM,aAAa,mBACzB,EACQoB,EAAUvC,KACVwC,EAASxC,KACTtB,EAAUsB,KACVyC,EAAUzC,KACV0C,EAAO,MAAOC,GAAc,CAChC,GAAI,CAACxB,EAAY,MACf,OACF,MAAMmB,EAAiB,EACvB,MAAM58B,EAAU,OAAO,OAAO,GAAIy8B,EAAgBQ,CAAS,EAC3D,OAAAN,EAAa,MAAQ,IAAI,aAAa38B,EAAQ,OAAS,GAAIA,CAAO,EAClE28B,EAAa,MAAM,QAAWlZ,GAAUoZ,EAAQ,QAAQpZ,CAAK,EAC7DkZ,EAAa,MAAM,OAAUlZ,GAAUqZ,EAAO,QAAQrZ,CAAK,EAC3DkZ,EAAa,MAAM,QAAWlZ,GAAUuV,EAAQ,QAAQvV,CAAK,EAC7DkZ,EAAa,MAAM,QAAWlZ,GAAUsZ,EAAQ,QAAQtZ,CAAK,EACtDkZ,EAAa,KACxB,EACQO,EAAQ,IAAM,CACdP,EAAa,OACfA,EAAa,MAAM,QACrBA,EAAa,MAAQ,IACzB,EAME,GALAjC,GAAa,SAAY,CACnBe,EAAY,OACd,MAAMmB,EAAiB,CAC7B,CAAG,EACDvC,GAAkB6C,CAAK,EACnBzB,EAAY,OAASiB,EAAQ,CAC/B,MAAMb,EAAWa,EAAO,SACxBzB,GAAiBY,EAAU,mBAAqBzmC,GAAM,CACpDA,EAAE,eAAc,EACZymC,EAAS,kBAAoB,WAC/BqB,GAER,CAAK,CACF,CACD,MAAO,CACL,YAAAzB,EACA,aAAAkB,EACA,KAAAK,EACA,MAAAE,EACA,QAAAL,EACA,OAAAC,EACA,QAAA9D,EACA,QAAA+D,CACJ,CACA,04uFCvlMYI,mBAAA,QAAAC,CAAA,EAAAA,CAAA,CAAAD,IAZZ,IAAIE,IAAAF,EAAA,EAAAr8B,EAAmB,WAAAq8B,IAAAr8B,EAAA,KAEvB,MAAMw8B,GAAkBA,KAAMH,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,KACrB,CACL08B,WAAY,KACZC,SAAU,CAAE,EACZC,SAAU,CAAE,EACZC,OAAQ,CAAE,EACVC,YAAa,CAAE,EACfC,WAAY,CAAE,EACdC,eAAgB,CAAE,EAClBC,sBAAuB,KACvBC,SAAU,GACVC,SAAU,OACVC,wBAAyB,GACzBC,0BAA2B,GAC3BC,4BAA6B,EAC/B,GAGW1E,IAAAyD,EAAA,EAAAr8B,EAAWw4B,QAAY,OAAQ,CAC1CxzB,MAAOA,KAAMq3B,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,KACJ,CACLu9B,WAAY,KACZ,GAAGf,GAAgB,CACrB,GAGFlG,QAAS,CAEPkH,YAAcx4B,IAAUq3B,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,KACfgF,EAAM+3B,WAAWU,OAAQC,IAASrB,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,KAAA09B,EAAKC,SAAQ,GAGxDC,gBAAkB54B,IAAUq3B,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,KACnBgF,EAAM+3B,WAAWU,OAAQC,IAASrB,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,KAAA09B,EAAKG,aAAY,GAG5DC,QAAU94B,IAAUq3B,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,KAAC+9B,IAAQ1B,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,MACpBq8B,EAAA,EAAAjrC,EAAA4T,UAAM+3B,WAAWiB,KAAMN,IAASrB,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,MAAA09B,EAAKK,MAAQA,EAAG,IAAA1B,EAAAjrC,YAAK,MAG9DysC,aAAe74B,IAAUq3B,IAAAI,EAAA,KAAAJ,IAAAr8B,EAAA,MAAC+9B,IAAQ1B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACzBgF,EAAM+3B,WAAWkB,KAAMP,IAASrB,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAAq8B,EAAAjrC,IAAAssC,UAAKK,MAAQA,IAAA1B,EAAAjrC,IAAOssC,UAAKG,cAAY,IAG9EK,SAAWl5B,IAAUq3B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAC+9B,IAAQ1B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACrBgF,EAAM83B,YAAYmB,KAAME,IAAkB9B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAAm+B,IAAkBJ,EAAG,IAGxEK,iBAAmBp5B,IAAUq3B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAC+9B,GAAQ,CAAA1B,IAAAI,EAAA,MACpC,MAAM4B,GAAAhC,EAAA,EAAAr8B,EAAA,MAAgBgF,EAAMg4B,eAAegB,KAAMK,IAAkBhC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAAq+B,EAAcC,UAAYP,EAAG,GAChG,OADgG1B,IAAAr8B,EAAA,MAC5Fq+B,GAAehC,IAAAjrC,EAAA,QAAAirC,IAAAr8B,EAAA,MACVq+B,EAAcE,YACvBlC,IAAAjrC,EAAA,QAAAirC,IAAAr8B,EAAA,MACO,MAGTw+B,eAAiBx5B,IAAUq3B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAC+9B,GAAQ,CAAA1B,IAAAI,EAAA,MAClC,MAAMiB,GAAArB,EAAA,EAAAr8B,EAAA,MAAOgF,EAAM+3B,WAAWiB,KAAMN,IAASrB,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAA09B,EAAKK,MAAQA,EAAG,GAAA1B,WAAAr8B,EAAA,MACrDq8B,EAAA,EAAAjrC,EAAA,QAAAssC,IAAArB,EAAA,EAAAjrC,EAAA,QAAQssC,EAAKe,UAAOpC,EAAA,EAAAjrC,EAAIssC,UAAKe,UAAApC,EAAAjrC,IAAU,gBAGjDstC,aAAe15B,IAAUq3B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAC2+B,GAAQZ,IAAQ,CACxC,GADwC1B,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACpC2+B,EAAQ,CAAAtC,IAAAjrC,EAAA,QACV,MAAMitC,GAAAhC,EAAA,EAAAr8B,EAAA,MAAgBgF,EAAMg4B,eAAegB,KAAMK,IAAkBhC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAAq+B,EAAcC,UAAYP,EAAG,GAChG,GADgG1B,IAAAr8B,EAAA,MAC5Fq+B,EAAe,CACjB,GADiBhC,IAAAjrC,EAAA,QAAAirC,IAAAr8B,EAAA,MACbq+B,EAAcE,UAAUN,KAAKW,IAAYvC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAA4+B,EAASC,YAAc,YAAW,EAAGxC,WAAAjrC,EAAA,QAAAirC,IAAAr8B,EAAA,MACzE,YAET,GADAq8B,IAAAjrC,EAAA,QAAAirC,IAAAr8B,EAAA,MACIq+B,EAAcE,UAAUN,KAAKW,IAAYvC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAA4+B,EAASC,YAAc,SAAQ,EAAGxC,WAAAjrC,EAAA,QAAAirC,IAAAr8B,EAAA,MACtE,SACTq8B,IAAAjrC,EAAA,OACF,MAAAirC,IAAAjrC,EAAA,QAAAirC,WAAAr8B,EAAA,MACO,UACT,MAAAq8B,IAAAjrC,EAAA,QACA,MAAM0tC,GAAAzC,EAAA,EAAAr8B,EAAA,MAAUgF,EAAM43B,SAASoB,KAAMc,IAAYzC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAA8+B,EAAQf,MAAQA,EAAG,GAAA1B,WAAAr8B,EAAA,MAC7D8+B,GAAAzC,IAAAjrC,EAAA,QAAU0tC,EAAQD,YAAAxC,EAAA,EAAAjrC,EAAY,qBAExC,EAEDilC,QAAS,CAGP0I,iBAAkBxB,EAAY,CAAAlB,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAC5B,KAAKu9B,WAAaA,CACnB,EAGDyB,UAAW9B,EAAU,CAAAb,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACnB,KAAKk9B,SAAWA,CACjB,EAGD+B,YAAa9B,EAAU,CAAAd,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACrB,KAAKm9B,SAAWA,CACjB,EAGD+B,cAAeC,EAAS,CAAA9C,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACtB,KAAK08B,WAAayC,EAAQzC,WAE1B,SAAS0C,EAAkBC,EAAY,CAAAhD,IAAAI,EAAA,MACrC,MAAM6C,GAAAjD,EAAAr8B,UAAOq/B,EAAWE,MAAM,CAAC,GACzBvmC,GAAAqjC,EAAA,EAAAr8B,EAAQs/B,QAAKE,UAAWpvC,IAASisC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAA5P,EAAK2tC,MAAQoB,EAAQzC,WAAU,GAAAL,WAAAr8B,EAAA,MAClEhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MAChBs/B,EAAKtmC,CAAK,EAAEymC,YAAc,GAC5BpD,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MACOs/B,CACT,CACA,OADAjD,IAAAr8B,EAAA,MACQm/B,EAAQ7oC,KAAI,CAClB,IAAK,OAAM+lC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MACT,KAAK48B,SAAWwC,EAAiB,KAAKxC,QAAQ,EAAAP,IAAAr8B,EAAA,MAC9C,MACF,IAAK,YAAWq8B,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MACd,KAAK+8B,WAAaqC,EAAiB,KAAKrC,UAAU,EAAAV,IAAAr8B,EAAA,MAClD,KACJ,CACD,EAGD0/B,UAAW9C,EAAU,CAAAP,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACnB,KAAK48B,SAAWA,EAAAP,IAAAr8B,EAAA,MAChB48B,EAAS+C,QAAQb,GAAW,CAAAzC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACtB8+B,EAAQjC,QAAQR,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MAClB8+B,EAAQjC,OAAO8C,QAAQC,GAAS,CAAAvD,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACzB,KAAK68B,OAAOgD,SAASD,CAAK,EAE/BvD,IAAAjrC,EAAA,UAFkCirC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MAChC,KAAK68B,OAAOiD,KAAKF,CAAK,GAEzB,GACHvD,IAAAjrC,EAAA,SACD,CACF,EAGD2uC,aAAcrC,EAAM,CAAArB,IAAAI,EAAA,MAClB,MAAMuD,GAAA3D,IAAAr8B,EAAA,MAAQ,KAAK+8B,WAAWwC,MAAM,CAAC,GAC/BvmC,GAAAqjC,EAAA,EAAAr8B,EAAQggC,QAAMR,UAAWS,IAAc5D,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAAigC,EAAUlC,MAAQL,EAAKK,IAAG,GACvE,GADuE1B,IAAAr8B,EAAA,MACnEhH,IAAU,GAAI,CAAAqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MAEhB,KAAK+8B,WAAW+C,KAAKpC,CAAI,EAAArB,IAAAr8B,EAAA,MACzB,MACF,MAAAq8B,IAAAjrC,EAAA,qBAEA,UAAWzE,KAAO+wC,EAAM,CACtB,GADsBrB,IAAAr8B,EAAA,MAClBq8B,IAAAjrC,WAAAssC,EAAK/wC,CAAG,IAAM,OAAA0vC,IAAAjrC,EAAA,SAAQ4uC,EAAMhnC,CAAK,EAAErM,CAAG,IAAM,MAAM,CAAA0vC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MACpD,QACF,MAAAq8B,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MACAggC,EAAMhnC,CAAK,EAAErM,CAAG,EAAI+wC,EAAK/wC,CAAG,CAC9B,CAAA0vC,IAAAr8B,EAAA,MACA,KAAK+8B,WAAaiD,CACnB,EAGDE,eAAgB5B,EAAS6B,EAAQ1B,EAAS,CAAApC,IAAAI,EAAA,MACxC,MAAMiB,GAAArB,EAAAr8B,UAAO,KAAK89B,QAAQQ,CAAO,GAAAjC,IAAAr8B,EAAA,MAC7B09B,EAAKK,KAAK1B,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MACZ,KAAK+/B,aAAa,CAChB,GAAGrC,EACHe,QAAS,CACP0B,SACA1B,SACF,EACD,GACHpC,IAAAjrC,EAAA,QACD,EAGDgvC,cAAe9B,EAAS,CAAAjC,IAAAI,EAAA,MACtB,MAAMzjC,GAAAqjC,EAAA,EAAAr8B,EAAA,MAAQ,KAAK88B,YAAY0C,UAAWa,IAAiBhE,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAAqgC,IAAiB/B,EAAO,GAAAjC,IAAAr8B,EAAA,MAC/EhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MAChB,KAAK88B,YAAYgD,KAAKxB,CAAO,GAC/BjC,IAAAjrC,EAAA,QACD,EAEDkvC,iBAAkBhC,EAAS,CAAAjC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACzB,KAAK88B,YAAc,KAAKA,YAAYW,OAAO4C,IAAgBhE,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAAqgC,IAAiB/B,EAAO,CACpF,EAGDiC,mBAAoBC,EAAiB,CAAAnE,IAAAI,EAAA,MACnC,MAAMzjC,GAAAqjC,EAAA,EAAAr8B,EAAA,MAAQ,KAAK48B,SAAS4C,UAAWV,IAAYzC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAA8+B,EAAQf,MAAQyC,EAAgBzC,IAAG,GAAA1B,IAAAr8B,EAAA,MAClFhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MAChB,KAAK48B,SAAS5jC,CAAK,EAAEmkC,SAAWqD,EAAgBrD,SAAAd,IAAAr8B,EAAA,MAChD,KAAK48B,SAAS5jC,CAAK,EAAEynC,OAASD,EAAgBC,QAChDpE,IAAAjrC,EAAA,QACD,EAGDsvC,aAAcvB,EAAS,CACrB,GADqB9C,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MACjBm/B,EAAQwB,QAAQt+B,GAAI,CAAAg6B,IAAAjrC,EAAA,SACtB,MAAMurC,GAAAN,IAAAr8B,EAAA,MAAW,KAAK28B,SAAS4C,MAAM,CAAC,GAChCvmC,GAAAqjC,EAAA,EAAAr8B,EAAQ28B,QAAS6C,UAAWoB,IAAiBvE,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,MAAA4gC,EAAav+B,KAAO88B,EAAQwB,QAAQt+B,GAAE,GACzF,GADyFg6B,IAAAr8B,EAAA,MACrFhH,IAAU,GAAI,CAAAqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,MAEhB28B,EAAS3jC,CAAK,EAAImmC,EAAQwB,QAAAtE,IAAAr8B,EAAA,MAC1B,KAAK28B,SAAWA,EAAAN,IAAAr8B,EAAA,MAChB,MACF,MAAAq8B,IAAAjrC,EAAA,QACF,MAAAirC,IAAAjrC,EAAA,SACA,GADAirC,IAAAr8B,EAAA,MACIm/B,EAAQwB,QAAQE,SAAU,CAAAxE,IAAAjrC,EAAA,SAC5B,MAAMurC,GAAAN,IAAAr8B,EAAA,MAAW,KAAK28B,SAAS4C,MAAM,CAAC,GAChCvmC,GAAAqjC,EAAA,EAAAr8B,EAAQ28B,QAAS6C,UAAWoB,IAAiBvE,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA4gC,EAAaC,WAAa1B,EAAQwB,QAAQE,SAAQ,GACrG,GADqGxE,IAAAr8B,EAAA,OACjGhH,IAAU,GAAI,CAAAqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAEhB28B,EAAS3jC,CAAK,EAAImmC,EAAQwB,QAAAtE,IAAAr8B,EAAA,OAC1B,KAAK28B,SAAWA,EAAAN,IAAAr8B,EAAA,OAChB,MACF,MAAAq8B,IAAAjrC,EAAA,QACF,MAAAirC,IAAAjrC,EAAA,sBAEA,KAAKurC,SAASmD,KAAK,CACjBz9B,GAAI88B,EAAQwB,QAAQt+B,GACpBw+B,SAAU1B,EAAQwB,QAAQE,SAC1B/tB,KAAMqsB,EAAQwB,QAAQ7tB,KACtBD,GAAIssB,EAAQwB,QAAQ9tB,GACpBiuB,KAAM3B,EAAQwB,QAAQG,KACtBC,OAAO1E,IAAAjrC,WAAA+tC,EAAQwB,QAAQI,QAAA1E,EAAA,EAAAjrC,WAAS,OAChC4vC,OAAO3E,IAAAjrC,WAAA+tC,EAAQwB,QAAQK,QAAA3E,EAAA,EAAAjrC,WAAS,OAChCqvC,OAAQ,KACT,EAGD,MAAM9D,GAAAN,IAAAr8B,EAAA,OAAW,KAAK28B,SAAS4C,MAAM,CAAC,GAChC0B,GAAA5E,EAAA,EAAAr8B,EAAQ,YAAKkhC,QAAA7E,IAAAr8B,EAAA,OACnB28B,EAASwE,KAAK,CAAChwC,EAAGC,KAAMirC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OACfihC,EAAM9vC,EAAE4vC,KAAK,EAAEK,QAAQH,EAAM7vC,EAAE2vC,KAAK,CAAC,EAC7C,EAAA1E,IAAAr8B,EAAA,OACD,KAAK28B,SAAWA,EAGhB,SAAS0E,EAAgBhC,EAAY,CAAAhD,IAAAI,EAAA,MACnC,MAAM6C,GAAAjD,EAAAr8B,WAAOq/B,EAAWE,MAAM,CAAC,GACzBvmC,GAAAqjC,EAAA,EAAAr8B,EAAQs/B,SAAKE,UAAWpvC,IAASisC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA5P,EAAK2tC,MAAQoB,EAAQwB,QAAQ7tB,KAAKwuB,KAAI,GAAAjF,WAAAr8B,EAAA,OACzEhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACZq8B,EAAA,EAAAjrC,EAAA,SAAAkuC,EAAKtmC,CAAK,EAAEymC,cAAgB8B,SAAAlF,EAAA,EAAAjrC,EAAA,SAAakuC,EAAKtmC,CAAK,EAAEymC,cAAgB,OAAMpD,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAC7Es/B,EAAKtmC,CAAK,EAAEymC,YAAc,IACrBpD,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACLs/B,EAAKtmC,CAAK,EAAEymC,gBAEhBpD,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACOs/B,CACT,CACA,GADAjD,IAAAr8B,EAAA,OACI,KAAKo9B,wBAAyB,CAAAf,IAAAjrC,EAAA,SAChC,MAAM4pC,GAAAqB,IAAAr8B,EAAA,OAAa86B,GAAqB,GAACuB,IAAAr8B,EAAA,OACrCq8B,EAAA,EAAAjrC,EAAA,SAAA4pC,EAAW3sC,QAAU,WAAAguC,EAAAjrC,aAAYmrC,KAAqB,OAAMF,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAC9Du8B,GAAiB,CACfuE,KAAM,gCACNU,SAAU,GACV1Y,IAAK,SACN,GACHuT,IAAAjrC,EAAA,QACF,MAAAirC,IAAAjrC,EAAA,SACA,GADAirC,IAAAr8B,EAAA,OACIm/B,EAAQwB,QAAQ7tB,KAAKwuB,OAAS,KAAK5E,WAAY,CAAAL,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAEjD,MACF,MAAAq8B,IAAAjrC,EAAA,SACA,OADAirC,IAAAr8B,EAAA,OACQm/B,EAAQ7oC,KAAI,CAClB,IAAK,OAAM+lC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACT,KAAK48B,SAAWyE,EAAe,KAAKzE,QAAQ,EAAAP,IAAAr8B,EAAA,OAC5C,MACF,IAAK,YAAWq8B,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACd,KAAK+8B,WAAasE,EAAe,KAAKtE,UAAU,EAAAV,IAAAr8B,EAAA,OAChD,KACJ,CACD,EAEDyhC,cAAed,EAAS,CACtB,GADsBtE,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OACjB2gC,EAAQE,SAEbxE,IAAAjrC,EAAA,aAFuB,CAAAirC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACrB,MACF,CACA,MAAMhH,GAAAqjC,EAAA,EAAAr8B,EAAA,OAAQ,KAAK28B,SAAS6C,UAAWoB,IAAiBvE,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA4gC,EAAaC,WAAaF,EAAQE,SAAQ,GAClG,GADkGxE,IAAAr8B,EAAA,OAC9FhH,IAAU,GAAI,CAAAqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAChB,MACF,MAAAq8B,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACA,KAAK28B,SAAS3jC,CAAK,EAAI,CACrB,GAAG,KAAK2jC,SAAS3jC,CAAK,EACtB,GAAG2nC,CACL,CACD,EAEDe,iBAAkBr/B,EAAIs/B,EAAMhB,EAAS,CAAAtE,IAAAI,EAAA,MACnC,MAAMzjC,GAAAqjC,EAAA,EAAAr8B,EAAA,OAAQ,KAAK28B,SAAS6C,UAAWoB,IAAiBvE,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA4gC,EAAav+B,KAAOA,EAAE,GAAAg6B,IAAAr8B,EAAA,OAC1EhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAChB,KAAK28B,SAAS3jC,CAAK,EAAEynC,OAAS,CAC5BkB,OACAhB,SACF,GACFtE,IAAAjrC,EAAA,QACD,EAGDwwC,yBAA0B3E,EAAuB,CAAAZ,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAC/C,KAAKi9B,sBAAwBA,CAC9B,EAED4E,gBAAiB,CAAEvD,UAASP,MAAKZ,UAAS,EAAG,CAAAd,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OACtC,KAAKg9B,eAAegB,KAAMK,IAAkBhC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAAq+B,EAAcC,UAAYA,EAAO,EAMlFjC,IAAAjrC,EAAA,UANqFirC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAEnF,KAAKg9B,eAAe8C,KAAK,CACvBxB,UACAC,UAAW,GACZ,GAEH,MAAMuD,GAAAzF,EAAA,EAAAr8B,EAAA,OAAY,KAAKg9B,eAAewC,UAAWnB,IAAkBhC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAAq+B,EAAcC,UAAYA,EAAO,GAC9FM,GAAAvC,EAAA,EAAAr8B,EAAW,QACf+9B,MACAZ,UACF,GACM4E,GAAA1F,EAAA,EAAAr8B,EAAA,OAAgB,KAAKg9B,eAAe8E,CAAS,EAAEvD,UAAUiB,UAAWZ,IAAavC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA4+B,EAASb,MAAQA,EAAG,GAC3G,GAD2G1B,IAAAr8B,EAAA,OACvG+hC,IAAkB,GAAI,CAAA1F,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAExB,KAAKg9B,eAAe8E,CAAS,EAAEvD,UAAUwD,CAAa,EAAInD,EAAAvC,IAAAr8B,EAAA,OAC1D,MACF,MAAAq8B,IAAAjrC,EAAA,sBAEA,KAAK4rC,eAAe8E,CAAS,EAAEvD,UAAUuB,KAAKlB,CAAQ,CACvD,EAEDoD,mBAAoB,CAAE1D,UAASP,KAAI,EAAG,CAAA1B,IAAAI,EAAA,MACpC,MAAMqF,GAAAzF,EAAA,EAAAr8B,EAAA,OAAY,KAAKg9B,eAAewC,UAAWnB,IAAkBhC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAAq+B,EAAcC,UAAYA,EAAO,GACpG,GADoGjC,IAAAr8B,EAAA,OAChG8hC,IAAc,GAAI,CAAAzF,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACpB,MACF,MAAAq8B,IAAAjrC,EAAA,SACA,MAAM4H,GAAAqjC,EAAA,EAAAr8B,EAAA,OAAQ,KAAKg9B,eAAe8E,CAAS,EAAEvD,UAAUiB,UAAWZ,IAAavC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA4+B,EAASb,MAAQA,EAAG,GAAA1B,IAAAr8B,EAAA,OAC/FhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAChB,KAAKg9B,eAAe8E,CAAS,EAAEvD,UAAU0D,OAAOjpC,EAAO,CAAC,GAC1DqjC,IAAAjrC,EAAA,QACD,EAGD8wC,aAAc,CAAEnE,MAAKznC,OAAMuoC,WAAU,EAAG,CACtC,GADsCxC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAClC1J,IAAS,OAAQ,CAAA+lC,IAAAjrC,EAAA,SACnB,MAAM4H,GAAAqjC,EAAA,EAAAr8B,EAAA,OAAQ,KAAK48B,SAAS4C,UAAWV,IAAYzC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA8+B,EAAQf,MAAQA,EAAIuD,KAAI,GAAAjF,IAAAr8B,EAAA,OACvEhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAChB,KAAK48B,SAAS5jC,CAAK,EAAE6lC,UAAYA,GACnCxC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACA,MACF,MAAAq8B,IAAAjrC,EAAA,SACA,GADAirC,IAAAr8B,EAAA,OACI1J,IAAS,YAAa,CAAA+lC,IAAAjrC,EAAA,SACxB,MAAM0wC,GAAAzF,EAAA,EAAAr8B,EAAA,OAAY,KAAKg9B,eAAewC,UAAWnB,IAAkBhC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAAq+B,EAAcC,UAAYP,EAAIuD,KAAI,GACrG,GADqGjF,IAAAr8B,EAAA,OACjG8hC,IAAc,GAAI,CAAAzF,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OACpB,MACF,MAAAq8B,IAAAjrC,EAAA,SACA,MAAM4H,GAAAqjC,EAAA,EAAAr8B,EAAA,OAAQ,KAAKg9B,eAAe8E,CAAS,EAAEvD,UAAUiB,UAAWZ,IAAavC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAAA4+B,EAASb,MAAQA,EAAIoE,KAAI,GAAA9F,IAAAr8B,EAAA,OACpGhH,IAAU,IAAIqjC,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAChB,KAAKg9B,eAAe8E,CAAS,EAAEvD,UAAUvlC,CAAK,EAAE6lC,UAAYA,GAC9DxC,IAAAjrC,EAAA,QACF,MAAAirC,IAAAjrC,EAAA,QACD,EAEDgxC,sBAAuBhF,EAAyB,CAAAf,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OAC9C,KAAKo9B,wBAA0BA,EAAAf,IAAAr8B,EAAA,OAC3Bq8B,EAAA,EAAAjrC,WAAAgsC,IAAAf,EAAA,EAAAjrC,EAAA,SAA2BmrC,KAAqB,OAAMF,IAAAjrC,EAAA,SAAAirC,IAAAr8B,EAAA,OAEvD,CAAEk8B,KAAMK,EAAiB,EAAIb,GAAmB,CAC/C2G,MAAOzG,OAAO0G,OAAOxxC,KACrByxC,KAAM,wCACNn+B,IAAK,OACLo+B,KAAM,IACR,CAAC,GACHnG,IAAAjrC,EAAA,QACD,EAGDqxC,OAAS,CAAApG,IAAAI,EAAA,MACP,MAAMiG,GAAArG,IAAAr8B,EAAA,OAAew8B,GAAe,GAACH,IAAAr8B,EAAA,OACrC2iC,OAAOx1B,KAAKu1B,CAAY,EAAE/C,QAAShzC,GAAQ,CAAA0vC,IAAAI,EAAA,MAAAJ,IAAAr8B,EAAA,OACzC,KAAKrT,CAAG,EAAI+1C,EAAa/1C,CAAG,EAC7B,CACH,CACF,CACF,CAAC,4kJCjWE,OAAAi2C,GAAA,kBAAAtG,CAAA,EAAAA,CAAAsG,CAbHA,KAIE9xC,MAAI+xC,IAAOD,GAAA,UACX1yB,WAAW0yB,eAAA5iC,EAAA,KACT4iC,OAAI,CAAAxxC,IAAqEwxC,KAAA,gDAAAA,KAAA,oCAAAA,KAAA5iC,EAAA,QACvE+6B,KAAiBa,OACnB,mCAAAgH,GAAA,YAEAA,KAAqB,OAAwBA,sBAAA,yBAC7ChH,KAAuB,OAAmCgH,wBAAA,mCAC1DhH,KAAuB,OACxB,yDACDhsB,EACE,SACAkzB,SAAyB,CAAE,qBAAAF,mBAAAnG,EAAA,CAAAmG,KAAA5iC,EAAA,KACzB4iC,KAAqB,OACvB,sBAAAjgB,EAAA,gBACF,CACF,IA5BUogB,IAAKH,GAAA,UAACI,+GAAd,OAAAJ,KAAA,OACoBK,EAAA,EAAAC,EAAA,MAAAH,GAAA,CAAA5d,EAAAge,EAAA,CAAQ,KAC1Bhe,kDCAJ,SAASie,GAAS/0C,EAAO,CACrB,OAAIA,EAAQ,EACD,GACJA,EAAQ,EAAI,EAAI,CAC3B,CACA,MAAMg1C,GAAO,KAAK,MAAQD,GAO1B,SAASE,GAAQ12C,EAAKo5B,EAAM,CACxB,OAAQp5B,EAAMo5B,KAAUA,CAC5B,CAOA,SAASud,GAAIzzC,EAAGyzC,EAAK,CACjB,OAASzzC,EAAIyzC,EAAOA,GAAOA,CAC/B,CAQA,SAASC,GAAM52C,EAAK62C,EAAKC,EAAK,CAC1B,OAAO,KAAK,IAAID,EAAK,KAAK,IAAIC,EAAK92C,CAAG,CAAC,CAC3C,CAIA,SAAS+2C,EAAeh0C,EAAK2yB,EAAMpkB,EAAe,OAAW,CACzD,MAAM7P,EAAQi0B,EAAK,MAAM,GAAG,EAAE,OAAO,CAACuQ,EAAG,IAAM,OAAOA,EAAM,IAAcA,EAAE,CAAC,EAAI,OAAWljC,CAAG,EAC/F,OAAO,OAAOtB,EAAU,IAAcA,EAAQ6P,CAClD,CAkBA,SAAS0lC,GAAQxsC,EAAOzH,EAAKhB,EAAI,CAC7B,GAAI,CAACyI,EACD,MAAO,GACX,GAAI,CAACzI,GAAM,OAAOA,GAAO,WACrB,OAAOyI,EAAM,QAAQzH,CAAG,EAC5B,QAASpC,EAAI,EAAGA,EAAI6J,EAAM,OAAQ7J,IAC9B,GAAIoB,EAAGyI,EAAM7J,CAAC,EAAGoC,CAAG,EAChB,OAAOpC,EAGf,MAAO,EACX,CAIA,MAAMW,GAAYkC,GAAS,OAAOA,GAAS,UAAY,CAAC,MAAM,QAAQA,CAAI,EACpEyzC,GAAU,CAACxtC,EAAQ4H,EAAQmB,EAAO,KAAU,CAC9C,GAAIA,GAAQ,CAAC,OAAO,OAAQ,CACxB,MAAM0kC,EAAU5sB,GAAShpB,GAAS+P,EAAOiZ,CAAI,CAAC,GAC1C7gB,IAAW,MACX,OAAO,UAAU,eAAe,KAAKA,EAAQ6gB,CAAI,GACjDhpB,GAASmI,EAAO6gB,CAAI,CAAC,EACzB,IAAI6sB,EACJ,OAAI9lC,IAAW,MAAQ,OAAOA,EAAW,IACrC8lC,EAAW,GAGXA,EAAW,OAAO,oBAAoB9lC,CAAM,EACvC,IAAKiZ,IAAU,CAAE,CAACA,CAAI,EAAG4sB,EAAO5sB,CAAI,EAC/B2sB,GAAQxtC,EAAO6gB,CAAI,EAAGjZ,EAAOiZ,CAAI,EAAG9X,CAAI,EACxCnB,EAAOiZ,CAAI,CAAC,EAAG,EACpB,OAAO,CAAC/lB,EAAGC,KAAO,CAAE,GAAGD,EAAG,GAAGC,CAAC,GAAK,EAAE,EAEvC,CACH,GAAGiF,EACH,GAAG0tC,CACf,CACK,KAEG,QAAO,OAAO,OAAO1tC,EAAQ4H,CAAM,CAE3C,EACM+lC,GAAQH,GAKRI,GAAW,CACb,QAAS,UAAY,CACjB,OAAQ,OAAO,OAAW,KACtB,OAAO,UAAU,UAAU,MAAM,UAAU,CAClD,EACD,WAAY,UAAY,CACpB,OAAQ,OAAO,OAAW,KACtB,OAAO,UAAU,UAAU,MAAM,aAAa,CACrD,EACD,IAAK,UAAY,CACb,OAAQ,OAAO,OAAW,KACtB,OAAO,UAAU,UAAU,MAAM,mBAAmB,CAC3D,EACD,MAAO,UAAY,CACf,OAAQ,OAAO,OAAW,KACtB,OAAO,UAAU,UAAU,MAAM,aAAa,CACrD,EACD,QAAS,UAAY,CACjB,OAAQ,OAAO,OAAW,KACtB,OAAO,UAAU,UAAU,MAAM,WAAW,CACnD,EACD,IAAK,UAAY,CACb,OAAQA,GAAS,QAAS,GACtBA,GAAS,WAAY,GACrBA,GAAS,IAAK,GACdA,GAAS,MAAO,GAChBA,GAAS,QAAO,CACvB,CACL,EAKA,SAASC,IAAW,CAChB,OAAO,OAAO,OAAW,KAClB,OAAO,UAAU,UAAU,QAAQ,cAAc,IAAM,IACvD,OAAO,UAAU,UAAU,QAAQ,SAAS,IAAM,EAC7D,CACA,SAASC,GAAc72C,EAAI,CACnB,OAAOA,EAAG,OAAW,IACrBA,EAAG,OAAM,EAEJ,OAAOA,EAAG,WAAe,KAAeA,EAAG,aAAe,MAC/DA,EAAG,WAAW,YAAYA,CAAE,CAEpC,CACA,SAAS82C,GAAsB92C,EAAI,CAC/B,MAAMuwB,EAAO,SAAS,cAAc,KAAK,EACzCA,EAAK,MAAM,SAAW,WACtBA,EAAK,MAAM,KAAO,MAClBA,EAAK,MAAM,IAAM,MACjB,MAAMsL,EAAU,SAAS,cAAc,KAAK,EAC5C,OAAAtL,EAAK,YAAYsL,CAAO,EACxBA,EAAQ,YAAY77B,CAAE,EACtB,SAAS,KAAK,YAAYuwB,CAAI,EACvBA,CACX,CAKA,SAASwmB,GAAkBh2C,EAAO,CAC9B,OAAKA,GAEEA,EAAM,QAAQ,sCAAuC,MAAM,CACtE,CAYA,SAASi2C,GAAeC,EAAO,CAC3B,OAAOA,IAAU,OAAY,KAAQ,MAAMA,CAAK,EAAIA,EAAQA,EAAQ,IACxE,CACA,SAASC,GAAiBn2C,EAAO,CAC7B,OAAO,OAAOA,EAAU,KAAeA,IAAU,KAAOA,EAAQ,EACpE,CACA,SAASo2C,GAAmBp2C,EAAO6P,EAAc,CAC7C,OAAO,OAAO7P,EAAU,KAAeA,IAAU,KAAOA,EAAQ6P,CACpE,CACA,SAASwmC,GAAcC,EAAS,OAAWC,EAAS,OAAQ,CACxD,MAAMC,EAAQ,GACd,QAASt3C,EAAI,EAAGA,EAAI,GAAIA,IACpBs3C,EAAM,KAAK,IAAI,KAAK,IAAMt3C,EAAG,EAAE,CAAC,EAEpC,MAAMu3C,EAAM,IAAI,KAAK,eAAeH,EAAQ,CACxC,MAAOC,CACf,CAAK,EACD,OAAOC,EAAM,IAAK7X,GAAM8X,EAAI,OAAO9X,CAAC,CAAC,CACzC,CACA,SAAS+X,GAAgBJ,EAAS,OAAWK,EAAiB,EAAGJ,EAAS,SAAU,CAChF,MAAMC,EAAQ,GACd,QAAS,EAAI,EAAGt3B,EAAI,EAAGA,EAAI,EAAG,IAAK,CAC/B,MAAMyf,EAAI,IAAI,KAAK,IAAM,EAAG,CAAC,GACjBA,EAAE,WACFgY,GAAkBz3B,EAAI,KAC9Bs3B,EAAM,KAAK7X,CAAC,EACZzf,IAEP,CACD,MAAMu3B,EAAM,IAAI,KAAK,eAAeH,EAAQ,CACxC,QAASC,CACjB,CAAK,EACD,OAAOC,EAAM,IAAK7X,GAAM8X,EAAI,OAAO9X,CAAC,CAAC,CACzC,CASA,SAASiY,GAAgBC,EAASz4C,EAAK,CACnC,MAAM04C,EAAU14C,EAAI,MAAMy4C,CAAO,EACjC,OAAOA,EAEF,SAAU,EAEV,MAAM,UAAU,EAEhB,IAAKtF,GAAU,CAChB,MAAMwF,EAAexF,EAAM,MAAM,QAAQ,EACzC,MAAI,CAACwF,GAAgBA,EAAa,QAAU,EACjC,KAEJxF,EAAM,MAAM,QAAQ,EAAE,CAAC,CACtC,CAAK,EAEI,OAAO,CAAC3mC,EAAKosC,EAAMrsC,KAChBmsC,GAAWA,EAAQ,OAASnsC,EAC5BC,EAAIosC,CAAI,EAAIF,EAAQnsC,EAAQ,CAAC,EAG7BC,EAAIosC,CAAI,EAAI,KAETpsC,GACR,CAAE,EACT,CAWA,SAASqsC,GAASC,EAAMC,EAAMrmC,EAAW,CACrC,IAAI4sB,EACJ,OAAO,UAAY,CACf,MAAM/X,EAAU,KACVpc,EAAO,UACP6tC,EAAQ,UAAY,CACtB1Z,EAAU,KACL5sB,GACDomC,EAAK,MAAMvxB,EAASpc,CAAI,CACxC,EACc8tC,EAAUvmC,GAAa,CAAC4sB,EAC9B,aAAaA,CAAO,EACpBA,EAAU,WAAW0Z,EAAOD,CAAI,EAC5BE,GACAH,EAAK,MAAMvxB,EAASpc,CAAI,CACpC,CACA,CACA,SAAS+tC,GAASl5C,EAAKm5C,EAAQ,CAC3B,OAAOn5C,EAAI,QAAQm5C,EAAQn5C,EAAI,OAASm5C,EAAO,MAAM,IAAM,EAC/D,CACA,MAAMC,GAAa7Y,GAAMA,IAAM,OAK/B,SAAS8Y,GAA2Bz3C,EAAO,CACvC,OAAKA,GAEEA,EAAM,UAAU,KAAK,EAAE,QAAQ,mBAAoB,EAAE,CAChE,CClSA,IAAIi0C,GAAS,CACT,SAAU,MACV,mBAAoB,GACpB,WAAY,GACZ,iBAAkB,MACtB,EACA,MAAMyD,GAAc7mC,GAAY,CAAEojC,GAASpjC,CAAQ,EAC7C8mC,EAAa,IAAe1D,GAClC,IAAI2D,GACJ,MAAMC,GAAkBC,GAAQ,CAAEF,GAAcE,CAAI,EAC9CC,GAAe,CACjB,WAAAJ,EACA,WAAW9mC,EAAS,CAChB6mC,GAAW/B,GAAMgC,EAAU,EAAI9mC,EAAS,EAAI,CAAC,CAChD,CACL,ECbMmnC,GAA0B,CAACC,EAAOV,IAC7BpB,GAAiB8B,CAAK,EACxB,MAAM,GAAG,EACT,OAAQ7a,GAAQA,EAAI,OAAS,CAAC,EAC9B,IAAKA,GAAQA,EAAMma,CAAM,EACzB,KAAK,GAAG,EAEXW,GAAeC,GAAO,CAExB,MAAMzxC,GADgByxC,EAAG,SAAS,SAAW,OAAO,KAAKA,EAAG,SAAS,QAAQ,EAAI,IAClD,OAAOlyC,GAAK,CAACqxC,GAASrxC,EAAG,SAAS,CAAC,EAAE,OAAO,CAACu+B,EAAGlmC,KAC3EkmC,EAAElmC,CAAG,EAAI65C,EAAG75C,CAAG,EACRkmC,GACR,CAAE,GACL,MAAO,CAAE,MAAO2T,EAAG,OAAQ,KAAMA,EAAG,MAAO,SAAAzxC,EAC/C,EACA,IAAI0xC,GAAqBv9B,GAAgB,CACrC,QAAS,GACT,MAAO,CACH,SAAU,OACb,EACD,QAAS,CACL,cAAcw9B,EAAOxoC,EAAc0nC,EAAS,GAAI,CAC5C,MAAMtD,EAAS,KAAK,OAAO,WAAa,GAAO,GAAK0D,IAC9CW,EAAW,KAAK,OAAO,UAAYhD,EAAerB,EAAQ,GAAG,KAAK,SAAS,WAAW,YAAa,EAAK,EACxGsE,EAAgBjD,EAAerB,EAAQ,GAAG,KAAK,SAAS,WAAW,IAAIoE,CAAK,YAAaC,CAAQ,EACjGE,EAAyBlD,EAAerB,EAAQ,mBAAoB,MAAS,EAC7EwE,EAAwBnD,EAAerB,EAAQ,GAAG,KAAK,SAAS,WAAW,oBAAqB,MAAS,EAC/G,IAAIyE,EAAcpD,EAAerB,EAAQ,GAAG,KAAK,SAAS,WAAW,IAAIoE,CAAK,SAAU,EAAE,GACnF/C,EAAerB,EAAQ,GAAG,KAAK,SAAS,WAAW,IAAIoE,CAAK,GAAI,EAAE,EACrEM,EAAerD,EAAe,KAAK,OAAQ+C,CAAK,EAChD,MAAM,QAAQM,CAAY,IAC1BA,EAAeA,EAAa,KAAK,GAAG,GAEpC9oC,EAAa,OAAO,KAAK,IAAM,GAC/BA,EAAeA,EAAa,QAAQ,UAAW0nC,CAAM,EAGrD1nC,EAAeA,EAAe0nC,EAElC,IAAI5xB,EAAU,KACV,OAAOgzB,GAAiB,YACxBhzB,EAAUuyB,GAAY,IAAI,EAC1BS,EAAeA,EAAapB,EAAQ5xB,CAAO,GAG3CgzB,EAAeX,GAAwBW,EAAcpB,CAAM,EAE3D,OAAOmB,GAAgB,WACvBA,EAAcA,EAAYnB,EAAQ5xB,GAAWuyB,GAAY,IAAI,CAAC,EAG9DQ,EAAcV,GAAwBU,EAAanB,CAAM,EAE7D,IAAIqB,EAAkB,GAAIN,GAAY,CAACC,GAAmB,CAACD,GAAY,CAACC,EAAiB1oC,EAAe,EAAE,IACjGsmC,GAAiBuC,CAAW,CAAC,IAC7BvC,GAAiBwC,CAAY,CAAC,GAAI,KAAI,EAAG,QAAQ,SAAU,GAAG,EACvE,OAAIF,IACAG,EAAiBH,EAAsBG,CAAc,GAErDJ,IACAI,EAAiBJ,EAAuBI,CAAc,GAEnDA,CACV,CACJ,CACL,CAAC,EAGD,MAAMC,GAAQ,GAEd,SAASC,GAAgBC,EAAU/6B,EAAW,CAC1C66B,GAAME,CAAQ,EAAI/6B,CACtB,CAEA,SAASg7B,IAAkB,CACvB,MAAO,CAAEH,SAAO,gBAAAC,GACpB,CAEA,MAAMG,GAAiB,CAAClzB,EAAKE,IAAW,CACpCF,EAAI,IAAIE,CAAM,CAClB,EACMizB,GAAoB,CAACnzB,EAAK/H,IAAc,CAC1C+H,EAAI,UAAU/H,EAAU,KAAMA,CAAS,CAC3C,EACMm7B,GAAgC,CAACpzB,EAAKgzB,EAAU/6B,IAAc,CAEhE,KAAM,CAAE,MAAA66B,EAAO,gBAAAC,CAAiB,EAAGE,GAAe,EAElDF,EAAgBC,EAAU/6B,CAAS,EAE7B+H,EAAI,SAAS,UAAYA,EAAI,SAAS,SAAS,OACjDA,EAAI,QAAQ,QAAS8yB,CAAK,EACzB9yB,EAAI,OAAO,iBAAiB,SAC7BA,EAAI,OAAO,iBAAiB,OAAS8yB,EAC7C,EC7FMO,GAAW,CACb,MAAO,CACH,QAAW,WACX,MAAS,KACT,OAAU,WACV,MAAS,UACZ,EACD,WAAY,MAChB,EACMC,GAAU,IAAM,CAElB,MAAMC,EADgBhE,EAAeqC,EAAY,EAAE,eAAe,EAC7B,GAAK,MAC1C,MAAO,CACH,MAAO,CACH,QAAW,KACX,MAAS,KACT,OAAU2B,EAAe,KACzB,MAASA,EAAe,IAC3B,EACD,WAAYA,EACZ,cAAe,CACX,MAAS,QACT,YAAe,cACf,MAAS,uBACT,eAAgB,qBAChB,WAAY,WACZ,gBAAiB,cACjB,eAAgB,aAChB,eAAgB,aAChB,aAAc,WACd,IAAO,MACP,UAAW,YACX,aAAc,aACd,WAAY,WACZ,eAAgB,eAChB,MAAS,QACT,QAAW,cACd,CACT,CACA,EACMC,GAAW,IAAM,CACnB,IAAIC,EAAQ,CACR,IAAKJ,GACL,GAAIC,GAAS,EACb,IAAKA,GAAS,EACd,IAAKA,GAAS,EACd,IAAKA,GAAS,EACd,IAAKA,GAAS,EACd,IAAKA,GAAS,CACtB,EACI,MAAMI,EAAkBnE,EAAeqC,EAAY,EAAE,iBAAiB,EACtE,OAAI8B,IACAD,EAAQ7D,GAAM6D,EAAOC,EAAiB,EAAI,GAEvCD,CACX,EAOA,IAAIE,GAAS7+B,GAAgB,CACzB,KAAM,QACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,OACb,MAAO,CAKH,QAAS,CAAC,OAAQ,MAAM,EAIxB,UAAW,OAKX,KAAM,OAIN,KAAM,OAKN,KAAM,OAKN,WAAY,OAIZ,YAAa,OAIb,UAAW,QAEX,KAAM,QAEN,SAAU,CAAC,OAAQ,MAAM,EAEzB,KAAM,QACN,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,iBAAkB,mBAAmB,CAAC,EAAG,KAAK,SAAW,EAC/E,CAAE,CAAC,KAAK,cAAc,YAAa,cAAc,CAAC,EAAG,KAAK,IAAM,EAChE,CAAE,CAAC,KAAK,cAAc,YAAa,WAAY,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACvE,CAAE,CAAC,KAAK,cAAc,eAAgB,WAAY,KAAK,UAAU,CAAC,EAAG,KAAK,UAAY,CACtG,CACS,EACD,WAAY,CACR,MAAMjhB,EAAQ,GACd,OAAI,KAAK,WACLA,EAAM,UAAe,UAAU,KAAK,QAAQ,QAEzCA,CACV,EACD,YAAa,CACT,OAAOoiB,GAAU,EAAC,KAAK,OAAO,CACjC,EACD,YAAa,CACT,OAAI,KAAK,YAAc,KAAK,WAAW,WAC5B,KAAK,WAAW,WAEpB,EACV,EAMD,SAAU,CACN,MAAO,GAAG,KAAK,UAAU,GAAG,KAAK,oBAAoB,KAAK,IAAI,CAAC,EAClE,EACD,SAAU,CACN,OAAO,KAAK,MAAQjE,EAAeqC,EAAU,EAAI,WAAY,KAAK,CACrE,EACD,YAAa,CACT,GAAI,CAAC,KAAK,QACN,OACJ,IAAIgC,EAAa,GACjB,OAAI,OAAO,KAAK,SAAY,SACxBA,EAAa,KAAK,QAGlBA,EAAa,OAAO,KAAK,KAAK,OAAO,EAAE,OAAOr7C,GAAO,KAAK,QAAQA,CAAG,CAAC,EAAE,CAAC,EAEtEq7C,CACV,EACD,eAAgB,CACZ,OAAO,KAAK,YAAc,KAAK,gBAClC,EACD,kBAAmB,CACf,GAAI,KAAK,YAAc,KAAK,WAAW,MAAO,CAC1C,GAAI,KAAK,MAAQ,KAAK,WAAW,MAAM,KAAK,IAAI,IAAM,OAClD,OAAO,KAAK,WAAW,MAAM,KAAK,IAAI,EAErC,GAAI,KAAK,WAAW,MAAM,QAC3B,OAAO,KAAK,WAAW,MAAM,OAEpC,CACD,OAAO,IACV,EACD,kBAAmB,CACf,GAAI,KAAK,UACL,OAAO,KAAK,UAChB,MAAM37B,EAAYs3B,EAAeqC,EAAY,EAAE,eAAe,EAC9D,OAAI35B,GAEG,IACV,CACJ,EACD,QAAS,CAIL,oBAAoBhe,EAAO,CAEvB,OAAK,KAAK,MAGN,KAAK,YACL,KAAK,WAAW,eAChB,KAAK,WAAW,cAAcA,CAAK,EAC5B,KAAK,WAAW,cAAcA,CAAK,EALnCA,CAQd,CACJ,CACL,CAAC,EAED,SAASsiB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,OAAQ,CACtC,MAAOq6B,EAAK,YACZ,MAAOA,EAAK,SAChB,EAAK,CAAEA,EAAK,kBAKJt6B,EAAS,EAAIC,EAAY3E,GAAU,CACvC,IAAK,CACT,EAAK,CAACmd,EAAmB,yBAAyB,GAAIzY,EAAS,EAAIC,EAAYxB,GAAwB67B,EAAK,gBAAgB,EAAG,CAC3H,KAAM,CAACA,EAAK,QAASA,EAAK,OAAO,EACjC,KAAMA,EAAK,cACX,MAAO,CAACA,EAAK,WAAW,CACzB,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,OAAO,CAAC,EAAG,EAAE,EAE/B,IAf6Bt6B,EAAW,EAAEC,EAAY,IAAK,CAC1D,IAAK,EACL,MAAO,CAACq6B,EAAK,QAASA,EAAK,QAASA,EAAK,cAAeA,EAAK,WAAW,CACzE,EAAE,KAAM,CAEX,EAUI,EAAG,CAEP,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,+BCxOhB,IAAIQ,GAAmBr/B,GAAgB,CACnC,OAAQ,CACJ,OAAQ,CAAE,KAAM,SAAU,QAAS,EAAO,CAC7C,EACD,MAAO,CAAC,OAAQ,OAAO,EACvB,MAAO,CAIH,SAAU,QAIV,QAAS,QAIT,KAAM,OAKN,SAAU,OAEV,aAAc,OAEd,UAAW,CAAC,OAAQ,MAAM,EAE1B,mBAAoB,CAChB,KAAM,QACN,QAAS,IACEy6B,EAAeqC,EAAU,EAAI,qBAAsB,EAAI,CAErE,EAED,WAAY,CACR,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,aAAc,EAAI,CAE7D,EAID,kBAAmB,MACtB,EACD,MAAO,CACH,MAAO,CACH,QAAS,GACT,UAAW,GACX,YAAa,KAAK,QAC9B,CACK,EACD,SAAU,CACN,aAAc,CACV,OAAO,KAAK,MACf,EAID,eAAgB,CACZ,GAAK,KAAK,aAEL,KAAK,YAAY,WAEtB,IAAI,OAAO,KAAK,YAAY,YAAe,SACvC,OAAO,KAAK,YAAY,WAGxB,UAAWr5C,KAAO,KAAK,YAAY,WAC/B,GAAI,KAAK,YAAY,WAAWA,CAAG,EAC/B,OAAOA,EAItB,EAID,eAAgB,CACZ,GAAK,KAAK,YAEV,OAAO,KAAK,YAAY,YAAc,KAAK,YAAY,cAC1D,EAID,mBAAoB,CAOhB,OAN0Bg3C,EAAeqC,EAAU,EAAI,oBAAqB,CACxE,QAAW,QACX,OAAU,eACV,KAAQ,cACR,QAAW,OAC3B,CAAa,EACwB,KAAK,aAAa,GAAK,EACnD,CACJ,EACD,QAAS,CAIL,OAAQ,CACJ,MAAM14C,EAAK,KAAK,aACXA,GAEL,KAAK,UAAU,IAAM,CACbA,GACAA,EAAG,MAAK,CAC5B,CAAa,CACJ,EACD,OAAOq1B,EAAO,CACV,KAAK,UAAY,GACb,KAAK,cACL,KAAK,YAAY,UAAY,IAEjC,KAAK,MAAM,OAAQA,CAAK,EACxB,KAAK,mBAAkB,CAC1B,EACD,QAAQA,EAAO,CACX,KAAK,UAAY,GACb,KAAK,cACL,KAAK,YAAY,UAAY,IAEjC,KAAK,MAAM,QAASA,CAAK,CAC5B,EACD,YAAa,CACT,IAAIr1B,EAAK,KAAK,MAAM,KAAK,WAAW,EACpC,KAAOA,GAAMA,EAAG,aACZA,EAAKA,EAAG,MAAMA,EAAG,WAAW,EAEhC,OAAOA,CACV,EACD,YAAa,CACT,MAAMk7C,EAAU,SACV7H,EAAU,KAAK,mBAAqB,KAAK,WAAY,EAAC,kBAC5D,KAAK,YAAY6H,EAAS7H,CAAO,CACpC,EACD,YAAY6H,EAAS7H,EAAS,CAC1B,KAAK,UAAU,IAAM,CACb,KAAK,cAEA,KAAK,YAAY,UAClB,KAAK,YAAY,WAAa6H,GAG7B,KAAK,YAAY,UAClB,KAAK,YAAY,WAAa7H,GAGtD,CAAa,CACJ,EAMD,oBAAqB,CACjB,GAAI,CAAC,KAAK,mBACN,OACJ,MAAMrzC,EAAK,KAAK,aAChB,GAAKA,EAEL,OAAKA,EAAG,iBAKJ,KAAK,YAAY,KAAM,IAAI,EAC3B,KAAK,QAAU,KALf,KAAK,WAAU,EACf,KAAK,QAAU,IAMZ,KAAK,OACf,EACD,WAAWe,EAAO,CACV,KAAK,cACL,KAAK,YAAY,SAAW,CAAC,CAACA,EAErC,CACJ,CACL,CAAC,EC1KG05C,GAAS7+B,GAAgB,CACzB,KAAM,SACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,EACpB,EACD,OAAQ,CAAChC,GAAoB8B,EAAgB,EAC7C,YAAa,QACb,aAAc,GACd,MAAO,CAAC,oBAAqB,aAAc,kBAAkB,EAC7D,MAAO,CAEH,WAAY,CAAC,OAAQ,MAAM,EAE3B,aAAc,OAKd,KAAM,CACF,KAAM,OACN,QAAS,MACZ,EAKD,KAAM,OAKN,QAAS,OAIT,eAAgB,QAIhB,cAAe,QAIf,WAAY,CACR,KAAM,QACN,QAAS,IAAe5E,EAAeqC,EAAU,EAAI,gBAAiB,EAAK,CAC9E,EAID,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAID,UAAW,OAIX,mBAAoB,QAEpB,iBAAkB,OAElB,UAAW,CACP,KAAM,QACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,kBAAmB,EAAK,CAChF,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,WACf,QAAS,KAAK,KAEd,gBAAiB,KAAK,cAAgBrC,EAAeqC,EAAY,EAAE,uBAAwB,KAAK,EAChG,kBAAmB,GACnB,OAAQ,MACpB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,cAAc,EAC9C,CAAE,CAAC,KAAK,cAAc,gBAAiB,wBAAwB,CAAC,EAAG,KAAK,QAAU,CAClG,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,SAAS,EAC1C,CAAE,CAAC,KAAK,cAAc,eAAgB,kBAAkB,CAAC,EAAG,KAAK,OAAS,EAC1E,CAAE,CAAC,KAAK,cAAc,YAAa,YAAa,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACxE,CAAE,CAAC,KAAK,cAAc,eAAgB,YAAc,KAAK,eAAiB,KAAK,OAAS,GAAI,KAAK,eAAiB,KAAK,OAAU,EACjI,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAmB,CAAC,EAAG,KAAK,OAAS,UAAY,EACxF,CAAE,CAAC,KAAK,cAAc,qBAAsB,wBAAwB,CAAC,EAAG,KAAK,IAAM,EACnF,CAAE,CAAC,KAAK,cAAc,sBAAuB,yBAAyB,CAAC,EAAG,KAAK,YAAc,CAC7G,CACS,EACD,iBAAkB,CACd,MAAO,CACH,KAAK,cAAc,gBAAiB,oBAAoB,CACxE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,kBAAkB,CACrE,CACS,EACD,cAAe,CACX,KAAM,CACF,OAAO,KAAK,QACf,EACD,IAAI33C,EAAO,CACP,KAAK,SAAWA,EAChB,KAAK,MAAM,oBAAqB,KAAK,QAAQ,EAC7C,KAAK,WAAW,KAAK,QAAQ,EAC7B,CAAC,KAAK,SAAW,KAAK,mBAAkB,CAC3C,CACJ,EACD,cAAe,CACX,OAAO,KAAK,gBACJ,KAAK,YAAc,KAAK,mBACxB,KAAK,WAAa,KAAK,UACxB,KAAK,SACf,EACD,WAAY,CACR,OAAI,KAAK,eACE,KAAK,oBAEP,KAAK,WAAa,KAAK,SACrB,eAEF,KAAK,UACH,KAAK,UAET,KAAK,iBACf,EACD,kBAAmB,CACf,OAAI,KAAK,gBAAkB,KAAK,UACrB,KAAK,kBAAoB,KAAK,SAAW,KAE7C,KAAK,aACf,EAID,YAAa,CACT,MAAO,CAAC,CAAC,KAAK,aACjB,EAID,qBAAsB,CAClB,OAAQ,KAAK,kBAA4B,UAAR,KACpC,EAID,aAAc,CACV,OAAI,OAAO,KAAK,eAAkB,SACvB,KAAK,cAAc,OAErB,OAAO,KAAK,eAAkB,SAC5B,KAAK,cAAc,SAAQ,EAAG,OAElC,CACV,EAID,gBAAiB,CACb,OAAK,KAAK,SAEH,CACH,OAAQ,OACR,OAAQ,KAAK,OACb,SAAU,QAC1B,EALuB,EAMd,EACD,aAAc,CACV,OAAO,KAAK,OAAS,WACf,WACA,OACT,CACJ,EACD,MAAO,CAKH,WAAY,CACR,UAAW,GACX,QAAQA,EAAO,CACX,KAAK,SAAWA,EAChB,KAAK,WAAW,KAAK,QAAQ,EACzB,KAAK,UACL,KAAK,OAAM,CAElB,CACJ,EACD,KAAKiI,EAAM,CACP,KAAK,QAAUA,CAClB,CACJ,EACD,QAAS,CAKL,0BAA2B,CACvB,KAAK,kBAAoB,CAAC,KAAK,kBAC/B,KAAK,QAAU,KAAK,kBAAoB,OAAS,WACjD,KAAK,UAAU,IAAM,CACjB,KAAK,MAAK,CAC1B,CAAa,CACJ,EACD,UAAUosB,EAAMC,EAAO,CACnB,KAAK,MAAMD,EAAMC,CAAK,EACtB,KAAK,UAAU,IAAM,CACjB,KAAK,MAAK,CAC1B,CAAa,CACJ,EACD,eAAeA,EAAO,CACd,KAAK,eACL,KAAK,yBAAwB,EAExB,KAAK,UACV,KAAK,cAAgB,GAEhB,KAAK,oBACV,KAAK,UAAU,mBAAoBA,CAAK,CAE/C,EACD,QAAS,CACL,KAAK,OAAS,OACd,KAAK,UAAU,IAAM,CACjB,MAAM+lB,EAAe,KAAK,MAAM,SAAS,aACzC,KAAK,OAASA,EAAe,IAC7C,CAAa,CACJ,CACJ,CACL,CAAC,EAED,SAAS/3B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAACA,EAAK,OAAS,YAAct6B,EAAS,EAAIC,EAAY,QAASiY,GAAW,CAC3E,IAAK,CACT,EAAKoiB,EAAK,OAAQ,CACd,IAAK,QACL,MAAOA,EAAK,aACZ,KAAMA,EAAK,QACX,aAAcA,EAAK,gBACnB,UAAWA,EAAK,UAChB,MAAOA,EAAK,cACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,EAAO,OAAO,OAChF,OAAQV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,OAAO,GAAGrwC,CAAI,GAClE,QAASswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,EACxE,CAAG,EAAG,KAAM,GAER,CAAC,OAAQ,eAAgB,YAAa,OAAO,CAAC,IAAM+V,IAAaC,EAAY,WAAYiY,GAAW,CACpG,IAAK,CACT,EAAKoiB,EAAK,OAAQ,CACd,IAAK,WACL,MAAOA,EAAK,aACZ,UAAWA,EAAK,UAChB,MAAOA,EAAK,cACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,EAAO,OAAO,OAChF,OAAQV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,OAAO,GAAGrwC,CAAI,GAClE,QAASswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GACpE,MAAOqwC,EAAK,cAChB,CAAG,EAAG,KAAM,GAER,CAAC,YAAa,OAAO,CAAC,GAAIA,EAAK,KAAOp6B,EAAY86B,EAAmB,CACrE,IAAK,EACL,MAAOV,EAAK,gBACZ,UAAWA,EAAK,cAChB,KAAMA,EAAK,KACX,KAAMA,EAAK,SACX,KAAMA,EAAK,KACX,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,UAAU,aAAcW,CAAM,EACjF,EAAE,KAAM,EAEP,CAAC,QAAS,YAAa,OAAQ,OAAQ,MAAM,CAAC,EAAIxiB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,aAAep6B,EAAY86B,EAAmB,CACvI,IAAK,EACL,MAAOV,EAAK,iBACZ,UAAWA,EAAK,gBAAkBA,EAAK,WAAaA,EAAK,mBACzD,KAAMA,EAAK,UACX,KAAMA,EAAK,SACX,KAAMA,EAAK,KACX,QAASA,EAAK,iBACd,KAAM,GACN,QAASA,EAAK,cACf,EAAE,KAAM,EAEP,CAAC,QAAS,YAAa,OAAQ,OAAQ,OAAQ,UAAW,SAAS,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,WAAaA,EAAK,YAAcA,EAAK,WAAaA,EAAK,OAAS,UAAYt6B,IAAaC,EAAY,QAAS,CAC7N,IAAK,EACL,MAAOq6B,EAAK,cAChB,EAAKl2C,GAAgBk2C,EAAK,WAAW,EAAI,MAAQl2C,GAAgBk2C,EAAK,SAAS,EAAG,CAE/E,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE1C,CACA,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,iCCpUhB,IAAIA,GAAS7+B,GAAgB,CACzB,KAAM,gBACN,YAAa,eACb,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,EACpB,EACD,OAAQ,CAAChC,GAAoB8B,EAAgB,EAC7C,aAAc,GACd,MAAO,CAAC,oBAAqB,SAAU,kBAAmB,SAAU,QAAS,OAAQ,aAAc,kBAAkB,EACrH,MAAO,CAEH,WAAY,CAAC,OAAQ,MAAM,EAE3B,KAAM,CACF,KAAM,MACN,QAAS,IAAM,CAAE,CACpB,EAED,aAAc,OAKd,KAAM,OAEN,MAAO,CACH,KAAM,OACN,QAAS,OACZ,EAED,UAAW,QAEX,cAAe,QAEf,YAAa,QAEb,gBAAiB,SAEjB,oBAAqB,QAErB,SAAU,QAEV,UAAW,QAEX,UAAW,CAAC,OAAQ,MAAM,EAK1B,aAAc,CACV,KAAM,OACN,QAAS,MACZ,EAED,UAAW,CACP,KAAM,OACN,QAAS,IACE5E,EAAeqC,EAAU,EAAI,yBAA0B,MAAM,CAE3E,EAED,WAAY,OAEZ,aAAc,OAEd,eAAgB,OAEhB,UAAW,OAEX,mBAAoB,QAEpB,aAAc,QAEd,YAAa,CACT,KAAM,MACN,QAAS,IAAM,CAAC,MAAO,OAAO,CACjC,EAED,KAAM,CACF,KAAM,OACN,QAAS,MACZ,EAID,QAAS,CACL,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,uBAAwB,KAAK,CAExE,EAID,QAAS,CACL,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,uBAAwB,KAAK,CAExE,EAED,qBAAsB,QAEtB,iBAAkB,QAElB,iBAAkB,QAClB,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,aAAc,CACV,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,4BAA6B,CAAE,EAE1E,CACJ,EACD,MAAO,CACH,MAAO,CACH,SAAU,KACV,QAAS,KACT,cAAe,KACf,cAAe,KACf,SAAU,GACV,SAAU,KAAK,WACf,iBAAkB,KAAK,UAAY,OAAS,OAC5C,gBAAiB,KAAK,cAAgB,MACtC,2BAA4B,GAC5B,SAAU,GACV,SAAU,CAAE,EACZ,MAAO,OACP,OAAQ,MACpB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,OAAO,EACvC,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,QAAU,CAC3F,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,aAAa,EAC7C,CAAE,CAAC,KAAK,cAAc,oBAAqB,gBAAiB,KAAK,mBAAmB,CAAC,EAAG,CAAC,KAAK,YAAc,CAC5H,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,aAAa,CAC7D,CACS,EACD,kBAAmB,CACf,MAAO,CACH,GAAG,KAAK,YACR,KAAK,cAAc,iBAAkB,oBAAoB,CACzE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,GAAG,KAAK,YACR,KAAK,cAAc,sBAAuB,yBAAyB,CACnF,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,GAAG,KAAK,YACR,KAAK,cAAc,kBAAmB,oBAAoB,EAC1D,CAAE,CAAC,KAAK,cAAc,iBAAkB,oBAAoB,CAAC,EAAG,KAAK,aAAe,CACpG,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,GAAG,KAAK,YACR,KAAK,cAAc,kBAAmB,oBAAoB,EAC1D,CAAE,CAAC,KAAK,cAAc,iBAAkB,oBAAoB,CAAC,EAAG,KAAK,aAAe,CACpG,CACS,EACD,WAAY,CACR,MAAO,CACH,GAAG,KAAK,OACR,GAAG,KAAK,YACxB,CACS,EACD,cAAe,CACX,GAAI,KAAK,WACL,GAAI,KAAK,aAAc,CACnB,MAAM6C,EAAU,GAChB,YAAK,KAAK,QAAS3V,GAAW,CAC1B,MAAM0M,EAAQ+D,EAAezQ,EAAQ,KAAK,UAAU,EAC9C4V,EAAQnF,EAAezQ,EAAQ,KAAK,YAAY,EACtD2V,EAAQ,KAAK,CAAE,MAAAjJ,EAAO,MAAAkJ,CAAO,EACrD,CAAqB,EACMD,CACV,KACI,CACD,MAAMj4C,EAAM,GACZ,KAAK,KAAK,QAASsiC,GAAW,CAC1B,MAAM0M,EAAQ+D,EAAezQ,EAAQ,KAAK,UAAU,EAC/CtiC,EAAIgvC,CAAK,IACVhvC,EAAIgvC,CAAK,EAAI,IACjBhvC,EAAIgvC,CAAK,EAAE,KAAK1M,CAAM,CAC9C,CAAqB,EACD,MAAM2V,EAAU,GAChB,cAAO,KAAK,KAAK,IAAI,EAAE,QAASjJ,GAAU,CACtCiJ,EAAQ,KAAK,CAAE,MAAAjJ,EAAO,MAAO,KAAK,KAAKA,CAAK,CAAC,CAAE,CACvE,CAAqB,EACMiJ,CACV,CAEL,MAAO,CAAC,CAAE,MAAO,KAAK,IAAM,EAC/B,EACD,SAAU,CACN,OAAK,KAAK,aAEH,CAAC,KAAK,aAAa,KAAME,GAAYA,EAAQ,OAASA,EAAQ,MAAM,MAAM,EADtE,EAEd,EAKD,WAAY,CACR,MAAMC,EAAY,GAIlB,GAHAA,EAAU,KAAK,KAAK,MAAM,MAAM,IAAI,cAAc,OAAO,CAAC,EAC1DA,EAAU,KAAK,KAAK,MAAM,QAAQ,EAE9B,KAAK,MAAM,WAAa,OAAW,CACnC,MAAMrjC,EAAW,KAAK,MAAM,SAAS,iBAAiB,GAAG,EACzD,UAAWE,KAASF,EAChBqjC,EAAU,KAAKnjC,CAAK,CAE3B,CACD,OAAOmjC,CACV,EACD,qBAAsB,CAClB,OAAI,KAAK,eAAiB,OAAU,KAAK,eAAiB,QAAU,CAAC,KAAK,2BAC/D,MAEJ,QACV,EACD,cAAe,CACX,OAAI,KAAK,WAAa,KAAK,SAChB,eAEJ,KAAK,SACf,EACD,uBAAwB,CACpB,OAAI,KAAK,UACE,GAEJ,KAAK,kBACf,EACD,WAAY,CACR,MAAO,CACH,UAAW1E,GAAe,KAAK,SAAS,CACxD,CACS,EACD,aAAc,CACV,MAAO,OACV,CACJ,EACD,MAAO,CAMH,WAAWj2C,EAAO,CACd,KAAK,SAAWA,CACnB,EAKD,SAAS46C,EAAQ,CACT,KAAK,eAAiB,SAClBA,EACA,KAAK,+BAA8B,EAInC,WAAW,IAAM,CACb,KAAK,+BAA8B,CACtC,EAAE,GAAG,EAGjB,EAOD,SAAS56C,EAAO,CACZ,KAAK,MAAM,oBAAqBA,CAAK,EAErC,MAAM66C,EAAe,KAAK,SAAS,KAAK,QAAQ,EAC5CA,GAAgBA,IAAiB76C,GACjC,KAAK,YAAY,KAAM,EAAK,EAG5B,KAAK,WAAa,CAAC,KAAK,aAAeA,KACvC,KAAK,SAAW,CAAC,CAACA,EAEzB,EAID,MAAO,CAEH,GAAI,KAAK,UACL,KAAK,UAAU,IAAM,CACb,KAAK,SACL,KAAK,kBAAkB,KAAK,YAAY,EAGxC,KAAK,WAAW,IAAI,CAE5C,CAAiB,UAGG,KAAK,QAAS,CAEd,MAAM86C,EAAe,KAAK,SAAS,KAAK,OAAO,EAClC,KAAK,aAAa,IAAKnc,GAAMA,EAAE,KAAK,EAAE,OAAO,CAAC77B,EAAGC,IAAO,CAAC,GAAGD,EAAG,GAAGC,CAAC,EAAI,EAAE,EAC5E,KAAK47B,GAAK,KAAK,SAASA,CAAC,IAAMmc,CAAY,GACjD,KAAK,WAAW,IAAI,CAE3B,CAER,EACD,eAAgB,CACZ,QAAQ96C,EAAO,CACX,KAAK,oBAAsBi3C,GAAS,KAAK,WAAYj3C,CAAK,CAC7D,EACD,UAAW,EACd,CACJ,EACD,QAAS,CACL,kBAAkB6kC,EAAQ,CACtB,MAAO,CACH,GAAG,KAAK,YACR,CAAE,CAAC,KAAK,cAAc,iBAAkB,oBAAoB,CAAC,EAAGA,IAAW,KAAK,OAAS,CACzG,CACS,EAID,WAAWA,EAAQ,CACXA,IAAW,SAEf,KAAK,QAAUA,EAClB,EAKD,YAAYA,EAAQkW,EAAgB,GAAMzmB,EAAQ,OAAW,CACzD,GAAIuQ,IAAW,OAQf,IANA,KAAK,SAAWA,EAKhB,KAAK,MAAM,SAAU,KAAK,SAAUvQ,CAAK,EACrC,KAAK,WAAa,KAAM,CACxB,GAAI,KAAK,cAAe,CACpB,MAAM2jB,EAAQ,KAAK,MAAM,MACzBA,EAAM,SAAW,GACjBA,EAAM,MAAM,MAAM,MAAQ,EAC7B,MAEG,KAAK,SAAW,KAAK,SAAS,KAAK,QAAQ,EAE/C,KAAK,WAAW,IAAI,CACvB,CACD8C,GAAiB,KAAK,UAAU,IAAM,CAAE,KAAK,SAAW,EAAM,CAAE,EAChE,KAAK,cAAa,EACrB,EAID,kBAAkBC,EAAc,CAC5B,KAAK,UAAU,IAAM,CACjB,MAAMC,EAAmBD,EAAa,OAAQN,GAAYA,EAAQ,OAASA,EAAQ,MAAM,MAAM,EAC/F,GAAIO,EAAiB,OAAQ,CACzB,MAAMpW,EAASoW,EAAiB,CAAC,EAAE,MAAM,CAAC,EAC1C,KAAK,WAAWpW,CAAM,CACzB,MAEG,KAAK,WAAW,IAAI,CAExC,CAAa,CACJ,EAKD,QAAQvQ,EAAO,CACX,KAAM,CAAE,IAAAh2B,CAAK,EAAGg2B,EAQhB,GANIh2B,IAAQ,SACRg2B,EAAM,eAAc,GAEpBh2B,IAAQ,UAAYA,IAAQ,SAC5B,KAAK,SAAW,IAEhB,KAAK,YAAY,QAAQA,CAAG,GAAK,EAAG,CAEhCA,IAAQ,KACRg2B,EAAM,eAAc,EAExB,MAAMymB,EAAgB,CAAC,KAAK,UAAYz8C,IAAQ,MAChD,GAAI,KAAK,UAAY,KAAM,CAGvB,KAAK,8BAA8Bg2B,EAAO,KAAMymB,CAAa,EAC7D,MACH,CACD,KAAK,YAAY,KAAK,QAASA,EAAezmB,CAAK,CACtD,CACJ,EACD,2BAA2BA,EAAO4mB,EAAQ,CACtC,KAAK,8BAA8B5mB,EAAO,CAAE,OAAQ4mB,CAAQ,EAC/D,EAID,8BAA8B5mB,EAAO6mB,EAAcJ,EAAgB,GAAM,CACjE,KAAK,mBAAqB,KAAK,eAAkBI,GAAgBA,EAAa,SAAW,YACzF,KAAK,MAAM,gBAAiB7mB,CAAK,EACjC,KAAK,cAAgB,GACjB6mB,GACA,KAAK,WAAW,IAAI,EACpBJ,IACA,KAAK,SAAW,KAEpB,KAAK,mBAAqB,KAAK,eAAkBI,GAAgBA,EAAa,SAAW,YACzF,KAAK,MAAM,gBAAiB7mB,CAAK,EACjC,KAAK,cAAgB,GACjB6mB,GACA,KAAK,WAAW,IAAI,EACpBJ,IACA,KAAK,SAAW,IAE3B,EAID,eAAezmB,EAAO,CACd,CAAC,KAAK,UAAY,KAAK,UAAU,QAAQA,EAAM,MAAM,EAAI,IACrD,KAAK,WAAa,KAAK,SAAW,KAAK,qBACvC,KAAK,YAAY,KAAK,QAAS,EAAI,EAGnC,KAAK,SAAW,GAG3B,EAKD,SAASuQ,EAAQ,CACb,GAAIA,IAAW,KAEf,OAAI,OAAO,KAAK,gBAAoB,IACzB,KAAK,gBAAgBA,CAAM,EAE/B,OAAOA,GAAW,SACnByQ,EAAezQ,EAAQ,KAAK,KAAK,EACjCA,CACT,EAKD,8BAA+B,CAC3B,MAAMuW,EAAO,KAAK,MAAM,SAClBC,EAAe,KAAK,OAAO,OAAS,KAAK,MAAM,OAAO,aAAe,EACvED,EAAK,eAAiBA,EAAK,cAC3BA,EAAK,UAAYA,EAAK,aAAeC,GAAgBD,EAAK,cAC1D,KAAK,MAAM,iBAAiB,CAEnC,EAKD,gCAAiC,CAC7B,KAAK,UAAU,IAAM,CAKjB,GAAI,CAAC,KAAK,MAAM,SACZ,OACJ,MAAME,EAAO,KAAK,MAAM,SAAS,sBAAqB,EACtD,KAAK,2BAA8BA,EAAK,KAAO,GAC3CA,EAAK,SAAW,OAAO,aACnB,SAAS,gBAAgB,cAC7B,KAAK,cACL,KAAK,mBAAkB,CAE3C,CAAa,CACJ,EAKD,UAAUC,EAAW,CACjB,MAAMC,EAAMD,IAAc,OAAS,EAAI,GACvC,GAAI,KAAK,SAAU,CACf,MAAM/6B,EAAO,KAAK,aAAa,IAAKme,GAAMA,EAAE,KAAK,EAAE,OAAO,CAAC,EAAG57B,IAAO,CAAC,GAAG,EAAG,GAAGA,CAAC,EAAI,EAAE,EAClF,KAAK,OAAO,QAAU,KAAK,kBAC3Byd,EAAK,QAAQ,MAAS,EAEtB,KAAK,OAAO,QAAU,KAAK,kBAC3BA,EAAK,KAAK,MAAS,EAEvB,IAAI7V,EACA,KAAK,cACLA,EAAQ,EAAI6wC,EAEP,KAAK,cACV7wC,EAAS6V,EAAK,OAAS,EAAKg7B,EAG5B7wC,EAAQ6V,EAAK,QAAQ,KAAK,OAAO,EAAIg7B,EAEzC7wC,EAAQA,EAAQ6V,EAAK,OAAS,EAAIA,EAAK,OAAS,EAAI7V,EACpDA,EAAQA,EAAQ,EAAI,EAAIA,EACxB,KAAK,cAAgB,GACrB,KAAK,cAAgB,GACrB,KAAK,WAAW6V,EAAK7V,CAAK,IAAM,OAAY6V,EAAK7V,CAAK,EAAI,IAAI,EAC1D,KAAK,OAAO,QAAU,KAAK,kBAAoBA,IAAU6V,EAAK,OAAS,IACvE,KAAK,cAAgB,IAErB,KAAK,OAAO,QAAU,KAAK,kBAAoB7V,IAAU,IACzD,KAAK,cAAgB,IAEzB,MAAMywC,EAAO,KAAK,MAAM,SACxB,IAAIX,EAAQ,KAAK,UAAY,GACzB,KAAK,OAAO,QAAU,KAAK,mBAC3BA,EAAQ,CAAC,KAAK,MAAM,OAAQ,GAAGA,CAAK,GAEpC,KAAK,OAAO,QAAU,KAAK,mBAC3BA,EAAQ,CAAC,GAAGA,EAAO,KAAK,MAAM,MAAM,GAExC,MAAMC,EAAUD,EAAM9vC,CAAK,EAC3B,GAAI,CAAC+vC,EACD,OACJ,MAAMe,EAASL,EAAK,UACdM,EAASN,EAAK,UAAYA,EAAK,aAAeV,EAAQ,aACxDA,EAAQ,UAAYe,EACpBL,EAAK,UAAYV,EAAQ,UAEpBA,EAAQ,WAAagB,IAC1BN,EAAK,UAAaV,EAAQ,UACtBU,EAAK,aACLV,EAAQ,aAEnB,MAEG,KAAK,SAAW,EAEvB,EAKD,QAAQpmB,EAAO,CACP,KAAK,SAAS,KAAK,QAAQ,IAAM,KAAK,UACtC,KAAK,IAAI,cAAc,OAAO,EAAE,OAAM,EAEtC,KAAK,cACL,KAAK,SAAW,GACZ,KAAK,WAEL,KAAK,kBAAkB,KAAK,YAAY,GAGhD,KAAK,SAAW,GAChB,KAAK,MAAM,QAASA,CAAK,CAC5B,EAID,OAAOA,EAAO,CACV,KAAK,SAAW,GAChB,KAAK,MAAM,OAAQA,CAAK,CAC3B,EACD,SAAU,CACN,MAAMumB,EAAe,KAAK,SAAS,KAAK,QAAQ,EAC5CA,GAAgBA,IAAiB,KAAK,WAEtC,KAAK,eACL,KAAK,oBAAmB,EAGxB,KAAK,WAAU,EAEtB,EACD,YAAa,CACT,KAAK,MAAM,SAAU,KAAK,QAAQ,EAClC,KAAK,cAAa,CACrB,EACD,eAAevmB,EAAO,CACd,KAAK,WACL,KAAK,SAAW,GAChB,KAAK,YAAY,KAAM,EAAK,EACxB,KAAK,aACL,KAAK,MAAM,MAAM,IAAI,MAAK,GAI9B,KAAK,MAAM,mBAAoBA,CAAK,CAE3C,EACD,eAAgB,CACR,KAAK,oBACL,KAAK,UAAU,IAAM,CACjB,KAAK,mBAAkB,CAC3C,CAAiB,CAER,EACD,WAAWr1B,EAAI,CACPA,GACA,KAAK,SAAS,KAAKA,CAAE,CAE5B,EACD,oBAAqB,CACjB,MAAM08C,EAAe,KAAK,MAAM,SAC1BxzC,EAAU,KAAK,MAAM,MAAM,IACjC,GAAIwzC,GAAgBxzC,EAAS,CAEzB,MAAMqnB,EAAO,KAAK,MAAM,OACxBA,EAAK,UAAU,QAASztB,GAASytB,EAAK,UAAU,OAAO,GAAGztB,EAAK,MAAM,GAAG,CAAC,CAAC,EAC1E,KAAK,YAAY,QAASA,GAAS,CAC3BA,IACI,OAAOA,GAAS,SAChB,OAAO,KAAKA,CAAI,EAAE,OAAOzD,GAAOA,GAAOyD,EAAKzD,CAAG,CAAC,EAAE,QAAQA,GAAOkxB,EAAK,UAAU,IAAIlxB,CAAG,CAAC,EAGxFkxB,EAAK,UAAU,IAAI,GAAGztB,EAAK,MAAM,GAAG,CAAC,EAGjE,CAAiB,EACD,MAAMu5C,EAAOnzC,EAAQ,wBACrB,IAAIyzC,EAAMN,EAAK,IAAM,OAAO,QAC5B,MAAMO,EAAOP,EAAK,KAAO,OAAO,QAC5B,KAAK,sBAAwB,MAC7BM,GAAOzzC,EAAQ,aAGfyzC,GAAOD,EAAa,aAExBA,EAAa,MAAM,SAAW,WAC9BA,EAAa,MAAM,IAAM,GAAGC,CAAG,KAC/BD,EAAa,MAAM,KAAO,GAAGE,CAAI,KACjCF,EAAa,MAAM,MAAQ,GAAGxzC,EAAQ,WAAW,KACjDwzC,EAAa,MAAM,SAAW,GAAGxzC,EAAQ,WAAW,KACpDwzC,EAAa,MAAM,OAAS,MAC/B,CACJ,CACJ,EACD,SAAU,CACF,OAAO,OAAW,MAClB,SAAS,iBAAiB,QAAS,KAAK,cAAc,EAClD,KAAK,eAAiB,QACtB,OAAO,iBAAiB,SAAU,KAAK,8BAA8B,EAEhF,EACD,SAAU,CACN,MAAMP,EAAO,KAAK,MAAM,SACpB,KAAK,qBAAuBA,GAC5BA,EAAK,iBAAiB,SAAU,KAAK,4BAA4B,EAEjE,KAAK,eACL,KAAK,MAAM,OAASrF,GAAsBqF,CAAI,EAC9C,KAAK,mBAAkB,EAE9B,EACD,cAAe,CACX,KAAK,MAAQ,KAAK,MAAM,MAAQ,KAAK,MAAM,MAAM,IAAI,YAAc,OACnE,KAAK,SAAW,EACnB,EACD,eAAgB,CACR,OAAO,OAAW,MAClB,SAAS,oBAAoB,QAAS,KAAK,cAAc,EACrD,KAAK,eAAiB,QACtB,OAAO,oBAAoB,SAAU,KAAK,8BAA8B,GAE5E,KAAK,qBAAuB,KAAK,MAAM,UAC1B,KAAK,MAAM,SACnB,oBAAoB,SAAU,KAAK,4BAA4B,EAEpE,KAAK,cACLtF,GAAc,KAAK,MAAM,MAAM,CAEtC,CACL,CAAC,EAED,MAAMpB,GAAa,CACjB,IAAK,CACP,EACMoH,GAAa,CACjB,IAAK,CACP,EACA,SAASx5B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAM8B,EAAqBp+B,GAAiB,SAAS,EAErD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WACb,EAAE,CAACp6B,EAAYu8B,EAAoBvkB,GAAWoiB,EAAK,UAAW,CAC7D,WAAYA,EAAK,SACjB,sBAAuB,CAACC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,SAAWW,GAASX,EAAK,OAAO,EACjG,IAAK,QACL,KAAMA,EAAK,KACX,KAAMA,EAAK,KACX,QAASA,EAAK,QACd,KAAMA,EAAK,KACX,aAAcA,EAAK,aACnB,uBAAwBA,EAAK,sBAC7B,YAAaA,EAAK,SAClB,UAAWA,EAAK,UAChB,aAAcA,EAAK,gBACnB,uBAAwB,GACxB,oBAAqBA,EAAK,iBAC1B,SAAUA,EAAK,SACf,QAASA,EAAK,QACd,OAAQA,EAAK,OACb,UAAW,CAACA,EAAK,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAciV,GAAUX,EAAK,UAAU,IAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,IAAI,CAAC,GAAIC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAciV,GAAUX,EAAK,UAAU,MAAM,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,EAAE,EAC9O,qBAAsBA,EAAK,eAC3B,eAAgBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvlB,GAASslB,EAAK,MAAM,aAActlB,CAAK,EACrF,CAAG,EAAG,KAAM,GAER,CAAC,aAAc,OAAQ,OAAQ,UAAW,OAAQ,aAAc,uBAAwB,YAAa,YAAa,eAAgB,oBAAqB,WAAY,sBAAuB,UAAW,SAAU,YAAa,oBAAoB,CAAC,EAAG9U,EAAY8b,GAAY,CAC5Q,KAAMse,EAAK,SACf,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACM,GAAe8J,EAAY,MAAO,CACxD,MAAOo6B,EAAK,YACZ,GAAIA,EAAK,QACT,MAAOA,EAAK,UACZ,IAAK,UACX,EAAO,CAACA,EAAK,OAAO,QAAUt6B,EAAW,EAAEC,EAAY,MAAO,CACxD,IAAK,EACL,GAAIq6B,EAAK,QACT,IAAK,SACL,KAAM,SACN,SAAU,EACV,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,2BAA2BW,EAAQ,QAAQ,GAC7F,MAAOX,EAAK,iBAClB,EAAO,CAACz6B,GAAWy6B,EAAK,OAAQ,QAAQ,CAAC,EAAG,GAEtC,CAAC,IAAI,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,aAAc,CAACc,EAASsB,KAC5H18B,EAAW,EAAEC,EAAY3E,GAAU,KAAM,CAAC8/B,EAAQ,OAASp7B,IAAaC,EAAY,MAAO,CAChG,GAAIq6B,EAAK,QACT,IAAKoC,EAAa,QAClB,MAAOpC,EAAK,gBACpB,EAAS,CAACA,EAAK,OAAO,MAAQz6B,GAAWy6B,EAAK,OAAQ,QAAS,CACvD,IAAK,EACL,MAAOc,EAAQ,MACf,MAAOsB,CACf,CAAO,GAAK18B,IAAaC,EAAY,OAAQm1B,GAAYhxC,GAAgBg3C,EAAQ,KAAK,EAAG,CAElF,EAAC,EAAG,GAEH,CAAC,IAAI,CAAC,GAAK3iB,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWk8B,EAAQ,MAAO,CAAC7V,EAAQl6B,KACvH2U,EAAS,EAAIC,EAAY,MAAO,CACrC,IAAKy8B,EAAa,IAAMrxC,EACxB,GAAIivC,EAAK,QACT,MAAOA,EAAK,kBAAkB/U,CAAM,EACpC,QAASS,GAAciV,GAAUX,EAAK,YAAY/U,EAAQ,CAAC+U,EAAK,SAAUW,CAAM,EAAG,CAAC,MAAM,CAAC,EAC3F,IAAKX,EAAK,UACpB,EAAW,CAACA,EAAK,OAAO,QAAUz6B,GAAWy6B,EAAK,OAAQ,UAAW,CAC3D,IAAK,EACL,OAAQ/U,EACR,MAAOl6B,CACR,IAAK2U,EAAS,EAAIC,EAAY,OAAQu8B,GAAYp4C,GAAgBk2C,EAAK,SAAS/U,CAAM,CAAC,EAAG,CAE1F,EAAC,EAAG,GAEH,CAAC,KAAM,SAAS,CAAC,EACpB,EAAG,GAEH,IAAI,EAEX,EACK,EAAG,GAER,GAAQ+U,EAAK,SAAWA,EAAK,OAAO,OAASt6B,EAAS,EAAIC,EAAY,MAAO,CACvE,IAAK,EACL,GAAIq6B,EAAK,QACT,MAAOA,EAAK,gBAClB,EAAO,CAACz6B,GAAWy6B,EAAK,OAAQ,OAAO,CAAC,EAAG,GAErC,CAAC,IAAI,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,OAAO,QAAUt6B,IAAaC,EAAY,MAAO,CACnG,IAAK,EACL,GAAIq6B,EAAK,QACT,IAAK,SACL,KAAM,SACN,SAAU,EACV,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,2BAA2BW,EAAQ,QAAQ,GAC7F,MAAOX,EAAK,iBAClB,EAAO,CAACz6B,GAAWy6B,EAAK,OAAQ,QAAQ,CAAC,EAAG,GAEtC,CAAC,IAAI,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,GAE9C,CAAC,IAAI,CAAC,EAAG,CAAC,CAACmH,GAAO0a,EAAK,WAAa,CAACA,EAAK,SAAWA,EAAK,OAAO,OAASA,EAAK,OAAO,QAAUA,EAAK,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EACzH,EAAG,CACP,EAAK,EAED,CAAC,MAAM,CAAC,CAAC,EAAG,CAEhB,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,+CC5zBhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAuC,GAAetxC,GCLf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,UACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,SACb,OAAQ,CAAChC,EAAkB,EAC3B,aAAc,GACd,MAAO,CAKH,QAAS,OAKT,KAAM,OAIN,MAAO,OAKP,SAAU,OAIV,SAAU,OAIV,UAAW,OAIX,QAAS,CACL,KAAM,QACN,QAAS,IAAe9C,EAAeqC,EAAU,EAAI,iBAAkB,EAAK,CAC/E,EAID,SAAU,QAIV,SAAU,QACV,SAAU,QAIV,WAAY,CACR,KAAM,OACN,QAAS,SACT,UAAY33C,GACD,CACH,SACA,SACA,OACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EAKD,IAAK,CACD,KAAM,OACN,QAAS,QACZ,EAID,SAAU,QAEV,SAAU,QACV,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,OAAO,EACvC,CAAE,CAAC,KAAK,cAAc,YAAa,UAAW,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACtE,CAAE,CAAC,KAAK,cAAc,eAAgB,UAAW,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,EAC/E,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,UAAY,CAAC,KAAK,OAAS,EAC5F,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,UAAY,CAAC,KAAK,OAAS,EAC5F,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAoB,KAAK,OAAO,CAAC,EAAG,KAAK,UAAY,KAAK,OAAS,EAC1G,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAoB,KAAK,OAAO,CAAC,EAAG,KAAK,UAAY,KAAK,OAAS,EAC1G,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,QAAU,EAC3E,CAAE,CAAC,KAAK,cAAc,eAAgB,gBAAgB,CAAC,EAAG,KAAK,OAAS,EACxE,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,QAAU,CAC3F,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,cAAc,CAC/D,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,aAAa,CAC7D,CACS,EACD,iBAAkB,CACd,MAAO,CACH,GAAG,KAAK,YACR,KAAK,cAAc,gBAAiB,kBAAkB,CACtE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,GAAG,KAAK,YACR,KAAK,cAAc,iBAAkB,mBAAmB,CACxE,CACS,EACD,wBAAyB,CACrB,MAAO,CACH,KAAK,cAAc,uBAAwB,gBAAgB,CAC3E,CACS,EACD,aAAc,CACV,OAAI,OAAO,KAAK,SAAa,KAAe,KAAK,WAAa,GACnD,SAEJ,KAAK,GACf,EACD,oBAAqB,CACjB,OAAI,KAAK,MAAQ,UAAY,KAAK,MAAQ,QAC/B,KAAK,WAET,IACV,EACD,kBAAmB,CACf,OAAI,KAAK,SACE,GACJ,IACV,CACJ,CACL,CAAC,EAED,SAASsiB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAYxB,GAAwB67B,EAAK,WAAW,EAAGpiB,GAAWoiB,EAAK,OAAQ,CACjG,SAAUA,EAAK,iBACf,KAAMA,EAAK,mBACX,MAAOA,EAAK,WAChB,CAAG,EAAG,CACF,QAASxkC,GAAQ,IAAM,CAACoK,EAAY,OAAQ,CAC1C,MAAOo6B,EAAK,sBACb,EAAE,CAACA,EAAK,SAAWp6B,EAAY86B,EAAmB,CACjD,IAAK,EACL,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAMA,EAAK,KACX,KAAMA,EAAK,SACX,MAAOA,EAAK,eACb,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAO,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,OAASA,EAAK,OAAO,SAAWt6B,EAAW,EAAEC,EAAY,OAAQ,CACrJ,IAAK,EACL,MAAOq6B,EAAK,YACb,EAAE,CAACz6B,GAAWy6B,EAAK,OAAQ,UAAW,GAAI,IAAM,CAACniB,GAAgB/zB,GAAgBk2C,EAAK,KAAK,EAAG,CAEnG,CAAK,CAAC,CAAC,EAAG,CAEV,GAAS7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,UAAYp6B,EAAY86B,EAAmB,CACrF,IAAK,EACL,KAAMV,EAAK,SACX,KAAMA,EAAK,UACX,KAAMA,EAAK,KACX,KAAMA,EAAK,SACX,MAAOA,EAAK,gBACb,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAO,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEtF,CAAK,CAAC,EACF,EAAG,CACP,EAAK,GAED,CAAC,WAAY,OAAQ,OAAO,CAAC,CACjC,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,mCC5MhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAwC,GAAevxC,GCXT8vC,GAAQ,EACR0B,GAAS,EACTC,GAASD,GACf,IAAIE,GAAsB,CAACC,EAAUC,EAAQ,IAAM,CAC/C,MAAMr2B,EAAQrL,GAAgB,CAC1B,SAAU,CACN,MAAO,CACH,CAAC,IAAMyhC,CAAQ,EAAG,IAClC,CACS,CACT,CAAK,EACD,OAAIrH,GAAQsH,EAAO9B,EAAK,IACpBv0B,EAAM,KAAO,UAAY,CACrB,MAAO,CACH,WAAY,CAAE,EACd,SAAU,CAC1B,CACA,EACQA,EAAM,QAAU,CACZ,cAAcnkB,EAAM,CAChBA,EAAK,MAAQ,KAAK,WAAW,OAC7B,KAAK,WAAW,KAAKA,CAAI,EACrB,KAAK,KACL,KAAK,UAAU,IAAM,CACjB,MAAMy6C,EAAM,KAAK,WAAW,IAAIC,GAAM,aAAaH,CAAQ,IAAIG,EAAG,QAAQ,IAAI,EAAE,KAAK,GAAG,EAClFC,EAAY,MAAM,KAAK,KAAK,IAAI,iBAAiBF,CAAG,CAAC,EAAE,IAAKv9C,GAAOA,EAAG,aAAa,SAAS,EAAE,QAAQ,GAAGq9C,CAAQ,IAAK,EAAE,CAAC,EAC/H,KAAK,WAAW,QAAQG,GAAMA,EAAG,MAAQC,EAAU,QAAQ,GAAGD,EAAG,QAAQ,EAAE,CAAC,CACpG,CAAqB,CAER,EACD,gBAAgB16C,EAAM,CAClB,KAAK,WAAa,KAAK,WAAW,OAAQ7C,GAAMA,IAAM6C,CAAI,CAC7D,EACD,eAAgB,CACZ,OAAO,KAAK,UACf,CACb,EACYkzC,GAAQsH,EAAOJ,EAAM,IACrBj2B,EAAM,SAAW,CAIb,aAAc,CACV,OAAO,KAAK,WAAW,MAAK,EAAG,KAAK,CAACy2B,EAAIC,IAC9BD,EAAG,MAAQC,EAAG,KACxB,CACJ,CACjB,IAGW12B,CACX,EAEA,MAAM22B,GAAW,EACXC,GAAW,EACXC,GAAWF,GACjB,IAAIG,GAAqB,CAACC,EAAgBV,EAAQ,IAAM,CACpD,MAAMr2B,EAAQrL,GAAgB,CAC1B,OAAQ,CACJ,OAAQ,CAAE,KAAM,IAAMoiC,CAAgB,CACzC,EACD,SAAU,CAEN,GADA,KAAK,SAAW7G,GAAmB,KAAK,MAAO,KAAK,QAAU,KAAK,OAAO,cAAe,GACpF,KAAK,OAMN,KAAK,OAAO,cAAc,IAAI,UAL1B,CAACnB,GAAQsH,EAAOO,EAAQ,EACxB,MAAM,IAAI,MAAM,mBAAqB,KAAK,SAAS,KAAO,SAAWG,CAAc,CAM9F,EACD,eAAgB,CACR,KAAK,QACL,KAAK,OAAO,gBAAgB,IAAI,CAEvC,CACT,CAAK,EACD,OAAIhI,GAAQsH,EAAOM,EAAQ,IACvB32B,EAAM,KAAO,KACF,CACH,MAAO,IACvB,IAGWA,CACX,EC7EIwzB,GAAS7+B,GAAgB,CACzB,KAAM,YACN,WAAY,CACR,CAACqiC,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,WACb,OAAQ,CAACb,GAAoB,WAAYD,EAAM,EAAGhE,EAAkB,EACpE,MAAO,CAAC,oBAAqB,SAAU,OAAO,EAC9C,MAAO,CACH,WAAY,CACR,KAAM,OACN,QAAS,CACZ,EACD,SAAU,CACN,KAAM,OACN,QAAS,IAAe9C,EAAeqC,EAAU,EAAI,oBAAqB,IAAI,CACjF,EACD,QAAS,CACL,KAAM,QACN,QAAS,EACZ,EACD,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EACD,WAAY,CACR,KAAM,QACN,QAAS,EACZ,EACD,OAAQ,CACJ,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EACD,gBAAiB,CACb,KAAM,QACN,QAAS,EACZ,EACD,cAAe,CACX,KAAM,OACN,QAAS,OACZ,EACD,kBAAmB,CACf,KAAM,OACN,QAAS,QACZ,EACD,eAAgB,CACZ,KAAM,OACN,QAAS,MACZ,EACD,QAAS,QACT,YAAa,CACT,KAAM,OACN,QAAS,CACZ,EACD,YAAa,CACT,KAAM,OACN,QAAS,CACZ,EACD,YAAa,QACb,MAAO,CACH,KAAM,QACN,QAAS,EACZ,EACD,WAAY,CACR,KAAM,QACN,QAAS,EACZ,EACD,SAAU,OACV,SAAU,OACV,SAAU,CACN,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,oBAAqB,cAAc,CAC3F,EACD,SAAU,CACN,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,oBAAqB,eAAe,CAC5F,EACD,YAAa,CACT,KAAM,OACN,QAAS,KAAO,GACnB,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,sBAAuB,CAAC,OAAQ,SAAU,KAAK,EAC/C,8BAA+B,CAAC,OAAQ,SAAU,KAAK,EACvD,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,yBAA0B,CAAC,OAAQ,SAAU,KAAK,EAClD,wBAAyB,CAAC,OAAQ,SAAU,KAAK,CACpD,EACD,MAAO,CACH,MAAO,CACH,YAAa,KAAK,WAClB,YAAa,KAAK,WAClB,MAAO,EACP,MAAO,GACP,KAAM,EACN,YAAa,EACb,MAAO,GACP,SAAU,KACV,SAAU,EACV,aAAc,GACd,QAAS,GACT,MAAO,IACnB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,OAAO,EACvC,CAAE,CAAC,KAAK,cAAc,eAAgB,gBAAgB,CAAC,EAAG,KAAK,OAAS,CACxF,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,cAAc,CAC/D,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,cAAc,EAC/C,CAAE,CAAC,KAAK,cAAc,qBAAsB,wBAAwB,CAAC,EAAG,KAAK,QAAU,CACvG,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,oBAAoB,CACzE,CACS,EACD,sBAAuB,CACnB,MAAO,CACH,GAAG,KAAK,iBACR,KAAK,cAAc,qBAAsB,yBAAyB,CAClF,CACS,EACD,sBAAuB,CACnB,MAAO,CACH,GAAG,KAAK,iBACR,KAAK,cAAc,qBAAsB,yBAAyB,CAClF,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,kBAAmB,mBAAmB,EACzD,CAAE,CAAC,KAAK,cAAc,wBAAyB,2BAA2B,CAAC,EAAG,KAAK,eAAiB,EACpG,CAAE,CAAC,KAAK,cAAc,gCAAiC,8BAA+B,KAAK,iBAAiB,CAAC,EAAG,KAAK,iBAAmB,KAAK,iBAAmB,CAChL,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,kBAAkB,CACvE,CACS,EACD,UAAW,CACP,OAAO,KAAK,QAAU,EACzB,EACD,WAAY,CACR,MAAO,UAAU,KAAK,SAAS,KAClC,EACD,aAAc,CACV,MAAO,CAACxC,GAAM,KAAK,MAAS,KAAK,YAAc,KAAK,UAAY,GAAI,KAAK,WAAW,OAAS,KAAK,SAAS,aAAe,KAAK,SAAS,CAC3I,EACD,OAAQ,CACJ,OAAO,KAAK,WAAW,OAAS,KAAK,SAAS,WACjD,EACD,gBAAiB,CACb,OAAO,KAAK,KAAK,KAAK,MAAQ,KAAK,SAAS,WAAW,EAAI,CAC9D,EACD,gBAAiB,CACb,OAAO,KAAK,KAAK,KAAK,YAAc,KAAK,SAAS,WAAW,CAChE,EACD,WAAY,CACR,OAAQ,KAAK,SAAS,YAAc,KAAK,cAAiB,CAAC,KAAK,SAAS,UAC5E,EACD,SAAU,CACN,OAAQ,KAAK,SAAS,QAAU,KAAK,YAAc,IAAM,KAAK,SACjE,EACD,SAAU,CACN,OAAQ,KAAK,SAAS,QAAU,KAAK,YAAc,KAAK,QAAU,KAAK,SAC1E,EACD,gBAAiB,CAEb,OADa,OAAO,KAAK,KAAK,WAAW,EAAE,IAAI,MAAM,EACzC,KAAK,CAACryC,EAAGC,IAAMA,EAAID,CAAC,CACnC,EACD,UAAW,CACP,IAAIq6C,EAAa,KAAK,eAAe,OAAQA,GAAe,CACxD,GAAI,KAAK,aAAeA,EACpB,MAAO,EAE3B,CAAa,EAAE,CAAC,EACJ,OAAIA,EACO,CAAE,GAAG,KAAK,OAAQ,GAAG,KAAK,YAAYA,CAAU,GAEpD,KAAK,MACf,EACD,WAAY,CACR,OAAI,KAAK,aAEL,KAAK,SACQ,KAAK,IAAI,sBAAqB,EAC/B,MAAQ,KAAK,SAAS,aAE/B,CACV,CACJ,EACD,MAAO,CAIH,WAAWn9C,EAAO,CACVA,GAAS,KAAK,WAAW,OAAS,IAClC,KAAK,YAAcA,EACnB,KAAK,SAASA,EAAQ,KAAK,SAAS,YAAa,EAAI,EAE5D,EAID,SAASoyC,EAAQ,CACTA,EACA,KAAK,WAAU,EAGf,KAAK,WAAU,CAEtB,EAID,OAAOA,EAAQ,CACPA,GACA,KAAK,WAAU,CAEtB,CACJ,EACD,QAAS,CACL,qBAAqBznC,EAAO,CACxB,MAAO,CACH,KAAK,cAAc,qBAAsB,wBAAwB,EACjE,CAAE,CAAC,KAAK,cAAc,2BAA4B,gCAAgC,CAAC,EAAG,KAAK,iBAAmBA,CAAO,EACrH,CAAE,CAAC,KAAK,cAAc,0BAA2B,2BAA4B,KAAK,cAAc,CAAC,EAAG,KAAK,cAAgB,CACzI,CACS,EACD,cAAe,CACX,KAAK,aAAe,GACpB,KAAK,WAAU,CAClB,EACD,cAAe,CACX,KAAK,aAAe,GACpB,KAAK,WAAU,CAClB,EACD,YAAa,CACL,CAAC,KAAK,UAAY,KAAK,QAE3B,KAAK,QAAU,GACf,KAAK,MAAQ,YAAY,IAAM,CACvB,CAAC,KAAK,QAAU,KAAK,aAAe,KAAK,WAAW,OAAS,EAC7D,KAAK,WAAU,EAGf,KAAK,KAAI,CAE7B,EAAe,KAAK,QAAQ,EACnB,EACD,YAAa,CACT,KAAK,QAAU,GACX,KAAK,QACL,cAAc,KAAK,KAAK,EACxB,KAAK,MAAQ,KAEpB,EACD,cAAe,CACX,KAAK,WAAU,EACf,KAAK,WAAU,CAClB,EACD,YAAa,CACL,KAAK,YAAc,KAAK,UACxB,KAAK,WAAU,CAEtB,EACD,WAAWxC,EAASnI,EAAO,CACvB,GAAI,KAAK,gBAAkBmI,EACvB,OAAO,KAAK,SAASnI,EAAQ,KAAK,SAAS,WAAW,CAE7D,EACD,SAAU,CACN,KAAK,YAAc,OAAO,UAC7B,EACD,SAASuxB,EAAU6rB,EAAW,KAAK,YAAa,CACxC,KAAK,SAAS,SACd7rB,EAAW2jB,GAAI3jB,EAAU,KAAK,MAAQ,CAAC,GAE3CA,EAAW4jB,GAAM5jB,EAAU,EAAG,KAAK,KAAK,EACxC,KAAK,YAAcA,EACnB,KAAK,MAAM,SAAU,KAAK,cAAc,EACnC6rB,IACD,KAAK,YAAc,KAAK,KAAK7rB,EAAW,KAAK,SAAS,WAAW,EAC7D,KAAK,aAAe,KAAK,aACzB,KAAK,MAAM,oBAAqB,KAAK,WAAW,EAG3D,EACD,MAAO,CACH,KAAK,SAAS,KAAK,YAAc,KAAK,SAAS,WAAW,CAC7D,EACD,MAAO,CACH,KAAK,SAAS,KAAK,YAAc,KAAK,SAAS,WAAW,CAC7D,EAED,UAAU+C,EAAO,CACT,KAAK,UAAY,CAAC,KAAK,SAAS,SAAYA,EAAM,SAAW,GAAKA,EAAM,OAAS,eAErF,KAAK,KAAO,KAAK,MACjB,KAAK,MAAQ,CAAC,CAACA,EAAM,QACrB,KAAK,MAAQ,KAAK,MAAQA,EAAM,QAAQ,CAAC,EAAE,QAAUA,EAAM,QACvD,KAAK,OACL,KAAK,WAAU,EAEnB,OAAO,iBAAiB,KAAK,MAAQ,YAAc,YAAa,KAAK,QAAQ,EAC7E,OAAO,iBAAiB,KAAK,MAAQ,WAAa,UAAW,KAAK,OAAO,EAC5E,EACD,SAASA,EAAO,CACZ,GAAI,CAAC,KAAK,SACN,OACJ,MAAM+oB,EAAW/oB,EAAM,SAChBA,EAAM,eAAe,CAAC,GAAKA,EAAM,QAAQ,CAAC,GAAG,QAAUA,EAAM,QACpE,KAAK,MAAQ,KAAK,MAAQ+oB,EACrB/oB,EAAM,SACPA,EAAM,eAAc,CAE3B,EACD,QAAQA,EAAO,CACX,GAAI,GAAC,KAAK,UAAY,CAAC,KAAK,MAE5B,IAAI,KAAK,KAAM,CACX,MAAMgpB,EAAYtI,GAAK,KAAK,KAAK,EAC3BuI,EAAU,KAAK,MAAM,KAAK,IAAI,KAAK,MAAQ,KAAK,SAAS,EAAI,GAAI,EACvE,KAAK,SAAS,KAAK,YAAcD,EAAYC,CAAO,CACvD,CACD,KAAK,MAAQ,EACb,KAAK,MAAQ,GACTjpB,GAASA,EAAM,SACf,KAAK,WAAU,EAEnB,OAAO,oBAAoB,KAAK,MAAQ,YAAc,YAAa,KAAK,QAAQ,EAChF,OAAO,oBAAoB,KAAK,MAAQ,WAAa,UAAW,KAAK,OAAO,EAC/E,EACD,SAAU,CACN,KAAK,UAAU,IAAM,CACjB,KAAK,UACrB,CAAa,CACJ,CACJ,EACD,SAAU,CAaN,GAZI,OAAO,OAAW,MACd,OAAO,iBACP,KAAK,SAAW,IAAI,OAAO,eAAe,KAAK,OAAO,EACtD,KAAK,SAAS,QAAQ,KAAK,GAAG,GAElC,OAAO,iBAAiB,SAAU,KAAK,OAAO,EAC9C,SAAS,iBAAiB,eAAgB,KAAK,OAAO,EACtD,SAAS,iBAAiB,gBAAiB,KAAK,OAAO,EACvD,SAAS,iBAAiB,kBAAmB,KAAK,OAAO,EACzD,KAAK,QAAO,EACZ,KAAK,WAAU,GAEf,KAAK,OAAO,OACZ,MAAM,IAAI,MAAM,6DAA6D,CAEpF,EACD,eAAgB,CACR,OAAO,OAAW,MACd,OAAO,gBACP,KAAK,SAAS,aAElB,OAAO,oBAAoB,SAAU,KAAK,OAAO,EACjD,SAAS,oBAAoB,eAAgB,KAAK,OAAO,EACzD,SAAS,oBAAoB,gBAAiB,KAAK,OAAO,EAC1D,SAAS,oBAAoB,kBAAmB,KAAK,OAAO,EAC5D,KAAK,QAAO,EACZ,KAAK,WAAU,EAEtB,CACL,CAAC,EAED,SAAShS,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,YACZ,aAAcC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,aAAa,GAAGrwC,CAAI,GAC9E,aAAcswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,aAAa,GAAGrwC,CAAI,EAClF,EAAK,CAACiW,EAAY,MAAO,CACrB,MAAOo6B,EAAK,YAChB,EAAK,CAACp6B,EAAY,MAAO,CACrB,YAAaq6B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,UAAU,GAAGrwC,CAAI,GAC1E,aAAcswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,UAAU,GAAGrwC,CAAI,GAC3E,MAAOqwC,EAAK,aACZ,MAAO,wBAA0BA,EAAK,YAAc,KACxD,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,EAExC,EAAEz6B,GAAWy6B,EAAK,OAAQ,QAAS,CAClC,QAASA,EAAK,QACd,KAAMA,EAAK,KACX,QAASA,EAAK,QACd,KAAMA,EAAK,IACf,EAAK,IAAM,CAACA,EAAK,OAASt6B,EAAW,EAAEC,EAAY3E,GAAU,CACzD,IAAK,CACT,EAAK,CAAClF,GAAe8J,EAAY86B,EAAmB,CAChD,MAAOV,EAAK,qBACZ,QAASA,EAAK,KACd,KAAMA,EAAK,SACX,KAAMA,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,EACP,EAAE,KAAM,EAEP,CAAC,QAAS,UAAW,OAAQ,OAAQ,MAAM,CAAC,EAAG,CAAC,CAAC1a,GAAO0a,EAAK,OAAO,CAAC,CAAC,EAAGlkC,GAAe8J,EAAY86B,EAAmB,CACvH,MAAOV,EAAK,qBACZ,QAASA,EAAK,KACd,KAAMA,EAAK,SACX,KAAMA,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,EACP,EAAE,KAAM,EAEP,CAAC,QAAS,UAAW,OAAQ,OAAQ,MAAM,CAAC,EAAG,CAAC,CAAC1a,GAAO0a,EAAK,OAAO,CAAC,CAAC,CAAC,EAAG,EAE3E,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,CAAC,EAAG,CAEzC,EAAE5Y,GAAWy6B,EAAK,OAAQ,aAAc,CACvC,OAAQA,EAAK,YACb,SAAUA,EAAK,SACf,eAAgBA,EAAK,cACzB,EAAK,IAAM,CAACA,EAAK,WAAW,QAAUt6B,EAAW,EAAEC,EAAY3E,GAAU,CACrE,IAAK,CACT,EAAK,CAACg/B,EAAK,WAAa,CAACA,EAAK,aAAet6B,EAAS,EAAIC,EAAY,MAAO,CACzE,IAAK,EACL,MAAOq6B,EAAK,iBACb,EAAE,EAAEt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,eAAgB,CAACl5C,EAAGiK,KAC7E2U,EAAS,EAAIC,EAAY,IAAK,CACnC,MAAOq6B,EAAK,iBACZ,YAAaW,GAAUX,EAAK,WAAW,QAASjvC,CAAK,EACrD,QAAS4vC,GAAUX,EAAK,WAAW,QAASjvC,CAAK,EACjD,IAAKA,CACN,EAAE,CAACwU,GAAWy6B,EAAK,OAAQ,YAAa,CACvC,EAAGjvC,CACT,EAAO,IAAM,CAAC6U,EAAY,OAAQ,CAC5B,MAAOo6B,EAAK,qBAAqBjvC,CAAK,CACvC,EAAE,KAAM,CAEb,CAAK,CAAC,CAAC,EAAG,GAEJ,CAAC,cAAe,SAAS,CAAC,EAC7B,EAAG,GAEH,IAAI,CAEJ,GAAIotB,EAAmB,OAAQ,EAAI,CAAC,EAAG,EAEvC,GAAIA,EAAmB,OAAQ,EAAI,CAAC,CAAC,EAAG6hB,EAAK,QAAUz6B,GAAWy6B,EAAK,OAAQ,UAAW,CACzF,IAAK,CACN,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,EAE1C,CACA,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,uCAKhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,gBACN,YAAa,WACb,OAAQ,CAACmiC,GAAmB,WAAYD,EAAQ,EAAG3E,EAAkB,EACrE,MAAO,CACH,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,CAC5C,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,aAAa,EAC7C,CAAE,CAAC,KAAK,cAAc,kBAAmB,qBAAqB,CAAC,EAAG,KAAK,QAAU,CACjG,CACS,EACD,WAAY,CACR,MAAO,UAAU,KAAK,OAAO,SAAS,KACzC,EACD,UAAW,CACP,OAAO,KAAK,OAAO,cAAgB,KAAK,KAC3C,CACJ,EACD,QAAS,CACL,QAAQ9jB,EAAO,CACP,KAAK,UACL,KAAK,OAAO,MAAM,QAASA,CAAK,EAEhC,KAAK,OAAO,cACZ,KAAK,OAAO,YAAc,KAAK,MAC/B,KAAK,OAAO,MAAM,oBAAqB,KAAK,KAAK,EAExD,CACJ,CACL,CAAC,EAED,SAASkpB,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,OAAO36B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,YACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GACpE,MAAOqwC,EAAK,SAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAE3C,CACA,CAEAQ,GAAS,OAASoD,GAClBpD,GAAS,OAAS,2CAElB,IAAIzvC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BR,GAAkBnzB,EAAKq0B,EAAQ,CAClC,CACL,EAEA,MAAAqD,GAAe9yC,GCpiBf,IAAI+yC,GAAkB7iC,GAAgB,CAClC,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CAEH,WAAY,CAAC,OAAQ,OAAQ,QAAS,KAAK,EAI3C,YAAa,CAAC,OAAQ,OAAQ,QAAS,KAAK,EAK5C,QAAS,OAIT,SAAU,QACV,SAAU,QAIV,KAAM,OAKN,KAAM,MACT,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,UAC3B,CACK,EACD,SAAU,CACN,cAAe,CACX,KAAM,CACF,OAAO,KAAK,QACf,EACD,IAAI7a,EAAO,CACP,KAAK,SAAWA,EAChB,KAAK,MAAM,oBAAqB,KAAK,QAAQ,CAChD,CACJ,CACJ,EACD,MAAO,CAIH,WAAWA,EAAO,CACd,KAAK,SAAWA,CACnB,CACJ,EACD,QAAS,CACL,OAAQ,CAEJ,KAAK,MAAM,MAAM,OACpB,CACJ,CACL,CAAC,ECpDG05C,GAAS7+B,GAAgB,CACzB,KAAM,YACN,OAAQ,CAACu9B,GAAoBsF,EAAe,EAC5C,YAAa,WACb,MAAO,CACH,OACH,EACD,MAAO,CAIH,cAAe,CACX,KAAM,QACN,QAAS,EACZ,EAID,UAAW,CACP,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACZ,EAID,WAAY,CACR,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACZ,EAED,eAAgB,OAEhB,aAAc,OACd,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,wBAAyB,CAAC,OAAQ,SAAU,KAAK,EACjD,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,MAAO,CACH,cAAe,CACX,QAAQn/C,EAAK,CACT,KAAK,gBAAkBA,CAC1B,EACD,UAAW,EACd,CACJ,EACD,SAAU,CACN,WAAY,CACR,OAAO,KAAK,gBAAkB,KAAK,WAC5B,MAAM,QAAQ,KAAK,aAAa,GAAK,KAAK,cAAc,QAAQ,KAAK,WAAW,IAAM,EAChG,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,OAAO,EACvC,CAAE,CAAC,KAAK,cAAc,eAAgB,gBAAgB,CAAC,EAAG,KAAK,SAAW,EAC1E,CAAE,CAAC,KAAK,cAAc,YAAa,UAAW,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACtE,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,QAAU,EAC3E,CAAE,CAAC,KAAK,cAAc,eAAgB,UAAW,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,CAC/F,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,cAAc,EAC/C,CAAE,CAAC,KAAK,cAAc,oBAAqB,uBAAuB,CAAC,EAAG,KAAK,SAAW,EACtF,CAAE,CAAC,KAAK,cAAc,0BAA2B,6BAA6B,CAAC,EAAG,KAAK,eAAiB,CACxH,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,cAAc,CAC/D,CACS,CACJ,CACL,CAAC,EAED,SAAS+jB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,QAAS,CACvC,MAAOq6B,EAAK,YACZ,IAAK,QACL,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAI/7B,IAASqwC,EAAK,MAAM,GAAGrwC,CAAI,EAAG,CAAC,MAAM,CAAC,GAC3F,UAAWswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAciV,GAAUX,EAAK,MAAM,MAAM,QAAS,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,EACxH,EAAE,CAAClkC,GAAe8J,EAAY,QAASgY,GAAW,CACjD,sBAAuBqiB,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,GAChF,KAAM,UACV,EAAKX,EAAK,OAAQ,CACd,IAAK,QACL,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAM,GAAI,CAAC,MAAM,CAAC,GACnE,MAAOsU,EAAK,aACZ,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,KAAMA,EAAK,KACX,aAAcA,EAAK,aACnB,MAAOA,EAAK,YACZ,cAAeA,EAAK,cACpB,aAAcA,EAAK,UACnB,cAAeA,EAAK,WACpB,kBAAmBA,EAAK,cAC5B,CAAG,EAAG,KAAM,GAER,CAAC,WAAY,WAAY,OAAQ,eAAgB,QAAS,gBAAiB,aAAc,cAAe,iBAAiB,CAAC,EAAG,CAAC,CAAClW,GAAgBkW,EAAK,aAAa,CAAC,CAAC,EAAGp6B,EAAY,OAAQ,CAC1L,GAAIo6B,EAAK,eACT,MAAOA,EAAK,YAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,GAEvC,CAAC,IAAI,CAAC,CAAC,EAAG,EAEd,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,uCCnHhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAiE,GAAehzC,GCJf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,YACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,WACb,MAAO,CAAC,cAAe,OAAQ,OAAO,EACtC,MAAO,CAIH,KAAM,CACF,KAAM,QACN,QAAS,EACZ,EAID,UAAW,CACP,KAAM,OACN,QAAS,IACE9C,EAAeqC,EAAU,EAAI,qBAAsB,MAAM,CAEvE,EACD,OAAQ,CACJ,KAAM,OACN,QAAS,EACZ,EAKD,SAAU,CACN,KAAM,OACN,QAAS,MACT,UAAY33C,GACD,CACH,MACA,QACH,EAAC,QAAQA,CAAK,EAAI,EAE1B,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,MAAO,CACH,MAAO,CACH,OAAQ,KAAK,IACzB,CACK,EACD,MAAO,CACH,KAAKA,EAAO,CACR,KAAK,OAASA,CACjB,CACJ,EACD,QAAS,CAIL,QAAS,CACL,KAAK,OAAS,CAAC,KAAK,OACpB,KAAK,MAAM,cAAe,KAAK,MAAM,EACrC,KAAK,MAAM,KAAK,OAAS,OAAS,OAAO,CAC5C,CACJ,EACD,QAAS,CACL,MAAMmI,EAAU0b,GAAE,MAAO,CACrB,MAAO,KAAK,cAAc,eAAgB,iBAAiB,EAC3D,QAAS,KAAK,MAC1B,EAAW,KAAK,OAAO,QAAQ,CAAE,KAAM,KAAK,MAAQ,EAAC,EACvCgU,EAAUhU,GAAEyX,GAAY,CAAE,KAAM,KAAK,WAAa,IAAM5lB,GAAemO,GAAE,MAAO,CAClF,MAAO,KAAK,cAAc,eAAgB,iBAAiB,EAC3D,GAAM,KAAK,MACd,EAAE,KAAK,OAAO,QAAO,CAAE,EAAG,CAAC,CAACqb,GAAO,KAAK,MAAM,CAAC,CAAC,CAAC,EAClD,OAAOrb,GAAE,MAAO,CAAE,MAAO,KAAK,cAAc,YAAa,QAAQ,CAAG,EAAG,KAAK,WAAa,MAAQ,CAAC1b,EAAS0vB,CAAO,EAAI,CAACA,EAAS1vB,CAAO,EAC1I,CACL,CAAC,EAEDuxC,GAAO,OAAS,uCAEhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAkE,GAAejzC,GC3Ff,IAAIkzC,GAAkBhjC,GAAgB,CAClC,MAAO,CAIH,iBAAkB,MACrB,EACD,MAAO,CACH,MAAO,CACH,cAAe,OACf,aAAc,MAC1B,CACK,EACD,QAAS,CACL,aAAayZ,EAAO,CAChB,KAAK,aAAeA,EAAM,OAC7B,CACJ,EACD,SAAU,CACN,GAAI,OAAO,OAAW,IAAa,CAC/B,IAAI4hB,EAAQ,KAAK,iBACjB,GAAI,CAACA,EAAO,CACR,MAAMjC,EAAS0D,IACTmG,EAAexI,EAAerB,EAAQ,mBAAoB,QAAQ,EACxEiC,EAAQZ,EAAerB,EAAQ,GAAG,KAAK,SAAS,WAAW,oBAAqB6J,CAAY,CAC/F,CACD,KAAK,cAAgB,OAAO,WAAW,eAAe5H,CAAK,GAAG,EAC1D,KAAK,eACL,KAAK,aAAe,KAAK,cAAc,QACvC,KAAK,cAAc,YAAY,KAAK,aAAc,EAAK,GAGvD,KAAK,aAAe,EAE3B,CACJ,EACD,eAAgB,CACR,OAAO,OAAW,KACd,KAAK,eACL,KAAK,cAAc,eAAe,KAAK,eAAe,CAGjE,CACL,CAAC,EC/CD,MAAM6H,GAAgB,CAACrD,EAASsD,EAAe,KACtCtD,EAGDsD,EACOtD,EAAQ,iBAAiB,kBAAkB,EAE/CA,EAAQ,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wDAUoB,EAfzC,KAiBf,IAAIuD,GACJ,MAAMC,GAAO,CAACj/C,EAAI,CAAE,MAAAe,EAAQ,EAAI,IAAO,CACnC,GAAIA,EAAO,CACP,IAAIm+C,EAAYJ,GAAc9+C,CAAE,EAC5Bm/C,EAAgBL,GAAc9+C,EAAI,EAAI,EACtCk/C,GAAaA,EAAU,OAAS,IAChCF,GAAa3pB,GAAU,CAGnB6pB,EAAYJ,GAAc9+C,CAAE,EAC5Bm/C,EAAgBL,GAAc9+C,EAAI,EAAI,EACtC,MAAMo/C,EAAiBF,EAAU,CAAC,EAC5BG,EAAgBH,EAAUA,EAAU,OAAS,CAAC,EAChD7pB,EAAM,SAAW+pB,GAAkB/pB,EAAM,UAAYA,EAAM,MAAQ,OACnEA,EAAM,eAAc,EACpBgqB,EAAc,MAAK,IAEbhqB,EAAM,SAAWgqB,GAAiB,MAAM,KAAKF,CAAa,EAAE,QAAQ9pB,EAAM,MAAM,GAAK,IAAM,CAACA,EAAM,UAAYA,EAAM,MAAQ,QAClIA,EAAM,eAAc,EACpB+pB,EAAe,MAAK,EAExC,EACYp/C,EAAG,iBAAiB,UAAWg/C,EAAS,EAE/C,CACL,EACMM,GAAUt/C,GAAO,CACnBA,EAAG,oBAAoB,UAAWg/C,EAAS,CAC/C,EACM93B,GAAY,CACd,YAAa+3B,GACb,cAAeK,EACnB,ECtCA,IAAI7E,GAAS7+B,GAAgB,CACzB,KAAM,YACN,WAAY,CACR,UAAWsL,EACd,EACD,YAAa,WACb,OAAQ,CAACiyB,GAAoByF,EAAe,EAC5C,SAAU,CACN,MAAO,CACH,UAAW,IACvB,CACK,EACD,MAAO,CAAC,oBAAqB,gBAAiB,QAAQ,EACtD,MAAO,CAEH,WAAY,CACR,KAAM,CAAC,OAAQ,OAAQ,QAAS,OAAQ,KAAK,EAC7C,QAAS,IACZ,EAID,SAAU,QAIV,OAAQ,QAIR,WAAY,QAIZ,UAAW,CACP,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACEvI,EAAeqC,EAAU,EAAI,qBAAsB,GAAG,CAEpE,EAKD,SAAU,CACN,KAAM,OACN,UAAY33C,GACD,CACH,YACA,WACA,cACA,cACH,EAAC,QAAQA,CAAK,EAAI,EAE1B,EAID,YAAa,CACT,KAAM,QACN,QAAS,IACEs1C,EAAeqC,EAAU,EAAI,uBAAwB,EAAI,CAEvE,EAKD,SAAU,CACN,KAAM,OACN,UAAY33C,GACD,CACH,OACA,OACA,QACH,EAAC,QAAQA,CAAK,EAAI,GAEvB,QAAS,IACZ,EAID,UAAW,CACP,KAAM,OACN,QAAS,IACEs1C,EAAeqC,EAAU,EAAI,qBAAsB,MAAM,CAEvE,EAID,SAAU,QAIV,UAAW,CACP,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,qBAAsB,EAAI,CAErE,EAID,aAAc,CACV,KAAM,QACN,QAAS,EACZ,EAKD,SAAU,CACN,KAAM,CAAC,MAAO,OAAO,EACrB,QAAS,EACZ,EAID,SAAU,QAKV,SAAU,CACN,KAAM,MACN,QAAS,IAAM,CAAC,OAAO,CAC1B,EAID,QAAS,CACL,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,mBAAoB,KAAK,CAEpE,EAID,gBAAiB,CACb,KAAM,OACN,QAAS,CACZ,EAID,aAAc,QAId,uBAAwB,QACxB,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,CAC1C,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,WACf,SAAU,GACV,YAAa,GACb,OAAQ,MACpB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,gBAAiB,kBAAkB,CAAC,EAAG,KAAK,QAAU,EAC5E,CAAE,CAAC,KAAK,cAAc,gBAAiB,kBAAkB,CAAC,EAAG,KAAK,QAAU,EAC5E,CAAE,CAAC,KAAK,cAAc,cAAe,gBAAgB,CAAC,EAAG,KAAK,MAAQ,EACtE,CAAE,CAAC,KAAK,cAAc,cAAe,gBAAgB,CAAC,EAAG,KAAK,eAAiB,KAAK,cAAgB,CAAC,KAAK,SAAW,CACrI,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,iBAAiB,CACpE,CACS,EACD,0BAA2B,CACvB,MAAO,CACH,KAAK,cAAc,yBAA0B,iBAAiB,CAC9E,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,cAAc,EAC9C,CAAE,CAAC,KAAK,cAAc,oBAAqB,iBAAkB,KAAK,QAAQ,CAAC,EAAG,KAAK,QAAU,EAC7F,CAAE,CAAC,KAAK,cAAc,kBAAmB,sBAAsB,CAAC,EAAI,KAAK,UAAY,KAAK,MAAS,CACnH,CACS,EACD,eAAgB,CACZ,OAAO,KAAK,aAAe,CAAC,KAAK,MACpC,EACD,eAAgB,CACZ,OAAO,OAAO,KAAK,UAAa,UAC1B,KAAK,SACD,CAAC,SAAU,SAAS,EACpB,CAAE,EACN,KAAK,QACd,EACD,WAAY,CACR,MAAO,CACH,UAAW,KAAK,WAAa1B,GAAe,KAAK,SAAS,EAAI,KAC9D,SAAU,KAAK,WAAa,OAAS,IACrD,CACS,EACD,WAAY,CACR,OAAO,KAAK,SAAS,QAAQ,OAAO,GAAK,CAC5C,CACJ,EACD,MAAO,CAIH,WAAWj2C,EAAO,CACd,KAAK,SAAWA,CACnB,EAID,SAASA,EAAO,CACZ,KAAK,MAAM,gBAAiBA,CAAK,EAC7B,KAAK,cACL,KAAK,UAAU,IAAM,CACjB,KAAK,mBAAkB,CAC3C,CAAiB,CAER,CACJ,EACD,QAAS,CAOL,WAAWA,EAAO,CACV,KAAK,UACD,KAAK,SACD,KAAK,SAAS,QAAQA,CAAK,IAAM,GAEjC,KAAK,SAAW,CAAC,GAAG,KAAK,SAAUA,CAAK,EAIxC,KAAK,SAAW,KAAK,SAAS,OAAQzB,GAAQA,IAAQyB,CAAK,EAI/D,KAAK,SAAW,CAACA,CAAK,EAE1B,KAAK,MAAM,SAAU,KAAK,QAAQ,GAG9B,KAAK,WAAaA,IAClB,KAAK,SAAWA,EAChB,KAAK,MAAM,SAAU,KAAK,QAAQ,GAG1C,KAAK,MAAM,oBAAqB,KAAK,QAAQ,EACxC,KAAK,WACN,KAAK,SAAW,CAAC,KAAK,aAClB,KAAK,WAAa,KAAK,eACvB,KAAK,YAAc,IAG9B,EAID,cAAcf,EAAI,CAGd,GAFIA,IAAO,KAAK,MAAM,cAElBA,IAAO,KAAK,MAAM,QAClB,MAAO,GAEX,GAAI,KAAK,MAAM,eAAiB,OAAW,CACvC,MAAMqY,EAAW,KAAK,MAAM,aAAa,iBAAiB,GAAG,EAC7D,UAAWE,KAASF,EAChB,GAAIrY,IAAOuY,EACP,MAAO,EAGlB,CAED,GAAI,KAAK,MAAM,UAAY,OAAW,CAClC,MAAMF,EAAW,KAAK,MAAM,QAAQ,iBAAiB,GAAG,EACxD,UAAWE,KAASF,EAChB,GAAIrY,IAAOuY,EACP,MAAO,EAGlB,CACD,MAAO,EACV,EAID,eAAe8c,EAAO,CACd,KAAK,cAAc,QAAQ,SAAS,EAAI,GAExC,KAAK,QAEJ,KAAK,cAAcA,EAAM,MAAM,IAChC,KAAK,SAAW,GACvB,EAID,SAAS,CAAE,IAAAh2B,GAAO,CACd,GAAI,KAAK,WAAaA,IAAQ,UAAYA,IAAQ,OAAQ,CACtD,GAAI,KAAK,cAAc,QAAQ,QAAQ,EAAI,EACvC,OACJ,KAAK,SAAW,EACnB,CACJ,EACD,SAAU,CACF,KAAK,SAAS,QAAQ,OAAO,EAAI,GAErC,KAAK,OAAM,CACd,EACD,eAAgB,CACR,KAAK,SAAS,QAAQ,aAAa,EAAI,GAE3C,KAAK,OAAM,CACd,EACD,SAAU,CACF,KAAK,SAAS,QAAQ,OAAO,EAAI,IAErC,KAAK,YAAc,GACtB,EACD,SAAU,CACF,KAAK,SAAS,QAAQ,OAAO,EAAI,GAErC,KAAK,OAAM,CACd,EAID,QAAS,CACD,KAAK,WAEJ,KAAK,SAWN,KAAK,SAAW,CAAC,KAAK,SARtB,KAAK,UAAU,IAAM,CACjB,MAAM0B,EAAQ,CAAC,KAAK,SACpB,KAAK,SAAWA,EAEhB,WAAW,IAAO,KAAK,SAAWA,CAAM,CAC5D,CAAiB,EAKR,EACD,oBAAqB,CACjB,MAAM27C,EAAe,KAAK,MAAM,aAC1BxzC,EAAU,KAAK,MAAM,QAC3B,GAAIwzC,GAAgBxzC,EAAS,CAEzB,MAAMq2C,EAAW,KAAK,MAAM,OAAO,SAAS,CAAC,EAY7C,GAXAA,EAAS,UAAU,QAASz8C,GAASy8C,EAAS,UAAU,OAAO,GAAGz8C,EAAK,MAAM,GAAG,CAAC,CAAC,EAClF,KAAK,YAAY,QAASA,GAAS,CAC3BA,IACI,OAAOA,GAAS,SAChB,OAAO,KAAKA,CAAI,EAAE,OAAOzD,GAAOA,GAAOyD,EAAKzD,CAAG,CAAC,EAAE,QAAQA,GAAOkgD,EAAS,UAAU,IAAIlgD,CAAG,CAAC,EAG5FkgD,EAAS,UAAU,IAAI,GAAGz8C,EAAK,MAAM,GAAG,CAAC,EAGrE,CAAiB,EACG,KAAK,uBAAwB,CAC7B,MAAM08C,EAAa,KAAK,MAAM,SAAS,WACjC1vB,EAAS,KAAK,MAAM,OAC1BA,EAAO,UAAU,QAAShtB,GAASgtB,EAAO,UAAU,OAAO,GAAGhtB,EAAK,MAAM,GAAG,CAAC,CAAC,EAC9E08C,EAAW,UAAU,QAAS18C,GAASgtB,EAAO,UAAU,IAAI,GAAGhtB,EAAK,MAAM,GAAG,CAAC,CAAC,CAClF,CACD,MAAMu5C,EAAOnzC,EAAQ,wBACrB,IAAIyzC,EAAMN,EAAK,IAAM,OAAO,QACxBO,EAAOP,EAAK,KAAO,OAAO,QAC1B,CAAC,KAAK,UAAY,KAAK,SAAS,QAAQ,QAAQ,GAAK,EACrDM,GAAOzzC,EAAQ,aAGfyzC,GAAOD,EAAa,aAEpB,KAAK,UAAY,KAAK,SAAS,QAAQ,MAAM,GAAK,IAClDE,GAASF,EAAa,YAAcxzC,EAAQ,aAEhDwzC,EAAa,MAAM,SAAW,WAC9BA,EAAa,MAAM,IAAM,GAAGC,CAAG,KAC/BD,EAAa,MAAM,KAAO,GAAGE,CAAI,KACjCF,EAAa,MAAM,OAAS,MAC/B,CACJ,CACJ,EACD,SAAU,CACF,KAAK,eACL,KAAK,MAAM,OAAS5F,GAAsB,KAAK,MAAM,YAAY,EACjE,KAAK,mBAAkB,EAE9B,EACD,SAAU,CACF,OAAO,OAAW,MAClB,SAAS,iBAAiB,QAAS,KAAK,cAAc,EACtD,SAAS,iBAAiB,QAAS,KAAK,QAAQ,EAEvD,EACD,eAAgB,CACR,OAAO,OAAW,MAClB,SAAS,oBAAoB,QAAS,KAAK,cAAc,EACzD,SAAS,oBAAoB,QAAS,KAAK,QAAQ,GAEnD,KAAK,cACLD,GAAc,KAAK,MAAM,MAAM,CAEtC,CACL,CAAC,EAED,SAASxzB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMyE,EAAwBzgC,GAAiB,YAAY,EAE3D,OAAOqB,EAAS,EAAIC,EAAY,MAAO,CACrC,IAAK,WACL,MAAOq6B,EAAK,YACZ,aAAcC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,YAAc,GACzE,EAAK,CAAEA,EAAK,OAcS7hB,EAAmB,OAAQ,EAAI,GAd9BzY,EAAW,EAAEC,EAAY,MAAO,CAClD,IAAK,EACL,SAAUq6B,EAAK,SAAW,KAAOA,EAAK,gBACtC,IAAK,UACL,MAAOA,EAAK,eACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GACpE,cAAeswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAI/7B,IAASqwC,EAAK,cAAc,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,GAC5G,aAAcswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GACzE,eAAgBswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GAC3E,gBAAiB,MAClB,EAAE,CAAC4V,GAAWy6B,EAAK,OAAQ,UAAW,CACrC,OAAQA,EAAK,QACd,EAAC,EAAG,GAEH,CAAC,UAAU,CAAC,GAAuCp6B,EAAY8b,GAAY,CAC3E,KAAMse,EAAK,SACf,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACwkC,EAAK,cAAgBlkC,IAAgB4J,EAAS,EAAIC,EAAY,MAAO,CAC3F,IAAK,EACL,MAAOq6B,EAAK,yBACZ,cAAe,CAACA,EAAK,QACtB,EAAE,KAAM,GAEP,CAAC,aAAa,CAAC,GAAI,CAAC,CAAC1a,GAAO0a,EAAK,QAAQ,CAAC,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,EAClF,EAAG,CACP,EAAK,EAED,CAAC,MAAM,CAAC,EAAGvY,EAAY8b,GAAY,CACnC,KAAMse,EAAK,SACf,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACM,GAAe8J,EAAY,MAAO,CACxD,IAAK,eACL,GAAIo6B,EAAK,QACT,MAAOA,EAAK,YACZ,cAAe,CAACA,EAAK,SACrB,KAAMA,EAAK,SACX,aAAc,CAACA,EAAK,OACpB,MAAOA,EAAK,SAClB,EAAO,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,GAEvC,CAAC,KAAM,cAAe,OAAQ,YAAY,CAAC,EAAG,CAAC,CAAC1a,GAAO,CAAC0a,EAAK,WAAaA,EAAK,UAAYA,EAAK,cAAgBA,EAAK,MAAM,EAAG,CAAC8E,EAAuB9E,EAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAC1K,EAAG,CACP,EAAK,EAED,CAAC,MAAM,CAAC,CAAC,EAAG,EAEhB,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,uCAKhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,gBACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,WACb,OAAQ,CAAC,WAAW,EACpB,MAAO,CAAC,OAAO,EACf,MAAO,CAIH,MAAO,CACH,KAAM,CAAC,OAAQ,OAAQ,QAAS,OAAQ,KAAK,CAChD,EAID,SAAU,QAIV,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EAID,IAAK,CACD,KAAM,OACN,QAAS,IACE9C,EAAeqC,EAAU,EAAI,mBAAoB,KAAK,CAEpE,EACD,SAAU,CACN,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,CACZ,EACD,SAAU,CACN,KAAM,OACN,QAAS,EACZ,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,CAC9C,EACD,SAAU,CACN,QAAS,CACL,OAAO,KAAK,SACf,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,cAAc,EAC9C,CAAE,CAAC,KAAK,cAAc,oBAAqB,wBAAwB,CAAC,EAAI,KAAK,OAAO,UAAY,KAAK,QAAW,EAChH,CAAE,CAAC,KAAK,cAAc,kBAAmB,sBAAsB,CAAC,EAAG,KAAK,QAAU,CAClG,CACS,EACD,cAAe,CACX,OAAO,KAAK,WAAa,YAAc,KAAK,WAAa,WAAa,KAAK,SAAW,IACzF,EACD,aAAc,CACV,MAAO,CAAC,KAAK,OAAO,UAAY,CAAC,KAAK,UAAY,KAAK,SAC1D,EACD,UAAW,CACP,OAAI,KAAK,OAAO,WAAa,KAClB,GACP,KAAK,OAAO,SACL,KAAK,OAAO,SAAS,QAAQ,KAAK,KAAK,GAAK,EAChD,KAAK,QAAU,KAAK,OAAO,QACrC,CACJ,EACD,QAAS,CAIL,YAAa,CACJ,KAAK,cAEV,KAAK,OAAO,WAAW,KAAK,KAAK,EACjC,KAAK,MAAM,OAAO,EACrB,CACJ,EACD,SAAU,CACN,GAAI,CAAC,KAAK,OACN,MAAM,IAAI,MAAM,8CAA8C,CAErE,CACL,CAAC,EAED,SAAS6F,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,OAAO36B,EAAW,EAAEC,EAAYxB,GAAwB67B,EAAK,GAAG,EAAG,CACjE,MAAOA,EAAK,YACZ,QAASA,EAAK,WACd,KAAMA,EAAK,aACX,SAAUA,EAAK,QACnB,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,CAAC,EAC3D,EAAG,CACP,EAAK,EAED,CAAC,QAAS,UAAW,OAAQ,UAAU,CAAC,CAC5C,CAEAQ,GAAS,OAASoD,GAClBpD,GAAS,OAAS,2CC3lBlB,IAAIV,GAAS7+B,GAAgB,CACzB,KAAM,aACN,OAAQ,CAAC,QAAQ,EACjB,YAAa,QACb,SAAU,CACN,QAAS,CACL,OAAO,KAAK,MACf,CACJ,EACD,QAAS,CACL,IAAI8jC,EAAQ,GACZ,MAAM1/B,EAAO,KAAK,OAAO,QAAO,EAC1B3H,EAAW2H,EAAK,SAAW,GAAK,MAAM,QAAQA,EAAK,CAAC,EAAE,QAAQ,EAAIA,EAAK,CAAC,EAAE,SAAWA,EAC3F,OAAO4E,GAAE,MAAO,CAAE,MAAO,KAAK,OAAO,uBAAyBvM,EAAS,IAAKojC,GAAY,CACpF,IAAIpI,EACJ,OAAIoI,EAAQ,OAASxiC,IAAWwiC,EAAQ,OAASlvB,GACtCkvB,GAEPiE,IACArM,EAAU,KAAK,OAAO,WACtBqM,EAAQ,IAGL96B,GAAElG,GAAiB,QAAQ,EAAG,CAAE,QAAS,KAAK,OAAO,WAAY,QAAA20B,CAAO,EAAI,IAAM,CAACoI,CAAO,CAAC,EACrG,EAAC,CACL,CACL,CAAC,EAEDhB,GAAO,OAAS,qCAOhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,SACN,WAAY,CACR,CAAC6+B,GAAO,IAAI,EAAGA,EAClB,EACD,YAAa,QACb,OAAQ,CAACtB,GAAoByF,EAAe,EAC5C,SAAU,CACN,MAAO,CACH,OAAQ,IACpB,CACK,EACD,OAAQ,CACJ,OAAQ,CAAE,KAAM,SAAU,QAAS,EAAO,CAC7C,EACD,MAAO,CAKH,QAAS,OAIT,MAAO,OAIP,SAAU,OAIV,QAAS,OAIT,QAAS,QAIT,eAAgB,QAIhB,WAAY,QAIZ,OAAQ,CACJ,KAAM,QACN,QAAS,EACZ,EAKD,UAAW,OACX,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,YAAa,CAAC,OAAQ,SAAU,KAAK,CACxC,EACD,MAAO,CACH,MAAO,CACH,WAAY,KAAK,QACjB,WAAY,KAAK,QACjB,UAAW,GACX,SAAU,EACtB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,SAAS,EACzC,CAAE,CAAC,KAAK,cAAc,kBAAmB,qBAAqB,CAAC,EAAG,KAAK,UAAY,EACnF,CAAE,CAAC,KAAK,cAAc,cAAe,iBAAiB,CAAC,EAAG,KAAK,YAAc,EAC7E,CAAE,CAAC,KAAK,cAAc,eAAgB,kBAAkB,CAAC,EAAG,KAAK,SAAW,EAC5E,CAAE,CAAC,KAAK,cAAc,cAAe,iBAAiB,CAAC,EAAG,KAAK,QAAU,CACzF,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,kBAAkB,EACrD,CAAE,CAAC,KAAK,cAAc,sBAAuB,oBAAqB,KAAK,UAAU,CAAC,EAAG,KAAK,UAAY,CACtH,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,gBAAgB,EACjD,CAAE,CAAC,KAAK,cAAc,iBAAkB,kBAAmB,KAAK,SAAS,CAAC,EAAG,KAAK,SAAW,EAC7F,CAAE,CAAC,KAAK,cAAc,oBAAqB,kBAAmB,KAAK,UAAU,CAAC,EAAG,KAAK,UAAY,CAClH,CACS,EACD,wBAAyB,CACrB,MAAO,CACH,KAAK,cAAc,uBAAwB,2BAA2B,CACtF,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,eAAe,CAC/D,CACS,EACD,uBAAwB,CACpB,MAAO,CACH,KAAK,cAAc,sBAAuB,0BAA0B,CACpF,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,YAAa,SAAS,EACzC,CAAE,CAAC,KAAK,cAAc,sBAAuB,4BAA4B,CAAC,EAAG,KAAK,cAAgB,EAClG,CAAE,CAAC,KAAK,cAAc,eAAgB,kBAAkB,CAAC,EAAG,KAAK,OAAS,EAC1E,CAAE,CAAC,KAAK,cAAc,cAAe,iBAAiB,CAAC,EAAG,CAAC,KAAK,SAAW,KAAK,WAAa,CAC7G,CACS,EACD,QAAS,CACL,OAAO,KAAK,MACf,EACD,cAAe,CACX,OAAO,KAAK,OAAO,KACtB,EACD,gBAAiB,CACb,OAAO,KAAK,OAAO,OACtB,EACD,UAAW,CACP,OAAO,KAAK,OAAS,KAAK,YAC7B,EACD,YAAa,CACT,OAAS,CAAC,KAAK,QAAU,CAAC,KAAK,OAAO,gBAAkB,KAAK,YAAe,KAAK,cACpF,EACD,eAAgB,CACZ,OAAO,KAAK,SAAW,KAAK,gBAAkB,KAAK,WACtD,CACJ,EACD,MAAO,CAIH,QAAQ79C,EAAO,CACX,KAAK,WAAaA,CACrB,EAID,QAAQA,EAAO,CACX,KAAK,WAAaA,CACrB,EAID,WAAWA,EAAO,CACV,KAAK,QAAU,KAAK,OAAO,gBACtB,KAAK,OAAO,UACb,KAAK,OAAO,WAAa,KAAK,YAE7B,KAAK,OAAO,UACb,KAAK,OAAO,WAAaA,GAGpC,CACJ,EACD,QAAS,CACL,WAAY,CACR,IAAI4+C,EAAe,EACnB,MAAM3/B,EAAO,KAAK,OAAO,QAAO,EAChC,OAAIA,IAEA2/B,GADiB3/B,EAAK,SAAW,GAAK,MAAM,QAAQA,EAAK,CAAC,EAAE,QAAQ,EAAIA,EAAK,CAAC,EAAE,SAAWA,GACnE,OAAO,CAAC/f,EAAGy7B,IAASA,EAAOz7B,EAAI,EAAIA,EAAG,CAAC,GAE5D0/C,EAAe,GAAK,KAAK,QAAU,CAAC,KAAK,UACnD,CACJ,CACL,CAAC,EAED,SAASt8B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAM4E,EAA0BlhC,GAAiB,cAAc,EAE/D,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAACA,EAAK,YAAct6B,EAAS,EAAIC,EAAY,MAAO,CACrD,IAAK,EACL,MAAOq6B,EAAK,sBAChB,EAAK,CAACA,EAAK,UAAYt6B,EAAS,EAAIC,EAAY,QAAS,CACrD,IAAK,EACL,IAAKq6B,EAAK,SACV,MAAOA,EAAK,YAChB,EAAK,CAACA,EAAK,aAAez6B,GAAWy6B,EAAK,OAAQ,QAAS,CACvD,IAAK,CACN,IAAKt6B,EAAS,EAAIC,EAAY3E,GAAU,CACvC,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,KAAK,EAAG,CAEhD,GAAG,EAEH,EAAC,EAAG,GAEH,CAAC,KAAK,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEnD,IAAQzY,EAAS,EAAIC,EAAY3E,GAAU,CACvC,IAAK,CACT,EAAK,CAACg/B,EAAK,UAAYt6B,EAAS,EAAIC,EAAY,QAAS,CACrD,IAAK,EACL,IAAKq6B,EAAK,SACV,MAAOA,EAAK,YAChB,EAAK,CAACA,EAAK,aAAez6B,GAAWy6B,EAAK,OAAQ,QAAS,CACvD,IAAK,CACN,IAAKt6B,EAAS,EAAIC,EAAY3E,GAAU,CACvC,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,KAAK,EAAG,CAEhD,GAAG,EAEH,EAAC,EAAG,GAEH,CAAC,KAAK,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,EAEhD,GAAG6hB,EAAK,WAAap6B,EAAYq/B,EAAyB,CACzD,IAAK,CACT,EAAK,CACD,QAASzpC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,CAAC,EAC3D,EAAG,CACP,CAAG,EAAIA,EAAK,eAAiBt6B,EAAS,EAAIC,EAAY,MAAO,CACzD,IAAK,EACL,MAAOq6B,EAAK,WAChB,EAAK,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,iBAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAExC,GAAG,CAEH,GAAIz6B,GAAWy6B,EAAK,OAAQ,UAAW,CACtC,IAAK,CACT,CAAG,EAAGA,EAAK,YAAc,CAACA,EAAK,YAAct6B,EAAS,EAAIC,EAAY,IAAK,CACvE,IAAK,EACL,MAAOq6B,EAAK,cAChB,EAAK,CAACA,EAAK,eAAiBz6B,GAAWy6B,EAAK,OAAQ,UAAW,CAC3D,IAAK,CACN,IAAKt6B,EAAS,EAAIC,EAAY3E,GAAU,CACvC,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,UAAU,EAAG,CAErD,GAAG,EAEH,EAAC,EAAG,CAEJ,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE1C,CACA,CAEAqiB,GAAS,OAAS93B,GAClB83B,GAAS,OAAS,iCCnSlB,IAAIV,GAAS7+B,GAAgB,CACzB,KAAM,UACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,EACpB,EACD,OAAQ,CAAChC,GAAoB8B,EAAgB,EAC7C,YAAa,SACb,aAAc,GACd,MAAO,CAAC,oBAAqB,QAAS,MAAM,EAC5C,MAAO,CAEH,WAAY,CACR,KAAM,CAAC,OAAQ,OAAQ,QAAS,OAAQ,KAAK,EAC7C,QAAS,IACZ,EAKD,KAAM,OAKN,QAAS,OAKT,SAAU,CACN,KAAM,OACN,QAAS,IAAe5E,EAAeqC,EAAU,EAAI,kBAAmB,MAAS,CACpF,EAID,UAAW,CACP,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,mBAAoB,MAAS,CACrF,EAED,YAAa,OACb,SAAU,QAEV,WAAY,CAAC,OAAQ,MAAM,EAC3B,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,WAAY,CAAC,OAAQ,SAAU,KAAK,CACvC,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,UAC3B,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,YAAY,EAC5C,CAAE,CAAC,KAAK,cAAc,gBAAiB,sBAAsB,CAAC,EAAG,KAAK,QAAU,CAChG,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,cAAe,OAAO,EACzC,CAAE,CAAC,KAAK,cAAc,eAAgB,gBAAgB,CAAC,EAAG,KAAK,OAAS,EACxE,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,QAAU,EAC3E,CAAE,CAAC,KAAK,cAAc,YAAa,UAAW,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACtE,CAAE,CAAC,KAAK,cAAc,eAAgB,UAAY,KAAK,eAAiB,KAAK,OAAS,GAAI,KAAK,eAAiB,KAAK,OAAU,EAC/H,CAAE,CAAC,KAAK,cAAc,qBAAsB,sBAAsB,CAAC,EAAG,KAAK,IAAM,EACjF,CAAE,CAAC,KAAK,cAAc,sBAAuB,uBAAuB,CAAC,EAAG,KAAK,SAAW,EACxF,CAAE,CAAC,KAAK,cAAc,mBAAoB,oBAAoB,CAAC,EAAG,KAAK,kBAAoB,EAC3F,CAAE,CAAC,KAAK,cAAc,aAAc,aAAa,CAAC,EAAG,CAAC,KAAK,WAAa,CAAC,KAAK,QAAU,CACxG,CACS,EACD,iBAAkB,CACd,MAAO,CACH,KAAK,cAAc,gBAAiB,kBAAkB,CACtE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,mBAAmB,CACxE,CACS,EACD,oBAAqB,CACjB,OAAO,KAAK,gBAAkB,IACjC,EACD,cAAe,CACX,KAAM,CACF,OAAO,KAAK,QACf,EACD,IAAI33C,EAAO,CACP,KAAK,SAAWA,EAChB,KAAK,MAAM,oBAAqBA,CAAK,EACrC,KAAK,WAAW,KAAK,QAAQ,EAC7B,CAAC,KAAK,SAAW,KAAK,mBAAkB,CAC3C,CACJ,EACD,aAAc,CACV,MAAO,QACV,CACJ,EACD,MAAO,CAMH,WAAWA,EAAO,CACd,KAAK,SAAWA,EAChB,KAAK,WAAW,KAAK,QAAQ,EAC7B,CAAC,KAAK,SAAW,KAAK,mBAAkB,CAC3C,CACJ,CACL,CAAC,EAED,MAAM00C,GAAa,CACjB,IAAK,EACL,MAAO,KACP,SAAU,GACV,OAAQ,EACV,EACA,SAASpyB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAAClkC,GAAe8J,EAAY,SAAUgY,GAAWoiB,EAAK,OAAQ,CAC/D,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,GAChF,MAAOX,EAAK,cACZ,IAAK,SACL,aAAcA,EAAK,aACnB,SAAUA,EAAK,SACf,KAAMA,EAAK,WACX,OAAQC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,OAAO,GAAGrwC,CAAI,GAClE,QAASswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,EACxE,CAAG,EAAG,CAACqwC,EAAK,aAAet6B,EAAW,EAAEC,EAAY3E,GAAU,CAC1D,IAAK,CACN,EAAE,CAACg/B,EAAK,oBAAsBt6B,EAAW,EAAEC,EAAY,SAAUm1B,GAAYhxC,GAAgBk2C,EAAK,WAAW,EAAG,CAEhH,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,EAE1C,GAAOA,EAAmB,OAAQ,EAAI,EAAG5Y,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,GAE1E,CAAC,eAAgB,WAAY,MAAM,CAAC,EAAG,CAAC,CAACvV,GAAcuV,EAAK,aAAa,CAAC,CAAC,EAAGA,EAAK,KAAOp6B,EAAY86B,EAAmB,CACzH,IAAK,EACL,MAAOV,EAAK,gBACZ,KAAMA,EAAK,KACX,KAAMA,EAAK,SACX,KAAMA,EAAK,IACZ,EAAE,KAAM,EAEP,CAAC,QAAS,OAAQ,OAAQ,MAAM,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,WAAa,CAACA,EAAK,SAAWp6B,EAAY86B,EAAmB,CACzI,IAAK,EACL,MAAOV,EAAK,iBACZ,KAAMA,EAAK,UACX,KAAMA,EAAK,SACX,KAAMA,EAAK,IACZ,EAAE,KAAM,EAEP,CAAC,QAAS,OAAQ,OAAQ,MAAM,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE5E,CACA,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,mCChLhB,IAAIA,GAAS7+B,GAAgB,CACzB,KAAM,sBACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,aACb,OAAQ,CACJ,YAAa,CAAE,KAAM,cAAe,QAAS,EAAO,CACvD,EACD,MAAO,CAAC,SAAU,oBAAqB,cAAc,EACrD,MAAO,CACH,aAAc,CACV,KAAM,CAAC,KAAM,KAAK,CACrB,EACD,iBAAkB,MAClB,IAAK,CACD,KAAM,MACT,EACD,KAAM,CACF,KAAM,MACN,SAAU,EACb,EACD,MAAO,CACH,KAAM,OACN,SAAU,EACb,EACD,eAAgB,QAChB,QAAS,KACT,QAAS,KACT,SAAU,QACV,kBAAmB,MACnB,uBAAwB,MACxB,gBAAiB,MACjB,OAAQ,MACR,WAAY,OACZ,YAAa,SACb,gBAAiB,QACjB,0BAA2B,QAC3B,oBAAqB,QACrB,MAAO,QACP,SAAU,QACV,kBAAmB,OACnB,eAAgB,OAChB,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,6BAA8B,CAAC,OAAQ,SAAU,KAAK,EACtD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,wBAAyB,CAAC,OAAQ,SAAU,KAAK,EACjD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,yBAA0B,CAAC,OAAQ,SAAU,KAAK,EAClD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,uBAAwB,CAAC,OAAQ,SAAU,KAAK,CACnD,EACD,SAAU,CACN,iBAAkB,CACd,MAAO,CACH,KAAK,cAAc,gBAAiB,oBAAoB,CACxE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,oBAAqB,CACjB,MAAO,CACH,KAAK,cAAc,mBAAoB,uBAAuB,CAC9E,CACS,EACD,WAAY,CACR,OAAO,KAAK,QAAU,KAAK,OAAO,MACrC,CACJ,EACD,MAAO,CACH,IAAI0G,EAAK,CACL,MAAMC,EAAU,OAAO,KAAK,KAAK,IAAID,CAAG,GACxC,KAAK,UAAU,IAAM,CACb,KAAK,MAAMC,CAAO,GAAK,KAAK,MAAMA,CAAO,EAAE,OAAS,GAChD,KAAK,MAAMA,CAAO,EAAE,CAAC,GACrB,KAAK,MAAMA,CAAO,EAAE,CAAC,EAAE,MAAK,CAGpD,CAAa,CACJ,CACJ,EACD,QAAS,CACL,gBAAgBC,EAAMC,EAAKC,EAAK,CAE5B,MAAMC,EAAM,EAAIF,EAAMC,EAItB,MAAO,GADQ,EADM,IAAI,KAAKF,EAAM,EAAGG,CAAG,EACV,OAAQ,EAAGF,GAAO,GAClCE,EAAM,CACzB,EACD,WAAWH,EAAM,CACb,OAAO,KAAK,WAAWA,CAAI,EAAI,IAAM,GACxC,EACD,WAAWA,EAAM,CACb,OAAQA,EAAO,IAAM,GAAKA,EAAO,MAAQ,GAAMA,EAAO,MAAQ,CACjE,EACD,gBAAgB/G,EAAO,CACnB,OAAO,KAAK,OAAOA,EAAM,QAAO,EAAK,IAAI,KAAKA,EAAM,YAAa,EAAE,EAAG,CAAC,EAAE,QAAO,GAAM,KAAK,EAAI,CAClG,EACD,YAAY+G,EAAMC,EAAKC,EAAK,CACxB,MAAME,EAAa,KAAK,gBAAgBJ,EAAMC,EAAKC,CAAG,EAChDG,EAAiB,KAAK,gBAAgBL,EAAO,EAAGC,EAAKC,CAAG,EAC9D,OAAQ,KAAK,WAAWF,CAAI,EAAII,EAAaC,GAAkB,CAClE,EACD,cAAcC,EAAK,CACf,MAAML,EAAM,KAAK,eAEXC,EAAM,KAAK,kBACXE,EAAa,KAAK,gBAAgBE,EAAI,cAAeL,EAAKC,CAAG,EAC7DK,EAAO,KAAK,OAAO,KAAK,gBAAgBD,CAAG,EAAIF,EAAa,GAAK,CAAC,EAAI,EAC5E,IAAII,EACAC,EACJ,OAAIF,EAAO,GACPE,EAAUH,EAAI,YAAa,EAAG,EAC9BE,EAAUD,EAAO,KAAK,YAAYE,EAASR,EAAKC,CAAG,GAE9CK,EAAO,KAAK,YAAYD,EAAI,cAAeL,EAAKC,CAAG,GACxDM,EAAUD,EAAO,KAAK,YAAYD,EAAI,YAAa,EAAEL,EAAKC,CAAG,EAC7DO,EAAUH,EAAI,YAAa,EAAG,IAG9BG,EAAUH,EAAI,cACdE,EAAUD,GAEPC,CACV,EACD,gBAAgBD,EAAM,CACd,KAAK,qBACL,KAAK,YAAY,MAAM,oBAAqBA,CAAI,CAEvD,EAKD,eAAeT,EAAK,CAChB,MAAMY,EAAW,GAUjB,GATI,KAAK,SACLA,EAAS,KAAKZ,GAAO,KAAK,OAAO,EAEjC,KAAK,SACLY,EAAS,KAAKZ,GAAO,KAAK,OAAO,EAEjC,KAAK,iBAAmB,CAAC,KAAK,2BAC9BY,EAAS,KAAKZ,EAAI,SAAQ,IAAO,KAAK,KAAK,EAE3C,KAAK,gBACL,QAAS5/C,EAAI,EAAGA,EAAI,KAAK,gBAAgB,OAAQA,IAAK,CAClD,MAAMygD,EAAc,KAAK,gBAAgBzgD,CAAC,EAC1C,GAAI4/C,EAAI,YAAca,EAAY,QAAS,GACvCb,EAAI,YAAW,IAAOa,EAAY,YAAa,GAC/Cb,EAAI,SAAQ,IAAOa,EAAY,SAAQ,EACvC,MAAO,GAGPD,EAAS,KAAK,EAAK,CAE1B,CAEL,GAAI,KAAK,kBACL,QAASxgD,EAAI,EAAGA,EAAI,KAAK,kBAAkB,OAAQA,IAAK,CACpD,MAAM0gD,EAAe,KAAK,kBAAkB1gD,CAAC,EAC7CwgD,EAAS,KAAKZ,EAAI,QAAO,IAAOc,EAAa,QAAS,GAClDd,EAAI,YAAW,IAAOc,EAAa,YAAa,GAChDd,EAAI,SAAU,IAAKc,EAAa,SAAU,EACjD,CAEL,GAAI,KAAK,uBACL,QAAS1gD,EAAI,EAAGA,EAAI,KAAK,uBAAuB,OAAQA,IAAK,CACzD,MAAM2gD,EAAY,KAAK,uBAAuB3gD,CAAC,EAC/CwgD,EAAS,KAAKZ,EAAI,OAAQ,IAAKe,CAAS,CAC3C,CAEL,OAAOH,EAAS,QAAQ,EAAK,EAAI,CACpC,EAID,eAAeZ,EAAK,CACZ,KAAK,UAEL,KAAK,eAAeA,CAAG,GACvB,KAAK,MAAM,SAAUA,CAAG,CAE/B,EACD,gBAAgBA,EAAK,CACjB,GAAI,CAAC,KAAK,QAAU,CAAC,KAAK,OAAO,OAC7B,MAAO,GACX,MAAMgB,EAAY,GAClB,QAAS5gD,EAAI,EAAGA,EAAI,KAAK,OAAO,OAAQA,IAChC,KAAK,OAAOA,CAAC,EAAE,KAAK,OAAQ,IAAK4/C,EAAI,UACrCgB,EAAU,KAAK,KAAK,OAAO5gD,CAAC,CAAC,EAGrC,OAAK4gD,EAAU,OAGRA,EAFI,EAGd,EAID,YAAYhB,EAAK,CACb,SAASiB,EAAUC,EAASC,EAASC,EAAW,GAAO,CAGnD,MAAI,CAACF,GAAW,CAACC,GAAWC,EACjB,GAEP,MAAM,QAAQD,CAAO,EACdA,EAAQ,KAAME,GAAUH,EAAQ,QAAS,IAAKG,EAAK,QAAS,GAC/DH,EAAQ,YAAW,IAAOG,EAAK,YAAa,GAC5CH,EAAQ,SAAU,IAAKG,EAAK,SAAQ,CAAG,EAEvCH,EAAQ,YAAcC,EAAQ,QAAS,GAC3CD,EAAQ,YAAW,IAAOC,EAAQ,YAAa,GAC/CD,EAAQ,SAAQ,IAAOC,EAAQ,SAAQ,CAC9C,CACD,SAASG,EAAWJ,EAASxJ,EAAO0J,EAAW,GAAO,CAClD,MAAI,CAAC,MAAM,QAAQ1J,CAAK,GAAK0J,EAClB,GAEJF,EAAUxJ,EAAM,CAAC,GAAKwJ,EAAUxJ,EAAM,CAAC,CACjD,CACD,MAAO,CACH,GAAG,KAAK,iBACR,CACI,CAAC,KAAK,cAAc,yBAA0B,+BAA+B,CAAC,EAAGuJ,EAAUjB,EAAK,KAAK,YAAY,GAAKsB,EAAWtB,EAAK,KAAK,aAAc,KAAK,QAAQ,CACzK,EACD,CACI,CAAC,KAAK,cAAc,8BAA+B,qCAAqC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,YAAY,GAAK,KAAK,aAAa,CAAC,EAAG,KAAK,QAAQ,CACrL,EACD,CACI,CAAC,KAAK,cAAc,+BAAgC,sCAAsC,CAAC,EAAGsB,EAAWtB,EAAK,KAAK,aAAc,KAAK,QAAQ,CACjJ,EACD,CACI,CAAC,KAAK,cAAc,6BAA8B,oCAAoC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,YAAY,GAAK,KAAK,aAAa,CAAC,EAAG,KAAK,QAAQ,CACnL,EACD,CACI,CAAC,KAAK,cAAc,6BAA8B,oCAAoC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,gBAAgB,GAAK,KAAK,iBAAiB,CAAC,CAAC,CAC5K,EACD,CACI,CAAC,KAAK,cAAc,8BAA+B,qCAAqC,CAAC,EAAGsB,EAAWtB,EAAK,KAAK,gBAAgB,CACpI,EACD,CACI,CAAC,KAAK,cAAc,4BAA6B,mCAAmC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,gBAAgB,GAAK,KAAK,iBAAiB,CAAC,CAAC,CAC1K,EACD,CACI,CAAC,KAAK,cAAc,sBAAuB,4BAA4B,CAAC,EAAGiB,EAAUjB,EAAK,KAAK,aAAa,CAC/G,EACD,CACI,CAAC,KAAK,cAAc,2BAA4B,iCAAiC,CAAC,EAAG,KAAK,eAAeA,CAAG,GAAK,CAAC,KAAK,QAC1H,EACD,CACI,CAAC,KAAK,cAAc,6BAA8B,mCAAmC,CAAC,EAAG,CAAC,KAAK,eAAeA,CAAG,GAAK,KAAK,QAC9H,EACD,CACI,CAAC,KAAK,cAAc,0BAA2B,gCAAgC,CAAC,EAAG,CAAC,KAAK,iBAAmBA,EAAI,SAAU,IAAK,KAAK,KACvI,EACD,CACI,CAAC,KAAK,cAAc,uBAAwB,6BAA6B,CAAC,EAAG,KAAK,2BAA6BA,EAAI,SAAU,IAAK,KAAK,KAC1I,EACD,CACI,CAAC,KAAK,cAAc,uBAAwB,6BAA6B,CAAC,EAAG,KAAK,SACrF,EACD,CACI,CAAC,KAAK,cAAc,sBAAuB,4BAA4B,CAAC,EAAGiB,EAAUjB,EAAK,KAAK,aAAa,CAC/G,CACjB,CACS,EACD,aAAaxqB,EAAO,CAChB,MAAO,CACH,KAAK,cAAc,kBAAmB,sBAAsB,EAC5D,CAAE,CAAC,KAAK,cAAc,yBAA0B,yBAA0BA,EAAM,IAAI,CAAC,EAAGA,EAAM,IAAM,EACpG,CAAE,CAAC,KAAK,cAAc,4BAA6B,yBAA0B,KAAK,UAAU,CAAC,EAAG,KAAK,UAAY,CACjI,CACS,EACD,qBAAqBwqB,EAAK,CAClB,KAAK,OACL,KAAK,MAAM,oBAAqBA,CAAG,CAE1C,EACD,cAAcxqB,EAAO+rB,EAAS,CAE1B,KAAM,CAAE,IAAA/hD,CAAK,EAAGg2B,EAChB,IAAIgsB,EAAiB,GACrB,OAAQhiD,EAAG,CACP,IAAK,MAAO,CACRgiD,EAAiB,GACjB,KACH,CACD,IAAK,IACL,IAAK,QACL,IAAK,WACL,IAAK,QAAS,CACV,KAAK,eAAeD,CAAO,EAC3B,KACH,CACD,IAAK,YACL,IAAK,OAAQ,CACT,KAAK,YAAYA,EAAS,EAAE,EAC5B,KACH,CACD,IAAK,aACL,IAAK,QAAS,CACV,KAAK,YAAYA,EAAS,CAAC,EAC3B,KACH,CACD,IAAK,UACL,IAAK,KAAM,CACP,KAAK,YAAYA,EAAS,EAAE,EAC5B,KACH,CACD,IAAK,YACL,IAAK,OAAQ,CACT,KAAK,YAAYA,EAAS,CAAC,EAC3B,KACH,CACJ,CACGC,GACAhsB,EAAM,eAAc,CAE3B,EACD,YAAYwqB,EAAKyB,EAAK,CAClB,MAAMC,EAAU,IAAI,KAAK1B,EAAI,QAAS,GAEtC,IADA0B,EAAQ,QAAQ1B,EAAI,QAAS,EAAGyB,CAAG,GAC3B,CAAC,KAAK,SAAWC,EAAU,KAAK,WACnC,CAAC,KAAK,SAAWA,EAAU,KAAK,UACjC,CAAC,KAAK,eAAeA,CAAO,GAC5BA,EAAQ,QAAQ1B,EAAI,QAAO,EAAK,KAAK,KAAKyB,CAAG,CAAC,EAElD,KAAK,qBAAqBC,CAAO,EACjC,KAAK,MAAM,eAAgBA,CAAO,CACrC,CACJ,CACL,CAAC,EAED,SAASl+B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,eAChB,EAAK,CAACA,EAAK,gBAAkBt6B,EAAS,EAAIC,EAAY,IAAK,CACvD,IAAK,EACL,MAAOq6B,EAAK,iBACZ,MAAO,CACL,kBAAmBA,EAAK,mBACzB,EACD,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAciV,GAAUX,EAAK,gBAAgBA,EAAK,cAAcA,EAAK,KAAK,CAAC,CAAC,CAAC,EAAG,CAAC,SAAS,CAAC,EAC/H,EAAE,CAACp6B,EAAY,OAAQ,KAAM9b,GAAgBk2C,EAAK,cAAcA,EAAK,KAAK,CAAC,CAAC,CAAC,EAAG,CAEhF,GAAG,CAEN,GAAO7hB,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,KAAM,CAACyG,EAAS11C,KAC5G2U,EAAS,EAAIC,EAAY3E,GAAU,CACxC,IAAKjQ,CACN,EAAE,CAACivC,EAAK,eAAeyG,CAAO,GAAK,CAACzG,EAAK,UAAYt6B,EAAS,EAAIC,EAAY,IAAK,CAClF,IAAK,EACL,IAAK,OAAO8gC,EAAQ,SAAU,KAAIA,EAAQ,QAAO,CAAE,GACnD,MAAOzG,EAAK,YAAYyG,CAAO,EAC/B,KAAM,SACN,KAAM,IACN,SAAUzG,EAAK,SACf,QAAStU,GAAciV,GAAUX,EAAK,eAAeyG,CAAO,EAAG,CAAC,SAAS,CAAC,EAC1E,aAAc9F,GAAUX,EAAK,qBAAqByG,CAAO,EACzD,UAAW9F,GAAUX,EAAK,cAAcW,EAAQ8F,CAAO,EACvD,SAAUzG,EAAK,MAAQyG,EAAQ,QAAS,GAAIzG,EAAK,QAAUyG,EAAQ,WAAa,KAAO,EAC7F,EAAO,CAAC7gC,EAAY,OAAQ,KAAM9b,GAAgB28C,EAAQ,QAAS,GAAG,CAEtE,EAAOzG,EAAK,gBAAgByG,CAAO,GAAK/gC,EAAW,EAAEC,EAAY,MAAO,CAClE,IAAK,EACL,MAAOq6B,EAAK,kBACb,EAAE,EAAEt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,gBAAgByG,CAAO,EAAG,CAAC/rB,EAAO3pB,KAC3F2U,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,aAAatlB,CAAK,EAC9B,IAAK3pB,CACN,EAAE,KAAM,CAEf,EACK,EAAG,GAEH,IAAI,CAEJ,GAAIotB,EAAmB,OAAQ,EAAI,CAAC,EAAG,GAEtC,CAAC,WAAY,UAAW,eAAgB,YAAa,UAAU,CAAC,IAAMzY,EAAS,EAAIC,EAAY,MAAO,CACtG,IAAK5U,EACL,MAAOivC,EAAK,YAAYyG,CAAO,CACrC,EAAO,CAAC7gC,EAAY,OAAQ,KAAM9b,GAAgB28C,EAAQ,QAAS,GAAG,CAEjE,GAAG,CAEH,EAAC,EAAG,EAET,EACG,EAAG,GAEH,IAAI,CAEP,CACA,CAEA3G,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,mDAEhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,mBACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,aACb,WAAY,CACR,CAACsB,GAAO,IAAI,EAAGA,EAClB,EACD,MAAO,CAAC,oBAAqB,cAAe,YAAa,gBAAgB,EACzE,MAAO,CACH,WAAY,CACR,KAAM,CAAC,KAAM,KAAK,CACrB,EACD,SAAU,MACV,WAAY,MACZ,eAAgB,OAChB,OAAQ,MACR,WAAY,OACZ,QAAS,KACT,QAAS,KACT,QAAS,OACT,SAAU,QACV,YAAa,SACb,kBAAmB,MACnB,uBAAwB,MACxB,gBAAiB,MACjB,gBAAiB,QACjB,0BAA2B,QAC3B,eAAgB,QAChB,oBAAqB,QACrB,kBAAmB,OACnB,MAAO,QACP,SAAU,QACV,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,wBAAyB,CAAC,OAAQ,SAAU,KAAK,EACjD,6BAA8B,CAAC,OAAQ,SAAU,KAAK,EACtD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,yBAA0B,CAAC,OAAQ,SAAU,KAAK,EAClD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,uBAAwB,CAAC,OAAQ,SAAU,KAAK,CACnD,EACD,MAAO,CACH,MAAO,CACH,kBAAmB,OACnB,gBAAiB,OACjB,eAAgB,MAC5B,CACK,EACD,SAAU,CACN,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,eAAe,CAChE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,sBAAuB,CACnB,MAAO,CACH,KAAK,cAAc,qBAAsB,0BAA0B,EACnE,GAAG,KAAK,gBACxB,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,iBAAkB,CACd,MAAM+G,EAAkB,GACxB,IAAI91C,EAAQ,KAAK,eACjB,KAAO81C,EAAgB,OAAS,KAAK,SAAS,QAAQ,CAClD,MAAMC,EAAiB,KAAK,SAAU/1C,EAAQ,KAAK,SAAS,QAC5D81C,EAAgB,KAAKC,CAAc,EACnC/1C,GACH,CACD,OAAI,KAAK,gBACL81C,EAAgB,QAAQ,EAAE,EACvBA,CACV,EAID,mBAAoB,CAChB,GAAI,CAAC,KAAK,OACN,MAAO,GACX,MAAME,EAAc,GACpB,QAASzhD,EAAI,EAAGA,EAAI,KAAK,OAAO,OAAQA,IAAK,CACzC,IAAIo1B,EAAQ,KAAK,OAAOp1B,CAAC,EACpB,OAAO,UAAU,eAAe,KAAKo1B,EAAO,MAAM,IACnDA,EAAQ,CAAE,KAAMA,IAEhBA,EAAM,KAAK,SAAU,IAAK,KAAK,QAAQ,OACvCA,EAAM,KAAK,YAAW,IAAO,KAAK,QAAQ,MAC1CqsB,EAAY,KAAKrsB,CAAK,CAE7B,CACD,OAAOqsB,CACV,EAID,kBAAmB,CACf,KAAK,mBAAkB,EACvB,MAAMC,EAAQ,KAAK,QAAQ,MACrB5B,EAAO,KAAK,QAAQ,KACpB6B,EAAmB,GACzB,IAAIC,EAAc,EAClB,KAAOD,EAAiB,OAAS,GAAG,CAChC,MAAME,EAAU,KAAK,YAAYD,EAAaF,EAAO5B,CAAI,EACzD6B,EAAiB,KAAKE,CAAO,EAC7BD,GAAe,CAClB,CACD,OAAOD,CACV,EACD,kBAAmB,CACf,OAAK,KAAK,MAGL,MAAM,KAAK,eAAe,EAG3B,KAAK,eAAiB,KAAK,kBACpB,CAAC,KAAK,eAAgB,KAAK,iBAAiB,EAAE,OAAOliB,GAAKA,IAAM,MAAS,EAE7E,CAAC,KAAK,kBAAmB,KAAK,cAAc,EAAE,OAAOA,GAAKA,IAAM,MAAS,EALrE,GAHA,EASd,CACJ,EACD,QAAS,CAIL,mBAAmBwhB,EAAM,CACjB,CAAC,KAAK,OAAS,CAAC,KAAK,SACrB,KAAK,MAAM,oBAAqBA,CAAI,EAE/B,KAAK,MACV,KAAK,sBAAsBA,CAAI,EAE1B,KAAK,UACV,KAAK,0BAA0BA,CAAI,CAE1C,EAMD,sBAAsBA,EAAM,CACpB,KAAK,mBAAqB,KAAK,iBAC/B,KAAK,kBAAoBA,EACzB,KAAK,gBAAkB,OACvB,KAAK,MAAM,cAAeA,CAAI,GAEzB,KAAK,mBAAqB,CAAC,KAAK,iBACjC,KAAK,kBAAoBA,GACzB,KAAK,gBAAkB,KAAK,kBAC5B,KAAK,kBAAoBA,GAGzB,KAAK,gBAAkBA,EAE3B,KAAK,MAAM,YAAaA,CAAI,EAC5B,KAAK,MAAM,oBAAqB,CAAC,KAAK,kBAAmB,KAAK,eAAe,CAAC,IAG9E,KAAK,kBAAoBA,EACzB,KAAK,MAAM,cAAeA,CAAI,EAErC,EAKD,0BAA0BA,EAAM,CAC5B,IAAIa,EAAwB,KAAK,WACVA,EAAsB,OAAQC,GAAiBA,EAAa,QAAO,IAAOd,EAAK,QAAS,GAC3Gc,EAAa,YAAW,IAAOd,EAAK,YAAa,GACjDc,EAAa,SAAU,IAAKd,EAAK,SAAU,GAC5B,OACfa,EAAwBA,EAAsB,OAAQC,GAAiBA,EAAa,QAAO,IAAOd,EAAK,QAAS,GAC5Gc,EAAa,YAAW,IAAOd,EAAK,YAAa,GACjDc,EAAa,SAAU,IAAKd,EAAK,SAAU,GAG/Ca,EAAwB,CAAC,GAAGA,EAAuBb,CAAI,EAE3D,KAAK,MAAM,oBAAqBa,CAAqB,CACxD,EAID,YAAYE,EAAcN,EAAO5B,EAAM,CACnC,MAAMmC,EAAY,IAAI,KAAKnC,EAAM4B,CAAK,EAChCQ,EAAW,GACXvB,EAAY,IAAI,KAAKb,EAAM4B,EAAOM,CAAY,EAAE,SAChDhtC,EAAM2rC,GAAa,KAAK,eACvBA,EAAY,KAAK,eAChB,EAAI,KAAK,eAAkBA,EACnC,IAAIwB,EAAU,EACd,QAASniD,EAAI,EAAGA,EAAIgV,EAAKhV,IACrBkiD,EAAS,QAAQ,IAAI,KAAKD,EAAU,YAAW,EAAIA,EAAU,SAAU,EAAED,EAAeG,CAAO,CAAC,EAChGA,IAEJD,EAAS,KAAK,IAAI,KAAKpC,EAAM4B,EAAOM,CAAY,CAAC,EACjD,IAAII,EAAc,EAClB,KAAOF,EAAS,OAAS,GACrBA,EAAS,KAAK,IAAI,KAAKpC,EAAM4B,EAAOM,EAAeI,CAAW,CAAC,EAC/DA,IAEJ,OAAOF,CACV,EACD,oBAAqB,CACjB,MAAMG,EAAc,IAAI,KAAK,KAAK,QAAQ,KAAM,KAAK,QAAQ,MAAO,KAAK,QAAQ,GAAG,EACpF,GAAI,KAAK,eAAeA,CAAW,EAC/B,OACJ,IAAIzC,EAAM,EAEV,MAAM0C,EAAY,IAAI,KAAK,KAAK,QAAQ,KAAM,KAAK,QAAQ,MAAQ,EAAG,CAAC,EAAE,QAAO,EAChF,IAAInD,EAAiB,KACrB,KAAO,CAACA,GAAkB,EAAES,EAAM0C,GAAW,CACzC,MAAMrB,EAAO,IAAI,KAAK,KAAK,QAAQ,KAAM,KAAK,QAAQ,MAAOrB,CAAG,EAChE,GAAI,KAAK,eAAeqB,CAAI,EAAG,CAC3B9B,EAAiBkD,EACjB,MAAME,EAAU,CACZ,IAAKtB,EAAK,QAAS,EACnB,MAAOA,EAAK,SAAU,EACtB,KAAMA,EAAK,YAAa,CAChD,EACoB,KAAK,MAAM,iBAAkBsB,CAAO,CACvC,CACJ,CACJ,EAKD,eAAe3C,EAAK,CAChB,MAAMY,EAAW,GAUjB,GATI,KAAK,SACLA,EAAS,KAAKZ,GAAO,KAAK,OAAO,EAEjC,KAAK,SACLY,EAAS,KAAKZ,GAAO,KAAK,OAAO,EAEjC,KAAK,iBAAmB,CAAC,KAAK,2BAC9BY,EAAS,KAAKZ,EAAI,SAAU,IAAK,KAAK,QAAQ,KAAK,EAEnD,KAAK,gBACL,QAAS5/C,EAAI,EAAGA,EAAI,KAAK,gBAAgB,OAAQA,IAAK,CAClD,MAAMygD,EAAc,KAAK,gBAAgBzgD,CAAC,EAC1C,GAAI4/C,EAAI,YAAca,EAAY,QAAS,GACvCb,EAAI,YAAW,IAAOa,EAAY,YAAa,GAC/Cb,EAAI,SAAQ,IAAOa,EAAY,SAAQ,EACvC,MAAO,GAGPD,EAAS,KAAK,EAAK,CAE1B,CAEL,GAAI,KAAK,kBACL,QAASxgD,EAAI,EAAGA,EAAI,KAAK,kBAAkB,OAAQA,IAAK,CACpD,MAAM0gD,EAAe,KAAK,kBAAkB1gD,CAAC,EAC7CwgD,EAAS,KAAKZ,EAAI,QAAO,IAAOc,EAAa,QAAS,GAClDd,EAAI,YAAW,IAAOc,EAAa,YAAa,GAChDd,EAAI,SAAU,IAAKc,EAAa,SAAU,EACjD,CAEL,GAAI,KAAK,uBACL,QAAS1gD,EAAI,EAAGA,EAAI,KAAK,uBAAuB,OAAQA,IAAK,CACzD,MAAM2gD,EAAY,KAAK,uBAAuB3gD,CAAC,EAC/CwgD,EAAS,KAAKZ,EAAI,OAAQ,IAAKe,CAAS,CAC3C,CAEL,OAAOH,EAAS,QAAQ,EAAK,EAAI,CACpC,EACD,iBAAiBH,EAAM,CACnB,OAAO,KAAK,kBAAkB,OAAQjrB,GAAU,CAC5C,MAAMotB,EAAW,IAAI,KAAK,KAAK,MAAMptB,EAAM,IAAI,CAAC,EAChDotB,EAAS,SAAS,EAAG,EAAG,EAAG,CAAC,EAC5B,MAAMC,EAAQD,EAAS,UACvB,OAAOnC,EAAK,KAAMqC,GAAaA,EAAS,QAAO,IAAOD,CAAK,CAC3E,CAAa,CACJ,EACD,qBAAqB7C,EAAK,CACtB,KAAK,eAAiBA,CACzB,EACD,YAAYA,EAAK,CACb,MAAM2C,EAAU,CACZ,IAAK3C,EAAI,QAAS,EAClB,MAAOA,EAAI,SAAU,EACrB,KAAMA,EAAI,YAAa,CACvC,EACY,KAAK,MAAM,iBAAkB2C,CAAO,CACvC,CACJ,CACL,CAAC,EAED,SAASjE,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAM4H,EAAoClkC,GAAiB,wBAAwB,EAEnF,OAAO2B,EAAS,EAAIC,EAAY,UAAW,CACzC,MAAOq6B,EAAK,YAChB,EAAK,CAACp6B,EAAY,SAAU,CACxB,MAAOo6B,EAAK,gBACb,EAAE,EAAEt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,gBAAiB,CAACkF,EAAKn0C,KAChF2U,EAAS,EAAIC,EAAY,MAAO,CACrC,IAAK5U,EACL,MAAOivC,EAAK,oBAClB,EAAO,CAACp6B,EAAY,OAAQ,KAAM9b,GAAgBo7C,CAAG,EAAG,CAEnD,GAAG,CAER,EACG,EAAG,GAEH,IAAI,CAEP,EAAKt/B,EAAY,MAAO,CACpB,MAAOo6B,EAAK,gBACb,EAAE,EAAEt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,iBAAkB,CAAC2F,EAAM50C,KAClF2U,EAAS,EAAIC,EAAYsiC,EAAmC,CACjE,IAAKl3C,EACL,gBAAiBivC,EAAK,WACtB,IAAKA,EAAK,QAAQ,IAClB,KAAM2F,EACN,MAAO3F,EAAK,QAAQ,MACpB,WAAYA,EAAK,QACjB,WAAYA,EAAK,QACjB,SAAUA,EAAK,SACf,qBAAsBA,EAAK,kBAC3B,4BAA6BA,EAAK,uBAClC,mBAAoBA,EAAK,gBACzB,OAAQA,EAAK,iBAAiB2F,CAAI,EAClC,WAAY3F,EAAK,WACjB,eAAgBA,EAAK,YACrB,oBAAqBA,EAAK,gBAC1B,+BAAgCA,EAAK,0BACrC,mBAAoBA,EAAK,eACzB,wBAAyBA,EAAK,oBAC9B,oBAAqBA,EAAK,eAC1B,uBAAwBA,EAAK,kBAC7B,MAAOA,EAAK,MACZ,qBAAsBA,EAAK,iBAC3B,SAAUA,EAAK,SACf,kBAAmBA,EAAK,cACxB,mBAAoBA,EAAK,eACzB,4BAA6BA,EAAK,uBAClC,kCAAmCA,EAAK,4BACxC,6BAA8BA,EAAK,wBACnC,mCAAoCA,EAAK,6BACzC,iCAAkCA,EAAK,2BACvC,iCAAkCA,EAAK,2BACvC,kCAAmCA,EAAK,4BACxC,gCAAiCA,EAAK,0BACtC,yBAA0BA,EAAK,oBAC/B,8BAA+BA,EAAK,yBACpC,gCAAiCA,EAAK,2BACtC,0BAA2BA,EAAK,qBAChC,0BAA2BA,EAAK,qBAChC,qBAAsBA,EAAK,iBAC3B,4BAA6BA,EAAK,uBAClC,oBAAqBA,EAAK,gBAC1B,+BAAgCA,EAAK,0BACrC,SAAUA,EAAK,mBACf,oBAAqBA,EAAK,qBAC1B,iBAAkBA,EAAK,WACxB,EAAE,KAAM,EAEP,CAAC,gBAAiB,MAAO,OAAQ,QAAS,WAAY,WAAY,WAAY,qBAAsB,4BAA6B,mBAAoB,SAAU,aAAc,eAAgB,oBAAqB,+BAAgC,mBAAoB,wBAAyB,oBAAqB,uBAAwB,QAAS,qBAAsB,WAAY,kBAAmB,mBAAoB,4BAA6B,kCAAmC,6BAA8B,mCAAoC,iCAAkC,iCAAkC,kCAAmC,gCAAiC,yBAA0B,8BAA+B,gCAAiC,0BAA2B,0BAA2B,qBAAsB,4BAA6B,oBAAqB,+BAAgC,WAAY,sBAAuB,gBAAgB,CAAC,EACv9B,EAAG,GAEH,IAAI,CAEJ,GAAG,CAEN,CACA,CAEAQ,GAAS,OAASoD,GAClBpD,GAAS,OAAS,gDAElB,IAAI0H,GAAkB,CAClB,QAAS,CACL,cAAcxtB,EAAO+rB,EAAS,CAE1B,KAAM,CAAE,IAAA/hD,CAAK,EAAGg2B,EAChB,IAAIgsB,EAAiB,GACrB,OAAQhiD,EAAG,CACP,IAAK,MAAO,CACRgiD,EAAiB,GACjB,KACH,CACD,IAAK,IACL,IAAK,QACL,IAAK,WACL,IAAK,QAAS,CACV,KAAK,eAAeD,CAAO,EAC3B,KACH,CACD,IAAK,YACL,IAAK,OAAQ,CACT,KAAK,YAAYA,EAAS,EAAE,EAC5B,KACH,CACD,IAAK,aACL,IAAK,QAAS,CACV,KAAK,YAAYA,EAAS,CAAC,EAC3B,KACH,CACD,IAAK,UACL,IAAK,KAAM,CACP,KAAK,YAAYA,EAAS,EAAE,EAC5B,KACH,CACD,IAAK,YACL,IAAK,OAAQ,CACT,KAAK,YAAYA,EAAS,CAAC,EAC3B,KACH,CACJ,CACGC,GACAhsB,EAAM,eAAc,CAE3B,CACJ,CACL,EAEI4oB,GAAW,CACX,KAAM,mBACN,OAAQ,CAAC9E,GAAoB0J,EAAe,EAC5C,YAAa,aACb,MAAO,CAAC,oBAAqB,cAAe,YAAa,iBAAiB,EAC1E,MAAO,CACH,WAAY,CACR,KAAM,CAAC,KAAM,KAAK,CACrB,EACD,WAAY,MACZ,OAAQ,MACR,WAAY,OACZ,QAAS,KACT,QAAS,KACT,QAAS,OACT,SAAU,QACV,YAAa,SACb,kBAAmB,CAAC,MAAO,QAAQ,EACnC,uBAAwB,MACxB,gBAAiB,CAAC,MAAO,QAAQ,EACjC,MAAO,QACP,SAAU,QACV,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,6BAA8B,CAAC,OAAQ,SAAU,KAAK,EACtD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,iCAAkC,CAAC,OAAQ,SAAU,KAAK,EAC1D,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,yBAA0B,CAAC,OAAQ,SAAU,KAAK,EAClD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,qBAAsB,CAAC,OAAQ,SAAU,KAAK,CACjD,EACD,MAAO,CACH,MAAO,CACH,kBAAmB,OACnB,gBAAiB,OACjB,eAAgB,OAChB,sBAAuB,KAAK,UAAY,KAAK,WAAa,KAAK,WAAa,CAAE,CAC1F,CACK,EACD,SAAU,CACN,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,eAAe,CAChE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,kBAAmB,sBAAsB,CAC5E,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,WAAY,CACR,OAAO,KAAK,QAAU,KAAK,OAAO,MACrC,EAID,kBAAmB,CACf,GAAI,CAAC,KAAK,OACN,MAAO,GACX,MAAMC,EAAa,GACnB,QAAS7iD,EAAI,EAAGA,EAAI,KAAK,OAAO,OAAQA,IAAK,CACzC,IAAIo1B,EAAQ,KAAK,OAAOp1B,CAAC,EACpB,OAAO,UAAU,eAAe,KAAKo1B,EAAO,MAAM,IACnDA,EAAQ,CAAE,KAAMA,IAEf,OAAO,UAAU,eAAe,KAAKA,EAAO,MAAM,IACnDA,EAAM,KAAO,cAEbA,EAAM,KAAK,YAAa,IAAK,KAAK,QAAQ,MAC1CytB,EAAW,KAAKztB,CAAK,CAE5B,CACD,OAAOytB,CACV,EACD,YAAa,CACT,MAAM/C,EAAO,KAAK,QAAQ,KACpBgD,EAAS,GACf,QAAS9iD,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACzB,MAAMy/B,EAAI,IAAI,KAAKqgB,EAAM9/C,EAAG,CAAC,EAC7By/B,EAAE,SAAS,EAAG,EAAG,EAAG,CAAC,EACrBqjB,EAAO,KAAKrjB,CAAC,CAChB,CACD,OAAOqjB,CACV,EACD,cAAe,CACX,OAAO,KAAK,QAAQ,KACvB,EACD,kBAAmB,CACf,OAAK,KAAK,MAGL,MAAM,KAAK,eAAe,EAG3B,KAAK,eAAiB,KAAK,kBACpB,CAAC,KAAK,eAAgB,KAAK,iBAAiB,EAAE,OAAOxK,EAAS,EAElE,CAAC,KAAK,kBAAmB,KAAK,cAAc,EAAE,OAAOA,EAAS,EAL1D,GAHA,EASd,CACJ,EACD,MAAO,CACH,aAAaoJ,EAAO,CAChB,MAAM7B,EAAU,SAAS6B,CAAK,GAC1B,KAAK,MAAM7B,CAAO,GAAK,KAAK,MAAMA,CAAO,EAAE,OAAS,GACpD,KAAK,UAAU,IAAM,CACb,KAAK,MAAMA,CAAO,EAAE,CAAC,GACrB,KAAK,MAAMA,CAAO,EAAE,CAAC,EAAE,MAAK,CAEpD,CAAiB,CAER,CACJ,EACD,QAAS,CACL,oBAAoBoB,EAAM,CACC,KAAK,sBAAsB,OAAQc,GAAiBA,EAAa,QAAO,IAAOd,EAAK,QAAS,GAChHc,EAAa,YAAW,IAAOd,EAAK,YAAa,GACjDc,EAAa,SAAU,IAAKd,EAAK,SAAU,GAC5B,OACf,KAAK,sBAAwB,KAAK,sBAAsB,OAAQc,GAAiBA,EAAa,YAAcd,EAAK,QAAS,GACtHc,EAAa,YAAW,IAAOd,EAAK,YAAa,GACjDc,EAAa,SAAU,IAAKd,EAAK,SAAU,GAG/C,KAAK,sBAAsB,KAAKA,CAAI,EAExC,KAAK,MAAM,oBAAqB,KAAK,qBAAqB,CAC7D,EACD,eAAerB,EAAK,CAChB,MAAMY,EAAW,GAQjB,GAPI,KAAK,SACLA,EAAS,KAAKZ,GAAO,KAAK,OAAO,EAEjC,KAAK,SACLY,EAAS,KAAKZ,GAAO,KAAK,OAAO,EAErCY,EAAS,KAAKZ,EAAI,YAAa,IAAK,KAAK,QAAQ,IAAI,EACjD,KAAK,gBACL,GAAI,OAAO,KAAK,iBAAoB,WAAY,CAC5C,GAAI,KAAK,gBAAgBA,CAAG,EACxB,MAAO,GAGPY,EAAS,KAAK,EAAK,CAE1B,KAEG,SAASxgD,EAAI,EAAGA,EAAI,KAAK,gBAAgB,OAAQA,IAAK,CAClD,MAAMygD,EAAc,KAAK,gBAAgBzgD,CAAC,EAC1C,GAAI4/C,EAAI,gBAAkBa,EAAY,YAAa,GAC/Cb,EAAI,SAAQ,IAAOa,EAAY,SAAQ,EACvC,MAAO,GAGPD,EAAS,KAAK,EAAK,CAE1B,CAGT,GAAI,KAAK,kBACL,GAAI,OAAO,KAAK,mBAAsB,WAClCA,EAAS,KAAK,CAAC,KAAK,kBAAkBZ,CAAG,CAAC,MAG1C,SAAS5/C,EAAI,EAAGA,EAAI,KAAK,kBAAkB,OAAQA,IAAK,CACpD,MAAM0gD,EAAe,KAAK,kBAAkB1gD,CAAC,EAC7CwgD,EAAS,KAAKZ,EAAI,YAAW,IAAOc,EAAa,YAAa,GAC1Dd,EAAI,SAAU,IAAKc,EAAa,SAAU,EACjD,CAGT,GAAI,KAAK,uBACL,QAAS1gD,EAAI,EAAGA,EAAI,KAAK,uBAAuB,OAAQA,IAAK,CACzD,MAAM2gD,EAAY,KAAK,uBAAuB3gD,CAAC,EAC/CwgD,EAAS,KAAKZ,EAAI,OAAQ,IAAKe,CAAS,CAC3C,CAEL,OAAOH,EAAS,QAAQ,EAAK,EAAI,CACpC,EACD,gBAAgBZ,EAAK,CACjB,GAAI,CAAC,KAAK,iBAAiB,OACvB,MAAO,GACX,MAAM6B,EAAc,GACpB,QAASzhD,EAAI,EAAGA,EAAI,KAAK,iBAAiB,OAAQA,IAC1C,KAAK,iBAAiBA,CAAC,EAAE,KAAK,SAAU,IAAK4/C,EAAI,YACjD6B,EAAY,KAAK,KAAK,OAAOzhD,CAAC,CAAC,EAGvC,OAAKyhD,EAAY,OAGVA,EAFI,EAGd,EAID,YAAY7B,EAAK,CACb,SAASiB,EAAUC,EAASC,EAASC,EAAW,GAAO,CAEnD,MAAI,CAACF,GAAW,CAACC,GAAWC,EACjB,GAEP,MAAM,QAAQD,CAAO,EACdA,EAAQ,KAAME,GAAUH,EAAQ,YAAa,IAAKG,EAAK,YAAa,GACvEH,EAAQ,SAAU,IAAKG,EAAK,SAAQ,CAAG,EAEvCH,EAAQ,gBAAkBC,EAAQ,YAAa,GACnDD,EAAQ,SAAQ,IAAOC,EAAQ,SAAQ,CAC9C,CACD,SAASG,EAAWJ,EAASxJ,EAAO0J,EAAW,GAAO,CAClD,MAAI,CAAC,MAAM,QAAQ1J,CAAK,GAAK0J,EAClB,GAEJF,EAAUxJ,EAAM,CAAC,GAAKwJ,EAAUxJ,EAAM,CAAC,CACjD,CACD,SAASyL,EAAqBjC,EAASxJ,EAAO0J,EAAW,GAAO,CAC5D,MAAI,CAAC,MAAM,QAAQ1J,CAAK,GAAK,CAAC0J,EACnB,GAEJ1J,EAAM,KAAM2J,GAAUH,EAAQ,QAAS,IAAKG,EAAK,QAAS,GAC7DH,EAAQ,YAAW,IAAOG,EAAK,YAAa,GAC5CH,EAAQ,SAAU,IAAKG,EAAK,SAAQ,CAAG,CAC9C,CACD,MAAO,CACH,GAAG,KAAK,iBACR,CACI,CAAC,KAAK,cAAc,yBAA0B,+BAA+B,CAAC,EAAGJ,EAAUjB,EAAK,KAAK,WAAY,KAAK,QAAQ,GAC1HsB,EAAWtB,EAAK,KAAK,WAAY,KAAK,QAAQ,GAC9CmD,EAAqBnD,EAAK,KAAK,sBAAuB,KAAK,QAAQ,CAC1E,EACD,CACI,CAAC,KAAK,cAAc,8BAA+B,qCAAqC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,UAAU,GAAK,KAAK,WAAW,CAAC,EAAG,KAAK,QAAQ,CACjL,EACD,CACI,CAAC,KAAK,cAAc,+BAAgC,sCAAsC,CAAC,EAAGsB,EAAWtB,EAAK,KAAK,WAAY,KAAK,QAAQ,CAC/I,EACD,CACI,CAAC,KAAK,cAAc,6BAA8B,oCAAoC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,UAAU,GAAK,KAAK,WAAW,CAAC,EAAG,KAAK,QAAQ,CAC/K,EACD,CACI,CAAC,KAAK,cAAc,mCAAoC,2CAA2C,CAAC,EAAG,KAAK,kBAAoB,KAAK,iBAAiB,SAAW,IAC5JiB,EAAUjB,EAAK,KAAK,gBAAgB,GACjCsB,EAAWtB,EAAK,KAAK,gBAAgB,EAChD,EACD,CACI,CAAC,KAAK,cAAc,6BAA8B,oCAAoC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,gBAAgB,GAAK,KAAK,iBAAiB,CAAC,CAAC,CAC5K,EACD,CACI,CAAC,KAAK,cAAc,8BAA+B,qCAAqC,CAAC,EAAGsB,EAAWtB,EAAK,KAAK,gBAAgB,CACpI,EACD,CACI,CAAC,KAAK,cAAc,4BAA6B,mCAAmC,CAAC,EAAGiB,EAAUjB,EAAK,MAAM,QAAQ,KAAK,gBAAgB,GAAK,KAAK,iBAAiB,CAAC,CAAC,CAC1K,EACD,CACI,CAAC,KAAK,cAAc,sBAAuB,4BAA4B,CAAC,EAAGiB,EAAUjB,EAAK,KAAK,aAAa,CAC/G,EACD,CACI,CAAC,KAAK,cAAc,2BAA4B,iCAAiC,CAAC,EAAG,KAAK,eAAeA,CAAG,GAAK,CAAC,KAAK,QAC1H,EACD,CACI,CAAC,KAAK,cAAc,6BAA8B,mCAAmC,CAAC,EAAG,CAAC,KAAK,eAAeA,CAAG,GAAK,KAAK,QAC9H,EACD,CACI,CAAC,KAAK,cAAc,uBAAwB,6BAA6B,CAAC,EAAG,KAAK,SACrF,CACjB,CACS,EAID,mBAAmBqB,EAAM,CACjB,CAAC,KAAK,OAAS,CAAC,KAAK,SACrB,KAAK,eAAeA,CAAI,EAEnB,KAAK,MACV,KAAK,sBAAsBA,CAAI,EAE1B,KAAK,UACV,KAAK,oBAAoBA,CAAI,CAEpC,EAID,eAAerB,EAAK,CACZ,KAAK,WAEJ,KAAK,SAMN,KAAK,oBAAoBA,CAAG,EALxB,KAAK,eAAeA,CAAG,GACvB,KAAK,MAAM,oBAAqBA,CAAG,EAM9C,EAMD,sBAAsBqB,EAAM,CACpB,KAAK,WAEL,KAAK,mBAAqB,KAAK,iBAC/B,KAAK,kBAAoBA,EACzB,KAAK,gBAAkB,OACvB,KAAK,MAAM,cAAeA,CAAI,GAEzB,KAAK,mBAAqB,CAAC,KAAK,iBACjC,KAAK,kBAAoBA,GACzB,KAAK,gBAAkB,KAAK,kBAC5B,KAAK,kBAAoBA,GAGzB,KAAK,gBAAkBA,EAE3B,KAAK,MAAM,YAAaA,CAAI,EAC5B,KAAK,MAAM,oBAAqB,CAAC,KAAK,kBAAmB,KAAK,eAAe,CAAC,IAG9E,KAAK,kBAAoBA,EACzB,KAAK,MAAM,cAAeA,CAAI,GAErC,EACD,qBAAqBrB,EAAK,CAClB,KAAK,QACL,KAAK,eAAiBA,EAE7B,EACD,YAAY8B,EAAOL,EAAK,CACpB,MAAM2B,EAAYtB,EAClBsB,EAAU,SAAStB,EAAM,SAAU,EAAGL,CAAG,EACzC,KAAK,MAAM,iBAAkB2B,CAAS,CACzC,CACJ,CACL,EAEA,MAAMxN,GAAa,CACjB,IAAK,EACL,MAAO,QACT,EACA,SAASyN,GAASvI,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,OAAO36B,EAAS,EAAIC,EAAY,UAAW,CACzC,MAAO06B,EAAS,YACpB,EAAK,CAACz6B,EAAY,MAAO,CACrB,MAAOy6B,EAAS,gBACpB,EAAK,CAACz6B,EAAY,MAAO,CACrB,MAAOy6B,EAAS,iBACjB,EAAE,EAAE36B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWy7B,EAAS,WAAY,CAACkG,EAAMx1C,KAChF2U,EAAS,EAAIC,EAAY3E,GAAU,CACxC,IAAKjQ,CACN,EAAE,CAACsvC,EAAS,eAAekG,CAAI,GAAK,CAACrG,EAAO,UAAYx6B,EAAS,EAAIC,EAAY,IAAK,CACrF,IAAK,EACL,IAAK,SAAS4gC,EAAK,SAAU,IAC7B,MAAOlG,EAAS,YAAYkG,CAAI,EAChC,KAAM,SACN,KAAM,IACN,SAAUrG,EAAO,SACjB,QAASxU,GAAciV,GAAUN,EAAS,mBAAmBkG,CAAI,EAAG,CAAC,SAAS,CAAC,EAC/E,aAAc5F,GAAUN,EAAS,qBAAqBkG,CAAI,EAC1D,UAAW7a,GAAciV,GAAUX,EAAK,cAAcW,EAAQ4F,CAAI,EAAG,CAAC,SAAS,CAAC,EAChF,SAAUrG,EAAO,QAAQ,QAAUqG,EAAK,SAAU,EAAG,KAAO,EAClE,EAAO,CAAC1oB,GAAgB/zB,GAAgBo2C,EAAO,WAAWqG,EAAK,SAAU,EAAC,EAAI,IAAK,CAEnF,EAAOlG,EAAS,gBAAgBkG,CAAI,GAAK7gC,IAAaC,EAAY,MAAOm1B,GAAY,EAAEp1B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWy7B,EAAS,gBAAgBkG,CAAI,EAAG,CAAC7rB,EAAO3pB,KAC1K2U,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAO,CAAC,QAAS+U,EAAM,IAAI,EAC3B,IAAK3pB,CACN,EAAE,KAAM,CAEf,EACK,EAAG,GAEH,GAAE,GAAKotB,EAAmB,OAAQ,EAAI,CAAC,EAAG,GAEzC,CAAC,WAAY,UAAW,eAAgB,YAAa,UAAU,CAAC,IAAMzY,EAAS,EAAIC,EAAY,MAAO,CACtG,IAAK,EACL,MAAO06B,EAAS,YAAYkG,CAAI,CACtC,EAAOz8C,GAAgBo2C,EAAO,WAAWqG,EAAK,SAAQ,CAAE,CAAC,EAAG,CAEvD,EAAC,EAAG,EAET,EACG,EAAG,GAEH,IAAI,CAEJ,GAAG,CAEH,GAAG,CAEN,CACA,CAEAjD,GAAS,OAASiF,GAClBjF,GAAS,OAAS,gDAElB,MAAMkF,GAAuB,CAACjC,EAAMhI,IAAO,CAEvC,MAAM3B,GADc,MAAM,QAAQ2J,CAAI,EAAIA,EAAO,CAACA,CAAI,GAC5B,IAAKA,GAAS,CACpC,MAAMxhB,EAAI,IAAI,KAAKwhB,EAAK,YAAa,EAAEA,EAAK,SAAU,EAAEA,EAAK,QAAS,EAAE,EAAE,EAC1E,OAAQhI,EAAG,YAAiCA,EAAG,SAAS,OAAOxZ,CAAC,EAAvCwZ,EAAG,IAAI,OAAOxZ,CAAC,CAChD,CAAK,EACD,OAAQwZ,EAAG,SAA+B3B,EAAM,KAAK,IAAI,EAAnCA,EAAM,KAAK,KAAK,CAC1C,EACM6L,GAAoB,CAAClC,EAAMhI,IAAO,CACpC,GAAIA,EAAG,IAAI,eAAiB,OAAOA,EAAG,IAAI,eAAkB,WAAY,CACpE,MAAMmK,GAAenK,EAAG,YAAcA,EAAG,SAAWA,EAAG,KAClD,cAAc,IAAI,KAAK,IAAM,GAAI,EAAE,CAAC,EAAE,IAAKoK,GACxCA,EAAK,OAAS,UACPA,EAAK,MAET,SAASA,EAAK,IAAI,SAC5B,EAAE,KAAK,EAAE,EACJC,EAAa5L,GAAgB0L,EAAanC,CAAI,EAGpD,GAAIqC,EAAW,MACXA,EAAW,KAAK,SAAW,GAC3BA,EAAW,OACXA,EAAW,OAAS,GAAI,CACxB,GAAIrK,EAAG,YACH,OAAO,IAAI,KAAKqK,EAAW,KAAMA,EAAW,MAAQ,CAAC,EACpD,GAAIA,EAAW,KAAOA,EAAW,KAAO,GACzC,OAAO,IAAI,KAAKA,EAAW,KAAMA,EAAW,MAAQ,EAAGA,EAAW,IAAK,EAAE,CAEhF,CACJ,CAED,GAAI,CAACrK,EAAG,YACJ,OAAO,IAAI,KAAK,KAAK,MAAMgI,CAAI,CAAC,EACpC,GAAIA,EAAM,CACN,MAAMxuC,EAAIwuC,EAAK,MAAM,GAAG,EAClBnB,EAAOrtC,EAAE,CAAC,EAAE,SAAW,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EACrCivC,EAAQjvC,EAAE,CAAC,EAAE,SAAW,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAC5C,GAAIqtC,GAAQ4B,EACR,OAAO,IAAI,KAAK,SAAS5B,EAAM,EAAE,EAAG,SAAS4B,EAAO,EAAE,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAEjF,CACD,OAAO,IACX,EAMA,IAAI6B,GAAW5nC,GAAgB,CAC3B,KAAM,cACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,GACjB,CAAC8C,GAAS,IAAI,EAAGA,GACjB,CAACwF,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,aACb,OAAQ,CAAC3K,GAAoB8B,GAAkB2D,EAAe,EAC9D,aAAc,GACd,SAAU,CACN,MAAO,CACH,YAAa,IACzB,CACK,EACD,MAAO,CAAC,oBAAqB,QAAS,OAAQ,eAAgB,cAAe,cAAe,YAAa,gBAAiB,kBAAkB,EAC5I,MAAO,CACH,WAAY,CACR,KAAM,CAAC,KAAM,KAAK,CACrB,EACD,SAAU,CACN,KAAM,MACN,QAAS,IACEvI,EAAeqC,EAAU,EAAI,sBAAuB,MAAS,CAE3E,EACD,WAAY,CACR,KAAM,MACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,wBAAyB,MAAS,CAE7E,EACD,eAAgB,CACZ,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,4BAA6B,CAAC,CAEzE,EAKD,KAAM,OACN,OAAQ,QACR,QAAS,KACT,QAAS,KACT,YAAa,KACb,YAAa,OACb,SAAU,QACV,SAAU,QACV,kBAAmB,CAAC,MAAO,QAAQ,EACnC,uBAAwB,CACpB,KAAM,MACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,oCAAqC,MAAS,CAEzF,EACD,gBAAiB,CAAC,MAAO,QAAQ,EACjC,cAAe,CACX,KAAM,SACN,QAAS,CAACwI,EAAMhI,IAAO,CACnB,MAAM6K,EAAgB1N,EAAeqC,EAAY,EAAE,2BAA4B,MAAS,EACxF,OAAI,OAAOqL,GAAkB,WAClBA,EAAc7C,CAAI,EAGlBiC,GAAqBjC,EAAMhI,CAAE,CAE3C,CACJ,EACD,WAAY,CACR,KAAM,SACN,QAAS,CAACgI,EAAMhI,IAAO,CACnB,MAAM8K,EAAa3N,EAAeqC,EAAY,EAAE,wBAAyB,MAAS,EAClF,OAAI,OAAOsL,GAAe,WACfA,EAAW9C,CAAI,EAGfkC,GAAkBlC,EAAMhI,CAAE,CAExC,CACJ,EACD,YAAa,CACT,KAAM,SACN,QAAS,IAAM,CACX,MAAM+K,EAAc5N,EAAeqC,EAAY,EAAE,yBAA0B,MAAS,EACpF,OAAI,OAAOuL,GAAgB,WAChBA,EAAW,EAGX,IAAI,IAElB,CACJ,EACD,aAAc,CACV,KAAM,QACN,QAAS,IACE5N,EAAeqC,EAAU,EAAI,0BAA2B,EAAI,CAE1E,EACD,SAAU,OACV,UAAW,OACX,mBAAoB,QACpB,OAAQ,MACR,WAAY,CACR,KAAM,OACN,QAAS,MACZ,EACD,YAAa,QACb,SAAU,CACN,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,sBAAuB,cAAc,CAEhF,EACD,SAAU,CACN,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,sBAAuB,eAAe,CAEjF,EACD,WAAY,CACR,KAAM,MACN,QAAS,IACErC,EAAeqC,IAAc,wBAAyB,CAAC,KAAM,EAAE,CAAC,CAE9E,EACD,KAAM,CACF,KAAM,OACN,UAAY33C,GACD,CACH,OACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EACD,gBAAiB,CACb,KAAM,QACN,QAAS,IACEs1C,EAAeqC,EAAU,EAAI,6BAA8B,EAAI,CAE7E,EACD,0BAA2B,CACvB,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,uCAAwC,EAAK,CAExF,EACD,eAAgB,CACZ,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,4BAA6B,EAAK,CAE7E,EACD,oBAAqB,CACjB,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,iCAAkC,EAAK,CAElF,EACD,kBAAmB,CACf,KAAM,OACN,QAAS,IAAM,CAClB,EACD,MAAO,CACH,KAAM,QACN,QAAS,EACZ,EACD,aAAc,CACV,KAAM,QACN,QAAS,EACZ,EACD,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EACD,YAAa,CACT,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,yBAA0B,EAAI,CAEzE,EACD,UAAW,CACP,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,uBAAwB,EAAI,CAEvE,EACD,OAAQ,CACJ,KAAM,CAAC,OAAQ,KAAK,EACpB,QAAS,IACErC,EAAeqC,IAAc,QAAQ,CAEnD,EACD,aAAc,QACd,cAAe,OACf,kBAAmB,OACnB,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,SAAU,CAAC,OAAQ,SAAU,KAAK,EAClC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,wBAAyB,CAAC,OAAQ,SAAU,KAAK,EACjD,6BAA8B,CAAC,OAAQ,SAAU,KAAK,EACtD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,yBAA0B,CAAC,OAAQ,SAAU,KAAK,EAClD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,YAAa,CAAC,OAAQ,SAAU,KAAK,EAErC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,6BAA8B,CAAC,OAAQ,SAAU,KAAK,EACtD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,iCAAkC,CAAC,OAAQ,SAAU,KAAK,EAC1D,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,4BAA6B,CAAC,OAAQ,SAAU,KAAK,EACrD,0BAA2B,CAAC,OAAQ,SAAU,KAAK,EACnD,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,yBAA0B,CAAC,OAAQ,SAAU,KAAK,EAClD,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,aAAc,CACV,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,0BAA2B,CAAE,EAExE,EACD,gBAAiB,CACb,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,6BAA8B,CAAE,EAE3E,EACD,kBAAmB,MACtB,EACD,MAAO,CACH,MAAM4J,GAAe,MAAM,QAAQ,KAAK,UAAU,EAAI,KAAK,WAAW,CAAC,EAAK,KAAK,aAC7E,KAAK,aAAe,KAAK,cAC7B,MAAI,CAAC,KAAK,YAAc,KAAK,SAAW,KAAK,QAAQ,YAAW,EAAKA,EAAY,YAAW,GACxFA,EAAY,YAAY,KAAK,QAAQ,YAAa,GAE/C,CACH,aAAc,KAAK,WACnB,gBAAiB,CACb,IAAKA,EAAY,QAAS,EAC1B,MAAOA,EAAY,SAAU,EAC7B,KAAMA,EAAY,YAAa,CAClC,CACb,CACK,EACD,SAAU,CACN,WAAY,CACR,MAAO,CACH,GAAG,KAAK,OACR,GAAG,KAAK,YACxB,CACS,EACD,cAAe,CACX,MAAO,CACH,aAAc,KAAK,cAAc,4BAA6B,kBAAkB,EAChF,GAAG,KAAK,eACxB,CACS,EACD,gBAAiB,CACb,MAAO,CACH,GAAG,KAAK,iBACxB,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,YAAa,WAAY,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACvE,CAAE,CAAC,KAAK,cAAc,cAAe,gBAAgB,CAAC,EAAG,KAAK,YAAc,CAC5F,CACS,EACD,YAAa,CACT,MAAO,CACH,KAAK,cAAc,WAAY,aAAa,CAC5D,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,cAAe,gBAAgB,CAClE,CACS,EACD,sBAAuB,CACnB,MAAO,CACH,KAAK,cAAc,qBAAsB,yBAAyB,EAClE,CAAE,CAAC,KAAK,cAAc,yBAA0B,4BAA6B,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,CACrH,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,0BAA0B,CAC7E,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,sBAAsB,CACzE,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,sBAAsB,CACvE,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,cAAe,gBAAgB,CAClE,CACS,EACD,cAAe,CACX,KAAM,CACF,OAAO,KAAK,YACf,EACD,IAAIvhD,EAAO,CACP,KAAK,oBAAoBA,CAAK,EACzB,KAAK,UACN,KAAK,aAAa,EAAK,EAC3B,KAAK,MAAM,oBAAqBA,CAAK,EACjC,KAAK,oBACL,KAAK,UAAU,IAAM,CACjB,KAAK,mBAAkB,CAC/C,CAAqB,CAER,CACJ,EACD,gBAAiB,CACb,OAAO,KAAK,YAAY,KAAK,aAAa,CAC7C,EACD,eAAgB,CACZ,OAAO,IAAI,KAAK,eAAe,KAAK,OAAQ,CACxC,KAAM,UACN,MAAO,SACvB,CAAa,EAAE,gBAAe,CACrB,EACD,KAAM,CACF,OAAO,IAAI,KAAK,eAAe,KAAK,MAAM,CAC7C,EACD,UAAW,CACP,OAAO,IAAI,KAAK,eAAe,KAAK,OAAQ,CACxC,KAAM,KAAK,cAAc,MAAQ,UACjC,MAAO,KAAK,cAAc,OAAS,SACnD,CAAa,CACJ,EACD,eAAgB,CACZ,OAAI,MAAM,QAAQ,KAAK,UAAU,EACtB,KAAK,WAETq2C,GAAc,KAAK,MAAM,CACnC,EACD,aAAc,CACV,OAAI,MAAM,QAAQ,KAAK,QAAQ,EACpB,KAAK,SAETK,GAAgB,KAAK,MAAM,CACrC,EACD,cAAe,CACX,IAAIyM,EAAW,EACXC,EAAW,GACf,OAAI,KAAK,SAAW,KAAK,gBAAgB,OAAS,KAAK,QAAQ,gBAC3DD,EAAW,KAAK,QAAQ,YAExB,KAAK,SAAW,KAAK,gBAAgB,OAAS,KAAK,QAAQ,gBAC3DC,EAAW,KAAK,QAAQ,YAErB,KAAK,cAAc,IAAI,CAAC3gD,EAAMkI,KAC1B,CACH,KAAMlI,EACN,MAAOkI,EACP,SAAUA,EAAQw4C,GAAYx4C,EAAQy4C,CAC1D,EACa,CACJ,EAKD,aAAc,CACV,IAAIC,EAAa,KAAK,gBAAgB,KAAO,KAAK,WAAW,CAAC,EAC1D,KAAK,SAAW,KAAK,QAAQ,YAAa,EAAGA,IAC7CA,EAAa,KAAK,IAAI,KAAK,QAAQ,YAAW,EAAI,KAAK,gBAAgB,IAAI,GAE/E,IAAIC,EAAe,KAAK,gBAAgB,KAAO,KAAK,WAAW,CAAC,EAC5D,KAAK,SAAW,KAAK,QAAQ,YAAa,EAAGA,IAC7CA,EAAe,KAAK,IAAI,KAAK,QAAQ,YAAW,EAAI,KAAK,gBAAgB,IAAI,GAEjF,MAAMC,EAAe,GACrB,QAASrkD,EAAIokD,EAAcpkD,GAAKmkD,EAAYnkD,IACxCqkD,EAAa,KAAKrkD,CAAC,EAEvB,OAAOqkD,EAAa,SACvB,EACD,UAAW,CACP,GAAI,CAAC,KAAK,QACN,MAAO,GACX,GAAI,KAAK,YACL,OAAO,KAAK,gBAAgB,MAAQ,KAAK,QAAQ,cAErD,MAAMC,EAAc,IAAI,KAAK,KAAK,gBAAgB,KAAM,KAAK,gBAAgB,KAAK,EAC5ErD,EAAO,IAAI,KAAK,KAAK,QAAQ,YAAa,EAAE,KAAK,QAAQ,SAAQ,CAAE,EACzE,OAAQqD,GAAerD,CAC1B,EACD,UAAW,CACP,GAAI,CAAC,KAAK,QACN,MAAO,GACX,GAAI,KAAK,YACL,OAAO,KAAK,gBAAgB,MAAQ,KAAK,QAAQ,cAErD,MAAMqD,EAAc,IAAI,KAAK,KAAK,gBAAgB,KAAM,KAAK,gBAAgB,KAAK,EAC5ErD,EAAO,IAAI,KAAK,KAAK,QAAQ,YAAa,EAAE,KAAK,QAAQ,SAAQ,CAAE,EACzE,OAAQqD,GAAerD,CAC1B,EACD,UAAW,CACP,OAAO,KAAK,cAAgBvK,GAAS,IAAG,CAC3C,EACD,aAAc,CACV,OAAO,KAAK,OAAS,OACxB,EACD,UAAW,CACP,OAAQ,KAAK,OAAoB,OAAX,QACzB,EACD,aAAc,CACV,MAAO,OACV,CACJ,EACD,MAAO,CAMH,WAAW51C,EAAO,CACd,KAAK,oBAAoBA,CAAK,EACzB,KAAK,UACN,KAAK,aAAa,EAAK,CAC9B,EACD,YAAYA,EAAO,CACXA,IACA,KAAK,gBAAkB,CACnB,IAAKA,EAAM,QAAS,EACpB,MAAOA,EAAM,SAAU,EACvB,KAAMA,EAAM,YAAa,CAC7C,EAES,EAID,wBAAwBA,EAAO,CAC3B,KAAK,MAAM,eAAgBA,CAAK,CACnC,EACD,uBAAuBA,EAAO,CAC1B,KAAK,MAAM,cAAeA,CAAK,CAClC,CACJ,EACD,QAAS,CAIL,SAASA,EAAO,CACZ,MAAMmgD,EAAO,KAAK,WAAWngD,EAAO,IAAI,EACpCmgD,IAAS,CAAC,MAAMA,CAAI,GACnB,MAAM,QAAQA,CAAI,GAAKA,EAAK,SAAW,GAAK,CAAC,MAAMA,EAAK,CAAC,CAAC,GAAK,CAAC,MAAMA,EAAK,CAAC,CAAC,GAC9E,KAAK,cAAgBA,GAIrB,KAAK,cAAgB,KACjB,KAAK,MAAM,QACX,KAAK,MAAM,MAAM,SAAW,KAAK,eAG5C,EAID,YAAYngD,EAAO,CACf,OAAI,MAAM,QAAQA,CAAK,EACW,MAAM,QAAQA,CAAK,GAAKA,EAAM,MAAOgE,GAAM,CAAC,MAAMA,CAAC,CAAC,EACnD,KAAK,cAAc,CAAC,GAAGhE,CAAK,EAAG,IAAI,EAAI,KAElEA,GAAS,CAAC,MAAMA,CAAK,EAAK,KAAK,cAAcA,EAAO,IAAI,EAAI,IACvE,EAKD,MAAO,CACC,KAAK,WAEL,KAAK,YACL,KAAK,gBAAgB,MAAQ,EAGzB,KAAK,gBAAgB,MAAQ,EAC7B,KAAK,gBAAgB,OAAS,GAG9B,KAAK,gBAAgB,MAAQ,GAC7B,KAAK,gBAAgB,MAAQ,GAGxC,EAKD,MAAO,CACC,KAAK,WAEL,KAAK,YACL,KAAK,gBAAgB,MAAQ,EAGzB,KAAK,gBAAgB,MAAQ,GAC7B,KAAK,gBAAgB,OAAS,GAG9B,KAAK,gBAAgB,MAAQ,EAC7B,KAAK,gBAAgB,MAAQ,GAGxC,EACD,aAAaA,EAAO,CAChB,OAAO,KAAK,YACN,KAAK,aAAaA,CAAK,EAAI,KAAK,eAAeA,CAAK,CAC7D,EAID,eAAeA,EAAO,CAClB,MAAMmgD,EAAO,IAAI,KAAKngD,CAAK,EAC3B,GAAIA,GAAS,CAAC,MAAMmgD,EAAK,QAAS,GAAG,CACjC,MAAMnB,EAAOmB,EAAK,cACZS,EAAQT,EAAK,SAAQ,EAAK,EAC1BrB,EAAMqB,EAAK,UACjB,OAAOnB,EAAO,MACR4B,EAAQ,GAAK,IAAM,IAAMA,GAAS,MAClC9B,EAAM,GAAK,IAAM,IAAMA,EAChC,CACD,MAAO,EACV,EAID,aAAa9+C,EAAO,CAChB,MAAMmgD,EAAO,IAAI,KAAKngD,CAAK,EAC3B,GAAIA,GAAS,CAAC,MAAMmgD,EAAK,QAAS,GAAG,CACjC,MAAMnB,EAAOmB,EAAK,cACZS,EAAQT,EAAK,SAAQ,EAAK,EAChC,OAAOnB,EAAO,MACR4B,EAAQ,GAAK,IAAM,IAAMA,EAClC,CACD,MAAO,EACV,EAID,qBAAqBtsB,EAAO,CACxB,MAAM6rB,EAAO7rB,EAAM,OAAO,MACpB3iB,EAAIwuC,EAAOA,EAAK,MAAM,GAAG,EAAI,GACnC,GAAIxuC,EAAE,SAAW,EAAG,CAChB,MAAMqtC,EAAO,SAASrtC,EAAE,CAAC,EAAG,EAAE,EACxBivC,EAAQ,SAASjvC,EAAE,CAAC,CAAC,EAAI,EACzBmtC,EAAM,SAASntC,EAAE,CAAC,CAAC,EACzB,KAAK,cAAgB,IAAI,KAAKqtC,EAAM4B,EAAO9B,CAAG,CACjD,MAEG,KAAK,cAAgB,IAE5B,EACD,oBAAoB9+C,EAAO,CACvB,GAAI,KAAK,eAAiBA,EACtB,OACJ,MAAMX,EAAU,MAAM,QAAQW,CAAK,EAC7ByjD,EAAcpkD,EACZW,EAAM,OAA8BA,EAAMA,EAAM,OAAS,CAAC,EAA3C,KAAK,YAAa,EACjCA,GAAQ,KAAK,YAAa,GAC9B,CAACX,GAAYA,GAAW,KAAK,cAAgBW,EAAM,OAAS,KAAK,aAAa,UAC9E,KAAK,gBAAkB,CACnB,IAAKyjD,EAAY,QAAS,EAC1B,MAAOA,EAAY,SAAU,EAC7B,KAAMA,EAAY,YAAa,CACnD,GAEY,KAAK,aAAezjD,CACvB,EAID,aAAa46C,EAAQ,CACjB,GAAI,KAAK,MAAM,SAAU,CACrB,MAAM8I,EAAW,OAAO9I,GAAW,UAC7BA,EACA,CAAC,KAAK,MAAM,SAAS,SACvB8I,EACA,KAAK,MAAM,SAAS,SAAWA,EAE1B,KAAK,eACV,KAAK,MAAM,SAAS,SAAWA,EAEtC,CACJ,EAID,cAAcpvB,EAAO,CACjB,KAAK,QAAQA,CAAK,EACd,KAAK,aACL,KAAK,aAAa,EAAI,CAE7B,EAID,QAAS,CACL,GAAI,KAAK,cAAgB,KAAK,SAAU,CACpC,MAAM2jB,EAAQ,KAAK,MAAM,MAAM,MAAM,MACrCA,EAAM,MAAK,EACXA,EAAM,MAAK,EACX,MACH,CACD,KAAK,MAAM,SAAS,QACvB,EAID,aAAa3jB,EAAO,CACZ,KAAK,MAAM,SAAS,UACpBA,EAAM,gBAAe,CAE5B,EAID,SAAS,CAAE,IAAAh2B,GAAO,CACV,KAAK,MAAM,UAAY,KAAK,MAAM,SAAS,WAAaA,IAAQ,UAAYA,IAAQ,QACpF,KAAK,aAAa,EAAK,CAE9B,EAID,eAAe0B,EAAO,CACbA,GACD,KAAK,OAAM,EAEf,KAAK,MAAM,gBAAiBA,CAAK,CACpC,EACD,YAAY8+C,EAAK,CACb,KAAK,gBAAkB,CACnB,IAAKA,EAAI,QAAS,EAClB,MAAOA,EAAI,SAAU,EACrB,KAAMA,EAAI,YAAa,CACvC,CACS,CACJ,EACD,SAAU,CACF,OAAO,OAAW,KAClB,SAAS,iBAAiB,QAAS,KAAK,QAAQ,CAEvD,EACD,eAAgB,CACR,OAAO,OAAW,KAClB,SAAS,oBAAoB,QAAS,KAAK,QAAQ,CAE1D,CACL,CAAC,EAED,SAAS6E,GAAS/J,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAM8B,EAAqBp+B,GAAiB,SAAS,EAE/C28B,EAAoB38B,GAAiB,QAAQ,EAE7CimC,EAAsBjmC,GAAiB,UAAU,EAEjDkmC,EAAgClmC,GAAiB,oBAAoB,EAErEmmC,EAAgCnmC,GAAiB,oBAAoB,EAErEomC,EAA6BpmC,GAAiB,iBAAiB,EAE/DqmC,EAAwBrmC,GAAiB,YAAY,EAE3D,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAAC,CAACA,EAAK,UAAYA,EAAK,OAASp6B,EAAYwkC,EAAuBxsB,GAAW,CAChF,IAAK,EACL,IAAK,UACT,EAAKoiB,EAAK,aAAc,CACpB,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,OAAQA,EAAK,OACb,eAAgBA,EAAK,YACrB,aAAcA,EAAK,UACnB,YAAaA,EAAK,SAClB,aAAc,CAACA,EAAK,OACpB,mBAAoB,GACpB,iBAAkBA,EAAK,aACvB,6BAA8B,GAC9B,kBAAmBA,EAAK,cACzB,GAAG76B,GAAY,CACd,QAAS3J,GAAQ,IAAM,CAACoK,EAAYukC,EAA4B,CAC9D,SAAU,GACV,IAAK,MACL,aAAcnK,EAAK,WACnB,SAAUA,EAAK,SACf,UAAW,EACjB,EAAO,CACD,QAASxkC,GAAQ,IAAM,CAACoK,EAAY,SAAU,CAC5C,MAAOo6B,EAAK,aACpB,EAAS,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAU,GAAI,IAAM,CAACp6B,EAAY,MAAO,CAClE,MAAOo6B,EAAK,oBACpB,EAAS,CAAClkC,GAAe8J,EAAY,IAAK,CAClC,MAAOo6B,EAAK,eACZ,KAAM,SACN,KAAM,IACN,aAAcA,EAAK,kBACnB,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,GAC7F,UAAW,CAACswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,EAAE,CAC5O,EAAS,CAACiW,EAAY86B,EAAmB,CACjC,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,GACN,UAAW,EACZ,EAAE,KAAM,EAEP,CAAC,OAAQ,MAAM,CAAC,CAAC,EAAG,GAEpB,CAAC,YAAY,CAAC,EAAG,CAAC,CAAC1a,GAAO,CAAC0a,EAAK,UAAY,CAACA,EAAK,QAAQ,CAAC,CAAC,EAAGlkC,GAAe8J,EAAY,IAAK,CAC/F,MAAOo6B,EAAK,eACZ,KAAM,SACN,KAAM,IACN,aAAcA,EAAK,cACnB,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,GAC7F,UAAW,CAACswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,EAAE,CAC5O,EAAS,CAACiW,EAAY86B,EAAmB,CACjC,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,GACN,UAAW,EACZ,EAAE,KAAM,EAEP,CAAC,OAAQ,MAAM,CAAC,CAAC,EAAG,GAEpB,CAAC,YAAY,CAAC,EAAG,CAAC,CAAC1a,GAAO,CAAC0a,EAAK,UAAY,CAACA,EAAK,QAAQ,CAAC,CAAC,EAAGp6B,EAAY,MAAO,CAClF,MAAOo6B,EAAK,YACpB,EAAS,CAAEA,EAAK,YAqB8B7hB,EAAmB,OAAQ,EAAI,EArB/CvY,EAAYokC,EAAqBpsB,GAAW,CAClE,IAAK,EACL,WAAYoiB,EAAK,gBAAgB,MACjC,sBAAuBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,gBAAgB,MAAQW,GAC1F,SAAUX,EAAK,SACf,KAAMA,EAAK,IACnB,EAASA,EAAK,cAAc,EAAG,CACvB,QAASxkC,GAAQ,IAAM,EAAEkK,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,aAAcgH,IAC3FthC,EAAS,EAAIC,EAAY,SAAU,CACxC,MAAOqhC,EAAM,MACb,IAAKA,EAAM,KACX,SAAUA,EAAM,QACjB,EAAEl9C,GAAgBk9C,EAAM,IAAI,EAAG,EAE9B,CAAC,QAAS,UAAU,CAAC,EACxB,EAAG,GAEZ,GAAW,EACH,EAAG,CACX,EAAS,GAED,CAAC,aAAc,WAAY,MAAM,CAAC,EAAsCphC,EAAYokC,EAAqBpsB,GAAW,CACpH,WAAYoiB,EAAK,gBAAgB,KACjC,sBAAuBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,gBAAgB,KAAOW,GACzF,SAAUX,EAAK,SACf,KAAMA,EAAK,IACnB,EAASA,EAAK,cAAc,EAAG,CACvB,QAASxkC,GAAQ,IAAM,EAAEkK,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,YAAaoF,IAC1F1/B,EAAS,EAAIC,EAAY,SAAU,CACxC,MAAOy/B,EACP,IAAKA,CACjB,EAAat7C,GAAgBs7C,CAAI,EAAG,EAExB,CAAC,OAAO,CAAC,EACZ,EAAG,GAEZ,GAAW,EACH,EAAG,CACX,EAAS,GAED,CAAC,aAAc,WAAY,MAAM,CAAC,CAAC,EAAG,CAEvC,GAAG,CAEV,CAAO,CAAC,CAAC,EAAG,CAEL,EAAE7/B,GAAWy6B,EAAK,OAAQ,QAAS,GAAI,IAAM,CAAEA,EAAK,YAsDo8B7hB,EAAmB,OAAQ,EAAI,EAtDr9BvY,EAAYqkC,EAA+B,CAC5G,IAAK,EACL,WAAYjK,EAAK,cACjB,sBAAuBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,cAAgBW,GAClF,YAAaX,EAAK,YAClB,cAAeA,EAAK,cACpB,oBAAqBA,EAAK,eAC1B,uBAAwBA,EAAK,kBAC7B,WAAYA,EAAK,QACjB,WAAYA,EAAK,QACjB,QAASA,EAAK,gBACd,SAAUA,EAAK,SACf,qBAAsBA,EAAK,kBAC3B,4BAA6BA,EAAK,uBAClC,mBAAoBA,EAAK,gBACzB,OAAQA,EAAK,OACb,WAAYA,EAAK,WACjB,eAAgBA,EAAK,YACrB,aAAcA,EAAK,YACnB,oBAAqBA,EAAK,gBAC1B,+BAAgCA,EAAK,0BACrC,mBAAoBA,EAAK,eACzB,wBAAyBA,EAAK,oBAC9B,MAAOA,EAAK,MACZ,SAAUA,EAAK,SACf,cAAeA,EAAK,WACpB,mBAAoBA,EAAK,eACzB,wBAAyBA,EAAK,mBAC9B,mBAAoBA,EAAK,eACzB,kBAAmBA,EAAK,cACxB,mBAAoBA,EAAK,eACzB,4BAA6BA,EAAK,uBAClC,kCAAmCA,EAAK,4BACxC,6BAA8BA,EAAK,wBACnC,mCAAoCA,EAAK,6BACzC,iCAAkCA,EAAK,2BACvC,iCAAkCA,EAAK,2BACvC,kCAAmCA,EAAK,4BACxC,gCAAiCA,EAAK,0BACtC,yBAA0BA,EAAK,oBAC/B,8BAA+BA,EAAK,yBACpC,gCAAiCA,EAAK,2BACtC,0BAA2BA,EAAK,qBAChC,0BAA2BA,EAAK,qBAChC,qBAAsBA,EAAK,iBAC3B,4BAA6BA,EAAK,uBAClC,oBAAqBA,EAAK,gBAC1B,+BAAgCA,EAAK,0BACrC,gBAAiBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIsG,GAAQvG,EAAK,MAAM,cAAeuG,CAAI,GACnF,cAAetG,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIsG,GAAQvG,EAAK,MAAM,YAAauG,CAAI,GAC/E,QAAStG,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,aAAa,EAAK,GACtE,mBAAoBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,gBAAkBW,EAClF,EAAE,KAAM,EAEP,CAAC,aAAc,YAAa,cAAe,oBAAqB,uBAAwB,WAAY,WAAY,UAAW,WAAY,qBAAsB,4BAA6B,mBAAoB,SAAU,aAAc,eAAgB,aAAc,oBAAqB,+BAAgC,mBAAoB,wBAAyB,QAAS,WAAY,cAAe,mBAAoB,wBAAyB,mBAAoB,kBAAmB,mBAAoB,4BAA6B,kCAAmC,6BAA8B,mCAAoC,iCAAkC,iCAAkC,kCAAmC,gCAAiC,yBAA0B,8BAA+B,gCAAiC,0BAA2B,0BAA2B,qBAAsB,4BAA6B,oBAAqB,8BAA8B,CAAC,EAAsCX,EAAK,YAAcp6B,EAAYskC,EAA+B,CACvlC,IAAK,EACL,WAAYlK,EAAK,cACjB,sBAAuBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,cAAgBW,GAClF,cAAeX,EAAK,cACpB,WAAYA,EAAK,QACjB,WAAYA,EAAK,QACjB,QAASA,EAAK,gBACd,SAAUA,EAAK,SACf,qBAAsBA,EAAK,kBAC3B,4BAA6BA,EAAK,uBAClC,mBAAoBA,EAAK,gBACzB,OAAQA,EAAK,OACb,WAAYA,EAAK,WACjB,eAAgBA,EAAK,YACrB,MAAOA,EAAK,MACZ,SAAUA,EAAK,SACf,cAAeA,EAAK,WACpB,mBAAoBA,EAAK,eACzB,oBAAqBA,EAAK,gBAC1B,mBAAoBA,EAAK,eACzB,4BAA6BA,EAAK,uBAClC,kCAAmCA,EAAK,4BACxC,mCAAoCA,EAAK,6BACzC,iCAAkCA,EAAK,2BACvC,wCAAyCA,EAAK,iCAC9C,iCAAkCA,EAAK,2BACvC,kCAAmCA,EAAK,4BACxC,gCAAiCA,EAAK,0BACtC,yBAA0BA,EAAK,oBAC/B,8BAA+BA,EAAK,yBACpC,gCAAiCA,EAAK,2BACtC,0BAA2BA,EAAK,qBAChC,gBAAiBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIsG,GAAQvG,EAAK,MAAM,cAAeuG,CAAI,GACnF,cAAetG,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIsG,GAAQvG,EAAK,MAAM,YAAauG,CAAI,GAC/E,QAAStG,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,aAAa,EAAK,GACtE,iBAAkBA,EAAK,YACvB,mBAAoBC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,gBAAkBW,EAClF,EAAE,KAAM,EAEP,CAAC,aAAc,cAAe,WAAY,WAAY,UAAW,WAAY,qBAAsB,4BAA6B,mBAAoB,SAAU,aAAc,eAAgB,QAAS,WAAY,cAAe,mBAAoB,oBAAqB,mBAAoB,4BAA6B,kCAAmC,mCAAoC,iCAAkC,wCAAyC,iCAAkC,kCAAmC,gCAAiC,yBAA0B,8BAA+B,gCAAiC,0BAA2B,gBAAgB,CAAC,EAAIxiB,EAAmB,OAAQ,EAAI,CAAC,CAAC,EAAG6hB,EAAK,OAAO,SAAW,QAAat6B,EAAS,EAAIC,EAAY,SAAU,CACvyB,IAAK,EACL,MAAOq6B,EAAK,aACpB,EAAS,CAACz6B,GAAWy6B,EAAK,OAAQ,QAAQ,CAAC,EAAG,CAEvC,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,EACtC,EAAG,CACT,EAAO,EAED,CAAC,aAAc,UAAU,CAAC,CAAC,CAAC,EAC9B,EAAG,CACP,EAAK,CAAE6hB,EAAK,OA0BN,OA1Be,CACjB,KAAM,UACN,GAAIxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,UAAW,CAAE,EAAE,IAAM,CAACp6B,EAAYu8B,EAAoBvkB,GAAW,CAC1G,IAAK,QACL,aAAc,MACd,cAAeoiB,EAAK,eACpB,SAAUA,EAAK,SACf,YAAaA,EAAK,YAClB,KAAMA,EAAK,KACX,KAAMA,EAAK,KACX,aAAcA,EAAK,UACnB,uBAAwBA,EAAK,mBAC7B,YAAaA,EAAK,SAClB,QAASA,EAAK,QACd,SAAUA,EAAK,SACf,SAAU,CAACA,EAAK,QACtB,EAAOA,EAAK,UAAW,CACjB,uBAAwB,GACxB,QAASA,EAAK,aACd,qBAAsBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,kBAAkB,GACvF,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAAS6U,GAAUX,EAAK,aAAa,EAAI,EAAG,CAAC,OAAO,CAAC,GACxF,SAAUC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,SAASW,EAAO,OAAO,KAAK,GAC/E,QAASX,EAAK,aACpB,CAAK,EAAG,KAAM,GAER,CAAC,cAAe,WAAY,cAAe,OAAQ,OAAQ,aAAc,uBAAwB,YAAa,UAAW,WAAY,WAAY,UAAW,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAChL,CAAe,CAAC,EAAG,KAEf,CAAC,WAAY,WAAY,SAAU,eAAgB,aAAc,YAAa,aAAc,iBAAkB,iBAAiB,CAAC,EAAIp6B,EAAYu8B,EAAoBvkB,GAAW,CAC/K,IAAK,EACL,IAAK,QACL,KAAOoiB,EAAK,YAAuB,QAAT,OAC1B,aAAc,MACd,MAAOA,EAAK,aAAaA,EAAK,aAAa,EAC3C,YAAaA,EAAK,YAClB,KAAMA,EAAK,KACX,KAAMA,EAAK,KACX,YAAaA,EAAK,SAClB,QAASA,EAAK,QACd,IAAKA,EAAK,aAAaA,EAAK,OAAO,EACnC,IAAKA,EAAK,aAAaA,EAAK,OAAO,EACnC,SAAUA,EAAK,SACf,SAAU,EACd,EAAKA,EAAK,OAAQ,CACd,uBAAwB,GACxB,SAAUA,EAAK,qBACf,QAASA,EAAK,QACd,OAAQA,EAAK,MACjB,CAAG,EAAG,KAAM,GAER,CAAC,OAAQ,QAAS,cAAe,OAAQ,OAAQ,YAAa,UAAW,MAAO,MAAO,WAAY,WAAY,UAAW,QAAQ,CAAC,CAAC,EAAG,CAE3I,CACA,CAEA6I,GAAS,OAASkB,GAClBlB,GAAS,OAAS,2CCzwElB,IAAI93C,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAuK,GAAet5C,GCVTu5C,GAAK,KACLC,GAAK,KACLC,GAAiB,KACjBC,GAAiB,KACjBC,GAAuB,CAACnE,EAAMhI,IACzBA,EAAG,IAAI,OAAOgI,CAAI,EAEvBoE,GAAoB,CAACC,EAAYrM,IAAO,CAC1C,GAAIqM,EAAY,CACZ,IAAI7lB,EAAI,KAQR,GAPIwZ,EAAG,eAAiB,CAAC,MAAMA,EAAG,aAAa,EAC3CxZ,EAAI,IAAI,KAAKwZ,EAAG,aAAa,GAG7BxZ,EAAIwZ,EAAG,cACPxZ,EAAE,gBAAgB,CAAC,GAEnBwZ,EAAG,IAAI,eAAiB,OAAOA,EAAG,IAAI,eAAkB,WAAY,CACpE,MAAMmK,EAAcnK,EAAG,IAClB,cAAcxZ,CAAC,EAAE,IAAK4jB,GACnBA,EAAK,OAAS,UACPA,EAAK,MAAM,QAAQ,KAAM,MAAM,EAEjCA,EAAK,OAAS,YACZ,SAASA,EAAK,IAAI,MAAMpK,EAAG,QAAQ,IAAIA,EAAG,QAAQ,IAAI+L,EAAE,IAAIC,EAAE,IAAID,GAAG,YAAW,CAAE,IAAIC,GAAG,aAAa,MAE1G,SAAS5B,EAAK,IAAI,SAC5B,EAAE,KAAK,EAAE,EACJkC,EAAa7N,GAAgB0L,EAAakC,CAAU,EAM1D,GAHAC,EAAW,KAAOA,EAAW,KAAO,SAASA,EAAW,KAAM,EAAE,EAAI,KACpEA,EAAW,OAASA,EAAW,OAAS,SAASA,EAAW,OAAQ,EAAE,EAAI,KAC1EA,EAAW,OAASA,EAAW,OAAS,SAASA,EAAW,OAAQ,EAAE,EAAI,KACtEA,EAAW,MACXA,EAAW,MAAQ,GACnBA,EAAW,KAAO,IAClBA,EAAW,QACXA,EAAW,QAAU,GACrBA,EAAW,OAAS,GACpB,OAAIA,EAAW,YACVA,EAAW,UAAU,YAAW,IAAOtM,EAAG,SAAS,YAAa,GAC7DsM,EAAW,UAAU,YAAa,IAAKN,GAAG,YAAW,IACzDM,EAAW,KAAO,KAClBA,EAAW,MAAQ,IAEvB9lB,EAAE,SAAS8lB,EAAW,IAAI,EAC1B9lB,EAAE,WAAW8lB,EAAW,MAAM,EAC9B9lB,EAAE,WAAW8lB,EAAW,QAAU,CAAC,EAC5B9lB,CAEd,CAED,IAAI+lB,EAAK,GACT,GAAIvM,EAAG,aAAekM,GAAgB,CAClC,MAAMM,EAAeH,EAAW,MAAM,GAAG,EACzCA,EAAaG,EAAa,CAAC,EAC3BD,EAAMC,EAAa,CAAC,IAAMxM,EAAG,UAAYwM,EAAa,CAAC,IAAMT,EAChE,CACD,MAAMU,EAAOJ,EAAW,MAAM,GAAG,EACjC,IAAIK,EAAQ,SAASD,EAAK,CAAC,EAAG,EAAE,EAChC,MAAME,EAAU,SAASF,EAAK,CAAC,EAAG,EAAE,EAC9BG,EAAU5M,EAAG,cAAgB,SAASyM,EAAK,CAAC,EAAG,EAAE,EAAI,EAC3D,OAAI,MAAMC,CAAK,GAAKA,EAAQ,GAAKA,EAAQ,IACpC1M,EAAG,aAAekM,KAAmBQ,EAAQ,GAAKA,EAAQ,KAC3D,MAAMC,CAAO,GAAKA,EAAU,GAAKA,EAAU,GACpC,MAEXnmB,EAAE,WAAWomB,CAAO,EACpBpmB,EAAE,WAAWmmB,CAAO,EAChB3M,EAAG,aAAekM,KACdK,GAAMG,IAAU,GAChBA,EAAQ,EAEH,CAACH,GAAMG,IAAU,KACtBA,GAAS,KAGjBlmB,EAAE,SAASkmB,CAAK,EACT,IAAI,KAAKlmB,EAAE,QAAS,GAC9B,CACD,OAAO,IACX,EACA,IAAIqmB,GAAkBnqC,GAAgB,CAClC,OAAQ,CAACq/B,EAAgB,EACzB,aAAc,GACd,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CAEH,WAAY,KACZ,OAAQ,QACR,QAAS,KACT,QAAS,KACT,YAAa,OACb,SAAU,QACV,SAAU,QAKV,KAAM,OACN,WAAY,CACR,KAAM,MACT,EACD,eAAgB,CACZ,KAAM,OACN,QAAS,CACZ,EACD,iBAAkB,CACd,KAAM,OACN,QAAS,CACZ,EACD,iBAAkB,CACd,KAAM,OACN,QAAS,CACZ,EACD,cAAe,CACX,KAAM,SACN,QAAS,CAACiG,EAAMhI,IAAO,CACnB,MAAM8M,EAAgB3P,EAAeqC,EAAY,EAAE,2BAA4B,MAAS,EACxF,OAAI,OAAOsN,GAAkB,WAClBA,EAAc9E,CAAI,EAGlBmE,GAAqBnE,EAAMhI,CAAE,CAE3C,CACJ,EACD,WAAY,CACR,KAAM,SACN,QAAS,CAACgI,EAAMhI,IAAO,CACnB,MAAM+M,EAAa5P,EAAeqC,EAAY,EAAE,wBAAyB,MAAS,EAClF,OAAI,OAAOuN,GAAe,WACfA,EAAW/E,CAAI,EAGfoE,GAAkBpE,EAAMhI,CAAE,CAExC,CACJ,EACD,aAAc,CACV,KAAM,QACN,QAAS,IACE7C,EAAeqC,EAAU,EAAI,0BAA2B,EAAI,CAE1E,EACD,YAAa,CACT,KAAM,SACN,QAAS,IAAM,CACX,MAAMwN,EAAc7P,EAAeqC,EAAY,EAAE,yBAA0B,MAAS,EACpF,OAAI,OAAOwN,GAAgB,WAChBA,EAAW,EAGX,IAAI,IAElB,CACJ,EACD,SAAU,OACV,kBAAmB,MACnB,YAAa,QACb,cAAe,QACf,eAAgB,OAChB,eAAgB,OAChB,aAAc,QACd,sBAAuB,CACnB,KAAM,QACN,QAAS,EACZ,CACJ,EACD,MAAO,CACH,MAAO,CACH,aAAc,KAAK,WACnB,cAAe,KACf,gBAAiB,KACjB,gBAAiB,KACjB,iBAAkB,KAClB,YAAa,OACzB,CACK,EACD,SAAU,CACN,cAAe,CACX,KAAM,CACF,OAAO,KAAK,YACf,EACD,IAAInlD,EAAO,CACP,KAAK,aAAeA,EACpB,KAAK,MAAM,oBAAqB,KAAK,YAAY,CACpD,CACJ,EACD,eAAgB,CACZ,OAAO,IAAI,KAAK,eAAe,KAAK,OAAQ,CACxC,KAAM,UACN,OAAQ,UACR,OAAQ,KAAK,cAAgB,UAAY,MACzD,CAAa,EAAE,gBAAe,CACrB,EACD,KAAM,CACF,OAAO,IAAI,KAAK,eAAe,KAAK,OAAQ,CACxC,KAAM,KAAK,cAAc,MAAQ,UACjC,OAAQ,KAAK,cAAc,QAAU,UACrC,OAAQ,KAAK,cAAgB,KAAK,cAAc,QAAU,UAAY,OAEtE,UAAY,KAAK,eAAyB,MAAR,KAClD,CAAa,CACJ,EACD,eAAgB,CACZ,OAAO,KAAK,aAAe,KAAK,cAAc,OAASqkD,GAAiBD,GAC3E,EACD,YAAa,CACT,IAAIzlB,EAAI,KAAK,cACb,OAAAA,EAAE,SAAS,EAAE,EACbA,EAAE,WAAW,CAAC,EACdA,EAAE,WAAW,CAAC,EACdA,EAAE,gBAAgB,CAAC,EACZA,CACV,EACD,aAAc,CACV,GAAI,KAAK,IAAI,eAAiB,OAAO,KAAK,IAAI,eAAkB,WAAY,CACxE,IAAIA,EAAI,KAAK,WACb,MAAMymB,EAAQ,KAAK,IAAI,cAAczmB,CAAC,EAChC0mB,EAAUD,EAAM,KAAK,CAAC7C,EAAMpb,IAASA,EAAM,GAAKie,EAAMje,EAAM,CAAC,EAAE,OAAS,MAAO,EACrF,GAAIke,EACA,OAAOA,EAAQ,KAEtB,CACD,MAAO,GACV,EACD,eAAgB,CACZ,GAAI,KAAK,IAAI,eAAiB,OAAO,KAAK,IAAI,eAAkB,WAAY,CACxE,IAAI1mB,EAAI,KAAK,WACb,MAAMymB,EAAQ,KAAK,IAAI,cAAczmB,CAAC,EAChC0mB,EAAUD,EAAM,KAAK,CAAC7C,EAAMpb,IAASA,EAAM,GAAKie,EAAMje,EAAM,CAAC,EAAE,OAAS,QAAS,EACvF,GAAIke,EACA,OAAOA,EAAQ,KAEtB,CACD,MAAO,GACV,EACD,eAAgB,CACZ,GAAI,KAAK,IAAI,eAAiB,OAAO,KAAK,IAAI,eAAkB,WAAY,CACxE,IAAI1mB,EAAI,KAAK,WACb,MAAMymB,EAAQ,KAAK,IAAI,cAAczmB,CAAC,EAChC0mB,EAAUD,EAAM,KAAK,CAAC7C,EAAMpb,IAASA,EAAM,GAAKie,EAAMje,EAAM,CAAC,EAAE,OAAS,QAAS,EACvF,GAAIke,EACA,OAAOA,EAAQ,KAEtB,CACJ,EACD,UAAW,CACP,GAAI,KAAK,IAAI,eAAiB,OAAO,KAAK,IAAI,eAAkB,WAAY,CACxE,IAAI1mB,EAAI,KAAK,WACbA,EAAE,SAAS,EAAE,EACb,MAAM2mB,EAAY,KAAK,IAAI,cAAc3mB,CAAC,EAAE,KAAM4jB,GAASA,EAAK,OAAS,WAAW,EACpF,GAAI+C,EACA,OAAOA,EAAU,KAExB,CACD,OAAOpB,EACV,EACD,UAAW,CACP,GAAI,KAAK,IAAI,eAAiB,OAAO,KAAK,IAAI,eAAkB,WAAY,CACxE,IAAIvlB,EAAI,KAAK,WACbA,EAAE,SAAS,EAAE,EACb,MAAM2mB,EAAY,KAAK,IAAI,cAAc3mB,CAAC,EAAE,KAAM4jB,GAASA,EAAK,OAAS,WAAW,EACpF,GAAI+C,EACA,OAAOA,EAAU,KAExB,CACD,OAAOnB,EACV,EACD,OAAQ,CACJ,GAAI,CAAC,KAAK,gBAAkB,KAAK,eAAiB,EAC9C,MAAM,IAAI,MAAM,+CAA+C,EACnE,MAAMU,EAAQ,GACRU,EAAgB,KAAK,eAAiB,GAAK,GACjD,QAASrmD,EAAI,EAAGA,EAAIqmD,EAAermD,GAAK,KAAK,eAAgB,CACzD,IAAIc,EAAQd,EACRsmD,EAAQxlD,EACP,KAAK,iBACNA,EAASd,EAAI,EACbsmD,EAAQxlD,EACJ,KAAK,mBAAqB,KAAK,SAC3BA,IAAU,KACVA,EAAQ,GAGP,KAAK,mBAAqB,KAAK,UAChCA,IAAU,KACVA,GAAS,KAIrB6kD,EAAM,KAAK,CACP,MAAO,KAAK,aAAaW,CAAK,EAC9B,MAAOxlD,CAC3B,CAAiB,CACJ,CACD,OAAO6kD,CACV,EACD,SAAU,CACN,GAAI,CAAC,KAAK,kBAAoB,KAAK,iBAAmB,EAClD,MAAM,IAAI,MAAM,iDAAiD,EACrE,MAAMC,EAAU,GAChB,QAAS5lD,EAAI,EAAGA,EAAI,GAAIA,GAAK,KAAK,iBAC9B4lD,EAAQ,KAAK,CACT,MAAO,KAAK,aAAa5lD,EAAG,EAAI,EAChC,MAAOA,CAC3B,CAAiB,EAEL,OAAO4lD,CACV,EACD,SAAU,CACN,GAAI,CAAC,KAAK,kBAAoB,KAAK,iBAAmB,EAClD,MAAM,IAAI,MAAM,iDAAiD,EACrE,MAAMC,EAAU,GAChB,QAAS7lD,EAAI,EAAGA,EAAI,GAAIA,GAAK,KAAK,iBAC9B6lD,EAAQ,KAAK,CACT,MAAO,KAAK,aAAa7lD,EAAG,EAAI,EAChC,MAAOA,CAC3B,CAAiB,EAEL,OAAO6lD,CACV,EACD,WAAY,CACR,MAAO,CAAC,KAAK,SAAU,KAAK,QAAQ,CACvC,EACD,UAAW,CACP,OAAO,KAAK,cAAgBnP,GAAS,IAAG,CAC3C,EACD,gBAAiB,CACb,OAAO,KAAK,gBAAkBwO,EACjC,CACJ,EACD,MAAO,CACH,YAAa,CACL,KAAK,gBAAkB,OACvB,KAAK,iBAAmB,KAAK,eAAiB,GAAK,KAAK,SAAW,KAAK,SAE/E,EACD,QAAS,CAEA,KAAK,QACN,KAAK,iBAAmB,KAAK,SAEpC,EAMD,WAAY,CACR,QAAQpkD,EAAO,CACX,KAAK,oBAAoBA,CAAK,EAC9B,CAAC,KAAK,SAAW,KAAK,MAAM,MAAM,oBACrC,EACD,UAAW,EACd,CACJ,EACD,QAAS,CACL,iBAAiBA,EAAO,CAChB,KAAK,gBAAkB,MAAQ,KAAK,uBACpC,KAAK,cAAgB,KACrB,KAAK,gBAAkB,KACvB,KAAK,gBAAkB,KACvB,KAAK,cAAgB,MAEhB,KAAK,gBAAkB,OACxBA,IAAU,KAAK,SACf,KAAK,eAAiB,GAEjBA,IAAU,KAAK,WACpB,KAAK,eAAiB,KAG9B,KAAK,mBAAmB,KAAK,cAAe,KAAK,gBAAiB,KAAK,cAAgB,KAAK,gBAAkB,EAAGA,CAAK,CACzH,EACD,cAAcA,EAAO,CACb,CAAC,KAAK,iBAAmB,OAAO,KAAK,eAAmB,MACxD,KAAK,gBAAkB,KAAK,gBAE5B,CAAC,KAAK,iBAAmB,OAAO,KAAK,eAAmB,MACxD,KAAK,gBAAkB,KAAK,gBAEhC,KAAK,mBAAmB,SAASA,EAAO,EAAE,EAAG,KAAK,gBAAiB,KAAK,cAAgB,KAAK,gBAAkB,EAAG,KAAK,gBAAgB,CAC1I,EACD,gBAAgBA,EAAO,CACf,CAAC,KAAK,iBAAmB,KAAK,iBAC9B,KAAK,gBAAkB,KAAK,gBAEhC,KAAK,mBAAmB,KAAK,cAAe,SAASA,EAAO,EAAE,EAAG,KAAK,cAAgB,KAAK,gBAAkB,EAAG,KAAK,gBAAgB,CACxI,EACD,gBAAgBA,EAAO,CACnB,KAAK,mBAAmB,KAAK,cAAe,KAAK,gBAAiB,SAASA,EAAO,EAAE,EAAG,KAAK,gBAAgB,CAC/G,EACD,mBAAmB6kD,EAAOC,EAASC,EAASU,EAAW,CACnD,GAAIZ,GAAS,MAAQC,GAAW,OAC1B,CAAC,KAAK,gBAAkBW,IAAc,MAAS,KAAK,gBAAiB,CACvE,IAAIb,EAAO,KACP,KAAK,eAAiB,CAAC,MAAM,KAAK,aAAa,EAC/CA,EAAO,IAAI,KAAK,KAAK,aAAa,GAGlCA,EAAO,KAAK,cACZA,EAAK,gBAAgB,CAAC,GAE1BA,EAAK,SAASC,CAAK,EACnBD,EAAK,WAAWE,CAAO,EACvBF,EAAK,WAAWG,CAAO,EAClB,MAAMH,EAAK,QAAS,KACrB,KAAK,cAAgB,IAAI,KAAKA,EAAK,QAAS,GAEnD,CACJ,EACD,oBAAoB5kD,EAAO,CACnBA,GACA,KAAK,cAAgBA,EAAM,WAC3B,KAAK,gBAAkBA,EAAM,aAC7B,KAAK,gBAAkBA,EAAM,aAC7B,KAAK,iBAAmBA,EAAM,SAAU,GAAI,GAAK,KAAK,SAAW,KAAK,WAGtE,KAAK,cAAgB,KACrB,KAAK,gBAAkB,KACvB,KAAK,gBAAkB,KACvB,KAAK,iBAAmB,KAAK,UAEjC,KAAK,aAAeA,CACvB,EACD,eAAe0lD,EAAM,CACjB,IAAIC,EAAW,GACf,GAAI,KAAK,QAAS,CACd,MAAMC,EAAW,KAAK,QAAQ,SAAQ,EAChCC,EAAqB,KAAK,QAAQ,MAAOC,GACpC,KAAK,wBAAwBJ,EAAMI,EAAO,KAAK,CACzD,EACDH,EAAWD,EAAOE,GAAYC,CACjC,CACD,GAAI,KAAK,SACD,CAACF,EAAU,CACX,MAAMI,EAAW,KAAK,QAAQ,SAAQ,EACtCJ,EAAWD,EAAOK,CACrB,CAEL,OAAI,KAAK,oBACAJ,IACoB,KAAK,kBAAkB,OAAQf,GAC5C,KAAK,eAAiB,KAAK,kBAAoB,KACxCA,EAAK,SAAQ,IAAOc,GACvBd,EAAK,eAAiB,KAAK,iBAC3BA,EAAK,WAAU,IAAO,KAAK,gBAE1B,KAAK,kBAAoB,KACvBA,EAAK,SAAQ,IAAOc,GACvBd,EAAK,WAAU,IAAO,KAAK,gBAE5B,EACV,EACgB,OAAS,EACtBe,EAAW,GAGXA,EAAW,KAAK,QAAQ,MAAOG,GACpB,KAAK,kBAAkB,OAAQlB,GAC3BA,EAAK,SAAQ,IAAOc,GACvBd,EAAK,WAAU,IAAOkB,EAAO,KACpC,EAAE,OAAS,CACf,IAINH,CACV,EACD,wBAAwBD,EAAMI,EAAQ,CAClC,IAAIH,EAAW,GACf,GAAI,KAAK,QAAS,CACd,MAAMC,EAAW,KAAK,QAAQ,SAAQ,EAChCI,EAAa,KAAK,QAAQ,WAAU,EAC1CL,EAAWD,IAASE,GAAYE,EAASE,CAC5C,CACD,GAAI,KAAK,SACD,CAACL,EAAU,CACX,MAAMI,EAAW,KAAK,QAAQ,SAAQ,EAChCE,EAAa,KAAK,QAAQ,WAAU,EAC1CN,EAAWD,IAASK,GAAYD,EAASG,CAC5C,CAEL,OAAON,CACV,EACD,iBAAiBG,EAAQ,CACrB,IAAIH,EAAW,GACf,OAAI,KAAK,gBAAkB,OACnB,KAAK,eAAe,KAAK,aAAa,EACtCA,EAAW,GAGXA,EAAW,KAAK,wBAAwB,KAAK,cAAeG,CAAM,EAElE,KAAK,oBACAH,IAYDA,EAXqB,KAAK,kBAAkB,OAAQf,GAC5C,KAAK,eAAiB,KAAK,kBAAoB,KACxCA,EAAK,aAAe,KAAK,eAC5BA,EAAK,WAAU,IAAOkB,GACtBlB,EAAK,WAAU,IAAO,KAAK,gBAGxBA,EAAK,aAAe,KAAK,eAC5BA,EAAK,WAAY,IAAKkB,CAEjC,EACuB,OAAS,KAItCH,CACV,EACD,iBAAiBO,EAAQ,CACrB,IAAIP,EAAW,GACf,GAAI,KAAK,kBAAoB,KAAM,CAC/B,GAAI,KAAK,iBAAiB,KAAK,eAAe,EAC1CA,EAAW,OAEV,CACD,GAAI,KAAK,QAAS,CACd,MAAMC,EAAW,KAAK,QAAQ,SAAQ,EAChCI,EAAa,KAAK,QAAQ,WAAU,EACpCG,EAAa,KAAK,QAAQ,WAAU,EAC1CR,EAAW,KAAK,gBAAkBC,GAC9B,KAAK,kBAAoBI,GACzBE,EAASC,CAChB,CACD,GAAI,KAAK,SACD,CAACR,EAAU,CACX,MAAMI,EAAW,KAAK,QAAQ,SAAQ,EAChCE,EAAa,KAAK,QAAQ,WAAU,EACpCG,EAAa,KAAK,QAAQ,WAAU,EAC1CT,EAAW,KAAK,gBAAkBI,GAC9B,KAAK,kBAAoBE,GACzBC,EAASE,CAChB,CAER,CACG,KAAK,oBACAT,IAMDA,EALqB,KAAK,kBAAkB,OAAQf,GACzCA,EAAK,aAAe,KAAK,eAC5BA,EAAK,eAAiB,KAAK,iBAC3BA,EAAK,WAAY,IAAKsB,CAC7B,EACuB,OAAS,GAG5C,CACD,OAAOP,CACV,EACD,mBAAmBU,EAAgB,CAC/B,MAAMC,EAASD,GAAkB,KAAO,EAAI,GAC5C,QAASnnD,EAAI,EAAGA,EAAI,GAAIA,IACpB,GAAI,CAAC,KAAK,eAAeA,EAAIonD,CAAM,EAC/B,MAAO,GAGf,MAAO,EACV,EAID,SAAStmD,EAAO,CACZ,MAAMmgD,EAAO,KAAK,WAAWngD,EAAO,IAAI,EACxC,KAAK,oBAAoBmgD,CAAI,EACzBA,GAAQ,CAAC,MAAMA,CAAI,EACnB,KAAK,cAAgBA,GAIrB,KAAK,cAAgB,KACrB,KAAK,MAAM,MAAM,SAAW,KAAK,cAExC,EAID,OAAOvF,EAAQ,CACP,KAAK,MAAM,WACX,KAAK,MAAM,SAAS,SAAW,OAAOA,GAAW,UAC3CA,EACA,CAAC,KAAK,MAAM,SAAS,SAElC,EAID,OAAQ,CACJ,KAAK,OAAO,EAAK,CACpB,EAID,eAAgB,CACZ,KAAK,QAAO,EACR,KAAK,aACL,KAAK,OAAO,EAAI,CAEvB,EAID,aAAa56C,EAAO,CAChB,MAAMmgD,EAAO,IAAI,KAAKngD,CAAK,EAC3B,GAAIA,GAAS,CAAC,MAAMmgD,EAAK,QAAS,GAAG,CACjC,MAAM0E,EAAQ1E,EAAK,WACb2E,EAAU3E,EAAK,aACf4E,EAAU5E,EAAK,aACrB,OAAO,KAAK,aAAa0E,EAAO,EAAI,EAAI,IACpC,KAAK,aAAaC,EAAS,EAAI,EAAI,IACnC,KAAK,aAAaC,EAAS,EAAI,CACtC,CACD,MAAO,EACV,EAID,qBAAqBzwB,EAAO,CACxB,MAAM6rB,EAAO7rB,EAAM,OAAO,MAC1B,GAAI6rB,EAAM,CACN,IAAIyE,EAAO,KACP,KAAK,eAAiB,CAAC,MAAM,KAAK,aAAa,EAC/CA,EAAO,IAAI,KAAK,KAAK,aAAa,GAGlCA,EAAO,IAAI,KACXA,EAAK,gBAAgB,CAAC,GAE1B,MAAMvpB,EAAI8kB,EAAK,MAAM,GAAG,EACxByE,EAAK,SAAS,SAASvpB,EAAE,CAAC,EAAG,EAAE,CAAC,EAChCupB,EAAK,WAAW,SAASvpB,EAAE,CAAC,EAAG,EAAE,CAAC,EAClCupB,EAAK,WAAWvpB,EAAE,CAAC,EAAI,SAASA,EAAE,CAAC,EAAG,EAAE,EAAI,CAAC,EAC7C,KAAK,cAAgB,IAAI,KAAKupB,EAAK,QAAS,EAC/C,MAEG,KAAK,cAAgB,IAE5B,EACD,aAAa5kD,EAAOumD,EAAa,CAC7B,OAAO,KAAK,gBAAkBA,EACxB,KAAK,IAAIvmD,CAAK,EACdA,CACT,EACD,IAAIA,EAAO,CACP,OAAQA,EAAQ,GAAK,IAAM,IAAMA,CACpC,EAID,YAAYmgD,EAAM,CACd,OAAIA,GAAQ,CAAC,MAAMA,CAAI,EACZ,KAAK,cAAcA,EAAM,IAAI,EAG7B,IAEd,EAID,SAAS,CAAE,IAAA7hD,GAAO,CACV,KAAK,MAAM,UAAY,KAAK,MAAM,SAAS,WAAaA,IAAQ,UAAYA,IAAQ,QACpF,KAAK,OAAO,EAAK,CAExB,EAID,eAAe0B,EAAO,CACbA,GACD,KAAK,OAAM,CAElB,CACJ,EACD,SAAU,CACF,OAAO,OAAW,KAClB,SAAS,iBAAiB,QAAS,KAAK,QAAQ,CAEvD,EACD,eAAgB,CACR,OAAO,OAAW,KAClB,SAAS,oBAAoB,QAAS,KAAK,QAAQ,CAE1D,CACL,CAAC,EAOG05C,GAAS7+B,GAAgB,CACzB,KAAM,cACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,GACjB,CAAC8C,GAAS,IAAI,EAAGA,GACjB,CAACuF,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,aACb,OAAQ,CAACvK,GAAoB4M,GAAiBnH,EAAe,EAC7D,aAAc,GACd,MAAO,CACH,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,SAAU,CAAC,OAAQ,SAAU,KAAK,EAClC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,aAAc,CACV,KAAM,OACN,QAAS,IACEvI,EAAeqC,EAAU,EAAI,0BAA2B,CAAE,EAExE,EACD,gBAAiB,CACb,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,6BAA8B,CAAE,EAE3E,EACD,cAAe,CACX,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,2BAA4B,CAAE,EAEzE,CACJ,EACD,SAAU,CACN,WAAY,CACR,MAAO,CACH,GAAG,KAAK,OACR,GAAG,KAAK,YACxB,CACS,EACD,cAAe,CACX,MAAO,CACH,aAAc,KAAK,cAAc,4BAA6B,kBAAkB,EAChF,GAAG,KAAK,eACxB,CACS,EACD,YAAa,CACT,MAAO,CACH,eAAgB,KAAK,cAAc,4BAA6B,gBAAgB,EAChF,oBAAqB,KAAK,cAAc,iCAAkC,4BAA4B,EACtG,GAAG,KAAK,aACxB,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,YAAa,WAAY,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACvE,CAAE,CAAC,KAAK,cAAc,cAAe,gBAAgB,CAAC,EAAG,KAAK,YAAc,CAC5F,CACS,EACD,YAAa,CACT,MAAO,CACH,KAAK,cAAc,WAAY,aAAa,CAC5D,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,mBAAmB,CACxE,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,cAAe,gBAAgB,CAClE,CACS,EACD,YAAa,CACT,OAAI,KAAK,cACE,IACJ,IACV,CACJ,CACL,CAAC,EAED,SAASr1B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAM8B,EAAqBp+B,GAAiB,SAAS,EAE/CimC,EAAsBjmC,GAAiB,UAAU,EAEjDomC,EAA6BpmC,GAAiB,iBAAiB,EAE/DqmC,EAAwBrmC,GAAiB,YAAY,EAE3D,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAAC,CAACA,EAAK,UAAYA,EAAK,OAASp6B,EAAYwkC,EAAuBxsB,GAAW,CAChF,IAAK,EACL,IAAK,UACT,EAAKoiB,EAAK,aAAc,CACpB,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,OAAQA,EAAK,OACb,iBAAkBA,EAAK,aACvB,6BAA8B,GAC9B,kBAAmBA,EAAK,cACzB,GAAG76B,GAAY,CACd,QAAS3J,GAAQ,IAAM,CAACoK,EAAYukC,EAA4B,CAC9D,SAAU,GACV,IAAK,MACL,aAAcnK,EAAK,WACnB,SAAUA,EAAK,SACf,UAAW,EACjB,EAAO,CACD,QAASxkC,GAAQ,IAAM,CAACoK,EAAYokC,EAAqBpsB,GAAW,CAClE,SAAU,EAClB,EAASoiB,EAAK,WAAY,CAClB,WAAYA,EAAK,cACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,GAChF,SAAUV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAcW,EAAO,OAAO,KAAK,GACpF,SAAUX,EAAK,SACf,YAAa,IACrB,CAAO,EAAG,CACF,QAASxkC,GAAQ,IAAM,EAAEkK,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,MAAO8L,IACpFpmC,EAAS,EAAIC,EAAY,SAAU,CACxC,MAAOmmC,EAAK,MACZ,IAAKA,EAAK,MACV,SAAU9L,EAAK,eAAe8L,EAAK,KAAK,CACzC,EAAEhiD,GAAgBgiD,EAAK,KAAK,EAAG,EAE9B,CAAC,QAAS,UAAU,CAAC,EACxB,EAAG,GAEZ,GAAW,EACH,EAAG,CACX,EAAS,GAED,CAAC,aAAc,UAAU,CAAC,EAAGlmC,EAAY,OAAQ,CACjD,MAAOo6B,EAAK,gBACb,EAAEl2C,GAAgBk2C,EAAK,WAAW,EAAG,CAE5C,EAASp6B,EAAYokC,EAAqBpsB,GAAW,CAC7C,SAAU,EAClB,EAASoiB,EAAK,WAAY,CAClB,WAAYA,EAAK,gBACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,gBAAkBW,GAClF,SAAUV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,gBAAgBW,EAAO,OAAO,KAAK,GACtF,SAAUX,EAAK,SACf,YAAa,IACrB,CAAO,EAAG,CACF,QAASxkC,GAAQ,IAAM,EAAEkK,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,QAASkM,IACtFxmC,EAAS,EAAIC,EAAY,SAAU,CACxC,MAAOumC,EAAO,MACd,IAAKA,EAAO,MACZ,SAAUlM,EAAK,iBAAiBkM,EAAO,KAAK,CAC7C,EAAEpiD,GAAgBoiD,EAAO,KAAK,EAAG,EAEhC,CAAC,QAAS,UAAU,CAAC,EACxB,EAAG,GAEZ,GAAW,EACH,EAAG,CACX,EAAS,GAED,CAAC,aAAc,UAAU,CAAC,EAAGlM,EAAK,eAAiBt6B,EAAS,EAAIC,EAAY3E,GAAU,CACtF,IAAK,CACb,EAAS,CAAC4E,EAAY,OAAQ,CACtB,MAAOo6B,EAAK,gBACb,EAAEl2C,GAAgBk2C,EAAK,aAAa,EAAG,CAE9C,EAASp6B,EAAYokC,EAAqBpsB,GAAW,CAC7C,SAAU,EAClB,EAASoiB,EAAK,WAAY,CAClB,WAAYA,EAAK,gBACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,gBAAkBW,GAClF,SAAUV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,gBAAgBW,EAAO,OAAO,KAAK,GACtF,SAAUX,EAAK,SACf,YAAa,IACrB,CAAO,EAAG,CACF,QAASxkC,GAAQ,IAAM,EAAEkK,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,QAASsM,IACtF5mC,EAAS,EAAIC,EAAY,SAAU,CACxC,MAAO2mC,EAAO,MACd,IAAKA,EAAO,MACZ,SAAUtM,EAAK,iBAAiBsM,EAAO,KAAK,CAC7C,EAAExiD,GAAgBwiD,EAAO,KAAK,EAAG,EAEhC,CAAC,QAAS,UAAU,CAAC,EACxB,EAAG,GAEZ,GAAW,EACH,EAAG,CACX,EAAS,GAED,CAAC,aAAc,UAAU,CAAC,EAAG1mC,EAAY,OAAQ,CACjD,MAAOo6B,EAAK,gBACb,EAAEl2C,GAAgBk2C,EAAK,aAAa,EAAG,CAEvC,GAAG,EAEV,GAAW7hB,EAAmB,OAAQ,EAAI,EAAI6hB,EAAK,eAuBb7hB,EAAmB,OAAQ,EAAI,EAvBDvY,EAAYokC,EAAqBpsB,GAAW,CACxG,IAAK,EACL,SAAU,EAClB,EAASoiB,EAAK,WAAY,CAClB,WAAYA,EAAK,iBACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,iBAAmBW,GACnF,SAAUV,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,iBAAiBW,EAAO,OAAO,KAAK,GACzF,SAAUX,EAAK,QACvB,CAAO,EAAG,CACF,QAASxkC,GAAQ,IAAM,EAAEkK,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,UAAW4M,IACxFlnC,EAAS,EAAIC,EAAY,SAAU,CACxC,MAAOinC,EACP,IAAKA,EACL,SAAU5M,EAAK,mBAAmB4M,CAAQ,CACtD,EAAa9iD,GAAgB8iD,CAAQ,EAAG,EAE5B,CAAC,QAAS,UAAU,CAAC,EACxB,EAAG,GAEZ,GAAW,EACH,EAAG,CACX,EAAS,GAED,CAAC,aAAc,UAAU,CAAC,EAAsC5M,EAAK,OAAO,UAAY,QAAat6B,EAAS,EAAIC,EAAY,SAAU,CACxI,IAAK,EACL,MAAOq6B,EAAK,aACpB,EAAS,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAExC,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,EACtC,EAAG,CACT,EAAO,EAED,CAAC,aAAc,UAAU,CAAC,CAAC,CAAC,EAC9B,EAAG,CACP,EAAK,CAAE6hB,EAAK,OAqBN,OArBe,CACjB,KAAM,UACN,GAAIxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,UAAW,CAAE,EAAE,IAAM,CAACp6B,EAAYu8B,EAAoBvkB,GAAW,CAC1G,IAAK,QACL,cAAeoiB,EAAK,YAAYA,EAAK,aAAa,EAClD,aAAc,MACd,YAAaA,EAAK,YAClB,KAAMA,EAAK,KACX,KAAMA,EAAK,KACX,YAAaA,EAAK,SAClB,SAAUA,EAAK,SACf,SAAU,CAACA,EAAK,SAChB,QAASA,EAAK,OACpB,EAAOA,EAAK,UAAW,CACjB,uBAAwBA,EAAK,mBAC7B,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAAS6U,GAAUX,EAAK,OAAO,EAAI,EAAG,CAAC,OAAO,CAAC,GAClF,SAAUC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,SAASW,EAAO,OAAO,KAAK,GAC/E,QAASX,EAAK,aACpB,CAAK,EAAG,KAAM,GAER,CAAC,cAAe,cAAe,OAAQ,OAAQ,YAAa,WAAY,WAAY,UAAW,uBAAwB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3I,CAAe,CAAC,EAAG,KAEf,CAAC,WAAY,WAAY,SAAU,iBAAkB,iBAAiB,CAAC,EAAIp6B,EAAYu8B,EAAoBvkB,GAAW,CACtH,IAAK,EACL,IAAK,OACT,EAAKoiB,EAAK,UAAW,CACjB,KAAM,OACN,KAAMA,EAAK,WACX,aAAc,MACd,MAAOA,EAAK,aAAaA,EAAK,aAAa,EAC3C,YAAaA,EAAK,YAClB,KAAMA,EAAK,KACX,KAAMA,EAAK,KACX,YAAaA,EAAK,SAClB,QAASA,EAAK,QACd,IAAKA,EAAK,aAAaA,EAAK,OAAO,EACnC,IAAKA,EAAK,aAAaA,EAAK,OAAO,EACnC,SAAUA,EAAK,SACf,SAAU,GACV,uBAAwBA,EAAK,mBAC7B,SAAUC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,SAASW,EAAO,OAAO,KAAK,GACjF,QAASX,EAAK,cACd,OAAQC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAIU,GAAUX,EAAK,OAAM,GAAMA,EAAK,mBAAkB,EAC1F,CAAG,EAAG,KAAM,GAER,CAAC,OAAQ,QAAS,cAAe,OAAQ,OAAQ,YAAa,UAAW,MAAO,MAAO,WAAY,uBAAwB,SAAS,CAAC,CAAC,EAAG,CAE7I,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,2CCp9BhB,MAAMwK,GAAK,KACLC,GAAK,KAMX,IAAIzK,GAAS7+B,GAAgB,CACzB,KAAM,kBACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,GACjB,CAAC8C,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,iBACb,OAAQ,CAAChD,GAAkB9B,EAAkB,EAC7C,aAAc,GACd,MAAO,CAAC,oBAAqB,cAAe,eAAgB,mBAAoB,eAAe,EAC/F,MAAO,CACH,WAAY,CACR,KAAM,IACT,EACD,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EACD,KAAM,OACN,YAAa,OACb,SAAU,QACV,UAAW,OACX,mBAAoB,QACpB,OAAQ,QACR,YAAa,QACb,SAAU,OACV,aAAc,CACV,KAAM,QACN,QAAS,EACZ,EACD,YAAa,KACb,YAAa,KACb,kBAAmB,CACf,KAAM,QACT,EACD,eAAgB,CACZ,KAAM,QACT,EACD,gBAAiB,CACb,KAAM,SACN,QAAU+H,GAAS,CACf,MAAMsG,EAAkBnR,EAAeqC,EAAY,EAAE,iCAAkC,MAAS,EAChG,OAAI,OAAO8O,GAAoB,WACpBA,EAAgBtG,CAAI,EAGpBA,CAEd,CACJ,EACD,WAAY,OACZ,WAAY,OACZ,OAAQ,CACJ,KAAM,CAAC,OAAQ,KAAK,EACpB,QAAS,IACE7K,EAAeqC,IAAc,QAAQ,CAEnD,EACD,aAAc,QACd,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,uBAAwB,CAAC,OAAQ,SAAU,KAAK,CACnD,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,UAC3B,CACK,EACD,SAAU,CACN,0BAA2B,CACvB,MAAO,CACH,KAAK,cAAc,yBAA0B,eAAe,CAC5E,CACS,EACD,0BAA2B,CACvB,MAAO,CACH,KAAK,cAAc,yBAA0B,eAAe,CAC5E,CACS,EACD,cAAe,CACX,KAAM,CACF,OAAO,KAAK,QACf,EACD,IAAI33C,EAAO,CACP,GAAIA,EAAO,CACP,IAAIzB,EAAM,IAAI,KAAKyB,EAAM,QAAS,GAC9B,KAAK,UAEAA,EAAM,QAAO,IAAO,KAAK,SAAS,QAAS,GAC5CA,EAAM,SAAU,IAAK,KAAK,SAAS,SAAU,GAC7CA,EAAM,YAAa,IAAK,KAAK,SAAS,YAAa,IACnDA,EAAM,SAAQ,IAAO,GACrBA,EAAM,WAAU,IAAO,GACvBA,EAAM,WAAY,IAAK,GACvBzB,EAAI,SAAS,KAAK,SAAS,SAAU,EAAE,KAAK,SAAS,WAAU,EAAI,KAAK,SAAS,WAAY,EAAE,CAAC,EAIpGA,EAAM,KAAK,gBAAgByB,CAAK,EAGhC,KAAK,aAAezB,EAAM,KAAK,YAC/BA,EAAM,KAAK,YAEN,KAAK,aAAeA,EAAM,KAAK,cACpCA,EAAM,KAAK,aAEf,KAAK,SAAW,IAAI,KAAKA,EAAI,QAAS,EACzC,MAEG,KAAK,SAAWyB,EAEpB,KAAK,MAAM,oBAAqB,KAAK,QAAQ,CAChD,CACJ,EACD,eAAgB,CACZ,OAAO,IAAI,KAAK,eAAe,KAAK,OAAQ,CACxC,KAAM,UACN,MAAO,UACP,IAAK,UACL,KAAM,UACN,OAAQ,UACR,OAAQ,KAAK,cAAe,EAAG,UAAY,MAC3D,CAAa,EAAE,gBAAe,CACrB,EACD,KAAM,CACF,OAAO,IAAI,KAAK,eAAe,KAAK,OAAQ,CACxC,KAAM,KAAK,cAAc,MAAQ,UACjC,MAAO,KAAK,cAAc,OAAS,UACnC,IAAK,KAAK,cAAc,KAAO,UAC/B,KAAM,KAAK,cAAc,MAAQ,UACjC,OAAQ,KAAK,cAAc,QAAU,UACrC,OAAQ,KAAK,cAAe,EAAG,KAAK,cAAc,QAAU,UAAY,OAExE,UAAY,KAAK,eAAgB,EAAW,MAAR,KACpD,CAAa,CACJ,EACD,gBAAiB,CACb,OAAO,KAAK,YACf,EACD,UAAW,CACP,OAAO,KAAK,gBAAkB41C,GAAS,IAAG,CAC7C,EACD,SAAU,CACN,OAAK,KAAK,YAGH,IAAI,KAAK,KAAK,YAAY,YAAa,EAAE,KAAK,YAAY,SAAU,EAAE,KAAK,YAAY,QAAS,EAAE,EAAG,EAAG,EAAG,CAAC,EAFxG,KAAK,WAAa,KAAK,WAAW,QAAU,IAG1D,EACD,SAAU,CACN,OAAK,KAAK,YAGH,IAAI,KAAK,KAAK,YAAY,YAAa,EAAE,KAAK,YAAY,SAAU,EAAE,KAAK,YAAY,QAAS,EAAE,EAAG,EAAG,EAAG,CAAC,EAFxG,KAAK,WAAa,KAAK,WAAW,QAAU,IAG1D,EAED,SAAU,CACN,MAAI,CAAC,KAAK,aAAgB,KAAK,WAAa,MAAQ,OAAO,KAAK,SAAa,KACtE,KAAK,SAAS,YAAW,GAAM,KAAK,YAAY,YAAa,GAC7D,KAAK,SAAS,SAAQ,GAAM,KAAK,YAAY,SAAU,GACvD,KAAK,SAAS,QAAO,GAAM,KAAK,YAAY,UACxC,KAAK,WAAa,KAAK,WAAW,QAAU,KAEhD,KAAK,WACf,EACD,SAAU,CACN,MAAI,CAAC,KAAK,aAAgB,KAAK,WAAa,MAAQ,OAAO,KAAK,SAAa,KACtE,KAAK,SAAS,YAAW,GAAM,KAAK,YAAY,YAAa,GAC7D,KAAK,SAAS,SAAQ,GAAM,KAAK,YAAY,SAAU,GACvD,KAAK,SAAS,QAAO,GAAM,KAAK,YAAY,UACxC,KAAK,WAAa,KAAK,WAAW,QAAU,KAEhD,KAAK,WACf,EACD,gBAAiB,CACb,OAAO,KAAK,YAAc,KAAK,WAAW,KACpC,KAAK,WAAW,KAAO,KAAK,IACrC,EACD,gBAAiB,CACb,OAAO,KAAK,YAAc,KAAK,WAAW,KACpC,KAAK,WAAW,KAAO,KAAK,IACrC,EACD,oBAAqB,CACjB,OAAO,KAAK,YAAc,KAAK,WAAW,SACpC,KAAK,WAAW,SAAW,KAAK,QACzC,CACJ,EACD,MAAO,CACH,WAAW51C,EAAO,CACd,KAAK,SAAWA,CACnB,CACJ,EACD,QAAS,CACL,eAAgB,CACZ,OAAI,KAAK,MAAM,WACJ,KAAK,MAAM,WAAW,cAE1B,EACV,EACD,gBAAiB,CACb,OAAI,KAAK,MAAM,WACJ,KAAK,MAAM,WAAW,eAE1B,CAAC,KAAK,cAAc,MAC9B,EACD,sBAAsBmgD,EAAM,CACxB,MAAMuG,EAAiBpR,EAAeqC,EAAY,EAAE,gCAAiC,MAAS,EAC9F,GAAI,OAAO,KAAK,gBAAmB,WAC/B,OAAO,KAAK,eAAewI,CAAI,EAE9B,GAAI,OAAOuG,GAAmB,WAC/B,OAAOA,EAAevG,CAAI,EAG1B,GAAI,KAAK,IAAI,eAAiB,OAAO,KAAK,IAAI,eAAkB,WAAY,CACxE,IAAIwG,EAAa,CAACzC,GAAIC,GAAID,GAAG,cAAeC,GAAG,YAAW,CAAE,EACxD,KAAK,MAAM,aACXwC,EAAW,KAAK,KAAK,MAAM,WAAW,QAAQ,EAC9CA,EAAW,KAAK,KAAK,MAAM,WAAW,QAAQ,GAElD,MAAMvB,EAAQ,KAAK,IAAI,cAAc,IAAI,IAAM,EACzC9C,EAAc8C,EAAM,IAAI,CAAC7C,EAAMpb,IAC7Bob,EAAK,OAAS,UACVpb,EAAM,EAAIie,EAAM,QAAUA,EAAMje,EAAM,CAAC,EAAE,OAAS,OAC3C,UAEJob,EAAK,MAAM,QAAQ,KAAM,MAAM,EAEjCA,EAAK,OAAS,YACZ,SAASA,EAAK,IAAI,MAAMoE,EAAW,KAAK,GAAG,CAAC,MAEhD,SAASpE,EAAK,IAAI,SAC5B,EAAE,KAAK,EAAE,EACJqE,EAAiBhQ,GAAgB0L,EAAanC,CAAI,EAGxD,GAAIyG,EAAe,MACfA,EAAe,KAAK,SAAW,GAC/BA,EAAe,OACfA,EAAe,OAAS,IACxBA,EAAe,KACfA,EAAe,KAAO,IACtBA,EAAe,MACfA,EAAe,MAAQ,GACvBA,EAAe,KAAO,IACtBA,EAAe,QACfA,EAAe,QAAU,GACzBA,EAAe,QAAU,GAEzB,OADU,IAAI,KAAKA,EAAe,KAAMA,EAAe,MAAQ,EAAGA,EAAe,IAAKA,EAAe,KAAMA,EAAe,OAAQA,EAAe,QAAU,CAAC,CAGnK,CACD,OAAO,IAAI,KAAK,KAAK,MAAMzG,CAAI,CAAC,CAEvC,EACD,yBAAyBA,EAAM,CAC3B,MAAM0G,EAAoBvR,EAAeqC,EAAY,EAAE,mCAAoC,MAAS,EACpG,OAAI,OAAO,KAAK,mBAAsB,WAC3B,KAAK,kBAAkBwI,CAAI,EAE7B,OAAO0G,GAAsB,WAC3BA,EAAkB1G,CAAI,EAGtB,KAAK,IAAI,OAAOA,CAAI,CAElC,EAID,qBAAqB7rB,EAAO,CACxB,MAAM6rB,EAAO7rB,EAAM,OAAO,MACpB3iB,EAAIwuC,EAAOA,EAAK,MAAM,IAAI,EAAI,GACpC,GAAIxuC,EAAE,QAAU,EAAG,CACf,MAAMqtC,EAAO,SAASrtC,EAAE,CAAC,EAAG,EAAE,EACxBivC,EAAQ,SAASjvC,EAAE,CAAC,EAAG,EAAE,EAAI,EAC7BmtC,EAAM,SAASntC,EAAE,CAAC,EAAG,EAAE,EACvBkzC,EAAQ,SAASlzC,EAAE,CAAC,EAAG,EAAE,EACzBmzC,EAAU,SAASnzC,EAAE,CAAC,EAAG,EAAE,EAGjC,KAAK,cAAgB,IAAI,KAAKqtC,EAAM4B,EAAO9B,EAAK+F,EAAOC,CAAO,CACjE,MAEG,KAAK,cAAgB,IAE5B,EACD,aAAa9kD,EAAO,CAChB,MAAMmgD,EAAO,IAAI,KAAKngD,CAAK,EAC3B,GAAIA,GAAS,CAAC,MAAMmgD,EAAK,QAAS,GAAG,CACjC,MAAMnB,EAAOmB,EAAK,cACZS,EAAQT,EAAK,SAAQ,EAAK,EAC1BrB,EAAMqB,EAAK,UACX0E,EAAQ1E,EAAK,WACb2E,EAAU3E,EAAK,aACf4E,EAAU5E,EAAK,aACrB,OAAOnB,EAAO,MACR4B,EAAQ,GAAK,IAAM,IAAMA,GAAS,MAClC9B,EAAM,GAAK,IAAM,IAAMA,GAAO,MAC9B+F,EAAQ,GAAK,IAAM,IAAMA,GAAS,MAClCC,EAAU,GAAK,IAAM,IAAMA,GAAW,MACtCC,EAAU,GAAK,IAAM,IAAMA,EACpC,CACD,MAAO,EACV,EACD,QAAS,CACL,KAAK,MAAM,WAAW,QACzB,CACJ,EACD,SAAU,EACF,CAAC,KAAK,UAAY,KAAK,SAEnB,KAAK,UACL,KAAK,MAAM,WAAW,cAGjC,CACL,CAAC,EAED,SAASziC,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAM6M,EAA0BnpC,GAAiB,cAAc,EAEzDopC,EAA0BppC,GAAiB,cAAc,EAEzDo+B,EAAqBp+B,GAAiB,SAAS,EAErD,MAAO,CAACi8B,EAAK,UAAYA,EAAK,OAASp6B,EAAYunC,EAAyBvvB,GAAW,CACrF,IAAK,EACL,IAAK,aACL,WAAYoiB,EAAK,cACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,EACpF,EAAKX,EAAK,WAAY,CAClB,MAAOA,EAAK,yBACZ,QAASA,EAAK,QACd,gBAAiBA,EAAK,YACtB,SAAUA,EAAK,SACf,OAAQA,EAAK,OACb,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,iBAAkB,GAClB,iBAAkBA,EAAK,yBACvB,cAAeA,EAAK,sBACpB,WAAYA,EAAK,QACjB,WAAYA,EAAK,QACjB,KAAMA,EAAK,KACX,aAAcA,EAAK,UACnB,uBAAwBA,EAAK,mBAC7B,YAAaA,EAAK,SAClB,KAAMA,EAAK,eACX,YAAaA,EAAK,YAClB,MAAO,GACP,SAAUA,EAAK,SACf,gBAAiBA,EAAK,eACtB,OAAQA,EAAK,OACb,iBAAkBA,EAAK,aACvB,QAASA,EAAK,QACd,OAAQA,EAAK,OACb,kBAAmBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,gBAAiBW,CAAM,GACzF,qBAAsBV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,kBAAkB,GACvF,iBAAkBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,eAAgBW,CAAM,GACvF,gBAAiBV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,cAAeW,CAAM,EACzF,CAAG,EAAG,CACF,OAAQnlC,GAAQ,IAAM,CAACoK,EAAY,MAAO,CACxC,MAAOo6B,EAAK,wBAClB,EAAO,CAACp6B,EAAYsnC,EAAyBtvB,GAAW,CAClD,IAAK,YACX,EAAOoiB,EAAK,WAAY,CAClB,WAAYA,EAAK,cACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,GAChF,OAAQ,GACR,SAAUX,EAAK,SACf,WAAYA,EAAK,QACjB,WAAYA,EAAK,QACjB,KAAMA,EAAK,eACX,SAAUA,EAAK,mBACf,gBAAiBA,EAAK,eACtB,OAAQA,EAAK,MACnB,CAAK,EAAG,KAAM,GAER,CAAC,aAAc,WAAY,WAAY,WAAY,OAAQ,WAAY,gBAAiB,QAAQ,CAAC,CAAC,EAAG,CAE3G,EAAOA,EAAK,OAAO,SAAW,OAAYz6B,GAAWy6B,EAAK,OAAQ,SAAU,CACtE,IAAK,CACN,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,EACtC,EAAG,CACP,EAAK,GAED,CAAC,aAAc,QAAS,UAAW,gBAAiB,WAAY,SAAU,WAAY,WAAY,iBAAkB,cAAe,WAAY,WAAY,OAAQ,aAAc,uBAAwB,YAAa,OAAQ,cAAe,WAAY,gBAAiB,SAAU,iBAAkB,UAAW,QAAQ,CAAC,EAAIvY,EAAYu8B,EAAoBvkB,GAAW,CACzW,IAAK,EACL,IAAK,QACL,KAAM,iBACN,aAAc,MACd,MAAOoiB,EAAK,aAAaA,EAAK,aAAa,EAC3C,YAAaA,EAAK,YAClB,KAAMA,EAAK,eACX,KAAMA,EAAK,KACX,YAAaA,EAAK,SAClB,QAASA,EAAK,QACd,IAAKA,EAAK,aAAaA,EAAK,OAAO,EACnC,IAAKA,EAAK,aAAaA,EAAK,OAAO,EACnC,SAAUA,EAAK,SACf,SAAU,EACd,EAAKA,EAAK,OAAQ,CACd,uBAAwBA,EAAK,mBAC7B,SAAUA,EAAK,qBACf,QAASA,EAAK,QACd,OAAQA,EAAK,MACjB,CAAG,EAAG,KAAM,GAER,CAAC,QAAS,cAAe,OAAQ,OAAQ,YAAa,UAAW,MAAO,MAAO,WAAY,uBAAwB,WAAY,UAAW,QAAQ,CAAC,CACvJ,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,mDAEhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAsN,GAAer8C,GCjbf,IAAIA,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BR,GAAkBnzB,EAAKq0B,EAAQ,CAClC,CACL,EAEA,MAAA6M,GAAet8C,GCRf,IAAIA,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAwN,GAAev8C,GCPf,IAAIA,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAyN,GAAex8C,GCJf,IAAIA,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAA0N,GAAez8C,GCDf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,cACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,GACjB,CAAC8C,GAAS,IAAI,EAAGA,EACpB,EACD,OAAQ,CAAChD,GAAkB9B,EAAkB,EAC7C,aAAc,GACd,YAAa,aACb,MAAO,CAAC,oBAAqB,QAAS,OAAQ,MAAO,SAAU,SAAU,kBAAmB,kBAAkB,EAC9G,MAAO,CAEH,WAAY,CACR,KAAM,MACN,QAAS,IAAM,CAAE,CACpB,EAKD,KAAM,OAEN,KAAM,CACF,KAAM,MACN,QAAS,IAAM,CAAE,CACpB,EAKD,QAAS,OAET,SAAU,CACN,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACb,EAED,WAAY,CACR,KAAM,QACN,QAAS,IACE9C,EAAeqC,EAAU,EAAI,wBAAyB,EAAI,CAExE,EAED,MAAO,CACH,KAAM,OACN,QAAS,OACZ,EAED,aAAc,QAEd,WAAY,OAEZ,aAAc,OACd,mBAAoB,OAEpB,YAAa,QAEb,SAAU,QAEV,SAAU,CACN,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,sBAAuB,EAAI,CAEtE,EAMD,YAAa,CACT,KAAM,MACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,yBAA0B,CAAC,IAAK,MAAO,OAAO,CAAC,CAE1F,EAED,aAAc,CACV,KAAM,MACN,QAAS,IACErC,EAAeqC,EAAY,EAAE,0BAA2B,CAAC,WAAW,CAAC,CAEnF,EAED,SAAU,QAEV,kBAAmB,CACf,KAAM,MACN,QAAS,IACErC,EAAeqC,EAAY,EAAE,+BAAgC,CAAC,GAAG,CAAC,CAEhF,EAED,aAAc,CACV,KAAM,SACN,QAAS,IAAM,EAClB,EAED,gBAAiB,CACb,KAAM,QACN,QAAS,EACZ,EAED,oBAAqB,CACjB,KAAM,QACN,QAAS,EACZ,EAED,WAAY,CACR,KAAM,SACN,QAAU51C,GAASA,CACtB,EAED,UAAW,CACP,KAAM,OACN,QAAS,IACEuzC,EAAeqC,EAAU,EAAI,uBAAwB,OAAO,CAE1E,EAED,UAAW,QAEX,eAAgB,OAEhB,aAAc,QACd,UAAW,CAAC,OAAQ,MAAO,QAAQ,EACnC,cAAe,CAAC,OAAQ,MAAO,QAAQ,EACvC,aAAc,CAAC,OAAQ,MAAO,QAAQ,EACtC,WAAY,CAAC,OAAQ,MAAO,QAAQ,EACpC,UAAW,CAAC,OAAQ,MAAO,QAAQ,EACnC,aAAc,CAAC,OAAQ,MAAO,QAAQ,EACtC,oBAAqB,CACjB,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,iCAAkC,CAAE,EAE/E,CACJ,EACD,MAAO,CACH,MAAO,CACH,MAAO,MAAM,QAAQ,KAAK,UAAU,EAAI,KAAK,WAAW,MAAM,CAAC,EAAK,KAAK,YAAc,GACvF,QAAS,GACT,YAAa,EACzB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,WAAW,EAC3C,CAAE,CAAC,KAAK,cAAc,gBAAiB,qBAAqB,CAAC,EAAG,KAAK,QAAU,CAC/F,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,sBAAsB,EAC3D,CAAE,CAAC,KAAK,cAAc,YAAa,yBAA0B,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,CACrG,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,iBAAiB,EACjD,CAAE,CAAC,KAAK,cAAc,eAAgB,oBAAqB,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,CACzG,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,wBAAwB,CACzE,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,oBAAoB,CACvE,CACS,EACD,kBAAmB,CACf,MAAO,CACH,GAAG,KAAK,OACR,aAAc,KAAK,cAAc,gCAAiC,yBAAyB,EAC3F,gBAAiB,CACb,cAAe,KAAK,cAAc,8CAA+C,kBAAkB,CACtG,EACD,GAAG,KAAK,mBACxB,CACS,EACD,aAAc,CACV,OAAO,KAAK,QAAQ,KAAI,EAAG,MAC9B,EACD,gBAAiB,CACb,MAAO,CAAC,CAAC,KAAK,OAAO,OACxB,EACD,cAAe,CACX,MAAO,CAAC,CAAC,KAAK,OAAO,KACxB,EACD,eAAgB,CACZ,MAAO,CAAC,CAAC,KAAK,OAAO,MACxB,EACD,eAAgB,CACZ,MAAO,CAAC,CAAC,KAAK,OAAO,MACxB,EAID,UAAW,CACP,OAAO,KAAK,UAAY,MAAQ,KAAK,YAAc,KAAK,QAC3D,EACD,aAAc,CACV,OAAO,KAAK,MAAM,MACrB,EAKD,oBAAqB,CACjB,MAAM0P,EAAM,KAAK,kBACjB,OAAOA,EAAI,OAAS,IAAI,OAAOA,EAAI,IAAK11C,GAC7BA,EAAIA,EAAE,QAAQ,2BAA4B,MAAM,EAAI,IAC9D,EAAE,KAAK,GAAG,EAAG,GAAG,EAAI,IACxB,EACD,aAAc,CACV,MAAO,cACV,CACJ,EACD,MAAO,CAIH,WAAW3R,EAAO,CACd,KAAK,MAAQ,MAAM,QAAQA,CAAK,EAAIA,EAAM,MAAM,CAAC,EAAKA,GAAS,CAAE,CACpE,EACD,UAAW,CACF,KAAK,UACN,KAAK,OAAM,CAClB,CACJ,EACD,QAAS,CACL,QAAQ+B,EAAM,CACV,MAAMulD,EAAYvlD,GAAQ,KAAK,QAAQ,KAAI,EAC3C,GAAIulD,EAAW,CACX,GAAI,CAAC,KAAK,aAAc,CACpB,MAAMC,EAAM,KAAK,mBACjB,GAAIA,GAAOD,EAAU,MAAMC,CAAG,EAAG,CAC7BD,EAAU,MAAMC,CAAG,EACd,IAAK,GAAM,EAAE,KAAI,CAAE,EACnB,OAAQ,GAAM,EAAE,SAAW,CAAC,EAC5B,IAAI,KAAK,OAAO,EACrB,MACH,CACJ,EAGY,KAAK,gBAA0E,GAAxD,KAAK,MAAM,QAAQ,KAAK,WAAWD,CAAS,CAAC,IAAM,KAC5E,KAAK,aAAaA,CAAS,IAClC,KAAK,MAAM,KAAK,KAAK,WAAWA,CAAS,CAAC,EAC1C,KAAK,MAAM,oBAAqB,KAAK,KAAK,EAC1C,KAAK,MAAM,MAAOA,CAAS,EAElC,CAED,sBAAsB,IAAM,CACxB,KAAK,QAAU,GACf,KAAK,MAAM,SAAU,EAAE,CACvC,CAAa,CACJ,EACD,sBAAsBvlD,EAAM,CACxB,OAAI,OAAOA,GAAS,WAChBA,EAAOuzC,EAAevzC,EAAM,KAAK,KAAK,GAEnC,GAAGA,CAAI,EACjB,EACD,aAAauyB,EAAO,CAEX,KAAK,cACN,KAAK,QAAO,EAChB,KAAK,OAAOA,CAAK,CACpB,EACD,SAASuQ,EAAQ,CACRA,IAEL,KAAK,QAAQA,CAAM,EACnB,KAAK,UAAU,IAAM,CACjB,KAAK,QAAU,EAC/B,CAAa,EACJ,EACD,WAAWl6B,EAAO2pB,EAAO,CACrB,MAAMvyB,EAAO,KAAK,MAAM,OAAO4I,EAAO,CAAC,EAAE,CAAC,EAC1C,YAAK,MAAM,oBAAqB,KAAK,KAAK,EAC1C,KAAK,MAAM,SAAU5I,CAAI,EACrBuyB,GACAA,EAAM,gBAAe,EACrB,KAAK,aAAe,KAAK,MAAM,cAC/B,KAAK,MAAM,aAAa,QAErBvyB,CACV,EACD,gBAAiB,CACT,KAAK,YAAc,GACnB,KAAK,WAAW,KAAK,YAAc,CAAC,CAE3C,EACD,QAAQuyB,EAAO,CACX,KAAM,CAAE,IAAAh2B,CAAK,EAAGg2B,EAKhB,GAJI,KAAK,aAAa,QAAQh2B,CAAG,IAAM,IAAM,CAAC,KAAK,QAAQ,QACvD,KAAK,eAAc,EAGnB,OAAK,cAAgB,CAAC,KAAK,WAE3B,KAAK,YAAY,QAAQA,CAAG,GAAK,EAAG,CAIpC,GAFIA,IAAQ,OACRg2B,EAAM,eAAc,EACpBh2B,IAAQ,SAAW,KAAK,YACxB,OACJ,KAAK,QAAO,CACf,CACJ,EACD,SAASg2B,EAAO,CACZ,KAAK,MAAM,SAAUA,EAAM,KAAM,EACpC,CACJ,CACL,CAAC,EAED,SAAShS,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAE7C6pC,EAA4B7pC,GAAiB,gBAAgB,EAEnE,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,iBACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,UAAYA,EAAK,MAAMW,CAAM,EAChF,EAAE,CAACp7B,GAAWy6B,EAAK,OAAQ,WAAY,CACtC,MAAOA,EAAK,KACb,EAAE,IAAM,EAAEt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,MAAO,CAAC73C,EAAM4I,KAC7E2U,EAAS,EAAIC,EAAY,OAAQ,CACtC,IAAKq6B,EAAK,sBAAsB73C,CAAI,EAAI4I,EACxC,MAAOivC,EAAK,WAClB,EAAO,CAACp6B,EAAY,OAAQ,KAAM9b,GAAgBk2C,EAAK,sBAAsB73C,CAAI,CAAC,EAAG,CAEhF,EAAE63C,EAAK,SAAWp6B,EAAY86B,EAAmB,CAChD,IAAK,EACL,MAAOV,EAAK,aACZ,UAAW,GACX,KAAM,GACN,KAAMA,EAAK,UACX,QAASW,GAAUX,EAAK,WAAWjvC,EAAO4vC,CAAM,EAChD,aAAcX,EAAK,cACpB,EAAE,KAAM,EAEP,CAAC,QAAS,OAAQ,UAAW,YAAY,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEvF,EACG,EAAG,GAEN,EAAK,GAAG6hB,EAAK,SAAWp6B,EAAYgoC,EAA2BhwB,GAAW,CACtE,IAAK,EACL,IAAK,eACL,WAAYoiB,EAAK,QACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,QAAUW,EAC9E,EAAKX,EAAK,iBAAkB,CACxB,KAAMA,EAAK,KACX,MAAOA,EAAK,MACZ,KAAMA,EAAK,KACX,YAAaA,EAAK,SAClB,UAAWA,EAAK,UAChB,cAAe,GACf,KAAMA,EAAK,KACX,SAAUA,EAAK,SACf,aAAcA,EAAK,mBACnB,gBAAiBA,EAAK,YACtB,aAAcA,EAAK,UACnB,YAAaA,EAAK,YAClB,cAAeA,EAAK,WACpB,gBAAiBA,EAAK,aACtB,uBAAwBA,EAAK,mBAC7B,wBAAyBA,EAAK,oBAC9B,iBAAkBA,EAAK,aACvB,eAAgBA,EAAK,YACrB,SAAUA,EAAK,SACf,QAASA,EAAK,QACd,OAAQA,EAAK,aACb,UAAWA,EAAK,QAChB,mBAAoBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,YAAc,IAC3E,iBAAkBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,YAAc,IACzE,SAAUA,EAAK,SACf,oBAAqBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,kBAAmBW,CAAM,GAC7F,qBAAsBV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,mBAAoBW,CAAM,EAChG,GAAGx7B,GAAY,CACd,EAAG,CACP,EAAK,CAAC66B,EAAK,cAAgB,CACvB,KAAM,SACN,GAAIxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,QAAQ,CAAC,CAAC,CACzD,EAAM,OAAWA,EAAK,eAAiB,CACnC,KAAM,UACN,GAAIxkC,GAAQ+B,GAAS,CAACgI,GAAWy6B,EAAK,OAAQ,UAAW,CACvD,OAAQziC,EAAM,OACd,MAAOA,EAAM,KACd,EAAC,CAAC,CACP,EAAM,OAAWyiC,EAAK,aAAe,CACjC,KAAM,QACN,GAAIxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,OAAO,CAAC,CAAC,CACxD,EAAM,OAAWA,EAAK,cAAgB,CAClC,KAAM,SACN,GAAIxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,QAAQ,CAAC,CAAC,CACzD,EAAM,MAAS,CAAC,EAAG,KAEf,CAAC,aAAc,OAAQ,QAAS,OAAQ,YAAa,YAAa,OAAQ,WAAY,eAAgB,gBAAiB,aAAc,YAAa,cAAe,gBAAiB,uBAAwB,wBAAyB,iBAAkB,eAAgB,WAAY,UAAW,SAAU,YAAa,UAAU,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEtW,EAAE6hB,EAAK,aAAeA,EAAK,UAAYA,EAAK,YAAct6B,EAAS,EAAIC,EAAY,QAAS,CAC3F,IAAK,EACL,MAAOq6B,EAAK,cAChB,EAAK,CAACA,EAAK,WAAaA,EAAK,YAAc,GAAKt6B,EAAS,EAAIC,EAAY3E,GAAU,CAC/E,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,WAAW,EAAI,MAAQl2C,GAAgBk2C,EAAK,SAAS,EAAG,CAEhG,GAAG,EAEH,GAAIA,EAAK,UAAYt6B,EAAS,EAAIC,EAAY3E,GAAU,CACvD,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,WAAW,EAAI,MAAQl2C,GAAgBk2C,EAAK,QAAQ,EAAG,CAE/F,GAAG,EAEH,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEvC,GAAIA,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE1C,CACA,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,2CAEhB,IAAI/uC,GAAQ,CACR,QAAQmtC,EAAK,CACToB,GAAkBpB,EAAK4B,EAAM,CAChC,CACL,EAEA,MAAA+N,GAAe98C,GCtcTqF,GAAQ,OAAO,OAAW,IAC1B03C,GAAc13C,GAAQ,OAAS,OAAO,YACtC23C,GAAO33C,GAAQ,OAAS,OAAO,KCSrC,IAAI0pC,GAAS7+B,GAAgB,CACzB,KAAM,WACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,EACpB,EACD,OAAQ,CAAChC,EAAkB,EAC3B,YAAa,UACb,MAAO,CAAC,gBAAiB,QAAS,kBAAkB,EACpD,MAAO,CAEH,OAAQ,QAER,aAAc,OAEd,QAAS,QACT,UAAW,CAAC,OAAQ,SAAUsP,EAAW,EAEzC,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAED,UAAW,CACP,KAAM,OACN,QAAS,IAAepS,EAAeqC,EAAU,EAAI,oBAAqB,MAAM,CACnF,EAED,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,SACN,QAAS,IAAM,CAAG,CACrB,EAED,KAAM,CACF,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,eAAgB,SAAS,CACjF,EAED,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EACD,SAAU,CACN,KAAM,OACN,QAAS,QACZ,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,CAC1C,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,QAAU,GACzB,kBAAmB,KAAK,QACpC,CACK,EACD,MAAO,CACH,OAAO33C,EAAO,CACV,KAAK,SAAWA,CACnB,EACD,SAASA,EAAO,CACZ,KAAK,kBAAoBA,CAC5B,CACJ,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,gBAAiB,kBAAkB,CAAC,EAAG,KAAK,iBAAmB,CACrG,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,iBAAiB,CACpE,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,cAAc,CAC9D,CACS,CACJ,EACD,QAAS,CAIL,OAAOiK,EAAQ,CACP,CAAC,KAAK,WAAa,CAAC,KAAK,UAE7B,KAAK,MAAM,CAAE,OAAQ,SAAU,OAAAA,CAAQ,EAC1C,EAID,OAAQ,CACJ,KAAK,SAAS,MAAM,KAAM,SAAS,EACnC,KAAK,MAAM,OAAO,EAClB,KAAK,MAAM,gBAAiB,EAAK,EAE7B,KAAK,eACD,KAAK,aAAa,WAClB,KAAK,aAAa,UAAU,OAAO,IAAI,EAEvC,KAAK,aAAa,SAClB,KAAK,aAAa,QAAQ,MAAM,KAAM,SAAS,EAEnD,KAAK,SAAW,GAChB,OAAO,sBAAsB,IAAM,CAC/B6rC,GAAc,KAAK,GAAG,CAC1C,CAAiB,EAER,EAID,SAAS,CAAE,IAAAx3C,GAAO,EACVA,IAAQ,UAAYA,IAAQ,QAC5B,KAAK,OAAO,QAAQ,CAC3B,CACJ,EACD,SAAU,CACF,OAAO,OAAW,KAClB,SAAS,iBAAiB,QAAS,KAAK,QAAQ,CAEvD,EACD,SAAU,CACF,KAAK,eACD,KAAK,aAAa,WAClB,KAAK,aAAa,UAAU,IAAI,IAAI,EAInC,KAAK,WAIN,KAAK,kBAAoB,GACzB,KAAK,MAAM,mBAAoB,EAAK,EACpC,KAAK,UAAU,YAAY,KAAK,GAAG,GALnC,SAAS,KAAK,YAAY,KAAK,GAAG,EAOtC,KAAK,SAAW,GAEvB,EACD,eAAgB,CACR,OAAO,OAAW,KAClB,SAAS,oBAAoB,QAAS,KAAK,QAAQ,CAE1D,CACL,CAAC,EAED,SAASgkB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY+b,GAAY,CAC1C,KAAMse,EAAK,SACf,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACwkC,EAAK,UAAYt6B,EAAW,EAAEC,EAAY,MAAO,CACvE,IAAK,EACL,MAAOq6B,EAAK,WAClB,EAAO,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,eACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,OAAO,SAAS,EACnE,EAAE,KAAM,CAEb,EAAOz6B,GAAWy6B,EAAK,OAAQ,UAAW,GAAI,IAAM,CAACp6B,EAAY86B,EAAmB,CAC9E,KAAMV,EAAK,KACX,KAAMA,EAAK,SACX,KAAMA,EAAK,SACX,MAAOA,EAAK,YACZ,KAAM,EACP,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,OAAQ,OAAO,CAAC,CAAC,CAAC,CAAC,EAAG,CAExC,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,EACtC,EAAG,CACP,EAAK,EAED,CAAC,MAAM,CAAC,CACZ,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,qCCvMhB,MAAMkO,EAAiB,CACnB,aAAc,CACV,KAAK,QAAU,EAClB,CACD,IAAIC,EAAO,CACP,KAAK,QAAQ,KAAKA,CAAK,CAC1B,CACD,OAAOA,EAAO,CACV,IAAIl9C,EAAQ,KAAK,QAAQ,QAAQk9C,CAAK,EACtC,KAAK,QAAQ,OAAOl9C,EAAO,CAAC,CAC/B,CACD,KAAK0C,EAAU,CAEX,KAAK,QAAU,CAAC,GAAG,KAAK,OAAO,EAAE,OAAQ,GACzBA,EAAS,CAAC,IACL,EACpB,CACJ,CACL,CCRA,IAAIy6C,GACAC,GAAY,IAAIH,GACpB,MAAMI,GAAsB,CACxB,KAAKC,EAAQ,CAIT,MAAMC,EAAYvS,GAHG,CACjB,aAAc,CAAEoS,YAAW,CACvC,EAC8CE,CAAM,EAC5CC,EAAU,QAAU,IAAI,QAAQ,CAACC,EAAIC,IAAO,CACxCF,EAAU,aAAa,QAAUC,EACjCD,EAAU,aAAa,OAASE,CAC5C,CAAS,EACD,MAAMriC,EAAM+hC,IAAoBlQ,GAC1BjiC,EAAQ6J,EAAYk6B,GAAQwO,CAAS,EAC3C,OAAAvyC,EAAM,WAAaoQ,EAAI,SACvBzD,GAAO3M,EAAO,SAAS,cAAc,KAAK,CAAC,EACpCA,EAAM,UAAU,KAC1B,EACD,UAAW,CACPoyC,GAAU,KAAMF,GAAU,CACtBA,EAAM,MAAM,GAAG,SAAS,CACpC,CAAS,CACJ,CACL,EACA,IAAIl9C,GAAQ,CACR,QAAQob,EAAK,CACT+hC,GAAmB/hC,EACnBmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BP,GAA8BpzB,EAAK,UAAWiiC,EAAmB,CACpE,CACL,EAEA,MAAAK,GAAe19C,GChCf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,QACN,YAAa,OACb,OAAQ,CAACu9B,EAAkB,EAC3B,MAAO,CACH,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CAAC,OAAQ,MAAO,QAAQ,CACtC,EACD,MAAO,CACH,MAAO,CACH,UAAW,CAAE,CACzB,CACK,EACD,SAAU,CACN,aAAc,CACV,OAAO,KAAK,cAAc,YAAa,QAAQ,CAClD,CACJ,EACD,QAAS,CACL,iBAAiBr2C,EAAM,CACnB,KAAK,UAAU,KAAKA,CAAI,CAC3B,EACD,UAAUumD,EAAgB,GAAI,CAC1B,KAAK,UAAU,QAASvmD,GAAS,CACxBumD,EAAc,SAASvmD,CAAI,GAC5BA,EAAK,MAAK,CAC9B,CAAa,CACJ,CACJ,EACD,SAAU,CACN,MAAO,CACH,iBAAkB,KAAK,iBACvB,UAAW,KAAK,UAChB,UAAW,IAAM,KAAK,UACtB,UAAW,IAAM,KAAK,SAClC,CACK,CACL,CAAC,EAED,SAASugB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAE3C,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,+BAEhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,YACN,YAAa,OACb,OAAQ,CAACu9B,EAAkB,EAC3B,MAAO,CACH,SAAU,OACV,MAAO,OACP,KAAM,OACN,SAAU,OAKV,KAAM,OACN,UAAW,CAAC,OAAQ,MAAO,QAAQ,EACnC,eAAgB,CAAC,OAAQ,MAAO,QAAQ,CAC3C,EACD,SAAU,CACN,aAAc,CACV,OAAO,KAAK,cAAc,YAAa,aAAa,CACvD,EACD,cAAe,CACX,OAAO,KAAK,cAAc,iBAAkB,cAAc,CAC7D,EACD,kBAAmB,CACf,OAAO,KAAK,WAAa,OAAS,KAAK,SAAW,IACrD,CACJ,CACL,CAAC,EAED,MAAM1D,GAAa,CACjB,IAAK,CACP,EACA,SAAS8I,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,KAAM,CAACq6B,EAAK,OAASA,EAAK,OAAO,OAASt6B,EAAS,EAAIC,EAAY,MAAO,CAC/G,IAAK,EACL,MAAOq6B,EAAK,YAChB,EAAK,CAACA,EAAK,OAASA,EAAK,KAAOp6B,EAAY86B,EAAmB,CAC3D,IAAK,EACL,KAAMV,EAAK,KACX,KAAMA,EAAK,SACX,KAAMA,EAAK,IACZ,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,MAAM,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,OAASt6B,EAAW,EAAEC,EAAY,OAAQm1B,GAAYhxC,GAAgBk2C,EAAK,KAAK,EAAG,CAEvJ,GAAIz6B,GAAWy6B,EAAK,OAAQ,QAAS,CACpC,IAAK,CACN,EAAC,EAAG,CAEJ,GAAI7hB,EAAmB,OAAQ,EAAI,EAAGvY,EAAY,KAAM,CACvD,MAAOo6B,EAAK,YACZ,KAAMA,EAAK,gBACf,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,GAEvC,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,CAEAQ,GAAS,OAASoD,GAClBpD,GAAS,OAAS,mCAElB,IAAI8C,GAAWriC,GAAgB,CAC3B,KAAM,YACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,OACb,aAAc,GACd,MAAO,CACH,MAAO,OACP,OAAQ,QACR,SAAU,QACV,SAAU,QACV,SAAU,OACV,KAAM,OACN,UAAW,CACP,KAAM,OACN,QAAS,OACZ,EACD,IAAK,CACD,KAAM,OACN,QAAS,GACZ,EACD,SAAU,CACN,KAAM,OACN,QAAS,EACZ,EAKD,KAAM,OACN,UAAW,CAAC,OAAQ,MAAO,QAAQ,EACnC,gBAAiB,CAAC,OAAQ,MAAO,QAAQ,EACzC,kBAAmB,CAAC,OAAQ,MAAO,QAAQ,EAC3C,kBAAmB,CAAC,OAAQ,MAAO,QAAQ,EAC3C,iBAAkB,CAAC,OAAQ,MAAO,QAAQ,EAC1C,iBAAkB,CAAC,OAAQ,MAAO,QAAQ,CAC7C,EACD,MAAO,CACH,MAAO,CACH,UAAW,KAAK,OAChB,YAAa,KAAK,QAC9B,CACK,EACD,SAAU,CACN,cAAe,CACX,OAAO,KAAK,WAAa,WAAa,KAAK,SAAW,IACzD,EACD,aAAc,CACV,MAAO,CACH,CAAC,KAAK,cAAc,YAAa,aAAa,CAAC,EAAG,GAClD,CAAC,KAAK,cAAc,kBAAmB,qBAAqB,CAAC,EAAG,KAAK,UACrE,CAAC,KAAK,cAAc,oBAAqB,uBAAuB,CAAC,EAAG,KAAK,SACzE,CAAC,KAAK,cAAc,oBAAqB,wBAAwB,CAAC,EAAG,KAAK,IAC1F,CACS,EACD,gBAAiB,CACb,OAAO,KAAK,cAAc,mBAAoB,sBAAsB,CACvE,EACD,gBAAiB,CACb,OAAO,KAAK,cAAc,mBAAoB,sBAAsB,CACvE,CACJ,EACD,MAAO,CACH,OAAOp4C,EAAO,CACV,KAAK,UAAYA,CACpB,EACD,SAASA,EAAO,CACZ,KAAK,YAAcA,CACtB,CACJ,EACD,QAAS,CACL,aAAc,CACN,KAAK,WAET,KAAK,aAAY,EACjB,KAAK,YAAc,KAAK,OAAO,UAAY,CAAC,KAAK,YACjD,KAAK,MAAM,kBAAmB,KAAK,WAAW,EAC1C,KAAK,YACL,KAAK,UAAY,GACjB,KAAK,MAAM,gBAAiB,KAAK,SAAS,GAEjD,EACD,aAAawX,EAAO,CAEZ,KAAK,mBACL,KAAK,mBAAmB,IAAI,EAEvB,KAAK,WACV,KAAK,UAAU,CAAC,KAAMA,CAAK,CAAC,CAEnC,EACD,OAAQ,EACA,CAAC,KAAK,QAAQ,MAAM,QAAW,KAAK,QAAQ,MAAM,QAAU,KAAK,aACjE,KAAK,YAAc,GACnB,KAAK,MAAM,kBAAmB,KAAK,WAAW,GAE9C,KAAK,YACL,KAAK,UAAY,GACjB,KAAK,MAAM,gBAAiB,KAAK,SAAS,EAEjD,CACJ,EACD,SAAU,CACF,KAAK,kBACL,KAAK,iBAAiB,IAAI,CAEjC,EACD,SAAU,CACN,MAAO,CACH,mBAAoB,KAAK,YACrC,CACK,EACD,OAAQ,CACJ,iBAAkB,CAAE,QAAS,EAAO,EACpC,UAAW,CAAE,QAAS,EAAO,EAC7B,mBAAoB,CAAE,QAAS,EAAO,EACtC,UAAW,CAAE,QAAS,EAAO,EAC7B,UAAW,CAAE,QAAS,EAAO,CAChC,CACL,CAAC,EAED,MAAM+wC,GAAe,CACnB,IAAK,CACP,EACA,SAASpG,GAASvI,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY,KAAM,CACpC,KAAMq6B,EAAK,aACX,MAAOA,EAAK,cAChB,EAAK,EAAEt6B,IAAaC,EAAYxB,GAAwB67B,EAAK,GAAG,EAAGpiB,GAAWoiB,EAAK,OAAQ,CACvF,MAAOA,EAAK,YACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cACtD,CAAG,EAAG,CACF,QAASxkC,GAAQ,IAAM,CAACwkC,EAAK,KAAOp6B,EAAY86B,EAAmB,CACjE,IAAK,EACL,KAAMV,EAAK,KACX,KAAMA,EAAK,SACX,KAAMA,EAAK,IACZ,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,MAAM,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,OAASt6B,EAAW,EAAEC,EAAY,OAAQgpC,GAAc7kD,GAAgBk2C,EAAK,KAAK,EAAG,CAEzJ,GAAIz6B,GAAWy6B,EAAK,OAAQ,QAAS,CACpC,IAAK,EACL,SAAUA,EAAK,YACf,OAAQA,EAAK,SACd,EAAC,CAAC,EACH,EAAG,CACP,EAAK,GAED,CAAC,OAAO,CAAC,GAAI7hB,EAAmB,kBAAkB,EAAG6hB,EAAK,OAAO,QAAUp6B,EAAY8b,GAAY,CACnG,IAAK,EACL,KAAMse,EAAK,SACf,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACM,GAAe8J,EAAY,KAAM,CACvD,MAAOo6B,EAAK,cAClB,EAAO,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAE7C,EAAO,CAAC,CAAC1a,GAAO0a,EAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAChC,EAAG,CACP,EAAK,EAED,CAAC,MAAM,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,GAE/C,CAAC,MAAM,CAAC,CACZ,CAEAmlB,GAAS,OAASiF,GAClBjF,GAAS,OAAS,mCAElB,IAAIvyC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BR,GAAkBnzB,EAAKq0B,EAAQ,EAC/BlB,GAAkBnzB,EAAKm3B,EAAQ,CAClC,CACL,EAEA,MAAAsL,GAAe79C,GCtSf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,SACN,WAAY,CACR,CAACu/B,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,QACb,WAAY,CACR,UAAWj0B,EACd,EACD,OAAQ,CAACiyB,GAAoByF,EAAe,EAC5C,MAAO,CAAC,gBAAiB,OAAO,EAChC,MAAO,CAEH,OAAQ,QAER,UAAW,CAAC,OAAQ,QAAQ,EAE5B,QAAS,OAET,aAAc,OAEd,QAAS,QAET,MAAO,OAEP,OAAQ,OAER,MAAO,CACH,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACEvI,EAAeqC,EAAU,EAAI,cAAe,GAAG,CAE7D,EAED,UAAW,CACP,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,kBAAmB,UAAU,CAExE,EAKD,UAAW,CACP,KAAM,CAAC,MAAO,OAAO,EACrB,QAAS,IACErC,EAAeqC,EAAY,EAAE,kBAAmB,CAAC,SAAU,IAAK,UAAW,QAAQ,CAAC,CAElG,EAED,SAAU,CACN,KAAM,SACN,QAAS,IAAM,CAAG,CACrB,EAED,QAAS,CACL,KAAM,SACN,QAAS,IAAM,CAAG,CACrB,EAKD,OAAQ,CACJ,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,eAAgB,MAAM,CAEjE,EAED,WAAY,QAEZ,UAAW,CACP,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,kBAAmB,EAAI,CAElE,EACD,SAAU,CACN,KAAM,OACN,UAAY33C,GACD,CAAC,SAAU,aAAa,EAAE,QAAQA,CAAK,GAAK,CAE1D,EACD,UAAW,QACX,UAAW,OAEX,cAAe,CACX,KAAM,QACN,QAAS,IACEs1C,EAAeqC,EAAU,EAAI,sBAAuB,EAAI,CAEtE,EAED,UAAW,CACP,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,kBAAmB,EAAI,CAElE,EAED,UAAW,CACP,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,kBAAmB,OAAO,CAErE,EACD,cAAe,CACX,KAAM,OACN,QAAS,QACZ,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,cAAe,CAAC,OAAQ,SAAU,KAAK,CAC1C,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,QAAU,GACzB,eAAgB,KAChB,SAAU1B,GAAe,KAAK,KAAK,EACnC,UAAW,CAAC,KAAK,OACjB,UAAW,CAAC,KAAK,MAC7B,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,SAAS,EACzC,CAAE,CAAC,KAAK,cAAc,cAAe,iBAAiB,CAAC,EAAG,KAAK,YAAc,CAC7F,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,kBAAkB,CACrE,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,kBAAkB,EACrD,CAAE,CAAC,KAAK,cAAc,kBAAmB,+BAA+B,CAAC,EAAG,KAAK,UAAY,CAC7G,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,gBAAgB,CACjE,CACS,EACD,aAAc,CACV,OAAI,KAAK,SAAW,OACT,KAAK,cAAc,kBAAmB,WAAW,EAErD,KAAK,cAAc,gBAAiB,YAAY,CAC1D,EACD,eAAgB,CACZ,OAAO,OAAO,KAAK,WAAc,UAC3B,KAAK,UACDX,EAAeqC,EAAY,EAAE,kBAAmB,CAAC,SAAU,IAAK,UAAW,QAAQ,CAAC,EACpF,CAAE,EACN,KAAK,SACd,EACD,OAAQ,CACJ,OAAO,KAAK,cAAc,QAAQ,GAAG,GAAK,CAC7C,EACD,aAAc,CACV,OAAK,KAAK,WAGH,KAFI,CAAE,SAAU,KAAK,SAG/B,CACJ,EACD,MAAO,CACH,OAAO33C,EAAO,CACV,KAAK,SAAWA,CACnB,EACD,SAASA,EAAO,CACRA,IACA,KAAK,UAAY,IACrB,KAAK,aAAY,EACjB,KAAK,UAAU,IAAM,CACbA,GAAS,KAAK,KAAO,KAAK,IAAI,OAAS,KAAK,WAC5C,KAAK,IAAI,OAE7B,CAAa,CACJ,CACJ,EACD,QAAS,CACL,cAAe,CACX,GAAI,SAAO,OAAW,KAEtB,IAAI,KAAK,SAAW,QACZ,KAAK,YAAa,CACd,KAAK,SACL,SAAS,gBAAgB,UAAU,IAAI,KAAK,WAAW,EAGvD,SAAS,gBAAgB,UAAU,OAAO,KAAK,WAAW,EAE9D,MACH,CAaL,GAXA,KAAK,eAAkB,KAAK,eAEtB,KAAK,eADL,SAAS,gBAAgB,UAE3B,KAAK,cACD,KAAK,SACL,SAAS,KAAK,UAAU,IAAI,KAAK,WAAW,EAG5C,SAAS,KAAK,UAAU,OAAO,KAAK,WAAW,GAGnD,KAAK,SAAU,CACf,SAAS,KAAK,MAAM,IAAM,IAAI,KAAK,cAAc,KACjD,MACH,CACD,SAAS,gBAAgB,UAAY,KAAK,eAC1C,SAAS,KAAK,MAAM,IAAM,KAC1B,KAAK,eAAiB,KACzB,EAID,OAAOiK,EAAQ,CACP,KAAK,cAAc,QAAQA,CAAM,EAAI,IAEzC,KAAK,SAAS,MAAM,KAAM,SAAS,EACnC,KAAK,MAAM,CAAE,OAAQ,SAAU,OAAAA,CAAQ,GAC1C,EAID,OAAQ,CACJ,KAAK,SAAW,GACZ,KAAK,gBACL,KAAK,UAAY,IAErB,KAAK,MAAM,gBAAiB,EAAK,EACjC,KAAK,QAAQ,MAAM,KAAM,SAAS,EAE9B,KAAK,eACD,KAAK,aAAa,WAClB,KAAK,aAAa,UAAU,OAAO,IAAI,EAEvC,KAAK,aAAa,SAClB,KAAK,aAAa,QAAQ,MAAM,KAAM,SAAS,EAEnD,OAAO,sBAAsB,IAAM,CAC/B6rC,GAAc,KAAK,GAAG,CAC1C,CAAiB,EAER,EAID,SAAS,CAAE,IAAAx3C,GAAO,CACV,KAAK,WAAaA,IAAQ,UAAYA,IAAQ,QAC9C,KAAK,OAAO,QAAQ,CAC3B,EAID,YAAa,CACT,KAAK,UAAY,EACpB,EAID,aAAc,CACV,KAAK,UAAY,EACpB,CACJ,EACD,SAAU,CACF,OAAO,OAAW,KAClB,SAAS,iBAAiB,QAAS,KAAK,QAAQ,CAEvD,EACD,SAAU,CACF,KAAK,cACD,KAAK,aAAa,WAClB,KAAK,aAAa,UAAU,IAAI,IAAI,EAIxC,SAAS,KAAK,YAAY,KAAK,GAAG,EAClC,KAAK,SAAW,IAEX,KAAK,UACV,KAAK,aAAY,CACxB,EACD,eAAgB,CACZ,GAAI,OAAO,OAAW,IAAa,CAC/B,SAAS,oBAAoB,QAAS,KAAK,QAAQ,EAEnD,MAAMmqD,EAAkB,KAAK,eAEvB,KAAK,eADL,SAAS,gBAAgB,UAE3B,KAAK,cACL,SAAS,KAAK,UAAU,OAAO,KAAK,WAAW,EAC/C,SAAS,gBAAgB,UAAU,OAAO,KAAK,WAAW,GAE9D,SAAS,gBAAgB,UAAYA,EACrC,SAAS,KAAK,MAAM,IAAM,IAC7B,CACJ,CACL,CAAC,EAED,MAAM/T,GAAa,CACjB,IAAK,CACP,EACA,SAASpyB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAE7C+gC,EAAwBzgC,GAAiB,YAAY,EAE3D,OAAOqB,EAAS,EAAIC,EAAY+b,GAAY,CAC1C,KAAMse,EAAK,UACX,gBAAiBA,EAAK,WACtB,iBAAkBA,EAAK,WAC3B,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAAEwkC,EAAK,UAuCiF7hB,EAAmB,OAAQ,EAAI,EAvCpGriB,IAAgB4J,EAAS,EAAIC,EAAY,MAAO,CACxF,IAAK,EACL,MAAOq6B,EAAK,YACZ,SAAU,GACV,KAAMA,EAAK,SACX,aAAcA,EAAK,UACnB,aAAcA,EAAK,SACzB,EAAO,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,eACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,OAAO,SAAS,EACnE,EAAE,KAAM,CAEb,EAAOp6B,EAAY,MAAO,CACpB,MAAOo6B,EAAK,eACZ,MAAOA,EAAK,WAClB,EAAO,CAACA,EAAK,WAAat6B,EAAW,EAAEC,EAAYxB,GAAwB67B,EAAK,SAAS,EAAGpiB,GAAW,CACjG,IAAK,CACX,EAAOoiB,EAAK,MAAO75B,GAAW65B,EAAK,QAAU,EAAE,EAAG,CAC5C,QAASA,EAAK,KACpB,CAAK,EAAG,KAAM,GAER,CAAC,SAAS,CAAC,GAAKA,EAAK,SAAWt6B,EAAW,EAAEC,EAAY,MAAOm1B,GAAYhxC,GAAgBk2C,EAAK,OAAO,EAAG,CAE5G,GAAIz6B,GAAWy6B,EAAK,OAAQ,UAAW,CACtC,IAAK,CACN,GAAGA,EAAK,MAAQlkC,GAAe8J,EAAY86B,EAAmB,CAC7D,IAAK,EACL,UAAW,GACX,KAAM,GACN,MAAOV,EAAK,aACZ,KAAMA,EAAK,UACX,KAAMA,EAAK,cACX,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,OAAO,GAAG,EAC7D,EAAE,KAAM,EAEP,CAAC,QAAS,OAAQ,MAAM,CAAC,EAAG,CAAC,CAAC1a,GAAO,CAAC0a,EAAK,SAAS,CAAC,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE9F,GAAG,GAEF,CAAC,OAAQ,aAAc,YAAY,CAAC,GAAI,CAAC,CAACmH,GAAO0a,EAAK,QAAQ,EAAG,CAAC8E,EAAuB9E,EAAK,SAAS,CAAC,CAAC,CAAoC,CAAC,EAChJ,EAAG,CACP,EAAK,EAED,CAAC,OAAQ,gBAAiB,gBAAgB,CAAC,CAC/C,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,iCAEhB,IAAIoO,GACAC,GAAY,IAAIH,GACpB,MAAMc,GAAoB,CACtB,KAAKT,EAAQ,CACT,IAAIU,EACA,OAAOV,GAAW,SAClBU,EAAY,CACR,QAASV,CACzB,EAGYU,EAAYV,EAEhB,MAAMW,EAAe,CACjB,aAAc,CAAEb,YAAW,CACvC,EACQ,IAAI9oC,EACA,MAAM,QAAQ0pC,EAAU,OAAO,IAC/B1pC,EAAO0pC,EAAU,QACjB,OAAOA,EAAU,SAErB,MAAMT,EAAYvS,GAAMiT,EAAcD,CAAS,EAC/CT,EAAU,QAAU,IAAI,QAAQ,CAACC,EAAIC,IAAO,CACxCF,EAAU,aAAa,QAAUC,EACjCD,EAAU,aAAa,OAASE,CAC5C,CAAS,EACD,MAAMriC,EAAM+hC,IAAoBlQ,GAE1BjiC,EAAQ6J,EAAYk6B,GAAQwO,EADd,IAAejpC,CACqB,EACxD,OAAAtJ,EAAM,WAAaoQ,EAAI,SACvBy3B,GAAS7nC,EAAO,SAAS,cAAc,KAAK,CAAC,EACtCA,EAAM,UAAU,KAC1B,EACD,UAAW,CACP,QAAQ,IAAIoyC,EAAS,EACrBA,GAAU,KAAMF,GAAU,CACtBA,EAAM,MAAM,GAAG,SAAS,CACpC,CAAS,CACJ,CACL,EACA,IAAIl9C,GAAQ,CACR,QAAQob,EAAK,CACT+hC,GAAmB/hC,EACnBmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BP,GAA8BpzB,EAAK,QAAS2iC,EAAiB,CAChE,CACL,EAEA,MAAAG,GAAel+C,GC7af,IAAIm+C,GAAe,CACf,WAAY,CACR,CAAC5L,GAAS,IAAI,EAAGA,EACpB,EACD,MAAO,CAEH,OAAQ,CACJ,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAED,QAAS,OAET,KAAM,OAEN,QAAS,QAET,KAAM,OAEN,SAAU,OAEV,SAAU,CACN,KAAM,OACN,QAAS,OACZ,EAED,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,OACN,QAAS,GACZ,CACJ,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,MAC3B,CACK,EACD,MAAO,CACH,OAAOl9C,EAAO,CACV,KAAK,SAAWA,CACnB,EACD,SAASA,EAAO,CACRA,EACA,KAAK,aAAY,EAGb,KAAK,OACL,aAAa,KAAK,KAAK,CAGlC,CACJ,EACD,SAAU,CAIN,cAAe,CACX,GAAI,KAAK,KACL,OAAO,KAAK,KAEhB,OAAQ,KAAK,KAAI,CACb,IAAK,OACD,MAAO,cACX,IAAK,UACD,MAAO,eACX,IAAK,UACD,MAAO,QACX,IAAK,SACD,MAAO,eACX,QACI,OAAO,IACd,CACJ,CACJ,EACD,QAAS,CAIL,OAAQ,CACJ,KAAK,SAAW,GAChB,KAAK,MAAM,QAAS,GAAG,SAAS,EAChC,KAAK,MAAM,gBAAiB,EAAK,CACpC,EAID,cAAe,CACP,KAAK,YACL,KAAK,MAAQ,WAAW,IAAM,CACtB,KAAK,UACL,KAAK,MAAM,CAAE,OAAQ,QAAS,OAAQ,SAAS,CAAE,CAEzE,EAAmB,KAAK,QAAQ,EAEvB,CACJ,EACD,SAAU,CACN,KAAK,aAAY,CACpB,CACL,EAQI05C,GAAS,CACT,KAAM,gBACN,YAAa,eACb,OAAQ,CAACtB,GAAoB0Q,EAAY,EACzC,MAAO,CAAC,gBAAiB,OAAO,EAChC,MAAO,CAKH,SAAU,OAKV,QAAS,CAAC,OAAQ,MAAM,EAIxB,eAAgB,OAIhB,cAAe,CACX,KAAM,OACN,QAAS,OACZ,EAID,UAAW,CACP,KAAM,OACN,QAAS,MACZ,EAED,UAAW,CAAC,OAAQ,QAAQ,EAE5B,MAAO,OAEP,OAAQ,CACJ,KAAM,OACN,QAAS,KAAO,GACnB,EAED,UAAW,CACP,KAAM,OACN,QAAS,IACExT,EAAeqC,EAAU,EAAI,yBAA0B,OAAO,CAE5E,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,gBAAgB,EAChD,CAAE,CAAC,KAAK,cAAc,eAAgB,mBAAoB,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,EACxF,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAoB,KAAK,QAAQ,CAAC,EAAG,KAAK,QAAU,CAC3G,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,yBAAyB,CAC5E,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,sBAAsB,CACtE,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,yBAAyB,CAC5E,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,uBAAuB,CACxE,CACS,CACJ,CACL,EAEA,SAASr1B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY+b,GAAY,CAC1C,KAAMwe,EAAO,SACjB,EAAK,CACD,QAAS1kC,GAAQ,IAAM,CAACM,GAAe8J,EAAY,UAAW,CAC5D,MAAOy6B,EAAS,WACtB,EAAO,CAACL,EAAK,UAAYt6B,EAAS,EAAIC,EAAY,SAAU,CACtD,IAAK,EACL,MAAO06B,EAAS,aAChB,KAAM,SACN,QAASJ,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,MAAM,CACtD,OAAQ,QACR,OAAQ,GAChB,CAAO,GACD,aAAcE,EAAO,cAC3B,EAAO,CAACt6B,EAAY86B,EAAmB,CACjC,UAAW,GACX,KAAMV,EAAK,SACX,KAAM,GACN,KAAME,EAAO,UACb,KAAMA,EAAO,aACd,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,MAAM,CAAC,CAAC,EAAG,GAE5B,CAAC,YAAY,CAAC,GAAK/hB,EAAmB,OAAQ,EAAI,EAAG+hB,EAAO,WAAax6B,EAAS,EAAIC,EAAYxB,GAAwB+7B,EAAO,SAAS,EAAGtiB,GAAW,CACxJ,IAAK,CACN,EAAEsiB,EAAO,MAAO/5B,GAAW+5B,EAAO,MAAM,EAAG,CAC1C,QAASF,EAAK,KACpB,CAAK,EAAG,KAAM,GAER,CAAC,SAAS,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,OAAO,SAAWA,EAAK,SAAWt6B,EAAS,EAAIC,EAAY,MAAO,CACzH,IAAK,EACL,MAAO06B,EAAS,cACjB,EAAE,CAACL,EAAK,aAAep6B,EAAY86B,EAAmB,CACrD,IAAK,EACL,KAAMV,EAAK,aACX,KAAMA,EAAK,SACX,MAAOK,EAAS,YAChB,KAAM,GACN,KAAML,EAAK,SACX,cAAe,EAChB,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,QAAS,MAAM,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAGvY,EAAY,MAAO,CAC1F,MAAOy6B,EAAS,cACtB,EAAO,CAACL,EAAK,SAAWt6B,EAAS,EAAIC,EAAY,OAAQ,CACnD,IAAK,EACL,UAAWq6B,EAAK,OACjB,EAAE,KAAM,EAEP,CAAC,WAAW,CAAC,GAAKz6B,GAAWy6B,EAAK,OAAQ,UAAW,CACrD,IAAK,EACL,kBAAmBA,EAAK,KACzB,EAAC,EAAG,CAEJ,GAAG,CAEH,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE5C,EAAO,CAAC,CAACmH,GAAO0a,EAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC7B,EAAG,CACP,EAAK,EAED,CAAC,MAAM,CAAC,CACZ,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,+CAEhB,IAAIqP,GAAc,CACd,MAAO,CAEH,KAAM,CACF,KAAM,MACT,EAED,QAAS,CAAC,OAAQ,KAAK,EAEvB,SAAU,CACN,KAAM,OACN,QAAS,IACEzT,EAAeqC,EAAU,EAAI,wBAAyB,GAAI,CAExE,EAED,MAAO,CACH,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,2BAA4B,MAAS,CAEhF,EAED,WAAY,CACR,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,OACN,QAAS,MACT,UAAU33C,EAAO,CACb,MAAO,CACH,YACA,MACA,WACA,eACA,SACA,aACH,EAAC,QAAQA,CAAK,EAAI,EACtB,CACJ,EAED,UAAW,CACP,KAAM,OACN,QAAS,IACEs1C,EAAeqC,EAAU,EAAI,gCAAiC,MAAS,CAErF,EAED,aAAc,OAEd,QAAS,QAET,QAAS,CACL,KAAM,SACN,QAAS,IAAM,CAAG,CACrB,CACJ,EACD,MAAO,CACH,MAAO,CACH,SAAU,GACV,UAAW,KACX,aAAc,KACd,YAAa,KAAK,SAClB,aAAc,KAAK,SAC/B,CACK,EACD,SAAU,CACN,eAAgB,CACZ,OAAQ,KAAK,SAAQ,CACjB,IAAK,YACL,IAAK,MACL,IAAK,WACD,OAAO,KAAK,UAChB,IAAK,eACL,IAAK,SACL,IAAK,cACD,OAAO,KAAK,YACnB,CACJ,EACD,YAAa,CACT,OAAQ,KAAK,SAAQ,CACjB,IAAK,YACL,IAAK,MACL,IAAK,WACD,MAAO,CACH,MAAO,aACP,MAAO,SAC/B,EACgB,IAAK,eACL,IAAK,SACL,IAAK,cACD,MAAO,CACH,MAAO,WACP,MAAO,SAC/B,CACa,CACJ,CACJ,EACD,QAAS,CACL,aAAc,CACV,OAAK,KAAK,MAEF,KAAK,UAAU,kBAAoB,GACvC,KAAK,aAAa,kBAAoB,EAF/B,EAGd,EACD,OAAQ,CACJ,aAAa,KAAK,KAAK,EACvB,KAAK,MAAM,OAAO,EAClB,KAAK,QAAQ,MAAM,KAAM,SAAS,EAC9B,KAAK,eACD,KAAK,aAAa,WAClB,KAAK,aAAa,UAAU,OAAO,IAAI,EAEvC,KAAK,aAAa,SAClB,KAAK,aAAa,QAAQ,MAAM,KAAM,SAAS,GAIvD,WAAW,IAAM,CACb,KAAK,SAAW,GAChB7B,GAAc,KAAK,GAAG,CACzB,EAAE,GAAG,CACT,EACD,YAAa,CACL,KAAK,YAAa,IAClB,KAAK,cAAc,UAAY,IACnC,KAAK,cAAc,sBAAsB,aAAc,KAAK,GAAG,EAC/D,KAAK,SAAW,GACX,KAAK,aACN,KAAK,MAAQ,WAAW,IAAM,KAAK,kBAAmB,KAAK,WAAW,EAE7E,EACD,gBAAiB,CACb,GAAI,KAAK,YAAa,GAAI,KAAK,gBAAgB,KAAK,GAAK,KAAK,gBAAgB,QAAQ,EAAG,CAGrF,GAFA,KAAK,UAAY,SAAS,eAAe,KAAK,aAAe,KAAK,aAAe,QAAU,KAAK,KAAK,YAAa,EAAC,KAAK,GAAG,CAAC,IAAI,KAAK,gBAAgB,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,EACvK,KAAK,aAAe,SAAS,eAAe,KAAK,aAAe,KAAK,aAAe,QAAU,KAAK,KAAK,YAAa,EAAC,KAAK,GAAG,CAAC,IAAI,KAAK,gBAAgB,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,EACzK,KAAK,WAAa,KAAK,aACvB,OACC,KAAK,YACN,KAAK,UAAY,SAAS,cAAc,KAAK,EAC7C,KAAK,UAAU,UAAY,GAAG,KAAK,YAAa,EAAC,KAAK,GAAG,CAAC,IAAI,KAAK,gBAAgB,KAAK,EAAE,KAAK,GAAG,CAAC,IAElG,KAAK,eACN,KAAK,aAAe,SAAS,cAAc,KAAK,EAChD,KAAK,aAAa,UAAY,GAAG,KAAK,YAAa,EAAC,KAAK,GAAG,CAAC,IAAI,KAAK,gBAAgB,QAAQ,EAAE,KAAK,GAAG,CAAC,IAE7G,MAAM5qB,EAAY,SAAS,cAAc,KAAK,YAAY,GAAK,SAAS,KAGxE,GAFAA,EAAU,YAAY,KAAK,SAAS,EACpCA,EAAU,YAAY,KAAK,YAAY,EACnC,KAAK,aAAc,CACnB,MAAM89B,EAAU,KAAK,+BACjBA,GAAWA,EAAQ,QACnBA,EAAQ,OAAQroD,GAAM,CAAC,CAACA,CAAC,EAAE,QAASA,GAAM,CACtC,KAAK,UAAU,UAAU,IAAIA,CAAC,EAC9B,KAAK,aAAa,UAAU,IAAIA,CAAC,CAC7D,CAAyB,CAER,CACJ,CACJ,EACD,iBAAkB,CACd,OAAO,KAAK,MAAM,CAAE,OAAQ,QAAS,OAAQ,SAAS,CAAE,CAC3D,CACJ,EACD,aAAc,CACV,KAAK,eAAc,CACtB,EACD,SAAU,CACF,KAAK,cAAgB,KAAK,aAAa,WACvC,KAAK,aAAa,UAAU,IAAI,IAAI,EAExC,KAAK,WAAU,CAClB,CACL,EAKIy5C,GAAWv/B,GAAgB,CAC3B,KAAM,sBACN,YAAa,eACb,OAAQ,CAACu9B,GAAoB2Q,EAAW,EACxC,MAAO,CACH,kBAAmB,OACnB,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,2BAA4B,CAAC,OAAQ,SAAU,KAAK,CACvD,EACD,MAAO,CAAC,gBAAiB,OAAO,EAChC,QAAS,CACL,aAAc,CACV,MAAO,CACH,KAAK,cAAc,cAAe,WAAW,CAC7D,CACS,EACD,gBAAgBE,EAAU,CACtB,MAAO,CACH,KAAK,cAAc,sBAAuB,cAAeA,CAAQ,CACjF,CACS,EACD,8BAA+B,CAC3B,MAAO,CACH,KAAK,cAAc,6BAA8B,6BAA6B,CAC9F,CACS,EACD,iBAAkB,CACd,OAAO,KAAK,MAAM,aAAa,MAAM,CAAE,OAAQ,QAAS,OAAQ,SAAS,CAAE,CAC9E,CACJ,CACL,CAAC,EAED,SAASzL,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAMiP,EAA4BvrC,GAAiB,gBAAgB,EAEnE,OAAO2B,EAAW,EAAEC,EAAY2pC,EAA2B1xB,GAAWoiB,EAAK,kBAAmB,CAC5F,IAAK,eACL,QAASA,EAAK,KAClB,CAAG,EAAG,CACF,QAASxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,CAAC,EAC3D,EAAG,CACP,EAAK,GAED,CAAC,SAAS,CAAC,CACf,CAEAQ,GAAS,OAASoD,GAClBpD,GAAS,OAAS,qDAElB,IAAI0N,GACAC,GAAY,IAAIH,GACpB,MAAMuB,GAA2B,CAC7B,KAAKlB,EAAQ,CACT,IAAIU,EACA,OAAOV,GAAW,SAClBU,EAAY,CACR,QAASV,CACzB,EAGYU,EAAYV,EAEhB,MAAMW,EAAe,CACjB,aAAc,CAAE,UAAAb,EAAW,EAC3B,SAAUzS,EAAeqC,IAAc,wBAAyB,WAAW,EAC3E,SAAUsQ,EAAO,UAAY3S,EAAeqC,EAAY,EAAE,wBAAyB,EAAK,CACpG,EACQ,IAAI14B,EACA,MAAM,QAAQ0pC,EAAU,OAAO,IAC/B1pC,EAAO0pC,EAAU,QACjB,OAAOA,EAAU,SAErBA,EAAU,OAAS,GACnB,MAAMT,EAAYvS,GAAMiT,EAAcD,CAAS,EAC/CT,EAAU,QAAU,IAAI,QAAQ,CAACC,EAAIC,IAAO,CACxCF,EAAU,aAAa,QAAUC,EACjCD,EAAU,aAAa,OAASE,CAC5C,CAAS,EACD,MAAMriC,EAAM+hC,IAAoBlQ,GAChCsQ,EAAU,kBAAoB,OAAO,OAAO,CAAE,EAAEA,CAAS,EACzDA,EAAU,kBAAkB,SAAW,GAEvC,MAAMvyC,EAAQ6J,EAAY46B,GAAU8N,EADhB,IAAejpC,CACuB,EAC1D,OAAAtJ,EAAM,WAAaoQ,EAAI,SACvBo8B,GAASxsC,EAAO,SAAS,cAAc,KAAK,CAAC,EACtCA,EAAM,UAAU,KAC1B,EACD,UAAW,CACPoyC,GAAU,KAAMF,GAAU,CACtBA,EAAM,MAAM,GAAG,SAAS,CACpC,CAAS,CACJ,CACL,EACA,IAAIl9C,GAAQ,CACR,QAAQob,EAAK,CACT+hC,GAAmB/hC,EACnBmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BP,GAA8BpzB,EAAK,eAAgBojC,EAAwB,CAC9E,CACL,EAEA,MAAAC,GAAez+C,GC/iBf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,oBACN,OAAQ,CAAC,aAAa,EACtB,YAAa,aACb,MAAO,CACH,KAAM,CACF,KAAM,OACN,SAAU,EACb,EACD,IAAK,CACD,KAAM,OACN,QAAS,IACT,UAAY7a,GAAUs1C,EAAeqC,EAAY,EAAE,WAAY,CAAC,IAAK,SAAU,QAAS,cAAe,WAAW,CAAC,EAAE,QAAQ33C,CAAK,GAAK,CAC1I,EACD,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CAAC,OAAQ,MAAO,MAAM,EACjC,iBAAkB,CAAC,OAAQ,MAAO,MAAM,CAC3C,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,WAAa,CAAC,GAAG,KAAK,YAAY,WAAW,EAClD,KAAK,KAAK,MACV,CAAE,CAAC,KAAK,kBAAoB,KAAK,YAAY,kBAAkB,EAAG,KAAK,KAAK,SAAW,CACvG,CACS,EACD,MAAO,CACH,OAAI,KAAK,MAAQ,IACN,IAEJ,EACV,EACD,YAAa,CACT,OAAI,KAAK,MAAQ,IACN,KACJ,KAAK,UAAY,KAAK,KAAK,QACrC,CACJ,CACL,CAAC,EAED,SAASsiB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAW,EAAEC,EAAYxB,GAAwB67B,EAAK,GAAG,EAAGpiB,GAAW,CAC5E,KAAM,SACN,KAAMoiB,EAAK,KACX,SAAUA,EAAK,WACf,MAAOA,EAAK,WAChB,EAAKA,EAAK,OAAQ,CACd,QAAStU,GAAcsU,EAAK,KAAK,MAAO,CAAC,SAAS,CAAC,EACnD,aAAcA,EAAK,KAAK,YAAY,EACpC,eAAgBA,EAAK,KAAK,SAC9B,CAAG,EAAG,CACF,QAASxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,UAAW,CAAE,EAAE,IAAM,CAACniB,GAAgB/zB,GAAgBk2C,EAAK,KAAK,MAAM,EAAG,CAExH,EAAC,CAAC,CAAC,EACJ,EAAG,CACP,EAAK,GAED,CAAC,OAAQ,WAAY,QAAS,UAAW,aAAc,cAAc,CAAC,CAC1E,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,iDAOhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,cACN,WAAY,CACR,CAACqiC,GAAS,IAAI,EAAGA,GACjB,CAACxD,GAAO,IAAI,EAAGA,EAClB,EACD,YAAa,aACb,OAAQ,CAACtB,GAAoByF,EAAe,EAC5C,SAAU,CACN,MAAO,CACH,YAAa,IACzB,CACK,EACD,MAAO,CAAC,gBAAiB,SAAU,gBAAgB,EACnD,MAAO,CAEH,MAAO,CAAC,OAAQ,MAAM,EAEtB,QAAS,CACL,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IAAevI,EAAeqC,EAAU,EAAI,qBAAsB,EAAE,CAChF,EAED,QAAS,CACL,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,CACZ,EAED,YAAa,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,CACZ,EAED,WAAY,CACR,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,CACZ,EAKD,KAAM,OAEN,OAAQ,QAER,QAAS,QAKT,MAAO,CACH,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,mBAAoB,OAAO,CACnF,EAKD,SAAU,OAEV,SAAU,CACN,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,sBAAuB,cAAc,CAC7F,EAED,SAAU,CACN,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,sBAAuB,eAAe,CAC9F,EACD,cAAe,OACf,kBAAmB,OACnB,cAAe,OACf,iBAAkB,OAClB,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,YAAa,CAAC,OAAQ,SAAU,KAAK,CACxC,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,OAAO,EACvC,CAAE,CAAC,KAAK,cAAc,aAAc,UAAW,KAAK,KAAK,CAAC,EAAG,KAAK,KAAO,EACzE,CAAE,CAAC,KAAK,cAAc,YAAa,UAAW,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACtE,CAAE,CAAC,KAAK,cAAc,cAAe,eAAe,CAAC,EAAG,KAAK,MAAQ,EACrE,CAAE,CAAC,KAAK,cAAc,cAAe,eAAe,CAAC,EAAG,KAAK,YAAc,CAC3F,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,iBAAiB,EACpD,CAAE,CAAC,KAAK,cAAc,oBAAqB,uBAAuB,CAAC,EAAG,CAAC,KAAK,OAAS,CACrG,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,aAAa,EAChD,CAAE,CAAC,KAAK,cAAc,oBAAqB,uBAAuB,CAAC,EAAG,CAAC,KAAK,OAAS,CACrG,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,aAAa,CAC7D,CACS,EACD,iBAAkB,CACd,MAAO,CACH,KAAK,cAAc,gBAAiB,iBAAiB,CACrE,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,aAAa,CAC7D,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,aAAa,EAC7C,CAAE,CAAC,KAAK,cAAc,eAAgB,sBAAsB,CAAC,EAAG,KAAK,OAAS,CAC9F,CACS,EACD,oBAAqB,CACjB,MAAO,CACH,KAAK,cAAc,mBAAoB,sBAAsB,CAC7E,CACS,EACD,eAAgB,CACZ,OAAO,SAAS,KAAK,WAAW,CACnC,EACD,cAAe,CACX,OAAO,SAAS,KAAK,UAAU,CAClC,EAID,WAAY,CACR,OAAO,KAAK,KAAK,KAAK,MAAQ,KAAK,OAAO,CAC7C,EAID,WAAY,CACR,MAAM0R,EAAY,KAAK,QAAU,KAAK,QAAU,KAAK,QAAU,EAC/D,OAAOA,GAAa,EAAIA,EAAY,CACvC,EAID,SAAU,CACN,OAAO,KAAK,QAAU,CACzB,EAID,UAAW,CACP,OAAO,KAAK,SAAY,EAAI,KAAK,aACpC,EAID,kBAAmB,CACf,OAAO,KAAK,SAAY,KAAK,cAAgB,CAChD,EAID,SAAU,CACN,OAAO,KAAK,SAAW,KAAK,WAAa,EAAI,KAAK,aACrD,EAID,iBAAkB,CACd,OAAO,KAAK,QAAU,KAAK,WAAa,EAAI,KAAK,aACpD,EAID,SAAU,CACN,OAAO,KAAK,QAAU,KAAK,SAC9B,EAKD,cAAe,CACX,GAAI,KAAK,OACL,OACJ,IAAIxN,EAAO,KAAK,IAAI,EAAG,KAAK,QAAU,KAAK,aAAa,EACpDA,EAAO,IAAM,GACbA,IAEJ,IAAIyN,EAAQ,KAAK,IAAI,KAAK,QAAU,KAAK,aAAc,KAAK,SAAS,EACjE,KAAK,UAAYA,IAAU,GAC3BA,IAEJ,MAAMC,EAAQ,GACd,QAASrqD,EAAI28C,EAAM38C,GAAKoqD,EAAOpqD,IAC3BqqD,EAAM,KAAK,KAAK,QAAQrqD,CAAC,CAAC,EAE9B,OAAOqqD,CACV,EACD,gBAAiB,CACb,OAAO,KAAK,OAAO,OACtB,EACD,iBAAkB,CACd,OAAO,KAAK,OAAO,QACtB,EACD,aAAc,CACV,OAAO,KAAK,OAAO,IACtB,CACJ,EACD,MAAO,CAIH,UAAUvpD,EAAO,CACT,KAAK,QAAUA,GACf,KAAK,KAAI,CAChB,CACJ,EACD,QAAS,CAIL,KAAKs0B,EAAO,CACR,KAAK,WAAW,KAAK,QAAU,EAAGA,CAAK,CAC1C,EAID,KAAKA,EAAO,CACR,KAAK,WAAW,KAAK,QAAU,EAAGA,CAAK,CAC1C,EAID,MAAMA,EAAO,CACT,KAAK,WAAW,EAAGA,CAAK,CAC3B,EAID,KAAKA,EAAO,CACR,KAAK,WAAW,KAAK,UAAWA,CAAK,CACxC,EACD,WAAWk1B,EAAKl1B,EAAO,CACf,KAAK,UAAYk1B,GAAOA,EAAM,GAAKA,EAAM,KAAK,YAElD,KAAK,MAAM,SAAUA,CAAG,EACxB,KAAK,MAAM,iBAAkBA,CAAG,EAE5Bl1B,GAASA,EAAM,QACf,KAAK,UAAU,IAAMA,EAAM,OAAO,MAAO,GAEhD,EACD,QAAQk1B,EAAK34C,EAAU,GAAI,CACvB,MAAO,CACH,OAAQ24C,EACR,UAAW,KAAK,UAAYA,EAC5B,MAAQl1B,GAAU,KAAK,WAAWk1B,EAAKl1B,CAAK,EAC5C,SAAUzjB,EAAQ,UAAY,GAC9B,MAAOA,EAAQ,OAAS,GACxB,aAAcA,EAAQ,YAAY,GAAK,KAAK,iBAAiB24C,EAAK,KAAK,UAAYA,CAAG,CACtG,CACS,EAID,iBAAiBC,EAAYC,EAAW,CACpC,OAAI,KAAK,gBAAkB,CAACA,GAAa,CAAC,KAAK,kBACpC,KAAK,cAAgB,IAAMD,EAAa,IAE1C,KAAK,eAAiBC,GAAa,KAAK,iBACtC,KAAK,iBAAmB,KAAO,KAAK,cAAgB,IAAMD,EAAa,IAE3E,IACV,CACJ,CACL,CAAC,EAED,MAAM/U,GAAa,CACjB,IAAK,CACP,EACMoH,GAAa,CACjB,IAAK,CACP,EACM6N,GAAa,CACjB,IAAK,CACP,EACMC,GAAa,CACjB,IAAK,CACP,EACA,SAASpM,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAE7CksC,EAAiClsC,GAAiB,qBAAqB,EAE7E,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAACA,EAAK,gBAAkBz6B,GAAWy6B,EAAK,OAAQ,WAAY,CAC7D,IAAK,EACL,UAAWA,EAAK,YAChB,iBAAkBA,EAAK,mBACvB,KAAMA,EAAK,QAAQA,EAAK,QAAU,EAAG,CACnC,MAAOA,EAAK,eACZ,aAAcA,EAAK,iBACzB,CAAK,CACL,EAAK,IAAM,CAACp6B,EAAY86B,EAAmB,CACvC,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,GACN,cAAe,MAChB,EAAE,KAAM,EAEP,CAAC,OAAQ,MAAM,CAAC,CAAC,CAAC,EAAIp6B,EAAYqqC,EAAgC,CAClE,IAAK,EACL,MAAOjQ,EAAK,eACZ,UAAWA,EAAK,YAChB,iBAAkBA,EAAK,mBACvB,KAAMA,EAAK,QAAQA,EAAK,QAAU,CAAC,CACvC,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACoK,EAAY86B,EAAmB,CACrD,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,GACN,cAAe,MAChB,EAAE,KAAM,EAEP,CAAC,OAAQ,MAAM,CAAC,CAAC,CAAC,EACpB,EAAG,CACP,EAAK,EAED,CAAC,QAAS,YAAa,mBAAoB,MAAM,CAAC,EAAGA,EAAK,YAAcz6B,GAAWy6B,EAAK,OAAQ,OAAQ,CACxG,IAAK,EACL,UAAWA,EAAK,YAChB,iBAAkBA,EAAK,mBACvB,KAAMA,EAAK,QAAQA,EAAK,QAAU,EAAG,CACnC,MAAOA,EAAK,eACZ,aAAcA,EAAK,aACzB,CAAK,CACL,EAAK,IAAM,CAACp6B,EAAY86B,EAAmB,CACvC,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,GACN,cAAe,MAChB,EAAE,KAAM,EAEP,CAAC,OAAQ,MAAM,CAAC,CAAC,CAAC,EAAIp6B,EAAYqqC,EAAgC,CAClE,IAAK,EACL,MAAOjQ,EAAK,eACZ,UAAWA,EAAK,YAChB,iBAAkBA,EAAK,mBACvB,KAAMA,EAAK,QAAQA,EAAK,QAAU,CAAC,CACvC,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACoK,EAAY86B,EAAmB,CACrD,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,GACN,cAAe,MAChB,EAAE,KAAM,EAEP,CAAC,OAAQ,MAAM,CAAC,CAAC,CAAC,EACpB,EAAG,CACP,EAAK,EAED,CAAC,QAAS,YAAa,mBAAoB,MAAM,CAAC,EAAGA,EAAK,QAAUt6B,IAAaC,EAAY,QAAS,CACtG,IAAK,EACL,MAAOq6B,EAAK,WAChB,EAAK,CAACA,EAAK,SAAW,GAAKt6B,EAAW,EAAEC,EAAY3E,GAAU,CAC1D,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,SAAS,EAAI,MAAQl2C,GAAgBk2C,EAAK,KAAK,EAAG,CAE1F,GAAG,EAEN,IAAQt6B,EAAS,EAAIC,EAAY3E,GAAU,CACvC,IAAK,CACT,EAAK,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,SAAS,EAAI,IAAMl2C,GAAgB,KAAK,IAAIk2C,EAAK,QAAUA,EAAK,QAASA,EAAK,KAAK,CAAC,EAAI,MAAQl2C,GAAgBk2C,EAAK,KAAK,EAAG,CAErK,GAAG,EAEH,EAAC,EAAG,CAEP,IAAQt6B,EAAS,EAAIC,EAAY,KAAM,CACnC,IAAK,EACL,MAAOq6B,EAAK,WAChB,EAAK,CAAC7hB,EAAmB,OAAO,EAAG6hB,EAAK,UAAYt6B,EAAS,EAAIC,EAAY,KAAMm1B,GAAY,CAACkF,EAAK,eAAiBz6B,GAAWy6B,EAAK,OAAQ,UAAW,CACrJ,IAAK,EACL,KAAMA,EAAK,QAAQ,CAAC,EACpB,UAAWA,EAAK,YAChB,iBAAkBA,EAAK,kBAC3B,CAAG,EAAIp6B,EAAYqqC,EAAgC,CAC/C,IAAK,EACL,UAAWjQ,EAAK,YAChB,iBAAkBA,EAAK,mBACvB,KAAMA,EAAK,QAAQ,CAAC,CACrB,EAAE,KAAM,EAEP,CAAC,YAAa,mBAAoB,MAAM,CAAC,CAAC,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,kBAAoBt6B,EAAS,EAAIC,EAAY,KAAMu8B,GAAY,CAACt8B,EAAY,OAAQ,CAC3K,MAAOo6B,EAAK,eACb,EAAE,IAAK,CAEV,CAAG,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,EAAGA,EAAmB,OAAO,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,aAAckQ,IACzIxqC,EAAS,EAAIC,EAAY,KAAM,CACpC,IAAKuqC,EAAK,MAChB,EAAO,CAAClQ,EAAK,eAAiBz6B,GAAWy6B,EAAK,OAAQ,UAAW,CAC3D,IAAK,EACL,KAAMkQ,EACN,UAAWlQ,EAAK,YAChB,iBAAkBA,EAAK,kBAC7B,CAAK,EAAIp6B,EAAYqqC,EAAgC,CAC/C,IAAK,EACL,UAAWjQ,EAAK,YAChB,iBAAkBA,EAAK,mBACvB,KAAMkQ,CACP,EAAE,KAAM,EAEP,CAAC,YAAa,mBAAoB,MAAM,CAAC,CAAC,CAAC,EAC9C,EAAG,GAEH,GAAG/xB,EAAmB,MAAM,EAAG6hB,EAAK,iBAAmBt6B,IAAaC,EAAY,KAAMoqC,GAAY,CAACnqC,EAAY,OAAQ,CACtH,MAAOo6B,EAAK,eACb,EAAE,IAAK,CAEV,CAAG,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,SAAWt6B,EAAW,EAAEC,EAAY,KAAMqqC,GAAY,CAAChQ,EAAK,eAAiBz6B,GAAWy6B,EAAK,OAAQ,UAAW,CAC5J,IAAK,EACL,KAAMA,EAAK,QAAQA,EAAK,SAAS,EACjC,UAAWA,EAAK,YAChB,iBAAkBA,EAAK,kBAC3B,CAAG,EAAIp6B,EAAYqqC,EAAgC,CAC/C,IAAK,EACL,UAAWjQ,EAAK,YAChB,iBAAkBA,EAAK,mBACvB,KAAMA,EAAK,QAAQA,EAAK,SAAS,CAClC,EAAE,KAAM,EAEP,CAAC,YAAa,mBAAoB,MAAM,CAAC,CAAC,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEpF,EAAC,EAAG,CAEP,CACA,CAEAqiB,GAAS,OAASoD,GAClBpD,GAAS,OAAS,2CC3gBlB,IAAIzvC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BR,GAAkBnzB,EAAKq0B,EAAQ,CAClC,CACL,EAEA,MAAA2P,GAAep/C,GCLf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,SACN,OAAQ,CAACu9B,GAAoBsF,EAAe,EAC5C,YAAa,QACb,MAAO,CACH,OACH,EACD,MAAO,CACH,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,SAAU,CACN,WAAY,CACR,OAAO,KAAK,aAAe,KAAK,WACnC,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,SAAS,EACzC,CAAE,CAAC,KAAK,cAAc,eAAgB,kBAAkB,CAAC,EAAG,KAAK,SAAW,EAC5E,CAAE,CAAC,KAAK,cAAc,YAAa,YAAa,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACxE,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAmB,CAAC,EAAG,KAAK,QAAU,EAC7E,CAAE,CAAC,KAAK,cAAc,eAAgB,YAAa,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,CACjG,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,gBAAgB,EACjD,CAAE,CAAC,KAAK,cAAc,oBAAqB,yBAAyB,CAAC,EAAG,KAAK,SAAW,CACxG,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,gBAAgB,CACjE,CACS,CACJ,CACL,CAAC,EAED,SAASp7B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,QAAS,CACvC,MAAOq6B,EAAK,YACZ,IAAK,QACL,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAI/7B,IAASqwC,EAAK,MAAM,GAAGrwC,CAAI,EAAG,CAAC,MAAM,CAAC,GAC3F,UAAWswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAciV,GAAUX,EAAK,MAAM,MAAM,QAAS,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,EAC3H,EAAK,CAAClkC,GAAe8J,EAAY,QAAS,CACtC,sBAAuBq6B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,GAChF,KAAM,QACN,IAAK,QACL,QAASV,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAM,GAAI,CAAC,MAAM,CAAC,GACnE,MAAOsU,EAAK,aACZ,SAAUA,EAAK,SACf,SAAUA,EAAK,SACf,KAAMA,EAAK,KACX,MAAOA,EAAK,WACb,EAAE,KAAM,GAEP,CAAC,WAAY,WAAY,OAAQ,OAAO,CAAC,EAAG,CAAC,CAACxV,GAAawV,EAAK,aAAa,CAAC,CAAC,EAAGp6B,EAAY,OAAQ,CACtG,MAAOo6B,EAAK,YAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAExC,GAAG,EAEN,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,iCAEhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAsQ,GAAer/C,GCjFf,IAAIA,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAuQ,GAAet/C,GCLf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,YACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,WACb,MAAO,CAEH,OAAQ,CACJ,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAED,MAAO,CAAC,OAAQ,MAAM,EAEtB,OAAQ,CAAC,OAAQ,MAAM,EAEvB,OAAQ,QAER,QAAS,CACL,KAAM,QACN,QAAS,EACZ,EAED,MAAO,CACH,KAAM,OACN,QAAS,CACZ,EAKD,SAAU,CACN,KAAM,OACN,QAAS,OACT,UAAUp4C,EAAO,CACb,MAAO,CACH,OACA,WACA,OACH,EAAC,QAAQA,CAAK,EAAI,EACtB,CACJ,EAKD,KAAM,OACN,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,UAAW,CAAC,OAAQ,SAAU,KAAK,CACtC,EACD,QAAS,CACL,GAAI,CAAC,KAAK,OACN,OACJ,MAAMy6C,EAAQ,GACRvE,EAAQ,KAAK,MACbgU,EAAS,KAAK,OACpB,QAAShrD,EAAI,EAAGA,EAAI,KAAK,MAAOA,IAC5Bu7C,EAAM,KAAK52B,GAAE,MAAO,CAChB,MAAO,CACH,KAAK,cAAc,YAAa,cAAc,EAC9C,CAAE,CAAC,KAAK,cAAc,mBAAoB,uBAAuB,CAAC,EAAG,KAAK,OAAS,EACnF,CAAE,CAAC,KAAK,cAAc,iBAAkB,wBAAwB,CAAC,EAAG,KAAK,QAAU,EACnF,CAAE,CAAC,KAAK,cAAc,YAAa,iBAAkB,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,CAChF,EACD,IAAK3kB,EACL,MAAO,CACH,OAAQ+2C,GAAeiU,CAAM,EAC7B,MAAOjU,GAAeC,CAAK,EAC3B,aAAc,KAAK,OAAS,MAAQ,IACvC,CACJ,EAAC,EAEN,OAAOryB,GAAE,MAAO,CACZ,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,gBAAiB,WAAY,KAAK,QAAQ,CAAC,EAAG,KAAK,QAAU,CACtF,CACJ,EAAE42B,CAAK,CACX,CACL,CAAC,EAEDf,GAAO,OAAS,uCAEhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAyQ,GAAex/C,GChGf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,WACN,OAAQ,CAACu9B,GAAoByF,EAAe,EAC5C,YAAa,UACb,MAAO,CAAC,cAAe,OAAO,EAC9B,MAAO,CAEH,KAAM,QAKN,QAAS,CAAC,OAAQ,MAAM,EAExB,QAAS,QAKT,SAAU,CACN,KAAM,OACN,QAAS,IAAevI,EAAeqC,EAAU,EAAI,mBAAoB,OAAO,EAChF,UAAY33C,GACD,CACH,QACA,WACA,QACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EAED,WAAY,QAEZ,UAAW,QAEX,MAAO,QAKP,OAAQ,CACJ,KAAM,OACN,UAAYA,GACD,CACH,GACA,YACA,UACA,QACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EAED,OAAQ,QAER,cAAe,QAEf,mBAAoB,QAKpB,UAAW,CACP,KAAM,CAAC,MAAO,OAAO,EACrB,QAAS,IAAes1C,EAAeqC,EAAU,EAAI,oBAAqB,CAAC,SAAU,SAAS,CAAC,CAClG,EAID,SAAU,CACN,KAAM,SACN,QAAS,IAAM,CAAG,CACrB,EACD,OAAQ,CACJ,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,iBAAkB,MAAM,EAEhE,UAAY33C,GACD,CACH,OACA,MACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,wBAAyB,CAAC,OAAQ,SAAU,KAAK,EACjD,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,MAAO,CACH,MAAO,CACH,OAAQ,KAAK,KACb,eAAgB,KAChB,UAAW,GACX,eAAgB,IAC5B,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,cAAe,gBAAgB,CAAC,EAAG,KAAK,YAAc,CAC5F,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,iBAAiB,CACpE,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,iBAAiB,EACpD,CAAE,CAAC,KAAK,cAAc,eAAgB,oBAAqB,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,EACzF,CAAE,CAAC,KAAK,cAAc,aAAc,wBAAwB,CAAC,EAAG,KAAK,OAAS,EAC9E,CAAE,CAAC,KAAK,cAAc,cAAe,yBAAyB,CAAC,EAAG,KAAK,QAAU,EACjF,CAAE,CAAC,KAAK,cAAc,gBAAiB,2BAA2B,CAAC,EAAG,KAAK,UAAY,EACvF,CAAE,CAAC,KAAK,cAAc,kBAAmB,6BAA6B,CAAC,EAAG,KAAK,UAAY,EAC3F,CAAE,CAAC,KAAK,cAAc,iBAAkB,4BAA4B,CAAC,EAAG,KAAK,WAAc,KAAK,SAAW,aAAe,KAAK,YAAe,EAC9I,CAAE,CAAC,KAAK,cAAc,aAAc,wBAAwB,CAAC,EAAG,KAAK,KAAO,EAC5E,CAAE,CAAC,KAAK,cAAc,cAAe,uBAAuB,CAAC,EAAG,KAAK,QAAW,KAAK,SAAW,WAAa,KAAK,YAAe,EACjI,CAAE,CAAC,KAAK,cAAc,qBAAsB,8BAA8B,CAAC,EAAI,KAAK,eAAiB,KAAK,SAAW,WAAc,EACnI,CAAE,CAAC,KAAK,cAAc,0BAA2B,0CAA0C,CAAC,EAAI,KAAK,eAAiB,KAAK,oBAAsB,KAAK,SAAW,WAAc,EAC/K,CAAE,CAAC,KAAK,cAAc,eAAgB,0BAA0B,CAAC,EAAG,KAAK,MAAQ,EACjF,CAAE,CAAC,KAAK,cAAc,cAAe,yBAAyB,CAAC,EAAG,CAAC,KAAK,MAAQ,CAChG,CACS,EACD,aAAc,CACV,OAAI,KAAK,SAAW,OACT,KAAK,cAAc,kBAAmB,WAAW,EAErD,KAAK,cAAc,gBAAiB,YAAY,CAC1D,EACD,eAAgB,CACZ,OAAO,OAAO,KAAK,WAAc,UAC3B,KAAK,UACDs1C,EAAeqC,EAAU,EAAI,oBAAqB,CAAC,SAAU,SAAS,CAAC,EACvE,CAAE,EACN,KAAK,SACd,EACD,UAAW,CACP,OAAO,KAAK,WAAa,QAC5B,EACD,SAAU,CACN,OAAO,KAAK,WAAa,OAC5B,EACD,YAAa,CACT,OAAO,KAAK,WAAa,UAC5B,EACD,cAAe,CACX,OAAO,KAAK,SAAW,UAAY,KAAK,YAC3C,CACJ,EACD,MAAO,CACH,KAAM,CACF,QAAQ33C,EAAO,CACX,KAAK,OAASA,EACV,KAAK,SACL,KAAK,aAAY,EAErB,MAAMoqD,EAAO,KAAK,MAAQ,CAACpqD,EAAQA,EACnC,KAAK,eAAkBoqD,EAAsB,aAAf,YACjC,EACD,UAAW,EACd,CACJ,EACD,QAAS,CAIL,SAAS,CAAE,IAAA9rD,GAAO,CACV,KAAK,SACD,KAAK,SAAWA,IAAQ,UAAYA,IAAQ,QAC5C,KAAK,OAAO,QAAQ,CAE/B,EAID,OAAO2L,EAAQ,CACP,KAAK,cAAc,QAAQA,CAAM,EAAI,GAErC,KAAK,WAET,KAAK,SAAS,MAAM,KAAM,SAAS,EACnC,KAAK,MAAK,EACb,EAID,OAAQ,CACJ,KAAK,OAAS,GACd,KAAK,MAAM,OAAO,EAClB,KAAK,MAAM,cAAe,EAAK,CAClC,EAID,eAAeqqB,EAAO,CACd,CAAC,KAAK,SAAW,CAAC,KAAK,QAAU,KAAK,WAGrCA,EAAM,aAAc,EAAC,SAAS,KAAK,MAAM,cAAc,GACxD,KAAK,OAAO,SAAS,CAE5B,EAID,aAAc,CACV,KAAK,UAAY,EACpB,EAID,YAAa,CACT,KAAK,UAAY,EACpB,EACD,cAAe,CACX,GAAI,SAAO,OAAW,KAEtB,IAAI,KAAK,SAAW,QACZ,KAAK,YAAa,CACd,KAAK,KACL,SAAS,gBAAgB,UAAU,IAAI,KAAK,WAAW,EAGvD,SAAS,gBAAgB,UAAU,OAAO,KAAK,WAAW,EAE9D,MACH,CAaL,GAXA,KAAK,eAAkB,KAAK,eAEtB,KAAK,eADL,SAAS,gBAAgB,UAE3B,KAAK,cACD,KAAK,KACL,SAAS,KAAK,UAAU,IAAI,KAAK,WAAW,EAG5C,SAAS,KAAK,UAAU,OAAO,KAAK,WAAW,GAGnD,KAAK,KAAM,CACX,SAAS,KAAK,MAAM,IAAM,IAAI,KAAK,cAAc,KACjD,MACH,CACD,SAAS,gBAAgB,UAAY,KAAK,eAC1C,SAAS,KAAK,MAAM,IAAM,KAC1B,KAAK,eAAiB,KACzB,CACJ,EACD,SAAU,CACF,OAAO,OAAW,MAClB,SAAS,iBAAiB,QAAS,KAAK,QAAQ,EAChD,SAAS,iBAAiB,QAAS,KAAK,cAAc,EAE7D,EACD,SAAU,CACF,OAAO,OAAW,MACd,KAAK,SACL,SAAS,KAAK,YAAY,KAAK,GAAG,EAElC,KAAK,SAAW,KAAK,MACrB,KAAK,aAAY,EAG5B,EACD,eAAgB,CACZ,GAAI,OAAO,OAAW,MAClB,SAAS,oBAAoB,QAAS,KAAK,QAAQ,EACnD,SAAS,oBAAoB,QAAS,KAAK,cAAc,EACrD,KAAK,SAAS,CAEd,MAAMm0B,EAAkB,KAAK,eAEvB,KAAK,eADL,SAAS,gBAAgB,UAE3B,KAAK,cACL,SAAS,KAAK,UAAU,OAAO,KAAK,WAAW,EAC/C,SAAS,gBAAgB,UAAU,OAAO,KAAK,WAAW,GAE9D,SAAS,gBAAgB,UAAYA,EACrC,SAAS,KAAK,MAAM,IAAM,IAC7B,CAED,KAAK,SACL3S,GAAc,KAAK,GAAG,CAE7B,CACL,CAAC,EAED,SAASxzB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAOvkC,IAAgB4J,IAAaC,EAAY,MAAO,CACrD,MAAOq6B,EAAK,WAChB,EAAK,CAACA,EAAK,SAAWA,EAAK,QAAUt6B,EAAW,EAAEC,EAAY,MAAO,CACjE,IAAK,EACL,MAAOq6B,EAAK,cACb,EAAE,KAAM,CAER,GAAI7hB,EAAmB,OAAQ,EAAI,EAAGvY,EAAY8b,GAAY,CAC7D,KAAMse,EAAK,eACX,iBAAkBA,EAAK,YACvB,gBAAiBA,EAAK,UAC1B,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACM,GAAe8J,EAAY,MAAO,CACxD,IAAK,iBACL,MAAOo6B,EAAK,cAClB,EAAO,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAE7C,EAAO,CAAC,CAAC1a,GAAO0a,EAAK,MAAM,CAAC,CAAC,CAAC,CAAC,EAC3B,EAAG,CACP,EAAK,EAED,CAAC,OAAQ,iBAAkB,eAAe,CAAC,CAAC,EAAG,CAEnD,GAAM,CAAC,CAAC1a,GAAO,CAAC0a,EAAK,YAAY,CAAC,CAAC,CACnC,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,qCAEhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAA2Q,GAAe1/C,GC1VT2/C,GAAY,CACd,IAAK,SACL,OAAQ,MACR,MAAO,OACP,KAAM,OACV,EACA,SAASC,GAAiBznD,EAAGC,EAAG,CAC5B,MAAM84C,EAAO,KAAK,IAAI/4C,EAAE,KAAMC,EAAE,IAAI,EAC9BumD,EAAQ,KAAK,IAAIxmD,EAAE,MAAOC,EAAE,KAAK,EACjC64C,EAAM,KAAK,IAAI94C,EAAE,IAAKC,EAAE,GAAG,EAC3BynD,EAAS,KAAK,IAAI1nD,EAAE,OAAQC,EAAE,MAAM,EAC1C,OAAO,KAAK,IAAIumD,EAAQzN,EAAM,CAAC,EAAI,KAAK,IAAI2O,EAAS5O,EAAK,CAAC,CAC/D,CAKA,MAAM6O,GAAWnP,IAAU,CACvB,IAAK,CAAE,GAAIA,EAAK,KAAOA,EAAK,OAAS,GAAK,EAAGA,EAAK,GAAK,EACvD,OAAQ,CAAE,GAAIA,EAAK,KAAOA,EAAK,OAAS,GAAK,EAAGA,EAAK,MAAQ,EAC7D,KAAM,CAAE,EAAGA,EAAK,KAAM,GAAIA,EAAK,IAAMA,EAAK,QAAU,EAAK,EACzD,MAAO,CAAE,EAAGA,EAAK,MAAO,GAAIA,EAAK,IAAMA,EAAK,QAAU,EAAK,CAC/D,GAMA,IAAI5B,GAAS7+B,GAAgB,CACzB,KAAM,WACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,UACb,MAAO,CAAC,OAAQ,OAAO,EACvB,MAAO,CAEH,OAAQ,CACJ,KAAM,QACN,QAAS,EACZ,EAED,MAAO,OAEP,MAAO,OAKP,SAAU,CACN,KAAM,OACN,QAAS,IAAe9C,EAAeqC,EAAU,EAAI,mBAAoB,KAAK,EAC9E,UAAY33C,GACD,CACH,MACA,SACA,OACA,QACA,MACH,EAAC,QAAQA,CAAK,EAAI,EAE1B,EAKD,SAAU,CACN,KAAM,MACN,QAAS,IAAes1C,EAAeqC,EAAY,EAAE,mBAAoB,CAAC,OAAO,CAAC,CACrF,EAED,OAAQ,QAER,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAED,UAAW,CACP,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,oBAAqB,MAAM,CACnF,EAKD,UAAW,CACP,KAAM,CAAC,MAAO,OAAO,EACrB,QAAS,EACZ,EAED,UAAW,QAEX,aAAc,QAKd,QAAS,CAAC,OAAQ,SAAU,KAAK,EACjC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,CAC5C,EACD,MAAO,CACH,MAAO,CACH,SAAU,GACV,aAAc,CAAE,EAChB,OAAQ,OACR,QAAS,IACrB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,OAAO,CACvD,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,gBAAgB,CACnE,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,cAAc,EAC/C,CAAE,CAAC,KAAK,cAAc,kBAAmB,iBAAkB,KAAK,WAAW,CAAC,EAAG,KAAK,WAAa,EACjG,CAAE,CAAC,KAAK,cAAc,oBAAqB,iBAAkB,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,CAC3G,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,gBAAgB,EACnD,CAAE,CAAC,KAAK,cAAc,aAAc,mBAAoB,KAAK,WAAW,CAAC,EAAG,KAAK,WAAa,EAC9F,CAAE,CAAC,KAAK,cAAc,eAAgB,mBAAoB,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,EACxF,CAAE,CAAC,KAAK,cAAc,iBAAkB,2BAA2B,CAAC,EAAG,KAAK,SAAW,EACvF,CAAE,CAAC,KAAK,cAAc,cAAe,wBAAwB,CAAC,EAAG,KAAK,MAAQ,CAC9F,CACS,EACD,cAAe,CACX,OAAO,KAAK,SAAW,KAAK,UAAY,MAC3C,EACD,aAAc,CACV,GAAI,KAAK,WAAa,OAClB,OAAO,KAAK,SAEhB,MAAM+S,EAAkBpV,EAAeqC,EAAY,EAAE,mBAAoB,KAAK,EAC9E,IAAIgT,EAAeD,EACnB,GAAI,KAAK,SAAW,KAAM,CACtB,IAAIE,EACJ,MAAMC,EAAW,OAAO,eACpBA,GAAY,KACRhV,GAAQ,EAGR+U,EAAW,IAAI,QAAQ,EAAG,EAAGC,EAAS,MAAOA,EAAS,MAAM,EAG5DD,EAAW,IAAI,QAAQC,EAAS,WAAYA,EAAS,UAAWA,EAAS,MAAOA,EAAS,MAAM,EAInGD,EAAW,IAAI,QAAQ,EAAG,EAAG,SAAS,gBAAgB,YAAa,SAAS,gBAAgB,YAAY,EAE5G,MAAME,EAAiBL,GAAQ,KAAK,QAAQ,OAAO,EAC7CM,EAAc,KAAK,QAAQ,QAC3BC,EAAiBP,GAAQM,CAAW,EACpCE,EAAuBC,GAAQ,CACjC,MAAMC,EAAgBL,EAAeI,CAAG,EAClCE,EAAgBJ,EAAeV,GAAUY,CAAG,CAAC,EAInD,OAAO,IAAI,QAAQH,EAAY,GAAKI,EAAc,EAAIC,EAAc,GAAIL,EAAY,GAAKI,EAAc,EAAIC,EAAc,GAAIL,EAAY,MAAOA,EAAY,MAAM,CACtL,EACsBM,EAAkBf,GAAUI,CAAe,EAC3CY,EAAiBZ,IAAoB,OAASA,IAAoB,SAAY,OAAS,MACvFa,EAAgBjB,GAAUgB,CAAa,EAEvCE,EAAY,CAACd,EAAiBW,EAAiBC,EAAeC,CAAa,EACjF,IAAIE,EAAa,EACjB,UAAWxC,KAAYuC,EAAW,CAC9B,MAAME,EAAUnB,GAAiBK,EAAUK,EAAoBhC,CAAQ,CAAC,EACpEyC,EAAUD,IACVA,EAAaC,EACbf,EAAe1B,EAEtB,CACJ,CACD,OAAO0B,CACV,CACJ,EACD,MAAO,CACH,SAAS3qD,EAAO,CACZ,KAAK,MAAMA,EAAQ,OAAS,OAAO,EAC/BA,GAAS,KAAK,WAAa,QAC3B,KAAK,UAAU,IAAM,CACjB,KAAK,QAAU,CACX,QAAS,KAAK,MAAM,QAAQ,sBAAuB,EACnD,QAAS,KAAK,MAAM,QAAQ,sBAAuB,CAC3E,CACA,CAAiB,EAEDA,GAAS,KAAK,cACd,KAAK,mBAAkB,CAE9B,CACJ,EACD,QAAS,CACL,oBAAqB,CACjB,MAAM2rD,EAAU,KAAK,MAAM,QACrBxjD,EAAU,KAAK,MAAM,QAC3B,GAAIwjD,GAAWxjD,EAAS,CAEpB,MAAMyjD,EAAY,KAAK,MAAM,OAAO,SAAS,CAAC,EAC9CA,EAAU,UAAU,QAAS7pD,GAAS6pD,EAAU,UAAU,OAAO,GAAG7pD,EAAK,MAAM,GAAG,CAAC,CAAC,EAChF,KAAK,QAAU,KAAK,OAAO,MAAQ,KAAK,OAAO,KAAK,aACpD6pD,EAAU,UAAU,IAAI,KAAK,OAAO,KAAK,WAAW,EAExD,KAAK,YAAY,QAAS7pD,GAAS,CAC3B,OAAOA,GAAS,SAChB,OAAO,KAAKA,CAAI,EAAE,OAAOzD,GAAOA,GAAOyD,EAAKzD,CAAG,CAAC,EAAE,QAAQA,GAAOstD,EAAU,UAAU,IAAIttD,CAAG,CAAC,EAG7FstD,EAAU,UAAU,IAAI,GAAG7pD,EAAK,MAAM,GAAG,CAAC,CAElE,CAAiB,EACD6pD,EAAU,MAAM,MAAQ,GAAGzjD,EAAQ,WAAW,KAC9CyjD,EAAU,MAAM,OAAS,GAAGzjD,EAAQ,YAAY,KAChD,MAAMmzC,EAAOnzC,EAAQ,wBACfyzC,EAAMN,EAAK,IAAM,OAAO,QACxBO,EAAOP,EAAK,KAAO,OAAO,QAC1BxgB,EAAU,KAAK,MAAM,OAC3BA,EAAQ,MAAM,SAAW,WACzBA,EAAQ,MAAM,IAAM,GAAG8gB,CAAG,KAC1B9gB,EAAQ,MAAM,KAAO,GAAG+gB,CAAI,KAC5B/gB,EAAQ,MAAM,OAAS,KAAK,UAAY,KAAK,OAAS,KAAO,KAC7D,KAAK,aAAe,CAAE,OAAQ,KAAK,UAAY,KAAK,OAAS,MAAQ,OACxE,CACJ,EACD,SAAU,CACF,KAAK,SAAS,QAAQ,OAAO,EAAI,GAIrC,KAAK,UAAU,IAAM,CACjB,WAAW,IAAM,KAAK,KAAI,CAAE,CAC5C,CAAa,CACJ,EACD,SAAU,CACF,KAAK,SAAS,QAAQ,OAAO,EAAI,GAErC,KAAK,KAAI,CACZ,EACD,SAAU,CACF,KAAK,SAAS,QAAQ,OAAO,EAAI,GAErC,KAAK,KAAI,CACZ,EACD,cAAcxG,EAAO,CACb,KAAK,SAAS,QAAQ,aAAa,EAAI,IAE3CA,EAAM,eAAc,EACpB,KAAK,KAAI,EACZ,EACD,MAAO,CACC,KAAK,MACL,KAAK,MAAQ,WAAW,IAAM,CAC1B,KAAK,SAAW,GAChB,KAAK,MAAQ,IACjC,EAAmB,KAAK,KAAK,EAGb,KAAK,SAAW,EAEvB,EACD,OAAQ,CACA,OAAO,KAAK,WAAc,YAC1B,KAAK,SAAW,CAAC,KAAK,WAEtB,KAAK,WAAa,KAAK,OACvB,aAAa,KAAK,KAAK,CAC9B,EAID,eAAeA,EAAO,CACd,KAAK,UACD,MAAM,QAAQ,KAAK,SAAS,IACxB,KAAK,UAAU,QAAQ,SAAS,GAAK,IAChC,KAAK,cAAcA,EAAM,MAAM,IAChC,KAAK,SAAW,KAEpB,KAAK,UAAU,QAAQ,QAAQ,GAAK,GAChC,KAAK,cAAcA,EAAM,MAAM,IAC/B,KAAK,SAAW,IAInC,EAID,SAAS,CAAE,IAAAh2B,GAAO,CACV,KAAK,WAAaA,IAAQ,UAAYA,IAAQ,QAC1C,MAAM,QAAQ,KAAK,SAAS,GACxB,KAAK,UAAU,QAAQ,QAAQ,GAAK,IACpC,KAAK,SAAW,GAG/B,EAID,cAAcW,EAAI,CACd,GAAIA,IAAO,KAAK,MAAM,QAClB,MAAO,GAEX,GAAI,KAAK,MAAM,UAAY,OAAW,CAClC,MAAMqY,EAAW,KAAK,MAAM,QAAQ,iBAAiB,GAAG,EACxD,UAAWE,KAASF,EAChB,GAAIrY,IAAOuY,EACP,MAAO,EAGlB,CACD,MAAO,EACV,CACJ,EACD,SAAU,CACF,KAAK,eACL,KAAK,MAAM,OAASu+B,GAAsB,KAAK,MAAM,OAAO,EAC5D,KAAK,mBAAkB,EAE9B,EACD,SAAU,CACF,OAAO,OAAW,MAClB,SAAS,iBAAiB,QAAS,KAAK,cAAc,EACtD,SAAS,iBAAiB,QAAS,KAAK,QAAQ,EAEvD,EACD,eAAgB,CACR,OAAO,OAAW,MAClB,SAAS,oBAAoB,QAAS,KAAK,cAAc,EACzD,SAAS,oBAAoB,QAAS,KAAK,QAAQ,GAEnD,KAAK,cACLD,GAAc,KAAK,MAAM,MAAM,CAEtC,CACL,CAAC,EAED,SAASxzB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,MAAO,CACrC,IAAK,UACL,MAAOq6B,EAAK,WAChB,EAAK,CAACp6B,EAAY8b,GAAY,CAC1B,KAAMse,EAAK,aACX,gBAAiBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,QAAU,MACpE,oBAAqBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,QAAU,KAC5E,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACM,GAAe8J,EAAY,MAAO,CACxD,IAAK,UACL,MAAOo6B,EAAK,cAClB,EAAO,CAACp6B,EAAY,OAAQ,CACtB,MAAOo6B,EAAK,YACb,EAAE,KAAM,CAER,EAAEA,EAAK,OAASt6B,EAAS,EAAIC,EAAY3E,GAAU,CAClD,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBk2C,EAAK,KAAK,EAAG,CAEhD,GAAG,EAER,GAASA,EAAK,OAAO,QAAUz6B,GAAWy6B,EAAK,OAAQ,UAAW,CAC5D,IAAK,CACN,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEvC,EAAE,CAAC,CAACmH,GAAO0a,EAAK,SAAWA,EAAK,UAAYA,EAAK,OAAO,CAAC,CAAC,CAAC,CAAC,EAC7D,EAAG,CACP,EAAK,EAED,CAAC,MAAM,CAAC,EAAGp6B,EAAY,MAAO,CAC9B,IAAK,UACL,MAAOo6B,EAAK,eACZ,MAAOA,EAAK,aACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GACpE,cAAeswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,cAAc,GAAGrwC,CAAI,GAChF,aAAcswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GACzE,eAAgBswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GAC3E,cAAeswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,MAAM,GAAGrwC,CAAI,GACxE,aAAcswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,MAAM,GAAGrwC,CAAI,EACxE,EAAE,CAAC4V,GAAWy6B,EAAK,OAAQ,UAAW,CACrC,IAAK,MACN,EAAC,EAAG,EAEJ,GAAG,CAEN,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,qCCpZhB,IAAIA,GAAS7+B,GAAgB,CACzB,KAAM,eACN,WAAY,CACR,CAAC4nC,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,SACb,aAAc,GACd,OAAQ,CAAC,SAAS,EAClB,MAAO,CAAC,oBAAqB,YAAa,SAAS,EACnD,MAAO,CACH,WAAY,CACR,KAAM,OACN,QAAS,CACZ,EACD,QAAS,CACL,KAAM,OACN,QAAS,EACZ,EACD,QAAS,CACL,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EACD,gBAAiB,SACjB,OAAQ,CACJ,KAAM,OACN,QAAS,MACT,UAAYziD,GACD,CACH,MACA,SACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EACD,OAAQ,CACJ,KAAM,CAAC,OAAQ,KAAK,EACpB,QAAS,IACEs1C,EAAeqC,IAAc,QAAQ,CAEnD,EACD,cAAe,CACX,KAAM,QACN,QAAS,EACZ,CACJ,EACD,MAAO,CACH,MAAO,CACH,UAAW,GACX,SAAU,GACV,OAAQ,EACR,cAAe,EACf,YAAa,KACb,SAAU,KAAK,UAC3B,CACK,EACD,SAAU,CACN,UAAW,CACP,OAAO,KAAK,QAAQ,QACvB,EACD,KAAM,CACF,OAAO,KAAK,QAAQ,GACvB,EACD,KAAM,CACF,OAAO,KAAK,QAAQ,GACvB,EACD,MAAO,CACH,OAAO,KAAK,QAAQ,IACvB,EACD,WAAY,CACR,OAAO,KAAK,QAAQ,SACvB,EACD,iBAAkB,CACd,MAAO,IAAI,KAAK,WAAa,KAAK,MAAQ,KAAK,IAAM,KAAK,KAAO,GAAG,GACvE,EACD,cAAe,CACX,MAAO,CAAE,KAAM,KAAK,gBACvB,EACD,gBAAiB,CACb,OAAI,OAAO,KAAK,gBAAoB,IACzB,KAAK,gBAAgB,KAAK,UAAU,EAE3C,KAAK,SAAW,UACT,IAAI,KAAK,aAAa,KAAK,OAAQ,CACtC,MAAO,SACV,GAAE,QAAS,KAAK,WAAa,KAAK,MAAS,KAAK,IAAM,KAAK,IAAI,EAE7D,IAAI,KAAK,aAAa,KAAK,MAAM,EAAE,OAAO,KAAK,UAAU,CACnE,CACJ,EACD,QAAS,CACL,SAAU,CACN,KAAK,UAAY,EACpB,EACD,QAAS,CACL,KAAK,UAAY,EACpB,EACD,aAAarjB,EAAO,CACZ,KAAK,WAETA,EAAM,eAAc,EACpB,KAAK,YAAYA,CAAK,EAClB,OAAO,OAAW,MAClB,SAAS,iBAAiB,YAAa,KAAK,UAAU,EACtD,SAAS,iBAAiB,YAAa,KAAK,UAAU,EACtD,SAAS,iBAAiB,UAAW,KAAK,SAAS,EACnD,SAAS,iBAAiB,WAAY,KAAK,SAAS,EACpD,SAAS,iBAAiB,cAAe,KAAK,SAAS,GAE9D,EACD,eAAgB,CACR,KAAK,UAAY,KAAK,aAAe,KAAK,MAE9C,KAAK,YAAc,WAAW,KAAK,eAAe,EAC9C,KAAK,MAAQ,KAAK,IAAM,KAAK,KAAO,IACxC,KAAK,YAAY,KAAK,WAAW,EACjC,KAAK,QAAQ,UAAU,QAAQ,EAClC,EACD,gBAAiB,CACT,KAAK,UAAY,KAAK,aAAe,KAAK,MAE9C,KAAK,YAAc,WAAW,KAAK,eAAe,EAC9C,KAAK,MAAQ,KAAK,IAAM,KAAK,KAAO,IACxC,KAAK,YAAY,KAAK,WAAW,EACjC,KAAK,QAAQ,UAAU,QAAQ,EAClC,EACD,eAAgB,CACR,KAAK,UAAY,KAAK,aAAe,KAAK,MAE9C,KAAK,YAAc,EACnB,KAAK,YAAY,KAAK,WAAW,EACjC,KAAK,QAAQ,UAAU,QAAQ,EAClC,EACD,cAAe,CACP,KAAK,UAAY,KAAK,aAAe,KAAK,MAE9C,KAAK,YAAc,IACnB,KAAK,YAAY,KAAK,WAAW,EACjC,KAAK,QAAQ,UAAU,QAAQ,EAClC,EACD,YAAYA,EAAO,CACf,KAAK,SAAW,GAChB,KAAK,MAAM,WAAW,EAClBA,EAAM,OAAS,eACfA,EAAM,QAAUA,EAAM,QAAQ,CAAC,EAAE,SAErC,KAAK,OAASA,EAAM,QACpB,KAAK,cAAgB,WAAW,KAAK,eAAe,EACpD,KAAK,YAAc,KAAK,aAC3B,EACD,WAAWA,EAAO,CACd,GAAI,KAAK,SAAU,CACXA,EAAM,OAAS,cACfA,EAAM,QAAUA,EAAM,QAAQ,CAAC,EAAE,SAErC,MAAMu3B,GAAQv3B,EAAM,QAAU,KAAK,QAAU,KAAK,QAAQ,WAAY,EAAG,IACzE,KAAK,YAAc,KAAK,cAAgBu3B,EACxC,KAAK,YAAY,KAAK,WAAW,CACpC,CACJ,EACD,WAAY,CACR,KAAK,SAAW,GAChB,KAAK,MAAM,SAAS,EAChB,KAAK,aAAe,KAAK,UACzB,KAAK,QAAQ,UAAU,QAAQ,EAEnC,KAAK,YAAY,KAAK,WAAW,EAC7B,OAAO,OAAW,MAClB,SAAS,oBAAoB,YAAa,KAAK,UAAU,EACzD,SAAS,oBAAoB,YAAa,KAAK,UAAU,EACzD,SAAS,oBAAoB,UAAW,KAAK,SAAS,EACtD,SAAS,oBAAoB,WAAY,KAAK,SAAS,EACvD,SAAS,oBAAoB,cAAe,KAAK,SAAS,EAEjE,EACD,YAAYC,EAAS,CACjB,GAAIA,IAAY,MAAQ,MAAMA,CAAO,EACjC,OACAA,EAAU,EACVA,EAAU,EAELA,EAAU,MACfA,EAAU,KAEd,MAAMC,EAAa,MAAQ,KAAK,IAAM,KAAK,KAAO,KAAK,MAEvD,IAAI/rD,EADU,KAAK,MAAM8rD,EAAUC,CAAU,EACzBA,EAAa,KAAO,KAAK,IAAM,KAAK,KAAO,KAAK,IACpE/rD,EAAQ,WAAWA,EAAM,QAAQ,KAAK,SAAS,CAAC,EAChD,KAAK,MAAM,oBAAqBA,CAAK,EACjC,CAAC,KAAK,UAAYA,IAAU,KAAK,WACjC,KAAK,SAAWA,EAEvB,CACJ,CACL,CAAC,EAED,MAAM00C,GAAa,CACjB,IAAK,CACP,EACA,SAASpyB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAM+R,EAAuBruC,GAAiB,WAAW,EAEzD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,QAAQ,oBACpB,MAAOA,EAAK,YAChB,EAAK,CAACp6B,EAAYwsC,EAAsB,CACpC,MAAOpS,EAAK,eACZ,QAASA,EAAK,QACd,OAAQA,EAAK,UAAYA,EAAK,WAAaA,EAAK,cAChD,OAAQ,CAACA,EAAK,UAAYA,EAAK,OACnC,EAAK,CACD,QAASxkC,GAAQ,IAAM,CAACoK,EAAY,MAAOgY,GAAWoiB,EAAK,OAAQ,CACjE,MAAOA,EAAK,QAAQ,aACpB,SAAUA,EAAK,SAAW,GAAQ,EAClC,YAAaC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,aAAa,GAAGrwC,CAAI,GAC7E,aAAcswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,aAAa,GAAGrwC,CAAI,GAC9E,QAASswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,QAAQ,GAAGrwC,CAAI,GACpE,OAAQswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,OAAO,GAAGrwC,CAAI,GAClE,UAAW,CAACswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,cAAc,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,eAAe,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,cAAc,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,eAAe,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,IAAI,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,cAAc,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,GAAIswC,EAAO,EAAE,IAAMA,EAAO,EAAE,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,aAAa,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,KAAK,CAAC,EAAE,CAC1sB,GAAG,CAACqwC,EAAK,WAAat6B,EAAS,EAAIC,EAAY,OAAQm1B,GAAYhxC,GAAgBk2C,EAAK,cAAc,EAAG,CAEzG,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,GAEtC,CAAC,UAAU,CAAC,CAAC,CAAC,EAChB,EAAG,CACP,EAAK,EAED,CAAC,QAAS,UAAW,SAAU,QAAQ,CAAC,CAAC,EAAG,CAEhD,CACA,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,wCAKhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,cACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,SACb,OAAQ,CAAC,SAAS,EAClB,MAAO,CAEH,MAAO,CACH,QAAS,OACT,QAAS,CACZ,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,eAAgB,CAAC,OAAQ,SAAU,KAAK,CAC3C,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,eAAe,EAC/C,CAAE,CAAC,KAAK,cAAc,kBAAmB,uBAAuB,CAAC,EAAG,KAAK,MAAQ,CACjG,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,qBAAqB,CAC1E,CACS,EACD,UAAW,CACP,MAAM8S,GAAO,KAAK,MAAQ,KAAK,QAAQ,MAClC,KAAK,QAAQ,IAAM,KAAK,QAAQ,KAAO,IAC5C,OAAQA,GAAO,GAAKA,GAAO,IAAOA,EAAM,CAC3C,EACD,QAAS,CACL,OAAO,KAAK,QAAU,KAAK,QAAQ,KAAO,KAAK,QAAU,KAAK,QAAQ,GACzE,EACD,WAAY,CACR,MAAO,CAAE,KAAQ,KAAK,SAAW,GAAG,CACvC,CACJ,EACD,SAAU,CACN,GAAI,CAAC,KAAK,QACN,MAAM,IAAI,MAAM,0CAA0C,CAEjE,CACL,CAAC,EAED,SAAS1N,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,OAAO36B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,YACZ,MAAOA,EAAK,SAChB,EAAK,CAACA,EAAK,OAAO,SAAWt6B,EAAW,EAAEC,EAAY,OAAQ,CAC1D,IAAK,EACL,MAAOq6B,EAAK,gBAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAExC,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE1C,CACA,CAEAqiB,GAAS,OAASoD,GAClBpD,GAAS,OAAS,uCAQlB,IAAI8C,GAAWriC,GAAgB,CAC3B,KAAM,UACN,WAAY,CACR,CAAC6+B,GAAO,IAAI,EAAGA,GACf,CAACU,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,SACb,OAAQ,CAAChC,EAAkB,EAC3B,SAAU,CACN,MAAO,CACH,QAAS,IACrB,CACK,EACD,MAAO,CAAC,oBAAqB,SAAU,WAAY,YAAa,SAAS,EACzE,MAAO,CAEH,WAAY,CACR,KAAM,CAAC,OAAQ,KAAK,EACpB,QAAS,CACZ,EAED,IAAK,CACD,KAAM,OACN,QAAS,CACZ,EAED,IAAK,CACD,KAAM,OACN,QAAS,GACZ,EAED,KAAM,CACF,KAAM,OACN,QAAS,CACZ,EAKD,QAAS,CACL,KAAM,MACT,EAKD,KAAM,OAEN,MAAO,CACH,KAAM,QACN,QAAS,EACZ,EAED,QAAS,CACL,KAAM,QACN,QAAS,IACE9C,EAAeqC,EAAU,EAAI,iBAAkB,EAAI,CAEjE,EAKD,eAAgB,OAEhB,QAAS,CACL,KAAM,QACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,iBAAkB,EAAK,CAElE,EACD,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAED,KAAM,CACF,KAAM,QACN,QAAS,EACZ,EAED,gBAAiB,SACjB,UAAW,CAAC,OAAQ,KAAK,EAEzB,kBAAmB,CACf,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EACD,OAAQ,CACJ,KAAM,OACN,QAAS,MACT,UAAY33C,GACD,CACH,MACA,SACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EACD,OAAQ,CACJ,KAAM,CAAC,OAAQ,KAAK,EACpB,QAAS,IACEs1C,EAAeqC,IAAc,QAAQ,CAEnD,EAED,cAAe,CACX,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,MAAO,CACH,MAAO,CACH,OAAQ,KACR,OAAQ,KACR,SAAU,GACV,QAAS,EACrB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,SAAS,EACzC,CAAE,CAAC,KAAK,cAAc,YAAa,YAAa,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACxE,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAmB,CAAC,EAAG,KAAK,QAAU,CAC7F,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,gBAAgB,CACjE,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,eAAe,EAC/C,CAAE,CAAC,KAAK,cAAc,eAAgB,kBAAmB,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,CACvG,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,gBAAgB,EACjD,CAAE,CAAC,KAAK,cAAc,qBAAsB,0BAA0B,CAAC,EAAG,KAAK,QAAU,EACzF,CAAE,CAAC,KAAK,cAAc,oBAAqB,yBAAyB,CAAC,EAAG,KAAK,OAAS,CACtG,CACS,EACD,qBAAsB,CAClB,MAAO,CACH,KAAK,cAAc,oBAAqB,wBAAwB,CAChF,CACS,EACD,mBAAoB,CAChB,OAAO,KAAK,eAAiB,KAAK,eAAiB,KAAK,OAC3D,EACD,YAAa,CACT,GAAI,CAAC,KAAK,OAAS,KAAK,IAAM,KAAK,KAAO,KAAK,OAAS,EACpD,MAAO,GACX,MAAMvtC,EAAS,GACf,QAASlL,EAAI,KAAK,IAAM,KAAK,KAAMA,EAAI,KAAK,IAAKA,EAAIA,EAAI,KAAK,KAC1DkL,EAAO,KAAKlL,CAAC,EAEjB,OAAOkL,CACV,EACD,UAAW,CACP,OAAO,KAAK,IAAI,KAAK,OAAQ,KAAK,MAAM,CAC3C,EACD,UAAW,CACP,OAAO,KAAK,IAAI,KAAK,OAAQ,KAAK,MAAM,CAC3C,EACD,SAAU,CACN,OAAO,KAAK,QACN,GAAG,KAAO,KAAK,SAAW,KAAK,WAAa,KAAK,IAAM,KAAK,IAAI,IAChE,GAAG,KAAO,KAAK,OAAS,KAAK,MAAQ,KAAK,IAAM,KAAK,IAAI,GAClE,EACD,UAAW,CACP,OAAO,KAAK,QACN,GAAG,KAAO,KAAK,SAAW,KAAK,MAAQ,KAAK,IAAM,KAAK,IAAI,IAC3D,IACT,EACD,WAAY,CACR,MAAM6hD,EAAa,CAAC,KAAK,IAAK,KAAK,IAAK,KAAK,IAAI,EAAE,IAAKlqD,GAAS,CAC7D,MAAMmqD,GAAW,GAAKnqD,GAAM,MAAM,GAAG,EAAE,CAAC,EACxC,OAAOmqD,EAAUA,EAAQ,OAAS,CAClD,CAAa,EACD,OAAO,KAAK,IAAI,GAAGD,CAAU,CAChC,EACD,UAAW,CACP,MAAO,CACH,MAAO,KAAK,QACZ,KAAM,KAAK,QAC3B,CACS,CACJ,EACD,MAAO,CACH,QAAS,CACL,KAAK,sBAAqB,CAC7B,EACD,QAAS,CACL,KAAK,sBAAqB,CAC7B,EACD,KAAM,CACF,KAAK,UAAU,KAAK,KAAK,CAC5B,EACD,KAAM,CACF,KAAK,UAAU,KAAK,KAAK,CAC5B,EAID,WAAWjsD,EAAO,CACd,KAAK,UAAUA,CAAK,CACvB,CACJ,EACD,QAAS,CACL,UAAUoI,EAAU,CAChB,GAAI,OAAK,IAAM,KAAK,KAGpB,GAAI,MAAM,QAAQA,CAAQ,EAAG,CACzB,KAAK,QAAU,GACf,MAAM+jD,EAAa,OAAO/jD,EAAS,CAAC,GAAM,UAAY,MAAMA,EAAS,CAAC,CAAC,EACjE,KAAK,IACL,KAAK,IAAI,KAAK,IAAI,KAAK,IAAKA,EAAS,CAAC,CAAC,EAAG,KAAK,GAAG,EAClDgkD,EAAa,OAAOhkD,EAAS,CAAC,GAAM,UAAY,MAAMA,EAAS,CAAC,CAAC,EACjE,KAAK,IACL,KAAK,IAAI,KAAK,IAAI,KAAK,IAAKA,EAAS,CAAC,CAAC,EAAG,KAAK,GAAG,EACxD,KAAK,OAAS,KAAK,gBAAkBgkD,EAAaD,EAClD,KAAK,OAAS,KAAK,gBAAkBA,EAAaC,CACrD,MAEG,KAAK,QAAU,GACf,KAAK,OAAS,MAAMhkD,CAAQ,EACtB,KAAK,IACL,KAAK,IAAI,KAAK,IAAK,KAAK,IAAI,KAAK,IAAKA,CAAQ,CAAC,EACrD,KAAK,OAAS,IAErB,EACD,uBAAwB,CAChB,KAAK,UACL,KAAK,gBAAkB,KAAK,OAAS,KAAK,SAE1C,CAAC,KAAK,MAAQ,CAAC,KAAK,WACpB,KAAK,UAAU,mBAAmB,EAElC,KAAK,UACL,KAAK,UAAU,UAAU,CAEhC,EACD,YAAa,CACT,OAAO,KAAK,MAAM,OAAO,sBAAqB,EAAG,KACpD,EACD,cAAcksB,EAAO,CACjB,GAAI,KAAK,UAAY,KAAK,qBACtB,OACJ,MAAM+3B,EAAmB,KAAK,MAAM,OAAO,sBAAuB,EAAC,KAC7DP,GAAWx3B,EAAM,QAAU+3B,GAAoB,KAAK,WAAY,EAAG,IACnE1kB,EAAc,KAAK,IAAMmkB,GAAW,KAAK,IAAM,KAAK,KAAO,IAC3DQ,EAAY,KAAK,IAAI3kB,EAAc,KAAK,MAAM,EACpD,GAAK,KAAK,QAKL,CACD,MAAM4kB,EAAa,KAAK,IAAI5kB,EAAc,KAAK,MAAM,EACrD,GAAI2kB,GAAaC,EAAY,CACzB,GAAID,EAAY,KAAK,KAAO,EACxB,OACJ,KAAK,MAAM,QAAW,YAAYR,CAAO,CAC5C,KACI,CACD,GAAIS,EAAa,KAAK,KAAO,EACzB,OACJ,KAAK,MAAM,QAAW,YAAYT,CAAO,CAC5C,CACJ,KAjBkB,CACf,GAAIQ,EAAY,KAAK,KAAO,EACxB,OACJ,KAAK,MAAM,QAAQ,YAAYR,CAAO,CACzC,CAcD,KAAK,UAAU,QAAQ,CAC1B,EACD,aAAc,CACV,KAAK,SAAW,GAChB,KAAK,MAAM,WAAW,CACzB,EACD,WAAY,CACR,KAAK,qBAAuB,GAC5B,WAAW,IAAM,CAEb,KAAK,qBAAuB,EAC/B,EAAE,CAAC,EACJ,KAAK,SAAW,GAChB,KAAK,MAAM,SAAS,EAChB,KAAK,MACL,KAAK,UAAU,mBAAmB,CAEzC,EACD,UAAUx3B,EAAO,CACb,MAAM/1B,EAAM,KAAK,QACX,CAAC,KAAK,SAAU,KAAK,QAAQ,EAC7B,KAAK,OACX,KAAK,MAAM+1B,EAAO/1B,CAAG,CACxB,CACJ,EACD,SAAU,CACN,KAAK,gBAAkB,GACvB,KAAK,qBAAuB,GAC5B,KAAK,UAAU,KAAK,UAAU,CACjC,CACL,CAAC,EAED,SAAS4jD,GAASvI,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAMuS,EAA2B7uC,GAAiB,eAAe,EAE3D8uC,EAA4B9uC,GAAiB,gBAAgB,EAEnE,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,QAASs6B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,cAAc,GAAGrwC,CAAI,GAC1E,MAAOqwC,EAAK,WAChB,EAAK,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,aACZ,IAAK,QACT,EAAK,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,YACZ,MAAOA,EAAK,QACb,EAAE,KAAM,CAEX,EAAKA,EAAK,OAASt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,CACtD,IAAK,CACN,EAAE4D,GAAWo7B,EAAK,WAAY,CAACr7C,EAAKD,KAC5BghB,EAAS,EAAIC,EAAYitC,EAA0B,CACxD,IAAKluD,EACL,MAAOC,CACR,EAAE,KAAM,EAEP,CAAC,OAAO,CAAC,EACZ,EAAG,GAEH,GAAIw5B,EAAmB,OAAQ,EAAI,EAAG5Y,GAAWy6B,EAAK,OAAQ,SAAS,EAAGp6B,EAAYitC,EAA2B,CAChH,WAAY7S,EAAK,OACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,OAASW,GACzE,QAASX,EAAK,kBACd,QAASA,EAAK,QACd,mBAAoBA,EAAK,gBACzB,UAAWA,EAAK,UAChB,IAAK,UACL,KAAM,SACN,OAAQA,EAAK,OACb,OAAQA,EAAK,OACb,iBAAkBA,EAAK,cACvB,gBAAiBA,EAAK,OACtB,gBAAiBA,EAAK,IACtB,gBAAiBA,EAAK,IACtB,mBAAoB,aACpB,aAAc,MAAM,QAAQA,EAAK,SAAS,EAAIA,EAAK,UAAU,CAAC,EAAIA,EAAK,UACvE,gBAAiBA,EAAK,SACtB,YAAaA,EAAK,YAClB,UAAWA,EAAK,SACjB,EAAE,KAAM,EAEP,CAAC,aAAc,UAAW,UAAW,mBAAoB,YAAa,SAAU,SAAU,iBAAkB,gBAAiB,gBAAiB,gBAAiB,aAAc,gBAAiB,cAAe,WAAW,CAAC,EAAGA,EAAK,QAAUp6B,EAAYitC,EAA2B,CAClR,IAAK,EACL,WAAY7S,EAAK,OACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,OAASW,GACzE,QAASX,EAAK,kBACd,QAASA,EAAK,QACd,mBAAoBA,EAAK,gBACzB,UAAWA,EAAK,UAChB,IAAK,UACL,KAAM,SACN,OAAQA,EAAK,OACb,OAAQA,EAAK,OACb,iBAAkBA,EAAK,cACvB,gBAAiBA,EAAK,OACtB,gBAAiBA,EAAK,IACtB,gBAAiBA,EAAK,IACtB,mBAAoB,aACpB,aAAc,MAAM,QAAQA,EAAK,SAAS,EAAIA,EAAK,UAAU,CAAC,EAAI,GAClE,gBAAiBA,EAAK,SACtB,YAAaA,EAAK,YAClB,UAAWA,EAAK,SACjB,EAAE,KAAM,EAEP,CAAC,aAAc,UAAW,UAAW,mBAAoB,YAAa,SAAU,SAAU,iBAAkB,gBAAiB,gBAAiB,gBAAiB,aAAc,gBAAiB,cAAe,WAAW,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAEjQ,GAAG,CAEN,CACA,CAEAmlB,GAAS,OAASiF,GAClBjF,GAAS,OAAS,mCAElB,IAAIvyC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAKm3B,EAAQ,EAC/BhE,GAAkBnzB,EAAKq0B,EAAQ,CAClC,CACL,EAEA,MAAAsS,GAAe/hD,GCltBf,IAAIgiD,GAAgB9xC,GAAgB,CAChC,KAAM,iBACN,MAAO,CACH,UAAW,CACP,KAAM,OACN,SAAU,EACb,EACD,KAAM,CACF,KAAM,OACN,QAAS,SACZ,EACD,MAAO,CACH,KAAM,MACT,EACD,IAAK,CACD,KAAM,OACN,QAAS,KACZ,CACJ,EACD,QAAS,CACL,MAAMoE,EAAO,KAAK,UAAU,OAAO,KAAK,IAAI,EAAE,KAAK,KAAK,EACxD,OAAO4E,GAAE,KAAK,IAAK,CAAE,EAAE5E,CAAI,CAC9B,CACL,CAAC,ECnBG2tC,GAAeC,GAAQhyC,GAAgB,CACvC,OAAQ,CAACwhC,GAAoBwQ,EAAKzQ,EAAM,CAAC,EACzC,WAAY,CACR,CAAC1C,GAAO,IAAI,EAAGA,GACf,CAACiT,GAAc,IAAI,EAAGA,EACzB,EACD,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CAEH,WAAY,CAAC,OAAQ,MAAM,EAK3B,QAAS,CAAC,OAAQ,MAAM,EAKxB,KAAM,OACN,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAKD,SAAU,OAEV,cAAe,CACX,KAAM,QACN,QAAS,EACZ,CACJ,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,WACf,cAAe,EACf,gBAAiB,EAC7B,CACK,EACD,SAAU,CACN,YAAa,CACT,OAAO,KAAK,WAAa,QAAa,KAAK,WAAa,KAClD,KAAK,WAAW,OAAQztD,GAAMA,EAAE,WAAa,KAAK,QAAQ,EAAE,CAAC,EAAI,KAAK,MAAM,CAAC,CACtF,EACD,aAAc,CACV,OAAO,KAAK,WAAW,UAAW6C,GAAQA,EAAK,WAAa,KAAK,SACpE,EACD,OAAQ,CACJ,OAAO,KAAK,WACf,CACJ,EACD,MAAO,CAIH,WAAW/B,EAAO,CACV,KAAK,WAAaA,GAClB,KAAK,cAAcA,CAAK,CAE/B,CACJ,EACD,QAAS,CAIL,WAAWwX,EAAO,CACV,KAAK,WAAaA,EAAM,WACxB,KAAK,cAAcA,EAAM,QAAQ,EACjC,KAAK,MAAM,oBAAqB,KAAK,QAAQ,EAEpD,EAOD,sBAAsBs1C,EAAeC,EAAS,CAC1C,IAAIxR,EAAYwR,EAAU,EAAI,GAC1Bx7B,EAAWu7B,EACf,KAAOv7B,IAAa,KAAK,aAEjB,OAAK,WAAWA,CAAQ,EAAE,SAAW,CAAC,KAAK,WAAWA,CAAQ,EAAE,UAFlCA,EAAW2jB,GAAK3jB,EAAWgqB,EAAY,KAAK,WAAW,MAAM,EAE/F,CAIJ,KAAK,WAAW,KAAK,WAAWhqB,CAAQ,CAAC,CAC5C,EAID,MAAO,CACH,IAAIA,EAAW2jB,GAAK,KAAK,YAAc,EAAI,KAAK,WAAW,MAAM,EACjE,KAAK,sBAAsB3jB,EAAU,EAAI,CAC5C,EAID,MAAO,CACH,IAAIA,EAAW2jB,GAAI,KAAK,YAAc,EAAG,KAAK,WAAW,MAAM,EAC/D,KAAK,sBAAsB3jB,EAAU,EAAK,CAC7C,EAID,aAAc,CACN,KAAK,WAAW,OAAS,GAG7B,KAAK,sBAAsB,EAAG,EAAI,CACrC,EAID,YAAa,CACL,KAAK,WAAW,OAAS,GAG7B,KAAK,sBAAsB,KAAK,WAAW,OAAS,EAAG,EAAK,CAC/D,EAID,cAAcy7B,EAAO,CACjB,MAAM/rD,EAAW,KAAK,SAChBgsD,EAAmChsD,GAAa,KAChD,KAAK,WAAW,OAAQ/B,GAAMA,EAAE,WAAa+B,CAAQ,EAAE,CAAC,EAAI,KAAK,MAAM,CAAC,EAC9E,KAAK,SAAW+rD,EACZC,GAAU,KAAK,aACfA,EAAO,WAAW,KAAK,WAAW,KAAK,EACvC,KAAK,WAAW,SAASA,EAAO,KAAK,EAE5C,CACJ,CACL,CAAC,EAEGC,GAAoBC,GAActyC,GAAgB,CAClD,OAAQ,CAACmiC,GAAmBmQ,EAAWpQ,EAAQ,CAAC,EAChD,MAAO,CAIH,MAAO,CAAC,OAAQ,MAAM,EAItB,MAAO,OAIP,KAAM,OAIN,SAAU,OAIV,QAAS,CACL,KAAM,QACN,QAAS,EACZ,EAID,YAAa,CAAC,OAAQ,MAAO,MAAM,CACtC,EACD,MAAO,CACH,MAAO,CACH,eAAgB,OAChB,SAAU,KAAK,KAC3B,CACK,EACD,SAAU,CACN,UAAW,CACP,OAAO,KAAK,OAAO,aAAe,IACrC,EACD,gBAAiB,CACb,MAAO,EACV,CACJ,EACD,QAAS,CAIL,SAASqQ,EAAU,CACf,KAAK,eAAiB,KAAK,MAAQA,EAC7B,KAAK,OAAO,SAAW,aAAe,aACtC,KAAK,OAAO,SAAW,WAAa,aAC1C,KAAK,MAAM,UAAU,CACxB,EAID,WAAW77B,EAAU,CACjB,KAAK,eAAiBA,EAAW,KAAK,MAChC,KAAK,OAAO,SAAW,aAAe,aACtC,KAAK,OAAO,SAAW,WAAa,YAC7C,CACJ,EACD,QAAS,CAEL,GAAI,KAAK,OAAO,gBACR,CAAC,KAAK,UAAY,CAAC,KAAK,SACxB,OAER,MAAMsG,EAAU,KAAK,OAAO,QAAU,KAAK,OAAO,QAAS,EAAG,GACxDliB,EAAQD,GAAemO,GAAE,MAAO,CAClC,MAAO,KAAK,eACZ,UAAW,GAAGspC,CAAS,IAAI,KAAK,QAAQ,GACxC,SAAY,KAAK,SAAW,EAAI,EAC5C,EAAWt1B,CAAO,EAAG,CAAC,CAACqH,GAAO,KAAK,UAAY,KAAK,OAAO,CAAC,CAAC,EAErD,OAAI,KAAK,OAAO,SACLrb,GAAEyX,GAAY,CACjB,KAAQ,KAAK,eACb,cAAiB,IAAM,CAAE,KAAK,OAAO,gBAAkB,EAAO,EAC9D,aAAgB,IAAM,CAAE,KAAK,OAAO,gBAAkB,EAAQ,CAC9E,EAAe,IAAO,CAAC3lB,CAAK,CAAE,EAEfA,CACV,CACL,CAAC,EC3NG+jC,GAAS7+B,GAAgB,CACzB,KAAM,SACN,WAAY,CACR,CAACqiC,GAAS,IAAI,EAAGA,GACjB,CAACuF,GAAS,IAAI,EAAGA,EACpB,EACD,YAAa,QACb,OAAQ,CAACrK,GAAoByF,GAAiB+O,GAAY,MAAM,CAAC,EACjE,MAAO,CAKH,SAAU,OAEV,SAAU,CACN,KAAM,OACN,QAAS,IACEtX,EAAeqC,EAAU,EAAI,iBAAkB,cAAc,CAE3E,EAED,SAAU,CACN,KAAM,OACN,QAAS,IACErC,EAAeqC,EAAU,EAAI,iBAAkB,eAAe,CAE5E,EAID,cAAe,CACX,KAAM,QACN,QAAS,EACZ,EAID,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EAKD,cAAe,CACX,KAAM,OACN,UAAU33C,EAAO,CACb,MAAO,CACH,SACA,QACA,MACH,EAAC,QAAQA,CAAK,EAAI,EACtB,EACD,QAAS,QACZ,EAED,QAAS,CACL,KAAM,QACN,QAAS,EACZ,EACD,cAAe,OACf,kBAAmB,OACnB,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,8BAA+B,CAAC,OAAQ,SAAU,KAAK,EACvD,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,2BAA4B,CAAC,OAAQ,SAAU,KAAK,EACpD,YAAa,CAAC,OAAQ,SAAU,KAAK,CACxC,EACD,SAAU,CACN,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,YAAa,kBAAkB,EAClD,CAAE,CAAC,KAAK,cAAc,YAAa,YAAa,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACxE,CAAE,CAAC,KAAK,cAAc,gBAAiB,2BAA2B,CAAC,EAAG,KAAK,QAAU,EACrF,CAAE,CAAC,KAAK,cAAc,gBAAiB,6BAA8B,KAAK,QAAQ,CAAC,EAAG,KAAK,UAAY,KAAK,QAAU,EACtH,CAAE,CAAC,KAAK,cAAc,cAAe,iBAAiB,CAAC,EAAG,KAAK,YAAc,CAC7F,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,cAAc,aAAc,SAAS,EAC1C,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAmB,CAAC,EAAG,KAAK,QAAU,CAC7F,CACS,EACD,oBAAqB,CACjB,MAAO,CACH,KAAK,cAAc,mBAAoB,kBAAkB,CACzE,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,kBAAmB,iBAAiB,EACvD,CAAE,CAAC,KAAK,cAAc,yBAA0B,0BAA0B,CAAC,EAAG,KAAK,OAAS,CAC5G,CACS,EACD,oBAAqB,CACjB,MAAO,CACH,KAAK,cAAc,mBAAoB,kBAAkB,EACzD,CAAE,CAAC,KAAK,cAAc,gCAAiC,gCAAgC,CAAC,EAAG,KAAK,eAAiB,CACjI,CACS,EACD,uBAAwB,CACpB,MAAO,CACH,KAAK,cAAc,sBAAuB,qBAAqB,CAC/E,CACS,EACD,sBAAuB,CACnB,MAAO,CACH,KAAK,cAAc,qBAAsB,gBAAgB,CACzE,CACS,EAED,YAAa,CACT,OAAO,KAAK,WAAW,OAAQd,GAAMA,EAAE,WAAa,KAAK,QAAQ,EAAE,CAAC,GAAK,KAAK,MAAM,CAAC,CACxF,EAID,SAAU,CACN,MAAO,CAAC,CAAC,KAAK,QACjB,EAID,UAAW,CACP,IAAImuD,EAAW,KACXlmB,EAAM,KAAK,WAAa,KAAK,MAAM,QAAQ,KAAK,UAAU,EAAI,EAAI,EACtE,KAAOA,EAAM,KAAK,MAAM,OAAQA,IAC5B,GAAI,KAAK,MAAMA,CAAG,EAAE,QAAS,CACzBkmB,EAAW,KAAK,MAAMlmB,CAAG,EACzB,KACH,CAEL,OAAOkmB,CACV,EAID,UAAW,CACP,GAAI,CAAC,KAAK,WACN,OAAO,KAEX,IAAIC,EAAW,KACf,QAASnmB,EAAM,KAAK,MAAM,QAAQ,KAAK,UAAU,EAAI,EAAGA,GAAO,EAAGA,IAC9D,GAAI,KAAK,MAAMA,CAAG,EAAE,QAAS,CACzBmmB,EAAW,KAAK,MAAMnmB,CAAG,EACzB,KACH,CAEL,OAAOmmB,CACV,EAID,SAAU,CACN,MAAO,CAAC,CAAC,KAAK,QACjB,EACD,iBAAkB,CACd,MAAO,CACH,SAAU,CACN,SAAU,CAAC,KAAK,QAChB,OAAQ,KAAK,IAChB,EACD,KAAM,CACF,SAAU,CAAC,KAAK,QAChB,OAAQ,KAAK,IAChB,CACjB,CACS,CACJ,EACD,QAAS,CACL,gBAAgBC,EAAW,CACvB,MAAO,CACH,KAAK,cAAc,gBAAiB,eAAe,EACnD,CAAE,CAAC,KAAK,cAAc,6BAA8B,uBAAwB,KAAK,aAAa,CAAC,EAAG,KAAK,aAAe,EACtH,CAAE,CAAC,KAAK,cAAc,yBAA0B,yBAAyB,CAAC,EAAG,KAAK,gBAAgBA,CAAS,CAAG,CAC9H,CACS,EAID,gBAAgBC,EAAU,CACtB,OAAIA,EAAS,YAAc,OAChBA,EAAS,MAAQ,KAAK,WAAW,MAErCA,EAAS,SACnB,EAID,MAAO,CACC,KAAK,SACL,KAAK,WAAW,KAAK,QAAQ,CAEpC,EAID,MAAO,CACC,KAAK,SACL,KAAK,WAAW,KAAK,QAAQ,CAEpC,CACJ,CACL,CAAC,EAED,MAAM9Y,GAAa,CACjB,IAAK,CACP,EACA,SAASpyB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMK,EAAoB38B,GAAiB,QAAQ,EAE7C8vC,EAAsB9vC,GAAiB,UAAU,EAEvD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,cAChB,EAAK,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,WACb,EAAE,EAAEt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,MAAO,CAAC2T,EAAW5iD,IAC5E+K,IAAgB4J,IAAaC,EAAY,MAAO,CACrD,IAAKguC,EAAU,SACf,MAAOA,EAAU,WACvB,EAAO,CAAC5iD,EAAQ,GAAK2U,EAAS,EAAIC,EAAY,OAAQ,CAChD,IAAK,EACL,MAAOq6B,EAAK,kBACb,EAAE,KAAM,CAER,GAAI7hB,EAAmB,OAAQ,EAAI,EAAGvY,EAAY,IAAK,CACtD,MAAOo6B,EAAK,gBAAgB2T,CAAS,EACrC,QAAShT,GAAUX,EAAK,gBAAgB2T,CAAS,GAAK3T,EAAK,WAAW2T,CAAS,CACrF,EAAO,CAAC/tC,EAAY,MAAO,CACrB,MAAOo6B,EAAK,iBACb,EAAE,CAAC2T,EAAU,KAAO/tC,EAAY86B,EAAmB,CAClD,IAAK,EACL,KAAMiT,EAAU,KAChB,KAAMA,EAAU,SAChB,KAAM3T,EAAK,IACZ,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,MAAM,CAAC,EAAI2T,EAAU,MAAQjuC,EAAW,EAAEC,EAAY,OAAQm1B,GAAYhxC,GAAgB6pD,EAAU,IAAI,EAAG,CAE7H,GAAIx1B,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE5C,EAAOvY,EAAY,MAAO,CACpB,MAAOo6B,EAAK,oBACb,EAAEl2C,GAAgB6pD,EAAU,KAAK,EAAG,CAEpC,GAAG,GAEF,CAAC,SAAS,CAAC,CAAC,EAAG,CAEhB,GAAG,CAAC,CAACruB,GAAOquB,EAAU,OAAO,CAAC,CAAC,CACjC,EAAG,GAEH,IAAI,CAEP,EAAK/tC,EAAY,UAAW,CACxB,MAAOo6B,EAAK,kBAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAExC,EAAEz6B,GAAWy6B,EAAK,OAAQ,aAAc,CACvC,SAAUA,EAAK,gBAAgB,SAC/B,KAAMA,EAAK,gBAAgB,IAC/B,EAAK,IAAM,CAACA,EAAK,eAAiBt6B,EAAW,EAAEC,EAAY,MAAO,CAC9D,IAAK,EACL,MAAOq6B,EAAK,qBAChB,EAAK,CAACp6B,EAAYiuC,EAAqB,CACnC,KAAM,SACN,YAAa7T,EAAK,SAClB,YAAaA,EAAK,SAClB,YAAa,GACb,SAAUA,EAAK,gBAAgB,SAAS,SACxC,QAAStU,GAAcsU,EAAK,gBAAgB,SAAS,OAAQ,CAAC,SAAS,CAAC,EACxE,aAAcA,EAAK,iBACpB,EAAE,KAAM,EAEP,CAAC,YAAa,YAAa,WAAY,UAAW,YAAY,CAAC,EAAGp6B,EAAYiuC,EAAqB,CACnG,KAAM,SACN,YAAa7T,EAAK,SAClB,YAAaA,EAAK,SAClB,YAAa,GACb,SAAUA,EAAK,gBAAgB,KAAK,SACpC,QAAStU,GAAcsU,EAAK,gBAAgB,KAAK,OAAQ,CAAC,SAAS,CAAC,EACpE,aAAcA,EAAK,aACpB,EAAE,KAAM,EAEP,CAAC,YAAa,YAAa,WAAY,UAAW,YAAY,CAAC,CAAC,EAAG,CAEpE,GAAI7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,CAAC,EAAG,CAE5C,CACA,CAEA2hB,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,iCAKhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,YACN,OAAQ,CAACu9B,GAAoB8U,GAAiB,MAAM,CAAC,EACrD,YAAa,QACb,MAAO,CAEH,KAAM,CAAC,OAAQ,MAAM,EAErB,QAAS,CAAC,OAAQ,MAAM,EAExB,UAAW,CACP,KAAM,QACN,QAAS,MACZ,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,sBAAuB,CAAC,OAAQ,SAAU,KAAK,EAC/C,wBAAyB,CAAC,OAAQ,SAAU,KAAK,EACjD,uBAAwB,CAAC,OAAQ,SAAU,KAAK,CACnD,EACD,SAAU,CACN,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,YAAa,eAAe,CAC/D,CACS,EACD,aAAc,CACV,MAAO,CACH,KAAK,YACL,KAAK,cAAc,kBAAmB,mBAAmB,EACzD,CAAE,CAAC,KAAK,cAAc,yBAA0B,sBAAuB,KAAK,SAAW,KAAK,OAAO,OAAO,CAAC,EAAG,KAAK,SAAW,KAAK,OAAO,OAAS,EACnJ,CAAE,CAAC,KAAK,cAAc,wBAAyB,0BAA0B,CAAC,EAAG,KAAK,QAAU,EAC5F,CAAE,CAAC,KAAK,cAAc,0BAA2B,4BAA4B,CAAC,EAAG,KAAK,OAAO,WAAW,MAAQ,KAAK,KAAO,CAC5I,CACS,CACJ,CACL,CAAC,EAED9S,GAAS,OAAS,oCAElB,IAAIzvC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BR,GAAkBnzB,EAAKq0B,EAAQ,CAClC,CACL,EAEA,MAAAsT,GAAe/iD,GC/Wf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,UACN,OAAQ,CAACu9B,EAAkB,EAC3B,YAAa,SACb,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CAEH,WAAY,CAAC,OAAQ,OAAQ,OAAO,EAIpC,YAAa,CAAC,OAAQ,OAAQ,OAAO,EACrC,SAAU,QAKV,QAAS,OAKT,eAAgB,OAEhB,KAAM,OACN,SAAU,QAKV,KAAM,OAIN,UAAW,CACP,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACZ,EAID,WAAY,CACR,KAAM,CAAC,OAAQ,OAAQ,OAAO,EAC9B,QAAS,EACZ,EAED,QAAS,CACL,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,OACN,QAAS,OACZ,EAED,eAAgB,OAChB,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,qBAAsB,CAAC,OAAQ,SAAU,KAAK,EAC9C,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,WAAY,CAAC,OAAQ,SAAU,KAAK,CACvC,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,WACf,YAAa,EACzB,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,UAAU,EAC1C,CAAE,CAAC,KAAK,cAAc,YAAa,aAAc,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EACzE,CAAE,CAAC,KAAK,cAAc,gBAAiB,oBAAoB,CAAC,EAAG,KAAK,QAAU,EAC9E,CAAE,CAAC,KAAK,cAAc,eAAgB,aAAc,KAAK,OAAO,CAAC,EAAG,KAAK,OAAS,EAClF,CAAE,CAAC,KAAK,cAAc,gBAAiB,aAAc,KAAK,QAAQ,CAAC,EAAG,KAAK,QAAU,EACrF,CAAE,CAAC,KAAK,cAAc,sBAAuB,aAAc,KAAK,eAAiB,UAAU,CAAC,EAAG,KAAK,cAAgB,CACpI,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,iBAAiB,CAClE,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,iBAAiB,EAClD,CAAE,CAAC,KAAK,cAAc,oBAAqB,0BAA0B,CAAC,EAAI,KAAK,WAAa,KAAK,SAAY,EAC7G,CAAE,CAAC,KAAK,cAAc,eAAgB,mBAAmB,CAAC,EAAG,KAAK,OAAS,CAC3F,CACS,EACD,oBAAqB,CACjB,MAAO,CACH,KAAK,cAAc,mBAAoB,wBAAwB,EAC/D,CAAE,CAAC,KAAK,cAAc,eAAgB,mBAAmB,CAAC,EAAG,KAAK,OAAS,CAC3F,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,iBAAiB,CAClE,CACS,EACD,cAAe,CACX,KAAM,CACF,OAAO,KAAK,QACf,EACD,IAAIp4C,EAAO,CACP,KAAK,SAAWA,EAChB,KAAK,MAAM,oBAAqB,KAAK,QAAQ,CAChD,CACJ,CACJ,EACD,MAAO,CAIH,WAAWA,EAAO,CACd,KAAK,SAAWA,CACnB,CACJ,EACD,QAAS,CACL,OAAQ,CAEJ,KAAK,MAAM,MAAM,OACpB,CACJ,CACL,CAAC,EAED,SAASsiB,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,QAAS,CACvC,MAAOq6B,EAAK,YACZ,IAAK,QACL,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,MAAM,GAAGrwC,CAAI,GAClE,UAAWswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAciV,GAAUX,EAAK,MAAM,MAAM,QAAS,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,GACvH,YAAaC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,YAAc,IACpE,UAAWC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,YAAc,IAClE,WAAYC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,YAAc,IACnE,OAAQC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,YAAc,GACnE,EAAK,CAAClkC,GAAe8J,EAAY,QAAS,CACtC,sBAAuBq6B,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,cAAgBW,GAChF,KAAM,WACN,IAAK,QACL,MAAOX,EAAK,aACZ,QAASC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAM,GAAI,CAAC,MAAM,CAAC,GACnE,SAAUsU,EAAK,SACf,KAAMA,EAAK,KACX,SAAUA,EAAK,SACf,MAAOA,EAAK,YACZ,aAAcA,EAAK,UACnB,cAAeA,EAAK,WACpB,kBAAmBA,EAAK,cACzB,EAAE,KAAM,GAEP,CAAC,WAAY,OAAQ,WAAY,QAAS,aAAc,cAAe,iBAAiB,CAAC,EAAG,CAAC,CAAClW,GAAgBkW,EAAK,aAAa,CAAC,CAAC,EAAGp6B,EAAY,OAAQ,CACzJ,MAAOo6B,EAAK,YAChB,EAAK,CAACp6B,EAAY,OAAQ,CACtB,MAAOo6B,EAAK,kBACb,EAAE,KAAM,CAER,GAAG,CAEN,EAAKp6B,EAAY,OAAQ,CACrB,GAAIo6B,EAAK,eACT,MAAOA,EAAK,YAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,GAEvC,CAAC,IAAI,CAAC,CAAC,EAAG,EAEd,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,mCAEhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAiU,GAAehjD,GCrLf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,mBACN,WAAY,CACR,CAAC6nC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,EACpB,EACD,OAAQ,CAAC,QAAQ,EACjB,MAAO,CAAC,MAAM,EACd,MAAO,CACH,kBAAmB,OACnB,QAAS,MACT,YAAa,OACb,SAAU,OACV,SAAU,CACN,KAAM,OACN,QAAS,UACZ,EACD,aAAc,CACV,KAAM,OACN,QAAS,OACZ,EACD,MAAO,OACV,EACD,MAAO,CACH,MAAO,CACH,WAAYvN,EAAe,KAAK,kBAAmB,QAAQ,EAC3D,aAAc,CACV,SAAU,GACV,OAAQ,GACR,QAAS,EACZ,EACD,WAAY,EACxB,CACK,EACD,SAAU,CACN,iBAAkB,CACd,MAAO,CAAC,KAAK,SAAW,CAAC,KAAK,QAAQ,KAAMsY,GAAYtY,EAAesY,EAAQ,QAAQ,IAAM,KAAK,UAAW,CAChH,EACD,iBAAkB,CACd,OAAK,KAAK,QAEH,KAAK,QAAQ,OAAOjtD,GAAKA,EAAE,QAAQ,EAD/B,EAEd,EACD,eAAgB,CACZ,OAAO20C,EAAe,KAAK,kBAAmB,QAAQ,IAAM,KAAK,UACpE,CACJ,EACD,MAAO,CACH,WAAWt1C,EAAO,CACd,GAAI,KAAK,kBAAkB,SAAWA,EAClC,OACJ,MAAM4tD,EAAS,KAAK,gBAAgB,OAAOjtD,GAAM20C,EAAe30C,EAAG,QAAQ,IAAMX,CAAM,EAAE,CAAC,EAC1F,KAAK,MAAM,OAAQ4tD,EAAQ,KAAK,YAAY,CAC/C,EACD,kBAAkBA,EAAQ,CACtB,KAAK,WAAatY,EAAesY,EAAQ,QAAQ,CACpD,CACJ,EACD,QAAS,CACL,MAAO,CACH,MAAMA,EAAS,KAAK,gBAAgB,OAAOjtD,GAAM20C,EAAe30C,EAAG,QAAQ,IAAM,KAAK,UAAW,EAAE,CAAC,EACpG,KAAK,MAAM,OAAQitD,EAAQ,KAAK,YAAY,CAC/C,CACJ,CACL,CAAC,EAED,SAAStrC,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAM2J,EAAsBjmC,GAAiB,UAAU,EAEjD28B,EAAoB38B,GAAiB,QAAQ,EAE7C8vC,EAAsB9vC,GAAiB,UAAU,EAEjDkwC,EAAqBlwC,GAAiB,SAAS,EAErD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,OAAO,iBACvB,EAAK,CAACp6B,EAAYquC,EAAoB,KAAM,CACxC,QAASz4C,GAAQ,IAAM,CAACoK,EAAYokC,EAAqB,CACvD,WAAYhK,EAAK,WACjB,sBAAuBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,WAAaW,GAC7E,SAAU,EAChB,EAAO,CACD,QAASnlC,GAAQ,IAAM,CAACwkC,EAAK,YAAclkC,IAAgB4J,EAAS,EAAIC,EAAY,SAAU,CAC5F,IAAK,EACL,MAAO,CAAE,EACT,SAAU,GACV,SAAU,GACV,OAAQ,EACT,EAAE7b,GAAgBk2C,EAAK,WAAW,EAAG,GAE5C,GAAU,CAAC,CAAC1a,GAAO0a,EAAK,eAAe,CAAC,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,gBAAiB,CAACgU,EAAQjjD,KACxJ2U,EAAS,EAAIC,EAAY,SAAU,CACxC,IAAK5U,EACL,MAAOijD,EAAO,MACf,EAAElqD,GAAgBkqD,EAAO,KAAK,EAAG,EAEhC,CAAC,OAAO,CAAC,EACZ,EAAG,GAEV,GAAS,EACH,EAAG,CACT,EAAO,EAED,CAAC,YAAY,CAAC,EAAGpuC,EAAYiuC,EAAqB,CAClD,QAAS7T,EAAK,IACpB,EAAO,CACD,QAASxkC,GAAQ,IAAM,CAACM,GAAe8J,EAAY86B,EAAmB,CACpE,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAMA,EAAK,aACX,KAAM,GACN,SAAWA,EAAK,MAAc,EAAN,GACzB,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,OAAQ,UAAU,CAAC,EAAG,CAAC,CAAC1a,GAAO0a,EAAK,aAAa,CAAC,CAAC,CAAC,CAAC,EACxE,EAAG,CACT,EAAO,EAED,CAAC,SAAS,CAAC,CAAC,CAAC,EACf,EAAG,CACJ,EAAC,EAAG,CAEP,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,2CAKhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,eACN,OAAQ,CAAC,QAAQ,EACjB,MAAO,CACH,MAAO,OACP,UAAW,CAAC,OAAQ,MAAM,EAC1B,MAAO,OACP,KAAM,CAAC,OAAQ,OAAQ,QAAS,SAAU,OAAQ,KAAK,EACvD,MAAO,CAAC,OAAQ,MAAM,EACtB,QAAS,QAKT,SAAU,CACN,KAAM,OACN,UAAU7a,EAAO,CACb,MAAO,CACH,OACA,WACA,OACH,EAAC,QAAQA,CAAK,EAAI,EACtB,CACJ,EACD,WAAY,QACZ,SAAU,QACV,QAAS,CACL,KAAM,QACN,QAAS,EACZ,EACD,WAAY,SACZ,aAAc,SACd,OAAQ,QACR,iBAAkB,QAElB,QAAS,CACL,KAAM,SACN,QAAS,KAAO,GACnB,EAED,QAAS,CACL,KAAM,SACN,QAAS,KAAO,GACnB,EACD,WAAY,MACf,EACD,MAAO,CACH,MAAO,CACH,OAAQ,OACR,YAAa,CAAE,EACf,YAAa,CAAE,CAC3B,CACK,EACD,SAAU,CACN,OAAQ,CACJ,MAAO,CACH,MAAOi2C,GAAe,KAAK,KAAK,CAChD,CACS,EACD,gBAAiB,CACb,OAAO,KAAK,OAAO,OACtB,EACD,mBAAoB,CAChB,OAAO,KAAK,OAAO,UACtB,EACD,eAAgB,CACZ,OAAO,KAAK,OAAO,MACtB,EACD,sBAAuB,CACnB,MAAO,CAAC,KAAK,kBAAoB,KAAK,QACzC,CACJ,EACD,SAAU,CACN,GAAI,CAAC,KAAK,OACN,MAAM,IAAI,MAAM,0CAA0C,EAE9D,KAAK,OAAS,KAAK,OAAO,cAAa,EACvC,KAAK,OAAO,WAAW,IAAI,CAC9B,EACD,aAAc,CACN,OAAO,KAAK,QAAY,MACxB,KAAK,YAAc,KAAK,QAAQ,IAAI,EAE3C,EACD,eAAgB,CACZ,KAAK,OAAO,cAAc,IAAI,CACjC,EACD,QAAS,CAEL,OAAOpyB,GAAE,OAAQ,CAAE,UAAW,KAAK,MAAQ,EAAE,KAAK,KAAK,CAC1D,CACL,CAAC,EAEDu2B,GAAS,OAAS,uCAElB,IAAI8C,GAAWriC,GAAgB,CAC7B,KAAM,mBACN,WAAY,CACV,CAACioC,GAAS,IAAI,EAAGA,EAClB,EACD,MAAO,CAAC,qBAAsB,aAAa,EAC3C,MAAO,CACL,UAAW,QACX,MAAO,CAAC,OAAQ,MAAM,EACtB,QAAS,CAAC,OAAQ,MAAM,EACxB,YAAa,CAAC,OAAQ,MAAM,EAC5B,iBAAkB,QAClB,eAAgB,OAChB,QAAS,QACT,SAAU,OACV,UAAW,CAAC,OAAQ,MAAO,MAAM,EACjC,cAAe,OACf,kBAAmB,OACnB,cAAe,OACf,iBAAkB,MACnB,EAED,MAAO,CACL,MAAO,CACL,eAAgB,KAAK,WAC3B,CACG,EAED,MAAO,CACL,YAAYnzC,EAAQ,CAClB,KAAK,eAAiBA,CACvB,CAEF,EACD,QAAS,CAIP,YAAYm6C,EAAM,CAChB,KAAK,eAAiBA,EAAO,EAAIA,EAAO,EACxC,KAAK,MAAM,qBAAsB,KAAK,cAAc,EACpD,KAAK,MAAM,cAAe,KAAK,cAAc,CAC9C,CAEF,CACH,CAAC,EAED,MAAMpV,GAAa,CACjB,IAAK,CACP,EACA,SAAS8I,GAAS5D,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAM6T,EAA0BnwC,GAAiB,cAAc,EAE/D,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,SACb,EAAE,CAACp6B,EAAY,MAAO,KAAM,CAACL,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,CAAC,EAAGp6B,EAAY,MAAO,KAAM,CAACo6B,EAAK,WAAat6B,EAAW,EAAEC,EAAY,MAAOm1B,GAAY,CAACl1B,EAAYsuC,EAAyB,CAChM,YAAalU,EAAK,SAClB,MAAOA,EAAK,MACZ,WAAYA,EAAK,QACjB,OAAQA,EAAK,iBACb,KAAMA,EAAK,eACX,QAASA,EAAK,eACd,QAASA,EAAK,QACd,SAAUA,EAAK,YACf,kBAAmBA,EAAK,cACxB,sBAAuBA,EAAK,kBAC5B,kBAAmBA,EAAK,cACxB,qBAAsBA,EAAK,gBAC5B,EAAE,KAAM,EAEP,CAAC,YAAa,QAAS,WAAY,SAAU,OAAQ,UAAW,UAAW,WAAY,kBAAmB,sBAAuB,kBAAmB,oBAAoB,CAAC,CAAC,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,CAAC,CAAC,CAAC,EAAG,CAEzN,CACA,CAEAmlB,GAAS,OAASM,GAClBN,GAAS,OAAS,2CAQlB,IAAIuF,GAAW5nC,GAAgB,CAC3B,KAAM,SACN,WAAY,CACR,CAAC6nC,GAAS,IAAI,EAAGA,GACjB,CAACK,GAAS,IAAI,EAAGA,GACjB,CAACH,GAAS,IAAI,EAAGA,GACjB,CAACmL,GAAS,IAAI,EAAGA,GACjB,CAACC,GAAS,IAAI,EAAGA,GACjB,CAACrB,GAAc,IAAI,EAAGA,GACtB,CAACjT,GAAO,IAAI,EAAGA,GACf,CAACU,GAAS,IAAI,EAAGA,GACjB,CAAC8C,GAAS,IAAI,EAAGA,EACpB,EACD,OAAQ,CAAC9E,GAAoByF,EAAe,EAC5C,YAAa,QACb,aAAc,GACd,SAAU,CACN,MAAO,CACH,OAAQ,IACpB,CACK,EACD,MAAO,CACH,cAAe,QAAS,WAAY,cACpC,QAAS,YAAa,qBACtB,SAAU,kBAAmB,iBAAkB,eAAgB,gBAAiB,wBAChF,aAAc,aAAc,OAAQ,2BACpC,YAAa,UAAW,OAAQ,YAAa,WAAY,aACzD,kBAAmB,gBAAiB,aAAc,kBAAmB,iBACrE,oBACH,EACD,MAAO,CAEH,KAAM,CACF,KAAM,MACN,QAAS,IAAM,CAAE,CACpB,EAED,QAAS,CACL,KAAM,MACN,QAAS,IAAM,CAAE,CACpB,EAED,SAAU,QAEV,QAAS,QAET,SAAU,QAEV,UAAW,QAEX,QAAS,QAET,SAAU,QAEV,UAAW,QAEX,gBAAiB,CACb,KAAM,QACN,QAAS,EACZ,EAKD,iBAAkB,CACd,KAAM,OACN,QAAS,OACT,UAAY79C,GACD,CACH,OACA,OACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EAED,SAAU,OAEV,gBAAiB,CACb,KAAM,SACN,QAAS,IAAM,EAClB,EAED,UAAW,QAEX,gBAAiB,SAEjB,eAAgB,CACZ,KAAM,SACN,QAAS,IAAM,EAClB,EAED,YAAa,CACT,KAAM,MACN,QAAS,IAAM,CAAE,CACpB,EAED,YAAa,CACT,KAAM,QACN,QAAS,IACEs1C,EAAeqC,EAAU,EAAI,oBAAqB,EAAI,CAEpE,EAED,YAAa,CAAC,OAAQ,KAAK,EAK3B,qBAAsB,CAClB,KAAM,OACN,QAAS,KACZ,EAED,SAAU,CACN,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,iBAAkB,UAAU,CACpF,EAKD,aAAc,CACV,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,qBAAsB,OAAO,CACrF,EAED,UAAW,QAEX,YAAa,CACT,KAAM,OACN,QAAS,CACZ,EAED,QAAS,CACL,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IAAerC,EAAeqC,EAAU,EAAI,gBAAiB,EAAE,CAC3E,EAED,eAAgB,CACZ,KAAM,QACN,QAAS,EACZ,EAED,WAAY,CACR,KAAM,OACN,QAAS,eACZ,EAKD,mBAAoB,CAChB,KAAM,OACN,QAAS,IAAerC,EAAeqC,EAAU,EAAI,2BAA4B,QAAQ,EACzF,UAAY33C,GACD,CACH,SACA,MACA,MACpB,EAAkB,QAAQA,CAAK,GAAK,CAE3B,EAED,eAAgB,QAEhB,iBAAkB,QAElB,SAAU,CACN,KAAM,SACN,QAAS,IAAM,EAClB,EAED,eAAgB,CACZ,KAAM,MACN,QAAS,IAAM,CAAE,CACpB,EAED,mBAAoB,CAChB,KAAM,SACN,QAAS,IAAM,EAClB,EAED,UAAW,CACP,KAAM,OACN,QAAS,EACZ,EAED,gBAAiB,CACb,KAAM,QACN,QAAS,EACZ,EAED,iBAAkB,CACd,KAAM,OACN,QAAS,EACZ,EAED,kBAAmB,QAEnB,MAAO,CACH,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,CACZ,EAED,SAAU,OAEV,sBAAuB,OAEvB,aAAc,OAEd,UAAW,CACP,KAAM,QACN,QAAS,EACZ,EAED,gBAAiB,CACb,KAAM,QACN,QAAS,EACZ,EAED,WAAY,QACZ,cAAe,OACf,kBAAmB,OACnB,cAAe,OACf,iBAAkB,OAElB,aAAc,QAEd,OAAQ,CAAC,OAAQ,MAAM,EAEvB,aAAc,CACV,KAAM,OACN,QAAS,EACZ,EAED,eAAgB,OAEhB,WAAY,CACR,KAAM,QACN,QAAS,IAAes1C,EAAeqC,EAAU,EAAI,mBAAoB,EAAI,CAChF,EAED,eAAgB,CACZ,KAAM,QACN,QAAS,EACZ,EAED,kBAAmB,QACnB,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,WAAY,CAAC,OAAQ,SAAU,KAAK,EACpC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,QAAS,CAAC,OAAQ,SAAU,KAAK,EACjC,QAAS,CAAC,OAAQ,SAAU,KAAK,EACjC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,EAC3C,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,uBAAwB,CAAC,OAAQ,SAAU,KAAK,EAChD,YAAa,CAAC,OAAQ,SAAU,KAAK,EACrC,kBAAmB,CAAC,OAAQ,SAAU,KAAK,CAC9C,EACD,MAAO,CACH,MAAO,CACH,kBAAmB,KAAK,eACxB,QAAS,KAAK,KACd,aAAc,KAAK,kBAAoB,KAAK,MAAQ,KAAK,KAAK,OAC9D,eAAgB,CAAC,GAAG,KAAK,WAAW,EACpC,oBAAqB,KACrB,eAAgB,KAAK,YACrB,kBAAmB,CAAE,EACrB,MAAO,GACP,QAAS,CAAE,EACX,aAAc,CAAE,EAChB,cAAe,GACf,SAAU,EACV,cAAe,GACf,iBAAkB,EAC9B,CACK,EACD,SAAU,CACN,KAAK,UAAU,IAAM,CACjB,KAAK,UAAS,CAC1B,CAAS,CACJ,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,eAAe,EAC/C,CAAE,CAAC,KAAK,cAAc,cAAe,0BAA0B,CAAC,EAAG,KAAK,QAAU,CAClG,CACS,EACD,cAAe,CACX,MAAO,CACH,KAAK,cAAc,aAAc,SAAS,EAC1C,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAmB,CAAC,EAAG,KAAK,QAAU,EAC7E,CAAE,CAAC,KAAK,cAAc,eAAgB,kBAAkB,CAAC,EAAG,KAAK,OAAS,EAC1E,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAmB,CAAC,EAAG,KAAK,QAAU,EAC7E,CAAE,CAAC,KAAK,cAAc,iBAAkB,oBAAoB,CAAC,GAAK,KAAK,WAAa,KAAK,YAAc,KAAK,YAAY,MAAS,EACjI,CAAE,CAAC,KAAK,cAAc,aAAc,uBAAuB,CAAC,EAAG,CAAC,KAAK,YAAY,MAAQ,CACzG,CACS,EACD,qBAAsB,CAClB,MAAO,CACH,KAAK,cAAc,eAAgB,kBAAkB,EACrD,CAAE,CAAC,KAAK,cAAc,oBAAqB,iCAAiC,CAAC,EAAG,KAAK,YAAc,EACnG,CAAE,CAAC,KAAK,cAAc,kBAAmB,8BAA8B,CAAC,EAAG,KAAK,YAAc,EAC9F,CAAE,CAAC,KAAK,cAAc,cAAe,0BAA0B,CAAC,EAAG,KAAK,QAAU,CAClG,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,cAAe,iBAAiB,CACnE,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,UAAW,aAAa,CAC3D,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,UAAW,aAAa,CAC3D,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,GAAG,KAAK,cACR,KAAK,cAAc,kBAAmB,sBAAsB,CAC5E,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,GAAG,KAAK,cACR,KAAK,cAAc,kBAAmB,uBAAuB,CAC7E,CACS,EACD,qBAAsB,CAClB,MAAO,CACH,GAAG,KAAK,cACR,KAAK,cAAc,oBAAqB,aAAa,CACrE,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,GAAG,KAAK,cACR,KAAK,cAAc,kBAAmB,sBAAsB,EAC5D,GAAG,KAAK,gBAAgB,CAAE,OAAQ,KAAK,cAAc,CAAE,CACvE,CACS,EACD,iBAAkB,CACd,MAAO,CACH,KAAK,cAAc,gBAAiB,iBAAiB,CACrE,CACS,EACD,0BAA2B,CACvB,MAAO,CACH,GAAG,KAAK,cACR,KAAK,cAAc,yBAA0B,qBAAqB,CAClF,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,kBAAmB,sBAAsB,CAC5E,CACS,EACD,0BAA2B,CACvB,MAAO,CACH,KAAK,cAAc,yBAA0B,qBAAqB,CAClF,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,OAAQ1B,GAAe,KAAK,MAAM,CAClD,CACS,EAID,aAAc,CACV,GAAI,CAAC,KAAK,UACN,OAAO,KAAK,QAChB,MAAMgY,EAAc,KAAK,eACnBC,EAAU,KAAK,QACrB,GAAI,KAAK,QAAQ,QAAUA,EACvB,OAAO,KAAK,QAEX,CACD,MAAMj6C,GAASg6C,EAAc,GAAKC,EAC5Bh6C,EAAMD,EAAQ,SAASi6C,EAAS,EAAE,EACxC,OAAO,KAAK,QAAQ,MAAMj6C,EAAOC,CAAG,CACvC,CACJ,EACD,gBAAiB,CACb,OAAK,KAAK,WAEH,KAAK,WAAW,OAAQ05C,GACpBA,EAAO,SAAWA,EAAO,UAAY,MAC/C,EAHU,KAAK,UAInB,EAID,cAAe,CACX,MAAMO,EAAmB,KAAK,YAAY,OAAQC,GAAQ,KAAK,eAAeA,CAAG,CAAC,EAClF,OAAID,EAAiB,SAAW,EACrB,GAIJ,CAHcA,EAAiB,KAAME,GACjC9Y,GAAQ,KAAK,eAAgB8Y,EAAmB,KAAK,eAAe,EAAI,CAClF,CAEJ,EAID,kBAAmB,CAEf,OADyB,KAAK,YAAY,OAAQD,GAAQ,KAAK,eAAeA,CAAG,CAAC,EAC1D,SAAW,CACtC,EAID,uBAAwB,CACpB,OAAO,KAAK,WAAW,KAAMR,GAClBA,EAAO,QACjB,CACJ,EAID,yBAA0B,CACtB,OAAO,KAAK,WAAW,KAAMA,GAClBA,EAAO,UACjB,CACJ,EAID,aAAc,CACV,IAAIU,EAAQ,KAAK,eAAe,OAChC,OAAAA,GAAS,KAAK,UAAY,EAAI,EAC9BA,GAAU,KAAK,UAAY,KAAK,eAAkB,EAAI,EAC/CA,CACV,EAKD,mBAAoB,CAChB,OAAO,KAAK,UAAY,KAAK,cAChC,EAID,cAAe,CACX,OAAI,KAAK,WACE,GACN,KAAK,WAEH,KAAK,WAAW,KAAMV,GAClBA,EAAO,MACjB,EAHU,EAId,EACD,YAAa,CACT,OAAI,KAAK,SAAW,KAAK,QAAQ,OACtB,KAAK,QAAQ,IAAKA,GAAW,CAChC,MAAMj4C,EAAQ6J,EAAY46B,GAAUwT,EAASz2C,GAElC,CADO0M,GAAE,OAAQ,GAAIyxB,EAAen+B,EAAM,IAAKy2C,EAAO,KAAK,CAAC,CACtD,CAChB,EACD,OAAO5nB,GAAUrwB,CAAK,EACjB,QAAQ,SAAU,IAAI,EACtB,MAAM,SAAS,cAAc,KAAK,CAAC,CAC5D,CAAiB,EAEE,KAAK,YACf,EACD,UAAW,CACP,OAAO,KAAK,aAAe,KAAK,YACnC,EACD,sBAAuB,CACnB,OAAI,KAAK,OAAO,WACL,GACJ,KAAK,WAAW,KAAMi4C,GAClBA,EAAO,YAAeA,EAAO,OAAO,UAC9C,CACJ,EACD,YAAa,CACT,OAAO,KAAK,WAAa,CAAC,KAAK,gBAClC,EACD,eAAgB,CACZ,OAAO,KAAK,iBAAmB,CAAC,KAAK,aACxC,CACJ,EACD,MAAO,CAQH,KAAM,CACF,QAAQ5tD,EAAO,CACX,KAAK,QAAUA,EACV,KAAK,mBACN,KAAK,QAAUA,EAAM,OAAQouD,GAAQ,KAAK,cAAcA,CAAG,CAAC,GAE3D,KAAK,gBACN,KAAK,KAAK,KAAK,kBAAmB,EAAI,EAErC,KAAK,oBACN,KAAK,aAAe,KAAK,QAAQ,OAExC,EACD,KAAM,EACT,EACD,eAAgB,CACZ,SAAU,CACN,KAAK,eAAc,CACtB,CACJ,EACD,YAAa,CACT,SAAU,CACN,KAAK,eAAc,CACtB,CACJ,EAKD,MAAMG,EAAU,CACP,KAAK,oBAEV,KAAK,aAAeA,EACvB,EACD,YAAYnmD,EAAU,CAClB,KAAK,eAAiBA,CACzB,EAKD,YAAa,CACT,QAAQomD,EAAM,CACV,KAAK,eAAiB,CAAC,GAAGA,CAAI,CACjC,EACD,KAAM,EACT,EACD,eAAgB,CACZ,QAAQxuD,EAAO,CACX,KAAK,6BAA+Bi3C,GAAS,KAAK,oBAAqBj3C,CAAK,CAC/E,EACD,UAAW,EACd,EACD,QAAS,CACL,QAAQA,EAAO,CACP,KAAK,eACL,KAAK,6BAA6BA,CAAK,EAGvC,KAAK,oBAAoBA,CAAK,CAErC,EACD,KAAM,EACT,EAKD,eAAeyuD,EAAc,CACzB,KAAK,kBAAoBA,CAC5B,EACD,eAAe9+C,EAAQ,CACnB,KAAK,MAAM,qBAAsBA,CAAM,CAC1C,CACJ,EACD,QAAS,CACL,UAAUi+C,EAAQ,CACd,MAAO,CACH,GAAG,KAAK,cACR,GAAG,KAAK,gBAAgBA,CAAM,EAC9B,CAAE,CAAC,KAAK,cAAc,qBAAsB,0BAA0B,CAAC,EAAI,KAAK,oBAAsBA,CAAS,EAC/G,CAAE,CAAC,KAAK,cAAc,kBAAmB,uBAAuB,CAAC,EAAGA,EAAO,QAAU,EACrF,CAAE,CAAC,KAAK,cAAc,sBAAuB,2BAA2B,CAAC,EAAGA,EAAO,oBAAsB,EACzG,CAAE,CAAC,KAAK,cAAc,kBAAmB,gBAAiBA,EAAO,QAAQ,CAAC,EAAGA,EAAO,QAAU,CAC9G,CACS,EACD,gBAAgBA,EAAQ,CACpB,MAAO,CACH,CAAE,CAAC,KAAK,cAAc,gBAAiB,qBAAqB,CAAC,EAAGA,EAAO,MAAQ,CAC/F,CACS,EACD,WAAWQ,EAAKzjD,EAAO,CACnB,MAAO,CACH,KAAK,SAASyjD,EAAKzjD,CAAK,EACxB,CAAE,CAAC,KAAK,cAAc,kBAAmB,uBAAuB,CAAC,EAAG,KAAK,cAAcyjD,EAAK,KAAK,QAAQ,CAAG,CAC5H,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,kBAAmB,wBAAwB,CAC9E,CACS,EACD,UAAUA,EAAKR,EAAQ,CACnB,MAAO,CACH,GAAG,KAAK,cACR,CAAE,CAAC,KAAK,cAAc,kBAAmB,gBAAiBA,EAAO,QAAQ,CAAC,EAAGA,EAAO,QAAU,EAC9F,CAAE,CAAC,KAAK,cAAc,gBAAiB,qBAAqB,CAAC,EAAGA,EAAO,MAAQ,CAC/F,CACS,EACD,eAAet5B,EAAO,CAClB,KAAK,MAAM,iBAAiB,KAAK,YAAY,GAAI,CAAE,MAAAA,EAAO,QAAS,KAAK,OAAS,EACpF,EACD,oBAAoBt0B,EAAO,CACnB,KAAK,iBACL,KAAK,MAAM,iBAAkBA,CAAK,GAGlC,KAAK,QAAU,KAAK,KAAK,OAAQouD,GAAQ,KAAK,cAAcA,CAAG,CAAC,EAC3D,KAAK,oBACN,KAAK,aAAe,KAAK,QAAQ,QAEhC,KAAK,gBACF,OAAO,KAAK,KAAK,iBAAiB,EAAE,OAAS,GAC7C,KAAK,mBAAmB,KAAK,iBAAiB,EAI7D,EAKD,OAAOrlD,EAAOzK,EAAKgC,EAAIouD,EAAO,CAC1B,IAAIvS,EAAS,GAEb,OAAI77C,GAAM,OAAOA,GAAO,WACpB67C,EAAS,CAAC,GAAGpzC,CAAK,EAAE,KAAK,CAACjG,EAAGC,IAAMzC,EAAGwC,EAAGC,EAAG2rD,CAAK,CAAC,EAGlDvS,EAAS,CAAC,GAAGpzC,CAAK,EAAE,KAAK,CAACjG,EAAGC,IAAM,CAE/B,IAAI4rD,EAAOrZ,EAAexyC,EAAGxE,CAAG,EAC5BswD,EAAOtZ,EAAevyC,EAAGzE,CAAG,EAEhC,OAAI,OAAOqwD,GAAS,WAAa,OAAOC,GAAS,UACtCF,EAAQC,EAAOC,EAAO,EAAI,GAAKD,EAAOC,EAAO,GAAK,EAEzD,CAACD,GAAQA,IAAS,EACX,EACP,CAACC,GAAQA,IAAS,EACX,GACPD,IAASC,EACF,GACXD,EAAQ,OAAOA,GAAS,SAClBA,EAAK,YAAa,EAClBA,EACNC,EAAQ,OAAOA,GAAS,SAClBA,EAAK,YAAa,EAClBA,EACCF,EACDC,EAAOC,EAAO,EAAI,GAClBD,EAAOC,EAAO,GAAK,EAC7C,CAAiB,EAEEzS,CACV,EAMD,KAAKyR,EAAQiB,EAAe,GAAOv6B,EAAQ,KAAM,CACzC,CAACs5B,GAAU,CAACA,EAAO,WAElBiB,IACD,KAAK,MAAQjB,IAAW,KAAK,kBACvB,CAAC,KAAK,MACL,KAAK,qBAAqB,YAAa,IAAK,QAElD,KAAK,eAMN,KAAK,MAAM,OAAQA,EAAO,MAAO,KAAK,MAAQ,MAAQ,OAAQt5B,CAAK,EAElE,KAAK,gBACN,KAAK,mBAAmBs5B,CAAM,EAElC,KAAK,kBAAoBA,EAC5B,EACD,mBAAmBA,EAAQ,CACvB,KAAK,QAAU,KAAK,OAAO,KAAK,QAASA,EAAO,MAAOA,EAAO,WAAY,KAAK,KAAK,CACvF,EACD,cAAcQ,EAAKU,EAAU,CACzB,OAAKA,EAGD,KAAK,aACEV,EAAI,KAAK,YAAY,IAAMU,EAAS,KAAK,YAAY,EAEzDV,IAAQU,EALJ,EAMd,EAID,aAAaV,EAAK,CACd,OAAO7Y,GAAQ,KAAK,eAAgB6Y,EAAK,KAAK,eAAe,GAAK,CACrE,EAID,iBAAiBA,EAAK,CAClB,MAAMzjD,EAAQ4qC,GAAQ,KAAK,eAAgB6Y,EAAK,KAAK,eAAe,EAChEzjD,GAAS,GACT,KAAK,eAAe,OAAOA,EAAO,CAAC,CAE1C,EAKD,UAAW,CACP,MAAMokD,EAAe,KAAK,aAC1B,KAAK,YAAY,QAASC,GAAe,CACjC,KAAK,eAAeA,CAAU,GAC9B,KAAK,iBAAiBA,CAAU,EAE/BD,GACG,KAAK,eAAeC,CAAU,GAC9B,KAAK,eAAe,KAAKA,CAAU,CAG3D,CAAa,EAID,KAAK,MAAM,QAAS,KAAK,cAAc,EACvC,KAAK,MAAM,YAAa,KAAK,cAAc,EAE3C,KAAK,MAAM,qBAAsB,KAAK,cAAc,CACvD,EAID,SAASZ,EAAKzjD,EAAO2pB,EAAO,CACxB,GAAI,CAAC,KAAK,eAAe85B,CAAG,EACxB,OACJ,MAAMa,EAAY,KAAK,oBACvB,KAAK,oBAAsBtkD,EACvB2pB,EAAM,UAAY26B,IAAc,MAAQtkD,IAAUskD,EAClD,KAAK,cAAcb,EAAKzjD,EAAOskD,CAAS,EAElC,KAAK,aAAab,CAAG,EAI3B,KAAK,iBAAiBA,CAAG,EAHzB,KAAK,eAAe,KAAKA,CAAG,EAKhC,KAAK,MAAM,QAAS,KAAK,eAAgBA,CAAG,EAE5C,KAAK,MAAM,qBAAsB,KAAK,cAAc,CACvD,EAID,cAAcA,EAAKzjD,EAAOukD,EAAqB,CAE3C,MAAMC,EAAS,KAAK,YAAY,MAAM,KAAK,IAAIxkD,EAAOukD,CAAmB,EAAG,KAAK,IAAIvkD,EAAOukD,CAAmB,EAAI,CAAC,EAE9GE,EAAc,CAAC,KAAK,aAAahB,CAAG,EAC1Ce,EAAO,QAASptD,GAAS,CACrB,KAAK,iBAAiBA,CAAI,EACtBqtD,GAAe,KAAK,eAAertD,CAAI,GACvC,KAAK,eAAe,KAAKA,CAAI,CAEjD,CAAa,CACJ,EAKD,UAAUqsD,EAAKzjD,EAAO,CAKlB,KAAK,MAAM,QAASyjD,EAAKzjD,CAAK,EAC1B,KAAK,WAAayjD,GAEjB,KAAK,gBAAgBA,CAAG,IAO7B,KAAK,MAAM,SAAUA,EAAK,KAAK,QAAQ,EAEvC,KAAK,MAAM,kBAAmBA,CAAG,EACpC,EAID,cAAc9sD,EAAK,CACD,KAAK,mBAAmBA,CAAG,GAErC,KAAK,eAAeA,CAAG,EACvB,KAAK,MAAM,gBAAiBA,CAAG,IAG/B,KAAK,cAAcA,CAAG,EACtB,KAAK,MAAM,eAAgBA,CAAG,GAGlC,KAAK,MAAM,wBAAyB,KAAK,iBAAiB,CAC7D,EACD,cAAcA,EAAK,CACf,MAAMqJ,EAAQ,KAAK,gBAAgBrJ,CAAG,EACtC,KAAK,kBAAkB,KAAKqJ,CAAK,CACpC,EACD,eAAerJ,EAAK,CAChB,MAAMqJ,EAAQ,KAAK,gBAAgBrJ,CAAG,EAChCpC,EAAI,KAAK,kBAAkB,QAAQyL,CAAK,EAC1CzL,GAAK,GACL,KAAK,kBAAkB,OAAOA,EAAG,CAAC,CAEzC,EACD,mBAAmBoC,EAAK,CACpB,MAAMqJ,EAAQ,KAAK,gBAAgBrJ,CAAG,EACtC,OAAO,KAAK,kBAAkB,QAAQqJ,CAAK,GAAK,CACnD,EACD,kBAAkByjD,EAAK,CACnB,OAAO,KAAK,UAAY,CAAC,KAAK,iBAAmB,KAAK,mBAAmBA,CAAG,CAC/E,EACD,wBAAwBA,EAAK,CACzB,OAAO,KAAK,UAAY,KAAK,iBAAmB,KAAK,mBAAmBA,CAAG,CAC9E,EACD,cAAcA,EAAK,CACf,UAAW9vD,KAAO,KAAK,QAAS,CAC5B,GAAI,CAAC,KAAK,QAAQA,CAAG,EACjB,SACJ,MAAM25C,EAAQ,KAAK,QAAQ35C,CAAG,EACxBsvD,EAAS,KAAK,WAAW,OAAQjtD,GAAMA,EAAE,QAAUrC,CAAG,EAAE,CAAC,EAC/D,GAAIsvD,GAAUA,EAAO,cAAgB,OAAOA,EAAO,cAAiB,YAChE,GAAI,CAACA,EAAO,aAAaQ,EAAKnW,CAAK,EAC/B,MAAO,OAEV,CACD,MAAMj4C,EAAQs1C,EAAe8Y,EAAK9vD,CAAG,EACrC,GAAI0B,GAAS,KACT,MAAO,GACX,GAAI,OAAO,UAAUA,CAAK,GACtB,GAAIA,IAAU,OAAOi4C,CAAK,EACtB,MAAO,OAEV,CACD,MAAMoX,EAAK,IAAI,OAAOrZ,GAAkBiC,CAAK,EAAG,GAAG,EACnD,GAAI,MAAM,QAAQj4C,CAAK,GAEnB,GAAI,CADUA,EAAM,KAAMzB,GAAQ8wD,EAAG,KAAK5X,GAA2Bl5C,CAAG,CAAC,GAAK8wD,EAAG,KAAK9wD,CAAG,CAAC,EAEtF,MAAO,WAGP,CAAC8wD,EAAG,KAAK5X,GAA2Bz3C,CAAK,CAAC,GAAK,CAACqvD,EAAG,KAAKrvD,CAAK,EAC7D,MAAO,EAGlB,CACJ,CACJ,CACD,MAAO,EACV,EAKD,gBAAgB2K,EAAO,CACnB,MAAMrM,EAAM,KAAK,UACjB,MAAO,CAACA,EAAI,QAAU,CAACqM,EACjBA,EACAA,EAAMrM,CAAG,CAClB,EAID,WAAY,CACR,GAAI,KAAK,WAAW,QAAU,KAAK,cAC/B,KAAK,SAAQ,EACb,KAAK,cAAgB,WAEhB,KAAK,WAAW,QACjB,OAAO,KAAK,KAAK,iBAAiB,EAAE,OAAS,GAC7C,QAASY,EAAI,EAAGA,EAAI,KAAK,WAAW,OAAQA,IACxC,GAAI,KAAK,WAAWA,CAAC,EAAE,QAAU,KAAK,kBAAkB,MAAO,CAC3D,KAAK,kBAAoB,KAAK,WAAWA,CAAC,EAC1C,KACH,EAIhB,EAID,qBAAsB,CAClB,GAAI,KAAK,OAAO,OAAQ,CACpB,MAAMowD,EAAS,KAAK,OAAO,OAAM,EACjC,GAAIA,EAAO,OAAS,EAChB,MAAO,GACX,MAAM70B,EAAM60B,EAAO,CAAC,EAAE,IACtB,GAAI70B,IAAQ,MAAQA,IAAQ,KACxB,MAAO,EACd,CACD,MAAO,EACV,EAID,aAAaywB,EAAK,CACd,GAAI,CAAC,KAAK,YAAY,OAClB,OACJ,IAAIvgD,EAAQ,KAAK,YAAY,QAAQ,KAAK,QAAQ,EAAIugD,EAEtDvgD,EAAQA,EAAQ,EACV,EACAA,EAAQ,KAAK,YAAY,OAAS,EAC9B,KAAK,YAAY,OAAS,EAC1BA,EACV,MAAMyjD,EAAM,KAAK,YAAYzjD,CAAK,EAClC,GAAK,KAAK,gBAAgByjD,CAAG,EAmBzB,KAAK,UAAUA,CAAG,MAnBU,CAC5B,IAAI78B,EAAW,KACf,GAAI25B,EAAM,EACN,QAAShsD,EAAIyL,EAAOzL,EAAI,KAAK,YAAY,QAAUqyB,IAAa,KAAMryB,IAC9D,KAAK,gBAAgB,KAAK,YAAYA,CAAC,CAAC,IACxCqyB,EAAWryB,OAInB,SAASA,EAAIyL,EAAOzL,GAAK,GAAKqyB,IAAa,KAAMryB,IACzC,KAAK,gBAAgB,KAAK,YAAYA,CAAC,CAAC,IACxCqyB,EAAWryB,GAGnBqyB,GAAY,GACZ,KAAK,UAAU,KAAK,YAAYA,CAAQ,CAAC,CAEhD,CAIJ,EAID,OAAQ,CACC,KAAK,WAEV,KAAK,IAAI,cAAc,OAAO,EAAE,MAAK,CACxC,EAID,UAAW,CACP,GAAI,CAAC,KAAK,YACN,OACJ,IAAIg+B,EAAY,GACZC,EAAgB,KAAK,qBACrB,MAAM,QAAQ,KAAK,WAAW,GAC9BD,EAAY,KAAK,YAAY,CAAC,EAC1B,KAAK,YAAY,CAAC,IAClBC,EAAgB,KAAK,YAAY,CAAC,IAItCD,EAAY,KAAK,YAErB,MAAME,EAAa,KAAK,WAAW,OAAQ7B,GAAYA,EAAO,QAAU2B,CAAU,EAAE,CAAC,EACjFE,IACA,KAAK,MAAQD,EAAc,YAAW,IAAO,OAC7C,KAAK,KAAKC,EAAY,EAAI,EAEjC,EAID,gBAAgBn7B,EAAO85B,EAAKzjD,EAAO,CAC1B,KAAK,WAEV,KAAK,MAAM,YAAa,CAAE,MAAA2pB,EAAO,IAAA85B,EAAK,MAAAzjD,CAAK,CAAE,CAChD,EAID,cAAc2pB,EAAO85B,EAAKzjD,EAAO,CACxB,KAAK,WAEV,KAAK,MAAM,UAAW,CAAE,MAAA2pB,EAAO,IAAA85B,EAAK,MAAAzjD,CAAK,CAAE,CAC9C,EAID,WAAW2pB,EAAO85B,EAAKzjD,EAAO,CACrB,KAAK,WAEV,KAAK,MAAM,OAAQ,CAAE,MAAA2pB,EAAO,IAAA85B,EAAK,MAAAzjD,CAAK,CAAE,CAC3C,EAID,eAAe2pB,EAAO85B,EAAKzjD,EAAO,CACzB,KAAK,WAEV,KAAK,MAAM,WAAY,CAAE,MAAA2pB,EAAO,IAAA85B,EAAK,MAAAzjD,CAAK,CAAE,CAC/C,EAID,gBAAgB2pB,EAAO85B,EAAKzjD,EAAO,CAC1B,KAAK,WAEV,KAAK,MAAM,YAAa,CAAE,MAAA2pB,EAAO,IAAA85B,EAAK,MAAAzjD,CAAK,CAAE,CAChD,EAID,sBAAsB2pB,EAAOs5B,EAAQjjD,EAAO,CACnC,KAAK,gBAEV,KAAK,iBAAmB,GACxB,KAAK,MAAM,kBAAmB,CAAE,MAAA2pB,EAAO,OAAAs5B,EAAQ,MAAAjjD,CAAK,CAAE,EACzD,EAID,oBAAoB2pB,EAAOs5B,EAAQjjD,EAAO,CACjC,KAAK,gBAEV,KAAK,iBAAmB,GACxB,KAAK,MAAM,gBAAiB,CAAE,MAAA2pB,EAAO,OAAAs5B,EAAQ,MAAAjjD,CAAK,CAAE,EACvD,EAID,iBAAiB2pB,EAAOs5B,EAAQjjD,EAAO,CAC9B,KAAK,eAEV,KAAK,MAAM,aAAc,CAAE,MAAA2pB,EAAO,OAAAs5B,EAAQ,MAAAjjD,CAAK,CAAE,CACpD,EAID,qBAAqB2pB,EAAOs5B,EAAQjjD,EAAO,CAClC,KAAK,eAEV,KAAK,MAAM,iBAAkB,CAAE,MAAA2pB,EAAO,OAAAs5B,EAAQ,MAAAjjD,CAAK,CAAE,CACxD,EAID,sBAAsB2pB,EAAOs5B,EAAQjjD,EAAO,CACnC,KAAK,eAEV,KAAK,MAAM,kBAAmB,CAAE,MAAA2pB,EAAO,OAAAs5B,EAAQ,MAAAjjD,CAAK,CAAE,CACzD,EACD,gBAAgB+kD,EAAWp7B,EAAO85B,EAAK,CACnC,OAAO,KAAK,OAAOsB,CAAS,EAAI,KAAK,MAAMA,EAAWtB,EAAK95B,CAAK,EAAI,IACvE,EACD,gBAAiB,CACb,GAAI,KAAK,eAAe,QAAU,KAAK,YAAY,OAC/C,QAASp1B,EAAI,EAAGA,EAAI,KAAK,eAAe,OAAQA,IAAK,CACjD,MAAMywD,EAAM,KAAK,eAAezwD,CAAC,EAC7B,OAAOywD,EAAI,QAAY,KACvB,KAAK,YAAY,QAAQ,CAACnvC,EAAM7V,IAAU,CACtCglD,EAAI,YAAYhlD,CAAK,EAAIglD,EAAI,QAAQnvC,EAAMmvC,CAAG,CAC1E,CAAyB,CAER,CAER,EACD,WAAW/B,EAAQ,CACf,KAAK,aAAa,KAAKA,CAAM,EAC7B,MAAM3uC,EAAO,KAAK,MAAM,KACpBA,GAAQA,EAAK,UACb,KAAK,UAAU,IAAM,CACjB,MAAMu9B,EAAM,KAAK,aAAa,IAAIC,GAAM,aAAaA,EAAG,MAAM,IAAI,EAAE,KAAK,GAAG,EACtEC,EAAY,MAAM,KAAKz9B,EAAK,iBAAiBu9B,CAAG,CAAC,EAAE,IAAKv9C,GAAOA,EAAG,aAAa,SAAS,CAAC,EAC/F,KAAK,aAAe,KAAK,aAAa,KAAK,CAAC6D,EAAGC,IAAM25C,EAAU,QAAQ,GAAG55C,EAAE,MAAM,EAAE,EAAI45C,EAAU,QAAQ,GAAG35C,EAAE,MAAM,EAAE,CAAC,CAC5I,CAAiB,CAER,EACD,cAAc6qD,EAAQ,CAClB,KAAK,aAAe,KAAK,aAAa,OAAOjvB,GAAKA,EAAE,SAAWivB,EAAO,MAAM,CAC/E,EACD,eAAgB,CACZ,OAAO,KAAK,UACf,CACJ,CACL,CAAC,EAED,MAAMrF,GAAe,CACnB,IAAK,OACL,MAAO,CACL,QAAW,MACZ,CACH,EACMzM,GAAa,CACjB,IAAK,CACP,EACM6N,GAAa,CACjB,IAAK,CACP,EACMC,GAAa,CACjB,IAAK,CACP,EACMgG,GAAa,CACjB,IAAK,CACP,EACMC,GAAa,CACjB,IAAK,CACP,EACMC,GAAa,CACjB,IAAK,CACP,EACMC,GAAa,CACjB,IAAK,CACP,EACMC,GAAa,CACjB,IAAK,CACP,EACMC,GAAc,CAClB,IAAK,CACP,EACMC,GAAc,CAClB,IAAK,CACP,EACMC,GAAc,CAClB,IAAK,CACP,EACA,SAAShO,GAASvI,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC/D,MAAMmW,EAAiCzyC,GAAiB,qBAAqB,EAEvE0yC,EAAgC1yC,GAAiB,oBAAoB,EAErE2yC,EAAwB3yC,GAAiB,YAAY,EAErD4yC,EAA8B5yC,GAAiB,kBAAkB,EAEjE28B,EAAoB38B,GAAiB,QAAQ,EAE7Co+B,EAAqBp+B,GAAiB,SAAS,EAE/C6yC,EAAuB7yC,GAAiB,WAAW,EAEzD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAACp6B,EAAY,MAAO+oC,GAAc,CAACppC,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,GAE7E,EAAKA,EAAK,UAAYA,EAAK,sBAAwBp6B,EAAY4wC,EAAgC,CAC3F,IAAK,EACL,sBAAuBxW,EAAK,kBAC5B,QAASA,EAAK,WACd,YAAaA,EAAK,sBAClB,YAAaA,EAAK,SAClB,YAAaA,EAAK,SAClB,iBAAkBA,EAAK,aACvB,SAAUA,EAAK,MACf,OAAQC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,CAAC+T,EAAQt5B,IAAUslB,EAAK,KAAKgU,EAAQ,KAAMt5B,CAAK,EACnF,EAAE,KAAM,EAEP,CAAC,sBAAuB,UAAW,cAAe,YAAa,YAAa,iBAAkB,QAAQ,CAAC,EAAIyD,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,YAAcA,EAAK,qBAAuB,OAASA,EAAK,qBAAuB,QAAUz6B,GAAWy6B,EAAK,OAAQ,aAAc,CACjR,IAAK,CACT,EAAK,IAAM,CAACp6B,EAAY6wC,EAA+B74B,GAAWoiB,EAAK,OAAQ,CAC3E,WAAYA,EAAK,QACjB,UAAWA,EAAK,UAChB,MAAOA,EAAK,aACZ,eAAgBA,EAAK,eACrB,uBAAwBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,eAAiBW,GAClF,aAAcX,EAAK,yBACnB,YAAaA,EAAK,SAClB,QAASA,EAAK,kBACd,gBAAiBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvlB,GAASslB,EAAK,MAAM,cAAetlB,CAAK,GACnF,kBAAmBslB,EAAK,cACxB,sBAAuBA,EAAK,kBAC5B,kBAAmBA,EAAK,cACxB,qBAAsBA,EAAK,gBAC/B,CAAG,EAAG,CACF,QAASxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,UAAU,CAAC,CAAC,EAC5D,EAAG,CACP,EAAK,GAED,CAAC,WAAY,YAAa,QAAS,eAAgB,aAAc,YAAa,UAAW,kBAAmB,sBAAuB,kBAAmB,oBAAoB,CAAC,CAAC,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAGvY,EAAY,MAAO,CACtO,MAAOo6B,EAAK,oBACZ,MAAOA,EAAK,iBAChB,EAAK,CAACp6B,EAAY,QAAS,CACvB,MAAOo6B,EAAK,aACZ,SAAWA,EAAK,UAAoB,EAAR,GAC5B,UAAW,CAACC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAciV,GAAUX,EAAK,aAAa,EAAE,EAAG,CAAC,OAAQ,SAAS,CAAC,EAAG,CAAC,IAAI,CAAC,GAAIC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAciV,GAAUX,EAAK,aAAa,CAAC,EAAG,CAAC,OAAQ,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,EAAE,CACnP,EAAK,CAACA,EAAK,OAAO,SAAWt6B,IAAaC,EAAY,UAAWu8B,GAAY,CAAC38B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,CAAC,GAAK7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,WAAW,QAAUA,EAAK,YAAct6B,IAAaC,EAAY,QAASoqC,GAAY,CAACnqC,EAAY,KAAM,KAAM,CAACo6B,EAAK,mBAAqBt6B,EAAW,EAAEC,EAAY,KAAM,CAClU,IAAK,EACL,MAAOq6B,EAAK,iBACb,EAAE,KAAM,CAER,GAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,WAAaA,EAAK,mBAAqB,QAAUt6B,IAAaC,EAAY,KAAM,CAC1H,IAAK,EACL,MAAOq6B,EAAK,iBACb,EAAE,CAACA,EAAK,gBAAkBp6B,EAAY8wC,EAAuB,CAC5D,IAAK,EACL,aAAc,MACd,WAAY1W,EAAK,aACjB,SAAUA,EAAK,iBACf,sBAAuBA,EAAK,QAC7B,EAAE,KAAM,EAEP,CAAC,aAAc,WAAY,qBAAqB,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE5F,GAAOA,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,eAAgB,CAACgU,EAAQjjD,KACrH2U,EAAW,EAAEC,EAAY,KAAMiY,GAAW,CAC/C,IAAKo2B,EAAO,OAAS,IAAMjjD,EAAQ,QACzC,EAAOijD,EAAO,YAAa,CACrB,MAAOhU,EAAK,UAAUgU,CAAM,EAC5B,MAAOhU,EAAK,SAAW,CAAE,EAAGgU,EAAO,MACnC,QAAStoB,GAAciV,GAAUX,EAAK,KAAKgU,EAAQ,KAAMrT,CAAM,EAAG,CAAC,MAAM,CAAC,EAC1E,UAAWX,EAAK,cAChB,YAAaW,GAAUX,EAAK,sBAAsBW,EAAQqT,EAAQjjD,CAAK,EACvE,UAAW4vC,GAAUX,EAAK,oBAAoBW,EAAQqT,EAAQjjD,CAAK,EACnE,OAAQ4vC,GAAUX,EAAK,iBAAiBW,EAAQqT,EAAQjjD,CAAK,EAC7D,WAAY4vC,GAAUX,EAAK,qBAAqBW,EAAQqT,EAAQjjD,CAAK,EACrE,YAAa4vC,GAAUX,EAAK,sBAAsBW,EAAQqT,EAAQjjD,CAAK,CACxE,GAAG,CAACijD,EAAO,cAAgBpuC,EAAY+wC,EAA6B,CACnE,IAAK,EACL,UAAW3C,EACX,KAAM,SACN,IAAK,OACL,MAAO,CACL,OAAAA,EACA,MAAAjjD,CACD,CACF,EAAE,KAAM,EAEP,CAAC,YAAa,OAAO,CAAC,GAAK2U,EAAW,EAAEC,EAAY,OAAQqqC,GAAY,CAACnyB,GAAgB/zB,GAAgBkqD,EAAO,KAAK,EAAI,IAAK,CAEpI,EAAOl4C,GAAe8J,EAAY,OAAQ,CACpC,MAAOo6B,EAAK,kBAAmB,CACrC,EAAO,CAACp6B,EAAY86B,EAAmB,CACjC,KAAMV,EAAK,SACX,KAAMA,EAAK,SACX,KAAM,GACN,KAAMA,EAAK,aACX,SAAWA,EAAK,MAAc,EAAN,GACzB,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,OAAQ,UAAU,CAAC,CAAC,EAAG,CAEzC,EAAE,CAAC,CAAC1a,GAAO0uB,EAAO,UAAYhU,EAAK,oBAAsBgU,CAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAG,GAEvE,CAAC,UAAW,YAAa,cAAe,YAAa,SAAU,aAAc,aAAa,CAAC,EAC9F,EAAG,GAEN,GAAMhU,EAAK,WAAaA,EAAK,mBAAqB,SAAWt6B,EAAS,EAAIC,EAAY,KAAM,CACxF,IAAK,EACL,MAAOq6B,EAAK,iBACb,EAAE,CAACA,EAAK,gBAAkBp6B,EAAY8wC,EAAuB,CAC5D,IAAK,EACL,aAAc,MACd,WAAY1W,EAAK,aACjB,SAAUA,EAAK,iBACf,sBAAuBA,EAAK,QAC7B,EAAE,KAAM,EAEP,CAAC,aAAc,WAAY,qBAAqB,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE5F,GAAOA,EAAmB,OAAQ,EAAI,CAAC,CAAC,EAAG6hB,EAAK,yBAA2Bt6B,EAAW,EAAEC,EAAY,KAAMqwC,GAAY,CAAChW,EAAK,mBAAqBt6B,EAAW,EAAEC,EAAY,KAAM,CAC5K,IAAK,EACL,MAAOq6B,EAAK,iBACb,EAAE,KAAM,CAER,GAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,WAAaA,EAAK,mBAAqB,QAAUt6B,EAAS,EAAIC,EAAY,KAAMswC,EAAU,GAAK93B,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,eAAgB,CAACgU,EAAQjjD,KAC3P2U,EAAW,EAAEC,EAAY,KAAMiY,GAAW,CAC/C,IAAKo2B,EAAO,OAAS,IAAMjjD,EAAQ,YACzC,EAAOijD,EAAO,YAAa,CACrB,MAAOhU,EAAK,UAAUgU,CAAM,EAC5B,MAAOhU,EAAK,SAAW,CAAE,EAAGgU,EAAO,KACzC,CAAK,EAAG,CAACA,EAAO,YAActuC,EAAW,EAAEC,EAAY3E,GAAU,CAC3D,IAAK,CACN,EAAE,CAACgzC,EAAO,kBAAoBpuC,EAAY+wC,EAA6B,CACtE,IAAK,EACL,UAAW3C,EACX,KAAM,aACN,IAAK,OACL,MAAO,CACL,OAAAA,EACA,QAAShU,EAAK,OACf,CACF,EAAE,KAAM,EAEP,CAAC,YAAa,OAAO,CAAC,EAAIp6B,EAAYu8B,EAAoB,CAC1D,IAAK,EACL,CAAC,KAAOj7C,GAAW84C,EAAK,YAAY,CAAC,EAAGA,EAAK,eAC7C,WAAYA,EAAK,QAAQgU,EAAO,KAAK,EACrC,sBAAuBrT,GAAUX,EAAK,QAAQgU,EAAO,KAAK,EAAIrT,EAC9D,KAAMqT,EAAO,QAAU,SAAW,MACnC,EAAE,KAAM,GAEP,CAAC,aAAc,sBAAuB,MAAM,CAAC,CAAC,EAAG,EAElD,GAAI71B,EAAmB,OAAQ,EAAI,CAAC,EAAG,EAE5C,EACG,EAAG,GAEN,GAAM6hB,EAAK,WAAaA,EAAK,mBAAqB,SAAWt6B,EAAW,EAAEC,EAAY,KAAMuwC,EAAU,GAAK/3B,EAAmB,OAAQ,EAAI,CAAC,CAAC,GAAKA,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,sBAAwBt6B,EAAW,EAAEC,EAAY,KAAMwwC,GAAY,CAACnW,EAAK,mBAAqBt6B,EAAW,EAAEC,EAAY,KAAM,CACjT,IAAK,EACL,MAAOq6B,EAAK,iBACb,EAAE,KAAM,CAER,GAAI7hB,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,WAAaA,EAAK,mBAAqB,QAAUt6B,EAAS,EAAIC,EAAY,KAAMywC,EAAU,GAAKj4B,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,eAAgB,CAACgU,EAAQjjD,KAC3P2U,EAAS,EAAIC,EAAY,KAAM,CACpC,IAAKquC,EAAO,OAAS,IAAMjjD,EAAQ,aACnC,MAAOivC,EAAK,SAAW,CAAE,EAAGgU,EAAO,MACnC,MAAOhU,EAAK,mBAClB,EAAO,CAACgU,EAAO,QAAUA,EAAO,OAAO,WAAapuC,EAAY+wC,EAA6B,CACvF,IAAK,EACL,UAAW3C,EACX,KAAM,aACN,IAAK,OACL,MAAO,CACL,OAAAA,EACA,MAAAjjD,CACD,CACF,EAAE,KAAM,EAEP,CAAC,YAAa,OAAO,CAAC,GAAK2U,EAAW,EAAEC,EAAY3E,GAAU,CAC9D,IAAK,CACN,EAAE,CAAC6c,GAAgB/zB,GAAgBkqD,EAAO,UAAU,EAAG,CAEvD,GAAG,EAEH,EAAC,EAAG,CAET,EACG,EAAG,GAEN,GAAMhU,EAAK,WAAaA,EAAK,mBAAqB,SAAWt6B,EAAW,EAAEC,EAAY,KAAM0wC,EAAW,GAAKl4B,EAAmB,OAAQ,EAAI,CAAC,CAAC,GAAKA,EAAmB,OAAQ,EAAI,CAAC,CAAC,GAAKA,EAAmB,OAAQ,EAAI,EAAGvY,EAAY,QAAS,KAAM,EAAEF,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,YAAa,CAACwU,EAAKzjD,KAC5T2U,EAAS,EAAIC,EAAY3E,GAAU,CACxC,IAAK,KAAK,aAAewzC,EAAI,KAAK,YAAY,EAAIzjD,CACxD,EAAO,CAAC6U,EAAY,KAAM,CACpB,MAAOo6B,EAAK,WAAWwU,EAAKzjD,CAAK,EACjC,QAAS4vC,GAAUX,EAAK,UAAUwU,EAAKzjD,CAAK,EAC5C,WAAY4vC,GAAUX,EAAK,MAAM,WAAYwU,CAAG,EAChD,aAAc7T,GAAUX,EAAK,gBAAgB,aAAcW,EAAQ6T,CAAG,EACtE,aAAc7T,GAAUX,EAAK,gBAAgB,aAAcW,EAAQ6T,CAAG,EACtE,cAAe7T,GAAUX,EAAK,MAAM,cAAewU,EAAK7T,CAAM,EAC9D,UAAWX,EAAK,WAChB,YAAaW,GAAUX,EAAK,gBAAgBW,EAAQ6T,EAAKzjD,CAAK,EAC9D,UAAW4vC,GAAUX,EAAK,cAAcW,EAAQ6T,EAAKzjD,CAAK,EAC1D,OAAQ4vC,GAAUX,EAAK,WAAWW,EAAQ6T,EAAKzjD,CAAK,EACpD,WAAY4vC,GAAUX,EAAK,eAAeW,EAAQ6T,EAAKzjD,CAAK,EAC5D,YAAa4vC,GAAUX,EAAK,gBAAgBW,EAAQ6T,EAAKzjD,CAAK,CACpE,EAAO,CAACivC,EAAK,mBAAqBt6B,EAAS,EAAIC,EAAY,KAAM,CAC3D,IAAK,EACL,MAAOq6B,EAAK,wBAClB,EAAO,CAACA,EAAK,mBAAmBwU,CAAG,EAAI5uC,EAAY86B,EAAmB,CAChE,IAAK,EACL,KAAMV,EAAK,WACX,KAAMA,EAAK,SACX,SAAUA,EAAK,mBAAmBwU,CAAG,EAAI,GAAK,EAC9C,KAAM,SACN,QAAS9oB,GAAciV,GAAUX,EAAK,cAAcwU,CAAG,EAAG,CAAC,MAAM,CAAC,EAClE,UAAW,GACX,KAAM,EACP,EAAE,KAAM,EAEP,CAAC,OAAQ,OAAQ,WAAY,SAAS,CAAC,EAAIr2B,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAE/E,GAAIA,EAAmB,OAAQ,EAAI,EAAG6hB,EAAK,WAAaA,EAAK,mBAAqB,QAAUt6B,IAAaC,EAAY,KAAM,CAC1H,IAAK,EACL,MAAOq6B,EAAK,iBAClB,EAAO,CAACp6B,EAAY8wC,EAAuB,CACrC,aAAc,MACd,SAAU,CAAC1W,EAAK,eAAewU,CAAG,EAClC,WAAYxU,EAAK,aAAawU,CAAG,EACjC,sBAAuB7T,GAAUX,EAAK,SAASwU,EAAKzjD,EAAO4vC,CAAM,CAClE,EAAE,KAAM,EAEP,CAAC,WAAY,aAAc,qBAAqB,CAAC,CAAC,EAAG,CAE3D,GAASxiB,EAAmB,OAAQ,EAAI,GAAIzY,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,eAAgB,CAACgU,EAAQ6C,KACrHnxC,EAAW,EAAEC,EAAYgxC,EAA6B/4B,GAAW,CACtE,IAAKo2B,EAAO,OAASjjD,EAAQ,IAAM8lD,CAC3C,EAAS7C,EAAO,YAAYjjD,CAAK,EAAG,CAC5B,UAAWijD,EACX,KAAM,UACN,IAAK,KACL,MAAOhU,EAAK,UAAUwU,EAAKR,CAAM,EACjC,MAAOhU,EAAK,SAAW,CAAE,EAAGgU,EAAO,MACnC,aAAcA,EAAO,MACrB,MAAO,CACL,IAAAQ,EACA,OAAAR,EACA,MAAAjjD,EACA,SAAA8lD,EACA,cAAe7W,EAAK,aACrB,EACD,QAASW,GAAUX,EAAK,MAAM,aAAcwU,EAAKR,EAAQjjD,EAAO8lD,EAAUlW,CAAM,CACxF,CAAO,EAAG,KAAM,GAER,CAAC,YAAa,QAAS,QAAS,aAAc,QAAS,SAAS,CAAC,EACpE,EAAG,GAER,GAAQX,EAAK,WAAaA,EAAK,mBAAqB,SAAWt6B,EAAS,EAAIC,EAAY,KAAM,CACxF,IAAK,EACL,MAAOq6B,EAAK,iBAClB,EAAO,CAACp6B,EAAY8wC,EAAuB,CACrC,aAAc,MACd,SAAU,CAAC1W,EAAK,eAAewU,CAAG,EAClC,WAAYxU,EAAK,aAAawU,CAAG,EACjC,sBAAuB7T,GAAUX,EAAK,SAASwU,EAAKzjD,EAAO4vC,CAAM,CAClE,EAAE,KAAM,EAEP,CAAC,WAAY,aAAc,qBAAqB,CAAC,CAAC,EAAG,CAEtD,GAAIxiB,EAAmB,OAAQ,EAAI,CAAC,EAAG,GAEtC,CAAC,UAAW,aAAc,eAAgB,eAAgB,gBAAiB,YAAa,cAAe,YAAa,SAAU,aAAc,aAAa,CAAC,EAAGvY,EAAY8b,GAAY,CACrL,KAAMse,EAAK,gBACjB,EAAO,CACD,QAASxkC,GAAQ,IAAM,CAACwkC,EAAK,kBAAkBwU,CAAG,GAAK9uC,EAAS,EAAIC,EAAY,KAAM,CACpF,KAAMq6B,EAAK,aAAewU,EAAIxU,EAAK,YAAY,EAAIjvC,GAAS,SAC5D,MAAOivC,EAAK,eACpB,EAAS,CAACp6B,EAAY,KAAM,CACpB,QAASo6B,EAAK,WACf,EAAE,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAU,CACpC,IAAKwU,EACL,MAAOzjD,CACR,EAAC,EAAG,EAEH,CAAC,SAAS,CAAC,CAAC,EAAG,CAEhB,GAAIotB,EAAmB,OAAQ,EAAI,CAAC,CAAC,EACtC,EAAG,CACT,EAAO,KAED,CAAC,MAAM,CAAC,EAAG6hB,EAAK,wBAAwBwU,CAAG,EAAIjvC,GAAWy6B,EAAK,OAAQ,SAAU,CACjF,IAAK,EACL,IAAKwU,EACL,MAAOzjD,CACR,GAAIotB,EAAmB,OAAQ,EAAI,CAAC,EAAG,EAE5C,EACG,EAAG,GAEH,GAAI6hB,EAAK,YAAY,OAIF7hB,EAAmB,OAAQ,EAAI,GAJnBzY,EAAS,EAAIC,EAAY,KAAM2wC,GAAa,CAAC1wC,EAAY,KAAM,CAC7F,QAASo6B,EAAK,WAClB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,OAAO,CAAC,EAAG,EAErC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAqC,CAAC,EAAGA,EAAK,OAAO,QAAUt6B,EAAS,EAAIC,EAAY,QAAS4wC,GAAa,CAAC3wC,EAAY,KAAM,CAC9I,MAAOo6B,EAAK,aAChB,EAAK,CAACA,EAAK,oBAAqB,EAAGz6B,GAAWy6B,EAAK,OAAQ,SAAU,CACjE,IAAK,CACN,IAAKt6B,EAAS,EAAIC,EAAY,KAAM,CACnC,IAAK,EACL,QAASq6B,EAAK,WAClB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,QAAQ,CAAC,EAAG,EAEtC,CAAC,SAAS,CAAC,EAAE,EAAG,CAEjB,EAAC,GAAK7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,GAExC,CAAC,UAAU,CAAC,EAAG5Y,GAAWy6B,EAAK,OAAQ,UAAW,GAAI,IAAM,CAACp6B,EAAYgxC,EAAsB,CAC/F,YAAa,GACb,OAAQ5W,EAAK,OACd,EAAE,KAAM,EAEP,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAG,CAEpB,EAAKA,EAAK,WAAaA,EAAK,OAAO,aAAa,GAAKA,EAAK,YAAcA,EAAK,qBAAuB,UAAYA,EAAK,qBAAuB,QAAUz6B,GAAWy6B,EAAK,OAAQ,aAAc,CACxL,IAAK,CACT,EAAK,IAAM,CAACp6B,EAAY6wC,EAA+B74B,GAAWoiB,EAAK,OAAQ,CAC3E,WAAYA,EAAK,QACjB,UAAWA,EAAK,UAChB,MAAOA,EAAK,aACZ,eAAgBA,EAAK,eACrB,uBAAwBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,eAAiBW,GAClF,aAAcX,EAAK,yBACnB,YAAaA,EAAK,SAClB,QAASA,EAAK,kBACd,gBAAiBC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvlB,GAASslB,EAAK,MAAM,cAAetlB,CAAK,GACnF,kBAAmBslB,EAAK,cACxB,sBAAuBA,EAAK,kBAC5B,kBAAmBA,EAAK,cACxB,qBAAsBA,EAAK,gBAC/B,CAAG,EAAG,CACF,QAASxkC,GAAQ,IAAM,CAAC+J,GAAWy6B,EAAK,OAAQ,aAAa,CAAC,CAAC,EAC/D,EAAG,CACP,EAAK,GAED,CAAC,WAAY,YAAa,QAAS,eAAgB,aAAc,YAAa,UAAW,kBAAmB,sBAAuB,kBAAmB,oBAAoB,CAAC,CAAC,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,CAAC,EAAG,CAExN,CACA,CAEA0qB,GAAS,OAASN,GAClBM,GAAS,OAAS,iCAElB,IAAI93C,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK08B,EAAQ,EAC/BvJ,GAAkBnzB,EAAKq0B,EAAQ,CAClC,CACL,EAEA,MAAAsW,GAAe/lD,GCzzDf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,QACN,OAAQ,CAACu9B,GAAoBwU,GAAY,KAAK,CAAC,EAC/C,YAAa,OACb,MAAO,CAKH,KAAM,CACF,KAAM,OACN,QAAS,SACZ,EAID,SAAU,QAEV,SAAU,CACN,KAAM,QACN,QAAS,IACEtX,EAAeqC,EAAU,EAAI,gBAAiB,EAAI,CAEhE,EAED,UAAW,QACX,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,iBAAkB,CAAC,OAAQ,SAAU,KAAK,EAC1C,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,mBAAoB,CAAC,OAAQ,SAAU,KAAK,EAC5C,oBAAqB,CAAC,OAAQ,SAAU,KAAK,CAChD,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,QAAQ,EACxC,CAAE,CAAC,KAAK,cAAc,gBAAiB,WAAY,KAAK,QAAQ,CAAC,EAAG,KAAK,UAAY,KAAK,QAAU,EACpG,CAAE,CAAC,KAAK,cAAc,gBAAiB,mBAAmB,CAAC,EAAG,KAAK,QAAU,EAC7E,CAAE,CAAC,KAAK,cAAc,gBAAiB,kBAAkB,CAAC,EAAG,KAAK,QAAU,EAC5E,CAAE,CAAC,KAAK,cAAc,iBAAkB,mBAAmB,CAAC,EAAG,KAAK,SAAW,CAC/F,CACS,EACD,oBAAqB,CACjB,MAAO,CACH,KAAK,cAAc,sBAAuB,0BAA0B,CACpF,CACS,EACD,YAAa,CACT,MAAO,CACH,KAAK,cAAc,eAAgB,aAAa,EAChD,CAAE,CAAC,KAAK,cAAc,eAAgB,gBAAiB,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,EAC/E,CAAE,CAAC,KAAK,cAAc,mBAAoB,gBAAiB,KAAK,QAAQ,CAAC,EAAG,KAAK,UAAY,CAAC,KAAK,QAAU,EAC7G,CAAE,CAAC,KAAK,cAAc,eAAgB,gBAAiB,KAAK,IAAI,CAAC,EAAG,KAAK,IAAM,CAC/F,CACS,EACD,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,eAAgB,iBAAiB,EACpD,CAAE,CAAC,KAAK,cAAc,qBAAsB,gCAAgC,CAAC,EAAG,KAAK,eAAiB,CACtH,CACS,CACJ,CACL,CAAC,EAED,SAASr1B,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,MAAMsW,EAA8B5yC,GAAiB,kBAAkB,EAEjE28B,EAAoB38B,GAAiB,QAAQ,EAEnD,OAAO2B,EAAS,EAAIC,EAAY,MAAO,CACrC,MAAOq6B,EAAK,WAChB,EAAK,CAACp6B,EAAY,MAAO,CACrB,MAAOo6B,EAAK,WACZ,KAAM,UACN,mBAAoBA,EAAK,SAAW,WAAa,YACrD,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,OAAO,GAAIt6B,EAAU,EAAI,EAAGC,EAAY3E,GAAU,KAAM4D,GAAWo7B,EAAK,MAAO2T,GAClG73C,IAAgB4J,IAAaC,EAAY,MAAO,CACrD,IAAKguC,EAAU,SACf,UAAW,CAAC1T,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,IAAI,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,KAAK,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,YAAY,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,GAAIswC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAInU,GAASJ,GAAc,IAAI/7B,IAASqwC,EAAK,WAAW,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EAAG,CAAC,KAAK,CAAC,EAAE,EAC7pB,MAAOqwC,EAAK,mBACZ,KAAM,MACN,gBAAiB,GAAG2T,EAAU,KAAK,WACnC,gBAAiB,GAAGA,EAAU,QAAQ,EACvC,EAAE,CAACA,EAAU,OAAO,OAAS/tC,EAAY+wC,EAA6B,CACrE,IAAK,EACL,UAAWhD,EACX,IAAKA,EAAU,IACf,KAAM,SACN,QAAShT,GAAUX,EAAK,WAAW2T,CAAS,EAC5C,UAAW,CAAC7nB,GAASJ,GAAcsU,EAAK,KAAM,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,EAAGlU,GAASJ,GAAcsU,EAAK,KAAM,CAAC,SAAS,CAAC,EAAG,CAAC,OAAO,CAAC,EAAGlU,GAASJ,GAAcsU,EAAK,KAAM,CAAC,SAAS,CAAC,EAAG,CAAC,IAAI,CAAC,EAAGlU,GAASJ,GAAcsU,EAAK,KAAM,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,EAAGlU,GAASJ,GAAcsU,EAAK,YAAa,CAAC,SAAS,CAAC,EAAG,CAAC,MAAM,CAAC,EAAGlU,GAASJ,GAAcsU,EAAK,WAAY,CAAC,SAAS,CAAC,EAAG,CAAC,KAAK,CAAC,CAAC,EACvX,MAAO2T,EAAU,aAClB,EAAE,KAAM,EAEP,CAAC,YAAa,MAAO,UAAW,YAAa,OAAO,CAAC,GAAKjuC,EAAS,EAAIC,EAAYxB,GAAwBwvC,EAAU,GAAG,EAAG,CAC3H,IAAK,EACL,QAAShT,GAAUX,EAAK,WAAW2T,CAAS,EAC5C,MAAOA,EAAU,aACvB,EAAO,CACD,QAASn4C,GAAQ,IAAM,CAACm4C,EAAU,KAAO/tC,EAAY86B,EAAmB,CACtE,IAAK,EACL,UAAWiT,EAAU,kBACrB,KAAMA,EAAU,KAChB,KAAMA,EAAU,SAChB,KAAM3T,EAAK,IACZ,EAAE,KAAM,EAEP,CAAC,YAAa,OAAQ,OAAQ,MAAM,CAAC,EAAI7hB,EAAmB,OAAQ,EAAI,EAAGvY,EAAY,OAAQ,CAC/F,MAAO+tC,EAAU,iBAClB,EAAE7pD,GAAgB6pD,EAAU,KAAK,EAAG,CAE3C,CAAO,CAAC,EACF,EAAG,CACT,EAAO,KAED,CAAC,UAAW,OAAO,CAAC,EAAE,EAAG,GAEzB,CAAC,gBAAiB,eAAe,CAAC,GAAI,CAAC,CAACruB,GAAOquB,EAAU,OAAO,CAAC,CAAC,CACrE,EAAG,GAEH,GAAGpuC,GAAWy6B,EAAK,OAAQ,KAAK,CAAC,EAAG,GAEnC,CAAC,kBAAkB,CAAC,EAAGp6B,EAAY,UAAW,CAC9C,MAAOo6B,EAAK,cAChB,EAAK,CAACz6B,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,CAExC,GAAG,CAEN,CACA,CAEAF,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,+BAKhB,IAAIU,GAAWv/B,GAAgB,CAC3B,KAAM,WACN,OAAQ,CAACu9B,GAAoB8U,GAAiB,KAAK,CAAC,EACpD,YAAa,OACb,MAAO,CAEH,SAAU,QAIV,IAAK,CACD,KAAM,OACN,QAAS,IACE5X,EAAeqC,EAAU,EAAI,eAAgB,QAAQ,CAEnE,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,gBAAiB,CAAC,OAAQ,SAAU,KAAK,EACzC,sBAAuB,CAAC,OAAQ,SAAU,KAAK,EAC/C,wBAAyB,CAAC,OAAQ,SAAU,KAAK,EACjD,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,oBAAqB,CAAC,OAAQ,SAAU,KAAK,EAC7C,oBAAqB,CAAC,OAAQ,SAAU,KAAK,CAChD,EACD,SAAU,CACN,gBAAiB,CACb,MAAO,CACH,KAAK,cAAc,YAAa,qBAAqB,CACrE,CACS,EACD,eAAgB,CACZ,MAAO,CACH,KAAK,cAAc,kBAAmB,kBAAkB,EACxD,CAAE,CAAC,KAAK,cAAc,wBAAyB,+BAAgC,KAAK,OAAO,IAAI,CAAC,EAAG,KAAK,QAAU,EAClH,CAAE,CAAC,KAAK,cAAc,0BAA2B,iCAAkC,KAAK,OAAO,IAAI,CAAC,EAAG,KAAK,QAAU,EACtH,CAAE,CAAC,KAAK,cAAc,sBAAuB,oBAAqB,KAAK,OAAO,IAAI,CAAC,EAAG,KAAK,OAAO,IAAM,CACxH,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,sBAAuB,uBAAuB,CACjF,CACS,EACD,mBAAoB,CAChB,MAAO,CACH,KAAK,cAAc,sBAAuB,uBAAuB,CACjF,CACS,CACJ,CACL,CAAC,EAEDyC,GAAS,OAAS,kCAElB,IAAIzvC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,EAC7BR,GAAkBnzB,EAAKq0B,EAAQ,CAClC,CACL,EAEA,MAAAuW,GAAehmD,GC5Mf,IAAIA,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAkX,GAAejmD,GCbf,IAAIA,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAmX,GAAelmD,GCDf,IAAI+uC,GAAS7+B,GAAgB,CACzB,KAAM,UACN,OAAQ,CAACu9B,GAAoB8B,EAAgB,EAC7C,YAAa,SACb,aAAc,GACd,MAAO,CAAC,mBAAmB,EAC3B,MAAO,CAEH,WAAY,CAAC,OAAQyN,GAAM,KAAK,EAEhC,SAAU,QAEV,SAAU,QAEV,OAAQ,OAER,SAAU,QAKV,QAAS,CACL,KAAM,MACT,EAED,OAAQ,CACJ,KAAM,QACN,QAAS,EACZ,EAED,SAAU,CACN,KAAM,QACN,QAAS,EACZ,EACD,UAAW,CAAC,OAAQ,SAAU,KAAK,EACnC,eAAgB,CAAC,OAAQ,SAAU,KAAK,EACxC,aAAc,CAAC,OAAQ,SAAU,KAAK,EACtC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,cAAe,CAAC,OAAQ,SAAU,KAAK,EACvC,aAAc,CAAC,OAAQ,SAAU,KAAK,CACzC,EACD,MAAO,CACH,MAAO,CACH,SAAU,KAAK,WACf,cAAe,EAC3B,CACK,EACD,SAAU,CACN,aAAc,CACV,MAAO,CACH,KAAK,cAAc,YAAa,OAAO,EACvC,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,QAAU,EAC3E,CAAE,CAAC,KAAK,cAAc,gBAAiB,iBAAiB,CAAC,EAAG,KAAK,QAAU,CAC3F,CACS,EACD,kBAAmB,CACf,MAAO,CACH,KAAK,cAAc,iBAAkB,kBAAkB,EACvD,CAAE,CAAC,KAAK,cAAc,eAAgB,2BAA2B,CAAC,EAAG,CAAC,KAAK,SAAW,KAAK,aAAe,EAC1G,CAAE,CAAC,KAAK,cAAc,eAAgB,6BAA8B,KAAK,OAAO,CAAC,EAAG,KAAK,SAAW,KAAK,aAAe,CACxI,CACS,EACD,aAAc,CACV,MAAO,OACV,CACJ,EACD,MAAO,CAOH,WAAW3nD,EAAO,CACd,KAAK,SAAWA,GACZ,CAACA,GAAU,MAAM,QAAQA,CAAK,GAAKA,EAAM,SAAW,KACpD,KAAK,MAAM,MAAM,MAAQ,MAE7B,CAAC,KAAK,SAAW,CAAC,KAAK,UAAY,KAAK,oBAC3C,CACJ,EACD,QAAS,CAKL,aAAas0B,EAAO,CAChB,GAAI,KAAK,SACL,OACA,KAAK,UACL,KAAK,oBAAoB,EAAK,EAClC,MAAMt0B,EAAQs0B,EAAM,OAAO,OAASA,EAAM,aAAa,MACvD,GAAIt0B,EAAM,SAAW,EAAG,CACpB,GAAI,CAAC,KAAK,SACN,OACA,KAAK,SACL,KAAK,SAAW,KACvB,SACS,KAAK,SAoBV,CAED,IAAI8wD,EAAY,IACZ,KAAK,QAAU,CAAC,KAAK,YACrB,KAAK,SAAW,GAChBA,EAAY,IAEhB,QAAS5xD,EAAI,EAAGA,EAAIc,EAAM,OAAQd,IAAK,CACnC,MAAM6xD,EAAO/wD,EAAMd,CAAC,EAChB,KAAK,UAAU6xD,CAAI,IACnB,KAAK,SAAS,KAAKA,CAAI,EACvBD,EAAY,GAEnB,CACD,GAAI,CAACA,EACD,MACP,KApCwB,CAErB,GAAI,KAAK,UAAY9wD,EAAM,SAAW,EAClC,OACC,CACD,MAAM+wD,EAAO/wD,EAAM,CAAC,EACpB,GAAI,KAAK,UAAU+wD,CAAI,EACnB,KAAK,SAAWA,UACX,KAAK,SACV,KAAK,SAAW,KAChB,KAAK,WAAU,MAEd,CAED,KAAK,WAAU,EACf,KAAK,mBAAkB,EACvB,MACH,CACJ,CACJ,CAkBD,KAAK,MAAM,oBAAqB,KAAK,QAAQ,EAC7C,CAAC,KAAK,UAAY,KAAK,mBAAkB,CAC5C,EAID,YAAa,CACT,KAAK,MAAM,MAAM,MAAQ,IAC5B,EAID,oBAAoBC,EAAO,CAClB,KAAK,WACN,KAAK,cAAgBA,EAE5B,EAID,UAAUD,EAAM,CACZ,GAAI,CAAC,KAAK,OACN,MAAO,GACX,MAAME,EAAQ,KAAK,OAAO,MAAM,GAAG,EACnC,GAAIA,EAAM,SAAW,EACjB,MAAO,GACX,QAAS/xD,EAAI,EAAGA,EAAI+xD,EAAM,OAAQ/xD,IAAK,CACnC,MAAM+I,EAAOgpD,EAAM/xD,CAAC,EAAE,KAAI,EAC1B,GAAI+I,GACA,GAAIA,EAAK,UAAU,EAAG,CAAC,IAAM,KAEzB,GADkB8oD,EAAK,KAAK,YAAa,EAAC,MAAM,CAAC9oD,EAAK,MAAM,IAC1CA,EAAK,cACnB,MAAO,WAKP8oD,EAAK,KAAK,MAAM9oD,CAAI,EACpB,MAAO,GAGtB,CACD,MAAO,EACV,CACJ,CACL,CAAC,EAED,SAASqa,GAAOs3B,EAAMC,EAAQC,EAAQC,EAAQC,EAAOC,EAAU,CAC7D,OAAO36B,EAAS,EAAIC,EAAY,QAAS,CACvC,MAAOq6B,EAAK,WAChB,EAAK,CAAEA,EAAK,UAEJt6B,EAAS,EAAIC,EAAY,MAAO,CACpC,IAAK,EACL,MAAOq6B,EAAK,iBACZ,aAAcC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,oBAAoB,EAAI,GAC/E,aAAcC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIU,GAAUX,EAAK,oBAAoB,EAAK,GAChF,WAAYC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAciV,GAAUX,EAAK,oBAAoB,EAAI,EAAG,CAAC,SAAS,CAAC,GACzG,YAAaC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAciV,GAAUX,EAAK,oBAAoB,EAAK,EAAG,CAAC,SAAS,CAAC,GAC3G,YAAaC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAciV,GAAUX,EAAK,oBAAoB,EAAI,EAAG,CAAC,SAAS,CAAC,GAC1G,OAAQC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAIvU,GAAc,IAAI/7B,IAASqwC,EAAK,aAAa,GAAGrwC,CAAI,EAAG,CAAC,SAAS,CAAC,EACxG,EAAK,CAAC4V,GAAWy6B,EAAK,OAAQ,SAAS,CAAC,EAAG,EAE3C,GAbuBz6B,GAAWy6B,EAAK,OAAQ,UAAW,CACtD,IAAK,CACN,GAWGp6B,EAAY,QAASgY,GAAW,CAClC,IAAK,QACL,KAAM,MACV,EAAKoiB,EAAK,OAAQ,CACd,SAAUA,EAAK,SACf,OAAQA,EAAK,OACb,SAAUA,EAAK,SACf,SAAUC,EAAO,CAAC,IAAMA,EAAO,CAAC,EAAI,IAAItwC,IAASqwC,EAAK,aAAa,GAAGrwC,CAAI,EAC9E,CAAG,EAAG,KAAM,GAER,CAAC,WAAY,SAAU,UAAU,CAAC,CAAC,EAAG,CAE1C,CACA,CAEAmwC,GAAO,OAASp3B,GAChBo3B,GAAO,OAAS,mCAEhB,IAAI/uC,GAAQ,CACR,QAAQob,EAAK,CACTmzB,GAAkBnzB,EAAK2zB,EAAM,CAChC,CACL,EAEA,MAAAwX,GAAevmD,GCnJf,IAAIwmD,GAAuB,OAAO,OAAO,CACrC,UAAW,KACX,aAAcxmD,GACd,OAAQymD,GACR,SAAUC,GACV,SAAUC,GACV,SAAUC,GACV,WAAYC,GACZ,eAAgBC,GAChB,SAAUC,GACV,MAAOC,GACP,KAAMC,GACN,MAAOC,GACP,WAAYC,GACZ,QAASC,GACT,KAAMC,GACN,MAAOC,GACP,aAAc7I,GACd,WAAYW,GACZ,MAAOC,GACP,OAAQC,GACR,SAAUE,GACV,QAASE,GACT,OAAQqC,GACR,MAAOgB,GACP,OAAQC,GACR,MAAO+C,GACP,KAAMC,GACN,WAAYC,GACZ,QAASC,GACT,OAAQK,EACZ,CAAC,EAED,MAAMgB,GAAQ,CACV,QAAQnsC,EAAKlV,EAAU,GAAI,CACvBgnC,GAAe9xB,CAAG,EAElB,MAAMosC,EAAgBxa,IACtBD,GAAW/B,GAAMwc,EAAethD,EAAS,EAAI,CAAC,EAE9C,UAAWuhD,KAAgBjB,GACvBlY,GAAelzB,EAAKorC,GAAQiB,CAAY,CAAC,EAG7CjZ,GAA8BpzB,EAAK,SAAUgyB,EAAY,CAC5D,CACL,EAEAsa,GAAeH,GCvITI,GAAc,CAChB,MAAO,CACH,SAAU,GACV,UAAW,QACX,WAAY,QACZ,eAAgB,MAChB,aAAc,OACd,oBAAqB,MACrB,YAAa,aACb,aAAc,aACd,oBAAqB,uBACrB,gBAAiB,gBACjB,qBAAsB,cACtB,oBAAqB,aACrB,UAAW,SACd,EACD,MAAO,CACH,SAAU,GACV,UAAW,CAAC5xD,EAAG,CAAE,MAAAyW,EAAO,SAAAzQ,CAAQ,IAAO,CACnC,MAAMsiD,EAAU,CAAC,SAAS,EAC1B,OAAI7xC,EAAM,MACN6xC,EAAQ,KAAK,gBAAgB,EAC7BtiD,EAAS,cACTsiD,EAAQ,KAAK,iBAAiB,EAC3BA,EAAQ,KAAK,GAAG,EAAE,KAAI,CAChC,EACD,WAAY,QACZ,cAAe,WACf,aAAc,aACd,aAAc,MACd,UAAW,MACX,cAAe,cACf,cAAe,UACf,eAAgB,WAChB,aAAc,cACjB,EACD,OAAQ,CACJ,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,EAAO,SAAAzQ,CAAQ,IAAO,CACnC,MAAMsiD,EAAU,CAAC,UAAW,QAAQ,EACpC,OAAI7xC,EAAM,MACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,IAAI,EAAE,EAC/BA,EAAM,SACN6xC,EAAQ,KAAK,YAAY,EACzBtiD,EAAS,eACTsiD,EAAQ,KAAK,MAAMtiD,EAAS,aAAa,EAAE,EAC3CyQ,EAAM,UACN6xC,EAAQ,KAAK,aAAa,EAC1B7xC,EAAM,MACN6xC,EAAQ,KAAK,gBAAgB,EAC7B7xC,EAAM,WACN6xC,EAAQ,KAAK,iBAAiB,EAC3BA,EAAQ,KAAK,GAAG,EAAE,KAAI,CAChC,EACD,cAAe,eACf,cAAe,UACf,eAAgB,WAChB,iBAAkB,UACrB,EACD,KAAM,CACF,SAAU,GACV,UAAW,OACX,aAAc,YACd,UAAW,MACX,eAAgB,eAChB,UAAW,SACd,EACD,SAAU,CACN,SAAU,GACV,UAAW,sBACX,cAAe,cACf,WAAY,QACZ,WAAY,gBACZ,aAAc,MACd,UAAW,KACd,EACD,MAAO,CACH,SAAU,GACV,UAAW,gBACX,cAAe,cACf,WAAY,QACZ,WAAY,gBACZ,aAAc,MACd,UAAW,KACd,EACD,OAAQ,CACJ,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,QAAQ,EACzB,OAAI7xC,EAAM,SACN6xC,EAAQ,KAAK,YAAY,EACzB7xC,EAAM,WAAa,QACnB6xC,EAAQ,KAAK,gBAAgB,EAC1BA,EAAQ,KAAK,GAAG,CAC1B,EACD,WAAY,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CAC1B,MAAM6xC,EAAU,CAAC,OAAO,EACxB,OAAI7xC,EAAM,SACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,OAAO,EAAE,EAClCA,EAAM,gBACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,cAAc,UAAU,EAC9C6xC,EAAQ,KAAK,GAAG,CAC1B,EACD,WAAY,gBACZ,UAAW,MACX,cAAe,aAClB,EACD,aAAc,CACV,SAAU,GACV,UAAW,uBACX,UAAW,iCACX,kBAAmB,aACnB,UAAW,gBACX,eAAgB,aAChB,iBAAkB,cAClB,oBAAqB,sBACxB,EACD,WAAY,CACR,SAAU,GACV,UAAW,mBACX,eAAgB,kCAChB,UAAW,MACX,WAAY,iBACf,EACD,WAAY,CACR,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,YAAY,EAC7B,OAAI7xC,EAAM,SACN6xC,EAAQ,KAAK,YAAY,EACtBA,EAAQ,KAAK,GAAG,CAC1B,EACD,UAAW,MACX,YAAa,YACb,WAAY,MACZ,UAAW,kBACX,UAAW,kBACX,iBAAkB,aAClB,kBAAmB,cACnB,aAAc,kBACd,aAAc,sBACd,UAAW,MACd,EACD,OAAQ,CACJ,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,UAAU,EAC3B,OAAI7xC,EAAM,SACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,OAAO,EAAE,EAClCA,EAAM,SACN6xC,EAAQ,KAAK,YAAY,EACtBA,EAAQ,KAAK,GAAG,CAC1B,EACD,cAAe,cAEf,WAAY,iBACZ,UAAW,gBACX,kBAAmB,CAACtoD,EAAG,CAAE,KAAA8f,KAAW,CAChC,MAAMwoC,EAAU,CAAC,wBAAwB,EACzC,OAAIxoC,EAAK,UACLwoC,EAAQ,KAAK,aAAa,EACvBA,EAAQ,KAAK,GAAG,CAC1B,EACD,UAAW,MACX,WAAY,iBACZ,eAAgB,sBAChB,gBAAiB,iBACjB,UAAW,eACd,EACD,KAAM,CACF,SAAU,GACV,QAAS,IACT,UAAW,SACX,aAAc,cACd,eAAgB,eAChB,aAAc,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CAC5B,MAAM6xC,EAAU,CAAC,MAAM,EACvB,OAAI7xC,EAAM,MACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,IAAI,EAAE,EAC5B6xC,EAAQ,KAAK,GAAG,CAC1B,EACD,cAAe,eACf,cAAe,cACf,cAAe,MACf,aAAc,MACd,iBAAkB,MAClB,mBAAoB,mBACpB,UAAW,WACX,sBAAuB,IAAM,YAC7B,wBAAyB,IAAM,aAClC,EACD,MAAO,CACH,SAAU,GACV,UAAW,UACX,aAAc,gBACd,WAAY,QACZ,cAAe,cACf,aAAc,aACd,cAAe,YACf,eAAgB,eAChB,WAAY,WACZ,cAAe,SACf,YAAa,eACb,uBAAwB,QACxB,gBAAiB,kBACjB,gBAAiB,cACjB,gBAAiB,cACjB,mBAAoB,kBACpB,gBAAiB,oBACjB,oBAAqB,kBACrB,cAAe,YACf,gBAAiB,cACjB,gBAAiB,kBACjB,uBAAwB,eACxB,gBAAkBC,GAAa,CAC3B,GAAIA,IAAa,WACb,MAAO,cACN,GAAIA,IAAa,QAClB,MAAO,UAEd,EACD,gBAAkBA,GAAa,CAC3B,GAAIA,IAAa,WACb,MAAO,oBACN,GAAIA,IAAa,QAClB,MAAO,gBAEd,EACD,YAAa,YACb,gBAAiB,yBACpB,EACD,QAAS,CACL,SAAU,GACV,UAAW,CAACvoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,WAAW,EAC5B,OAAI7xC,EAAM,QACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,OAAO,EAAE,EAElC6xC,EAAQ,KAAK,YAAY,EACzB7xC,EAAM,UACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,QAAQ,EAAE,EAChC6xC,EAAQ,KAAK,GAAG,CAC1B,EACD,aAAc,kBACd,aAAc,kBACd,YAAa,YACb,eAAgB,eAChB,aAAc,MACd,WAAY,KACf,EACD,MAAO,CACH,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,SAAS,EAC1B,OAAI7xC,EAAM,SACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,OAAO,EAAE,EAClCA,EAAM,UACN6xC,EAAQ,KAAK,aAAa,EACvBA,EAAQ,KAAK,GAAG,CAC1B,EACD,WAAY,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CAC1B,MAAM6xC,EAAU,CAAC,OAAO,EACxB,OAAI7xC,EAAM,UACN6xC,EAAQ,KAAK,aAAa,EAC1B7xC,EAAM,SACN6xC,EAAQ,KAAK,YAAY,EACzB7xC,EAAM,gBAAkB,QACxB6xC,EAAQ,KAAK,gBAAgB,EAC7B7xC,EAAM,gBAAkB,SACxB6xC,EAAQ,KAAK,iBAAiB,EAC3BA,EAAQ,KAAK,GAAG,CAC1B,EACD,UAAW,YACX,gBAAiB,YACjB,uBAAwB,MACxB,sBAAuB,YACvB,wBAAyB,cACzB,cAAe,YACf,mBAAoB,aACpB,uBAAwB,eACxB,gBAAiB,cACjB,oBAAqB,kBACrB,iBAAkB,eAClB,cAAe,cACf,cAAe,MACf,8BAA+B,mBAC/B,UAAW,MACX,aAAc,KACjB,EACD,OAAQ,CACJ,SAAU,GACV,UAAW,SACX,UAAW,MACX,aAAc,MACd,aAAc,aACd,cAAe,eACf,aAAc,aACd,cAAe,IAAM,cACrB,cAAe,IAAM,cACrB,qBAAsB,gBACzB,EACD,KAAM,CACF,SAAU,GACV,UAAW,OACX,UAAW,YACX,eAAgB,YACnB,EACD,SAAU,CACN,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,YAAY,EAC7B,OAAI7xC,EAAM,UACN6xC,EAAQ,KAAK,aAAa,EACvBA,EAAQ,KAAK,GAAG,CAC1B,EACD,UAAW,kBACX,iBAAkB,YACrB,EACD,aAAc,CACV,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,cAAc,EAC/B,OAAI7xC,EAAM,SACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,OAAO,EAAE,EAC/B6xC,EAAQ,KAAK,GAAG,CAC1B,EACD,aAAc,QACd,aAAc,gBACd,UAAW,aACX,WAAY,SACZ,cAAe,MACf,YAAa,YACb,oBAAqB,KACxB,EACD,SAAU,CACN,SAAU,GACV,QAAS,IACT,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,EAAO,KAAAqJ,EAAM,SAAA9Z,CAAQ,IAAO,CACzC,MAAMsiD,EAAU,CAAC,WAAY,yBAAyB,EACtD,OAAIxoC,EAAK,UAAYrJ,EAAM,SACvB6xC,EAAQ,KAAK,WAAW,EACxBtiD,EAAS,WACTsiD,EAAQ,KAAK,cAAc,EAC3B7xC,EAAM,UACN6xC,EAAQ,KAAK,MAAM7xC,EAAM,QAAQ,EAAE,EAChC6xC,EAAQ,KAAK,GAAG,CAC1B,EACD,aAAc,mBACd,UAAW,iCACX,cAAe,cACf,cAAe,cACf,YAAa,YACb,UAAW,gBACX,gBAAiB,YACjB,kBAAmB,cACnB,YAAa,kBACb,uBAAwB,YAC3B,EACD,WAAY,CACR,SAAU,GACV,UAAW,aACX,YAAa,oBACb,YAAa,oBACb,SAAU,gBACV,WAAY,mBACZ,eAAgB,oBAChB,mBAAoB,kBACpB,mBAAoB,+BACpB,aAAc,sBACd,aAAc,kBACd,WAAY,kBACZ,eAAgB,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CAC9B,MAAM6xC,EAAU,CAAC,iBAAiB,EAClC,OAAI7xC,EAAM,QACN6xC,EAAQ,KAAK,YAAY,EACtBA,EAAQ,KAAK,GAAG,CAC1B,EACD,cAAe,iBACf,eAAgB,kBAChB,yBAA0B,gBAC1B,2BAA4B,kBAC5B,oBAAqB,WACrB,uBAAwB,cACxB,4BAA6B,oBAC7B,2BAA4B,mBAC5B,0BAA2B,kBAC3B,4BAA6B,oBAC7B,2BAA4B,mBAC5B,6BAA8B,qBAC9B,wBAAyB,GACzB,qBAAsB,YACtB,qBAAsB,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACpC,MAAM6xC,EAAU,CAAC,WAAW,EAC5B,OAAI7xC,EAAM,YACN6xC,EAAQ,KAAK,GAAG7xC,EAAM,UAAU,EAAE,EAC/B6xC,EAAQ,KAAK,GAAG,CAC1B,EACD,uBAAwB,MACxB,iBAAkB,SAClB,gBAAiB,QACjB,eAAgB,kBAChB,eAAgB,kBAChB,2BAA4B,mBAC5B,4BAA6B,oBAC7B,0BAA2B,kBAC3B,2BAA4B,mBAC5B,qBAAsB,YACtB,yBAA0B,gBAC1B,uBAAwB,cACxB,oBAAqB,WACrB,2BAA4B,kBAC5B,4BAA6B,oBAC7B,6BAA8B,qBAC9B,WAAY,mBACZ,iBAAkB,SAClB,gBAAiB,mBACpB,EACD,MAAO,CACH,SAAU,GACV,UAAW,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CACzB,MAAM6xC,EAAU,CAAC,OAAO,EACxB,OAAI7xC,EAAM,QAAUA,EAAM,eACtB6xC,EAAQ,KAAK,WAAW,EACrBA,EAAQ,KAAK,GAAG,CAC1B,EACD,aAAc,mBACd,aAAc,kCACd,WAAY,uBACZ,gBAAiB,iBACjB,gBAAiB,YACpB,EACD,QAAS,CACL,SAAU,GACV,UAAW,YACX,aAAc,MACd,aAAc,kBACd,YAAa,YACb,cAAe,cACf,WAAY,WACZ,mBAAoB,iBACpB,wBAAyB,iBACzB,gBAAiB,gBACjB,eAAgB,eAChB,YAAa,CAACtoD,EAAG,CAAE,MAAAyW,KAAY,CAC3B,GAAIA,EAAM,QAAUA,EAAM,SAAW,SACjC,MAAO,MAAMA,EAAM,MAAM,SAEhC,EACD,aAAc,qBACd,YAAa,iBACb,WAAY,UACf,EACD,QAAS,CACL,cAAe,eACf,aAAc,kBACd,UAAW,OACX,UAAW,SACd,EACD,WAAY,CACR,SAAU,GACV,UAAW,qBACX,SAAU,gBACV,cAAe,CACX,UAAW,gBACd,EACD,eAAgB,mBAChB,YAAa,oBACb,UAAW,KACd,EACD,SAAU,CACN,SAAU,GACV,UAAW,WACX,aAAc,aACd,WAAY,iBACZ,WAAY,iBACZ,mBAAoB,cACpB,eAAgB,iBAChB,mBAAoB,iBACpB,mBAAoB,kBACpB,gBAAiB,qBACjB,eAAgB,iBAChB,sBAAuB,YACvB,8BAA+B,MAC/B,mBAAoB,kBACpB,yBAA0B,YAC1B,wBAAyB,MAEzB,UAAW,gBACX,gBAAiB,WACpB,EACD,OAAQ,CACJ,SAAU,GACV,UAAW,iBACX,eAAgB,mBAChB,aAAc,MACd,cAAe,cACf,cAAe,cACf,aAAc,YACjB,CACL,8rBCnfC,SAASkkB,EAAEp1B,EAAE,CAAsDssD,UAAetsD,EAAmH,IAAEusD,GAAM,UAAU,CAAc,IAAIn3B,EAAE,IAAIp1B,EAAE,IAAIxE,EAAE,KAAKiN,EAAE,cAAcxP,EAAE,SAASyS,EAAE,SAASmd,EAAE,OAAO,EAAE,MAAM0V,EAAE,OAAO7jC,EAAE,QAAQytC,EAAE,UAAUvqB,EAAE,OAAO8a,EAAE,OAAOt6B,EAAE,eAAeouD,EAAE,6FAA6FC,EAAE,sFAAsFC,EAAE,CAAC,KAAK,KAAK,SAAS,2DAA2D,MAAM,GAAG,EAAE,OAAO,wFAAwF,MAAM,GAAG,EAAE,QAAQ,SAASt3B,EAAE,CAAC,IAAIp1B,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,EAAExE,EAAE45B,EAAE,IAAI,MAAM,IAAIA,GAAGp1B,GAAGxE,EAAE,IAAI,EAAE,GAAGwE,EAAExE,CAAC,GAAGwE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAEqe,EAAE,SAAS+W,EAAEp1B,EAAExE,EAAE,CAAC,IAAIiN,EAAE,OAAO2sB,CAAC,EAAE,MAAM,CAAC3sB,GAAGA,EAAE,QAAQzI,EAAEo1B,EAAE,GAAG,MAAMp1B,EAAE,EAAEyI,EAAE,MAAM,EAAE,KAAKjN,CAAC,EAAE45B,CAAC,EAAEr3B,EAAE,CAAC,EAAEsgB,EAAE,EAAE,SAAS+W,EAAE,CAAC,IAAIp1B,EAAE,CAACo1B,EAAE,UAAS,EAAG55B,EAAE,KAAK,IAAIwE,CAAC,EAAEyI,EAAE,KAAK,MAAMjN,EAAE,EAAE,EAAEvC,EAAEuC,EAAE,GAAG,OAAOwE,GAAG,EAAE,IAAI,KAAKqe,EAAE5V,EAAE,EAAE,GAAG,EAAE,IAAI4V,EAAEplB,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,SAASm8B,EAAEp1B,EAAExE,EAAE,CAAC,GAAGwE,EAAE,KAAM,EAACxE,EAAE,KAAM,EAAC,MAAM,CAAC45B,EAAE55B,EAAEwE,CAAC,EAAE,IAAIyI,EAAE,IAAIjN,EAAE,KAAM,EAACwE,EAAE,KAAI,IAAKxE,EAAE,MAAK,EAAGwE,EAAE,MAAK,GAAI/G,EAAE+G,EAAE,MAAK,EAAG,IAAIyI,EAAE/N,CAAC,EAAEgR,GAAElQ,EAAEvC,EAAE,EAAE4vB,GAAE7oB,EAAE,MAAO,EAAC,IAAIyI,GAAGiD,GAAE,GAAG,GAAGhR,CAAC,EAAE,MAAM,EAAE,EAAE+N,GAAGjN,EAAEvC,IAAIyS,GAAEzS,EAAE4vB,GAAEA,GAAE5vB,KAAK,EAAE,EAAE,EAAE,SAASm8B,EAAE,CAAC,OAAOA,EAAE,EAAE,KAAK,KAAKA,CAAC,GAAG,EAAE,KAAK,MAAMA,CAAC,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,MAAM,CAAC,EAAE16B,EAAE,EAAEkjB,EAAE,EAAE2gB,EAAE,EAAE,EAAE,EAAE7F,EAAE,EAAE7P,EAAE,EAAEnd,EAAEzS,EAAI,GAAGwP,EAAE,EAAE0/B,CAAC,EAAE/S,CAAC,GAAG,OAAOA,GAAG,EAAE,EAAE,YAAa,EAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,EAAE,SAASA,EAAE,CAAC,OAAgBA,IAAT,MAAU,CAAC,EAAE7C,EAAE,KAAKo6B,GAAE,CAAE,EAACA,GAAEp6B,CAAC,EAAEm6B,EAAE,IAAI7+C,GAAE,iBAAiB++C,GAAE,SAASx3B,EAAE,CAAC,OAAOA,aAAa36B,GAAG,EAAE,CAAC26B,GAAG,CAACA,EAAEvnB,EAAC,EAAE,EAAEg/C,GAAE,SAASz3B,EAAEp1B,EAAExE,EAAEiN,EAAE,CAAC,IAAIxP,EAAE,GAAG,CAAC+G,EAAE,OAAOuyB,EAAE,GAAa,OAAOvyB,GAAjB,SAAmB,CAAC,IAAI0L,GAAE1L,EAAE,YAAa,EAAC2sD,GAAEjhD,EAAC,IAAIzS,EAAEyS,IAAGlQ,IAAImxD,GAAEjhD,EAAC,EAAElQ,EAAEvC,EAAEyS,IAAG,IAAImd,GAAE7oB,EAAE,MAAM,GAAG,EAAE,GAAG,CAAC/G,GAAG4vB,GAAE,OAAO,EAAE,OAAOuM,EAAEvM,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIhsB,GAAEmD,EAAE,KAAK2sD,GAAE9vD,EAAC,EAAEmD,EAAE/G,EAAE4D,EAAC,CAAC,MAAM,CAAC4L,GAAGxP,IAAIs5B,EAAEt5B,GAAGA,GAAG,CAACwP,GAAG8pB,CAAC,EAAEu6B,GAAE,SAAS13B,EAAEp1B,EAAE,CAAC,GAAG4sD,GAAEx3B,CAAC,EAAE,OAAOA,EAAE,MAAO,EAAC,IAAI55B,EAAY,OAAOwE,GAAjB,SAAmBA,EAAE,GAAG,OAAOxE,EAAE,KAAK45B,EAAE55B,EAAE,KAAK,UAAU,IAAIf,EAAEe,CAAC,CAAC,EAAEsB,EAAEiB,EAAEjB,EAAE,EAAE+vD,GAAE/vD,EAAE,EAAE8vD,GAAE9vD,EAAE,EAAE,SAASs4B,EAAEp1B,EAAE,CAAC,OAAO8sD,GAAE13B,EAAE,CAAC,OAAOp1B,EAAE,GAAG,IAAIA,EAAE,GAAG,EAAEA,EAAE,GAAG,QAAQA,EAAE,OAAO,CAAC,CAAC,EAAE,IAAIvF,EAAE,UAAU,CAAC,SAASiyD,EAAEt3B,EAAE,CAAC,KAAK,GAAGy3B,GAAEz3B,EAAE,OAAO,KAAK,EAAE,EAAE,KAAK,MAAMA,CAAC,EAAE,KAAK,GAAG,KAAK,IAAIA,EAAE,GAAG,GAAG,KAAKvnB,EAAC,EAAE,EAAE,CAAC,IAAIwQ,EAAEquC,EAAE,UAAU,OAAOruC,EAAE,MAAM,SAAS+W,EAAE,CAAC,KAAK,GAAG,SAASA,EAAE,CAAC,IAAIp1B,EAAEo1B,EAAE,KAAK55B,GAAE45B,EAAE,IAAI,GAAUp1B,IAAP,KAAS,OAAO,IAAI,KAAK,GAAG,EAAE,GAAGlD,EAAE,EAAEkD,CAAC,EAAE,OAAO,IAAI,KAAK,GAAGA,aAAa,KAAK,OAAO,IAAI,KAAKA,CAAC,EAAE,GAAa,OAAOA,GAAjB,UAAoB,CAAC,MAAM,KAAKA,CAAC,EAAE,CAAC,IAAIyI,GAAEzI,EAAE,MAAMwsD,CAAC,EAAE,GAAG/jD,GAAE,CAAC,IAAIxP,GAAEwP,GAAE,CAAC,EAAE,GAAG,EAAEiD,IAAGjD,GAAE,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC,EAAE,OAAOjN,GAAE,IAAI,KAAK,KAAK,IAAIiN,GAAE,CAAC,EAAExP,GAAEwP,GAAE,CAAC,GAAG,EAAEA,GAAE,CAAC,GAAG,EAAEA,GAAE,CAAC,GAAG,EAAEA,GAAE,CAAC,GAAG,EAAEiD,EAAC,CAAC,EAAE,IAAI,KAAKjD,GAAE,CAAC,EAAExP,GAAEwP,GAAE,CAAC,GAAG,EAAEA,GAAE,CAAC,GAAG,EAAEA,GAAE,CAAC,GAAG,EAAEA,GAAE,CAAC,GAAG,EAAEiD,EAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK1L,CAAC,CAAC,EAAEo1B,CAAC,EAAE,KAAK,KAAM,GAAE/W,EAAE,KAAK,UAAU,CAAC,IAAI+W,EAAE,KAAK,GAAG,KAAK,GAAGA,EAAE,cAAc,KAAK,GAAGA,EAAE,SAAQ,EAAG,KAAK,GAAGA,EAAE,QAAO,EAAG,KAAK,GAAGA,EAAE,SAAS,KAAK,GAAGA,EAAE,SAAQ,EAAG,KAAK,GAAGA,EAAE,WAAY,EAAC,KAAK,GAAGA,EAAE,WAAY,EAAC,KAAK,IAAIA,EAAE,iBAAiB,EAAE/W,EAAE,OAAO,UAAU,CAAC,OAAOvhB,CAAC,EAAEuhB,EAAE,QAAQ,UAAU,CAAC,OAAQ,KAAK,GAAG,aAAajgB,CAAE,EAAEigB,EAAE,OAAO,SAAS+W,EAAEp1B,EAAE,CAAC,IAAIxE,EAAEsxD,GAAE13B,CAAC,EAAE,OAAO,KAAK,QAAQp1B,CAAC,GAAGxE,GAAGA,GAAG,KAAK,MAAMwE,CAAC,CAAC,EAAEqe,EAAE,QAAQ,SAAS+W,EAAEp1B,EAAE,CAAC,OAAO8sD,GAAE13B,CAAC,EAAE,KAAK,QAAQp1B,CAAC,CAAC,EAAEqe,EAAE,SAAS,SAAS+W,EAAEp1B,EAAE,CAAC,OAAO,KAAK,MAAMA,CAAC,EAAE8sD,GAAE13B,CAAC,CAAC,EAAE/W,EAAE,GAAG,SAAS+W,EAAEp1B,EAAExE,EAAE,CAAC,OAAOsB,EAAE,EAAEs4B,CAAC,EAAE,KAAKp1B,CAAC,EAAE,KAAK,IAAIxE,EAAE45B,CAAC,CAAC,EAAE/W,EAAE,KAAK,UAAU,CAAC,OAAO,KAAK,MAAM,KAAK,QAAO,EAAG,GAAG,CAAC,EAAEA,EAAE,QAAQ,UAAU,CAAC,OAAO,KAAK,GAAG,QAAS,GAAEA,EAAE,QAAQ,SAAS+W,EAAEp1B,EAAE,CAAC,IAAIxE,EAAE,KAAKiN,GAAE,CAAC,CAAC3L,EAAE,EAAEkD,CAAC,GAAGA,EAAEmoC,GAAErrC,EAAE,EAAEs4B,CAAC,EAAEh3B,GAAE,SAASg3B,GAAEp1B,GAAE,CAAC,IAAI/G,GAAE6D,EAAE,EAAEtB,EAAE,GAAG,KAAK,IAAIA,EAAE,GAAGwE,GAAEo1B,EAAC,EAAE,IAAI,KAAK55B,EAAE,GAAGwE,GAAEo1B,EAAC,EAAE55B,CAAC,EAAE,OAAOiN,GAAExP,GAAEA,GAAE,MAAM,CAAC,CAAC,EAAEuzD,GAAE,SAASp3B,GAAEp1B,GAAE,CAAC,OAAOlD,EAAE,EAAEtB,EAAE,OAAM,EAAG45B,EAAC,EAAE,MAAM55B,EAAE,OAAO,GAAG,GAAGiN,GAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,MAAMzI,EAAC,CAAC,EAAExE,CAAC,CAAC,EAAEixD,GAAE,KAAK,GAAGC,GAAE,KAAK,GAAGruC,GAAE,KAAK,GAAGtgB,GAAE,OAAO,KAAK,GAAG,MAAM,IAAI,OAAOoqC,IAAG,KAAKvqB,EAAE,OAAOnV,GAAErK,GAAE,EAAE,CAAC,EAAEA,GAAE,GAAG,EAAE,EAAE,KAAK1D,EAAE,OAAO+N,GAAErK,GAAE,EAAEsuD,EAAC,EAAEtuD,GAAE,EAAEsuD,GAAE,CAAC,EAAE,KAAKnuB,EAAE,IAAIhM,EAAE,KAAK,UAAU,WAAW,EAAEo6B,IAAGF,GAAEl6B,EAAEk6B,GAAE,EAAEA,IAAGl6B,EAAE,OAAOn0B,GAAEqK,GAAE4V,GAAEsuC,GAAEtuC,IAAG,EAAEsuC,IAAGD,EAAC,EAAE,KAAK,EAAE,KAAKh0B,EAAE,OAAO8zB,GAAEzuD,GAAE,QAAQ,CAAC,EAAE,KAAK8qB,EAAE,OAAO2jC,GAAEzuD,GAAE,UAAU,CAAC,EAAE,KAAK2N,EAAE,OAAO8gD,GAAEzuD,GAAE,UAAU,CAAC,EAAE,KAAK9E,EAAE,OAAOuzD,GAAEzuD,GAAE,eAAe,CAAC,EAAE,QAAQ,OAAO,KAAK,MAAO,EAAC,EAAEsgB,EAAE,MAAM,SAAS+W,EAAE,CAAC,OAAO,KAAK,QAAQA,EAAE,EAAE,CAAC,EAAE/W,EAAE,KAAK,SAAS+W,EAAEp1B,EAAE,CAAC,IAAIxE,EAAE+iC,GAAEzhC,EAAE,EAAEs4B,CAAC,EAAE+S,GAAE,OAAO,KAAK,GAAG,MAAM,IAAI/pC,IAAG5C,EAAE,GAAGA,EAAE,CAAC,EAAE2sC,GAAE,OAAO3sC,EAAEk9B,CAAC,EAAEyP,GAAE,OAAO3sC,EAAEd,CAAC,EAAEytC,GAAE,QAAQ3sC,EAAEoiB,CAAC,EAAEuqB,GAAE,WAAW3sC,EAAEqtB,CAAC,EAAEsf,GAAE,QAAQ3sC,EAAEkQ,CAAC,EAAEy8B,GAAE,UAAU3sC,EAAEvC,CAAC,EAAEkvC,GAAE,UAAU3sC,EAAEiN,CAAC,EAAE0/B,GAAE,eAAe3sC,GAAG+iC,EAAC,EAAEiuB,GAAEjuB,KAAI,EAAE,KAAK,IAAIv+B,EAAE,KAAK,IAAIA,EAAE,GAAGu+B,KAAI7jC,GAAG6jC,KAAI3gB,EAAE,CAAC,IAAI6uC,GAAE,KAAK,QAAQ,IAAI/zB,EAAE,CAAC,EAAE+zB,GAAE,GAAGruD,EAAC,EAAEouD,EAAC,EAAEC,GAAE,KAAI,EAAG,KAAK,GAAGA,GAAE,IAAI/zB,EAAE,KAAK,IAAI,KAAK,GAAG+zB,GAAE,YAAW,CAAE,CAAC,EAAE,EAAE,MAAMruD,IAAG,KAAK,GAAGA,EAAC,EAAEouD,EAAC,EAAE,OAAO,KAAK,KAAM,EAAC,IAAI,EAAEnuC,EAAE,IAAI,SAAS+W,EAAEp1B,EAAE,CAAC,OAAO,KAAK,MAAO,EAAC,KAAKo1B,EAAEp1B,CAAC,CAAC,EAAEqe,EAAE,IAAI,SAAS+W,EAAE,CAAC,OAAO,KAAKt4B,EAAE,EAAEs4B,CAAC,CAAC,GAAG,EAAE/W,EAAE,IAAI,SAAS5V,EAAE0/B,EAAE,CAAC,IAAIzP,EAAEt6B,GAAE,KAAKqK,EAAE,OAAOA,CAAC,EAAE,IAAI+jD,GAAE1vD,EAAE,EAAEqrC,CAAC,EAAEskB,GAAE,SAASr3B,GAAE,CAAC,IAAIp1B,GAAE8sD,GAAE1uD,EAAC,EAAE,OAAOtB,EAAE,EAAEkD,GAAE,KAAKA,GAAE,KAAM,EAAC,KAAK,MAAMo1B,GAAE3sB,CAAC,CAAC,EAAErK,EAAC,CAAC,EAAE,GAAGouD,KAAI9xD,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAG+N,CAAC,EAAE,GAAG+jD,KAAI5uC,EAAE,OAAO,KAAK,IAAIA,EAAE,KAAK,GAAGnV,CAAC,EAAE,GAAG+jD,KAAI,EAAE,OAAOC,GAAE,CAAC,EAAE,GAAGD,KAAIjuB,EAAE,OAAOkuB,GAAE,CAAC,EAAE,IAAIC,IAAGh0B,EAAE,CAAE,EAACA,EAAEhtB,CAAC,EAAE1L,EAAE04B,EAAE7P,CAAC,EAAErtB,EAAEk9B,EAAEz/B,CAAC,EAAEm8B,EAAEsD,GAAG8zB,EAAC,GAAG,EAAEnuC,GAAE,KAAK,GAAG,QAAS,EAAC5V,EAAEikD,GAAE,OAAO5vD,EAAE,EAAEuhB,GAAE,IAAI,CAAC,EAAEA,EAAE,SAAS,SAAS+W,EAAEp1B,EAAE,CAAC,OAAO,KAAK,IAAI,GAAGo1B,EAAEp1B,CAAC,CAAC,EAAEqe,EAAE,OAAO,SAAS+W,EAAE,CAAC,IAAIp1B,EAAE,KAAKxE,EAAE,KAAK,QAAO,EAAG,GAAG,CAAC,KAAK,QAAO,EAAG,OAAOA,EAAE,aAAa4C,EAAE,IAAIqK,GAAE2sB,GAAG,uBAAuBn8B,GAAE6D,EAAE,EAAE,IAAI,EAAE4O,GAAE,KAAK,GAAGmd,GAAE,KAAK,GAAGhsB,GAAE,KAAK,GAAG0hC,GAAE/iC,EAAE,SAASd,GAAEc,EAAE,OAAO2sC,GAAE3sC,EAAE,SAASoiB,EAAE,SAASwX,GAAE55B,GAAEvC,GAAEyS,EAAE,CAAC,OAAO0pB,KAAIA,GAAE55B,EAAC,GAAG45B,GAAEp1B,EAAEyI,EAAC,IAAIxP,GAAEuC,EAAC,EAAE,MAAM,EAAEkQ,CAAC,CAAC,EAAEgtB,GAAE,SAAStD,GAAE,CAAC,OAAOt4B,EAAE,EAAE4O,GAAE,IAAI,GAAG0pB,GAAE,GAAG,CAAC,EAAEo3B,GAAErkB,IAAG,SAAS/S,GAAEp1B,GAAExE,GAAE,CAAC,IAAIiN,EAAE2sB,GAAE,GAAG,KAAK,KAAK,OAAO55B,GAAEiN,EAAE,YAAa,EAACA,CAAC,EAAE,OAAOA,GAAE,QAAQgkD,EAAG,SAASr3B,GAAE3sB,GAAE,CAAC,OAAOA,IAAG,SAAS2sB,GAAE,CAAC,OAAOA,GAAC,CAAE,IAAI,KAAK,OAAO,OAAOp1B,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,OAAOlD,EAAE,EAAEkD,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOnD,GAAE,EAAE,IAAI,KAAK,OAAOC,EAAE,EAAED,GAAE,EAAE,EAAE,GAAG,EAAE,IAAI,MAAM,OAAO+gB,EAAEpiB,EAAE,YAAYqB,GAAEnC,GAAE,CAAC,EAAE,IAAI,OAAO,OAAOkjB,EAAEljB,GAAEmC,EAAC,EAAE,IAAI,IAAI,OAAOmD,EAAE,GAAG,IAAI,KAAK,OAAOlD,EAAE,EAAEkD,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAOA,EAAE,EAAE,EAAE,IAAI,KAAK,OAAO4d,EAAEpiB,EAAE,YAAYwE,EAAE,GAAGu+B,GAAE,CAAC,EAAE,IAAI,MAAM,OAAO3gB,EAAEpiB,EAAE,cAAcwE,EAAE,GAAGu+B,GAAE,CAAC,EAAE,IAAI,OAAO,OAAOA,GAAEv+B,EAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAO0L,EAAC,EAAE,IAAI,KAAK,OAAO5O,EAAE,EAAE4O,GAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAOgtB,GAAE,CAAC,EAAE,IAAI,KAAK,OAAOA,GAAE,CAAC,EAAE,IAAI,IAAI,OAAO8zB,GAAE9gD,GAAEmd,GAAE,EAAE,EAAE,IAAI,IAAI,OAAO2jC,GAAE9gD,GAAEmd,GAAE,EAAE,EAAE,IAAI,IAAI,OAAO,OAAOA,EAAC,EAAE,IAAI,KAAK,OAAO/rB,EAAE,EAAE+rB,GAAE,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO,OAAO7oB,EAAE,EAAE,EAAE,IAAI,KAAK,OAAOlD,EAAE,EAAEkD,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,MAAM,OAAOlD,EAAE,EAAEkD,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,OAAO/G,EAAC,CAAC,OAAO,IAAI,EAAEm8B,EAAC,GAAGn8B,GAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAE,EAAEolB,EAAE,UAAU,UAAU,CAAC,MAAO,IAAG,CAAC,KAAK,MAAM,KAAK,GAAG,kBAAmB,EAAC,EAAE,CAAC,EAAEA,EAAE,KAAK,SAAS5V,EAAEiwB,EAAEt6B,EAAE,CAAC,IAAIouD,GAAEC,GAAE,KAAKC,GAAE5vD,EAAE,EAAE47B,CAAC,EAAEra,GAAEyuC,GAAErkD,CAAC,EAAE1K,IAAGsgB,GAAE,UAAS,EAAG,KAAK,aAAare,EAAEuyB,GAAE,KAAKlU,GAAEsuC,GAAE,UAAU,CAAC,OAAO7vD,EAAE,EAAE2vD,GAAEpuC,EAAC,CAAC,EAAE,OAAOquC,GAAG,MAAK9uC,EAAE4uC,GAAEG,GAAC,EAAG,GAAG,MAAM,KAAKjyD,EAAE8xD,GAAEG,KAAI,MAAM,KAAKxkB,EAAEqkB,GAAEG,GAAC,EAAG,EAAE,MAAM,KAAKpuB,EAAEiuB,IAAGj6B,GAAEx0B,IAAG,OAAO,MAAM,KAAK,EAAEyuD,IAAGj6B,GAAEx0B,IAAG,MAAM,MAAM,KAAK8qB,EAAE2jC,GAAEj6B,GAAE/2B,EAAE,MAAM,KAAKkQ,EAAE8gD,GAAEj6B,GAAEvyB,EAAE,MAAM,KAAK/G,EAAEuzD,GAAEj6B,GAAE6C,EAAE,MAAM,QAAQo3B,GAAEj6B,EAAC,CAAC,OAAOn0B,EAAEouD,GAAE1vD,EAAE,EAAE0vD,EAAC,CAAC,EAAEnuC,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,MAAM3jB,CAAC,EAAE,EAAE,EAAE2jB,EAAE,QAAQ,UAAU,CAAC,OAAOsuC,GAAE,KAAK,EAAE,CAAC,EAAEtuC,EAAE,OAAO,SAAS+W,EAAEp1B,EAAE,CAAC,GAAG,CAACo1B,EAAE,OAAO,KAAK,GAAG,IAAI55B,EAAE,KAAK,QAAQiN,GAAEokD,GAAEz3B,EAAEp1B,EAAE,EAAE,EAAE,OAAOyI,KAAIjN,EAAE,GAAGiN,IAAGjN,CAAC,EAAE6iB,EAAE,MAAM,UAAU,CAAC,OAAOvhB,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,EAAEuhB,EAAE,OAAO,UAAU,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS,CAAC,EAAEA,EAAE,OAAO,UAAU,CAAC,OAAO,KAAK,QAAS,EAAC,KAAK,cAAc,IAAI,EAAEA,EAAE,YAAY,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,GAAEA,EAAE,SAAS,UAAU,CAAC,OAAO,KAAK,GAAG,YAAa,GAAEquC,CAAC,IAAI/sB,EAAEllC,EAAE,UAAU,OAAOqyD,GAAE,UAAUntB,EAAE,CAAC,CAAC,MAAMl3B,CAAC,EAAE,CAAC,KAAKxP,CAAC,EAAE,CAAC,KAAKyS,CAAC,EAAE,CAAC,KAAKmd,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAKnuB,CAAC,EAAE,CAAC,KAAKkjB,CAAC,EAAE,CAAC,KAAK8a,CAAC,CAAC,EAAE,QAAS,SAAStD,EAAE,CAACuK,EAAEvK,EAAE,CAAC,CAAC,EAAE,SAASp1B,EAAE,CAAC,OAAO,KAAK,GAAGA,EAAEo1B,EAAE,CAAC,EAAEA,EAAE,CAAC,CAAC,CAAC,CAAC,GAAI03B,GAAE,OAAO,SAAS13B,EAAEp1B,EAAE,CAAC,OAAOo1B,EAAE,KAAKA,EAAEp1B,EAAEvF,EAAEqyD,EAAC,EAAE13B,EAAE,GAAG,IAAI03B,EAAC,EAAEA,GAAE,OAAOD,GAAEC,GAAE,QAAQF,GAAEE,GAAE,KAAK,SAAS13B,EAAE,CAAC,OAAO03B,GAAE,IAAI13B,CAAC,CAAC,EAAE03B,GAAE,GAAGH,GAAEp6B,CAAC,EAAEu6B,GAAE,GAAGH,GAAEG,GAAE,EAAE,GAAGA,EAAC,CAAC,8ECAp/N,SAASrkD,EAAEzI,EAAE,CAAsDssD,EAAe,QAAAtsD,EAAuI,IAAEusD,GAAM,UAAU,CAAc,OAAO,SAAS9jD,EAAEzI,EAAE,EAAE,CAACyI,EAAEA,GAAG,CAAE,EAAC,IAAIjN,EAAEwE,EAAE,UAAUu+B,EAAE,CAAC,OAAO,QAAQ,KAAK,SAAS,EAAE,gBAAgB,EAAE,WAAW,GAAG,aAAa,EAAE,UAAU,GAAG,WAAW,EAAE,QAAQ,GAAG,UAAU,EAAE,UAAU,GAAG,YAAY,EAAE,SAAS,GAAG,UAAU,EAAE,SAAStlC,EAAEwP,EAAEzI,EAAEo1B,EAAEmJ,EAAE,CAAC,OAAO/iC,EAAE,WAAWiN,EAAEzI,EAAEo1B,EAAEmJ,CAAC,CAAC,CAAC,EAAE,GAAG,aAAaA,EAAE/iC,EAAE,WAAW,SAASwE,EAAExE,EAAEvC,EAAE,EAAE,EAAE,CAAC,QAAQkvC,EAAEtrC,EAAE6O,EAAEtN,EAAEnF,EAAE,QAAS,EAAC,cAAcslC,EAAE3gB,EAAEnV,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE4V,EAAET,EAAE,OAAOljB,EAAE,EAAEA,EAAE2jB,EAAE3jB,GAAG,EAAE,CAAC,IAAI+xD,EAAE7uC,EAAEljB,CAAC,EAAE+xD,EAAE,IAAItkB,EAAE,EAAE,EAAEnoC,CAAC,EAAE,KAAK/G,EAAEwzD,EAAE,EAAE,EAAE,EAAExzD,EAAE,KAAK+G,EAAEysD,EAAE,EAAE,EAAE,GAAG,IAAI5+C,IAAGpF,EAAE,UAAU,KAAK,OAAO,KAAK,IAAI0/B,CAAC,CAAC,EAAE,GAAGz8B,EAAEy8B,EAAE,EAAEt6B,IAAG4+C,EAAE,GAAG,CAACA,EAAE,EAAE,CAAC5+C,IAAG,GAAGnT,EAAE,IAAI+xD,EAAE7uC,EAAEljB,EAAE,CAAC,GAAG,IAAIqD,GAAEK,EAAEquD,EAAE,CAAC,EAAE,IAAI5+C,GAAE,EAAE,GAAGA,EAAC,GAAGhR,EAAY,OAAOkB,IAAjB,SAAmBA,GAAE,QAAQ,KAAK8P,EAAC,EAAE9P,GAAE8P,GAAErS,EAAEixD,EAAE,EAAE/gD,CAAC,EAAE,KAAK,CAAC,CAAC,GAAGlQ,EAAE,OAAOqB,EAAE,IAAI6vD,GAAEhhD,EAAEtN,EAAE,OAAOA,EAAE,KAAK,OAAkB,OAAOsuD,IAAnB,WAAqBA,GAAE7vD,CAAC,EAAE6vD,GAAE,QAAQ,KAAK7vD,CAAC,CAAC,EAAErB,EAAE,GAAG,SAASiN,EAAEzI,EAAE,CAAC,OAAO/G,EAAEwP,EAAEzI,EAAE,KAAK,EAAE,CAAC,EAAExE,EAAE,KAAK,SAASiN,EAAEzI,EAAE,CAAC,OAAO/G,EAAEwP,EAAEzI,EAAE,IAAI,CAAC,EAAE,IAAI04B,EAAE,SAASjwB,EAAE,CAAC,OAAOA,EAAE,GAAG,EAAE,IAAG,EAAG,EAAC,CAAE,EAAEjN,EAAE,MAAM,SAASiN,EAAE,CAAC,OAAO,KAAK,GAAGiwB,EAAE,IAAI,EAAEjwB,CAAC,CAAC,EAAEjN,EAAE,QAAQ,SAASiN,EAAE,CAAC,OAAO,KAAK,KAAKiwB,EAAE,IAAI,EAAEjwB,CAAC,CAAC,CAAC,CAAC,2DCE14CskD,GAAiB,cAA2B,KAAM,CAChD,YAAY1gB,EAAS,CACnB,MAAMA,CAAO,EACb,KAAK,KAAO,cACb,CACH,ECLAI,GAAiB,SAAeugB,EAAI,CAClC,IAAIv1B,EACJ,MAAMw1B,EAAU,IAAI,QAAS50C,GAAY,CACvCof,EAAU,WAAWpf,EAAS20C,CAAE,CACpC,CAAG,EACD,OAAAC,EAAQ,QAAUx1B,EACXw1B,CACT,ECPA,MAAMC,GAAeC,GACf1gB,GAAQ2gB,GAEd,IAAA31B,GAAiB,SAAiBw1B,EAASD,EAAI,CAC7C,MAAMK,EAAe5gB,GAAMugB,CAAE,EAE7B,SAASM,GAAc,CACrB,aAAaD,EAAa,OAAO,CAClC,CAED,OAAO,QAAQ,KAAK,CAClBJ,EAAQ,QAAQK,CAAW,EAC3BD,EAAa,KAAK,IAAM,CACtB,MAAM,IAAIH,EAChB,CAAK,CACL,CAAG,CACH,EChBA,MAAMA,GAAeC,GAErB,IAAAF,GAAiB,SAAiBM,EAAIl/B,EAAOm/B,EAAc,QAAS/1B,EAAS,CAC3E,OAAO,IAAI,QAAQ,CAACpf,EAASo1C,IAAW,CACtC,IAAIC,EAEJ,MAAMtsD,EAAU,IAAM,CACpB,aAAassD,CAAS,EACtBH,EAAG,eAAel/B,EAAOs/B,CAAO,EAChCJ,EAAG,eAAeC,EAAa5pB,CAAO,CAC5C,EAEI,SAASA,EAAQgqB,EAAQ,CACvBH,EAAOG,CAAM,EACbxsD,GACD,CAED,SAASusD,EAAQ5zD,EAAO,CACtBse,EAAQte,CAAK,EACbqH,GACD,CAEDmsD,EAAG,KAAKl/B,EAAOs/B,CAAO,EAClBH,GACFD,EAAG,KAAKC,EAAa5pB,CAAO,EAG1BnM,IACFi2B,EAAY,WAAW,IAAM,CAC3BtsD,IACAqsD,EAAO,IAAIP,EAAc,CAC1B,EAAEz1B,CAAO,EAEhB,CAAG,CACH,kBCbIo2B,GAAI,OAAO,SAAY,SAAW,QAAU,KAC5CC,GAAeD,IAAK,OAAOA,GAAE,OAAU,WACvCA,GAAE,MACF,SAAsB9rD,EAAQmD,EAAU5B,EAAM,CAC9C,OAAO,SAAS,UAAU,MAAM,KAAKvB,EAAQmD,EAAU5B,CAAI,CAC5D,EAECyqD,GACAF,IAAK,OAAOA,GAAE,SAAY,WAC5BE,GAAiBF,GAAE,QACV,OAAO,sBAChBE,GAAiB,SAAwBhsD,EAAQ,CAC/C,OAAO,OAAO,oBAAoBA,CAAM,EACrC,OAAO,OAAO,sBAAsBA,CAAM,CAAC,CAClD,EAEEgsD,GAAiB,SAAwBhsD,EAAQ,CAC/C,OAAO,OAAO,oBAAoBA,CAAM,CAC5C,EAGA,SAASisD,GAAmBC,EAAS,CAC/B,SAAW,QAAQ,MAAM,QAAQ,KAAKA,CAAO,CACnD,CAEA,IAAIC,GAAc,OAAO,OAAS,SAAqBn0D,EAAO,CAC5D,OAAOA,IAAUA,CACnB,EAEA,SAASo0D,IAAe,CACtBA,GAAa,KAAK,KAAK,IAAI,CAC7B,CACAC,GAAc,QAAGD,GACEC,GAAA,aAAGrjD,GAGtBojD,GAAa,aAAeA,GAE5BA,GAAa,UAAU,QAAU,OACjCA,GAAa,UAAU,aAAe,EACtCA,GAAa,UAAU,cAAgB,OAIvC,IAAIE,GAAsB,GAE1B,SAASC,GAActoB,EAAU,CAC/B,GAAI,OAAOA,GAAa,WACtB,MAAM,IAAI,UAAU,mEAAqE,OAAOA,CAAQ,CAE5G,CAEA,OAAO,eAAemoB,GAAc,sBAAuB,CACzD,WAAY,GACZ,IAAK,UAAW,CACd,OAAOE,EACR,EACD,IAAK,SAASlzD,EAAK,CACjB,GAAI,OAAOA,GAAQ,UAAYA,EAAM,GAAK+yD,GAAY/yD,CAAG,EACvD,MAAM,IAAI,WAAW,kGAAoGA,EAAM,GAAG,EAEpIkzD,GAAsBlzD,CACvB,CACH,CAAC,EAEDgzD,GAAa,KAAO,UAAW,EAEzB,KAAK,UAAY,QACjB,KAAK,UAAY,OAAO,eAAe,IAAI,EAAE,WAC/C,KAAK,QAAU,OAAO,OAAO,IAAI,EACjC,KAAK,aAAe,GAGtB,KAAK,cAAgB,KAAK,eAAiB,MAC7C,EAIAA,GAAa,UAAU,gBAAkB,SAAyB3yD,EAAG,CACnE,GAAI,OAAOA,GAAM,UAAYA,EAAI,GAAK0yD,GAAY1yD,CAAC,EACjD,MAAM,IAAI,WAAW,gFAAkFA,EAAI,GAAG,EAEhH,YAAK,cAAgBA,EACd,IACT,EAEA,SAAS+yD,GAAiBC,EAAM,CAC9B,OAAIA,EAAK,gBAAkB,OAClBL,GAAa,oBACfK,EAAK,aACd,CAEAL,GAAa,UAAU,gBAAkB,UAA2B,CAClE,OAAOI,GAAiB,IAAI,CAC9B,EAEAJ,GAAa,UAAU,KAAO,SAAcnsD,EAAM,CAEhD,QADIsB,EAAO,GACFrK,EAAI,EAAGA,EAAI,UAAU,OAAQA,IAAKqK,EAAK,KAAK,UAAUrK,CAAC,CAAC,EACjE,IAAIw1D,EAAWzsD,IAAS,QAEpB8jC,EAAS,KAAK,QAClB,GAAIA,IAAW,OACb2oB,EAAWA,GAAW3oB,EAAO,QAAU,eAChC,CAAC2oB,EACR,MAAO,GAGT,GAAIA,EAAS,CACX,IAAIC,EAGJ,GAFIprD,EAAK,OAAS,IAChBorD,EAAKprD,EAAK,CAAC,GACTorD,aAAc,MAGhB,MAAMA,EAGR,IAAIvuD,EAAM,IAAI,MAAM,oBAAsBuuD,EAAK,KAAOA,EAAG,QAAU,IAAM,GAAG,EAC5E,MAAAvuD,EAAI,QAAUuuD,EACRvuD,CACP,CAED,IAAI2d,EAAUgoB,EAAO9jC,CAAI,EAEzB,GAAI8b,IAAY,OACd,MAAO,GAET,GAAI,OAAOA,GAAY,WACrBgwC,GAAahwC,EAAS,KAAMxa,CAAI,MAIhC,SAFI4pB,EAAMpP,EAAQ,OACdioB,EAAY4oB,GAAW7wC,EAASoP,CAAG,EAC9Bj0B,EAAI,EAAGA,EAAIi0B,EAAK,EAAEj0B,EACzB60D,GAAa/nB,EAAU9sC,CAAC,EAAG,KAAMqK,CAAI,EAGzC,MAAO,EACT,EAEA,SAASsrD,GAAa7sD,EAAQC,EAAMgkC,EAAUrvB,EAAS,CACrD,IAAI0H,EACAynB,EACAhwB,EAsBJ,GApBAw4C,GAActoB,CAAQ,EAEtBF,EAAS/jC,EAAO,QACZ+jC,IAAW,QACbA,EAAS/jC,EAAO,QAAU,OAAO,OAAO,IAAI,EAC5CA,EAAO,aAAe,IAIlB+jC,EAAO,cAAgB,SACzB/jC,EAAO,KAAK,cAAeC,EACfgkC,EAAS,SAAWA,EAAS,SAAWA,CAAQ,EAI5DF,EAAS/jC,EAAO,SAElB+T,EAAWgwB,EAAO9jC,CAAI,GAGpB8T,IAAa,OAEfA,EAAWgwB,EAAO9jC,CAAI,EAAIgkC,EAC1B,EAAEjkC,EAAO,qBAEL,OAAO+T,GAAa,WAEtBA,EAAWgwB,EAAO9jC,CAAI,EACpB2U,EAAU,CAACqvB,EAAUlwB,CAAQ,EAAI,CAACA,EAAUkwB,CAAQ,EAE7CrvB,EACTb,EAAS,QAAQkwB,CAAQ,EAEzBlwB,EAAS,KAAKkwB,CAAQ,EAIxB3nB,EAAIkwC,GAAiBxsD,CAAM,EACvBsc,EAAI,GAAKvI,EAAS,OAASuI,GAAK,CAACvI,EAAS,OAAQ,CACpDA,EAAS,OAAS,GAGlB,IAAI+2C,EAAI,IAAI,MAAM,+CACE/2C,EAAS,OAAS,IAAM,OAAO9T,CAAI,EAAI,mEAEvB,EACpC6qD,EAAE,KAAO,8BACTA,EAAE,QAAU9qD,EACZ8qD,EAAE,KAAO7qD,EACT6qD,EAAE,MAAQ/2C,EAAS,OACnBk4C,GAAmBnB,CAAC,CACrB,CAGH,OAAO9qD,CACT,CAEAosD,GAAa,UAAU,YAAc,SAAqBnsD,EAAMgkC,EAAU,CACxE,OAAO4oB,GAAa,KAAM5sD,EAAMgkC,EAAU,EAAK,CACjD,EAEAmoB,GAAa,UAAU,GAAKA,GAAa,UAAU,YAEnDA,GAAa,UAAU,gBACnB,SAAyBnsD,EAAMgkC,EAAU,CACvC,OAAO4oB,GAAa,KAAM5sD,EAAMgkC,EAAU,EAAI,CACpD,EAEA,SAAS6oB,IAAc,CACrB,GAAI,CAAC,KAAK,MAGR,OAFA,KAAK,OAAO,eAAe,KAAK,KAAM,KAAK,MAAM,EACjD,KAAK,MAAQ,GACT,UAAU,SAAW,EAChB,KAAK,SAAS,KAAK,KAAK,MAAM,EAChC,KAAK,SAAS,MAAM,KAAK,OAAQ,SAAS,CAErD,CAEA,SAASC,GAAU/sD,EAAQC,EAAMgkC,EAAU,CACzC,IAAIt1B,EAAQ,CAAE,MAAO,GAAO,OAAQ,OAAW,OAAQ3O,EAAQ,KAAMC,EAAM,SAAUgkC,CAAQ,EACzF+oB,EAAUF,GAAY,KAAKn+C,CAAK,EACpC,OAAAq+C,EAAQ,SAAW/oB,EACnBt1B,EAAM,OAASq+C,EACRA,CACT,CAEAZ,GAAa,UAAU,KAAO,SAAcnsD,EAAMgkC,EAAU,CAC1D,OAAAsoB,GAActoB,CAAQ,EACtB,KAAK,GAAGhkC,EAAM8sD,GAAU,KAAM9sD,EAAMgkC,CAAQ,CAAC,EACtC,IACT,EAEAmoB,GAAa,UAAU,oBACnB,SAA6BnsD,EAAMgkC,EAAU,CAC3C,OAAAsoB,GAActoB,CAAQ,EACtB,KAAK,gBAAgBhkC,EAAM8sD,GAAU,KAAM9sD,EAAMgkC,CAAQ,CAAC,EACnD,IACb,EAGAmoB,GAAa,UAAU,eACnB,SAAwBnsD,EAAMgkC,EAAU,CACtC,IAAImP,EAAMrP,EAAQkd,EAAU/pD,EAAG+1D,EAK/B,GAHAV,GAActoB,CAAQ,EAEtBF,EAAS,KAAK,QACVA,IAAW,OACb,OAAO,KAGT,GADAqP,EAAOrP,EAAO9jC,CAAI,EACdmzC,IAAS,OACX,OAAO,KAET,GAAIA,IAASnP,GAAYmP,EAAK,WAAanP,EACrC,EAAE,KAAK,eAAiB,EAC1B,KAAK,QAAU,OAAO,OAAO,IAAI,GAEjC,OAAOF,EAAO9jC,CAAI,EACd8jC,EAAO,gBACT,KAAK,KAAK,iBAAkB9jC,EAAMmzC,EAAK,UAAYnP,CAAQ,WAEtD,OAAOmP,GAAS,WAAY,CAGrC,IAFA6N,EAAW,GAEN/pD,EAAIk8C,EAAK,OAAS,EAAGl8C,GAAK,EAAGA,IAChC,GAAIk8C,EAAKl8C,CAAC,IAAM+sC,GAAYmP,EAAKl8C,CAAC,EAAE,WAAa+sC,EAAU,CACzDgpB,EAAmB7Z,EAAKl8C,CAAC,EAAE,SAC3B+pD,EAAW/pD,EACX,KACD,CAGH,GAAI+pD,EAAW,EACb,OAAO,KAELA,IAAa,EACf7N,EAAK,MAAK,EAEV8Z,GAAU9Z,EAAM6N,CAAQ,EAGtB7N,EAAK,SAAW,IAClBrP,EAAO9jC,CAAI,EAAImzC,EAAK,CAAC,GAEnBrP,EAAO,iBAAmB,QAC5B,KAAK,KAAK,iBAAkB9jC,EAAMgtD,GAAoBhpB,CAAQ,CACjE,CAED,OAAO,IACb,EAEAmoB,GAAa,UAAU,IAAMA,GAAa,UAAU,eAEpDA,GAAa,UAAU,mBACnB,SAA4BnsD,EAAM,CAChC,IAAI+jC,EAAWD,EAAQ7sC,EAGvB,GADA6sC,EAAS,KAAK,QACVA,IAAW,OACb,OAAO,KAGT,GAAIA,EAAO,iBAAmB,OAC5B,OAAI,UAAU,SAAW,GACvB,KAAK,QAAU,OAAO,OAAO,IAAI,EACjC,KAAK,aAAe,GACXA,EAAO9jC,CAAI,IAAM,SACtB,EAAE,KAAK,eAAiB,EAC1B,KAAK,QAAU,OAAO,OAAO,IAAI,EAEjC,OAAO8jC,EAAO9jC,CAAI,GAEf,KAIT,GAAI,UAAU,SAAW,EAAG,CAC1B,IAAI6W,EAAO,OAAO,KAAKitB,CAAM,EACzBztC,EACJ,IAAKY,EAAI,EAAGA,EAAI4f,EAAK,OAAQ,EAAE5f,EAC7BZ,EAAMwgB,EAAK5f,CAAC,EACRZ,IAAQ,kBACZ,KAAK,mBAAmBA,CAAG,EAE7B,YAAK,mBAAmB,gBAAgB,EACxC,KAAK,QAAU,OAAO,OAAO,IAAI,EACjC,KAAK,aAAe,EACb,IACR,CAID,GAFA0tC,EAAYD,EAAO9jC,CAAI,EAEnB,OAAO+jC,GAAc,WACvB,KAAK,eAAe/jC,EAAM+jC,CAAS,UAC1BA,IAAc,OAEvB,IAAK9sC,EAAI8sC,EAAU,OAAS,EAAG9sC,GAAK,EAAGA,IACrC,KAAK,eAAe+I,EAAM+jC,EAAU9sC,CAAC,CAAC,EAI1C,OAAO,IACb,EAEA,SAASi2D,GAAWntD,EAAQC,EAAMmtD,EAAQ,CACxC,IAAIrpB,EAAS/jC,EAAO,QAEpB,GAAI+jC,IAAW,OACb,MAAO,GAET,IAAIspB,EAAatpB,EAAO9jC,CAAI,EAC5B,OAAIotD,IAAe,OACV,GAEL,OAAOA,GAAe,WACjBD,EAAS,CAACC,EAAW,UAAYA,CAAU,EAAI,CAACA,CAAU,EAE5DD,EACLE,GAAgBD,CAAU,EAAIT,GAAWS,EAAYA,EAAW,MAAM,CAC1E,CAEAjB,GAAa,UAAU,UAAY,SAAmBnsD,EAAM,CAC1D,OAAOktD,GAAW,KAAMltD,EAAM,EAAI,CACpC,EAEAmsD,GAAa,UAAU,aAAe,SAAsBnsD,EAAM,CAChE,OAAOktD,GAAW,KAAMltD,EAAM,EAAK,CACrC,EAEAmsD,GAAa,cAAgB,SAASmB,EAASttD,EAAM,CACnD,OAAI,OAAOstD,EAAQ,eAAkB,WAC5BA,EAAQ,cAActtD,CAAI,EAE1ButD,GAAc,KAAKD,EAASttD,CAAI,CAE3C,EAEAmsD,GAAa,UAAU,cAAgBoB,GACvC,SAASA,GAAcvtD,EAAM,CAC3B,IAAI8jC,EAAS,KAAK,QAElB,GAAIA,IAAW,OAAW,CACxB,IAAIspB,EAAatpB,EAAO9jC,CAAI,EAE5B,GAAI,OAAOotD,GAAe,WACxB,MAAO,GACF,GAAIA,IAAe,OACxB,OAAOA,EAAW,MAErB,CAED,MAAO,EACT,CAEAjB,GAAa,UAAU,WAAa,UAAsB,CACxD,OAAO,KAAK,aAAe,EAAIJ,GAAe,KAAK,OAAO,EAAI,EAChE,EAEA,SAASY,GAAW51D,EAAKyC,EAAG,CAE1B,QADIwvC,EAAO,IAAI,MAAMxvC,CAAC,EACbvC,EAAI,EAAGA,EAAIuC,EAAG,EAAEvC,EACvB+xC,EAAK/xC,CAAC,EAAIF,EAAIE,CAAC,EACjB,OAAO+xC,CACT,CAEA,SAASikB,GAAU9Z,EAAMzwC,EAAO,CAC9B,KAAOA,EAAQ,EAAIywC,EAAK,OAAQzwC,IAC9BywC,EAAKzwC,CAAK,EAAIywC,EAAKzwC,EAAQ,CAAC,EAC9BywC,EAAK,IAAG,CACV,CAEA,SAASka,GAAgBt2D,EAAK,CAE5B,QADIsD,EAAM,IAAI,MAAMtD,EAAI,MAAM,EACrBE,EAAI,EAAGA,EAAIoD,EAAI,OAAQ,EAAEpD,EAChCoD,EAAIpD,CAAC,EAAIF,EAAIE,CAAC,EAAE,UAAYF,EAAIE,CAAC,EAEnC,OAAOoD,CACT,CAEA,SAAS0O,GAAKukD,EAAS9yD,EAAM,CAC3B,OAAO,IAAI,QAAQ,SAAU6b,EAASo1C,EAAQ,CAC5C,SAAS+B,EAAcrvD,EAAK,CAC1BmvD,EAAQ,eAAe9yD,EAAMizD,CAAQ,EACrChC,EAAOttD,CAAG,CACX,CAED,SAASsvD,GAAW,CACd,OAAOH,EAAQ,gBAAmB,YACpCA,EAAQ,eAAe,QAASE,CAAa,EAE/Cn3C,EAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAEtC,CACIq3C,GAA+BJ,EAAS9yD,EAAMizD,EAAU,CAAE,KAAM,EAAI,CAAE,EAClEjzD,IAAS,SACXmzD,GAA8BL,EAASE,EAAe,CAAE,KAAM,EAAM,EAE1E,CAAG,CACH,CAEA,SAASG,GAA8BL,EAASxxC,EAASw4B,EAAO,CAC1D,OAAOgZ,EAAQ,IAAO,YACxBI,GAA+BJ,EAAS,QAASxxC,EAASw4B,CAAK,CAEnE,CAEA,SAASoZ,GAA+BJ,EAAS9yD,EAAMwpC,EAAUsQ,EAAO,CACtE,GAAI,OAAOgZ,EAAQ,IAAO,WACpBhZ,EAAM,KACRgZ,EAAQ,KAAK9yD,EAAMwpC,CAAQ,EAE3BspB,EAAQ,GAAG9yD,EAAMwpC,CAAQ,UAElB,OAAOspB,EAAQ,kBAAqB,WAG7CA,EAAQ,iBAAiB9yD,EAAM,SAASozD,EAAaz0D,EAAK,CAGpDm7C,EAAM,MACRgZ,EAAQ,oBAAoB9yD,EAAMozD,CAAY,EAEhD5pB,EAAS7qC,CAAG,CAClB,CAAK,MAED,OAAM,IAAI,UAAU,sEAAwE,OAAOm0D,CAAO,CAE9G,mBC9eAO,GAAiB,UAAoB,CACnC,KAAK,QAAU,IAAI,QAAQ,CAACx3C,EAASo1C,IAAW,CAC9C,KAAK,QAAUp1C,EACf,KAAK,OAASo1C,CAClB,CAAG,CACH,ECLA,MAAMh2B,GAAU01B,GACV1gB,GAAQ2gB,GACRF,GAAe4C,GACf7C,GAAU8C,GACV5B,GAAe6B,GACfH,GAAWI,GAEGnqB,GAAA,aAAGqoB,GACRroB,GAAA,QAAGrO,GACLqO,GAAA,MAAG2G,GACI3G,GAAA,aAAGonB,GACRpnB,GAAA,QAAGmnB,GAClBnnB,GAAA,SAAmB+pB,6BCZnBK,GAAA,OAAwB,SAAgBC,EAAO,CAoB7C,MAnBI,GAACA,GAKOA,EACT,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAC9B,WAAW,OAAO,SAAU,EAAE,EAGd,OAAO,gBAAgB,IAC3B,GAKjB,EASAD,GAAA,OAAwB,SAAgBC,EAAO,CAC7C,OAAIA,IAAU,KACL,KAGFA,EACJ,WAAW,aAAc,EAAE,EAC3B,WAAW,KAAM,OAAO,QAAQ,EAChC,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,EAC/B,WAAW,IAAK,OAAO,QAAQ,CACpC,EASAD,GAAA,SAA0B,SAAkBC,EAAO,CACjD,OAAIA,IAAU,KACL,KAGFA,EACJ,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,GAAG,EAC/B,WAAW,OAAO,SAAU,IAAI,CACrC,EC5EA,MAAMD,GAAW/C,GAUjB,IAAAiD,GAAA,MAAMC,EAAI,CACR,YAAYF,EAAOG,EAAQC,EAAU,CACnC,GAAI,OAAOD,GAAW,UAAY,CAACA,EACjC,MAAM,IAAI,UAAU,iBAAiB,EAGvC,KAAK,UAAUA,CAAM,EACrB,KAAK,SAAS,OAAOH,GAAU,SAAWA,EAAQ,EAAE,EACpD,KAAK,YAAY,OAAOI,GAAa,SAAWA,EAAW,EAAE,CAC9D,CAED,CAAC,OAAO,WAAW,EAAEC,EAAM,CACzB,OAAIA,IAAS,SACJ,IAGF,KAAK,UACb,CAED,SAASC,EAAU,CACjB,IAAI/kD,EAAI,KAAK,QACb,OAAI,KAAK,SACPA,EAAI,KAAK,SAAS+kD,CAAQ,EAAI,IAAM/kD,GAGlC,KAAK,YACPA,EAAIA,EAAI,IAAM,KAAK,WAGdA,CACR,CAKD,MAAO,CACL,OAAI,KAAK,UACA,IAAI2kD,GAAI,KAAK,OAAQ,KAAK,QAAS,IAAI,EAGzC,IACR,CAKD,OAAOK,EAAO,CACZ,OACE,KAAK,SAAWA,EAAM,QACtB,KAAK,UAAYA,EAAM,SACvB,KAAK,YAAcA,EAAM,SAE5B,CAKD,SAASP,EAAOQ,EAAQ,CACtB,OAAAA,EAASA,GAAUT,GAAS,OAAOC,CAAK,EAEpCQ,IACFR,EAAQD,GAAS,OAAOC,CAAK,GAG/B,KAAK,OAASA,GAASA,EAAM,YAAW,EACjC,IACR,CAED,SAASM,EAAW,GAAO,CACzB,IAAIN,EAAQ,KAEZ,OAAAA,EAAQM,EAAWP,GAAS,SAAS,KAAK,MAAM,EAAI,KAAK,OAElDC,CACR,CAKD,UAAUG,EAAQ,CAChB,YAAK,QAAUA,EAAO,cACf,IACR,CAED,WAAY,CACV,OAAO,KAAK,OACb,CAKD,YAAYC,EAAU,CACpB,YAAK,UAAYA,EACV,IACR,CAED,aAAc,CACZ,OAAO,KAAK,SACb,CACH,EAEA,OAAO,eAAeF,GAAI,UAAW,QAAS,CAC5C,IAAKA,GAAI,UAAU,SACnB,IAAKA,GAAI,UAAU,QACrB,CAAC,EAED,OAAO,eAAeA,GAAI,UAAW,SAAU,CAC7C,IAAKA,GAAI,UAAU,UACnB,IAAKA,GAAI,UAAU,SACrB,CAAC,EAED,OAAO,eAAeA,GAAI,UAAW,WAAY,CAC/C,IAAKA,GAAI,UAAU,YACnB,IAAKA,GAAI,UAAU,WACrB,CAAC,EAED,IAAAO,GAAiBP,GC9HjB,MAAMA,GAAMlD,GAEZ,IAAA0D,GAAiB,SAAenlD,EAAG,CACjC,IAAIykD,EACAI,EAEJ,MAAMO,EAAgBplD,EAAE,QAAQ,GAAG,EAC/BolD,IAAkB,KACpBP,EAAW7kD,EAAE,MAAMolD,EAAgB,CAAC,EACpCplD,EAAIA,EAAE,MAAM,EAAGolD,CAAa,GAG9B,MAAMC,EAAUrlD,EAAE,QAAQ,GAAG,EAC7B,OAAIqlD,IAAY,KACdZ,EAAQzkD,EAAE,MAAM,EAAGqlD,CAAO,EAC1BrlD,EAAIA,EAAE,MAAMqlD,EAAU,CAAC,GAGlB,IAAIV,GAAIF,EAAOzkD,EAAG6kD,CAAQ,CACnC,ECnBA,MAAMF,GAAMlD,GACN+C,GAAW9C,GACXyD,GAAQf,GAEd,SAASrmB,MAAOnmC,EAAM,CACpB,MAAI,CAACA,EAAK,CAAC,GAAK,CAACA,EAAK,CAAC,EACdutD,GAAM,GAAGvtD,CAAI,EAGf,IAAI+sD,GAAI,GAAG/sD,CAAI,CACxB,CAEA0tD,GAAA,QAAiBvnB,GAAI,OACHunB,GAAA,YAAGvnB,GACHunB,GAAA,YAAGX,GACrBW,GAAA,cAAuB,SAAen0D,EAAGC,EAAG,CAC1C,OAAOD,EAAE,OAAOC,CAAC,CACnB,EAEAk0D,GAAA,qBAA8Bd,GAAS,OACvCc,GAAA,oBAA6Bd,GAAS,OACtCc,GAAA,sBAA+Bd,GAAS,SACxCc,GAAA,cAAuBH,2CCtBvB,MAAMI,GAAiB,CACrB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,QACP,EAEA,SAASC,GAAiBC,EAAO,CAC/B,OAAOF,GAAeE,CAAK,CAC7B,CAEA,MAAMC,GAAmB,CACvB,QAAS,IACT,OAAQ,IACR,OAAQ,IACR,SAAU,IACV,SAAU,GACZ,EAEA,SAASC,GAAmBF,EAAO,CACjC,GAAIA,EAAM,CAAC,IAAM,IAAK,CACpB,MAAM5N,EACJ4N,EAAM,CAAC,IAAM,IACT,SAASA,EAAM,MAAM,CAAC,EAAG,EAAE,EAC3B,SAASA,EAAM,MAAM,CAAC,EAAG,EAAE,EAGjC,GACE5N,IAAQ,GACRA,IAAQ,IACRA,IAAQ,IACPA,GAAO,IAAQA,GAAO,OACtBA,GAAO,OAAUA,GAAO,OACxBA,GAAO,OAAWA,GAAO,QAE1B,OAAO,OAAO,cAAcA,CAAG,EAEjC,MAAM,IAAI,MAAM,2BAA6BA,EAAI,SAAS,EAAE,CAAC,CAC9D,CACD,GAAI6N,GAAiBD,CAAK,EACxB,OAAOC,GAAiBD,CAAK,GAAKA,EAEpC,MAAM,IAAI,MAAM,sBAAwBA,CAAK,CAC/C,CAEA,SAASG,GAAU5lD,EAAG,CACpB,OAAOA,EAAE,QAAQ,WAAYwlD,EAAgB,CAC/C,CAEA,SAASK,GAAY7lD,EAAG,CACtB,IAAIvH,EAAS,GACT6J,EAAQ,GACRC,EAAM,GACNujD,EAAW,EACf,MACGxjD,EAAQtC,EAAE,QAAQ,IAAK8lD,CAAQ,KAAO,KACtCvjD,EAAMvC,EAAE,QAAQ,IAAKsC,EAAQ,CAAC,KAAO,IAEtC7J,EACEA,EACAuH,EAAE,MAAM8lD,EAAUxjD,CAAK,EACvBqjD,GAAmB3lD,EAAE,MAAMsC,EAAOC,EAAM,CAAC,CAAC,EAC5CujD,EAAWvjD,EAAM,EAKnB,OAAIujD,IAAa,EAAU9lD,GAG3BvH,EAASA,EAASuH,EAAE,UAAU8lD,CAAQ,EAE/BrtD,EACT,CAEA,SAASstD,GAAc/lD,EAAG,CACxB,OAAOA,EAAE,QAAQ,SAAUwlD,EAAgB,CAC7C,CAEA,SAASQ,GAAgBhmD,EAAG,CAC1B,OAAOA,EAAE,QAAQ,6BAA8B2lD,EAAkB,CACnE,CAEiBM,GAAA,UAAGL,GACCK,GAAA,cAAGF,GACLE,GAAA,YAAGJ,GACtBI,GAAA,gBAA0BD,GCvF1B,IAAIf,GAASxD,GAQb,IAAAyE,GAAA,MAAMC,EAAQ,CACZ,YAAYr1D,EAAMwkB,EAAO,CACvB,KAAK,KAAOxkB,EACZ,KAAK,OAAS,KACd,KAAK,SAAW,GAChB,KAAK,MAAQ,GACb,KAAK,SAASwkB,CAAK,CACpB,CAOD,GAAGxkB,EAAMs1D,EAAO,CACd,OAAO,KAAK,QAAS,IAAKt1D,IAAS,CAACs1D,GAAS,KAAK,UAAYA,EAC/D,CAGD,SAAU,CACR,MAAM5wB,EAAM,KAAK,KAAK,QAAQ,GAAG,EACjC,OAAOA,GAAO,EAAI,KAAK,KAAK,MAAMA,EAAM,CAAC,EAAI,KAAK,IACnD,CAKD,OAAQ,CACN,MAAMA,EAAM,KAAK,KAAK,QAAQ,GAAG,EACjC,GAAIA,GAAO,EAAG,CACZ,MAAM6wB,EAAS,KAAK,KAAK,MAAM,EAAG7wB,CAAG,EACrC,OAAO,KAAK,OAAO6wB,CAAM,CAC1B,CACD,OAAO,KAAK,QACb,CAKD,OAAOA,EAAQ,CACb,GAAKA,EAOE,CAEL,MAAMC,EAAO,SAAWD,EACxB,GAAI,KAAK,MAAMC,CAAI,EACjB,OAAO,KAAK,MAAMA,CAAI,EACjB,GAAI,KAAK,OACd,OAAO,KAAK,OAAO,OAAOD,CAAM,CAEnC,KAfY,CAEX,GAAI,KAAK,MAAM,MACb,OAAO,KAAK,MAAM,MACb,GAAI,KAAK,OACd,OAAO,KAAK,OAAO,QAE3B,CASG,CAKD,UAAW,CACT,IAAIE,EAAa,GAEb,KAAK,SACPA,EAAa,KAAK,OAAO,YAG3B,UAAWD,KAAQ,KAAK,MAAO,CAC7B,MAAM3zC,EAAI2zC,EAAK,MAAM,aAAa,EAE9B,KAAK,MAAM,eAAeA,CAAI,GAAK3zC,IACrC4zC,EAAW,KAAK,MAAMD,CAAI,CAAC,EAAI3zC,EAAE,CAAC,EAErC,CACD,OAAO4zC,CACR,CAED,SAASjxC,EAAO,CACV,OAAOA,GAAU,SACnB,KAAK,MAAM,MAAQA,EACVA,GACT,OAAO,OAAO,KAAK,MAAOA,CAAK,CAElC,CAKD,QAAQxkB,EAAMs1D,EAAO,CACnB,GAAI,CAACA,EACH,OAAO,KAAK,MAAMt1D,CAAI,EAGxB,MAAMy1D,EAAa,KAAK,WAExB,OAAKA,EAAWH,CAAK,EAId,KAAK,MAAM,CAACG,EAAWH,CAAK,EAAGt1D,CAAI,EAAE,KAAK,GAAG,CAAC,EAH5C,IAIV,CAKD,SAASA,EAAMs1D,EAAO,CACpB,OAAO,KAAK,YAAYt1D,EAAMs1D,CAAK,EAAE,CAAC,CACvC,CAKD,YAAYt1D,EAAMs1D,EAAO,CACvB,MAAM3tD,EAAS,GACf,UAAWoN,KAAS,KAAK,SAErBA,EAAM,SACNA,EAAM,QAAO,IAAO/U,IACnB,CAACs1D,GAASvgD,EAAM,MAAK,IAAOugD,IAE7B3tD,EAAO,KAAKoN,CAAK,EAGrB,OAAOpN,CACR,CAKD,eAAe6tD,EAAM15D,EAAKw5D,EAAOI,EAAW,CAC1C,OAAO,KAAK,kBAAkBF,EAAM15D,EAAKw5D,EAAOI,CAAS,EAAE,CAAC,CAC7D,CAKD,kBAAkBF,EAAM15D,EAAKw5D,EAAOI,EAAW,CAC7C,IAAI/tD,EAAS,GACb,UAAWoN,KAAS,KAAK,SAErBA,EAAM,OACNA,EAAM,MAAMygD,CAAI,IAAM15D,IACrB,CAACw5D,GAASvgD,EAAM,MAAK,IAAOugD,IAE7B3tD,EAAO,KAAKoN,CAAK,EAEf2gD,GAAa3gD,EAAM,mBACrBpN,EAAO,KAAKoN,EAAM,kBAAkBygD,EAAM15D,EAAKw5D,EAAO,EAAI,CAAC,EAG/D,OAAII,IACF/tD,EAASA,EAAO,QAEXA,CACR,CAED,oBAAoBglC,EAAQ+oB,EAAW,CACrC,IAAI/tD,EAAS,GACb,UAAWoN,KAAS,KAAK,SACnB43B,EAAO53B,CAAK,GACdpN,EAAO,KAAKoN,CAAK,EAEf2gD,GAAa3gD,EAAM,qBACrBpN,EAAO,KAAKoN,EAAM,oBAAoB43B,EAAQ,EAAI,CAAC,EAGvD,OAAI+oB,IACF/tD,EAASA,EAAO,QAEXA,CACR,CAED,SAAU,CACR,IAAIstB,EAAO,GACX,UAAWlgB,KAAS,KAAK,UACnB,OAAOA,GAAU,UAAY,OAAOA,GAAU,YAChDkgB,GAAQlgB,GAGZ,OAAOkgB,CACR,CAED,aAAaj1B,EAAMs1D,EAAO,CACxB,MAAMvgD,EAAQ,KAAK,SAAS/U,EAAMs1D,CAAK,EACvC,OAAOvgD,EAAQA,EAAM,QAAO,EAAK,IAClC,CAOD,kBAAmB,CACjB,OAAO,KAAK,oBAAqBA,GACxBA,aAAiBsgD,EACzB,CACF,CAKD,MAAO,CACL,OAAI,KAAK,OACA,KAAK,OAAO,OAEd,IACR,CAGD,IAAK,CACH,OAAI,KAAK,OACA,KAAK,OAEP,IACR,CAGD,EAAEr1D,EAAMwkB,EAAO,CACb,OAAO,KAAK,MAAM,IAAI6wC,GAAQr1D,EAAMwkB,CAAK,CAAC,CAC3C,CAED,MAAMzP,EAAO,CACX,YAAK,SAAS,KAAKA,CAAK,EACpB,OAAOA,GAAU,WACnBA,EAAM,OAAS,MAEVA,CACR,CAED,UAAU4gD,EAAO,CACf,UAAWz9B,KAAQy9B,EACjB,KAAK,SAAS,KAAKz9B,CAAI,EACnB,OAAOA,GAAS,WAClBA,EAAK,OAAS,KAGnB,CAED,WAAWy9B,EAAO,CAChB,UAAWz9B,KAAQy9B,EACjB,KAAK,SAAS,QAAQz9B,CAAI,EACtB,OAAOA,GAAS,WAClBA,EAAK,OAAS,KAGnB,CAGD,EAAEjD,EAAM,CACN,YAAK,SAAS,KAAKA,CAAI,EAChB,IACR,CASD,OAAOz4B,EAAI84D,EAAO,CAChB,MAAM3oB,EACJ,OAAOnwC,GAAO,SACTuY,GAEQ,EAAEA,EAAM,IAAMA,EAAM,GAAGvY,EAAI84D,CAAK,GAExCvgD,GAEQA,IAAUvY,EAGzB,YAAK,SAAW,KAAK,SAAS,OAAOmwC,CAAM,EAEpC,IACR,CAED,KAAK7wC,EAAK,CACR,OAAIA,GAAO,KAAK,SAAS,SAAW,GAClC,KAAK,SAAS,CAAC,EAAIA,EACZ,MAEF,KAAK,SACb,CAED,KAAK05D,EAAM15D,EAAK,CACd,OAAI,OAAOA,EAAQ,KAAeA,IAAQ,MACnC,KAAK,QACR,KAAK,MAAQ,IAEf,KAAK,MAAM05D,CAAI,EAAI15D,EACZ,MAEF,KAAK,MAAM05D,CAAI,CACvB,CAID,UAAW,CACT,IAAItmD,EAAI,GACR,YAAK,MAAOhR,GAAM,CAChBgR,GAAKhR,CACX,CAAK,EACMgR,CACR,CAED,aAAa0mD,EAAQ,CACnBA,EAAO,GAAG,EACV,UAAW7gD,KAAS,KAAK,SAEnBA,GAAS,OACPA,EAAM,MACRA,EAAM,MAAM6gD,CAAM,EACT,OAAO7gD,GAAU,SAC1B6gD,EAAOzB,GAAO,cAAcp/C,CAAK,CAAC,EACzBA,EAAM,UACf6gD,EAAOzB,GAAO,cAAcp/C,EAAM,SAAS,EAAE,CAAC,CAAC,GAIrD6gD,EAAO,IAAI,EACXA,EAAO,KAAK,IAAI,EAChBA,EAAO,GAAG,CACX,CAED,MAAMA,EAAQ,CACZA,EAAO,GAAG,EACVA,EAAO,KAAK,IAAI,EAChB,UAAWzyB,KAAK,KAAK,MAAO,CAC1B,MAAM5hC,EAAI,KAAK,MAAM4hC,CAAC,EAElB5hC,GAAK,OACPq0D,EAAO,GAAG,EACVA,EAAOzyB,CAAC,EACRyyB,EAAO,IAAI,EACXA,EAAOzB,GAAO,UAAU,OAAO5yD,GAAM,SAAWA,EAAIA,EAAE,SAAS,EAAE,CAAC,CAAC,EACnEq0D,EAAO,GAAG,EAEb,CACG,KAAK,SAAS,SAAW,EAC3BA,EAAO,IAAI,EAEX,KAAK,aAAaA,CAAM,CAE3B,CACH,EAEAP,GAAQ,UAAU,KAAOA,GAAQ,UAAU,KAE3C,IAAAQ,GAAiBR,GCtWbA,GAAU1E,GAEd,SAASmF,GAAOt5D,EAAIuY,EAAO,CACzB,GAAI,MAAM,QAAQA,CAAK,EAAG,CACxB,UAAW7W,KAAK6W,EAAO+gD,GAAOt5D,EAAI0B,CAAC,EACnC,MACD,CAEG6W,IAAU,IAAMA,GAAS,MAAQA,IAAU,IAAQA,IAAU,IAIjEvY,EAAG,MAAMuY,CAAK,CAChB,CAUA,SAASghD,GAAc/1D,EAAMwkB,KAAU3P,EAAU,CAC/C,GAAI,OAAO2P,GAAU,UAAYA,IAAU,KAAM,CAK/C,OAAOA,EAAM,SACb,OAAOA,EAAM,OAEb,SAAW,CAAC3oB,EAAK0B,CAAK,IAAK,OAAO,QAAQinB,CAAK,EACzCjnB,GAAS,KAAM,OAAOinB,EAAM3oB,CAAG,EAC9B2oB,EAAM3oB,CAAG,EAAI0B,EAAM,SAAS,EAAE,CAEtC,CAED,MAAMf,EAAK,IAAI64D,GAAQr1D,EAAMwkB,CAAK,EAElC,UAAWzP,KAASF,EAClBihD,GAAOt5D,EAAIuY,CAAK,EAGlB,OAAOvY,CACT,CAEA,IAAAw5D,GAAiBD,GC/CbzsB,GAASqnB,GACTwD,GAASvD,GAEb,MAAMqF,GAAa,EACbC,GAAuB,EACvBC,GAA2B,EAC3BC,GAAiB,EACjBC,GAAY,EACZC,GAAkB,EAClBC,GAAgB,EAChBC,GAAkB,EAClBC,GAAmB,EACnBC,GAAc,EACdC,GAAqB,GAE3B,MAAMC,WAAettB,GAAO,YAAa,CACvC,aAAc,CACZ,QACA,IAAIp1B,EAAQ+hD,GACRY,EACAC,EACAp0B,EACAle,EACAuyC,EACAC,EACAC,EACAC,EACAC,EAAc,EACdt5B,EAEJ,KAAK,kBAAoB,SACvBk5B,EACAr0B,EACAle,EACA,CACKuyC,EAMH,KAAK,KAAK,aAAcr0B,EAAS,EAAK,GALtC,KAAK,KAAK,eAAgBA,EAASle,CAAK,EACpCwyC,GACF,KAAK,KAAK,aAAct0B,EAAS,EAAI,EAK/C,EAEI,KAAK,MAAQ,SAAe3kB,EAAM,CAC5B,OAAOA,GAAS,WAClBA,EAAOA,EAAK,YAEd,IAAI0qC,EAAM,EAGNoO,IACF94C,EAAO84C,EAAY94C,EACnB0qC,GAAQqO,EAAoC,EAAnBD,EAAU,OACnCC,EAAiB,GACjBD,EAAY,MAGd,SAASO,GAAe,CACtB,GAAI,OAAOD,GAAgB,SAAU,CACnC,MAAME,EAAWt5C,EAAK,MAAMo5C,EAAa1O,CAAG,EAC5C,OAAA0O,EAAc,OACPE,CACR,CACF,CAED,KAAO5O,EAAM1qC,EAAK,OAAQ0qC,IAAO,CAC/B,OAAQv0C,EAAK,CACX,KAAK+hD,GAAY,CAGf,MAAMqB,EAAKv5C,EAAK,QAAQ,IAAK0qC,CAAG,EAC5B6O,IAAO,IAAM7O,IAAQ6O,IACvB7O,EAAM6O,GAGR,KACD,CACD,KAAKb,GAAkB,CAGrB,MAAMc,EAAOx5C,EAAK,QAAQm5C,EAAezO,CAAG,EACxC8O,IAAS,KACX9O,EAAM8O,GAGR,KACD,CACD,KAAKrB,GAAsB,CAGzB,MAAMsB,EAAaz5C,EAAK,QAAQ,MAAO0qC,CAAG,EACtC+O,IAAe,KACjB/O,EAAM+O,EAAa,GAGrB,KACD,CACD,KAAKb,GAAoB,CAGvB,MAAMc,EAAW15C,EAAK,QAAQ,MAAO0qC,CAAG,EACpCgP,IAAa,KACfhP,EAAMgP,EAAW,GAGnB,KACD,CAEF,CAED,MAAMv5D,EAAI6f,EAAK,WAAW0qC,CAAG,EAC7B,OAAQv0C,EAAK,CACX,KAAK+hD,GACH,GAAI/3D,IAAM,GAAY,CACpB,MAAM+2B,EAAOmiC,IACTniC,GACF,KAAK,KAAK,OAAQk/B,GAAO,YAAYl/B,CAAI,CAAC,EAE5C/gB,EAAQkiD,GACRe,EAAc1O,EAAM,EACpBjkC,EAAQ,EACT,CACD,MACF,KAAKkyC,GACH,GAAIx4D,IAAM,GACR,GAAI6f,EAAK,OAAO0qC,EAAM,EAAG,CAAC,IAAM,KAAM,CACpC,MAAMiP,EAAQN,IACVM,GACF,KAAK,KAAK,OAAQA,CAAK,EAEzBxjD,EAAQ+hD,EACT,MAAUl4C,EAAK,OAAS0qC,EAAM,IAC7BqO,EAAiB,GACjBrO,EAAM1qC,EAAK,QAGf,MACF,KAAKq4C,GACCl4D,IAAM,IAAci5D,IAAgB1O,GACtC0O,EAAc1O,EAAM,EACpBsO,EAAS,IACA74D,IAAM,GACX6f,EAAK,OAAO0qC,EAAM,EAAG,CAAC,IAAM,WAC9B0O,EAAc1O,EAAM,EACpBv0C,EAAQwiD,IAER34C,EAAK,OAAS0qC,EAAM,GACpB,UAAU,WAAW1qC,EAAK,MAAM0qC,EAAM,CAAC,CAAC,GAGxCqO,EAAiB,GACjBrO,EAAM1qC,EAAK,SAEXo5C,EAAc,OACdjjD,EAAQgiD,IAEDh4D,IAAM,IACfi5D,EAAc,OACdjjD,EAAQiiD,KACCj4D,GAAK,IAAMA,IAAM,IAAcA,IAAM,MAC9CwkC,EAAU00B,EAAY,EACtB3O,IACAv0C,EAAQmiD,IAEV,MACF,KAAKH,GACH,GAAIh4D,IAAM,GAAY,CACpB,MAAMy5D,EAAY55C,EAAK,WAAW0qC,EAAM,CAAC,EACnCmP,EAAa75C,EAAK,WAAW0qC,EAAM,CAAC,GAEvCkP,IAAc,IAAcC,IAAe,IAC3CD,IAAc,IAAcC,IAAe,MAE5C1jD,EAAQ+hD,GAEX,CACD,MACF,KAAKE,GACCj4D,IAAM,IACK6f,EAAK,WAAW0qC,EAAM,CAAC,IACvB,KACXv0C,EAAQ+hD,IAGZ,MACF,KAAKI,GACCn4D,IAAM,IACR,KAAK,kBAAkB64D,EAAQr0B,EAASle,CAAK,EAC7Cke,EAAU,OACVle,EAAQ,OACRuyC,EAAS,OACTC,EAAc,OACd9iD,EAAQ+hD,GACRkB,EAAc1O,EAAM,GACXvqD,IAAM,GACf84D,EAAc,GACL94D,EAAI,KACbi5D,EAAc1O,EACdv0C,EAAQoiD,IAEV,MACF,KAAKA,IACCp4D,GAAK,IAAMA,IAAM,MACnB2/B,EAAWu5B,EAAY,EACvB3O,IACAv0C,EAAQqiD,IAEV,MACF,KAAKA,GACCr4D,IAAM,KACRgW,EAAQsiD,IAEV,MACF,KAAKA,IACCt4D,IAAM,IAAcA,IAAM,MAC5B+4D,EAAY/4D,EACZg5D,EAAgBh5D,IAAM,GAAK,IAAM,IACjCgW,EAAQuiD,GACRU,EAAc1O,EAAM,GAEtB,MACF,KAAKgO,GACH,GAAIv4D,IAAM+4D,EAAW,CACnB,MAAM15D,EAAQ42D,GAAO,YAAYiD,EAAc,GAC/C5yC,EAAMqZ,CAAQ,EAAItgC,EAClBsgC,EAAW,OACX3pB,EAAQmiD,EACT,CACD,KACH,CACF,CAEG,OAAOc,GAAgB,UAAYA,GAAep5C,EAAK,SACzD84C,EAAY94C,EAAK,MAAMo5C,CAAW,EAClCA,EAAc,EAEtB,CACG,CAED,IAAIp5C,EAAM,CACJA,GACF,KAAK,MAAMA,CAAI,EAIjB,KAAK,MAAQ,UAAiB,EAC/B,CACH,CAEA,IAAA85C,GAAiBjB,GC3PjBkB,GAAiB,cAAuB,KAAM,CAC5C,eAAehxD,EAAM,CACnB,MAAM,GAAGA,CAAI,EACb,KAAK,KAAO,UACb,CACH,ECLA,MAAMixD,GAAYpH,GACZ0E,GAAUzE,GACVe,GAAe2B,GACf0E,GAAWzE,UAEjB,cAAqB5B,EAAa,CAChC,aAAc,CACZ,QACA,MAAMsG,EAAS,IAAIF,GACnB,KAAK,KAAO,KACZ,KAAK,OAAS,KAEdE,EAAO,GAAG,eAAgB,KAAK,eAAe,KAAK,IAAI,CAAC,EACxDA,EAAO,GAAG,aAAc,KAAK,aAAa,KAAK,IAAI,CAAC,EACpDA,EAAO,GAAG,OAAQ,KAAK,OAAO,KAAK,IAAI,CAAC,EAExC,KAAK,OAASA,CACf,CAED,eAAej4D,EAAMwkB,EAAO,CAC1B,MAAMyzB,EAAU,IAAIod,GAAQr1D,EAAMwkB,CAAK,EAEjC,CAAE,KAAAuI,EAAM,OAAAmrC,CAAQ,EAAG,KAEpBnrC,EAGMmrC,IAAWnrC,GACpBmrC,EAAO,OAAOjgB,CAAO,GAHrB,KAAK,KAAOA,EACZ,KAAK,KAAK,QAASA,CAAO,GAK5B,KAAK,OAASA,CACf,CAED,aAAaj4C,EAAM,CACjB,KAAM,CAAE,KAAA+sB,EAAM,OAAAmrC,CAAQ,EAAG,KACzB,GAAIl4D,IAASk4D,EAAO,KAAM,CAExB,KAAK,KAAK,QAAS,IAAIF,GAAS,GAAGE,EAAO,IAAI,kBAAkB,CAAC,EACjE,MACD,CAED,GAAIA,IAAWnrC,EAAM,CACnB,KAAK,KAAK,MAAOA,CAAI,EACrB,MACD,CAED,GAAI,CAACmrC,EAAO,OAAQ,CAClBA,EAAO,OAASnrC,EAChB,KAAK,KAAK,UAAWmrC,CAAM,EAC3B,KAAK,OAASnrC,EACd,MACD,CAED,KAAK,OAASmrC,EAAO,MACtB,CAED,OAAOv8D,EAAK,CACV,KAAM,CAAE,OAAAu8D,CAAQ,EAAG,KACnB,GAAI,CAACA,EAAQ,CACX,KAAK,KAAK,QAAS,IAAIF,GAAS,GAAGr8D,CAAG,mBAAmB,CAAC,EAC1D,MACD,CAEDu8D,EAAO,EAAEv8D,CAAG,CACb,CAED,MAAMoiB,EAAM,CACV,KAAK,OAAO,MAAMA,CAAI,CACvB,CAED,IAAIA,EAAM,CACJA,GACF,KAAK,OAAO,MAAMA,CAAI,CAEzB,CACH,EAEAo6C,GAAO,SAAWH,GAElB,IAAAI,GAAiBD,gBChFjB,MAAM9C,EAAU1E,GACVoF,EAAgBnF,GAChBuH,EAAS7E,GACT,CACJ,UAAAwB,EACA,YAAAC,EACA,cAAAE,EACA,gBAAAC,CACD,EAAG3B,GACEyE,EAAWxE,GAEjB,SAAS6E,KAAOvxD,EAAM,CACpB,OAAOivD,EAAc,GAAGjvD,CAAI,CAC7B,CAEDgpD,EAAA,QAAiBuI,EAEjB,OAAO,OAAOvI,EAAO,QAAS,CAC5B,QAAAuF,EACA,cAAAU,EACA,OAAAoC,EACA,UAAArD,EACA,YAAAC,EACA,cAAAE,EACA,gBAAAC,EACA,SAAA8C,CACF,CAAC,iCCxBD,cAAwB,KAAM,CAC5B,YAAYM,EAAWrjC,EAAMsjC,EAAa,CACxC,MAAMD,GAAarjC,EAAO,MAAMA,CAAI,GAAK,GAAG,EAC5C,KAAK,KAAO,YACZ,KAAK,UAAYqjC,EACjB,KAAK,KAAOrjC,EACZ,KAAK,YAAcsjC,CACpB,CAED,OAAO,YAAYtgB,EAAS,CAC1B,KAAM,CAACqgB,EAAW7U,EAAQ+U,CAAK,EAAIvgB,EAAQ,mBAC3C,IAAIhjB,EACAsjC,EAEA9U,IACEA,EAAO,GAAG,MAAM,EAClBxuB,EAAOwuB,EACEA,IACT8U,EAAc9U,GAGZ+U,IAAOD,EAAcC,IAG3B,MAAM90D,EAAQ,IAAI,KAChB40D,EAAU,KACVrjC,EAAOA,EAAK,KAAI,EAAK,GACrBsjC,CACN,EACI,OAAA70D,EAAM,QAAUu0C,EACTv0C,CACR,CACH,EAEA,IAAAA,GAAiB+0D,mBCpCXA,GAAY9H,UAIlB,cAA0B8H,EAAU,CAClC,eAAe3xD,EAAM,CACnB,MAAM,GAAGA,CAAI,EACb,KAAK,KAAO,aACb,CACH,EAEA,IAAA4xD,GAAiBC,gCCXjB,SAASC,EAASC,EAAK,CACrB,GAAI,CAAE,KAAAC,EAAM,SAAAC,EAAU,SAAAC,CAAU,EAAG,IAAI,IAAIH,CAAG,EAE9C,OAAIE,IAAa,UACfA,EAAW,OAGN,CAAE,KAAAD,EAAM,SAAAC,EAAU,SAAAC,EAC1B,CAED,SAASC,EAAUC,EAAM,CACvB,KAAM,CAAE,KAAAJ,EAAM,SAAAC,GAAaH,EAAS,UAAUM,CAAI,EAAE,EACpD,MAAO,CAAE,KAAAJ,EAAM,SAAAC,EAChB,CAED,SAASI,EAAaC,EAAS,CAC7B,OAAOA,EAAQ,SAAS,KAAK,EAAIR,EAASQ,CAAO,EAAIH,EAAUG,CAAO,CACvE,CAED,OAAO,OAAOtJ,EAAO,QAAS,CAAE,SAAA8I,EAAU,UAAAK,EAAW,aAAAE,CAAY,CAAE,0BCnBnE,KAAM,cAAExH,GAAY,QAAElB,EAAS,EAAGE,GAC5B1jB,GAAM2jB,GACNyH,GAAM/E,GACNqF,GAAcpF,GACd,CAAE,UAAA0F,GAAW,aAAAE,EAAc,EAAG3F,GAE9B6F,GAAY,sCACZC,GAAmB,0CAEzB,cAAyB3H,EAAa,CACpC,YAAYvjD,EAAU,GAAI,CACxB,QACA,KAAK,IAAM,KACX,KAAK,QAAU,IACf,KAAK,QAAUA,EACf,KAAK,gBAAkB,OAAO,OAAO,IAAI,EACzC,KAAK,gBAAkB,OAAO,OAAO,IAAI,EACzC,KAAK,OAAS,UACd,KAAK,OAAS,KACd,KAAK,OAAS,KACd,KAAK,KAAO,IACb,CAED,QAAS,CACP,KAAK,IAAM,KACX,KAAK,OAAS,UACd,KAAK,cAAa,EAClB,KAAK,cAAa,CACnB,CAED,MAAM,aAAakqD,EAAWzjD,EAAU,CACtC,GAAI,CACF,MAAM,KAAK,KAETwjD,GAAI,eAAgB,GAAI,CACtBA,GAAIC,EAAW,CAAC,MAAOe,EAAS,EAAGxkD,CAAQ,CACrD,CAAS,CACT,CACK,MAAO,CAAE,CAEV,OAAO,KAAK,MACb,CAED,QAAQkJ,EAAM,CACZ,MAAMpiB,EAAMoiB,EAAK,SAAS,MAAM,EAChC,KAAK,KAAK,QAASpiB,CAAG,EACtB,KAAK,OAAO,MAAMA,CAAG,CACtB,CAED,eAAe+H,EAAO,CAKpB,KAAK,aAAa,YAAY,EAC9B,KAAK,cAAa,EAClB,KAAK,KAAK,QAASA,CAAK,CACzB,CAED,cAAc61D,EAAQ,CACpB,KAAK,OAASA,EACd,MAAMhwB,EAAY,KAAK,gBAEvBA,EAAU,KAAO,KAAK,QAAQ,KAAK,IAAI,EAEvCA,EAAU,MAAQ,CAACiwB,EAAO3nC,IAAU,CAClC,KAAK,OAAM,EACX,KAAK,QAAQ,aAAc,CAAE,MAAO,CAAC2nC,EAAO,MAAA3nC,CAAK,CAAE,CACzD,EAEI0X,EAAU,QAAU,IAAM,CACxB,KAAK,QAAQ,SAAS,CAC5B,EAEIA,EAAU,MAAS7lC,GAAU,CAC3B,KAAK,KAAK,QAASA,CAAK,CAC9B,EAEI,KAAK,OAAO,GAAG,QAAS6lC,EAAU,KAAK,EACvC,KAAK,OAAO,GAAG,OAAQA,EAAU,IAAI,EACrC,KAAK,OAAO,GAAG,QAASA,EAAU,KAAK,EACvC,KAAK,OAAO,GAAG,UAAWA,EAAU,OAAO,CAC5C,CAED,eAAgB,CACd,KAAM,CAAE,gBAAAkwB,EAAiB,OAAAF,CAAQ,EAAG,KACpC,UAAWp2B,KAAK,OAAO,oBAAoBs2B,CAAe,EACxDF,EAAO,eAAep2B,EAAGs2B,EAAgBt2B,CAAC,CAAC,EAC3C,OAAOs2B,EAAgBt2B,CAAC,EAE1B,YAAK,OAAS,KACPo2B,CACR,CAED,WAAWthB,EAAS,CAClB,MAAMyhB,EAAgBzhB,EAAQ,GAAG,QAASqhB,EAAgB,EAEtDI,GACF,KAAK,eAAezhB,CAAO,EAG7B,KAAK,KAAK,UAAWA,CAAO,EAC5B,KAAK,KAAK,KAAK,SAASA,CAAO,EAAI,SAAW,QAASA,CAAO,EAE1DyhB,GAGF,KAAK,KAAI,CAEZ,CAGD,eAAezhB,EAAS,CACtB,MAAMv0C,EAAQi1D,GAAY,YAAY1gB,CAAO,EAE7C,GAAIv0C,EAAM,YAAc,iBACtB,OAAO,KAAK,gBAAgBA,CAAK,EAGnC,KAAK,KAAK,QAASA,CAAK,CACzB,CAGD,MAAM,gBAAgBA,EAAO,CAC3B,KAAM,CAAE,SAAAs1D,CAAQ,EAAKG,GAAa,KAAK,QAAQ,OAAO,EAEhDD,EAAOx1D,EAAM,QAAQ,aAAa,gBAAgB,EAClD,CAAE,KAAAo1D,CAAI,EAAKG,GAAUC,CAAI,EAE/B,IAAIE,EACJA,EAAUN,EACN,GAAGE,GAAY,OAAO,KAAKE,CAAI,IAC9BF,EAAW,GAAGA,CAAQ,KAAO,IAAME,EAExC,GAAI,CACF,MAAMzI,GAAQ,KAAM,YAAY,EAChC,KAAM,CAAE,OAAAqD,EAAQ,KAAApiB,GAAS,KAAK,QAC9B,MAAM,KAAK,QAAQ0nB,CAAO,EAC1B,MAAM,KAAK,KAAK,CAAE,OAAAtF,EAAQ,KAAApiB,CAAM,EACjC,OAAQ/tC,EAAK,CACZ,KAAK,KAAK,QAASA,CAAG,CACvB,CACF,CAED,cAAcs0D,EAAQ,CACpB,KAAK,OAASA,EACd,MAAM1uB,EAAY,KAAK,gBAEvBA,EAAU,QAAU,KAAK,WAAW,KAAK,IAAI,EAC7CA,EAAU,MAAQ,KAAK,eAAe,KAAK,IAAI,EAE/CA,EAAU,IAAO0O,GAAY,CAC3B,KAAK,cAAa,EAClB,KAAK,QAAQ,QAASA,CAAO,CACnC,EAEI1O,EAAU,MAAS0O,GAAY,CAC7B,KAAK,QAAQ,OAAQA,CAAO,CAClC,EAEI,KAAK,OAAO,GAAG,QAAS1O,EAAU,KAAK,EACvC,KAAK,OAAO,GAAG,UAAWA,EAAU,OAAO,EAC3C,KAAK,OAAO,GAAG,MAAOA,EAAU,GAAG,EACnC,KAAK,OAAO,GAAG,QAASA,EAAU,KAAK,CACxC,CAED,eAAgB,CACd,MAAMA,EAAY,KAAK,gBACvB,UAAWpG,KAAK,OAAO,oBAAoBoG,CAAS,EAClD,KAAK,OAAO,eAAepG,EAAGoG,EAAUpG,CAAC,CAAC,EAC1C,OAAOoG,EAAUpG,CAAC,EAEpB,KAAK,OAAS,IACf,CAED,KAAK5xB,EAAI,CACP,YAAK,IAAM07B,GAAI17B,CAAE,EACV,KAAK,GACb,CAED,QAAQo+B,KAAW7oC,EAAM,CACvB,KAAK,OAAS6oC,EACd,KAAK,KAAK,SAAUA,EAAQ,GAAG7oC,CAAI,EACnC,KAAK,KAAK6oC,EAAQ,GAAG7oC,CAAI,CAC1B,CAED,MAAM,MAAO,CACX,IAAItK,EACJ,GAAI,CACFA,EAAK,MAAM,KAAK,OACjB,MAAO,CAAE,CAEV,GAAI,CACF,MAAM,KAAK,YACZ,MAAO,CAAE,CAEV,OAAOA,CACR,CAKD,MAAM,OAAQ,CACZ,GAAI,KAAK,SAAW,UAClB,MAAM,IAAI,MAAM,2BAA2B,EAG7C,KAAM,CAAE,QAAA48D,EAAS,OAAAtF,EAAQ,KAAApiB,CAAI,EAAK,KAAK,QAEvC,MAAM,KAAK,QAAQ0nB,CAAO,EAE1B,MAAMO,EAAgBlJ,GAAQ,KAAM,QAAQ,EAE5C,aAAM,KAAK,KAAK,CAAE,OAAAqD,EAAQ,KAAApiB,CAAM,GAEzBioB,CACR,CAKD,MAAM,QAAQP,EAAS,CACrB,KAAK,QAAQ,aAAcA,CAAO,EAClC,MAAMG,EAAS,IAAI,KAAK,OACxB,YAAK,cAAcA,CAAM,EAEzBA,EAAO,QAAQ,KAAK,iBAAiBH,CAAO,CAAC,EACtC3I,GAAQ8I,EAAQ,SAAS,CACjC,CAOD,MAAM,WAAWt+B,EAAU,KAAK,QAAS,CACnC,KAAK,QAAQ,KAAK,QAAQ,eAAe,EAE7C,KAAK,OAAO,MAGZ,MAAMw1B,GAAQ,KAAK,OAAQ,QAAS,QAASx1B,CAAO,CACrD,CAKD,MAAM,KAAK7sB,EAAS,CAClB,KAAK,QAAQ,SAAS,EAElB,OAAOA,GAAY,WACrBA,EAAU,CAAE,OAAQA,IAGtB,KAAM,CAAE,OAAA0lD,EAAQ,KAAApiB,EAAM,QAAAzW,EAAU,KAAK,OAAS,EAAG7sB,EAE3CwrD,EAAgB,KAAK,gBAC3B,OAAAA,EAAc,MAAM,GAAK9F,EACzB8F,EAAc,MAAM,UAAU,EAAIloB,EAClC,KAAK,KAAOkoB,EAEZ,KAAK,cAAc,IAAI,KAAK,MAAQ,EAEpC,MAAM,KAAK,MAAM,KAAK,OAAOA,CAAa,CAAC,EACpCnJ,GAAQ,KAAM,OAAQ,QAASx1B,CAAO,CAC9C,CAOD,MAAM,MAAO,CACX,MAAMz+B,EAAK,MAAM,KAAK,OACtB,OAAI,KAAK,SAAW,WAAW,KAAK,QAAQ,UAAWA,CAAE,EAClDA,CACR,CAOD,MAAM,MAAMy+B,EAAU,KAAK,QAAS,CAClC,MAAM4+B,EAAW,KAAK,OAAO,KAAK,cAAe,GAE3CxoD,EAAI,QAAQ,IAAI,CACpBo/C,GAAQ,KAAK,OAAQ,MAAO,QAASx1B,CAAO,EAC5C,KAAK,MAAM4+B,CAAQ,CACzB,CAAK,EAEG,KAAK,QAAU,KAAK,QAAQ,KAAK,QAAQ,SAAS,EACtD,KAAM,CAACr9D,CAAE,EAAI,MAAM6U,EACnB,YAAK,KAAO,KACL7U,CAER,CAMD,MAAM,SAAU,CACd,KAAK,cAAa,EAClB,KAAM,CAAE,OAAAs3D,EAAQ,KAAApiB,GAAS,KAAK,QAC9B,OAAO,KAAK,KAAK,CAAE,OAAAoiB,EAAQ,KAAApiB,CAAM,EAClC,CAED,MAAM,KAAKuG,EAAS,CAClBA,EAAQ,OAAS,KAAK,KACtB,MAAM,KAAK,MAAMA,EAAQ,SAAU,GACnC,KAAK,KAAK,OAAQA,CAAO,CAC1B,CAED,YAAYA,EAAShd,EAAU,KAAK,QAAS,CAC3C,OAAO,QAAQ,IAAI,CACjB,KAAK,KAAKgd,CAAO,EACjBwY,GAAQ,KAAM,UAAW,QAASx1B,CAAO,CAC1C,GAAE,KAAK,CAAC,CAAG,CAAAz+B,CAAE,IAAMA,CAAE,CACvB,CAED,MAAMs9D,EAAQ,CACZ,OAAO,IAAI,QAAQ,CAACj+C,EAASo1C,IAAW,CAGtC,GAAI,KAAK,SAAW,UAAW,CAC7BA,EAAO,IAAI,MAAM,uBAAuB,CAAC,EACzC,MACD,CAED,KAAK,OAAO,MAAM6I,EAASn2D,GAAQ,CACjC,GAAIA,EACF,OAAOstD,EAAOttD,CAAG,EAGnB,KAAK,KAAK,SAAUm2D,CAAM,EAC1Bj+C,GACR,CAAO,CACP,CAAK,CACF,CAED,SAASo8B,EAAS,CAChB,KAAM,CAAE,KAAAj4C,CAAM,EAAGi4C,EACjB,OAAOj4C,IAAS,MAAQA,IAAS,WAAaA,IAAS,UACxD,CAED,QAAQi4C,EAAS,CACf,MAAO,CAAC,KAAK,SAASA,CAAO,CAC9B,CAGD,OAAOz7C,EAAI,CACT,OAAOA,EAAG,UACX,CAGD,eAAgB,CACd,OAAO,IAAI67D,GAAI,QAAQ,GAAI,CACzB,QAAS,MACT,MAAO,KAAK,EAClB,CAAK,CACF,CAGD,OAAO77D,EAAI,CACT,OAAOA,EAAG,UACX,CAGD,eAAgB,CAAE,CAGlB,kBAAmB,CAAE,CACvB,EAGAu9D,GAAW,UAAU,GAAK,GAC1BA,GAAW,UAAU,OAAS,KAC9BA,GAAW,UAAU,OAAS,KAE9B,IAAAC,GAAiBD,GC5XjB,MAAMA,GAAapJ,UAEnB,cAAqBoJ,EAAW,CAC9B,YAAY3rD,EAAS,CACnB,MAAMA,CAAO,EACb,KAAK,WAAa,EACnB,CAED,KAAK6pC,KAAYnxC,EAAM,CACrB,OAAO,KAAK,UAAU,UAAU,KAAK,KAAK,KAAMmxC,EAAS,GAAGnxC,CAAI,CACjE,CAED,YAAYA,EAAM,CAChB,OAAO,KAAK,UAAU,UAAU,SAAS,KAAK,KAAM,GAAGA,CAAI,CAC5D,CAED,eAAesyD,EAAS,CACtB,OAAO,KAAK,WAAW,KAAMa,GAAc,CACzC,GAAI,CACF,OAAOA,EAAU,UAAU,iBAAiBb,CAAO,IAAM,MACjE,MAAc,CACN,MAAO,EACR,CACP,CAAK,CACF,CAED,QAAQA,EAAS,CACf,MAAMa,EAAY,KAAK,eAAeb,CAAO,EAE7C,GAAI,CAACa,EACH,MAAM,IAAI,MAAM,wCAAwC,EAG1D,YAAK,UAAYA,EACjB,KAAK,OAASA,EAAU,UAAU,OAClC,KAAK,OAASA,EAAU,UAAU,OAE3B,MAAM,QAAQb,CAAO,CAC7B,CAED,oBAAoBtyD,EAAM,CACxB,OAAO,KAAK,UAAU,UAAU,iBAAiB,GAAGA,CAAI,CACzD,CAED,UAAUA,EAAM,CACd,OAAO,KAAK,UAAU,UAAU,OAAO,GAAGA,CAAI,CAC/C,CAED,iBAAiBA,EAAM,CACrB,OAAO,KAAK,UAAU,UAAU,cAAc,GAAGA,CAAI,CACtD,CAED,UAAUA,EAAM,CACd,OAAO,KAAK,UAAU,UAAU,OAAO,GAAGA,CAAI,CAC/C,CAED,iBAAiBA,EAAM,CACrB,OAAO,KAAK,UAAU,UAAU,cAAc,GAAGA,CAAI,CACtD,CACH,EAEAozD,GAAO,UAAU,GAAK,gBAEtB,IAAAC,GAAiBD,GC/DjB,MAAMA,GAASvJ,GACT0H,GAAMzH,GACN3jB,GAAMqmB,GAES8G,GAAA,OAAGF,GACNE,GAAA,IAAG/B,GACrB+B,GAAA,IAAqBntB,GCNrB,IAAAotB,GAAiB,SAAmBjB,EAAS,CAE3C,OADeA,EAAQ,MAAM,KAAK,EAAE,CAAC,GAAKA,GAC5B,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,CAC1C,ECHA,KAAM,CAAEzH,eAAc,EAAGhB,GAEzB,MAAM2J,WAAkB3I,EAAa,CACnC,YAAY4I,EAAQ,CAClB,QAEA,KAAK,MAAQ,IACb,KAAK,OAASA,EACd,KAAK,SAAW,IACjB,CAED,mBAAoB,CAClB,KAAM,CAAE,OAAAA,EAAQ,MAAAtqB,EAAO,SAAAuqB,CAAQ,EAAK,KACpC,aAAaA,CAAQ,EACrB,KAAK,SAAW,WAAW,SAAY,CACrC,GAAID,EAAO,SAAW,aAItB,GAAI,CACF,MAAM,KAAK,WACnB,MAAc,CAEP,CACF,EAAEtqB,CAAK,CACT,CAED,MAAM,WAAY,CAChB,KAAM,CAAE,OAAAsqB,CAAQ,EAAG,KACnB,KAAK,KAAK,cAAc,EAExB,KAAM,CAAE,QAAAnB,EAAS,OAAAtF,EAAQ,KAAApiB,CAAI,EAAK6oB,EAAO,QACzC,MAAMA,EAAO,QAAQnB,CAAO,EAC5B,MAAMmB,EAAO,KAAK,CAAE,OAAAzG,EAAQ,KAAApiB,CAAM,GAElC,KAAK,KAAK,aAAa,CACxB,CAED,OAAQ,CACN,KAAM,CAAE,OAAA6oB,CAAQ,EAAG,KACbhxB,EAAY,GAClBA,EAAU,WAAa,IAAM,CAC3B,KAAK,kBAAiB,CAC5B,EAEI,KAAK,UAAYA,EACjBgxB,EAAO,GAAG,aAAchxB,EAAU,UAAU,CAC7C,CAED,MAAO,CACL,KAAM,CAAE,OAAAgxB,EAAQ,UAAAhxB,EAAW,SAAAixB,CAAQ,EAAK,KACxCD,EAAO,eAAe,aAAchxB,EAAU,UAAU,EACxD,aAAaixB,CAAQ,CACtB,CACH,CAEA,IAAAC,GAAiB,SAAmB,CAAE,OAAAF,GAAU,CAC9C,MAAMtuD,EAAI,IAAIquD,GAAUC,CAAM,EAC9B,OAAAtuD,EAAE,MAAK,EACAA,CACT,EC9DA,MAAeyuD,GAAA,sHCETC,GAAKhK,GAELiK,GAAY,WAAW,WAAaD,GACpChJ,GAAef,GAEfiK,GAAO,oBAEb,cAAqBlJ,EAAa,CAChC,aAAc,CACZ,QACA,KAAK,UAAY,OAAO,OAAO,IAAI,CACpC,CAED,QAAQmJ,EAAK,CACX,KAAK,IAAMA,EACX,KAAK,cAAc,IAAIF,GAAUE,EAAK,CAAC,MAAM,CAAC,CAAC,CAChD,CAED,cAAcvB,EAAQ,CACpB,KAAK,OAASA,EACd,KAAM,CAAE,UAAAhwB,CAAW,EAAG,KACtBA,EAAU,KAAO,IAAM,CACrB,KAAK,KAAK,SAAS,CACzB,EAEIA,EAAU,QAAU,CAAC,CAAE,KAAAxrB,CAAI,IAAO,KAAK,KAAK,OAAQA,CAAI,EACxDwrB,EAAU,MAAS1X,GAAU,CAC3B,KAAM,CAAE,IAAAipC,CAAK,EAAG,KAEhB,GAAI,CAAE,MAAAp3D,CAAO,EAAGmuB,EAEXnuB,IACHA,EAAQ,IAAI,MAAM,aAAam3D,EAAI,IAAIC,CAAG,EAAE,EAC5Cp3D,EAAM,MAAQm3D,GACdn3D,EAAM,KAAOm3D,IAGfn3D,EAAM,MAAQmuB,EACdnuB,EAAM,IAAMo3D,EACZ,KAAK,KAAK,QAASp3D,CAAK,CAC9B,EAEI6lC,EAAU,MAAS1X,GAAU,CAC3B,KAAK,cAAa,EAClB,KAAK,KAAK,QAAS,CAACA,EAAM,SAAUA,CAAK,CAC/C,EAEI,KAAK,OAAO,iBAAiB,OAAQ0X,EAAU,IAAI,EACnD,KAAK,OAAO,iBAAiB,UAAWA,EAAU,OAAO,EACzD,KAAK,OAAO,iBAAiB,QAASA,EAAU,KAAK,EACrD,KAAK,OAAO,iBAAiB,QAASA,EAAU,KAAK,CACtD,CAED,eAAgB,CACd,OAAO,KAAK,IACZ,KAAM,CAAE,OAAAgwB,EAAQ,UAAAhwB,CAAW,EAAG,KAC9B,UAAWpG,KAAK,OAAO,oBAAoBoG,CAAS,EAClDgwB,EAAO,oBAAoBp2B,EAAGoG,EAAUpG,CAAC,CAAC,EAC1C,OAAOoG,EAAUpG,CAAC,EAEpB,OAAO,KAAK,MACb,CAED,KAAM,CACJ,KAAK,OAAO,OACb,CAED,MAAMplB,EAAMlgB,EAAI,CACV+8D,KAAcD,GAChB,KAAK,OAAO,KAAK58C,EAAMlgB,CAAE,GAEzB,KAAK,OAAO,KAAKkgB,CAAI,EACrBlgB,IAEH,CACH,EAEA,IAAAk9D,GAAiBC,GC7EjB,KAAM,QAAE7C,GAAQ9C,WAAS,SAAA2C,EAAQ,EAAKrH,GAEtC,IAAAsK,GAAiB,cAA2B9C,EAAO,CACjD,eAAen4D,EAAMwkB,EAAO,CAC1B,MAAMyzB,EAAU,IAAIod,GAAQr1D,EAAMwkB,CAAK,EAEjC,CAAE,OAAA0zC,CAAQ,EAAG,KAEfA,GACFA,EAAO,OAAOjgB,CAAO,EAGvB,KAAK,OAASA,CACf,CAED,aAAaj4C,EAAM,CACjB,KAAM,CAAE,OAAAk4D,CAAQ,EAAG,KACnB,GAAIl4D,IAASk4D,EAAO,KAAM,CAExB,KAAK,KAAK,QAAS,IAAIF,GAAS,GAAGE,EAAO,IAAI,kBAAkB,CAAC,EACjE,MACD,CAED,GAAIA,EAAO,OAAQ,CACjB,KAAK,OAASA,EAAO,OACrB,MACD,CAEGA,EAAO,GAAG,OAAQ,qCAAqC,EACzD,KAAK,KAAK,QAASA,CAAM,EAChBA,EAAO,GAAG,QAAS,qCAAqC,EACjE,KAAK,KAAK,MAAOA,CAAM,EAEvB,KAAK,KAAK,UAAWA,CAAM,EAG7B,KAAK,OAAS,IACf,CACH,ECtCA,MAAM8C,GAASrK,GACToJ,GAAanJ,GACbyH,GAAM/E,GACN4H,GAAe3H,GAEf4H,GAAa,6CAQnB,cAAkCpB,EAAW,CAC3C,KAAK9hB,KAAYnxC,EAAM,CACrB,MAAI,CAACmxC,EAAQ,MAAM,OAAS,MAAM,SAASA,CAAO,IAChDA,EAAQ,MAAM,MAAQ,iBAGjB,MAAM,KAAKA,EAAS,GAAGnxC,CAAI,CACnC,CAED,MAAM,SAASs0D,EAAU,CACvB,UAAWnjB,KAAWmjB,EACpB,MAAM,KAAK,KAAKnjB,CAAO,CAE1B,CAGD,eAAgB,CACd,OAAO,IAAIogB,GAAI,QAAQ,QAAS,CAC9B,MAAO8C,EACb,CAAK,CACF,CAGD,eAAgB,CACd,MAAM3+D,EAAK,MAAM,gBACjB,OAAAA,EAAG,KAAO,OACVA,EAAG,MAAM,MAAQ2+D,GACV3+D,CACR,CAED,iBAAiB48D,EAAS,CACxB,MAAO,aAAa,KAAKA,CAAO,EAAIA,EAAU,MAC/C,CACH,EAEAiC,GAAoB,UAAU,OAASL,GACvCK,GAAoB,UAAU,GAAK,gBACnCA,GAAoB,UAAU,OAASH,GAEvC,IAAAI,GAAiBD,GCpDjB,MAAMA,GAAsB1K,GAE5B,IAAA4K,GAAiB,SAAmB,CAAE,OAAAhB,GAAU,CAC9CA,EAAO,WAAW,KAAKc,EAAmB,CAC5C,ECAAG,GAAiBC,GAYjB,SAASA,GAASC,EAAY,CAC5B,GAAI,CAAC,MAAM,QAAQA,CAAU,EAAG,MAAM,IAAI,UAAU,oCAAoC,EACxF,UAAW79D,KAAM69D,EACf,GAAI,OAAO79D,GAAO,WAAY,MAAM,IAAI,UAAU,2CAA2C,EAS/F,OAAO,SAAUqlB,EAASzf,EAAM,CAE9B,IAAIyE,EAAQ,GACZ,OAAOyzD,EAAS,CAAC,EACjB,SAASA,EAAU,EAAG,CACpB,GAAI,GAAKzzD,EAAO,OAAO,QAAQ,OAAO,IAAI,MAAM,8BAA8B,CAAC,EAC/EA,EAAQ,EACR,IAAIrK,EAAK69D,EAAW,CAAC,EAErB,GADI,IAAMA,EAAW,SAAQ79D,EAAK4F,GAC9B,CAAC5F,EAAI,OAAO,QAAQ,QAAS,EACjC,GAAI,CACF,OAAO,QAAQ,QAAQA,EAAGqlB,EAASy4C,EAAS,KAAK,KAAM,EAAI,CAAC,CAAC,CAAC,CAC/D,OAAQh4D,EAAK,CACZ,OAAO,QAAQ,OAAOA,CAAG,CAC1B,CACF,CACF,CACH,KC7CAi4D,GAAiB,KAAc,CAC7B,YAAYrB,EAAQsB,EAAQ,CAC1B,KAAK,OAASA,EACd,KAAK,OAAStB,EAEd,KAAM,CAAE,KAAAv6D,EAAM,MAAAwkB,CAAO,EAAGq3C,EAClB,CAAE,KAAAr2D,EAAM,GAAA+L,CAAI,EAAGiT,EAErB,KAAK,KAAOxkB,EACZ,KAAK,GAAKuR,GAAM,GAEZvR,IAAS,UACX,KAAK,KAAOwF,GAAQ,SACXxF,IAAS,WAClB,KAAK,KAAOwF,GAAQ,YAEpB,KAAK,KAAOA,GAAQ,GAGtB,KAAK,KAAO,KACZ,KAAK,GAAK,KACV,KAAK,MAAQ,GACb,KAAK,OAAS,GACd,KAAK,SAAW,EACjB,CACH,ECzBA,MAAMs2D,GAAUnL,GACVkD,GAAMjD,GAEZ,IAAAmL,GAAiB,cAA8BD,EAAQ,CACrD,YAAYvB,EAAQsB,EAAQ,CAC1B,MAAMtB,EAAQsB,CAAM,EAEpB,KAAM,CAAE,IAAA5uB,EAAK,OAAA6mB,CAAQ,EAAGyG,EAElBx4C,EAAK85C,EAAO,MAAM,IAAO5uB,GAAOA,EAAI,SAAQ,EAC5CjrB,EAAO65C,EAAO,MAAM,MAAQ/H,EAE9B/xC,IAAI,KAAK,GAAK,IAAI8xC,GAAI9xC,CAAE,GAExBC,IACF,KAAK,KAAO,IAAI6xC,GAAI7xC,CAAI,EACxB,KAAK,MAAQ,KAAK,KAAK,MACvB,KAAK,OAAS,KAAK,KAAK,OACxB,KAAK,SAAW,KAAK,KAAK,SAE7B,CACH,ECrBA,MAAM85C,GAAUnL,GACVkD,GAAMjD,GAEZ,IAAAoL,GAAiB,cAA8BF,EAAQ,CACrD,YAAYvB,EAAQsB,EAAQ,CAC1B,MAAMtB,EAAQsB,CAAM,EAEpB,KAAM,CAAE,IAAA5uB,EAAK,OAAA6mB,CAAQ,EAAGyG,EAElBv4C,EAAO65C,EAAO,MAAM,MAAS5uB,GAAOA,EAAI,SAAQ,EAChDlrB,EAAK85C,EAAO,MAAM,IAAM/H,EAE1B9xC,IAAM,KAAK,KAAO,IAAI6xC,GAAI7xC,CAAI,GAE9BD,IACF,KAAK,GAAK,IAAI8xC,GAAI9xC,CAAE,EACpB,KAAK,MAAQ,KAAK,GAAG,MACrB,KAAK,OAAS,KAAK,GAAG,OACtB,KAAK,SAAW,KAAK,GAAG,SAE3B,CACH,ECrBA,MAAM05C,GAAU9K,GAEVsL,GAAkBrL,GAClBsL,GAAkB5I,GAExB,SAAS9pB,GAAS+wB,EAAQmB,EAAYI,EAAS,CAC7C,OAAQD,GAAW,CACjB,MAAMjpD,EAAM,IAAIkpD,EAAQvB,EAAQsB,CAAM,EACtC,OAAOJ,GAAQC,CAAU,EAAE9oD,CAAG,CAClC,CACA,CAEA,SAASvC,GAAakqD,EAAQ,CAC5B,MAAO,CAAC3nD,EAAKnP,IAAS,CACpBA,EAAM,EACH,KAAM04D,GAAUA,GAAS5B,EAAO,KAAK4B,CAAK,CAAC,EAC3C,MAAOx4D,GAAQ42D,EAAO,KAAK,QAAS52D,CAAG,CAAC,CAC/C,CACA,CAEA,IAAA+3D,GAAiB,SAAoB,CAAE,OAAAnB,GAAU,CAC/C,MAAM7kC,EAAW,CAACrlB,GAAakqD,CAAM,CAAC,EAChC6B,EAAW,GAEXC,EAAmB7yB,GAAS+wB,EAAQ7kC,EAAUumC,EAAe,EAC7DK,EAAmB9yB,GAAS+wB,EAAQ6B,EAAUF,EAAe,EAEnE,OAAA3B,EAAO,GAAG,UAAW8B,CAAgB,EACrC9B,EAAO,aAAe+B,EAEf,CACL,IAAIz+D,EAAI,CACN,OAAA63B,EAAS,KAAK73B,CAAE,EACTA,CACR,EACD,OAAOA,EAAI,CACT,OAAAu+D,EAAS,KAAKv+D,CAAE,EACTA,CACR,CACL,CACA,ECxCA0+D,GAAiB,UAAiB,CAChC,MAAO,OAAO,CAAE,OAAAV,EAAQ,OAAAtB,CAAM,EAAI92D,IAAS,CACzC,GAAI,CAACo4D,EAAO,GAAG,WAAY,kCAAkC,EAC3D,OAAOp4D,EAAI,EAGT,CADY,MAAMA,KACN82D,EAAO,KAAKA,EAAO,QAAQ,SAAUA,EAAO,GAAG,CACnE,CACA,ECDA,MAAMgC,GAAQ5L,GAEd,IAAA6L,GAAiB,SAAwB,CAAE,WAAAd,GAAc,CACvDA,EAAW,IAAIa,GAAK,CAAE,EAEtB,SAASE,EAAIz8D,EAAMs1D,EAAOh0C,EAAS,CACjC,OAAOo6C,EAAW,IAAI,CAAC9oD,EAAKnP,IAAS,CACnC,KAAM,CAAE,OAAAo4D,CAAQ,EAAGjpD,EACnB,GAAI,CAACipD,EAAO,GAAG,WAAY,kCAAkC,EAC3D,OAAOp4D,EAAI,EACb,MAAMi5D,EAAUb,EAAO,SAAS77D,EAAMs1D,CAAK,EAC3C,OAAKoH,EACEp7C,EAAQ1O,EAAKnP,EAAMi5D,CAAO,EADZj5D,GAE3B,CAAK,CACF,CAED,MAAO,CACL,IAAAg5D,CACJ,CACA,EC1BAlrD,GAAiB,UAAc,CAC7B,IAAI9U,EACJ,KAAO,CAACA,GACNA,EAAI,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,MAAM,EAAG,EAAE,EAG5C,OAAOA,CACT,ECLA,MAAMg8D,GAAY9H,UAElB,cAA0B8H,EAAU,CAClC,YAAYH,EAAWrjC,EAAMsjC,EAAa/yD,EAAM,CAC9C,MAAM8yD,EAAWrjC,EAAMsjC,CAAW,EAClC,KAAK,KAAO/yD,EACZ,KAAK,KAAO,aACb,CAED,OAAO,YAAYyyC,EAAS,CAC1B,MAAMv0C,EAAQ,MAAM,YAAYu0C,CAAO,EACvC,OAAAv0C,EAAM,KAAOu0C,EAAQ,MAAM,KACpBv0C,CACR,CACH,EAEA,IAAAi5D,GAAiBC,GClBjB,MAAMC,GAAMlM,GACNiM,GAAchM,GACd,CAAE,SAAAyC,EAAU,EAAGC,GACfwJ,GAAiBxJ,GAAwB,QACzC+E,GAAM9E,GAEZ,SAASwJ,GAAQ,CAAE,KAAA/8D,EAAM,KAAAwF,GAAQ,CAE/B,MADI,EAAAxF,IAAS,MACTwF,IAAS,SAAWA,IAAS,SAEnC,CAEA,MAAMw3D,EAAS,CACb,YAAY,CAAE,OAAAzC,EAAQ,WAAAmB,GAAc,CAClC,KAAK,SAAW,IAAI,IACpB,KAAK,OAASnB,EACd,KAAK,WAAamB,CACnB,CAED,OAAQ,CACN,KAAK,WAAW,IAAI,KAAK,OAAO,KAAK,IAAI,CAAC,CAC3C,CAED,OAAO,CAAE,KAAAl2D,EAAM,KAAAxF,EAAM,GAAAuR,EAAI,OAAAsqD,CAAQ,EAAEp4D,EAAM,CACvC,GAAI,CAACs5D,GAAQ,CAAE,KAAA/8D,EAAM,KAAAwF,CAAI,CAAE,EAAG,OAAO/B,IAErC,MAAMw5D,EAAW,KAAK,SAAS,IAAI1rD,CAAE,EAErC,GAAI,CAAC0rD,EACH,OAAOx5D,EAAI,EAGT+B,IAAS,QACXy3D,EAAS,OAAOL,GAAY,YAAYf,EAAO,SAAS,OAAO,CAAC,CAAC,EAEjEoB,EAAS,QAAQpB,CAAM,EAGzB,KAAK,SAAS,OAAOtqD,CAAE,CACxB,CAED,MAAM,QAAQsqD,EAAQ5gC,EAAU,GAAK,IAAM,CACpC4gC,EAAO,MAAM,KAChBA,EAAO,MAAM,GAAKgB,MAGpB,MAAMI,EAAW,IAAI5J,GACrB,KAAK,SAAS,IAAIwI,EAAO,MAAM,GAAIoB,CAAQ,EAE3C,GAAI,CACF,MAAM,KAAK,OAAO,KAAKpB,CAAM,EAC7B,MAAMiB,GAAeG,EAAS,QAAShiC,CAAO,CAC/C,OAAQt3B,EAAK,CACZ,WAAK,SAAS,OAAOk4D,EAAO,MAAM,EAAE,EAC9Bl4D,CACP,CAED,OAAOs5D,EAAS,OACjB,CAED,cAAcz3D,EAAMyyC,EAASl2B,KAAOjb,EAAM,CACxC,KAAM,CACJ,KAAA9G,EACA,MAAO,CAAE,MAAAs1D,CAAO,CACjB,EAAGrd,EACJ,OAAO,KAAK,QAAQogB,GAAI,KAAM,CAAE,KAAA7yD,EAAM,GAAAuc,CAAE,EAAIk2B,CAAO,EAAG,GAAGnxC,CAAI,EAAE,KAC5D+0D,GAAWA,EAAO,SAAS77D,EAAMs1D,CAAK,CAC7C,CACG,CAED,MAAM,OAAOxuD,EAAM,CACjB,OAAO,KAAK,cAAc,MAAO,GAAGA,CAAI,CACzC,CAED,MAAM,OAAOA,EAAM,CACjB,OAAO,KAAK,cAAc,MAAO,GAAGA,CAAI,CACzC,CACH,CAEA,IAAAo2D,GAAiB,YAAqBp2D,EAAM,CAC1C,MAAMq2D,EAAW,IAAIH,GAAS,GAAGl2D,CAAI,EACrC,OAAAq2D,EAAS,MAAK,EACPA,CACT,EC7EA,MAAM9E,GAAM1H,GAENyM,GAAY,sCAElB,SAASC,GAAQ,CAAE,KAAAr9D,EAAM,KAAAwF,GAAQ,CAE/B,MADI,EAAAxF,IAAS,MACTwF,IAAS,SAAWA,IAAS,SAEnC,CAEA,SAAS83D,GAAa,CAAE,KAAA93D,GAAQqP,EAAUE,EAAO,CAG/C,MAFI,EAAAvP,IAAS,OAASA,IAAS,OAC3BqP,EAAS,SAAW,GACpB,CAACE,EAEP,CAEA,SAASwoD,GAAW,CAAE,OAAA1B,GAAU,CAC9B,OAAOxD,GAAI,KAAM,CACf,GAAIwD,EAAO,MAAM,KACjB,KAAMA,EAAO,MAAM,GACnB,GAAIA,EAAO,MAAM,EACrB,CAAG,CACH,CAEA,SAAS2B,GAAiB5qD,EAAKmC,EAAO,CACpC,MAAMonD,EAAQoB,GAAW3qD,CAAG,EAC5B,OAAAupD,EAAM,MAAM,KAAO,SACfpnD,GACFonD,EAAM,OAAOpnD,CAAK,EAGbonD,CACT,CAEA,SAASsB,GAAgB7qD,EAAKlP,EAAOqR,EAAO,CAC1C,MAAMonD,EAAQoB,GAAW3qD,CAAG,EAC5B,OAAAupD,EAAM,MAAM,KAAO,QACfpnD,GACFonD,EAAM,OAAOpnD,CAAK,EAGpBonD,EAAM,OAAOz4D,CAAK,EACXy4D,CACT,CAEA,SAASuB,GAAWl4D,EAAM8yD,EAAW,CACnC,OAAOD,GAAI,QAAS,CAAE,KAAA7yD,CAAI,EAAI6yD,GAAIC,EAAW8E,EAAS,CAAC,CACzD,CAEA,SAASO,GAAUpD,EAAQ,CACzB,OAAO,eAAyB3nD,EAAKnP,EAAM,CACzC,GAAI,CAAC45D,GAAQzqD,CAAG,EAAG,OAAOnP,EAAI,EAE9B,KAAM,CAAE,OAAAo4D,CAAQ,EAAGjpD,EACbiC,EAAWgnD,EAAO,mBAClB,CAAC9mD,CAAK,EAAIF,EAEhB,GAAI,CAACyoD,GAAa1qD,EAAKiC,EAAUE,CAAK,EACpC,OAAO0oD,GAAgB7qD,EAAK8qD,GAAW,SAAU,aAAa,EAAG3oD,CAAK,EAGxEnC,EAAI,QAAUmC,EAEd,IAAIonD,EACJ,GAAI,CACFA,EAAQ,MAAM14D,GACf,OAAQE,EAAK,CACZ42D,EAAO,KAAK,QAAS52D,CAAG,EACxBw4D,EAAQuB,GAAW,SAAU,uBAAuB,CACrD,CAMD,OAJKvB,IACHA,EAAQuB,GAAW,SAAU,qBAAqB,GAGhDvB,aAAiB9D,GAAI,SAAW8D,EAAM,GAAG,OAAO,EAC3CsB,GAAgB7qD,EAAKupD,EAAOpnD,CAAK,EAGnCyoD,GACL5qD,EACAupD,aAAiB9D,GAAI,QAAU8D,EAAQ,MAC7C,CACA,CACA,CAEA,SAASI,GAAM/2D,EAAMo4D,EAAI59D,EAAMshB,EAAS,CACtC,MAAO,CAAC1O,EAAKnP,IACNmP,EAAI,OAASpN,EAAQ,CAACoN,EAAI,SAAW,CAACA,EAAI,QAAQ,GAAG5S,EAAM49D,CAAE,EACzDn6D,EAAI,EACN6d,EAAQ1O,EAAKnP,CAAI,CAE5B,KAEAo6D,GAAiB,SAAkB,CAAE,WAAAnC,EAAY,OAAAnB,CAAM,EAAI,CACzD,OAAAmB,EAAW,IAAIiC,GAAUpD,CAAM,CAAC,EAEzB,CACL,IAAIqD,EAAI59D,EAAMshB,EAAS,CACrBo6C,EAAW,IAAIa,GAAM,MAAOqB,EAAI59D,EAAMshB,CAAO,CAAC,CAC/C,EACD,IAAIs8C,EAAI59D,EAAMshB,EAAS,CACrBo6C,EAAW,IAAIa,GAAM,MAAOqB,EAAI59D,EAAMshB,CAAO,CAAC,CAC/C,CACL,CACA,wBChHA,MAAM62C,GAASxH,GAEf,IAAA0D,GAAiB,SAAet2C,EAAM,CACpC,MAAM1M,EAAI,IAAI8mD,GAEd,IAAIxwD,EAAS,KACTjE,EAAQ,KAeZ,GAbA2N,EAAE,GAAG,QAAU7U,GAAO,CACpBmL,EAASnL,CACb,CAAG,EACD6U,EAAE,GAAG,UAAY7U,GAAO,CACtBmL,EAAO,OAAOnL,CAAE,CACpB,CAAG,EACD6U,EAAE,GAAG,QAAU1N,GAAQ,CACrBD,EAAQC,CACZ,CAAG,EAED0N,EAAE,MAAM0M,CAAI,EACZ1M,EAAE,IAAG,EAED3N,EACF,MAAMA,EAEN,OAAOiE,CAEX,QC1BA,SAASm2D,GAASC,EAAK,CACrB,OAAOA,EAAI,WAAW,OAAO,GAAKA,EAAI,WAAW,KAAK,CACxD,CAEAC,GAAA,QAAyB,SAAiB39D,EAAGC,EAAG,CAC9C,IAAI29D,EASJ,GARIH,GAASz9D,EAAE,GAAG,GAAK,CAACy9D,GAASx9D,EAAE,GAAG,EACpC29D,EAAS,GACA,CAACH,GAASz9D,EAAE,GAAG,GAAKy9D,GAASx9D,EAAE,GAAG,EAC3C29D,EAAS,EAETA,EAAS,EAGPA,IAAW,EACb,OAAOA,EAGT,IAAIz2D,EAmBJ,OAlBInH,EAAE,SAAWC,EAAE,OACjBkH,EAAS,EACAnH,EAAE,SAAW,YACtBmH,EAAS,GACAlH,EAAE,SAAW,YACtBkH,EAAS,EACAnH,EAAE,SAAW,QACtBmH,EAAS,GACAlH,EAAE,SAAW,QACtBkH,EAAS,EACAnH,EAAE,SAAW,WACtBmH,EAAS,GACAlH,EAAE,SAAW,WACtBkH,EAAS,EAETA,EAAS,EAGPA,IAAW,EACNA,EAGF,CACT,ECzCA,MAAM02D,GAAQ,WAAW,OAASvN,GAC5B0D,GAAQzD,GACRuN,GAAwB7K,GAA6B,QAE3D,SAASz3C,GAAQi4C,EAAQ,CACvB,OAAOoK,GAAM,WAAWpK,CAAM,wBAAwB,EACnD,KAAMz0D,GAAQA,EAAI,KAAI,CAAE,EACxB,KAAMA,GACEg1D,GAAMh1D,CAAG,EACb,YAAY,MAAM,EAClB,OAAQyD,GACP,CACE,qCACA,oCACA,gCACD,EAAC,SAASA,EAAK,MAAM,GAAG,CAC1B,EACA,IAAI,CAAC,CAAE,MAAA0hB,MAAa,CACnB,IAAKA,EAAM,IACX,KAAMA,EAAM,KACZ,OAAQA,EAAM,IAAI,MAAM,GAAG,EAAE,IAAK,EAClC,IAAKA,EAAM,IACrB,EAAU,EACD,KAAK25C,EAAqB,CAC9B,EACA,MAAM,IACE,EACR,CACL,CAEAC,GAAA,QAAyBviD,GC/BzB,MAAMwiD,GAAM1N,GACNyN,GAAOxN,GAEb0N,GAAA,QAAiB,YAAoBx3D,EAAM,CACzC,OAAO,QAAQ,IAAI,CACjBu3D,GAAI,QAAUA,GAAI,QAAQ,GAAGv3D,CAAI,EAAI,QAAQ,QAAQ,EAAE,EACvDs3D,GAAK,QAAQ,GAAGt3D,CAAI,CACxB,CAAG,EAAE,KAAK,CAAC,CAACy3D,EAASC,CAAS,IAAM,CAAC,GAAGD,EAAS,GAAGC,CAAS,CAAC,CAC9D,EAEIH,GAAI,UACNC,GAAA,YAAqBD,IAGvBC,GAAA,aAAsBF,qBCdtB,MAAMviD,GAAU80C,GACV,CAAE,QAAAF,EAAS,EAAGG,GAEpB,eAAe6N,GAAU3K,EAAQ,CAC/B,MAAMnsD,EAAS,MAAMkU,GAAQi4C,EAAQ,CACnC,IAAK,CACH,CACE,QAAS,eACT,SAAU,KACX,EACD,CACE,QAAS,cACT,SAAU,KACX,CACF,CACL,CAAG,EAED,MAAO,CAEL,GAAG,IAAI,IAAInsD,EAAO,IAAK+2D,GAAWA,EAAO,GAAG,CAAC,CACjD,CACA,CAEA,SAASC,GAAoBpE,EAAQqE,EAAM,CACzC,OAAOA,EAAK,OAAQb,GAAQxD,EAAO,eAAewD,CAAG,CAAC,CACxD,CAEA,eAAec,GAAgBtE,EAAQqE,EAAM,CAC3C,GAAIA,EAAK,SAAW,EAClB,MAAM,IAAI,MAAM,kBAAkB,EAGpC,MAAMb,EAAMa,EAAK,QACX3E,EAAYM,EAAO,eAAewD,CAAG,EAE3C,GAAI,CAAC9D,EACH,OAAO4E,GAAgBtE,EAAQqE,CAAI,EAGrCrE,EAAO,QAAQ,aAAcwD,CAAG,EAChC,MAAMvY,EAASyU,EAAU,UAAU,iBAAiB8D,CAAG,EACjDxE,EAAS,IAAIU,EAAU,UAAU,OAEvC,GAAI,CACFV,EAAO,QAAQ/T,CAAM,EACrB,MAAMiL,GAAQ8I,EAAQ,SAAS,CACnC,MAAU,CACN,OAAOsF,GAAgBtE,EAAQqE,CAAI,CACpC,CAEDrE,EAAO,cAAchB,CAAM,EAC3BA,EAAO,KAAK,SAAS,EACrBgB,EAAO,UAAYN,EACnBM,EAAO,OAASN,EAAU,UAAU,OACpCM,EAAO,OAASN,EAAU,UAAU,MACtC,CAEA,IAAA6E,GAAiB,SAAiB,CAAE,OAAAvE,GAAU,CAC5C,MAAMwE,EAAWxE,EAAO,QACxBA,EAAO,QAAU,eAAuBnB,EAAS,CAC/C,GAAI,CAACA,GAAW,QAAQ,KAAKA,CAAO,EAClC,OAAO2F,EAAS,KAAK,KAAM3F,CAAO,EAGpC,MAAMwF,EAAOD,GAAoBpE,EAAQ,MAAMkE,GAAUrF,CAAO,CAAC,EAEjE,GAAIwF,EAAK,SAAW,EAClB,MAAM,IAAI,MAAM,gCAAgC,EAGlD,GAAI,CACF,MAAMC,GAAgBtE,EAAQqE,CAAI,CACnC,OAAQj7D,EAAK,CACZ,MAAA42D,EAAO,OAAM,EACbA,EAAO,QAAQ,YAAY,EACrB52D,CACP,CACL,CACA,QC7EAq7D,GAAA,OAAwB,SAAgBlF,EAAQ,CAC9C,OAAO,WAAW,KAAKA,CAAM,CAC/B,EAEAkF,GAAA,OAAwB,SAAgBlF,EAAQ,CAC9C,OAAO,WAAW,KAAKA,CAAM,CAC/B,ECPA,MAAMrB,GAAY9H,UAIlB,cAAwB8H,EAAU,CAChC,eAAe3xD,EAAM,CACnB,MAAM,GAAGA,CAAI,EACb,KAAK,KAAO,WACb,CACH,EAEA,IAAAm4D,GAAiBC,oFCbhB,SAASnyC,EAAMoyC,EAAS,CAGrBA,EAAQC,EAAStP,CAAM,CAK3B,GAAEC,GAAM,SAASqP,EAAStP,EAAQ,CAOhC,SAASuP,GAAU,CACjB,KAAK,OAAS,EACf,CAiBDA,EAAQ,UAAU,IAAM,SAASr/D,EAAMs/D,EAAM,CAC3C,OAAKA,IACHA,EAAOt/D,EACPA,EAAOs/D,EAAK,UAAU,MAExB,KAAK,OAAO,KAAK,CAAE,KAAMt/D,EAAM,KAAMs/D,CAAI,CAAE,EACpC,IACX,EAeED,EAAQ,UAAU,OAAS,SAASE,EAAO,CACzC,QAAS9iE,EAAI,EAAGi0B,EAAM,KAAK,OAAO,OAAQj0B,EAAIi0B,EAAKj0B,IACjD,QAASggB,EAAI,EAAG+iD,EAAOD,EAAM,OAAQ9iD,EAAI+iD,EAAM/iD,IAAK,CAClD,IAAI2oC,EAAQ,KAAK,OAAO3oD,CAAC,EACzB,GAAI2oD,EAAM,MAAQma,EAAM9iD,CAAC,EACvB,OAAO,IAAI2oC,EAAM,IAEpB,CAEH,OAAO,IACX,EAEY0K,EAAO,QAAUuP,CAE7B,CAAC,8CCtEA,SAAStyC,EAAMoyC,EAAS,CAGrBA,EAAQC,EACAtP,EACAa,GAAwB,EAOnC,GAACZ,GAAM,SAASqP,EAAStP,EAAQuP,EAAS,CAEzCD,EAAUtP,EAAO,QAAUuP,EAC3BD,EAAQ,QAAUC,CAEpB,CAAC,qCCfD,KAAM,QAAEI,GAAM,OAAEC,EAAQ,EAAG/O,GACrBuO,GAAYtO,GACZyH,GAAM/E,GACNqM,GAAcpM,GAIdqM,GAAK,mCAEX,SAASC,GAAkBC,EAAU,CACnC,OAAOA,EACJ,SAAS,aAAcF,EAAE,EACzB,iBAAkB,EAClB,IAAKpjE,IACJ,QAAQ,IAAIA,EAAI,OAAOA,CAAE,EAClBA,EAAG,OACX,CACL,CAEA,eAAeujE,GAAaC,EAAMzF,EAAQ0F,EAAUC,EAAa,CAC/D,MAAMZ,EAAOU,EAAK,OAAO,CAACC,CAAQ,CAAC,EACnC,GAAI,CAACX,EACH,MAAM,IAAI,MAAM,yBAAyB,EAG3C,KAAM,CAAE,OAAAxL,CAAM,EAAKyG,EAAO,QACpB4F,EAAQ,CACZ,SAAU,KACV,SAAU,KACV,OAAQrM,EACR,KAAMA,EACN,MAAOA,EACP,YAAa,OACb,YAAaA,EACb,GAAGoM,CACP,EAEE,OAAO,IAAI,QAAQ,CAACrkD,EAASo1C,IAAW,CACtC,MAAM3vC,EAAW22B,GAAY,CAC3B,GAAIA,EAAQ,MAAM,QAAU2nB,GAI5B,IAAI3nB,EAAQ,OAAS,YAAa,CAChC,QAAQ,IAAIA,EAAS,OAAOA,CAAO,EACnCqnB,EAAK,UAAUI,GAAOznB,EAAQ,KAAI,CAAE,CAAC,EACrC,MAAMmoB,EAAOd,EAAK,SAASa,CAAK,EAChC5F,EAAO,KACLlC,GACE,WACA,CAAE,MAAOuH,GAAI,UAAWN,EAAK,IAAM,EACnC,OAAOc,GAAS,SAAWX,GAAOW,CAAI,EAAI,EAC3C,CACX,EACQ,MACD,CAEGnoB,EAAQ,OAAS,UACnBgZ,EAAOiO,GAAU,YAAYjnB,CAAO,CAAC,EAC5BA,EAAQ,OAAS,WAC1Bp8B,IAGF0+C,EAAO,eAAe,QAASj5C,CAAO,EAC5C,EAEIi5C,EAAO,GAAG,QAASj5C,CAAO,EAEtBg+C,EAAK,aACP/E,EAAO,KACLlC,GACE,OACA,CAAE,MAAOuH,GAAI,UAAWN,EAAK,IAAM,EACnCG,GAAOH,EAAK,SAASa,CAAK,CAAC,CAC5B,CACT,CAEA,CAAG,CACH,KAEAE,GAAiB,SAAc,CAAE,eAAA7D,CAAc,EAAI0D,EAAa,CAC9D,MAAMF,EAAO,IAAIL,GAEjB,OAAAnD,EAAe,IAAI,aAAcoD,GAAI,MAAO,CAAE,OAAA/D,EAAQ,OAAAtB,KAAa,CACjE,MAAM+F,EAAUT,GAAkBhE,CAAM,EAMxC,IAAIyD,EALcU,EAAK,OAAO,IAAI,CAAC,CAAE,KAAAhgE,CAAI,IAAOA,CAAI,EAErB,OAAQs/D,GAC9BgB,EAAQ,SAAShB,CAAI,CAC7B,EACuB,CAAC,EAErB,OAAOY,GAAgB,WACzB,MAAMA,EACHC,GAAUJ,GAAaC,EAAMzF,EAAQ+E,EAAMa,CAAa,EACzDb,CACR,GAEU,CAACY,EAAY,UAAY,CAACA,EAAY,WACxCZ,EAAO,aAGT,MAAMS,GAAaC,EAAMzF,EAAQ+E,EAAMY,CAAmB,GAG5D,MAAM3F,EAAO,SACjB,CAAG,EAEM,CACL,OAAOzzD,EAAM,CACX,OAAOk5D,EAAK,IAAI,GAAGl5D,CAAI,CACxB,CACL,CACA,ECjHA,MAAMuxD,GAAM1H,GAONiP,GAAK,mCAEX,SAASW,GAAgBxM,EAAU,CACjC,OAAOsE,GAAI,OAAQ,CAAE,MAAOuH,EAAI,EAAE7L,GAAYsE,GAAI,WAAY,GAAItE,CAAQ,CAAC,CAC7E,CAEA,eAAetY,GAAK8e,EAAQ4C,EAAUpJ,EAAU,CAE9C,MAAM9mB,GADS,MAAMkwB,EAAS,IAAIoD,GAAgBxM,CAAQ,CAAC,GACxC,aAAa,KAAK,EACrC,OAAAwG,EAAO,KAAKttB,CAAG,EACRA,CACT,CAEA,SAASsvB,GAAM,CAAE,SAAAY,CAAU,EAAEpJ,EAAU,CACrC,MAAO,OAAO,CAAE,OAAAwG,CAAQ,EAAE92D,IAAS,CACjC,MAAO,OAAOswD,GAAa,WACvBA,EAAUA,GAAatY,GAAK8e,EAAQ4C,EAAUpJ,CAAQ,CAAC,EACvDtY,GAAK8e,EAAQ4C,EAAUpJ,CAAQ,GAEnCtwD,GACJ,CACA,KAEA+8D,GAAiB,SACf,CAAE,eAAAhE,EAAgB,SAAAW,CAAU,EAC5BpJ,EACA,CACAyI,EAAe,IAAI,OAAQoD,GAAIrD,GAAM,CAAE,SAAAY,CAAQ,EAAIpJ,CAAQ,CAAC,CAC9D,ECnCA,MAAMsE,GAAM1H,GAINiP,GAAK,0CAEXa,GAAiB,SAA8B,CAAE,SAAAtD,EAAU,eAAAX,CAAc,EAAI,CAC3EA,EAAe,IAAI,UAAWoD,GAAI,MAAO18C,EAASzf,EAAMi5D,KAClDA,EAAQ,SAAS,UAAU,GAC/B,MAAMS,EAAS,IAAI9E,GAAI,UAAWuH,EAAE,CAAC,EAC9Bn8D,EAAI,EACZ,CACH,ECZA,MAAM40D,GAAM1H,GAINiP,GAAK,gBAEX,eAAec,GAAOnG,EAAQoG,EAAQ/tB,EAAK,CACzC,aAAM2nB,EAAO,KACXlC,GAAI,SAAU,CAAE,MAAOuH,GAAI,IAAAhtB,EAAK,OAAQ+tB,EAAS,OAAS,OAAW,CACzE,EAES,IAAI,QAAQ,CAAC9kD,EAASo1C,IAAW,CACtC,SAASznB,EAASo3B,EAAO,CACvB,GAAIA,EAAM,GAAG,UAAWhB,EAAE,EACxB/jD,EAAQ+kD,CAAK,UACJA,EAAM,GAAG,SAAUhB,EAAE,EAC9B3O,EAAO2P,CAAK,MAEZ,QAGFrG,EAAO,eAAe,QAAS/wB,CAAQ,CACxC,CAED+wB,EAAO,GAAG,QAAS/wB,CAAQ,CAC/B,CAAG,CACH,CAEA,eAAem3B,GAAOpG,EAAQn5C,EAAGy/C,EAAQ,CACvC,MAAMC,EAAW,MAAMvG,EAAO,YAC5BlC,GAAI,SAAU,CAAE,MAAOuH,GAAI,EAAAx+C,EAAG,OAAAy/C,EAAQ,CAC1C,EAEE,GAAI,CAACC,EAAS,GAAG,UAAWlB,EAAE,EAC5B,MAAMkB,EAGR,OAAOA,CACT,KAEAC,GAAiB,SAA0B,CACzC,eAAAvE,EACA,OAAAjC,EACA,WAAAmB,CACF,EAAG,CACD,IAAIsF,EAAU,KAEd,MAAMC,EAAK,CACT,YAAa,GACb,iBAAkB,KAClB,QAAS,GACT,GAAI,GACJ,SAAU,EACV,QAAS,EACT,IAAK,IACT,EAEE,OAAA1G,EAAO,GAAG,SAAWttB,GAAQ,CAC3B+zB,EAAU/zB,EACVg0B,EAAG,SAAW,EACdA,EAAG,QAAU,CACjB,CAAG,EAED1G,EAAO,GAAG,UAAW,IAAM,CACzB0G,EAAG,SAAW,EACdA,EAAG,QAAU,EACbA,EAAG,QAAU,GACbA,EAAG,GAAK,EACZ,CAAG,EAEDvF,EAAW,IAAI,CAACx4C,EAASzf,IAAS,CAChC,KAAM,CAAE,OAAAo4D,CAAQ,EAAG34C,EACnB,MAAI,CAAC,WAAY,UAAW,IAAI,EAAE,SAAS24C,EAAO,IAAI,EACpDoF,EAAG,SAAW,EACLpF,EAAO,GAAG,IAAK+D,EAAE,EAE1BrF,EAAO,KAAKlC,GAAI,IAAK,CAAE,MAAOuH,GAAI,EAAGqB,EAAG,OAAO,CAAE,CAAC,EAAE,MAAM,IAAM,CAAE,GACzDpF,EAAO,GAAG,IAAK+D,EAAE,IAE1BqB,EAAG,SAAWpF,EAAO,MAAM,GAGtBp4D,EAAI,CACf,CAAG,EAKD+4D,EAAe,IAAI,KAAMoD,GAAI,MAAO18C,EAASzf,IAAS,CAEpD,GAAIw9D,EAAG,GACL,GAAI,CACF,aAAMN,GAAOpG,EAAQ0G,EAAG,QAASA,EAAG,EAAE,EACtCA,EAAG,QAAU,GACb1G,EAAO,IAAMyG,EACbzG,EAAO,OAAS,SACT,EAEf,MAAc,CACN0G,EAAG,GAAK,GACRA,EAAG,QAAU,GACbA,EAAG,SAAW,CACf,CAMH,MAAMx9D,EAAI,EAEV,MAAMy9D,EAAgBR,GAAOnG,EAAQ0G,EAAG,YAAaA,EAAG,gBAAgB,EAGxEA,EAAG,SAAW,EAEd,GAAI,CACF,MAAMH,EAAW,MAAMI,EACvBD,EAAG,QAAU,GACbA,EAAG,GAAKH,EAAS,MAAM,GACvBG,EAAG,IAAMH,EAAS,MAAM,GAC9B,MAAY,CACNG,EAAG,QAAU,EACd,CAEDA,EAAG,QAAU,CACjB,CAAG,EAEMA,CACT,mFClIC,SAASl0C,EAAMoyC,EAAS,CAGrBA,EAAQC,EAAStP,CAAM,CAK3B,GAAEC,GAAM,SAASqP,EAAStP,EAAQ,CAehC,SAASqR,GAAY,CACpB,CAEDA,EAAU,UAAU,KAAO,YAC3BA,EAAU,UAAU,YAAc,GAWlCA,EAAU,UAAU,SAAW,SAASC,EAAM,CAC5C,OAAOA,EAAK,OAAS,EACzB,EAQED,EAAU,UAAU,UAAY,SAASE,EAAM,CACjD,EAEYvR,EAAO,QAAUqR,CAE7B,CAAC,8CCrDA,SAASp0C,EAAMoyC,EAAS,CAGrBA,EAAQC,EACAtP,EACAa,GAA0B,EAOrC,GAACZ,GAAM,SAASqP,EAAStP,EAAQqR,EAAW,CAE3C/B,EAAUtP,EAAO,QAAUqR,EAC3B/B,EAAQ,UAAY+B,CAEtB,CAAC,qCCVD,MAAM7B,GAAO3O,GAEb,IAAA2Q,GAAiB,SAAuBjB,EAAM,CAC5CA,EAAK,IAAIf,EAAI,CACf,mFCXC,SAASvyC,EAAMoyC,EAAS,CAGrBA,EAAQC,EAAStP,CAAM,CAK3B,GAAEC,GAAM,SAASqP,EAAStP,EAAQ,CAgBhC,SAASqR,GAAY,CACpB,CAEDA,EAAU,UAAU,KAAO,QAC3BA,EAAU,UAAU,YAAc,GAalCA,EAAU,UAAU,SAAW,SAASC,EAAM,CAC5C,IAAIzlE,EAAM,GACV,OAAAA,GAAOylE,EAAK,SAAW,GACvBzlE,GAAO,KACPA,GAAOylE,EAAK,SACZzlE,GAAO,KACPA,GAAOylE,EAAK,SACLzlE,CACX,EASEwlE,EAAU,UAAU,UAAY,SAASE,EAAM,CAC7C,OAAO,IACX,EAEYvR,EAAO,QAAUqR,CAE7B,CAAC,8CChEA,SAASp0C,EAAMoyC,EAAS,CAGrBA,EAAQC,EACAtP,EACAa,GAA0B,EAOrC,GAACZ,GAAM,SAASqP,EAAStP,EAAQqR,EAAW,CAE3C/B,EAAUtP,EAAO,QAAUqR,EAC3B/B,EAAQ,UAAY+B,CAEtB,CAAC,qCCfD,MAAM7B,GAAO3O,GAEb,IAAA4Q,GAAiB,SAAmBlB,EAAM,CACxCA,EAAK,IAAIf,EAAI,CACf,ECJA,KAAM,CAAE,IAAAjH,GAAK,IAAAprB,GAAK,OAAAitB,EAAM,EAAKvJ,GACvB0J,GAAYzJ,GAEZ4Q,GAAalO,GACbmO,GAAalO,GACbmO,GAAclO,GACdmO,GAAkBlO,GAClBmO,GAAYC,GACZC,GAAYC,GACZC,GAAWC,GAGXC,GAAQC,GACRC,GAAmBC,GACnBC,GAAwBC,GACxBC,GAAoBC,GAGpBC,GAAYC,GACZz5B,GAAQ05B,GAEd,SAASC,GAAOz0D,EAAU,GAAI,CAC5B,KAAM,CAAE,SAAA2lD,EAAU,YAAAmM,EAAa,SAAA4C,EAAU,SAAAC,EAAU,GAAGvd,CAAQ,EAAGp3C,EAE3D,CAAE,OAAA0lD,EAAQ,QAAAsF,CAAS,EAAG5T,EACxB,CAACsO,GAAUsF,IACb5T,EAAO,OAAS6U,GAAUjB,CAAO,GAGnC,MAAMmB,EAAS,IAAIL,GAAO1U,CAAM,EAE1BiV,EAAY+G,GAAW,CAAE,OAAAjH,CAAQ,GACjCgB,EAAYkG,GAAW,CAAE,OAAAlH,CAAQ,GAEjCmB,EAAagG,GAAY,CAAE,OAAAnH,CAAQ,GACnCiC,EAAiBmF,GAAgB,CAAE,WAAAjG,CAAY,GAC/CyB,EAAWyE,GAAU,CAAE,WAAAlG,EAAY,OAAAnB,CAAQ,GAC3CyI,EAAWlB,GAAU,CAAE,WAAApG,EAAY,OAAAnB,CAAQ,GAC3C1+C,EAAUmmD,GAAS,CAAE,OAAAzH,CAAQ,GAE7B8F,EAAO6B,GAAM,CAAE,eAAA1F,CAAc,EAAI0D,GAAe,CAAE,SAAA4C,EAAU,SAAAC,CAAQ,CAAE,EACtEhC,EAAmByB,GAAkB,CACzC,eAAAhG,EACA,OAAAjC,EACA,WAAAmB,CACJ,CAAG,EACK8E,EAAkB4B,GACtB,CAAE,SAAAjF,EAAU,eAAAX,CAAgB,EAC5BzI,CACJ,EACQ0M,EAAuB6B,GAAsB,CACjD,SAAAnF,EACA,eAAAX,CACJ,CAAG,EAEKyG,EAAa,OAAO,QAAQ,CAAE,MAAA/5B,GAAO,UAAAw5B,GAAW,EAAE,IAAI,CAAC,CAACv/B,EAAG5hC,EAAC,KAAO,CACvE,CAAC4hC,CAAC,EAAG5hC,GAAE8+D,CAAI,CACZ,EAAC,EAEF,OAAO,OAAO,OAAO9F,EAAQ,CAC3B,OAAAA,EACA,UAAAE,EACA,UAAAc,EACA,WAAAG,EACA,eAAAc,EACA,SAAAW,EACA,SAAA6F,EACA,QAAAnnD,EACA,KAAAwkD,EACA,gBAAAG,EACA,qBAAAC,EACA,iBAAAM,EACA,WAAAkC,CACJ,CAAG,CACH,CAEA,IAAkBC,GAAG7K,GACH8K,GAAGl2B,GACrBm2B,GAAwBP,GChFjB,MAAMQ,GACX,mECoBK,IAAIC,GAAS,CAACC,EAAO,KAAO,CACjC,IAAIhyD,EAAK,GACLiyD,EAAQ,OAAO,gBAAgB,IAAI,WAAYD,GAAQ,EAAG,EAC9D,KAAOA,KACLhyD,GAAMkyD,GAAkBD,EAAMD,CAAI,EAAI,EAAE,EAE1C,OAAOhyD,CACT,kpsICbW,OAAAmyD,EAAA,kBAAAl4B,CAAA,EAAAA,CAAAk4B,CAfXA,IAKMA,EAAA,SAEAA,EAAK,4GAOTC,qCACAC,gGAGAC,ghBA6BAC,mBAAmB,8BACrB,8CAEA,GACA,IAAIC,IAAAL,MAAAx0D,WAEJ60D,IAAiBL,EAAA,mBACJM,GAASN,cAAA,CAAAA,IAAAx0D,EAAA,KAClBw0D,IAAgB,OAAAA,QAAAx0D,EAAA,QACd+0D,WACFA,GAAA,cAAAP,EAAA,YACAA,IAAc,qBAEdA,IAAiB,OACf,eAAU,CACV,QACA,UAAa,CAAE,EACf,eACA,iBAAoB,CAAE,EACtB,iBAAc,GACd,YACA,cAAgB,GAChB,WAAe,GACf,WAAe,EACjB,gBAAAA,EACAA,IAAY,OAAAA,YACZA,MAAqB,MAAAA,mBAAA,KACrBA,IAAYb,EAAO,MACjBzJ,UAASsK,GAAA,CACT5P,SAAQ4P,IAAA,EAAAlyB,UAAOsiB,UAAA4P,EAAA,YAAqB,uCACpC3P,QAAQ2P,IAAG,GAAApjE,EAAA,KAAAkxC,aAAO,OAAAlxC,CAAA,IAAY,cAC9BwiE,UAAgBY,EAAI,aAAAlyB,EAAA,WAAAkyB,EAAA,6BAAAJ,GAAA,IACpBP,SAAUvxB,EAAOuxB,IAClB,SAAAvxB,EAAA,QAAAkyB,GACDO,IAAa,gBAEbP,IAAI,QAAiCA,IAAA,UAIrCA,EAAA,YACAA,IAAqB,QACvB,uCAEAQ,CAAeR,YACbA,IAAIA,OAAOA,WAAA,QAAAz2B,GACX,OAAAy2B,IAAmB,QAAUA,UAAApjE,UAAAojE,IAAAx0D,EAAA,QAC3Bi1D,IAAiBl3B,EAAG,MACtBk3B,EAAAC,GAAAn3B,CAAA,GAAAy2B,EAAA,YACAA,IAAO,QACL3P,CACAJ,SAAOwQ,EAAKE,YAAU,EACtBvQ,MAAQqQ,EAAI,SAAU,EACtB3zB,SAAWA,UAAe,EAC1Ba,KAAM8yB,EAAKG,gBAAS,EACtB,KAAAH,EAAA,UACF,CAEAI,CAAqBb,cAAA,CACOA,GADPA,IAAAx0D,EAAA,KACnBw0D,IAAc,QAAYA,cAAA,EAC+CA,GAD/CA,IAAAx0D,EAAA,QACxBw0D,MAAI,EAAApjE,IAAmEojE,IAAA,UAAA7H,EAAA,sBAAA6H,IAAA,UAAA7H,EAAA,2BAEqB6H,GAFrBA,IAAAx0D,EAAA,oBAEqBw0D,EAAApjE,EAAA,WAAAu7D,EAAA,aAAAoI,GAAA,WAAAP,EAAA,aAAA7H,EAAA,WAAAoI,GAAA,0BAErDP,SAAA,UAAA7H,EAAA,kBAIvB6H,GAHZA,IAAa,QAAAA,EAEbA,EAAA,cAFaA,IAAAx0D,EAAA,SACXs1D,IAAgBC,QAClBD,EAAA3I,EAAA,sBACA6H,IAAY,QAAAA,GACVA,EAAM,EAAAA,EAAA,SAAyDA,SAAAx0D,EAAA,UAAAs1D,EAAA,2CAC/Dd,IAAI,QAAiCA,IAAA,WAErCA,EAAA,aACA7H,IAAS,QACXA,EAAAhsB,CAAA6zB,QAAA,YACFA,QAAA,aACAO,IAAuB,QAClBA,GAAA,aAAApI,CAAA,CAAA6H,MACLA,EAAMA,YAAiCA,WAAA,UAAA7H,EAAA,oBAC3B6H,GAAZA,IAAY,QAAAA,kBAGV,MAAM7zB,GAAA6zB,EAAA,UAAmB/7D,EAAA,SAAS,WAAU,GAAA+7D,GAAAx0D,EAAA,UAAAw1D,EAAA,qBAC5CT,IAAuB,QACzBA,GAAA,aAAAp0B,CAAA,CAAA6zB,QAAA,aACAA,IAAiBl+D,EAAA,MAAkBk+D,eAAA,SAAAA,IAAAx0D,EAAA,SACjC+0D,IAAuB,QACzBA,GAAA,aAAApI,CAAA,GAAA6H,EAAA,YAEG,SAAAA,IAAAx0D,EAAA,QAAAw0D,IAAc,QAAaA,eAAA,GAChCA,EAAM,aACJiB,SAAYjB,EAAA,WACZkB,SACAp/D,OAAMq2D,GACR,KAAAA,EAAA,UAAA6H,GACAr3B,IAA0B,QAA2Bq3B,UAAA,SAAA7H,EAAA,YACrD6H,IAAiBl+D,EAAA,MAAwBk+D,eAAA,eAAAA,IAAAx0D,EAAA,SACvCm9B,IAAgB,QAAAq3B,aAChBr3B,IAAgB,QACXA,EAAA,cAAAq3B,IAAAx0D,EAAA,SACLm9B,IAAgBq3B,QAA+BA,QAAAx0D,EAAA,aAAA2sD,EAAA,uBAAA6H,EAAA,sBAC/Cr3B,IAAS,QACXA,EAAA,OAAAwvB,EAAA,wBAEoD6H,aAAA,QAAA7H,EAAA,aAAA+D,GAAA,WACpD8D,IAAiB,QAAAA,OAAAx0D,EAAA,SACfm9B,IAAiB,QAAAq3B,QAAAx0D,GACjB21D,YAAyCnB,cAAA,YAAAjnE,GAAA,CAAAinE,IAAAx0D,EAAA,KACvCw0D,IAAkB,QAAAA,kBAAAx0D,EAAA,SAChBm9B,IAAS,EAAU5vC,EAAE+nB,IACvB6nB,EAAA,QAAA5vC,EAAA,YAAAinE,EAAA,aACAA,YAAyBA,yBAAAx0D,EAAA,SACvBm9B,IAAS,QACXA,EAAA,eAAA5vC,EAAA,mBAAAinE,EAAA,aACAA,IAAiB,QAAAA,iBAAAx0D,EAAA,SACfm9B,IAAS,EAAU,EAAC7nB,IACtB6nB,EAAA,OAAA5vC,EAAA,WAAAinE,EAAA,YACDA,GACDmB,YAAgDnB,cAAA,cAAA/zB,GAAA,CAAA+zB,IAAAx0D,EAAA,KAC9Cw0D,IAAiB7yB,EAAA,MAAgB6yB,eAAA,OAAAA,IAAAx0D,EAAA,SAC/Bm9B,IAAkB,QACpBA,EAAA,WAAAq3B,EAAA,YACDA,GACDmB,YAAgDnB,cAAA,cAAA/zB,GAAA,CAAA+zB,IAAAx0D,EAAA,KAC9Cw0D,IAAiB7yB,EAAA,MAAgB6yB,eAAA,OAAAA,IAAAx0D,EAAA,SAC/B+0D,QAAqBa,IAAiCpB,aAAA,mBAAA94D,IAAA84D,IAAAx0D,EAAA,KAAAw0D,IAASr3B,QAASzhC,EAAAyhC,CAAA,EAC1E,GAAAq3B,EAAA,YAEJ,IAAAA,EAAA,aACAA,IAAI,QAAiCA,IAAA,WAErCA,EAAA,aACAO,QAAqB53B,IAA+Bq3B,aAAA,iBAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAASr3B,QAASzhC,EAAAyhC,CAAA,GAExEq3B,QAAA,YAGFqB,CAAsBrB,eAAA,CACpBA,IAAMA,QACN,MAAM1zB,GAAA0zB,YAAa,IAAgBA,KAAA,UAAA7H,EAAA,kBACzB6H,GAAVA,IAAU,QAAAA,OAAAx0D,EAAA,SACRw0D,IAAI,QAAiCA,IAAA,WAErCA,EAAA,aACA7zB,IAAmB,QAAS6zB,SAAA,UAC5B7zB,IAAyB,QAA2B6zB,UAAA,SAAA7H,EAAA,YACpDhsB,IAAuB,QAA2C6zB,QAAA,UAAAA,IAAA,WAAA7H,EAAA,WAAA6H,IAAA,WAAAO,GAAA,OAClEp0B,MAAmB,EAACrrB,IAAMk/C,OAAA,SAC1B7zB,QAAqB,IACrBA,EAAMm1B,OAAAtB,WAA0CA,WAAA,UAAA7H,EAAA,uBAChD6H,IAAkB,QAAAA,OAAAx0D,EAAA,SAChB2gC,IAAQ,EAAWm1B,MACrBn1B,EAAA,SAAAm1B,EAAA,UAAAtB,EAAA,aAGyCA,WAAA,UAAA7H,EAAA,kBACzC6H,IAAe,QAAYA,SAAA,GAAAA,IAAAx0D,EAAA,SACzB+1D,IAAWp2B,EAAQq2B,MAAaxB,UAAA/3B,GAAA,CAAA+3B,IAAAx0D,EAAA,MAC9Bw0D,MAAI,EAAApjE,IAAkEojE,IAAA,WAAAwB,EAAA,QAAAxB,EAAA,aAAAwB,EAAA,cAAAtF,GAAA,mBAAA8D,IAAAx0D,EAAA,SACpEw0D,IAAaxzB,EAAO,MAAAwzB,QAEpBA,EAAA,cAFoBA,IAAAx0D,EAAA,SAClB2gC,IAAiB,QACnBA,EAAA,UACAA,IAAcb,EAAK,MAAE8rB,EAAKoK,WAAUC,CAAqB,IAAAD,EAAA,mBAC3D,IAAAxB,EAAA,YAEJ,IAAAA,EAAA,aAGsBA,WAAA,UAAA7H,EAAA,QACqB6H,GAA3CA,IAAI,QAAuCA,EAAApjE,EAAA,WAAAgsB,IAAAo3C,EAAA,aAAAp3C,EAAA,qBACzCo3C,EAAMA,aAA+BA,WAAA,UAAAp3C,EAAA,mBACrCujB,QAAgB,IACXA,EAAA,MAAAI,GAAAyzB,EAAA,aAAAzzB,EAAA,cAAAyzB,EAAA,kBAAAA,MACLA,EAAMA,aAA+BA,WAAA,UAAA7H,EAAA,mBACrC6H,IAAW,QAAAA,OAAAx0D,EAAA,SACT2gC,QAAgB,IAClBA,EAAA,MAAAI,GAAAyzB,EAAA,aAAAzzB,EAAA,cAAAyzB,EAAA,oBAAAA,EAAA,YACFA,CACAA,IAAazzB,EAAO,OAAAyzB,QAEpBA,EAAA,cAFoBA,IAAAx0D,EAAA,SAClB2gC,IAAgB,SAClBA,EAAA,gCAEAo0B,SAAqBmB,IAA2B1B,aAAA,aAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAAS7zB,SAAQjlC,EAAAilC,CAAA,EACnE,CAAA6zB,QAAA,aAGmDA,WAAA,WAAA7H,EAAA,oBAAA9mD,IAAA2uD,IAAAx0D,EAAA,MAAAw0D,SAAA,IAAyDA,IAAA,WAAA3uD,EAAA,QAAA2uD,EAAA,aAAA3uD,EAAA,cAAA6qD,GAAA,mBAAA8D,GACrFA,GAAvBA,IAAW,KAAY,IAAAA,SAAA,kBAEqCA,aAAA,SAAA2B,EAAA,uBAAAtwD,IAAA2uD,IAAAx0D,EAAA,MAAAw0D,SAAA,IAA0DA,IAAA,WAAA3uD,EAAA,QAAA2uD,EAAA,aAAA3uD,EAAA,cAAA6qD,GAAA,oBAAA8D,GACzFA,GAA3BA,IAAe,SAAYA,SAAA,GACzBA,EAAM,EAAAA,EAAA,SAAqDA,aAAA,SAAA4B,EAAA,uBAAAvwD,IAAA2uD,IAAAx0D,EAAA,MAAAw0D,SAAA,IAAyDA,IAAA,WAAA3uD,EAAA,QAAA2uD,EAAA,aAAA3uD,EAAA,cAAA6qD,GAAA,mBAAA8D,GAC5FA,GAAxBA,IAAY,KAAU,IAAEA,SAAA,GACtBA,EAAM,aACN,MAAM6B,GAAA7B,IAAA,EAAY,OAAA4B,EAAA,uBACRC,GAAS7B,EAAW,YAC5B1hD,SAAM65C,EAAOr3C,CAAK,EAAK,SACvB4sC,KAAMyK,EAAE,WACR2J,OAAQC,GAAUH,EAAoBE,EAAE,WAAAC,EAAA,YAAA/B,EAAA,mBAC1C,iBAAA4B,EAAA,YAAA5B,GACAO,SAAqByB,IAAuChC,aAAA,yBAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAAS6B,SAAU36D,EAAA26D,CAAA,EACjF,CAAA7B,QAAA,YACFA,QAAA,YACFA,QAAA,aAG6CA,WAAA,WAAA7H,EAAA,qBAC5B6H,GAAjBA,IAAiB,SAAAA,GACfA,EAAM,EAAAA,EAAA,eACA/1B,GAAY+1B,IAAgB,EAACl/C,OAAMxC,CACvC2rB,QAASg4B,SAAYC,EAAQ,YAC/B,QAAAD,EAAA,SAAAjC,GACAO,SAAqB4B,IAAoCnC,aAAA,sBAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAAS/1B,SAAQ/iC,EAAA+iC,CAAA,EAC5E,CAAA+1B,QAAA,aAGyCA,WAAA,WAAA7H,EAAA,mBAC1B6H,GAAfA,IAAe,SAAAA,GACbA,EAAM,aACJoC,SAAWjK,EAAe,YAC1Br2D,UAAMugE,EAAUvhD,MAAU,GAC1BqrB,OAAkB,MAAoB,KAAU6zB,UAAA/3B,oBAAA52B,IAAA2uD,IAAAx0D,EAAA,MAAAw0D,SAAA,IACzC3uD,IAAS,WAAAA,EAAA,QAAA2uD,EAAA,aAAA3uD,EAAA,cAAA6qD,GAAA,cAAA8D,cAAAx0D,EAAA,MAAAw0D,IAAU,SACd3uD,EAAA,KACd,YAAA2uD,GACAO,SAAqB+B,IAAuCtC,aAAA,yBAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAAShgE,KAAM,IAAAkH,EAAAlH,CAAA,EAC7E,CAAAggE,QAAA,aAG2DA,WAAA,WAAA7H,EAAA,oBAAA9mD,IAAA2uD,IAAAx0D,EAAA,MAAAw0D,SAAA,IAAkDA,IAAA,WAAA3uD,EAAA,QAAA2uD,EAAA,aAAA3uD,EAAA,cAAA6qD,GAAA,YAAA8D,GAC9EA,GAA/BA,IAAkB,EAACuC,GAAA,IAAYvC,EAAApjE,OAAA,GAC7BojE,EAAM,IAAAA,EAAA,aACD31B,GAAqB21B,EAAO,EAACl/C,KAAMxC,IAAK,CAC3Cxc,IAAMq2D,GAAOr3C,SAAUq3C,EAAA,YACvB9tB,OAAyB,WAC3B,UAAAm4B,EAAA,YAAAxC,GACAO,SAAqBl2B,IAAgC21B,aAAA,kBAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAAS31B,SAAUnjC,EAAAmjC,CAAA,EAC1E,CAAA21B,QAAA,aAEAA,IAAI,KAAApjE,IAAiCojE,IAAA,WAErCA,EAAA,YAGIyC,CAAUzC,eAAA,CAAAA,WAAAx0D,EAAA,MACdw0D,IAAc,SAAsBA,mBAAA,WAAAA,IAAAx0D,EAAA,SAClCw0D,IAAwB,SAAwBA,uBAAA,yBAChDO,SAAqBmC,IAAoC1C,aAAA,sBAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAAa,SAAK94D,EAAA,UAC7E,GAAA84D,EAAA,aACAA,IAAY,SACd,QAEM2C,CAAa3C,kBAAA/3B,CAAA+3B,IAAAx0D,EAAA,MACjBw0D,IAAe,SACjB,gBAEA4C,CAAmB5C,OAAA/3B,CAIQ+3B,GAJRA,IAAAx0D,EAAA,MACjBw0D,IAAI,KAAApjE,IAAiCojE,IAAA,WAErCA,EAAA,aACAA,IAAQ6C,EAAU/gE,OAAOk+D,eAAApjE,CAAA,GAAAojE,IAAAx0D,EAAA,sBAEWw0D,gBAAA,OAAA94D,CAAA,EAClC84D,IAAA,SACF,MAAAA,QAAA,aAEAA,IAAiB,EAAE94D,GAAQ,IAC7B,aAAApF,EAAAoF,CAAA,CAEM47D,CAAe9C,gBAAA+C,EAAA,CACnB/C,IAAMgD,EAAA,MAEMlhE,MAAIkhE,GAAEhD,IAAA,SAAArL,GAAA,MACdA,KACE,OAAgBA,GAAA,QAAW,CAAEoO,gBAEjC,IAAAA,CACF,KAA6D/C,KAAA,4CAAAgD,CAAA,GAC7D,OAAAhD,IAAsB,SAEPA,WAAA,iCAAApkE,IAAAokE,IAAAx0D,EAAA,MACXw0D,IAAO,SACFpkE,CACHysC,GAAMzsC,EAAEA,MAAmCokE,qBAAA,iBAAAA,IAAAx0D,EAAA,MAAAw0D,IAAQ,kBACrD,GAEN,CAEA,CAAqCA,mBAAA/3B,EAAAgE,EAAA5tB,EAAA,CACnC2hD,IAAMiD,IAAA,IAEF5kD,qCAEFs2C,IAOFqL,aAAAx0D,EAAAk8B,CAAA,EAAAuE,GAAA+zB,EAAA,aAAArL,GAAA,YAAA1oB,CAAA,IAAA+zB,EAAA,qBACAA,IAAgBkD,KAAoB,IACtC,qBAAAD,CAAA,CAEA,CAA0CjD,oBAAA3hD,EAAAvc,EAAAuoC,EAAA,CAAA21B,IAAAx0D,EAAA,MACxCw0D,IAAiB,EAAE,OAEnBA,EAAA,aAOAA,WAAA,8DACiCA,GAAjCA,SAAqB31B,IAAY21B,WAAA31B,CAAA,EAEjC21B,EAAA,iBAFiC,CAAAA,IAAAx0D,EAAA,SAC/Bw0D,IAAA,SACF,MAAAA,CACAA,SAAqBrL,UAEb,eAAAA,GAAA,WACJt2C,OACAC,KAEFq2C,KAAItqB,SAAW,MAAOsqB,GAAAtqB,EAAK84B,CAC7B,MAACjH,GAAA,UACH,IAEA,CAAoD8D,oBAAAl+D,EAAAwqC,EAAA8qB,GAAA4I,IAAA,oBAClDA,IAAMA,QAAYA,aAAA,SAAAJ,GAAA,GAClBI,SAAqBrL,UAEb,eAAAA,GAAA,WACJt2C,OACAC,KACAzQ,mBAEF8mD,MAIoCA,GAAA,OAAKwO,+EAAYjH,GAAA,cAElCkH,0BAAkB,MAEjClH,GAAK,kBAMAvH,GAAA,MAAc,GAAAyC,CAAA,KAAA4I,EAAA,mBAAArL,GAAA,aACnB9mD,mBAGN,GAAAA,CACA,WACMw1D,GAAArD,EAAA,YACJ3hD,OACAC,GAAI,KAAM,SAAID,CAAA,EACdxQ,KAAE,SACFy+B,KACAC,OACF,8BAAAyzB,GACAA,IAAS,SAAAA,OAAAx0D,EAAA,SACP63D,IAAY,KAAS,IAAEjM,UAAK,IAAAA,CAC9B,IAAA4I,EAAA,aACAA,IAAI,KAAApjE,IAAiCojE,IAAA,WAErCA,EAAA,aACAO,SAAqB+C,IAAkCtD,aAAA,oBAAA94D,IAAA84D,IAAAx0D,EAAA,MAAAw0D,IAASqD,SAAYn8D,EAAAm8D,CAAA,EAC9E,EAGuBrD,qBAAA,CACrBA,IAAMuD,QAEMzhE,MAAIyhE,GAAEvD,IAAA,SAAArL,GAAA,MACdA,KACE,OAAiBA,GAAA,SAAK6O,CAE1B,MAAAtH,GAAA,OACF,KAA8D8D,KAAA,4CAAAuD,CAAA,GAC9D,OAAAvD,IAAmB,SACrB/7D,EAAA,sBAGqB+7D,oBAAA,CACnBA,IAAMyD,IAAA,IAEI3hE,MAAI2hE,GAAEzD,IAAA,SAAArL,GAAA,MACdA,KACE,OAAgBA,GAAA,QAAK+O,CACrB/O,MACEuH,GAAA,SAAkBvH,GAAA,UAAKgP,CAE3B,MACFzH,GAAA,SACA,MACM0H,GAAA5D,IAAA,EAAAx0D,aAAa,2BAAAi4D,CAAA,GAAAzD,OAAA,aACnB/7D,aAAmB,OACH+7D,cAAA/3B,OAAA,UAAA47B,IAAA7D,IAAAx0D,EAAA,MAAAw0D,IAAa,SACXA,cAAA,mBAAAx0D,IAAAw0D,IAAAx0D,EAAA,MAAAw0D,IAAa,SACFA,cAAA,sBAAA8D,GAAA,CACrB9D,MAAM,MAAsBA,WAAA,WAAA8D,EAAA,OAC5B9D,IAAe7uD,SAAU6uD,gBAAAx0D,EAAA,SACvBs4D,IAAmB,KAAQ,IAAS9D,WAAA,QAAAlO,GAAA,CAAAkO,IAAAx0D,EAAA,MAClCu4D,IAAcznE,KAAQw1D,IACvBiS,EAAAjS,EAAA,MAAAA,EAAA,WACH,IAAAkO,EAAA,aACAA,IAAmB,KAAC,IAAwBA,SAAA,qBAAAA,IAAAx0D,EAAA,SAC1Cu4D,IAAS,KAAmB,IAC9BA,EAAA,SAAAA,EAAA,mBAAA/D,EAAA,aAC2CA,WAAA,WAAA8D,EAAA,sBAC3C9D,IAAU,SAAAA,OAAAx0D,EAAA,SACRu4D,IAAgB,SAClBA,EAAA,KAAAC,GAAAhE,EAAA,aACmDA,WAAA,WAAA8D,EAAA,0BACnD9D,IAAc,SAAAA,OAAAx0D,EAAA,SACZu4D,IAAS,KAAW,IACtBA,EAAA,SAAA1E,GAAAW,EAAA,aACA4D,IAAuB,SACvBA,EAAA,KAAAG,CAAA,CAAD,CACF,EACH,EAAA/D,EACFA,IAAO,SACT4D,CAEMK,CAAwBjE,mBAAA/3B,EAAA,CAC5B+3B,IAAMkE,QAEIpiE,MAAIoiE,GAAElE,IAAA,SAAArL,GAAA,MACdA,KACE,OAAgBA,GAAA,QAAK+O,CACrB/O,MACEuH,GAAA,SAAkBvH,GAAA,UAAKgP,OACdzH,GAAA,SAAU8D,gBAAAx0D,EAAA,MAAAw0D,IACjB,SACOpjE,GAAK,cACVunE,IAAQvnE,EAAA,IACRN,SAAQA,WACT,KACC0nE,QAUVpnE,EAAA,MAAAojE,IAAA,WAAArL,GAAA,UAAA/3D,EAAA,QAAAojE,EAAA,mBAAApjE,EAAA,UAAAojE,EAAA,aAAArL,GAAA,cAAA/3D,EAAA,YAAAojE,EAAA,oBAAAA,MACAA,aACF,iCAAAkE,CAAA,CAEME,CAAsBpE,oBAAA,CAC1BA,IAAMA,QAAoCA,WAAA,sCAC1C4D,IAAe,WACA,MACbO,IAAQJ,EAAU,IAClBznE,SAAcynE,EAAK,SACnBC,KAAMD,EAASC,KACf3E,KAAQ0E,OACT,SAAAA,EAAA,QAAA/D,GACDA,IAAuB,SACzB,wBAAA4D,CAAA,CAEMS,CAAoBrE,qBAAAz2B,EAAA,CACxBy2B,IAAMA,QACgBA,SAAA/3B,IAAA,4CAAA87B,IAAA/D,IAAAx0D,EAAA,MAAAw0D,IAAS,SAAW+D,EAAA,MAAAx6B,EAAAy2B,GAC1CA,IAAuB,SACzB,wBAAA4D,CAAA,EAGuB5D,mBAAA/3B,EAAA,CAI+B+3B,GAJ/BA,IAAAx0D,EAAA,MACrBw0D,IAAWjzB,KAAW,IAAAizB,gBAAAx0D,EAAA,SACpB6S,IAAc,SAChBA,EAAA,iBAAA2hD,EAAA,aACAA,IAAWhnE,SAAyCgnE,sBAAA,KAAAK,GAAAhiD,CAAA,EAAA2hD,WAAAx0D,EAAA,SAClDw0D,IAAOK,KAAehiD,IACxBgiD,GAAAhiD,CAAA,EAAA2hD,EAAA,aAGYl+D,MAAIwiE,GAAOtE,IAAA,SAAArL,GAAA,MAAEr2C,KAAMiiD,MAAqBliD,iBAChDs2C,MACkBA,GAAA,QAAK4P,CAEzB,MAAArI,GAAA,UACF,0DAIEsI,GAAkBxE,MAAkB,GAAY,KAA6BA,aAAA/3B,SAAA,qCAAAnD,IAAAk7B,IAAAx0D,EAAA,MAAAw0D,IAAc,SAACl7B,EAAA,MAC5Fs3B,EAAyE4D,oBAAA,oCAAAhH,IAAAgH,IAAAx0D,EAAA,MAAAw0D,IAAa,KAAI,IAAChH,EAAA,UAC3FuI,EAA+DvB,aAAA/3B,SAAA,8BAAA5kC,IAAA28D,IAAAx0D,EAAA,MAC7Dw0D,IAAO,SAAQ,CAAsCA,qBAAA,aAAA9tB,IAAA8tB,IAAAx0D,EAAA,MACnDw0D,IAAO,SACC9tB,CACNmN,KAAOnN,EAAK,MAAM,IAClBpwC,MAAMowC,EAAMpxB,MAAU,MACtBjnB,KAAOq4C,EAAK,MAACuvB,KACf,MAAAvvB,EAAA,uBACC,GAEP,CAAA8tB,GACA,OAAAA,IAAI,KAAApjE,IAAiCojE,IAAA,WAErCA,EAAA,aAEAK,IAAiB,KAAI,IAAAL,IAAAx0D,EAAAi5D,EACrBzE,IAAO,SACTyE,CAEMC,CAAkB1E,oBAAA3hD,EAAA,CAAA2hD,IAAAx0D,EAAA,MACtBw0D,IAAWjzB,KAAW,IAAAizB,gBAAAx0D,EAAA,SACpB6S,IAAc,SAChBA,EAAA,iBAAA2hD,EAAA,aAGYl+D,MAAI6iE,GAAO3E,IAAA,SAAArL,GAAA,MAAEr2C,KAAMiiD,MAAqBliD,iBAChDs2C,MACkBA,GAAA,QAAKwL,CAEzB,MAAAjE,GAAA,WACF,KAAiE8D,KAAA,4CAAA2E,CAAA,GACjE,OAAA3E,IAAI,KAAApjE,IAAiCojE,IAAA,WAErCA,EAAA,aACAA,IAAO,SACA,CAAwDA,iBAAA,iCAAAjnE,IAAAinE,IAAAx0D,EAAA,MAAAw0D,IAAO,SAAAjnE,EAAA,MACtE,CACF,EAGyBinE,wBAAA,CAAAA,IAAAx0D,EAAA,mBAGvB,KAAMi5D,cAAAzE,gBACN,MAAI4E,GAAA5E,aAAc,MAAe,kBAAU,GAAAA,SAAA,+BAAAyE,CAAA,GAChBzE,GAA3BA,IAAgBjzB,SAAWizB,IAAA,uBAEmBA,WAAA,uCAC5CA,aAAkDA,aAAA,cAAAjnE,EAAA8rE,EAAA,aAAA9rE,IAAA,CAChDinE,IAAI,SACF,IAAiEA,WAAA,mCAAA6E,EAAA,MAAA9rE,CAAA,QAEpDinE,GADb4E,IAAeE,SAAwB9E,sBAAAyE,CAAA,EACvCzE,IAAa,SAAAA,OAAAx0D,EAAA,SACXw0D,IAAK,KAA0B,IAAUA,mBAAA6E,EAAA,MAAA9rE,CAAA,MACzCinE,IAAA,SACF,KAAAA,QAAA,YACcA,SAAA,CACd+E,IAAa/kE,EAAMmsC,GAAO,IAC5B,aAAAnsC,EAAA,QACF,CACF,CAAAggE,QAAA,aACA,OAAAA,IAAO,SACL4E,CACF,QAAAA,CACF,CAEAE,CAA2B9E,iBAAA,CACwBA,GADxBA,IAAAx0D,EAAA,MACzBw0D,IAAc5D,KAAQ,IAA2B4D,WAAA,SAAA9D,GAAA,cAAA8D,IAAAx0D,EAAA,SAC/Cw0D,qBACQwB,KAAAxB,OAAAx0D,SAAqBi5D,EAAW,WAAE,OAAA1rE,IAAA,CAAAinE,WAAA,WAAAyE,EAAA,WAAA1rE,CAAA,GACNinE,GAAlCA,IAAcgF,KAAU,IAAUhF,SAAA,IAAA9tB,IAAA8tB,IAAAx0D,EAAA,MAAAw0D,IAAW,SAAU9tB,EAAI+yB,MAAcjF,yBAAA,GACvEA,EAAM,aAAoDA,WAAA,WAAAwB,EAAA,cAAAtvB,IAAA8tB,IAAAx0D,EAAA,MAAAw0D,IAAM,KAAS,IAAe9tB,EAAA,uBAAA8tB,GACvDA,GAAjCA,IAAoB,KAAC,IAAYA,EAAA,SAAAA,WAAAx0D,EAAA,SAC/Bw0D,IAAgC,SAClC,SAAAkF,EAAA,aAAAlF,EAAA,YACFA,QAAA,YAEJ,CAAAA,QAAA,aACAA,IAAO,QAGT,CAAiCA,oBAAA3hD,EAAA8mD,EAAA,CAAAnF,IAAAx0D,EAAA,MAC/Bw0D,IAAI,KAAApjE,IAAiCojE,EAAApjE,EAAA,WAAAyhB,IAAA,SAAA2hD,EAAA,aAAA3hD,IAAA,OAAA2hD,IAAAx0D,EAAA,SACnC6S,IAAU,SACZA,EAAA,oBAAA2hD,EAAA,aAGYl+D,MAAIsjE,GAAOpF,IAAA,SAAArL,GAAA,MAAEr2C,KAAMiiD,MAAqBliD,iBAChDs2C,MACoBA,GAAA,UAAgB,CAAE,MAAGwQ,eAE3C,GAAAA,CACF,KACME,GAAArF,EAAA,EAAAx0D,EAAS,wCAAA45D,CAAA,MACkBpF,EAAA,WAAU,CAAAA,0BAAA3uD,IAAA2uD,IAAAx0D,EAAA,MAAAw0D,IAAM,KAAS,IAAa3uD,SAAS+lD,OAChF,mBACqD4I,KAAA,WAAA/7D,EAAA,oBAAAoN,IAAA2uD,IAAAx0D,EAAA,MAAAw0D,IAAM,KAAS,IAAa3uD,EAAQ,OAAC,OAAA2uD,aAAA,KAC1F,OAAAA,IAAO,SACC,CACNsF,SACF,SAAAA,CACF,EAGsBtF,oBAAA,CAAAA,WAAAx0D,EAAA,MACpBw0D,IACE,SACa,EACX3gB,WACA/2B,SACAxmB,YAAM,GAER,aACE+L,GACAwxC,QACA/2B,kBACAxmB,YAAM,WAER,YACE+L,GACAwxC,cACA/2B,iBACAxmB,YAAM,KAER,YACE+L,GACAwxC,SACA/2B,YACAxmB,YAAM,wBAER,YACE+L,GACAwxC,UACA/2B,iBACAxmB,YAAM,aAER,YACE+L,GACAwxC,UACA/2B,aACAxmB,YAAM,YAER,YACE+L,GACAwxC,WACA/2B,cACAxmB,YAAM,gCAEV,YACF,EAEMyjE,CAAavF,iBAAA/3B,CACjB+3B,IAAMwF,IAAA,IAEI1jE,MAAI0jE,GAAOxF,IAAA,SAAArL,GAAA,MAAEr2C,KAAMiiD,MAAqBliD,iBAChDs2C,MACkBA,GAAA,QAAK8Q,CAEzB,MAAAvJ,GAAA,KACA,KACMwJ,GAAA1F,MAAAx0D,GAAA,UAAiB,KAAmB,sBACjCg6D,CAAY,GAAgBxF,OAAA,2CAAA0F,EAAAC,KAAA3F,IAAAx0D,EAAA,MACjCk6D,IAAWC,KAAU93D,IAAMmyD,IAAA,IAAA2F,EAC3B3F,IAAO,SACJ0F,GACP,KAAgE1F,KAAA,WAAA/7D,EAAA,+BAAA+2D,GAAA,CAC9DgF,IAAM,cACAz3D,KAASjM,YACf,KAAA0+D,EAAA,IACA,GAA0EgF,KAAA,WAAA0F,EAAA1K,EAAA,OAAAgF,EAAA,aAAA0F,EAAA1K,EAAA,aAAAgF,EAAA,oBAExE,OADFA,IAAgB,SACD4F,EAAA,CAAA5F,iBAAAx0D,EAAA,SACXjD,IAAwB,SAAqDy3D,kBAAA,WAAAA,EAAA,aAAAhF,EAAA,iCAAAgF,EAAA,mBAC7Ez3D,IAAoB,KAAS,IAAiDy3D,YAAAhF,EAAA,kBAAAgF,EAAA,aAAAhF,EAAA,+BAAAgF,EAAA,0BAC9EA,IAAA,SACF,MAAYA,gBAAAx0D,EAAA,SACVjD,IAAiB25D,SAAQlC,UAAAx0D,UACzBw0D,IAAA,SACF,MAAAA,YAAAx0D,EAAA,SACE2iC,IAAiB6sB,EAAM,OAAAgF,cAAAz3D,EAAAiD,CAAA,EACvBw0D,IAAA,SACJ,KAAAA,CACA,OAAAA,IAAO,SACRz3D,CAAAy3D,IACD,OAAAA,IAAO,SAAEnF,CAAQ,QAAAA,CACnB,CAEMgL,CAAoB7F,iBAAA,aAIdl+D,MAAI0jE,GAAOxF,IAAA,SAAArL,GAAA,MAAEr2C,KAAMiiD,MAC3B5L,KACE4L,GAAS,UAAO5L,GAAA,QAAK8Q,CAEzB,MAAAvJ,GAAA,KACM4J,8EAIN,IAAIC,GAAA/F,IAAA,EAAAx0D,GAAS,UAAAw0D,OAAA,eACOA,GAApBA,IAAagG,EAAO,OAAAhG,QAAA,CAClBA,EAAM,aAAgCA,aAAA,SAAAiG,EAAA,kBACtCnkE,IAAyB,SAAiBk+D,qBAAA,KAAA/gB,EAAA,OAC1C8mB,IAAgB,SAClBA,EAAA9mB,EAAA,EAAA+gB,QAAA,qFAayBA,6BAAA,OAAA2F,IAAA3F,IAAAx0D,EAAA,MAAAw0D,IAAUnyD,EAAA,OAC1B83D,EAAa,aAAA3F,cAAAx0D,EAAA,MAChBw0D,IACW,SAGjBrL,GAAAgR,EAAA,MAAAM,EAAAN,EAAA,KACA,IACoB3F,OAAA,uCAAA2F,IAAA3F,IAAAx0D,EAAA,MAAAw0D,IAAUnyD,EAAE,OAAA83D,EAAA,GAAA3F,GAChC8F,IAAiBA,KAAK,0BAEF9F,eAAAx0D,EAAA,MAAAw0D,aAAwC,CAAAkG,EAAA,SAAAlL,EAAA,kBAOxDl5D,MAAIqkE,GAAEnG,IAAA,SAAArL,GAAA,WAGV,KACA,EAAAmR,CAAM,GAAyD9F,KAAA,4CAAAmG,CAAA,GAC3BnG,GAApCA,IAAiBl+D,EAAA,OAAmBk+D,eAAA,SAAAA,UAAAx0D,EAAA,SAClCw0D,IAA2C,SAC7C,uCAAAA,EAAA,aAIuCA,oBAAAz2B,EAAAlrC,EAAA6wC,GAAA8wB,EAAA,kBACvCA,IAAMoG,QAEItkE,MAAIskE,GAAEpG,IAAA,SAAArL,GAAA,MACdA,KACE,OAAgBA,GAAA,QAAK0R,CACrB1R,MAAIuH,GAAK,KAAOvH,GAAA,IAAK2R,CAAMxkE,MAAMo6D,GAAA,KAC/BvH,KAAI,QAAW4R,KAAK,QAAW,CAAEzkE,IAAM,iBAC1B,QAEEykE,KAAK,WAAArK,GAAA,MAAAvH,GAAA,aACd,QAGUA,GAAA,QAAK6R,kBAAK,MACtBtK,GAAK,GAKf,EAAAvH,GAAM,OAAAqL,EAAA9wB,CAAA,EAAAylB,GAAA,SAAS,GAAAt2D,CAAA,GAAM,GACfooE,GAAAzG,EAAA,EAAAx0D,SAAS,MAAC,2BAAA46D,CAAA,GAAApG,OAAA,aACoBA,GAApCA,IAAiBl+D,EAAA,OAAmBk+D,eAAA,UAClCA,EAAM,aAA2CA,WAAA,WAAA/7D,EAAA,iCACjDwiE,MAAmBhF,OAAoBzB,UAAA,sBACvCyG,IAAiB,EAAChF,OAAmBzB,OAAAjjD,EAAA,qBACrC0pD,MAAmBhF,OACrBgF,EAAA,MAAA1pD,EAAA,qBAAAijD,QAAA,aACA,OAAAA,IAAO,SACLyG,CACF,OAAAA,CACF,EAGgCzG,iBAAAgE,EAAA0C,EAAA,CAAA1G,IAAAx0D,EAAA,MAC9Bw0D,IAAiB,EAAE,OAAAA,cAAAx0D,EAAA,UACjBw4D,IAAiB,EAACz6B,GAAI0mB,IACxB+T,EAAAzD,GAAA,WAAAP,EAAA,cAGI3hD,MAAIsoD,GAAc3G,IAAA,SAAArL,GAAA,YAEpBA,GAAG,GACDprB,CAAK,IAAAy6B,CAAA,IAAOrP,GAAA,IAAKiS,CAAK,MACtB1K,GAAA,GAMJ,GAAA8D,EAAM,cAAA0G,IAAkB1G,EAAA,cAAA0G,EAAA,OAAA1G,IAAA,YAAA0G,EAAA,eAAA1G,IAAA,YAAArL,GAAA,gBAAA+R,EAAA,gBAAA1G,EAAA,wBACpB6G,GAAA7G,IAAY,cAChB,IAAAxS,GAAMwS,IAAA,eAAkDA,WAAA,wBAAA7nD,EAAAo1C,IAAA,CAAAyS,IAAAx0D,EAAA,MACtDgiD,IAAsB,SAAOwS,aAAA,KAAAA,IAAAx0D,EAAA,MAC3Bs7D,IAAsB,SAAA9G,cAAA,EACtBzS,IAAiB,WACD,gCACnB,EAAAsZ,CAAA,CACD,IAAqD7G,KAAA,wBAAA7nD,EAAAo1C,IAAA,CACnDyS,IAAS+G,IAAa5O,IAAQ6H,WAAA7H,EAAA,CAIyC6H,GAJzCA,IAAAx0D,EAAA,MAC5Bw0D,IAAI,KAAApjE,IAAiCojE,IAAA,YAErCA,EAAA,cACAA,IAAI,KAAApjE,IAAiEojE,EAAApjE,EAAA,YAAAu7D,EAAA,iBAAA6H,EAAA,cAAA7H,EAAA,gBAAA5uB,CAAA,IAAAy6B,CAAA,qBAEfhE,aAAA,SAAA7H,EAAA,aAAA+D,GAAA,WAInC8D,GAHjBA,IAAI,KAAApjE,IAAiCojE,IAAA,YAErCA,EAAA,cACAA,IAAiB,SAAAA,EACsCA,GADtCA,IAAAx0D,EAAA,UACfw0D,IAAgBgH,SAAqChH,EAAA,2BAAA/zB,IAAA+zB,IAAAx0D,EAAA,MAAAw0D,IAAOl/C,EAAK,GAACqsB,IAAiBlB,EAAA,mBAAA+zB,OAAAx0D,EAAA,uBAExCw0D,oBAAA,SAAA+G,CAAA,EACzCD,IAAsB,SAAA9G,cAAA,EACtB7nD,IAAc,SAAA6nD,GAAA,EACdA,IAAA,SACF,MAAAA,QAAA,mBACFA,EAAA,cACAA,IAAiBl+D,EAAA,OAAkBk+D,eAAA,SAAAA,IAAAx0D,EAAA,uBAEQw0D,oBAAA,SAAA+G,CAAA,EACzCD,IAAsB,SAAA9G,cAAA,EACtBzS,IAAiB0Z,EAAW,OAC9B1Z,EAAAwH,GAAA,YAAAoD,EAAA,qBAAA6H,EAAA,aACFA,QAAA,aACFA,CACAA,IAAa,SAAqBA,sBAAA+G,CAAA,EAClC/G,IAAkC,SAEnC,eAAA2G,CAAA,QAAApZ,CAAA,CAAAyS,IACD,OAAAA,IAAmB,KACN,IAGf,cAAAkH,EAAA9N,CAAA,EAEA,CAA2B4G,gBAAAz2B,EAAAy6B,EAAA,CACzBhE,IAAMiD,IAAA,IAEF5kD,MAAI4kD,GAAgBjD,IAAA,SAAArL,GAAA,YACpB7yD,GAAI,GAAEynC,CAAA,IAAAy6B,CAAA,GAEV,kBAAAhE,IACAA,IAAgBkD,KAAoB,IACtC,qBAAAD,CAAA,CAEMkE,CAAuBnH,oBAAAl2B,EAAA,CAC3Bk2B,IAAMoH,QAGFtlE,MAAIslE,GAAOpH,IAAA,SAAArL,GAAA,MACXt2C,KAAIyrB,MAEN6qB,GAAG7qB,GACe6qB,GAAA,QAAKuL,CAEzB,MAAAhE,GAAA,SACA,KACMmL,GAAArH,EAAA,EAAO/7D,eAAO88D,UAAgB,SAAEA,QAAYqG,CAAA,GAC5Ct5B,GAAAkyB,EAAA,IAAAx0D,GAAS,IAAAvH,EAAA,iCACb4pC,GAAwBmyB,MAAS,QACjCsH,QAAY,aAAmB,OAAC,EAChCtC,aAAwBqC,EAAA,aAAQ,cAAe,EAAArH,qBAAA,aAAA9tB,GAAA,CAC7C8tB,IAAM,QACJ1jE,MAAI2rC,GAAEiK,EAAe,YACrBmN,KAAOnN,EAAK,MAAM,IAClBpwC,MAAMowC,EAAMpxB,MAAU,MACtBjnB,OAAY,MAAa,KACzB0tE,QAAar1B,aAAMuvB,OAAmB,EACxC,YAAAvvB,EAAA,oBAAA8tB,GAEE,OADFA,IAAc,SACE/3B,EAAA,MAAA+3B,kBAAAx0D,EAAA,UACZy8B,IAAY,EAAU,OAAA+3B,kBAAA,IACtBA,IAAA,SACF,MAAkBA,sBAAAx0D,EAAA,UAChBy8B,IAAiB,EAAC++B,OAAoChH,wBAAA,cAAAthC,IAAAshC,IAAAx0D,EAAA,MACpDw0D,IAAO,SACA,CACL3gB,MAAO3gB,EAAO5d,aAAMu+B,SACtB,MAAA3gB,EAAA,aACDshC,EACDA,IAAA,SACJ,KAAAA,CACA,OAAAA,IAAO,SACR/3B,CACH,EAAA+3B,GACA,OAAAA,IAAI,KAAApjE,IAAiCojE,IAAA,YAErCA,EAAA,cACAA,IAAO,SACTlyB,CAEA,CAAmCkyB,oBAAAl2B,EAAAu9B,EAAA,CACjCrH,IAAMwH,QAGF1lE,MAAI0lE,GAAOxH,IAAA,SAAArL,GAAA,MACXt2C,KAAIyrB,MAEN6qB,GAAG7qB,GACe6qB,GAAA,QAAKuL,CACrBvL,MACEuH,GAAK,WAAOvH,GAAA,IAAK2R,CAAMxkE,MAAMo6D,GAAA,KAAU,KAClC8I,QAAoBhF,eAAA/3B,IAAA+3B,IAAAx0D,EAAA,MACvBw0D,IACE,EAAS,OACF9tB,WAAM51C,KAET41C,EAAO,MAKrByiB,GAAA,WAAAziB,EAAA,kBAAA8tB,EAAA,cAAA9tB,EAAA,OAAA8tB,IAAA,kBAAAA,EAAA,qBAAAA,EAAA,cAAA9tB,EAAA,SAAA8tB,MACAA,aACF,iCAAAwH,CAAA,CAEF,CAEA,qtJCx8BA,MAAAC,GAAe,mt9JCeTC,mBAAA,QAAA5/B,CAAA,EAAAA,CAAA,CAAA4/B,IAZN,MAAMC,IAAAD,EAAAl8D,SAAa47B,OAAO0G,OAAO65B,YAC3BtX,IAAAqX,EAAAl8D,SAAW47B,OAAO0G,OAAOuiB,UACzBuX,IAAAF,EAAAl8D,SAAgB47B,OAAO0G,OAAO85B,eAC9BC,IAAAH,EAAAl8D,SAAa47B,OAAO0G,OAAO+5B,YAC3BC,IAAAJ,EAAAl8D,SAAiB47B,OAAO0G,OAAOg6B,gBAErC,SAAS76D,GAAUjN,EAAO+nE,EAAc,CAAAL,IAAAz/B,EAAA,KACtC,MAAM7kC,GAAAskE,EAAA,EAAAl8D,OAAOw8D,MAAMC,UAAUl9B,MAAM//B,KAAKk9D,UAAW,CAAC,GACpD,GADoDR,IAAAl8D,EAAA,KAChD,CAAC,YAAa,aAAa,EAAE6/B,SAASrrC,EAAM1D,IAAI,EAAG,CAAAorE,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,KACrDu5D,QAAQoD,KAAKnoE,EAAM1D,KAAM,GAAG8G,EAAK6lC,OAAOhuC,IAAOysE,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,KAAEvQ,eAAemtE,OAAM,CAAC,EAAAV,IAAAl8D,EAAA,KACvE,MACF,MAAAk8D,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACIu8D,IAAiB,SAASL,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MAC5Bu5D,QAAQ/kE,MAAM,GAAGoD,CAAI,IAChBskE,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACLu5D,QAAQoD,KAAK,GAAG/kE,CAAI,EAExB,CAEA,MAAeilE,GAAA,CAEb9+B,IAAK,KACL++B,QAAS,KACT9oD,QAAS,KACT2/C,OAAQ,KACR6E,KAAM,KACNuE,YAAa,GACbX,iBACAC,cAGA,MAAMW,OAAQj/B,EAAK81B,EAAUjP,EAAQqY,EAAgBjpD,EAAS,CAAAkoD,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,MAE5D,KAAKw4D,KAAO,KAAA0D,IAAAl8D,EAAA,MACZ,KAAK88D,QAAU,KAAAZ,IAAAl8D,EAAA,MACf,KAAK+9B,IAAM,KAAAm+B,IAAAl8D,EAAA,MACX,KAAKgU,QAAUA,EAAAkoD,IAAAl8D,EAAA,MACf,KAAKm3D,WAAU,cAGXp5B,GAAKm+B,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACP,KAAK+8D,YAAc,KACdb,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACL,KAAK+8D,YAAc,GAAAb,IAAAl8D,EAAA,MACnB+9B,EAAM,QAIR,MAAMm/B,GAAAhB,EAAAl8D,UAAW+9B,EAAIo/B,MAAM,GAAG,GAAAjB,IAAAl8D,EAAA,MAC1Bk9D,EAASnG,OAAS,GAAGmF,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACvB+9B,EAAMm/B,EAAS,CAAC,EAAAhB,IAAAl8D,EAAA,MAChB4kD,EAASsY,EAAS,CAAC,GACrBhB,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACK4kD,EAELsX,IAAA9qE,EAAA,SAFa8qE,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACX4kD,EAASwX,IACXF,IAAAl8D,EAAA,MAEA,KAAK+9B,IAAMA,cAGPk/B,EAAe5Q,WAAW6P,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MAC5Bm8D,GAAW9P,UAAY4Q,EAAe5Q,WACxC6P,IAAA9qE,EAAA,oBAGA,KAAKuiE,OAAS,IAAIyJ,GAAK,CACrBlT,QAASiS,GAAW9P,UACpBzH,SACAC,UAAUqX,EAAA,EAAA9qE,EAAA,QAAAyzD,KAAAqX,EAAA,EAAA9qE,EAAA,QAAY,aACtB2sC,MACA81B,WACD,CAEF,EAGDoD,SAAW,CAAAiF,IAAAz/B,EAAA,KACT,MAAM4+B,GAAAa,EAAAl8D,UAAkBk8D,EAAA,EAAA9qE,UAAAkrE,KAAAJ,EAAA,EAAA9qE,EAAkB,cAC1C,IAAI4wD,GAAAka,IAAAl8D,EAAY,YAChB,MAAM4tD,GAAAsO,EAAA,EAAAl8D,EAAA,MAAiB,IAAIq9D,QAAQ,CAAC1wD,EAASo1C,IAAW,CAAAma,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,MACtDgiD,EAAYsb,WAAW,IAAM,CAAApB,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,MAC3Bs7D,aAAatZ,CAAS,EAAAka,IAAAl8D,EAAA,MACtB+hD,EAAO,IAAI6a,MAAM,oBAAoB,CAAC,CACvC,EAAEvB,CAAe,CACnB,IAEKkC,GAAArB,EAAA,EAAAl8D,EAAA,MAAiB,IAAIq9D,QAAQ,CAAC1wD,EAASo1C,IAAW,CAAAma,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,MAGtD,KAAK2zD,OAAOyD,GAAG,QAAU5iE,GAAU,CAAA0nE,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,MACjCu5D,QAAQ/kE,MAAM,aAAcA,EAAMmsC,OAAO,EAC1C,cAGD,KAAKgzB,OAAOyD,GAAG,gBAAkBr5B,GAAQ,CAAAm+B,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,MAClC,KAAK+8D,YAIVb,IAAA9qE,EAAA,SAJuB8qE,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACrBw9D,aAAaC,QAAQ,UAAW1/B,EAAIuD,IAAI,EAAA46B,IAAAl8D,EAAA,MACxCw9D,aAAaC,QAAQ,MAAO,KAAK1/B,GAAG,EAAAm+B,IAAAl8D,EAAA,MACpCw9D,aAAaC,QAAQ,OAAQ,EAAI,eAGnCnC,aAAatZ,CAAS,EAAAka,IAAAl8D,EAAA,MACtB,KAAK88D,QAAU/+B,EAAAm+B,IAAAl8D,EAAA,MACf,KAAKgU,QAAQ0pD,OAAO1+B,UAAU,EAAI,EAAAk9B,IAAAl8D,EAAA,MAClC,KAAK29D,OAAM,EAACzB,IAAAl8D,EAAA,MACZ2M,IACD,EAAAuvD,IAAAl8D,EAAA,MAED,KAAK2zD,OAAOsD,UACT2G,MAAOppE,GAAU,CAEhB,GAFgB0nE,IAAAz/B,EAAA,KAAAy/B,IAAAl8D,EAAA,MAEZxL,EAAM1D,OAAS,YAAaorE,WAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MAC9Bs7D,aAAatZ,CAAS,EAAAka,IAAAl8D,EAAA,MACf+hD,EAAO,IAAI6a,MAAM,wBAAwB,CAAC,EACnDV,IAAA9qE,EAAA,QAAA8qE,IAAAl8D,EAAA,MACA+hD,EAAO,IAAI6a,MAAM,oBAAoB,CAAC,EACvC,CACJ,IAAAV,WAAAl8D,EAAA,MAEMq9D,QAAQQ,KAAK,CAClBN,EACA3P,CAAc,CACf,CACF,EAGD+P,QAAU,CAAAzB,IAAAz/B,EAAA,MACR,SAASiE,EAAcm8B,EAAYvmE,EAAMqqC,EAAS,CAAAu7B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAE5C2gC,EAAQK,OAAOk7B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MACb2gC,EAAQK,MAAM/C,KAAMrqC,IAASsoE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAAApM,EAAKg4D,MAAQjrB,EAAQG,KAAI,GAAGo7B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MAC3D2gC,EAAQG,KAAO,IACjBo7B,IAAA9qE,EAAA,UACF8qE,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MACA68D,EAAW7oD,QAAQ0pD,OAAOh9B,aAAa,CACrCpqC,OACAqqC,UACD,CACH,CAAAu7B,IAAAl8D,EAAA,MAIA,KAAK2zD,OAAOyD,GAAG,SAAU,IAAM,CAAA8E,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAC7Bu5D,QAAQuE,KAAK,aAAa,EAAA5B,IAAAl8D,EAAA,MAC1B,KAAKgU,QAAQ0pD,OAAO1+B,UAAU,EAAI,EACnC,EAAAk9B,IAAAl8D,EAAA,MACD,KAAK2zD,OAAOyD,GAAG,SAAW32B,GAAW,CAAAy7B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAC/Bk8D,EAAA,EAAA9qE,WAAAqvC,IAAW,UAAAy7B,IAAA9qE,EAAA,SAAWqvC,IAAW,eAAcy7B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MAC7C,KAAKgU,QAAQ0pD,OAAOxgC,UAAUg/B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MAChCu5D,QAAQoD,KAAK,2BAA2B,EAAAT,IAAAl8D,EAAA,MACxC,KAAKgU,QAAQ0pD,OAAO1+B,UAAU,EAAK,GACrCk9B,IAAA9qE,EAAA,UACF8qE,IAAA9qE,EAAA,SACD,cAGD,KAAKuiE,OAAO2D,YACTyG,KAAMC,GAAiB,CAAA9B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MACtB,KAAKgU,QAAQ0pD,OAAOh+B,UAAUs+B,CAAY,cAG1C,KAAKrK,OAAOsK,cACd,CAAC,EACAL,MAAOM,IAAgBhC,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAAAyB,GAASy8D,EAAa,QAAS,YAAaA,EAAYv9B,QAASu9B,CAAW,EAAC,EAAAhC,IAAAl8D,EAAA,MAEvG,KAAK2zD,OAAOwK,eACTP,MAAOQ,IAAmBlC,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAAAyB,GAAS28D,EAAgB,QAAS,eAAgBA,EAAez9B,QAASy9B,CAAc,EAAC,cAGtH,KAAKzK,OAAO0K,gBACTT,MAAOppE,IAAU0nE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAAAyB,GAASjN,EAAO,QAAS,SAAUA,EAAMmsC,QAASnsC,CAAK,EAAC,cAG5E,KAAKm/D,OAAO2K,eACTP,KAAMQ,GAAiB,CAAArC,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MACtBu+D,EAAa5+B,QAAS44B,GAAa,CAAA2D,IAAAz/B,EAAA,MACjC,MAAMiB,GAAAw+B,EAAA,EAAAl8D,EAAA,MAAO,KAAKw+D,kBAAkBjG,EAASx6B,IAAK,KAAMw6B,EAAS1E,QAAQ,GAAAqI,IAAAl8D,EAAA,MACzE09B,EAAKG,aAAe,GAAAq+B,IAAAl8D,EAAA,MACpB09B,EAAK5sC,KAAOynE,EAASznE,KAAAorE,IAAAl8D,EAAA,MACrB09B,EAAKi7B,SAAWJ,EAASI,qBAEzB,KAAK3kD,QAAQ0pD,OAAO39B,aAAarC,CAAI,EAAAw+B,IAAAl8D,EAAA,MACjCu4D,EAASI,UAAUuD,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MAErB,KAAKy+D,SAASlG,EAASx6B,IAAK,KAAM,CAAE2gC,IAAK,CAAE7K,SAAU0E,EAAS1E,QAAS,EAAG,GAC5EqI,IAAA9qE,EAAA,SACD,cAEDmtE,EAAa5+B,QAAS++B,GAAQ,CAAAxC,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAC5B,KAAK2zD,OAAOwK,aAAaO,EAAI3gC,GAAG,EAC7BggC,KAAMY,GAAuB,CAAAzC,IAAAz/B,EAAA,MAC5B,MAAMiB,GAAAw+B,EAAA,EAAAl8D,EAAA,MAAO,KAAKw+D,kBAAkBE,EAAI3gC,IAAK4gC,EAAoBD,EAAI7K,QAAQ,GAAAqI,IAAAl8D,EAAA,MAC7E09B,EAAKG,aAAe,GAAAq+B,IAAAl8D,EAAA,MACpB,KAAKgU,QAAQ0pD,OAAO39B,aAAarC,CAAI,CACvC,CAAC,EACAkgC,MAAOppE,IAAU0nE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAAAyB,GAASjN,EAAO,QAAS,4BAA6BA,EAAMmsC,QAASnsC,CAAK,EAAC,EAChG,CACH,CAAC,EACAopE,MAAOppE,IAAU0nE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAAAyB,GAASjN,EAAO,QAAS,eAAgBA,EAAMmsC,QAASnsC,CAAK,EAAC,cAGlF,KAAKm/D,OAAOiL,mBACTb,KAAMc,GAAwB,CAAA3C,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MACzB6+D,EAAoBzF,SAAS8C,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MAC/B,KAAKgU,QAAQ0pD,OAAO97B,yBAAyBi9B,EAAoBzF,OAAO,GAC1E8C,IAAA9qE,EAAA,QACF,CAAC,EACAwsE,MAAOppE,GAAU,CAAA0nE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAChBu5D,QAAQoD,KAAKnoE,EAAMmsC,OAAO,EAC3B,cAGH,KAAKgzB,OAAOyD,GAAG,OAAS0H,GAAoB,CAAA5C,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,MAC1C0gC,EAAa,KAAMo+B,EAAgBxoE,KAAMwoE,CAAe,EACzD,eAGD,KAAKnL,OAAOyD,GAAG,cAAgBz2B,GAAY,CACzC,GADyCu7B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACrCk8D,EAAA,EAAA9qE,EAAA,UAACuvC,EAAQG,OAAAo7B,IAAA9qE,EAAA,SAAQ,CAACuvC,EAAQirB,KAAK,CAAAsQ,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAEjC,MACF,MAAAk8D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA0gC,EAAa,KAAMC,EAAQrqC,KAAMqqC,CAAO,EACzC,eAGD,KAAKgzB,OAAOyD,GAAG,YAAav4B,GAAa,CAAAq9B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACvC,KAAKgU,QAAQ0pD,OAAOx7B,aAAarD,CAAS,EAC3C,eAGD,KAAK80B,OAAOyD,GAAG,aAAc,MAAOj6B,GAAa,CAAA++B,IAAAz/B,EAAA,MAC/C,IAAIiB,GAAAw+B,EAAA,EAAAl8D,EAAO,QACT+9B,IAAKZ,EAASrqB,KAAKwuB,IACrB,GAAA46B,IAAAl8D,EAAA,OACA,KAAKgU,QAAQ0pD,OAAO39B,aAAarC,CAAI,eAErC,GAAI,CACF,MAAMihC,GAAAzC,EAAA,EAAAl8D,EAAqB,aAAM,KAAK2zD,OAAOwK,aAAazgC,EAAKK,GAAG,GAAAm+B,IAAAl8D,EAAA,OAClE09B,EAAO,KAAK8gC,kBAAkB9gC,EAAKK,IAAK4gC,EAAoB,IAAI,EAAAzC,IAAAl8D,EAAA,OAChE,KAAKgU,QAAQ0pD,OAAO39B,aAAarC,CAAI,CACrC,OAAOlpC,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdyB,GAASjN,EAAO,QAAS,wBAAyBA,EAAMmsC,QAASnsC,CAAK,CACxE,EACD,eAGD,KAAKm/D,OAAOyD,GAAG,WAAY,MAAOj6B,GAAa,CAAA++B,IAAAz/B,EAAA,MAC7C,MAAMqgC,GAAAZ,EAAA,EAAAl8D,EAAUm9B,SAASrqB,MACzB,GADyBopD,IAAAl8D,EAAA,OACrB88D,EAAQx7B,OAAS,KAAKw7B,QAAQx7B,KAAM,CAAA46B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAElC88D,EAAQ36B,OAAS,KAAK26B,QAAQ36B,MAAM+5B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAEtC,KAAKgU,QAAQ0pD,OAAOz+B,YAAY9B,EAASjB,IAAI,GAC/CggC,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA,MACF,MAAAk8D,IAAA9qE,EAAA,SAEA,gBAAI+rC,EAASs4B,MAAO,CAClB,GADkByG,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACd88D,EAAQjY,WAAa,GAAI,CAAAqX,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAE3B,MACF,MAAAk8D,IAAA9qE,EAAA,SAQA,GARA8qE,IAAAl8D,EAAA,OACIm9B,EAASu4B,QAAQwG,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACfm9B,EAAS7mC,OAAS,eAAe4lE,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACnC,KAAKgU,QAAQ0pD,OAAOp9B,iBAAiBw8B,EAAQx7B,IAAI,IAC5C46B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACL,KAAKgU,QAAQ0pD,OAAOt9B,cAAc08B,EAAQx7B,IAAI,IAElD46B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACIm9B,EAAS7mC,OAAS,cAAe,CAAA4lE,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAEnC,KAAKgU,QAAQ0pD,OAAO17B,mBAAmB,CACrC1D,QAASw+B,EAAQx7B,KACjBvD,IAAK++B,EAAQ36B,KACd,EAAA+5B,IAAAl8D,EAAA,OACD,MACF,MAAAk8D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA,KAAKgU,QAAQ0pD,OAAO77B,gBAAgB,CAClCvD,QAASw+B,EAAQx7B,KACjBvD,IAAK++B,EAAQ36B,KACbhF,SAAUA,EAASjB,KACpB,EAAAggC,IAAAl8D,EAAA,OACD,MACF,MAAAk8D,IAAA9qE,EAAA,sBAEA,KAAK4iB,QAAQ0pD,OAAOn9B,mBAAmB,CAAExC,IAAK++B,EAAQx7B,KAAMnE,SAAUA,EAASjB,KAAMuE,OAAQtD,EAASsD,OAAQ,EAC/G,eAGD,KAAKkzB,OAAOyD,GAAG,mBAAqBf,GAAc,CAAA6F,IAAAz/B,EAAA,MAChD,MAAMzjC,GAAAkjE,IAAAl8D,SAAQ,KAAKgU,QAAQ0pD,OAAO/gC,SAAS6C,UAAWmB,IAAYu7B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAAAk8D,EAAA,EAAA9qE,EAAAuvC,WAAQ7tB,KAAKwuB,OAAS+0B,EAAUvjD,OAAAopD,IAAA9qE,EAAQuvC,WAAQE,WAAaw1B,EAAUx1B,UAAQ,GACjJ,GADiJq7B,IAAAl8D,EAAA,OAC7IhH,IAAU,GAAI,CAAAkjE,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAEhB,MACF,MAAAk8D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA,KAAKgU,QAAQ0pD,OAAOj8B,cAAc,CAChCZ,SAAUw1B,EAAUx1B,SAEpBC,KAAM,gBAAgBu1B,EAAUC,GAAGzR,QAAQ,IAAMwR,EAAUnU,QAAAga,EAAA,EAAA9qE,EAAA,SAAS,KAAKilE,EAAUnU,MAAM,MAAAga,IAAA9qE,EAAM,cAC/F4vC,MAAO,CAAE,EACTP,OAAQ,CACNkB,KAAM,YACNhB,QAAS01B,EAAUnU,MACrB,EACD,EACF,eAGD,KAAKyR,OAAOyD,GAAG,gBAAkBT,GAAkB,CAAAuF,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAC7Ck8D,EAAA,EAAA9qE,EAAA,SAAAulE,EAAc7jD,OAAAopD,IAAA9qE,EAAA,SAAQulE,EAAc7jD,KAAKwuB,QAAA46B,EAAA9qE,IAAQulE,WAAcl4B,UAASy9B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC1E,KAAKgU,QAAQ0pD,OAAOx9B,eAAgBy2B,EAAc7jD,KAAKwuB,KAAMq1B,EAAc7jD,KAAK+xC,SAAU8R,EAAcl4B,OAAO,GACjHy9B,IAAA9qE,EAAA,SACD,eAGD,KAAKuiE,OAAOyD,GAAG,mBAAqB5iE,GAAU,CAC5C,OAD4C0nE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACpCxL,EAAM8B,KAAI,CAChB,IAAK,SAAQ4lE,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACX,KAAKgU,QAAQ0pD,OAAOh8B,iBAAiBltC,EAAMoiE,UAAW,QAASpiE,EAAMmsC,OAAO,EAAAu7B,IAAAl8D,EAAA,OAC5E,KACJ,EACD,CACF,EAED,MAAMm3D,YAAc,CAClB,GADkB+E,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACdk8D,EAAA,EAAA9qE,gBAAK4iB,UAAAkoD,IAAA9qE,EAAA,SAAW,KAAKuiE,QAAQ,CAAAuI,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC/B,GAAI,CAAAk8D,IAAAl8D,EAAA,OACF,MAAM,KAAK2zD,OAAOwD,aAAW+E,IAAAl8D,EAAA,OAC7B,KAAKgU,QAAQ0pD,OAAOj7B,OACpB,OAAOjuC,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdyB,GAASjN,EAAO,QAAS,mBAAoBA,EAAMmsC,QAASnsC,CAAK,CACnE,CACF,MAAA0nE,IAAA9qE,EAAA,QACD,EAED,MAAM2tE,QAASlsD,EAAI+4C,EAAK6J,EAAO,CAAAyG,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAC7B,MAAM,KAAK2zD,OAAOqL,YAAYnsD,EAAI4iD,GAAAyG,EAAA,EAAA9qE,EAAA,SAAQ,cAAA8qE,EAAA9qE,aAAc,QAAQw6D,EAAKA,CAAG,CACzE,EAED,MAAMoT,YAAansD,EAAIiuB,EAAM20B,EAAO,CAAAyG,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAClC,MAAM,KAAK2zD,OAAOqL,YAAYnsD,EAAI4iD,GAAAyG,IAAA9qE,WAAQ,cAAA8qE,IAAA9qE,EAAA,SAAc,QAAQ0vC,CAAI,CACrE,EAED,MAAMm+B,cAAepsD,EAAI4iD,EAAO52B,EAAW,CAAAq9B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACzC,MAAM,KAAK2zD,OAAOsL,cAAcpsD,EAAI4iD,GAAAyG,IAAA9qE,WAAQ,cAAA8qE,IAAA9qE,EAAA,SAAc,QAAQytC,CAAS,CAC5E,EAED2/B,kBAAmBzgC,EAAK4gC,EAAoB9K,GAAAqI,EAAA9qE,IAAW,eAAM,CAAA8qE,IAAAz/B,EAAA,MAC3D,MAAMiB,GAAAw+B,EAAA,EAAAl8D,EAAO,QACX+9B,IAAKA,EACLjtC,KAAMitC,EACNg+B,YAAa,KACbv5B,KAAM,KACN08B,eAAgB,KAChBrL,WACAl2B,SAAU,KACVwhC,aAAc,KACdC,oBAAqB,KACrBC,cAAe,KACftC,YAAa,KACbuC,YAAa,KACbzhC,aAAc,KACd0hC,SAAU,KACV9/B,YAAa,IACf,GACA,GADAy8B,IAAAl8D,EAAA,OACI2+D,EAAoB,CAUtB,GAVsBzC,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAGpBk8D,EAAA9qE,aAAAuxC,OAAO85B,UAAUjvE,eAAegS,KAAKm/D,EAAoB,YAAY,IAAAzC,EAAA9qE,IACrEutE,WAAmB3F,WAAWjC,OAAS,KAAAmF,EAAA,EAAA9qE,EACvCuxC,gBAAO85B,UAAUjvE,eAAegS,KAAKm/D,EAAmB3F,WAAW,CAAC,EAAG,MAAM,IAC7EkD,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA09B,EAAK5sC,KAAO6tE,EAAmB3F,WAAW,CAAC,EAAEloE,MAC/CorE,IAAA9qE,EAAA,sBAGE8qE,EAAA9qE,aAAAutE,EAAmB5I,WAAWgB,OAAS,IAAAmF,EAAA,EAAA9qE,EAAA,SACvCuxC,OAAO85B,UAAUjvE,eAAegS,KAAKm/D,EAAmB5I,WAAW,CAAC,EAAG,QAAQ,GAC/E,CAAAmG,IAAA9qE,EAAA,SACA,MAAMooE,GAAA0C,IAAAl8D,EAAA,OAAS2+D,EAAmB5I,WAAW,CAAC,EAAEyD,QAE1CuC,GAAAG,EAAA,EAAAl8D,EAAcw5D,SAAOx7B,KAAM0I,IAAUw1B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAAA0mC,EAAM51C,OAAS,2BAA0B,GAAAorE,IAAAl8D,EAAA,OAChF+7D,GAAaG,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACf09B,EAAKq+B,YAAcA,EAAY1tE,OACjC6tE,IAAA9qE,EAAA,SAEA,MAAMoxC,GAAA05B,EAAA,EAAAl8D,EAAOw5D,SAAOx7B,KAAM0I,IAAUw1B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAAA0mC,EAAM51C,OAAS,oBAAmB,GAAAorE,IAAAl8D,EAAA,OAClEwiC,GAAM05B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACR09B,EAAK8E,KAAOA,EAAKn0C,OACnB6tE,IAAA9qE,EAAA,SAEA,MAAM8tE,GAAAhD,EAAA,EAAAl8D,EAAiBw5D,SAAOx7B,KAAM0I,IAAUw1B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAAA0mC,EAAM51C,OAAS,yBAAwB,GAAAorE,IAAAl8D,EAAA,OACjFk/D,GAAgBhD,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAClB09B,EAAKwhC,eAAiBM,SAASN,EAAe7wE,KAAK,EAAA6tE,IAAAl8D,EAAA,OACnD09B,EAAKwhC,eAAiBO,MAAM/hC,EAAKwhC,cAAc,GAAAhD,IAAA9qE,EAAI8tE,WAAe7wE,QAAA6tE,IAAA9qE,EAAA,SAAQssC,EAAKwhC,iBACjFhD,IAAA9qE,EAAA,QACF,MAAA8qE,IAAA9qE,EAAA,sBAEIutE,EAAmB/N,SAAS/wB,SAAS,YAAY,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACtD09B,EAAKC,SAAW,IAClBu+B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACI2+D,EAAmB/N,SAAS/wB,SAAS,YAAY,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACtD09B,EAAKC,SAAW,IAClBu+B,IAAA9qE,EAAA,sBAEIutE,EAAmB/N,SAAS/wB,SAAS,gBAAgB,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC1D09B,EAAKyhC,aAAe,IACtBjD,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACI2+D,EAAmB/N,SAAS/wB,SAAS,eAAe,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACzD09B,EAAKyhC,aAAe,IACtBjD,IAAA9qE,EAAA,sBAEIutE,EAAmB/N,SAAS/wB,SAAS,uBAAuB,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACjE09B,EAAK0hC,oBAAsB,IAC7BlD,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACI2+D,EAAmB/N,SAAS/wB,SAAS,eAAe,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACzD09B,EAAK0hC,oBAAsB,IAC7BlD,IAAA9qE,EAAA,sBAEIutE,EAAmB/N,SAAS/wB,SAAS,iBAAiB,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC3D09B,EAAK2hC,cAAgB,IACvBnD,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACI2+D,EAAmB/N,SAAS/wB,SAAS,UAAU,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACpD09B,EAAK2hC,cAAgB,IACvBnD,IAAA9qE,EAAA,sBAEIutE,EAAmB/N,SAAS/wB,SAAS,mBAAmB,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC7D09B,EAAKq/B,YAAc,IACrBb,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACI2+D,EAAmB/N,SAAS/wB,SAAS,kBAAkB,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC5D09B,EAAKq/B,YAAc,IACrBb,IAAA9qE,EAAA,sBAEIutE,EAAmB/N,SAAS/wB,SAAS,eAAe,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACzD09B,EAAK4hC,YAAc,IACrBpD,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACI2+D,EAAmB/N,SAAS/wB,SAAS,iBAAiB,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC3D09B,EAAK4hC,YAAc,IACrBpD,IAAA9qE,EAAA,sBAEIutE,EAAmB/N,SAAS/wB,SAAS,YAAY,GAAGq8B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACtD09B,EAAK6hC,SAAW,IAClBrD,IAAA9qE,EAAA,QACF,MAAA8qE,IAAA9qE,EAAA,SAAA8qE,WAAAl8D,EAAA,OACO09B,CACR,EAED,MAAMgiC,aAAc3hC,EAAK,CAAAm+B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACvB,GAAI,CACF,MAAM6uD,GAAAqN,IAAAl8D,EAAM2/D,sBAAeC,QAAQ,UAAY7hC,CAAG,GAClD,GADkDm+B,IAAAl8D,EAAA,OAC9C6uD,EAAKqN,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA,CAAE6uD,MAAKgR,UAAW,EAAM,EAEjC,GADA3D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACK,KAAK2zD,OAEVuI,IAAA9qE,EAAA,aAFkB8qE,YAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACT,CAAE6uD,IAAKoN,GAAe4D,UAAW,EAAK,EAE/C,MAAMvF,GAAA4B,IAAAl8D,EAAA,OAAQ,MAAM,KAAK2zD,OAAOoG,SAASh8B,CAAG,GAC5C,GAD4Cm+B,IAAAl8D,EAAA,OACvCs6D,EAAMjL,QAEX6M,IAAA9qE,EAAA,aAFoB8qE,YAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACX,CAAE6uD,IAAKoN,GAAe4D,UAAW,EAAK,EAE/C,MAAMC,GAAA5D,EAAA,EAAAl8D,EAAA,OAASs6D,EAAMjL,QAAQrxB,KAAMwxB,IAAW0M,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAAAwvD,EAAO1+D,OAAS,QAAO,GACrE,GADqEorE,IAAAl8D,EAAA,OACjEk8D,EAAA,EAAA9qE,WAAA0uE,IAAA5D,EAAA,EAAA9qE,EAAA,SAAU0uE,EAAOjxD,MAAM,CAAAqtD,IAAA9qE,EAAA,SACzB,MAAMy9D,GAAAqN,EAAA,EAAAl8D,EAAM,eAAU8/D,EAAOC,UAAY,WAAaD,EAAOjxD,MAAAqtD,WAAAl8D,EAAA,OAC7D2/D,eAAelC,QAAQ,UAAY1/B,EAAK8wB,CAAG,EAAAqN,IAAAl8D,EAAA,OACpC,CAAE6uD,MAAKgR,UAAW,EAAM,CACjC,MAAA3D,IAAA9qE,EAAA,QACA,OAAOoD,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdyB,GAASjN,EAAO,OAAQ,qBAAsBupC,EAAKvpC,EAAMmsC,OAAO,CAClE,CAAAu7B,WAAAl8D,EAAA,OACO,CAAE6uD,IAAKoN,GAAe4D,UAAW,EAAK,CAC9C,EAED,MAAMG,YAAc,CAAA9D,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAClB,GAAI,CACF,MAAMs6D,GAAA4B,IAAAl8D,EAAA,OAAQ,MAAM,KAAK2zD,OAAOoG,SAAQ,GACxC,GADyCmC,IAAAl8D,EAAA,OACpCs6D,EAAMjL,QAEX6M,IAAA9qE,EAAA,aAFoB8qE,YAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACX,GACTk8D,WAAAl8D,EAAA,OACOs6D,EAAMjL,QAEV3iE,IAAI45D,GAAQ,CAAA4V,IAAAz/B,EAAA,MACX,MAAMpuC,GAAA6tE,EAAA,EAAAl8D,EAASsmD,SAAKx1D,OAAS,SAAOorE,IAAA9qE,EAAA,SAAI,QAAUk1D,EAAKyZ,UAAY,WAAazZ,EAAKz3C,OAAAqtD,EAAA9qE,IAAOk1D,WAAKj4D,QAAA6tE,WAAAl8D,EAAA,OAC1F,CACLlP,KAAMw1D,EAAKx1D,KACXzC,OACF,EACD,EAEA8J,OAAO,CAACc,EAAKoI,KAAQ66D,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACpB/G,EAAIoI,EAAIvQ,IAAI,EAAIuQ,EAAIhT,MAAA6tE,IAAAl8D,EAAA,OACb/G,GACN,CAAE,EACP,OAAOzE,EAAO,CAAA0nE,WAAAl8D,EAAA,OACdyB,GAASjN,EAAO,OAAQ,mBAAoBA,EAAMmsC,OAAO,EAAAu7B,IAAAl8D,EAAA,OAClD,EACT,CACD,EAED,MAAMigE,cAAeC,EAAS,CAAAhE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAC5B,MAAM,KAAK2zD,OAAO0G,SAAS6F,CAAO,EAAAhE,IAAAl8D,EAAA,OAC9BkgE,EAAQ1F,OAAO0B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACjB2/D,eAAelC,QAAQ,UAAY,KAAKX,QAAQx7B,KAAM4+B,EAAQ1F,KAAK,GACrE0B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,MAED,EAED,MAAMi+D,aAAc9gC,EAAU,CAAA++B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAC5B,GAAI,CAAAk8D,IAAAl8D,EAAA,OAEF,MAAM,KAAK2zD,OAAOsK,aAAa9gC,EAASjB,IAAI,eAE5C,KAAKloB,QAAQ0pD,OAAO5gC,YAAY6C,QAASrB,GAAY,CAAA49B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACnD,KAAK2zD,OAAOsK,aAAa9gC,EAASjB,KAAMqF,OAAWjD,CAAO,EAC3D,CACD,OAAO9pC,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdyB,GAASjN,EAAO,QAAS,qBAAsBA,EAAMmsC,QAASnsC,CAAK,CACrE,CACD,EAED,MAAM2rE,cAAepiC,EAAKlrC,GAAAqpE,EAAA9qE,IAAO,aAAM,CAAA8qE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACrC,GAAI,CACF,MAAMogE,GAAAlE,EAAA,EAAAl8D,SAAU,MAAM,KAAK2zD,OAAOwM,cAAcpiC,EAAKlrC,EAAM,EAAE,GAAAqpE,WAAAl8D,EAAA,OACtDogE,EAAQnF,MACf,OAAOzmE,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdyB,GAASjN,EAAO,QAAS,sBAAuBA,EAAMmsC,QAASnsC,CAAK,CACtE,CACD,EAED,MAAMiqE,SAAU1gC,EAAKy6B,GAAA0D,EAAA9qE,IAAO,eAAM8pE,GAAAgB,EAAA9qE,IAAO,UAAE,GAAEivE,GAAAnE,IAAA9qE,EAAA,SAAQ,CAAE,GAAE,CACvD,GADuD8qE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAClD,KAAK88D,QAKVZ,IAAA9qE,EAAA,aALmB8qE,YAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACV,CACLsgE,UAAW,GACX3/B,QAAS,qBACX,EACFu7B,IAAAl8D,EAAA,OACIw4D,IAAS,MAAM0D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACb,KAAKw4D,OAAS,MAAM0D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACtBw4D,EAAO,KAAKA,OACP0D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACLw4D,EAAO,KAAKsE,QAAQrY,QAExByX,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA,GAAI,CAEF,GAFEk8D,IAAAl8D,EAAA,OACF,MAAM,KAAK2zD,OAAO8K,SAAS1gC,EAAKy6B,EAAM0C,CAAI,EAAAgB,IAAAl8D,EAAA,OACtCqgE,EAAMtiC,IAAK,CAAAm+B,IAAA9qE,EAAA,SACb,MAAMssC,GAAAw+B,IAAAl8D,EAAA,OAAO2iC,OAAOvQ,OAAO,GAAIiuC,CAAK,GAAAnE,IAAAl8D,EAAA,OAChCk8D,EAAA,EAAA9qE,EAAA,SAAA8pE,IAAAgB,EAAA,EAAA9qE,EAAQ8pE,WAAKwD,OAAAxC,EAAA,EAAA9qE,EAAA,SAAO8pE,EAAKwD,IAAI7K,WAAUqI,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACzC09B,EAAKm2B,SAAWqH,EAAKwD,IAAI7K,UAC3BqI,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACA,KAAKgU,QAAQ0pD,OAAO39B,aAAarC,CAAI,CACvC,MAAAw+B,IAAA9qE,EAAA,SAAA8qE,WAAAl8D,EAAA,OACO,CACLsgE,UAAW,EACb,CACA,OAAO9rE,EAAO,CAAA0nE,WAAAl8D,EAAA,OACdyB,GAASjN,EAAO,QAAS,WAAYA,EAAMmsC,QAASnsC,CAAK,EAAA0nE,IAAAl8D,EAAA,OAClD,CACLsgE,UAAW,GACX3/B,QAAS,KAAK4/B,aAAa/rE,CAAK,CAClC,CACF,CACD,EAED,MAAMgsE,cAAgB,CACpB,GADoBtE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACf,KAAKgU,QAEVkoD,IAAA9qE,EAAA,aAFmB8qE,YAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACV,GAET,MAAMggC,GAAAk8B,IAAAl8D,SAAQ,iBAGd,GAAI,CACF,MAAMygE,GAAAvE,EAAA,EAAAl8D,SAAyB,MAAM,KAAK2zD,OAAOuF,cAAc,KAAK4D,QAAQlY,MAAM,GAClF,GADkFsX,IAAAl8D,EAAA,OAC9EygE,EAAuB33B,MAAMiuB,SAAW,EAAGmF,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAC7Cu5D,QAAQuE,KAAK,yBAAyB,EAAA5B,IAAAl8D,EAAA,OAC/B,GACTk8D,IAAA9qE,EAAA,sBAGA,UAAWsvE,KAAmBD,EAAuB33B,MAAO,CAAAozB,IAAAl8D,EAAA,OAC1D,GAAI,CACF,MAAM2gE,GAAAzE,EAAA,EAAAl8D,EAAyB,aAAM,KAAK2zD,OAAOwK,aAAauC,EAAgB3iC,GAAG,GAEjF,GAFiFm+B,IAAAl8D,EAAA,OAE7E2gE,EAAuB/P,SAAS/wB,SAAS6wB,GAAG0K,GAAG,EAAG,CAAAc,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAEpD,GAAI,CACF,MAAM4gE,GAAA1E,EAAA,EAAAl8D,EAAsB,aAAM,KAAK2zD,OAAOuF,cAAcwH,EAAgB3iC,GAAG,gBAG/E,UAAW8iC,KAAgBD,EAAoB93B,MAAO,CACpD,MAAMpL,GAAAw+B,IAAAl8D,EAAA,OAAO,MAAM,KAAK89B,QAAQ+iC,EAAa9iC,GAAG,GAAAm+B,IAAAl8D,EAAA,OAC5Ck8D,EAAA9qE,aAAAssC,EAAKK,MAAAm+B,IAAA9qE,EAAA,SAAOssC,EAAKK,MAAQ2iC,EAAgB3iC,MAAKm+B,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAChD,KAAKgU,QAAQ0pD,OAAO39B,aAAarC,CAAI,EAAAw+B,IAAAl8D,EAAA,OACrCggC,EAAMF,KAAKpC,CAAI,GACjBw+B,IAAA9qE,EAAA,QACF,CACA,OAAOoD,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdu5D,QAAQoD,KAAK,gCAAgC+D,EAAgB3iC,GAAG,UAAWvpC,EAAMmsC,OAAO,CAC1F,CACF,MAAAu7B,IAAA9qE,EAAA,QACA,OAAOoD,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdyB,GAASjN,EAAO,OAAQ,2BAA2BksE,EAAgB3iC,GAAG,WAAYvpC,EAAMmsC,OAAO,CACjG,CACF,CACA,OAAOnsC,EAAO,CAAA0nE,IAAAl8D,EAAA,OACdyB,GAASjN,EAAO,QAAS,gCAAiCA,EAAMmsC,QAASnsC,CAAK,CAChF,CAAA0nE,WAAAl8D,EAAA,OACOggC,CACR,EAED,MAAMlC,QAASC,EAAK,CAClB,GADkBm+B,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACb,KAAKgU,QAIVkoD,IAAA9qE,EAAA,aAJmB8qE,YAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACV,CACL2gC,QAAS,iBACX,EACFu7B,IAAAl8D,EAAA,OACA,GAAI,CACF,MAAM2+D,GAAAzC,IAAAl8D,EAAA,OAAqB,MAAM,KAAK2zD,OAAOwK,aAAapgC,CAAG,GAC7D,GAD6Dm+B,IAAAl8D,EAAA,OACzD2+D,EAAmB/N,SAAS/wB,SAAS6wB,GAAG0K,GAAG,EAAG,CAAAc,IAAA9qE,EAAA,SAChD,MAAMssC,GAAAw+B,IAAAl8D,EAAA,OAAO,KAAKw+D,kBAAkBzgC,EAAK4gC,CAAkB,GAAAzC,WAAAl8D,EAAA,OACpD09B,CACT,MAAAw+B,IAAA9qE,EAAA,QACA,OAAOoD,EAAO,CAAA0nE,WAAAl8D,EAAA,OACP,CACL2gC,QAAS,KAAK4/B,aAAa/rE,CAAK,CAClC,CACF,CAAA0nE,WAAAl8D,EAAA,OACO,CACL2gC,QAAS,kBACX,CACD,EAED4/B,aAAc/rE,EAAO,CACnB,GADmB0nE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACf2iC,OAAO85B,UAAUjvE,eAAegS,KAAKhL,EAAO,SAAS,EACvD,OAD0D0nE,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAClDxL,EAAMmsC,QAAO,CACnB,IAAK,iBAAgBu7B,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACZ,+CACT,IAAK,YAAWk8D,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACP,sCACT,IAAK,iBAAgBk8D,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACZ,2BACT,IAAK,cAAak8D,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACT,8BACT,IAAK,iBAAgBk8D,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACZ,iCACT,IAAK,wBAAuBk8D,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACnB,mDACT,IAAK,WAAUk8D,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACN,6CACT,IAAK,sBAAqBk8D,WAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACjB,uDACX,MACFk8D,IAAA9qE,EAAA,SAAA8qE,WAAAl8D,EAAA,OACO,qBACR,EAGD,MAAM8gE,cAAeC,EAAeC,EAAe,CAAA9E,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACjD,GAAI,CAAAk8D,WAAAl8D,EAAA,OACK,KAAK2zD,OAAOmN,cAAcC,EAAeC,CAAa,CAC7D,OAAOxsE,EAAO,CAAA0nE,UAAAl8D,EAAA,OACdyB,GAASjN,EAAO,QAAS,sBAAuBA,EAAMmsC,QAASnsC,CAAK,EAAA0nE,IAAAl8D,EAAA,OAC9DxL,CACR,CACD,EAED,MAAMysE,aAAcC,EAAOnjC,EAAK46B,GAAAuD,EAAA,EAAA9qE,WAAW,IAAMonE,GAAA0D,EAAA,EAAA9qE,EAAA,SAAO,MAAM,CAAA8qE,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAC5D,GAAI,CACF,MAAM09B,GAAAw+B,IAAAl8D,EAAO,YAAKgU,QAAQ0pD,OAAO5/B,QAAQC,CAAG,GAC5C,GAD4Cm+B,IAAAl8D,EAAA,OACxCkhE,EAAO,CAAAhF,IAAA9qE,EAAA,SAET,MAAMmnE,GAAA2D,EAAA,EAAAl8D,EAAW,QACf+9B,MACAjtC,KAAM4sC,EAAK5sC,KACX6nE,UACF,GAAAuD,WAAAl8D,EAAA,OACI09B,EAAKm2B,UAAUqI,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACjBu4D,EAAS1E,SAAWn2B,EAAKm2B,UAC3BqI,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACIw4D,GAAM0D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACRu4D,EAASC,KAAOA,IACX0D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OAAI,KAAKw4D,MAAM0D,IAAA9qE,EAAA,SAAA8qE,IAAAl8D,EAAA,OACpBu4D,EAASC,KAAO,KAAKA,MACvB0D,IAAA9qE,EAAA,UAAA8qE,IAAAl8D,EAAA,OACA,MAAM,KAAK2zD,OAAOiF,YAAYL,CAAQ,EAAA2D,IAAAl8D,EAAA,OACtC,KAAKgU,QAAQ0pD,OAAO39B,aAAa,CAC/BhC,MACAF,aAAc,GACf,EAAAq+B,IAAAl8D,EAAA,OACM,EACT,MAAAk8D,IAAA9qE,EAAA,6BAEA,MAAM,KAAKuiE,OAAOkF,eAAe96B,CAAG,EAAAm+B,IAAAl8D,EAAA,OACpC,KAAKgU,QAAQ0pD,OAAO39B,aAAa,CAC/BhC,MACAF,aAAc,GACf,EAAAq+B,IAAAl8D,EAAA,OACM,EACP,MAAc,CAAAk8D,WAAAl8D,EAAA,OACP,EACT,CACD,EAED,MAAMmhE,WAAY7iC,EAAS,CAAA49B,WAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAClB,KAAK2zD,OAAO8K,SAASngC,EAAS,KAAKw+B,QAAQrY,MAAO,EAAE,CAC5D,EAED,MAAMkX,cAAer9B,EAAS,CAAA49B,WAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACrB,KAAK2zD,OAAOgI,cAAcr9B,CAAO,CACzC,EAED,MAAM8iC,cAAe9iC,EAASu9B,EAAM,CAAAK,WAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OAC3B,KAAK2zD,OAAO0N,cAAc/iC,EAASu9B,CAAI,CAC/C,EAGDyF,QAAS9I,EAAM,CAAA0D,IAAAz/B,EAAA,MAAAy/B,IAAAl8D,EAAA,OACb,KAAKw4D,KAAOA,CACd,CAEF,i3BC9sBA,SAAS+I,GAAWriE,EAAU,GAAI,CAChC,KAAM,CACJ,UAAAC,EAAY,GACZ,cAAAqiE,EACA,eAAAC,EACA,aAAAC,EACA,eAAAC,EACA,gBAAAC,CACD,EAAG1iE,EACJ,IAAI2iE,EACAC,EAEJ,MAAMC,EAAsB,MAAOC,EAAc,KAAS,CACxD,MAAMF,CAIV,EACE,eAAelwD,GAAW,CACxB,GAAI,kBAAmB,UAAW,CAChC,KAAM,CAAE,QAAAqwD,CAAS,EAAG,MAAKC,GAAA,IAAC,OAAO,uCAAgB,sBACjDL,EAAK,IAAII,EAAQ,UAAW,CAAE,MAAO,KAAM,KAAM,SAAS,CAAE,EAMxDJ,EAAG,iBAAiB,YAAcl/C,GAAU,EACtCA,EAAM,UAAYA,EAAM,aAC1B,OAAO,SAAS,QAC9B,CAAW,EACDk/C,EAAG,iBAAiB,YAAcl/C,GAAU,CACrCA,EAAM,UACT8+C,GAAkB,MAAgBA,EAAc,CAE9D,CAAW,EAgCLI,EAAG,SAAS,CAAE,UAAA1iE,CAAW,GAAE,KAAMpC,GAAM,CACjC4kE,EACFA,EAAe,UAAW5kE,CAAC,EAE3B2kE,GAAgB,MAAgBA,EAAa3kE,CAAC,CACxD,CAAO,EAAE,MAAOzI,GAAM,CACdstE,GAAmB,MAAgBA,EAAgBttE,CAAC,CAC5D,CAAO,CACF,CACF,CACD,OAAAwtE,EAAkBlwD,EAAQ,EACnBmwD,CACT,CCpFA;AAAA;AAAA;AAAA;AAAA,IAQA,MAAMI,GAAY,OAAO,SAAa,IAQtC,SAASC,GAAiB/1D,EAAW,CACjC,OAAQ,OAAOA,GAAc,UACzB,gBAAiBA,GACjB,UAAWA,GACX,cAAeA,CACvB,CACA,SAASg2D,GAAW1yE,EAAK,CACrB,OAAQA,EAAI,YACRA,EAAI,OAAO,WAAW,IAAM,UAG3BA,EAAI,SAAWyyE,GAAiBzyE,EAAI,OAAO,CACpD,CACA,MAAMyiC,GAAS,OAAO,OACtB,SAASkwC,GAAc3zE,EAAI2nD,EAAQ,CAC/B,MAAMU,EAAY,GAClB,UAAWrqD,KAAO2pD,EAAQ,CACtB,MAAMjoD,EAAQioD,EAAO3pD,CAAG,EACxBqqD,EAAUrqD,CAAG,EAAIe,GAAQW,CAAK,EACxBA,EAAM,IAAIM,CAAE,EACZA,EAAGN,CAAK,CACjB,CACD,OAAO2oD,CACX,CACA,MAAM7hB,GAAO,IAAM,GAKbznC,GAAU,MAAM,QA2BhB60E,GAAU,KACVC,GAAe,KACfC,GAAW,MACXC,GAAW,KACXC,GAAQ,MACRC,GAAU,MAeVC,GAAsB,OACtBC,GAAuB,OACvBC,GAAe,OACfC,GAAkB,OAClBC,GAAoB,OACpBC,GAAc,OACdC,GAAqB,OACrBC,GAAe,OASrB,SAASC,GAAat9C,EAAM,CACxB,OAAO,UAAU,GAAKA,CAAI,EACrB,QAAQm9C,GAAa,GAAG,EACxB,QAAQL,GAAqB,GAAG,EAChC,QAAQC,GAAsB,GAAG,CAC1C,CAOA,SAASQ,GAAWv9C,EAAM,CACtB,OAAOs9C,GAAat9C,CAAI,EACnB,QAAQk9C,GAAmB,GAAG,EAC9B,QAAQE,GAAoB,GAAG,EAC/B,QAAQJ,GAAc,GAAG,CAClC,CAQA,SAASQ,GAAiBx9C,EAAM,CAC5B,OAAQs9C,GAAat9C,CAAI,EAEpB,QAAQ68C,GAAS,KAAK,EACtB,QAAQQ,GAAc,GAAG,EACzB,QAAQb,GAAS,KAAK,EACtB,QAAQC,GAAc,KAAK,EAC3B,QAAQQ,GAAiB,GAAG,EAC5B,QAAQC,GAAmB,GAAG,EAC9B,QAAQE,GAAoB,GAAG,EAC/B,QAAQJ,GAAc,GAAG,CAClC,CAMA,SAASS,GAAez9C,EAAM,CAC1B,OAAOw9C,GAAiBx9C,CAAI,EAAE,QAAQ28C,GAAU,KAAK,CACzD,CAOA,SAASe,GAAW19C,EAAM,CACtB,OAAOs9C,GAAat9C,CAAI,EAAE,QAAQw8C,GAAS,KAAK,EAAE,QAAQI,GAAO,KAAK,CAC1E,CAUA,SAASe,GAAY39C,EAAM,CACvB,OAAOA,GAAQ,KAAO,GAAK09C,GAAW19C,CAAI,EAAE,QAAQ08C,GAAU,KAAK,CACvE,CAQA,SAASjS,GAAOzqC,EAAM,CAClB,GAAI,CACA,OAAO,mBAAmB,GAAKA,CAAI,CACtC,MACW,CAEX,CACD,MAAO,GAAKA,CAChB,CAEA,MAAM49C,GAAoB,MACpBC,GAAuBthD,GAASA,EAAK,QAAQqhD,GAAmB,EAAE,EAUxE,SAASE,GAASC,EAAYC,EAAUC,EAAkB,IAAK,CAC3D,IAAI1hD,EAAM2hD,EAAQ,CAAE,EAAEC,EAAe,GAAIC,EAAO,GAGhD,MAAMC,EAAUL,EAAS,QAAQ,GAAG,EACpC,IAAIM,EAAYN,EAAS,QAAQ,GAAG,EAEpC,OAAIK,EAAUC,GAAaD,GAAW,IAClCC,EAAY,IAEZA,EAAY,KACZ/hD,EAAOyhD,EAAS,MAAM,EAAGM,CAAS,EAClCH,EAAeH,EAAS,MAAMM,EAAY,EAAGD,EAAU,GAAKA,EAAUL,EAAS,MAAM,EACrFE,EAAQH,EAAWI,CAAY,GAE/BE,EAAU,KACV9hD,EAAOA,GAAQyhD,EAAS,MAAM,EAAGK,CAAO,EAExCD,EAAOJ,EAAS,MAAMK,EAASL,EAAS,MAAM,GAGlDzhD,EAAOgiD,GAAoBhiD,GAAsByhD,EAAUC,CAAe,EAEnE,CACH,SAAU1hD,GAAQ4hD,GAAgB,KAAOA,EAAeC,EACxD,KAAA7hD,EACA,MAAA2hD,EACA,KAAMzT,GAAO2T,CAAI,CACzB,CACA,CAOA,SAASI,GAAaC,EAAgBT,EAAU,CAC5C,MAAME,EAAQF,EAAS,MAAQS,EAAeT,EAAS,KAAK,EAAI,GAChE,OAAOA,EAAS,MAAQE,GAAS,KAAOA,GAASF,EAAS,MAAQ,GACtE,CAOA,SAASU,GAAUC,EAAUryD,EAAM,CAE/B,MAAI,CAACA,GAAQ,CAACqyD,EAAS,YAAa,EAAC,WAAWryD,EAAK,aAAa,EACvDqyD,EACJA,EAAS,MAAMryD,EAAK,MAAM,GAAK,GAC1C,CAUA,SAASsyD,GAAoBH,EAAgBrzE,EAAGC,EAAG,CAC/C,MAAMwzE,EAAazzE,EAAE,QAAQ,OAAS,EAChC0zE,EAAazzE,EAAE,QAAQ,OAAS,EACtC,OAAQwzE,EAAa,IACjBA,IAAeC,GACfC,GAAkB3zE,EAAE,QAAQyzE,CAAU,EAAGxzE,EAAE,QAAQyzE,CAAU,CAAC,GAC9DE,GAA0B5zE,EAAE,OAAQC,EAAE,MAAM,GAC5CozE,EAAerzE,EAAE,KAAK,IAAMqzE,EAAepzE,EAAE,KAAK,GAClDD,EAAE,OAASC,EAAE,IACrB,CAQA,SAAS0zE,GAAkB3zE,EAAGC,EAAG,CAI7B,OAAQD,EAAE,SAAWA,MAAQC,EAAE,SAAWA,EAC9C,CACA,SAAS2zE,GAA0B5zE,EAAGC,EAAG,CACrC,GAAI,OAAO,KAAKD,CAAC,EAAE,SAAW,OAAO,KAAKC,CAAC,EAAE,OACzC,MAAO,GACX,UAAWzE,KAAOwE,EACd,GAAI,CAAC6zE,GAA+B7zE,EAAExE,CAAG,EAAGyE,EAAEzE,CAAG,CAAC,EAC9C,MAAO,GAEf,MAAO,EACX,CACA,SAASq4E,GAA+B7zE,EAAGC,EAAG,CAC1C,OAAO1D,GAAQyD,CAAC,EACV8zE,GAAkB9zE,EAAGC,CAAC,EACtB1D,GAAQ0D,CAAC,EACL6zE,GAAkB7zE,EAAGD,CAAC,EACtBA,IAAMC,CACpB,CAQA,SAAS6zE,GAAkB9zE,EAAGC,EAAG,CAC7B,OAAO1D,GAAQ0D,CAAC,EACVD,EAAE,SAAWC,EAAE,QAAUD,EAAE,MAAM,CAAC9C,EAAOd,IAAMc,IAAU+C,EAAE7D,CAAC,CAAC,EAC7D4D,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAMC,CACrC,CAOA,SAASkzE,GAAoBzxD,EAAIC,EAAM,CACnC,GAAID,EAAG,WAAW,GAAG,EACjB,OAAOA,EAKX,GAAI,CAACA,EACD,OAAOC,EACX,MAAMoyD,EAAepyD,EAAK,MAAM,GAAG,EAC7BqyD,EAAatyD,EAAG,MAAM,GAAG,EACzBuyD,EAAgBD,EAAWA,EAAW,OAAS,CAAC,GAGlDC,IAAkB,MAAQA,IAAkB,MAC5CD,EAAW,KAAK,EAAE,EAEtB,IAAI7tB,EAAW4tB,EAAa,OAAS,EACjCG,EACAC,EACJ,IAAKD,EAAa,EAAGA,EAAaF,EAAW,OAAQE,IAGjD,GAFAC,EAAUH,EAAWE,CAAU,EAE3BC,IAAY,IAGhB,GAAIA,IAAY,KAERhuB,EAAW,GACXA,QAKJ,OAER,OAAQ4tB,EAAa,MAAM,EAAG5tB,CAAQ,EAAE,KAAK,GAAG,EAC5C,IACA6tB,EAAW,MAAME,CAAU,EAAE,KAAK,GAAG,CAC7C,CAgBA,MAAME,GAA4B,CAC9B,KAAM,IAEN,KAAM,OACN,OAAQ,CAAE,EACV,MAAO,CAAE,EACT,KAAM,GACN,SAAU,IACV,QAAS,CAAE,EACX,KAAM,CAAE,EACR,eAAgB,MACpB,EAEA,IAAIC,IACH,SAAUA,EAAgB,CACvBA,EAAe,IAAS,MACxBA,EAAe,KAAU,MAC7B,GAAGA,KAAmBA,GAAiB,CAAE,EAAC,EAC1C,IAAIC,IACH,SAAUA,EAAqB,CAC5BA,EAAoB,KAAU,OAC9BA,EAAoB,QAAa,UACjCA,EAAoB,QAAa,EACrC,GAAGA,KAAwBA,GAAsB,CAAE,EAAC,EAYpD,SAASC,GAAcrzD,EAAM,CACzB,GAAI,CAACA,EACD,GAAI8vD,GAAW,CAEX,MAAMwD,EAAS,SAAS,cAAc,MAAM,EAC5CtzD,EAAQszD,GAAUA,EAAO,aAAa,MAAM,GAAM,IAElDtzD,EAAOA,EAAK,QAAQ,kBAAmB,EAAE,CAC5C,MAEGA,EAAO,IAMf,OAAIA,EAAK,CAAC,IAAM,KAAOA,EAAK,CAAC,IAAM,MAC/BA,EAAO,IAAMA,GAGVuxD,GAAoBvxD,CAAI,CACnC,CAEA,MAAMuzD,GAAiB,UACvB,SAASC,GAAWxzD,EAAM0xD,EAAU,CAChC,OAAO1xD,EAAK,QAAQuzD,GAAgB,GAAG,EAAI7B,CAC/C,CAEA,SAAS+B,GAAmBx4E,EAAIqnD,EAAQ,CACpC,MAAMoxB,EAAU,SAAS,gBAAgB,sBAAqB,EACxDC,EAAS14E,EAAG,wBAClB,MAAO,CACH,SAAUqnD,EAAO,SACjB,KAAMqxB,EAAO,KAAOD,EAAQ,MAAQpxB,EAAO,MAAQ,GACnD,IAAKqxB,EAAO,IAAMD,EAAQ,KAAOpxB,EAAO,KAAO,EACvD,CACA,CACA,MAAMsxB,GAAwB,KAAO,CACjC,KAAM,OAAO,QACb,IAAK,OAAO,OAChB,GACA,SAASC,GAAiB5uB,EAAU,CAChC,IAAI6uB,EACJ,GAAI,OAAQ7uB,EAAU,CAClB,MAAM8uB,EAAa9uB,EAAS,GACtB+uB,EAAe,OAAOD,GAAe,UAAYA,EAAW,WAAW,GAAG,EAuC1E94E,EAAK,OAAO84E,GAAe,SAC3BC,EACI,SAAS,eAAeD,EAAW,MAAM,CAAC,CAAC,EAC3C,SAAS,cAAcA,CAAU,EACrCA,EACN,GAAI,CAAC94E,EAGD,OAEJ64E,EAAkBL,GAAmBx4E,EAAIgqD,CAAQ,CACpD,MAEG6uB,EAAkB7uB,EAElB,mBAAoB,SAAS,gBAAgB,MAC7C,OAAO,SAAS6uB,CAAe,EAE/B,OAAO,SAASA,EAAgB,MAAQ,KAAOA,EAAgB,KAAO,OAAO,QAASA,EAAgB,KAAO,KAAOA,EAAgB,IAAM,OAAO,OAAO,CAEhK,CACA,SAASG,GAAahkD,EAAMikD,EAAO,CAE/B,OADiB,QAAQ,MAAQ,QAAQ,MAAM,SAAWA,EAAQ,IAChDjkD,CACtB,CACA,MAAMkkD,GAAkB,IAAI,IAC5B,SAASC,GAAmB95E,EAAK+5E,EAAgB,CAC7CF,GAAgB,IAAI75E,EAAK+5E,CAAc,CAC3C,CACA,SAASC,GAAuBh6E,EAAK,CACjC,MAAMi6E,EAASJ,GAAgB,IAAI75E,CAAG,EAEtC,OAAA65E,GAAgB,OAAO75E,CAAG,EACnBi6E,CACX,CAiBA,IAAIC,GAAqB,IAAM,SAAS,SAAW,KAAO,SAAS,KAMnE,SAASC,GAAsBz0D,EAAM0xD,EAAU,CAC3C,KAAM,CAAE,SAAAW,EAAU,OAAAqC,EAAQ,KAAA5C,CAAI,EAAKJ,EAE7BK,EAAU/xD,EAAK,QAAQ,GAAG,EAChC,GAAI+xD,EAAU,GAAI,CACd,IAAI4C,EAAW7C,EAAK,SAAS9xD,EAAK,MAAM+xD,CAAO,CAAC,EAC1C/xD,EAAK,MAAM+xD,CAAO,EAAE,OACpB,EACF6C,EAAe9C,EAAK,MAAM6C,CAAQ,EAEtC,OAAIC,EAAa,CAAC,IAAM,MACpBA,EAAe,IAAMA,GAClBxC,GAAUwC,EAAc,EAAE,CACpC,CAED,OADaxC,GAAUC,EAAUryD,CAAI,EACvB00D,EAAS5C,CAC3B,CACA,SAAS+C,GAAoB70D,EAAM80D,EAAcnD,EAAiBoD,EAAS,CACvE,IAAI/sC,EAAY,GACZgtC,EAAY,GAGZC,EAAa,KACjB,MAAMC,EAAkB,CAAC,CAAE,MAAAviE,KAAa,CACpC,MAAM6N,EAAKi0D,GAAsBz0D,EAAM,QAAQ,EACzCS,EAAOkxD,EAAgB,MACvBwD,EAAYL,EAAa,MAC/B,IAAIZ,EAAQ,EACZ,GAAIvhE,EAAO,CAIP,GAHAg/D,EAAgB,MAAQnxD,EACxBs0D,EAAa,MAAQniE,EAEjBsiE,GAAcA,IAAex0D,EAAM,CACnCw0D,EAAa,KACb,MACH,CACDf,EAAQiB,EAAYxiE,EAAM,SAAWwiE,EAAU,SAAW,CAC7D,MAEGJ,EAAQv0D,CAAE,EAOdwnB,EAAU,QAAQC,GAAY,CAC1BA,EAAS0pC,EAAgB,MAAOlxD,EAAM,CAClC,MAAAyzD,EACA,KAAMf,GAAe,IACrB,UAAWe,EACLA,EAAQ,EACJd,GAAoB,QACpBA,GAAoB,KACxBA,GAAoB,OAC1C,CAAa,CACb,CAAS,CACT,EACI,SAASgC,GAAiB,CACtBH,EAAatD,EAAgB,KAChC,CACD,SAASrG,EAAOjiE,EAAU,CAEtB2+B,EAAU,KAAK3+B,CAAQ,EACvB,MAAMgsE,EAAW,IAAM,CACnB,MAAM1uE,EAAQqhC,EAAU,QAAQ3+B,CAAQ,EACpC1C,EAAQ,IACRqhC,EAAU,OAAOrhC,EAAO,CAAC,CACzC,EACQ,OAAAquE,EAAU,KAAKK,CAAQ,EAChBA,CACV,CACD,SAASC,GAAuB,CAC5B,KAAM,CAAE,QAAAvH,CAAS,EAAG,OACfA,EAAQ,OAEbA,EAAQ,aAAahuC,GAAO,GAAIguC,EAAQ,MAAO,CAAE,OAAQ6F,GAAqB,EAAI,EAAG,EAAE,CAC1F,CACD,SAAS2B,GAAU,CACf,UAAWF,KAAYL,EACnBK,IACJL,EAAY,GACZ,OAAO,oBAAoB,WAAYE,CAAe,EACtD,OAAO,oBAAoB,eAAgBI,CAAoB,CAClE,CAED,cAAO,iBAAiB,WAAYJ,CAAe,EAGnD,OAAO,iBAAiB,eAAgBI,EAAsB,CAC1D,QAAS,EACjB,CAAK,EACM,CACH,eAAAF,EACA,OAAA9J,EACA,QAAAiK,CACR,CACA,CAIA,SAASC,GAAWC,EAAMn9D,EAASywC,EAASrX,EAAW,GAAOgkC,EAAgB,GAAO,CACjF,MAAO,CACH,KAAAD,EACA,QAAAn9D,EACA,QAAAywC,EACA,SAAArX,EACA,SAAU,OAAO,QAAQ,OACzB,OAAQgkC,EAAgB9B,GAAqB,EAAK,IAC1D,CACA,CACA,SAAS+B,GAA0B31D,EAAM,CACrC,KAAM,CAAE,QAAA+tD,EAAS,SAAA2D,CAAU,EAAG,OAExBC,EAAkB,CACpB,MAAO8C,GAAsBz0D,EAAM0xD,CAAQ,CACnD,EACUoD,EAAe,CAAE,MAAO/G,EAAQ,KAAK,EAEtC+G,EAAa,OACdc,EAAejE,EAAgB,MAAO,CAClC,KAAM,KACN,QAASA,EAAgB,MACzB,QAAS,KAET,SAAU5D,EAAQ,OAAS,EAC3B,SAAU,GAGV,OAAQ,IACX,EAAE,EAAI,EAEX,SAAS6H,EAAep1D,EAAI7N,EAAOoiE,EAAS,CAUxC,MAAMc,EAAY71D,EAAK,QAAQ,GAAG,EAC5Bu5C,EAAMsc,EAAY,IACjBnE,EAAS,MAAQ,SAAS,cAAc,MAAM,EAC3C1xD,EACAA,EAAK,MAAM61D,CAAS,GAAKr1D,EAC7Bg0D,GAAoB,EAAGx0D,EAAOQ,EACpC,GAAI,CAGAutD,EAAQgH,EAAU,eAAiB,WAAW,EAAEpiE,EAAO,GAAI4mD,CAAG,EAC9Dub,EAAa,MAAQniE,CACxB,OACMvQ,EAAK,CAKJ,QAAQ,MAAMA,CAAG,EAGrBsvE,EAASqD,EAAU,UAAY,QAAQ,EAAExb,CAAG,CAC/C,CACJ,CACD,SAASwb,EAAQv0D,EAAIhE,EAAM,CACvB,MAAM7J,EAAQotB,GAAO,GAAIguC,EAAQ,MAAOyH,GAAWV,EAAa,MAAM,KAEtEt0D,EAAIs0D,EAAa,MAAM,QAAS,EAAI,EAAGt4D,EAAM,CAAE,SAAUs4D,EAAa,MAAM,QAAU,GACtFc,EAAep1D,EAAI7N,EAAO,EAAI,EAC9Bg/D,EAAgB,MAAQnxD,CAC3B,CACD,SAASitB,EAAKjtB,EAAIhE,EAAM,CAGpB,MAAMs5D,EAAe/1C,GAAO,CAAE,EAI9B+0C,EAAa,MAAO/G,EAAQ,MAAO,CAC/B,QAASvtD,EACT,OAAQozD,GAAuB,CAC3C,CAAS,EAMDgC,EAAeE,EAAa,QAASA,EAAc,EAAI,EACvD,MAAMnjE,EAAQotB,GAAO,GAAIy1C,GAAW7D,EAAgB,MAAOnxD,EAAI,IAAI,EAAG,CAAE,SAAUs1D,EAAa,SAAW,CAAC,EAAIt5D,CAAI,EACnHo5D,EAAep1D,EAAI7N,EAAO,EAAK,EAC/Bg/D,EAAgB,MAAQnxD,CAC3B,CACD,MAAO,CACH,SAAUmxD,EACV,MAAOmD,EACP,KAAArnC,EACA,QAAAsnC,CACR,CACA,CAMA,SAASgB,GAAiB/1D,EAAM,CAC5BA,EAAOqzD,GAAcrzD,CAAI,EACzB,MAAMg2D,EAAoBL,GAA0B31D,CAAI,EAClDi2D,EAAmBpB,GAAoB70D,EAAMg2D,EAAkB,MAAOA,EAAkB,SAAUA,EAAkB,OAAO,EACjI,SAASE,EAAGhC,EAAOiC,EAAmB,GAAM,CACnCA,GACDF,EAAiB,eAAc,EACnC,QAAQ,GAAG/B,CAAK,CACnB,CACD,MAAMkC,EAAgBr2C,GAAO,CAEzB,SAAU,GACV,KAAA/f,EACA,GAAAk2D,EACA,WAAY1C,GAAW,KAAK,KAAMxzD,CAAI,CAC9C,EAAOg2D,EAAmBC,CAAgB,EACtC,cAAO,eAAeG,EAAe,WAAY,CAC7C,WAAY,GACZ,IAAK,IAAMJ,EAAkB,SAAS,KAC9C,CAAK,EACD,OAAO,eAAeI,EAAe,QAAS,CAC1C,WAAY,GACZ,IAAK,IAAMJ,EAAkB,MAAM,KAC3C,CAAK,EACMI,CACX,CA+GA,SAASC,GAAqBr2D,EAAM,CAIhC,OAAAA,EAAO,SAAS,KAAOA,GAAQ,SAAS,SAAW,SAAS,OAAS,GAEhEA,EAAK,SAAS,GAAG,IAClBA,GAAQ,KAIL+1D,GAAiB/1D,CAAI,CAChC,CAEA,SAASs2D,GAAgBtb,EAAO,CAC5B,OAAO,OAAOA,GAAU,UAAaA,GAAS,OAAOA,GAAU,QACnE,CACA,SAASub,GAAY93E,EAAM,CACvB,OAAO,OAAOA,GAAS,UAAY,OAAOA,GAAS,QACvD,CAEA,MAAM+3E,GAA0B,OAAwE,EAAE,EAK1G,IAAIC,IACH,SAAUA,EAAuB,CAK9BA,EAAsBA,EAAsB,QAAa,CAAC,EAAI,UAK9DA,EAAsBA,EAAsB,UAAe,CAAC,EAAI,YAKhEA,EAAsBA,EAAsB,WAAgB,EAAE,EAAI,YACtE,GAAGA,KAA0BA,GAAwB,CAAE,EAAC,EA2BxD,SAASC,GAAkBzyE,EAAMggD,EAAQ,CASjC,OAAOlkB,GAAO,IAAI,MAAS,CACvB,KAAA97B,EACA,CAACuyE,EAAuB,EAAG,EAC9B,EAAEvyB,CAAM,CAEjB,CACA,SAAS0yB,GAAoBx0E,EAAO8B,EAAM,CACtC,OAAQ9B,aAAiB,OACrBq0E,MAA2Br0E,IAC1B8B,GAAQ,MAAQ,CAAC,EAAE9B,EAAM,KAAO8B,GACzC,CAgBA,MAAM2yE,GAAqB,SACrBC,GAA2B,CAC7B,UAAW,GACX,OAAQ,GACR,MAAO,GACP,IAAK,EACT,EAEMC,GAAiB,sBAQvB,SAASC,GAAe7mD,EAAUpZ,EAAc,CAC5C,MAAMjK,EAAUkzB,GAAO,CAAE,EAAE82C,GAA0B//D,CAAY,EAE3DkgE,EAAQ,GAEd,IAAInkC,EAAUhmC,EAAQ,MAAQ,IAAM,GAEpC,MAAMiO,EAAO,GACb,UAAWm4D,KAAW/iD,EAAU,CAE5B,MAAM+mD,EAAgBhE,EAAQ,OAAS,GAAK,CAAC,EAAE,EAE3CpmE,EAAQ,QAAU,CAAComE,EAAQ,SAC3BpgC,GAAW,KACf,QAASqkC,EAAa,EAAGA,EAAajE,EAAQ,OAAQiE,IAAc,CAChE,MAAMC,EAAQlE,EAAQiE,CAAU,EAEhC,IAAIE,EAAkB,IACjBvqE,EAAQ,UAAY,IAA0C,GACnE,GAAIsqE,EAAM,OAAS,EAEVD,IACDrkC,GAAW,KACfA,GAAWskC,EAAM,MAAM,QAAQL,GAAgB,MAAM,EACrDM,GAAmB,WAEdD,EAAM,OAAS,EAAyB,CAC7C,KAAM,CAAE,MAAAn7E,EAAO,WAAAq7E,EAAY,SAAAv+B,EAAU,OAAAw+B,CAAM,EAAKH,EAChDr8D,EAAK,KAAK,CACN,KAAM9e,EACN,WAAAq7E,EACA,SAAAv+B,CACpB,CAAiB,EACD,MAAMuS,EAAKisB,GAAkBV,GAE7B,GAAIvrB,IAAOurB,GAAoB,CAC3BQ,GAAmB,GAEnB,GAAI,CACA,IAAI,OAAO,IAAI/rB,CAAE,GAAG,CACvB,OACMjpD,EAAK,CACR,MAAM,IAAI,MAAM,oCAAoCpG,CAAK,MAAMqvD,CAAE,MAC7DjpD,EAAI,OAAO,CAClB,CACJ,CAED,IAAIm1E,EAAaF,EAAa,OAAOhsB,CAAE,WAAWA,CAAE,OAAS,IAAIA,CAAE,IAE9D6rB,IACDK,EAGIz+B,GAAYm6B,EAAQ,OAAS,EACvB,OAAOsE,CAAU,IACjB,IAAMA,GAChBz+B,IACAy+B,GAAc,KAClB1kC,GAAW0kC,EACXH,GAAmB,GACft+B,IACAs+B,GAAmB,IACnBC,IACAD,GAAmB,KACnB/rB,IAAO,OACP+rB,GAAmB,IAC1B,CACDH,EAAc,KAAKG,CAAe,CACrC,CAGDJ,EAAM,KAAKC,CAAa,CAC3B,CAED,GAAIpqE,EAAQ,QAAUA,EAAQ,IAAK,CAC/B,MAAM3R,EAAI87E,EAAM,OAAS,EACzBA,EAAM97E,CAAC,EAAE87E,EAAM97E,CAAC,EAAE,OAAS,CAAC,GAAK,iBACpC,CAEI2R,EAAQ,SACTgmC,GAAW,MACXhmC,EAAQ,IACRgmC,GAAW,IAENhmC,EAAQ,QAAU,CAACgmC,EAAQ,SAAS,GAAG,IAC5CA,GAAW,WACf,MAAMwY,EAAK,IAAI,OAAOxY,EAAShmC,EAAQ,UAAY,GAAK,GAAG,EAC3D,SAASimD,EAAM7iC,EAAM,CACjB,MAAMmjC,EAAQnjC,EAAK,MAAMo7B,CAAE,EACrBpH,EAAS,GACf,GAAI,CAACmP,EACD,OAAO,KACX,QAASl4D,EAAI,EAAGA,EAAIk4D,EAAM,OAAQl4D,IAAK,CACnC,MAAMc,EAAQo3D,EAAMl4D,CAAC,GAAK,GACpBZ,EAAMwgB,EAAK5f,EAAI,CAAC,EACtB+oD,EAAO3pD,EAAI,IAAI,EAAI0B,GAAS1B,EAAI,WAAa0B,EAAM,MAAM,GAAG,EAAIA,CACnE,CACD,OAAOioD,CACV,CACD,SAASuzB,EAAUvzB,EAAQ,CACvB,IAAIh0B,EAAO,GAEPwnD,EAAuB,GAC3B,UAAWxE,KAAW/iD,EAAU,EACxB,CAACunD,GAAwB,CAACxnD,EAAK,SAAS,GAAG,KAC3CA,GAAQ,KACZwnD,EAAuB,GACvB,UAAWN,KAASlE,EAChB,GAAIkE,EAAM,OAAS,EACflnD,GAAQknD,EAAM,cAETA,EAAM,OAAS,EAAyB,CAC7C,KAAM,CAAE,MAAAn7E,EAAO,WAAAq7E,EAAY,SAAAv+B,CAAQ,EAAKq+B,EAClC7vC,EAAQtrC,KAASioD,EAASA,EAAOjoD,CAAK,EAAI,GAChD,GAAIX,GAAQisC,CAAK,GAAK,CAAC+vC,EACnB,MAAM,IAAI,MAAM,mBAAmBr7E,CAAK,2DAA2D,EAEvG,MAAM03B,EAAOr4B,GAAQisC,CAAK,EACpBA,EAAM,KAAK,GAAG,EACdA,EACN,GAAI,CAAC5T,EACD,GAAIolB,EAEIm6B,EAAQ,OAAS,IAEbhjD,EAAK,SAAS,GAAG,EACjBA,EAAOA,EAAK,MAAM,EAAG,EAAE,EAGvBwnD,EAAuB,QAI/B,OAAM,IAAI,MAAM,2BAA2Bz7E,CAAK,GAAG,EAE3Di0B,GAAQyD,CACX,CAER,CAED,OAAOzD,GAAQ,GAClB,CACD,MAAO,CACH,GAAAo7B,EACA,MAAA2rB,EACA,KAAAl8D,EACA,MAAAg4C,EACA,UAAA0kB,CACR,CACA,CAUA,SAASE,GAAkB54E,EAAGC,EAAG,CAC7B,IAAI7D,EAAI,EACR,KAAOA,EAAI4D,EAAE,QAAU5D,EAAI6D,EAAE,QAAQ,CACjC,MAAM8oD,EAAO9oD,EAAE7D,CAAC,EAAI4D,EAAE5D,CAAC,EAEvB,GAAI2sD,EACA,OAAOA,EACX3sD,GACH,CAGD,OAAI4D,EAAE,OAASC,EAAE,OACND,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAM,GAA4B,GACxD,GACA,EAEDA,EAAE,OAASC,EAAE,OACXA,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAM,GAA4B,GACxD,EACA,GAEH,CACX,CAQA,SAAS44E,GAAuB74E,EAAGC,EAAG,CAClC,IAAI7D,EAAI,EACR,MAAM08E,EAAS94E,EAAE,MACX+4E,EAAS94E,EAAE,MACjB,KAAO7D,EAAI08E,EAAO,QAAU18E,EAAI28E,EAAO,QAAQ,CAC3C,MAAMtzD,EAAOmzD,GAAkBE,EAAO18E,CAAC,EAAG28E,EAAO38E,CAAC,CAAC,EAEnD,GAAIqpB,EACA,OAAOA,EACXrpB,GACH,CACD,GAAI,KAAK,IAAI28E,EAAO,OAASD,EAAO,MAAM,IAAM,EAAG,CAC/C,GAAIE,GAAoBF,CAAM,EAC1B,MAAO,GACX,GAAIE,GAAoBD,CAAM,EAC1B,MAAO,EACd,CAED,OAAOA,EAAO,OAASD,EAAO,MAOlC,CAOA,SAASE,GAAoBd,EAAO,CAChC,MAAMx2E,EAAOw2E,EAAMA,EAAM,OAAS,CAAC,EACnC,OAAOA,EAAM,OAAS,GAAKx2E,EAAKA,EAAK,OAAS,CAAC,EAAI,CACvD,CAEA,MAAMu3E,GAAa,CACf,KAAM,EACN,MAAO,EACX,EACMC,GAAiB,eAIvB,SAASC,GAAahoD,EAAM,CACxB,GAAI,CAACA,EACD,MAAO,CAAC,CAAE,GACd,GAAIA,IAAS,IACT,MAAO,CAAC,CAAC8nD,EAAU,CAAC,EACxB,GAAI,CAAC9nD,EAAK,WAAW,GAAG,EACpB,MAAM,IAAI,MAEJ,iBAAiBA,CAAI,GAAG,EAGlC,SAASioD,EAAM5pC,EAAS,CACpB,MAAM,IAAI,MAAM,QAAQ37B,CAAK,MAAMwlE,CAAM,MAAM7pC,CAAO,EAAE,CAC3D,CACD,IAAI37B,EAAQ,EACRylE,EAAgBzlE,EACpB,MAAM0lE,EAAS,GAGf,IAAIpF,EACJ,SAASqF,GAAkB,CACnBrF,GACAoF,EAAO,KAAKpF,CAAO,EACvBA,EAAU,EACb,CAED,IAAI/3E,EAAI,EAEJq9E,EAEAJ,EAAS,GAETK,EAAW,GACf,SAASC,GAAgB,CAChBN,IAEDxlE,IAAU,EACVsgE,EAAQ,KAAK,CACT,KAAM,EACN,MAAOkF,CACvB,CAAa,EAEIxlE,IAAU,GACfA,IAAU,GACVA,IAAU,GACNsgE,EAAQ,OAAS,IAAMsF,IAAS,KAAOA,IAAS,MAChDL,EAAM,uBAAuBC,CAAM,8CAA8C,EACrFlF,EAAQ,KAAK,CACT,KAAM,EACN,MAAOkF,EACP,OAAQK,EACR,WAAYD,IAAS,KAAOA,IAAS,IACrC,SAAUA,IAAS,KAAOA,IAAS,GACnD,CAAa,GAGDL,EAAM,iCAAiC,EAE3CC,EAAS,GACZ,CACD,SAASO,GAAkB,CACvBP,GAAUI,CACb,CACD,KAAOr9E,EAAI+0B,EAAK,QAAQ,CAEpB,GADAsoD,EAAOtoD,EAAK/0B,GAAG,EACXq9E,IAAS,MAAQ5lE,IAAU,EAAoC,CAC/DylE,EAAgBzlE,EAChBA,EAAQ,EACR,QACH,CACD,OAAQA,EAAK,CACT,IAAK,GACG4lE,IAAS,KACLJ,GACAM,IAEJH,KAEKC,IAAS,KACdE,IACA9lE,EAAQ,GAGR+lE,IAEJ,MACJ,IAAK,GACDA,IACA/lE,EAAQylE,EACR,MACJ,IAAK,GACGG,IAAS,IACT5lE,EAAQ,EAEHqlE,GAAe,KAAKO,CAAI,EAC7BG,KAGAD,IACA9lE,EAAQ,EAEJ4lE,IAAS,KAAOA,IAAS,KAAOA,IAAS,KACzCr9E,KAER,MACJ,IAAK,GAMGq9E,IAAS,IAELC,EAASA,EAAS,OAAS,CAAC,GAAK,KACjCA,EAAWA,EAAS,MAAM,EAAG,EAAE,EAAID,EAEnC5lE,EAAQ,EAGZ6lE,GAAYD,EAEhB,MACJ,IAAK,GAEDE,IACA9lE,EAAQ,EAEJ4lE,IAAS,KAAOA,IAAS,KAAOA,IAAS,KACzCr9E,IACJs9E,EAAW,GACX,MACJ,QACIN,EAAM,eAAe,EACrB,KACP,CACJ,CACD,OAAIvlE,IAAU,GACVulE,EAAM,uCAAuCC,CAAM,GAAG,EAC1DM,IACAH,IAEOD,CACX,CAEA,SAASM,GAAyBxb,EAAQpyC,EAAQle,EAAS,CACvD,MAAM6pD,EAASqgB,GAAekB,GAAa9a,EAAO,IAAI,EAAGtwD,CAAO,EAU1D+rE,EAAU74C,GAAO22B,EAAQ,CAC3B,OAAAyG,EACA,OAAApyC,EAEA,SAAU,CAAE,EACZ,MAAO,CAAE,CACjB,CAAK,EACD,OAAIA,GAII,CAAC6tD,EAAQ,OAAO,SAAY,CAAC7tD,EAAO,OAAO,SAC3CA,EAAO,SAAS,KAAK6tD,CAAO,EAE7BA,CACX,CASA,SAASC,GAAoBC,EAAQC,EAAe,CAEhD,MAAMC,EAAW,GACXC,EAAa,IAAI,IACvBF,EAAgBx4D,GAAa,CAAE,OAAQ,GAAO,IAAK,GAAM,UAAW,IAASw4D,CAAa,EAC1F,SAASG,EAAiBz6E,EAAM,CAC5B,OAAOw6E,EAAW,IAAIx6E,CAAI,CAC7B,CACD,SAAS06E,EAAShc,EAAQpyC,EAAQquD,EAAgB,CAE9C,MAAMC,EAAY,CAACD,EACbE,EAAuBC,GAAqBpc,CAAM,EAKxDmc,EAAqB,QAAUF,GAAkBA,EAAe,OAChE,MAAMvsE,EAAU0T,GAAaw4D,EAAe5b,CAAM,EAE5Cqc,EAAoB,CAACF,CAAoB,EAC/C,GAAI,UAAWnc,EAAQ,CACnB,MAAMsc,EAAU,OAAOtc,EAAO,OAAU,SAAW,CAACA,EAAO,KAAK,EAAIA,EAAO,MAC3E,UAAWuc,KAASD,EAChBD,EAAkB,KAGlBD,GAAqBx5C,GAAO,CAAE,EAAEu5C,EAAsB,CAGlD,WAAYF,EACNA,EAAe,OAAO,WACtBE,EAAqB,WAC3B,KAAMI,EAEN,QAASN,EACHA,EAAe,OACfE,CAGT,EAAC,CAAC,CAEV,CACD,IAAIV,EACAe,EACJ,UAAWC,KAAoBJ,EAAmB,CAC9C,KAAM,CAAE,KAAAvpD,CAAM,EAAG2pD,EAIjB,GAAI7uD,GAAUkF,EAAK,CAAC,IAAM,IAAK,CAC3B,MAAM4pD,GAAa9uD,EAAO,OAAO,KAC3B+uD,GAAkBD,GAAWA,GAAW,OAAS,CAAC,IAAM,IAAM,GAAK,IACzED,EAAiB,KACb7uD,EAAO,OAAO,MAAQkF,GAAQ6pD,GAAkB7pD,EACvD,CAoCD,GA9BA2oD,EAAUD,GAAyBiB,EAAkB7uD,EAAQle,CAAO,EAKhEusE,EACAA,EAAe,MAAM,KAAKR,CAAO,GAOjCe,EAAkBA,GAAmBf,EACjCe,IAAoBf,GACpBe,EAAgB,MAAM,KAAKf,CAAO,EAGlCS,GAAalc,EAAO,MAAQ,CAAC4c,GAAcnB,CAAO,GAIlDoB,EAAY7c,EAAO,IAAI,GAK3B8c,GAAYrB,CAAO,GACnBsB,EAActB,CAAO,EAErBU,EAAqB,SAAU,CAC/B,MAAMhmE,GAAWgmE,EAAqB,SACtC,QAASp+E,GAAI,EAAGA,GAAIoY,GAAS,OAAQpY,KACjCi+E,EAAS7lE,GAASpY,EAAC,EAAG09E,EAASQ,GAAkBA,EAAe,SAASl+E,EAAC,CAAC,CAElF,CAGDk+E,EAAiBA,GAAkBR,CAKtC,CACD,OAAOe,EACD,IAAM,CAEJK,EAAYL,CAAe,CAC9B,EACC72C,EACT,CACD,SAASk3C,EAAYG,EAAY,CAC7B,GAAI5D,GAAY4D,CAAU,EAAG,CACzB,MAAMvB,EAAUK,EAAW,IAAIkB,CAAU,EACrCvB,IACAK,EAAW,OAAOkB,CAAU,EAC5BnB,EAAS,OAAOA,EAAS,QAAQJ,CAAO,EAAG,CAAC,EAC5CA,EAAQ,SAAS,QAAQoB,CAAW,EACpCpB,EAAQ,MAAM,QAAQoB,CAAW,EAExC,KACI,CACD,MAAMrzE,EAAQqyE,EAAS,QAAQmB,CAAU,EACrCxzE,EAAQ,KACRqyE,EAAS,OAAOryE,EAAO,CAAC,EACpBwzE,EAAW,OAAO,MAClBlB,EAAW,OAAOkB,EAAW,OAAO,IAAI,EAC5CA,EAAW,SAAS,QAAQH,CAAW,EACvCG,EAAW,MAAM,QAAQH,CAAW,EAE3C,CACJ,CACD,SAASI,GAAY,CACjB,OAAOpB,CACV,CACD,SAASkB,EAActB,EAAS,CAC5B,MAAMjyE,EAAQoJ,GAAmB6oE,EAASI,CAAQ,EAClDA,EAAS,OAAOryE,EAAO,EAAGiyE,CAAO,EAE7BA,EAAQ,OAAO,MAAQ,CAACmB,GAAcnB,CAAO,GAC7CK,EAAW,IAAIL,EAAQ,OAAO,KAAMA,CAAO,CAClD,CACD,SAASt+D,EAAQo3D,EAAUC,EAAiB,CACxC,IAAIiH,EACA30B,EAAS,GACTh0B,EACAxxB,EACJ,GAAI,SAAUizE,GAAYA,EAAS,KAAM,CAErC,GADAkH,EAAUK,EAAW,IAAIvH,EAAS,IAAI,EAClC,CAACkH,EACD,MAAMlC,GAAkB,EAAsC,CAC1D,SAAAhF,CACpB,CAAiB,EAQLjzE,EAAOm6E,EAAQ,OAAO,KACtB30B,EAASlkB,GAETs6C,GAAmB1I,EAAgB,OAGnCiH,EAAQ,KACH,OAAOh3C,GAAK,CAACA,EAAE,QAAQ,EACvB,OAAOg3C,EAAQ,OAASA,EAAQ,OAAO,KAAK,OAAOh3C,GAAKA,EAAE,QAAQ,EAAI,EAAE,EACxE,IAAIA,GAAKA,EAAE,IAAI,CAAC,EAGrB8vC,EAAS,QACL2I,GAAmB3I,EAAS,OAAQkH,EAAQ,KAAK,IAAIh3C,GAAKA,EAAE,IAAI,CAAC,CAAC,EAEtE3R,EAAO2oD,EAAQ,UAAU30B,CAAM,CAClC,SACQytB,EAAS,MAAQ,KAGtBzhD,EAAOyhD,EAAS,KAIhBkH,EAAUI,EAAS,KAAK14D,GAAKA,EAAE,GAAG,KAAK2P,CAAI,CAAC,EAExC2oD,IAEA30B,EAAS20B,EAAQ,MAAM3oD,CAAI,EAC3BxxB,EAAOm6E,EAAQ,OAAO,UAIzB,CAKD,GAHAA,EAAUjH,EAAgB,KACpBsH,EAAW,IAAItH,EAAgB,IAAI,EACnCqH,EAAS,KAAK14D,GAAKA,EAAE,GAAG,KAAKqxD,EAAgB,IAAI,CAAC,EACpD,CAACiH,EACD,MAAMlC,GAAkB,EAAsC,CAC1D,SAAAhF,EACA,gBAAAC,CACpB,CAAiB,EACLlzE,EAAOm6E,EAAQ,OAAO,KAGtB30B,EAASlkB,GAAO,GAAI4xC,EAAgB,OAAQD,EAAS,MAAM,EAC3DzhD,EAAO2oD,EAAQ,UAAU30B,CAAM,CAClC,CACD,MAAMq2B,EAAU,GAChB,IAAIC,EAAgB3B,EACpB,KAAO2B,GAEHD,EAAQ,QAAQC,EAAc,MAAM,EACpCA,EAAgBA,EAAc,OAElC,MAAO,CACH,KAAA97E,EACA,KAAAwxB,EACA,OAAAg0B,EACA,QAAAq2B,EACA,KAAME,GAAgBF,CAAO,CACzC,CACK,CAEDxB,EAAO,QAAQ9d,GAASme,EAASne,CAAK,CAAC,EACvC,SAASyf,GAAc,CACnBzB,EAAS,OAAS,EAClBC,EAAW,MAAK,CACnB,CACD,MAAO,CACH,SAAAE,EACA,QAAA7+D,EACA,YAAA0/D,EACA,YAAAS,EACA,UAAAL,EACA,iBAAAlB,CACR,CACA,CACA,SAASmB,GAAmBp2B,EAAQnpC,EAAM,CACtC,MAAM6pC,EAAY,GAClB,UAAWrqD,KAAOwgB,EACVxgB,KAAO2pD,IACPU,EAAUrqD,CAAG,EAAI2pD,EAAO3pD,CAAG,GAEnC,OAAOqqD,CACX,CAOA,SAAS40B,GAAqBpc,EAAQ,CAClC,MAAMn/D,EAAa,CACf,KAAMm/D,EAAO,KACb,SAAUA,EAAO,SACjB,KAAMA,EAAO,KACb,KAAMA,EAAO,MAAQ,CAAE,EACvB,QAASA,EAAO,QAChB,YAAaA,EAAO,YACpB,MAAOud,GAAqBvd,CAAM,EAClC,SAAUA,EAAO,UAAY,CAAE,EAC/B,UAAW,CAAE,EACb,YAAa,IAAI,IACjB,aAAc,IAAI,IAClB,eAAgB,CAAE,EAGlB,WAAY,eAAgBA,EACtBA,EAAO,YAAc,KACrBA,EAAO,WAAa,CAAE,QAASA,EAAO,SAAW,CAC/D,EAII,cAAO,eAAen/D,EAAY,OAAQ,CACtC,MAAO,CAAE,CACjB,CAAK,EACMA,CACX,CAMA,SAAS08E,GAAqBvd,EAAQ,CAClC,MAAMwd,EAAc,GAEdxnE,EAAQgqD,EAAO,OAAS,GAC9B,GAAI,cAAeA,EACfwd,EAAY,QAAUxnE,MAKtB,WAAW1U,KAAQ0+D,EAAO,WACtBwd,EAAYl8E,CAAI,EAAI,OAAO0U,GAAU,SAAWA,EAAM1U,CAAI,EAAI0U,EAEtE,OAAOwnE,CACX,CAKA,SAASZ,GAAc5c,EAAQ,CAC3B,KAAOA,GAAQ,CACX,GAAIA,EAAO,OAAO,QACd,MAAO,GACXA,EAASA,EAAO,MACnB,CACD,MAAO,EACX,CAMA,SAASqd,GAAgBF,EAAS,CAC9B,OAAOA,EAAQ,OAAO,CAACM,EAAMzd,IAAWp9B,GAAO66C,EAAMzd,EAAO,IAAI,EAAG,CAAE,EACzE,CACA,SAAS58C,GAAas6D,EAAUC,EAAgB,CAC5C,MAAMjuE,EAAU,GAChB,UAAWvS,KAAOugF,EACdhuE,EAAQvS,CAAG,EAAIA,KAAOwgF,EAAiBA,EAAexgF,CAAG,EAAIugF,EAASvgF,CAAG,EAE7E,OAAOuS,CACX,CA0DA,SAASkD,GAAmB6oE,EAASI,EAAU,CAE3C,IAAI+B,EAAQ,EACRC,EAAQhC,EAAS,OACrB,KAAO+B,IAAUC,GAAO,CACpB,MAAMC,EAAOF,EAAQC,GAAU,EACbrD,GAAuBiB,EAASI,EAASiC,CAAG,CAAC,EAC/C,EACZD,EAAQC,EAGRF,EAAQE,EAAM,CAErB,CAED,MAAMC,EAAoBC,GAAqBvC,CAAO,EACtD,OAAIsC,IACAF,EAAQhC,EAAS,YAAYkC,EAAmBF,EAAQ,CAAC,GAMtDA,CACX,CACA,SAASG,GAAqBvC,EAAS,CACnC,IAAIwC,EAAWxC,EACf,KAAQwC,EAAWA,EAAS,QACxB,GAAInB,GAAYmB,CAAQ,GACpBzD,GAAuBiB,EAASwC,CAAQ,IAAM,EAC9C,OAAOA,CAInB,CAQA,SAASnB,GAAY,CAAE,OAAA9c,GAAU,CAC7B,MAAO,CAAC,EAAEA,EAAO,MACZA,EAAO,YAAc,OAAO,KAAKA,EAAO,UAAU,EAAE,QACrDA,EAAO,SACf,CAWA,SAASsU,GAAWiD,EAAQ,CACxB,MAAM9C,EAAQ,GAGd,GAAI8C,IAAW,IAAMA,IAAW,IAC5B,OAAO9C,EAEX,MAAMyJ,GADe3G,EAAO,CAAC,IAAM,IACEA,EAAO,MAAM,CAAC,EAAIA,GAAQ,MAAM,GAAG,EACxE,QAASx5E,EAAI,EAAGA,EAAImgF,EAAa,OAAQ,EAAEngF,EAAG,CAE1C,MAAMogF,EAAcD,EAAangF,CAAC,EAAE,QAAQq1E,GAAS,GAAG,EAElDgL,EAAQD,EAAY,QAAQ,GAAG,EAC/BhhF,EAAM6jE,GAAOod,EAAQ,EAAID,EAAcA,EAAY,MAAM,EAAGC,CAAK,CAAC,EAClEv/E,EAAQu/E,EAAQ,EAAI,KAAOpd,GAAOmd,EAAY,MAAMC,EAAQ,CAAC,CAAC,EACpE,GAAIjhF,KAAOs3E,EAAO,CAEd,IAAI/6B,EAAe+6B,EAAMt3E,CAAG,EACvBe,GAAQw7C,CAAY,IACrBA,EAAe+6B,EAAMt3E,CAAG,EAAI,CAACu8C,CAAY,GAE7CA,EAAa,KAAK76C,CAAK,CAC1B,MAEG41E,EAAMt3E,CAAG,EAAI0B,CAEpB,CACD,OAAO41E,CACX,CAUA,SAASO,GAAeP,EAAO,CAC3B,IAAI8C,EAAS,GACb,QAASp6E,KAAOs3E,EAAO,CACnB,MAAM51E,EAAQ41E,EAAMt3E,CAAG,EAEvB,GADAA,EAAM62E,GAAe72E,CAAG,EACpB0B,GAAS,KAAM,CAEXA,IAAU,SACV04E,IAAWA,EAAO,OAAS,IAAM,IAAMp6E,GAE3C,QACH,EAEce,GAAQW,CAAK,EACtBA,EAAM,IAAIgE,GAAKA,GAAKkxE,GAAiBlxE,CAAC,CAAC,EACvC,CAAChE,GAASk1E,GAAiBl1E,CAAK,CAAC,GAChC,QAAQA,GAAS,CAGhBA,IAAU,SAEV04E,IAAWA,EAAO,OAAS,IAAM,IAAMp6E,EACnC0B,GAAS,OACT04E,GAAU,IAAM14E,GAEpC,CAAS,CACJ,CACD,OAAO04E,CACX,CASA,SAAS8G,GAAe5J,EAAO,CAC3B,MAAM6J,EAAkB,GACxB,UAAWnhF,KAAOs3E,EAAO,CACrB,MAAM51E,EAAQ41E,EAAMt3E,CAAG,EACnB0B,IAAU,SACVy/E,EAAgBnhF,CAAG,EAAIe,GAAQW,CAAK,EAC9BA,EAAM,IAAIgE,GAAMA,GAAK,KAAO,KAAO,GAAKA,CAAE,EAC1ChE,GAAS,KACLA,EACA,GAAKA,EAEtB,CACD,OAAOy/E,CACX,CASA,MAAMC,GAAkB,OAAkF,EAAE,EAOtGC,GAAe,OAAuE,EAAE,EAOxFC,GAAY,OAA4D,EAAE,EAO1EC,GAAmB,OAAoE,EAAE,EAOzFC,GAAwB,OAA0E,EAAE,EAK1G,SAASC,IAAe,CACpB,IAAIC,EAAW,GACf,SAASC,EAAIl8D,EAAS,CAClB,OAAAi8D,EAAS,KAAKj8D,CAAO,EACd,IAAM,CACT,MAAM7kB,EAAI8gF,EAAS,QAAQj8D,CAAO,EAC9B7kB,EAAI,IACJ8gF,EAAS,OAAO9gF,EAAG,CAAC,CACpC,CACK,CACD,SAAS2d,GAAQ,CACbmjE,EAAW,EACd,CACD,MAAO,CACH,IAAAC,EACA,KAAM,IAAMD,EAAS,MAAO,EAC5B,MAAAnjE,CACR,CACA,CAyDA,SAASqjE,GAAiB16C,EAAOhhB,EAAIC,EAAM08C,EAAQ1+D,EAAM09E,EAAiB7/E,GAAMA,IAAM,CAElF,MAAM8/E,EAAqBjf,IAEtBA,EAAO,eAAe1+D,CAAI,EAAI0+D,EAAO,eAAe1+D,CAAI,GAAK,IAClE,MAAO,IAAM,IAAI,QAAQ,CAAC6b,EAASo1C,IAAW,CAC1C,MAAMxtD,EAAQm6E,GAAU,CAChBA,IAAU,GACV3sB,EAAOgnB,GAAkB,EAAuC,CAC5D,KAAAj2D,EACA,GAAAD,CACH,EAAC,EAEG67D,aAAiB,MACtB3sB,EAAO2sB,CAAK,EAEP/F,GAAgB+F,CAAK,EAC1B3sB,EAAOgnB,GAAkB,EAA8C,CACnE,KAAMl2D,EACN,GAAI67D,CACP,EAAC,GAGED,GAEAjf,EAAO,eAAe1+D,CAAI,IAAM29E,GAChC,OAAOC,GAAU,YACjBD,EAAmB,KAAKC,CAAK,EAEjC/hE,IAEhB,EAEcgiE,EAAcH,EAAe,IAAM36C,EAAM,KAAK27B,GAAUA,EAAO,UAAU1+D,CAAI,EAAG+hB,EAAIC,EAAsFve,CAAI,CAAC,EACrL,IAAIq6E,EAAY,QAAQ,QAAQD,CAAW,EACvC96C,EAAM,OAAS,IACf+6C,EAAYA,EAAU,KAAKr6E,CAAI,GAsBnCq6E,EAAU,MAAMn6E,GAAOstD,EAAOttD,CAAG,CAAC,CAC1C,CAAK,CACL,CAYA,SAASo6E,GAAwBlC,EAASmC,EAAWj8D,EAAIC,EAAM07D,EAAiB7/E,GAAMA,IAAM,CACxF,MAAMogF,EAAS,GACf,UAAWvf,KAAUmd,EAKjB,UAAW77E,KAAQ0+D,EAAO,WAAY,CAClC,IAAIwf,EAAexf,EAAO,WAAW1+D,CAAI,EAiCzC,GAAI,EAAAg+E,IAAc,oBAAsB,CAACtf,EAAO,UAAU1+D,CAAI,GAE9D,GAAIsxE,GAAiB4M,CAAY,EAAG,CAGhC,MAAMn7C,GADUm7C,EAAa,WAAaA,GACpBF,CAAS,EAC/Bj7C,GACIk7C,EAAO,KAAKR,GAAiB16C,EAAOhhB,EAAIC,EAAM08C,EAAQ1+D,EAAM09E,CAAc,CAAC,CAClF,KACI,CAED,IAAIS,EAAmBD,IAKvBD,EAAO,KAAK,IAAME,EAAiB,KAAKv8D,GAAY,CAChD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,+BAA+B5hB,CAAI,SAAS0+D,EAAO,IAAI,GAAG,EAC9E,MAAM0f,EAAoB7M,GAAW3vD,CAAQ,EACvCA,EAAS,QACTA,EAEN88C,EAAO,KAAK1+D,CAAI,EAAI4hB,EAGpB88C,EAAO,WAAW1+D,CAAI,EAAIo+E,EAG1B,MAAMr7C,GADUq7C,EAAkB,WAAaA,GACzBJ,CAAS,EAC/B,OAAQj7C,GACJ06C,GAAiB16C,EAAOhhB,EAAIC,EAAM08C,EAAQ1+D,EAAM09E,CAAc,GACrE,EAAC,CACL,CACJ,CAEL,OAAOO,CACX,CAuCA,SAASI,GAAQ3pE,EAAO,CACpB,MAAM4pE,EAASn9D,GAAOg8D,EAAS,EACzBoB,EAAep9D,GAAOi8D,EAAgB,EAGtC7gB,EAAQt4D,GAAS,IAAM,CACzB,MAAM8d,EAAKvV,GAAMkI,EAAM,EAAE,EAazB,OAAO4pE,EAAO,QAAQv8D,CAAE,CAChC,CAAK,EACKy8D,EAAoBv6E,GAAS,IAAM,CACrC,KAAM,CAAE,QAAA43E,CAAO,EAAKtf,EAAM,MACpB,CAAE,OAAA0J,CAAQ,EAAG4V,EACb4C,EAAe5C,EAAQ5V,EAAS,CAAC,EACjCyY,EAAiBH,EAAa,QACpC,GAAI,CAACE,GAAgB,CAACC,EAAe,OACjC,MAAO,GACX,MAAMx2E,EAAQw2E,EAAe,UAAU1K,GAAkB,KAAK,KAAMyK,CAAY,CAAC,EACjF,GAAIv2E,EAAQ,GACR,OAAOA,EAEX,MAAMy2E,EAAmBC,GAAgB/C,EAAQ5V,EAAS,CAAC,CAAC,EAC5D,OAEAA,EAAS,GAIL2Y,GAAgBH,CAAY,IAAME,GAElCD,EAAeA,EAAe,OAAS,CAAC,EAAE,OAASC,EACjDD,EAAe,UAAU1K,GAAkB,KAAK,KAAM6H,EAAQ5V,EAAS,CAAC,CAAC,CAAC,EAC1E/9D,CACd,CAAK,EACK+4C,EAAWh9C,GAAS,IAAMu6E,EAAkB,MAAQ,IACtDK,GAAeN,EAAa,OAAQhiB,EAAM,MAAM,MAAM,CAAC,EACrDuiB,EAAgB76E,GAAS,IAAMu6E,EAAkB,MAAQ,IAC3DA,EAAkB,QAAUD,EAAa,QAAQ,OAAS,GAC1DtK,GAA0BsK,EAAa,OAAQhiB,EAAM,MAAM,MAAM,CAAC,EACtE,SAASwiB,EAASv7E,EAAI,GAAI,CACtB,GAAIw7E,GAAWx7E,CAAC,EAAG,CACf,MAAM6N,EAAIitE,EAAO9xE,GAAMkI,EAAM,OAAO,EAAI,UAAY,MAAM,EAAElI,GAAMkI,EAAM,EAAE,CAEtF,EAAc,MAAM2vB,EAAI,EACZ,OAAI3vB,EAAM,gBACN,OAAO,SAAa,KACpB,wBAAyB,UACzB,SAAS,oBAAoB,IAAMrD,CAAC,EAEjCA,CACV,CACD,OAAO,QAAQ,SAClB,CA4BD,MAAO,CACH,MAAAkrD,EACA,KAAMt4D,GAAS,IAAMs4D,EAAM,MAAM,IAAI,EACrC,SAAAtb,EACA,cAAA69B,EACA,SAAAC,CACR,CACA,CACA,SAASE,GAAkB7hE,EAAQ,CAC/B,OAAOA,EAAO,SAAW,EAAIA,EAAO,CAAC,EAAIA,CAC7C,CACA,MAAM8hE,GAA+B9mE,GAAgB,CACjD,KAAM,aACN,aAAc,CAAE,KAAM,CAAG,EACzB,MAAO,CACH,GAAI,CACA,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACb,EACD,QAAS,QACT,YAAa,OAEb,iBAAkB,OAClB,OAAQ,QACR,iBAAkB,CACd,KAAM,OACN,QAAS,MACZ,EACD,eAAgB,OACnB,EACD,QAAAimE,GACA,MAAM3pE,EAAO,CAAE,MAAAC,GAAS,CACpB,MAAM7R,EAAOoG,GAASm1E,GAAQ3pE,CAAK,CAAC,EAC9B,CAAE,QAAAtG,CAAO,EAAK+S,GAAOg8D,EAAS,EAC9BgC,EAAUl7E,GAAS,KAAO,CAC5B,CAACm7E,GAAa1qE,EAAM,YAAatG,EAAQ,gBAAiB,oBAAoB,CAAC,EAAGtL,EAAK,SAMvF,CAACs8E,GAAa1qE,EAAM,iBAAkBtG,EAAQ,qBAAsB,0BAA0B,CAAC,EAAGtL,EAAK,aAC1G,EAAC,EACF,MAAO,IAAM,CACT,MAAM+R,EAAWF,EAAM,SAAWsqE,GAAkBtqE,EAAM,QAAQ7R,CAAI,CAAC,EACvE,OAAO4R,EAAM,OACPG,EACAuM,GAAE,IAAK,CACL,eAAgBte,EAAK,cACf4R,EAAM,iBACN,KACN,KAAM5R,EAAK,KAGX,QAASA,EAAK,SACd,MAAOq8E,EAAQ,KAClB,EAAEtqE,CAAQ,CAC3B,CACK,CACL,CAAC,EAMKwqE,GAAaH,GACnB,SAASF,GAAWx7E,EAAG,CAEnB,GAAI,EAAAA,EAAE,SAAWA,EAAE,QAAUA,EAAE,SAAWA,EAAE,WAGxC,CAAAA,EAAE,kBAGF,EAAAA,EAAE,SAAW,QAAaA,EAAE,SAAW,GAI3C,IAAIA,EAAE,eAAiBA,EAAE,cAAc,aAAc,CAEjD,MAAM+B,EAAS/B,EAAE,cAAc,aAAa,QAAQ,EACpD,GAAI,cAAc,KAAK+B,CAAM,EACzB,MACP,CAED,OAAI/B,EAAE,gBACFA,EAAE,eAAc,EACb,GACX,CACA,SAASq7E,GAAeS,EAAOC,EAAO,CAClC,UAAW1jF,KAAO0jF,EAAO,CACrB,MAAMC,EAAaD,EAAM1jF,CAAG,EACtB4jF,EAAaH,EAAMzjF,CAAG,EAC5B,GAAI,OAAO2jF,GAAe,UACtB,GAAIA,IAAeC,EACf,MAAO,WAGP,CAAC7iF,GAAQ6iF,CAAU,GACnBA,EAAW,SAAWD,EAAW,QACjCA,EAAW,KAAK,CAACjiF,EAAOd,IAAMc,IAAUkiF,EAAWhjF,CAAC,CAAC,EACrD,MAAO,EAElB,CACD,MAAO,EACX,CAKA,SAASmiF,GAAgBlgB,EAAQ,CAC7B,OAAOA,EAAUA,EAAO,QAAUA,EAAO,QAAQ,KAAOA,EAAO,KAAQ,EAC3E,CAOA,MAAM0gB,GAAe,CAACM,EAAWzpC,EAAa0pC,IAAiBD,GAEzDzpC,GAEI0pC,EAEJC,GAA+BxnE,GAAgB,CACjD,KAAM,aAEN,aAAc,GACd,MAAO,CACH,KAAM,CACF,KAAM,OACN,QAAS,SACZ,EACD,MAAO,MACV,EAGD,aAAc,CAAE,KAAM,CAAG,EACzB,MAAM1D,EAAO,CAAE,MAAA8P,EAAO,MAAA7P,CAAK,EAAI,CAE3B,MAAMkrE,EAAgB1+D,GAAOk8D,EAAqB,EAC5CyC,EAAiB77E,GAAS,IAAMyQ,EAAM,OAASmrE,EAAc,KAAK,EAClEE,EAAgB5+D,GAAO+7D,GAAc,CAAC,EAGtC7tE,EAAQpL,GAAS,IAAM,CACzB,IAAI+7E,EAAexzE,GAAMuzE,CAAa,EACtC,KAAM,CAAE,QAAAlE,CAAO,EAAKiE,EAAe,MACnC,IAAIG,EACJ,MAAQA,EAAepE,EAAQmE,CAAY,IACvC,CAACC,EAAa,YACdD,IAEJ,OAAOA,CACnB,CAAS,EACKE,EAAkBj8E,GAAS,IAAM67E,EAAe,MAAM,QAAQzwE,EAAM,KAAK,CAAC,EAChFuR,GAAQs8D,GAAcj5E,GAAS,IAAMoL,EAAM,MAAQ,CAAC,CAAC,EACrDuR,GAAQq8D,GAAiBiD,CAAe,EACxCt/D,GAAQy8D,GAAuByC,CAAc,EAC7C,MAAMK,EAAUj0E,KAGhB,OAAAgC,GAAM,IAAM,CAACiyE,EAAQ,MAAOD,EAAgB,MAAOxrE,EAAM,IAAI,EAAG,CAAC,CAAC3E,EAAUgS,EAAI/hB,CAAI,EAAG,CAACogF,EAAap+D,EAAMq+D,CAAO,IAAM,CAEhHt+D,IAGAA,EAAG,UAAU/hB,CAAI,EAAI+P,EAOjBiS,GAAQA,IAASD,GAAMhS,GAAYA,IAAaqwE,IAC3Cr+D,EAAG,YAAY,OAChBA,EAAG,YAAcC,EAAK,aAErBD,EAAG,aAAa,OACjBA,EAAG,aAAeC,EAAK,gBAK/BjS,GACAgS,IAGC,CAACC,GAAQ,CAACgyD,GAAkBjyD,EAAIC,CAAI,GAAK,CAACo+D,KAC1Cr+D,EAAG,eAAe/hB,CAAI,GAAK,IAAI,QAAQ4K,GAAYA,EAASmF,CAAQ,CAAC,CAEtF,EAAW,CAAE,MAAO,MAAM,CAAE,EACb,IAAM,CACT,MAAMwsD,EAAQujB,EAAe,MAGvBQ,EAAc5rE,EAAM,KACpBurE,EAAeC,EAAgB,MAC/BK,EAAgBN,GAAgBA,EAAa,WAAWK,CAAW,EACzE,GAAI,CAACC,EACD,OAAO35D,GAAcjS,EAAM,QAAS,CAAE,UAAW4rE,EAAe,MAAAhkB,CAAK,CAAE,EAG3E,MAAMikB,EAAmBP,EAAa,MAAMK,CAAW,EACjDG,EAAaD,EACbA,IAAqB,GACjBjkB,EAAM,OACN,OAAOikB,GAAqB,WACxBA,EAAiBjkB,CAAK,EACtBikB,EACR,KAOAjlE,EAAY6F,GAAEm/D,EAAej/C,GAAO,CAAE,EAAEm/C,EAAYj8D,EAAO,CAC7D,iBAPqBtR,GAAS,CAE1BA,EAAM,UAAU,cAChB+sE,EAAa,UAAUK,CAAW,EAAI,KAE1D,EAGgB,IAAKH,CACR,EAAC,EAmBF,OAGAv5D,GAAcjS,EAAM,QAAS,CAAE,UAAW4G,EAAW,MAAAghD,EAAO,GACxDhhD,CAChB,CACK,CACL,CAAC,EACD,SAASqL,GAAcpK,EAAMuB,EAAM,CAC/B,GAAI,CAACvB,EACD,OAAO,KACX,MAAMkkE,EAAclkE,EAAKuB,CAAI,EAC7B,OAAO2iE,EAAY,SAAW,EAAIA,EAAY,CAAC,EAAIA,CACvD,CAMA,MAAMC,GAAaf,GAmenB,SAASgB,GAAaxyE,EAAS,CAC3B,MAAM+rE,EAAUC,GAAoBhsE,EAAQ,OAAQA,CAAO,EACrDyyE,EAAezyE,EAAQ,YAAc4kE,GACrC8N,EAAmB1yE,EAAQ,gBAAkBslE,GAC7CiE,EAAgBvpE,EAAQ,QAIxB2yE,EAAezD,KACf0D,EAAsB1D,KACtB2D,EAAc3D,KACdiB,EAAenyE,GAAWqoE,EAAyB,EACzD,IAAIyM,EAAkBzM,GAElBpD,IAAajjE,EAAQ,gBAAkB,sBAAuB,UAC9D,QAAQ,kBAAoB,UAEhC,MAAM+yE,EAAkB3P,GAAc,KAAK,KAAM4P,GAAc,GAAKA,CAAU,EACxEC,EAAe7P,GAAc,KAAK,KAAMoB,EAAW,EACnD0O,EAEN9P,GAAc,KAAK,KAAM9R,EAAM,EAC/B,SAASgb,EAAS6G,EAAehlB,GAAO,CACpC,IAAIjwC,GACAoyC,GACJ,OAAIoZ,GAAYyJ,CAAa,GACzBj1D,GAAS6tD,EAAQ,iBAAiBoH,CAAa,EAI/C7iB,GAASnC,IAGTmC,GAAS6iB,EAENpH,EAAQ,SAASzb,GAAQpyC,EAAM,CACzC,CACD,SAASivD,EAAYv7E,EAAM,CACvB,MAAMwhF,GAAgBrH,EAAQ,iBAAiBn6E,CAAI,EAC/CwhF,IACArH,EAAQ,YAAYqH,EAAa,CAKxC,CACD,SAAS7F,GAAY,CACjB,OAAOxB,EAAQ,YAAY,IAAIsH,GAAgBA,EAAa,MAAM,CACrE,CACD,SAASC,EAAS1hF,EAAM,CACpB,MAAO,CAAC,CAACm6E,EAAQ,iBAAiBn6E,CAAI,CACzC,CACD,SAAS6b,EAAQ8lE,EAAazO,GAAiB,CAK3C,GADAA,GAAkB5xC,GAAO,CAAE,EAAE4xC,IAAmBqL,EAAa,KAAK,EAC9D,OAAOoD,GAAgB,SAAU,CACjC,MAAMC,EAAqB7O,GAAS8N,EAAcc,EAAazO,GAAgB,IAAI,EAC7E+M,EAAe9F,EAAQ,QAAQ,CAAE,KAAMyH,EAAmB,MAAQ1O,EAAe,EACjF2O,EAAOlK,EAAc,WAAWiK,EAAmB,QAAQ,EASjE,OAAOtgD,GAAOsgD,EAAoB3B,EAAc,CAC5C,OAAQqB,EAAarB,EAAa,MAAM,EACxC,KAAMvgB,GAAOkiB,EAAmB,IAAI,EACpC,eAAgB,OAChB,KAAAC,CAChB,CAAa,CACJ,CAKD,IAAIC,GAEJ,GAAIH,EAAY,MAAQ,KAQpBG,GAAkBxgD,GAAO,CAAE,EAAEqgD,EAAa,CACtC,KAAM5O,GAAS8N,EAAcc,EAAY,KAAMzO,GAAgB,IAAI,EAAE,IACrF,CAAa,MAEA,CAED,MAAM6O,EAAezgD,GAAO,CAAE,EAAEqgD,EAAY,MAAM,EAClD,UAAW9lF,KAAOkmF,EACVA,EAAalmF,CAAG,GAAK,MACrB,OAAOkmF,EAAalmF,CAAG,EAI/BimF,GAAkBxgD,GAAO,CAAE,EAAEqgD,EAAa,CACtC,OAAQN,EAAaU,CAAY,CACjD,CAAa,EAGD7O,GAAgB,OAASmO,EAAanO,GAAgB,MAAM,CAC/D,CACD,MAAM+M,GAAe9F,EAAQ,QAAQ2H,GAAiB5O,EAAe,EAC/DG,GAAOsO,EAAY,MAAQ,GAMjC1B,GAAa,OAASkB,EAAgBG,EAAarB,GAAa,MAAM,CAAC,EACvE,MAAM+B,GAAWvO,GAAaqN,EAAkBx/C,GAAO,GAAIqgD,EAAa,CACpE,KAAMnP,GAAWa,EAAI,EACrB,KAAM4M,GAAa,IACtB,EAAC,EACI4B,EAAOlK,EAAc,WAAWqK,EAAQ,EAS9C,OAAO1gD,GAAO,CACV,SAAA0gD,GAGA,KAAA3O,GACA,MAMAyN,IAAqBpN,GACfqJ,GAAe4E,EAAY,KAAK,EAC/BA,EAAY,OAAS,EAC/B,EAAE1B,GAAc,CACb,eAAgB,OAChB,KAAA4B,CACZ,CAAS,CACJ,CACD,SAASI,EAAiBlgE,EAAI,CAC1B,OAAO,OAAOA,GAAO,SACfgxD,GAAS8N,EAAc9+D,EAAIw8D,EAAa,MAAM,IAAI,EAClDj9C,GAAO,GAAIvf,CAAE,CACtB,CACD,SAASmgE,EAAwBngE,EAAIC,GAAM,CACvC,GAAIk/D,IAAoBn/D,EACpB,OAAOk2D,GAAkB,EAAyC,CAC9D,KAAAj2D,GACA,GAAAD,CAChB,CAAa,CAER,CACD,SAASitB,EAAKjtB,EAAI,CACd,OAAOogE,GAAiBpgE,CAAE,CAC7B,CACD,SAASu0D,EAAQv0D,EAAI,CACjB,OAAOitB,EAAK1N,GAAO2gD,EAAiBlgE,CAAE,EAAG,CAAE,QAAS,EAAM,EAAC,CAC9D,CACD,SAASqgE,GAAqBrgE,EAAI,CAC9B,MAAMsgE,GAActgE,EAAG,QAAQA,EAAG,QAAQ,OAAS,CAAC,EACpD,GAAIsgE,IAAeA,GAAY,SAAU,CACrC,KAAM,CAAE,SAAAC,EAAU,EAAGD,GACrB,IAAIE,GAAoB,OAAOD,IAAa,WAAaA,GAASvgE,CAAE,EAAIugE,GACxE,OAAI,OAAOC,IAAsB,WAC7BA,GACIA,GAAkB,SAAS,GAAG,GAAKA,GAAkB,SAAS,GAAG,EAC1DA,GAAoBN,EAAiBM,EAAiB,EAErD,CAAE,KAAMA,IAGpBA,GAAkB,OAAS,IAQxBjhD,GAAO,CACV,MAAOvf,EAAG,MACV,KAAMA,EAAG,KAET,OAAQwgE,GAAkB,MAAQ,KAAO,CAAE,EAAGxgE,EAAG,MACpD,EAAEwgE,EAAiB,CACvB,CACJ,CACD,SAASJ,GAAiBpgE,EAAIygE,GAAgB,CAC1C,MAAMC,GAAkBvB,EAAkBrlE,EAAQkG,CAAE,EAC9CC,GAAOu8D,EAAa,MACpBxgE,GAAOgE,EAAG,MACV2gE,GAAQ3gE,EAAG,MAEXu0D,EAAUv0D,EAAG,UAAY,GACzB4gE,EAAiBP,GAAqBK,EAAc,EAC1D,GAAIE,EACA,OAAOR,GAAiB7gD,GAAO2gD,EAAiBU,CAAc,EAAG,CAC7D,MAAO,OAAOA,GAAmB,SAC3BrhD,GAAO,CAAE,EAAEvjB,GAAM4kE,EAAe,KAAK,EACrC5kE,GACN,MAAA2kE,GACA,QAAApM,CAChB,CAAa,EAEDkM,IAAkBC,EAAc,EAEpC,MAAMG,EAAaH,GACnBG,EAAW,eAAiBJ,GAC5B,IAAIK,EACJ,MAAI,CAACH,IAAS7O,GAAoBiN,EAAkB9+D,GAAMygE,EAAc,IACpEI,EAAU5K,GAAkB,GAA2C,CAAE,GAAI2K,EAAY,KAAA5gE,EAAI,CAAE,EAE/F8gE,GAAa9gE,GAAMA,GAGnB,GAGA,EAAK,IAED6gE,EAAU,QAAQ,QAAQA,CAAO,EAAI9D,GAAS6D,EAAY5gE,EAAI,GACjE,MAAOte,GAAUw0E,GAAoBx0E,CAAK,EAEvCw0E,GAAoBx0E,EAAO,CAA6C,EAClEA,EACAq/E,GAAYr/E,CAAK,EAEvBs/E,EAAat/E,EAAOk/E,EAAY5gE,EAAI,CAAC,EACxC,KAAM6gE,GAAY,CACnB,GAAIA,GACA,GAAI3K,GAAoB2K,EAAS,GAc7B,OAAOV,GAEP7gD,GAAO,CAEH,QAAAg1C,CACxB,EAAuB2L,EAAiBY,EAAQ,EAAE,EAAG,CAC7B,MAAO,OAAOA,EAAQ,IAAO,SACvBvhD,GAAO,GAAIvjB,GAAM8kE,EAAQ,GAAG,KAAK,EACjC9kE,GACN,MAAA2kE,EACxB,CAAqB,EAEDF,IAAkBI,CAAU,OAKhCC,EAAUI,EAAmBL,EAAY5gE,GAAM,GAAMs0D,EAASv4D,EAAI,EAEtE,OAAAmlE,EAAiBN,EAAY5gE,GAAM6gE,CAAO,EACnCA,CACnB,CAAS,CACJ,CAMD,SAASM,GAAiCphE,EAAIC,GAAM,CAChD,MAAMte,GAAQw+E,EAAwBngE,EAAIC,EAAI,EAC9C,OAAOte,GAAQ,QAAQ,OAAOA,EAAK,EAAI,QAAQ,SAClD,CACD,SAASg6E,GAAe7/E,EAAI,CACxB,MAAMylB,GAAM8/D,GAAc,OAAQ,EAAC,KAAI,EAAG,MAE1C,OAAO9/D,IAAO,OAAOA,GAAI,gBAAmB,WACtCA,GAAI,eAAezlB,CAAE,EACrBA,GACT,CAED,SAASkhF,GAASh9D,EAAIC,GAAM,CACxB,IAAIi8D,GACJ,KAAM,CAACoF,GAAgBC,GAAiBC,EAAe,EAAIC,GAAuBzhE,EAAIC,EAAI,EAE1Fi8D,GAASF,GAAwBsF,GAAe,QAAS,EAAE,mBAAoBthE,EAAIC,EAAI,EAEvF,UAAW08C,KAAU2kB,GACjB3kB,EAAO,YAAY,QAAQ37B,GAAS,CAChCk7C,GAAO,KAAKR,GAAiB16C,EAAOhhB,EAAIC,EAAI,CAAC,CAC7D,CAAa,EAEL,MAAMyhE,EAA0BN,GAAiC,KAAK,KAAMphE,EAAIC,EAAI,EACpF,OAAAi8D,GAAO,KAAKwF,CAAuB,EAE3BC,GAAczF,EAAM,EACvB,KAAK,IAAM,CAEZA,GAAS,GACT,UAAWl7C,KAASg+C,EAAa,OAC7B9C,GAAO,KAAKR,GAAiB16C,EAAOhhB,EAAIC,EAAI,CAAC,EAEjD,OAAAi8D,GAAO,KAAKwF,CAAuB,EAC5BC,GAAczF,EAAM,CACvC,CAAS,EACI,KAAK,IAAM,CAEZA,GAASF,GAAwBuF,GAAiB,oBAAqBvhE,EAAIC,EAAI,EAC/E,UAAW08C,KAAU4kB,GACjB5kB,EAAO,aAAa,QAAQ37B,GAAS,CACjCk7C,GAAO,KAAKR,GAAiB16C,EAAOhhB,EAAIC,EAAI,CAAC,CACjE,CAAiB,EAEL,OAAAi8D,GAAO,KAAKwF,CAAuB,EAE5BC,GAAczF,EAAM,CACvC,CAAS,EACI,KAAK,IAAM,CAEZA,GAAS,GACT,UAAWvf,KAAU6kB,GAEjB,GAAI7kB,EAAO,YACP,GAAI9hE,GAAQ8hE,EAAO,WAAW,EAC1B,UAAWilB,KAAejlB,EAAO,YAC7Buf,GAAO,KAAKR,GAAiBkG,EAAa5hE,EAAIC,EAAI,CAAC,OAGvDi8D,GAAO,KAAKR,GAAiB/e,EAAO,YAAa38C,EAAIC,EAAI,CAAC,EAItE,OAAAi8D,GAAO,KAAKwF,CAAuB,EAE5BC,GAAczF,EAAM,CACvC,CAAS,EACI,KAAK,KAGNl8D,EAAG,QAAQ,QAAQ28C,GAAWA,EAAO,eAAiB,CAAE,CAAC,EAEzDuf,GAASF,GAAwBwF,GAAiB,mBAAoBxhE,EAAIC,GAAM07D,EAAc,EAC9FO,GAAO,KAAKwF,CAAuB,EAE5BC,GAAczF,EAAM,EAC9B,EACI,KAAK,IAAM,CAEZA,GAAS,GACT,UAAWl7C,KAASi+C,EAAoB,OACpC/C,GAAO,KAAKR,GAAiB16C,EAAOhhB,EAAIC,EAAI,CAAC,EAEjD,OAAAi8D,GAAO,KAAKwF,CAAuB,EAC5BC,GAAczF,EAAM,CACvC,CAAS,EAEI,MAAMt6E,GAAOu0E,GAAoBv0E,EAAK,CAAwC,EAC7EA,EACA,QAAQ,OAAOA,CAAG,CAAC,CAC5B,CACD,SAASu/E,EAAiBnhE,EAAIC,GAAM6gE,GAAS,CAGzC5B,EACK,KAAM,EACN,QAAQl+C,IAAS26C,GAAe,IAAM36C,GAAMhhB,EAAIC,GAAM6gE,EAAO,CAAC,CAAC,CACvE,CAMD,SAASI,EAAmBL,EAAY5gE,GAAM4hE,GAAQtN,GAASv4D,GAAM,CAEjE,MAAMra,GAAQw+E,EAAwBU,EAAY5gE,EAAI,EACtD,GAAIte,GACA,OAAOA,GAEX,MAAMmgF,EAAoB7hE,KAASyyD,GAC7BvgE,EAASm9D,GAAiB,QAAQ,MAAb,GAGvBuS,KAGItN,IAAWuN,EACXlM,EAAc,QAAQiL,EAAW,SAAUthD,GAAO,CAC9C,OAAQuiD,GAAqB3vE,GAASA,EAAM,MAChE,EAAmB6J,EAAI,CAAC,EAER45D,EAAc,KAAKiL,EAAW,SAAU7kE,EAAI,GAGpDwgE,EAAa,MAAQqE,EACrBE,GAAaF,EAAY5gE,GAAM4hE,GAAQC,CAAiB,EACxDd,IACH,CACD,IAAIe,EAEJ,SAASC,GAAiB,CAElBD,IAEJA,EAAwBnM,EAAc,OAAO,CAAC51D,EAAIiiE,GAAOhX,KAAS,CAC9D,GAAI,CAACsR,GAAO,UACR,OAEJ,MAAMsE,GAAa/mE,EAAQkG,CAAE,EAIvB4gE,GAAiBP,GAAqBQ,EAAU,EACtD,GAAID,GAAgB,CAChBR,GAAiB7gD,GAAOqhD,GAAgB,CAAE,QAAS,GAAM,MAAO,EAAI,CAAE,EAAGC,EAAU,EAAE,MAAMv+C,EAAI,EAC/F,MACH,CACD68C,EAAkB0B,GAClB,MAAM5gE,GAAOu8D,EAAa,MAEtBlN,IACAsE,GAAmBH,GAAaxzD,GAAK,SAAUgrD,GAAK,KAAK,EAAGmI,GAAqB,CAAE,EAEvF4J,GAAS6D,GAAY5gE,EAAI,EACpB,MAAOte,GACJw0E,GAAoBx0E,EAAO,EAAyC,EAC7DA,EAEPw0E,GAAoBx0E,EAAO,IAU3By+E,GAAiB7gD,GAAO2gD,EAAiBv+E,EAAM,EAAE,EAAG,CAChD,MAAO,EACV,GAAGk/E,EAEH,EACI,KAAKC,GAAW,CAIb3K,GAAoB2K,EAAS,EACa,GAC1C,CAAC7V,GAAK,OACNA,GAAK,OAAS0H,GAAe,KAC7BiD,EAAc,GAAG,GAAI,EAAK,CAEtD,CAAqB,EACI,MAAMtzC,EAAI,EAER,QAAQ,WAGf2oC,GAAK,OACL2K,EAAc,GAAG,CAAC3K,GAAK,MAAO,EAAK,EAGhCgW,EAAat/E,EAAOk/E,GAAY5gE,EAAI,EAC9C,EACI,KAAM6gE,GAAY,CACnBA,EACIA,GACII,EAEAL,GAAY5gE,GAAM,EAAK,EAE3B6gE,IACI7V,GAAK,OAGL,CAACkL,GAAoB2K,EAAS,GAC9BlL,EAAc,GAAG,CAAC3K,GAAK,MAAO,EAAK,EAE9BA,GAAK,OAAS0H,GAAe,KAClCwD,GAAoB2K,EAAS,KAG7BlL,EAAc,GAAG,GAAI,EAAK,GAGlCuL,EAAiBN,GAAY5gE,GAAM6gE,CAAO,CAC1D,CAAa,EAEI,MAAMx+C,EAAI,CAC3B,CAAS,EACJ,CAED,IAAI4/C,EAAgB3G,KAChB4G,EAAiB5G,KACjB6G,EASJ,SAASnB,EAAat/E,EAAOqe,GAAIC,GAAM,CACnC+gE,GAAYr/E,CAAK,EACjB,MAAMi1C,GAAOurC,EAAe,OAC5B,OAAIvrC,GAAK,OACLA,GAAK,QAAQr3B,IAAWA,GAAQ5d,EAAOqe,GAAIC,EAAI,CAAC,EAMhD,QAAQ,MAAMte,CAAK,EAGhB,QAAQ,OAAOA,CAAK,CAC9B,CACD,SAAS0gF,IAAU,CACf,OAAID,GAAS5F,EAAa,QAAU9J,GACzB,QAAQ,UACZ,IAAI,QAAQ,CAAC54D,EAASo1C,KAAW,CACpCgzB,EAAc,IAAI,CAACpoE,EAASo1C,EAAM,CAAC,CAC/C,CAAS,CACJ,CACD,SAAS8xB,GAAYp/E,EAAK,CACtB,OAAKwgF,IAEDA,EAAQ,CAACxgF,EACTogF,IACAE,EACK,KAAM,EACN,QAAQ,CAAC,CAACpoE,GAASo1C,EAAM,IAAOttD,EAAMstD,GAAOttD,CAAG,EAAIkY,GAAS,CAAC,EACnEooE,EAAc,MAAK,GAEhBtgF,CACV,CAED,SAASm/E,GAAa/gE,EAAIC,GAAM4hE,GAAQC,GAAmB,CACvD,KAAM,CAAE,eAAAQ,EAAgB,EAAGj2E,EAC3B,GAAI,CAACijE,IAAa,CAACgT,GACf,OAAO,QAAQ,UACnB,MAAMzO,GAAkB,CAACgO,IAAU/N,GAAuBL,GAAazzD,EAAG,SAAU,CAAC,CAAC,IAChF8hE,IAAqB,CAACD,KACpB,QAAQ,OACR,QAAQ,MAAM,QAClB,KACJ,OAAOxyE,GAAU,EACZ,KAAK,IAAMizE,GAAetiE,EAAIC,GAAM4zD,EAAc,CAAC,EACnD,KAAKpvB,GAAYA,GAAY4uB,GAAiB5uB,CAAQ,CAAC,EACvD,MAAM7iD,GAAOq/E,EAAar/E,EAAKoe,EAAIC,EAAI,CAAC,CAChD,CACD,MAAMy1D,GAAMhC,GAAUkC,EAAc,GAAGlC,CAAK,EAC5C,IAAI6O,GACJ,MAAMlB,GAAgB,IAAI,IACpB9E,GAAS,CACX,aAAAC,EACA,UAAW,GACX,SAAA7D,EACA,YAAAa,EACA,YAAapB,EAAQ,YACrB,SAAAuH,EACA,UAAA/F,EACA,QAAA9/D,EACA,QAAAzN,EACA,KAAA4gC,EACA,QAAAsnC,EACA,GAAAmB,GACA,KAAM,IAAMA,GAAG,EAAE,EACjB,QAAS,IAAMA,GAAG,CAAC,EACnB,WAAYsJ,EAAa,IACzB,cAAeC,EAAoB,IACnC,UAAWC,EAAY,IACvB,QAASiD,EAAe,IACxB,QAAAE,GACA,QAAQ9gE,EAAK,CACT,MAAMg7D,GAAS,KACfh7D,EAAI,UAAU,aAAc+7D,EAAU,EACtC/7D,EAAI,UAAU,aAAcq9D,EAAU,EACtCr9D,EAAI,OAAO,iBAAiB,QAAUg7D,GACtC,OAAO,eAAeh7D,EAAI,OAAO,iBAAkB,SAAU,CACzD,WAAY,GACZ,IAAK,IAAM9W,GAAM+xE,CAAY,CAC7C,CAAa,EAIGlN,IAGA,CAACiT,IACD/F,EAAa,QAAU9J,KAEvB6P,GAAU,GACVt1C,EAAK2oC,EAAc,QAAQ,EAAE,MAAMh0E,IAAO,CAG1D,CAAiB,GAEL,MAAM4gF,GAAgB,GACtB,UAAW1oF,MAAO44E,GACd,OAAO,eAAe8P,GAAe1oF,GAAK,CACtC,IAAK,IAAM0iF,EAAa,MAAM1iF,EAAG,EACjC,WAAY,EAChC,CAAiB,EAELynB,EAAI,QAAQ65D,GAAWmB,EAAM,EAC7Bh7D,EAAI,QAAQ85D,GAAkB5xE,GAAgB+4E,EAAa,CAAC,EAC5DjhE,EAAI,QAAQ+5D,GAAuBkB,CAAY,EAC/C,MAAMiG,GAAalhE,EAAI,QACvB8/D,GAAc,IAAI9/D,CAAG,EACrBA,EAAI,QAAU,UAAY,CACtB8/D,GAAc,OAAO9/D,CAAG,EAEpB8/D,GAAc,KAAO,IAErBlC,EAAkBzM,GAClBqP,GAAyBA,EAAqB,EAC9CA,EAAwB,KACxBvF,EAAa,MAAQ9J,GACrB6P,GAAU,GACVH,EAAQ,IAEZK,IAChB,CAKS,CACT,EAEI,SAASd,GAAczF,EAAQ,CAC3B,OAAOA,EAAO,OAAO,CAACxtB,GAAS1tB,KAAU0tB,GAAQ,KAAK,IAAMitB,GAAe36C,EAAK,CAAC,EAAG,QAAQ,QAAS,EACxG,CACD,OAAOu7C,EACX,CACA,SAASkF,GAAuBzhE,EAAIC,EAAM,CACtC,MAAMqhE,EAAiB,GACjBC,EAAkB,GAClBC,EAAkB,GAClB7yD,EAAM,KAAK,IAAI1O,EAAK,QAAQ,OAAQD,EAAG,QAAQ,MAAM,EAC3D,QAAStlB,EAAI,EAAGA,EAAIi0B,EAAKj0B,IAAK,CAC1B,MAAMgoF,EAAaziE,EAAK,QAAQvlB,CAAC,EAC7BgoF,IACI1iE,EAAG,QAAQ,KAAK28C,GAAUsV,GAAkBtV,EAAQ+lB,CAAU,CAAC,EAC/DnB,EAAgB,KAAKmB,CAAU,EAE/BpB,EAAe,KAAKoB,CAAU,GAEtC,MAAMC,EAAW3iE,EAAG,QAAQtlB,CAAC,EACzBioF,IAEK1iE,EAAK,QAAQ,KAAK08C,GAAUsV,GAAkBtV,EAAQgmB,CAAQ,CAAC,GAChEnB,EAAgB,KAAKmB,CAAQ,EAGxC,CACD,MAAO,CAACrB,EAAgBC,EAAiBC,CAAe,CAC5D,iiSC/pHK,OAAAoB,GAAA,kBAAAn5C,CAAA,EAAAA,CAAAm5C,CAdLA,KACE3kF,MAAI+xC,IAAU4yC,GAAA,UACdjwE,KAAO,SACLu4B,MAAK,CACHznC,KACAo/E,YACD,WACD5kF,EACEwF,KAAI,CACJq/E,YACD,YACDC,EACEt/E,WAAa,CACbq/E,aACD,UACDx4C,EACE7mC,SAAY,CACZq/E,YACD,YACDl1C,EACEnqC,OAAMu/E,CACNF,YACD,YACDthB,EACE/9D,KAAI,CACJq/E,YACF,UACD,CACD9mE,EAAQ4mE,mBAAAz1E,EAAA,KACNy1E,KAAO,OACA,CACLjwD,IAAK,KACP,WAEFzwB,EACE+gF,UAAiBL,eAAA,CAEb,OAFaA,KAAAz1E,EAAA,KACfy1E,KAAqB,OACT,eAAAA,sBAAAz1E,EAAA,QACRy1E,KAAO,OACE,kBAAAA,WACXA,GAAS,YAAAA,qBAAAz1E,EAAA,QACPy1E,KAAO,OACT,mBAAAA,oBAAAz1E,EAAA,QACEy1E,KAAO,OACX,kBACD,CACDpzC,EAASozC,QACmBA,OADnBA,KAAAz1E,EAAA,KACPy1E,KAAS,GAAW,IAAMA,cAAA,MAAAA,KAAAz1E,EAAA,QACxBy1E,OAAwB,KAC1B,iCAAAA,GAAA,YACAA,KAAY,OACd,SACD,CACDz2E,EACE++B,MAAK,CACN,kBACD/tB,EAAWylE,eAAAz1E,EAAA,KACTy1E,KAAiB,EAAC,KACnB,mBACD7lE,EACE,SAAsB6lE,oBAAA,CACpBA,KAAM,OAA+CA,YAAA,mDAE/BA,GADtBA,KAAiB,EAAC,MAAAA,WAAA,IAClBA,KAAW5V,IAAW,IAAA4V,YAAA,CACpBA,GAAM,YAEqBA,YAAA,qCAAAx8E,EAAA88E,KAAAN,KAAAz1E,EAAA,KACvBy1E,KAAaM,EAAM,EAACC,IACd/8E,EAAA88E,EAAA,eAAAN,QACVA,KAAa,QACf,iCAAAQ,CAAA,OAAAR,SAAA,WAEJ,CACF,wDA9E4BzyC,IAAK,sEAL/BE,IAAYD,uBAAyB2yC,CAAA,UAAAztC,EAAA,YAC1BnF,KAAK,gBACqDkzC,eAAA/tC,EAAA,SAAAA,EAAA,KAA5DnF,KAAkB,OAAExd,mBAAe2wD,MAAQC,GAAA/tC,EAAA,OAAGhG,IAAKgG,uEACrCrF,IAAK,4QCJxBsc,GAAQ,CACV,sBAAuB,CAAC,KAAK,EAC7B,0BAA2B,CAAC,KAAK,EACjC,+CAAgD,CAAC,KAAK,EACtD,oCAAqC,CAAC,KAAK,EAC3C,oCAAqC,CAAC,KAAK,EAC3C,kCAAmC,CAAC,KAAK,EACzC,6BAA8B,CAAC,MAAM,EACrC,mCAAoC,CAAC,KAAK,EAC1C,oCAAqC,CAAC,KAAK,EAC3C,oCAAqC,CAAC,KAAK,EAC3C,2BAA4B,CAAC,KAAK,EAClC,0BAA2B,CAAC,MAAO,OAAO,EAC1C,8DAA+D,CAAC,KAAK,EACrE,0CAA2C,CAAC,MAAM,EAClD,4BAA6B,CAAC,MAAO,MAAM,EAC3C,gCAAiC,CAAC,KAAK,EACvC,6BAA8B,CAAC,OAAO,EACtC,sBAAuB,CAAC,KAAK,EAC7B,8BAA+B,CAAC,OAAO,EACvC,wCAAyC,CAAC,KAAK,EAC/C,wCAAyC,CAAC,KAAK,EAC/C,+BAAgC,CAAC,KAAK,EACtC,uCAAwC,CAAC,KAAK,EAC9C,4BAA6B,CAAC,KAAK,EACnC,0CAA2C,CAAC,KAAK,EACjD,yDAA0D,CAAC,KAAK,EAChE,sDAAuD,CAAC,KAAK,EAC7D,uCAAwC,CAAC,KAAK,EAC9C,sCAAuC,CAAC,MAAM,EAC9C,gCAAiC,CAAC,KAAK,EACvC,gCAAiC,CAAC,MAAM,EACxC,gCAAiC,CAAC,SAAS,EAC3C,8BAA+B,CAAC,OAAO,EACvC,+BAAgC,CAAC,QAAQ,EACzC,qCAAsC,CAAC,KAAK,EAC5C,wCAAyC,CAAC,MAAM,EAChD,6BAA8B,CAAC,KAAK,EACpC,+BAAgC,CAAC,KAAK,EACtC,oCAAqC,CAAC,MAAM,EAC5C,oCAAqC,CAAC,KAAK,EAC3C,sBAAuB,CAAC,KAAK,EAC7B,kCAAmC,CAAC,KAAK,EACzC,+BAAgC,CAAC,OAAO,EACxC,uCAAwC,CAAC,KAAK,EAC9C,6BAA8B,CAAC,KAAK,EACpC,2CAA4C,CAAC,KAAK,EAClD,2BAA4B,CAAC,KAAK,EAClC,8BAA+B,CAAC,KAAK,EACrC,gCAAiC,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EACnE,+CAAgD,CAAC,QAAQ,EACzD,mDAAoD,CAAC,QAAQ,EAC7D,8BAA+B,CAAC,KAAK,EACrC,+BAAgC,CAAC,SAAS,EAC1C,8BAA+B,CAAC,KAAK,EACrC,gCAAiC,CAAC,MAAM,EACxC,yCAA0C,CAAC,MAAM,EACjD,wCAAyC,CAAC,MAAM,EAChD,yCAA0C,CAAC,MAAM,EACjD,yCAA0C,CAAC,MAAM,EACjD,wCAAyC,CAAC,KAAK,EAC/C,4BAA6B,CAAC,KAAK,EACnC,2BAA4B,CAAC,KAAK,EAClC,2BAA4B,CAAC,KAAK,EAClC,6BAA8B,CAAC,OAAO,EACtC,uBAAwB,CAAC,MAAM,EAC/B,kCAAmC,CAAC,KAAK,EACzC,sBAAuB,CAAC,KAAK,EAC7B,2BAA4B,CAAC,MAAM,EACnC,4BAA6B,CAAC,MAAO,OAAQ,MAAO,MAAM,EAC1D,gCAAiC,CAAC,MAAO,MAAM,EAC/C,mCAAoC,CAAC,MAAO,MAAM,EAClD,2BAA4B,CAAC,MAAO,MAAM,EAC1C,yCAA0C,CAAC,WAAW,EACtD,sBAAuB,CAAC,KAAK,EAC7B,4BAA6B,CAAC,KAAK,EACnC,0BAA2B,CAAC,KAAK,EACjC,+BAAgC,CAAC,MAAM,EACvC,8BAA+B,CAAC,MAAM,EACtC,0BAA2B,CAAC,KAAK,EACjC,8BAA+B,CAAC,KAAK,EACrC,0BAA2B,CAAC,KAAK,EACjC,+BAAgC,CAAC,KAAK,EACtC,0BAA2B,CAAC,KAAK,EACjC,4BAA6B,CAAC,KAAK,EACnC,4BAA6B,CAAC,KAAK,EACnC,mCAAoC,CAAC,KAAK,EAC1C,6BAA8B,CAAC,KAAK,EACpC,4BAA6B,CAAC,KAAK,EACnC,+BAAgC,CAAC,MAAO,KAAK,EAC7C,8BAA+B,CAAC,KAAK,EACrC,gCAAiC,CAAC,KAAK,EACvC,sBAAuB,CAAC,MAAM,EAC9B,6BAA8B,CAAC,OAAO,EACtC,4BAA6B,CAAC,OAAQ,UAAU,EAChD,6BAA8B,CAAC,KAAK,EACpC,gCAAiC,CAAC,KAAK,EACvC,6BAA8B,CAAC,KAAM,QAAS,QAAS,MAAM,EAC7D,8BAA+B,CAAC,KAAK,EACrC,8BAA+B,CAAC,KAAK,EACrC,gCAAiC,CAAC,KAAK,EACvC,gCAAiC,CAAC,KAAK,EACvC,iCAAkC,CAAC,KAAK,EACxC,iCAAkC,CAAC,KAAK,EACxC,kCAAmC,CAAC,KAAK,EACzC,mCAAoC,CAAC,KAAK,EAC1C,gCAAiC,CAAC,KAAK,EACvC,sCAAuC,CAAC,KAAK,EAC7C,6CAA8C,CAAC,KAAK,EACpD,6BAA8B,CAAC,KAAK,EACpC,mCAAoC,CAAC,KAAK,EAC1C,gCAAiC,CAAC,KAAK,EACvC,kCAAmC,CAAC,KAAK,EACzC,gCAAiC,CAAC,KAAK,EACvC,oCAAqC,CAAC,MAAO,KAAK,EAClD,0BAA2B,CAAC,KAAK,EACjC,0BAA2B,CAAC,KAAK,EACjC,2BAA4B,CAAC,KAAK,EAClC,sBAAuB,CAAC,KAAK,EAC7B,uCAAwC,CAAC,MAAM,EAC/C,sCAAuC,CAAC,OAAO,EAC/C,mCAAoC,CAAC,OAAO,EAC5C,kCAAmC,CAAC,MAAM,EAC1C,kCAAmC,CAAC,MAAM,EAC1C,2CAA4C,CAAC,SAAS,EACtD,qCAAsC,CAAC,SAAS,EAChD,mCAAoC,CAAC,OAAO,EAC5C,0CAA2C,CAAC,QAAQ,EACpD,uCAAwC,CAAC,KAAK,EAC9C,mCAAoC,CAAC,KAAK,EAC1C,8CAA+C,CAAC,MAAM,EACtD,yBAA0B,CAAC,MAAO,KAAK,EACvC,iCAAkC,CAAC,KAAK,EACxC,8BAA+B,CAAC,KAAK,EACrC,0CAA2C,CAAC,KAAK,EACjD,kCAAmC,CAAC,KAAK,EACzC,sCAAuC,CAAC,KAAK,EAC7C,uCAAwC,CAAC,KAAK,EAC9C,+BAAgC,CAAC,KAAK,EACtC,0BAA2B,CAAC,KAAK,EACjC,6CAA8C,CAAC,KAAK,EACpD,uBAAwB,CAAC,MAAM,EAC/B,oCAAqC,CAAC,KAAK,EAC3C,0BAA2B,CAAC,MAAM,EAClC,0BAA2B,CAAC,MAAM,EAClC,yBAA0B,CAAC,KAAK,EAChC,0BAA2B,CAAC,KAAK,EACjC,yBAA0B,CAAC,KAAK,EAChC,2BAA4B,CAAC,OAAO,EACpC,uCAAwC,CAAC,WAAW,EACpD,8BAA+B,CAAC,KAAK,EACrC,6BAA8B,CAAC,MAAO,UAAW,UAAU,EAC3D,wCAAyC,CAAC,KAAK,EAC/C,uCAAwC,CAAC,IAAI,EAC7C,6BAA8B,CAAC,MAAO,KAAK,EAC3C,2BAA4B,CAAC,KAAK,EAClC,kCAAmC,CAAC,KAAK,EACzC,kCAAmC,CAAC,KAAK,EACzC,6BAA8B,CAAC,KAAK,EACpC,mCAAoC,CAAC,MAAO,KAAK,EACjD,2BAA4B,CAAC,KAAK,EAClC,2BAA4B,CAAC,KAAK,EAClC,2BAA4B,CAAC,KAAK,EAClC,wCAAyC,CAAC,WAAW,EACrD,0CAA2C,CAAC,KAAK,EACjD,yBAA0B,CAAC,KAAK,EAChC,2BAA4B,CAAC,KAAK,EAClC,sBAAuB,CAAC,KAAK,EAC7B,wCAAyC,CAAC,KAAK,EAC/C,uBAAwB,CAAC,MAAM,EAC/B,qCAAsC,CAAC,MAAM,EAC7C,0BAA2B,CAAC,MAAO,KAAK,EACxC,6BAA8B,CAAC,QAAQ,EACvC,6BAA8B,CAAC,MAAM,EACrC,+BAAgC,CAAC,KAAK,EACtC,4BAA6B,CAAC,KAAK,EACnC,8BAA+B,CAAC,KAAK,EACrC,iCAAkC,CAAC,MAAO,KAAK,EAC/C,8BAA+B,CAAC,KAAK,EACrC,4BAA6B,CAAC,MAAO,KAAK,EAC1C,6BAA8B,CAAC,MAAM,EACrC,+BAAgC,CAAC,KAAK,EACtC,wBAAyB,CAAC,MAAO,KAAK,EACtC,uBAAwB,CAAC,MAAO,MAAO,MAAO,KAAK,EACnD,mCAAoC,CAAC,KAAK,EAC1C,8BAA+B,CAAC,QAAQ,EACxC,qDAAsD,CAAC,KAAK,EAC5D,0DAA2D,CAAC,KAAK,EACjE,8BAA+B,CAAC,KAAK,EACrC,iCAAkC,CAAC,KAAK,EACxC,kCAAmC,CAAC,KAAK,EACzC,8BAA+B,CAAC,KAAK,EACrC,kCAAmC,CAAC,KAAK,EACzC,kCAAmC,CAAC,KAAK,EACzC,gCAAiC,CAAC,KAAK,EACvC,mCAAoC,CAAC,SAAS,EAC9C,qCAAsC,CAAC,KAAK,EAC5C,sBAAuB,CAAC,KAAK,EAC7B,8BAA+B,CAAC,KAAK,EACrC,qCAAsC,CAAC,OAAO,EAC9C,uBAAwB,CAAC,KAAK,EAC9B,uBAAwB,CAAC,KAAK,EAC9B,iCAAkC,CAAC,KAAK,EACxC,iCAAkC,CAAC,KAAK,EACxC,sBAAuB,CAAC,KAAK,EAC7B,6BAA8B,CAAC,KAAK,EACpC,6BAA8B,CAAC,KAAK,EACpC,6BAA8B,CAAC,KAAK,EACpC,6BAA8B,CAAC,KAAK,EACpC,6BAA8B,CAAC,KAAK,EACpC,6BAA8B,CAAC,KAAK,EACpC,6BAA8B,CAAC,KAAK,EACpC,qCAAsC,CAAC,KAAK,EAC5C,qCAAsC,CAAC,KAAK,EAC5C,kCAAmC,CAAC,KAAK,EACzC,8BAA+B,CAAC,KAAK,EACrC,oCAAqC,CAAC,KAAK,EAC3C,2BAA4B,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,KAAK,EACrE,iDAAkD,CAAC,MAAM,EACzD,wDAAyD,CAAC,MAAM,EAChE,iDAAkD,CAAC,MAAM,EACzD,oDAAqD,CAAC,MAAM,EAC5D,gCAAiC,CAAC,KAAK,EACvC,8BAA+B,CAAC,KAAK,EACrC,yBAA0B,CAAC,KAAK,EAChC,yBAA0B,CAAC,KAAK,EAChC,iCAAkC,CAAC,MAAM,EACzC,6BAA8B,CAAC,KAAK,EACpC,gCAAiC,CAAC,KAAK,EACvC,6BAA8B,CAAC,MAAM,EACrC,gCAAiC,CAAC,MAAO,MAAO,KAAK,EACrD,sDAAuD,CAAC,MAAM,EAC9D,6DAA8D,CAAC,MAAM,EACrE,sDAAuD,CAAC,MAAM,EAC9D,0DAA2D,CAAC,MAAM,EAClE,yDAA0D,CAAC,MAAM,EACjE,6BAA8B,CAAC,OAAQ,KAAK,EAC5C,kCAAmC,CAAC,KAAK,EACzC,mDAAoD,CAAC,MAAM,EAC3D,mDAAoD,CAAC,MAAM,EAC3D,2BAA4B,CAAC,MAAO,MAAO,MAAO,KAAK,EACvD,yBAA0B,CAAC,KAAK,EAChC,iCAAkC,CAAC,KAAK,EACxC,uBAAwB,CAAC,MAAM,EAC/B,2BAA4B,CAAC,KAAK,EAClC,8BAA+B,CAAC,MAAM,EACtC,wBAAyB,CAAC,QAAQ,EAClC,6CAA8C,CAAC,KAAK,EACpD,oCAAqC,CAAC,KAAK,EAC3C,uBAAwB,CAAC,MAAO,MAAM,EACtC,qCAAsC,CAAC,KAAK,EAC5C,kCAAmC,CAAC,KAAK,EACzC,+BAAgC,CAAC,KAAK,EACtC,sCAAuC,CAAC,KAAK,EAC7C,oCAAqC,CAAC,OAAO,EAC7C,+CAAgD,CAAC,QAAQ,EACzD,qCAAsC,CAAC,MAAM,EAC7C,sCAAuC,CAAC,MAAM,EAC9C,+BAAgC,CAAC,KAAK,EACtC,+BAAgC,CAAC,KAAK,EACtC,+BAAgC,CAAC,KAAK,EACtC,2CAA4C,CAAC,KAAK,EAClD,oDAAqD,CAAC,KAAK,EAC3D,8CAA+C,CAAC,KAAK,EACrD,6CAA8C,CAAC,KAAK,EACpD,sDAAuD,CAAC,MAAM,EAC9D,8CAA+C,CAAC,KAAK,EACrD,uDAAwD,CAAC,KAAK,EAC9D,2CAA4C,CAAC,KAAK,EAClD,oDAAqD,CAAC,KAAK,EAC3D,kDAAmD,CAAC,KAAK,EACzD,2DAA4D,CAAC,KAAK,EAClE,iDAAkD,CAAC,KAAK,EACxD,0DAA2D,CAAC,KAAK,EACjE,0CAA2C,CAAC,KAAK,EACjD,iDAAkD,CAAC,KAAK,EACxD,mDAAoD,CAAC,KAAK,EAC1D,8CAA+C,CAAC,KAAK,EACrD,6BAA8B,CAAC,IAAI,EACnC,8BAA+B,CAAC,KAAK,EACrC,oCAAqC,CAAC,MAAM,EAC5C,0CAA2C,CAAC,KAAK,EACjD,yCAA0C,CAAC,KAAK,EAChD,4EAA6E,CACzE,MACH,EACD,qEAAsE,CAClE,MACH,EACD,yEAA0E,CACtE,MACH,EACD,wEAAyE,CACrE,MACH,EACD,oEAAqE,CAAC,MAAM,EAC5E,uEAAwE,CACpE,MACH,EACD,0EAA2E,CACvE,MACH,EACD,0EAA2E,CACvE,MACH,EACD,yCAA0C,CAAC,KAAK,EAChD,0BAA2B,CAAC,IAAI,EAChC,iCAAkC,CAAC,KAAK,EACxC,uBAAwB,CAAC,MAAO,MAAO,MAAM,EAC7C,4BAA6B,CAAC,KAAK,EACnC,4BAA6B,CAAC,KAAK,EACnC,4BAA6B,CAAC,KAAK,EACnC,yBAA0B,CAAC,MAAM,EACjC,6BAA8B,CAAC,IAAI,EACnC,8BAA+B,CAAC,KAAK,EACrC,gCAAiC,CAAC,KAAK,EACvC,qCAAsC,CAAC,KAAK,EAC5C,oCAAqC,CAAC,UAAU,EAChD,kCAAmC,CAAC,OAAO,EAC3C,kCAAmC,CAAC,KAAK,EACzC,mCAAoC,CAAC,KAAK,EAC1C,wCAAyC,CAAC,KAAK,EAC/C,4BAA6B,CAAC,MAAM,EACpC,sCAAuC,CAAC,MAAM,EAC9C,oCAAqC,CACjC,MACA,MACA,MACA,MACA,MACA,KACH,EACD,sBAAuB,CAAC,KAAK,EAC7B,8BAA+B,CAAC,KAAK,EACrC,qCAAsC,CAAC,KAAK,EAC5C,yCAA0C,CAAC,UAAU,EACrD,iCAAkC,CAAC,YAAY,EAC/C,0BAA2B,CAAC,KAAK,EACjC,+BAAgC,CAAC,IAAI,EACrC,mCAAoC,CAAC,MAAM,EAC3C,qCAAsC,CAAC,QAAQ,EAC/C,uCAAwC,CAAC,IAAI,EAC7C,0BAA2B,CAAC,KAAK,EACjC,uBAAwB,CAAC,MAAM,EAC/B,uBAAwB,CAAC,MAAM,EAC/B,uBAAwB,CAAC,MAAM,EAC/B,0CAA2C,CAAC,KAAK,EACjD,8CAA+C,CAAC,KAAK,EACrD,6CAA8C,CAAC,KAAK,EACpD,yCAA0C,CAAC,KAAK,EAChD,qCAAsC,CAAC,MAAO,MAAM,EACpD,uBAAwB,CAAC,KAAK,EAC9B,gCAAiC,CAAC,SAAS,EAC3C,8CAA+C,CAAC,IAAI,EACpD,kCAAmC,CAAC,OAAQ,MAAM,EAClD,+BAAgC,CAAC,KAAK,EACtC,+BAAgC,CAAC,KAAK,EACtC,oCAAqC,CAAC,KAAK,EAC3C,oCAAqC,CAAC,KAAK,EAC3C,uCAAwC,CAAC,KAAK,EAC9C,oCAAqC,CAAC,KAAK,EAC3C,sCAAuC,CAAC,MAAO,KAAK,EACpD,6CAA8C,CAAC,KAAK,EACpD,oCAAqC,CAAC,OAAO,EAC7C,sCAAuC,CAAC,IAAI,EAC5C,+BAAgC,CAAC,MAAM,EACvC,+BAAgC,CAAC,KAAK,EACtC,wCAAyC,CAAC,KAAK,EAC/C,+BAAgC,CAAC,KAAK,EACtC,wCAAyC,CAAC,KAAK,EAC/C,kCAAmC,CAAC,KAAK,EACzC,2CAA4C,CAAC,KAAK,EAClD,+BAAgC,CAAC,KAAK,EACtC,iCAAkC,CAAC,KAAK,EACxC,wCAAyC,CAAC,KAAK,EAC/C,0CAA2C,CAAC,KAAK,EACjD,+BAAgC,CAAC,MAAO,MAAM,EAC9C,sBAAuB,CAAC,KAAK,EAC7B,kCAAmC,CAAC,MAAO,MAAM,EACjD,6BAA8B,CAAC,KAAK,EACpC,kCAAmC,CAAC,KAAK,EACzC,gCAAiC,CAAC,KAAK,EACvC,mCAAoC,CAAC,KAAK,EAC1C,4CAA6C,CAAC,KAAK,EACnD,+BAAgC,CAAC,OAAQ,MAAO,KAAK,EACrD,iCAAkC,CAAC,KAAK,EACxC,2BAA4B,CAAC,KAAK,EAClC,+BAAgC,CAAC,KAAK,EACtC,0BAA2B,CAAC,KAAK,EACjC,uBAAwB,CAAC,MAAO,MAAM,EACtC,4BAA6B,CAAC,KAAK,EACnC,yBAA0B,CAAC,KAAK,EAChC,wBAAyB,CAAC,UAAU,EACpC,2BAA4B,CAAC,OAAQ,IAAI,EACzC,sBAAuB,CAAC,KAAK,EAC7B,wBAAyB,CAAC,MAAO,MAAO,MAAO,MAAO,OAAQ,KAAK,EACnE,4BAA6B,CAAC,KAAK,EACnC,sBAAuB,CAAC,KAAK,EAC7B,4BAA6B,CAAC,OAAO,EACrC,2BAA4B,CAAC,MAAM,EACnC,iCAAkC,CAAC,OAAO,EAC1C,2BAA4B,CAAC,KAAK,EAClC,iCAAkC,CAAC,KAAK,EACxC,8BAA+B,CAAC,KAAK,EACrC,sBAAuB,CAAC,KAAK,EAC7B,yBAA0B,CAAC,KAAK,EAChC,uBAAwB,CAAC,KAAK,EAC9B,uBAAwB,CAAC,MAAM,EAC/B,gCAAiC,CAAC,KAAK,EACvC,mCAAoC,CAAC,KAAK,EAC1C,kCAAmC,CAAC,KAAK,EACzC,yCAA0C,CAAC,KAAK,EAChD,oDAAqD,CAAC,QAAQ,EAC9D,oCAAqC,CAAC,KAAK,EAC3C,qCAAsC,CAAC,KAAK,EAC5C,0CAA2C,CAAC,KAAK,EACjD,sBAAuB,CAAC,MAAO,MAAM,EACrC,iCAAkC,CAAC,KAAK,EACxC,8BAA+B,CAAC,IAAI,EACpC,wBAAyB,CAAC,KAAK,EAC/B,+BAAgC,CAAC,KAAK,EACtC,gCAAiC,CAAC,MAAM,EACxC,oBAAqB,CAAC,KAAK,EAC3B,+BAAgC,CAAC,MAAO,MAAO,MAAO,KAAK,EAC3D,+BAAgC,CAAC,KAAK,EACtC,+BAAgC,CAAC,KAAK,EACtC,sBAAuB,CAAC,OAAO,EAC/B,qBAAsB,CAAC,OAAO,EAC9B,2BAA4B,CAAC,SAAS,EACtC,wBAAyB,CAAC,OAAO,EACjC,sBAAuB,CAAC,MAAO,OAAO,EACtC,qBAAsB,CAAC,IAAI,EAC3B,sBAAuB,CAAC,MAAO,KAAK,EACpC,oBAAqB,CAAC,MAAO,MAAO,MAAO,MAAO,KAAK,EACvD,uBAAwB,CAAC,KAAK,EAC9B,+BAAgC,CAAC,KAAK,EACtC,qBAAsB,CAAC,MAAM,EAC7B,0BAA2B,CAAC,KAAK,EACjC,iCAAkC,CAAC,KAAK,EACxC,sBAAuB,CAAC,KAAK,EAC7B,2BAA4B,CAAC,MAAM,EACnC,2BAA4B,CAAC,KAAK,EAClC,qBAAsB,CAAC,MAAM,EAC7B,oBAAqB,CAAC,KAAK,EAC3B,+BAAgC,CAAC,OAAQ,MAAM,EAC/C,+BAAgC,CAAC,KAAK,EACtC,yBAA0B,CACtB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACH,EACD,qBAAsB,CAAC,KAAK,EAC5B,2BAA4B,CAAC,KAAK,EAClC,2BAA4B,CAAC,KAAK,EAClC,gCAAiC,CAAC,KAAK,EACvC,oBAAqB,CAAC,KAAK,EAC3B,sBAAuB,CAAC,KAAK,EAC7B,oBAAqB,CAAC,KAAK,EAC3B,yBAA0B,CAAC,KAAK,EAChC,iCAAkC,CAAC,KAAK,EACxC,+BAAgC,CAAC,KAAK,EACtC,yBAA0B,CAAC,KAAK,EAChC,yBAA0B,CAAC,KAAK,EAChC,2BAA4B,CAAC,MAAO,MAAO,MAAO,KAAK,EACvD,wBAAyB,CAAC,KAAK,EAC/B,6BAA8B,CAAC,KAAK,EACpC,+BAAgC,CAAC,KAAK,EACtC,sBAAuB,CAAC,KAAK,EAC7B,yBAA0B,CAAC,UAAU,EACrC,2BAA4B,CAAC,QAAQ,EACrC,qBAAsB,CAAC,MAAM,EAC7B,oBAAqB,CAAC,KAAK,EAC3B,0BAA2B,CAAC,KAAK,EACjC,qCAAsC,CAAC,SAAS,EAChD,2BAA4B,CAAC,OAAO,EACpC,8BAA+B,CAAC,MAAM,EACtC,qCAAsC,CAAC,MAAM,EAC7C,yCAA0C,CAAC,UAAU,EACrD,qCAAsC,CAAC,QAAQ,EAC/C,kCAAmC,CAAC,SAAS,EAC7C,+BAAgC,CAAC,MAAM,EACvC,yBAA0B,CAAC,MAAM,EACjC,sBAAuB,CAAC,OAAO,EAC/B,6BAA8B,CAAC,MAAM,EACrC,+BAAgC,CAAC,MAAO,KAAK,EAC7C,yBAA0B,CAAC,KAAK,EAChC,oBAAqB,CAAC,KAAK,EAC3B,iCAAkC,CAAC,OAAQ,MAAM,EACjD,+BAAgC,CAAC,aAAa,EAC9C,4BAA6B,CAAC,KAAK,EACnC,uBAAwB,CAAC,KAAK,EAC9B,uBAAwB,CAAC,KAAK,EAC9B,wBAAyB,CAAC,MAAM,EAChC,yBAA0B,CAAC,KAAK,EAChC,yBAA0B,CAAC,KAAK,EAChC,2BAA4B,CAAC,KAAK,EAClC,uBAAwB,CAAC,KAAK,EAC9B,8BAA+B,CAAC,MAAM,EACtC,2BAA4B,CAAC,OAAQ,OAAQ,MAAO,MAAO,MAAM,EACjE,4BAA6B,CAAC,MAAO,MAAO,KAAK,EACjD,2BAA4B,CAAC,OAAQ,OAAQ,OAAQ,KAAK,EAC1D,wBAAyB,CAAC,KAAK,EAC/B,4BAA6B,CAAC,KAAK,EACnC,2BAA4B,CAAC,KAAK,EAClC,2BAA4B,CAAC,KAAK,EAClC,wBAAyB,CAAC,KAAK,EAC/B,uBAAwB,CAAC,KAAM,KAAK,EACpC,oCAAqC,CAAC,KAAK,EAC3C,oBAAqB,CAAC,KAAK,EAC3B,qBAAsB,CAAC,KAAM,IAAI,EACjC,sBAAuB,CAAC,OAAQ,MAAM,EACtC,uBAAwB,CAAC,MAAO,KAAK,EACrC,mCAAoC,CAAC,MAAO,KAAK,EACjD,kCAAmC,CAAC,KAAK,EACzC,+BAAgC,CAAC,MAAM,EACvC,uCAAwC,CAAC,KAAK,EAC9C,sCAAuC,CAAC,KAAK,EAC7C,oBAAqB,CAAC,KAAK,EAC3B,mBAAoB,CAAC,IAAI,EACzB,qBAAsB,CAAC,MAAM,EAC7B,gCAAiC,CAAC,KAAK,EACvC,gCAAiC,CAAC,KAAK,EACvC,oBAAqB,CAAC,MAAM,EAC5B,wBAAyB,CAAC,KAAK,EAC/B,yBAA0B,CAAC,MAAM,EACjC,uBAAwB,CAAC,KAAK,EAC9B,wBAAyB,CAAC,SAAS,EACnC,uBAAwB,CAAC,QAAQ,EACjC,2BAA4B,CAAC,IAAI,EACjC,qBAAsB,CAAC,KAAK,EAC5B,oBAAqB,CAAC,KAAK,EAC3B,oBAAqB,CAAC,MAAO,IAAI,EACjC,oBAAqB,CAAC,KAAK,EAC3B,wBAAyB,CAAC,KAAK,EAC/B,wBAAyB,CAAC,UAAW,MAAM,EAC3C,qBAAsB,CAAC,MAAM,EAC7B,sBAAuB,CAAC,OAAO,EAC/B,+BAAgC,CAAC,KAAK,EACtC,+BAAgC,CAAC,KAAK,EACtC,+BAAgC,CAAC,KAAK,EACtC,gCAAiC,CAAC,MAAM,EACxC,wCAAyC,CAAC,cAAc,EACxD,+BAAgC,CAAC,KAAK,EACtC,+BAAgC,CAAC,KAAK,EACtC,gCAAiC,CAAC,MAAM,EACxC,4BAA6B,CAAC,KAAK,EACnC,sCAAuC,CAAC,QAAQ,EAChD,6BAA8B,CAAC,MAAO,MAAO,KAAK,EAClD,qBAAsB,CAAC,KAAK,EAC5B,0BAA2B,CAAC,MAAM,EAClC,0BAA2B,CAAC,KAAK,EACjC,mBAAoB,CAAC,IAAI,EACzB,+BAAgC,CAAC,MAAM,EACvC,yBAA0B,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,EACzE,uBAAwB,CAAC,MAAO,MAAM,EACtC,0BAA2B,CAAC,KAAK,EACjC,gBAAiB,CAAC,KAAK,EACvB,gBAAiB,CAAC,KAAK,EACvB,mBAAoB,CAAC,OAAO,EAC5B,yBAA0B,CAAC,KAAK,EAChC,mCAAoC,CAAC,KAAK,EAC1C,4BAA6B,CAAC,WAAW,EACzC,4BAA6B,CAAC,WAAW,EACzC,4BAA6B,CAAC,WAAW,EACzC,gBAAiB,CAAC,KAAK,EACvB,cAAe,CAAC,MAAM,EACtB,eAAgB,CAAC,MAAO,OAAQ,MAAM,EACtC,cAAe,CAAC,KAAK,EACrB,eAAgB,CAAC,MAAM,EACvB,cAAe,CAAC,MAAM,EACtB,mBAAoB,CAAC,KAAK,EAC1B,kBAAmB,CAAC,KAAK,EACzB,iBAAkB,CAAC,KAAK,EACxB,iBAAkB,CAAC,KAAK,EACxB,uBAAwB,CAAC,MAAO,IAAI,EACpC,8BAA+B,CAAC,KAAK,EACrC,oBAAqB,CAAC,KAAK,EAC3B,cAAe,CAAC,MAAM,EACtB,iBAAkB,CAAC,KAAK,EACxB,iBAAkB,CAAC,KAAK,EACxB,kBAAmB,CAAC,MAAM,EAC1B,iBAAkB,CAAC,KAAK,EACxB,kBAAmB,CAAC,MAAM,EAC1B,iBAAkB,CAAC,KAAK,EACxB,iBAAkB,CAAC,OAAQ,KAAK,EAChC,gBAAiB,CAAC,KAAK,EACvB,4BAA6B,CAAC,KAAK,EACnC,mCAAoC,CAAC,KAAK,EAC1C,yBAA0B,CAAC,MAAO,OAAQ,MAAO,MAAM,EACvD,iBAAkB,CAAC,OAAQ,KAAK,EAChC,yBAA0B,CAAC,MAAM,EACjC,gBAAiB,CAAC,KAAK,EACvB,gBAAiB,CAAC,KAAK,EACvB,yBAA0B,CAAC,KAAK,EAChC,gBAAiB,CAAC,KAAK,EACvB,gBAAiB,CAAC,KAAK,EACvB,iCAAkC,CAAC,KAAK,EACxC,iCAAkC,CAAC,KAAK,EACxC,2BAA4B,CAAC,KAAK,EAClC,mBAAoB,CAAC,KAAK,EAC1B,oBAAqB,CAAC,KAAK,EAC3B,qBAAsB,CAAC,KAAK,EAC5B,oBAAqB,CAAC,KAAK,EAC3B,oBAAqB,CAAC,KAAK,EAC3B,wBAAyB,CAAC,KAAK,EAC/B,iCAAkC,CAAC,KAAK,EACxC,qBAAsB,CAAC,MAAM,EAC7B,iBAAkB,CAAC,KAAK,EACxB,uBAAwB,CAAC,KAAK,EAC9B,cAAe,CAAC,KAAK,EACrB,oBAAqB,CAAC,KAAK,EAC3B,qBAAsB,CAAC,KAAK,EAC5B,cAAe,CAAC,KAAK,EACrB,mBAAoB,CAAC,KAAM,MAAO,MAAO,MAAO,KAAK,EACrD,eAAgB,CAAC,MAAM,EACvB,cAAe,CAAC,KAAK,EACrB,sBAAuB,CAAC,KAAK,EAC7B,iBAAkB,CAAC,MAAM,EACzB,cAAe,CAAC,MAAM,EACtB,eAAgB,CAAC,MAAO,KAAK,EAC7B,0BAA2B,CAAC,KAAK,EACjC,0BAA2B,CAAC,KAAK,EACjC,2BAA4B,CAAC,KAAK,EAClC,0BAA2B,CAAC,KAAK,EACjC,cAAe,CAAC,KAAK,EACrB,cAAe,CAAC,KAAK,EACrB,kBAAmB,CAAC,KAAK,EACzB,kBAAmB,CAAC,KAAK,EACzB,sBAAuB,CAAC,KAAK,EAC7B,sBAAuB,CAAC,KAAK,EAC7B,iBAAkB,CAAC,MAAM,EACzB,gBAAiB,CAAC,KAAK,EACvB,wBAAyB,CAAC,KAAK,EAC/B,gBAAiB,CAAC,KAAK,EACvB,gBAAiB,CAAC,KAAK,EACvB,gBAAiB,CAAC,KAAK,EACvB,gBAAiB,CAAC,MAAM,EACxB,oBAAqB,CAAC,MAAM,EAC5B,sCAAuC,CAAC,KAAK,EAC7C,oCAAqC,CAAC,KAAK,EAC3C,uBAAwB,CAAC,MAAO,MAAM,EACtC,oBAAqB,CAAC,KAAK,EAC3B,iBAAkB,CAAC,MAAM,EACzB,qBAAsB,CAAC,MAAM,EAC7B,sCAAuC,CAAC,KAAK,EAC7C,gBAAiB,CAAC,KAAK,EACvB,qBAAsB,CAAC,KAAK,EAC5B,gBAAiB,CAAC,MAAM,EACxB,sBAAuB,CAAC,OAAO,EAC/B,sBAAuB,CAAC,OAAO,EAC/B,sBAAuB,CAAC,OAAO,EAC/B,wBAAyB,CAAC,KAAK,EAC/B,+BAAgC,CAAC,KAAK,EACtC,eAAgB,CAAC,KAAK,EACtB,wBAAyB,CAAC,KAAK,EAC/B,oBAAqB,CAAC,IAAI,EAC1B,qBAAsB,CAAC,MAAM,EAC7B,qBAAsB,CAAC,MAAM,EAC7B,mCAAoC,CAAC,KAAK,EAC1C,mBAAoB,CAAC,KAAK,EAC1B,yBAA0B,CAAC,MAAM,EACjC,aAAc,CAAC,IAAK,KAAK,EACzB,WAAY,CAAC,IAAK,KAAM,MAAO,MAAO,IAAK,KAAM,KAAK,EACtD,mBAAoB,CAAC,KAAK,EAC1B,iBAAkB,CAAC,IAAK,MAAO,MAAO,KAAK,EAC3C,6BAA8B,CAAC,KAAK,EACpC,qBAAsB,CAAC,MAAM,EAC7B,aAAc,CAAC,KAAK,EACpB,kBAAmB,CAAC,KAAK,EACzB,aAAc,CAAC,KAAK,EACpB,cAAe,CAAC,MAAM,EACtB,aAAc,CAAC,MAAM,EACrB,gBAAiB,CAAC,IAAK,KAAK,EAC5B,oBAAqB,CAAC,KAAK,EAC3B,cAAe,CAAC,MAAM,EACtB,cAAe,CAAC,MAAM,EACtB,gBAAiB,CAAC,KAAK,EACvB,aAAc,CAAC,KAAK,EACpB,kBAAmB,CAAC,KAAK,EACzB,kBAAmB,CAAC,IAAI,EACxB,mBAAoB,CAAC,KAAK,EAC1B,eAAgB,CAAC,KAAK,EACtB,oBAAqB,CAAC,MAAO,MAAM,EACnC,wBAAyB,CAAC,MAAO,MAAM,EACvC,oBAAqB,CAAC,MAAO,MAAM,EACnC,oBAAqB,CAAC,MAAO,MAAM,EACnC,uBAAwB,CAAC,MAAO,MAAM,EACtC,qBAAsB,CAAC,KAAK,EAC5B,gBAAiB,CAAC,KAAK,EACvB,oBAAqB,CAAC,MAAO,KAAK,EAClC,mCAAoC,CAAC,KAAK,EAC1C,qBAAsB,CAAC,MAAO,MAAM,EACpC,iBAAkB,CAAC,KAAK,EACxB,cAAe,CAAC,KAAK,EACrB,cAAe,CAAC,KAAK,EACrB,cAAe,CAAC,KAAK,EACrB,cAAe,CAAC,KAAK,EACrB,mBAAoB,CAAC,MAAO,OAAQ,KAAK,EACzC,cAAe,CAAC,KAAK,EACrB,iBAAkB,CAAC,MAAO,KAAK,EAC/B,iBAAkB,CAAC,KAAK,EACxB,gBAAiB,CAAC,IAAI,EACtB,iBAAkB,CAAC,KAAK,EACxB,iBAAkB,CAAC,KAAK,EACxB,iBAAkB,CAAC,KAAK,EACxB,kBAAmB,CAAC,KAAK,EACzB,oBAAqB,CAAC,OAAO,EAC7B,cAAe,CAAC,KAAK,EACrB,0BAA2B,CAAC,KAAK,CACrC,EACA,OAAO,OAAOA,EAAK,EC5sBnB,MAAMA,GAAQ,CACV,2BAA4B,CAAC,IAAI,EACjC,2BAA4B,CAAC,cAAc,EAC3C,yBAA0B,CAAC,IAAI,EAC/B,mBAAoB,CAAC,MAAM,EAC3B,yBAA0B,CAAC,YAAY,EACvC,uBAAwB,CAAC,MAAM,EAC/B,0BAA2B,CAAC,SAAS,EACrC,8BAA+B,CAAC,aAAa,EAC7C,0BAA2B,CAAC,SAAS,EACrC,2BAA4B,CAAC,KAAK,EAClC,4BAA6B,CAAC,MAAM,EACpC,4BAA6B,CAAC,MAAM,EACpC,mCAAoC,CAAC,KAAK,EAC1C,oCAAqC,CAAC,MAAM,EAC5C,mBAAoB,CAAC,MAAM,EAC3B,2BAA4B,CAAC,KAAK,EAClC,wBAAyB,CAAC,OAAO,EACjC,uBAAwB,CAAC,MAAM,EAC/B,8BAA+B,CAAC,OAAO,EACvC,6BAA8B,CAAC,OAAO,EACtC,0BAA2B,CAAC,OAAO,EACnC,0BAA2B,CAAC,OAAO,EACnC,yBAA0B,CAAC,OAAO,EAClC,sBAAuB,CAAC,KAAK,EAC7B,uBAAwB,CAAC,IAAI,EAC7B,kBAAmB,CAAC,KAAK,EACzB,uBAAwB,CAAC,KAAK,EAC9B,6BAA8B,CAAC,KAAK,EACpC,2BAA4B,CAAC,UAAU,EACvC,oBAAqB,CAAC,KAAK,EAC3B,0BAA2B,CAAC,KAAK,EACjC,uBAAwB,CAAC,MAAM,EAC/B,uBAAwB,CAAC,OAAO,EAChC,yBAA0B,CAAC,MAAM,EACjC,uBAAwB,CAAC,MAAM,EAC/B,4BAA6B,CAAC,WAAW,EACzC,uBAAwB,CAAC,MAAM,EAC/B,kBAAmB,CAAC,KAAK,EACzB,sBAAuB,CAAC,KAAK,EAC7B,kBAAmB,CAAC,KAAK,EACzB,sBAAuB,CAAC,KAAK,EAC7B,yBAA0B,CAAC,KAAK,EAChC,uBAAwB,CAAC,SAAS,EAClC,sBAAuB,CAAC,KAAK,EAC7B,sBAAuB,CAAC,KAAK,EAC7B,kBAAmB,CAAC,KAAK,EACzB,mBAAoB,CAAC,IAAI,EACzB,oBAAqB,CAAC,OAAO,EAC7B,0BAA2B,CAAC,KAAK,EACjC,wBAAyB,CAAC,MAAO,OAAO,EACxC,oBAAqB,CAAC,OAAO,EAC7B,sBAAuB,CAAC,KAAK,EAC7B,2BAA4B,CAAC,MAAO,MAAO,KAAK,EAChD,qCAAsC,CAAC,KAAK,EAC5C,sBAAuB,CAAC,OAAO,EAC/B,yBAA0B,CAAC,KAAK,EAChC,mBAAoB,CAAC,OAAQ,KAAK,EAClC,oBAAqB,CAAC,OAAO,EAC7B,0BAA2B,CAAC,QAAQ,EACpC,sBAAuB,CAAC,QAAQ,EAChC,sBAAuB,CAAC,KAAK,EAC7B,uBAAwB,CAAC,SAAS,EAClC,2BAA4B,CAAC,KAAK,EAClC,6BAA8B,CAAC,KAAK,EACpC,uBAAwB,CAAC,MAAM,EAC/B,4BAA6B,CAAC,aAAa,EAC3C,mBAAoB,CAAC,KAAK,EAC1B,0BAA2B,CAAC,MAAM,EAClC,0BAA2B,CAAC,KAAM,KAAM,IAAI,EAC5C,yBAA0B,CAAC,QAAQ,EACnC,mBAAoB,CAAC,MAAM,EAC3B,uCAAwC,CAAC,KAAK,EAC9C,qCAAsC,CAAC,OAAO,EAC9C,2BAA4B,CAAC,UAAU,EACvC,4BAA6B,CAAC,OAAO,EACrC,uBAAwB,CAAC,MAAM,EAC/B,0BAA2B,CAAC,MAAM,EAClC,0BAA2B,CAAC,MAAM,EAClC,uBAAwB,CAAC,MAAM,EAC/B,mBAAoB,CAAC,MAAO,MAAM,EAClC,kBAAmB,CAAC,OAAQ,QAAS,OAAQ,KAAK,EAClD,mBAAoB,CAAC,MAAM,EAC3B,yBAA0B,CAAC,YAAY,EACvC,qBAAsB,CAAC,MAAO,KAAK,EACnC,kBAAmB,CAAC,KAAK,EACzB,sBAAuB,CAAC,IAAI,EAC5B,wBAAyB,CAAC,IAAI,EAC9B,mBAAoB,CAAC,KAAK,EAC1B,2BAA4B,CACxB,MACA,MACA,MACA,MACA,KACA,OACA,QACA,MACA,MACA,OACA,MACA,SACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QACH,EACD,kBAAmB,CAAC,KAAK,EACzB,gCAAiC,CAAC,KAAK,EACvC,kBAAmB,CAAC,KAAK,EACzB,wBAAyB,CAAC,OAAO,EACjC,sBAAuB,CACnB,SACA,UACA,SACA,SACA,MACA,MACH,EACD,mBAAoB,CAAC,MAAM,EAC3B,8BAA+B,CAAC,MAAM,EACtC,kCAAmC,CAAC,KAAK,EACzC,kBAAmB,CAAC,KAAK,EACzB,4BAA6B,CAAC,KAAK,EACnC,uBAAwB,CAAC,KAAK,EAC9B,4BAA6B,CAAC,MAAO,MAAM,EAC3C,yBAA0B,CAAC,KAAK,EAChC,qBAAsB,CAAC,KAAK,EAC5B,yBAA0B,CAAC,MAAO,KAAK,EACvC,8BAA+B,CAAC,KAAK,EACrC,oBAAqB,CAAC,IAAI,EAC1B,6BAA8B,CAAC,IAAI,EACnC,wBAAyB,CAAC,KAAK,EAC/B,uBAAwB,CAAC,KAAK,EAC9B,2BAA4B,CAAC,SAAS,EACtC,sBAAuB,CAAC,KAAK,EAC7B,sBAAuB,CAAC,KAAK,EAC7B,yBAA0B,CAAC,KAAM,MAAO,IAAI,EAC5C,6BAA8B,CAAC,OAAO,EACtC,uBAAwB,CAAC,SAAS,EAClC,wBAAyB,CAAC,MAAM,EAChC,sBAAuB,CAAC,MAAO,KAAK,EACpC,0BAA2B,CAAC,KAAK,EACjC,sCAAuC,CAAC,KAAK,EAC7C,iCAAkC,CAAC,IAAI,EACvC,sCAAuC,CAAC,KAAK,EAC7C,+BAAgC,CAAC,IAAI,EACrC,4BAA6B,CAAC,MAAM,EACpC,+BAAgC,CAAC,KAAK,EACtC,4BAA6B,CAAC,MAAM,EACpC,gCAAiC,CAAC,KAAK,EACvC,4BAA6B,CAAC,KAAK,EACnC,uBAAwB,CAAC,KAAK,EAC9B,sBAAuB,CAAC,KAAK,EAC7B,sBAAuB,CAAC,KAAK,EAC7B,kBAAmB,CAAC,KAAK,EACzB,uBAAwB,CAAC,MAAM,EAC/B,8BAA+B,CAAC,KAAK,EACrC,+BAAgC,CAAC,KAAK,EACtC,8BAA+B,CAAC,KAAK,EACrC,+BAAgC,CAAC,KAAK,EACtC,kBAAmB,CAAC,KAAK,EACzB,wBAAyB,CAAC,QAAQ,EAClC,yBAA0B,CAAC,SAAS,EACpC,qCAAsC,CAAC,QAAQ,EAC/C,0CAA2C,CAAC,QAAQ,EACpD,sBAAuB,CAAC,KAAK,EAC7B,oBAAqB,CAAC,MAAO,OAAO,EACpC,uBAAwB,CAAC,MAAO,MAAM,EACtC,2BAA4B,CAAC,IAAI,EACjC,iCAAkC,CAAC,KAAK,EACxC,kBAAmB,CAAC,KAAK,EACzB,mBAAoB,CAAC,MAAM,EAC3B,uBAAwB,CAAC,OAAO,EAChC,sBAAuB,CAAC,KAAK,EAC7B,uBAAwB,CAAC,MAAM,EAC/B,uBAAwB,CAAC,MAAM,EAC/B,uBAAwB,CAAC,SAAS,EAClC,sBAAuB,CAAC,MAAO,WAAW,EAC1C,yBAA0B,CAAC,KAAK,EAChC,+BAAgC,CAAC,KAAK,EACtC,mBAAoB,CAAC,MAAM,EAC3B,mBAAoB,CAAC,MAAM,EAC3B,uBAAwB,CAAC,MAAM,EAC/B,qBAAsB,CAAC,KAAK,EAC5B,+BAAgC,CAAC,QAAQ,EACzC,iCAAkC,CAAC,IAAI,EACvC,2BAA4B,CAAC,MAAM,EACnC,mBAAoB,CAAC,MAAM,EAC3B,8BAA+B,CAAC,KAAK,EACrC,qBAAsB,CAAC,KAAK,EAC5B,qBAAsB,CAAC,KAAK,EAC5B,uBAAwB,CAAC,MAAM,EAC/B,2BAA4B,CAAC,UAAU,EACvC,uBAAwB,CAAC,MAAM,EAC/B,2BAA4B,CAAC,KAAK,EAClC,4BAA6B,CAAC,KAAK,EACnC,4BAA6B,CAAC,KAAK,EACnC,0BAA2B,CAAC,KAAK,EACjC,0BAA2B,CAAC,KAAK,EACjC,uBAAwB,CAAC,MAAM,EAC/B,mBAAoB,CAAC,MAAM,EAC3B,wBAAyB,CAAC,QAAS,KAAK,EACxC,wBAAyB,CAAC,KAAK,EAC/B,kBAAmB,CAAC,MAAO,MAAO,MAAO,KAAK,EAC9C,sBAAuB,CAAC,KAAK,EAC7B,sBAAuB,CAAC,KAAK,EAC7B,wBAAyB,CAAC,KAAK,EAC/B,uBAAwB,CAAC,OAAQ,MAAM,EACvC,uBAAwB,CAAC,MAAM,EAC/B,qBAAsB,CAAC,OAAQ,QAAS,OAAQ,KAAK,EACrD,mBAAoB,CAAC,MAAM,EAC3B,sBAAuB,CAAC,KAAK,EAC7B,kBAAmB,CAAC,KAAK,EACzB,4BAA6B,CAAC,QAAQ,EACtC,aAAc,CAAC,OAAO,EACtB,YAAa,CAAC,OAAQ,KAAK,EAC3B,cAAe,CAAC,KAAK,EACrB,YAAa,CAAC,KAAK,EACnB,cAAe,CAAC,KAAM,KAAK,EAC3B,aAAc,CAAC,MAAO,OAAQ,MAAO,KAAK,EAC1C,mBAAoB,CAAC,MAAM,EAC3B,YAAa,CAAC,MAAM,EACpB,YAAa,CAAC,MAAO,OAAQ,KAAK,EAClC,aAAc,CAAC,OAAQ,MAAO,OAAQ,MAAO,MAAO,KAAK,EACzD,YAAa,CAAC,MAAO,MAAO,MAAO,MAAM,EACzC,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,KAAK,EACpB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,WAAY,CAAC,IAAI,EACjB,kBAAmB,CAAC,KAAK,EACzB,WAAY,CAAC,KAAK,EAClB,WAAY,CAAC,KAAK,EAClB,YAAa,CAAC,MAAM,EACpB,aAAc,CAAC,OAAO,EACtB,aAAc,CAAC,KAAK,EACpB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,YAAa,CAAC,MAAO,KAAK,EAC1B,YAAa,CAAC,KAAK,EACnB,kBAAmB,CAAC,MAAM,EAC1B,YAAa,CAAC,KAAK,EACnB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAM,EACrB,cAAe,CAAC,IAAI,EACpB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAM,EACrB,sBAAuB,CAAC,OAAO,EAC/B,aAAc,CAAC,MAAM,EACrB,sBAAuB,CAAC,OAAO,EAC/B,cAAe,CAAC,MAAM,EACtB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,YAAa,CAAC,KAAK,EACnB,YAAa,CAAC,MAAO,MAAM,EAC3B,aAAc,CAAC,MAAO,OAAQ,KAAK,EACnC,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,KAAK,EACpB,YAAa,CAAC,MAAO,MAAM,EAC3B,YAAa,CAAC,MAAO,KAAK,EAC1B,YAAa,CAAC,KAAK,EACnB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAM,EACrB,cAAe,CAAC,MAAM,EACtB,YAAa,CAAC,KAAK,EACnB,YAAa,CAAC,KAAK,EACnB,gBAAiB,CAAC,MAAO,MAAM,EAC/B,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAO,MAAM,EAC5B,gBAAiB,CAAC,KAAK,EACvB,aAAc,CAAC,MAAM,EACrB,YAAa,CAAC,KAAK,EACnB,mCAAoC,CAAC,0BAA0B,EAC/D,iBAAkB,CAAC,OAAO,EAC1B,iCAAkC,CAAC,OAAO,EAC1C,0CAA2C,CAAC,OAAO,EACnD,yBAA0B,CAAC,OAAO,EAClC,iBAAkB,CAAC,MAAO,OAAQ,MAAO,OAAO,EAChD,YAAa,CAAC,KAAK,EACnB,kBAAmB,CAAC,MAAM,EAC1B,oBAAqB,CAAC,KAAK,EAC3B,aAAc,CAAC,MAAO,MAAM,EAC5B,WAAY,CAAC,IAAI,EACjB,aAAc,CAAC,MAAO,OAAQ,MAAM,EACpC,YAAa,CAAC,KAAK,EACnB,YAAa,CAAC,KAAK,EACnB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,OAAQ,MAAO,QAAS,MAAO,KAAK,EACnD,iBAAkB,CAAC,MAAM,EACzB,iBAAkB,CAAC,MAAM,EACzB,qBAAsB,CAAC,OAAO,EAC9B,YAAa,CAAC,KAAK,EACnB,YAAa,CAAC,KAAK,EACnB,aAAc,CAAC,MAAO,MAAM,EAC5B,mBAAoB,CAAC,QAAS,OAAO,EACrC,wBAAyB,CAAC,MAAM,EAChC,iBAAkB,CAAC,QAAS,OAAO,EACnC,gBAAiB,CAAC,MAAO,MAAM,EAC/B,iBAAkB,CAAC,MAAM,EACzB,sBAAuB,CAAC,WAAY,UAAU,EAC9C,gBAAiB,CAAC,MAAO,KAAK,EAC9B,oBAAqB,CAAC,SAAU,WAAW,EAC3C,WAAY,CAAC,KAAK,EAClB,WAAY,CAAC,KAAK,EAClB,YAAa,CAAC,OAAQ,MAAO,OAAO,EACpC,YAAa,CAAC,MAAM,EACpB,kBAAmB,CAAC,KAAM,KAAK,EAC/B,WAAY,CAAC,KAAK,EAClB,YAAa,CAAC,MAAM,EACpB,gBAAiB,CAAC,KAAM,UAAU,EAClC,cAAe,CAAC,KAAK,EACrB,WAAY,CAAC,KAAK,EAClB,UAAW,CAAC,IAAI,EAChB,aAAc,CAAC,MAAO,OAAQ,OAAQ,MAAO,OAAQ,MAAO,KAAM,KAAK,EACvE,gBAAiB,CAAC,KAAK,EACvB,WAAY,CAAC,MAAM,EACnB,YAAa,CAAC,OAAQ,KAAK,EAC3B,YAAa,CAAC,MAAM,EACpB,YAAa,CAAC,OAAQ,KAAK,EAC3B,YAAa,CAAC,MAAM,EACpB,cAAe,CAAC,SAAU,MAAM,EAChC,4BAA6B,CAAC,KAAK,EACnC,aAAc,CAAC,IAAK,KAAM,OAAQ,MAAO,KAAM,IAAI,EACnD,cAAe,CAAC,KAAK,EACrB,gBAAiB,CAAC,MAAO,OAAQ,MAAM,EACvC,aAAc,CAAC,OAAO,EACtB,WAAY,CAAC,KAAK,EAClB,YAAa,CAAC,MAAM,EACpB,WAAY,CAAC,MAAM,EACnB,YAAa,CAAC,OAAQ,KAAK,EAC3B,aAAc,CAAC,MAAO,MAAM,EAC5B,cAAe,CAAC,KAAK,EACrB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,aAAc,CAAC,MAAM,EACrB,oBAAqB,CAAC,KAAK,EAC3B,aAAc,CAAC,MAAM,EACrB,YAAa,CAAC,OAAQ,OAAO,EAC7B,YAAa,CAAC,MAAO,MAAM,EAC3B,aAAc,CAAC,KAAM,MAAO,OAAQ,KAAK,EACzC,YAAa,CAAC,MAAO,OAAQ,MAAM,EACnC,aAAc,CAAC,OAAQ,MAAO,MAAO,MAAO,KAAK,EACjD,YAAa,CAAC,KAAK,EACnB,kBAAmB,CAAC,KAAM,KAAK,EAC/B,aAAc,CAAC,MAAM,CACzB,EACA,OAAO,OAAOA,EAAK,EC5WnB,IAAI+2B,GAA0Bx1B,YAAQA,WAAK,wBAA2B,SAAUrnD,EAAUwL,EAAOsxE,EAAM75C,EAAG,CACtG,GAAI65C,IAAS,KAAO,CAAC75C,EAAG,MAAM,IAAI,UAAU,+CAA+C,EAC3F,GAAI,OAAOz3B,GAAU,WAAaxL,IAAawL,GAAS,CAACy3B,EAAI,CAACz3B,EAAM,IAAIxL,CAAQ,EAAG,MAAM,IAAI,UAAU,0EAA0E,EACjL,OAAO88E,IAAS,IAAM75C,EAAI65C,IAAS,IAAM75C,EAAE,KAAKjjC,CAAQ,EAAIijC,EAAIA,EAAE,MAAQz3B,EAAM,IAAIxL,CAAQ,CAChG,EACI+8E,GAAuBC,GAAuBC,GAClD,MAAMC,EAAK,CACP,eAAe9+E,EAAM,CACjB2+E,GAAsB,IAAI,KAAM,IAAI,GAAK,EACzCC,GAAsB,IAAI,KAAM,IAAI,GAAK,EACzCC,GAAuB,IAAI,KAAM,IAAI,GAAK,EAC1C,UAAWhnF,KAAOmI,EACd,KAAK,OAAOnI,CAAG,CAEtB,CACD,OAAOknF,EAASnD,EAAQ,GAAO,CAC3B,OAAS,CAACl9E,EAAMy/D,CAAU,IAAK,OAAO,QAAQ4gB,CAAO,EAAG,CACpDrgF,EAAOA,EAAK,cACZy/D,EAAaA,EAAW,IAAK6gB,GAAQA,EAAI,YAAW,CAAE,EACjDP,GAAuB,KAAMI,GAAwB,GAAG,EAAE,IAAIngF,CAAI,GACnE+/E,GAAuB,KAAMI,GAAwB,GAAG,EAAE,IAAIngF,EAAM,IAAI,GAAK,EAEjF,MAAMugF,EAAgBR,GAAuB,KAAMI,GAAwB,GAAG,EAAE,IAAIngF,CAAI,EACxF,IAAI02C,EAAQ,GACZ,QAASgpB,KAAaD,EAAY,CAC9B,MAAM+gB,EAAU9gB,EAAU,WAAW,GAAG,EAOxC,GANAA,EAAY8gB,EAAU9gB,EAAU,MAAM,CAAC,EAAIA,EAC3C6gB,GAAA,MAAAA,EAAe,IAAI7gB,GACfhpB,GACAqpC,GAAuB,KAAMG,GAAuB,GAAG,EAAE,IAAIlgF,EAAM0/D,CAAS,EAEhFhpB,EAAQ,GACJ8pC,EACA,SACJ,MAAMC,EAAcV,GAAuB,KAAME,GAAuB,GAAG,EAAE,IAAIvgB,CAAS,EAC1F,GAAI+gB,GAAeA,GAAezgF,GAAQ,CAACk9E,EACvC,MAAM,IAAI,MAAM,IAAIl9E,CAAI,OAAO0/D,CAAS,qBAAqB+gB,CAAW,OAAO/gB,CAAS,qDAAqD,EAEjJqgB,GAAuB,KAAME,GAAuB,GAAG,EAAE,IAAIvgB,EAAW1/D,CAAI,CAC/E,CACJ,CACD,OAAO,IACV,CACD,QAAQgsB,EAAM,CACV,GAAI,OAAOA,GAAS,SAChB,OAAO,KACX,MAAMzvB,EAAOyvB,EAAK,QAAQ,YAAa,EAAE,EAAE,cACrCs0D,EAAM/jF,EAAK,QAAQ,SAAU,EAAE,EAAE,cACjCmkF,EAAUnkF,EAAK,OAASyvB,EAAK,OAEnC,MAAI,EADWs0D,EAAI,OAAS/jF,EAAK,OAAS,IAC3BmkF,EACJ,KACJX,GAAuB,KAAME,GAAuB,GAAG,EAAE,IAAIK,CAAG,GAAK,IAC/E,CACD,aAAatgF,EAAM,OACf,OAAI,OAAOA,GAAS,SACT,MACXA,GAAOhE,EAAAgE,GAAA,YAAAA,EAAM,QAAN,YAAAhE,EAAA,KAAAgE,EAAc,KAAK,IACjBA,GAAQ+/E,GAAuB,KAAMG,GAAuB,GAAG,EAAE,IAAIlgF,EAAK,KAAI,EAAG,YAAa,KAAM,KAChH,CACD,iBAAiBA,EAAM,CACnB,OAAI,OAAOA,GAAS,SACT,KACJ+/E,GAAuB,KAAMI,GAAwB,GAAG,EAAE,IAAIngF,EAAK,aAAa,GAAK,IAC/F,CACD,SAAU,CACN,KAAK,OAAS,IAAM,CAChB,MAAM,IAAI,MAAM,8HAA8H,CAC1J,EACQ,OAAO,OAAO,IAAI,EAClB,UAAWy/D,KAAcsgB,GAAuB,KAAMI,GAAwB,GAAG,EAAE,SAC/E,OAAO,OAAO1gB,CAAU,EAE5B,OAAO,IACV,CACD,eAAgB,CACZ,MAAO,CACH,MAAOsgB,GAAuB,KAAME,GAAuB,GAAG,EAC9D,WAAYF,GAAuB,KAAMG,GAAuB,GAAG,CAC/E,CACK,CACL,CACAD,GAAwB,IAAI,QAAWC,GAAwB,IAAI,QAAWC,GAAyB,IAAI,QC9E3G,MAAeQ,GAAA,IAAIP,GAAKQ,GAAeC,EAAU,EAAE,QAAS,siTCgCtD,OAAAC,GAAA,kBAAA96C,CAAA,EAAAA,CAAA86C,CAdNA,KAGEtmF,MAAI+xC,IAAeu0C,GAAA,UACnB5xE,KAAO,cACLomD,MAAK,CACHt1D,KACAo/E,YACF,WACD,CACD7mE,EAAQuoE,mBAAAp3E,EAAA,KACNo3E,KAAO,OACLC,CACAC,QAAS,GACTC,QAAS,GACTC,WACF,gBAEFziF,EACE0iF,UAAeL,0BAAAp3E,EAAA,KACbo3E,KAAYM,EAAO,CAAC,IACtBT,GAAA,iBACD,CACD/mE,EAAWknE,UAEP,OAFOA,KAAAp3E,EAAA,KACTo3E,KAAwB,OACL,kBAAAA,iBACjBA,GAAgB,YAAAA,gBAChBA,GAAgB,YAAAA,gBAChBA,GAAiB,YAAAA,sBAAAp3E,EAAA,QACfo3E,KAAe,OAAAA,gBACfA,KAAA,OACF,MAAiBA,iBACjBA,GAAgB,YAAAA,gBAChBA,GAAgB,YAAAA,gBAChBA,GAAkB,YAAAA,kBAClBA,GAAiB,YAAAA,iBACjBA,GAAgB,YAAAA,qBAAAp3E,EAAA,QACdo3E,KAAe,OAAAA,gBACfA,KAAA,OACF,MAAiBA,iBACjBA,GAAgB,aAAAA,gBAChBA,GAAsB,aAAAA,sBACtBA,GAAqB,aAAAA,qBACrBA,GAAsB,aAAAA,2BAAAp3E,EAAA,SACpBo3E,KAAe,OAAAA,gBACfA,KAAA,OACJ,KACF,CACF,kFAzDWn5B,IAAAm5B,GAAA,EAAAp3E,EAAA,gBAAAgjC,IAAMo0C,GAAA,WAA+B,uHAZ9Cl0C,6DACuBizC,IAAKhuC,EAAKnF,IAAKmF,EAAY,IAAEpM,MAAK,YAAEq7C,YAAA,YAAAlvC,EAAA,KAAAkvC,KAAA,UAAAlvC,EAAA,GAAAU,IAAAwuC,KAAAp3E,EAAA,KAAAo3E,KAAY,QAAA/uC,EAAA,yFACzC8tC,IAAKhuC,EAAKwvC,MAAA,sFACVxB,IAAKhuC,EAAKwvC,MAAQ,IAACpzC,SAAM,uDAC3CvB,IAAK,EAA6B2vC,MAAS,2BAAEt8E,KAAM8xC,EAAC,mBACtDnF,OAAM,YAAAkF,EAAA,KAAAkvC,GAAA,YAAAlvC,EAAA,GAAA0vC,EAAA,QAAe,MACG,eAAzB50C,KAAM,KAAgB,0IAITA,IAAK,QAAQkzC,GAAoCsB,UAAA,YAAAnvC,EAAA,cACnEuvC,CAAK50C,KAAwB,OAAEjH,MAAK,mBAAEq7C,YAAA,YAAAlvC,EAAA,KAAAkvC,KAAA,UAAAlvC,EAAA,GAAAU,IAAAwuC,KAAAp3E,EAAA,KAAAo3E,KAAY,QAAA/uC,EAAA,qBAEvCuvC,EAAK,MAAA35B,GAAA,CAAA25B,EAAA,OAAEC,IAAI1vC,EAAA,UAEdnF,OAAM,EAAsBkb,EAAA,IAAA05B,EAAA,UAAC,6BAAmBv1C,aAAa,QAAEtG,MAAK,QAAEq7C,YAAA,YAAAlvC,EAAA,KAAAkvC,KAAA,UAAAlvC,EAAA,GAAAU,IAAAwuC,KAAAp3E,EAAA,KAAAo3E,KAAY,QAAA/uC,EAAA,wJCdhG,OAAO,eAAeyvC,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7CA,GAAA,QAAG,IAAI,YAEtB,2keACK,MAAM,EAAE,EACR,IAAI,SAAU9oF,EAAG,CAAE,OAAOA,EAAE,WAAW,CAAC,EAAI,CAAC,YCLlD,OAAO,eAAe+oF,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC7CA,GAAA,QAAG,IAAI,YAEtB,wCACK,MAAM,EAAE,EACR,IAAI,SAAU/oF,EAAG,CAAE,OAAOA,EAAE,WAAW,CAAC,EAAI,CAAC,yBCLlD,IAAIsD,EACJ,OAAO,eAAc49D,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAA2B,iBAAAA,EAAA,cAAwB,OACnD,IAAI8nB,EAAY,IAAI,IAAI,CACpB,CAAC,EAAG,KAAK,EAET,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,CACb,CAAC,EAID9nB,EAAA,eAEC59D,EAAK,OAAO,iBAAmB,MAAQA,IAAO,OAASA,EAAK,SAAU2lF,EAAW,CAC9E,IAAIC,EAAS,GACb,OAAID,EAAY,QACZA,GAAa,MACbC,GAAU,OAAO,aAAeD,IAAc,GAAM,KAAS,KAAM,EACnEA,EAAY,MAAUA,EAAY,MAEtCC,GAAU,OAAO,aAAaD,CAAS,EAChCC,CACX,EAMA,SAASC,EAAiBF,EAAW,CACjC,IAAI3lF,EACJ,OAAK2lF,GAAa,OAAUA,GAAa,OAAWA,EAAY,QACrD,OAEH3lF,EAAK0lF,EAAU,IAAIC,CAAS,KAAO,MAAQ3lF,IAAO,OAASA,EAAK2lF,CAC3E,CACD/nB,EAAA,iBAA2BioB,EAQ3B,SAASC,EAAgBH,EAAW,CAChC,SAAW/nB,EAAQ,eAAeioB,EAAiBF,CAAS,CAAC,CAChE,CACD/nB,EAAA,QAAkBkoB,qBCzElB,IAAIC,EAAmBx3B,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAShuB,EAAGlgB,EAAGshB,EAAGqkD,EAAI,CACxFA,IAAO,SAAWA,EAAKrkD,GAC3B,IAAIskD,EAAO,OAAO,yBAAyB5lE,EAAGshB,CAAC,GAC3C,CAACskD,IAAS,QAASA,EAAO,CAAC5lE,EAAE,WAAa4lE,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAO5lE,EAAEshB,CAAC,CAAE,IAE3D,OAAO,eAAepB,EAAGylD,EAAIC,CAAI,CACpC,EAAK,SAAS1lD,EAAGlgB,EAAGshB,EAAGqkD,EAAI,CACpBA,IAAO,SAAWA,EAAKrkD,GAC3BpB,EAAEylD,CAAE,EAAI3lE,EAAEshB,CAAC,CACd,GACGukD,EAAsB33B,IAAQA,GAAK,qBAAwB,OAAO,OAAU,SAAShuB,EAAGxgC,EAAG,CAC3F,OAAO,eAAewgC,EAAG,UAAW,CAAE,WAAY,GAAM,MAAOxgC,CAAC,CAAE,CACtE,EAAK,SAASwgC,EAAGxgC,EAAG,CAChBwgC,EAAE,QAAaxgC,CACnB,GACIomF,EAAgB53B,IAAQA,GAAK,cAAiB,SAAUtd,EAAK,CAC7D,GAAIA,GAAOA,EAAI,WAAY,OAAOA,EAClC,IAAI9qC,EAAS,GACb,GAAI8qC,GAAO,KAAM,QAAStP,KAAKsP,EAAStP,IAAM,WAAa,OAAO,UAAU,eAAe,KAAKsP,EAAKtP,CAAC,GAAGokD,EAAgB5/E,EAAQ8qC,EAAKtP,CAAC,EACvI,OAAAukD,EAAmB//E,EAAQ8qC,CAAG,EACvB9qC,CACX,EACIigF,EAAmB73B,IAAQA,GAAK,iBAAoB,SAAUtd,EAAK,CACnE,OAAQA,GAAOA,EAAI,WAAcA,EAAM,CAAE,QAAWA,EACxD,EACA,OAAO,eAAc2sB,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,UAAoBA,EAA2B,iBAAAA,EAAA,oBAA8BA,EAAqB,WAAAA,EAAA,gBAA0BA,gBAAwBA,EAAuB,aAAAA,EAAA,aAAuBA,EAAwB,cAAAA,EAAA,iBAA2BA,EAA0B,gBAAAA,EAAA,cAAwBA,EAAyB,sBAChU,IAAIyoB,EAAwBD,EAAgBj3B,EAA0C,EACtFyO,EAAyB,eAAAyoB,EAAsB,QAC/C,IAAIC,EAAuBF,EAAgBh3B,EAAyC,EACpFwO,EAAwB,cAAA0oB,EAAqB,QAC7C,IAAIC,EAAwBJ,EAAar0B,EAAgC,EACzE8L,EAA0B,gBAAA2oB,EAAsB,QAChD,IAAIC,EAAwB10B,GAC5B,OAAO,eAAe8L,EAAS,mBAAoB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO4oB,EAAsB,gBAAiB,CAAI,GAC5I,OAAO,eAAe5oB,EAAS,gBAAiB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAO4oB,EAAsB,aAAc,CAAI,GACtI,IAAIC,GACH,SAAUA,EAAW,CAClBA,EAAUA,EAAU,IAAS,EAAE,EAAI,MACnCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,OAAY,EAAE,EAAI,SACtCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,QAAa,EAAE,EAAI,UACvCA,EAAUA,EAAU,QAAa,GAAG,EAAI,UACxCA,EAAUA,EAAU,QAAa,GAAG,EAAI,UACxCA,EAAUA,EAAU,QAAa,GAAG,EAAI,UACxCA,EAAUA,EAAU,QAAa,EAAE,EAAI,UACvCA,EAAUA,EAAU,QAAa,EAAE,EAAI,UACvCA,EAAUA,EAAU,QAAa,EAAE,EAAI,SAC1C,GAAEA,IAAcA,EAAY,CAAE,EAAC,EAEhC,IAAIC,EAAe,GACfC,GACH,SAAUA,EAAc,CACrBA,EAAaA,EAAa,aAAkB,KAAK,EAAI,eACrDA,EAAaA,EAAa,cAAmB,KAAK,EAAI,gBACtDA,EAAaA,EAAa,WAAgB,GAAG,EAAI,eAClDA,EAAe/oB,EAAQ,eAAiBA,EAAuB,cAAE,EAAC,EACrE,SAASgpB,EAASv3C,EAAM,CACpB,OAAOA,GAAQo3C,EAAU,MAAQp3C,GAAQo3C,EAAU,IACtD,CACD,SAASI,EAAuBx3C,EAAM,CAClC,OAASA,GAAQo3C,EAAU,SAAWp3C,GAAQo3C,EAAU,SACnDp3C,GAAQo3C,EAAU,SAAWp3C,GAAQo3C,EAAU,OACvD,CACD,SAASK,EAAoBz3C,EAAM,CAC/B,OAASA,GAAQo3C,EAAU,SAAWp3C,GAAQo3C,EAAU,SACnDp3C,GAAQo3C,EAAU,SAAWp3C,GAAQo3C,EAAU,SAChDG,EAASv3C,CAAI,CACpB,CAOD,SAAS03C,EAA8B13C,EAAM,CACzC,OAAOA,IAASo3C,EAAU,QAAUK,EAAoBz3C,CAAI,CAC/D,CACD,IAAI23C,GACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,YAAiB,CAAC,EAAI,cAC5DA,EAAmBA,EAAmB,aAAkB,CAAC,EAAI,eAC7DA,EAAmBA,EAAmB,eAAoB,CAAC,EAAI,iBAC/DA,EAAmBA,EAAmB,WAAgB,CAAC,EAAI,aAC3DA,EAAmBA,EAAmB,YAAiB,CAAC,EAAI,aAC/D,GAAEA,IAAuBA,EAAqB,CAAE,EAAC,EAClD,IAAIC,GACH,SAAUA,EAAc,CAErBA,EAAaA,EAAa,OAAY,CAAC,EAAI,SAE3CA,EAAaA,EAAa,OAAY,CAAC,EAAI,SAE3CA,EAAaA,EAAa,UAAe,CAAC,EAAI,cAC/CA,EAAerpB,EAAQ,eAAiBA,EAAuB,cAAE,EAAC,EAIrE,IAAIspB,EAA+B,UAAY,CAC3C,SAASA,EAETC,EAUAC,EAEAC,EAAQ,CACJ,KAAK,WAAaF,EAClB,KAAK,cAAgBC,EACrB,KAAK,OAASC,EAEd,KAAK,MAAQL,EAAmB,YAEhC,KAAK,SAAW,EAOhB,KAAK,OAAS,EAEd,KAAK,UAAY,EAEjB,KAAK,OAAS,EAEd,KAAK,WAAaC,EAAa,MAClC,CAED,OAAAC,EAAc,UAAU,YAAc,SAAUI,EAAY,CACxD,KAAK,WAAaA,EAClB,KAAK,MAAQN,EAAmB,YAChC,KAAK,OAAS,EACd,KAAK,UAAY,EACjB,KAAK,OAAS,EACd,KAAK,SAAW,CACxB,EAYIE,EAAc,UAAU,MAAQ,SAAU/sF,EAAKkoD,EAAQ,CACnD,OAAQ,KAAK,MAAK,CACd,KAAK2kC,EAAmB,YACpB,OAAI7sF,EAAI,WAAWkoD,CAAM,IAAMokC,EAAU,KACrC,KAAK,MAAQO,EAAmB,aAChC,KAAK,UAAY,EACV,KAAK,kBAAkB7sF,EAAKkoD,EAAS,CAAC,IAEjD,KAAK,MAAQ2kC,EAAmB,YACzB,KAAK,iBAAiB7sF,EAAKkoD,CAAM,GAE5C,KAAK2kC,EAAmB,aACpB,OAAO,KAAK,kBAAkB7sF,EAAKkoD,CAAM,EAE7C,KAAK2kC,EAAmB,eACpB,OAAO,KAAK,oBAAoB7sF,EAAKkoD,CAAM,EAE/C,KAAK2kC,EAAmB,WACpB,OAAO,KAAK,gBAAgB7sF,EAAKkoD,CAAM,EAE3C,KAAK2kC,EAAmB,YACpB,OAAO,KAAK,iBAAiB7sF,EAAKkoD,CAAM,CAE/C,CACT,EAUI6kC,EAAc,UAAU,kBAAoB,SAAU/sF,EAAKkoD,EAAQ,CAC/D,OAAIA,GAAUloD,EAAI,OACP,IAENA,EAAI,WAAWkoD,CAAM,EAAIqkC,KAAkBD,EAAU,SACtD,KAAK,MAAQO,EAAmB,WAChC,KAAK,UAAY,EACV,KAAK,gBAAgB7sF,EAAKkoD,EAAS,CAAC,IAE/C,KAAK,MAAQ2kC,EAAmB,eACzB,KAAK,oBAAoB7sF,EAAKkoD,CAAM,EACnD,EACI6kC,EAAc,UAAU,mBAAqB,SAAU/sF,EAAK6V,EAAOC,EAAK8P,EAAM,CAC1E,GAAI/P,IAAUC,EAAK,CACf,IAAIs3E,EAAat3E,EAAMD,EACvB,KAAK,OACD,KAAK,OAAS,KAAK,IAAI+P,EAAMwnE,CAAU,EACnC,SAASptF,EAAI,OAAO6V,EAAOu3E,CAAU,EAAGxnE,CAAI,EACpD,KAAK,UAAYwnE,CACpB,CACT,EAUIL,EAAc,UAAU,gBAAkB,SAAU/sF,EAAKkoD,EAAQ,CAE7D,QADImlC,EAAWnlC,EACRA,EAASloD,EAAI,QAAQ,CACxB,IAAIm+E,EAAOn+E,EAAI,WAAWkoD,CAAM,EAChC,GAAIukC,EAAStO,CAAI,GAAKuO,EAAuBvO,CAAI,EAC7Cj2B,GAAU,MAGV,aAAK,mBAAmBloD,EAAKqtF,EAAUnlC,EAAQ,EAAE,EAC1C,KAAK,kBAAkBi2B,EAAM,CAAC,CAE5C,CACD,YAAK,mBAAmBn+E,EAAKqtF,EAAUnlC,EAAQ,EAAE,EAC1C,EACf,EAUI6kC,EAAc,UAAU,oBAAsB,SAAU/sF,EAAKkoD,EAAQ,CAEjE,QADImlC,EAAWnlC,EACRA,EAASloD,EAAI,QAAQ,CACxB,IAAIm+E,EAAOn+E,EAAI,WAAWkoD,CAAM,EAChC,GAAIukC,EAAStO,CAAI,EACbj2B,GAAU,MAGV,aAAK,mBAAmBloD,EAAKqtF,EAAUnlC,EAAQ,EAAE,EAC1C,KAAK,kBAAkBi2B,EAAM,CAAC,CAE5C,CACD,YAAK,mBAAmBn+E,EAAKqtF,EAAUnlC,EAAQ,EAAE,EAC1C,EACf,EAcI6kC,EAAc,UAAU,kBAAoB,SAAUO,EAAQC,EAAgB,CAC1E,IAAI1nF,EAEJ,GAAI,KAAK,UAAY0nF,EACjB,OAAC1nF,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,2CAA2C,KAAK,QAAQ,EAC5G,EAGX,GAAIynF,IAAWhB,EAAU,KACrB,KAAK,UAAY,UAEZ,KAAK,aAAeQ,EAAa,OACtC,MAAO,GAEX,YAAK,iBAAkBV,EAAsB,kBAAkB,KAAK,MAAM,EAAG,KAAK,QAAQ,EACtF,KAAK,SACDkB,IAAWhB,EAAU,MACrB,KAAK,OAAO,0CAEhB,KAAK,OAAO,kCAAkC,KAAK,MAAM,GAEtD,KAAK,QACpB,EAUIS,EAAc,UAAU,iBAAmB,SAAU/sF,EAAKkoD,EAAQ,CAK9D,QAJI8kC,EAAa,KAAK,WAClB9uE,EAAU8uE,EAAW,KAAK,SAAS,EAEnCQ,GAAetvE,EAAUsuE,EAAa,eAAiB,GACpDtkC,EAASloD,EAAI,OAAQkoD,IAAU,KAAK,SAAU,CACjD,IAAIi2B,EAAOn+E,EAAI,WAAWkoD,CAAM,EAEhC,GADA,KAAK,UAAYulC,EAAgBT,EAAY9uE,EAAS,KAAK,UAAY,KAAK,IAAI,EAAGsvE,CAAW,EAAGrP,CAAI,EACjG,KAAK,UAAY,EACjB,OAAO,KAAK,SAAW,GAElB,KAAK,aAAe2O,EAAa,YAE7BU,IAAgB,GAEbZ,EAA8BzO,CAAI,GACxC,EACA,KAAK,6BAA4B,EAK3C,GAHAjgE,EAAU8uE,EAAW,KAAK,SAAS,EACnCQ,GAAetvE,EAAUsuE,EAAa,eAAiB,GAEnDgB,IAAgB,EAAG,CAEnB,GAAIrP,IAASmO,EAAU,KACnB,OAAO,KAAK,oBAAoB,KAAK,UAAWkB,EAAa,KAAK,SAAW,KAAK,MAAM,EAGxF,KAAK,aAAeV,EAAa,SACjC,KAAK,OAAS,KAAK,UACnB,KAAK,UAAY,KAAK,OACtB,KAAK,OAAS,EAErB,CACJ,CACD,MAAO,EACf,EAMIC,EAAc,UAAU,6BAA+B,UAAY,CAC/D,IAAIlnF,EACA6nF,EAAK,KAAM1hF,EAAS0hF,EAAG,OAAQV,EAAaU,EAAG,WAC/CF,GAAeR,EAAWhhF,CAAM,EAAIwgF,EAAa,eAAiB,GACtE,YAAK,oBAAoBxgF,EAAQwhF,EAAa,KAAK,QAAQ,GAC1D3nF,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,wCAAuC,EAC3F,KAAK,QACpB,EAUIknF,EAAc,UAAU,oBAAsB,SAAU/gF,EAAQwhF,EAAaG,EAAU,CACnF,IAAIX,EAAa,KAAK,WACtB,YAAK,cAAcQ,IAAgB,EAC7BR,EAAWhhF,CAAM,EAAI,CAACwgF,EAAa,aACnCQ,EAAWhhF,EAAS,CAAC,EAAG2hF,CAAQ,EAClCH,IAAgB,GAEhB,KAAK,cAAcR,EAAWhhF,EAAS,CAAC,EAAG2hF,CAAQ,EAEhDA,CACf,EAQIZ,EAAc,UAAU,IAAM,UAAY,CACtC,IAAIlnF,EACJ,OAAQ,KAAK,MAAK,CACd,KAAKgnF,EAAmB,YAEpB,OAAO,KAAK,SAAW,IAClB,KAAK,aAAeC,EAAa,WAC9B,KAAK,SAAW,KAAK,WACvB,KAAK,6BAA8B,EACnC,EAGV,KAAKD,EAAmB,eACpB,OAAO,KAAK,kBAAkB,EAAG,CAAC,EAEtC,KAAKA,EAAmB,WACpB,OAAO,KAAK,kBAAkB,EAAG,CAAC,EAEtC,KAAKA,EAAmB,aACpB,OAAChnF,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,2CAA2C,KAAK,QAAQ,EAC5G,EAEX,KAAKgnF,EAAmB,YAEpB,MAAO,EAEd,CACT,EACWE,CACV,IACDtpB,EAAA,cAAwBspB,EAOxB,SAASa,EAAWZ,EAAY,CAC5B,IAAI9oF,EAAM,GACN2pF,EAAU,IAAId,EAAcC,EAAY,SAAUhtF,EAAK,CAAE,OAAQkE,MAAWkoF,EAAsB,eAAepsF,CAAG,CAAK,GAC7H,OAAO,SAAwBA,EAAKmtF,EAAY,CAG5C,QAFIt8B,EAAY,EACZ3I,EAAS,GACLA,EAASloD,EAAI,QAAQ,IAAKkoD,CAAM,IAAM,GAAG,CAC7ChkD,GAAOlE,EAAI,MAAM6wD,EAAW3I,CAAM,EAClC2lC,EAAQ,YAAYV,CAAU,EAC9B,IAAIp4D,GAAM84D,EAAQ,MAAM7tF,EAExBkoD,EAAS,CAAC,EACV,GAAInzB,GAAM,EAAG,CACT87B,EAAY3I,EAAS2lC,EAAQ,MAC7B,KACH,CACDh9B,EAAY3I,EAASnzB,GAErBmzB,EAASnzB,KAAQ,EAAI87B,EAAY,EAAIA,CACxC,CACD,IAAI7kD,GAAS9H,EAAMlE,EAAI,MAAM6wD,CAAS,EAEtC,OAAA3sD,EAAM,GACC8H,EACf,CACC,CAWD,SAASyhF,EAAgBT,EAAY9uE,EAAS4vE,EAAS3P,EAAM,CACzD,IAAI4P,GAAe7vE,EAAUsuE,EAAa,gBAAkB,EACxDwB,EAAa9vE,EAAUsuE,EAAa,WAExC,GAAIuB,IAAgB,EAChB,OAAOC,IAAe,GAAK7P,IAAS6P,EAAaF,EAAU,GAG/D,GAAIE,EAAY,CACZ,IAAIpsF,EAAQu8E,EAAO6P,EACnB,OAAOpsF,EAAQ,GAAKA,GAASmsF,EACvB,GACAf,EAAWc,EAAUlsF,CAAK,EAAI,CACvC,CAKD,QAFIqsF,EAAKH,EACLI,GAAKD,EAAKF,EAAc,EACrBE,GAAMC,IAAI,CACb,IAAIrN,GAAOoN,EAAKC,KAAQ,EACpBC,GAASnB,EAAWnM,EAAG,EAC3B,GAAIsN,GAAShQ,EACT8P,EAAKpN,GAAM,UAENsN,GAAShQ,EACd+P,GAAKrN,GAAM,MAGX,QAAOmM,EAAWnM,GAAMkN,CAAW,CAE1C,CACD,MAAO,EACV,CACDtqB,EAAA,gBAA0BgqB,EAC1B,IAAIW,EAAcR,EAAW1B,EAAsB,OAAO,EACtDmC,GAAaT,EAAWzB,EAAqB,OAAO,EAQxD,SAASmC,GAAWtuF,EAAKuZ,EAAM,CAC3B,OAAIA,IAAS,SAAUA,EAAOuzE,EAAa,QACpCsB,EAAYpuF,EAAKuZ,CAAI,CAC/B,CACDkqD,EAAA,WAAqB6qB,GAOrB,SAASC,GAAoBvuF,EAAK,CAC9B,OAAOouF,EAAYpuF,EAAK8sF,EAAa,SAAS,CACjD,CACDrpB,EAAA,oBAA8B8qB,GAO9B,SAASC,GAAiBxuF,EAAK,CAC3B,OAAOouF,EAAYpuF,EAAK8sF,EAAa,MAAM,CAC9C,CACDrpB,EAAA,iBAA2B+qB,GAO3B,SAASC,GAAUzuF,EAAK,CACpB,OAAOquF,GAAWruF,EAAK8sF,EAAa,MAAM,CAC7C,CACDrpB,EAAA,UAAoBgrB,sBCrhBpB,OAAO,eAAchrB,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAoB,iBACpB,IAAIirB,EAAc15B,GACds3B,GACH,SAAUA,EAAW,CAClBA,EAAUA,EAAU,IAAS,CAAC,EAAI,MAClCA,EAAUA,EAAU,QAAa,EAAE,EAAI,UACvCA,EAAUA,EAAU,SAAc,EAAE,EAAI,WACxCA,EAAUA,EAAU,eAAoB,EAAE,EAAI,iBAC9CA,EAAUA,EAAU,MAAW,EAAE,EAAI,QACrCA,EAAUA,EAAU,gBAAqB,EAAE,EAAI,kBAC/CA,EAAUA,EAAU,OAAY,EAAE,EAAI,SACtCA,EAAUA,EAAU,IAAS,EAAE,EAAI,MACnCA,EAAUA,EAAU,YAAiB,EAAE,EAAI,cAC3CA,EAAUA,EAAU,YAAiB,EAAE,EAAI,cAC3CA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,MAAW,EAAE,EAAI,QACrCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,GAAQ,EAAE,EAAI,KAClCA,EAAUA,EAAU,GAAQ,EAAE,EAAI,KAClCA,EAAUA,EAAU,GAAQ,EAAE,EAAI,KAClCA,EAAUA,EAAU,aAAkB,EAAE,EAAI,eAC5CA,EAAUA,EAAU,OAAY,EAAE,EAAI,SACtCA,EAAUA,EAAU,OAAY,EAAE,EAAI,SACtCA,EAAUA,EAAU,OAAY,EAAE,EAAI,SACtCA,EAAUA,EAAU,OAAY,GAAG,EAAI,SACvCA,EAAUA,EAAU,OAAY,EAAE,EAAI,SACtCA,EAAUA,EAAU,OAAY,GAAG,EAAI,SACvCA,EAAUA,EAAU,OAAY,GAAG,EAAI,SACvCA,EAAUA,EAAU,qBAA0B,EAAE,EAAI,sBACvD,GAAEA,IAAcA,EAAY,CAAE,EAAC,EAEhC,IAAIqC,GACH,SAAUA,EAAO,CACdA,EAAMA,EAAM,KAAU,CAAC,EAAI,OAC3BA,EAAMA,EAAM,cAAmB,CAAC,EAAI,gBACpCA,EAAMA,EAAM,UAAe,CAAC,EAAI,YAChCA,EAAMA,EAAM,iBAAsB,CAAC,EAAI,mBACvCA,EAAMA,EAAM,qBAA0B,CAAC,EAAI,uBAC3CA,EAAMA,EAAM,iBAAsB,CAAC,EAAI,mBACvCA,EAAMA,EAAM,oBAAyB,CAAC,EAAI,sBAE1CA,EAAMA,EAAM,oBAAyB,CAAC,EAAI,sBAC1CA,EAAMA,EAAM,gBAAqB,CAAC,EAAI,kBACtCA,EAAMA,EAAM,mBAAwB,EAAE,EAAI,qBAC1CA,EAAMA,EAAM,qBAA0B,EAAE,EAAI,uBAC5CA,EAAMA,EAAM,mBAAwB,EAAE,EAAI,qBAC1CA,EAAMA,EAAM,mBAAwB,EAAE,EAAI,qBAC1CA,EAAMA,EAAM,mBAAwB,EAAE,EAAI,qBAE1CA,EAAMA,EAAM,kBAAuB,EAAE,EAAI,oBACzCA,EAAMA,EAAM,cAAmB,EAAE,EAAI,gBAErCA,EAAMA,EAAM,wBAA6B,EAAE,EAAI,0BAE/CA,EAAMA,EAAM,cAAmB,EAAE,EAAI,gBACrCA,EAAMA,EAAM,cAAmB,EAAE,EAAI,gBACrCA,EAAMA,EAAM,iBAAsB,EAAE,EAAI,mBACxCA,EAAMA,EAAM,cAAmB,EAAE,EAAI,gBAErCA,EAAMA,EAAM,eAAoB,EAAE,EAAI,iBACtCA,EAAMA,EAAM,qBAA0B,EAAE,EAAI,uBAC5CA,EAAMA,EAAM,aAAkB,EAAE,EAAI,eACpCA,EAAMA,EAAM,aAAkB,EAAE,EAAI,eACpCA,EAAMA,EAAM,oBAAyB,EAAE,EAAI,sBAC3CA,EAAMA,EAAM,cAAmB,EAAE,EAAI,gBACrCA,EAAMA,EAAM,gBAAqB,EAAE,EAAI,kBACvCA,EAAMA,EAAM,YAAiB,EAAE,EAAI,aACtC,GAAEA,IAAUA,EAAQ,CAAE,EAAC,EACxB,SAASC,EAAarsF,EAAG,CACrB,OAAQA,IAAM+pF,EAAU,OACpB/pF,IAAM+pF,EAAU,SAChB/pF,IAAM+pF,EAAU,KAChB/pF,IAAM+pF,EAAU,UAChB/pF,IAAM+pF,EAAU,cACvB,CACD,SAASuC,EAAkBtsF,EAAG,CAC1B,OAAOA,IAAM+pF,EAAU,OAAS/pF,IAAM+pF,EAAU,IAAMsC,EAAarsF,CAAC,CACvE,CACD,SAASkqF,EAASlqF,EAAG,CACjB,OAAOA,GAAK+pF,EAAU,MAAQ/pF,GAAK+pF,EAAU,IAChD,CACD,SAASwC,EAAavsF,EAAG,CACrB,OAASA,GAAK+pF,EAAU,QAAU/pF,GAAK+pF,EAAU,QAC5C/pF,GAAK+pF,EAAU,QAAU/pF,GAAK+pF,EAAU,MAChD,CACD,SAASyC,EAAWxsF,EAAG,CACnB,OAASA,GAAK+pF,EAAU,QAAU/pF,GAAK+pF,EAAU,QAC5C/pF,GAAK+pF,EAAU,QAAU/pF,GAAK+pF,EAAU,MAChD,CACD,IAAI0C,GACH,SAAUA,EAAW,CAClBA,EAAUA,EAAU,QAAa,CAAC,EAAI,UACtCA,EAAUA,EAAU,SAAc,CAAC,EAAI,WACvCA,EAAUA,EAAU,OAAY,CAAC,EAAI,SACrCA,EAAUA,EAAU,OAAY,CAAC,EAAI,WACtCA,EAAYvrB,EAAQ,YAAcA,EAAoB,WAAE,EAAC,EAO5D,IAAIwrB,EAAY,CACZ,MAAO,IAAI,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EAC1D,SAAU,IAAI,WAAW,CAAC,GAAM,GAAM,EAAI,CAAC,EAC3C,WAAY,IAAI,WAAW,CAAC,GAAM,GAAM,EAAI,CAAC,EAC7C,UAAW,IAAI,WAAW,CAAC,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAI,CAAC,EAC1E,SAAU,IAAI,WAAW,CAAC,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAI,CAAC,EACnE,SAAU,IAAI,WAAW,CAAC,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAI,CAAC,CACvE,EACIC,EAA2B,UAAY,CACvC,SAASA,EAAUrpF,EAAIspF,EAAK,CACxB,IAAIzB,EAAK7nF,EAAG,QAASupF,EAAU1B,IAAO,OAAS,GAAQA,EAAI2B,EAAKxpF,EAAG,eAAgBypF,EAAiBD,IAAO,OAAS,GAAOA,EAC3H,KAAK,IAAMF,EAEX,KAAK,MAAQR,EAAM,KAEnB,KAAK,OAAS,GAEd,KAAK,aAAe,EAEpB,KAAK,MAAQ,EAEb,KAAK,UAAYA,EAAM,KAEvB,KAAK,UAAY,GAEjB,KAAK,QAAU,GAEf,KAAK,OAAS,EACd,KAAK,gBAAkB,OACvB,KAAK,cAAgB,EACrB,KAAK,UAAY,EACjB,KAAK,YAAc,EAEnB,KAAK,aAAe,EACpB,KAAK,aAAe,EACpB,KAAK,QAAUS,EACf,KAAK,eAAiBE,EACtB,KAAK,WAAaF,EAAUV,EAAY,cAAgBA,EAAY,cACvE,CACD,OAAAQ,EAAU,UAAU,MAAQ,UAAY,CACpC,KAAK,MAAQP,EAAM,KACnB,KAAK,OAAS,GACd,KAAK,aAAe,EACpB,KAAK,MAAQ,EACb,KAAK,UAAYA,EAAM,KACvB,KAAK,gBAAkB,OACvB,KAAK,QAAU,GACf,KAAK,OAAS,CACtB,EACIO,EAAU,UAAU,MAAQ,SAAUK,EAAO,CACzC,KAAK,QAAU,KAAK,OAAO,OAC3B,KAAK,OAASA,EACd,KAAK,MAAK,CAClB,EACIL,EAAU,UAAU,IAAM,UAAY,CAC9B,KAAK,SACL,KAAK,OAAM,CACvB,EACIA,EAAU,UAAU,MAAQ,UAAY,CACpC,KAAK,QAAU,EACvB,EACIA,EAAU,UAAU,OAAS,UAAY,CACrC,KAAK,QAAU,GACX,KAAK,MAAQ,KAAK,OAAO,OAAS,KAAK,QACvC,KAAK,MAAK,CAEtB,EAIIA,EAAU,UAAU,SAAW,UAAY,CACvC,OAAO,KAAK,KACpB,EAIIA,EAAU,UAAU,gBAAkB,UAAY,CAC9C,OAAO,KAAK,YACpB,EACIA,EAAU,UAAU,UAAY,SAAU3sF,EAAG,CACrCA,IAAM+pF,EAAU,IACf,CAAC,KAAK,gBAAkB,KAAK,cAAcA,EAAU,EAAE,GACpD,KAAK,MAAQ,KAAK,cAClB,KAAK,IAAI,OAAO,KAAK,aAAc,KAAK,KAAK,EAEjD,KAAK,MAAQqC,EAAM,cACnB,KAAK,aAAe,KAAK,OAEpB,KAAK,gBAAkBpsF,IAAM+pF,EAAU,MAC5C,KAAK,MAAQqC,EAAM,aAE/B,EACIO,EAAU,UAAU,0BAA4B,SAAU3sF,EAAG,CACzD,IAAIitF,EAAQ,KAAK,gBAAkB,KAAK,gBAAgB,OACpDC,EAAUD,EAENX,EAAkBtsF,CAAC,GAElBA,EAAI,MAAU,KAAK,gBAAgB,KAAK,aAAa,EAC9D,GAAI,CAACktF,EACD,KAAK,UAAY,WAEZ,CAACD,EAAO,CACb,KAAK,gBACL,MACH,CACD,KAAK,cAAgB,EACrB,KAAK,MAAQb,EAAM,UACnB,KAAK,eAAepsF,CAAC,CAC7B,EAEI2sF,EAAU,UAAU,kBAAoB,SAAU3sF,EAAG,CACjD,GAAI,KAAK,gBAAkB,KAAK,gBAAgB,OAAQ,CACpD,GAAIA,IAAM+pF,EAAU,IAAMsC,EAAarsF,CAAC,EAAG,CACvC,IAAImtF,EAAY,KAAK,MAAQ,KAAK,gBAAgB,OAClD,GAAI,KAAK,aAAeA,EAAW,CAE/B,IAAIC,EAAc,KAAK,MACvB,KAAK,MAAQD,EACb,KAAK,IAAI,OAAO,KAAK,aAAcA,CAAS,EAC5C,KAAK,MAAQC,CAChB,CACD,KAAK,UAAY,GACjB,KAAK,aAAeD,EAAY,EAChC,KAAK,sBAAsBntF,CAAC,EAC5B,MACH,CACD,KAAK,cAAgB,CACxB,EACIA,EAAI,MAAU,KAAK,gBAAgB,KAAK,aAAa,EACtD,KAAK,eAAiB,EAEjB,KAAK,gBAAkB,EACxB,KAAK,kBAAoB0sF,EAAU,SAE/B,KAAK,gBAAkB1sF,IAAM+pF,EAAU,MACvC,KAAK,MAAQqC,EAAM,cAGlB,KAAK,cAAcrC,EAAU,EAAE,IAEpC,KAAK,cAAgB,GAKzB,KAAK,cAAgB,EAAO/pF,IAAM+pF,EAAU,GAExD,EACI4C,EAAU,UAAU,mBAAqB,SAAU3sF,EAAG,CAC9CA,IAAM0sF,EAAU,MAAM,KAAK,aAAa,EACpC,EAAE,KAAK,gBAAkBA,EAAU,MAAM,SACzC,KAAK,MAAQN,EAAM,cACnB,KAAK,gBAAkBM,EAAU,SACjC,KAAK,cAAgB,EACrB,KAAK,aAAe,KAAK,MAAQ,IAIrC,KAAK,cAAgB,EACrB,KAAK,MAAQN,EAAM,cACnB,KAAK,mBAAmBpsF,CAAC,EAErC,EAOI2sF,EAAU,UAAU,cAAgB,SAAU3sF,EAAG,CAC7C,KAAO,EAAE,KAAK,MAAQ,KAAK,OAAO,OAAS,KAAK,QAC5C,GAAI,KAAK,OAAO,WAAW,KAAK,MAAQ,KAAK,MAAM,IAAMA,EACrD,MAAO,GASf,YAAK,MAAQ,KAAK,OAAO,OAAS,KAAK,OAAS,EACzC,EACf,EASI2sF,EAAU,UAAU,mBAAqB,SAAU3sF,EAAG,CAC9CA,IAAM,KAAK,gBAAgB,KAAK,aAAa,EACzC,EAAE,KAAK,gBAAkB,KAAK,gBAAgB,SAC1C,KAAK,kBAAoB0sF,EAAU,SACnC,KAAK,IAAI,QAAQ,KAAK,aAAc,KAAK,MAAO,CAAC,EAGjD,KAAK,IAAI,UAAU,KAAK,aAAc,KAAK,MAAO,CAAC,EAEvD,KAAK,cAAgB,EACrB,KAAK,aAAe,KAAK,MAAQ,EACjC,KAAK,MAAQN,EAAM,MAGlB,KAAK,gBAAkB,EAExB,KAAK,cAAc,KAAK,gBAAgB,CAAC,CAAC,IAC1C,KAAK,cAAgB,GAGpBpsF,IAAM,KAAK,gBAAgB,KAAK,cAAgB,CAAC,IAEtD,KAAK,cAAgB,EAEjC,EAOI2sF,EAAU,UAAU,eAAiB,SAAU3sF,EAAG,CAC9C,OAAO,KAAK,QAAU,CAACssF,EAAkBtsF,CAAC,EAAIusF,EAAavsF,CAAC,CACpE,EACI2sF,EAAU,UAAU,aAAe,SAAUU,EAAU1nC,EAAQ,CAC3D,KAAK,UAAY,GACjB,KAAK,gBAAkB0nC,EACvB,KAAK,cAAgB1nC,EACrB,KAAK,MAAQymC,EAAM,oBAC3B,EACIO,EAAU,UAAU,mBAAqB,SAAU3sF,EAAG,CAClD,GAAIA,IAAM+pF,EAAU,gBAChB,KAAK,MAAQqC,EAAM,kBACnB,KAAK,aAAe,KAAK,MAAQ,UAE5BpsF,IAAM+pF,EAAU,aACrB,KAAK,MAAQqC,EAAM,wBACnB,KAAK,aAAe,KAAK,MAAQ,UAE5B,KAAK,eAAepsF,CAAC,EAAG,CAC7B,IAAIo+E,EAAQp+E,EAAI,GAChB,KAAK,aAAe,KAAK,MACrB,CAAC,KAAK,SAAWo+E,IAAUsO,EAAU,SAAS,CAAC,EAC/C,KAAK,aAAaA,EAAU,SAAU,CAAC,EAGvC,KAAK,MACD,CAAC,KAAK,SAAWtO,IAAUsO,EAAU,UAAU,CAAC,EAC1CN,EAAM,eACNA,EAAM,SAEvB,MACQpsF,IAAM+pF,EAAU,MACrB,KAAK,MAAQqC,EAAM,sBAGnB,KAAK,MAAQA,EAAM,KACnB,KAAK,UAAUpsF,CAAC,EAE5B,EACI2sF,EAAU,UAAU,eAAiB,SAAU3sF,EAAG,CAC1CssF,EAAkBtsF,CAAC,IACnB,KAAK,IAAI,cAAc,KAAK,aAAc,KAAK,KAAK,EACpD,KAAK,aAAe,GACpB,KAAK,MAAQosF,EAAM,oBACnB,KAAK,yBAAyBpsF,CAAC,EAE3C,EACI2sF,EAAU,UAAU,0BAA4B,SAAU3sF,EAAG,CACrDqsF,EAAarsF,CAAC,IAGTA,IAAM+pF,EAAU,GACrB,KAAK,MAAQqC,EAAM,MAGnB,KAAK,MAAQ,KAAK,eAAepsF,CAAC,EAC5BosF,EAAM,iBACNA,EAAM,iBACZ,KAAK,aAAe,KAAK,OAErC,EACIO,EAAU,UAAU,sBAAwB,SAAU3sF,EAAG,EACjDA,IAAM+pF,EAAU,IAAMsC,EAAarsF,CAAC,KACpC,KAAK,IAAI,WAAW,KAAK,aAAc,KAAK,KAAK,EACjD,KAAK,aAAe,GACpB,KAAK,MAAQosF,EAAM,oBACnB,KAAK,yBAAyBpsF,CAAC,EAE3C,EACI2sF,EAAU,UAAU,yBAA2B,SAAU3sF,EAAG,EAEpDA,IAAM+pF,EAAU,IAAM,KAAK,cAAcA,EAAU,EAAE,KACrD,KAAK,MAAQqC,EAAM,KACnB,KAAK,UAAYA,EAAM,KACvB,KAAK,aAAe,KAAK,MAAQ,EAE7C,EACIO,EAAU,UAAU,yBAA2B,SAAU3sF,EAAG,CACpDA,IAAM+pF,EAAU,IAChB,KAAK,IAAI,aAAa,KAAK,KAAK,EAC5B,KAAK,WACL,KAAK,MAAQqC,EAAM,aACnB,KAAK,cAAgB,GAGrB,KAAK,MAAQA,EAAM,KAEvB,KAAK,UAAY,KAAK,MACtB,KAAK,aAAe,KAAK,MAAQ,GAE5BpsF,IAAM+pF,EAAU,MACrB,KAAK,MAAQqC,EAAM,iBAEbC,EAAarsF,CAAC,IACpB,KAAK,MAAQosF,EAAM,gBACnB,KAAK,aAAe,KAAK,MAErC,EACIO,EAAU,UAAU,sBAAwB,SAAU3sF,EAAG,CACjDA,IAAM+pF,EAAU,IAChB,KAAK,IAAI,iBAAiB,KAAK,KAAK,EACpC,KAAK,MAAQqC,EAAM,KACnB,KAAK,UAAYA,EAAM,KACvB,KAAK,aAAe,KAAK,MAAQ,EACjC,KAAK,UAAY,IAEXC,EAAarsF,CAAC,IACpB,KAAK,MAAQosF,EAAM,oBACnB,KAAK,yBAAyBpsF,CAAC,EAE3C,EACI2sF,EAAU,UAAU,qBAAuB,SAAU3sF,EAAG,EAChDA,IAAM+pF,EAAU,IAAMuC,EAAkBtsF,CAAC,KACzC,KAAK,IAAI,aAAa,KAAK,aAAc,KAAK,KAAK,EACnD,KAAK,aAAe,GACpB,KAAK,MAAQosF,EAAM,mBACnB,KAAK,wBAAwBpsF,CAAC,EAE1C,EACI2sF,EAAU,UAAU,wBAA0B,SAAU3sF,EAAG,CACnDA,IAAM+pF,EAAU,GAChB,KAAK,MAAQqC,EAAM,qBAEdpsF,IAAM+pF,EAAU,OAAS/pF,IAAM+pF,EAAU,IAC9C,KAAK,IAAI,YAAY0C,EAAU,QAAS,KAAK,KAAK,EAClD,KAAK,MAAQL,EAAM,oBACnB,KAAK,yBAAyBpsF,CAAC,GAEzBqsF,EAAarsF,CAAC,IACpB,KAAK,IAAI,YAAYysF,EAAU,QAAS,KAAK,KAAK,EAClD,KAAK,MAAQL,EAAM,gBACnB,KAAK,aAAe,KAAK,MAErC,EACIO,EAAU,UAAU,0BAA4B,SAAU3sF,EAAG,CACrDA,IAAM+pF,EAAU,aAChB,KAAK,MAAQqC,EAAM,mBACnB,KAAK,aAAe,KAAK,MAAQ,GAE5BpsF,IAAM+pF,EAAU,aACrB,KAAK,MAAQqC,EAAM,mBACnB,KAAK,aAAe,KAAK,MAAQ,GAE3BC,EAAarsF,CAAC,IACpB,KAAK,aAAe,KAAK,MACzB,KAAK,MAAQosF,EAAM,mBACnB,KAAK,8BAA8BpsF,CAAC,EAEhD,EACI2sF,EAAU,UAAU,uBAAyB,SAAU3sF,EAAGstF,EAAO,CACzDttF,IAAMstF,GACL,CAAC,KAAK,gBAAkB,KAAK,cAAcA,CAAK,GACjD,KAAK,IAAI,aAAa,KAAK,aAAc,KAAK,KAAK,EACnD,KAAK,aAAe,GACpB,KAAK,IAAI,YAAYA,IAAUvD,EAAU,YACnC0C,EAAU,OACVA,EAAU,OAAQ,KAAK,KAAK,EAClC,KAAK,MAAQL,EAAM,qBAEd,KAAK,gBAAkBpsF,IAAM+pF,EAAU,MAC5C,KAAK,UAAY,KAAK,MACtB,KAAK,MAAQqC,EAAM,aAE/B,EACIO,EAAU,UAAU,kCAAoC,SAAU3sF,EAAG,CACjE,KAAK,uBAAuBA,EAAG+pF,EAAU,WAAW,CAC5D,EACI4C,EAAU,UAAU,kCAAoC,SAAU3sF,EAAG,CACjE,KAAK,uBAAuBA,EAAG+pF,EAAU,WAAW,CAC5D,EACI4C,EAAU,UAAU,8BAAgC,SAAU3sF,EAAG,CACzDqsF,EAAarsF,CAAC,GAAKA,IAAM+pF,EAAU,IACnC,KAAK,IAAI,aAAa,KAAK,aAAc,KAAK,KAAK,EACnD,KAAK,aAAe,GACpB,KAAK,IAAI,YAAY0C,EAAU,SAAU,KAAK,KAAK,EACnD,KAAK,MAAQL,EAAM,oBACnB,KAAK,yBAAyBpsF,CAAC,GAE1B,KAAK,gBAAkBA,IAAM+pF,EAAU,MAC5C,KAAK,UAAY,KAAK,MACtB,KAAK,MAAQqC,EAAM,aAE/B,EACIO,EAAU,UAAU,uBAAyB,SAAU3sF,EAAG,CAClDA,IAAM+pF,EAAU,sBAChB,KAAK,MAAQqC,EAAM,cACnB,KAAK,cAAgB,GAGrB,KAAK,MACDpsF,IAAM+pF,EAAU,KACVqC,EAAM,cACNA,EAAM,aAE5B,EACIO,EAAU,UAAU,mBAAqB,SAAU3sF,EAAG,EAC9CA,IAAM+pF,EAAU,IAAM,KAAK,cAAcA,EAAU,EAAE,KACrD,KAAK,IAAI,cAAc,KAAK,aAAc,KAAK,KAAK,EACpD,KAAK,MAAQqC,EAAM,KACnB,KAAK,aAAe,KAAK,MAAQ,EAE7C,EACIO,EAAU,UAAU,6BAA+B,SAAU3sF,EAAG,EACxDA,IAAM+pF,EAAU,IAAM,KAAK,cAAcA,EAAU,EAAE,KACrD,KAAK,IAAI,wBAAwB,KAAK,aAAc,KAAK,KAAK,EAC9D,KAAK,MAAQqC,EAAM,KACnB,KAAK,aAAe,KAAK,MAAQ,EAE7C,EACIO,EAAU,UAAU,mBAAqB,SAAU3sF,EAAG,CAC9CA,IAAM+pF,EAAU,MAChB,KAAK,MAAQqC,EAAM,cACnB,KAAK,gBAAkBM,EAAU,WAEjC,KAAK,cAAgB,EACrB,KAAK,aAAe,KAAK,MAAQ,GAGjC,KAAK,MAAQN,EAAM,aAE/B,EACIO,EAAU,UAAU,sBAAwB,SAAU3sF,EAAG,EACjDA,IAAM+pF,EAAU,IAAM,KAAK,cAAcA,EAAU,EAAE,KACrD,KAAK,IAAI,UAAU,KAAK,aAAc,KAAK,MAAO,CAAC,EACnD,KAAK,MAAQqC,EAAM,KACnB,KAAK,aAAe,KAAK,MAAQ,EAE7C,EACIO,EAAU,UAAU,oBAAsB,SAAU3sF,EAAG,CACnD,IAAIo+E,EAAQp+E,EAAI,GACZo+E,IAAUsO,EAAU,UAAU,CAAC,EAC/B,KAAK,aAAaA,EAAU,UAAW,CAAC,EAEnCtO,IAAUsO,EAAU,SAAS,CAAC,EACnC,KAAK,aAAaA,EAAU,SAAU,CAAC,GAGvC,KAAK,MAAQN,EAAM,UACnB,KAAK,eAAepsF,CAAC,EAEjC,EACI2sF,EAAU,UAAU,kBAAoB,SAAU3sF,EAAG,CAEjD,KAAK,aAAe,EACpB,KAAK,aAAe,EAChBA,IAAM+pF,EAAU,OAChB,KAAK,MAAQqC,EAAM,oBAEdpsF,IAAM+pF,EAAU,MAIrB,KAAK,UAAY,EACjB,KAAK,YAAc,KAAK,WAAW,CAAC,EACpC,KAAK,MAAQqC,EAAM,cACnB,KAAK,mBAAmBpsF,CAAC,EAErC,EACI2sF,EAAU,UAAU,mBAAqB,SAAU3sF,EAAG,CAGlD,GAFA,KAAK,cAAgB,EACrB,KAAK,aAAgBmsF,EAAY,iBAAiB,KAAK,WAAY,KAAK,YAAa,KAAK,UAAY,EAAGnsF,CAAC,EACtG,KAAK,UAAY,EAAG,CACpB,KAAK,gBAAe,EACpB,KAAK,QACL,MACH,CACD,KAAK,YAAc,KAAK,WAAW,KAAK,SAAS,EACjD,IAAIutF,EAAS,KAAK,YAAcpB,EAAY,aAAa,aAEzD,GAAIoB,EAAQ,CAER,IAAItC,GAAesC,GAAU,IAAM,EAEnC,GAAI,CAAC,KAAK,kBAAiB,GAAMvtF,IAAM+pF,EAAU,KAC7C,KAAK,WAAakB,MAEjB,CAED,IAAIuC,EAAc,KAAK,MAAQ,KAAK,aAAe,EAC/CA,EAAc,KAAK,cACnB,KAAK,YAAY,KAAK,aAAcA,CAAW,EAGnD,KAAK,aAAe,KAAK,UACzB,KAAK,WAAavC,EAClB,KAAK,aAAe,EACpB,KAAK,aAAe,KAAK,MAAQ,EAC7BA,IAAgB,GAChB,KAAK,gBAAe,CAE3B,CACJ,CACT,EACI0B,EAAU,UAAU,gBAAkB,UAAY,CAE9C,GADA,KAAK,MAAQ,KAAK,UACd,KAAK,eAAiB,EAG1B,KAAI1B,GAAe,KAAK,WAAW,KAAK,YAAY,EAAIkB,EAAY,aAAa,eAC7E,GACJ,OAAQlB,EAAW,CACf,IAAK,GAAG,CACJ,KAAK,cAAc,KAAK,WAAW,KAAK,YAAY,EAChD,CAACkB,EAAY,aAAa,YAAY,EAC1C,KACH,CACD,IAAK,GAAG,CACJ,KAAK,cAAc,KAAK,WAAW,KAAK,aAAe,CAAC,CAAC,EACzD,KACH,CACD,IAAK,GACD,KAAK,cAAc,KAAK,WAAW,KAAK,aAAe,CAAC,CAAC,EACzD,KAAK,cAAc,KAAK,WAAW,KAAK,aAAe,CAAC,CAAC,CAEhE,EACT,EACIQ,EAAU,UAAU,yBAA2B,SAAU3sF,EAAG,EACnDA,EAAI,MAAU+pF,EAAU,QACzB,KAAK,eACL,KAAK,MAAQqC,EAAM,cAGnB,KAAK,MAAQA,EAAM,gBACnB,KAAK,qBAAqBpsF,CAAC,EAEvC,EACI2sF,EAAU,UAAU,kBAAoB,SAAUc,EAAQ,CACtD,IAAID,EAAc,KAAK,MAAQ,KAAK,aAAe,EAC/CE,EAAcF,EAAc,GAAI,EAAO,KAAK,QAAUpB,EAAM,aAC5DsB,IAAgB,KAAK,QAEjBF,EAAc,KAAK,cACnB,KAAK,YAAY,KAAK,aAAcA,CAAW,EAEnD,KAAK,aAAe,KAAK,MAAQ,OAAOC,CAAM,EAC9C,KAAK,iBAAkBtB,EAAY,kBAAkB,KAAK,YAAY,CAAC,GAE3E,KAAK,MAAQ,KAAK,SAC1B,EACIQ,EAAU,UAAU,qBAAuB,SAAU3sF,EAAG,CAChDA,IAAM+pF,EAAU,KAChB,KAAK,kBAAkB,EAAI,EAEtBG,EAASlqF,CAAC,GACf,KAAK,aAAe,KAAK,aAAe,IAAMA,EAAI+pF,EAAU,MAC5D,KAAK,iBAGD,KAAK,oBACL,KAAK,kBAAkB,EAAK,EAG5B,KAAK,MAAQ,KAAK,UAEtB,KAAK,QAEjB,EACI4C,EAAU,UAAU,iBAAmB,SAAU3sF,EAAG,CAC5CA,IAAM+pF,EAAU,KAChB,KAAK,kBAAkB,EAAI,EAEtBG,EAASlqF,CAAC,GACf,KAAK,aAAe,KAAK,aAAe,IAAMA,EAAI+pF,EAAU,MAC5D,KAAK,gBAEAyC,EAAWxsF,CAAC,GACjB,KAAK,aACD,KAAK,aAAe,KAAOA,EAAI,IAAQ+pF,EAAU,OAAS,IAC9D,KAAK,iBAGD,KAAK,oBACL,KAAK,kBAAkB,EAAK,EAG5B,KAAK,MAAQ,KAAK,UAEtB,KAAK,QAEjB,EACI4C,EAAU,UAAU,kBAAoB,UAAY,CAChD,MAAQ,CAAC,KAAK,UACT,KAAK,YAAcP,EAAM,MACtB,KAAK,YAAcA,EAAM,aACzC,EAIIO,EAAU,UAAU,QAAU,UAAY,CAElC,KAAK,SAAW,KAAK,eAAiB,KAAK,QACvC,KAAK,QAAUP,EAAM,MACpB,KAAK,QAAUA,EAAM,cAAgB,KAAK,gBAAkB,GAC7D,KAAK,IAAI,OAAO,KAAK,aAAc,KAAK,KAAK,EAC7C,KAAK,aAAe,KAAK,QAEpB,KAAK,QAAUA,EAAM,oBAC1B,KAAK,QAAUA,EAAM,oBACrB,KAAK,QAAUA,EAAM,sBACrB,KAAK,IAAI,aAAa,KAAK,aAAc,KAAK,KAAK,EACnD,KAAK,aAAe,KAAK,OAGzC,EACIO,EAAU,UAAU,eAAiB,UAAY,CAC7C,OAAO,KAAK,MAAQ,KAAK,OAAO,OAAS,KAAK,QAAU,KAAK,OACrE,EAMIA,EAAU,UAAU,MAAQ,UAAY,CACpC,KAAO,KAAK,kBAAkB,CAC1B,IAAI3sF,EAAI,KAAK,OAAO,WAAW,KAAK,MAAQ,KAAK,MAAM,EACvD,OAAQ,KAAK,MAAK,CACd,KAAKosF,EAAM,KAAM,CACb,KAAK,UAAUpsF,CAAC,EAChB,KACH,CACD,KAAKosF,EAAM,qBAAsB,CAC7B,KAAK,0BAA0BpsF,CAAC,EAChC,KACH,CACD,KAAKosF,EAAM,aAAc,CACrB,KAAK,kBAAkBpsF,CAAC,EACxB,KACH,CACD,KAAKosF,EAAM,cAAe,CACtB,KAAK,mBAAmBpsF,CAAC,EACzB,KACH,CACD,KAAKosF,EAAM,mBAAoB,CAC3B,KAAK,kCAAkCpsF,CAAC,EACxC,KACH,CACD,KAAKosF,EAAM,gBAAiB,CACxB,KAAK,qBAAqBpsF,CAAC,EAC3B,KACH,CACD,KAAKosF,EAAM,cAAe,CACtB,KAAK,mBAAmBpsF,CAAC,EACzB,KACH,CACD,KAAKosF,EAAM,iBAAkB,CACzB,KAAK,sBAAsBpsF,CAAC,EAC5B,KACH,CACD,KAAKosF,EAAM,oBAAqB,CAC5B,KAAK,yBAAyBpsF,CAAC,EAC/B,KACH,CACD,KAAKosF,EAAM,UAAW,CAClB,KAAK,eAAepsF,CAAC,EACrB,KACH,CACD,KAAKosF,EAAM,iBAAkB,CACzB,KAAK,sBAAsBpsF,CAAC,EAC5B,KACH,CACD,KAAKosF,EAAM,cAAe,CACtB,KAAK,mBAAmBpsF,CAAC,EACzB,KACH,CACD,KAAKosF,EAAM,mBAAoB,CAC3B,KAAK,wBAAwBpsF,CAAC,EAC9B,KACH,CACD,KAAKosF,EAAM,mBAAoB,CAC3B,KAAK,kCAAkCpsF,CAAC,EACxC,KACH,CACD,KAAKosF,EAAM,qBAAsB,CAC7B,KAAK,0BAA0BpsF,CAAC,EAChC,KACH,CACD,KAAKosF,EAAM,qBAAsB,CAC7B,KAAK,0BAA0BpsF,CAAC,EAChC,KACH,CACD,KAAKosF,EAAM,oBAAqB,CAC5B,KAAK,yBAAyBpsF,CAAC,EAC/B,KACH,CACD,KAAKosF,EAAM,eAAgB,CACvB,KAAK,oBAAoBpsF,CAAC,EAC1B,KACH,CACD,KAAKosF,EAAM,mBAAoB,CAC3B,KAAK,8BAA8BpsF,CAAC,EACpC,KACH,CACD,KAAKosF,EAAM,iBAAkB,CACzB,KAAK,sBAAsBpsF,CAAC,EAC5B,KACH,CACD,KAAKosF,EAAM,cAAe,CACtB,KAAK,mBAAmBpsF,CAAC,EACzB,KACH,CACD,KAAKosF,EAAM,kBAAmB,CAC1B,KAAK,uBAAuBpsF,CAAC,EAC7B,KACH,CACD,KAAKosF,EAAM,cAAe,CACtB,KAAK,mBAAmBpsF,CAAC,EACzB,KACH,CACD,KAAKosF,EAAM,wBAAyB,CAChC,KAAK,6BAA6BpsF,CAAC,EACnC,KACH,CACD,KAAKosF,EAAM,cAAe,CACtB,KAAK,mBAAmBpsF,CAAC,EACzB,KACH,CACD,KAAKosF,EAAM,aAAc,CACrB,KAAK,kBAAkBpsF,CAAC,EACxB,KACH,CACD,KAAKosF,EAAM,YAAa,CACpB,KAAK,iBAAiBpsF,CAAC,EACvB,KACH,CACD,KAAKosF,EAAM,gBAAiB,CACxB,KAAK,qBAAqBpsF,CAAC,EAC3B,KACH,CACD,QAEI,KAAK,yBAAyBA,CAAC,CAEtC,CACD,KAAK,OACR,CACD,KAAK,QAAO,CACpB,EACI2sF,EAAU,UAAU,OAAS,UAAY,CACjC,KAAK,QAAUP,EAAM,eACrB,KAAK,gBAAe,EAGpB,KAAK,aAAe,KAAK,OACzB,KAAK,mBAAkB,EAE3B,KAAK,IAAI,OACjB,EAEIO,EAAU,UAAU,mBAAqB,UAAY,CACjD,IAAIgB,EAAW,KAAK,OAAO,OAAS,KAAK,OACrC,KAAK,QAAUvB,EAAM,cACjB,KAAK,kBAAoBM,EAAU,SACnC,KAAK,IAAI,QAAQ,KAAK,aAAciB,EAAU,CAAC,EAG/C,KAAK,IAAI,UAAU,KAAK,aAAcA,EAAU,CAAC,EAGhD,KAAK,QAAUvB,EAAM,iBAC1B,KAAK,kBAAiB,EACtB,KAAK,kBAAkB,EAAK,EAGvB,KAAK,QAAUA,EAAM,aAC1B,KAAK,kBAAiB,EACtB,KAAK,kBAAkB,EAAK,EAGvB,KAAK,QAAUA,EAAM,WAC1B,KAAK,QAAUA,EAAM,qBACrB,KAAK,QAAUA,EAAM,sBACrB,KAAK,QAAUA,EAAM,oBACrB,KAAK,QAAUA,EAAM,iBACrB,KAAK,QAAUA,EAAM,oBACrB,KAAK,QAAUA,EAAM,oBACrB,KAAK,QAAUA,EAAM,oBACrB,KAAK,QAAUA,EAAM,kBAOrB,KAAK,IAAI,OAAO,KAAK,aAAcuB,CAAQ,CAEvD,EACIhB,EAAU,UAAU,YAAc,SAAUr5E,EAAOq6E,EAAU,CACrD,KAAK,YAAcvB,EAAM,MACzB,KAAK,YAAcA,EAAM,aACzB,KAAK,IAAI,aAAa94E,EAAOq6E,CAAQ,EAGrC,KAAK,IAAI,OAAOr6E,EAAOq6E,CAAQ,CAE3C,EACIhB,EAAU,UAAU,cAAgB,SAAUiB,EAAI,CAC1C,KAAK,YAAcxB,EAAM,MACzB,KAAK,YAAcA,EAAM,aACzB,KAAK,IAAI,eAAewB,CAAE,EAG1B,KAAK,IAAI,aAAaA,CAAE,CAEpC,EACWjB,CACV,IACDzrB,EAAA,QAAkByrB,QCv6BlB,IAAItD,GAAmBx3B,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAShuB,EAAGlgB,EAAGshB,EAAGqkD,EAAI,CACxFA,IAAO,SAAWA,EAAKrkD,GAC3B,IAAIskD,EAAO,OAAO,yBAAyB5lE,EAAGshB,CAAC,GAC3C,CAACskD,IAAS,QAASA,EAAO,CAAC5lE,EAAE,WAAa4lE,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAO5lE,EAAEshB,CAAC,CAAE,IAE3D,OAAO,eAAepB,EAAGylD,EAAIC,CAAI,CACrC,EAAM,SAAS1lD,EAAGlgB,EAAGshB,EAAGqkD,EAAI,CACpBA,IAAO,SAAWA,EAAKrkD,GAC3BpB,EAAEylD,CAAE,EAAI3lE,EAAEshB,CAAC,CACf,GACIukD,GAAsB33B,IAAQA,GAAK,qBAAwB,OAAO,OAAU,SAAShuB,EAAGxgC,EAAG,CAC3F,OAAO,eAAewgC,EAAG,UAAW,CAAE,WAAY,GAAM,MAAOxgC,CAAC,CAAE,CACtE,EAAK,SAASwgC,EAAGxgC,EAAG,CAChBwgC,EAAE,QAAaxgC,CACnB,GACIomF,GAAgB53B,IAAQA,GAAK,cAAiB,SAAUtd,EAAK,CAC7D,GAAIA,GAAOA,EAAI,WAAY,OAAOA,EAClC,IAAI9qC,EAAS,GACb,GAAI8qC,GAAO,KAAM,QAAStP,KAAKsP,EAAStP,IAAM,WAAa,OAAO,UAAU,eAAe,KAAKsP,EAAKtP,CAAC,GAAGokD,GAAgB5/E,EAAQ8qC,EAAKtP,CAAC,EACvIukD,UAAmB//E,EAAQ8qC,CAAG,EACvB9qC,CACX,EACA,OAAO,eAAeywD,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC9CA,GAAA,OAAG,OACjB,IAAI2zB,GAAiBpE,GAAah3B,EAAyB,EACvD05B,GAAcz5B,GACdo7B,GAAW,IAAI,IAAI,CACnB,QACA,SACA,WACA,SACA,SACA,WACA,UACJ,CAAC,EACGC,GAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EACpBC,GAAmB,IAAI,IAAI,CAAC,QAAS,OAAO,CAAC,EAC7CC,GAAU,IAAI,IAAI,CAAC,KAAM,IAAI,CAAC,EAC9BC,GAAU,IAAI,IAAI,CAAC,KAAM,IAAI,CAAC,EAC9BC,GAAmB,IAAI,IAAI,CAC3B,CAAC,KAAM,IAAI,IAAI,CAAC,KAAM,KAAM,IAAI,CAAC,CAAC,EAClC,CAAC,KAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EACtB,CAAC,KAAM,IAAI,IAAI,CAAC,QAAS,KAAM,IAAI,CAAC,CAAC,EACrC,CAAC,OAAQ,IAAI,IAAI,CAAC,OAAQ,OAAQ,QAAQ,CAAC,CAAC,EAC5C,CAAC,KAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EACtB,CAAC,IAAKJ,EAAI,EACV,CAAC,KAAMA,EAAI,EACX,CAAC,KAAMA,EAAI,EACX,CAAC,KAAMA,EAAI,EACX,CAAC,KAAMA,EAAI,EACX,CAAC,KAAMA,EAAI,EACX,CAAC,KAAMA,EAAI,EACX,CAAC,SAAUD,EAAQ,EACnB,CAAC,QAASA,EAAQ,EAClB,CAAC,SAAUA,EAAQ,EACnB,CAAC,SAAUA,EAAQ,EACnB,CAAC,WAAYA,EAAQ,EACrB,CAAC,WAAYA,EAAQ,EACrB,CAAC,SAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAC9B,CAAC,WAAY,IAAI,IAAI,CAAC,WAAY,QAAQ,CAAC,CAAC,EAC5C,CAAC,KAAMG,EAAO,EACd,CAAC,KAAMA,EAAO,EACd,CAAC,UAAWF,EAAI,EAChB,CAAC,UAAWA,EAAI,EAChB,CAAC,QAASA,EAAI,EACd,CAAC,aAAcA,EAAI,EACnB,CAAC,UAAWA,EAAI,EAChB,CAAC,MAAOA,EAAI,EACZ,CAAC,KAAMA,EAAI,EACX,CAAC,WAAYA,EAAI,EACjB,CAAC,aAAcA,EAAI,EACnB,CAAC,SAAUA,EAAI,EACf,CAAC,SAAUA,EAAI,EACf,CAAC,OAAQA,EAAI,EACb,CAAC,SAAUA,EAAI,EACf,CAAC,KAAMA,EAAI,EACX,CAAC,OAAQA,EAAI,EACb,CAAC,MAAOA,EAAI,EACZ,CAAC,KAAMA,EAAI,EACX,CAAC,MAAOA,EAAI,EACZ,CAAC,UAAWA,EAAI,EAChB,CAAC,QAASA,EAAI,EACd,CAAC,KAAMA,EAAI,EACX,CAAC,KAAMG,EAAO,EACd,CAAC,KAAMA,EAAO,EACd,CAAC,QAASF,EAAgB,EAC1B,CAAC,QAASA,EAAgB,CAC9B,CAAC,EACGI,GAAe,IAAI,IAAI,CACvB,OACA,OACA,WACA,KACA,MACA,UACA,QACA,QACA,KACA,MACA,QACA,UACA,SACA,OACA,OACA,QACA,SACA,QACA,KACJ,CAAC,EACGC,GAAyB,IAAI,IAAI,CAAC,OAAQ,KAAK,CAAC,EAChDC,GAA0B,IAAI,IAAI,CAClC,KACA,KACA,KACA,KACA,QACA,iBACA,gBACA,OACA,OACJ,CAAC,EACGC,GAAY,QACZt0B,GAAwB,UAAY,CACpC,SAASA,EAAO2yB,EAAK18E,EAAS,CACtBA,IAAY,SAAUA,EAAU,CAAE,GACtC,IAAI5M,EAAI6nF,EAAI2B,EAAI0B,EAAIC,EACpB,KAAK,QAAUv+E,EAEf,KAAK,WAAa,EAElB,KAAK,SAAW,EAKhB,KAAK,aAAe,EACpB,KAAK,QAAU,GACf,KAAK,WAAa,GAClB,KAAK,YAAc,GACnB,KAAK,QAAU,KACf,KAAK,MAAQ,GACb,KAAK,eAAiB,GACtB,KAAK,QAAU,GACf,KAAK,aAAe,EAEpB,KAAK,WAAa,EAElB,KAAK,MAAQ,GACb,KAAK,IAAM08E,GAAuC,GAClD,KAAK,mBAAqBtpF,EAAK4M,EAAQ,iBAAmB,MAAQ5M,IAAO,OAASA,EAAK,CAAC4M,EAAQ,QAChG,KAAK,yBACAi7E,EAAKj7E,EAAQ,2BAA6B,MAAQi7E,IAAO,OAASA,EAAK,CAACj7E,EAAQ,QACrF,KAAK,UAAY,KAAM48E,EAAK58E,EAAQ,aAAe,MAAQ48E,IAAO,OAASA,EAAKe,GAAe,SAAS,KAAK,QAAS,IAAI,GACzHY,GAAMD,EAAK,KAAK,KAAK,gBAAkB,MAAQC,IAAO,QAAkBA,EAAG,KAAKD,EAAI,IAAI,CAC5F,CAGD,OAAAv0B,EAAO,UAAU,OAAS,SAAU3mD,EAAOq6E,EAAU,CACjD,IAAIrqF,EAAI6nF,EACJtrE,EAAO,KAAK,SAASvM,EAAOq6E,CAAQ,EACxC,KAAK,SAAWA,EAAW,GAC1BxC,GAAM7nF,EAAK,KAAK,KAAK,UAAY,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAIuc,CAAI,EACnF,KAAK,WAAa8tE,CAC1B,EAEI1zB,EAAO,UAAU,aAAe,SAAU2zB,EAAI,CAC1C,IAAItqF,EAAI6nF,EAKJnhF,EAAQ,KAAK,UAAU,gBAAe,EAC1C,KAAK,SAAWA,EAAQ,GACvBmhF,GAAM7nF,EAAK,KAAK,KAAK,UAAY,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,KAAQ6oF,GAAY,eAAeyB,CAAE,CAAC,EACjH,KAAK,WAAa5jF,CAC1B,EACIiwD,EAAO,UAAU,cAAgB,SAAUn4D,EAAM,CAC7C,MAAO,CAAC,KAAK,QAAQ,SAAWssF,GAAa,IAAItsF,CAAI,CAC7D,EAEIm4D,EAAO,UAAU,cAAgB,SAAU3mD,EAAOq6E,EAAU,CACxD,KAAK,SAAWA,EAChB,IAAI7rF,EAAO,KAAK,SAASwR,EAAOq6E,CAAQ,EACpC,KAAK,oBACL7rF,EAAOA,EAAK,eAEhB,KAAK,YAAYA,CAAI,CAC7B,EACIm4D,EAAO,UAAU,YAAc,SAAUn4D,EAAM,CAC3C,IAAIwB,EAAI6nF,EAAI2B,EAAI0B,EAChB,KAAK,aAAe,KAAK,WACzB,KAAK,QAAU1sF,EACf,IAAI4sF,EAAe,CAAC,KAAK,QAAQ,SAAWP,GAAiB,IAAIrsF,CAAI,EACrE,GAAI4sF,EACA,KAAO,KAAK,MAAM,OAAS,GACvBA,EAAa,IAAI,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,CAAC,GAAG,CACrD,IAAI30C,EAAU,KAAK,MAAM,IAAG,GAC3BoxC,GAAM7nF,EAAK,KAAK,KAAK,cAAgB,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAIy2C,EAAS,EAAI,CACnG,CAEA,KAAK,cAAcj4C,CAAI,IACxB,KAAK,MAAM,KAAKA,CAAI,EAChBusF,GAAuB,IAAIvsF,CAAI,EAC/B,KAAK,eAAe,KAAK,EAAI,EAExBwsF,GAAwB,IAAIxsF,CAAI,GACrC,KAAK,eAAe,KAAK,EAAK,IAGrC0sF,GAAM1B,EAAK,KAAK,KAAK,iBAAmB,MAAQ0B,IAAO,QAAkBA,EAAG,KAAK1B,EAAIhrF,CAAI,EACtF,KAAK,IAAI,YACT,KAAK,QAAU,GAC3B,EACIm4D,EAAO,UAAU,WAAa,SAAU00B,EAAW,CAC/C,IAAIrrF,EAAI6nF,EACR,KAAK,WAAa,KAAK,aACnB,KAAK,WACJA,GAAM7nF,EAAK,KAAK,KAAK,aAAe,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAI,KAAK,QAAS,KAAK,QAASqrF,CAAS,EACvH,KAAK,QAAU,MAEf,KAAK,IAAI,YAAc,KAAK,cAAc,KAAK,OAAO,GACtD,KAAK,IAAI,WAAW,KAAK,QAAS,EAAI,EAE1C,KAAK,QAAU,EACvB,EAEI10B,EAAO,UAAU,aAAe,SAAU0zB,EAAU,CAChD,KAAK,SAAWA,EAChB,KAAK,WAAW,EAAK,EAErB,KAAK,WAAaA,EAAW,CACrC,EAEI1zB,EAAO,UAAU,WAAa,SAAU3mD,EAAOq6E,EAAU,CACrD,IAAIrqF,EAAI6nF,EAAI2B,EAAI0B,EAAIC,EAAIG,EACxB,KAAK,SAAWjB,EAChB,IAAI7rF,EAAO,KAAK,SAASwR,EAAOq6E,CAAQ,EAQxC,GAPI,KAAK,oBACL7rF,EAAOA,EAAK,gBAEZusF,GAAuB,IAAIvsF,CAAI,GAC/BwsF,GAAwB,IAAIxsF,CAAI,IAChC,KAAK,eAAe,MAEnB,KAAK,cAAcA,CAAI,EAmBnB,CAAC,KAAK,QAAQ,SAAWA,IAAS,QAEtCqpF,GAAM7nF,EAAK,KAAK,KAAK,iBAAmB,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAI,IAAI,GACzFkrF,GAAM1B,EAAK,KAAK,KAAK,aAAe,MAAQ0B,IAAO,QAAkBA,EAAG,KAAK1B,EAAI,KAAM,GAAI,EAAI,GAC/F8B,GAAMH,EAAK,KAAK,KAAK,cAAgB,MAAQG,IAAO,QAAkBA,EAAG,KAAKH,EAAI,KAAM,EAAK,OAvBnE,CAC3B,IAAIlkC,EAAM,KAAK,MAAM,YAAYzoD,CAAI,EACrC,GAAIyoD,IAAQ,GACR,GAAI,KAAK,IAAI,WAET,QADIoD,EAAQ,KAAK,MAAM,OAASpD,EACzBoD,KAEH,KAAK,IAAI,WAAW,KAAK,MAAM,IAAK,EAAEA,IAAU,CAAC,OAIrD,KAAK,MAAM,OAASpD,MAEnB,CAAC,KAAK,QAAQ,SAAWzoD,IAAS,MAEvC,KAAK,YAAY,GAAG,EACpB,KAAK,gBAAgB,EAAI,EAEhC,CAQD,KAAK,WAAa6rF,EAAW,CACrC,EAEI1zB,EAAO,UAAU,iBAAmB,SAAU0zB,EAAU,CACpD,KAAK,SAAWA,EACZ,KAAK,QAAQ,SACb,KAAK,QAAQ,sBACb,KAAK,eAAe,KAAK,eAAe,OAAS,CAAC,GAClD,KAAK,gBAAgB,EAAK,EAE1B,KAAK,WAAaA,EAAW,GAI7B,KAAK,aAAaA,CAAQ,CAEtC,EACI1zB,EAAO,UAAU,gBAAkB,SAAU40B,EAAe,CACxD,IAAIvrF,EAAI6nF,EACJrpF,EAAO,KAAK,QAChB,KAAK,WAAW+sF,CAAa,EAEzB,KAAK,MAAM,KAAK,MAAM,OAAS,CAAC,IAAM/sF,KAErCqpF,GAAM7nF,EAAK,KAAK,KAAK,cAAgB,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAIxB,EAAM,CAAC+sF,CAAa,EACvG,KAAK,MAAM,MAEvB,EAEI50B,EAAO,UAAU,aAAe,SAAU3mD,EAAOq6E,EAAU,CACvD,KAAK,WAAar6E,EAClB,IAAIxR,EAAO,KAAK,SAASwR,EAAOq6E,CAAQ,EACxC,KAAK,WAAa,KAAK,wBACjB7rF,EAAK,YAAa,EAClBA,CACd,EAEIm4D,EAAO,UAAU,aAAe,SAAU3mD,EAAOq6E,EAAU,CACvD,KAAK,aAAe,KAAK,SAASr6E,EAAOq6E,CAAQ,CACzD,EAEI1zB,EAAO,UAAU,eAAiB,SAAU2zB,EAAI,CAC5C,KAAK,gBAAmBzB,GAAY,eAAeyB,CAAE,CAC7D,EAEI3zB,EAAO,UAAU,YAAc,SAAUqzB,EAAOK,EAAU,CACtD,IAAIrqF,EAAI6nF,EACR,KAAK,SAAWwC,GACfxC,GAAM7nF,EAAK,KAAK,KAAK,eAAiB,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAI,KAAK,WAAY,KAAK,YAAagqF,IAAUO,GAAe,UAAU,OACpJ,IACAP,IAAUO,GAAe,UAAU,OAC/B,IACAP,IAAUO,GAAe,UAAU,QAC/B,OACA,IAAI,EACd,KAAK,SACL,CAAC,OAAO,UAAU,eAAe,KAAK,KAAK,QAAS,KAAK,UAAU,IACnE,KAAK,QAAQ,KAAK,UAAU,EAAI,KAAK,aAEzC,KAAK,YAAc,EAC3B,EACI5zB,EAAO,UAAU,mBAAqB,SAAU56D,EAAO,CACnD,IAAI2K,EAAQ3K,EAAM,OAAOkvF,EAAS,EAC9BzsF,EAAOkI,EAAQ,EAAI3K,EAAQA,EAAM,OAAO,EAAG2K,CAAK,EACpD,OAAI,KAAK,oBACLlI,EAAOA,EAAK,eAETA,CACf,EAEIm4D,EAAO,UAAU,cAAgB,SAAU3mD,EAAOq6E,EAAU,CACxD,KAAK,SAAWA,EAChB,IAAItuF,EAAQ,KAAK,SAASiU,EAAOq6E,CAAQ,EACzC,GAAI,KAAK,IAAI,wBAAyB,CAClC,IAAI7rF,EAAO,KAAK,mBAAmBzC,CAAK,EACxC,KAAK,IAAI,wBAAwB,IAAI,OAAOyC,CAAI,EAAG,IAAI,OAAOzC,CAAK,CAAC,CACvE,CAED,KAAK,WAAasuF,EAAW,CACrC,EAEI1zB,EAAO,UAAU,wBAA0B,SAAU3mD,EAAOq6E,EAAU,CAClE,KAAK,SAAWA,EAChB,IAAItuF,EAAQ,KAAK,SAASiU,EAAOq6E,CAAQ,EACzC,GAAI,KAAK,IAAI,wBAAyB,CAClC,IAAI7rF,EAAO,KAAK,mBAAmBzC,CAAK,EACxC,KAAK,IAAI,wBAAwB,IAAI,OAAOyC,CAAI,EAAG,IAAI,OAAOzC,CAAK,CAAC,CACvE,CAED,KAAK,WAAasuF,EAAW,CACrC,EAEI1zB,EAAO,UAAU,UAAY,SAAU3mD,EAAOq6E,EAAUhoC,EAAQ,CAC5D,IAAIriD,EAAI6nF,EAAI2B,EAAI0B,EAChB,KAAK,SAAWb,GACfxC,GAAM7nF,EAAK,KAAK,KAAK,aAAe,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAI,KAAK,SAASgQ,EAAOq6E,EAAWhoC,CAAM,CAAC,GACxH6oC,GAAM1B,EAAK,KAAK,KAAK,gBAAkB,MAAQ0B,IAAO,QAAkBA,EAAG,KAAK1B,CAAE,EAEnF,KAAK,WAAaa,EAAW,CACrC,EAEI1zB,EAAO,UAAU,QAAU,SAAU3mD,EAAOq6E,EAAUhoC,EAAQ,CAC1D,IAAIriD,EAAI6nF,EAAI2B,EAAI0B,EAAIC,EAAIG,EAAIE,EAAIC,EAAIC,EAAIC,EACxC,KAAK,SAAWtB,EAChB,IAAItuF,EAAQ,KAAK,SAASiU,EAAOq6E,EAAWhoC,CAAM,EAC9C,KAAK,QAAQ,SAAW,KAAK,QAAQ,iBACpCwlC,GAAM7nF,EAAK,KAAK,KAAK,gBAAkB,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,CAAE,GAClFkrF,GAAM1B,EAAK,KAAK,KAAK,UAAY,MAAQ0B,IAAO,QAAkBA,EAAG,KAAK1B,EAAIztF,CAAK,GACnFuvF,GAAMH,EAAK,KAAK,KAAK,cAAgB,MAAQG,IAAO,QAAkBA,EAAG,KAAKH,CAAE,KAGhFM,GAAMD,EAAK,KAAK,KAAK,aAAe,MAAQC,IAAO,QAAkBA,EAAG,KAAKD,EAAI,UAAU,OAAOzvF,EAAO,IAAI,CAAC,GAC9G4vF,GAAMD,EAAK,KAAK,KAAK,gBAAkB,MAAQC,IAAO,QAAkBA,EAAG,KAAKD,CAAE,GAGvF,KAAK,WAAarB,EAAW,CACrC,EAEI1zB,EAAO,UAAU,MAAQ,UAAY,CACjC,IAAI32D,EAAI6nF,EACR,GAAI,KAAK,IAAI,WAAY,CAErB,KAAK,SAAW,KAAK,WACrB,QAASnhF,EAAQ,KAAK,MAAM,OAAQA,EAAQ,EAAG,KAAK,IAAI,WAAW,KAAK,MAAM,EAAEA,CAAK,EAAG,EAAI,EACxF,CACP,EACAmhF,GAAM7nF,EAAK,KAAK,KAAK,SAAW,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,CAAE,CACpF,EAII22D,EAAO,UAAU,MAAQ,UAAY,CACjC,IAAI32D,EAAI6nF,EAAI2B,EAAI0B,GACfrD,GAAM7nF,EAAK,KAAK,KAAK,WAAa,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,CAAE,EAC9E,KAAK,UAAU,QACf,KAAK,QAAU,GACf,KAAK,WAAa,GAClB,KAAK,QAAU,KACf,KAAK,MAAM,OAAS,EACpB,KAAK,WAAa,EAClB,KAAK,SAAW,GACfkrF,GAAM1B,EAAK,KAAK,KAAK,gBAAkB,MAAQ0B,IAAO,QAAkBA,EAAG,KAAK1B,EAAI,IAAI,EACzF,KAAK,QAAQ,OAAS,EACtB,KAAK,aAAe,EACpB,KAAK,WAAa,EAClB,KAAK,MAAQ,EACrB,EAOI7yB,EAAO,UAAU,cAAgB,SAAUp6C,EAAM,CAC7C,KAAK,MAAK,EACV,KAAK,IAAIA,CAAI,CACrB,EACIo6C,EAAO,UAAU,SAAW,SAAU3mD,EAAOC,EAAK,CAC9C,KAAOD,EAAQ,KAAK,cAAgB,KAAK,QAAQ,CAAC,EAAE,QAChD,KAAK,YAAW,EAGpB,QADIi9B,EAAQ,KAAK,QAAQ,CAAC,EAAE,MAAMj9B,EAAQ,KAAK,aAAcC,EAAM,KAAK,YAAY,EAC7EA,EAAM,KAAK,aAAe,KAAK,QAAQ,CAAC,EAAE,QAC7C,KAAK,YAAW,EAChBg9B,GAAS,KAAK,QAAQ,CAAC,EAAE,MAAM,EAAGh9B,EAAM,KAAK,YAAY,EAE7D,OAAOg9B,CACf,EACI0pB,EAAO,UAAU,YAAc,UAAY,CACvC,KAAK,cAAgB,KAAK,QAAQ,CAAC,EAAE,OACrC,KAAK,aACL,KAAK,QAAQ,OACrB,EAMIA,EAAO,UAAU,MAAQ,SAAU+yB,EAAO,CACtC,IAAI1pF,EAAI6nF,EACR,GAAI,KAAK,MAAO,EACXA,GAAM7nF,EAAK,KAAK,KAAK,WAAa,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAI,IAAI,MAAM,sBAAsB,CAAC,EACjH,MACH,CACD,KAAK,QAAQ,KAAK0pF,CAAK,EACnB,KAAK,UAAU,UACf,KAAK,UAAU,MAAMA,CAAK,EAC1B,KAAK,aAEjB,EAMI/yB,EAAO,UAAU,IAAM,SAAU+yB,EAAO,CACpC,IAAI1pF,EAAI6nF,EACR,GAAI,KAAK,MAAO,EACXA,GAAM7nF,EAAK,KAAK,KAAK,WAAa,MAAQ6nF,IAAO,QAAkBA,EAAG,KAAK7nF,EAAI,IAAI,MAAM,oBAAoB,CAAC,EAC/G,MACH,CACG0pF,GACA,KAAK,MAAMA,CAAK,EACpB,KAAK,MAAQ,GACb,KAAK,UAAU,KACvB,EAII/yB,EAAO,UAAU,MAAQ,UAAY,CACjC,KAAK,UAAU,OACvB,EAIIA,EAAO,UAAU,OAAS,UAAY,CAElC,IADA,KAAK,UAAU,SACR,KAAK,UAAU,SAClB,KAAK,WAAa,KAAK,QAAQ,QAC/B,KAAK,UAAU,MAAM,KAAK,QAAQ,KAAK,YAAY,CAAC,EAEpD,KAAK,OACL,KAAK,UAAU,KAC3B,EAOIA,EAAO,UAAU,WAAa,SAAU+yB,EAAO,CAC3C,KAAK,MAAMA,CAAK,CACxB,EAOI/yB,EAAO,UAAU,KAAO,SAAU+yB,EAAO,CACrC,KAAK,IAAIA,CAAK,CACtB,EACW/yB,CACX,EAAC,EACaC,GAAA,OAAGD,gCCngBjB,OAAO,eAAciH,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAA,QAAkBA,EAAgB,MAAAA,EAAA,IAAcA,EAAgB,MAAAA,EAAA,OAAiBA,EAAkB,QAAAA,EAAA,UAAoBA,EAAe,KAAAA,EAAA,KAAeA,EAAgB,MAAAA,EAAA,YAAsB,OAE3L,IAAIguB,GACH,SAAUA,EAAa,CAEpBA,EAAY,KAAU,OAEtBA,EAAY,KAAU,OAEtBA,EAAY,UAAe,YAE3BA,EAAY,QAAa,UAEzBA,EAAY,OAAY,SAExBA,EAAY,MAAW,QAEvBA,EAAY,IAAS,MAErBA,EAAY,MAAW,QAEvBA,EAAY,QAAa,YAC1BA,EAAchuB,EAAQ,cAAgBA,EAAsB,aAAE,EAAC,EAMlE,SAASiuB,EAAMC,EAAM,CACjB,OAAQA,EAAK,OAASF,EAAY,KAC9BE,EAAK,OAASF,EAAY,QAC1BE,EAAK,OAASF,EAAY,KACjC,CACDhuB,EAAA,MAAgBiuB,EAGhBjuB,EAAe,KAAAguB,EAAY,KAE3BhuB,EAAe,KAAAguB,EAAY,KAE3BhuB,EAAoB,UAAAguB,EAAY,UAEhChuB,EAAkB,QAAAguB,EAAY,QAE9BhuB,EAAiB,OAAAguB,EAAY,OAE7BhuB,EAAgB,MAAAguB,EAAY,MAE5BhuB,EAAc,IAAAguB,EAAY,IAE1BhuB,EAAgB,MAAAguB,EAAY,MAE5BhuB,EAAkB,QAAAguB,EAAY,wBCrD1BG,GAAax9B,IAAQA,GAAK,WAAe,UAAY,CACrD,IAAIy9B,EAAgB,SAAUtxD,EAAG57B,EAAG,CAChC,OAAAktF,EAAgB,OAAO,gBAClB,CAAE,UAAW,cAAgB,OAAS,SAAUtxD,EAAG57B,EAAG,CAAE47B,EAAE,UAAY57B,CAAE,GACzE,SAAU47B,EAAG57B,EAAG,CAAE,QAAS+Q,KAAK/Q,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAG+Q,CAAC,IAAG6qB,EAAE7qB,CAAC,EAAI/Q,EAAE+Q,CAAC,IAC1Fm8E,EAActxD,EAAG57B,CAAC,CACjC,EACI,OAAO,SAAU47B,EAAG57B,EAAG,CACnB,GAAI,OAAOA,GAAM,YAAcA,IAAM,KACjC,MAAM,IAAI,UAAU,uBAAyB,OAAOA,CAAC,EAAI,+BAA+B,EAC5FktF,EAActxD,EAAG57B,CAAC,EAClB,SAASmtF,GAAK,CAAE,KAAK,YAAcvxD,CAAI,CACvCA,EAAE,UAAY57B,IAAM,KAAO,OAAO,OAAOA,CAAC,GAAKmtF,EAAG,UAAYntF,EAAE,UAAW,IAAImtF,EACvF,CACA,IACIC,GAAY39B,IAAQA,GAAK,UAAa,UAAY,CAClD29B,UAAW,OAAO,QAAU,SAAS90D,EAAG,CACpC,QAAS1pB,EAAGzS,EAAI,EAAG,EAAI,UAAU,OAAQA,EAAI,EAAGA,IAAK,CACjDyS,EAAI,UAAUzS,CAAC,EACf,QAAS4U,KAAKnC,EAAO,OAAO,UAAU,eAAe,KAAKA,EAAGmC,CAAC,IAC1DunB,EAAEvnB,CAAC,EAAInC,EAAEmC,CAAC,EACjB,CACD,OAAOunB,CACf,EACW80D,GAAS,MAAM,KAAM,SAAS,CACzC,EACA,OAAO,eAAex1D,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,GAAA,UAAoBA,GAAA,YAAsBA,GAAA,WAAwCA,GAAA,YAAoBA,GAAA,oBAAoBA,GAAA,QAAkBA,GAAA,MAA+BA,GAAA,QAAmBA,GAAA,kBAAmBA,GAAA,iBAA2BA,GAAA,sBAA+CA,GAAA,QAAeA,GAAA,iBAAsBA,GAAA,KAAe,OAC/U,IAAIy1D,GAAmBh9B,GAKnBi9B,GAAsB,UAAY,CAClC,SAASA,GAAO,CAEZ,KAAK,OAAS,KAEd,KAAK,KAAO,KAEZ,KAAK,KAAO,KAEZ,KAAK,WAAa,KAElB,KAAK,SAAW,IACnB,CACD,cAAO,eAAeA,EAAK,UAAW,aAAc,CAMhD,IAAK,UAAY,CACb,OAAO,KAAK,MACf,EACD,IAAK,SAAUthE,EAAQ,CACnB,KAAK,OAASA,CACjB,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACD,OAAO,eAAeshE,EAAK,UAAW,kBAAmB,CAKrD,IAAK,UAAY,CACb,OAAO,KAAK,IACf,EACD,IAAK,SAAU9pF,EAAM,CACjB,KAAK,KAAOA,CACf,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACD,OAAO,eAAe8pF,EAAK,UAAW,cAAe,CAKjD,IAAK,UAAY,CACb,OAAO,KAAK,IACf,EACD,IAAK,SAAUnqF,EAAM,CACjB,KAAK,KAAOA,CACf,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EAODmqF,EAAK,UAAU,UAAY,SAAUl4B,EAAW,CAC5C,OAAIA,IAAc,SAAUA,EAAY,IACjCm4B,GAAU,KAAMn4B,CAAS,CACxC,EACWk4B,CACX,EAAC,EACW11D,GAAA,KAAG01D,GAIf,IAAIE,GAA0B,SAAUC,EAAQ,CAC5CR,GAAUO,EAAUC,CAAM,EAI1B,SAASD,EAAS/vE,EAAM,CACpB,IAAIiwE,EAAQD,EAAO,KAAK,IAAI,GAAK,KACjC,OAAAC,EAAM,KAAOjwE,EACNiwE,CACV,CACD,cAAO,eAAeF,EAAS,UAAW,YAAa,CAKnD,IAAK,UAAY,CACb,OAAO,KAAK,IACf,EACD,IAAK,SAAU/vE,EAAM,CACjB,KAAK,KAAOA,CACf,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACM+vE,CACX,EAAEF,EAAI,EACU11D,GAAA,SAAG41D,GAInB,IAAI/kE,GAAsB,SAAUglE,EAAQ,CACxCR,GAAUxkE,EAAMglE,CAAM,EACtB,SAAShlE,GAAO,CACZ,IAAIilE,EAAQD,IAAW,MAAQA,EAAO,MAAM,KAAM,SAAS,GAAK,KAChE,OAAAC,EAAM,KAAOL,GAAiB,YAAY,KACnCK,CACV,CACD,cAAO,eAAejlE,EAAK,UAAW,WAAY,CAC9C,IAAK,UAAY,CACb,MAAO,EACV,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACMA,CACX,EAAE+kE,EAAQ,EACE51D,GAAA,KAAGnP,GAIf,IAAItT,GAAyB,SAAUs4E,EAAQ,CAC3CR,GAAU93E,EAASs4E,CAAM,EACzB,SAASt4E,GAAU,CACf,IAAIu4E,EAAQD,IAAW,MAAQA,EAAO,MAAM,KAAM,SAAS,GAAK,KAChE,OAAAC,EAAM,KAAOL,GAAiB,YAAY,QACnCK,CACV,CACD,cAAO,eAAev4E,EAAQ,UAAW,WAAY,CACjD,IAAK,UAAY,CACb,MAAO,EACV,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACMA,CACX,EAAEq4E,EAAQ,EACK51D,GAAA,QAAGziB,GAIlB,IAAIw4E,GAAuC,SAAUF,EAAQ,CACzDR,GAAUU,EAAuBF,CAAM,EACvC,SAASE,EAAsBjuF,EAAM+d,EAAM,CACvC,IAAIiwE,EAAQD,EAAO,KAAK,KAAMhwE,CAAI,GAAK,KACvC,OAAAiwE,EAAM,KAAOhuF,EACbguF,EAAM,KAAOL,GAAiB,YAAY,UACnCK,CACV,CACD,cAAO,eAAeC,EAAsB,UAAW,WAAY,CAC/D,IAAK,UAAY,CACb,MAAO,EACV,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACMA,CACX,EAAEH,EAAQ,EACmB51D,GAAA,sBAAG+1D,GAIhC,IAAIC,GAAkC,SAAUH,EAAQ,CACpDR,GAAUW,EAAkBH,CAAM,EAIlC,SAASG,EAAiBr5E,EAAU,CAChC,IAAIm5E,EAAQD,EAAO,KAAK,IAAI,GAAK,KACjC,OAAAC,EAAM,SAAWn5E,EACVm5E,CACV,CACD,cAAO,eAAeE,EAAiB,UAAW,aAAc,CAG5D,IAAK,UAAY,CACb,IAAI1sF,EACJ,OAAQA,EAAK,KAAK,SAAS,CAAC,KAAO,MAAQA,IAAO,OAASA,EAAK,IACnE,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACD,OAAO,eAAe0sF,EAAiB,UAAW,YAAa,CAE3D,IAAK,UAAY,CACb,OAAO,KAAK,SAAS,OAAS,EACxB,KAAK,SAAS,KAAK,SAAS,OAAS,CAAC,EACtC,IACT,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACD,OAAO,eAAeA,EAAiB,UAAW,aAAc,CAK5D,IAAK,UAAY,CACb,OAAO,KAAK,QACf,EACD,IAAK,SAAUr5E,EAAU,CACrB,KAAK,SAAWA,CACnB,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACMq5E,CACX,EAAEN,EAAI,EACkB11D,GAAA,iBAAGg2D,GAC3B,IAAIC,GAAuB,SAAUJ,EAAQ,CACzCR,GAAUY,EAAOJ,CAAM,EACvB,SAASI,GAAQ,CACb,IAAIH,EAAQD,IAAW,MAAQA,EAAO,MAAM,KAAM,SAAS,GAAK,KAChE,OAAAC,EAAM,KAAOL,GAAiB,YAAY,MACnCK,CACV,CACD,cAAO,eAAeG,EAAM,UAAW,WAAY,CAC/C,IAAK,UAAY,CACb,MAAO,EACV,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACMA,CACX,EAAED,EAAgB,EACLh2D,GAAA,MAAGi2D,GAIhB,IAAIC,GAA0B,SAAUL,EAAQ,CAC5CR,GAAUa,EAAUL,CAAM,EAC1B,SAASK,GAAW,CAChB,IAAIJ,EAAQD,IAAW,MAAQA,EAAO,MAAM,KAAM,SAAS,GAAK,KAChE,OAAAC,EAAM,KAAOL,GAAiB,YAAY,KACnCK,CACV,CACD,cAAO,eAAeI,EAAS,UAAW,WAAY,CAClD,IAAK,UAAY,CACb,MAAO,EACV,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACMA,CACX,EAAEF,EAAgB,EACFh2D,GAAA,SAAGk2D,GAInB,IAAI/4B,GAAyB,SAAU04B,EAAQ,CAC3CR,GAAUl4B,EAAS04B,CAAM,EAMzB,SAAS14B,EAAQr1D,EAAMquF,EAASx5E,EAAUrP,EAAM,CACxCqP,IAAa,SAAUA,EAAW,CAAE,GACpCrP,IAAS,SAAUA,EAAOxF,IAAS,SACjC2tF,GAAiB,YAAY,OAC7B3tF,IAAS,QACL2tF,GAAiB,YAAY,MAC7BA,GAAiB,YAAY,KACvC,IAAIK,EAAQD,EAAO,KAAK,KAAMl5E,CAAQ,GAAK,KAC3C,OAAAm5E,EAAM,KAAOhuF,EACbguF,EAAM,QAAUK,EAChBL,EAAM,KAAOxoF,EACNwoF,CACV,CACD,cAAO,eAAe34B,EAAQ,UAAW,WAAY,CACjD,IAAK,UAAY,CACb,MAAO,EACV,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACD,OAAO,eAAeA,EAAQ,UAAW,UAAW,CAMhD,IAAK,UAAY,CACb,OAAO,KAAK,IACf,EACD,IAAK,SAAUr1D,EAAM,CACjB,KAAK,KAAOA,CACf,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACD,OAAO,eAAeq1D,EAAQ,UAAW,aAAc,CACnD,IAAK,UAAY,CACb,IAAI24B,EAAQ,KACZ,OAAO,OAAO,KAAK,KAAK,OAAO,EAAE,IAAI,SAAUhuF,EAAM,CACjD,IAAIwB,EAAI6nF,EACR,MAAQ,CACJ,KAAMrpF,EACN,MAAOguF,EAAM,QAAQhuF,CAAI,EACzB,WAAYwB,EAAKwsF,EAAM,oBAAoB,KAAO,MAAQxsF,IAAO,OAAS,OAASA,EAAGxB,CAAI,EAC1F,QAASqpF,EAAK2E,EAAM,iBAAiB,KAAO,MAAQ3E,IAAO,OAAS,OAASA,EAAGrpF,CAAI,CACxG,CACA,CAAa,CACJ,EACD,WAAY,GACZ,aAAc,EACtB,CAAK,EACMq1D,CACX,EAAE64B,EAAgB,EACHh2D,GAAA,QAAGm9B,GAKlB,SAASg4B,GAAMn1D,EAAM,CACjB,SAAWy1D,GAAiB,OAAOz1D,CAAI,CAC3C,CACaA,GAAA,MAAGm1D,GAKhB,SAASiB,GAAQp2D,EAAM,CACnB,OAAOA,EAAK,OAASy1D,GAAiB,YAAY,KACtD,CACez1D,GAAA,QAAGo2D,GAKlB,SAASC,GAAOr2D,EAAM,CAClB,OAAOA,EAAK,OAASy1D,GAAiB,YAAY,IACtD,CACcz1D,GAAA,OAAGq2D,GAKjB,SAASC,GAAUt2D,EAAM,CACrB,OAAOA,EAAK,OAASy1D,GAAiB,YAAY,OACtD,CACiBz1D,GAAA,UAAGs2D,GAKpB,SAASC,GAAYv2D,EAAM,CACvB,OAAOA,EAAK,OAASy1D,GAAiB,YAAY,SACtD,CACmBz1D,GAAA,YAAGu2D,GAKtB,SAASC,GAAWx2D,EAAM,CACtB,OAAOA,EAAK,OAASy1D,GAAiB,YAAY,IACtD,CACkBz1D,GAAA,WAAGw2D,GAKrB,SAASC,GAAYz2D,EAAM,CACvB,OAAO,OAAO,UAAU,eAAe,KAAKA,EAAM,UAAU,CAChE,CACmBA,GAAA,YAAGy2D,GAOtB,SAASd,GAAU31D,EAAMw9B,EAAW,CAC5BA,IAAc,SAAUA,EAAY,IACxC,IAAI/tD,EACJ,GAAI4mF,GAAOr2D,CAAI,EACXvwB,EAAS,IAAIohB,GAAKmP,EAAK,IAAI,UAEtBs2D,GAAUt2D,CAAI,EACnBvwB,EAAS,IAAI8N,GAAQyiB,EAAK,IAAI,UAEzBm1D,GAAMn1D,CAAI,EAAG,CAClB,IAAIrjB,EAAW6gD,EAAYk5B,GAAc12D,EAAK,QAAQ,EAAI,GACtD22D,EAAU,IAAIx5B,GAAQn9B,EAAK,KAAMw1D,GAAS,GAAIx1D,EAAK,OAAO,EAAGrjB,CAAQ,EACzEA,EAAS,QAAQ,SAAUE,EAAO,CAAE,OAAQA,EAAM,OAAS85E,CAAS,CAAE,EAClE32D,EAAK,WAAa,OAClB22D,EAAQ,UAAY32D,EAAK,WAEzBA,EAAK,oBAAoB,IACzB22D,EAAQ,oBAAoB,EAAInB,GAAS,CAAE,EAAEx1D,EAAK,oBAAoB,CAAC,GAEvEA,EAAK,iBAAiB,IACtB22D,EAAQ,iBAAiB,EAAInB,GAAS,CAAE,EAAEx1D,EAAK,iBAAiB,CAAC,GAErEvwB,EAASknF,CACZ,SACQP,GAAQp2D,CAAI,EAAG,CACpB,IAAIrjB,EAAW6gD,EAAYk5B,GAAc12D,EAAK,QAAQ,EAAI,GACtD42D,EAAU,IAAIX,GAAMt5E,CAAQ,EAChCA,EAAS,QAAQ,SAAUE,EAAO,CAAE,OAAQA,EAAM,OAAS+5E,CAAS,CAAE,EACtEnnF,EAASmnF,CACZ,SACQJ,GAAWx2D,CAAI,EAAG,CACvB,IAAIrjB,EAAW6gD,EAAYk5B,GAAc12D,EAAK,QAAQ,EAAI,GACtD62D,EAAU,IAAIX,GAASv5E,CAAQ,EACnCA,EAAS,QAAQ,SAAUE,EAAO,CAAE,OAAQA,EAAM,OAASg6E,CAAS,CAAE,EAClE72D,EAAK,QAAQ,IACb62D,EAAQ,QAAQ,EAAI72D,EAAK,QAAQ,GAErCvwB,EAASonF,CACZ,SACQN,GAAYv2D,CAAI,EAAG,CACxB,IAAI82D,EAAc,IAAIf,GAAsB/1D,EAAK,KAAMA,EAAK,IAAI,EAC5DA,EAAK,QAAQ,GAAK,OAClB82D,EAAY,QAAQ,EAAI92D,EAAK,QAAQ,EACrC82D,EAAY,YAAY,EAAI92D,EAAK,YAAY,EAC7C82D,EAAY,YAAY,EAAI92D,EAAK,YAAY,GAEjDvwB,EAASqnF,CACZ,KAEG,OAAM,IAAI,MAAM,wBAAwB,OAAO92D,EAAK,IAAI,CAAC,EAE7D,OAAAvwB,EAAO,WAAauwB,EAAK,WACzBvwB,EAAO,SAAWuwB,EAAK,SACnBA,EAAK,oBAAsB,OAC3BvwB,EAAO,mBAAqBuwB,EAAK,oBAE9BvwB,CACX,CACiBuwB,GAAA,UAAG21D,GACpB,SAASe,GAAcK,EAAQ,CAE3B,QADIp6E,EAAWo6E,EAAO,IAAI,SAAUl6E,EAAO,CAAE,OAAO84E,GAAU94E,EAAO,EAAI,CAAI,GACpEtY,EAAI,EAAGA,EAAIoY,EAAS,OAAQpY,IACjCoY,EAASpY,CAAC,EAAE,KAAOoY,EAASpY,EAAI,CAAC,EACjCoY,EAASpY,EAAI,CAAC,EAAE,KAAOoY,EAASpY,CAAC,EAErC,OAAOoY,CACX,cCxdA,IAAI0yE,EAAmBx3B,IAAQA,GAAK,kBAAqB,OAAO,OAAU,SAAS,EAAGluC,EAAGshB,EAAGqkD,EAAI,CACxFA,IAAO,SAAWA,EAAKrkD,GAC3B,IAAIskD,EAAO,OAAO,yBAAyB5lE,EAAGshB,CAAC,GAC3C,CAACskD,IAAS,QAASA,EAAO,CAAC5lE,EAAE,WAAa4lE,EAAK,UAAYA,EAAK,iBAClEA,EAAO,CAAE,WAAY,GAAM,IAAK,UAAW,CAAE,OAAO5lE,EAAEshB,CAAC,CAAE,IAE3D,OAAO,eAAe,EAAGqkD,EAAIC,CAAI,CACpC,EAAK,SAAS,EAAG5lE,EAAGshB,EAAGqkD,EAAI,CACpBA,IAAO,SAAWA,EAAKrkD,GAC3B,EAAEqkD,CAAE,EAAI3lE,EAAEshB,CAAC,CACd,GACG+rD,EAAgBn/B,IAAQA,GAAK,cAAiB,SAASluC,EAAGu9C,EAAS,CACnE,QAAS/tD,KAAKwQ,EAAOxQ,IAAM,WAAa,CAAC,OAAO,UAAU,eAAe,KAAK+tD,EAAS/tD,CAAC,GAAGk2E,EAAgBnoB,EAASv9C,EAAGxQ,CAAC,CAC5H,EACA,OAAO,eAAc+tD,EAAU,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5DA,EAAqB,kBACrB,IAAIuuB,EAAmBh9B,GACnBw+B,EAAYv+B,GAChBs+B,EAAat+B,GAAsBwO,CAAO,EAE1C,IAAIgwB,EAAc,CACd,iBAAkB,GAClB,eAAgB,GAChB,QAAS,EACb,EACIC,EAA4B,UAAY,CAMxC,SAASA,EAAWzkF,EAAUwD,EAASkhF,EAAW,CAE9C,KAAK,IAAM,GAEX,KAAK,KAAO,IAAIH,EAAU,SAAS,KAAK,GAAG,EAE3C,KAAK,KAAO,GAEZ,KAAK,SAAW,CAAC,KAAK,IAAI,EAE1B,KAAK,SAAW,KAEhB,KAAK,OAAS,KAEV,OAAO/gF,GAAY,aACnBkhF,EAAYlhF,EACZA,EAAUghF,GAEV,OAAOxkF,GAAa,WACpBwD,EAAUxD,EACVA,EAAW,QAEf,KAAK,SAAWA,GAAsD,KACtE,KAAK,QAAUwD,GAAmDghF,EAClE,KAAK,UAAYE,GAAyD,IAC7E,CACD,OAAAD,EAAW,UAAU,aAAe,SAAUp3B,EAAQ,CAClD,KAAK,OAASA,CACtB,EAEIo3B,EAAW,UAAU,QAAU,UAAY,CACvC,KAAK,IAAM,GACX,KAAK,KAAO,IAAIF,EAAU,SAAS,KAAK,GAAG,EAC3C,KAAK,KAAO,GACZ,KAAK,SAAW,CAAC,KAAK,IAAI,EAC1B,KAAK,SAAW,KAChB,KAAK,OAAS,IACtB,EAEIE,EAAW,UAAU,MAAQ,UAAY,CACjC,KAAK,OAET,KAAK,KAAO,GACZ,KAAK,OAAS,KACd,KAAK,eAAe,IAAI,EAChC,EACIA,EAAW,UAAU,QAAU,SAAU3rF,EAAO,CAC5C,KAAK,eAAeA,CAAK,CACjC,EACI2rF,EAAW,UAAU,WAAa,UAAY,CAC1C,KAAK,SAAW,KAChB,IAAI/B,EAAO,KAAK,SAAS,IAAG,EACxB,KAAK,QAAQ,iBACbA,EAAK,SAAW,KAAK,OAAO,UAE5B,KAAK,WACL,KAAK,UAAUA,CAAI,CAC/B,EACI+B,EAAW,UAAU,UAAY,SAAUrvF,EAAMquF,EAAS,CACtD,IAAI7oF,EAAO,KAAK,QAAQ,QAAUmoF,EAAiB,YAAY,IAAM,OACjE11C,EAAU,IAAIk3C,EAAU,QAAQnvF,EAAMquF,EAAS,OAAW7oF,CAAI,EAClE,KAAK,QAAQyyC,CAAO,EACpB,KAAK,SAAS,KAAKA,CAAO,CAClC,EACIo3C,EAAW,UAAU,OAAS,SAAUtxE,EAAM,CAC1C,IAAIwxE,EAAW,KAAK,SACpB,GAAIA,GAAYA,EAAS,OAAS5B,EAAiB,YAAY,KAC3D4B,EAAS,MAAQxxE,EACb,KAAK,QAAQ,iBACbwxE,EAAS,SAAW,KAAK,OAAO,cAGnC,CACD,IAAIr3D,EAAO,IAAIi3D,EAAU,KAAKpxE,CAAI,EAClC,KAAK,QAAQma,CAAI,EACjB,KAAK,SAAWA,CACnB,CACT,EACIm3D,EAAW,UAAU,UAAY,SAAUtxE,EAAM,CAC7C,GAAI,KAAK,UAAY,KAAK,SAAS,OAAS4vE,EAAiB,YAAY,QAAS,CAC9E,KAAK,SAAS,MAAQ5vE,EACtB,MACH,CACD,IAAIma,EAAO,IAAIi3D,EAAU,QAAQpxE,CAAI,EACrC,KAAK,QAAQma,CAAI,EACjB,KAAK,SAAWA,CACxB,EACIm3D,EAAW,UAAU,aAAe,UAAY,CAC5C,KAAK,SAAW,IACxB,EACIA,EAAW,UAAU,aAAe,UAAY,CAC5C,IAAIp6D,EAAO,IAAIk6D,EAAU,KAAK,EAAE,EAC5Bj3D,EAAO,IAAIi3D,EAAU,MAAM,CAACl6D,CAAI,CAAC,EACrC,KAAK,QAAQiD,CAAI,EACjBjD,EAAK,OAASiD,EACd,KAAK,SAAWjD,CACxB,EACIo6D,EAAW,UAAU,WAAa,UAAY,CAC1C,KAAK,SAAW,IACxB,EACIA,EAAW,UAAU,wBAA0B,SAAUrvF,EAAM+d,EAAM,CACjE,IAAIma,EAAO,IAAIi3D,EAAU,sBAAsBnvF,EAAM+d,CAAI,EACzD,KAAK,QAAQma,CAAI,CACzB,EACIm3D,EAAW,UAAU,eAAiB,SAAU3rF,EAAO,CACnD,GAAI,OAAO,KAAK,UAAa,WACzB,KAAK,SAASA,EAAO,KAAK,GAAG,UAExBA,EACL,MAAMA,CAElB,EACI2rF,EAAW,UAAU,QAAU,SAAUn3D,EAAM,CAC3C,IAAI5L,EAAS,KAAK,SAAS,KAAK,SAAS,OAAS,CAAC,EAC/CkjE,EAAkBljE,EAAO,SAASA,EAAO,SAAS,OAAS,CAAC,EAC5D,KAAK,QAAQ,mBACb4L,EAAK,WAAa,KAAK,OAAO,YAE9B,KAAK,QAAQ,iBACbA,EAAK,SAAW,KAAK,OAAO,UAEhC5L,EAAO,SAAS,KAAK4L,CAAI,EACrBs3D,IACAt3D,EAAK,KAAOs3D,EACZA,EAAgB,KAAOt3D,GAE3BA,EAAK,OAAS5L,EACd,KAAK,SAAW,IACxB,EACW+iE,CACV,IACDjwB,EAAA,WAAqBiwB,EACrBjwB,EAAA,QAAkBiwB,gDClKlB,OAAO,eAAeI,GAAS,aAAc,CAAE,MAAO,EAAI,CAAE,EAC5D,SAASC,GAAYnzF,EAAK,CACtB,QAASE,EAAI,EAAGA,EAAIF,EAAI,OAAQE,IAC5BF,EAAIE,CAAC,EAAE,CAAC,GAAKF,EAAIE,EAAI,CAAC,EAAE,CAAC,EAAI,EAEjC,OAAOF,CACX,CAEAkzF,GAAA,QAAkB,IAAI,IAAoBC,GAAY,CAAC,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,GAAI,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,GAAI,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,CAAE,EAAG,OAAQ,EAAG,KAAM,EAAG,QAAQ,CAAE,EAAG,CAAC,EAAG,CAAE,EAAG,WAAY,EAAG,KAAM,EAAG,OAAS,GAAG,CAAC,EAAG,CAAE,EAAG,OAAQ,EAAG,KAAM,EAAG,QAAU,GAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,GAAI,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,oBAAoB,EAAG,CAAC,EAAG,CAAE,EAAG,IAAK,EAAG,SAAS,CAAE,EAAG,CAAC,GAAI,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,GAAI,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,aAAa,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,aAAa,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAA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,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC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,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,gBAAgB,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,YAAY,EA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AAG,IAAI,IAAoBA,GAAY,CAAC,CAAC,MAAO,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,GAAI,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ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","names":["makeMap","str","map","key","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","toNumber","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","isRef","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","l","currentEffectScope","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","activeSub","pausedQueueEffects","ReactiveEffect","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","next","error","err","head","tail","prev","removeDep","refreshComputed","computed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","trigger","newValue","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","toRaw","isShallow","toReactive","shallowReadArray","arrayInstrumentations","iterator","args","x","thisArg","apply","searchProxy","separator","noTracking","reduce","comparer","self","method","wrapValue","iter","result","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","index","acc","isProxy","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","toReadonly","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","has","callback","observed","get","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","targetType","existingProxy","proxy","isReactive","markRaw","r","ref","createRef","shallowRef","rawValue","RefImpl","useDirectValue","unref","ref2","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","newVal","source","defaultValue","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","owner","cleanups","watch","cb","options","immediate","deep","once","scheduler","augmentJob","call","reactiveGetter","source2","traverse","effect","boundCleanup","forceTrigger","isMultiSource","s","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","seen","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","flushPostFlushCbs","deduped","check","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","withDirectives","vnode","directives","getComponentPublicInstance","bindings","dir","modifiers","invokeDirectiveHook","prevVNode","oldBindings","binding","hook","TeleportEndKey","isTeleport","leaveCbKey","enterCbKey","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","recursiveGetSubtree","subTree","BaseTransitionImpl","props","slots","getCurrentInstance","children","getTransitionRawChildren","child","findNonCommentChild","rawProps","mode","emptyPlaceholder","innerChild","getInnerChild$1","enterHooks","resolveTransitionHooks","hooks","Comment","setTransitionHooks","oldInnerChild","isSameVNodeType","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","leavingVNodes","postClone","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","callHook","callAsyncHook","hook2","leavingVNode","afterHook","cancelHook","called","cancelled","vnode2","hooks2","isKeepAlive","cloneVNode","shapeFlag","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","markAsyncBoundary","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","isAsyncWrapper","refValue","oldRef","refs","setupState","rawSetupState","canSetSetupRef","_isString","_isRef","doSet","existing","queuePostRenderEffect","onActivated","registerKeepAliveHook","onDeactivated","currentInstance","wrappedHook","current","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","reset","setCurrentInstance","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onBeforeUpdate","onUpdated","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","component","resolveDirective","warnMissing","Component","selfName","getComponentName","resolve","registry","renderList","renderItem","cached","sourceIsArray","sourceIsReactiveArray","isReadonlySource","keys","createSlots","dynamicSlots","slot","j","renderSlot","fallback","noSlotted","openBlock","createBlock","createVNode","validSlotContent","ensureValidVNode","slotKey","rendered","vnodes","isVNode","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","instanceWatch","hasSetupBinding","PublicInstanceProxyHandlers","data","accessCache","appContext","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","propsOptions","descriptor","normalizePropsOrEmits","applyOptions","publicThis","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","opt","set","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","inject","h","createPathGetter","handler","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","namespace","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","attrs","setFullProps","updateProps","rawPrevProps","optimized","patchFlag","rawCurrentProps","hasAttrsChanged","propsToUpdate","isEmitListener","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","comp","hasExtends","extendProps","raw2","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeVNode","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","removeStaticNode","mountElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","isSuspense","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","shouldUpdateComponent","updateComponentPreRender","componentUpdateFn","bu","u","parent","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","renderComponentRoot","prevTree","updateHOCHostEl","bm","root","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","nextVNode","prevProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","cacheIndex","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","slotCacheKeys","invalidateMount","teleportEnd","isFlushing","currentNamespace","allowed","ch1","ch2","len","arrI","subComponent","ssrContextKey","useSSRContext","doWatch","flush","baseWatchOptions","runsImmediately","ssrCleanup","watchStopHandle","isPre","isFirstRun","watch$1","path","segments","getModelModifiers","modelName","emit","event","rawArgs","handlerName","onceHandler","normalizeEmitsOptions","extendEmits","normalizedFromExtend","withProxy","renderCache","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","blockStack","filterModelListeners","prevChildren","nextProps","nextChildren","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","suspense","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","node","selector","before","wrapper","TRANSITION","ANIMATION","vtcKey","DOMTransitionPropsValidators","TransitionPropsValidators","decorate$1","t","Transition","resolveTransitionProps","h2","hasExplicitCallback","baseProps","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","isCancelled","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","_vtc","endId","expectedType","explicitTimeout","resolveIfNotStale","timeout","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","attrName","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","camelize$1","positionMap","newPositionMap","moveCbKey","decorate","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","cssTransitionProps","TransitionGroup","oldPos","newPos","dx","dy","clone","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","vModelText","lazy","trim","number","castToNumber","domValue","elValue","vModelCheckbox","modelValue","elementValue","getValue","checked","assign","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","o","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","vModelDynamic","callModelHook","resolveDynamicModel","tagName","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","isVue2","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","createPinia","_p","toBeInstalled","noop","addSubscription","subscriptions","onCleanup","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","ACTION_MARKER","ACTION_NAME","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","shouldHydrate","createOptionsStore","hot","actions","getters","initialState","store","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","actionSubscriptions","debuggerEvents","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","newState","$state","$dispose","action","wrappedAction","afterCallbackList","onErrorCallbackList","after","onError","partialStore","stopWatcher","setupStore","actionValue","extender","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","mapState","keysOrMapper","reduced","storeKey","mapActions","mapWritableState","isClient","resolveUnref","identity","tryOnScopeDispose","createEventHook","off","offFn","param","tryOnMounted","sync","unrefElement","elRef","plain","defaultWindow","defaultDocument","useEventListener","events","listeners","listener","options2","stopWatch","stop","useSupported","isSupported","_global","globalKey","useDocumentVisibility","document","visibility","SwipeDirection","SwipeDirection2","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","_TransitionPresets","useWebNotification","defaultOptions","window","notification","requestPermission","onClick","onShow","onClose","show","overrides","close","cov_ua65ispp6","actualCoverage","showNotification","getDefaultState","f","activeChat","messages","contacts","groups","joinedRooms","knownRooms","roomsOccupants","httpFileUploadMaxSize","isOnline","presence","hasNotificationsEnabled","isSendingTypingChatStates","isSendingInactiveChatStates","hasNetwork","publicRooms","filter","room","isPublic","bookmarkedRooms","isBookmarked","getRoom","jid","find","some","isJoined","joinedRoomJid","getRoomOccupants","roomOccupants","roomJid","occupants","getRoomSubject","subject","getChatState","isRoom","occupant","chatState","contact","setNetworkStatus","setOnline","setPresence","setActiveChat","payload","resetUnreadCount","collection","copy","slice","findIndex","unreadCount","setRoster","forEach","group","includes","push","setKnownRoom","rooms","knownRoom","setRoomSubject","author","setJoinedRoom","knownRoomJid","removeJoinedRoom","setContactPresence","contactPresence","status","storeMessage","message","knownMessage","stanzaId","body","delay","links","dayjs","$dayjs","sort","isAfter","addUnreadCount","bare","undefined","renotify","updateMessage","setMessageStatus","code","setHttpFileUploadMaxSize","setRoomOccupant","roomIndex","occupantIndex","removeRoomOccupant","splice","setChatState","full","setNotificationStatus","title","config","icon","lang","clear","defaultState","Object","cov_1zjx4v93sq","_sfc_main","notifyConnectivity","_hoisted_1","class","_openBlock","_createElementBlock","_component_router_view","signPoly","sign","hasFlag","mod","bound","min","max","getValueByPath","indexOf","mergeFn","isDeep","replaced","merge","isMobile","isWebKit","removeElement","createAbsoluteElement","escapeRegExpChars","toCssDimension","width","blankIfUndefined","defaultIfUndefined","getMonthNames","locale","format","dates","dtf","getWeekdayNames","firstDayOfWeek","matchWithGroups","pattern","matches","groupMatches","curr","debounce","func","wait","later","callNow","endsWith","suffix","isDefined","removeDiacriticsFromString","setOptions","getOptions","VueInstance","setVueInstance","Vue","Programmatic","_defaultSuffixProcessor","input","_getContext","vm","BaseComponentMixin","field","override","overrideClass","globalTransformClasses","localTransformClasses","globalClass","currentClass","appliedClasses","oruga","addProgrammatic","property","useProgrammatic","registerPlugin","registerComponent","registerComponentProgrammatic","mdiIcons","faIcons","faIconPrefix","getIcons","icons","customIconPacks","script","newVariant","_ctx","_cache","$props","$setup","$data","$options","FormElementMixin","variant","script$1","scrollHeight","_component_o_icon","$event","newData","items","element","whiteList","active","currentValue","hoveredValue","closeDropdown","computedData","nonEmptyElements","origin","triggerClick","list","footerHeight","rect","direction","sum","visMin","visMax","dropdownMenu","top","left","_hoisted_2","_component_o_input","groupindex","index$H","index$1$1","sorted","Sorted","ProviderParentMixin","itemName","flags","ids","it","sortedIds","i1","i2","sorted$1","optional","Sorted$1","InjectedChildMixin","parentItemName","script$2","breakpoint","onlyMove","dragEndX","signCheck","results","render$1","index$2$1","CheckRadioMixin","index$3$1","index$4$1","MatchMediaMixin","defaultWidth","findFocusable","programmatic","onKeyDown","bind","focusable","focusableProg","firstFocusable","lastFocusable","unbind","dropdown","parentNode","_directive_trap_focus","first","renderedNode","_component_o_field_body","day","refName","year","dow","doy","fwd","weekOffset","weekOffsetNext","mom","week","resWeek","resYear","validity","enabledDate","disabledDate","dayOfWeek","dayEvents","dateMatch","dateOne","dateTwo","multiple","date","dateWithin","weekDay","preventDefault","inc","nextDay","visibleDayNames","currentDayName","monthEvents","month","weeksInThisMonth","startingDay","newWeek","multipleSelectedDates","selectedDate","startingDate","thisMonth","thisWeek","daysAgo","daysForward","focusedDate","monthDays","focused","stripped","timed","weekDate","_component_o_datepicker_table_row","DatepickerMixin","yearEvents","months","dateMultipleSelected","nextMonth","render$2","defaultDateFormatter","defaultDateParser","formatRegex","part","dateGroups","script$3","script$4","script$5","script$6","script$7","script$8","script$9","dateFormatter","dateParser","dateCreator","minMonth","maxMonth","latestYear","earliestYear","arrayOfYears","dateToCheck","currentDate","isActive","render$3","_component_o_select","_component_o_datepicker_table","_component_o_datepicker_month","_component_o_dropdown_item","_component_o_dropdown","index$5$1","AM","PM","HOUR_FORMAT_24","HOUR_FORMAT_12","defaultTimeFormatter","defaultTimeParser","timeString","timeGroups","am","dateString12","time","hours","minutes","seconds","TimepickerMixin","timeFormatter","timeParser","timeCreator","parts","literal","dayPeriod","numberOfHours","label","meridiens","hour","disabled","minHours","noMinutesAvailable","minute","maxHours","minMinutes","maxMinutes","second","minSeconds","maxSeconds","meridienString","offset","prependZero","meridien","datetimeCreator","datetimeParser","dayPeriods","datetimeGroups","datetimeFormatter","_component_o_timepicker","_component_o_datepicker","index$6$1","index$7$1","index$8$1","index$9$1","index$a$1","sep","itemToAdd","reg","_component_o_autocomplete","index$b$1","HTMLElement","File","InstanceRegistry","entry","localVueInstance","instances","LoadingProgrammatic","params","propsData","p1","p2","index$c$1","excludedItems","_hoisted_1$1","index$d$1","savedScrollTop","ModalProgrammatic","newParams","defaultParam","index$e$1","MessageMixin","NoticeMixin","classes","position","_component_o_notification","NotificationProgrammatic","index$f","firstItem","right","pages","num","pageNumber","isCurrent","_hoisted_3","_hoisted_4","_component_o_pagination_button","page","index$g","index$h","index$i","height","index$j","open","index$k","opposites","intersectionArea","bottom","anchors","defaultPosition","bestPosition","viewRect","viewport","triggerAnchors","contentRect","contentAnchors","contentRectAtAnchor","pos","triggerAnchor","contentAnchor","defaultOpposite","crossPosition","crossOpposite","positions","maxOverlap","overlap","tooltip","tooltipEl","diff","percent","stepLength","_component_o_tooltip","precisions","decimal","smallValue","largeValue","sliderOffsetLeft","diffFirst","diffSecond","_component_o_slider_tick","_component_o_slider_thumb","index$l","SlotComponent","TabbedMixin","cmp","startingIndex","forward","newId","oldTab","TabbedChildMixin","parentCmp","oldIndex","nextItem","prevItem","childItem","stepItem","_component_o_button","index$m","index$n","column","_component_o_field","_component_o_pagination","script$a","script$b","currentPage","perPage","validVisibleData","row","currentVisibleRow","count","newTotal","rows","expandedRows","isAsc","newA","newB","updatingData","selected","isAllChecked","currentRow","lastIndex","lastCheckedRowIndex","subset","shouldCheck","re","footer","sortField","sortDirection","sortColumn","eventName","col","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_component_o_table_mobile_sort","_component_o_table_pagination","_component_o_checkbox","_component_o_slot_component","_component_o_loading","colindex","index$o","index$p","index$q","index$r","newValues","file","focus","types","index$s","plugins","index$1","index$2","index$3","index$4","index$5","index$6","index$7","index$8","index$9","index$a","index$b","index$c","index$d","index$e","Oruga","defaultConfig","componentKey","Oruga$1","bulmaConfig","module","this","$","y","M","D","S","w","O","TimeoutError_1","ms","promise","TimeoutError","require$$0","require$$1","promiseDelay","cancelDelay","EE","rejectEvent","reject","timeoutId","onEvent","reason","R","ReflectApply","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","EventEmitter","eventsModule","defaultMaxListeners","checkListener","_getMaxListeners","that","doError","er","arrayClone","_addListener","onceWrapper","_onceWrap","wrapped","originalListener","spliceOne","_listeners","unwrap","evlistener","unwrapListeners","emitter","listenerCount","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","wrapListener","Deferred","require$$2","require$$3","require$$4","require$$5","escaping","local","JID$4","JID","domain","resource","hint","unescape","other","escape","JID_1","parse","resourceStart","atStart","jidModule","escapeXMLTable","escapeXMLReplace","match","unescapeXMLTable","unescapeXMLReplace","escapeXML","unescapeXML","previous","escapeXMLText","unescapeXMLText","_escape","Element$5","Element","xmlns","prefix","attr","namespaces","recursive","nodes","writer","Element_1","append","createElement","createElement_1","STATE_TEXT","STATE_IGNORE_COMMENT","STATE_IGNORE_INSTRUCTION","STATE_TAG_NAME","STATE_TAG","STATE_ATTR_NAME","STATE_ATTR_EQ","STATE_ATTR_QUOT","STATE_ATTR_VALUE","STATE_CDATA","STATE_IGNORE_CDATA","SaxLtx","remainder","parseRemainder","endTag","selfClosing","attrQuote","attrQuoteChar","recordStart","endRecording","recorded","lt","quot","endcomment","endCDATA","cData","prevFirst","prevSecond","ltx","XMLError_1","LtxParser","XMLError","parser","cursor","Parser","Parser_1","xml","condition","application","third","XMPPError","StreamError_1","StreamError","parseURI","URI","port","hostname","protocol","parseHost","host","parseService","service","NS_STREAM","NS_JABBER_STREAM","socket","dirty","socketListeners","isStreamError","promiseOnline","headerElement","fragment","string","Connection","connection","Transport","Client","Client_1","clientCore","getDomain","Reconnect","entity","_timeout","reconnect","__viteBrowserExternal","WS","WebSocket","CODE","url","Socket_1","Socket","FramedParser_1","FramedParser","NS_FRAMING","elements","ConnectionWebSocket","Connection_1","websocket","koaCompose","compose","middleware","dispatch","Context_1","stanza","Context","IncomingContext_1","OutgoingContext_1","IncomingContext","OutgoingContext","reply","outgoing","incomingListener","outgoingListener","route","streamFeatures","use","feature","StanzaError_1","StanzaError","xid","timeoutPromise","isReply","IQCaller","deferred","caller","iqCaller","NS_STANZA","isQuery","isValidQuery","buildReply","buildReplyResult","buildReplyError","buildError","iqHandler","ns","callee","isSecure","uri","altConnections","secure","fetch","compareAltConnections","http","dns","resolveModule","records","endpoints","fetchURIs","record","filterSupportedURIs","uris","fallbackConnect","resolve_1","_connect","browser","SASLError_1","SASLError","factory","exports","Factory","mech","mechs","jlen","encode","decode","SASLFactory","NS","getMechanismNames","features","authenticate","SASL","mechname","credentials","creds","resp","sasl","offered","makeBindElement","resourceBinding","sessionEstablishment","enable","resume","nonza","previd","response","streamManagement","address","sm","promiseEnable","Mechanism","cred","chal","saslAnonymous","saslPlain","_reconnect","_websocket","_middleware","_streamFeatures","_iqCaller","require$$6","_iqCallee","require$$7","_resolve","require$$8","_sasl","require$$9","_resourceBinding","require$$10","_sessionEstablishment","require$$11","_streamManagement","require$$12","anonymous","require$$13","require$$14","client","username","password","iqCallee","mechanisms","xml_1","jid_1","client_1","urlAlphabet","nanoid","size","bytes","scopedUrlAlphabet","cov_2fpqosn6tm","MUC_USER","MUC_OWNER","DISCO_ITEMS","MESSAGE_RETRACTED","discoInfoCache","constructor","xmppClient","parseJid","_jid","createJid","getLocal","toString","parseStanza","carbon","getChild","forwarded","isMuc","isSelf","mucPresence","mucCreated","parseMessage","stanzaIdNode","extensions","extension","getChildText","chat","fasten","moderation","retracted","by","reasonNode","messageRetracted","subjectNode","getText","subjectChange","messageId","errorNode","messageSentError","length","chatStateNodes","connect","authenticated","disconnect","on","callbacks","getRoster","ver","rosterMessage","presenceMessage","send","CHAT_STATE","OUT_OF_BAND_DATA","sentMessage","messageSent","carbonsMessage","CARBONS","bookmarkRequest","PRIVATE","BOOKMARKS","bookmarks","q","conference","bookmark","nick","setBookmarks","setBookmarkRequest","autojoin","addBookmark","removeBookmark","discoInfoMessage","DISCO_INFO","identities","discoInfo","getDiscoItems","discoItemsMessage","maxSize","discoItems","getMaxFileSize","console","fields","HTTP_UPLOAD","maxFileSizeField","request","slotRequestMessage","upload","download","getVCard","getVCardMessage","VCARD","attributes","attribute","dataType","setVCard","vCard","binVal","PHOTO","newVCard","handledAttributes","setVCardMessage","queryArchiveMessage","MAM","FORM","var","RSM","paging","opts","roomPresenceMessage","MUC","timeoutDuration","clearTimeout","roomJoinAck","getChildren","fromElement","joinPromise","getRoomConfig","getRoomConfigMessage","form","instructions","description","setRoomConfigMessage","defaultAvatar","cov_20528cax6","transports","defaultDomain","defaultMuc","connectTimeout","defaultLevel","Array","prototype","arguments","warn","Error","xmppSocket","fullJid","isAnonymous","create","transportsUser","jidParts","split","XMPP","Promise","setTimeout","connectPromise","localStorage","setItem","$store","listen","catch","race","info","then","rosterResult","sendPresence","rosterError","getDiscoInfo","discoInfoError","enableCarbons","getBookmarks","mucBookmarks","setRoomAttributes","joinRoom","muc","mucDiscoInfoResult","getUploadService","UploadServiceResult","receivedMessage","sendUrl","sendMessage","sendChatState","occupantsCount","isPersistent","isPasswordProtected","isMembersOnly","isModerated","hasVCard","parseInt","isNaN","getJidAvatar","sessionStorage","getItem","isDefault","avatar","mediaType","getProfile","updateProfile","profile","searchHistory","history","_room","isSuccess","getRoomError","getPublicMuc","serverDiscoItemsResult","serverDiscoItem","serviceDiscoInfoResult","MucDiscoItemsResult","MucDiscoItem","getUploadSlot","uploadService","uploadRequest","bookmarkRoom","isAdd","createRoom","setRoomConfig","configureRoom","setNick","registerSW","onNeedRefresh","onOfflineReady","onRegistered","onRegisteredSW","onRegisterError","wb","registerPromise","updateServiceWorker","_reloadPage","Workbox","__vitePreload","isBrowser","isRouteComponent","isESModule","applyToParams","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","location","currentLocation","query","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","toPosition","segment","START_LOCATION_NORMALIZED","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","teardown","beforeUnloadListener","destroy","buildState","back","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","isRouteName","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","token","subSegmentScore","repeatable","regexp","subPattern","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","isMatchable","insertMatcher","matcherRef","getRoutes","paramsFromLocation","matched","parentMatcher","mergeMetaFields","clearRoutes","normalizeRecordProps","propsObject","meta","defaults","partialOptions","lower","upper","mid","insertionAncestor","getInsertionAncestor","ancestor","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","handlers","add","guardToPromiseFn","runWithContext","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","preferSingleVNode","RouterLinkImpl","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","readyHandlers","errorListeners","ready","isReady","scrollBehavior","started","reactiveRoute","unmountApp","recordFrom","recordTo","cov_1vwaa21ipm","required","default","displayJid","String","presenceClass","letter","charCodeAt","angle","_normalizeClass","src","_normalizeStyle","__classPrivateFieldGet","kind","_Mime_extensionToType","_Mime_typeToExtension","_Mime_typeToExtensions","Mime","typeMap","ext","allExtensions","starred","currentType","hasPath","mime","standardTypes","otherTypes","cov_1y5ba368ga","isImage","isAudio","isVideo","displayModal","contentType","getType","controls","_createElementVNode","alt","decodeDataHtml","decodeDataXml","decodeMap","codePoint","output","replaceCodePoint","decodeCodePoint","__createBinding","k2","desc","__setModuleDefault","__importStar","__importDefault","decode_data_html_js_1","decode_data_xml_js_1","decode_codepoint_js_1","decode_codepoint_js_2","CharCodes","TO_LOWER_BIT","BinTrieFlags","isNumber","isHexadecimalCharacter","isAsciiAlphaNumeric","isEntityInAttributeInvalidEnd","EntityDecoderState","DecodingMode","EntityDecoder","decodeTree","emitCodePoint","errors","decodeMode","digitCount","startIdx","lastCp","expectedLength","valueLength","determineBranch","_b","consumed","getDecoder","decoder","nodeIdx","branchCount","jumpOffset","lo","hi","midVal","htmlDecoder","xmlDecoder","decodeHTML","decodeHTMLAttribute","decodeHTMLStrict","decodeXML","decode_js_1","State","isWhitespace","isEndOfTagSection","isASCIIAlpha","isHexDigit","QuoteType","Sequences","Tokenizer","cbs","xmlMode","_c","decodeEntities","chunk","isEnd","isMatch","endOfText","actualIndex","sequence","quote","masked","entityStart","strict","numberStart","endIndex","cp","Tokenizer_js_1","formTags","pTag","tableSectionTags","ddtTags","rtpTags","openImpliesClose","voidElements","foreignContextElements","htmlIntegrationElements","reNameEnd","_d","_e","impliesClose","isImplied","_f","isOpenImplied","_g","_h","_j","_k","ElementType","isTag","elem","__extends","extendStatics","__","__assign","domelementtype_1","Node","cloneNode","DataNode","_super","_this","ProcessingInstruction","NodeWithChildren","CDATA","Document","attribs","isCDATA","isText","isComment","isDirective","isDocument","hasChildren","cloneChildren","clone_1","clone_2","clone_3","instruction","childs","__exportStar","node_js_1","defaultOpts","DomHandler","elementCB","lastNode","previousSibling","encodeHtml","restoreDiff","xmlCodeMap","encodeXML","lastIdx","getEscaper","regex","encode_html_js_1","escape_js_1","htmlReplacer","encodeHTML","encodeHTMLTrieRe","encodeNonAsciiHTML","regExp","nextChar","encode_js_1","EntityLevel","EncodingMode","level","decodeStrict","escape_js_2","encode_js_2","decode_js_2","foreignNames","lib","entities_1","foreignNames_js_1","unencodedElements","replaceQuotes","formatAttributes","singleTag","renderNode","renderDirective","renderComment","renderCdata","renderTag","renderText","foreignModeIntegrationPoints","foreignElements","getOuterHTML","getInnerHTML","textContent","innerText","domhandler_1","dom_serializer_1","traversal","getParent","getSiblings","getAttributeValue","hasAttrib","getName","nextElementSibling","prevElementSibling","siblings","manipulation","replaceElement","appendChild","prependChild","childsIndex","replacement","sibling","currNext","querying","findOneChild","findOne","existsOne","findAll","test","recurse","limit","nodeStack","indexStack","searchedNodes","legacy","testElement","getElements","getElementById","getElementsByTagName","getElementsByClassName","getElementsByTagType","querying_js_1","Checks","getAttribCheck","attrib","combineFuncs","compileTest","funcs","className","helpers","removeSubsets","compareDocumentPosition","uniqueSort","DocumentPosition","nodeA","nodeB","aParents","bParents","maxIdx","sharedParent","aSibling","bSibling","relative","feeds","getFeed","stringify_js_1","legacy_js_1","feedRoot","getOneElement","isValidFeed","getAtomFeed","getRssFeed","feed","getMediaElements","addConditionally","pubDate","MEDIA_KEYS_STRING","MEDIA_KEYS_INT","where","media","_i","MEDIA_KEYS_STRING_1","MEDIA_KEYS_INT_1","Parser_js_1","Parser_js_2","domhandler_2","parseDocument","parseDOM","createDomStream","elementCallback","domutils_1","domutils_2","parseFeedDefaultOptions","parseFeed","escapeStringRegexp","isPlainObject_1","ctor","prot","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getMergeFunction","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","propertyIsUnsafe","mergeObject","destination","sourceAndTargetTypesMatch","deepmerge_1","cjs","isSpace","collectCharacters","regEx","chars","inputLength","regexLeadingSpaces","regexLeadingCommasOrSpaces","regexLeadingNotSpaces","regexTrailingCommas","regexNonNegativeInteger","regexFloatingPoint","descriptors","currentDescriptor","candidates","parseDescriptors","tokenize","pError","candidate","lastChar","intVal","floatVal","picocolors_browserModule","pico","terminalHighlight","CssSyntaxError","line","color","css","aside","mark","highlight","bold","gray","red","lines","maxWidth","gutter","padding","subLineStart","subLineEnd","subLine","spacing","cssSyntaxError","DEFAULT_RAW","Stringifier$2","builder","semicolon","detect","buf","indent","step","between","own","stringifier","Stringifier","stringify_1","symbols","isClean","my","sourceOffset","inputCSS","Node$4","keepBetween","inputString","defaultType","foundSelf","inputs","fixed","emitInputs","inputsNextIndex","inputId","comment","declaration","Declaration","AtRule","Root","Rule","cleanSource","markTreeDirty","Container","exist","existIndex","sample","decl","dependant","atRule","LazyResult","Processor","customAlphabet","alphabet","defaultSize","nonSecure","existsSync","readFileSync","dirname","join","SourceMapConsumer","SourceMapGenerator","fromBase64","PreviousMap$2","baseCharsetUri","baseUri","charsetUri","uriMatch","baseUriMatch","encoding","sourceMapString","comments","prevPath","previousMap","PreviousMap","isAbsolute","fileURLToPath","pathToFileURL","lineToIndexCache","sourceMapAvailable","pathAvailable","getLineToIndex","lineToIndex","prevIndex","Input$4","endColumn","endLine","endOffset","lastLine","consumer","fromUrl","json","Input","ignore","spaces","separators","inQuote","prevQuote","list_1","rule","fromJSON","ownInputs","inputHydrated","fromJSON_1","MapGenerator$2","cssString","eol","noSource","mapping","annotation","already","fileURL","mapGenerator","MapGenerator","SINGLE_QUOTE","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","currentToken","escaped","escapePos","returned","unclosed","what","endOfFile","nextToken","ignoreUnclosed","controlChar","tokenizer","SAFE_COMMENT_NEIGHBOR","findLastWithPosition","Parser$1","shift","brackets","colon","founded","customProperty","firstSpaces","bracket","clean","all","lastTokenType","parse_1","Warning$2","range","Warning","Result$3","processor","Result","TYPE_TO_CLASS_NAME","PLUGIN_PROPS","NOT_VISITORS","CHILDREN","getEvents","toStack","cleanMarks","postcss","LazyResult$2","onRejected","onFinally","stack","visitor","roots","subRoot","onFulfilled","visitors","visit","lazyResult","NoWorkResult$1","generatedCSS","generatedMap","noWorkResult","NoWorkResult","Processor$1","require$$15","require$$16","require$$17","initializer","warningPrinted","creator","transformer","processOpts","pluginOpts","postcss_1","htmlparser","parseSrcset","postcssParse","mediaTags","vulnerableTags","each","isEmptyObject","stringifySrcset","parsedSrcset","sanitizeHtml_1","sanitizeHtml","VALID_HTML_ATTRIBUTE_NAME","html","_recursing","tempResult","Frame","parentFrame","htmlParserDefaults","tagAllowed","nonTextTagsArray","allowedAttributesMap","allowedAttributesGlobMap","globRegex","allowedClassesMap","allowedClassesGlobMap","allowedClassesRegexMap","transformTagsMap","transformTagsAll","transform","transFun","skipMap","transformMap","skipText","skipTextDepth","addedText","initializeState","frame","skip","hasText","transformedTag","escapeHtml","passedAllowedAttributesMapCheck","splitStrArray","naughtyHref","parsed","parseUrl","allowedHostname","allowedDomain","allowedSpecificClasses","allowedWildcardClasses","allowedSpecificClassesGlob","allowedSpecificClassesRegex","allowedWildcardClassesRegex","allowedWildcardClassesGlob","allowedClassesGlobs","filterClasses","abstractSyntaxTree","filteredAST","filterCss","stringifyStyleAttributes","lastFrame","filterResult","firstIndex","scheme","allowedStyles","astRules","selectedRule","filterDeclarations","extractedAttributes","attrObject","allowedDeclarationsList","attributeObject","regularExpression","allowedGlobs","clss","glob","newTagName","newAttribs","cov_102z2i6or","MessageLink","displayNick","isStylingDisabled","allowedTags","disallowedTagsMode","codeBlockEndLine","testedLine","relativeBlockLineEnd","codes","lineTemp","statusCode","innerHTML","_createCommentVNode","_Fragment","_renderList","_createBlock","_component_message_link","datetime","_toDisplayString","cov_2695nbr9rb","prompt","hasIcon","hasCancelButton","iconClass","confirmText","cancelText","promptValue","validate","validPrompt","_withDirectives","autofocus","_vModelDynamic","_hoisted_13","_hoisted_14","_hoisted_15","cov_1p43o2fuyf","getInviteLink","trapFocus","Modal","cov_bbxat0389","cov_ta5x04mxo","isLoading","$emit","_component_o_radio","_createTextVNode","cov_1113irqeav","openConfigurationModal","hasModalCard","cov_pxto91nfi","firstMessageId","isLoadingPreviousMessages","isDisabled","getPreviousMessages","cov_1991t0lak9","_component_avatar","cov_204wak071t","isDiplayed","roomSubject","gemoji","cov_26yv899wco","isOpen","activeCategory","categories","emoji","getEmojiByCategory","category","sendEmojiPicked","_component_o_tabs","_component_o_tab_item","getPrototypeOf","toStringTag","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","isFile","isBlob","isFileList","isStream","isFormData","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","isContextDefined","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","toArray","isTypedArray","TypedArray","forEachEntry","_iterator","pair","matchAll","isHTMLForm","toCamelCase","isRegExp","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","isSpecCompliantForm","toJSONObject","reducedValue","isAsyncFn","isThenable","_setImmediate","setImmediateSupported","postMessageSupported","asap","isIterable","utils$1","AxiosError","utils","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","metaTokens","defaultVisitor","indexes","useBlob","convertValue","exposedHelpers","build","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","_navigator","hasStandardBrowserEnv","hasStandardBrowserWebWorkerEnv","platform","toURLEncodedForm","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","headers","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","dest","deleted","deleteHeader","targets","asStrings","accessors","defineAccessor","mapped","headerValue","AxiosHeaders$1","transformData","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","timestamps","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","lastArgs","timer","invoke","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","progressEventDecorator","throttled","lengthComputable","asyncDecorator","isURLSameOrigin","isMSIE","cookies","expires","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","allowAbsoluteUrls","isRelativeUrl","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onUploadProgress","onDownloadProgress","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","onloadend","responseHeaders","timeoutErrorMessage","cancel","composeSignals","signals","controller","aborted","onabort","unsubscribe","signal","composeSignals$1","streamChunk","chunkSize","readBytes","iterable","readStream","stream","reader","trackStream","onProgress","onFinish","_onFinish","loadedBytes","isFetchSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","getBodyLength","resolveBodyLength","fetchAdapter","cancelToken","withCredentials","fetchOptions","composedSignal","requestContentLength","_request","contentTypeHeader","isCredentialsSupported","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","formatMessage","correctSpelling","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","abort","CancelToken$1","spread","isAxiosError","HttpStatusCode","HttpStatusCode$1","createInstance","axios","promises","axios$1","ARRAY","BIT","BITS","BYTE","BYTES","EMPTY","EXPONENT","FUNCTION","IEC","INVALID_NUMBER","INVALID_ROUND","JEDEC","OBJECT","PERIOD","ROUND","SI","SI_KBIT","SI_KBYTE","STRING","ZERO","STRINGS","filesize","bits","pad","round","localeOptions","spacer","standard","fullform","fullforms","exponent","roundingMethod","precision","ceil","neg","roundingFunc","cov_1golfp0ifc","EmojiPicker","Boolean","composingMessage","fileThumbnail","fileIcon","pauseTimeoutId","userJid","handleEnterKey","postFile","onFileChange","alert","startsWith","readAsDataURL","httpUploadSlotResult","removeFile","addEmoji","_withModifiers","onKeydown","_withKeys","onEmojiPicked","onChange","cov_av5syx329","displayLabel","backgroundClass","cov_2fq0jphvi4","isNotificationsSupported","hasNotificationsEnabledSwitch","lsNotificationKey","_component_o_switch","cov_jr7lkqkzl","lsInactiveChatStatesKey","NotificationsSwitch","isNavbarItem","isRight","isAutoPresence","isSendingTypingChatStatesSwitch","lsNotTypingChatStatesKey","isSendingInactiveChatStatesSwitch","setAutoPresence","sendAutoPresence","role","presenceOption","cov_51ezkztji","InviteGuestButton","BookmarkButton","RoomConfigurationButton","RetrieveHistoryButton","RoomOccupants","RoomSubject","Sendbox","PresenceController","beforeRouteEnter","previousRoute","userNick","messagesWithJid","chatStateClass","hasGuestInviteLink","abortChat","rootClass","onCancel","onPromptAnswered","messagesContainer","scrollTop","_TransitionGroup","_component_message","_component_sendbox","cov_2mblhbszzv","bugUrl","bugs","toggleMenu","toggle","_component_router_link","_component_presence_controller","rel","cov_2j0uhj60vz","gitVersion","gitBranch","homepage","license","_setBlockTracking","_createStaticVNode","cov_i33xwgjmm","Version","remember","isTransportsUserAllowed","jidPlaceholder","appName","logoSrc","ssoAuth","reverse","_vModelText","_hoisted_17","_hoisted_18","_hoisted_19","cov_2kqzvf9o6z","isExpanded","roomName","exact","_vShow","cov_k9pktwhvl","isOpened","contactsInGroup","_component_contact","cov_t2vgxs312","displayedRooms","roomPlaceholder","$xmpp","isValidRoomJid","joinRoomByJid","onSubmit","cov_2i1ax5hwyi","hasAuthConfirmed","displayContact","$route","_component_version","cov_7nbbplena","openRoom","getRoomTitle","cov_1aiu9bq03p","hasValidJid","RoomConfiguration","canCancel","cov_18fozdueh5","isLoaded","isProcessing","save","selectAvatar","accept","spdxLicenseList","_imports_0","cov_20bc3k5yog","installed","latest","latestLink","isUpToDate","xmppWeb","getLicense","cov_1pyo2fwfm1","requestedJid","bosh","server","hasValidNick","requestedFullJid","guestDescription","cov_21w1ennor2","language","displayRoomsList","roomsLanguages","Set","filteredPublicRooms","searchText","searchLanguage","isPinned","pinnedRooms","modal","requestedRoom","_vModelSelect","_hoisted_16","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","cov_1zfmlqlprd","Chat","displayChat","cov_23wh9qje0g","hasRegisteredAccess","navbar","Navbar","Home","requiresAuth","RoomsList","RoomCreation","Profile","About","Login","hasGuestAccess","GuestHome","GuestRooms","GuestChat","beforeEach","cov_w1p17yex5","relativeTime","App","iconPack"],"sources":["../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../node_modules/vue-demi/lib/index.mjs","../../node_modules/pinia/dist/pinia.mjs","../../node_modules/@vueuse/shared/index.mjs","../../node_modules/@vueuse/core/index.mjs","../../src/store/index.js","../../src/App.vue","../../node_modules/@oruga-ui/oruga-next/dist/esm/helpers.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/config.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/plugins-ba5e2464.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Icon-a7b85e86.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/FormElementMixin-29581863.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Input-19e906a1.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Autocomplete-a23ad844.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/autocomplete.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Button-c75f7992.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/button.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/InjectedChildMixin-5282461d.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/carousel.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/CheckRadioMixin-f5b57344.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Checkbox-8670724c.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/checkbox.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/collapse.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/MatchMediaMixin-09b141ca.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/trapFocus-dc03669f.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/DropdownItem-c744c4e9.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Field-937b4591.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Select-2cca695f.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Datepicker-42aca091.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/datepicker.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Timepicker-c2f10909.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/datetimepicker.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/dropdown.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/field.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/icon.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/input.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/inputitems.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/ssr-85c76d50.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Loading-20d29914.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/InstanceRegistry-2fdb6ee8.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/loading.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/menu.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/modal.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/notification.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Pagination-02a660a8.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/pagination.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/radio.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/select.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/skeleton.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/sidebar.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Tooltip-7e114fbb.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/slider.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/SlotComponent-11a269f3.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/TabbedChildMixin-8b374962.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/steps.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/switch.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/table.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/tabs.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/timepicker.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/tooltip.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/upload.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/index.mjs","../../node_modules/@oruga-ui/theme-bulma/dist/bulma.mjs","../../node_modules/dayjs/dayjs.min.js","../../node_modules/dayjs/plugin/relativeTime.js","../../node_modules/@xmpp/events/lib/TimeoutError.js","../../node_modules/@xmpp/events/lib/delay.js","../../node_modules/@xmpp/events/lib/timeout.js","../../node_modules/@xmpp/events/lib/promise.js","../../node_modules/events/events.js","../../node_modules/@xmpp/events/lib/Deferred.js","../../node_modules/@xmpp/events/index.js","../../node_modules/@xmpp/jid/lib/escaping.js","../../node_modules/@xmpp/jid/lib/JID.js","../../node_modules/@xmpp/jid/lib/parse.js","../../node_modules/@xmpp/jid/index.js","../../node_modules/@xmpp/xml/node_modules/ltx/lib/escape.js","../../node_modules/@xmpp/xml/node_modules/ltx/lib/Element.js","../../node_modules/@xmpp/xml/node_modules/ltx/lib/createElement.js","../../node_modules/@xmpp/xml/node_modules/ltx/lib/parsers/ltx.js","../../node_modules/@xmpp/xml/lib/XMLError.js","../../node_modules/@xmpp/xml/lib/Parser.js","../../node_modules/@xmpp/xml/index.js","../../node_modules/@xmpp/error/index.js","../../node_modules/@xmpp/connection/lib/StreamError.js","../../node_modules/@xmpp/connection/lib/util.js","../../node_modules/@xmpp/connection/index.js","../../node_modules/@xmpp/client-core/lib/Client.js","../../node_modules/@xmpp/client-core/index.js","../../node_modules/@xmpp/client/lib/getDomain.js","../../node_modules/@xmpp/reconnect/index.js","../../__vite-browser-external","../../node_modules/@xmpp/websocket/lib/Socket.js","../../node_modules/@xmpp/websocket/lib/FramedParser.js","../../node_modules/@xmpp/websocket/lib/Connection.js","../../node_modules/@xmpp/websocket/index.js","../../node_modules/koa-compose/index.js","../../node_modules/@xmpp/middleware/lib/Context.js","../../node_modules/@xmpp/middleware/lib/IncomingContext.js","../../node_modules/@xmpp/middleware/lib/OutgoingContext.js","../../node_modules/@xmpp/middleware/index.js","../../node_modules/@xmpp/stream-features/route.js","../../node_modules/@xmpp/stream-features/index.js","../../node_modules/@xmpp/id/index.js","../../node_modules/@xmpp/middleware/lib/StanzaError.js","../../node_modules/@xmpp/iq/caller.js","../../node_modules/@xmpp/iq/callee.js","../../node_modules/@xmpp/xml/lib/parse.js","../../node_modules/@xmpp/resolve/lib/alt-connections.js","../../node_modules/@xmpp/resolve/lib/http.js","../../node_modules/@xmpp/resolve/resolve.js","../../node_modules/@xmpp/resolve/index.js","../../node_modules/@xmpp/base64/browser.js","../../node_modules/@xmpp/sasl/lib/SASLError.js","../../node_modules/saslmechanisms/lib/factory.js","../../node_modules/saslmechanisms/main.js","../../node_modules/@xmpp/sasl/index.js","../../node_modules/@xmpp/resource-binding/index.js","../../node_modules/@xmpp/session-establishment/index.js","../../node_modules/@xmpp/stream-management/index.js","../../node_modules/sasl-anonymous/lib/mechanism.js","../../node_modules/sasl-anonymous/main.js","../../node_modules/@xmpp/sasl-anonymous/index.js","../../node_modules/sasl-plain/lib/mechanism.js","../../node_modules/sasl-plain/main.js","../../node_modules/@xmpp/sasl-plain/index.js","../../node_modules/@xmpp/client/browser.js","../../node_modules/nanoid/url-alphabet/index.js","../../node_modules/nanoid/index.browser.js","../../src/services/XmppClient.js","../../src/assets/defaultAvatar.js","../../src/services/XmppSocket.js","../../../../../../../@vite-plugin-pwa/virtual:pwa-register","../../node_modules/vue-router/dist/vue-router.mjs","../../src/components/Avatar.vue","../../node_modules/mime/dist/types/other.js","../../node_modules/mime/dist/types/standard.js","../../node_modules/mime/dist/src/Mime.js","../../node_modules/mime/dist/src/index.js","../../src/components/MessageLink.vue","../../node_modules/entities/lib/generated/decode-data-html.js","../../node_modules/entities/lib/generated/decode-data-xml.js","../../node_modules/entities/lib/decode_codepoint.js","../../node_modules/entities/lib/decode.js","../../node_modules/htmlparser2/lib/Tokenizer.js","../../node_modules/htmlparser2/lib/Parser.js","../../node_modules/domelementtype/lib/index.js","../../node_modules/domhandler/lib/node.js","../../node_modules/domhandler/lib/index.js","../../node_modules/entities/lib/generated/encode-html.js","../../node_modules/entities/lib/escape.js","../../node_modules/entities/lib/encode.js","../../node_modules/entities/lib/index.js","../../node_modules/dom-serializer/lib/foreignNames.js","../../node_modules/dom-serializer/lib/index.js","../../node_modules/domutils/lib/stringify.js","../../node_modules/domutils/lib/traversal.js","../../node_modules/domutils/lib/manipulation.js","../../node_modules/domutils/lib/querying.js","../../node_modules/domutils/lib/legacy.js","../../node_modules/domutils/lib/helpers.js","../../node_modules/domutils/lib/feeds.js","../../node_modules/domutils/lib/index.js","../../node_modules/htmlparser2/lib/index.js","../../node_modules/escape-string-regexp/index.js","../../node_modules/sanitize-html/node_modules/is-plain-object/dist/is-plain-object.js","../../node_modules/deepmerge/dist/cjs.js","../../node_modules/parse-srcset/src/parse-srcset.js","../../node_modules/picocolors/picocolors.browser.js","../../node_modules/postcss/lib/css-syntax-error.js","../../node_modules/postcss/lib/stringifier.js","../../node_modules/postcss/lib/stringify.js","../../node_modules/postcss/lib/symbols.js","../../node_modules/postcss/lib/node.js","../../node_modules/postcss/lib/comment.js","../../node_modules/postcss/lib/declaration.js","../../node_modules/postcss/lib/container.js","../../node_modules/postcss/lib/at-rule.js","../../node_modules/postcss/lib/document.js","../../node_modules/postcss/node_modules/nanoid/non-secure/index.cjs","../../node_modules/postcss/lib/previous-map.js","../../node_modules/postcss/lib/input.js","../../node_modules/postcss/lib/root.js","../../node_modules/postcss/lib/list.js","../../node_modules/postcss/lib/rule.js","../../node_modules/postcss/lib/fromJSON.js","../../node_modules/postcss/lib/map-generator.js","../../node_modules/postcss/lib/tokenize.js","../../node_modules/postcss/lib/parser.js","../../node_modules/postcss/lib/parse.js","../../node_modules/postcss/lib/warning.js","../../node_modules/postcss/lib/result.js","../../node_modules/postcss/lib/lazy-result.js","../../node_modules/postcss/lib/no-work-result.js","../../node_modules/postcss/lib/processor.js","../../node_modules/postcss/lib/postcss.js","../../node_modules/sanitize-html/index.js","../../src/components/Message.vue","../../src/components/Modal.vue","../../src/components/InviteGuestButton.vue","../../src/components/BookmarkButton.vue","../../src/components/RoomConfiguration.vue","../../src/components/RoomConfigurationButton.vue","../../src/components/RetrieveHistoryButton.vue","../../src/components/RoomOccupants.vue","../../src/components/RoomSubject.vue","../../node_modules/gemoji/index.js","../../src/components/EmojiPicker.vue","../../node_modules/axios/lib/helpers/bind.js","../../node_modules/axios/lib/utils.js","../../node_modules/axios/lib/core/AxiosError.js","../../node_modules/axios/lib/helpers/null.js","../../node_modules/axios/lib/helpers/toFormData.js","../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../node_modules/axios/lib/helpers/buildURL.js","../../node_modules/axios/lib/core/InterceptorManager.js","../../node_modules/axios/lib/defaults/transitional.js","../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../node_modules/axios/lib/platform/browser/index.js","../../node_modules/axios/lib/platform/common/utils.js","../../node_modules/axios/lib/platform/index.js","../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../node_modules/axios/lib/helpers/formDataToJSON.js","../../node_modules/axios/lib/defaults/index.js","../../node_modules/axios/lib/helpers/parseHeaders.js","../../node_modules/axios/lib/core/AxiosHeaders.js","../../node_modules/axios/lib/core/transformData.js","../../node_modules/axios/lib/cancel/isCancel.js","../../node_modules/axios/lib/cancel/CanceledError.js","../../node_modules/axios/lib/core/settle.js","../../node_modules/axios/lib/helpers/parseProtocol.js","../../node_modules/axios/lib/helpers/speedometer.js","../../node_modules/axios/lib/helpers/throttle.js","../../node_modules/axios/lib/helpers/progressEventReducer.js","../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../node_modules/axios/lib/helpers/cookies.js","../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../node_modules/axios/lib/helpers/combineURLs.js","../../node_modules/axios/lib/core/buildFullPath.js","../../node_modules/axios/lib/core/mergeConfig.js","../../node_modules/axios/lib/helpers/resolveConfig.js","../../node_modules/axios/lib/adapters/xhr.js","../../node_modules/axios/lib/helpers/composeSignals.js","../../node_modules/axios/lib/helpers/trackStream.js","../../node_modules/axios/lib/adapters/fetch.js","../../node_modules/axios/lib/adapters/adapters.js","../../node_modules/axios/lib/core/dispatchRequest.js","../../node_modules/axios/lib/env/data.js","../../node_modules/axios/lib/helpers/validator.js","../../node_modules/axios/lib/core/Axios.js","../../node_modules/axios/lib/cancel/CancelToken.js","../../node_modules/axios/lib/helpers/spread.js","../../node_modules/axios/lib/helpers/isAxiosError.js","../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../node_modules/axios/lib/axios.js","../../node_modules/filesize/dist/filesize.esm.js","../../src/components/Sendbox.vue","../../src/components/Presence.vue","../../src/components/NotificationsSwitch.vue","../../src/components/PresenceController.vue","../../src/components/Chat.vue","../../src/components/Navbar.vue","../../src/components/Version.vue","../../src/components/Login.vue","../../src/components/Contact.vue","../../src/components/Group.vue","../../src/components/Contacts.vue","../../src/components/Home.vue","../../src/components/RoomsList.vue","../../src/components/RoomCreation.vue","../../src/components/Profile.vue","../../node_modules/spdx-license-list/index.js","../../../../../../../img/icons/android-chrome-192x192.png","../../src/components/About.vue","../../src/components/GuestHome.vue","../../src/components/GuestRooms.vue","../../src/components/GuestChat.vue","../../src/router/index.js","../../src/main.js"],"sourcesContent":["/**\n* @vue/shared v3.5.16\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.16\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { extend, hasChanged, isArray, isIntegerKey, isSymbol, isMap, hasOwn, makeMap, isObject, capitalize, toRawType, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, remove, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal track `on` calls, allow `on` call multiple times\n */\n this._on = 0;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n if (++this._on === 1) {\n this.prevScope = activeEffectScope;\n activeEffectScope = this;\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n if (this._on > 0 && --this._on === 0) {\n activeEffectScope = this.prevScope;\n this.prevScope = void 0;\n }\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\",\n \"EVALUATED\": 128,\n \"128\": \"EVALUATED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= -65;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= -3;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= -2;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= -17;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {\n return;\n }\n computed.flags |= 2;\n const dep = computed.dep;\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed.flags |= 128;\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= -3;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= -5;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n oldValue = newValue;\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.16\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, NO, EMPTY_ARR, hyphenate, makeMap, toRawType, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= -2;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= -2;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= -2;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n n2.el.__isMounted = false;\n queuePostRenderEffect(() => {\n mountToTarget();\n delete n2.el.__isMounted;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== \"production\"));\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n const cls = content.getAttribute(\"class\");\n if (cls) content.$cls = cls;\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n if (el.$cls) {\n actual = el.$cls;\n delete el.$cls;\n } else {\n actual = el.getAttribute(\"class\");\n }\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n let patched = false;\n const doHydrate = hydrateStrategy ? () => {\n const performHydrate = () => {\n if (!!(process.env.NODE_ENV !== \"production\") && patched) {\n warn$1(\n `Skipping lazy hydration for component '${getComponentName(resolvedComp)}': it was updated before lazy hydration performed.`\n );\n return;\n }\n hydrate();\n };\n const teardown = hydrateStrategy(\n performHydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n (instance.u || (instance.u = [])).push(() => patched = true);\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n instance2.__keepAliveStorageContainer = storageContainer;\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= -257;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= -257;\n vnode.shapeFlag &= -513;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n let isReadonlySource = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n isReadonlySource = isReadonly(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n","/**\r\n * +/- function to native math sign\r\n */\r\nfunction signPoly(value) {\r\n if (value < 0)\r\n return -1;\r\n return value > 0 ? 1 : 0;\r\n}\r\nconst sign = Math.sign || signPoly;\r\n/**\r\n * Checks if the flag is set\r\n * @param val\r\n * @param flag\r\n * @returns {boolean}\r\n */\r\nfunction hasFlag(val, flag) {\r\n return (val & flag) === flag;\r\n}\r\n/**\r\n * Native modulo bug with negative numbers\r\n * @param n\r\n * @param mod\r\n * @returns {number}\r\n */\r\nfunction mod(n, mod) {\r\n return ((n % mod) + mod) % mod;\r\n}\r\n/**\r\n * Asserts a value is beetween min and max\r\n * @param val\r\n * @param min\r\n * @param max\r\n * @returns {number}\r\n */\r\nfunction bound(val, min, max) {\r\n return Math.max(min, Math.min(max, val));\r\n}\r\n/**\r\n * Get value of an object property/path even if it's nested\r\n */\r\nfunction getValueByPath(obj, path, defaultValue = undefined) {\r\n const value = path.split('.').reduce((o, i) => typeof o !== 'undefined' ? o[i] : undefined, obj);\r\n return typeof value !== 'undefined' ? value : defaultValue;\r\n}\r\n/**\r\n * Set value of an object property/path even if it's nested\r\n */\r\nfunction setValueByPath(obj, path, value) {\r\n const p = path.split('.');\r\n if (p.length === 1) {\r\n obj[path] = value;\r\n return;\r\n }\r\n const field = p[0];\r\n if (typeof obj[field] === 'undefined')\r\n obj[field] = {};\r\n return setValueByPath(obj[field], p.slice(1).join('.'), value);\r\n}\r\n/**\r\n * Extension of indexOf method by equality function if specified\r\n */\r\nfunction indexOf(array, obj, fn) {\r\n if (!array)\r\n return -1;\r\n if (!fn || typeof fn !== 'function')\r\n return array.indexOf(obj);\r\n for (let i = 0; i < array.length; i++) {\r\n if (fn(array[i], obj)) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Merge function to replace Object.assign with deep merging possibility\r\n */\r\nconst isObject = (item) => typeof item === 'object' && !Array.isArray(item);\r\nconst mergeFn = (target, source, deep = false) => {\r\n if (deep || !Object.assign) {\r\n const isDeep = (prop) => isObject(source[prop]) &&\r\n target !== null &&\r\n Object.prototype.hasOwnProperty.call(target, prop) &&\r\n isObject(target[prop]);\r\n let replaced;\r\n if (source === null || typeof source === 'undefined') {\r\n replaced = false;\r\n }\r\n else {\r\n replaced = Object.getOwnPropertyNames(source)\r\n .map((prop) => ({ [prop]: isDeep(prop)\r\n ? mergeFn(target[prop], source[prop], deep)\r\n : source[prop] }))\r\n .reduce((a, b) => ({ ...a, ...b }), {});\r\n }\r\n return {\r\n ...target,\r\n ...replaced\r\n };\r\n }\r\n else {\r\n return Object.assign(target, source);\r\n }\r\n};\r\nconst merge = mergeFn;\r\n/**\r\n * Mobile detection\r\n * https://www.abeautifulsite.net/detecting-mobile-devices-with-javascript\r\n */\r\nconst isMobile = {\r\n Android: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/Android/i));\r\n },\r\n BlackBerry: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/BlackBerry/i));\r\n },\r\n iOS: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/iPhone|iPad|iPod/i));\r\n },\r\n Opera: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/Opera Mini/i));\r\n },\r\n Windows: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/IEMobile/i));\r\n },\r\n any: function () {\r\n return (isMobile.Android() ||\r\n isMobile.BlackBerry() ||\r\n isMobile.iOS() ||\r\n isMobile.Opera() ||\r\n isMobile.Windows());\r\n }\r\n};\r\n// Microsoft Edge \"pretends\" to be all other major browsers, so we need to filter it out.\r\n// It doesn't use a very consistent string to represent its own name (\"Edge\", \"Edg\", \"EdgA\", etc.),\r\n// but it looks like WebKit never pretends to be Chrome, Edge does, and Chrome doesn't have the bug\r\n// that this flag is used to work around.\r\nfunction isWebKit() {\r\n return typeof window !== 'undefined'\r\n && window.navigator.userAgent.indexOf('AppleWebKit/') !== -1\r\n && window.navigator.userAgent.indexOf('Chrome/') === -1;\r\n}\r\nfunction removeElement(el) {\r\n if (typeof el.remove !== 'undefined') {\r\n el.remove();\r\n }\r\n else if (typeof el.parentNode !== 'undefined' && el.parentNode !== null) {\r\n el.parentNode.removeChild(el);\r\n }\r\n}\r\nfunction createAbsoluteElement(el) {\r\n const root = document.createElement('div');\r\n root.style.position = 'absolute';\r\n root.style.left = '0px';\r\n root.style.top = '0px';\r\n const wrapper = document.createElement('div');\r\n root.appendChild(wrapper);\r\n wrapper.appendChild(el);\r\n document.body.appendChild(root);\r\n return root;\r\n}\r\n/**\r\n * Escape regex characters\r\n * http://stackoverflow.com/a/6969486\r\n */\r\nfunction escapeRegExpChars(value) {\r\n if (!value)\r\n return value;\r\n return value.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\r\n}\r\nfunction createNewEvent(eventName) {\r\n let event;\r\n if (typeof Event === 'function') {\r\n event = new Event(eventName);\r\n }\r\n else {\r\n event = document.createEvent('Event');\r\n event.initEvent(eventName, true, true);\r\n }\r\n return event;\r\n}\r\nfunction toCssDimension(width) {\r\n return width === undefined ? null : (isNaN(width) ? width : width + 'px');\r\n}\r\nfunction blankIfUndefined(value) {\r\n return typeof value !== 'undefined' && value !== null ? value : '';\r\n}\r\nfunction defaultIfUndefined(value, defaultValue) {\r\n return typeof value !== 'undefined' && value !== null ? value : defaultValue;\r\n}\r\nfunction getMonthNames(locale = undefined, format = 'long') {\r\n const dates = [];\r\n for (let i = 0; i < 12; i++) {\r\n dates.push(new Date(2000, i, 15));\r\n }\r\n const dtf = new Intl.DateTimeFormat(locale, {\r\n month: format,\r\n });\r\n return dates.map((d) => dtf.format(d));\r\n}\r\nfunction getWeekdayNames(locale = undefined, firstDayOfWeek = 0, format = 'narrow') {\r\n const dates = [];\r\n for (let i = 1, j = 0; j < 7; i++) {\r\n const d = new Date(2000, 0, i);\r\n const day = d.getDay();\r\n if (day === firstDayOfWeek || j > 0) {\r\n dates.push(d);\r\n j++;\r\n }\r\n }\r\n const dtf = new Intl.DateTimeFormat(locale, {\r\n weekday: format,\r\n });\r\n return dates.map((d) => dtf.format(d));\r\n}\r\n/**\r\n * Accept a regex with group names and return an object\r\n * ex. matchWithGroups(/((?!=)\\d+)\\/((?!=)\\d+)\\/((?!=)\\d+)/, '2000/12/25')\r\n * will return { year: 2000, month: 12, day: 25 }\r\n * @param {String} includes injections of (?!={groupname}) for each group\r\n * @param {String} the string to run regex\r\n * @return {Object} an object with a property for each group having the group's match as the value\r\n */\r\nfunction matchWithGroups(pattern, str) {\r\n const matches = str.match(pattern);\r\n return pattern\r\n // get the pattern as a string\r\n .toString()\r\n // suss out the groups\r\n .match(/<(.+?)>/g)\r\n // remove the braces\r\n .map((group) => {\r\n const groupMatches = group.match(/<(.+)>/);\r\n if (!groupMatches || groupMatches.length <= 0) {\r\n return null;\r\n }\r\n return group.match(/<(.+)>/)[1];\r\n })\r\n // create an object with a property for each group having the group's match as the value\r\n .reduce((acc, curr, index) => {\r\n if (matches && matches.length > index) {\r\n acc[curr] = matches[index + 1];\r\n }\r\n else {\r\n acc[curr] = null;\r\n }\r\n return acc;\r\n }, {});\r\n}\r\nfunction getStyleValue(value) {\r\n if (typeof value === 'object') {\r\n for (const key in value) {\r\n if (value[key])\r\n return key;\r\n }\r\n return '';\r\n }\r\n return value;\r\n}\r\nfunction debounce(func, wait, immediate) {\r\n let timeout;\r\n return function () {\r\n const context = this;\r\n const args = arguments;\r\n const later = function () {\r\n timeout = null;\r\n if (!immediate)\r\n func.apply(context, args);\r\n };\r\n const callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow)\r\n func.apply(context, args);\r\n };\r\n}\r\nfunction endsWith(str, suffix) {\r\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\r\n}\r\nconst isDefined = (d) => d !== undefined;\r\n/**\r\n * Remove accents/diacritics in a string in JavaScript\r\n * https://stackoverflow.com/a/37511463\r\n */\r\nfunction removeDiacriticsFromString(value) {\r\n if (!value)\r\n return value;\r\n return value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n}\r\nfunction isClient() {\r\n return typeof window !== 'undefined';\r\n}\n\nexport { blankIfUndefined, bound, createAbsoluteElement, createNewEvent, debounce, defaultIfUndefined, endsWith, escapeRegExpChars, getMonthNames, getStyleValue, getValueByPath, getWeekdayNames, hasFlag, indexOf, isClient, isDefined, isMobile, isWebKit, matchWithGroups, merge, mod, removeDiacriticsFromString, removeElement, setValueByPath, sign, toCssDimension };\n","import { merge } from './helpers.mjs';\n\nlet config = {\r\n iconPack: 'mdi',\r\n useHtml5Validation: true,\r\n statusIcon: true,\r\n transformClasses: undefined\r\n};\r\nconst setOptions = (options) => { config = options; };\r\nconst getOptions = () => { return config; };\r\nlet VueInstance;\r\nconst setVueInstance = (Vue) => { VueInstance = Vue; };\r\nconst Programmatic = {\r\n getOptions,\r\n setOptions(options) {\r\n setOptions(merge(getOptions(), options, true));\r\n }\r\n};\r\nconst Plugin = {\r\n install(Vue, options = {}) {\r\n setVueInstance(Vue);\r\n // Options\r\n setOptions(merge(getOptions(), options, true));\r\n }\r\n};\n\nexport { Plugin, Programmatic, VueInstance, getOptions, setOptions, setVueInstance };\n","import { defineComponent } from 'vue';\nimport { getValueByPath, blankIfUndefined, endsWith } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\n\nconst _defaultSuffixProcessor = (input, suffix) => {\r\n return blankIfUndefined(input)\r\n .split(' ')\r\n .filter((cls) => cls.length > 0)\r\n .map((cls) => cls + suffix)\r\n .join(' ');\r\n};\r\nconst _getContext = (vm) => {\r\n const computedNames = vm.$options.computed ? Object.keys(vm.$options.computed) : [];\r\n const computed = computedNames.filter(e => !endsWith(e, 'Classes')).reduce((o, key) => {\r\n o[key] = vm[key];\r\n return o;\r\n }, {});\r\n return { props: vm.$props, data: vm.$data, computed };\r\n};\r\nvar BaseComponentMixin = defineComponent({\r\n isOruga: true,\r\n props: {\r\n override: Boolean\r\n },\r\n methods: {\r\n computedClass(field, defaultValue, suffix = '') {\r\n const config = this.$props.override === true ? {} : getOptions();\r\n const override = this.$props.override || getValueByPath(config, `${this.$options.configField}.override`, false);\r\n const overrideClass = getValueByPath(config, `${this.$options.configField}.${field}.override`, override);\r\n const globalTransformClasses = getValueByPath(config, `transformClasses`, undefined);\r\n const localTransformClasses = getValueByPath(config, `${this.$options.configField}.transformClasses`, undefined);\r\n let globalClass = getValueByPath(config, `${this.$options.configField}.${field}.class`, '')\r\n || getValueByPath(config, `${this.$options.configField}.${field}`, '');\r\n let currentClass = getValueByPath(this.$props, field);\r\n if (Array.isArray(currentClass)) {\r\n currentClass = currentClass.join(' ');\r\n }\r\n if (defaultValue.search(\"{*}\") !== -1) {\r\n defaultValue = defaultValue.replace(/\\{\\*\\}/g, suffix);\r\n }\r\n else {\r\n defaultValue = defaultValue + suffix;\r\n }\r\n let context = null;\r\n if (typeof currentClass === \"function\") {\r\n context = _getContext(this);\r\n currentClass = currentClass(suffix, context);\r\n }\r\n else {\r\n currentClass = _defaultSuffixProcessor(currentClass, suffix);\r\n }\r\n if (typeof globalClass === \"function\") {\r\n globalClass = globalClass(suffix, context || _getContext(this));\r\n }\r\n else {\r\n globalClass = _defaultSuffixProcessor(globalClass, suffix);\r\n }\r\n let appliedClasses = (`${(override && !overrideClass) || (!override && !overrideClass) ? defaultValue : ''} `\r\n + `${blankIfUndefined(globalClass)} `\r\n + `${blankIfUndefined(currentClass)}`).trim().replace(/\\s\\s+/g, ' ');\r\n if (localTransformClasses) {\r\n appliedClasses = localTransformClasses(appliedClasses);\r\n }\r\n if (globalTransformClasses) {\r\n appliedClasses = globalTransformClasses(appliedClasses);\r\n }\r\n return appliedClasses;\r\n }\r\n }\r\n});\n\n// oruga object for programmatic components\r\nconst oruga = {};\r\n// add components to the oruga object\r\nfunction addProgrammatic(property, component) {\r\n oruga[property] = component;\r\n}\r\n// composable for internal and external usage\r\nfunction useProgrammatic() {\r\n return { oruga, addProgrammatic };\r\n}\n\nconst registerPlugin = (app, plugin) => {\r\n app.use(plugin);\r\n};\r\nconst registerComponent = (app, component) => {\r\n app.component(component.name, component);\r\n};\r\nconst registerComponentProgrammatic = (app, property, component) => {\r\n // use composable for unified access to programmatic oruga object\r\n const { oruga, addProgrammatic } = useProgrammatic();\r\n // add component (manipulates the programmatic oruga object)\r\n addProgrammatic(property, component);\r\n // add provide and $oruga (only needed once)\r\n if (!(app._context.provides && app._context.provides.oruga))\r\n app.provide('oruga', oruga);\r\n if (!app.config.globalProperties.$oruga)\r\n app.config.globalProperties.$oruga = oruga;\r\n};\n\nexport { BaseComponentMixin as B, registerComponentProgrammatic as a, registerComponent as b, registerPlugin as r, useProgrammatic as u };\n","import { defineComponent, openBlock, createBlock, Fragment, createCommentVNode, resolveDynamicComponent } from 'vue';\nimport { getValueByPath, merge } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\n\nconst mdiIcons = {\r\n sizes: {\r\n 'default': 'mdi-24px',\r\n 'small': null,\r\n 'medium': 'mdi-36px',\r\n 'large': 'mdi-48px'\r\n },\r\n iconPrefix: 'mdi-'\r\n};\r\nconst faIcons = () => {\r\n const iconComponent = getValueByPath(getOptions(), 'iconComponent');\r\n const faIconPrefix = iconComponent ? '' : 'fa-';\r\n return {\r\n sizes: {\r\n 'default': null,\r\n 'small': null,\r\n 'medium': faIconPrefix + 'lg',\r\n 'large': faIconPrefix + '2x'\r\n },\r\n iconPrefix: faIconPrefix,\r\n internalIcons: {\r\n 'check': 'check',\r\n 'information': 'info-circle',\r\n 'alert': 'exclamation-triangle',\r\n 'alert-circle': 'exclamation-circle',\r\n 'arrow-up': 'arrow-up',\r\n 'chevron-right': 'angle-right',\r\n 'chevron-left': 'angle-left',\r\n 'chevron-down': 'angle-down',\r\n 'chevron-up': 'angle-up',\r\n 'eye': 'eye',\r\n 'eye-off': 'eye-slash',\r\n 'caret-down': 'caret-down',\r\n 'caret-up': 'caret-up',\r\n 'close-circle': 'times-circle',\r\n 'close': 'times',\r\n 'loading': 'circle-notch'\r\n }\r\n };\r\n};\r\nconst getIcons = () => {\r\n let icons = {\r\n mdi: mdiIcons,\r\n fa: faIcons(),\r\n fas: faIcons(),\r\n far: faIcons(),\r\n fad: faIcons(),\r\n fab: faIcons(),\r\n fal: faIcons()\r\n };\r\n const customIconPacks = getValueByPath(getOptions(), 'customIconPacks');\r\n if (customIconPacks) {\r\n icons = merge(icons, customIconPacks, true);\r\n }\r\n return icons;\r\n};\n\n/**\r\n * Icons take an important role of any application\r\n * @displayName Icon\r\n * @style _icon.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OIcon',\r\n mixins: [BaseComponentMixin],\r\n configField: 'icon',\r\n props: {\r\n /**\r\n * \tColor of the icon, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /**\r\n * Icon component name\r\n */\r\n component: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n pack: String,\r\n /**\r\n * Icon name\r\n */\r\n icon: String,\r\n /**\r\n * Icon size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Overrides icon font size, optional\r\n * @values Depends on library: null (smallest), fa-lg, fa-2x, fa-3x, fa-4x, fa-5x, mdi-18px, mdi-24px, mdi-36px, mdi-48px\r\n */\r\n customSize: String,\r\n /**\r\n * Add class to icon font, optional. See here for MDI, here for FontAwesome 4 and here for FontAwesome 5 custom classes\r\n */\r\n customClass: String,\r\n /**\r\n * When true makes icon clickable\r\n */\r\n clickable: Boolean,\r\n /** Enable spin effect on icon */\r\n spin: Boolean,\r\n /** Rotation 0-360 */\r\n rotation: [Number, String],\r\n /** @ignore */\r\n both: Boolean,\r\n rootClass: [String, Function, Array],\r\n clickableClass: [String, Function, Array],\r\n spinClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-icon'),\r\n { [this.computedClass('clickableClass', 'o-icon--clickable')]: this.clickable },\r\n { [this.computedClass('spinClass', 'o-icon--spin')]: this.spin },\r\n { [this.computedClass('sizeClass', 'o-icon--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-icon--', this.newVariant)]: this.newVariant }\r\n ];\r\n },\r\n rootStyle() {\r\n const style = {};\r\n if (this.rotation) {\r\n style['transform'] = `rotate(${this.rotation}deg)`;\r\n }\r\n return style;\r\n },\r\n iconConfig() {\r\n return getIcons()[this.newPack];\r\n },\r\n iconPrefix() {\r\n if (this.iconConfig && this.iconConfig.iconPrefix) {\r\n return this.iconConfig.iconPrefix;\r\n }\r\n return '';\r\n },\r\n /**\r\n * Internal icon name based on the pack.\r\n * If pack is 'fa', gets the equivalent FA icon name of the MDI,\r\n * internal icons are always MDI.\r\n */\r\n newIcon() {\r\n return `${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`;\r\n },\r\n newPack() {\r\n return this.pack || getValueByPath(getOptions(), 'iconPack', 'mdi');\r\n },\r\n newVariant() {\r\n if (!this.variant)\r\n return;\r\n let newVariant = '';\r\n if (typeof this.variant === 'string') {\r\n newVariant = this.variant;\r\n }\r\n else {\r\n newVariant = Object.keys(this.variant).filter(key => this.variant[key])[0];\r\n }\r\n return newVariant;\r\n },\r\n newCustomSize() {\r\n return this.customSize || this.customSizeByPack;\r\n },\r\n customSizeByPack() {\r\n if (this.iconConfig && this.iconConfig.sizes) {\r\n if (this.size && this.iconConfig.sizes[this.size] !== undefined) {\r\n return this.iconConfig.sizes[this.size];\r\n }\r\n else if (this.iconConfig.sizes.default) {\r\n return this.iconConfig.sizes.default;\r\n }\r\n }\r\n return null;\r\n },\r\n useIconComponent() {\r\n if (this.component)\r\n return this.component;\r\n const component = getValueByPath(getOptions(), 'iconComponent');\r\n if (component)\r\n return component;\r\n return null;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Equivalent icon name of the MDI.\r\n */\r\n getEquivalentIconOf(value) {\r\n // Only transform the class if the both prop is set to true\r\n if (!this.both) {\r\n return value;\r\n }\r\n if (this.iconConfig &&\r\n this.iconConfig.internalIcons &&\r\n this.iconConfig.internalIcons[value]) {\r\n return this.iconConfig.internalIcons[value];\r\n }\r\n return value;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"span\", {\n class: _ctx.rootClasses,\n style: _ctx.rootStyle\n }, [!_ctx.useIconComponent ? (openBlock(), createBlock(\"i\", {\n key: 0,\n class: [_ctx.newPack, _ctx.newIcon, _ctx.newCustomSize, _ctx.customClass]\n }, null, 2\n /* CLASS */\n )) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createCommentVNode(\" custom icon component \"), (openBlock(), createBlock(resolveDynamicComponent(_ctx.useIconComponent), {\n icon: [_ctx.newPack, _ctx.newIcon],\n size: _ctx.newCustomSize,\n class: [_ctx.customClass]\n }, null, 8\n /* PROPS */\n , [\"icon\", \"size\", \"class\"]))], 64\n /* STABLE_FRAGMENT */\n ))], 6\n /* CLASS, STYLE */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/icon/Icon.vue\";\n\nexport { script as s };\n","import { defineComponent } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\n\nvar FormElementMixin = defineComponent({\r\n inject: {\r\n $field: { from: \"$field\", default: false }\r\n },\r\n emits: ['blur', 'focus'],\r\n props: {\r\n /**\r\n * Makes input full width when inside a grouped or addon field\r\n */\r\n expanded: Boolean,\r\n /**\r\n * Makes the element rounded\r\n */\r\n rounded: Boolean,\r\n /**\r\n * Icon name to be added\r\n */\r\n icon: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /** Native options to use in HTML5 validation */\r\n autocomplete: String,\r\n /** Same as native maxlength, plus character counter */\r\n maxlength: [Number, String],\r\n /** Enable html 5 native validation */\r\n useHtml5Validation: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), \"useHtml5Validation\", true);\r\n },\r\n },\r\n /** Show status icon using field and variant prop */\r\n statusIcon: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), \"statusIcon\", true);\r\n },\r\n },\r\n /**\r\n * The message which is shown when a validation error occurs\r\n */\r\n validationMessage: String,\r\n },\r\n data() {\r\n return {\r\n isValid: true,\r\n isFocused: false,\r\n newIconPack: this.iconPack,\r\n };\r\n },\r\n computed: {\r\n parentField() {\r\n return this.$field;\r\n },\r\n /**\r\n * Get the type prop from parent if it's a Field.\r\n */\r\n statusVariant() {\r\n if (!this.parentField)\r\n return;\r\n if (!this.parentField.newVariant)\r\n return;\r\n if (typeof this.parentField.newVariant === \"string\") {\r\n return this.parentField.newVariant;\r\n }\r\n else {\r\n for (const key in this.parentField.newVariant) {\r\n if (this.parentField.newVariant[key]) {\r\n return key;\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Get the message prop from parent if it's a Field.\r\n */\r\n statusMessage() {\r\n if (!this.parentField)\r\n return;\r\n return this.parentField.newMessage || this.parentField.hasMessageSlot;\r\n },\r\n /**\r\n * Icon name based on the variant.\r\n */\r\n statusVariantIcon() {\r\n const statusVariantIcon = getValueByPath(getOptions(), \"statusVariantIcon\", {\r\n 'success': 'check',\r\n 'danger': 'alert-circle',\r\n 'info': 'information',\r\n 'warning': 'alert'\r\n });\r\n return statusVariantIcon[this.statusVariant] || '';\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Focus method that work dynamically depending on the component.\r\n */\r\n focus() {\r\n const el = this.getElement();\r\n if (!el)\r\n return;\r\n this.$nextTick(() => {\r\n if (el)\r\n el.focus();\r\n });\r\n },\r\n onBlur(event) {\r\n this.isFocused = false;\r\n if (this.parentField) {\r\n this.parentField.isFocused = false;\r\n }\r\n this.$emit(\"blur\", event);\r\n this.checkHtml5Validity();\r\n },\r\n onFocus(event) {\r\n this.isFocused = true;\r\n if (this.parentField) {\r\n this.parentField.isFocused = true;\r\n }\r\n this.$emit(\"focus\", event);\r\n },\r\n getElement() {\r\n let el = this.$refs[this.$elementRef];\r\n while (el && el.$elementRef) {\r\n el = el.$refs[el.$elementRef];\r\n }\r\n return el;\r\n },\r\n setInvalid() {\r\n const variant = \"danger\";\r\n const message = this.validationMessage || this.getElement().validationMessage;\r\n this.setValidity(variant, message);\r\n },\r\n setValidity(variant, message) {\r\n this.$nextTick(() => {\r\n if (this.parentField) {\r\n // Set type only if not defined\r\n if (!this.parentField.variant) {\r\n this.parentField.newVariant = variant;\r\n }\r\n // Set message only if not defined\r\n if (!this.parentField.message) {\r\n this.parentField.newMessage = message;\r\n }\r\n }\r\n });\r\n },\r\n /**\r\n * Check HTML5 validation, set isValid property.\r\n * If validation fail, send 'danger' type,\r\n * and error message to parent if it's a Field.\r\n */\r\n checkHtml5Validity() {\r\n if (!this.useHtml5Validation)\r\n return;\r\n const el = this.getElement();\r\n if (!el)\r\n return;\r\n if (!el.checkValidity()) {\r\n this.setInvalid();\r\n this.isValid = false;\r\n }\r\n else {\r\n this.setValidity(null, null);\r\n this.isValid = true;\r\n }\r\n return this.isValid;\r\n },\r\n syncFilled(value) {\r\n if (this.parentField) {\r\n this.parentField.isFilled = !!value;\r\n }\r\n }\r\n }\r\n});\n\nexport { FormElementMixin as F };\n","import { defineComponent, resolveComponent, openBlock, createBlock, mergeProps, createVNode, createCommentVNode, toDisplayString } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\n\n/**\r\n * Get user Input. Use with Field to access all functionalities\r\n * @displayName Input\r\n * @style _input.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OInput',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n configField: 'input',\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'icon-click', 'icon-right-click'],\r\n props: {\r\n /** @model */\r\n modelValue: [Number, String],\r\n /** Native options to use in HTML5 validation */\r\n autocomplete: String,\r\n /**\r\n * Input type, like native\r\n * @values Any native input type, and textarea\r\n */\r\n type: {\r\n type: String,\r\n default: 'text'\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * \tAdds the reveal password functionality\r\n */\r\n passwordReveal: Boolean,\r\n /**\r\n * Makes the icon clickable\r\n */\r\n iconClickable: Boolean,\r\n /**\r\n * Show character counter when maxlength prop is passed\r\n */\r\n hasCounter: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'input.counter', false); }\r\n },\r\n /**\r\n * Automatically adjust height in textarea\r\n */\r\n autosize: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * \tIcon name to be added on the right side\r\n */\r\n iconRight: String,\r\n /**\r\n * Make the icon right clickable\r\n */\r\n iconRightClickable: Boolean,\r\n /** Variant of right icon */\r\n iconRightVariant: String,\r\n /** Add a button/icon to clear the inputed text */\r\n clearable: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'input.clearable', false); }\r\n },\r\n rootClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n iconLeftSpaceClass: [String, Function, Array],\r\n iconRightSpaceClass: [String, Function, Array],\r\n inputClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n iconLeftClass: [String, Function, Array],\r\n iconRightClass: [String, Function, Array],\r\n counterClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue,\r\n newType: this.type,\r\n // from mixin (ts workaround)\r\n newAutocomplete: this.autocomplete || getValueByPath(getOptions(), 'input.autocompletete', 'off'),\r\n isPasswordVisible: false,\r\n height: 'auto'\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-ctrl-input'),\r\n { [this.computedClass('expandedClass', 'o-ctrl-input--expanded')]: this.expanded }\r\n ];\r\n },\r\n inputClasses() {\r\n return [\r\n this.computedClass('inputClass', 'o-input'),\r\n { [this.computedClass('roundedClass', 'o-input--rounded')]: this.rounded },\r\n { [this.computedClass('sizeClass', 'o-input--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-input--', (this.statusVariant || this.variant))]: (this.statusVariant || this.variant) },\r\n { [this.computedClass('textareaClass', 'o-input__textarea')]: this.type === 'textarea' },\r\n { [this.computedClass('iconLeftSpaceClass', 'o-input-iconspace-left')]: this.icon },\r\n { [this.computedClass('iconRightSpaceClass', 'o-input-iconspace-right')]: this.hasIconRight }\r\n ];\r\n },\r\n iconLeftClasses() {\r\n return [\r\n this.computedClass('iconLeftClass', 'o-input__icon-left')\r\n ];\r\n },\r\n iconRightClasses() {\r\n return [\r\n this.computedClass('iconRightClass', 'o-input__icon-right')\r\n ];\r\n },\r\n counterClasses() {\r\n return [\r\n this.computedClass('counterClass', 'o-input__counter')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n this.newValue = value;\r\n this.$emit('update:modelValue', this.newValue);\r\n this.syncFilled(this.newValue);\r\n !this.isValid && this.checkHtml5Validity();\r\n }\r\n },\r\n hasIconRight() {\r\n return this.passwordReveal\r\n || (this.statusIcon && this.statusVariantIcon)\r\n || (this.clearable && this.newValue)\r\n || this.iconRight;\r\n },\r\n rightIcon() {\r\n if (this.passwordReveal) {\r\n return this.passwordVisibleIcon;\r\n }\r\n else if (this.clearable && this.newValue) {\r\n return 'close-circle';\r\n }\r\n else if (this.iconRight) {\r\n return this.iconRight;\r\n }\r\n return this.statusVariantIcon;\r\n },\r\n rightIconVariant() {\r\n if (this.passwordReveal || this.iconRight) {\r\n return this.iconRightVariant || this.variant || null;\r\n }\r\n return this.statusVariant;\r\n },\r\n /**\r\n * Check if have any message prop from parent if it's a Field.\r\n */\r\n hasMessage() {\r\n return !!this.statusMessage;\r\n },\r\n /**\r\n * Current password-reveal icon name.\r\n */\r\n passwordVisibleIcon() {\r\n return !this.isPasswordVisible ? 'eye' : 'eye-off';\r\n },\r\n /**\r\n * Get value length\r\n */\r\n valueLength() {\r\n if (typeof this.computedValue === 'string') {\r\n return this.computedValue.length;\r\n }\r\n else if (typeof this.computedValue === 'number') {\r\n return this.computedValue.toString().length;\r\n }\r\n return 0;\r\n },\r\n /**\r\n * Computed inline styles for autoresize\r\n */\r\n computedStyles() {\r\n if (!this.autosize)\r\n return {};\r\n return {\r\n resize: 'none',\r\n height: this.height,\r\n overflow: 'hidden'\r\n };\r\n },\r\n $elementRef() {\r\n return this.type === 'textarea'\r\n ? 'textarea'\r\n : 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Set internal value.\r\n */\r\n modelValue: {\r\n immediate: true,\r\n handler(value) {\r\n this.newValue = value;\r\n this.syncFilled(this.newValue);\r\n if (this.autosize) {\r\n this.resize();\r\n }\r\n }\r\n },\r\n type(type) {\r\n this.newType = type;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Toggle the visibility of a password-reveal input\r\n * by changing the type and focus the input right away.\r\n */\r\n togglePasswordVisibility() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n this.newType = this.isPasswordVisible ? 'text' : 'password';\r\n this.$nextTick(() => {\r\n this.focus();\r\n });\r\n },\r\n iconClick(emit, event) {\r\n this.$emit(emit, event);\r\n this.$nextTick(() => {\r\n this.focus();\r\n });\r\n },\r\n rightIconClick(event) {\r\n if (this.passwordReveal) {\r\n this.togglePasswordVisibility();\r\n }\r\n else if (this.clearable) {\r\n this.computedValue = '';\r\n }\r\n else if (this.iconRightClickable) {\r\n this.iconClick('icon-right-click', event);\r\n }\r\n },\r\n resize() {\r\n this.height = 'auto';\r\n this.$nextTick(() => {\r\n const scrollHeight = this.$refs.textarea.scrollHeight;\r\n this.height = scrollHeight + 'px';\r\n });\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [_ctx.type !== 'textarea' ? (openBlock(), createBlock(\"input\", mergeProps({\n key: 0\n }, _ctx.$attrs, {\n ref: \"input\",\n class: _ctx.inputClasses,\n type: _ctx.newType,\n autocomplete: _ctx.newAutocomplete,\n maxlength: _ctx.maxlength,\n value: _ctx.computedValue,\n onInput: _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event.target.value),\n onBlur: _cache[2] || (_cache[2] = (...args) => _ctx.onBlur(...args)),\n onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.onFocus(...args))\n }), null, 16\n /* FULL_PROPS */\n , [\"type\", \"autocomplete\", \"maxlength\", \"value\"])) : (openBlock(), createBlock(\"textarea\", mergeProps({\n key: 1\n }, _ctx.$attrs, {\n ref: \"textarea\",\n class: _ctx.inputClasses,\n maxlength: _ctx.maxlength,\n value: _ctx.computedValue,\n onInput: _cache[4] || (_cache[4] = $event => _ctx.computedValue = $event.target.value),\n onBlur: _cache[5] || (_cache[5] = (...args) => _ctx.onBlur(...args)),\n onFocus: _cache[6] || (_cache[6] = (...args) => _ctx.onFocus(...args)),\n style: _ctx.computedStyles\n }), null, 16\n /* FULL_PROPS */\n , [\"maxlength\", \"value\"])), _ctx.icon ? createVNode(_component_o_icon, {\n key: 2,\n class: _ctx.iconLeftClasses,\n clickable: _ctx.iconClickable,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size,\n onClick: _cache[7] || (_cache[7] = $event => _ctx.iconClick('icon-click', $event))\n }, null, 8\n /* PROPS */\n , [\"class\", \"clickable\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.hasIconRight ? createVNode(_component_o_icon, {\n key: 3,\n class: _ctx.iconRightClasses,\n clickable: _ctx.passwordReveal || _ctx.clearable || _ctx.iconRightClickable,\n icon: _ctx.rightIcon,\n pack: _ctx.iconPack,\n size: _ctx.size,\n variant: _ctx.rightIconVariant,\n both: \"\",\n onClick: _ctx.rightIconClick\n }, null, 8\n /* PROPS */\n , [\"class\", \"clickable\", \"icon\", \"pack\", \"size\", \"variant\", \"onClick\"]) : createCommentVNode(\"v-if\", true), _ctx.maxlength && _ctx.hasCounter && _ctx.isFocused && _ctx.type !== 'number' ? (openBlock(), createBlock(\"small\", {\n key: 4,\n class: _ctx.counterClasses\n }, toDisplayString(_ctx.valueLength) + \" / \" + toDisplayString(_ctx.maxlength), 3\n /* TEXT, CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/input/Input.vue\";\n\nexport { script as s };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, mergeProps, withKeys, withModifiers, Transition, withCtx, withDirectives, renderSlot, createCommentVNode, Fragment, renderList, toDisplayString, vShow } from 'vue';\nimport { getValueByPath, toCssDimension, debounce, createAbsoluteElement, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { s as script$1 } from './Input-19e906a1.mjs';\n\n/**\r\n * Extended input that provide suggestions while the user types\r\n * @displayName Autocomplete\r\n * @style _autocomplete.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OAutocomplete',\r\n configField: 'autocomplete',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'select', 'infinite-scroll', 'typing', 'focus', 'blur', 'icon-click', 'icon-right-click'],\r\n props: {\r\n /** @model */\r\n modelValue: [Number, String],\r\n /** Options / suggestions */\r\n data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Native options to use in HTML5 validation */\r\n autocomplete: String,\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Property of the object (if data is array of objects) to use as display text, and to keep track of selected option */\r\n field: {\r\n type: String,\r\n default: 'value'\r\n },\r\n /** The first option will always be pre-selected (easier to just hit enter or tab) */\r\n keepFirst: Boolean,\r\n /** Clear input text on select */\r\n clearOnSelect: Boolean,\r\n /** Open dropdown list on focus */\r\n openOnFocus: Boolean,\r\n /** Function to format an option to a string for display in the input as alternative to field prop) */\r\n customFormatter: Function,\r\n /** Makes the component check if list reached scroll end and emit infinite-scroll event. */\r\n checkInfiniteScroll: Boolean,\r\n /** Keep open dropdown list after select */\r\n keepOpen: Boolean,\r\n /** Add a button/icon to clear the inputed text */\r\n clearable: Boolean,\r\n /** Max height of dropdown content */\r\n maxHeight: [String, Number],\r\n /**\r\n * Position of dropdown\r\n * @values auto, top, bottom\r\n */\r\n menuPosition: {\r\n type: String,\r\n default: 'auto'\r\n },\r\n /** Transition name to apply on dropdown list */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.animation', 'fade');\r\n }\r\n },\r\n /** Property of the object (if data is array of objects) to use as display text of group */\r\n groupField: String,\r\n /** Property of the object (if data is array of objects) to use as key to get items array of each group, optional */\r\n groupOptions: String,\r\n /** Number of milliseconds to delay before to emit typing event */\r\n debounceTyping: Number,\r\n /** Icon name to be added on the right side */\r\n iconRight: String,\r\n /** Clickable icon right if exists */\r\n iconRightClickable: Boolean,\r\n /** Append autocomplete content to body */\r\n appendToBody: Boolean,\r\n /** Array of keys (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) which will add a tag when typing (default tab and enter) */\r\n confirmKeys: {\r\n type: Array,\r\n default: () => ['Tab', 'Enter']\r\n },\r\n /** Input type */\r\n type: {\r\n type: String,\r\n default: 'text'\r\n },\r\n /**\r\n * Menu tag name\r\n */\r\n menuTag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.menuTag', 'div');\r\n }\r\n },\r\n /**\r\n * Menu item tag name\r\n */\r\n itemTag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.itemTag', 'div');\r\n }\r\n },\r\n /** Trigger the select event for the first pre-selected option when clicking outside and keep-first is enabled */\r\n selectOnClickOutside: Boolean,\r\n /** Allows the header in the autocomplete to be selectable */\r\n selectableHeader: Boolean,\r\n /** Allows the footer in the autocomplete to be selectable */\r\n selectableFooter: Boolean,\r\n rootClass: [String, Function, Array],\r\n menuClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n menuPositionClass: [String, Function, Array],\r\n itemClass: [String, Function, Array],\r\n itemHoverClass: [String, Function, Array],\r\n itemGroupTitleClass: [String, Function, Array],\r\n itemEmptyClass: [String, Function, Array],\r\n itemHeaderClass: [String, Function, Array],\r\n itemFooterClass: [String, Function, Array],\r\n inputClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.inputClasses', {});\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n selected: null,\r\n hovered: null,\r\n headerHovered: null,\r\n footerHovered: null,\r\n isActive: false,\r\n newValue: this.modelValue,\r\n ariaAutocomplete: this.keepFirst ? 'both' : 'list',\r\n newAutocomplete: this.autocomplete || 'off',\r\n isListInViewportVertically: true,\r\n hasFocus: false,\r\n itemRefs: [],\r\n width: undefined,\r\n bodyEl: undefined,\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-acp'),\r\n { [this.computedClass('expandedClass', 'o-acp--expanded')]: this.expanded }\r\n ];\r\n },\r\n menuClasses() {\r\n return [\r\n this.computedClass('menuClass', 'o-acp__menu'),\r\n { [this.computedClass('menuPositionClass', 'o-acp__menu--', this.newDropdownPosition)]: !this.appendToBody },\r\n ];\r\n },\r\n itemClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-acp__item')\r\n ];\r\n },\r\n itemEmptyClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemEmptyClass', 'o-acp__item--empty')\r\n ];\r\n },\r\n itemGroupClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemGroupTitleClass', 'o-acp__item-group-title')\r\n ];\r\n },\r\n itemHeaderClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemHeaderClass', 'o-acp__item-header'),\r\n { [this.computedClass('itemHoverClass', 'o-acp__item--hover')]: this.headerHovered }\r\n ];\r\n },\r\n itemFooterClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemFooterClass', 'o-acp__item-footer'),\r\n { [this.computedClass('itemHoverClass', 'o-acp__item--hover')]: this.footerHovered }\r\n ];\r\n },\r\n inputBind() {\r\n return {\r\n ...this.$attrs,\r\n ...this.inputClasses\r\n };\r\n },\r\n computedData() {\r\n if (this.groupField) {\r\n if (this.groupOptions) {\r\n const newData = [];\r\n this.data.forEach((option) => {\r\n const group = getValueByPath(option, this.groupField);\r\n const items = getValueByPath(option, this.groupOptions);\r\n newData.push({ group, items });\r\n });\r\n return newData;\r\n }\r\n else {\r\n const tmp = {};\r\n this.data.forEach((option) => {\r\n const group = getValueByPath(option, this.groupField);\r\n if (!tmp[group])\r\n tmp[group] = [];\r\n tmp[group].push(option);\r\n });\r\n const newData = [];\r\n Object.keys(this.data).forEach((group) => {\r\n newData.push({ group, items: this.data[group] });\r\n });\r\n return newData;\r\n }\r\n }\r\n return [{ items: this.data }];\r\n },\r\n isEmpty() {\r\n if (!this.computedData)\r\n return true;\r\n return !this.computedData.some((element) => element.items && element.items.length);\r\n },\r\n /**\r\n * White-listed items to not close when clicked.\r\n * Add input, dropdown and all children.\r\n */\r\n whiteList() {\r\n const whiteList = [];\r\n whiteList.push(this.$refs.input.$el.querySelector('input'));\r\n whiteList.push(this.$refs.dropdown);\r\n // Add all children from dropdown\r\n if (this.$refs.dropdown !== undefined) {\r\n const children = this.$refs.dropdown.querySelectorAll('*');\r\n for (const child of children) {\r\n whiteList.push(child);\r\n }\r\n }\r\n return whiteList;\r\n },\r\n newDropdownPosition() {\r\n if (this.menuPosition === 'top' || (this.menuPosition === 'auto' && !this.isListInViewportVertically)) {\r\n return 'top';\r\n }\r\n return 'bottom';\r\n },\r\n newIconRight() {\r\n if (this.clearable && this.newValue) {\r\n return 'close-circle';\r\n }\r\n return this.iconRight;\r\n },\r\n newIconRightClickable() {\r\n if (this.clearable) {\r\n return true;\r\n }\r\n return this.iconRightClickable;\r\n },\r\n menuStyle() {\r\n return {\r\n maxHeight: toCssDimension(this.maxHeight)\r\n };\r\n },\r\n $elementRef() {\r\n return 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Update internal value.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n },\r\n /**\r\n * When dropdown is toggled, check the visibility to know when\r\n * to open upwards.\r\n */\r\n isActive(active) {\r\n if (this.menuPosition === 'auto') {\r\n if (active) {\r\n this.calcDropdownInViewportVertical();\r\n }\r\n else {\r\n // Timeout to wait for the animation to finish before recalculating\r\n setTimeout(() => {\r\n this.calcDropdownInViewportVertical();\r\n }, 100);\r\n }\r\n }\r\n },\r\n /**\r\n * When updating input's value\r\n * 1. Emit changes\r\n * 2. If value isn't the same as selected, set null\r\n * 3. Close dropdown if value is clear or else open it\r\n */\r\n newValue(value) {\r\n this.$emit('update:modelValue', value);\r\n // Check if selected is invalid\r\n const currentValue = this.getValue(this.selected);\r\n if (currentValue && currentValue !== value) {\r\n this.setSelected(null, false);\r\n }\r\n // Close dropdown if input is clear or else open it\r\n if (this.hasFocus && (!this.openOnFocus || value)) {\r\n this.isActive = !!value;\r\n }\r\n },\r\n /**\r\n * Select first option if \"keep-first\r\n */\r\n data() {\r\n // Keep first option always pre-selected\r\n if (this.keepFirst) {\r\n this.$nextTick(() => {\r\n if (this.isActive) {\r\n this.selectFirstOption(this.computedData);\r\n }\r\n else {\r\n this.setHovered(null);\r\n }\r\n });\r\n }\r\n else {\r\n if (this.hovered) {\r\n // reset hovered if list doesn't contain it\r\n const hoveredValue = this.getValue(this.hovered);\r\n const data = this.computedData.map((d) => d.items).reduce((a, b) => ([...a, ...b]), []);\r\n if (!data.some(d => this.getValue(d) === hoveredValue)) {\r\n this.setHovered(null);\r\n }\r\n }\r\n }\r\n },\r\n debounceTyping: {\r\n handler(value) {\r\n this.debouncedEmitTyping = debounce(this.emitTyping, value);\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n itemOptionClasses(option) {\r\n return [\r\n ...this.itemClasses,\r\n { [this.computedClass('itemHoverClass', 'o-acp__item--hover')]: option === this.hovered }\r\n ];\r\n },\r\n /**\r\n * Set which option is currently hovered.\r\n */\r\n setHovered(option) {\r\n if (option === undefined)\r\n return;\r\n this.hovered = option;\r\n },\r\n /**\r\n * Set which option is currently selected, update v-model,\r\n * update input value and close dropdown.\r\n */\r\n setSelected(option, closeDropdown = true, event = undefined) {\r\n if (option === undefined)\r\n return;\r\n this.selected = option;\r\n /**\r\n * @property {Object} selected selected option\r\n * @property {Event} event native event\r\n */\r\n this.$emit('select', this.selected, event);\r\n if (this.selected !== null) {\r\n if (this.clearOnSelect) {\r\n const input = this.$refs.input;\r\n input.newValue = '';\r\n input.$refs.input.value = '';\r\n }\r\n else {\r\n this.newValue = this.getValue(this.selected);\r\n }\r\n this.setHovered(null);\r\n }\r\n closeDropdown && this.$nextTick(() => { this.isActive = false; });\r\n this.checkValidity();\r\n },\r\n /**\r\n * Select first option\r\n */\r\n selectFirstOption(computedData) {\r\n this.$nextTick(() => {\r\n const nonEmptyElements = computedData.filter((element) => element.items && element.items.length);\r\n if (nonEmptyElements.length) {\r\n const option = nonEmptyElements[0].items[0];\r\n this.setHovered(option);\r\n }\r\n else {\r\n this.setHovered(null);\r\n }\r\n });\r\n },\r\n /**\r\n * Key listener.\r\n * Select the hovered option.\r\n */\r\n keydown(event) {\r\n const { key } = event; // cannot destructure preventDefault (https://stackoverflow.com/a/49616808/2774496)\r\n // prevent emit submit event\r\n if (key === 'Enter')\r\n event.preventDefault();\r\n // Close dropdown on Tab & no hovered\r\n if (key === 'Escape' || key === 'Tab') {\r\n this.isActive = false;\r\n }\r\n if (this.confirmKeys.indexOf(key) >= 0) {\r\n // If adding by comma, don't add the comma to the input\r\n if (key === ',')\r\n event.preventDefault();\r\n // Close dropdown on select by Tab\r\n const closeDropdown = !this.keepOpen || key === 'Tab';\r\n if (this.hovered === null) {\r\n // header and footer uses headerHovered && footerHovered. If header or footer\r\n // was selected then fire event otherwise just return so a value isn't selected\r\n this.checkIfHeaderOrFooterSelected(event, null, closeDropdown);\r\n return;\r\n }\r\n this.setSelected(this.hovered, closeDropdown, event);\r\n }\r\n },\r\n selectHeaderOrFoterByClick(event, origin) {\r\n this.checkIfHeaderOrFooterSelected(event, { origin: origin });\r\n },\r\n /**\r\n * Check if header or footer was selected.\r\n */\r\n checkIfHeaderOrFooterSelected(event, triggerClick, closeDropdown = true) {\r\n if (this.selectableHeader && (this.headerHovered || (triggerClick && triggerClick.origin === 'header'))) {\r\n this.$emit('select-header', event);\r\n this.headerHovered = false;\r\n if (triggerClick)\r\n this.setHovered(null);\r\n if (closeDropdown)\r\n this.isActive = false;\r\n }\r\n if (this.selectableFooter && (this.footerHovered || (triggerClick && triggerClick.origin === 'header'))) {\r\n this.$emit('select-footer', event);\r\n this.footerHovered = false;\r\n if (triggerClick)\r\n this.setHovered(null);\r\n if (closeDropdown)\r\n this.isActive = false;\r\n }\r\n },\r\n /**\r\n * Close dropdown if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (!this.hasFocus && this.whiteList.indexOf(event.target) < 0) {\r\n if (this.keepFirst && this.hovered && this.selectOnClickOutside) {\r\n this.setSelected(this.hovered, true);\r\n }\r\n else {\r\n this.isActive = false;\r\n }\r\n }\r\n },\r\n /**\r\n * Return display text for the input.\r\n * If object, get value from path, or else just the value.\r\n */\r\n getValue(option) {\r\n if (option === null)\r\n return;\r\n if (typeof this.customFormatter !== 'undefined') {\r\n return this.customFormatter(option);\r\n }\r\n return typeof option === 'object'\r\n ? getValueByPath(option, this.field)\r\n : option;\r\n },\r\n /**\r\n * Check if the scroll list inside the dropdown\r\n * reached it's end.\r\n */\r\n checkIfReachedTheEndOfScroll() {\r\n const list = this.$refs.dropdown;\r\n const footerHeight = this.$slots.footer ? this.$refs.footer.clientHeight : 0;\r\n if (list.clientHeight !== list.scrollHeight &&\r\n list.scrollTop + list.clientHeight + footerHeight >= list.scrollHeight) {\r\n this.$emit('infinite-scroll');\r\n }\r\n },\r\n /**\r\n * Calculate if the dropdown is vertically visible when activated,\r\n * otherwise it is openened upwards.\r\n */\r\n calcDropdownInViewportVertical() {\r\n this.$nextTick(() => {\r\n /**\r\n * this.$refs.dropdown may be undefined\r\n * when Autocomplete is conditional rendered\r\n */\r\n if (!this.$refs.dropdown)\r\n return;\r\n const rect = this.$refs.dropdown.getBoundingClientRect();\r\n this.isListInViewportVertically = (rect.top >= 0 &&\r\n rect.bottom <= (window.innerHeight ||\r\n document.documentElement.clientHeight));\r\n if (this.appendToBody) {\r\n this.updateAppendToBody();\r\n }\r\n });\r\n },\r\n /**\r\n * Arrows keys listener.\r\n * If dropdown is active, set hovered option, or else just open.\r\n */\r\n keyArrows(direction) {\r\n const sum = direction === 'down' ? 1 : -1;\r\n if (this.isActive) {\r\n const data = this.computedData.map((d) => d.items).reduce((a, b) => ([...a, ...b]), []);\r\n if (this.$slots.header && this.selectableHeader) {\r\n data.unshift(undefined);\r\n }\r\n if (this.$slots.footer && this.selectableFooter) {\r\n data.push(undefined);\r\n }\r\n let index;\r\n if (this.headerHovered) {\r\n index = 0 + sum;\r\n }\r\n else if (this.footerHovered) {\r\n index = (data.length - 1) + sum;\r\n }\r\n else {\r\n index = data.indexOf(this.hovered) + sum;\r\n }\r\n index = index > data.length - 1 ? data.length - 1 : index;\r\n index = index < 0 ? 0 : index;\r\n this.footerHovered = false;\r\n this.headerHovered = false;\r\n this.setHovered(data[index] !== undefined ? data[index] : null);\r\n if (this.$slots.footer && this.selectableFooter && index === data.length - 1) {\r\n this.footerHovered = true;\r\n }\r\n if (this.$slots.header && this.selectableHeader && index === 0) {\r\n this.headerHovered = true;\r\n }\r\n const list = this.$refs.dropdown;\r\n let items = this.itemRefs || [];\r\n if (this.$slots.header && this.selectableHeader) {\r\n items = [this.$refs.header, ...items];\r\n }\r\n if (this.$slots.footer && this.selectableFooter) {\r\n items = [...items, this.$refs.footer];\r\n }\r\n const element = items[index];\r\n if (!element)\r\n return;\r\n const visMin = list.scrollTop;\r\n const visMax = list.scrollTop + list.clientHeight - element.clientHeight;\r\n if (element.offsetTop < visMin) {\r\n list.scrollTop = element.offsetTop;\r\n }\r\n else if (element.offsetTop >= visMax) {\r\n list.scrollTop = (element.offsetTop -\r\n list.clientHeight +\r\n element.clientHeight);\r\n }\r\n }\r\n else {\r\n this.isActive = true;\r\n }\r\n },\r\n /**\r\n * Focus listener.\r\n * If value is the same as selected, select all text.\r\n */\r\n focused(event) {\r\n if (this.getValue(this.selected) === this.newValue) {\r\n this.$el.querySelector('input').select();\r\n }\r\n if (this.openOnFocus) {\r\n this.isActive = true;\r\n if (this.keepFirst) {\r\n // If open on focus, update the hovered\r\n this.selectFirstOption(this.computedData);\r\n }\r\n }\r\n this.hasFocus = true;\r\n this.$emit('focus', event);\r\n },\r\n /**\r\n * Blur listener.\r\n */\r\n onBlur(event) {\r\n this.hasFocus = false;\r\n this.$emit('blur', event);\r\n },\r\n onInput() {\r\n const currentValue = this.getValue(this.selected);\r\n if (currentValue && currentValue === this.newValue)\r\n return;\r\n if (this.debounceTyping) {\r\n this.debouncedEmitTyping();\r\n }\r\n else {\r\n this.emitTyping();\r\n }\r\n },\r\n emitTyping() {\r\n this.$emit('typing', this.newValue);\r\n this.checkValidity();\r\n },\r\n rightIconClick(event) {\r\n if (this.clearable) {\r\n this.newValue = '';\r\n this.setSelected(null, false);\r\n if (this.openOnFocus) {\r\n this.$refs.input.$el.focus();\r\n }\r\n }\r\n else {\r\n this.$emit('icon-right-click', event);\r\n }\r\n },\r\n checkValidity() {\r\n if (this.useHtml5Validation) {\r\n this.$nextTick(() => {\r\n this.checkHtml5Validity();\r\n });\r\n }\r\n },\r\n setItemRef(el) {\r\n if (el) {\r\n this.itemRefs.push(el);\r\n }\r\n },\r\n updateAppendToBody() {\r\n const dropdownMenu = this.$refs.dropdown;\r\n const trigger = this.$refs.input.$el;\r\n if (dropdownMenu && trigger) {\r\n // update wrapper dropdown\r\n const root = this.$data.bodyEl;\r\n root.classList.forEach((item) => root.classList.remove(...item.split(' ')));\r\n this.rootClasses.forEach((item) => {\r\n if (item) {\r\n if (typeof item === 'object') {\r\n Object.keys(item).filter(key => key && item[key]).forEach(key => root.classList.add(key));\r\n }\r\n else {\r\n root.classList.add(...item.split(' '));\r\n }\r\n }\r\n });\r\n const rect = trigger.getBoundingClientRect();\r\n let top = rect.top + window.scrollY;\r\n const left = rect.left + window.scrollX;\r\n if (this.newDropdownPosition !== 'top') {\r\n top += trigger.clientHeight;\r\n }\r\n else {\r\n top -= dropdownMenu.clientHeight;\r\n }\r\n dropdownMenu.style.position = 'absolute';\r\n dropdownMenu.style.top = `${top}px`;\r\n dropdownMenu.style.left = `${left}px`;\r\n dropdownMenu.style.width = `${trigger.clientWidth}px`;\r\n dropdownMenu.style.maxWidth = `${trigger.clientWidth}px`;\r\n dropdownMenu.style.zIndex = '9999';\r\n }\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('click', this.clickedOutside);\r\n if (this.menuPosition === 'auto')\r\n window.addEventListener('resize', this.calcDropdownInViewportVertical);\r\n }\r\n },\r\n mounted() {\r\n const list = this.$refs.dropdown;\r\n if (this.checkInfiniteScroll && list) {\r\n list.addEventListener('scroll', this.checkIfReachedTheEndOfScroll);\r\n }\r\n if (this.appendToBody) {\r\n this.$data.bodyEl = createAbsoluteElement(list);\r\n this.updateAppendToBody();\r\n }\r\n },\r\n beforeUpdate() {\r\n this.width = this.$refs.input ? this.$refs.input.$el.clientWidth : undefined;\r\n this.itemRefs = [];\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('click', this.clickedOutside);\r\n if (this.menuPosition === 'auto')\r\n window.removeEventListener('resize', this.calcDropdownInViewportVertical);\r\n }\r\n if (this.checkInfiniteScroll && this.$refs.dropdown) {\r\n const list = this.$refs.dropdown;\r\n list.removeEventListener('scroll', this.checkIfReachedTheEndOfScroll);\r\n }\r\n if (this.appendToBody) {\r\n removeElement(this.$data.bodyEl);\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nconst _hoisted_2 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_input = resolveComponent(\"o-input\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(_component_o_input, mergeProps(_ctx.inputBind, {\n modelValue: _ctx.newValue,\n \"onUpdate:modelValue\": [_cache[1] || (_cache[1] = $event => _ctx.newValue = $event), _ctx.onInput],\n ref: \"input\",\n type: _ctx.type,\n size: _ctx.size,\n rounded: _ctx.rounded,\n icon: _ctx.icon,\n \"icon-right\": _ctx.newIconRight,\n \"icon-right-clickable\": _ctx.newIconRightClickable,\n \"icon-pack\": _ctx.iconPack,\n maxlength: _ctx.maxlength,\n autocomplete: _ctx.newAutocomplete,\n \"use-html5-validation\": false,\n \"aria-autocomplete\": _ctx.ariaAutocomplete,\n expanded: _ctx.expanded,\n onFocus: _ctx.focused,\n onBlur: _ctx.onBlur,\n onKeydown: [_ctx.keydown, _cache[2] || (_cache[2] = withKeys(withModifiers($event => _ctx.keyArrows('up'), [\"prevent\"]), [\"up\"])), _cache[3] || (_cache[3] = withKeys(withModifiers($event => _ctx.keyArrows('down'), [\"prevent\"]), [\"down\"]))],\n \"onIcon-right-click\": _ctx.rightIconClick,\n \"onIcon-click\": _cache[4] || (_cache[4] = event => _ctx.$emit('icon-click', event))\n }), null, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"type\", \"size\", \"rounded\", \"icon\", \"icon-right\", \"icon-right-clickable\", \"icon-pack\", \"maxlength\", \"autocomplete\", \"aria-autocomplete\", \"expanded\", \"onUpdate:modelValue\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onIcon-right-click\"]), createVNode(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n class: _ctx.menuClasses,\n is: _ctx.menuTag,\n style: _ctx.menuStyle,\n ref: \"dropdown\"\n }, [_ctx.$slots.header ? (openBlock(), createBlock(\"div\", {\n key: 0,\n is: _ctx.itemTag,\n ref: \"header\",\n role: \"button\",\n tabindex: 0,\n onClick: _cache[5] || (_cache[5] = $event => _ctx.selectHeaderOrFoterByClick($event, 'header')),\n class: _ctx.itemHeaderClasses\n }, [renderSlot(_ctx.$slots, \"header\")], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.computedData, (element, groupindex) => {\n return openBlock(), createBlock(Fragment, null, [element.group ? (openBlock(), createBlock(\"div\", {\n is: _ctx.itemTag,\n key: groupindex + 'group',\n class: _ctx.itemGroupClasses\n }, [_ctx.$slots.group ? renderSlot(_ctx.$slots, \"group\", {\n key: 0,\n group: element.group,\n index: groupindex\n }) : (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(element.group), 1\n /* TEXT */\n ))], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(element.items, (option, index) => {\n return openBlock(), createBlock(\"div\", {\n key: groupindex + ':' + index,\n is: _ctx.itemTag,\n class: _ctx.itemOptionClasses(option),\n onClick: withModifiers($event => _ctx.setSelected(option, !_ctx.keepOpen, $event), [\"stop\"]),\n ref: _ctx.setItemRef\n }, [_ctx.$slots.default ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n option: option,\n index: index\n }) : (openBlock(), createBlock(\"span\", _hoisted_2, toDisplayString(_ctx.getValue(option)), 1\n /* TEXT */\n ))], 10\n /* CLASS, PROPS */\n , [\"is\", \"onClick\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 64\n /* STABLE_FRAGMENT */\n );\n }), 256\n /* UNKEYED_FRAGMENT */\n )), _ctx.isEmpty && _ctx.$slots.empty ? (openBlock(), createBlock(\"div\", {\n key: 1,\n is: _ctx.itemTag,\n class: _ctx.itemEmptyClasses\n }, [renderSlot(_ctx.$slots, \"empty\")], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true), _ctx.$slots.footer ? (openBlock(), createBlock(\"div\", {\n key: 2,\n is: _ctx.itemTag,\n ref: \"footer\",\n role: \"button\",\n tabindex: 0,\n onClick: _cache[6] || (_cache[6] = $event => _ctx.selectHeaderOrFoterByClick($event, 'footer')),\n class: _ctx.itemFooterClasses\n }, [renderSlot(_ctx.$slots, \"footer\")], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true)], 14\n /* CLASS, STYLE, PROPS */\n , [\"is\"]), [[vShow, _ctx.isActive && (!_ctx.isEmpty || _ctx.$slots.empty || _ctx.$slots.header || _ctx.$slots.footer)]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/autocomplete/Autocomplete.vue\";\n\nexport { script as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport { s as script } from './Autocomplete-a23ad844.mjs';\nexport { s as OAutocomplete } from './Autocomplete-a23ad844.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, resolveComponent, openBlock, createBlock, resolveDynamicComponent, mergeProps, withCtx, createVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\n\n/**\r\n * The classic button, in different colors, sizes, and states\r\n * @displayName Button\r\n * @style _button.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OButton',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n configField: 'button',\r\n mixins: [BaseComponentMixin],\r\n inheritAttrs: false,\r\n props: {\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Size of button, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Button label, optional when default slot\r\n */\r\n label: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /**\r\n * Icon name to show on the left\r\n */\r\n iconLeft: String,\r\n /**\r\n * Icon name to show on the right\r\n */\r\n iconRight: String,\r\n /**\r\n * Rounded style\r\n */\r\n rounded: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'button.rounded', false); }\r\n },\r\n /**\r\n * Outlined style\r\n */\r\n outlined: Boolean,\r\n /**\r\n * Button will be expanded (full-width)\r\n */\r\n expanded: Boolean,\r\n inverted: Boolean,\r\n /**\r\n * Button type, like native\r\n */\r\n nativeType: {\r\n type: String,\r\n default: 'button',\r\n validator: (value) => {\r\n return [\r\n 'button',\r\n 'submit',\r\n 'reset'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /**\r\n * Button tag name\r\n * @values button, a, input, router-link, nuxt-link (or other nuxt alias)\r\n */\r\n tag: {\r\n type: String,\r\n default: 'button'\r\n },\r\n /**\r\n * Button will be disabled\r\n */\r\n disabled: Boolean,\r\n /** @ignore */\r\n iconBoth: Boolean,\r\n elementsWrapperClass: [String, Function, Array],\r\n rootClass: [String, Function, Array],\r\n outlinedClass: [String, Function, Array],\r\n invertedClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n iconClass: [String, Function, Array],\r\n iconLeftClass: [String, Function, Array],\r\n iconRightClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-btn'),\r\n { [this.computedClass('sizeClass', 'o-btn--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-btn--', this.variant)]: this.variant },\r\n { [this.computedClass('outlinedClass', 'o-btn--outlined')]: this.outlined && !this.variant },\r\n { [this.computedClass('invertedClass', 'o-btn--inverted')]: this.inverted && !this.variant },\r\n { [this.computedClass('outlinedClass', 'o-btn--outlined-', this.variant)]: this.outlined && this.variant },\r\n { [this.computedClass('invertedClass', 'o-btn--inverted-', this.variant)]: this.inverted && this.variant },\r\n { [this.computedClass('expandedClass', 'o-btn--expanded')]: this.expanded },\r\n { [this.computedClass('roundedClass', 'o-btn--rounded')]: this.rounded },\r\n { [this.computedClass('disabledClass', 'o-btn--disabled')]: this.disabled },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-btn__label'),\r\n ];\r\n },\r\n iconClasses() {\r\n return [\r\n this.computedClass('iconClass', 'o-btn__icon'),\r\n ];\r\n },\r\n iconLeftClasses() {\r\n return [\r\n ...this.iconClasses,\r\n this.computedClass('iconLeftClass', 'o-btn__icon-left')\r\n ];\r\n },\r\n iconRightClasses() {\r\n return [\r\n ...this.iconClasses,\r\n this.computedClass('iconRightClass', 'o-btn__icon-right')\r\n ];\r\n },\r\n elementsWrapperClasses() {\r\n return [\r\n this.computedClass('elementsWrapperClass', 'o-btn__wrapper'),\r\n ];\r\n },\r\n computedTag() {\r\n if (typeof this.disabled !== 'undefined' && this.disabled !== false) {\r\n return 'button';\r\n }\r\n return this.tag;\r\n },\r\n computedNativeType() {\r\n if (this.tag === 'button' || this.tag === 'input') {\r\n return this.nativeType;\r\n }\r\n return null;\r\n },\r\n computedDisabled() {\r\n if (this.disabled)\r\n return true;\r\n return null;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.computedTag), mergeProps(_ctx.$attrs, {\n disabled: _ctx.computedDisabled,\n type: _ctx.computedNativeType,\n class: _ctx.rootClasses\n }), {\n default: withCtx(() => [createVNode(\"span\", {\n class: _ctx.elementsWrapperClasses\n }, [_ctx.iconLeft ? createVNode(_component_o_icon, {\n key: 0,\n pack: _ctx.iconPack,\n icon: _ctx.iconLeft,\n size: _ctx.size,\n both: _ctx.iconBoth,\n class: _ctx.iconLeftClasses\n }, null, 8\n /* PROPS */\n , [\"pack\", \"icon\", \"size\", \"both\", \"class\"]) : createCommentVNode(\"v-if\", true), _ctx.label || _ctx.$slots.default ? (openBlock(), createBlock(\"span\", {\n key: 1,\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\", {}, () => [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.iconRight ? createVNode(_component_o_icon, {\n key: 2,\n pack: _ctx.iconPack,\n icon: _ctx.iconRight,\n size: _ctx.size,\n both: _ctx.iconBoth,\n class: _ctx.iconRightClasses\n }, null, 8\n /* PROPS */\n , [\"pack\", \"icon\", \"size\", \"both\", \"class\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"disabled\", \"type\", \"class\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/button/Button.vue\";\n\nexport { script as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport { s as script } from './Button-c75f7992.mjs';\nexport { s as OButton } from './Button-c75f7992.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent } from 'vue';\nimport { hasFlag, defaultIfUndefined } from './helpers.mjs';\n\nconst items = 1;\r\nconst sorted = 3;\r\nconst Sorted = sorted;\r\nvar ProviderParentMixin = (itemName, flags = 0) => {\r\n const mixin = defineComponent({\r\n provide() {\r\n return {\r\n ['o' + itemName]: this\r\n };\r\n }\r\n });\r\n if (hasFlag(flags, items)) {\r\n mixin.data = function () {\r\n return {\r\n childItems: [],\r\n sequence: 1\r\n };\r\n };\r\n mixin.methods = {\r\n _registerItem(item) {\r\n item.index = this.childItems.length;\r\n this.childItems.push(item);\r\n if (this.$el) {\r\n this.$nextTick(() => {\r\n const ids = this.childItems.map(it => `[data-id=\"${itemName}-${it.newValue}\"]`).join(',');\r\n const sortedIds = Array.from(this.$el.querySelectorAll(ids)).map((el) => el.getAttribute('data-id').replace(`${itemName}-`, ''));\r\n this.childItems.forEach(it => it.index = sortedIds.indexOf(`${it.newValue}`));\r\n });\r\n }\r\n },\r\n _unregisterItem(item) {\r\n this.childItems = this.childItems.filter((i) => i !== item);\r\n },\r\n _nextSequence() {\r\n return this.sequence++;\r\n }\r\n };\r\n if (hasFlag(flags, sorted)) {\r\n mixin.computed = {\r\n /**\r\n * When items are added/removed sort them according to their position\r\n */\r\n sortedItems() {\r\n return this.childItems.slice().sort((i1, i2) => {\r\n return i1.index - i2.index;\r\n });\r\n }\r\n };\r\n }\r\n }\r\n return mixin;\r\n};\n\nconst sorted$1 = 1;\r\nconst optional = 2;\r\nconst Sorted$1 = sorted$1;\r\nvar InjectedChildMixin = (parentItemName, flags = 0) => {\r\n const mixin = defineComponent({\r\n inject: {\r\n parent: { from: 'o' + parentItemName }\r\n },\r\n created() {\r\n this.newValue = defaultIfUndefined(this.value, this.parent && this.parent._nextSequence());\r\n if (!this.parent) {\r\n if (!hasFlag(flags, optional)) {\r\n throw new Error('You should wrap ' + this.$options.name + ' in a ' + parentItemName);\r\n }\r\n }\r\n else {\r\n this.parent._registerItem(this);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (this.parent) {\r\n this.parent._unregisterItem(this);\r\n }\r\n }\r\n });\r\n if (hasFlag(flags, sorted$1)) {\r\n mixin.data = () => {\r\n return {\r\n index: null\r\n };\r\n };\r\n }\r\n return mixin;\r\n};\n\nexport { InjectedChildMixin as I, ProviderParentMixin as P, Sorted as S, Sorted$1 as a };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, renderSlot, Fragment, withDirectives, vShow, createCommentVNode, renderList } from 'vue';\nimport { getValueByPath, bound, mod, sign } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { P as ProviderParentMixin, S as Sorted, I as InjectedChildMixin, a as Sorted$1 } from './InjectedChildMixin-5282461d.mjs';\n\n/**\r\n * A Slideshow for cycling images in confined spaces\r\n * @displayName Carousel\r\n * @style _carousel.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OCarousel',\r\n components: {\r\n [script$2.name]: script$2\r\n },\r\n configField: 'carousel',\r\n mixins: [ProviderParentMixin('carousel', Sorted), BaseComponentMixin],\r\n emits: ['update:modelValue', 'scroll', 'click'],\r\n props: {\r\n modelValue: {\r\n type: Number,\r\n default: 0\r\n },\r\n interval: {\r\n type: Number,\r\n default: () => { return getValueByPath(getOptions(), 'carousel.interval', 3500); }\r\n },\r\n hasDrag: {\r\n type: Boolean,\r\n default: true\r\n },\r\n autoplay: {\r\n type: Boolean,\r\n default: false\r\n },\r\n pauseHover: {\r\n type: Boolean,\r\n default: false\r\n },\r\n repeat: {\r\n type: Boolean,\r\n default: false\r\n },\r\n indicator: {\r\n type: Boolean,\r\n default: true\r\n },\r\n indicatorInside: {\r\n type: Boolean,\r\n default: false\r\n },\r\n indicatorMode: {\r\n type: String,\r\n default: 'click'\r\n },\r\n indicatorPosition: {\r\n type: String,\r\n default: 'bottom'\r\n },\r\n indicatorStyle: {\r\n type: String,\r\n default: 'dots'\r\n },\r\n overlay: Boolean,\r\n itemsToShow: {\r\n type: Number,\r\n default: 1\r\n },\r\n itemsToList: {\r\n type: Number,\r\n default: 1\r\n },\r\n asIndicator: Boolean,\r\n arrow: {\r\n type: Boolean,\r\n default: true\r\n },\r\n arrowHover: {\r\n type: Boolean,\r\n default: true\r\n },\r\n iconPack: String,\r\n iconSize: String,\r\n iconPrev: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'carousel.iconPrev', 'chevron-left'); }\r\n },\r\n iconNext: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'carousel.iconNext', 'chevron-right'); }\r\n },\r\n breakpoints: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n sceneClass: [String, Function, Array],\r\n itemsClass: [String, Function, Array],\r\n itemsDraggingClass: [String, Function, Array],\r\n arrowIconClass: [String, Function, Array],\r\n arrowIconPrevClass: [String, Function, Array],\r\n arrowIconNextClass: [String, Function, Array],\r\n indicatorsClass: [String, Function, Array],\r\n indicatorsInsideClass: [String, Function, Array],\r\n indicatorsInsidePositionClass: [String, Function, Array],\r\n indicatorItemClass: [String, Function, Array],\r\n indicatorItemActiveClass: [String, Function, Array],\r\n indicatorItemStyleClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n activeIndex: this.modelValue,\r\n scrollIndex: this.modelValue,\r\n delta: 0,\r\n dragX: false,\r\n hold: 0,\r\n windowWidth: 0,\r\n touch: false,\r\n observer: null,\r\n refresh_: 0,\r\n itemsHovered: false,\r\n isPause: false,\r\n timer: null\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-car'),\r\n { [this.computedClass('overlayClass', 'o-car__overlay')]: this.overlay }\r\n ];\r\n },\r\n sceneClasses() {\r\n return [\r\n this.computedClass('sceneClass', 'o-car__scene')\r\n ];\r\n },\r\n itemsClasses() {\r\n return [\r\n this.computedClass('itemsClass', 'o-car__items'),\r\n { [this.computedClass('itemsDraggingClass', 'o-car__items--dragging')]: this.dragging },\r\n ];\r\n },\r\n arrowIconClasses() {\r\n return [\r\n this.computedClass('arrowIconClass', 'o-car__arrow__icon'),\r\n ];\r\n },\r\n arrowIconPrevClasses() {\r\n return [\r\n ...this.arrowIconClasses,\r\n this.computedClass('arrowIconPrevClass', 'o-car__arrow__icon-prev')\r\n ];\r\n },\r\n arrowIconNextClasses() {\r\n return [\r\n ...this.arrowIconClasses,\r\n this.computedClass('arrowIconNextClass', 'o-car__arrow__icon-next')\r\n ];\r\n },\r\n indicatorsClasses() {\r\n return [\r\n this.computedClass('indicatorsClass', 'o-car__indicators'),\r\n { [this.computedClass('indicatorsInsideClass', 'o-car__indicators--inside')]: this.indicatorInside },\r\n { [this.computedClass('indicatorsInsidePositionClass', 'o-car__indicators--inside--', this.indicatorPosition)]: this.indicatorInside && this.indicatorPosition }\r\n ];\r\n },\r\n indicatorClasses() {\r\n return [\r\n this.computedClass('indicatorClass', 'o-car__indicator')\r\n ];\r\n },\r\n dragging() {\r\n return this.dragX !== false;\r\n },\r\n itemStyle() {\r\n return `width: ${this.itemWidth}px;`;\r\n },\r\n translation() {\r\n return -bound(this.delta + (this.scrollIndex * this.itemWidth), 0, (this.childItems.length - this.settings.itemsToShow) * this.itemWidth);\r\n },\r\n total() {\r\n return this.childItems.length - this.settings.itemsToShow;\r\n },\r\n indicatorCount() {\r\n return Math.ceil(this.total / this.settings.itemsToList) + 1;\r\n },\r\n indicatorIndex() {\r\n return Math.ceil(this.scrollIndex / this.settings.itemsToList);\r\n },\r\n hasArrows() {\r\n return (this.settings.arrowHover && this.itemsHovered) || !this.settings.arrowHover;\r\n },\r\n hasPrev() {\r\n return (this.settings.repeat || this.scrollIndex > 0) && this.hasArrows;\r\n },\r\n hasNext() {\r\n return (this.settings.repeat || this.scrollIndex < this.total) && this.hasArrows;\r\n },\r\n breakpointKeys() {\r\n const keys = Object.keys(this.breakpoints).map(Number);\r\n return keys.sort((a, b) => b - a);\r\n },\r\n settings() {\r\n let breakpoint = this.breakpointKeys.filter((breakpoint) => {\r\n if (this.windowWidth >= breakpoint) {\r\n return true;\r\n }\r\n })[0];\r\n if (breakpoint) {\r\n return { ...this.$props, ...this.breakpoints[breakpoint] };\r\n }\r\n return this.$props;\r\n },\r\n itemWidth() {\r\n if (this.windowWidth) { // Ensure component is mounted\r\n /* eslint-disable-next-line */\r\n this.refresh_; // We force the computed property to refresh if this prop is changed\r\n const rect = this.$el.getBoundingClientRect();\r\n return rect.width / this.settings.itemsToShow;\r\n }\r\n return 0;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed set the new active item.\r\n */\r\n modelValue(value) {\r\n if (value <= this.childItems.length - 1) {\r\n this.activeIndex = value;\r\n this.switchTo(value * this.settings.itemsToList, true);\r\n }\r\n },\r\n /**\r\n * When autoplay is changed, start or pause timer accordingly\r\n */\r\n autoplay(status) {\r\n if (status) {\r\n this.startTimer();\r\n }\r\n else {\r\n this.pauseTimer();\r\n }\r\n },\r\n /**\r\n * Since the timer can get paused at the end, if repeat is changed we need to restart it\r\n */\r\n repeat(status) {\r\n if (status) {\r\n this.startTimer();\r\n }\r\n }\r\n },\r\n methods: {\r\n indicatorItemClasses(index) {\r\n return [\r\n this.computedClass('indicatorItemClass', 'o-car__indicator__item'),\r\n { [this.computedClass('indicatorItemActiveClass', 'o-car__indicator__item--active')]: this.indicatorIndex === index },\r\n { [this.computedClass('indicatorItemStyleClass', 'o-car__indicator__item--', this.indicatorStyle)]: this.indicatorStyle },\r\n ];\r\n },\r\n onMouseEnter() {\r\n this.itemsHovered = true;\r\n this.checkPause();\r\n },\r\n onMouseLeave() {\r\n this.itemsHovered = false;\r\n this.startTimer();\r\n },\r\n startTimer() {\r\n if (!this.autoplay || this.timer)\r\n return;\r\n this.isPause = false;\r\n this.timer = setInterval(() => {\r\n if (!this.repeat && this.activeIndex >= this.childItems.length - 1) {\r\n this.pauseTimer();\r\n }\r\n else {\r\n this.next();\r\n }\r\n }, this.interval);\r\n },\r\n pauseTimer() {\r\n this.isPause = true;\r\n if (this.timer) {\r\n clearInterval(this.timer);\r\n this.timer = null;\r\n }\r\n },\r\n restartTimer() {\r\n this.pauseTimer();\r\n this.startTimer();\r\n },\r\n checkPause() {\r\n if (this.pauseHover && this.autoplay) {\r\n this.pauseTimer();\r\n }\r\n },\r\n modeChange(trigger, value) {\r\n if (this.indicatorMode === trigger) {\r\n return this.switchTo(value * this.settings.itemsToList);\r\n }\r\n },\r\n resized() {\r\n this.windowWidth = window.innerWidth;\r\n },\r\n switchTo(newIndex, onlyMove = this.asIndicator) {\r\n if (this.settings.repeat) {\r\n newIndex = mod(newIndex, this.total + 1);\r\n }\r\n newIndex = bound(newIndex, 0, this.total);\r\n this.scrollIndex = newIndex;\r\n this.$emit('scroll', this.indicatorIndex);\r\n if (!onlyMove) {\r\n this.activeIndex = Math.ceil(newIndex / this.settings.itemsToList);\r\n if (this.modelValue !== this.activeIndex) {\r\n this.$emit('update:modelValue', this.activeIndex);\r\n }\r\n }\r\n },\r\n next() {\r\n this.switchTo(this.scrollIndex + this.settings.itemsToList);\r\n },\r\n prev() {\r\n this.switchTo(this.scrollIndex - this.settings.itemsToList);\r\n },\r\n // handle drag event\r\n dragStart(event) {\r\n if (this.dragging || !this.settings.hasDrag || (event.button !== 0 && event.type !== 'touchstart'))\r\n return;\r\n this.hold = Date.now();\r\n this.touch = !!event.touches;\r\n this.dragX = this.touch ? event.touches[0].clientX : event.clientX;\r\n if (this.touch) {\r\n this.pauseTimer();\r\n }\r\n window.addEventListener(this.touch ? 'touchmove' : 'mousemove', this.dragMove);\r\n window.addEventListener(this.touch ? 'touchend' : 'mouseup', this.dragEnd);\r\n },\r\n dragMove(event) {\r\n if (!this.dragging)\r\n return;\r\n const dragEndX = event.touches\r\n ? (event.changedTouches[0] || event.touches[0]).clientX : event.clientX;\r\n this.delta = this.dragX - dragEndX;\r\n if (!event.touches) {\r\n event.preventDefault();\r\n }\r\n },\r\n dragEnd(event) {\r\n if (!this.dragging && !this.hold)\r\n return;\r\n if (this.hold) {\r\n const signCheck = sign(this.delta);\r\n const results = Math.round(Math.abs(this.delta / this.itemWidth) + 0.15); // Hack\r\n this.switchTo(this.scrollIndex + signCheck * results);\r\n }\r\n this.delta = 0;\r\n this.dragX = false;\r\n if (event && event.touches) {\r\n this.startTimer();\r\n }\r\n window.removeEventListener(this.touch ? 'touchmove' : 'mousemove', this.dragMove);\r\n window.removeEventListener(this.touch ? 'touchend' : 'mouseup', this.dragEnd);\r\n },\r\n refresh() {\r\n this.$nextTick(() => {\r\n this.refresh_++;\r\n });\r\n }\r\n },\r\n mounted() {\r\n if (typeof window !== 'undefined') {\r\n if (window.ResizeObserver) {\r\n this.observer = new window.ResizeObserver(this.refresh);\r\n this.observer.observe(this.$el);\r\n }\r\n window.addEventListener('resize', this.resized);\r\n document.addEventListener('animationend', this.refresh);\r\n document.addEventListener('transitionend', this.refresh);\r\n document.addEventListener('transitionstart', this.refresh);\r\n this.resized();\r\n this.startTimer();\r\n }\r\n if (this.$attrs.config) {\r\n throw new Error('The config prop was removed, you need to use v-bind instead');\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n if (window.ResizeObserver) {\r\n this.observer.disconnect();\r\n }\r\n window.removeEventListener('resize', this.resized);\r\n document.removeEventListener('animationend', this.refresh);\r\n document.removeEventListener('transitionend', this.refresh);\r\n document.removeEventListener('transitionstart', this.refresh);\r\n this.dragEnd();\r\n this.pauseTimer();\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses,\n onMouseenter: _cache[3] || (_cache[3] = (...args) => _ctx.onMouseEnter(...args)),\n onMouseleave: _cache[4] || (_cache[4] = (...args) => _ctx.onMouseLeave(...args))\n }, [createVNode(\"div\", {\n class: _ctx.sceneClasses\n }, [createVNode(\"div\", {\n onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.dragStart(...args)),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => _ctx.dragStart(...args)),\n class: _ctx.itemsClasses,\n style: 'transform:translateX(' + _ctx.translation + 'px)'\n }, [renderSlot(_ctx.$slots, \"default\")], 38\n /* CLASS, STYLE, HYDRATE_EVENTS */\n ), renderSlot(_ctx.$slots, \"arrow\", {\n hasPrev: _ctx.hasPrev,\n prev: _ctx.prev,\n hasNext: _ctx.hasNext,\n next: _ctx.next\n }, () => [_ctx.arrow ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [withDirectives(createVNode(_component_o_icon, {\n class: _ctx.arrowIconPrevClasses,\n onClick: _ctx.prev,\n pack: _ctx.iconPack,\n icon: _ctx.iconPrev,\n size: _ctx.iconSize,\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"class\", \"onClick\", \"pack\", \"icon\", \"size\"]), [[vShow, _ctx.hasPrev]]), withDirectives(createVNode(_component_o_icon, {\n class: _ctx.arrowIconNextClasses,\n onClick: _ctx.next,\n pack: _ctx.iconPack,\n icon: _ctx.iconNext,\n size: _ctx.iconSize,\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"class\", \"onClick\", \"pack\", \"icon\", \"size\"]), [[vShow, _ctx.hasNext]])], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)])], 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"indicators\", {\n active: _ctx.activeIndex,\n switchTo: _ctx.switchTo,\n indicatorIndex: _ctx.indicatorIndex\n }, () => [_ctx.childItems.length ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [_ctx.indicator && !_ctx.asIndicator ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.indicatorsClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.indicatorCount, (_, index) => {\n return openBlock(), createBlock(\"a\", {\n class: _ctx.indicatorClasses,\n onMouseover: $event => _ctx.modeChange('hover', index),\n onClick: $event => _ctx.modeChange('click', index),\n key: index\n }, [renderSlot(_ctx.$slots, \"indicator\", {\n i: index\n }, () => [createVNode(\"span\", {\n class: _ctx.indicatorItemClasses(index)\n }, null, 2\n /* CLASS */\n )])], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"onMouseover\", \"onClick\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)]), _ctx.overlay ? renderSlot(_ctx.$slots, \"overlay\", {\n key: 0\n }) : createCommentVNode(\"v-if\", true)], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/carousel/Carousel.vue\";\n\n/**\r\n * @displayName Carousel Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OCarouselItem',\r\n configField: 'carousel',\r\n mixins: [InjectedChildMixin('carousel', Sorted$1), BaseComponentMixin],\r\n props: {\r\n itemClass: [String, Function, Array],\r\n itemActiveClass: [String, Function, Array]\r\n },\r\n computed: {\r\n itemClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-car__item'),\r\n { [this.computedClass('itemActiveClass', 'o-car__item--active')]: this.isActive }\r\n ];\r\n },\r\n itemStyle() {\r\n return `width: ${this.parent.itemWidth}px;`;\r\n },\r\n isActive() {\r\n return this.parent.activeIndex === this.index;\r\n }\r\n },\r\n methods: {\r\n onClick(event) {\r\n if (this.isActive) {\r\n this.parent.$emit('click', event);\r\n }\r\n if (this.parent.asIndicator) {\r\n this.parent.activeIndex = this.index;\r\n this.parent.$emit('update:modelValue', this.index);\r\n }\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.itemClasses,\n onClick: _cache[1] || (_cache[1] = (...args) => _ctx.onClick(...args)),\n style: _ctx.itemStyle\n }, [renderSlot(_ctx.$slots, \"default\")], 6\n /* CLASS, STYLE */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/carousel/CarouselItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script as OCarousel, script$1 as OCarouselItem };\n","import { defineComponent } from 'vue';\n\nvar CheckRadioMixin = defineComponent({\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [String, Number, Boolean, Array],\r\n /**\r\n * Same as native value\r\n */\r\n nativeValue: [String, Number, Boolean, Array],\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Same as native disabled\r\n */\r\n disabled: Boolean,\r\n required: Boolean,\r\n /**\r\n * Same as native name\r\n */\r\n name: String,\r\n /**\r\n * Size of the control, optional\r\n * @values small, medium, large\r\n */\r\n size: String\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue\r\n };\r\n },\r\n computed: {\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n this.newValue = value;\r\n this.$emit('update:modelValue', this.newValue);\r\n }\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model change, set internal value.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n }\r\n },\r\n methods: {\r\n focus() {\r\n // MacOS FireFox and Safari do not focus when clicked\r\n this.$refs.input.focus();\r\n }\r\n }\r\n});\n\nexport { CheckRadioMixin as C };\n","import { defineComponent, openBlock, createBlock, withModifiers, withKeys, withDirectives, createVNode, mergeProps, vModelCheckbox, renderSlot } from 'vue';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { C as CheckRadioMixin } from './CheckRadioMixin-f5b57344.mjs';\n\n/**\r\n * Select a single or grouped options\r\n * @displayName Checkbox\r\n * @style _checkbox.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OCheckbox',\r\n mixins: [BaseComponentMixin, CheckRadioMixin],\r\n configField: 'checkbox',\r\n emits: [\r\n 'input'\r\n ],\r\n props: {\r\n /**\r\n * Same as native indeterminate\r\n */\r\n indeterminate: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Overrides the returned value when it's checked\r\n */\r\n trueValue: {\r\n type: [String, Number, Boolean],\r\n default: true\r\n },\r\n /**\r\n * Overrides the returned value when it's not checked\r\n */\r\n falseValue: {\r\n type: [String, Number, Boolean],\r\n default: false\r\n },\r\n /** Accessibility label to establish relationship between the checkbox and control label */\r\n ariaLabelledby: String,\r\n /* Same as native autocomplete */\r\n autocomplete: String,\r\n rootClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n checkClass: [String, Function, Array],\r\n checkCheckedClass: [String, Function, Array],\r\n checkIndeterminateClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n watch: {\r\n indeterminate: {\r\n handler(val) {\r\n this.isIndeterminate = val;\r\n },\r\n immediate: true,\r\n },\r\n },\r\n computed: {\r\n isChecked() {\r\n return this.computedValue === this.trueValue\r\n || Array.isArray(this.computedValue) && this.computedValue.indexOf(this.nativeValue) !== -1;\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-chk'),\r\n { [this.computedClass('checkedClass', 'o-chk--checked')]: this.isChecked },\r\n { [this.computedClass('sizeClass', 'o-chk--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-chk--disabled')]: this.disabled },\r\n { [this.computedClass('variantClass', 'o-chk--', this.variant)]: this.variant }\r\n ];\r\n },\r\n checkClasses() {\r\n return [\r\n this.computedClass('checkClass', 'o-chk__check'),\r\n { [this.computedClass('checkCheckedClass', 'o-chk__check--checked')]: this.isChecked },\r\n { [this.computedClass('checkIndeterminateClass', 'o-chk__check--indeterminate')]: this.isIndeterminate },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-chk__label')\r\n ];\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses,\n ref: \"label\",\n onClick: _cache[3] || (_cache[3] = withModifiers((...args) => _ctx.focus(...args), [\"stop\"])),\n onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.$refs.label.click(), [\"prevent\"]), [\"enter\"]))\n }, [withDirectives(createVNode(\"input\", mergeProps({\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n type: \"checkbox\"\n }, _ctx.$attrs, {\n ref: \"input\",\n onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, [\"stop\"])),\n class: _ctx.checkClasses,\n disabled: _ctx.disabled,\n required: _ctx.required,\n name: _ctx.name,\n autocomplete: _ctx.autocomplete,\n value: _ctx.nativeValue,\n indeterminate: _ctx.indeterminate,\n \"true-value\": _ctx.trueValue,\n \"false-value\": _ctx.falseValue,\n \"aria-labelledby\": _ctx.ariaLabelledby\n }), null, 16\n /* FULL_PROPS */\n , [\"disabled\", \"required\", \"name\", \"autocomplete\", \"value\", \"indeterminate\", \"true-value\", \"false-value\", \"aria-labelledby\"]), [[vModelCheckbox, _ctx.computedValue]]), createVNode(\"span\", {\n id: _ctx.ariaLabelledby,\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 10\n /* CLASS, PROPS */\n , [\"id\"])], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/checkbox/Checkbox.vue\";\n\nexport { script as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './CheckRadioMixin-f5b57344.mjs';\nimport { s as script } from './Checkbox-8670724c.mjs';\nexport { s as OCheckbox } from './Checkbox-8670724c.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, h, Transition, withDirectives, vShow } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * An easy way to toggle what you want\r\n * @displayName Collapse\r\n * @style _collapse.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OCollapse',\r\n mixins: [BaseComponentMixin],\r\n configField: 'collapse',\r\n emits: ['update:open', 'open', 'close'],\r\n props: {\r\n /**\r\n * Whether collapse is open or not, v-model:open to make it two-way binding\r\n */\r\n open: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Custom animation (transition name)\r\n */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'collapse.animation', 'fade');\r\n }\r\n },\r\n ariaId: {\r\n type: String,\r\n default: ''\r\n },\r\n /**\r\n * Trigger position\r\n * @values top, bottom\r\n */\r\n position: {\r\n type: String,\r\n default: 'top',\r\n validator: (value) => {\r\n return [\r\n 'top',\r\n 'bottom'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n rootClass: [String, Function, Array],\r\n triggerClass: [String, Function, Array],\r\n contentClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isOpen: this.open\r\n };\r\n },\r\n watch: {\r\n open(value) {\r\n this.isOpen = value;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Toggle and emit events\r\n */\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n this.$emit('update:open', this.isOpen);\r\n this.$emit(this.isOpen ? 'open' : 'close');\r\n }\r\n },\r\n render() {\r\n const trigger = h('div', {\r\n class: this.computedClass('triggerClass', 'o-clps__trigger'),\r\n onClick: this.toggle\r\n }, this.$slots.trigger({ open: this.isOpen }));\r\n const content = h(Transition, { name: this.animation }, () => withDirectives(h('div', {\r\n class: this.computedClass('contentClass', 'o-clps__content'),\r\n 'id': this.ariaId\r\n }, this.$slots.default()), [[vShow, this.isOpen]]));\r\n return h('div', { class: this.computedClass('rootClass', 'o-clps') }, (this.position === 'top' ? [trigger, content] : [content, trigger]));\r\n }\r\n});\n\nscript.__file = \"src/components/collapse/Collapse.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OCollapse };\n","import { defineComponent } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\n\nvar MatchMediaMixin = defineComponent({\r\n props: {\r\n /**\r\n * Mobile breakpoint as max-width value\r\n */\r\n mobileBreakpoint: String\r\n },\r\n data() {\r\n return {\r\n matchMediaRef: undefined,\r\n isMatchMedia: undefined\r\n };\r\n },\r\n methods: {\r\n onMatchMedia(event) {\r\n this.isMatchMedia = event.matches;\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n let width = this.mobileBreakpoint;\r\n if (!width) {\r\n const config = getOptions();\r\n const defaultWidth = getValueByPath(config, `mobileBreakpoint`, '1023px');\r\n width = getValueByPath(config, `${this.$options.configField}.mobileBreakpoint`, defaultWidth);\r\n }\r\n this.matchMediaRef = window.matchMedia(`(max-width: ${width})`);\r\n if (this.matchMediaRef) {\r\n this.isMatchMedia = this.matchMediaRef.matches;\r\n this.matchMediaRef.addListener(this.onMatchMedia, false);\r\n }\r\n else {\r\n this.isMatchMedia = false;\r\n }\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n if (this.matchMediaRef) {\r\n this.matchMediaRef.removeListener(this.checkMatchMedia);\r\n }\r\n }\r\n }\r\n});\n\nexport { MatchMediaMixin as M };\n","const findFocusable = (element, programmatic = false) => {\r\n if (!element) {\r\n return null;\r\n }\r\n if (programmatic) {\r\n return element.querySelectorAll(`*[tabindex=\"-1\"]`);\r\n }\r\n return element.querySelectorAll(`a[href]:not([tabindex=\"-1\"]),\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n *[tabindex]:not([tabindex=\"-1\"]),\n *[contenteditable]`);\r\n};\r\nlet onKeyDown;\r\nconst bind = (el, { value = true }) => {\r\n if (value) {\r\n let focusable = findFocusable(el);\r\n let focusableProg = findFocusable(el, true);\r\n if (focusable && focusable.length > 0) {\r\n onKeyDown = (event) => {\r\n // Need to get focusable each time since it can change between key events\r\n // ex. changing month in a datepicker\r\n focusable = findFocusable(el);\r\n focusableProg = findFocusable(el, true);\r\n const firstFocusable = focusable[0];\r\n const lastFocusable = focusable[focusable.length - 1];\r\n if (event.target === firstFocusable && event.shiftKey && event.key === 'Tab') {\r\n event.preventDefault();\r\n lastFocusable.focus();\r\n }\r\n else if ((event.target === lastFocusable || Array.from(focusableProg).indexOf(event.target) >= 0) && !event.shiftKey && event.key === 'Tab') {\r\n event.preventDefault();\r\n firstFocusable.focus();\r\n }\r\n };\r\n el.addEventListener('keydown', onKeyDown);\r\n }\r\n }\r\n};\r\nconst unbind = (el) => {\r\n el.removeEventListener('keydown', onKeyDown);\r\n};\r\nconst directive = {\r\n beforeMount: bind,\r\n beforeUnmount: unbind,\r\n};\n\nexport { directive as d };\n","import { defineComponent, resolveDirective, openBlock, createBlock, withModifiers, renderSlot, createCommentVNode, createVNode, Transition, withCtx, withDirectives, vShow, resolveDynamicComponent } from 'vue';\nimport { getValueByPath, toCssDimension, createAbsoluteElement, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { d as directive } from './trapFocus-dc03669f.mjs';\n\n/**\r\n * Dropdowns are very versatile, can used as a quick menu or even like a select for discoverable content\r\n * @displayName Dropdown\r\n * @requires ./DropdownItem.vue\r\n * @style _dropdown.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'ODropdown',\r\n directives: {\r\n trapFocus: directive\r\n },\r\n configField: 'dropdown',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n provide() {\r\n return {\r\n $dropdown: this\r\n };\r\n },\r\n emits: ['update:modelValue', 'active-change', 'change'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: [String, Number, Boolean, Object, Array],\r\n default: null\r\n },\r\n /**\r\n * Dropdown disabled\r\n */\r\n disabled: Boolean,\r\n /**\r\n * Dropdown content (items) are shown inline, trigger is removed\r\n */\r\n inline: Boolean,\r\n /**\r\n * Dropdown content will be scrollable\r\n */\r\n scrollable: Boolean,\r\n /**\r\n * Max height of dropdown content\r\n */\r\n maxHeight: {\r\n type: [String, Number],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.maxHeight', 200);\r\n }\r\n },\r\n /**\r\n * Optional, position of the dropdown relative to the trigger\r\n * @values top-right, top-left, bottom-left\r\n */\r\n position: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n 'top-right',\r\n 'top-left',\r\n 'bottom-left',\r\n 'bottom-right'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /**\r\n * Dropdown content (items) are shown into a modal on mobile\r\n */\r\n mobileModal: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.mobileModal', true);\r\n }\r\n },\r\n /**\r\n * Role attribute to be passed to list container for better accessibility. Use menu only in situations where your dropdown is related to navigation menus\r\n * @values list, menu, dialog\r\n */\r\n ariaRole: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n 'menu',\r\n 'list',\r\n 'dialog'\r\n ].indexOf(value) > -1;\r\n },\r\n default: null\r\n },\r\n /**\r\n * Custom animation (transition name)\r\n */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.animation', 'fade');\r\n }\r\n },\r\n /**\r\n * Allows multiple selections\r\n */\r\n multiple: Boolean,\r\n /**\r\n * Trap focus inside the dropdown.\r\n */\r\n trapFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.trapFocus', true);\r\n }\r\n },\r\n /**\r\n * Close dropdown when content is clicked\r\n */\r\n closeOnClick: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Can close dropdown by pressing escape or by clicking outside\r\n * @values escape, outside\r\n */\r\n canClose: {\r\n type: [Array, Boolean],\r\n default: true\r\n },\r\n /**\r\n * Dropdown will be expanded (full-width)\r\n */\r\n expanded: Boolean,\r\n /**\r\n * Dropdown will be triggered by any events\r\n * @values click, hover, contextmenu, focus\r\n */\r\n triggers: {\r\n type: Array,\r\n default: () => ['click']\r\n },\r\n /**\r\n * Dropdown menu tag name\r\n */\r\n menuTag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.menuTag', 'div');\r\n }\r\n },\r\n /**\r\n * Set the tabindex attribute on the dropdown trigger div (-1 to prevent selection via tab key)\r\n */\r\n triggerTabindex: {\r\n type: Number,\r\n default: 0\r\n },\r\n /**\r\n * Append dropdown content to body\r\n */\r\n appendToBody: Boolean,\r\n /**\r\n * @ignore\r\n */\r\n appendToBodyCopyParent: Boolean,\r\n rootClass: [String, Function, Array],\r\n triggerClass: [String, Function, Array],\r\n inlineClass: [String, Function, Array],\r\n menuMobileOverlayClass: [String, Function, Array],\r\n menuClass: [String, Function, Array],\r\n menuPositionClass: [String, Function, Array],\r\n menuActiveClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n selected: this.modelValue,\r\n isActive: false,\r\n isHoverable: false,\r\n bodyEl: undefined // Used to append to body\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-drop'),\r\n { [this.computedClass('disabledClass', 'o-drop--disabled')]: this.disabled },\r\n { [this.computedClass('expandedClass', 'o-drop--expanded')]: this.expanded },\r\n { [this.computedClass('inlineClass', 'o-drop--inline')]: this.inline },\r\n { [this.computedClass('mobileClass', 'o-drop--mobile')]: this.isMobileModal && this.isMatchMedia && !this.hoverable },\r\n ];\r\n },\r\n triggerClasses() {\r\n return [\r\n this.computedClass('triggerClass', 'o-drop__trigger')\r\n ];\r\n },\r\n menuMobileOverlayClasses() {\r\n return [\r\n this.computedClass('menuMobileOverlayClass', 'o-drop__overlay')\r\n ];\r\n },\r\n menuClasses() {\r\n return [\r\n this.computedClass('menuClass', 'o-drop__menu'),\r\n { [this.computedClass('menuPositionClass', 'o-drop__menu--', this.position)]: this.position },\r\n { [this.computedClass('menuActiveClass', 'o-drop__menu--active')]: (this.isActive || this.inline) }\r\n ];\r\n },\r\n isMobileModal() {\r\n return this.mobileModal && !this.inline;\r\n },\r\n cancelOptions() {\r\n return typeof this.canClose === 'boolean'\r\n ? this.canClose\r\n ? ['escape', 'outside']\r\n : []\r\n : this.canClose;\r\n },\r\n menuStyle() {\r\n return {\r\n maxHeight: this.scrollable ? toCssDimension(this.maxHeight) : null,\r\n overflow: this.scrollable ? 'auto' : null\r\n };\r\n },\r\n hoverable() {\r\n return this.triggers.indexOf('hover') >= 0;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed set the new selected item.\r\n */\r\n modelValue(value) {\r\n this.selected = value;\r\n },\r\n /**\r\n * Emit event when isActive value is changed.\r\n */\r\n isActive(value) {\r\n this.$emit('active-change', value);\r\n if (this.appendToBody) {\r\n this.$nextTick(() => {\r\n this.updateAppendToBody();\r\n });\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Click listener from DropdownItem.\r\n * 1. Set new selected item.\r\n * 2. Emit input event to update the user v-model.\r\n * 3. Close the dropdown.\r\n */\r\n selectItem(value) {\r\n if (this.multiple) {\r\n if (this.selected) {\r\n if (this.selected.indexOf(value) === -1) {\r\n // Add value\r\n this.selected = [...this.selected, value];\r\n }\r\n else {\r\n // Remove value\r\n this.selected = this.selected.filter((val) => val !== value);\r\n }\r\n }\r\n else {\r\n this.selected = [value];\r\n }\r\n this.$emit('change', this.selected);\r\n }\r\n else {\r\n if (this.selected !== value) {\r\n this.selected = value;\r\n this.$emit('change', this.selected);\r\n }\r\n }\r\n this.$emit('update:modelValue', this.selected);\r\n if (!this.multiple) {\r\n this.isActive = !this.closeOnClick;\r\n if (this.hoverable && this.closeOnClick) {\r\n this.isHoverable = false;\r\n }\r\n }\r\n },\r\n /**\r\n * White-listed items to not close when clicked.\r\n */\r\n isInWhiteList(el) {\r\n if (el === this.$refs.dropdownMenu)\r\n return true;\r\n if (el === this.$refs.trigger)\r\n return true;\r\n // All chidren from dropdown\r\n if (this.$refs.dropdownMenu !== undefined) {\r\n const children = this.$refs.dropdownMenu.querySelectorAll('*');\r\n for (const child of children) {\r\n if (el === child) {\r\n return true;\r\n }\r\n }\r\n }\r\n // All children from trigger\r\n if (this.$refs.trigger !== undefined) {\r\n const children = this.$refs.trigger.querySelectorAll('*');\r\n for (const child of children) {\r\n if (el === child) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n },\r\n /**\r\n * Close dropdown if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (this.cancelOptions.indexOf('outside') < 0)\r\n return;\r\n if (this.inline)\r\n return;\r\n if (!this.isInWhiteList(event.target))\r\n this.isActive = false;\r\n },\r\n /**\r\n * Keypress event that is bound to the document\r\n */\r\n keyPress({ key }) {\r\n if (this.isActive && (key === 'Escape' || key === 'Esc')) {\r\n if (this.cancelOptions.indexOf('escape') < 0)\r\n return;\r\n this.isActive = false;\r\n }\r\n },\r\n onClick() {\r\n if (this.triggers.indexOf('click') < 0)\r\n return;\r\n this.toggle();\r\n },\r\n onContextMenu() {\r\n if (this.triggers.indexOf('contextmenu') < 0)\r\n return;\r\n this.toggle();\r\n },\r\n onHover() {\r\n if (this.triggers.indexOf('hover') < 0)\r\n return;\r\n this.isHoverable = true;\r\n },\r\n onFocus() {\r\n if (this.triggers.indexOf('focus') < 0)\r\n return;\r\n this.toggle();\r\n },\r\n /**\r\n * Toggle dropdown if it's not disabled.\r\n */\r\n toggle() {\r\n if (this.disabled)\r\n return;\r\n if (!this.isActive) {\r\n // if not active, toggle after clickOutside event\r\n // this fixes toggling programmatic\r\n this.$nextTick(() => {\r\n const value = !this.isActive;\r\n this.isActive = value;\r\n // Vue 2.6.x ???\r\n setTimeout(() => (this.isActive = value));\r\n });\r\n }\r\n else {\r\n this.isActive = !this.isActive;\r\n }\r\n },\r\n updateAppendToBody() {\r\n const dropdownMenu = this.$refs.dropdownMenu;\r\n const trigger = this.$refs.trigger;\r\n if (dropdownMenu && trigger) {\r\n // update wrapper dropdown\r\n const dropdown = this.$data.bodyEl.children[0];\r\n dropdown.classList.forEach((item) => dropdown.classList.remove(...item.split(' ')));\r\n this.rootClasses.forEach((item) => {\r\n if (item) {\r\n if (typeof item === 'object') {\r\n Object.keys(item).filter(key => key && item[key]).forEach(key => dropdown.classList.add(key));\r\n }\r\n else {\r\n dropdown.classList.add(...item.split(' '));\r\n }\r\n }\r\n });\r\n if (this.appendToBodyCopyParent) {\r\n const parentNode = this.$refs.dropdown.parentNode;\r\n const parent = this.$data.bodyEl;\r\n parent.classList.forEach((item) => parent.classList.remove(...item.split(' ')));\r\n parentNode.classList.forEach((item) => parent.classList.add(...item.split(' ')));\r\n }\r\n const rect = trigger.getBoundingClientRect();\r\n let top = rect.top + window.scrollY;\r\n let left = rect.left + window.scrollX;\r\n if (!this.position || this.position.indexOf('bottom') >= 0) {\r\n top += trigger.clientHeight;\r\n }\r\n else {\r\n top -= dropdownMenu.clientHeight;\r\n }\r\n if (this.position && this.position.indexOf('left') >= 0) {\r\n left -= (dropdownMenu.clientWidth - trigger.clientWidth);\r\n }\r\n dropdownMenu.style.position = 'absolute';\r\n dropdownMenu.style.top = `${top}px`;\r\n dropdownMenu.style.left = `${left}px`;\r\n dropdownMenu.style.zIndex = '9999';\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.appendToBody) {\r\n this.$data.bodyEl = createAbsoluteElement(this.$refs.dropdownMenu);\r\n this.updateAppendToBody();\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('click', this.clickedOutside);\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('click', this.clickedOutside);\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n if (this.appendToBody) {\r\n removeElement(this.$data.bodyEl);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _directive_trap_focus = resolveDirective(\"trap-focus\");\n\n return openBlock(), createBlock(\"div\", {\n ref: \"dropdown\",\n class: _ctx.rootClasses,\n onMouseleave: _cache[5] || (_cache[5] = $event => _ctx.isHoverable = false)\n }, [!_ctx.inline ? (openBlock(), createBlock(\"div\", {\n key: 0,\n tabindex: _ctx.disabled ? null : _ctx.triggerTabindex,\n ref: \"trigger\",\n class: _ctx.triggerClasses,\n onClick: _cache[1] || (_cache[1] = (...args) => _ctx.onClick(...args)),\n onContextmenu: _cache[2] || (_cache[2] = withModifiers((...args) => _ctx.onContextMenu(...args), [\"prevent\"])),\n onMouseenter: _cache[3] || (_cache[3] = (...args) => _ctx.onHover(...args)),\n onFocusCapture: _cache[4] || (_cache[4] = (...args) => _ctx.onFocus(...args)),\n \"aria-haspopup\": \"true\"\n }, [renderSlot(_ctx.$slots, \"trigger\", {\n active: _ctx.isActive\n })], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"tabindex\"])) : createCommentVNode(\"v-if\", true), createVNode(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [_ctx.isMobileModal ? withDirectives((openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.menuMobileOverlayClasses,\n \"aria-hidden\": !_ctx.isActive\n }, null, 10\n /* CLASS, PROPS */\n , [\"aria-hidden\"])), [[vShow, _ctx.isActive]]) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]), createVNode(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n ref: \"dropdownMenu\",\n is: _ctx.menuTag,\n class: _ctx.menuClasses,\n \"aria-hidden\": !_ctx.isActive,\n role: _ctx.ariaRole,\n \"aria-modal\": !_ctx.inline,\n style: _ctx.menuStyle\n }, [renderSlot(_ctx.$slots, \"default\")], 14\n /* CLASS, STYLE, PROPS */\n , [\"is\", \"aria-hidden\", \"role\", \"aria-modal\"]), [[vShow, !_ctx.disabled && (_ctx.isActive || _ctx.isHoverable) || _ctx.inline], [_directive_trap_focus, _ctx.trapFocus]])]),\n _: 3\n }, 8\n /* PROPS */\n , [\"name\"])], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/dropdown/Dropdown.vue\";\n\n/**\r\n * @displayName Dropdown Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'ODropdownItem',\r\n mixins: [BaseComponentMixin],\r\n configField: 'dropdown',\r\n inject: [\"$dropdown\"],\r\n emits: ['click'],\r\n props: {\r\n /**\r\n * The value that will be returned on events and v-model\r\n */\r\n value: {\r\n type: [String, Number, Boolean, Object, Array]\r\n },\r\n /**\r\n * Item is disabled\r\n */\r\n disabled: Boolean,\r\n /**\r\n * Item is clickable and emit an event\r\n */\r\n clickable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Dropdown item tag name\r\n */\r\n tag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.itemTag', 'div');\r\n }\r\n },\r\n tabindex: {\r\n type: [Number, String],\r\n default: 0\r\n },\r\n ariaRole: {\r\n type: String,\r\n default: ''\r\n },\r\n itemClass: [String, Function, Array],\r\n itemActiveClass: [String, Function, Array],\r\n itemDisabledClass: [String, Function, Array],\r\n },\r\n computed: {\r\n parent() {\r\n return this.$dropdown;\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-drop__item'),\r\n { [this.computedClass('itemDisabledClass', 'o-drop__item--disabled')]: (this.parent.disabled || this.disabled) },\r\n { [this.computedClass('itemActiveClass', 'o-drop__item--active')]: this.isActive }\r\n ];\r\n },\r\n ariaRoleItem() {\r\n return this.ariaRole === 'menuitem' || this.ariaRole === 'listitem' ? this.ariaRole : null;\r\n },\r\n isClickable() {\r\n return !this.parent.disabled && !this.disabled && this.clickable;\r\n },\r\n isActive() {\r\n if (this.parent.selected === null)\r\n return false;\r\n if (this.parent.multiple)\r\n return this.parent.selected.indexOf(this.value) >= 0;\r\n return this.value === this.parent.selected;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Click listener, select the item.\r\n */\r\n selectItem() {\r\n if (!this.isClickable)\r\n return;\r\n this.parent.selectItem(this.value);\r\n this.$emit('click');\r\n }\r\n },\r\n created() {\r\n if (!this.parent) {\r\n throw new Error('You should wrap oDropdownItem on a oDropdown');\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n class: _ctx.rootClasses,\n onClick: _ctx.selectItem,\n role: _ctx.ariaRoleItem,\n tabindex: _ctx.tabindex\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 8\n /* PROPS */\n , [\"class\", \"onClick\", \"role\", \"tabindex\"]);\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/dropdown/DropdownItem.vue\";\n\nexport { script$1 as a, script as s };\n","import { defineComponent, h, Comment, Text, resolveComponent, openBlock, createBlock, renderSlot, Fragment, createTextVNode, toDisplayString, createCommentVNode, createVNode, withCtx } from 'vue';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\n\nvar script = defineComponent({\r\n name: 'OFieldBody',\r\n inject: ['$field'],\r\n configField: 'field',\r\n computed: {\r\n parent() {\r\n return this.$field;\r\n }\r\n },\r\n render() {\r\n let first = true;\r\n const slot = this.$slots.default();\r\n const children = slot.length === 1 && Array.isArray(slot[0].children) ? slot[0].children : slot;\r\n return h('div', { class: this.parent.bodyHorizontalClasses }, children.map((element) => {\r\n let message;\r\n if (element.type === Comment || element.type === Text) {\r\n return element;\r\n }\r\n if (first) {\r\n message = this.parent.newMessage;\r\n first = false;\r\n }\r\n // @ts-ignore (Why props null ??)\r\n return h(resolveComponent('OField'), { variant: this.parent.newVariant, message }, () => [element]);\r\n }));\r\n }\r\n});\n\nscript.__file = \"src/components/field/FieldBody.vue\";\n\n/**\r\n * Fields are used to add functionality to controls and to attach/group components and elements together\r\n * @displayName Field\r\n * @style _field.scss\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OField',\r\n components: {\r\n [script.name]: script\r\n },\r\n configField: 'field',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n provide() {\r\n return {\r\n $field: this\r\n };\r\n },\r\n inject: {\r\n $field: { from: '$field', default: false }\r\n },\r\n props: {\r\n /**\r\n * \tColor of the field and help message, also adds a matching icon, optional. Used by Input, Select and Autocomplete\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Field label\r\n */\r\n label: String,\r\n /**\r\n * Same as native for set on the label\r\n */\r\n labelFor: String,\r\n /**\r\n * Help message text\r\n */\r\n message: String,\r\n /**\r\n * Direct child components/elements of Field will be grouped horizontally (see which ones at the top of the page)\r\n */\r\n grouped: Boolean,\r\n /**\r\n * Allow controls to fill up multiple lines, making it responsive\r\n */\r\n groupMultiline: Boolean,\r\n /**\r\n * Group label and control on the same line for horizontal forms\r\n */\r\n horizontal: Boolean,\r\n /**\r\n * Field automatically attach controls together\r\n */\r\n addons: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n labelSize: String,\r\n rootClass: [String, Function, Array],\r\n horizontalClass: [String, Function, Array],\r\n groupedClass: [String, Function, Array],\r\n groupMultilineClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n labelSizeClass: [String, Function, Array],\r\n labelHorizontalClass: [String, Function, Array],\r\n bodyClass: [String, Function, Array],\r\n bodyHorizontalClass: [String, Function, Array],\r\n addonsClass: [String, Function, Array],\r\n messageClass: [String, Function, Array],\r\n variantMessageClass: [String, Function, Array],\r\n variantLabelClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n focusedClass: [String, Function, Array],\r\n filledClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newVariant: this.variant,\r\n newMessage: this.message,\r\n isFocused: false,\r\n isFilled: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-field'),\r\n { [this.computedClass('horizontalClass', 'o-field--horizontal')]: this.horizontal },\r\n { [this.computedClass('mobileClass', 'o-field--mobile')]: this.isMatchMedia },\r\n { [this.computedClass('focusedClass', 'o-field--focused')]: this.isFocused },\r\n { [this.computedClass('filledClass', 'o-field--filled')]: this.isFilled }\r\n ];\r\n },\r\n messageClasses() {\r\n return [\r\n this.computedClass('messageClass', 'o-field__message'),\r\n { [this.computedClass('variantMessageClass', 'o-field__message-', this.newVariant)]: this.newVariant }\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-field__label'),\r\n { [this.computedClass('labelSizeClass', 'o-field__label-', this.labelSize)]: this.labelSize },\r\n { [this.computedClass('variantLabelClass', 'o-field__label-', this.newVariant)]: this.newVariant }\r\n ];\r\n },\r\n labelHorizontalClasses() {\r\n return [\r\n this.computedClass('labelHorizontalClass', 'o-field__horizontal-label')\r\n ];\r\n },\r\n bodyClasses() {\r\n return [\r\n this.computedClass('bodyClass', 'o-field__body')\r\n ];\r\n },\r\n bodyHorizontalClasses() {\r\n return [\r\n this.computedClass('bodyHorizontalClass', 'o-field__horizontal-body')\r\n ];\r\n },\r\n innerFieldClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-field'),\r\n { [this.computedClass('groupMultilineClass', 'o-field--grouped-multiline')]: this.groupMultiline },\r\n { [this.computedClass('groupedClass', 'o-field--grouped')]: this.grouped },\r\n { [this.computedClass('addonsClass', 'o-field--addons')]: !this.grouped && this.hasAddons() },\r\n ];\r\n },\r\n parent() {\r\n return this.$field;\r\n },\r\n hasLabelSlot() {\r\n return this.$slots.label;\r\n },\r\n hasMessageSlot() {\r\n return this.$slots.message;\r\n },\r\n hasLabel() {\r\n return this.label || this.hasLabelSlot;\r\n },\r\n hasMessage() {\r\n return ((!this.parent || !this.parent.hasInnerField) && this.newMessage) || this.hasMessageSlot;\r\n },\r\n hasInnerField() {\r\n return this.grouped || this.groupMultiline || this.hasAddons();\r\n }\r\n },\r\n watch: {\r\n /**\r\n * Set internal variant when prop change.\r\n */\r\n variant(value) {\r\n this.newVariant = value;\r\n },\r\n /**\r\n * Set internal message when prop change.\r\n */\r\n message(value) {\r\n this.newMessage = value;\r\n },\r\n /**\r\n * Set parent message if we use Field in Field.\r\n */\r\n newMessage(value) {\r\n if (this.parent && this.parent.hasInnerField) {\r\n if (!this.parent.variant) {\r\n this.parent.newVariant = this.newVariant;\r\n }\r\n if (!this.parent.message) {\r\n this.parent.newMessage = value;\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n hasAddons() {\r\n let renderedNode = 0;\r\n const slot = this.$slots.default();\r\n if (slot) {\r\n const children = slot.length === 1 && Array.isArray(slot[0].children) ? slot[0].children : slot;\r\n renderedNode = children.reduce((i, node) => node ? i + 1 : i, 0);\r\n }\r\n return renderedNode > 1 && this.addons && !this.horizontal;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_field_body = resolveComponent(\"o-field-body\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [_ctx.horizontal ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.labelHorizontalClasses\n }, [_ctx.hasLabel ? (openBlock(), createBlock(\"label\", {\n key: 0,\n for: _ctx.labelFor,\n class: _ctx.labelClasses\n }, [_ctx.hasLabelSlot ? renderSlot(_ctx.$slots, \"label\", {\n key: 0\n }) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 10\n /* CLASS, PROPS */\n , [\"for\"])) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [_ctx.hasLabel ? (openBlock(), createBlock(\"label\", {\n key: 0,\n for: _ctx.labelFor,\n class: _ctx.labelClasses\n }, [_ctx.hasLabelSlot ? renderSlot(_ctx.$slots, \"label\", {\n key: 0\n }) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 10\n /* CLASS, PROPS */\n , [\"for\"])) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n )), _ctx.horizontal ? createVNode(_component_o_field_body, {\n key: 2\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }) : _ctx.hasInnerField ? (openBlock(), createBlock(\"div\", {\n key: 3,\n class: _ctx.bodyClasses\n }, [createVNode(\"div\", {\n class: _ctx.innerFieldClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )) : renderSlot(_ctx.$slots, \"default\", {\n key: 4\n }), _ctx.hasMessage && !_ctx.horizontal ? (openBlock(), createBlock(\"p\", {\n key: 5,\n class: _ctx.messageClasses\n }, [_ctx.hasMessageSlot ? renderSlot(_ctx.$slots, \"message\", {\n key: 0\n }) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.newMessage), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript$1.render = render;\nscript$1.__file = \"src/components/field/Field.vue\";\n\nexport { script$1 as s };\n","import { defineComponent, resolveComponent, openBlock, createBlock, withDirectives, createVNode, mergeProps, Fragment, toDisplayString, createCommentVNode, renderSlot, vModelSelect } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\n\n/**\r\n * Select an item in a dropdown list. Use with Field to access all functionalities\r\n * @displayName Select\r\n * @style _select.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSelect',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n configField: 'select',\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'focus', 'blur'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: [String, Number, Boolean, Object, Array],\r\n default: null\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'select.iconPack', undefined); }\r\n },\r\n /**\r\n * \tIcon name to be added on the right side\r\n */\r\n iconRight: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'select.iconRight', undefined); }\r\n },\r\n /** Text when nothing is selected */\r\n placeholder: String,\r\n multiple: Boolean,\r\n /** Same as native size */\r\n nativeSize: [String, Number],\r\n rootClass: [String, Function, Array],\r\n selectClass: [String, Function, Array],\r\n iconLeftSpaceClass: [String, Function, Array],\r\n iconRightSpaceClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n multipleClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n iconLeftClass: [String, Function, Array],\r\n iconRightClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n placeholderClass: [String, Function, Array],\r\n arrowClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n selected: this.modelValue\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-ctrl-sel'),\r\n { [this.computedClass('expandedClass', 'o-ctrl-sel--expanded')]: this.expanded },\r\n ];\r\n },\r\n selectClasses() {\r\n return [\r\n this.computedClass('selectClass', 'o-sel'),\r\n { [this.computedClass('roundedClass', 'o-sel--rounded')]: this.rounded },\r\n { [this.computedClass('multipleClass', 'o-sel--multiple')]: this.multiple },\r\n { [this.computedClass('sizeClass', 'o-sel--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-sel--', (this.statusVariant || this.variant))]: (this.statusVariant || this.variant) },\r\n { [this.computedClass('iconLeftSpaceClass', 'o-sel-iconspace-left')]: this.icon },\r\n { [this.computedClass('iconRightSpaceClass', 'o-sel-iconspace-right')]: this.iconRight },\r\n { [this.computedClass('placeholderClass', 'o-sel--placeholder')]: this.placeholderVisible },\r\n { [this.computedClass('arrowClass', 'o-sel-arrow')]: !this.iconRight && !this.multiple }\r\n ];\r\n },\r\n iconLeftClasses() {\r\n return [\r\n this.computedClass('iconLeftClass', 'o-sel__icon-left')\r\n ];\r\n },\r\n iconRightClasses() {\r\n return [\r\n this.computedClass('iconRightClass', 'o-sel__icon-right')\r\n ];\r\n },\r\n placeholderVisible() {\r\n return this.computedValue === null;\r\n },\r\n computedValue: {\r\n get() {\r\n return this.selected;\r\n },\r\n set(value) {\r\n this.selected = value;\r\n this.$emit('update:modelValue', value);\r\n this.syncFilled(this.selected);\r\n !this.isValid && this.checkHtml5Validity();\r\n }\r\n },\r\n $elementRef() {\r\n return 'select';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Set the selected option.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.selected = value;\r\n this.syncFilled(this.selected);\r\n !this.isValid && this.checkHtml5Validity();\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 0,\n value: null,\n disabled: \"\",\n hidden: \"\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [withDirectives(createVNode(\"select\", mergeProps(_ctx.$attrs, {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n class: _ctx.selectClasses,\n ref: \"select\",\n autocomplete: _ctx.autocomplete,\n multiple: _ctx.multiple,\n size: _ctx.nativeSize,\n onBlur: _cache[2] || (_cache[2] = (...args) => _ctx.onBlur(...args)),\n onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.onFocus(...args))\n }), [_ctx.placeholder ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [_ctx.placeholderVisible ? (openBlock(), createBlock(\"option\", _hoisted_1, toDisplayString(_ctx.placeholder), 1\n /* TEXT */\n )) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true), renderSlot(_ctx.$slots, \"default\")], 16\n /* FULL_PROPS */\n , [\"autocomplete\", \"multiple\", \"size\"]), [[vModelSelect, _ctx.computedValue]]), _ctx.icon ? createVNode(_component_o_icon, {\n key: 0,\n class: _ctx.iconLeftClasses,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.iconRight && !_ctx.multiple ? createVNode(_component_o_icon, {\n key: 1,\n class: _ctx.iconRightClasses,\n icon: _ctx.iconRight,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/select/Select.vue\";\n\nexport { script as s };\n","import { defineComponent, openBlock, createBlock, withModifiers, createVNode, toDisplayString, createCommentVNode, Fragment, renderList, resolveComponent, createTextVNode, mergeProps, createSlots, withCtx, renderSlot, withDirectives, withKeys, vShow } from 'vue';\nimport { isDefined, getValueByPath, getMonthNames, getWeekdayNames, isMobile, matchWithGroups } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$7 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { s as script$5 } from './Input-19e906a1.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { s as script$8, a as script$9 } from './DropdownItem-c744c4e9.mjs';\nimport { s as script$4 } from './Field-937b4591.mjs';\nimport { s as script$6 } from './Select-2cca695f.mjs';\n\nvar script = defineComponent({\r\n name: 'ODatepickerTableRow',\r\n mixins: [BaseComponentMixin],\r\n configField: 'datepicker',\r\n inject: {\r\n $datepicker: { from: '$datepicker', default: false }\r\n },\r\n emits: ['select', 'rangeHoverEndDate', 'change-focus'],\r\n props: {\r\n selectedDate: {\r\n type: [Date, Array]\r\n },\r\n hoveredDateRange: Array,\r\n day: {\r\n type: Number\r\n },\r\n week: {\r\n type: Array,\r\n required: true\r\n },\r\n month: {\r\n type: Number,\r\n required: true\r\n },\r\n showWeekNumber: Boolean,\r\n minDate: Date,\r\n maxDate: Date,\r\n disabled: Boolean,\r\n unselectableDates: Array,\r\n unselectableDaysOfWeek: Array,\r\n selectableDates: Array,\r\n events: Array,\r\n indicators: String,\r\n dateCreator: Function,\r\n nearbyMonthDays: Boolean,\r\n nearbySelectableMonthDays: Boolean,\r\n weekNumberClickable: Boolean,\r\n range: Boolean,\r\n multiple: Boolean,\r\n rulesForFirstWeek: Number,\r\n firstDayOfWeek: Number,\r\n tableRowClass: [String, Function, Array],\r\n tableCellClass: [String, Function, Array],\r\n tableCellSelectedClass: [String, Function, Array],\r\n tableCellFirstSelectedClass: [String, Function, Array],\r\n tableCellWithinSelectedClass: [String, Function, Array],\r\n tableCellLastSelectedClass: [String, Function, Array],\r\n tableCellFirstHoveredClass: [String, Function, Array],\r\n tableCellInvisibleClass: [String, Function, Array],\r\n tableCellWithinHoveredClass: [String, Function, Array],\r\n tableCellLastHoveredClass: [String, Function, Array],\r\n tableCellTodayClass: [String, Function, Array],\r\n tableCellSelectableClass: [String, Function, Array],\r\n tableCellUnselectableClass: [String, Function, Array],\r\n tableCellNearbyClass: [String, Function, Array],\r\n tableCellEventsClass: [String, Function, Array],\r\n tableEventClass: [String, Function, Array],\r\n tableEventIndicatorsClass: [String, Function, Array],\r\n tableEventsClass: [String, Function, Array],\r\n tableEventVariantClass: [String, Function, Array],\r\n },\r\n computed: {\r\n tableRowClasses() {\r\n return [\r\n this.computedClass('tableRowClass', 'o-dpck__table__row'),\r\n ];\r\n },\r\n tableCellClasses() {\r\n return [\r\n this.computedClass('tableCellClass', 'o-dpck__table__cell'),\r\n ];\r\n },\r\n tableEventsClasses() {\r\n return [\r\n this.computedClass('tableEventsClass', 'o-dpck__table__events'),\r\n ];\r\n },\r\n hasEvents() {\r\n return this.events && this.events.length;\r\n }\r\n },\r\n watch: {\r\n day(day) {\r\n const refName = `day-${this.month}-${day}`;\r\n this.$nextTick(() => {\r\n if (this.$refs[refName] && this.$refs[refName].length > 0) {\r\n if (this.$refs[refName][0]) {\r\n this.$refs[refName][0].focus();\r\n }\r\n }\r\n }); // $nextTick needed when month is changed\r\n }\r\n },\r\n methods: {\r\n firstWeekOffset(year, dow, doy) {\r\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\r\n const fwd = 7 + dow - doy;\r\n // first-week day local weekday -- which local weekday is fwd\r\n const firstJanuary = new Date(year, 0, fwd);\r\n const fwdlw = (7 + firstJanuary.getDay() - dow) % 7;\r\n return -fwdlw + fwd - 1;\r\n },\r\n daysInYear(year) {\r\n return this.isLeapYear(year) ? 366 : 365;\r\n },\r\n isLeapYear(year) {\r\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\r\n },\r\n getSetDayOfYear(input) {\r\n return Math.round((input.getTime() - new Date(input.getFullYear(), 0, 1).getTime()) / 864e5) + 1;\r\n },\r\n weeksInYear(year, dow, doy) {\r\n const weekOffset = this.firstWeekOffset(year, dow, doy);\r\n const weekOffsetNext = this.firstWeekOffset(year + 1, dow, doy);\r\n return (this.daysInYear(year) - weekOffset + weekOffsetNext) / 7;\r\n },\r\n getWeekNumber(mom) {\r\n const dow = this.firstDayOfWeek; // first day of week\r\n // Rules for the first week : 1 for the 1st January, 4 for the 4th January\r\n const doy = this.rulesForFirstWeek;\r\n const weekOffset = this.firstWeekOffset(mom.getFullYear(), dow, doy);\r\n const week = Math.floor((this.getSetDayOfYear(mom) - weekOffset - 1) / 7) + 1;\r\n let resWeek;\r\n let resYear;\r\n if (week < 1) {\r\n resYear = mom.getFullYear() - 1;\r\n resWeek = week + this.weeksInYear(resYear, dow, doy);\r\n }\r\n else if (week > this.weeksInYear(mom.getFullYear(), dow, doy)) {\r\n resWeek = week - this.weeksInYear(mom.getFullYear(), dow, doy);\r\n resYear = mom.getFullYear() + 1;\r\n }\r\n else {\r\n resYear = mom.getFullYear();\r\n resWeek = week;\r\n }\r\n return resWeek;\r\n },\r\n clickWeekNumber(week) {\r\n if (this.weekNumberClickable) {\r\n this.$datepicker.$emit('week-number-click', week);\r\n }\r\n },\r\n /*\r\n * Check that selected day is within earliest/latest params and\r\n * is within this month\r\n */\r\n selectableDate(day) {\r\n const validity = [];\r\n if (this.minDate) {\r\n validity.push(day >= this.minDate);\r\n }\r\n if (this.maxDate) {\r\n validity.push(day <= this.maxDate);\r\n }\r\n if (this.nearbyMonthDays && !this.nearbySelectableMonthDays) {\r\n validity.push(day.getMonth() === this.month);\r\n }\r\n if (this.selectableDates) {\r\n for (let i = 0; i < this.selectableDates.length; i++) {\r\n const enabledDate = this.selectableDates[i];\r\n if (day.getDate() === enabledDate.getDate() &&\r\n day.getFullYear() === enabledDate.getFullYear() &&\r\n day.getMonth() === enabledDate.getMonth()) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n }\r\n if (this.unselectableDates) {\r\n for (let i = 0; i < this.unselectableDates.length; i++) {\r\n const disabledDate = this.unselectableDates[i];\r\n validity.push(day.getDate() !== disabledDate.getDate() ||\r\n day.getFullYear() !== disabledDate.getFullYear() ||\r\n day.getMonth() !== disabledDate.getMonth());\r\n }\r\n }\r\n if (this.unselectableDaysOfWeek) {\r\n for (let i = 0; i < this.unselectableDaysOfWeek.length; i++) {\r\n const dayOfWeek = this.unselectableDaysOfWeek[i];\r\n validity.push(day.getDay() !== dayOfWeek);\r\n }\r\n }\r\n return validity.indexOf(false) < 0;\r\n },\r\n /*\r\n * Emit select event with chosen date as payload\r\n */\r\n emitChosenDate(day) {\r\n if (this.disabled)\r\n return;\r\n if (this.selectableDate(day)) {\r\n this.$emit('select', day);\r\n }\r\n },\r\n eventsDateMatch(day) {\r\n if (!this.events || !this.events.length)\r\n return false;\r\n const dayEvents = [];\r\n for (let i = 0; i < this.events.length; i++) {\r\n if (this.events[i].date.getDay() === day.getDay()) {\r\n dayEvents.push(this.events[i]);\r\n }\r\n }\r\n if (!dayEvents.length) {\r\n return false;\r\n }\r\n return dayEvents;\r\n },\r\n /*\r\n * Build cellClasses for cell using validations\r\n */\r\n cellClasses(day) {\r\n function dateMatch(dateOne, dateTwo, multiple = false) {\r\n // if either date is null or undefined, return false\r\n // if using multiple flag, return false\r\n if (!dateOne || !dateTwo || multiple) {\r\n return false;\r\n }\r\n if (Array.isArray(dateTwo)) {\r\n return dateTwo.some((date) => (dateOne.getDate() === date.getDate() &&\r\n dateOne.getFullYear() === date.getFullYear() &&\r\n dateOne.getMonth() === date.getMonth()));\r\n }\r\n return (dateOne.getDate() === dateTwo.getDate() &&\r\n dateOne.getFullYear() === dateTwo.getFullYear() &&\r\n dateOne.getMonth() === dateTwo.getMonth());\r\n }\r\n function dateWithin(dateOne, dates, multiple = false) {\r\n if (!Array.isArray(dates) || multiple) {\r\n return false;\r\n }\r\n return dateOne > dates[0] && dateOne < dates[1];\r\n }\r\n return [\r\n ...this.tableCellClasses,\r\n {\r\n [this.computedClass('tableCellSelectedClass', 'o-dpck__table__cell--selected')]: dateMatch(day, this.selectedDate) || dateWithin(day, this.selectedDate, this.multiple)\r\n },\r\n {\r\n [this.computedClass('tableCellFirstSelectedClass', 'o-dpck__table__cell--first-selected')]: dateMatch(day, Array.isArray(this.selectedDate) && this.selectedDate[0], this.multiple),\r\n },\r\n {\r\n [this.computedClass('tableCellWithinSelectedClass', 'o-dpck__table__cell--within-selected')]: dateWithin(day, this.selectedDate, this.multiple)\r\n },\r\n {\r\n [this.computedClass('tableCellLastSelectedClass', 'o-dpck__table__cell--last-selected')]: dateMatch(day, Array.isArray(this.selectedDate) && this.selectedDate[1], this.multiple),\r\n },\r\n {\r\n [this.computedClass('tableCellFirstHoveredClass', 'o-dpck__table__cell--first-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[0]),\r\n },\r\n {\r\n [this.computedClass('tableCellWithinHoveredClass', 'o-dpck__table__cell--within-hovered')]: dateWithin(day, this.hoveredDateRange)\r\n },\r\n {\r\n [this.computedClass('tableCellLastHoveredClass', 'o-dpck__table__cell--last-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[1])\r\n },\r\n {\r\n [this.computedClass('tableCellTodayClass', 'o-dpck__table__cell--today')]: dateMatch(day, this.dateCreator())\r\n },\r\n {\r\n [this.computedClass('tableCellSelectableClass', 'o-dpck__table__cell--selectable')]: this.selectableDate(day) && !this.disabled\r\n },\r\n {\r\n [this.computedClass('tableCellUnselectableClass', 'o-dpck__table__cell--unselectable')]: !this.selectableDate(day) || this.disabled\r\n },\r\n {\r\n [this.computedClass('tableCellInvisibleClass', 'o-dpck__table__cell--invisible')]: !this.nearbyMonthDays && day.getMonth() !== this.month\r\n },\r\n {\r\n [this.computedClass('tableCellNearbyClass', 'o-dpck__table__cell--nearby')]: this.nearbySelectableMonthDays && day.getMonth() !== this.month\r\n },\r\n {\r\n [this.computedClass('tableCellEventsClass', 'o-dpck__table__cell--events')]: this.hasEvents\r\n },\r\n {\r\n [this.computedClass('tableCellTodayClass', 'o-dpck__table__cell--today')]: dateMatch(day, this.dateCreator())\r\n }\r\n ];\r\n },\r\n eventClasses(event) {\r\n return [\r\n this.computedClass('tableEventClass', 'o-dpck__table__event'),\r\n { [this.computedClass('tableEventVariantClass', 'o-dpck__table__event--', event.type)]: event.type },\r\n { [this.computedClass('tableEventIndicatorsClass', 'o-dpck__table__event--', this.indicators)]: this.indicators }\r\n ];\r\n },\r\n setRangeHoverEndDate(day) {\r\n if (this.range) {\r\n this.$emit('rangeHoverEndDate', day);\r\n }\r\n },\r\n manageKeydown(event, weekDay) {\r\n // https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/key/Key_Values#Navigation_keys\r\n const { key } = event;\r\n let preventDefault = true;\r\n switch (key) {\r\n case 'Tab': {\r\n preventDefault = false;\r\n break;\r\n }\r\n case ' ':\r\n case 'Space':\r\n case 'Spacebar':\r\n case 'Enter': {\r\n this.emitChosenDate(weekDay);\r\n break;\r\n }\r\n case 'ArrowLeft':\r\n case 'Left': {\r\n this.changeFocus(weekDay, -1);\r\n break;\r\n }\r\n case 'ArrowRight':\r\n case 'Right': {\r\n this.changeFocus(weekDay, 1);\r\n break;\r\n }\r\n case 'ArrowUp':\r\n case 'Up': {\r\n this.changeFocus(weekDay, -7);\r\n break;\r\n }\r\n case 'ArrowDown':\r\n case 'Down': {\r\n this.changeFocus(weekDay, 7);\r\n break;\r\n }\r\n }\r\n if (preventDefault) {\r\n event.preventDefault();\r\n }\r\n },\r\n changeFocus(day, inc) {\r\n const nextDay = new Date(day.getTime());\r\n nextDay.setDate(day.getDate() + inc);\r\n while ((!this.minDate || nextDay > this.minDate) &&\r\n (!this.maxDate || nextDay < this.maxDate) &&\r\n !this.selectableDate(nextDay)) {\r\n nextDay.setDate(day.getDate() + Math.sign(inc));\r\n }\r\n this.setRangeHoverEndDate(nextDay);\r\n this.$emit('change-focus', nextDay);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.tableRowClasses\n }, [_ctx.showWeekNumber ? (openBlock(), createBlock(\"a\", {\n key: 0,\n class: _ctx.tableCellClasses,\n style: {\n 'cursor: pointer': _ctx.weekNumberClickable\n },\n onClick: _cache[1] || (_cache[1] = withModifiers($event => _ctx.clickWeekNumber(_ctx.getWeekNumber(_ctx.week[6])), [\"prevent\"]))\n }, [createVNode(\"span\", null, toDisplayString(_ctx.getWeekNumber(_ctx.week[6])), 1\n /* TEXT */\n )], 6\n /* CLASS, STYLE */\n )) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.week, (weekDay, index) => {\n return openBlock(), createBlock(Fragment, {\n key: index\n }, [_ctx.selectableDate(weekDay) && !_ctx.disabled ? (openBlock(), createBlock(\"a\", {\n key: 0,\n ref: `day-${weekDay.getMonth()}-${weekDay.getDate()}`,\n class: _ctx.cellClasses(weekDay),\n role: \"button\",\n href: \"#\",\n disabled: _ctx.disabled,\n onClick: withModifiers($event => _ctx.emitChosenDate(weekDay), [\"prevent\"]),\n onMouseenter: $event => _ctx.setRangeHoverEndDate(weekDay),\n onKeydown: $event => _ctx.manageKeydown($event, weekDay),\n tabindex: _ctx.day === weekDay.getDate() && _ctx.month === weekDay.getMonth() ? null : -1\n }, [createVNode(\"span\", null, toDisplayString(weekDay.getDate()), 1\n /* TEXT */\n ), _ctx.eventsDateMatch(weekDay) ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.tableEventsClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.eventsDateMatch(weekDay), (event, index) => {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.eventClasses(event),\n key: index\n }, null, 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"disabled\", \"onClick\", \"onMouseenter\", \"onKeydown\", \"tabindex\"])) : (openBlock(), createBlock(\"div\", {\n key: index,\n class: _ctx.cellClasses(weekDay)\n }, [createVNode(\"span\", null, toDisplayString(weekDay.getDate()), 1\n /* TEXT */\n )], 2\n /* CLASS */\n ))], 64\n /* STABLE_FRAGMENT */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/datepicker/DatepickerTableRow.vue\";\n\nvar script$1 = defineComponent({\r\n name: 'ODatepickerTable',\r\n mixins: [BaseComponentMixin],\r\n configField: 'datepicker',\r\n components: {\r\n [script.name]: script\r\n },\r\n emits: ['update:modelValue', 'range-start', 'range-end', 'update:focused'],\r\n props: {\r\n modelValue: {\r\n type: [Date, Array]\r\n },\r\n dayNames: Array,\r\n monthNames: Array,\r\n firstDayOfWeek: Number,\r\n events: Array,\r\n indicators: String,\r\n minDate: Date,\r\n maxDate: Date,\r\n focused: Object,\r\n disabled: Boolean,\r\n dateCreator: Function,\r\n unselectableDates: Array,\r\n unselectableDaysOfWeek: Array,\r\n selectableDates: Array,\r\n nearbyMonthDays: Boolean,\r\n nearbySelectableMonthDays: Boolean,\r\n showWeekNumber: Boolean,\r\n weekNumberClickable: Boolean,\r\n rulesForFirstWeek: Number,\r\n range: Boolean,\r\n multiple: Boolean,\r\n tableClass: [String, Function, Array],\r\n tableHeadClass: [String, Function, Array],\r\n tableHeadCellClass: [String, Function, Array],\r\n tableBodyClass: [String, Function, Array],\r\n tableRowClass: [String, Function, Array],\r\n tableCellClass: [String, Function, Array],\r\n tableCellSelectedClass: [String, Function, Array],\r\n tableCellFirstSelectedClass: [String, Function, Array],\r\n tableCellInvisibleClass: [String, Function, Array],\r\n tableCellWithinSelectedClass: [String, Function, Array],\r\n tableCellLastSelectedClass: [String, Function, Array],\r\n tableCellFirstHoveredClass: [String, Function, Array],\r\n tableCellWithinHoveredClass: [String, Function, Array],\r\n tableCellLastHoveredClass: [String, Function, Array],\r\n tableCellTodayClass: [String, Function, Array],\r\n tableCellSelectableClass: [String, Function, Array],\r\n tableCellUnselectableClass: [String, Function, Array],\r\n tableCellNearbyClass: [String, Function, Array],\r\n tableCellEventsClass: [String, Function, Array],\r\n tableEventClass: [String, Function, Array],\r\n tableEventIndicatorsClass: [String, Function, Array],\r\n tableEventsClass: [String, Function, Array],\r\n tableEventVariantClass: [String, Function, Array],\r\n },\r\n data() {\r\n return {\r\n selectedBeginDate: undefined,\r\n selectedEndDate: undefined,\r\n hoveredEndDate: undefined\r\n };\r\n },\r\n computed: {\r\n tableClasses() {\r\n return [\r\n this.computedClass('tableClass', 'o-dpck__table')\r\n ];\r\n },\r\n tableHeadClasses() {\r\n return [\r\n this.computedClass('tableHeadClass', 'o-dpck__table__head')\r\n ];\r\n },\r\n tableHeadCellClasses() {\r\n return [\r\n this.computedClass('tableHeadCellClass', 'o-dpck__table__head-cell'),\r\n ...this.tableCellClasses\r\n ];\r\n },\r\n tableBodyClasses() {\r\n return [\r\n this.computedClass('tableBodyClass', 'o-dpck__table__body')\r\n ];\r\n },\r\n tableCellClasses() {\r\n return [\r\n this.computedClass('tableCellClass', 'o-dpck__table__cell'),\r\n ];\r\n },\r\n visibleDayNames() {\r\n const visibleDayNames = [];\r\n let index = this.firstDayOfWeek;\r\n while (visibleDayNames.length < this.dayNames.length) {\r\n const currentDayName = this.dayNames[(index % this.dayNames.length)];\r\n visibleDayNames.push(currentDayName);\r\n index++;\r\n }\r\n if (this.showWeekNumber)\r\n visibleDayNames.unshift('');\r\n return visibleDayNames;\r\n },\r\n /*\r\n * Return array of all events in the specified month\r\n */\r\n eventsInThisMonth() {\r\n if (!this.events)\r\n return [];\r\n const monthEvents = [];\r\n for (let i = 0; i < this.events.length; i++) {\r\n let event = this.events[i];\r\n if (!Object.prototype.hasOwnProperty.call(event, 'date')) {\r\n event = { date: event };\r\n }\r\n if (event.date.getMonth() === this.focused.month &&\r\n event.date.getFullYear() === this.focused.year) {\r\n monthEvents.push(event);\r\n }\r\n }\r\n return monthEvents;\r\n },\r\n /*\r\n * Return array of all weeks in the specified month\r\n */\r\n weeksInThisMonth() {\r\n this.validateFocusedDay();\r\n const month = this.focused.month;\r\n const year = this.focused.year;\r\n const weeksInThisMonth = [];\r\n let startingDay = 1;\r\n while (weeksInThisMonth.length < 6) {\r\n const newWeek = this.weekBuilder(startingDay, month, year);\r\n weeksInThisMonth.push(newWeek);\r\n startingDay += 7;\r\n }\r\n return weeksInThisMonth;\r\n },\r\n hoveredDateRange() {\r\n if (!this.range) {\r\n return [];\r\n }\r\n if (!isNaN(this.selectedEndDate)) {\r\n return [];\r\n }\r\n if (this.hoveredEndDate < this.selectedBeginDate) {\r\n return [this.hoveredEndDate, this.selectedBeginDate].filter(d => d !== undefined);\r\n }\r\n return [this.selectedBeginDate, this.hoveredEndDate].filter(d => d !== undefined);\r\n }\r\n },\r\n methods: {\r\n /*\r\n * Emit input event with selected date as payload for v-model in parent\r\n */\r\n updateSelectedDate(date) {\r\n if (!this.range && !this.multiple) {\r\n this.$emit('update:modelValue', date);\r\n }\r\n else if (this.range) {\r\n this.handleSelectRangeDate(date);\r\n }\r\n else if (this.multiple) {\r\n this.handleSelectMultipleDates(date);\r\n }\r\n },\r\n /*\r\n * If both begin and end dates are set, reset the end date and set the begin date.\r\n * If only begin date is selected, emit an array of the begin date and the new date.\r\n * If not set, only set the begin date.\r\n */\r\n handleSelectRangeDate(date) {\r\n if (this.selectedBeginDate && this.selectedEndDate) {\r\n this.selectedBeginDate = date;\r\n this.selectedEndDate = undefined;\r\n this.$emit('range-start', date);\r\n }\r\n else if (this.selectedBeginDate && !this.selectedEndDate) {\r\n if (this.selectedBeginDate > date) {\r\n this.selectedEndDate = this.selectedBeginDate;\r\n this.selectedBeginDate = date;\r\n }\r\n else {\r\n this.selectedEndDate = date;\r\n }\r\n this.$emit('range-end', date);\r\n this.$emit('update:modelValue', [this.selectedBeginDate, this.selectedEndDate]);\r\n }\r\n else {\r\n this.selectedBeginDate = date;\r\n this.$emit('range-start', date);\r\n }\r\n },\r\n /*\r\n * If selected date already exists list of selected dates, remove it from the list\r\n * Otherwise, add date to list of selected dates\r\n */\r\n handleSelectMultipleDates(date) {\r\n let multipleSelectedDates = this.modelValue;\r\n const multipleSelect = multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() === date.getDate() &&\r\n selectedDate.getFullYear() === date.getFullYear() &&\r\n selectedDate.getMonth() === date.getMonth());\r\n if (multipleSelect.length) {\r\n multipleSelectedDates = multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() !== date.getDate() ||\r\n selectedDate.getFullYear() !== date.getFullYear() ||\r\n selectedDate.getMonth() !== date.getMonth());\r\n }\r\n else {\r\n multipleSelectedDates = [...multipleSelectedDates, date];\r\n }\r\n this.$emit('update:modelValue', multipleSelectedDates);\r\n },\r\n /*\r\n * Return array of all days in the week that the startingDate is within\r\n */\r\n weekBuilder(startingDate, month, year) {\r\n const thisMonth = new Date(year, month);\r\n const thisWeek = [];\r\n const dayOfWeek = new Date(year, month, startingDate).getDay();\r\n const end = dayOfWeek >= this.firstDayOfWeek\r\n ? (dayOfWeek - this.firstDayOfWeek)\r\n : ((7 - this.firstDayOfWeek) + dayOfWeek);\r\n let daysAgo = 1;\r\n for (let i = 0; i < end; i++) {\r\n thisWeek.unshift(new Date(thisMonth.getFullYear(), thisMonth.getMonth(), startingDate - daysAgo));\r\n daysAgo++;\r\n }\r\n thisWeek.push(new Date(year, month, startingDate));\r\n let daysForward = 1;\r\n while (thisWeek.length < 7) {\r\n thisWeek.push(new Date(year, month, startingDate + daysForward));\r\n daysForward++;\r\n }\r\n return thisWeek;\r\n },\r\n validateFocusedDay() {\r\n const focusedDate = new Date(this.focused.year, this.focused.month, this.focused.day);\r\n if (this.selectableDate(focusedDate))\r\n return;\r\n let day = 0;\r\n // Number of days in the current month\r\n const monthDays = new Date(this.focused.year, this.focused.month + 1, 0).getDate();\r\n let firstFocusable = null;\r\n while (!firstFocusable && ++day < monthDays) {\r\n const date = new Date(this.focused.year, this.focused.month, day);\r\n if (this.selectableDate(date)) {\r\n firstFocusable = focusedDate;\r\n const focused = {\r\n day: date.getDate(),\r\n month: date.getMonth(),\r\n year: date.getFullYear()\r\n };\r\n this.$emit('update:focused', focused);\r\n }\r\n }\r\n },\r\n /*\r\n * Check that selected day is within earliest/latest params and\r\n * is within this month\r\n */\r\n selectableDate(day) {\r\n const validity = [];\r\n if (this.minDate) {\r\n validity.push(day >= this.minDate);\r\n }\r\n if (this.maxDate) {\r\n validity.push(day <= this.maxDate);\r\n }\r\n if (this.nearbyMonthDays && !this.nearbySelectableMonthDays) {\r\n validity.push(day.getMonth() === this.focused.month);\r\n }\r\n if (this.selectableDates) {\r\n for (let i = 0; i < this.selectableDates.length; i++) {\r\n const enabledDate = this.selectableDates[i];\r\n if (day.getDate() === enabledDate.getDate() &&\r\n day.getFullYear() === enabledDate.getFullYear() &&\r\n day.getMonth() === enabledDate.getMonth()) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n }\r\n if (this.unselectableDates) {\r\n for (let i = 0; i < this.unselectableDates.length; i++) {\r\n const disabledDate = this.unselectableDates[i];\r\n validity.push(day.getDate() !== disabledDate.getDate() ||\r\n day.getFullYear() !== disabledDate.getFullYear() ||\r\n day.getMonth() !== disabledDate.getMonth());\r\n }\r\n }\r\n if (this.unselectableDaysOfWeek) {\r\n for (let i = 0; i < this.unselectableDaysOfWeek.length; i++) {\r\n const dayOfWeek = this.unselectableDaysOfWeek[i];\r\n validity.push(day.getDay() !== dayOfWeek);\r\n }\r\n }\r\n return validity.indexOf(false) < 0;\r\n },\r\n eventsInThisWeek(week) {\r\n return this.eventsInThisMonth.filter((event) => {\r\n const stripped = new Date(Date.parse(event.date));\r\n stripped.setHours(0, 0, 0, 0);\r\n const timed = stripped.getTime();\r\n return week.some((weekDate) => weekDate.getTime() === timed);\r\n });\r\n },\r\n setRangeHoverEndDate(day) {\r\n this.hoveredEndDate = day;\r\n },\r\n changeFocus(day) {\r\n const focused = {\r\n day: day.getDate(),\r\n month: day.getMonth(),\r\n year: day.getFullYear()\r\n };\r\n this.$emit('update:focused', focused);\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_datepicker_table_row = resolveComponent(\"o-datepicker-table-row\");\n\n return openBlock(), createBlock(\"section\", {\n class: _ctx.tableClasses\n }, [createVNode(\"header\", {\n class: _ctx.tableHeadClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleDayNames, (day, index) => {\n return openBlock(), createBlock(\"div\", {\n key: index,\n class: _ctx.tableHeadCellClasses\n }, [createVNode(\"span\", null, toDisplayString(day), 1\n /* TEXT */\n )], 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n ), createVNode(\"div\", {\n class: _ctx.tableBodyClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.weeksInThisMonth, (week, index) => {\n return openBlock(), createBlock(_component_o_datepicker_table_row, {\n key: index,\n \"selected-date\": _ctx.modelValue,\n day: _ctx.focused.day,\n week: week,\n month: _ctx.focused.month,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n disabled: _ctx.disabled,\n \"unselectable-dates\": _ctx.unselectableDates,\n \"unselectable-days-of-week\": _ctx.unselectableDaysOfWeek,\n \"selectable-dates\": _ctx.selectableDates,\n events: _ctx.eventsInThisWeek(week),\n indicators: _ctx.indicators,\n \"date-creator\": _ctx.dateCreator,\n \"nearby-month-days\": _ctx.nearbyMonthDays,\n \"nearby-selectable-month-days\": _ctx.nearbySelectableMonthDays,\n \"show-week-number\": _ctx.showWeekNumber,\n \"week-number-clickable\": _ctx.weekNumberClickable,\n \"first-day-of-week\": _ctx.firstDayOfWeek,\n \"rules-for-first-week\": _ctx.rulesForFirstWeek,\n range: _ctx.range,\n \"hovered-date-range\": _ctx.hoveredDateRange,\n multiple: _ctx.multiple,\n \"table-row-class\": _ctx.tableRowClass,\n \"table-cell-class\": _ctx.tableCellClass,\n \"table-cell-selected-class\": _ctx.tableCellSelectedClass,\n \"table-cell-first-selected-class\": _ctx.tableCellFirstSelectedClass,\n \"table-cell-invisible-class\": _ctx.tableCellInvisibleClass,\n \"table-cell-within-selected-class\": _ctx.tableCellWithinSelectedClass,\n \"table-cell-last-selected-class\": _ctx.tableCellLastSelectedClass,\n \"table-cell-first-hovered-class\": _ctx.tableCellFirstHoveredClass,\n \"table-cell-within-hovered-class\": _ctx.tableCellWithinHoveredClass,\n \"table-cell-last-hovered-class\": _ctx.tableCellLastHoveredClass,\n \"table-cell-today-class\": _ctx.tableCellTodayClass,\n \"table-cell-selectable-class\": _ctx.tableCellSelectableClass,\n \"table-cell-unselectable-class\": _ctx.tableCellUnselectableClass,\n \"table-cell-nearby-class\": _ctx.tableCellNearbyClass,\n \"table-cell-events-class\": _ctx.tableCellEventsClass,\n \"table-events-class\": _ctx.tableEventsClass,\n \"table-event-variant-class\": _ctx.tableEventVariantClass,\n \"table-event-class\": _ctx.tableEventClass,\n \"table-event-indicators-class\": _ctx.tableEventIndicatorsClass,\n onSelect: _ctx.updateSelectedDate,\n onRangeHoverEndDate: _ctx.setRangeHoverEndDate,\n \"onChange-focus\": _ctx.changeFocus\n }, null, 8\n /* PROPS */\n , [\"selected-date\", \"day\", \"week\", \"month\", \"min-date\", \"max-date\", \"disabled\", \"unselectable-dates\", \"unselectable-days-of-week\", \"selectable-dates\", \"events\", \"indicators\", \"date-creator\", \"nearby-month-days\", \"nearby-selectable-month-days\", \"show-week-number\", \"week-number-clickable\", \"first-day-of-week\", \"rules-for-first-week\", \"range\", \"hovered-date-range\", \"multiple\", \"table-row-class\", \"table-cell-class\", \"table-cell-selected-class\", \"table-cell-first-selected-class\", \"table-cell-invisible-class\", \"table-cell-within-selected-class\", \"table-cell-last-selected-class\", \"table-cell-first-hovered-class\", \"table-cell-within-hovered-class\", \"table-cell-last-hovered-class\", \"table-cell-today-class\", \"table-cell-selectable-class\", \"table-cell-unselectable-class\", \"table-cell-nearby-class\", \"table-cell-events-class\", \"table-events-class\", \"table-event-variant-class\", \"table-event-class\", \"table-event-indicators-class\", \"onSelect\", \"onRangeHoverEndDate\", \"onChange-focus\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/datepicker/DatepickerTable.vue\";\n\nvar DatepickerMixin = {\r\n methods: {\r\n manageKeydown(event, weekDay) {\r\n // https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/key/Key_Values#Navigation_keys\r\n const { key } = event;\r\n let preventDefault = true;\r\n switch (key) {\r\n case 'Tab': {\r\n preventDefault = false;\r\n break;\r\n }\r\n case ' ':\r\n case 'Space':\r\n case 'Spacebar':\r\n case 'Enter': {\r\n this.emitChosenDate(weekDay);\r\n break;\r\n }\r\n case 'ArrowLeft':\r\n case 'Left': {\r\n this.changeFocus(weekDay, -1);\r\n break;\r\n }\r\n case 'ArrowRight':\r\n case 'Right': {\r\n this.changeFocus(weekDay, 1);\r\n break;\r\n }\r\n case 'ArrowUp':\r\n case 'Up': {\r\n this.changeFocus(weekDay, -7);\r\n break;\r\n }\r\n case 'ArrowDown':\r\n case 'Down': {\r\n this.changeFocus(weekDay, 7);\r\n break;\r\n }\r\n }\r\n if (preventDefault) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n};\n\nvar script$2 = {\r\n name: 'ODatepickerMonth',\r\n mixins: [BaseComponentMixin, DatepickerMixin],\r\n configField: 'datepicker',\r\n emits: ['update:modelValue', 'range-start', 'range-end', 'updated:focused'],\r\n props: {\r\n modelValue: {\r\n type: [Date, Array]\r\n },\r\n monthNames: Array,\r\n events: Array,\r\n indicators: String,\r\n minDate: Date,\r\n maxDate: Date,\r\n focused: Object,\r\n disabled: Boolean,\r\n dateCreator: Function,\r\n unselectableDates: [Array, Function],\r\n unselectableDaysOfWeek: Array,\r\n selectableDates: [Array, Function],\r\n range: Boolean,\r\n multiple: Boolean,\r\n monthClass: [String, Function, Array],\r\n monthBodyClass: [String, Function, Array],\r\n monthTableClass: [String, Function, Array],\r\n monthCellClass: [String, Function, Array],\r\n monthCellSelectedClass: [String, Function, Array],\r\n monthCellFirstSelectedClass: [String, Function, Array],\r\n monthCellWithinSelectedClass: [String, Function, Array],\r\n monthCellLastSelectedClass: [String, Function, Array],\r\n monthCellWithinHoveredRangeClass: [String, Function, Array],\r\n monthCellFirstHoveredClass: [String, Function, Array],\r\n monthCellWithinHoveredClass: [String, Function, Array],\r\n monthCellLastHoveredClass: [String, Function, Array],\r\n monthCellTodayClass: [String, Function, Array],\r\n monthCellSelectableClass: [String, Function, Array],\r\n monthCellUnselectableClass: [String, Function, Array],\r\n monthCellEventsClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n selectedBeginDate: undefined,\r\n selectedEndDate: undefined,\r\n hoveredEndDate: undefined,\r\n multipleSelectedDates: this.multiple && this.modelValue ? this.modelValue : []\r\n };\r\n },\r\n computed: {\r\n monthClasses() {\r\n return [\r\n this.computedClass('monthClass', 'o-dpck__month')\r\n ];\r\n },\r\n monthBodyClasses() {\r\n return [\r\n this.computedClass('monthBodyClass', 'o-dpck__month__body')\r\n ];\r\n },\r\n monthTableClasses() {\r\n return [\r\n this.computedClass('monthTableClass', 'o-dpck__month__table')\r\n ];\r\n },\r\n monthCellClasses() {\r\n return [\r\n this.computedClass('monthCellClass', 'o-dpck__month__cell')\r\n ];\r\n },\r\n hasEvents() {\r\n return this.events && this.events.length;\r\n },\r\n /*\r\n * Return array of all events in the specified month\r\n */\r\n eventsInThisYear() {\r\n if (!this.events)\r\n return [];\r\n const yearEvents = [];\r\n for (let i = 0; i < this.events.length; i++) {\r\n let event = this.events[i];\r\n if (!Object.prototype.hasOwnProperty.call(event, 'date')) {\r\n event = { date: event };\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(event, 'type')) {\r\n event.type = 'is-primary';\r\n }\r\n if (event.date.getFullYear() === this.focused.year) {\r\n yearEvents.push(event);\r\n }\r\n }\r\n return yearEvents;\r\n },\r\n monthDates() {\r\n const year = this.focused.year;\r\n const months = [];\r\n for (let i = 0; i < 12; i++) {\r\n const d = new Date(year, i, 1);\r\n d.setHours(0, 0, 0, 0);\r\n months.push(d);\r\n }\r\n return months;\r\n },\r\n focusedMonth() {\r\n return this.focused.month;\r\n },\r\n hoveredDateRange() {\r\n if (!this.range) {\r\n return [];\r\n }\r\n if (!isNaN(this.selectedEndDate)) {\r\n return [];\r\n }\r\n if (this.hoveredEndDate < this.selectedBeginDate) {\r\n return [this.hoveredEndDate, this.selectedBeginDate].filter(isDefined);\r\n }\r\n return [this.selectedBeginDate, this.hoveredEndDate].filter(isDefined);\r\n }\r\n },\r\n watch: {\r\n focusedMonth(month) {\r\n const refName = `month-${month}`;\r\n if (this.$refs[refName] && this.$refs[refName].length > 0) {\r\n this.$nextTick(() => {\r\n if (this.$refs[refName][0]) {\r\n this.$refs[refName][0].focus();\r\n }\r\n }); // $nextTick needed when year is changed\r\n }\r\n }\r\n },\r\n methods: {\r\n selectMultipleDates(date) {\r\n const multipleSelect = this.multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() === date.getDate() &&\r\n selectedDate.getFullYear() === date.getFullYear() &&\r\n selectedDate.getMonth() === date.getMonth());\r\n if (multipleSelect.length) {\r\n this.multipleSelectedDates = this.multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() !== date.getDate() ||\r\n selectedDate.getFullYear() !== date.getFullYear() ||\r\n selectedDate.getMonth() !== date.getMonth());\r\n }\r\n else {\r\n this.multipleSelectedDates.push(date);\r\n }\r\n this.$emit('update:modelValue', this.multipleSelectedDates);\r\n },\r\n selectableDate(day) {\r\n const validity = [];\r\n if (this.minDate) {\r\n validity.push(day >= this.minDate);\r\n }\r\n if (this.maxDate) {\r\n validity.push(day <= this.maxDate);\r\n }\r\n validity.push(day.getFullYear() === this.focused.year);\r\n if (this.selectableDates) {\r\n if (typeof this.selectableDates === 'function') {\r\n if (this.selectableDates(day)) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < this.selectableDates.length; i++) {\r\n const enabledDate = this.selectableDates[i];\r\n if (day.getFullYear() === enabledDate.getFullYear() &&\r\n day.getMonth() === enabledDate.getMonth()) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n }\r\n }\r\n if (this.unselectableDates) {\r\n if (typeof this.unselectableDates === 'function') {\r\n validity.push(!this.unselectableDates(day));\r\n }\r\n else {\r\n for (let i = 0; i < this.unselectableDates.length; i++) {\r\n const disabledDate = this.unselectableDates[i];\r\n validity.push(day.getFullYear() !== disabledDate.getFullYear() ||\r\n day.getMonth() !== disabledDate.getMonth());\r\n }\r\n }\r\n }\r\n if (this.unselectableDaysOfWeek) {\r\n for (let i = 0; i < this.unselectableDaysOfWeek.length; i++) {\r\n const dayOfWeek = this.unselectableDaysOfWeek[i];\r\n validity.push(day.getDay() !== dayOfWeek);\r\n }\r\n }\r\n return validity.indexOf(false) < 0;\r\n },\r\n eventsDateMatch(day) {\r\n if (!this.eventsInThisYear.length)\r\n return false;\r\n const monthEvents = [];\r\n for (let i = 0; i < this.eventsInThisYear.length; i++) {\r\n if (this.eventsInThisYear[i].date.getMonth() === day.getMonth()) {\r\n monthEvents.push(this.events[i]);\r\n }\r\n }\r\n if (!monthEvents.length) {\r\n return false;\r\n }\r\n return monthEvents;\r\n },\r\n /*\r\n * Build cellClasses for cell using validations\r\n */\r\n cellClasses(day) {\r\n function dateMatch(dateOne, dateTwo, multiple = false) {\r\n // if either date is null or undefined, return false\r\n if (!dateOne || !dateTwo || multiple) {\r\n return false;\r\n }\r\n if (Array.isArray(dateTwo)) {\r\n return dateTwo.some((date) => (dateOne.getFullYear() === date.getFullYear() &&\r\n dateOne.getMonth() === date.getMonth()));\r\n }\r\n return (dateOne.getFullYear() === dateTwo.getFullYear() &&\r\n dateOne.getMonth() === dateTwo.getMonth());\r\n }\r\n function dateWithin(dateOne, dates, multiple = false) {\r\n if (!Array.isArray(dates) || multiple) {\r\n return false;\r\n }\r\n return dateOne > dates[0] && dateOne < dates[1];\r\n }\r\n function dateMultipleSelected(dateOne, dates, multiple = false) {\r\n if (!Array.isArray(dates) || !multiple) {\r\n return false;\r\n }\r\n return dates.some((date) => (dateOne.getDate() === date.getDate() &&\r\n dateOne.getFullYear() === date.getFullYear() &&\r\n dateOne.getMonth() === date.getMonth()));\r\n }\r\n return [\r\n ...this.monthCellClasses,\r\n {\r\n [this.computedClass('monthCellSelectedClass', 'o-dpck__month__cell--selected')]: dateMatch(day, this.modelValue, this.multiple) ||\r\n dateWithin(day, this.modelValue, this.multiple) ||\r\n dateMultipleSelected(day, this.multipleSelectedDates, this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellFirstSelectedClass', 'o-dpck__month__cell--first-selected')]: dateMatch(day, Array.isArray(this.modelValue) && this.modelValue[0], this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellWithinSelectedClass', 'o-dpck__month__cell--within-selected')]: dateWithin(day, this.modelValue, this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellLastSelectedClass', 'o-dpck__month__cell--last-selected')]: dateMatch(day, Array.isArray(this.modelValue) && this.modelValue[1], this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellWithinHoveredRangeClass', 'o-dpck__month__cell--within-hovered-range')]: this.hoveredDateRange && this.hoveredDateRange.length === 2 &&\r\n (dateMatch(day, this.hoveredDateRange) ||\r\n dateWithin(day, this.hoveredDateRange))\r\n },\r\n {\r\n [this.computedClass('monthCellFirstHoveredClass', 'o-dpck__month__cell--first-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[0])\r\n },\r\n {\r\n [this.computedClass('monthCellWithinHoveredClass', 'o-dpck__month__cell--within-hovered')]: dateWithin(day, this.hoveredDateRange)\r\n },\r\n {\r\n [this.computedClass('monthCellLastHoveredClass', 'o-dpck__month__cell--last-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[1])\r\n },\r\n {\r\n [this.computedClass('monthCellTodayClass', 'o-dpck__month__cell--today')]: dateMatch(day, this.dateCreator())\r\n },\r\n {\r\n [this.computedClass('monthCellSelectableclass', 'o-dpck__month__cell--selectable')]: this.selectableDate(day) && !this.disabled\r\n },\r\n {\r\n [this.computedClass('monthCellUnselectableClass', 'o-dpck__month__cell--unselectable')]: !this.selectableDate(day) || this.disabled\r\n },\r\n {\r\n [this.computedClass('monthCellEventsClass', 'o-dpck__month__cell--events')]: this.hasEvents\r\n },\r\n ];\r\n },\r\n /*\r\n * Emit update:modelValue event with selected date as payload for v-model in parent\r\n */\r\n updateSelectedDate(date) {\r\n if (!this.range && !this.multiple) {\r\n this.emitChosenDate(date);\r\n }\r\n else if (this.range) {\r\n this.handleSelectRangeDate(date);\r\n }\r\n else if (this.multiple) {\r\n this.selectMultipleDates(date);\r\n }\r\n },\r\n /*\r\n * Emit select event with chosen date as payload\r\n */\r\n emitChosenDate(day) {\r\n if (this.disabled)\r\n return;\r\n if (!this.multiple) {\r\n if (this.selectableDate(day)) {\r\n this.$emit('update:modelValue', day);\r\n }\r\n }\r\n else {\r\n this.selectMultipleDates(day);\r\n }\r\n },\r\n /*\r\n * If both begin and end dates are set, reset the end date and set the begin date.\r\n * If only begin date is selected, emit an array of the begin date and the new date.\r\n * If not set, only set the begin date.\r\n */\r\n handleSelectRangeDate(date) {\r\n if (this.disabled)\r\n return;\r\n if (this.selectedBeginDate && this.selectedEndDate) {\r\n this.selectedBeginDate = date;\r\n this.selectedEndDate = undefined;\r\n this.$emit('range-start', date);\r\n }\r\n else if (this.selectedBeginDate && !this.selectedEndDate) {\r\n if (this.selectedBeginDate > date) {\r\n this.selectedEndDate = this.selectedBeginDate;\r\n this.selectedBeginDate = date;\r\n }\r\n else {\r\n this.selectedEndDate = date;\r\n }\r\n this.$emit('range-end', date);\r\n this.$emit('update:modelValue', [this.selectedBeginDate, this.selectedEndDate]);\r\n }\r\n else {\r\n this.selectedBeginDate = date;\r\n this.$emit('range-start', date);\r\n }\r\n },\r\n setRangeHoverEndDate(day) {\r\n if (this.range) {\r\n this.hoveredEndDate = day;\r\n }\r\n },\r\n changeFocus(month, inc) {\r\n const nextMonth = month;\r\n nextMonth.setMonth(month.getMonth() + inc);\r\n this.$emit('update:focused', nextMonth);\r\n }\r\n }\r\n};\n\nconst _hoisted_1 = {\n key: 0,\n class: \"events\"\n};\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"section\", {\n class: $options.monthClasses\n }, [createVNode(\"div\", {\n class: $options.monthBodyClasses\n }, [createVNode(\"div\", {\n class: $options.monthTableClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList($options.monthDates, (date, index) => {\n return openBlock(), createBlock(Fragment, {\n key: index\n }, [$options.selectableDate(date) && !$props.disabled ? (openBlock(), createBlock(\"a\", {\n key: 0,\n ref: `month-${date.getMonth()}`,\n class: $options.cellClasses(date),\n role: \"button\",\n href: \"#\",\n disabled: $props.disabled,\n onClick: withModifiers($event => $options.updateSelectedDate(date), [\"prevent\"]),\n onMouseenter: $event => $options.setRangeHoverEndDate(date),\n onKeydown: withModifiers($event => _ctx.manageKeydown($event, date), [\"prevent\"]),\n tabindex: $props.focused.month === date.getMonth() ? null : -1\n }, [createTextVNode(toDisplayString($props.monthNames[date.getMonth()]) + \" \", 1\n /* TEXT */\n ), $options.eventsDateMatch(date) ? (openBlock(), createBlock(\"div\", _hoisted_1, [(openBlock(true), createBlock(Fragment, null, renderList($options.eventsDateMatch(date), (event, index) => {\n return openBlock(), createBlock(\"div\", {\n class: [\"event\", event.type],\n key: index\n }, null, 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))])) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"disabled\", \"onClick\", \"onMouseenter\", \"onKeydown\", \"tabindex\"])) : (openBlock(), createBlock(\"div\", {\n key: 1,\n class: $options.cellClasses(date)\n }, toDisplayString($props.monthNames[date.getMonth()]), 3\n /* TEXT, CLASS */\n ))], 64\n /* STABLE_FRAGMENT */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript$2.render = render$2;\nscript$2.__file = \"src/components/datepicker/DatepickerMonth.vue\";\n\nconst defaultDateFormatter = (date, vm) => {\r\n const targetDates = Array.isArray(date) ? date : [date];\r\n const dates = targetDates.map((date) => {\r\n const d = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 12);\r\n return !vm.isTypeMonth ? vm.dtf.format(d) : vm.dtfMonth.format(d);\r\n });\r\n return !vm.multiple ? dates.join(' - ') : dates.join(', ');\r\n};\r\nconst defaultDateParser = (date, vm) => {\r\n if (vm.dtf.formatToParts && typeof vm.dtf.formatToParts === 'function') {\r\n const formatRegex = (vm.isTypeMonth ? vm.dtfMonth : vm.dtf)\r\n .formatToParts(new Date(2000, 11, 25)).map((part) => {\r\n if (part.type === 'literal') {\r\n return part.value;\r\n }\r\n return `((?!=<${part.type}>)\\\\d+)`;\r\n }).join('');\r\n const dateGroups = matchWithGroups(formatRegex, date);\r\n // We do a simple validation for the group.\r\n // If it is not valid, it will fallback to Date.parse below\r\n if (dateGroups.year &&\r\n dateGroups.year.length === 4 &&\r\n dateGroups.month &&\r\n dateGroups.month <= 12) {\r\n if (vm.isTypeMonth)\r\n return new Date(dateGroups.year, dateGroups.month - 1);\r\n else if (dateGroups.day && dateGroups.day <= 31) {\r\n return new Date(dateGroups.year, dateGroups.month - 1, dateGroups.day, 12);\r\n }\r\n }\r\n }\r\n // Fallback if formatToParts is not supported or if we were not able to parse a valid date\r\n if (!vm.isTypeMonth)\r\n return new Date(Date.parse(date));\r\n if (date) {\r\n const s = date.split('/');\r\n const year = s[0].length === 4 ? s[0] : s[1];\r\n const month = s[0].length === 2 ? s[0] : s[1];\r\n if (year && month) {\r\n return new Date(parseInt(year, 10), parseInt(month, 10) - 1, 1, 0, 0, 0, 0);\r\n }\r\n }\r\n return null;\r\n};\r\n/**\r\n * An input with a simple dropdown/modal for selecting a date, uses native datepicker for mobile\r\n * @displayName Datepicker\r\n * @style _datepicker.scss\r\n */\r\nvar script$3 = defineComponent({\r\n name: 'ODatepicker',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2,\r\n [script$4.name]: script$4,\r\n [script$5.name]: script$5,\r\n [script$6.name]: script$6,\r\n [script$7.name]: script$7,\r\n [script$8.name]: script$8,\r\n [script$9.name]: script$9\r\n },\r\n configField: 'datepicker',\r\n mixins: [BaseComponentMixin, FormElementMixin, MatchMediaMixin],\r\n inheritAttrs: false,\r\n provide() {\r\n return {\r\n $datepicker: this\r\n };\r\n },\r\n emits: ['update:modelValue', 'focus', 'blur', 'change-month', 'change-year', 'range-start', 'range-end', 'active-change', 'icon-right-click'],\r\n props: {\r\n modelValue: {\r\n type: [Date, Array]\r\n },\r\n dayNames: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.dayNames', undefined);\r\n }\r\n },\r\n monthNames: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.monthNames', undefined);\r\n }\r\n },\r\n firstDayOfWeek: {\r\n type: Number,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.firstDayOfWeek', 0);\r\n }\r\n },\r\n /**\r\n * Size of button, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n inline: Boolean,\r\n minDate: Date,\r\n maxDate: Date,\r\n focusedDate: Date,\r\n placeholder: String,\r\n editable: Boolean,\r\n disabled: Boolean,\r\n unselectableDates: [Array, Function],\r\n unselectableDaysOfWeek: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.unselectableDaysOfWeek', undefined);\r\n }\r\n },\r\n selectableDates: [Array, Function],\r\n dateFormatter: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const dateFormatter = getValueByPath(getOptions(), 'datepicker.dateFormatter', undefined);\r\n if (typeof dateFormatter === 'function') {\r\n return dateFormatter(date);\r\n }\r\n else {\r\n return defaultDateFormatter(date, vm);\r\n }\r\n }\r\n },\r\n dateParser: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const dateParser = getValueByPath(getOptions(), 'datepicker.dateParser', undefined);\r\n if (typeof dateParser === 'function') {\r\n return dateParser(date);\r\n }\r\n else {\r\n return defaultDateParser(date, vm);\r\n }\r\n }\r\n },\r\n dateCreator: {\r\n type: Function,\r\n default: () => {\r\n const dateCreator = getValueByPath(getOptions(), 'datepicker.dateCreator', undefined);\r\n if (typeof dateCreator === 'function') {\r\n return dateCreator();\r\n }\r\n else {\r\n return new Date();\r\n }\r\n }\r\n },\r\n mobileNative: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.mobileNative', true);\r\n }\r\n },\r\n position: String,\r\n iconRight: String,\r\n iconRightClickable: Boolean,\r\n events: Array,\r\n indicators: {\r\n type: String,\r\n default: 'dots'\r\n },\r\n openOnFocus: Boolean,\r\n iconPrev: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.iconPrev', 'chevron-left');\r\n }\r\n },\r\n iconNext: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.iconNext', 'chevron-right');\r\n }\r\n },\r\n yearsRange: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.yearsRange', [-100, 10]);\r\n }\r\n },\r\n type: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n 'month'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n nearbyMonthDays: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.nearbyMonthDays', true);\r\n }\r\n },\r\n nearbySelectableMonthDays: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.nearbySelectableMonthDays', false);\r\n }\r\n },\r\n showWeekNumber: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.showWeekNumber', false);\r\n }\r\n },\r\n weekNumberClickable: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.weekNumberClickable', false);\r\n }\r\n },\r\n rulesForFirstWeek: {\r\n type: Number,\r\n default: () => 4\r\n },\r\n range: {\r\n type: Boolean,\r\n default: false\r\n },\r\n closeOnClick: {\r\n type: Boolean,\r\n default: true\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false\r\n },\r\n mobileModal: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.mobileModal', true);\r\n }\r\n },\r\n trapFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.trapFocus', true);\r\n }\r\n },\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n appendToBody: Boolean,\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n boxClass: [String, Function, Array],\r\n headerClass: [String, Function, Array],\r\n headerButtonsClass: [String, Function, Array],\r\n headerButtonsSizeClass: [String, Function, Array],\r\n prevBtnClass: [String, Function, Array],\r\n nextBtnClass: [String, Function, Array],\r\n listsClass: [String, Function, Array],\r\n footerClass: [String, Function, Array],\r\n tableClass: [String, Function, Array],\r\n tableHeadClass: [String, Function, Array],\r\n tableHeadCellClass: [String, Function, Array],\r\n tableBodyClass: [String, Function, Array],\r\n tableRowClass: [String, Function, Array],\r\n tableCellClass: [String, Function, Array],\r\n tableCellSelectedClass: [String, Function, Array],\r\n tableCellFirstSelectedClass: [String, Function, Array],\r\n tableCellInvisibleClass: [String, Function, Array],\r\n tableCellWithinSelectedClass: [String, Function, Array],\r\n tableCellLastSelectedClass: [String, Function, Array],\r\n tableCellFirstHoveredClass: [String, Function, Array],\r\n tableCellWithinHoveredClass: [String, Function, Array],\r\n tableCellLastHoveredClass: [String, Function, Array],\r\n tableCellTodayClass: [String, Function, Array],\r\n tableCellSelectableClass: [String, Function, Array],\r\n tableCellUnselectableClass: [String, Function, Array],\r\n tableCellNearbyClass: [String, Function, Array],\r\n tableCellEventsClass: [String, Function, Array],\r\n tableEventsClass: [String, Function, Array],\r\n tableEventVariantClass: [String, Function, Array],\r\n tableEventClass: [String, Function, Array],\r\n tableEventIndicatorsClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n /* datapickermonth classes */\r\n monthClass: [String, Function, Array],\r\n monthBodyClass: [String, Function, Array],\r\n monthTableClass: [String, Function, Array],\r\n monthCellClass: [String, Function, Array],\r\n monthCellSelectedClass: [String, Function, Array],\r\n monthCellFirstSelectedClass: [String, Function, Array],\r\n monthCellWithinSelectedClass: [String, Function, Array],\r\n monthCellLastSelectedClass: [String, Function, Array],\r\n monthCellWithinHoveredRangeClass: [String, Function, Array],\r\n monthCellFirstHoveredClass: [String, Function, Array],\r\n monthCellWithinHoveredClass: [String, Function, Array],\r\n monthCellLastHoveredClass: [String, Function, Array],\r\n monthCellTodayClass: [String, Function, Array],\r\n monthCellSelectableClass: [String, Function, Array],\r\n monthCellUnselectableClass: [String, Function, Array],\r\n monthCellEventsClass: [String, Function, Array],\r\n inputClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.inputClasses', {});\r\n }\r\n },\r\n dropdownClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.dropdownClasses', {});\r\n }\r\n },\r\n selectListClasses: Object\r\n },\r\n data() {\r\n const focusedDate = (Array.isArray(this.modelValue) ? this.modelValue[0] : (this.modelValue)) ||\r\n this.focusedDate || this.dateCreator();\r\n if (!this.modelValue && this.maxDate && this.maxDate.getFullYear() < focusedDate.getFullYear()) {\r\n focusedDate.setFullYear(this.maxDate.getFullYear());\r\n }\r\n return {\r\n dateSelected: this.modelValue,\r\n focusedDateData: {\r\n day: focusedDate.getDate(),\r\n month: focusedDate.getMonth(),\r\n year: focusedDate.getFullYear()\r\n }\r\n };\r\n },\r\n computed: {\r\n inputBind() {\r\n return {\r\n ...this.$attrs,\r\n ...this.inputClasses\r\n };\r\n },\r\n dropdownBind() {\r\n return {\r\n 'root-class': this.computedClass('dropdownClasses.rootClass', 'o-dpck__dropdown'),\r\n ...this.dropdownClasses\r\n };\r\n },\r\n selectListBind() {\r\n return {\r\n ...this.selectListClasses\r\n };\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-dpck'),\r\n { [this.computedClass('sizeClass', 'o-dpck--', this.size)]: this.size },\r\n { [this.computedClass('mobileClass', 'o-dpck--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n boxClasses() {\r\n return [\r\n this.computedClass('boxClass', 'o-dpck__box')\r\n ];\r\n },\r\n headerClasses() {\r\n return [\r\n this.computedClass('headerClass', 'o-dpck__header')\r\n ];\r\n },\r\n headerButtonsClasses() {\r\n return [\r\n this.computedClass('headerButtonsClass', 'o-dpck__header__buttons'),\r\n { [this.computedClass('headerButtonsSizeClass', 'o-dpck__header__buttons--', this.size)]: this.size },\r\n ];\r\n },\r\n prevBtnClasses() {\r\n return [\r\n this.computedClass('prevBtnClass', 'o-dpck__header__previous')\r\n ];\r\n },\r\n nextBtnClasses() {\r\n return [\r\n this.computedClass('nextBtnClass', 'o-dpck__header__next')\r\n ];\r\n },\r\n listsClasses() {\r\n return [\r\n this.computedClass('listsClass', 'o-dpck__header__list')\r\n ];\r\n },\r\n footerClasses() {\r\n return [\r\n this.computedClass('footerClass', 'o-dpck__footer')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.dateSelected;\r\n },\r\n set(value) {\r\n this.updateInternalState(value);\r\n if (!this.multiple)\r\n this.togglePicker(false);\r\n this.$emit('update:modelValue', value);\r\n if (this.useHtml5Validation) {\r\n this.$nextTick(() => {\r\n this.checkHtml5Validity();\r\n });\r\n }\r\n }\r\n },\r\n formattedValue() {\r\n return this.formatValue(this.computedValue);\r\n },\r\n localeOptions() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: 'numeric',\r\n month: 'numeric'\r\n }).resolvedOptions();\r\n },\r\n dtf() {\r\n return new Intl.DateTimeFormat(this.locale /*, { timeZone: 'UTC' }*/);\r\n },\r\n dtfMonth() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: this.localeOptions.year || 'numeric',\r\n month: this.localeOptions.month || '2-digit',\r\n });\r\n },\r\n newMonthNames() {\r\n if (Array.isArray(this.monthNames)) {\r\n return this.monthNames;\r\n }\r\n return getMonthNames(this.locale);\r\n },\r\n newDayNames() {\r\n if (Array.isArray(this.dayNames)) {\r\n return this.dayNames;\r\n }\r\n return getWeekdayNames(this.locale);\r\n },\r\n listOfMonths() {\r\n let minMonth = 0;\r\n let maxMonth = 12;\r\n if (this.minDate && this.focusedDateData.year === this.minDate.getFullYear()) {\r\n minMonth = this.minDate.getMonth();\r\n }\r\n if (this.maxDate && this.focusedDateData.year === this.maxDate.getFullYear()) {\r\n maxMonth = this.maxDate.getMonth();\r\n }\r\n return this.newMonthNames.map((name, index) => {\r\n return {\r\n name: name,\r\n index: index,\r\n disabled: index < minMonth || index > maxMonth\r\n };\r\n });\r\n },\r\n /*\r\n * Returns an array of years for the year dropdown. If earliest/latest\r\n * dates are set by props, range of years will fall within those dates.\r\n */\r\n listOfYears() {\r\n let latestYear = this.focusedDateData.year + this.yearsRange[1];\r\n if (this.maxDate && this.maxDate.getFullYear() < latestYear) {\r\n latestYear = Math.max(this.maxDate.getFullYear(), this.focusedDateData.year);\r\n }\r\n let earliestYear = this.focusedDateData.year + this.yearsRange[0];\r\n if (this.minDate && this.minDate.getFullYear() > earliestYear) {\r\n earliestYear = Math.min(this.minDate.getFullYear(), this.focusedDateData.year);\r\n }\r\n const arrayOfYears = [];\r\n for (let i = earliestYear; i <= latestYear; i++) {\r\n arrayOfYears.push(i);\r\n }\r\n return arrayOfYears.reverse();\r\n },\r\n showPrev() {\r\n if (!this.minDate)\r\n return false;\r\n if (this.isTypeMonth) {\r\n return this.focusedDateData.year <= this.minDate.getFullYear();\r\n }\r\n const dateToCheck = new Date(this.focusedDateData.year, this.focusedDateData.month);\r\n const date = new Date(this.minDate.getFullYear(), this.minDate.getMonth());\r\n return (dateToCheck <= date);\r\n },\r\n showNext() {\r\n if (!this.maxDate)\r\n return false;\r\n if (this.isTypeMonth) {\r\n return this.focusedDateData.year >= this.maxDate.getFullYear();\r\n }\r\n const dateToCheck = new Date(this.focusedDateData.year, this.focusedDateData.month);\r\n const date = new Date(this.maxDate.getFullYear(), this.maxDate.getMonth());\r\n return (dateToCheck >= date);\r\n },\r\n isMobile() {\r\n return this.mobileNative && isMobile.any();\r\n },\r\n isTypeMonth() {\r\n return this.type === 'month';\r\n },\r\n ariaRole() {\r\n return !this.inline ? 'dialog' : undefined;\r\n },\r\n $elementRef() {\r\n return 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Update internal value.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.updateInternalState(value);\r\n if (!this.multiple)\r\n this.togglePicker(false);\r\n },\r\n focusedDate(value) {\r\n if (value) {\r\n this.focusedDateData = {\r\n day: value.getDate(),\r\n month: value.getMonth(),\r\n year: value.getFullYear()\r\n };\r\n }\r\n },\r\n /*\r\n * Emit input event on month and/or year change\r\n */\r\n 'focusedDateData.month'(value) {\r\n this.$emit('change-month', value);\r\n },\r\n 'focusedDateData.year'(value) {\r\n this.$emit('change-year', value);\r\n }\r\n },\r\n methods: {\r\n /*\r\n * Parse string into date\r\n */\r\n onChange(value) {\r\n const date = this.dateParser(value, this);\r\n if (date && (!isNaN(date) ||\r\n (Array.isArray(date) && date.length === 2 && !isNaN(date[0]) && !isNaN(date[1])))) {\r\n this.computedValue = date;\r\n }\r\n else {\r\n // Force refresh input value when not valid date\r\n this.computedValue = null;\r\n if (this.$refs.input) {\r\n this.$refs.input.newValue = this.computedValue;\r\n }\r\n }\r\n },\r\n /*\r\n * Format date into string\r\n */\r\n formatValue(value) {\r\n if (Array.isArray(value)) {\r\n const isArrayWithValidDates = Array.isArray(value) && value.every((v) => !isNaN(v));\r\n return isArrayWithValidDates ? this.dateFormatter([...value], this) : null;\r\n }\r\n return (value && !isNaN(value)) ? this.dateFormatter(value, this) : null;\r\n },\r\n /*\r\n * Either decrement month by 1 if not January or decrement year by 1\r\n * and set month to 11 (December) or decrement year when 'month'\r\n */\r\n prev() {\r\n if (this.disabled)\r\n return;\r\n if (this.isTypeMonth) {\r\n this.focusedDateData.year -= 1;\r\n }\r\n else {\r\n if (this.focusedDateData.month > 0) {\r\n this.focusedDateData.month -= 1;\r\n }\r\n else {\r\n this.focusedDateData.month = 11;\r\n this.focusedDateData.year -= 1;\r\n }\r\n }\r\n },\r\n /*\r\n * Either increment month by 1 if not December or increment year by 1\r\n * and set month to 0 (January) or increment year when 'month'\r\n */\r\n next() {\r\n if (this.disabled)\r\n return;\r\n if (this.isTypeMonth) {\r\n this.focusedDateData.year += 1;\r\n }\r\n else {\r\n if (this.focusedDateData.month < 11) {\r\n this.focusedDateData.month += 1;\r\n }\r\n else {\r\n this.focusedDateData.month = 0;\r\n this.focusedDateData.year += 1;\r\n }\r\n }\r\n },\r\n formatNative(value) {\r\n return this.isTypeMonth\r\n ? this.formatYYYYMM(value) : this.formatYYYYMMDD(value);\r\n },\r\n /*\r\n * Format date into string 'YYYY-MM-DD'\r\n */\r\n formatYYYYMMDD(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n return year + '-' +\r\n ((month < 10 ? '0' : '') + month) + '-' +\r\n ((day < 10 ? '0' : '') + day);\r\n }\r\n return '';\r\n },\r\n /*\r\n * Format date into string 'YYYY-MM'\r\n */\r\n formatYYYYMM(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n return year + '-' +\r\n ((month < 10 ? '0' : '') + month);\r\n }\r\n return '';\r\n },\r\n /*\r\n * Parse date from string\r\n */\r\n onChangeNativePicker(event) {\r\n const date = event.target.value;\r\n const s = date ? date.split('-') : [];\r\n if (s.length === 3) {\r\n const year = parseInt(s[0], 10);\r\n const month = parseInt(s[1]) - 1;\r\n const day = parseInt(s[2]);\r\n this.computedValue = new Date(year, month, day);\r\n }\r\n else {\r\n this.computedValue = null;\r\n }\r\n },\r\n updateInternalState(value) {\r\n if (this.dateSelected === value)\r\n return;\r\n const isArray = Array.isArray(value);\r\n const currentDate = isArray\r\n ? (!value.length ? this.dateCreator() : value[value.length - 1])\r\n : (!value ? this.dateCreator() : value);\r\n if (!isArray || (isArray && this.dateSelected && value.length > this.dateSelected.length)) {\r\n this.focusedDateData = {\r\n day: currentDate.getDate(),\r\n month: currentDate.getMonth(),\r\n year: currentDate.getFullYear()\r\n };\r\n }\r\n this.dateSelected = value;\r\n },\r\n /*\r\n * Toggle datepicker\r\n */\r\n togglePicker(active) {\r\n if (this.$refs.dropdown) {\r\n const isActive = typeof active === 'boolean'\r\n ? active\r\n : !this.$refs.dropdown.isActive;\r\n if (isActive) {\r\n this.$refs.dropdown.isActive = isActive;\r\n }\r\n else if (this.closeOnClick) {\r\n this.$refs.dropdown.isActive = isActive;\r\n }\r\n }\r\n },\r\n /*\r\n * Call default onFocus method and show datepicker\r\n */\r\n handleOnFocus(event) {\r\n this.onFocus(event);\r\n if (this.openOnFocus) {\r\n this.togglePicker(true);\r\n }\r\n },\r\n /*\r\n * Toggle dropdown\r\n */\r\n toggle() {\r\n if (this.mobileNative && this.isMobile) {\r\n const input = this.$refs.input.$refs.input;\r\n input.focus();\r\n input.click();\r\n return;\r\n }\r\n this.$refs.dropdown.toggle();\r\n },\r\n /*\r\n * Avoid dropdown toggle when is already visible\r\n */\r\n onInputClick(event) {\r\n if (this.$refs.dropdown.isActive) {\r\n event.stopPropagation();\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.$refs.dropdown && this.$refs.dropdown.isActive && (key === 'Escape' || key === 'Esc')) {\r\n this.togglePicker(false);\r\n }\r\n },\r\n /**\r\n * Emit 'blur' event on dropdown is not active (closed)\r\n */\r\n onActiveChange(value) {\r\n if (!value) {\r\n this.onBlur();\r\n }\r\n this.$emit('active-change', value);\r\n },\r\n changeFocus(day) {\r\n this.focusedDateData = {\r\n day: day.getDate(),\r\n month: day.getMonth(),\r\n year: day.getFullYear()\r\n };\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n }\r\n});\n\nfunction render$3(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_input = resolveComponent(\"o-input\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_select = resolveComponent(\"o-select\");\n\n const _component_o_datepicker_table = resolveComponent(\"o-datepicker-table\");\n\n const _component_o_datepicker_month = resolveComponent(\"o-datepicker-month\");\n\n const _component_o_dropdown_item = resolveComponent(\"o-dropdown-item\");\n\n const _component_o_dropdown = resolveComponent(\"o-dropdown\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [!_ctx.isMobile || _ctx.inline ? createVNode(_component_o_dropdown, mergeProps({\n key: 0,\n ref: \"dropdown\"\n }, _ctx.dropdownBind, {\n position: _ctx.position,\n disabled: _ctx.disabled,\n inline: _ctx.inline,\n \"mobile-modal\": _ctx.mobileModal,\n \"trap-focus\": _ctx.trapFocus,\n \"aria-role\": _ctx.ariaRole,\n \"aria-modal\": !_ctx.inline,\n \"trigger-tabindex\": -1,\n \"append-to-body\": _ctx.appendToBody,\n \"append-to-body-copy-parent\": \"\",\n \"onActive-change\": _ctx.onActiveChange\n }), createSlots({\n default: withCtx(() => [createVNode(_component_o_dropdown_item, {\n override: \"\",\n tag: \"div\",\n \"item-class\": _ctx.boxClasses,\n disabled: _ctx.disabled,\n clickable: false\n }, {\n default: withCtx(() => [createVNode(\"header\", {\n class: _ctx.headerClasses\n }, [renderSlot(_ctx.$slots, \"header\", {}, () => [createVNode(\"div\", {\n class: _ctx.headerButtonsClasses\n }, [withDirectives(createVNode(\"a\", {\n class: _ctx.prevBtnClasses,\n role: \"button\",\n href: \"#\",\n \"aria-label\": _ctx.ariaPreviousLabel,\n onClick: _cache[4] || (_cache[4] = withModifiers((...args) => _ctx.prev(...args), [\"prevent\"])),\n onKeydown: [_cache[5] || (_cache[5] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"enter\"])), _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"space\"]))]\n }, [createVNode(_component_o_icon, {\n icon: _ctx.iconPrev,\n pack: _ctx.iconPack,\n both: \"\",\n clickable: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"aria-label\"]), [[vShow, !_ctx.showPrev && !_ctx.disabled]]), withDirectives(createVNode(\"a\", {\n class: _ctx.nextBtnClasses,\n role: \"button\",\n href: \"#\",\n \"aria-label\": _ctx.ariaNextLabel,\n onClick: _cache[7] || (_cache[7] = withModifiers((...args) => _ctx.next(...args), [\"prevent\"])),\n onKeydown: [_cache[8] || (_cache[8] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"enter\"])), _cache[9] || (_cache[9] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"space\"]))]\n }, [createVNode(_component_o_icon, {\n icon: _ctx.iconNext,\n pack: _ctx.iconPack,\n both: \"\",\n clickable: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"aria-label\"]), [[vShow, !_ctx.showNext && !_ctx.disabled]]), createVNode(\"div\", {\n class: _ctx.listsClasses\n }, [!_ctx.isTypeMonth ? createVNode(_component_o_select, mergeProps({\n key: 0,\n modelValue: _ctx.focusedDateData.month,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => _ctx.focusedDateData.month = $event),\n disabled: _ctx.disabled,\n size: _ctx.size\n }, _ctx.selectListBind), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.listOfMonths, month => {\n return openBlock(), createBlock(\"option\", {\n value: month.index,\n key: month.name,\n disabled: month.disabled\n }, toDisplayString(month.name), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\", \"size\"]) : createCommentVNode(\"v-if\", true), createVNode(_component_o_select, mergeProps({\n modelValue: _ctx.focusedDateData.year,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => _ctx.focusedDateData.year = $event),\n disabled: _ctx.disabled,\n size: _ctx.size\n }, _ctx.selectListBind), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.listOfYears, year => {\n return openBlock(), createBlock(\"option\", {\n value: year,\n key: year\n }, toDisplayString(year), 9\n /* TEXT, PROPS */\n , [\"value\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\", \"size\"])], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )])], 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"table\", {}, () => [!_ctx.isTypeMonth ? createVNode(_component_o_datepicker_table, {\n key: 0,\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => _ctx.computedValue = $event),\n \"day-names\": _ctx.newDayNames,\n \"month-names\": _ctx.newMonthNames,\n \"first-day-of-week\": _ctx.firstDayOfWeek,\n \"rules-for-first-week\": _ctx.rulesForFirstWeek,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n focused: _ctx.focusedDateData,\n disabled: _ctx.disabled,\n \"unselectable-dates\": _ctx.unselectableDates,\n \"unselectable-days-of-week\": _ctx.unselectableDaysOfWeek,\n \"selectable-dates\": _ctx.selectableDates,\n events: _ctx.events,\n indicators: _ctx.indicators,\n \"date-creator\": _ctx.dateCreator,\n \"type-month\": _ctx.isTypeMonth,\n \"nearby-month-days\": _ctx.nearbyMonthDays,\n \"nearby-selectable-month-days\": _ctx.nearbySelectableMonthDays,\n \"show-week-number\": _ctx.showWeekNumber,\n \"week-number-clickable\": _ctx.weekNumberClickable,\n range: _ctx.range,\n multiple: _ctx.multiple,\n \"table-class\": _ctx.tableClass,\n \"table-head-class\": _ctx.tableHeadClass,\n \"table-head-cell-class\": _ctx.tableHeadCellClass,\n \"table-body-class\": _ctx.tableBodyClass,\n \"table-row-class\": _ctx.tableRowClass,\n \"table-cell-class\": _ctx.tableCellClass,\n \"table-cell-selected-class\": _ctx.tableCellSelectedClass,\n \"table-cell-first-selected-class\": _ctx.tableCellFirstSelectedClass,\n \"table-cell-invisible-class\": _ctx.tableCellInvisibleClass,\n \"table-cell-within-selected-class\": _ctx.tableCellWithinSelectedClass,\n \"table-cell-last-selected-class\": _ctx.tableCellLastSelectedClass,\n \"table-cell-first-hovered-class\": _ctx.tableCellFirstHoveredClass,\n \"table-cell-within-hovered-class\": _ctx.tableCellWithinHoveredClass,\n \"table-cell-last-hovered-class\": _ctx.tableCellLastHoveredClass,\n \"table-cell-today-class\": _ctx.tableCellTodayClass,\n \"table-cell-selectable-class\": _ctx.tableCellSelectableClass,\n \"table-cell-unselectable-class\": _ctx.tableCellUnselectableClass,\n \"table-cell-nearby-class\": _ctx.tableCellNearbyClass,\n \"table-cell-events-class\": _ctx.tableCellEventsClass,\n \"table-events-class\": _ctx.tableEventsClass,\n \"table-event-variant-class\": _ctx.tableEventVariantClass,\n \"table-event-class\": _ctx.tableEventClass,\n \"table-event-indicators-class\": _ctx.tableEventIndicatorsClass,\n \"onRange-start\": _cache[13] || (_cache[13] = date => _ctx.$emit('range-start', date)),\n \"onRange-end\": _cache[14] || (_cache[14] = date => _ctx.$emit('range-end', date)),\n onClose: _cache[15] || (_cache[15] = $event => _ctx.togglePicker(false)),\n \"onUpdate:focused\": _cache[16] || (_cache[16] = $event => _ctx.focusedDateData = $event)\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"day-names\", \"month-names\", \"first-day-of-week\", \"rules-for-first-week\", \"min-date\", \"max-date\", \"focused\", \"disabled\", \"unselectable-dates\", \"unselectable-days-of-week\", \"selectable-dates\", \"events\", \"indicators\", \"date-creator\", \"type-month\", \"nearby-month-days\", \"nearby-selectable-month-days\", \"show-week-number\", \"week-number-clickable\", \"range\", \"multiple\", \"table-class\", \"table-head-class\", \"table-head-cell-class\", \"table-body-class\", \"table-row-class\", \"table-cell-class\", \"table-cell-selected-class\", \"table-cell-first-selected-class\", \"table-cell-invisible-class\", \"table-cell-within-selected-class\", \"table-cell-last-selected-class\", \"table-cell-first-hovered-class\", \"table-cell-within-hovered-class\", \"table-cell-last-hovered-class\", \"table-cell-today-class\", \"table-cell-selectable-class\", \"table-cell-unselectable-class\", \"table-cell-nearby-class\", \"table-cell-events-class\", \"table-events-class\", \"table-event-variant-class\", \"table-event-class\", \"table-event-indicators-class\"]) : createCommentVNode(\"v-if\", true), _ctx.isTypeMonth ? createVNode(_component_o_datepicker_month, {\n key: 1,\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => _ctx.computedValue = $event),\n \"month-names\": _ctx.newMonthNames,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n focused: _ctx.focusedDateData,\n disabled: _ctx.disabled,\n \"unselectable-dates\": _ctx.unselectableDates,\n \"unselectable-days-of-week\": _ctx.unselectableDaysOfWeek,\n \"selectable-dates\": _ctx.selectableDates,\n events: _ctx.events,\n indicators: _ctx.indicators,\n \"date-creator\": _ctx.dateCreator,\n range: _ctx.range,\n multiple: _ctx.multiple,\n \"month-class\": _ctx.monthClass,\n \"month-body-class\": _ctx.monthBodyClass,\n \"month-table-class\": _ctx.monthTableClass,\n \"month-cell-class\": _ctx.monthCellClass,\n \"month-cell-selected-class\": _ctx.monthCellSelectedClass,\n \"month-cell-first-selected-class\": _ctx.monthCellFirstSelectedClass,\n \"month-cell-within-selected-class\": _ctx.monthCellWithinSelectedClass,\n \"month-cell-last-selected-class\": _ctx.monthCellLastSelectedClass,\n \"month-cell-within-hovered-range-class\": _ctx.monthCellWithinHoveredRangeClass,\n \"month-cell-first-hovered-class\": _ctx.monthCellFirstHoveredClass,\n \"month-cell-within-hovered-class\": _ctx.monthCellWithinHoveredClass,\n \"month-cell-last-hovered-class\": _ctx.monthCellLastHoveredClass,\n \"month-cell-today-class\": _ctx.monthCellTodayClass,\n \"month-cell-selectable-class\": _ctx.monthCellSelectableClass,\n \"month-cell-unselectable-class\": _ctx.monthCellUnselectableClass,\n \"month-cell-events-class\": _ctx.monthCellEventsClass,\n \"onRange-start\": _cache[18] || (_cache[18] = date => _ctx.$emit('range-start', date)),\n \"onRange-end\": _cache[19] || (_cache[19] = date => _ctx.$emit('range-end', date)),\n onClose: _cache[20] || (_cache[20] = $event => _ctx.togglePicker(false)),\n \"onChange-focus\": _ctx.changeFocus,\n \"onUpdate:focused\": _cache[21] || (_cache[21] = $event => _ctx.focusedDateData = $event)\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"month-names\", \"min-date\", \"max-date\", \"focused\", \"disabled\", \"unselectable-dates\", \"unselectable-days-of-week\", \"selectable-dates\", \"events\", \"indicators\", \"date-creator\", \"range\", \"multiple\", \"month-class\", \"month-body-class\", \"month-table-class\", \"month-cell-class\", \"month-cell-selected-class\", \"month-cell-first-selected-class\", \"month-cell-within-selected-class\", \"month-cell-last-selected-class\", \"month-cell-within-hovered-range-class\", \"month-cell-first-hovered-class\", \"month-cell-within-hovered-class\", \"month-cell-last-hovered-class\", \"month-cell-today-class\", \"month-cell-selectable-class\", \"month-cell-unselectable-class\", \"month-cell-events-class\", \"onChange-focus\"]) : createCommentVNode(\"v-if\", true)]), _ctx.$slots.footer !== undefined ? (openBlock(), createBlock(\"footer\", {\n key: 0,\n class: _ctx.footerClasses\n }, [renderSlot(_ctx.$slots, \"footer\")], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 3\n }, 8\n /* PROPS */\n , [\"item-class\", \"disabled\"])]),\n _: 2\n }, [!_ctx.inline ? {\n name: \"trigger\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"trigger\", {}, () => [createVNode(_component_o_input, mergeProps({\n ref: \"input\",\n autocomplete: \"off\",\n \"model-value\": _ctx.formattedValue,\n expanded: _ctx.expanded,\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-right\": _ctx.iconRight,\n \"icon-right-clickable\": _ctx.iconRightClickable,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n disabled: _ctx.disabled,\n readonly: !_ctx.editable\n }, _ctx.inputBind, {\n \"use-html5-validation\": false,\n onClick: _ctx.onInputClick,\n \"onIcon-right-click\": _cache[1] || (_cache[1] = $event => _ctx.$emit('icon-right-click')),\n onKeyup: _cache[2] || (_cache[2] = withKeys($event => _ctx.togglePicker(true), [\"enter\"])),\n onChange: _cache[3] || (_cache[3] = $event => _ctx.onChange($event.target.value)),\n onFocus: _ctx.handleOnFocus\n }), null, 16\n /* FULL_PROPS */\n , [\"model-value\", \"expanded\", \"placeholder\", \"size\", \"icon\", \"icon-right\", \"icon-right-clickable\", \"icon-pack\", \"rounded\", \"disabled\", \"readonly\", \"onClick\", \"onFocus\"])])])\n } : undefined]), 1040\n /* FULL_PROPS, DYNAMIC_SLOTS */\n , [\"position\", \"disabled\", \"inline\", \"mobile-modal\", \"trap-focus\", \"aria-role\", \"aria-modal\", \"append-to-body\", \"onActive-change\"]) : createVNode(_component_o_input, mergeProps({\n key: 1,\n ref: \"input\",\n type: !_ctx.isTypeMonth ? 'date' : 'month',\n autocomplete: \"off\",\n value: _ctx.formatNative(_ctx.computedValue),\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n max: _ctx.formatNative(_ctx.maxDate),\n min: _ctx.formatNative(_ctx.minDate),\n disabled: _ctx.disabled,\n readonly: false\n }, _ctx.$attrs, {\n \"use-html5-validation\": false,\n onChange: _ctx.onChangeNativePicker,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.onBlur\n }), null, 16\n /* FULL_PROPS */\n , [\"type\", \"value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"rounded\", \"max\", \"min\", \"disabled\", \"onChange\", \"onFocus\", \"onBlur\"])], 2\n /* CLASS */\n );\n}\n\nscript$3.render = render$3;\nscript$3.__file = \"src/components/datepicker/Datepicker.vue\";\n\nexport { script$3 as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport './DropdownItem-c744c4e9.mjs';\nimport './Field-937b4591.mjs';\nimport './Select-2cca695f.mjs';\nimport { s as script } from './Datepicker-42aca091.mjs';\nexport { s as ODatepicker } from './Datepicker-42aca091.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, mergeProps, createSlots, withCtx, Fragment, renderList, toDisplayString, createCommentVNode, renderSlot, withKeys } from 'vue';\nimport { getValueByPath, isMobile, matchWithGroups } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$3 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { s as script$1 } from './Input-19e906a1.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { s as script$4, a as script$5 } from './DropdownItem-c744c4e9.mjs';\nimport { s as script$2 } from './Select-2cca695f.mjs';\n\nconst AM = 'AM';\r\nconst PM = 'PM';\r\nconst HOUR_FORMAT_24 = '24';\r\nconst HOUR_FORMAT_12 = '12';\r\nconst defaultTimeFormatter = (date, vm) => {\r\n return vm.dtf.format(date);\r\n};\r\nconst defaultTimeParser = (timeString, vm) => {\r\n if (timeString) {\r\n let d = null;\r\n if (vm.computedValue && !isNaN(vm.computedValue)) {\r\n d = new Date(vm.computedValue);\r\n }\r\n else {\r\n d = vm.timeCreator();\r\n d.setMilliseconds(0);\r\n }\r\n if (vm.dtf.formatToParts && typeof vm.dtf.formatToParts === 'function') {\r\n const formatRegex = vm.dtf\r\n .formatToParts(d).map((part) => {\r\n if (part.type === 'literal') {\r\n return part.value.replace(/ /g, '\\\\s?');\r\n }\r\n else if (part.type === 'dayPeriod') {\r\n return `((?!=<${part.type}>)(${vm.amString}|${vm.pmString}|${AM}|${PM}|${AM.toLowerCase()}|${PM.toLowerCase()})?)`;\r\n }\r\n return `((?!=<${part.type}>)\\\\d+)`;\r\n }).join('');\r\n const timeGroups = matchWithGroups(formatRegex, timeString);\r\n // We do a simple validation for the group.\r\n // If it is not valid, it will fallback to Date.parse below\r\n timeGroups.hour = timeGroups.hour ? parseInt(timeGroups.hour, 10) : null;\r\n timeGroups.minute = timeGroups.minute ? parseInt(timeGroups.minute, 10) : null;\r\n timeGroups.second = timeGroups.second ? parseInt(timeGroups.second, 10) : null;\r\n if (timeGroups.hour &&\r\n timeGroups.hour >= 0 &&\r\n timeGroups.hour < 24 &&\r\n timeGroups.minute &&\r\n timeGroups.minute >= 0 &&\r\n timeGroups.minute < 59) {\r\n if (timeGroups.dayPeriod &&\r\n (timeGroups.dayPeriod.toLowerCase() === vm.pmString.toLowerCase() ||\r\n timeGroups.dayPeriod.toLowerCase() === PM.toLowerCase()) &&\r\n timeGroups.hour < 12) {\r\n timeGroups.hour += 12;\r\n }\r\n d.setHours(timeGroups.hour);\r\n d.setMinutes(timeGroups.minute);\r\n d.setSeconds(timeGroups.second || 0);\r\n return d;\r\n }\r\n }\r\n // Fallback if formatToParts is not supported or if we were not able to parse a valid date\r\n let am = false;\r\n if (vm.hourFormat === HOUR_FORMAT_12) {\r\n const dateString12 = timeString.split(' ');\r\n timeString = dateString12[0];\r\n am = (dateString12[1] === vm.amString || dateString12[1] === AM);\r\n }\r\n const time = timeString.split(':');\r\n let hours = parseInt(time[0], 10);\r\n const minutes = parseInt(time[1], 10);\r\n const seconds = vm.enableSeconds ? parseInt(time[2], 10) : 0;\r\n if (isNaN(hours) || hours < 0 || hours > 23 ||\r\n (vm.hourFormat === HOUR_FORMAT_12 && (hours < 1 || hours > 12)) ||\r\n isNaN(minutes) || minutes < 0 || minutes > 59) {\r\n return null;\r\n }\r\n d.setSeconds(seconds);\r\n d.setMinutes(minutes);\r\n if (vm.hourFormat === HOUR_FORMAT_12) {\r\n if (am && hours === 12) {\r\n hours = 0;\r\n }\r\n else if (!am && hours !== 12) {\r\n hours += 12;\r\n }\r\n }\r\n d.setHours(hours);\r\n return new Date(d.getTime());\r\n }\r\n return null;\r\n};\r\nvar TimepickerMixin = defineComponent({\r\n mixins: [FormElementMixin],\r\n inheritAttrs: false,\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: Date,\r\n inline: Boolean,\r\n minTime: Date,\r\n maxTime: Date,\r\n placeholder: String,\r\n editable: Boolean,\r\n disabled: Boolean,\r\n /**\r\n * Size of button, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n hourFormat: {\r\n type: String\r\n },\r\n incrementHours: {\r\n type: Number,\r\n default: 1\r\n },\r\n incrementMinutes: {\r\n type: Number,\r\n default: 1\r\n },\r\n incrementSeconds: {\r\n type: Number,\r\n default: 1\r\n },\r\n timeFormatter: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const timeFormatter = getValueByPath(getOptions(), 'timepicker.timeFormatter', undefined);\r\n if (typeof timeFormatter === 'function') {\r\n return timeFormatter(date);\r\n }\r\n else {\r\n return defaultTimeFormatter(date, vm);\r\n }\r\n }\r\n },\r\n timeParser: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const timeParser = getValueByPath(getOptions(), 'timepicker.timeParser', undefined);\r\n if (typeof timeParser === 'function') {\r\n return timeParser(date);\r\n }\r\n else {\r\n return defaultTimeParser(date, vm);\r\n }\r\n }\r\n },\r\n mobileNative: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.mobileNative', true);\r\n }\r\n },\r\n timeCreator: {\r\n type: Function,\r\n default: () => {\r\n const timeCreator = getValueByPath(getOptions(), 'timepicker.timeCreator', undefined);\r\n if (typeof timeCreator === 'function') {\r\n return timeCreator();\r\n }\r\n else {\r\n return new Date();\r\n }\r\n }\r\n },\r\n position: String,\r\n unselectableTimes: Array,\r\n openOnFocus: Boolean,\r\n enableSeconds: Boolean,\r\n defaultMinutes: Number,\r\n defaultSeconds: Number,\r\n appendToBody: Boolean,\r\n resetOnMeridianChange: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n dateSelected: this.modelValue,\r\n hoursSelected: null,\r\n minutesSelected: null,\r\n secondsSelected: null,\r\n meridienSelected: null,\r\n _elementRef: 'input'\r\n };\r\n },\r\n computed: {\r\n computedValue: {\r\n get() {\r\n return this.dateSelected;\r\n },\r\n set(value) {\r\n this.dateSelected = value;\r\n this.$emit('update:modelValue', this.dateSelected);\r\n }\r\n },\r\n localeOptions() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n second: this.enableSeconds ? 'numeric' : undefined\r\n }).resolvedOptions();\r\n },\r\n dtf() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n hour: this.localeOptions.hour || 'numeric',\r\n minute: this.localeOptions.minute || 'numeric',\r\n second: this.enableSeconds ? this.localeOptions.second || 'numeric' : undefined,\r\n // @ts-ignore to update types\r\n hourCycle: !this.isHourFormat24 ? 'h12' : 'h23'\r\n });\r\n },\r\n newHourFormat() {\r\n return this.hourFormat || (this.localeOptions.hour12 ? HOUR_FORMAT_12 : HOUR_FORMAT_24);\r\n },\r\n sampleTime() {\r\n let d = this.timeCreator();\r\n d.setHours(10);\r\n d.setSeconds(0);\r\n d.setMinutes(0);\r\n d.setMilliseconds(0);\r\n return d;\r\n },\r\n hourLiteral() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n const parts = this.dtf.formatToParts(d);\r\n const literal = parts.find((part, idx) => (idx > 0 && parts[idx - 1].type === 'hour'));\r\n if (literal) {\r\n return literal.value;\r\n }\r\n }\r\n return ':';\r\n },\r\n minuteLiteral() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n const parts = this.dtf.formatToParts(d);\r\n const literal = parts.find((part, idx) => (idx > 0 && parts[idx - 1].type === 'minute'));\r\n if (literal) {\r\n return literal.value;\r\n }\r\n }\r\n return ':';\r\n },\r\n secondLiteral() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n const parts = this.dtf.formatToParts(d);\r\n const literal = parts.find((part, idx) => (idx > 0 && parts[idx - 1].type === 'second'));\r\n if (literal) {\r\n return literal.value;\r\n }\r\n }\r\n },\r\n amString() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n d.setHours(10);\r\n const dayPeriod = this.dtf.formatToParts(d).find((part) => part.type === 'dayPeriod');\r\n if (dayPeriod) {\r\n return dayPeriod.value;\r\n }\r\n }\r\n return AM;\r\n },\r\n pmString() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n d.setHours(20);\r\n const dayPeriod = this.dtf.formatToParts(d).find((part) => part.type === 'dayPeriod');\r\n if (dayPeriod) {\r\n return dayPeriod.value;\r\n }\r\n }\r\n return PM;\r\n },\r\n hours() {\r\n if (!this.incrementHours || this.incrementHours < 1)\r\n throw new Error('Hour increment cannot be null or less than 1.');\r\n const hours = [];\r\n const numberOfHours = this.isHourFormat24 ? 24 : 12;\r\n for (let i = 0; i < numberOfHours; i += this.incrementHours) {\r\n let value = i;\r\n let label = value;\r\n if (!this.isHourFormat24) {\r\n value = (i + 1);\r\n label = value;\r\n if (this.meridienSelected === this.amString) {\r\n if (value === 12) {\r\n value = 0;\r\n }\r\n }\r\n else if (this.meridienSelected === this.pmString) {\r\n if (value !== 12) {\r\n value += 12;\r\n }\r\n }\r\n }\r\n hours.push({\r\n label: this.formatNumber(label),\r\n value: value\r\n });\r\n }\r\n return hours;\r\n },\r\n minutes() {\r\n if (!this.incrementMinutes || this.incrementMinutes < 1)\r\n throw new Error('Minute increment cannot be null or less than 1.');\r\n const minutes = [];\r\n for (let i = 0; i < 60; i += this.incrementMinutes) {\r\n minutes.push({\r\n label: this.formatNumber(i, true),\r\n value: i\r\n });\r\n }\r\n return minutes;\r\n },\r\n seconds() {\r\n if (!this.incrementSeconds || this.incrementSeconds < 1)\r\n throw new Error('Second increment cannot be null or less than 1.');\r\n const seconds = [];\r\n for (let i = 0; i < 60; i += this.incrementSeconds) {\r\n seconds.push({\r\n label: this.formatNumber(i, true),\r\n value: i\r\n });\r\n }\r\n return seconds;\r\n },\r\n meridiens() {\r\n return [this.amString, this.pmString];\r\n },\r\n isMobile() {\r\n return this.mobileNative && isMobile.any();\r\n },\r\n isHourFormat24() {\r\n return this.newHourFormat === HOUR_FORMAT_24;\r\n }\r\n },\r\n watch: {\r\n hourFormat() {\r\n if (this.hoursSelected !== null) {\r\n this.meridienSelected = this.hoursSelected >= 12 ? this.pmString : this.amString;\r\n }\r\n },\r\n locale() {\r\n // see updateInternalState default\r\n if (!this.value) {\r\n this.meridienSelected = this.amString;\r\n }\r\n },\r\n /**\r\n * When v-model is changed:\r\n * 1. Update internal value.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue: {\r\n handler(value) {\r\n this.updateInternalState(value);\r\n !this.isValid && this.$refs.input.checkHtml5Validity();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n onMeridienChange(value) {\r\n if (this.hoursSelected !== null && this.resetOnMeridianChange) {\r\n this.hoursSelected = null;\r\n this.minutesSelected = null;\r\n this.secondsSelected = null;\r\n this.computedValue = null;\r\n }\r\n else if (this.hoursSelected !== null) {\r\n if (value === this.pmString) {\r\n this.hoursSelected += 12;\r\n }\r\n else if (value === this.amString) {\r\n this.hoursSelected -= 12;\r\n }\r\n }\r\n this.updateDateSelected(this.hoursSelected, this.minutesSelected, this.enableSeconds ? this.secondsSelected : 0, value);\r\n },\r\n onHoursChange(value) {\r\n if (!this.minutesSelected && typeof this.defaultMinutes !== 'undefined') {\r\n this.minutesSelected = this.defaultMinutes;\r\n }\r\n if (!this.secondsSelected && typeof this.defaultSeconds !== 'undefined') {\r\n this.secondsSelected = this.defaultSeconds;\r\n }\r\n this.updateDateSelected(parseInt(value, 10), this.minutesSelected, this.enableSeconds ? this.secondsSelected : 0, this.meridienSelected);\r\n },\r\n onMinutesChange(value) {\r\n if (!this.secondsSelected && this.defaultSeconds) {\r\n this.secondsSelected = this.defaultSeconds;\r\n }\r\n this.updateDateSelected(this.hoursSelected, parseInt(value, 10), this.enableSeconds ? this.secondsSelected : 0, this.meridienSelected);\r\n },\r\n onSecondsChange(value) {\r\n this.updateDateSelected(this.hoursSelected, this.minutesSelected, parseInt(value, 10), this.meridienSelected);\r\n },\r\n updateDateSelected(hours, minutes, seconds, meridiens) {\r\n if (hours != null && minutes != null &&\r\n ((!this.isHourFormat24 && meridiens !== null) || this.isHourFormat24)) {\r\n let time = null;\r\n if (this.computedValue && !isNaN(this.computedValue)) {\r\n time = new Date(this.computedValue);\r\n }\r\n else {\r\n time = this.timeCreator();\r\n time.setMilliseconds(0);\r\n }\r\n time.setHours(hours);\r\n time.setMinutes(minutes);\r\n time.setSeconds(seconds);\r\n if (!isNaN(time.getTime())) {\r\n this.computedValue = new Date(time.getTime());\r\n }\r\n }\r\n },\r\n updateInternalState(value) {\r\n if (value) {\r\n this.hoursSelected = value.getHours();\r\n this.minutesSelected = value.getMinutes();\r\n this.secondsSelected = value.getSeconds();\r\n this.meridienSelected = value.getHours() >= 12 ? this.pmString : this.amString;\r\n }\r\n else {\r\n this.hoursSelected = null;\r\n this.minutesSelected = null;\r\n this.secondsSelected = null;\r\n this.meridienSelected = this.amString;\r\n }\r\n this.dateSelected = value;\r\n },\r\n isHourDisabled(hour) {\r\n let disabled = false;\r\n if (this.minTime) {\r\n const minHours = this.minTime.getHours();\r\n const noMinutesAvailable = this.minutes.every((minute) => {\r\n return this.isMinuteDisabledForHour(hour, minute.value);\r\n });\r\n disabled = hour < minHours || noMinutesAvailable;\r\n }\r\n if (this.maxTime) {\r\n if (!disabled) {\r\n const maxHours = this.maxTime.getHours();\r\n disabled = hour > maxHours;\r\n }\r\n }\r\n if (this.unselectableTimes) {\r\n if (!disabled) {\r\n const unselectable = this.unselectableTimes.filter((time) => {\r\n if (this.enableSeconds && this.secondsSelected !== null) {\r\n return time.getHours() === hour &&\r\n time.getMinutes() === this.minutesSelected &&\r\n time.getSeconds() === this.secondsSelected;\r\n }\r\n else if (this.minutesSelected !== null) {\r\n return time.getHours() === hour &&\r\n time.getMinutes() === this.minutesSelected;\r\n }\r\n return false;\r\n });\r\n if (unselectable.length > 0) {\r\n disabled = true;\r\n }\r\n else {\r\n disabled = this.minutes.every((minute) => {\r\n return this.unselectableTimes.filter((time) => {\r\n return time.getHours() === hour &&\r\n time.getMinutes() === minute.value;\r\n }).length > 0;\r\n });\r\n }\r\n }\r\n }\r\n return disabled;\r\n },\r\n isMinuteDisabledForHour(hour, minute) {\r\n let disabled = false;\r\n if (this.minTime) {\r\n const minHours = this.minTime.getHours();\r\n const minMinutes = this.minTime.getMinutes();\r\n disabled = hour === minHours && minute < minMinutes;\r\n }\r\n if (this.maxTime) {\r\n if (!disabled) {\r\n const maxHours = this.maxTime.getHours();\r\n const maxMinutes = this.maxTime.getMinutes();\r\n disabled = hour === maxHours && minute > maxMinutes;\r\n }\r\n }\r\n return disabled;\r\n },\r\n isMinuteDisabled(minute) {\r\n let disabled = false;\r\n if (this.hoursSelected !== null) {\r\n if (this.isHourDisabled(this.hoursSelected)) {\r\n disabled = true;\r\n }\r\n else {\r\n disabled = this.isMinuteDisabledForHour(this.hoursSelected, minute);\r\n }\r\n if (this.unselectableTimes) {\r\n if (!disabled) {\r\n const unselectable = this.unselectableTimes.filter((time) => {\r\n if (this.enableSeconds && this.secondsSelected !== null) {\r\n return time.getHours() === this.hoursSelected &&\r\n time.getMinutes() === minute &&\r\n time.getSeconds() === this.secondsSelected;\r\n }\r\n else {\r\n return time.getHours() === this.hoursSelected &&\r\n time.getMinutes() === minute;\r\n }\r\n });\r\n disabled = unselectable.length > 0;\r\n }\r\n }\r\n }\r\n return disabled;\r\n },\r\n isSecondDisabled(second) {\r\n let disabled = false;\r\n if (this.minutesSelected !== null) {\r\n if (this.isMinuteDisabled(this.minutesSelected)) {\r\n disabled = true;\r\n }\r\n else {\r\n if (this.minTime) {\r\n const minHours = this.minTime.getHours();\r\n const minMinutes = this.minTime.getMinutes();\r\n const minSeconds = this.minTime.getSeconds();\r\n disabled = this.hoursSelected === minHours &&\r\n this.minutesSelected === minMinutes &&\r\n second < minSeconds;\r\n }\r\n if (this.maxTime) {\r\n if (!disabled) {\r\n const maxHours = this.maxTime.getHours();\r\n const maxMinutes = this.maxTime.getMinutes();\r\n const maxSeconds = this.maxTime.getSeconds();\r\n disabled = this.hoursSelected === maxHours &&\r\n this.minutesSelected === maxMinutes &&\r\n second > maxSeconds;\r\n }\r\n }\r\n }\r\n if (this.unselectableTimes) {\r\n if (!disabled) {\r\n const unselectable = this.unselectableTimes.filter((time) => {\r\n return time.getHours() === this.hoursSelected &&\r\n time.getMinutes() === this.minutesSelected &&\r\n time.getSeconds() === second;\r\n });\r\n disabled = unselectable.length > 0;\r\n }\r\n }\r\n }\r\n return disabled;\r\n },\r\n isMeridienDisabled(meridienString) {\r\n const offset = meridienString == \"AM\" ? 0 : 12;\r\n for (let i = 0; i < 12; i++) {\r\n if (!this.isHourDisabled(i + offset)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n /*\r\n * Parse string into date\r\n */\r\n onChange(value) {\r\n const date = this.timeParser(value, this);\r\n this.updateInternalState(date);\r\n if (date && !isNaN(date)) {\r\n this.computedValue = date;\r\n }\r\n else {\r\n // Force refresh input value when not valid date\r\n this.computedValue = null;\r\n this.$refs.input.newValue = this.computedValue;\r\n }\r\n },\r\n /*\r\n * Toggle timepicker\r\n */\r\n toggle(active) {\r\n if (this.$refs.dropdown) {\r\n this.$refs.dropdown.isActive = typeof active === 'boolean'\r\n ? active\r\n : !this.$refs.dropdown.isActive;\r\n }\r\n },\r\n /*\r\n * Close timepicker\r\n */\r\n close() {\r\n this.toggle(false);\r\n },\r\n /*\r\n * Call default onFocus method and show timepicker\r\n */\r\n handleOnFocus() {\r\n this.onFocus();\r\n if (this.openOnFocus) {\r\n this.toggle(true);\r\n }\r\n },\r\n /*\r\n * Format date into string 'HH-MM-SS'\r\n */\r\n formatHHMMSS(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const hours = date.getHours();\r\n const minutes = date.getMinutes();\r\n const seconds = date.getSeconds();\r\n return this.formatNumber(hours, true) + ':' +\r\n this.formatNumber(minutes, true) + ':' +\r\n this.formatNumber(seconds, true);\r\n }\r\n return '';\r\n },\r\n /*\r\n * Parse time from string\r\n */\r\n onChangeNativePicker(event) {\r\n const date = event.target.value;\r\n if (date) {\r\n let time = null;\r\n if (this.computedValue && !isNaN(this.computedValue)) {\r\n time = new Date(this.computedValue);\r\n }\r\n else {\r\n time = new Date();\r\n time.setMilliseconds(0);\r\n }\r\n const t = date.split(':');\r\n time.setHours(parseInt(t[0], 10));\r\n time.setMinutes(parseInt(t[1], 10));\r\n time.setSeconds(t[2] ? parseInt(t[2], 10) : 0);\r\n this.computedValue = new Date(time.getTime());\r\n }\r\n else {\r\n this.computedValue = null;\r\n }\r\n },\r\n formatNumber(value, prependZero) {\r\n return this.isHourFormat24 || prependZero\r\n ? this.pad(value)\r\n : value;\r\n },\r\n pad(value) {\r\n return (value < 10 ? '0' : '') + value;\r\n },\r\n /*\r\n * Format date into string\r\n */\r\n formatValue(date) {\r\n if (date && !isNaN(date)) {\r\n return this.timeFormatter(date, this);\r\n }\r\n else {\r\n return null;\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.$refs.dropdown && this.$refs.dropdown.isActive && (key === 'Escape' || key === 'Esc')) {\r\n this.toggle(false);\r\n }\r\n },\r\n /**\r\n * Emit 'blur' event on dropdown is not active (closed)\r\n */\r\n onActiveChange(value) {\r\n if (!value) {\r\n this.onBlur();\r\n }\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n }\r\n});\n\n/**\r\n * An input with a simple dropdown/modal for selecting a time, uses native timepicker for mobile\r\n * @displayName Timepicker\r\n * @style _timepicker.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OTimepicker',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2,\r\n [script$3.name]: script$3,\r\n [script$4.name]: script$4,\r\n [script$5.name]: script$5\r\n },\r\n configField: 'timepicker',\r\n mixins: [BaseComponentMixin, TimepickerMixin, MatchMediaMixin],\r\n inheritAttrs: false,\r\n props: {\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n boxClass: [String, Function, Array],\r\n separatorClass: [String, Function, Array],\r\n footerClass: [String, Function, Array],\r\n inputClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.inputClasses', {});\r\n }\r\n },\r\n dropdownClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.dropdownClasses', {});\r\n }\r\n },\r\n selectClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.selectClasses', {});\r\n }\r\n }\r\n },\r\n computed: {\r\n inputBind() {\r\n return {\r\n ...this.$attrs,\r\n ...this.inputClasses\r\n };\r\n },\r\n dropdownBind() {\r\n return {\r\n 'root-class': this.computedClass('dropdownClasses.rootClass', 'o-tpck__dropdown'),\r\n ...this.dropdownClasses\r\n };\r\n },\r\n selectBind() {\r\n return {\r\n 'select-class': this.computedClass('selectClasses.selectClass', 'o-tpck__select'),\r\n 'placeholder-class': this.computedClass('selectClasses.placeholderClass', 'o-tpck__select-placeholder'),\r\n ...this.selectClasses\r\n };\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-tpck'),\r\n { [this.computedClass('sizeClass', 'o-tpck--', this.size)]: this.size },\r\n { [this.computedClass('mobileClass', 'o-tpck--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n boxClasses() {\r\n return [\r\n this.computedClass('boxClass', 'o-tpck__box')\r\n ];\r\n },\r\n separatorClasses() {\r\n return [\r\n this.computedClass('separatorClass', 'o-tpck__separator')\r\n ];\r\n },\r\n footerClasses() {\r\n return [\r\n this.computedClass('footerClass', 'o-tpck__footer')\r\n ];\r\n },\r\n nativeStep() {\r\n if (this.enableSeconds)\r\n return '1';\r\n return null;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_input = resolveComponent(\"o-input\");\n\n const _component_o_select = resolveComponent(\"o-select\");\n\n const _component_o_dropdown_item = resolveComponent(\"o-dropdown-item\");\n\n const _component_o_dropdown = resolveComponent(\"o-dropdown\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [!_ctx.isMobile || _ctx.inline ? createVNode(_component_o_dropdown, mergeProps({\n key: 0,\n ref: \"dropdown\"\n }, _ctx.dropdownBind, {\n position: _ctx.position,\n disabled: _ctx.disabled,\n inline: _ctx.inline,\n \"append-to-body\": _ctx.appendToBody,\n \"append-to-body-copy-parent\": \"\",\n \"onActive-change\": _ctx.onActiveChange\n }), createSlots({\n default: withCtx(() => [createVNode(_component_o_dropdown_item, {\n override: \"\",\n tag: \"div\",\n \"item-class\": _ctx.boxClasses,\n disabled: _ctx.disabled,\n clickable: false\n }, {\n default: withCtx(() => [createVNode(_component_o_select, mergeProps({\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.hoursSelected,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => _ctx.hoursSelected = $event),\n onChange: _cache[4] || (_cache[4] = $event => _ctx.onHoursChange($event.target.value)),\n disabled: _ctx.disabled,\n placeholder: \"00\"\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.hours, hour => {\n return openBlock(), createBlock(\"option\", {\n value: hour.value,\n key: hour.value,\n disabled: _ctx.isHourDisabled(hour.value)\n }, toDisplayString(hour.label), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]), createVNode(\"span\", {\n class: _ctx.separatorClasses\n }, toDisplayString(_ctx.hourLiteral), 3\n /* TEXT, CLASS */\n ), createVNode(_component_o_select, mergeProps({\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.minutesSelected,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => _ctx.minutesSelected = $event),\n onChange: _cache[6] || (_cache[6] = $event => _ctx.onMinutesChange($event.target.value)),\n disabled: _ctx.disabled,\n placeholder: \"00\"\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.minutes, minute => {\n return openBlock(), createBlock(\"option\", {\n value: minute.value,\n key: minute.value,\n disabled: _ctx.isMinuteDisabled(minute.value)\n }, toDisplayString(minute.label), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]), _ctx.enableSeconds ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createVNode(\"span\", {\n class: _ctx.separatorClasses\n }, toDisplayString(_ctx.minuteLiteral), 3\n /* TEXT, CLASS */\n ), createVNode(_component_o_select, mergeProps({\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.secondsSelected,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => _ctx.secondsSelected = $event),\n onChange: _cache[8] || (_cache[8] = $event => _ctx.onSecondsChange($event.target.value)),\n disabled: _ctx.disabled,\n placeholder: \"00\"\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.seconds, second => {\n return openBlock(), createBlock(\"option\", {\n value: second.value,\n key: second.value,\n disabled: _ctx.isSecondDisabled(second.value)\n }, toDisplayString(second.label), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]), createVNode(\"span\", {\n class: _ctx.separatorClasses\n }, toDisplayString(_ctx.secondLiteral), 3\n /* TEXT, CLASS */\n )], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true), !_ctx.isHourFormat24 ? createVNode(_component_o_select, mergeProps({\n key: 1,\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.meridienSelected,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => _ctx.meridienSelected = $event),\n onChange: _cache[10] || (_cache[10] = $event => _ctx.onMeridienChange($event.target.value)),\n disabled: _ctx.disabled\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.meridiens, meridien => {\n return openBlock(), createBlock(\"option\", {\n value: meridien,\n key: meridien,\n disabled: _ctx.isMeridienDisabled(meridien)\n }, toDisplayString(meridien), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]) : createCommentVNode(\"v-if\", true), _ctx.$slots.default !== undefined ? (openBlock(), createBlock(\"footer\", {\n key: 2,\n class: _ctx.footerClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"item-class\", \"disabled\"])]),\n _: 2\n }, [!_ctx.inline ? {\n name: \"trigger\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"trigger\", {}, () => [createVNode(_component_o_input, mergeProps({\n ref: \"input\",\n \"model-value\": _ctx.formatValue(_ctx.computedValue),\n autocomplete: \"off\",\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n disabled: _ctx.disabled,\n readonly: !_ctx.editable,\n rounded: _ctx.rounded\n }, _ctx.inputBind, {\n \"use-html5-validation\": _ctx.useHtml5Validation,\n onKeyup: _cache[1] || (_cache[1] = withKeys($event => _ctx.toggle(true), [\"enter\"])),\n onChange: _cache[2] || (_cache[2] = $event => _ctx.onChange($event.target.value)),\n onFocus: _ctx.handleOnFocus\n }), null, 16\n /* FULL_PROPS */\n , [\"model-value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"disabled\", \"readonly\", \"rounded\", \"use-html5-validation\", \"onFocus\"])])])\n } : undefined]), 1040\n /* FULL_PROPS, DYNAMIC_SLOTS */\n , [\"position\", \"disabled\", \"inline\", \"append-to-body\", \"onActive-change\"]) : createVNode(_component_o_input, mergeProps({\n key: 1,\n ref: \"input\"\n }, _ctx.inputBind, {\n type: \"time\",\n step: _ctx.nativeStep,\n autocomplete: \"off\",\n value: _ctx.formatHHMMSS(_ctx.computedValue),\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n max: _ctx.formatHHMMSS(_ctx.maxTime),\n min: _ctx.formatHHMMSS(_ctx.minTime),\n disabled: _ctx.disabled,\n readonly: false,\n \"use-html5-validation\": _ctx.useHtml5Validation,\n onChange: _cache[11] || (_cache[11] = $event => _ctx.onChange($event.target.value)),\n onFocus: _ctx.handleOnFocus,\n onBlur: _cache[12] || (_cache[12] = $event => _ctx.onBlur() && _ctx.checkHtml5Validity())\n }), null, 16\n /* FULL_PROPS */\n , [\"step\", \"value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"rounded\", \"max\", \"min\", \"disabled\", \"use-html5-validation\", \"onFocus\"])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/timepicker/Timepicker.vue\";\n\nexport { script as s };\n","import { defineComponent, resolveComponent, createVNode, mergeProps, withCtx, renderSlot, createCommentVNode } from 'vue';\nimport { getValueByPath, isMobile, matchWithGroups } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport './DropdownItem-c744c4e9.mjs';\nimport './Field-937b4591.mjs';\nimport './Select-2cca695f.mjs';\nimport { s as script$1 } from './Datepicker-42aca091.mjs';\nimport { s as script$2 } from './Timepicker-c2f10909.mjs';\n\nconst AM = 'AM';\r\nconst PM = 'PM';\r\n/**\r\n * An input with a simple dropdown/modal for selecting a date and time, uses native datetimepicker for mobile\r\n * @displayName Datetimepicker\r\n * @style _datetimepicker.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'ODatetimepicker',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2\r\n },\r\n configField: 'datetimepicker',\r\n mixins: [FormElementMixin, BaseComponentMixin],\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'change-year', 'change-month', 'icon-right-click', 'active-change'],\r\n props: {\r\n modelValue: {\r\n type: Date\r\n },\r\n editable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n size: String,\r\n placeholder: String,\r\n disabled: Boolean,\r\n iconRight: String,\r\n iconRightClickable: Boolean,\r\n inline: Boolean,\r\n openOnFocus: Boolean,\r\n position: String,\r\n mobileNative: {\r\n type: Boolean,\r\n default: true\r\n },\r\n minDatetime: Date,\r\n maxDatetime: Date,\r\n datetimeFormatter: {\r\n type: Function\r\n },\r\n datetimeParser: {\r\n type: Function\r\n },\r\n datetimeCreator: {\r\n type: Function,\r\n default: (date) => {\r\n const datetimeCreator = getValueByPath(getOptions(), 'datetimepicker.datetimeCreator', undefined);\r\n if (typeof datetimeCreator === 'function') {\r\n return datetimeCreator(date);\r\n }\r\n else {\r\n return date;\r\n }\r\n }\r\n },\r\n datepicker: Object,\r\n timepicker: Object,\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n appendToBody: Boolean,\r\n datepickerWrapperClass: [String, Function, Array],\r\n timepickerWrapperClass: [String, Function, Array],\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue\r\n };\r\n },\r\n computed: {\r\n datepickerWrapperClasses() {\r\n return [\r\n this.computedClass('datepickerWrapperClass', 'o-dtpck__date')\r\n ];\r\n },\r\n timepickerWrapperClasses() {\r\n return [\r\n this.computedClass('timepickerWrapperClass', 'o-dtpck__time')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n if (value) {\r\n let val = new Date(value.getTime());\r\n if (this.newValue) {\r\n // restore time part\r\n if ((value.getDate() !== this.newValue.getDate() ||\r\n value.getMonth() !== this.newValue.getMonth() ||\r\n value.getFullYear() !== this.newValue.getFullYear()) &&\r\n value.getHours() === 0 &&\r\n value.getMinutes() === 0 &&\r\n value.getSeconds() === 0) {\r\n val.setHours(this.newValue.getHours(), this.newValue.getMinutes(), this.newValue.getSeconds(), 0);\r\n }\r\n }\r\n else {\r\n val = this.datetimeCreator(value);\r\n }\r\n // check min and max range\r\n if (this.minDatetime && val < this.minDatetime) {\r\n val = this.minDatetime;\r\n }\r\n else if (this.maxDatetime && val > this.maxDatetime) {\r\n val = this.maxDatetime;\r\n }\r\n this.newValue = new Date(val.getTime());\r\n }\r\n else {\r\n this.newValue = value;\r\n }\r\n this.$emit('update:modelValue', this.newValue);\r\n }\r\n },\r\n localeOptions() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: 'numeric',\r\n month: 'numeric',\r\n day: 'numeric',\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n second: this.enableSeconds() ? 'numeric' : undefined\r\n }).resolvedOptions();\r\n },\r\n dtf() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: this.localeOptions.year || 'numeric',\r\n month: this.localeOptions.month || 'numeric',\r\n day: this.localeOptions.day || 'numeric',\r\n hour: this.localeOptions.hour || 'numeric',\r\n minute: this.localeOptions.minute || 'numeric',\r\n second: this.enableSeconds() ? this.localeOptions.second || 'numeric' : undefined,\r\n // @ts-ignore to update types\r\n hourCycle: !this.isHourFormat24() ? 'h12' : 'h23'\r\n });\r\n },\r\n isMobileNative() {\r\n return this.mobileNative;\r\n },\r\n isMobile() {\r\n return this.isMobileNative && isMobile.any();\r\n },\r\n minDate() {\r\n if (!this.minDatetime) {\r\n return this.datepicker ? this.datepicker.minDate : null;\r\n }\r\n return new Date(this.minDatetime.getFullYear(), this.minDatetime.getMonth(), this.minDatetime.getDate(), 0, 0, 0, 0);\r\n },\r\n maxDate() {\r\n if (!this.maxDatetime) {\r\n return this.datepicker ? this.datepicker.maxDate : null;\r\n }\r\n return new Date(this.maxDatetime.getFullYear(), this.maxDatetime.getMonth(), this.maxDatetime.getDate(), 0, 0, 0, 0);\r\n },\r\n // Only enable min/max time if local (not necessarily UTC) date portion matches\r\n minTime() {\r\n if (!this.minDatetime || (this.newValue === null || typeof this.newValue === 'undefined')\r\n || this.newValue.getFullYear() != this.minDatetime.getFullYear()\r\n || this.newValue.getMonth() != this.minDatetime.getMonth()\r\n || this.newValue.getDate() != this.minDatetime.getDate()) {\r\n return this.timepicker ? this.timepicker.minTime : null;\r\n }\r\n return this.minDatetime;\r\n },\r\n maxTime() {\r\n if (!this.maxDatetime || (this.newValue === null || typeof this.newValue === 'undefined')\r\n || this.newValue.getFullYear() != this.maxDatetime.getFullYear()\r\n || this.newValue.getMonth() != this.maxDatetime.getMonth()\r\n || this.newValue.getDate() != this.maxDatetime.getDate()) {\r\n return this.timepicker ? this.timepicker.maxTime : null;\r\n }\r\n return this.maxDatetime;\r\n },\r\n datepickerSize() {\r\n return this.datepicker && this.datepicker.size\r\n ? this.datepicker.size : this.size;\r\n },\r\n timepickerSize() {\r\n return this.timepicker && this.timepicker.size\r\n ? this.timepicker.size : this.size;\r\n },\r\n timepickerDisabled() {\r\n return this.timepicker && this.timepicker.disabled\r\n ? this.timepicker.disabled : this.disabled;\r\n }\r\n },\r\n watch: {\r\n modelValue(value) {\r\n this.newValue = value;\r\n }\r\n },\r\n methods: {\r\n enableSeconds() {\r\n if (this.$refs.timepicker) {\r\n return this.$refs.timepicker.enableSeconds;\r\n }\r\n return false;\r\n },\r\n isHourFormat24() {\r\n if (this.$refs.timepicker) {\r\n return this.$refs.timepicker.isHourFormat24;\r\n }\r\n return !this.localeOptions.hour12;\r\n },\r\n defaultDatetimeParser(date) {\r\n const datetimeParser = getValueByPath(getOptions(), 'datetimepicker.datetimeParser', undefined);\r\n if (typeof this.datetimeParser === 'function') {\r\n return this.datetimeParser(date);\r\n }\r\n else if (typeof datetimeParser === 'function') {\r\n return datetimeParser(date);\r\n }\r\n else {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let dayPeriods = [AM, PM, AM.toLowerCase(), PM.toLowerCase()];\r\n if (this.$refs.timepicker) {\r\n dayPeriods.push(this.$refs.timepicker.amString);\r\n dayPeriods.push(this.$refs.timepicker.pmString);\r\n }\r\n const parts = this.dtf.formatToParts(new Date());\r\n const formatRegex = parts.map((part, idx) => {\r\n if (part.type === 'literal') {\r\n if (idx + 1 < parts.length && parts[idx + 1].type === 'hour') {\r\n return `[^\\\\d]+`;\r\n }\r\n return part.value.replace(/ /g, '\\\\s?');\r\n }\r\n else if (part.type === 'dayPeriod') {\r\n return `((?!=<${part.type}>)(${dayPeriods.join('|')})?)`;\r\n }\r\n return `((?!=<${part.type}>)\\\\d+)`;\r\n }).join('');\r\n const datetimeGroups = matchWithGroups(formatRegex, date);\r\n // We do a simple validation for the group.\r\n // If it is not valid, it will fallback to Date.parse below\r\n if (datetimeGroups.year &&\r\n datetimeGroups.year.length === 4 &&\r\n datetimeGroups.month &&\r\n datetimeGroups.month <= 12 &&\r\n datetimeGroups.day &&\r\n datetimeGroups.day <= 31 &&\r\n datetimeGroups.hour &&\r\n datetimeGroups.hour >= 0 &&\r\n datetimeGroups.hour < 24 &&\r\n datetimeGroups.minute &&\r\n datetimeGroups.minute >= 0 &&\r\n datetimeGroups.minute <= 59) {\r\n const d = new Date(datetimeGroups.year, datetimeGroups.month - 1, datetimeGroups.day, datetimeGroups.hour, datetimeGroups.minute, datetimeGroups.second || 0);\r\n return d;\r\n }\r\n }\r\n return new Date(Date.parse(date));\r\n }\r\n },\r\n defaultDatetimeFormatter(date) {\r\n const datetimeFormatter = getValueByPath(getOptions(), 'datetimepicker.datetimeFormatter', undefined);\r\n if (typeof this.datetimeFormatter === 'function') {\r\n return this.datetimeFormatter(date);\r\n }\r\n else if (typeof datetimeFormatter === 'function') {\r\n return datetimeFormatter(date);\r\n }\r\n else {\r\n return this.dtf.format(date);\r\n }\r\n },\r\n /*\r\n * Parse date from string\r\n */\r\n onChangeNativePicker(event) {\r\n const date = event.target.value;\r\n const s = date ? date.split(/\\D/) : [];\r\n if (s.length >= 5) {\r\n const year = parseInt(s[0], 10);\r\n const month = parseInt(s[1], 10) - 1;\r\n const day = parseInt(s[2], 10);\r\n const hours = parseInt(s[3], 10);\r\n const minutes = parseInt(s[4], 10);\r\n // Seconds are omitted intentionally; they are unsupported by input\r\n // type=datetime-local and cause the control to fail native validation\r\n this.computedValue = new Date(year, month, day, hours, minutes);\r\n }\r\n else {\r\n this.computedValue = null;\r\n }\r\n },\r\n formatNative(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n const hours = date.getHours();\r\n const minutes = date.getMinutes();\r\n const seconds = date.getSeconds();\r\n return year + '-' +\r\n ((month < 10 ? '0' : '') + month) + '-' +\r\n ((day < 10 ? '0' : '') + day) + 'T' +\r\n ((hours < 10 ? '0' : '') + hours) + ':' +\r\n ((minutes < 10 ? '0' : '') + minutes) + ':' +\r\n ((seconds < 10 ? '0' : '') + seconds);\r\n }\r\n return '';\r\n },\r\n toggle() {\r\n this.$refs.datepicker.toggle();\r\n }\r\n },\r\n mounted() {\r\n if (!this.isMobile || this.inline) {\r\n // $refs attached, it's time to refresh datepicker (input)\r\n if (this.newValue) {\r\n this.$refs.datepicker.$forceUpdate();\r\n }\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_timepicker = resolveComponent(\"o-timepicker\");\n\n const _component_o_datepicker = resolveComponent(\"o-datepicker\");\n\n const _component_o_input = resolveComponent(\"o-input\");\n\n return !_ctx.isMobile || _ctx.inline ? createVNode(_component_o_datepicker, mergeProps({\n key: 0,\n ref: \"datepicker\",\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => _ctx.computedValue = $event)\n }, _ctx.datepicker, {\n class: _ctx.datepickerWrapperClasses,\n rounded: _ctx.rounded,\n \"open-on-focus\": _ctx.openOnFocus,\n position: _ctx.position,\n inline: _ctx.inline,\n editable: _ctx.editable,\n expanded: _ctx.expanded,\n \"close-on-click\": false,\n \"date-formatter\": _ctx.defaultDatetimeFormatter,\n \"date-parser\": _ctx.defaultDatetimeParser,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n icon: _ctx.icon,\n \"icon-right\": _ctx.iconRight,\n \"icon-right-clickable\": _ctx.iconRightClickable,\n \"icon-pack\": _ctx.iconPack,\n size: _ctx.datepickerSize,\n placeholder: _ctx.placeholder,\n range: false,\n disabled: _ctx.disabled,\n \"mobile-native\": _ctx.isMobileNative,\n locale: _ctx.locale,\n \"append-to-body\": _ctx.appendToBody,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.onBlur,\n \"onActive-change\": _cache[3] || (_cache[3] = $event => _ctx.$emit('active-change', $event)),\n \"onIcon-right-click\": _cache[4] || (_cache[4] = $event => _ctx.$emit('icon-right-click')),\n \"onChange-month\": _cache[5] || (_cache[5] = $event => _ctx.$emit('change-month', $event)),\n \"onChange-year\": _cache[6] || (_cache[6] = $event => _ctx.$emit('change-year', $event))\n }), {\n footer: withCtx(() => [createVNode(\"div\", {\n class: _ctx.timepickerWrapperClasses\n }, [createVNode(_component_o_timepicker, mergeProps({\n ref: \"timepicker\"\n }, _ctx.timepicker, {\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n inline: \"\",\n editable: _ctx.editable,\n \"min-time\": _ctx.minTime,\n \"max-time\": _ctx.maxTime,\n size: _ctx.timepickerSize,\n disabled: _ctx.timepickerDisabled,\n \"mobile-native\": _ctx.isMobileNative,\n locale: _ctx.locale\n }), null, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"editable\", \"min-time\", \"max-time\", \"size\", \"disabled\", \"mobile-native\", \"locale\"])], 2\n /* CLASS */\n ), _ctx.$slots.footer !== undefined ? renderSlot(_ctx.$slots, \"footer\", {\n key: 0\n }) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"class\", \"rounded\", \"open-on-focus\", \"position\", \"inline\", \"editable\", \"expanded\", \"date-formatter\", \"date-parser\", \"min-date\", \"max-date\", \"icon\", \"icon-right\", \"icon-right-clickable\", \"icon-pack\", \"size\", \"placeholder\", \"disabled\", \"mobile-native\", \"locale\", \"append-to-body\", \"onFocus\", \"onBlur\"]) : createVNode(_component_o_input, mergeProps({\n key: 1,\n ref: \"input\",\n type: \"datetime-local\",\n autocomplete: \"off\",\n value: _ctx.formatNative(_ctx.computedValue),\n placeholder: _ctx.placeholder,\n size: _ctx.datepickerSize,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n max: _ctx.formatNative(_ctx.maxDate),\n min: _ctx.formatNative(_ctx.minDate),\n disabled: _ctx.disabled,\n readonly: false\n }, _ctx.$attrs, {\n \"use-html5-validation\": _ctx.useHtml5Validation,\n onChange: _ctx.onChangeNativePicker,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.onBlur\n }), null, 16\n /* FULL_PROPS */\n , [\"value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"rounded\", \"max\", \"min\", \"disabled\", \"use-html5-validation\", \"onChange\", \"onFocus\", \"onBlur\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/datetimepicker/Datetimepicker.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as ODatetimepicker };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport { s as script, a as script$1 } from './DropdownItem-c744c4e9.mjs';\nexport { s as ODropdown, a as ODropdownItem } from './DropdownItem-c744c4e9.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport { s as script } from './Field-937b4591.mjs';\nexport { s as OField } from './Field-937b4591.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script } from './Icon-a7b85e86.mjs';\nexport { s as OIcon } from './Icon-a7b85e86.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport { s as script } from './Input-19e906a1.mjs';\nexport { s as OInput } from './Input-19e906a1.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, renderSlot, Fragment, renderList, toDisplayString, createCommentVNode, mergeProps, createSlots, withCtx, createTextVNode } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport { s as script$1 } from './Autocomplete-a23ad844.mjs';\n\n/**\r\n * A simple item input field that can have autocomplete functionality\r\n * @displayName Inputitems\r\n * @style _inputitems.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OInputitems',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2\r\n },\r\n mixins: [FormElementMixin, BaseComponentMixin],\r\n inheritAttrs: false,\r\n configField: 'inputitems',\r\n emits: ['update:modelValue', 'focus', 'blur', 'add', 'remove', 'typing', 'infinite-scroll', 'icon-right-click'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Items data */\r\n data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /**\r\n * Color of the each items, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /** Limits the number of items, plus item counter */\r\n maxitems: {\r\n type: [Number, String],\r\n required: false\r\n },\r\n /** Show counter when maxlength or maxtags props are passed */\r\n hasCounter: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.hasCounter', true);\r\n }\r\n },\r\n /** Property of the object (if data is array of objects) to use as display text */\r\n field: {\r\n type: String,\r\n default: 'value'\r\n },\r\n /** Add autocomplete feature (if true, any Autocomplete props may be used too) */\r\n autocomplete: Boolean,\r\n /** Property of the object (if data is array of objects) to use as display text of group */\r\n groupField: String,\r\n /** Property of the object (if data is array of objects) to use as key to get items array of each group, optional */\r\n groupOptions: String,\r\n nativeAutocomplete: String,\r\n /** Opens a dropdown with choices when the input field is focused */\r\n openOnFocus: Boolean,\r\n /** Input will be disabled */\r\n disabled: Boolean,\r\n /** Add close/delete button to the item */\r\n closable: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.closable', true);\r\n }\r\n },\r\n /**\r\n * Array of keys\r\n * (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values)\r\n * which will add a item when typing (default comma, tab and enter)\r\n */\r\n confirmKeys: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.confirmKeys', [',', 'Tab', 'Enter']);\r\n }\r\n },\r\n /** Allow removing last item when pressing given keys, if input is empty */\r\n removeOnKeys: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.removeOnKeys', ['Backspace']);\r\n }\r\n },\r\n /** When autocomplete, it allow to add new items */\r\n allowNew: Boolean,\r\n /** Array of chars used to split when pasting a new string */\r\n onPasteSeparators: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.onPasteSeparators', [',']);\r\n }\r\n },\r\n /** Function to validate the value of the item before adding */\r\n beforeAdding: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Allows adding the same item multiple time */\r\n allowDuplicates: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Makes the autocomplete component check if list reached scroll end and emit infinite-scroll event */\r\n checkInfiniteScroll: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Function to create a new item to push into v-model (items) */\r\n createItem: {\r\n type: Function,\r\n default: (item) => item\r\n },\r\n /** Icon name of close icon on selected item */\r\n closeIcon: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.closeIcon', 'close');\r\n }\r\n },\r\n /** The first option will always be pre-selected (easier to just hit enter or tab) */\r\n keepFirst: Boolean,\r\n /** Accessibility label for the close button */\r\n ariaCloseLabel: String,\r\n /** Append autocomplete content to body */\r\n appendToBody: Boolean,\r\n rootClass: [String, Array, Function],\r\n expandedClass: [String, Array, Function],\r\n variantClass: [String, Array, Function],\r\n closeClass: [String, Array, Function],\r\n itemClass: [String, Array, Function],\r\n counterClass: [String, Array, Function],\r\n autocompleteClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.autocompleteClasses', {});\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n items: Array.isArray(this.modelValue) ? this.modelValue.slice(0) : (this.modelValue || []),\r\n newItem: '',\r\n isComposing: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-inputit'),\r\n { [this.computedClass('expandedClass', 'o-inputit--expanded')]: this.expanded }\r\n ];\r\n },\r\n containerClasses() {\r\n return [\r\n this.computedClass('containerClass', 'o-inputit__container'),\r\n { [this.computedClass('sizeClass', 'o-inputit__container--', this.size)]: this.size },\r\n ];\r\n },\r\n itemClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-inputit__item'),\r\n { [this.computedClass('variantClass', 'o-inputit__item--', this.variant)]: this.variant }\r\n ];\r\n },\r\n closeClasses() {\r\n return [\r\n this.computedClass('closeClass', 'o-inputit__item__close')\r\n ];\r\n },\r\n counterClasses() {\r\n return [\r\n this.computedClass('counterClass', 'o-inputit__counter')\r\n ];\r\n },\r\n autocompleteBind() {\r\n return {\r\n ...this.$attrs,\r\n 'root-class': this.computedClass('autocompleteClasses.rootClass', 'o-inputit__autocomplete'),\r\n 'input-classes': {\r\n 'input-class': this.computedClass('autocompleteClasses.inputClasses.inputClass', 'o-inputit__input'),\r\n },\r\n ...this.autocompleteClasses\r\n };\r\n },\r\n valueLength() {\r\n return this.newItem.trim().length;\r\n },\r\n hasDefaultSlot() {\r\n return !!this.$slots.default;\r\n },\r\n hasEmptySlot() {\r\n return !!this.$slots.empty;\r\n },\r\n hasHeaderSlot() {\r\n return !!this.$slots.header;\r\n },\r\n hasFooterSlot() {\r\n return !!this.$slots.footer;\r\n },\r\n /**\r\n * Show the input field if a maxitems hasn't been set or reached.\r\n */\r\n hasInput() {\r\n return this.maxitems == null || this.itemsLength < this.maxitems;\r\n },\r\n itemsLength() {\r\n return this.items.length;\r\n },\r\n /**\r\n * If input has onPasteSeparators prop,\r\n * returning new RegExp used to split pasted string.\r\n */\r\n separatorsAsRegExp() {\r\n const sep = this.onPasteSeparators;\r\n return sep.length ? new RegExp(sep.map((s) => {\r\n return s ? s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&') : null;\r\n }).join('|'), 'g') : null;\r\n },\r\n $elementRef() {\r\n return 'autocomplete';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When modelValue is changed set internal value.\r\n */\r\n modelValue(value) {\r\n this.items = Array.isArray(value) ? value.slice(0) : (value || []);\r\n },\r\n hasInput() {\r\n if (!this.hasInput)\r\n this.onBlur();\r\n }\r\n },\r\n methods: {\r\n addItem(item) {\r\n const itemToAdd = item || this.newItem.trim();\r\n if (itemToAdd) {\r\n if (!this.autocomplete) {\r\n const reg = this.separatorsAsRegExp;\r\n if (reg && itemToAdd.match(reg)) {\r\n itemToAdd.split(reg)\r\n .map((t) => t.trim())\r\n .filter((t) => t.length !== 0)\r\n .map(this.addItem);\r\n return;\r\n }\r\n }\r\n // Add the item input if it is not blank\r\n // or previously added (if not allowDuplicates).\r\n const add = !this.allowDuplicates ? this.items.indexOf(this.createItem(itemToAdd)) === -1 : true;\r\n if (add && this.beforeAdding(itemToAdd)) {\r\n this.items.push(this.createItem(itemToAdd));\r\n this.$emit('update:modelValue', this.items);\r\n this.$emit('add', itemToAdd);\r\n }\r\n }\r\n // after autocomplete events\r\n requestAnimationFrame(() => {\r\n this.newItem = '';\r\n this.$emit('typing', '');\r\n });\r\n },\r\n getNormalizedItemText(item) {\r\n if (typeof item === 'object') {\r\n item = getValueByPath(item, this.field);\r\n }\r\n return `${item}`;\r\n },\r\n customOnBlur(event) {\r\n // Add item on-blur if not select only\r\n if (!this.autocomplete)\r\n this.addItem();\r\n this.onBlur(event);\r\n },\r\n onSelect(option) {\r\n if (!option)\r\n return;\r\n this.addItem(option);\r\n this.$nextTick(() => {\r\n this.newItem = '';\r\n });\r\n },\r\n removeItem(index, event) {\r\n const item = this.items.splice(index, 1)[0];\r\n this.$emit('update:modelValue', this.items);\r\n this.$emit('remove', item);\r\n if (event)\r\n event.stopPropagation();\r\n if (this.openOnFocus && this.$refs.autocomplete) {\r\n this.$refs.autocomplete.focus();\r\n }\r\n return item;\r\n },\r\n removeLastItem() {\r\n if (this.itemsLength > 0) {\r\n this.removeItem(this.itemsLength - 1);\r\n }\r\n },\r\n keydown(event) {\r\n const { key } = event; // cannot destructure preventDefault (https://stackoverflow.com/a/49616808/2774496)\r\n if (this.removeOnKeys.indexOf(key) !== -1 && !this.newItem.length) {\r\n this.removeLastItem();\r\n }\r\n // Stop if is to accept select only\r\n if (this.autocomplete && !this.allowNew)\r\n return;\r\n if (this.confirmKeys.indexOf(key) >= 0) {\r\n // Allow Tab to advance to next field regardless\r\n if (key !== 'Tab')\r\n event.preventDefault();\r\n if (key === 'Enter' && this.isComposing)\r\n return;\r\n this.addItem();\r\n }\r\n },\r\n onTyping(event) {\r\n this.$emit('typing', event.trim());\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_autocomplete = resolveComponent(\"o-autocomplete\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(\"div\", {\n class: _ctx.containerClasses,\n onClick: _cache[6] || (_cache[6] = $event => _ctx.hasInput && _ctx.focus($event))\n }, [renderSlot(_ctx.$slots, \"selected\", {\n items: _ctx.items\n }, () => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.items, (item, index) => {\n return openBlock(), createBlock(\"span\", {\n key: _ctx.getNormalizedItemText(item) + index,\n class: _ctx.itemClasses\n }, [createVNode(\"span\", null, toDisplayString(_ctx.getNormalizedItemText(item)), 1\n /* TEXT */\n ), _ctx.closable ? createVNode(_component_o_icon, {\n key: 0,\n class: _ctx.closeClasses,\n clickable: \"\",\n both: \"\",\n icon: _ctx.closeIcon,\n onClick: $event => _ctx.removeItem(index, $event),\n \"aria-label\": _ctx.ariaCloseLabel\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"onClick\", \"aria-label\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))]), _ctx.hasInput ? createVNode(_component_o_autocomplete, mergeProps({\n key: 0,\n ref: \"autocomplete\",\n modelValue: _ctx.newItem,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.newItem = $event)\n }, _ctx.autocompleteBind, {\n data: _ctx.data,\n field: _ctx.field,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n maxlength: _ctx.maxlength,\n \"has-counter\": false,\n size: _ctx.size,\n disabled: _ctx.disabled,\n autocomplete: _ctx.nativeAutocomplete,\n \"open-on-focus\": _ctx.openOnFocus,\n \"keep-first\": _ctx.keepFirst,\n \"keep-open\": _ctx.openOnFocus,\n \"group-field\": _ctx.groupField,\n \"group-options\": _ctx.groupOptions,\n \"use-html5-validation\": _ctx.useHtml5Validation,\n \"check-infinite-scroll\": _ctx.checkInfiniteScroll,\n \"append-to-body\": _ctx.appendToBody,\n \"confirm-keys\": _ctx.confirmKeys,\n onTyping: _ctx.onTyping,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.customOnBlur,\n onKeydown: _ctx.keydown,\n onCompositionstart: _cache[2] || (_cache[2] = $event => _ctx.isComposing = true),\n onCompositionend: _cache[3] || (_cache[3] = $event => _ctx.isComposing = false),\n onSelect: _ctx.onSelect,\n \"onInfinite-scroll\": _cache[4] || (_cache[4] = $event => _ctx.$emit('infinite-scroll', $event)),\n \"onIcon-right-click\": _cache[5] || (_cache[5] = $event => _ctx.$emit('icon-right-click', $event))\n }), createSlots({\n _: 2\n }, [_ctx.hasHeaderSlot ? {\n name: \"header\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"header\")])\n } : undefined, _ctx.hasDefaultSlot ? {\n name: \"default\",\n fn: withCtx(props => [renderSlot(_ctx.$slots, \"default\", {\n option: props.option,\n index: props.index\n })])\n } : undefined, _ctx.hasEmptySlot ? {\n name: \"empty\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"empty\")])\n } : undefined, _ctx.hasFooterSlot ? {\n name: \"footer\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"footer\")])\n } : undefined]), 1040\n /* FULL_PROPS, DYNAMIC_SLOTS */\n , [\"modelValue\", \"data\", \"field\", \"icon\", \"icon-pack\", \"maxlength\", \"size\", \"disabled\", \"autocomplete\", \"open-on-focus\", \"keep-first\", \"keep-open\", \"group-field\", \"group-options\", \"use-html5-validation\", \"check-infinite-scroll\", \"append-to-body\", \"confirm-keys\", \"onTyping\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onSelect\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), _ctx.hasCounter && (_ctx.maxitems || _ctx.maxlength) ? (openBlock(), createBlock(\"small\", {\n key: 0,\n class: _ctx.counterClasses\n }, [_ctx.maxlength && _ctx.valueLength > 0 ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createTextVNode(toDisplayString(_ctx.valueLength) + \" / \" + toDisplayString(_ctx.maxlength), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : _ctx.maxitems ? (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.itemsLength) + \" / \" + toDisplayString(_ctx.maxitems), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/inputitems/Inputitems.vue\";\n\nvar index = {\r\n install(Vue) {\r\n registerComponent(Vue, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OInputitems };\n","// Polyfills for SSR\r\nconst isSSR = typeof window === 'undefined';\r\nconst HTMLElement = isSSR ? Object : window.HTMLElement;\r\nconst File = isSSR ? Object : window.File;\n\nexport { File as F, HTMLElement as H };\n","import { defineComponent, resolveComponent, openBlock, createBlock, Transition, withCtx, createVNode, renderSlot, createCommentVNode } from 'vue';\nimport { getValueByPath, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { H as HTMLElement } from './ssr-85c76d50.mjs';\n\n/**\r\n * A simple loading overlay\r\n * @displayName Loading\r\n * @style _loading.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OLoading',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin],\r\n configField: 'loading',\r\n emits: ['update:active', 'close', 'update:full-page'],\r\n props: {\r\n /** Whether loading is active or not, use v-model:active to make it two-way binding */\r\n active: Boolean,\r\n /** @ignore */\r\n programmatic: Object,\r\n /** @ignore */\r\n promise: Promise,\r\n container: [Object, Function, HTMLElement],\r\n /** Loader will overlay the full page */\r\n fullPage: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /* Custom animation (transition name) */\r\n animation: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'loading.animation', 'fade'); }\r\n },\r\n /** Can close Loading by pressing escape or clicking outside */\r\n canCancel: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Callback function to call after user canceled (pressed escape / clicked outside) */\r\n onCancel: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n /** Icon name */\r\n icon: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'loading.icon', 'loading'); }\r\n },\r\n /** Enable spin effect on icon */\r\n iconSpin: {\r\n type: Boolean,\r\n default: true\r\n },\r\n iconSize: {\r\n type: String,\r\n default: 'medium'\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n iconClass: [String, Function, Array],\r\n fullPageClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isActive: this.active || false,\r\n displayInFullPage: this.fullPage\r\n };\r\n },\r\n watch: {\r\n active(value) {\r\n this.isActive = value;\r\n },\r\n fullPage(value) {\r\n this.displayInFullPage = value;\r\n }\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-load'),\r\n { [this.computedClass('fullPageClass', 'o-load--fullpage')]: this.displayInFullPage }\r\n ];\r\n },\r\n overlayClasses() {\r\n return [\r\n this.computedClass('overlayClass', 'o-load__overlay')\r\n ];\r\n },\r\n iconClasses() {\r\n return [\r\n this.computedClass('iconClass', 'o-load__icon')\r\n ];\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Close the Modal if canCancel.\r\n */\r\n cancel(method) {\r\n if (!this.canCancel || !this.isActive)\r\n return;\r\n this.close({ action: 'cancel', method });\r\n },\r\n /**\r\n * Emit events, and destroy modal if it's programmatic.\r\n */\r\n close() {\r\n this.onCancel.apply(null, arguments);\r\n this.$emit('close');\r\n this.$emit('update:active', false);\r\n // Timeout for the animation complete before destroying\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.remove(this);\r\n }\r\n if (this.programmatic.resolve) {\r\n this.programmatic.resolve.apply(null, arguments);\r\n }\r\n this.isActive = false;\r\n window.requestAnimationFrame(() => {\r\n removeElement(this.$el);\r\n });\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (key === 'Escape' || key === 'Esc')\r\n this.cancel('escape');\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n mounted() {\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.add(this);\r\n }\r\n // Insert the Loading component in body tag\r\n // only if it's programmatic\r\n if (!this.container) {\r\n document.body.appendChild(this.$el);\r\n }\r\n else {\r\n this.displayInFullPage = false;\r\n this.$emit('update:full-page', false);\r\n this.container.appendChild(this.$el);\r\n }\r\n this.isActive = true;\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [_ctx.isActive ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.rootClasses\n }, [createVNode(\"div\", {\n class: _ctx.overlayClasses,\n onClick: _cache[1] || (_cache[1] = $event => _ctx.cancel('outside'))\n }, null, 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"default\", {}, () => [createVNode(_component_o_icon, {\n icon: _ctx.icon,\n spin: _ctx.iconSpin,\n size: _ctx.iconSize,\n class: _ctx.iconClasses,\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"spin\", \"size\", \"class\"])])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/loading/Loading.vue\";\n\nexport { script as s };\n","class InstanceRegistry {\r\n constructor() {\r\n this.entries = [];\r\n }\r\n add(entry) {\r\n this.entries.push(entry);\r\n }\r\n remove(entry) {\r\n let index = this.entries.indexOf(entry);\r\n this.entries.splice(index, 1);\r\n }\r\n walk(callback) {\r\n // Walk a copy of the array so that the callback is allowed to remove the instance\r\n this.entries = [...this.entries].filter((e) => {\r\n const ret = callback(e);\r\n return !(ret === true);\r\n });\r\n }\r\n}\n\nexport { InstanceRegistry as I };\n","import { createVNode, render } from 'vue';\nimport { merge } from './helpers.mjs';\nimport { VueInstance } from './config.mjs';\nimport { b as registerComponent, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './ssr-85c76d50.mjs';\nimport { s as script } from './Loading-20d29914.mjs';\nexport { s as OLoading } from './Loading-20d29914.mjs';\nimport { I as InstanceRegistry } from './InstanceRegistry-2fdb6ee8.mjs';\n\nlet localVueInstance;\r\nlet instances = new InstanceRegistry();\r\nconst LoadingProgrammatic = {\r\n open(params) {\r\n const defaultParam = {\r\n programmatic: { instances }\r\n };\r\n const propsData = merge(defaultParam, params);\r\n propsData.promise = new Promise((p1, p2) => {\r\n propsData.programmatic.resolve = p1;\r\n propsData.programmatic.reject = p2;\r\n });\r\n const app = localVueInstance || VueInstance;\r\n const vnode = createVNode(script, propsData);\r\n vnode.appContext = app._context;\r\n render(vnode, document.createElement('div'));\r\n return vnode.component.proxy;\r\n },\r\n closeAll() {\r\n instances.walk((entry) => {\r\n entry.close(...arguments);\r\n });\r\n }\r\n};\r\nvar index = {\r\n install(app) {\r\n localVueInstance = app;\r\n registerComponent(app, script);\r\n registerComponentProgrammatic(app, 'loading', LoadingProgrammatic);\r\n }\r\n};\n\nexport default index;\nexport { LoadingProgrammatic };\n","import { defineComponent, openBlock, createBlock, renderSlot, resolveComponent, createVNode, createCommentVNode, toDisplayString, resolveDynamicComponent, mergeProps, withCtx, Transition, withDirectives, vShow } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * A simple menu\r\n * @displayName Menu\r\n * @style _menu.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OMenu',\r\n configField: 'menu',\r\n mixins: [BaseComponentMixin],\r\n props: {\r\n accordion: {\r\n type: Boolean,\r\n default: true\r\n },\r\n activable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n rootClass: [String, Array, Function]\r\n },\r\n data() {\r\n return {\r\n menuItems: [],\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return this.computedClass('rootClass', 'o-menu');\r\n },\r\n },\r\n methods: {\r\n registerMenuItem(item) {\r\n this.menuItems.push(item);\r\n },\r\n resetMenu(excludedItems = []) {\r\n this.menuItems.forEach((item) => {\r\n if (!excludedItems.includes(item))\r\n item.reset();\r\n });\r\n },\r\n },\r\n provide() {\r\n return {\r\n registerMenuItem: this.registerMenuItem,\r\n resetMenu: this.resetMenu,\r\n accordion: () => this.accordion,\r\n activable: () => this.activable,\r\n };\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/menu/Menu.vue\";\n\nvar script$1 = defineComponent({\r\n name: 'OMenuList',\r\n configField: 'menu',\r\n mixins: [BaseComponentMixin],\r\n props: {\r\n ariaRole: String,\r\n label: String,\r\n icon: String,\r\n iconPack: String,\r\n /**\r\n * Icon size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n listClass: [String, Array, Function],\r\n listLabelClass: [String, Array, Function],\r\n },\r\n computed: {\r\n listClasses() {\r\n return this.computedClass('listClass', 'o-menu-list');\r\n },\r\n labelClasses() {\r\n return this.computedClass('listLabelClass', 'o-menu-label');\r\n },\r\n computedAriaRole() {\r\n return this.ariaRole === 'menu' ? this.ariaRole : null;\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", null, [_ctx.label || _ctx.$slots.label ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.labelClasses\n }, [_ctx.label && _ctx.icon ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.label ? (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(_ctx.label), 1\n /* TEXT */\n )) : renderSlot(_ctx.$slots, \"label\", {\n key: 2\n })], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), createVNode(\"ul\", {\n class: _ctx.listClasses,\n role: _ctx.computedAriaRole\n }, [renderSlot(_ctx.$slots, \"default\")], 10\n /* CLASS, PROPS */\n , [\"role\"])]);\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/menu/MenuList.vue\";\n\nvar script$2 = defineComponent({\r\n name: 'OMenuItem',\r\n mixins: [BaseComponentMixin],\r\n configField: 'menu',\r\n inheritAttrs: false,\r\n props: {\r\n label: String,\r\n active: Boolean,\r\n expanded: Boolean,\r\n disabled: Boolean,\r\n iconPack: String,\r\n icon: String,\r\n animation: {\r\n type: String,\r\n default: 'slide'\r\n },\r\n tag: {\r\n type: String,\r\n default: 'a'\r\n },\r\n ariaRole: {\r\n type: String,\r\n default: ''\r\n },\r\n /**\r\n * Icon size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n itemClass: [String, Array, Function],\r\n itemActiveClass: [String, Array, Function],\r\n itemDisabledClass: [String, Array, Function],\r\n itemIconTextClass: [String, Array, Function],\r\n itemSubmenuClass: [String, Array, Function],\r\n itemWrapperClass: [String, Array, Function],\r\n },\r\n data() {\r\n return {\r\n newActive: this.active,\r\n newExpanded: this.expanded\r\n };\r\n },\r\n computed: {\r\n ariaRoleMenu() {\r\n return this.ariaRole === 'menuitem' ? this.ariaRole : null;\r\n },\r\n itemClasses() {\r\n return {\r\n [this.computedClass('itemClass', 'o-menu-item')]: true,\r\n [this.computedClass('itemActiveClass', 'o-menu-item--active')]: this.newActive,\r\n [this.computedClass('itemDisabledClass', 'o-menu-item--disabled')]: this.disabled,\r\n [this.computedClass('itemIconTextClass', 'o-menu-item--icon-text')]: this.icon,\r\n };\r\n },\r\n submenuClasses() {\r\n return this.computedClass('itemSubmenuClass', 'o-menu-item__submenu');\r\n },\r\n wrapperClasses() {\r\n return this.computedClass('itemWrapperClass', 'o-menu-item__wrapper');\r\n },\r\n },\r\n watch: {\r\n active(value) {\r\n this.newActive = value;\r\n },\r\n expanded(value) {\r\n this.newExpanded = value;\r\n }\r\n },\r\n methods: {\r\n handleClick() {\r\n if (this.disabled)\r\n return;\r\n this.triggerReset();\r\n this.newExpanded = this.$props.expanded || !this.newExpanded;\r\n this.$emit('update:expanded', this.newExpanded);\r\n if (this.activable) {\r\n this.newActive = true;\r\n this.$emit('update:active', this.newActive);\r\n }\r\n },\r\n triggerReset(child) {\r\n // The point of this method is to collect references to the clicked item and any parent, this way we can skip resetting those elements.\r\n if (this.triggerParentReset) {\r\n this.triggerParentReset(this);\r\n }\r\n else if (this.resetMenu) {\r\n this.resetMenu([this, child]);\r\n }\r\n },\r\n reset() {\r\n if (!this.$parent.$data.isMenu || (this.$parent.$data.isMenu && this.accordion)) {\r\n this.newExpanded = false;\r\n this.$emit('update:expanded', this.newExpanded);\r\n }\r\n if (this.activable) {\r\n this.newActive = false;\r\n this.$emit('update:active', this.newActive);\r\n }\r\n },\r\n },\r\n mounted() {\r\n if (this.registerMenuItem) {\r\n this.registerMenuItem(this);\r\n }\r\n },\r\n provide() {\r\n return {\r\n triggerParentReset: this.triggerReset,\r\n };\r\n },\r\n inject: {\r\n registerMenuItem: { default: false },\r\n resetMenu: { default: false },\r\n triggerParentReset: { default: false },\r\n accordion: { default: false },\r\n activable: { default: false }\r\n }\r\n});\n\nconst _hoisted_1$1 = {\n key: 1\n};\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"li\", {\n role: _ctx.ariaRoleMenu,\n class: _ctx.wrapperClasses\n }, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps(_ctx.$attrs, {\n class: _ctx.itemClasses,\n onClick: _cache[1] || (_cache[1] = $event => _ctx.handleClick())\n }), {\n default: withCtx(() => [_ctx.icon ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.label ? (openBlock(), createBlock(\"span\", _hoisted_1$1, toDisplayString(_ctx.label), 1\n /* TEXT */\n )) : renderSlot(_ctx.$slots, \"label\", {\n key: 2,\n expanded: _ctx.newExpanded,\n active: _ctx.newActive\n })]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"class\"])), createCommentVNode(\" sub menu items \"), _ctx.$slots.default ? createVNode(Transition, {\n key: 0,\n name: _ctx.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"ul\", {\n class: _ctx.submenuClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n ), [[vShow, _ctx.newExpanded]])]),\n _: 3\n }, 8\n /* PROPS */\n , [\"name\"]) : createCommentVNode(\"v-if\", true)], 10\n /* CLASS, PROPS */\n , [\"role\"]);\n}\n\nscript$2.render = render$2;\nscript$2.__file = \"src/components/menu/MenuItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n registerComponent(app, script$2);\r\n }\r\n};\n\nexport default index;\nexport { script as OMenu, script$2 as OMenuItem, script$1 as OMenuList };\n","import { defineComponent, resolveComponent, resolveDirective, openBlock, createBlock, Transition, withCtx, withDirectives, createVNode, resolveDynamicComponent, mergeProps, toHandlers, toDisplayString, renderSlot, vShow, createCommentVNode, render as render$1 } from 'vue';\nimport { getValueByPath, toCssDimension, removeElement, merge } from './helpers.mjs';\nimport { getOptions, VueInstance } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { d as directive } from './trapFocus-dc03669f.mjs';\nimport { I as InstanceRegistry } from './InstanceRegistry-2fdb6ee8.mjs';\n\n/**\r\n * Classic modal overlay to include any content you may need\r\n * @displayName Modal\r\n * @style _modal.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OModal',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n configField: 'modal',\r\n directives: {\r\n trapFocus: directive\r\n },\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n emits: ['update:active', 'close'],\r\n props: {\r\n /** Whether modal is active or not, use v-model:active to make it two-way binding */\r\n active: Boolean,\r\n /** Component to be injected, used to open a component modal programmatically. Close modal within the component by emitting a 'close' event — this.$emit('close') */\r\n component: [Object, Function],\r\n /** Text content */\r\n content: String,\r\n /** @ignore */\r\n programmatic: Object,\r\n /** @ignore */\r\n promise: Promise,\r\n /** Props to be binded to the injected component */\r\n props: Object,\r\n /** Events to be binded to the injected component */\r\n events: Object,\r\n /** Width of the Modal */\r\n width: {\r\n type: [String, Number],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.width', 960);\r\n }\r\n },\r\n /** Custom animation (transition name) */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.animation', 'zoom-out');\r\n }\r\n },\r\n /**\r\n * Can close Modal by clicking 'X', pressing escape or clicking outside\r\n * @values escape, x, outside, button\r\n */\r\n canCancel: {\r\n type: [Array, Boolean],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.canCancel', ['escape', 'x', 'outside', 'button']);\r\n }\r\n },\r\n /** Callback function to call after user canceled (clicked 'X' / pressed escape / clicked outside) */\r\n onCancel: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n /** Callback function to call after close (programmatically close or user canceled) */\r\n onClose: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n /**\r\n * clip to remove the body scrollbar, keep to have a non scrollable scrollbar to avoid shifting background, but will set body to position fixed, might break some layouts\r\n * @values keep, clip\r\n */\r\n scroll: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.scroll', 'keep');\r\n }\r\n },\r\n /** Display modal as full screen */\r\n fullScreen: Boolean,\r\n /** Trap focus inside the modal. */\r\n trapFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.trapFocus', true);\r\n }\r\n },\r\n ariaRole: {\r\n type: String,\r\n validator: (value) => {\r\n return ['dialog', 'alertdialog'].indexOf(value) >= 0;\r\n }\r\n },\r\n ariaModal: Boolean,\r\n ariaLabel: String,\r\n /** Destroy modal on hide */\r\n destroyOnHide: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.destroyOnHide', true);\r\n }\r\n },\r\n /** Automatically focus modal when active */\r\n autoFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.autoFocus', true);\r\n }\r\n },\r\n /** Icon name */\r\n closeIcon: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.closeIcon', 'close');\r\n }\r\n },\r\n closeIconSize: {\r\n type: String,\r\n default: 'medium'\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n closeClass: [String, Function, Array],\r\n fullScreenClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n scrollClipClass: [String, Function, Array],\r\n noScrollClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isActive: this.active || false,\r\n savedScrollTop: null,\r\n newWidth: toCssDimension(this.width),\r\n animating: !this.active,\r\n destroyed: !this.active\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-modal'),\r\n { [this.computedClass('mobileClass', 'o-modal--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n overlayClasses() {\r\n return [\r\n this.computedClass('overlayClass', 'o-modal__overlay')\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-modal__content'),\r\n { [this.computedClass('fullScreenClass', 'o-modal__content--full-screen')]: this.fullScreen }\r\n ];\r\n },\r\n closeClasses() {\r\n return [\r\n this.computedClass('closeClass', 'o-modal__close')\r\n ];\r\n },\r\n scrollClass() {\r\n if (this.scroll === 'clip') {\r\n return this.computedClass('scrollClipClass', 'o-clipped');\r\n }\r\n return this.computedClass('noScrollClass', 'o-noscroll');\r\n },\r\n cancelOptions() {\r\n return typeof this.canCancel === 'boolean'\r\n ? this.canCancel\r\n ? getValueByPath(getOptions(), 'modal.canCancel', ['escape', 'x', 'outside', 'button'])\r\n : []\r\n : this.canCancel;\r\n },\r\n showX() {\r\n return this.cancelOptions.indexOf('x') >= 0;\r\n },\r\n customStyle() {\r\n if (!this.fullScreen) {\r\n return { maxWidth: this.newWidth };\r\n }\r\n return null;\r\n }\r\n },\r\n watch: {\r\n active(value) {\r\n this.isActive = value;\r\n },\r\n isActive(value) {\r\n if (value)\r\n this.destroyed = false;\r\n this.handleScroll();\r\n this.$nextTick(() => {\r\n if (value && this.$el && this.$el.focus && this.autoFocus) {\r\n this.$el.focus();\r\n }\r\n });\r\n }\r\n },\r\n methods: {\r\n handleScroll() {\r\n if (typeof window === 'undefined')\r\n return;\r\n if (this.scroll === 'clip') {\r\n if (this.scrollClass) {\r\n if (this.isActive) {\r\n document.documentElement.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n return;\r\n }\r\n }\r\n this.savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n if (this.isActive) {\r\n document.body.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.body.classList.remove(this.scrollClass);\r\n }\r\n }\r\n if (this.isActive) {\r\n document.body.style.top = `-${this.savedScrollTop}px`;\r\n return;\r\n }\r\n document.documentElement.scrollTop = this.savedScrollTop;\r\n document.body.style.top = null;\r\n this.savedScrollTop = null;\r\n },\r\n /**\r\n * Close the Modal if canCancel and call the onCancel prop (function).\r\n */\r\n cancel(method) {\r\n if (this.cancelOptions.indexOf(method) < 0)\r\n return;\r\n this.onCancel.apply(null, arguments);\r\n this.close({ action: 'cancel', method });\r\n },\r\n /**\r\n * Emit events, and destroy modal if it's programmatic.\r\n */\r\n close() {\r\n this.isActive = false;\r\n if (this.destroyOnHide) {\r\n this.destroyed = true;\r\n }\r\n this.$emit('update:active', false);\r\n this.onClose.apply(null, arguments);\r\n // Waiting for the animation complete before destroying\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.remove(this);\r\n }\r\n if (this.programmatic.resolve) {\r\n this.programmatic.resolve.apply(null, arguments);\r\n }\r\n window.requestAnimationFrame(() => {\r\n removeElement(this.$el);\r\n });\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.isActive && (key === 'Escape' || key === 'Esc'))\r\n this.cancel('escape');\r\n },\r\n /**\r\n * Transition after-enter hook\r\n */\r\n afterEnter() {\r\n this.animating = false;\r\n },\r\n /**\r\n * Transition before-leave hook\r\n */\r\n beforeLeave() {\r\n this.animating = true;\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n mounted() {\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.add(this);\r\n }\r\n // Insert the Modal component in body tag\r\n // only if it's programmatic\r\n document.body.appendChild(this.$el);\r\n this.isActive = true;\r\n }\r\n else if (this.isActive)\r\n this.handleScroll();\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n // reset scroll\r\n const savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n document.body.classList.remove(this.scrollClass);\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n document.documentElement.scrollTop = savedScrollTop;\r\n document.body.style.top = null;\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _directive_trap_focus = resolveDirective(\"trap-focus\");\n\n return openBlock(), createBlock(Transition, {\n name: _ctx.animation,\n \"onAfter-enter\": _ctx.afterEnter,\n \"onBefore-leave\": _ctx.beforeLeave\n }, {\n default: withCtx(() => [!_ctx.destroyed ? withDirectives((openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.rootClasses,\n tabindex: -1,\n role: _ctx.ariaRole,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-modal\": _ctx.ariaModal\n }, [createVNode(\"div\", {\n class: _ctx.overlayClasses,\n onClick: _cache[1] || (_cache[1] = $event => _ctx.cancel('outside'))\n }, null, 2\n /* CLASS */\n ), createVNode(\"div\", {\n class: _ctx.contentClasses,\n style: _ctx.customStyle\n }, [_ctx.component ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.component), mergeProps({\n key: 0\n }, _ctx.props, toHandlers(_ctx.events || {}), {\n onClose: _ctx.close\n }), null, 16\n /* FULL_PROPS */\n , [\"onClose\"])) : _ctx.content ? (openBlock(), createBlock(\"div\", _hoisted_1, toDisplayString(_ctx.content), 1\n /* TEXT */\n )) : renderSlot(_ctx.$slots, \"default\", {\n key: 2\n }), _ctx.showX ? withDirectives(createVNode(_component_o_icon, {\n key: 3,\n clickable: \"\",\n both: \"\",\n class: _ctx.closeClasses,\n icon: _ctx.closeIcon,\n size: _ctx.closeIconSize,\n onClick: _cache[2] || (_cache[2] = $event => _ctx.cancel('x'))\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"size\"]), [[vShow, !_ctx.animating]]) : createCommentVNode(\"v-if\", true)], 6\n /* CLASS, STYLE */\n )], 10\n /* CLASS, PROPS */\n , [\"role\", \"aria-label\", \"aria-modal\"])), [[vShow, _ctx.isActive], [_directive_trap_focus, _ctx.trapFocus]]) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\", \"onAfter-enter\", \"onBefore-leave\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/modal/Modal.vue\";\n\nlet localVueInstance;\r\nlet instances = new InstanceRegistry();\r\nconst ModalProgrammatic = {\r\n open(params) {\r\n let newParams;\r\n if (typeof params === 'string') {\r\n newParams = {\r\n content: params\r\n };\r\n }\r\n else {\r\n newParams = params;\r\n }\r\n const defaultParam = {\r\n programmatic: { instances }\r\n };\r\n let slot;\r\n if (Array.isArray(newParams.content)) {\r\n slot = newParams.content;\r\n delete newParams.content;\r\n }\r\n const propsData = merge(defaultParam, newParams);\r\n propsData.promise = new Promise((p1, p2) => {\r\n propsData.programmatic.resolve = p1;\r\n propsData.programmatic.reject = p2;\r\n });\r\n const app = localVueInstance || VueInstance;\r\n const defaultSlot = () => { return slot; };\r\n const vnode = createVNode(script, propsData, defaultSlot);\r\n vnode.appContext = app._context;\r\n render$1(vnode, document.createElement('div'));\r\n return vnode.component.proxy;\r\n },\r\n closeAll() {\r\n console.log(instances);\r\n instances.walk((entry) => {\r\n entry.close(...arguments);\r\n });\r\n }\r\n};\r\nvar index = {\r\n install(app) {\r\n localVueInstance = app;\r\n registerComponent(app, script);\r\n registerComponentProgrammatic(app, 'modal', ModalProgrammatic);\r\n }\r\n};\n\nexport default index;\nexport { ModalProgrammatic, script as OModal };\n","import { resolveComponent, openBlock, createBlock, Transition, withCtx, withDirectives, createVNode, createCommentVNode, resolveDynamicComponent, mergeProps, toHandlers, renderSlot, vShow, defineComponent, render as render$2 } from 'vue';\nimport { getValueByPath, removeElement, merge } from './helpers.mjs';\nimport { getOptions, VueInstance } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { I as InstanceRegistry } from './InstanceRegistry-2fdb6ee8.mjs';\n\nvar MessageMixin = {\r\n components: {\r\n [script$2.name]: script$2\r\n },\r\n props: {\r\n /** Whether modal is active or not, use the .sync modifier (Vue 2.x) or v-model:active (Vue 3.x) to make it two-way binding */\r\n active: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Adds an 'X' button that closes the notification. */\r\n closable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Message text (can contain HTML). */\r\n message: String,\r\n /** Type (color) of the notification, optional. */\r\n type: String,\r\n /** Adds an icon on the left side depending on the type (or the icon prop if defined). */\r\n hasIcon: Boolean,\r\n /** Icon name to use with has-icon. */\r\n icon: String,\r\n /** Icon pack to use. */\r\n iconPack: String,\r\n /** Icon size */\r\n iconSize: {\r\n type: String,\r\n default: 'large'\r\n },\r\n /** Hide notification after duration only not programmatic. */\r\n autoClose: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Visibility duration in miliseconds. */\r\n duration: {\r\n type: Number,\r\n default: 2000\r\n }\r\n },\r\n data() {\r\n return {\r\n isActive: this.active\r\n };\r\n },\r\n watch: {\r\n active(value) {\r\n this.isActive = value;\r\n },\r\n isActive(value) {\r\n if (value) {\r\n this.setAutoClose();\r\n }\r\n else {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n /**\r\n * Icon name (MDI) based on type.\r\n */\r\n computedIcon() {\r\n if (this.icon) {\r\n return this.icon;\r\n }\r\n switch (this.type) {\r\n case 'info':\r\n return 'information';\r\n case 'success':\r\n return 'check-circle';\r\n case 'warning':\r\n return 'alert';\r\n case 'danger':\r\n return 'alert-circle';\r\n default:\r\n return null;\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Close the Message and emit events.\r\n */\r\n close() {\r\n this.isActive = false;\r\n this.$emit('close', ...arguments);\r\n this.$emit('update:active', false);\r\n },\r\n /**\r\n * Set timer to auto close message\r\n */\r\n setAutoClose() {\r\n if (this.autoClose) {\r\n this.timer = setTimeout(() => {\r\n if (this.isActive) {\r\n this.close({ action: 'close', method: 'timeout' });\r\n }\r\n }, this.duration);\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.setAutoClose();\r\n }\r\n};\n\n/**\r\n * Bold notification blocks to alert your users of something\r\n * @displayName Notification\r\n * @requires ./NotificationNotice.vue\r\n * @style _notification.scss\r\n */\r\nvar script = {\r\n name: 'ONotification',\r\n configField: 'notification',\r\n mixins: [BaseComponentMixin, MessageMixin],\r\n emits: ['update:active', 'close'],\r\n props: {\r\n /**\r\n * Which position the notification will appear when programmatically\r\n * @values top-right, top, top-left, bottom-right, bottom, bottom-left\r\n */\r\n position: String,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /**\r\n * Label for the close button, to be read by accessibility screenreaders.\r\n */\r\n ariaCloseLabel: String,\r\n /**\r\n * Size of close icon\r\n */\r\n closeIconSize: {\r\n type: String,\r\n default: 'small'\r\n },\r\n /**\r\n * Custom animation (transition name).\r\n */\r\n animation: {\r\n type: String,\r\n default: 'fade'\r\n },\r\n /** Component to be injected, used to open a component modal programmatically. Close modal within the component by emitting a 'close' event — this.$emit('close') */\r\n component: [Object, Function],\r\n /** Props to be binded to the injected component */\r\n props: Object,\r\n /** Events to be binded to the injected component */\r\n events: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n /** Close icon name */\r\n closeIcon: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.closeIcon', 'close');\r\n }\r\n },\r\n rootClass: [String, Function, Array],\r\n closeClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n iconClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n wrapperClass: [String, Function, Array],\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-notification'),\r\n { [this.computedClass('variantClass', 'o-notification--', this.variant)]: this.variant },\r\n { [this.computedClass('positionClass', 'o-notification--', this.position)]: this.position },\r\n ];\r\n },\r\n wrapperClasses() {\r\n return [\r\n this.computedClass('wrapperClass', 'o-notification__wrapper')\r\n ];\r\n },\r\n iconClasses() {\r\n return [\r\n this.computedClass('iconClass', 'o-notification__icon')\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-notification__content')\r\n ];\r\n },\r\n closeClasses() {\r\n return [\r\n this.computedClass('closeClass', 'o-notification__close')\r\n ];\r\n },\r\n },\r\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(Transition, {\n name: $props.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"article\", {\n class: $options.rootClasses\n }, [_ctx.closable ? (openBlock(), createBlock(\"button\", {\n key: 0,\n class: $options.closeClasses,\n type: \"button\",\n onClick: _cache[1] || (_cache[1] = $event => _ctx.close({\n action: 'close',\n method: 'x'\n })),\n \"aria-label\": $props.ariaCloseLabel\n }, [createVNode(_component_o_icon, {\n clickable: \"\",\n pack: _ctx.iconPack,\n both: \"\",\n icon: $props.closeIcon,\n size: $props.closeIconSize\n }, null, 8\n /* PROPS */\n , [\"pack\", \"icon\", \"size\"])], 10\n /* CLASS, PROPS */\n , [\"aria-label\"])) : createCommentVNode(\"v-if\", true), $props.component ? (openBlock(), createBlock(resolveDynamicComponent($props.component), mergeProps({\n key: 1\n }, $props.props, toHandlers($props.events), {\n onClose: _ctx.close\n }), null, 16\n /* FULL_PROPS */\n , [\"onClose\"])) : createCommentVNode(\"v-if\", true), _ctx.$slots.default || _ctx.message ? (openBlock(), createBlock(\"div\", {\n key: 2,\n class: $options.wrapperClasses\n }, [_ctx.computedIcon ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.computedIcon,\n pack: _ctx.iconPack,\n class: $options.iconClasses,\n both: \"\",\n size: _ctx.iconSize,\n \"aria-hidden\": \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"class\", \"size\"]) : createCommentVNode(\"v-if\", true), createVNode(\"div\", {\n class: $options.contentClasses\n }, [_ctx.message ? (openBlock(), createBlock(\"span\", {\n key: 0,\n innerHTML: _ctx.message\n }, null, 8\n /* PROPS */\n , [\"innerHTML\"])) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n closeNotification: _ctx.close\n })], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), [[vShow, _ctx.isActive]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/notification/Notification.vue\";\n\nvar NoticeMixin = {\r\n props: {\r\n /** Type (color) of the notification, optional. */\r\n type: {\r\n type: String,\r\n },\r\n /** Message text (can contain HTML). */\r\n message: [String, Array],\r\n /** Visibility duration in miliseconds. */\r\n duration: {\r\n type: Number,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.duration', 1000);\r\n }\r\n },\r\n /** If should queue with others notices (snackbar/toast/notification). */\r\n queue: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.noticeQueue', undefined);\r\n }\r\n },\r\n /** Show the Notification indefinitely until it is dismissed when programmatically. */\r\n indefinite: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Which position the notification will appear when programmatically. */\r\n position: {\r\n type: String,\r\n default: 'top',\r\n validator(value) {\r\n return [\r\n 'top-right',\r\n 'top',\r\n 'top-left',\r\n 'bottom-right',\r\n 'bottom',\r\n 'bottom-left'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /** DOM element the toast will be created on. Note that this also changes the position of the toast from fixed to absolute. Meaning that the container should be fixed. */\r\n container: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.containerElement', undefined);\r\n }\r\n },\r\n /** @ignore */\r\n programmatic: Object,\r\n /** @ignore */\r\n promise: Promise,\r\n /** Callback function to call after close (programmatically close or user canceled) */\r\n onClose: {\r\n type: Function,\r\n default: () => { }\r\n }\r\n },\r\n data() {\r\n return {\r\n isActive: false,\r\n parentTop: null,\r\n parentBottom: null,\r\n newDuration: this.duration,\r\n newContainer: this.container\r\n };\r\n },\r\n computed: {\r\n correctParent() {\r\n switch (this.position) {\r\n case 'top-right':\r\n case 'top':\r\n case 'top-left':\r\n return this.parentTop;\r\n case 'bottom-right':\r\n case 'bottom':\r\n case 'bottom-left':\r\n return this.parentBottom;\r\n }\r\n },\r\n transition() {\r\n switch (this.position) {\r\n case 'top-right':\r\n case 'top':\r\n case 'top-left':\r\n return {\r\n enter: 'fadeInDown',\r\n leave: 'fadeOut'\r\n };\r\n case 'bottom-right':\r\n case 'bottom':\r\n case 'bottom-left':\r\n return {\r\n enter: 'fadeInUp',\r\n leave: 'fadeOut'\r\n };\r\n }\r\n }\r\n },\r\n methods: {\r\n shouldQueue() {\r\n if (!this.queue)\r\n return false;\r\n return (this.parentTop.childElementCount > 0 ||\r\n this.parentBottom.childElementCount > 0);\r\n },\r\n close() {\r\n clearTimeout(this.timer);\r\n this.$emit('close');\r\n this.onClose.apply(null, arguments);\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.remove(this);\r\n }\r\n if (this.programmatic.resolve) {\r\n this.programmatic.resolve.apply(null, arguments);\r\n }\r\n }\r\n // Timeout for the animation complete before destroying\r\n setTimeout(() => {\r\n this.isActive = false;\r\n removeElement(this.$el);\r\n }, 150);\r\n },\r\n showNotice() {\r\n if (this.shouldQueue())\r\n this.correctParent.innerHTML = '';\r\n this.correctParent.insertAdjacentElement('afterbegin', this.$el);\r\n this.isActive = true;\r\n if (!this.indefinite) {\r\n this.timer = setTimeout(() => this.timeoutCallback(), this.newDuration);\r\n }\r\n },\r\n setupContainer() {\r\n if (this.rootClasses() && this.positionClasses('top') && this.positionClasses('bottom')) {\r\n this.parentTop = document.querySelector((this.newContainer ? this.newContainer : 'body') + `>.${this.rootClasses().join('.')}.${this.positionClasses('top').join('.')}`);\r\n this.parentBottom = document.querySelector((this.newContainer ? this.newContainer : 'body') + `>.${this.rootClasses().join('.')}.${this.positionClasses('bottom').join('.')}`);\r\n if (this.parentTop && this.parentBottom)\r\n return;\r\n if (!this.parentTop) {\r\n this.parentTop = document.createElement('div');\r\n this.parentTop.className = `${this.rootClasses().join(' ')} ${this.positionClasses('top').join(' ')}`;\r\n }\r\n if (!this.parentBottom) {\r\n this.parentBottom = document.createElement('div');\r\n this.parentBottom.className = `${this.rootClasses().join(' ')} ${this.positionClasses('bottom').join(' ')}`;\r\n }\r\n const container = document.querySelector(this.newContainer) || document.body;\r\n container.appendChild(this.parentTop);\r\n container.appendChild(this.parentBottom);\r\n if (this.newContainer) {\r\n const classes = this.noticeCustomContainerClasses();\r\n if (classes && classes.length) {\r\n classes.filter((c) => !!c).forEach((c) => {\r\n this.parentTop.classList.add(c);\r\n this.parentBottom.classList.add(c);\r\n });\r\n }\r\n }\r\n }\r\n },\r\n timeoutCallback() {\r\n return this.close({ action: 'close', method: 'timeout' });\r\n }\r\n },\r\n beforeMount() {\r\n this.setupContainer();\r\n },\r\n mounted() {\r\n if (this.programmatic && this.programmatic.instances) {\r\n this.programmatic.instances.add(this);\r\n }\r\n this.showNotice();\r\n }\r\n};\n\n/**\r\n * @displayName Notification Notice\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'ONotificationNotice',\r\n configField: 'notification',\r\n mixins: [BaseComponentMixin, NoticeMixin],\r\n props: {\r\n propsNotification: Object,\r\n noticeClass: [String, Function, Array],\r\n noticePositionClass: [String, Function, Array],\r\n noticeCustomContainerClass: [String, Function, Array],\r\n },\r\n emits: ['update:active', 'close'],\r\n methods: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('noticeClass', 'o-notices'),\r\n ];\r\n },\r\n positionClasses(position) {\r\n return [\r\n this.computedClass('noticePositionClass', 'o-notices--', position),\r\n ];\r\n },\r\n noticeCustomContainerClasses() {\r\n return [\r\n this.computedClass('noticeCustomContainerClass', 'o-notices__custom-container')\r\n ];\r\n },\r\n timeoutCallback() {\r\n return this.$refs.notification.close({ action: 'close', method: 'timeout' });\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_notification = resolveComponent(\"o-notification\");\n\n return openBlock(), createBlock(_component_o_notification, mergeProps(_ctx.propsNotification, {\n ref: \"notification\",\n onClose: _ctx.close\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"onClose\"]);\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/notification/NotificationNotice.vue\";\n\nlet localVueInstance;\r\nlet instances = new InstanceRegistry();\r\nconst NotificationProgrammatic = {\r\n open(params) {\r\n let newParams;\r\n if (typeof params === 'string') {\r\n newParams = {\r\n message: params\r\n };\r\n }\r\n else {\r\n newParams = params;\r\n }\r\n const defaultParam = {\r\n programmatic: { instances },\r\n position: getValueByPath(getOptions(), 'notification.position', 'top-right'),\r\n closable: params.closable || getValueByPath(getOptions(), 'notification.closable', false)\r\n };\r\n let slot;\r\n if (Array.isArray(newParams.message)) {\r\n slot = newParams.message;\r\n delete newParams.message;\r\n }\r\n newParams.active = true;\r\n const propsData = merge(defaultParam, newParams);\r\n propsData.promise = new Promise((p1, p2) => {\r\n propsData.programmatic.resolve = p1;\r\n propsData.programmatic.reject = p2;\r\n });\r\n const app = localVueInstance || VueInstance;\r\n propsData.propsNotification = Object.assign({}, propsData);\r\n propsData.propsNotification.isActive = true;\r\n const defaultSlot = () => { return slot; };\r\n const vnode = createVNode(script$1, propsData, defaultSlot);\r\n vnode.appContext = app._context;\r\n render$2(vnode, document.createElement('div'));\r\n return vnode.component.proxy;\r\n },\r\n closeAll() {\r\n instances.walk((entry) => {\r\n entry.close(...arguments);\r\n });\r\n }\r\n};\r\nvar index = {\r\n install(app) {\r\n localVueInstance = app;\r\n registerComponent(app, script);\r\n registerComponentProgrammatic(app, 'notification', NotificationProgrammatic);\r\n }\r\n};\n\nexport default index;\nexport { NotificationProgrammatic, script as ONotification };\n","import { defineComponent, openBlock, createBlock, resolveDynamicComponent, mergeProps, withModifiers, withCtx, renderSlot, createTextVNode, toDisplayString, resolveComponent, createVNode, Fragment, createCommentVNode, renderList } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\n\nvar script = defineComponent({\r\n name: 'OPaginationButton',\r\n inject: ['$pagination'],\r\n configField: 'pagination',\r\n props: {\r\n page: {\r\n type: Object,\r\n required: true\r\n },\r\n tag: {\r\n type: String,\r\n default: 'a',\r\n validator: (value) => getValueByPath(getOptions(), 'linkTags', ['a', 'button', 'input', 'router-link', 'nuxt-link']).indexOf(value) >= 0\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n linkClass: [String, Array, Object],\r\n linkCurrentClass: [String, Array, Object]\r\n },\r\n computed: {\r\n linkClasses() {\r\n return [\r\n this.linkClass || [...this.$pagination.linkClasses],\r\n this.page.class,\r\n { [this.linkCurrentClass || this.$pagination.linkCurrentClasses]: this.page.isCurrent }\r\n ];\r\n },\r\n href() {\r\n if (this.tag === 'a') {\r\n return '#';\r\n }\r\n return '';\r\n },\r\n isDisabled() {\r\n if (this.tag === 'a')\r\n return null;\r\n return this.disabled || this.page.disabled;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps({\n role: \"button\",\n href: _ctx.href,\n disabled: _ctx.isDisabled,\n class: _ctx.linkClasses\n }, _ctx.$attrs, {\n onClick: withModifiers(_ctx.page.click, [\"prevent\"]),\n \"aria-label\": _ctx.page['aria-label'],\n \"aria-current\": _ctx.page.isCurrent\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\", {}, () => [createTextVNode(toDisplayString(_ctx.page.number), 1\n /* TEXT */\n )])]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"href\", \"disabled\", \"class\", \"onClick\", \"aria-label\", \"aria-current\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/pagination/PaginationButton.vue\";\n\n/**\r\n * A responsive and flexible pagination\r\n * @displayName Pagination\r\n * @style _pagination.scss\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OPagination',\r\n components: {\r\n [script$2.name]: script$2,\r\n [script.name]: script\r\n },\r\n configField: 'pagination',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n provide() {\r\n return {\r\n $pagination: this\r\n };\r\n },\r\n emits: ['update:active', 'change', 'update:current'],\r\n props: {\r\n /** Total count of items */\r\n total: [Number, String],\r\n /** Items count for each page */\r\n perPage: {\r\n type: [Number, String],\r\n default: () => { return getValueByPath(getOptions(), 'pagination.perPage', 20); }\r\n },\r\n /** Current page number, use v-model:current to make it two-way binding */\r\n current: {\r\n type: [Number, String],\r\n default: 1\r\n },\r\n /** Number of pagination items to show before current page */\r\n rangeBefore: {\r\n type: [Number, String],\r\n default: 1\r\n },\r\n /** Number of pagination items to show after current page */\r\n rangeAfter: {\r\n type: [Number, String],\r\n default: 1\r\n },\r\n /**\r\n * Pagination size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Simple style */\r\n simple: Boolean,\r\n /** Rounded button styles */\r\n rounded: Boolean,\r\n /**\r\n * Buttons order, optional\r\n * @values centered, right, left\r\n */\r\n order: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'pagination.order', 'right'); }\r\n },\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /** Icon to use for previous button */\r\n iconPrev: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'pagination.iconPrev', 'chevron-left'); }\r\n },\r\n /** Icon to use for next button */\r\n iconNext: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'pagination.iconNext', 'chevron-right'); }\r\n },\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n ariaPageLabel: String,\r\n ariaCurrentLabel: String,\r\n rootClass: [String, Function, Array],\r\n prevBtnClass: [String, Function, Array],\r\n nextBtnClass: [String, Function, Array],\r\n listClass: [String, Function, Array],\r\n linkClass: [String, Function, Array],\r\n linkCurrentClass: [String, Function, Array],\r\n ellipsisClass: [String, Function, Array],\r\n infoClass: [String, Function, Array],\r\n orderClass: [String, Function, Array],\r\n simpleClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n linkDisabledClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-pag'),\r\n { [this.computedClass('orderClass', 'o-pag--', this.order)]: this.order },\r\n { [this.computedClass('sizeClass', 'o-pag--', this.size)]: this.size },\r\n { [this.computedClass('simpleClass', 'o-pag--simple')]: this.simple },\r\n { [this.computedClass('mobileClass', 'o-pag--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n prevBtnClasses() {\r\n return [\r\n this.computedClass('prevBtnClass', 'o-pag__previous'),\r\n { [this.computedClass('linkDisabledClass', 'o-pag__link--disabled')]: !this.hasPrev }\r\n ];\r\n },\r\n nextBtnClasses() {\r\n return [\r\n this.computedClass('nextBtnClass', 'o-pag__next'),\r\n { [this.computedClass('linkDisabledClass', 'o-pag__link--disabled')]: !this.hasNext }\r\n ];\r\n },\r\n infoClasses() {\r\n return [\r\n this.computedClass('infoClass', 'o-pag__info')\r\n ];\r\n },\r\n ellipsisClasses() {\r\n return [\r\n this.computedClass('ellipsisClass', 'o-pag__ellipsis')\r\n ];\r\n },\r\n listClasses() {\r\n return [\r\n this.computedClass('listClass', 'o-pag__list')\r\n ];\r\n },\r\n linkClasses() {\r\n return [\r\n this.computedClass('linkClass', 'o-pag__link'),\r\n { [this.computedClass('roundedClass', 'o-pag__link--rounded')]: this.rounded }\r\n ];\r\n },\r\n linkCurrentClasses() {\r\n return [\r\n this.computedClass('linkCurrentClass', 'o-pag__link--current'),\r\n ];\r\n },\r\n beforeCurrent() {\r\n return parseInt(this.rangeBefore);\r\n },\r\n afterCurrent() {\r\n return parseInt(this.rangeAfter);\r\n },\r\n /**\r\n * Total page size (count).\r\n */\r\n pageCount() {\r\n return Math.ceil(this.total / this.perPage);\r\n },\r\n /**\r\n * First item of the page (count).\r\n */\r\n firstItem() {\r\n const firstItem = this.current * this.perPage - this.perPage + 1;\r\n return firstItem >= 0 ? firstItem : 0;\r\n },\r\n /**\r\n * Check if previous button is available.\r\n */\r\n hasPrev() {\r\n return this.current > 1;\r\n },\r\n /**\r\n * Check if first page button should be visible.\r\n */\r\n hasFirst() {\r\n return this.current >= (2 + this.beforeCurrent);\r\n },\r\n /**\r\n * Check if first ellipsis should be visible.\r\n */\r\n hasFirstEllipsis() {\r\n return this.current >= (this.beforeCurrent + 4);\r\n },\r\n /**\r\n * Check if last page button should be visible.\r\n */\r\n hasLast() {\r\n return this.current <= this.pageCount - (1 + this.afterCurrent);\r\n },\r\n /**\r\n * Check if last ellipsis should be visible.\r\n */\r\n hasLastEllipsis() {\r\n return this.current < this.pageCount - (2 + this.afterCurrent);\r\n },\r\n /**\r\n * Check if next button is available.\r\n */\r\n hasNext() {\r\n return this.current < this.pageCount;\r\n },\r\n /**\r\n * Get near pages, 1 before and 1 after the current.\r\n * Also add the click event to the array.\r\n */\r\n pagesInRange() {\r\n if (this.simple)\r\n return;\r\n let left = Math.max(1, this.current - this.beforeCurrent);\r\n if (left - 1 === 2) {\r\n left--; // Do not show the ellipsis if there is only one to hide\r\n }\r\n let right = Math.min(this.current + this.afterCurrent, this.pageCount);\r\n if (this.pageCount - right === 2) {\r\n right++; // Do not show the ellipsis if there is only one to hide\r\n }\r\n const pages = [];\r\n for (let i = left; i <= right; i++) {\r\n pages.push(this.getPage(i));\r\n }\r\n return pages;\r\n },\r\n hasDefaultSlot() {\r\n return this.$slots.default;\r\n },\r\n hasPreviousSlot() {\r\n return this.$slots.previous;\r\n },\r\n hasNextSlot() {\r\n return this.$slots.next;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * If current page is trying to be greater than page count, set to last.\r\n */\r\n pageCount(value) {\r\n if (this.current > value)\r\n this.last();\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Previous button click listener.\r\n */\r\n prev(event) {\r\n this.changePage(this.current - 1, event);\r\n },\r\n /**\r\n * Next button click listener.\r\n */\r\n next(event) {\r\n this.changePage(this.current + 1, event);\r\n },\r\n /**\r\n * First button click listener.\r\n */\r\n first(event) {\r\n this.changePage(1, event);\r\n },\r\n /**\r\n * Last button click listener.\r\n */\r\n last(event) {\r\n this.changePage(this.pageCount, event);\r\n },\r\n changePage(num, event) {\r\n if (this.current === num || num < 1 || num > this.pageCount)\r\n return;\r\n this.$emit('change', num);\r\n this.$emit('update:current', num);\r\n // Set focus on element to keep tab order\r\n if (event && event.target) {\r\n this.$nextTick(() => event.target.focus());\r\n }\r\n },\r\n getPage(num, options = {}) {\r\n return {\r\n number: num,\r\n isCurrent: this.current === num,\r\n click: (event) => this.changePage(num, event),\r\n disabled: options.disabled || false,\r\n class: options.class || '',\r\n 'aria-label': options['aria-label'] || this.getAriaPageLabel(num, this.current === num)\r\n };\r\n },\r\n /**\r\n * Get text for aria-label according to page number.\r\n */\r\n getAriaPageLabel(pageNumber, isCurrent) {\r\n if (this.ariaPageLabel && (!isCurrent || !this.ariaCurrentLabel)) {\r\n return this.ariaPageLabel + ' ' + pageNumber + '.';\r\n }\r\n else if (this.ariaPageLabel && isCurrent && this.ariaCurrentLabel) {\r\n return this.ariaCurrentLabel + ', ' + this.ariaPageLabel + ' ' + pageNumber + '.';\r\n }\r\n return null;\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 0\n};\nconst _hoisted_2 = {\n key: 1\n};\nconst _hoisted_3 = {\n key: 2\n};\nconst _hoisted_4 = {\n key: 3\n};\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_pagination_button = resolveComponent(\"o-pagination-button\");\n\n return openBlock(), createBlock(\"nav\", {\n class: _ctx.rootClasses\n }, [_ctx.hasPreviousSlot ? renderSlot(_ctx.$slots, \"previous\", {\n key: 0,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current - 1, {\n class: _ctx.prevBtnClasses,\n 'aria-label': _ctx.ariaPreviousLabel\n })\n }, () => [createVNode(_component_o_icon, {\n icon: _ctx.iconPrev,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]) : createVNode(_component_o_pagination_button, {\n key: 1,\n class: _ctx.prevBtnClasses,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current - 1)\n }, {\n default: withCtx(() => [createVNode(_component_o_icon, {\n icon: _ctx.iconPrev,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"class\", \"linkClass\", \"linkCurrentClass\", \"page\"]), _ctx.hasNextSlot ? renderSlot(_ctx.$slots, \"next\", {\n key: 2,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current + 1, {\n class: _ctx.nextBtnClasses,\n 'aria-label': _ctx.ariaNextLabel\n })\n }, () => [createVNode(_component_o_icon, {\n icon: _ctx.iconNext,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]) : createVNode(_component_o_pagination_button, {\n key: 3,\n class: _ctx.nextBtnClasses,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current + 1)\n }, {\n default: withCtx(() => [createVNode(_component_o_icon, {\n icon: _ctx.iconNext,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"class\", \"linkClass\", \"linkCurrentClass\", \"page\"]), _ctx.simple ? (openBlock(), createBlock(\"small\", {\n key: 4,\n class: _ctx.infoClasses\n }, [_ctx.perPage == 1 ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createTextVNode(toDisplayString(_ctx.firstItem) + \" / \" + toDisplayString(_ctx.total), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.firstItem) + \"-\" + toDisplayString(Math.min(_ctx.current * _ctx.perPage, _ctx.total)) + \" / \" + toDisplayString(_ctx.total), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : (openBlock(), createBlock(\"ul\", {\n key: 5,\n class: _ctx.listClasses\n }, [createCommentVNode(\"First\"), _ctx.hasFirst ? (openBlock(), createBlock(\"li\", _hoisted_1, [_ctx.hasDefaultSlot ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n page: _ctx.getPage(1),\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses\n }) : createVNode(_component_o_pagination_button, {\n key: 1,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(1)\n }, null, 8\n /* PROPS */\n , [\"linkClass\", \"linkCurrentClass\", \"page\"])])) : createCommentVNode(\"v-if\", true), _ctx.hasFirstEllipsis ? (openBlock(), createBlock(\"li\", _hoisted_2, [createVNode(\"span\", {\n class: _ctx.ellipsisClasses\n }, \"…\", 2\n /* CLASS */\n )])) : createCommentVNode(\"v-if\", true), createCommentVNode(\"Pages\"), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.pagesInRange, page => {\n return openBlock(), createBlock(\"li\", {\n key: page.number\n }, [_ctx.hasDefaultSlot ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n page: page,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses\n }) : createVNode(_component_o_pagination_button, {\n key: 1,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: page\n }, null, 8\n /* PROPS */\n , [\"linkClass\", \"linkCurrentClass\", \"page\"])]);\n }), 128\n /* KEYED_FRAGMENT */\n )), createCommentVNode(\"Last\"), _ctx.hasLastEllipsis ? (openBlock(), createBlock(\"li\", _hoisted_3, [createVNode(\"span\", {\n class: _ctx.ellipsisClasses\n }, \"…\", 2\n /* CLASS */\n )])) : createCommentVNode(\"v-if\", true), _ctx.hasLast ? (openBlock(), createBlock(\"li\", _hoisted_4, [_ctx.hasDefaultSlot ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n page: _ctx.getPage(_ctx.pageCount),\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses\n }) : createVNode(_component_o_pagination_button, {\n key: 1,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.pageCount)\n }, null, 8\n /* PROPS */\n , [\"linkClass\", \"linkCurrentClass\", \"page\"])])) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ))], 2\n /* CLASS */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/pagination/Pagination.vue\";\n\nexport { script as a, script$1 as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport { s as script, a as script$1 } from './Pagination-02a660a8.mjs';\nexport { s as OPagination, a as OPaginationButton } from './Pagination-02a660a8.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, openBlock, createBlock, withModifiers, withKeys, withDirectives, createVNode, vModelRadio, renderSlot } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { C as CheckRadioMixin } from './CheckRadioMixin-f5b57344.mjs';\n\n/**\r\n * Select an option from a set\r\n * @displayName Radio\r\n * @style _radio.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'ORadio',\r\n mixins: [BaseComponentMixin, CheckRadioMixin],\r\n configField: 'radio',\r\n emits: [\r\n 'input'\r\n ],\r\n props: {\r\n rootClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n checkCheckedClass: [String, Function, Array],\r\n checkClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n computed: {\r\n isChecked() {\r\n return this.modelValue === this.nativeValue;\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-radio'),\r\n { [this.computedClass('checkedClass', 'o-radio--checked')]: this.isChecked },\r\n { [this.computedClass('sizeClass', 'o-radio--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-radio--disabled')]: this.disabled },\r\n { [this.computedClass('variantClass', 'o-radio--', this.variant)]: this.variant }\r\n ];\r\n },\r\n checkClasses() {\r\n return [\r\n this.computedClass('checkClass', 'o-radio__check'),\r\n { [this.computedClass('checkCheckedClass', 'o-radio__check--checked')]: this.isChecked },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-radio__label')\r\n ];\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses,\n ref: \"label\",\n onClick: _cache[3] || (_cache[3] = withModifiers((...args) => _ctx.focus(...args), [\"stop\"])),\n onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.$refs.label.click(), [\"prevent\"]), [\"enter\"]))\n }, [withDirectives(createVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n type: \"radio\",\n ref: \"input\",\n onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, [\"stop\"])),\n class: _ctx.checkClasses,\n disabled: _ctx.disabled,\n required: _ctx.required,\n name: _ctx.name,\n value: _ctx.nativeValue\n }, null, 10\n /* CLASS, PROPS */\n , [\"disabled\", \"required\", \"name\", \"value\"]), [[vModelRadio, _ctx.computedValue]]), createVNode(\"span\", {\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/radio/Radio.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as ORadio };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport { s as script } from './Select-2cca695f.mjs';\nexport { s as OSelect } from './Select-2cca695f.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, h } from 'vue';\nimport { toCssDimension } from './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * A placeholder for content to load\r\n * @displayName Skeleton\r\n * @style _skeleton.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSkeleton',\r\n mixins: [BaseComponentMixin],\r\n configField: 'skeleton',\r\n props: {\r\n /** Show or hide loader\t */\r\n active: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Show a loading animation */\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Custom width */\r\n width: [Number, String],\r\n /** Custom height */\r\n height: [Number, String],\r\n /** Show a circle shape */\r\n circle: Boolean,\r\n /** Rounded style */\r\n rounded: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Number of shapes to display */\r\n count: {\r\n type: Number,\r\n default: 1\r\n },\r\n /**\r\n * Skeleton position in relation to the element\r\n * @values left, centered, right\r\n */\r\n position: {\r\n type: String,\r\n default: 'left',\r\n validator(value) {\r\n return [\r\n 'left',\r\n 'centered',\r\n 'right'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /**\r\n * Size of skeleton\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n rootClass: [String, Function, Array],\r\n animationClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n itemClass: [String, Function, Array],\r\n itemRoundedClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array]\r\n },\r\n render() {\r\n if (!this.active)\r\n return;\r\n const items = [];\r\n const width = this.width;\r\n const height = this.height;\r\n for (let i = 0; i < this.count; i++) {\r\n items.push(h('div', {\r\n class: [\r\n this.computedClass('itemClass', 'o-sklt__item'),\r\n { [this.computedClass('itemRoundedClass', 'o-sklt__item--rounded')]: this.rounded },\r\n { [this.computedClass('animationClass', 'o-sklt__item--animated')]: this.animated },\r\n { [this.computedClass('sizeClass', 'o-sklt__item--', this.size)]: this.size },\r\n ],\r\n key: i,\r\n style: {\r\n height: toCssDimension(height),\r\n width: toCssDimension(width),\r\n borderRadius: this.circle ? '50%' : null\r\n }\r\n }));\r\n }\r\n return h('div', {\r\n class: [\r\n this.computedClass('rootClass', 'o-sklt'),\r\n { [this.computedClass('positionClass', 'o-sklt--', this.position)]: this.position }\r\n ]\r\n }, items);\r\n }\r\n});\n\nscript.__file = \"src/components/skeleton/Skeleton.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OSkeleton };\n","import { defineComponent, withDirectives, openBlock, createBlock, createCommentVNode, createVNode, Transition, withCtx, renderSlot, vShow } from 'vue';\nimport { getValueByPath, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\n\n/**\r\n * A sidebar to use as left/right overlay or static\r\n * @displayName Sidebar\r\n * @style _sidebar.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSidebar',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n configField: 'sidebar',\r\n emits: ['update:open', 'close'],\r\n props: {\r\n /** To control the behaviour of the sidebar programmatically, use the v-model:open to make it two-way binding */\r\n open: Boolean,\r\n /**\r\n * Color of the sidebar, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /** Show an overlay like modal */\r\n overlay: Boolean,\r\n /**\r\n * Skeleton position in relation to the window\r\n * @values fixed, absolute, static\r\n */\r\n position: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'sidebar.position', 'fixed'); },\r\n validator: (value) => {\r\n return [\r\n 'fixed',\r\n 'absolute',\r\n 'static'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Show sidebar in fullheight */\r\n fullheight: Boolean,\r\n /** Show sidebar in fullwidth */\r\n fullwidth: Boolean,\r\n /** Show the sidebar on right */\r\n right: Boolean,\r\n /**\r\n * Custom layout on mobile\r\n * @values fullwidth, reduced, hidden\r\n */\r\n mobile: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n '',\r\n 'fullwidth',\r\n 'reduced',\r\n 'hidden'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Show a small sidebar */\r\n reduce: Boolean,\r\n /** Expand sidebar on hover when reduced or mobile is reduce */\r\n expandOnHover: Boolean,\r\n /** Expand sidebar on hover with fixed position when reduced or mobile is reduce */\r\n expandOnHoverFixed: Boolean,\r\n /**\r\n * Sidebar cancel options\r\n * @values true, false, 'escape', 'outside'\r\n */\r\n canCancel: {\r\n type: [Array, Boolean],\r\n default: () => { return getValueByPath(getOptions(), 'sidebar.canCancel', ['escape', 'outside']); }\r\n },\r\n /**\r\n * Callback on cancel\r\n */\r\n onCancel: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n scroll: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'sidebar.scroll', 'clip');\r\n },\r\n validator: (value) => {\r\n return [\r\n 'clip',\r\n 'keep'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n fixedClass: [String, Function, Array],\r\n staticClass: [String, Function, Array],\r\n absoluteClass: [String, Function, Array],\r\n fullheightClass: [String, Function, Array],\r\n fullwidthClass: [String, Function, Array],\r\n rightClass: [String, Function, Array],\r\n reduceClass: [String, Function, Array],\r\n expandOnHoverClass: [String, Function, Array],\r\n expandOnHoverFixedClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n scrollClipClass: [String, Function, Array],\r\n noScrollClass: [String, Function, Array],\r\n hiddenClass: [String, Function, Array],\r\n visibleClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isOpen: this.open,\r\n transitionName: null,\r\n animating: true,\r\n savedScrollTop: null\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-side'),\r\n { [this.computedClass('mobileClass', 'o-side--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n overlayClasses() {\r\n return [\r\n this.computedClass('overlayClass', 'o-side__overlay')\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-side__content'),\r\n { [this.computedClass('variantClass', 'o-side__content--', this.variant)]: this.variant },\r\n { [this.computedClass('fixedClass', 'o-side__content--fixed')]: this.isFixed },\r\n { [this.computedClass('staticClass', 'o-side__content--static')]: this.isStatic },\r\n { [this.computedClass('absoluteClass', 'o-side__content--absolute')]: this.isAbsolute },\r\n { [this.computedClass('fullheightClass', 'o-side__content--fullheight')]: this.fullheight },\r\n { [this.computedClass('fullwidthClass', 'o-side__content--fullwidth')]: this.fullwidth || (this.mobile === 'fullwidth' && this.isMatchMedia) },\r\n { [this.computedClass('rightClass', 'o-side__content--right')]: this.right },\r\n { [this.computedClass('reduceClass', 'o-side__content--mini')]: this.reduce || (this.mobile === 'reduced' && this.isMatchMedia) },\r\n { [this.computedClass('expandOnHoverClass', 'o-side__content--mini-expand')]: (this.expandOnHover && this.mobile !== 'fullwidth') },\r\n { [this.computedClass('expandOnHoverFixedClass', 'o-side__content--expand-mini-hover-fixed')]: (this.expandOnHover && this.expandOnHoverFixed && this.mobile !== 'fullwidth') },\r\n { [this.computedClass('visibleClass', 'o-side__content--visible')]: this.isOpen },\r\n { [this.computedClass('hiddenClass', 'o-side__content--hidden')]: !this.isOpen },\r\n ];\r\n },\r\n scrollClass() {\r\n if (this.scroll === 'clip') {\r\n return this.computedClass('scrollClipClass', 'o-clipped');\r\n }\r\n return this.computedClass('noScrollClass', 'o-noscroll');\r\n },\r\n cancelOptions() {\r\n return typeof this.canCancel === 'boolean'\r\n ? this.canCancel\r\n ? getValueByPath(getOptions(), 'sidebar.canCancel', ['escape', 'outside'])\r\n : []\r\n : this.canCancel;\r\n },\r\n isStatic() {\r\n return this.position === 'static';\r\n },\r\n isFixed() {\r\n return this.position === 'fixed';\r\n },\r\n isAbsolute() {\r\n return this.position === 'absolute';\r\n },\r\n hideOnMobile() {\r\n return this.mobile === 'hidden' && this.isMatchMedia;\r\n }\r\n },\r\n watch: {\r\n open: {\r\n handler(value) {\r\n this.isOpen = value;\r\n if (this.overlay) {\r\n this.handleScroll();\r\n }\r\n const open = this.right ? !value : value;\r\n this.transitionName = !open ? 'slide-prev' : 'slide-next';\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.isFixed) {\r\n if (this.isOpen && (key === 'Escape' || key === 'Esc'))\r\n this.cancel('escape');\r\n }\r\n },\r\n /**\r\n * Close the Sidebar if canCancel and call the onCancel prop (function).\r\n */\r\n cancel(method) {\r\n if (this.cancelOptions.indexOf(method) < 0)\r\n return;\r\n if (this.isStatic)\r\n return;\r\n this.onCancel.apply(null, arguments);\r\n this.close();\r\n },\r\n /**\r\n * Call the onCancel prop (function) and emit events\r\n */\r\n close() {\r\n this.isOpen = false;\r\n this.$emit('close');\r\n this.$emit('update:open', false);\r\n },\r\n /**\r\n * Close fixed sidebar if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (!this.isFixed || !this.isOpen || this.animating) {\r\n return;\r\n }\r\n if (!event.composedPath().includes(this.$refs.sidebarContent)) {\r\n this.cancel('outside');\r\n }\r\n },\r\n /**\r\n * Transition before-enter hook\r\n */\r\n beforeEnter() {\r\n this.animating = true;\r\n },\r\n /**\r\n * Transition after-leave hook\r\n */\r\n afterEnter() {\r\n this.animating = false;\r\n },\r\n handleScroll() {\r\n if (typeof window === 'undefined')\r\n return;\r\n if (this.scroll === 'clip') {\r\n if (this.scrollClass) {\r\n if (this.open) {\r\n document.documentElement.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n return;\r\n }\r\n }\r\n this.savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n if (this.open) {\r\n document.body.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.body.classList.remove(this.scrollClass);\r\n }\r\n }\r\n if (this.open) {\r\n document.body.style.top = `-${this.savedScrollTop}px`;\r\n return;\r\n }\r\n document.documentElement.scrollTop = this.savedScrollTop;\r\n document.body.style.top = null;\r\n this.savedScrollTop = null;\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n document.addEventListener('click', this.clickedOutside);\r\n }\r\n },\r\n mounted() {\r\n if (typeof window !== 'undefined') {\r\n if (this.isFixed) {\r\n document.body.appendChild(this.$el);\r\n }\r\n if (this.overlay && this.open) {\r\n this.handleScroll();\r\n }\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n document.removeEventListener('click', this.clickedOutside);\r\n if (this.overlay) {\r\n // reset scroll\r\n const savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n document.body.classList.remove(this.scrollClass);\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n document.documentElement.scrollTop = savedScrollTop;\r\n document.body.style.top = null;\r\n }\r\n }\r\n if (this.isFixed) {\r\n removeElement(this.$el);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return withDirectives((openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [_ctx.overlay && _ctx.isOpen ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.overlayClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), createVNode(Transition, {\n name: _ctx.transitionName,\n \"onBefore-enter\": _ctx.beforeEnter,\n \"onAfter-enter\": _ctx.afterEnter\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n ref: \"sidebarContent\",\n class: _ctx.contentClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n ), [[vShow, _ctx.isOpen]])]),\n _: 3\n }, 8\n /* PROPS */\n , [\"name\", \"onBefore-enter\", \"onAfter-enter\"])], 2\n /* CLASS */\n )), [[vShow, !_ctx.hideOnMobile]]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/sidebar/Sidebar.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OSidebar };\n","import { defineComponent, openBlock, createBlock, createVNode, Transition, withCtx, withDirectives, Fragment, createTextVNode, toDisplayString, renderSlot, createCommentVNode, vShow } from 'vue';\nimport { getValueByPath, isWebKit, createAbsoluteElement, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\n\nconst opposites = {\r\n top: 'bottom',\r\n bottom: 'top',\r\n right: 'left',\r\n left: 'right',\r\n};\r\nfunction intersectionArea(a, b) {\r\n const left = Math.max(a.left, b.left);\r\n const right = Math.min(a.right, b.right);\r\n const top = Math.max(a.top, b.top);\r\n const bottom = Math.min(a.bottom, b.bottom);\r\n return Math.max(right - left, 0) * Math.max(bottom - top, 0);\r\n}\r\n/**\r\n * @param rect the bounding rectangle of the trigger element\r\n * @return the \"anchor points\" (points where the arrow attaches) for each side of the tooltip\r\n */\r\nconst anchors = (rect) => ({\r\n top: { x: (rect.left + rect.right) * 0.5, y: rect.top },\r\n bottom: { x: (rect.left + rect.right) * 0.5, y: rect.bottom },\r\n left: { x: rect.left, y: (rect.top + rect.bottom) * 0.5 },\r\n right: { x: rect.right, y: (rect.top + rect.bottom) * 0.5 },\r\n});\r\n/**\r\n * Display a brief helper text to your user\r\n * @displayName Tooltip\r\n * @style _tooltip.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OTooltip',\r\n mixins: [BaseComponentMixin],\r\n configField: 'tooltip',\r\n emits: ['open', 'close'],\r\n props: {\r\n /** Whether tooltip is active or not, use v-model:active to make it two-way binding */\r\n active: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Tooltip text */\r\n label: String,\r\n /** Tooltip delay before it appears (number in ms) */\r\n delay: Number,\r\n /**\r\n * Tooltip position in relation to the element\r\n * @values top, bottom, left, right,\r\n */\r\n position: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'tooltip.position', 'top'); },\r\n validator: (value) => {\r\n return [\r\n 'top',\r\n 'bottom',\r\n 'left',\r\n 'right',\r\n 'auto',\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /**\r\n * Tooltip trigger events\r\n * @values hover, click, focus, contextmenu\r\n */\r\n triggers: {\r\n type: Array,\r\n default: () => { return getValueByPath(getOptions(), 'tooltip.triggers', ['hover']); }\r\n },\r\n /** Tooltip will be always active */\r\n always: Boolean,\r\n /** Tooltip will have an animation */\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Tooltip default animation */\r\n animation: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'tooltip.animation', 'fade'); }\r\n },\r\n /**\r\n * Tooltip auto close options\r\n * @values true, false, 'inside', 'outside'\r\n */\r\n autoClose: {\r\n type: [Array, Boolean],\r\n default: true\r\n },\r\n /** Tooltip will be multilined */\r\n multiline: Boolean,\r\n /** Append tooltip content to body */\r\n appendToBody: Boolean,\r\n /**\r\n * Color of the tooltip\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Function, Array],\r\n rootClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n orderClass: [String, Function, Array],\r\n triggerClass: [String, Function, Array],\r\n multilineClass: [String, Function, Array],\r\n alwaysClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n arrowClass: [String, Function, Array],\r\n arrowOrderClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isActive: false,\r\n triggerStyle: {},\r\n bodyEl: undefined,\r\n metrics: null,\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-tip')\r\n ];\r\n },\r\n triggerClasses() {\r\n return [\r\n this.computedClass('triggerClass', 'o-tip__trigger'),\r\n ];\r\n },\r\n arrowClasses() {\r\n return [\r\n this.computedClass('arrowClass', 'o-tip__arrow'),\r\n { [this.computedClass('arrowOrderClass', 'o-tip__arrow--', this.newPosition)]: this.newPosition },\r\n { [this.computedClass('variantArrowClass', 'o-tip__arrow--', this.variant)]: this.variant },\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-tip__content'),\r\n { [this.computedClass('orderClass', 'o-tip__content--', this.newPosition)]: this.newPosition },\r\n { [this.computedClass('variantClass', 'o-tip__content--', this.variant)]: this.variant },\r\n { [this.computedClass('multilineClass', 'o-tip__content--multiline')]: this.multiline },\r\n { [this.computedClass('alwaysClass', 'o-tip__content--always')]: this.always }\r\n ];\r\n },\r\n newAnimation() {\r\n return this.animated ? this.animation : undefined;\r\n },\r\n newPosition() {\r\n if (this.position !== 'auto') {\r\n return this.position;\r\n }\r\n const defaultPosition = getValueByPath(getOptions(), 'tooltip.position', 'top');\r\n let bestPosition = defaultPosition;\r\n if (this.metrics != null) {\r\n let viewRect;\r\n const viewport = window.visualViewport; // Not available with our current types package\r\n if (viewport != undefined) {\r\n if (isWebKit()) {\r\n // On WebKit, getBoundingClientRect offsets relative to the the visual viewport's origin, not the layout viewport's.\r\n // See https://bugs.webkit.org/show_bug.cgi?id=170981\r\n viewRect = new DOMRect(0, 0, viewport.width, viewport.height);\r\n }\r\n else {\r\n viewRect = new DOMRect(viewport.offsetLeft, viewport.offsetTop, viewport.width, viewport.height);\r\n }\r\n }\r\n else {\r\n viewRect = new DOMRect(0, 0, document.documentElement.clientWidth, document.documentElement.clientHeight);\r\n }\r\n const triggerAnchors = anchors(this.metrics.trigger);\r\n const contentRect = this.metrics.content;\r\n const contentAnchors = anchors(contentRect);\r\n const contentRectAtAnchor = (pos) => {\r\n const triggerAnchor = triggerAnchors[pos];\r\n const contentAnchor = contentAnchors[opposites[pos]];\r\n // Translates contentRect so contentAnchor is on top of triggerAnchor\r\n // NOTE: this doesn't account for the extra offset that the tooltip arrow provides.\r\n // That offset should be small, and it's tricky to get it from the CSS.\r\n return new DOMRect(contentRect.x + (triggerAnchor.x - contentAnchor.x), contentRect.y + (triggerAnchor.y - contentAnchor.y), contentRect.width, contentRect.height);\r\n };\r\n const defaultOpposite = opposites[defaultPosition];\r\n const crossPosition = (defaultPosition === 'top' || defaultPosition === 'bottom') ? 'left' : 'top';\r\n const crossOpposite = opposites[crossPosition];\r\n // In descending order of priority\r\n const positions = [defaultPosition, defaultOpposite, crossPosition, crossOpposite];\r\n let maxOverlap = 0;\r\n for (const position of positions) {\r\n const overlap = intersectionArea(viewRect, contentRectAtAnchor(position));\r\n if (overlap > maxOverlap) {\r\n maxOverlap = overlap;\r\n bestPosition = position;\r\n }\r\n }\r\n }\r\n return bestPosition;\r\n },\r\n },\r\n watch: {\r\n isActive(value) {\r\n this.$emit(value ? 'open' : 'close');\r\n if (value && this.position === 'auto') {\r\n this.$nextTick(() => {\r\n this.metrics = {\r\n content: this.$refs.content.getBoundingClientRect(),\r\n trigger: this.$refs.trigger.getBoundingClientRect(),\r\n };\r\n });\r\n }\r\n if (value && this.appendToBody) {\r\n this.updateAppendToBody();\r\n }\r\n }\r\n },\r\n methods: {\r\n updateAppendToBody() {\r\n const tooltip = this.$refs.tooltip;\r\n const trigger = this.$refs.trigger;\r\n if (tooltip && trigger) {\r\n // update wrapper tooltip\r\n const tooltipEl = this.$data.bodyEl.children[0];\r\n tooltipEl.classList.forEach((item) => tooltipEl.classList.remove(...item.split(' ')));\r\n if (this.$vnode && this.$vnode.data && this.$vnode.data.staticClass) {\r\n tooltipEl.classList.add(this.$vnode.data.staticClass);\r\n }\r\n this.rootClasses.forEach((item) => {\r\n if (typeof item === 'object') {\r\n Object.keys(item).filter(key => key && item[key]).forEach(key => tooltipEl.classList.add(key));\r\n }\r\n else {\r\n tooltipEl.classList.add(...item.split(' '));\r\n }\r\n });\r\n tooltipEl.style.width = `${trigger.clientWidth}px`;\r\n tooltipEl.style.height = `${trigger.clientHeight}px`;\r\n const rect = trigger.getBoundingClientRect();\r\n const top = rect.top + window.scrollY;\r\n const left = rect.left + window.scrollX;\r\n const wrapper = this.$data.bodyEl;\r\n wrapper.style.position = 'absolute';\r\n wrapper.style.top = `${top}px`;\r\n wrapper.style.left = `${left}px`;\r\n wrapper.style.zIndex = this.isActive || this.always ? '99' : '-1';\r\n this.triggerStyle = { zIndex: this.isActive || this.always ? '100' : undefined };\r\n }\r\n },\r\n onClick() {\r\n if (this.triggers.indexOf('click') < 0)\r\n return;\r\n // if not active, toggle after clickOutside event\r\n // this fixes toggling programmatic\r\n this.$nextTick(() => {\r\n setTimeout(() => this.open());\r\n });\r\n },\r\n onHover() {\r\n if (this.triggers.indexOf('hover') < 0)\r\n return;\r\n this.open();\r\n },\r\n onFocus() {\r\n if (this.triggers.indexOf('focus') < 0)\r\n return;\r\n this.open();\r\n },\r\n onContextMenu(event) {\r\n if (this.triggers.indexOf('contextmenu') < 0)\r\n return;\r\n event.preventDefault();\r\n this.open();\r\n },\r\n open() {\r\n if (this.delay) {\r\n this.timer = setTimeout(() => {\r\n this.isActive = true;\r\n this.timer = null;\r\n }, this.delay);\r\n }\r\n else {\r\n this.isActive = true;\r\n }\r\n },\r\n close() {\r\n if (typeof this.autoClose === 'boolean') {\r\n this.isActive = !this.autoClose;\r\n }\r\n if (this.autoClose && this.timer)\r\n clearTimeout(this.timer);\r\n },\r\n /**\r\n * Close tooltip if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (this.isActive) {\r\n if (Array.isArray(this.autoClose)) {\r\n if (this.autoClose.indexOf('outside') >= 0) {\r\n if (!this.isInWhiteList(event.target))\r\n this.isActive = false;\r\n }\r\n if (this.autoClose.indexOf('inside') >= 0) {\r\n if (this.isInWhiteList(event.target))\r\n this.isActive = false;\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document\r\n */\r\n keyPress({ key }) {\r\n if (this.isActive && (key === 'Escape' || key === 'Esc')) {\r\n if (Array.isArray(this.autoClose)) {\r\n if (this.autoClose.indexOf('escape') >= 0)\r\n this.isActive = false;\r\n }\r\n }\r\n },\r\n /**\r\n * White-listed items to not close when clicked.\r\n */\r\n isInWhiteList(el) {\r\n if (el === this.$refs.content)\r\n return true;\r\n // All chidren from content\r\n if (this.$refs.content !== undefined) {\r\n const children = this.$refs.content.querySelectorAll('*');\r\n for (const child of children) {\r\n if (el === child) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n },\r\n mounted() {\r\n if (this.appendToBody) {\r\n this.$data.bodyEl = createAbsoluteElement(this.$refs.content);\r\n this.updateAppendToBody();\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('click', this.clickedOutside);\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('click', this.clickedOutside);\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n if (this.appendToBody) {\r\n removeElement(this.$data.bodyEl);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n ref: \"tooltip\",\n class: _ctx.rootClasses\n }, [createVNode(Transition, {\n name: _ctx.newAnimation,\n \"onAfter-leave\": _cache[1] || (_cache[1] = $event => _ctx.metrics = null),\n \"onEnter-cancelled\": _cache[2] || (_cache[2] = $event => _ctx.metrics = null)\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n ref: \"content\",\n class: _ctx.contentClasses\n }, [createVNode(\"span\", {\n class: _ctx.arrowClasses\n }, null, 2\n /* CLASS */\n ), _ctx.label ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : _ctx.$slots.default ? renderSlot(_ctx.$slots, \"content\", {\n key: 1\n }) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), [[vShow, _ctx.active && (_ctx.isActive || _ctx.always)]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]), createVNode(\"div\", {\n ref: \"trigger\",\n class: _ctx.triggerClasses,\n style: _ctx.triggerStyle,\n onClick: _cache[3] || (_cache[3] = (...args) => _ctx.onClick(...args)),\n onContextmenu: _cache[4] || (_cache[4] = (...args) => _ctx.onContextMenu(...args)),\n onMouseenter: _cache[5] || (_cache[5] = (...args) => _ctx.onHover(...args)),\n onFocusCapture: _cache[6] || (_cache[6] = (...args) => _ctx.onFocus(...args)),\n onBlurCapture: _cache[7] || (_cache[7] = (...args) => _ctx.close(...args)),\n onMouseleave: _cache[8] || (_cache[8] = (...args) => _ctx.close(...args))\n }, [renderSlot(_ctx.$slots, \"default\", {\n ref: \"slot\"\n })], 38\n /* CLASS, STYLE, HYDRATE_EVENTS */\n )], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/tooltip/Tooltip.vue\";\n\nexport { script as s };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, withCtx, mergeProps, withKeys, withModifiers, toDisplayString, createCommentVNode, renderSlot, Fragment, renderList } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$3 } from './Tooltip-7e114fbb.mjs';\n\nvar script = defineComponent({\r\n name: 'OSliderThumb',\r\n components: {\r\n [script$3.name]: script$3\r\n },\r\n configField: 'slider',\r\n inheritAttrs: false,\r\n inject: ['$slider'],\r\n emits: ['update:modelValue', 'dragstart', 'dragend'],\r\n props: {\r\n modelValue: {\r\n type: Number,\r\n default: 0\r\n },\r\n variant: {\r\n type: String,\r\n default: ''\r\n },\r\n tooltip: {\r\n type: Boolean,\r\n default: true\r\n },\r\n indicator: {\r\n type: Boolean,\r\n default: false\r\n },\r\n customFormatter: Function,\r\n format: {\r\n type: String,\r\n default: 'raw',\r\n validator: (value) => {\r\n return [\r\n 'raw',\r\n 'percent'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n tooltipAlways: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n isFocused: false,\r\n dragging: false,\r\n startX: 0,\r\n startPosition: 0,\r\n newPosition: null,\r\n oldValue: this.modelValue\r\n };\r\n },\r\n computed: {\r\n disabled() {\r\n return this.$parent.disabled;\r\n },\r\n max() {\r\n return this.$parent.max;\r\n },\r\n min() {\r\n return this.$parent.min;\r\n },\r\n step() {\r\n return this.$parent.step;\r\n },\r\n precision() {\r\n return this.$parent.precision;\r\n },\r\n currentPosition() {\r\n return `${(this.modelValue - this.min) / (this.max - this.min) * 100}%`;\r\n },\r\n wrapperStyle() {\r\n return { left: this.currentPosition };\r\n },\r\n formattedValue() {\r\n if (typeof this.customFormatter !== 'undefined') {\r\n return this.customFormatter(this.modelValue);\r\n }\r\n if (this.format === 'percent') {\r\n return new Intl.NumberFormat(this.locale, {\r\n style: 'percent'\r\n }).format(((this.modelValue - this.min)) / (this.max - this.min));\r\n }\r\n return new Intl.NumberFormat(this.locale).format(this.modelValue);\r\n }\r\n },\r\n methods: {\r\n onFocus() {\r\n this.isFocused = true;\r\n },\r\n onBlur() {\r\n this.isFocused = false;\r\n },\r\n onButtonDown(event) {\r\n if (this.disabled)\r\n return;\r\n event.preventDefault();\r\n this.onDragStart(event);\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('mousemove', this.onDragging);\r\n document.addEventListener('touchmove', this.onDragging);\r\n document.addEventListener('mouseup', this.onDragEnd);\r\n document.addEventListener('touchend', this.onDragEnd);\r\n document.addEventListener('contextmenu', this.onDragEnd);\r\n }\r\n },\r\n onLeftKeyDown() {\r\n if (this.disabled || this.modelvalue === this.min)\r\n return;\r\n this.newPosition = parseFloat(this.currentPosition) -\r\n this.step / (this.max - this.min) * 100;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onRightKeyDown() {\r\n if (this.disabled || this.modelvalue === this.max)\r\n return;\r\n this.newPosition = parseFloat(this.currentPosition) +\r\n this.step / (this.max - this.min) * 100;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onHomeKeyDown() {\r\n if (this.disabled || this.modelvalue === this.min)\r\n return;\r\n this.newPosition = 0;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onEndKeyDown() {\r\n if (this.disabled || this.modelvalue === this.max)\r\n return;\r\n this.newPosition = 100;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onDragStart(event) {\r\n this.dragging = true;\r\n this.$emit('dragstart');\r\n if (event.type === 'touchstart') {\r\n event.clientX = event.touches[0].clientX;\r\n }\r\n this.startX = event.clientX;\r\n this.startPosition = parseFloat(this.currentPosition);\r\n this.newPosition = this.startPosition;\r\n },\r\n onDragging(event) {\r\n if (this.dragging) {\r\n if (event.type === 'touchmove') {\r\n event.clientX = event.touches[0].clientX;\r\n }\r\n const diff = (event.clientX - this.startX) / this.$parent.sliderSize() * 100;\r\n this.newPosition = this.startPosition + diff;\r\n this.setPosition(this.newPosition);\r\n }\r\n },\r\n onDragEnd() {\r\n this.dragging = false;\r\n this.$emit('dragend');\r\n if (this.modelvalue !== this.oldValue) {\r\n this.$parent.emitValue('change');\r\n }\r\n this.setPosition(this.newPosition);\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('mousemove', this.onDragging);\r\n document.removeEventListener('touchmove', this.onDragging);\r\n document.removeEventListener('mouseup', this.onDragEnd);\r\n document.removeEventListener('touchend', this.onDragEnd);\r\n document.removeEventListener('contextmenu', this.onDragEnd);\r\n }\r\n },\r\n setPosition(percent) {\r\n if (percent === null || isNaN(percent))\r\n return;\r\n if (percent < 0) {\r\n percent = 0;\r\n }\r\n else if (percent > 100) {\r\n percent = 100;\r\n }\r\n const stepLength = 100 / ((this.max - this.min) / this.step);\r\n const steps = Math.round(percent / stepLength);\r\n let value = steps * stepLength / 100 * (this.max - this.min) + this.min;\r\n value = parseFloat(value.toFixed(this.precision));\r\n this.$emit('update:modelValue', value);\r\n if (!this.dragging && value !== this.oldValue) {\r\n this.oldValue = value;\r\n }\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 0\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_tooltip = resolveComponent(\"o-tooltip\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.$slider.thumbWrapperClasses,\n style: _ctx.wrapperStyle\n }, [createVNode(_component_o_tooltip, {\n label: _ctx.formattedValue,\n variant: _ctx.variant,\n always: _ctx.dragging || _ctx.isFocused || _ctx.tooltipAlways,\n active: !_ctx.disabled && _ctx.tooltip\n }, {\n default: withCtx(() => [createVNode(\"div\", mergeProps(_ctx.$attrs, {\n class: _ctx.$slider.thumbClasses,\n tabindex: _ctx.disabled ? false : 0,\n onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.onButtonDown(...args)),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => _ctx.onButtonDown(...args)),\n onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.onFocus(...args)),\n onBlur: _cache[4] || (_cache[4] = (...args) => _ctx.onBlur(...args)),\n onKeydown: [_cache[5] || (_cache[5] = withKeys(withModifiers((...args) => _ctx.onLeftKeyDown(...args), [\"prevent\"]), [\"left\"])), _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => _ctx.onRightKeyDown(...args), [\"prevent\"]), [\"right\"])), _cache[7] || (_cache[7] = withKeys(withModifiers((...args) => _ctx.onLeftKeyDown(...args), [\"prevent\"]), [\"down\"])), _cache[8] || (_cache[8] = withKeys(withModifiers((...args) => _ctx.onRightKeyDown(...args), [\"prevent\"]), [\"up\"])), _cache[9] || (_cache[9] = withKeys(withModifiers((...args) => _ctx.onHomeKeyDown(...args), [\"prevent\"]), [\"home\"])), _cache[10] || (_cache[10] = withKeys(withModifiers((...args) => _ctx.onEndKeyDown(...args), [\"prevent\"]), [\"end\"]))]\n }), [_ctx.indicator ? (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(_ctx.formattedValue), 1\n /* TEXT */\n )) : createCommentVNode(\"v-if\", true)], 16\n /* FULL_PROPS */\n , [\"tabindex\"])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"label\", \"variant\", \"always\", \"active\"])], 6\n /* CLASS, STYLE */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/slider/SliderThumb.vue\";\n\n/**\r\n * @displayName Slider Tick\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OSliderTick',\r\n mixins: [BaseComponentMixin],\r\n configField: 'slider',\r\n inject: ['$slider'],\r\n props: {\r\n /** Value of single tick */\r\n value: {\r\n variant: Number,\r\n default: 0\r\n },\r\n tickClass: [String, Function, Array],\r\n tickHiddenClass: [String, Function, Array],\r\n tickLabelClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('tickClass', 'o-slide__tick'),\r\n { [this.computedClass('tickHiddenClass', 'o-slide__tick--hidden')]: this.hidden },\r\n ];\r\n },\r\n tickLabelClasses() {\r\n return [\r\n this.computedClass('tickLabelClass', 'o-slide__tick-label')\r\n ];\r\n },\r\n position() {\r\n const pos = (this.value - this.$parent.min) /\r\n (this.$parent.max - this.$parent.min) * 100;\r\n return (pos >= 0 && pos <= 100) ? pos : 0;\r\n },\r\n hidden() {\r\n return this.value === this.$parent.min || this.value === this.$parent.max;\r\n },\r\n tickStyle() {\r\n return { 'left': this.position + '%' };\r\n }\r\n },\r\n created() {\r\n if (!this.$slider) {\r\n throw new Error('You should wrap oSliderTick on a oSlider');\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses,\n style: _ctx.tickStyle\n }, [_ctx.$slots.default ? (openBlock(), createBlock(\"span\", {\n key: 0,\n class: _ctx.tickLabelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 6\n /* CLASS, STYLE */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/slider/SliderTick.vue\";\n\n/**\r\n * A slider to select a value or range from a given range\r\n * @displayName Slider\r\n * @requires ./SliderTick.vue\r\n * @style _slider.scss\r\n */\r\nvar script$2 = defineComponent({\r\n name: 'OSlider',\r\n components: {\r\n [script.name]: script,\r\n [script$1.name]: script$1\r\n },\r\n configField: 'slider',\r\n mixins: [BaseComponentMixin],\r\n provide() {\r\n return {\r\n $slider: this\r\n };\r\n },\r\n emits: ['update:modelValue', 'change', 'dragging', 'dragstart', 'dragend'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: [Number, Array],\r\n default: 0\r\n },\r\n /** Minimum value */\r\n min: {\r\n type: Number,\r\n default: 0\r\n },\r\n /** Maximum value */\r\n max: {\r\n type: Number,\r\n default: 100\r\n },\r\n /** Step interval of ticks */\r\n step: {\r\n type: Number,\r\n default: 1\r\n },\r\n /**\r\n * Color of the slider\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: {\r\n type: String\r\n },\r\n /**\r\n * Vertical size of slider, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Show tick marks */\r\n ticks: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Show tooltip when thumb is being dragged */\r\n tooltip: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'slider.tooltip', true);\r\n }\r\n },\r\n /**\r\n * Color of the tooltip\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n tooltipVariant: String,\r\n /** Rounded thumb */\r\n rounded: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'slider.rounded', false);\r\n }\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Update v-model only when dragging is finished */\r\n lazy: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Function to format the tooltip label for display */\r\n customFormatter: Function,\r\n ariaLabel: [String, Array],\r\n /** Increases slider size on focus */\r\n biggerSliderFocus: {\r\n type: Boolean,\r\n default: false\r\n },\r\n indicator: {\r\n type: Boolean,\r\n default: false\r\n },\r\n format: {\r\n type: String,\r\n default: 'raw',\r\n validator: (value) => {\r\n return [\r\n 'raw',\r\n 'percent'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n /** Tooltip displays always */\r\n tooltipAlways: {\r\n type: Boolean,\r\n default: false\r\n },\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n trackClass: [String, Function, Array],\r\n fillClass: [String, Function, Array],\r\n thumbRoundedClass: [String, Function, Array],\r\n thumbDraggingClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n thumbWrapperClass: [String, Function, Array],\r\n thumbClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n value1: null,\r\n value2: null,\r\n dragging: false,\r\n isRange: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-slide'),\r\n { [this.computedClass('sizeClass', 'o-slide--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-slide--disabled')]: this.disabled },\r\n ];\r\n },\r\n trackClasses() {\r\n return [\r\n this.computedClass('trackClass', 'o-slide__track'),\r\n ];\r\n },\r\n fillClasses() {\r\n return [\r\n this.computedClass('fillClass', 'o-slide__fill'),\r\n { [this.computedClass('variantClass', 'o-slide__fill--', this.variant)]: this.variant },\r\n ];\r\n },\r\n thumbClasses() {\r\n return [\r\n this.computedClass('thumbClass', 'o-slide__thumb'),\r\n { [this.computedClass('thumbDraggingClass', 'o-slide__thumb--dragging')]: this.dragging },\r\n { [this.computedClass('thumbRoundedClass', 'o-slide__thumb--rounded')]: this.rounded },\r\n ];\r\n },\r\n thumbWrapperClasses() {\r\n return [\r\n this.computedClass('thumbWrapperClass', 'o-slide__thumb-wrapper'),\r\n ];\r\n },\r\n newTooltipVariant() {\r\n return this.tooltipVariant ? this.tooltipVariant : this.variant;\r\n },\r\n tickValues() {\r\n if (!this.ticks || this.min > this.max || this.step === 0)\r\n return [];\r\n const result = [];\r\n for (let i = this.min + this.step; i < this.max; i = i + this.step) {\r\n result.push(i);\r\n }\r\n return result;\r\n },\r\n minValue() {\r\n return Math.min(this.value1, this.value2);\r\n },\r\n maxValue() {\r\n return Math.max(this.value1, this.value2);\r\n },\r\n barSize() {\r\n return this.isRange\r\n ? `${100 * (this.maxValue - this.minValue) / (this.max - this.min)}%`\r\n : `${100 * (this.value1 - this.min) / (this.max - this.min)}%`;\r\n },\r\n barStart() {\r\n return this.isRange\r\n ? `${100 * (this.minValue - this.min) / (this.max - this.min)}%`\r\n : '0%';\r\n },\r\n precision() {\r\n const precisions = [this.min, this.max, this.step].map((item) => {\r\n const decimal = ('' + item).split('.')[1];\r\n return decimal ? decimal.length : 0;\r\n });\r\n return Math.max(...precisions);\r\n },\r\n barStyle() {\r\n return {\r\n width: this.barSize,\r\n left: this.barStart\r\n };\r\n }\r\n },\r\n watch: {\r\n value1() {\r\n this.onInternalValueUpdate();\r\n },\r\n value2() {\r\n this.onInternalValueUpdate();\r\n },\r\n min() {\r\n this.setValues(this.value);\r\n },\r\n max() {\r\n this.setValues(this.value);\r\n },\r\n /**\r\n * When v-model is changed set the new active step.\r\n */\r\n modelValue(value) {\r\n this.setValues(value);\r\n }\r\n },\r\n methods: {\r\n setValues(newValue) {\r\n if (this.min > this.max) {\r\n return;\r\n }\r\n if (Array.isArray(newValue)) {\r\n this.isRange = true;\r\n const smallValue = typeof newValue[0] !== 'number' || isNaN(newValue[0])\r\n ? this.min\r\n : Math.min(Math.max(this.min, newValue[0]), this.max);\r\n const largeValue = typeof newValue[1] !== 'number' || isNaN(newValue[1])\r\n ? this.max\r\n : Math.max(Math.min(this.max, newValue[1]), this.min);\r\n this.value1 = this.isThumbReversed ? largeValue : smallValue;\r\n this.value2 = this.isThumbReversed ? smallValue : largeValue;\r\n }\r\n else {\r\n this.isRange = false;\r\n this.value1 = isNaN(newValue)\r\n ? this.min\r\n : Math.min(this.max, Math.max(this.min, newValue));\r\n this.value2 = null;\r\n }\r\n },\r\n onInternalValueUpdate() {\r\n if (this.isRange) {\r\n this.isThumbReversed = this.value1 > this.value2;\r\n }\r\n if (!this.lazy || !this.dragging) {\r\n this.emitValue('update:modelValue');\r\n }\r\n if (this.dragging) {\r\n this.emitValue('dragging');\r\n }\r\n },\r\n sliderSize() {\r\n return this.$refs.slider.getBoundingClientRect().width;\r\n },\r\n onSliderClick(event) {\r\n if (this.disabled || this.isTrackClickDisabled)\r\n return;\r\n const sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left;\r\n const percent = (event.clientX - sliderOffsetLeft) / this.sliderSize() * 100;\r\n const targetValue = this.min + percent * (this.max - this.min) / 100;\r\n const diffFirst = Math.abs(targetValue - this.value1);\r\n if (!this.isRange) {\r\n if (diffFirst < this.step / 2)\r\n return;\r\n this.$refs.button1.setPosition(percent);\r\n }\r\n else {\r\n const diffSecond = Math.abs(targetValue - this.value2);\r\n if (diffFirst <= diffSecond) {\r\n if (diffFirst < this.step / 2)\r\n return;\r\n this.$refs['button1'].setPosition(percent);\r\n }\r\n else {\r\n if (diffSecond < this.step / 2)\r\n return;\r\n this.$refs['button2'].setPosition(percent);\r\n }\r\n }\r\n this.emitValue('change');\r\n },\r\n onDragStart() {\r\n this.dragging = true;\r\n this.$emit('dragstart');\r\n },\r\n onDragEnd() {\r\n this.isTrackClickDisabled = true;\r\n setTimeout(() => {\r\n // avoid triggering onSliderClick after dragend\r\n this.isTrackClickDisabled = false;\r\n }, 0);\r\n this.dragging = false;\r\n this.$emit('dragend');\r\n if (this.lazy) {\r\n this.emitValue('update:modelValue');\r\n }\r\n },\r\n emitValue(event) {\r\n const val = this.isRange\r\n ? [this.minValue, this.maxValue]\r\n : this.value1;\r\n this.$emit(event, val);\r\n }\r\n },\r\n created() {\r\n this.isThumbReversed = false;\r\n this.isTrackClickDisabled = false;\r\n this.setValues(this.modelValue);\r\n }\r\n});\n\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_slider_tick = resolveComponent(\"o-slider-tick\");\n\n const _component_o_slider_thumb = resolveComponent(\"o-slider-thumb\");\n\n return openBlock(), createBlock(\"div\", {\n onClick: _cache[3] || (_cache[3] = (...args) => _ctx.onSliderClick(...args)),\n class: _ctx.rootClasses\n }, [createVNode(\"div\", {\n class: _ctx.trackClasses,\n ref: \"slider\"\n }, [createVNode(\"div\", {\n class: _ctx.fillClasses,\n style: _ctx.barStyle\n }, null, 6\n /* CLASS, STYLE */\n ), _ctx.ticks ? (openBlock(true), createBlock(Fragment, {\n key: 0\n }, renderList(_ctx.tickValues, (val, key) => {\n return openBlock(), createBlock(_component_o_slider_tick, {\n key: key,\n value: val\n }, null, 8\n /* PROPS */\n , [\"value\"]);\n }), 128\n /* KEYED_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true), renderSlot(_ctx.$slots, \"default\"), createVNode(_component_o_slider_thumb, {\n modelValue: _ctx.value1,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.value1 = $event),\n variant: _ctx.newTooltipVariant,\n tooltip: _ctx.tooltip,\n \"custom-formatter\": _ctx.customFormatter,\n indicator: _ctx.indicator,\n ref: \"button1\",\n role: \"slider\",\n format: _ctx.format,\n locale: _ctx.locale,\n \"tooltip-always\": _ctx.tooltipAlways,\n \"aria-valuenow\": _ctx.value1,\n \"aria-valuemin\": _ctx.min,\n \"aria-valuemax\": _ctx.max,\n \"aria-orientation\": \"horizontal\",\n \"aria-label\": Array.isArray(_ctx.ariaLabel) ? _ctx.ariaLabel[0] : _ctx.ariaLabel,\n \"aria-disabled\": _ctx.disabled,\n onDragstart: _ctx.onDragStart,\n onDragend: _ctx.onDragEnd\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"variant\", \"tooltip\", \"custom-formatter\", \"indicator\", \"format\", \"locale\", \"tooltip-always\", \"aria-valuenow\", \"aria-valuemin\", \"aria-valuemax\", \"aria-label\", \"aria-disabled\", \"onDragstart\", \"onDragend\"]), _ctx.isRange ? createVNode(_component_o_slider_thumb, {\n key: 1,\n modelValue: _ctx.value2,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => _ctx.value2 = $event),\n variant: _ctx.newTooltipVariant,\n tooltip: _ctx.tooltip,\n \"custom-formatter\": _ctx.customFormatter,\n indicator: _ctx.indicator,\n ref: \"button2\",\n role: \"slider\",\n format: _ctx.format,\n locale: _ctx.locale,\n \"tooltip-always\": _ctx.tooltipAlways,\n \"aria-valuenow\": _ctx.value2,\n \"aria-valuemin\": _ctx.min,\n \"aria-valuemax\": _ctx.max,\n \"aria-orientation\": \"horizontal\",\n \"aria-label\": Array.isArray(_ctx.ariaLabel) ? _ctx.ariaLabel[1] : '',\n \"aria-disabled\": _ctx.disabled,\n onDragstart: _ctx.onDragStart,\n onDragend: _ctx.onDragEnd\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"variant\", \"tooltip\", \"custom-formatter\", \"indicator\", \"format\", \"locale\", \"tooltip-always\", \"aria-valuenow\", \"aria-valuemin\", \"aria-valuemax\", \"aria-label\", \"aria-disabled\", \"onDragstart\", \"onDragend\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript$2.render = render$2;\nscript$2.__file = \"src/components/slider/Slider.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script$2);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$2 as OSlider, script$1 as OSliderTick };\n","import { defineComponent, h } from 'vue';\n\nvar SlotComponent = defineComponent({\r\n name: 'OSlotComponent',\r\n props: {\r\n component: {\r\n type: Object,\r\n required: true\r\n },\r\n name: {\r\n type: String,\r\n default: 'default'\r\n },\r\n props: {\r\n type: Object\r\n },\r\n tag: {\r\n type: String,\r\n default: 'div'\r\n }\r\n },\r\n render() {\r\n const slot = this.component.$slots[this.name](this.props);\r\n return h(this.tag, {}, slot);\r\n }\r\n});\n\nexport { SlotComponent as S };\n","import { defineComponent, withDirectives, h, vShow, Transition } from 'vue';\nimport { mod } from './helpers.mjs';\nimport { s as script } from './Icon-a7b85e86.mjs';\nimport { P as ProviderParentMixin, S as Sorted, I as InjectedChildMixin, a as Sorted$1 } from './InjectedChildMixin-5282461d.mjs';\nimport { S as SlotComponent } from './SlotComponent-11a269f3.mjs';\n\nvar TabbedMixin = (cmp) => defineComponent({\r\n mixins: [ProviderParentMixin(cmp, Sorted)],\r\n components: {\r\n [script.name]: script,\r\n [SlotComponent.name]: SlotComponent\r\n },\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [String, Number],\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /**\r\n * Tab size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Show tab in vertical layout */\r\n vertical: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Position of the tab, optional\r\n * @values centered, right\r\n */\r\n position: String,\r\n /** Destroy tab on hide */\r\n destroyOnHide: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n activeId: this.modelValue,\r\n contentHeight: 0,\r\n isTransitioning: false\r\n };\r\n },\r\n computed: {\r\n activeItem() {\r\n return this.activeId !== undefined && this.activeId !== null\r\n ? this.childItems.filter((i) => i.newValue === this.activeId)[0] : this.items[0];\r\n },\r\n activeIndex() {\r\n return this.childItems.findIndex((item => item.newValue === this.activeId));\r\n },\r\n items() {\r\n return this.sortedItems;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed set the new active tab.\r\n */\r\n modelValue(value) {\r\n if (this.activeId !== value) {\r\n this.performAction(value);\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Child click listener, emit input event and change active child.\r\n */\r\n childClick(child) {\r\n if (this.activeId !== child.newValue) {\r\n this.performAction(child.newValue);\r\n this.$emit('update:modelValue', this.activeId);\r\n }\r\n },\r\n /**\r\n * Select the first 'viable' child, starting at startingIndex and in the direction specified\r\n * by the boolean parameter forward. In other words, first try to select the child at index\r\n * startingIndex, and if it is not visible or it is disabled, then go to the index in the\r\n * specified direction until either returning to startIndex or finding a viable child item.\r\n */\r\n clickFirstViableChild(startingIndex, forward) {\r\n let direction = forward ? 1 : -1;\r\n let newIndex = startingIndex;\r\n for (; newIndex !== this.activeIndex; newIndex = mod((newIndex + direction), this.childItems.length)) {\r\n // Break if the item at this index is viable (not disabled and is visible)\r\n if (this.childItems[newIndex].visible && !this.childItems[newIndex].disabled) {\r\n break;\r\n }\r\n }\r\n this.childClick(this.childItems[newIndex]);\r\n },\r\n /**\r\n * Go to the next item or wrap around\r\n */\r\n next() {\r\n let newIndex = mod((this.activeIndex + 1), this.childItems.length);\r\n this.clickFirstViableChild(newIndex, true);\r\n },\r\n /**\r\n * Go to the previous item or wrap around\r\n */\r\n prev() {\r\n let newIndex = mod(this.activeIndex - 1, this.childItems.length);\r\n this.clickFirstViableChild(newIndex, false);\r\n },\r\n /**\r\n * Go to the first viable item\r\n */\r\n homePressed() {\r\n if (this.childItems.length < 1) {\r\n return;\r\n }\r\n this.clickFirstViableChild(0, true);\r\n },\r\n /**\r\n * Go to the last viable item\r\n */\r\n endPressed() {\r\n if (this.childItems.length < 1) {\r\n return;\r\n }\r\n this.clickFirstViableChild(this.childItems.length - 1, false);\r\n },\r\n /**\r\n * Activate next child and deactivate prev child\r\n */\r\n performAction(newId) {\r\n const oldValue = this.activeId;\r\n const oldTab = oldValue !== undefined && oldValue !== null\r\n ? this.childItems.filter((i) => i.newValue === oldValue)[0] : this.items[0];\r\n this.activeId = newId;\r\n if (oldTab && this.activeItem) {\r\n oldTab.deactivate(this.activeItem.index);\r\n this.activeItem.activate(oldTab.index);\r\n }\r\n }\r\n }\r\n});\n\nvar TabbedChildMixin = (parentCmp) => defineComponent({\r\n mixins: [InjectedChildMixin(parentCmp, Sorted$1)],\r\n props: {\r\n /**\r\n * Item value (it will be used as v-model of wrapper component)\r\n */\r\n value: [String, Number],\r\n /**\r\n * Item label\r\n */\r\n label: String,\r\n /**\r\n * Icon on the left\r\n */\r\n icon: String,\r\n /**\r\n * Icon pack\r\n */\r\n iconPack: String,\r\n /**\r\n * Show/hide item\r\n */\r\n visible: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Header class of the item\r\n */\r\n headerClass: [String, Array, Object]\r\n },\r\n data() {\r\n return {\r\n transitionName: undefined,\r\n newValue: this.value\r\n };\r\n },\r\n computed: {\r\n isActive() {\r\n return this.parent.activeItem === this;\r\n },\r\n elementClasses() {\r\n return [];\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Activate element, alter animation name based on the index.\r\n */\r\n activate(oldIndex) {\r\n this.transitionName = this.index < oldIndex\r\n ? this.parent.vertical ? 'slide-down' : 'slide-next'\r\n : this.parent.vertical ? 'slide-up' : 'slide-prev';\r\n this.$emit(\"activate\");\r\n },\r\n /**\r\n * Deactivate element, alter animation name based on the index.\r\n */\r\n deactivate(newIndex) {\r\n this.transitionName = newIndex < this.index\r\n ? this.parent.vertical ? 'slide-down' : 'slide-next'\r\n : this.parent.vertical ? 'slide-up' : 'slide-prev';\r\n }\r\n },\r\n render() {\r\n // if destroy apply v-if\r\n if (this.parent.destroyOnHide) {\r\n if (!this.isActive || !this.visible)\r\n return;\r\n }\r\n const content = this.$slots.default ? this.$slots.default() : [];\r\n const vnode = withDirectives(h('div', {\r\n class: this.elementClasses,\r\n 'data-id': `${parentCmp}-${this.newValue}`,\r\n 'tabindex': this.isActive ? 0 : -1\r\n }, content), [[vShow, this.isActive && this.visible]]);\r\n // check animated prop\r\n if (this.parent.animated) {\r\n return h(Transition, {\r\n 'name': this.transitionName,\r\n 'onBeforeEnter': () => { this.parent.isTransitioning = true; },\r\n 'onAfterEnter': () => { this.parent.isTransitioning = false; }\r\n }, () => ([vnode]));\r\n }\r\n return vnode;\r\n }\r\n});\n\nexport { TabbedMixin as T, TabbedChildMixin as a };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, Fragment, renderList, withDirectives, createCommentVNode, toDisplayString, vShow, renderSlot, withModifiers } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$3 } from './Icon-a7b85e86.mjs';\nimport { s as script$2 } from './Button-c75f7992.mjs';\nimport './InjectedChildMixin-5282461d.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport './SlotComponent-11a269f3.mjs';\nimport { T as TabbedMixin, a as TabbedChildMixin } from './TabbedChildMixin-8b374962.mjs';\n\n/**\r\n * Responsive horizontal process steps\r\n * @displayName Steps\r\n * @requires ./StepItem.vue\r\n * @style _steps.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSteps',\r\n components: {\r\n [script$2.name]: script$2,\r\n [script$3.name]: script$3\r\n },\r\n configField: 'steps',\r\n mixins: [BaseComponentMixin, MatchMediaMixin, TabbedMixin('step')],\r\n props: {\r\n /**\r\n * Icon pack to use for the navigation\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /** Icon to use for navigation button */\r\n iconPrev: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'steps.iconPrev', 'chevron-left');\r\n }\r\n },\r\n /** Icon to use for navigation button */\r\n iconNext: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'steps.iconNext', 'chevron-right');\r\n }\r\n },\r\n /**\r\n * Next and previous buttons below the component. You can use this property if you want to use your own custom navigation items.\r\n */\r\n hasNavigation: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Step navigation is animated\r\n */\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Position of the marker label, optional\r\n * @values bottom, right, left\r\n */\r\n labelPosition: {\r\n type: String,\r\n validator(value) {\r\n return [\r\n 'bottom',\r\n 'right',\r\n 'left'\r\n ].indexOf(value) > -1;\r\n },\r\n default: 'bottom'\r\n },\r\n /** Rounded step markers */\r\n rounded: {\r\n type: Boolean,\r\n default: true\r\n },\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n verticalClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n stepsClass: [String, Function, Array],\r\n animatedClass: [String, Function, Array],\r\n stepMarkerRoundedClass: [String, Function, Array],\r\n stepDividerClass: [String, Function, Array],\r\n stepMarkerClass: [String, Function, Array],\r\n stepContentClass: [String, Function, Array],\r\n stepContentTransitioningClass: [String, Function, Array],\r\n stepNavigationClass: [String, Function, Array],\r\n stepLinkClass: [String, Function, Array],\r\n stepLinkClickableClass: [String, Function, Array],\r\n stepLinkLabelClass: [String, Function, Array],\r\n stepLinkLabelPositionClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n },\r\n computed: {\r\n wrapperClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-steps__wrapper'),\r\n { [this.computedClass('sizeClass', 'o-steps--', this.size)]: this.size },\r\n { [this.computedClass('verticalClass', 'o-steps__wrapper-vertical')]: this.vertical },\r\n { [this.computedClass('positionClass', 'o-steps__wrapper-position-', this.position)]: this.position && this.vertical },\r\n { [this.computedClass('mobileClass', 'o-steps--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n mainClasses() {\r\n return [\r\n this.computedClass('stepsClass', 'o-steps'),\r\n { [this.computedClass('animatedClass', 'o-steps--animated')]: this.animated }\r\n ];\r\n },\r\n stepDividerClasses() {\r\n return [\r\n this.computedClass('stepDividerClass', 'o-steps__divider')\r\n ];\r\n },\r\n stepMarkerClasses() {\r\n return [\r\n this.computedClass('stepMarkerClass', 'o-steps__marker'),\r\n { [this.computedClass('stepMarkerRoundedClass', 'o-steps__marker--rounded')]: this.rounded }\r\n ];\r\n },\r\n stepContentClasses() {\r\n return [\r\n this.computedClass('stepContentClass', 'o-steps__content'),\r\n { [this.computedClass('stepContentTransitioningClass', 'o-steps__content-transitioning')]: this.isTransitioning }\r\n ];\r\n },\r\n stepNavigationClasses() {\r\n return [\r\n this.computedClass('stepNavigationClass', 'o-steps__navigation')\r\n ];\r\n },\r\n stepLinkLabelClasses() {\r\n return [\r\n this.computedClass('stepLinkLabelClass', 'o-steps__title')\r\n ];\r\n },\r\n // Override mixin implementation to always have a value\r\n activeItem() {\r\n return this.childItems.filter((i) => i.newValue === this.activeId)[0] || this.items[0];\r\n },\r\n /**\r\n * Check if previous button is available.\r\n */\r\n hasPrev() {\r\n return !!this.prevItem;\r\n },\r\n /**\r\n * Retrieves the next visible item\r\n */\r\n nextItem() {\r\n let nextItem = null;\r\n let idx = this.activeItem ? this.items.indexOf(this.activeItem) + 1 : 0;\r\n for (; idx < this.items.length; idx++) {\r\n if (this.items[idx].visible) {\r\n nextItem = this.items[idx];\r\n break;\r\n }\r\n }\r\n return nextItem;\r\n },\r\n /**\r\n * Retrieves the previous visible item\r\n */\r\n prevItem() {\r\n if (!this.activeItem) {\r\n return null;\r\n }\r\n let prevItem = null;\r\n for (let idx = this.items.indexOf(this.activeItem) - 1; idx >= 0; idx--) {\r\n if (this.items[idx].visible) {\r\n prevItem = this.items[idx];\r\n break;\r\n }\r\n }\r\n return prevItem;\r\n },\r\n /**\r\n * Check if next button is available.\r\n */\r\n hasNext() {\r\n return !!this.nextItem;\r\n },\r\n navigationProps() {\r\n return {\r\n previous: {\r\n disabled: !this.hasPrev,\r\n action: this.prev\r\n },\r\n next: {\r\n disabled: !this.hasNext,\r\n action: this.next\r\n }\r\n };\r\n }\r\n },\r\n methods: {\r\n stepLinkClasses(childItem) {\r\n return [\r\n this.computedClass('stepLinkClass', 'o-steps__link'),\r\n { [this.computedClass('stepLinkLabelPositionClass', 'o-steps__link-label-', this.labelPosition)]: this.labelPosition },\r\n { [this.computedClass('stepLinkClickableClass', 'o-steps__link-clickable')]: this.isItemClickable(childItem) }\r\n ];\r\n },\r\n /**\r\n * Return if the step should be clickable or not.\r\n */\r\n isItemClickable(stepItem) {\r\n if (stepItem.clickable === undefined) {\r\n return stepItem.index < this.activeItem.index;\r\n }\r\n return stepItem.clickable;\r\n },\r\n /**\r\n * Previous button click listener.\r\n */\r\n prev() {\r\n if (this.hasPrev) {\r\n this.childClick(this.prevItem);\r\n }\r\n },\r\n /**\r\n * Previous button click listener.\r\n */\r\n next() {\r\n if (this.hasNext) {\r\n this.childClick(this.nextItem);\r\n }\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_button = resolveComponent(\"o-button\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.wrapperClasses\n }, [createVNode(\"nav\", {\n class: _ctx.mainClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.items, (childItem, index) => {\n return withDirectives((openBlock(), createBlock(\"div\", {\n key: childItem.newValue,\n class: childItem.itemClasses\n }, [index > 0 ? (openBlock(), createBlock(\"span\", {\n key: 0,\n class: _ctx.stepDividerClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), createVNode(\"a\", {\n class: _ctx.stepLinkClasses(childItem),\n onClick: $event => _ctx.isItemClickable(childItem) && _ctx.childClick(childItem)\n }, [createVNode(\"div\", {\n class: _ctx.stepMarkerClasses\n }, [childItem.icon ? createVNode(_component_o_icon, {\n key: 0,\n icon: childItem.icon,\n pack: childItem.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\"]) : childItem.step ? (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(childItem.step), 1\n /* TEXT */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), createVNode(\"div\", {\n class: _ctx.stepLinkLabelClasses\n }, toDisplayString(childItem.label), 3\n /* TEXT, CLASS */\n )], 10\n /* CLASS, PROPS */\n , [\"onClick\"])], 2\n /* CLASS */\n )), [[vShow, childItem.visible]]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n ), createVNode(\"section\", {\n class: _ctx.stepContentClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"navigation\", {\n previous: _ctx.navigationProps.previous,\n next: _ctx.navigationProps.next\n }, () => [_ctx.hasNavigation ? (openBlock(), createBlock(\"nav\", {\n key: 0,\n class: _ctx.stepNavigationClasses\n }, [createVNode(_component_o_button, {\n role: \"button\",\n \"icon-left\": _ctx.iconPrev,\n \"icon-pack\": _ctx.iconPack,\n \"icon-both\": \"\",\n disabled: _ctx.navigationProps.previous.disabled,\n onClick: withModifiers(_ctx.navigationProps.previous.action, [\"prevent\"]),\n \"aria-label\": _ctx.ariaPreviousLabel\n }, null, 8\n /* PROPS */\n , [\"icon-left\", \"icon-pack\", \"disabled\", \"onClick\", \"aria-label\"]), createVNode(_component_o_button, {\n role: \"button\",\n \"icon-left\": _ctx.iconNext,\n \"icon-pack\": _ctx.iconPack,\n \"icon-both\": \"\",\n disabled: _ctx.navigationProps.next.disabled,\n onClick: withModifiers(_ctx.navigationProps.next.action, [\"prevent\"]),\n \"aria-label\": _ctx.ariaNextLabel\n }, null, 8\n /* PROPS */\n , [\"icon-left\", \"icon-pack\", \"disabled\", \"onClick\", \"aria-label\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/steps/Steps.vue\";\n\n/**\r\n * @displayName Step Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OStepItem',\r\n mixins: [BaseComponentMixin, TabbedChildMixin('step')],\r\n configField: 'steps',\r\n props: {\r\n /** Step marker content (when there is no icon) */\r\n step: [String, Number],\r\n /** Default style for the step, optional This will override parent type. Could be used to set a completed step to \"success\" for example */\r\n variant: [String, Object],\r\n /** Item can be used directly to navigate. If undefined, previous steps are clickable while the others are not */\r\n clickable: {\r\n type: Boolean,\r\n default: undefined\r\n },\r\n itemClass: [String, Function, Array],\r\n itemHeaderClass: [String, Function, Array],\r\n itemHeaderActiveClass: [String, Function, Array],\r\n itemHeaderPreviousClass: [String, Function, Array],\r\n itemHeaderVariantClass: [String, Function, Array],\r\n },\r\n computed: {\r\n elementClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-steps__item')\r\n ];\r\n },\r\n itemClasses() {\r\n return [\r\n this.headerClass,\r\n this.computedClass('itemHeaderClass', 'o-steps__nav-item'),\r\n { [this.computedClass('itemHeaderVariantClass', 'o-steps__nav-item--', this.variant || this.parent.variant)]: this.variant || this.parent.variant },\r\n { [this.computedClass('itemHeaderActiveClass', 'o-steps__nav-item-active')]: this.isActive },\r\n { [this.computedClass('itemHeaderPreviousClass', 'o-steps__nav-item-previous')]: this.parent.activeItem.index > this.index }\r\n ];\r\n }\r\n }\r\n});\n\nscript$1.__file = \"src/components/steps/StepItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$1 as OStepItem, script as OSteps };\n","import { defineComponent, openBlock, createBlock, withKeys, withModifiers, withDirectives, createVNode, vModelCheckbox, renderSlot } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * Switch between two opposing states\r\n * @displayName Switch\r\n * @style _switch.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSwitch',\r\n mixins: [BaseComponentMixin],\r\n configField: 'switch',\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [String, Number, Boolean],\r\n /**\r\n * Same as native value\r\n */\r\n nativeValue: [String, Number, Boolean],\r\n disabled: Boolean,\r\n /**\r\n * Color of the switch, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Color of the switch when is passive, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n passiveVariant: String,\r\n /** Name attribute on native checkbox */\r\n name: String,\r\n required: Boolean,\r\n /**\r\n * Vertical size of switch, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Overrides the returned value when it's checked\r\n */\r\n trueValue: {\r\n type: [String, Number, Boolean],\r\n default: true\r\n },\r\n /**\r\n * Overrides the returned value when it's not checked\r\n */\r\n falseValue: {\r\n type: [String, Number, Boolean],\r\n default: false\r\n },\r\n /** Rounded style */\r\n rounded: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Label position */\r\n position: {\r\n type: String,\r\n default: 'right'\r\n },\r\n /** Accessibility label to establish relationship between the switch and control label' */\r\n ariaLabelledby: String,\r\n rootClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n checkClass: [String, Function, Array],\r\n checkCheckedClass: [String, Function, Array],\r\n checkSwitchClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n elementsWrapperClass: [String, Function, Array],\r\n passiveVariantClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n inputClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue,\r\n isMouseDown: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-switch'),\r\n { [this.computedClass('sizeClass', 'o-switch--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-switch--disabled')]: this.disabled },\r\n { [this.computedClass('variantClass', 'o-switch--', this.variant)]: this.variant },\r\n { [this.computedClass('positionClass', 'o-switch--', this.position)]: this.position },\r\n { [this.computedClass('passiveVariantClass', 'o-switch--', this.passiveVariant + '-passive')]: this.passiveVariant }\r\n ];\r\n },\r\n inputClasses() {\r\n return [\r\n this.computedClass('inputClass', 'o-switch__input')\r\n ];\r\n },\r\n checkClasses() {\r\n return [\r\n this.computedClass('checkClass', 'o-switch__check'),\r\n { [this.computedClass('checkCheckedClass', 'o-switch__check--checked')]: (this.newValue === this.trueValue) },\r\n { [this.computedClass('roundedClass', 'o-switch--rounded')]: this.rounded },\r\n ];\r\n },\r\n checkSwitchClasses() {\r\n return [\r\n this.computedClass('checkSwitchClass', 'o-switch__check-switch'),\r\n { [this.computedClass('roundedClass', 'o-switch--rounded')]: this.rounded },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-switch__label')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n this.newValue = value;\r\n this.$emit('update:modelValue', this.newValue);\r\n }\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model change, set internal value.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n }\r\n },\r\n methods: {\r\n focus() {\r\n // MacOS FireFox and Safari do not focus when clicked\r\n this.$refs.input.focus();\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses,\n ref: \"label\",\n onClick: _cache[3] || (_cache[3] = (...args) => _ctx.focus(...args)),\n onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.$refs.label.click(), [\"prevent\"]), [\"enter\"])),\n onMousedown: _cache[5] || (_cache[5] = $event => _ctx.isMouseDown = true),\n onMouseup: _cache[6] || (_cache[6] = $event => _ctx.isMouseDown = false),\n onMouseout: _cache[7] || (_cache[7] = $event => _ctx.isMouseDown = false),\n onBlur: _cache[8] || (_cache[8] = $event => _ctx.isMouseDown = false)\n }, [withDirectives(createVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n type: \"checkbox\",\n ref: \"input\",\n class: _ctx.inputClasses,\n onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, [\"stop\"])),\n disabled: _ctx.disabled,\n name: _ctx.name,\n required: _ctx.required,\n value: _ctx.nativeValue,\n \"true-value\": _ctx.trueValue,\n \"false-value\": _ctx.falseValue,\n \"aria-labelledby\": _ctx.ariaLabelledby\n }, null, 10\n /* CLASS, PROPS */\n , [\"disabled\", \"name\", \"required\", \"value\", \"true-value\", \"false-value\", \"aria-labelledby\"]), [[vModelCheckbox, _ctx.computedValue]]), createVNode(\"span\", {\n class: _ctx.checkClasses\n }, [createVNode(\"span\", {\n class: _ctx.checkSwitchClasses\n }, null, 2\n /* CLASS */\n )], 2\n /* CLASS */\n ), createVNode(\"span\", {\n id: _ctx.ariaLabelledby,\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 10\n /* CLASS, PROPS */\n , [\"id\"])], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/switch/Switch.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OSwitch };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, withCtx, withDirectives, toDisplayString, vShow, createCommentVNode, Fragment, renderList, h, renderSlot, createApp, mergeProps, withKeys, withModifiers, createTextVNode, capitalize, Transition } from 'vue';\nimport { getValueByPath, toCssDimension, indexOf, debounce, escapeRegExpChars, removeDiacriticsFromString } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$6 } from './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport { s as script$a } from './Input-19e906a1.mjs';\nimport { s as script$4 } from './Button-c75f7992.mjs';\nimport './CheckRadioMixin-f5b57344.mjs';\nimport { s as script$9 } from './Checkbox-8670724c.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { s as script$7 } from './Field-937b4591.mjs';\nimport { s as script$5 } from './Select-2cca695f.mjs';\nimport './ssr-85c76d50.mjs';\nimport { s as script$b } from './Loading-20d29914.mjs';\nimport { s as script$8 } from './Pagination-02a660a8.mjs';\nimport { S as SlotComponent } from './SlotComponent-11a269f3.mjs';\n\nvar script = defineComponent({\r\n name: 'OTableMobileSort',\r\n components: {\r\n [script$4.name]: script$4,\r\n [script$5.name]: script$5,\r\n [script$6.name]: script$6,\r\n [script$7.name]: script$7\r\n },\r\n inject: ['$table'],\r\n emits: ['sort'],\r\n props: {\r\n currentSortColumn: Object,\r\n columns: Array,\r\n placeholder: String,\r\n iconPack: String,\r\n sortIcon: {\r\n type: String,\r\n default: 'arrow-up'\r\n },\r\n sortIconSize: {\r\n type: String,\r\n default: 'small'\r\n },\r\n isAsc: Boolean\r\n },\r\n data() {\r\n return {\r\n mobileSort: getValueByPath(this.currentSortColumn, 'newKey'),\r\n defaultEvent: {\r\n shiftKey: true,\r\n altKey: true,\r\n ctrlKey: true\r\n },\r\n ignoreSort: false\r\n };\r\n },\r\n computed: {\r\n showPlaceholder() {\r\n return !this.columns || !this.columns.some((column) => (getValueByPath(column, 'newKey') === this.mobileSort));\r\n },\r\n sortableColumns() {\r\n if (!this.columns)\r\n return [];\r\n return this.columns.filter(c => c.sortable);\r\n },\r\n isCurrentSort() {\r\n return getValueByPath(this.currentSortColumn, 'newKey') === this.mobileSort;\r\n }\r\n },\r\n watch: {\r\n mobileSort(value) {\r\n if (this.currentSortColumn.newKey === value)\r\n return;\r\n const column = this.sortableColumns.filter(c => (getValueByPath(c, 'newKey') === value))[0];\r\n this.$emit('sort', column, this.defaultEvent);\r\n },\r\n currentSortColumn(column) {\r\n this.mobileSort = getValueByPath(column, 'newKey');\r\n }\r\n },\r\n methods: {\r\n sort() {\r\n const column = this.sortableColumns.filter(c => (getValueByPath(c, 'newKey') === this.mobileSort))[0];\r\n this.$emit('sort', column, this.defaultEvent);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_select = resolveComponent(\"o-select\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_button = resolveComponent(\"o-button\");\n\n const _component_o_field = resolveComponent(\"o-field\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.$table.mobileSortClasses\n }, [createVNode(_component_o_field, null, {\n default: withCtx(() => [createVNode(_component_o_select, {\n modelValue: _ctx.mobileSort,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.mobileSort = $event),\n expanded: \"\"\n }, {\n default: withCtx(() => [_ctx.placeholder ? withDirectives((openBlock(), createBlock(\"option\", {\n key: 0,\n value: {},\n selected: \"\",\n disabled: \"\",\n hidden: \"\"\n }, toDisplayString(_ctx.placeholder), 513\n /* TEXT, NEED_PATCH */\n )), [[vShow, _ctx.showPlaceholder]]) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.sortableColumns, (column, index) => {\n return openBlock(), createBlock(\"option\", {\n key: index,\n value: column.newKey\n }, toDisplayString(column.label), 9\n /* TEXT, PROPS */\n , [\"value\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 8\n /* PROPS */\n , [\"modelValue\"]), createVNode(_component_o_button, {\n onClick: _ctx.sort\n }, {\n default: withCtx(() => [withDirectives(createVNode(_component_o_icon, {\n icon: _ctx.sortIcon,\n pack: _ctx.iconPack,\n size: _ctx.sortIconSize,\n both: \"\",\n rotation: !_ctx.isAsc ? 180 : 0\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\", \"rotation\"]), [[vShow, _ctx.isCurrentSort]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"onClick\"])]),\n _: 1\n })], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/table/TableMobileSort.vue\";\n\n/**\r\n * @displayName Table Column\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OTableColumn',\r\n inject: ['$table'],\r\n props: {\r\n label: String,\r\n customKey: [String, Number],\r\n field: String,\r\n meta: [String, Number, Boolean, Function, Object, Array],\r\n width: [Number, String],\r\n numeric: Boolean,\r\n /**\r\n * Optional, position of column content\r\n * @values left, centered, right\r\n */\r\n position: {\r\n type: String,\r\n validator(value) {\r\n return [\r\n 'left',\r\n 'centered',\r\n 'right'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n searchable: Boolean,\r\n sortable: Boolean,\r\n visible: {\r\n type: Boolean,\r\n default: true\r\n },\r\n customSort: Function,\r\n customSearch: Function,\r\n sticky: Boolean,\r\n headerSelectable: Boolean,\r\n /** Adds native attributes to th :th-attrs=\"(column)\" => ({})\" */\r\n thAttrs: {\r\n type: Function,\r\n default: () => ({})\r\n },\r\n /** Adds native attributes to td :td-attrs=\"(row, column)\" => ({})\" */\r\n tdAttrs: {\r\n type: Function,\r\n default: () => ({})\r\n },\r\n subheading: String\r\n },\r\n data() {\r\n return {\r\n newKey: undefined,\r\n thAttrsData: {},\r\n tdAttrsData: []\r\n };\r\n },\r\n computed: {\r\n style() {\r\n return {\r\n width: toCssDimension(this.width)\r\n };\r\n },\r\n hasDefaultSlot() {\r\n return this.$slots.default;\r\n },\r\n hasSearchableSlot() {\r\n return this.$slots.searchable;\r\n },\r\n hasHeaderSlot() {\r\n return this.$slots.header;\r\n },\r\n isHeaderUnselectable() {\r\n return !this.headerSelectable && this.sortable;\r\n }\r\n },\r\n created() {\r\n if (!this.$table) {\r\n throw new Error('You should wrap oTableColumn on a oTable');\r\n }\r\n this.newKey = this.$table._nextSequence();\r\n this.$table._addColumn(this);\r\n },\r\n beforeMount() {\r\n if (typeof this.thAttrs !== 'undefined') {\r\n this.thAttrsData = this.thAttrs(this);\r\n }\r\n },\r\n beforeUnmount() {\r\n this.$table._removeColumn(this);\r\n },\r\n render() {\r\n // renderless\r\n return h('span', { 'data-id': this.newKey }, this.label);\r\n }\r\n});\n\nscript$1.__file = \"src/components/table/TableColumn.vue\";\n\nvar script$2 = defineComponent({\n name: 'OTablePagination',\n components: {\n [script$8.name]: script$8\n },\n emits: ['update:currentPage', 'page-change'],\n props: {\n paginated: Boolean,\n total: [Number, String],\n perPage: [Number, String],\n currentPage: [Number, String],\n paginationSimple: Boolean,\n paginationSize: String,\n rounded: Boolean,\n iconPack: String,\n rootClass: [String, Array, Object],\n ariaNextLabel: String,\n ariaPreviousLabel: String,\n ariaPageLabel: String,\n ariaCurrentLabel: String\n },\n\n data() {\n return {\n newCurrentPage: this.currentPage\n };\n },\n\n watch: {\n currentPage(newVal) {\n this.newCurrentPage = newVal;\n }\n\n },\n methods: {\n /**\n * Paginator change listener.\n */\n pageChanged(page) {\n this.newCurrentPage = page > 0 ? page : 1;\n this.$emit('update:currentPage', this.newCurrentPage);\n this.$emit('page-change', this.newCurrentPage);\n }\n\n }\n});\n\nconst _hoisted_1 = {\n key: 0\n};\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_pagination = resolveComponent(\"o-pagination\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClass\n }, [createVNode(\"div\", null, [renderSlot(_ctx.$slots, \"default\")]), createVNode(\"div\", null, [_ctx.paginated ? (openBlock(), createBlock(\"div\", _hoisted_1, [createVNode(_component_o_pagination, {\n \"icon-pack\": _ctx.iconPack,\n total: _ctx.total,\n \"per-page\": _ctx.perPage,\n simple: _ctx.paginationSimple,\n size: _ctx.paginationSize,\n current: _ctx.newCurrentPage,\n rounded: _ctx.rounded,\n onChange: _ctx.pageChanged,\n \"aria-next-label\": _ctx.ariaNextLabel,\n \"aria-previous-label\": _ctx.ariaPreviousLabel,\n \"aria-page-label\": _ctx.ariaPageLabel,\n \"aria-current-label\": _ctx.ariaCurrentLabel\n }, null, 8\n /* PROPS */\n , [\"icon-pack\", \"total\", \"per-page\", \"simple\", \"size\", \"current\", \"rounded\", \"onChange\", \"aria-next-label\", \"aria-previous-label\", \"aria-page-label\", \"aria-current-label\"])])) : createCommentVNode(\"v-if\", true)])], 2\n /* CLASS */\n );\n}\n\nscript$2.render = render$1;\nscript$2.__file = \"src/components/table/TablePagination.vue\";\n\n/**\r\n * Tabulated data are sometimes needed, it's even better when it's responsive\r\n * @displayName Table\r\n * @requires ./TableColumn.vue\r\n * @style _table.scss\r\n */\r\nvar script$3 = defineComponent({\r\n name: 'OTable',\r\n components: {\r\n [script$4.name]: script$4,\r\n [script$9.name]: script$9,\r\n [script$6.name]: script$6,\r\n [script$a.name]: script$a,\r\n [script$b.name]: script$b,\r\n [SlotComponent.name]: SlotComponent,\r\n [script.name]: script,\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2\r\n },\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n configField: 'table',\r\n inheritAttrs: false,\r\n provide() {\r\n return {\r\n $table: this\r\n };\r\n },\r\n emits: [\r\n 'page-change', 'click', 'dblclick', 'contextmenu',\r\n 'check', 'check-all', 'update:checkedRows',\r\n 'select', 'update:selected', 'filters-change', 'details-open', 'details-close', 'update:openedDetailed',\r\n 'mouseenter', 'mouseleave', 'sort', 'sorting-priority-removed',\r\n 'dragstart', 'dragend', 'drop', 'dragleave', 'dragover', 'cell-click',\r\n 'columndragstart', 'columndragend', 'columndrop', 'columndragleave', 'columndragover',\r\n 'update:currentPage'\r\n ],\r\n props: {\r\n /** Table data */\r\n data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Table columns */\r\n columns: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Border to all cells */\r\n bordered: Boolean,\r\n /** Whether table is striped */\r\n striped: Boolean,\r\n /** Makes the cells narrower */\r\n narrowed: Boolean,\r\n /** Rows are highlighted when hovering */\r\n hoverable: Boolean,\r\n /** Loading state */\r\n loading: Boolean,\r\n /** Allow row details */\r\n detailed: Boolean,\r\n /** Rows can be checked (multiple), checked rows will have a .is-checked class if you want to style */\r\n checkable: Boolean,\r\n /** Show check/uncheck all checkbox in table header when checkable */\r\n headerCheckable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Position of the checkbox (if checkable is true)\r\n * @values left, right\r\n */\r\n checkboxPosition: {\r\n type: String,\r\n default: 'left',\r\n validator: (value) => {\r\n return [\r\n 'left',\r\n 'right'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Set which row is selected, use v-model:selected to make it two-way binding */\r\n selected: Object,\r\n /** Custom method to verify if a row is selectable, works when is selected. */\r\n isRowSelectable: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Table can be focused and user can navigate with keyboard arrows (require selected) and rows are highlighted when hovering */\r\n focusable: Boolean,\r\n /** Custom method to verify if row is checked, works when is checkable. Useful for backend pagination */\r\n customIsChecked: Function,\r\n /** Custom method to verify if a row is checkable, works when is checkable */\r\n isRowCheckable: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Set which rows are checked, use v-model:checkedRows to make it two-way binding */\r\n checkedRows: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Rows appears as cards on mobile (collapse rows) */\r\n mobileCards: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'table.mobileCards', true);\r\n }\r\n },\r\n /** Sets the default sort column and order — e.g. ['first_name', 'desc']\t */\r\n defaultSort: [String, Array],\r\n /**\r\n * Sets the default sort column direction on the first click\r\n * @values asc, desc\r\n */\r\n defaultSortDirection: {\r\n type: String,\r\n default: 'asc'\r\n },\r\n /** Sets the header sorting icon */\r\n sortIcon: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'table.sortIcon', 'arrow-up'); }\r\n },\r\n /**\r\n * Sets the size of the sorting icon\r\n * @values small, medium, large\r\n */\r\n sortIconSize: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'table.sortIconSize', 'small'); }\r\n },\r\n /** Adds pagination to the table */\r\n paginated: Boolean,\r\n /** Current page of table data (if paginated), use v-model:currentPage to make it two-way binding */\r\n currentPage: {\r\n type: Number,\r\n default: 1\r\n },\r\n /** How many rows per page (if paginated) */\r\n perPage: {\r\n type: [Number, String],\r\n default: () => { return getValueByPath(getOptions(), 'table.perPage', 20); }\r\n },\r\n /** Allow chevron icon and column to be visible */\r\n showDetailIcon: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Icon name of detail action */\r\n detailIcon: {\r\n type: String,\r\n default: 'chevron-right'\r\n },\r\n /**\r\n * Pagination position (if paginated)\r\n * @values bottom, top, bot\r\n */\r\n paginationPosition: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'table.paginationPosition', 'bottom'); },\r\n validator: (value) => {\r\n return [\r\n 'bottom',\r\n 'top',\r\n 'both'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Columns won't be sorted with Javascript, use with sort event to sort in your backend */\r\n backendSorting: Boolean,\r\n /** Columns won't be filtered with Javascript, use with searchable prop to the columns to filter in your backend */\r\n backendFiltering: Boolean,\r\n /** Add a class to row based on the return */\r\n rowClass: {\r\n type: Function,\r\n default: () => ''\r\n },\r\n /** Allow pre-defined opened details. Ideal to open details via vue-router. (A unique key is required; check detail-key prop) */\r\n openedDetailed: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Controls the visibility of the trigger that toggles the detailed rows. */\r\n hasDetailedVisible: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Use a unique key of your data Object when use detailed or opened detailed. (id recommended) */\r\n detailKey: {\r\n type: String,\r\n default: ''\r\n },\r\n /** Custom style on details */\r\n customDetailRow: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /* Transition name to use when toggling row details. */\r\n detailTransition: {\r\n type: String,\r\n default: ''\r\n },\r\n /** Rows won't be paginated with Javascript, use with page-change event to paginate in your backend */\r\n backendPagination: Boolean,\r\n /** Total number of table data if backend-pagination is enabled */\r\n total: {\r\n type: [Number, String],\r\n default: 0\r\n },\r\n /** Icon pack to use */\r\n iconPack: String,\r\n /** Text when nothing is selected */\r\n mobileSortPlaceholder: String,\r\n /** Use a unique key of your data Object for each row. Useful if your data prop has dynamic indices. (id recommended) */\r\n customRowKey: String,\r\n /** Allows rows to be draggable */\r\n draggable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Allows columns to be draggable */\r\n draggableColumn: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Add a horizontal scrollbar when table is too wide */\r\n scrollable: Boolean,\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n ariaPageLabel: String,\r\n ariaCurrentLabel: String,\r\n /** Show a sticky table header */\r\n stickyHeader: Boolean,\r\n /** Table fixed height */\r\n height: [Number, String],\r\n /** Add a native event to filter */\r\n filtersEvent: {\r\n type: String,\r\n default: ''\r\n },\r\n /** Filtering debounce time (in milliseconds) */\r\n debounceSearch: Number,\r\n /** Show header */\r\n showHeader: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'table.showHeader', true); }\r\n },\r\n /** Make the checkbox column sticky when checkable */\r\n stickyCheckbox: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Rounded pagination if paginated */\r\n paginationRounded: Boolean,\r\n rootClass: [String, Function, Array],\r\n tableClass: [String, Function, Array],\r\n wrapperClass: [String, Function, Array],\r\n footerClass: [String, Function, Array],\r\n emptyClass: [String, Function, Array],\r\n detailedClass: [String, Function, Array],\r\n borderedClass: [String, Function, Array],\r\n stripedClass: [String, Function, Array],\r\n narrowedClass: [String, Function, Array],\r\n hoverableClass: [String, Function, Array],\r\n thClass: [String, Function, Array],\r\n tdClass: [String, Function, Array],\r\n thPositionClass: [String, Function, Array],\r\n thStickyClass: [String, Function, Array],\r\n thCheckboxClass: [String, Function, Array],\r\n thCurrentSortClass: [String, Function, Array],\r\n thSortableClass: [String, Function, Array],\r\n thUnselectableClass: [String, Function, Array],\r\n thSortIconClass: [String, Function, Array],\r\n thDetailedClass: [String, Function, Array],\r\n tdPositionClass: [String, Function, Array],\r\n tdStickyClass: [String, Function, Array],\r\n tdCheckboxClass: [String, Function, Array],\r\n tdDetailedChevronClass: [String, Function, Array],\r\n trSelectedClass: [String, Function, Array],\r\n stickyHeaderClass: [String, Function, Array],\r\n scrollableClass: [String, Function, Array],\r\n mobileSortClass: [String, Function, Array],\r\n paginationWrapperClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n thSubheadingClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n visibleDetailRows: this.openedDetailed,\r\n newData: this.data,\r\n newDataTotal: this.backendPagination ? this.total : this.data.length,\r\n newCheckedRows: [...this.checkedRows],\r\n lastCheckedRowIndex: null,\r\n newCurrentPage: this.currentPage,\r\n currentSortColumn: {},\r\n isAsc: true,\r\n filters: {},\r\n defaultSlots: [],\r\n firstTimeSort: true,\r\n sequence: 1,\r\n isDraggingRow: false,\r\n isDraggingColumn: false\r\n };\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.checkSort();\r\n });\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-table__root'),\r\n { [this.computedClass('mobileClass', 'o-table__wrapper--mobile')]: this.isMobile }\r\n ];\r\n },\r\n tableClasses() {\r\n return [\r\n this.computedClass('tableClass', 'o-table'),\r\n { [this.computedClass('borderedClass', 'o-table--bordered')]: this.bordered },\r\n { [this.computedClass('stripedClass', 'o-table--striped')]: this.striped },\r\n { [this.computedClass('narrowedClass', 'o-table--narrowed')]: this.narrowed },\r\n { [this.computedClass('hoverableClass', 'o-table--hoverable')]: ((this.hoverable || this.focusable) && this.visibleData.length) },\r\n { [this.computedClass('emptyClass', 'o-table--table__empty')]: !this.visibleData.length }\r\n ];\r\n },\r\n tableWrapperClasses() {\r\n return [\r\n this.computedClass('wrapperClass', 'o-table__wrapper'),\r\n { [this.computedClass('stickyHeaderClass', 'o-table__wrapper--sticky-header')]: this.stickyHeader },\r\n { [this.computedClass('scrollableClass', 'o-table__wrapper--scrollable')]: this.isScrollable },\r\n { [this.computedClass('mobileClass', 'o-table__wrapper--mobile')]: this.isMobile },\r\n ];\r\n },\r\n footerClasses() {\r\n return [\r\n this.computedClass('footerClass', 'o-table__footer')\r\n ];\r\n },\r\n thBaseClasses() {\r\n return [\r\n this.computedClass('thClass', 'o-table__th')\r\n ];\r\n },\r\n tdBaseClasses() {\r\n return [\r\n this.computedClass('tdClass', 'o-table__td')\r\n ];\r\n },\r\n thCheckboxClasses() {\r\n return [\r\n ...this.thBaseClasses,\r\n this.computedClass('thCheckboxClass', 'o-table__th-checkbox')\r\n ];\r\n },\r\n thDetailedClasses() {\r\n return [\r\n ...this.thBaseClasses,\r\n this.computedClass('thDetailedClass', 'o-table__th--detailed')\r\n ];\r\n },\r\n thSubheadingClasses() {\r\n return [\r\n ...this.thBaseClasses,\r\n this.computedClass('thSubheadingClass', 'o-table__th')\r\n ];\r\n },\r\n tdCheckboxClasses() {\r\n return [\r\n ...this.tdBaseClasses,\r\n this.computedClass('tdCheckboxClass', 'o-table__td-checkbox'),\r\n ...this.thStickyClasses({ sticky: this.stickyCheckbox })\r\n ];\r\n },\r\n detailedClasses() {\r\n return [\r\n this.computedClass('detailedClass', 'o-table__detail')\r\n ];\r\n },\r\n tdDetailedChevronClasses() {\r\n return [\r\n ...this.tdBaseClasses,\r\n this.computedClass('tdDetailedChevronClass', 'o-table__td-chevron')\r\n ];\r\n },\r\n mobileSortClasses() {\r\n return [\r\n this.computedClass('mobileSortClass', 'o-table__mobile-sort')\r\n ];\r\n },\r\n paginationWrapperClasses() {\r\n return [\r\n this.computedClass('paginationWrapperClass', 'o-table__pagination')\r\n ];\r\n },\r\n tableWrapperStyle() {\r\n return {\r\n height: toCssDimension(this.height)\r\n };\r\n },\r\n /**\r\n * Splitted data based on the pagination.\r\n */\r\n visibleData() {\r\n if (!this.paginated)\r\n return this.newData;\r\n const currentPage = this.newCurrentPage;\r\n const perPage = this.perPage;\r\n if (this.newData.length <= perPage) {\r\n return this.newData;\r\n }\r\n else {\r\n const start = (currentPage - 1) * perPage;\r\n const end = start + parseInt(perPage, 10);\r\n return this.newData.slice(start, end);\r\n }\r\n },\r\n visibleColumns() {\r\n if (!this.newColumns)\r\n return this.newColumns;\r\n return this.newColumns.filter((column) => {\r\n return column.visible || column.visible === undefined;\r\n });\r\n },\r\n /**\r\n * Check if all rows in the page are checked.\r\n */\r\n isAllChecked() {\r\n const validVisibleData = this.visibleData.filter((row) => this.isRowCheckable(row));\r\n if (validVisibleData.length === 0)\r\n return false;\r\n const isAllChecked = validVisibleData.some((currentVisibleRow) => {\r\n return indexOf(this.newCheckedRows, currentVisibleRow, this.customIsChecked) < 0;\r\n });\r\n return !isAllChecked;\r\n },\r\n /**\r\n * Check if all rows in the page are checkable.\r\n */\r\n isAllUncheckable() {\r\n const validVisibleData = this.visibleData.filter((row) => this.isRowCheckable(row));\r\n return validVisibleData.length === 0;\r\n },\r\n /**\r\n * Check if has any sortable column.\r\n */\r\n hasSortablenewColumns() {\r\n return this.newColumns.some((column) => {\r\n return column.sortable;\r\n });\r\n },\r\n /**\r\n * Check if has any searchable column.\r\n */\r\n hasSearchablenewColumns() {\r\n return this.newColumns.some((column) => {\r\n return column.searchable;\r\n });\r\n },\r\n /**\r\n * Return total column count based if it's checkable or expanded\r\n */\r\n columnCount() {\r\n let count = this.visibleColumns.length;\r\n count += this.checkable ? 1 : 0;\r\n count += (this.detailed && this.showDetailIcon) ? 1 : 0;\r\n return count;\r\n },\r\n /**\r\n * return if detailed row tabled\r\n * will be with chevron column & icon or not\r\n */\r\n showDetailRowIcon() {\r\n return this.detailed && this.showDetailIcon;\r\n },\r\n /**\r\n * return if scrollable table\r\n */\r\n isScrollable() {\r\n if (this.scrollable)\r\n return true;\r\n if (!this.newColumns)\r\n return false;\r\n return this.newColumns.some((column) => {\r\n return column.sticky;\r\n });\r\n },\r\n newColumns() {\r\n if (this.columns && this.columns.length) {\r\n return this.columns.map((column) => {\r\n const vnode = createVNode(script$1, column, (props) => {\r\n const vnode = h('span', {}, getValueByPath(props.row, column.field));\r\n return [vnode];\r\n });\r\n return createApp(vnode)\r\n .provide('$table', this)\r\n .mount(document.createElement('div'));\r\n });\r\n }\r\n return this.defaultSlots;\r\n },\r\n isMobile() {\r\n return this.mobileCards && this.isMatchMedia;\r\n },\r\n hasCustomSubheadings() {\r\n if (this.$slots.subheading)\r\n return true;\r\n return this.newColumns.some((column) => {\r\n return column.subheading || (column.$slots.subheading);\r\n });\r\n },\r\n canDragRow() {\r\n return this.draggable && !this.isDraggingColumn;\r\n },\r\n canDragColumn() {\r\n return this.draggableColumn && !this.isDraggingRow;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When data prop change:\r\n * 1. Update internal value.\r\n * 2. Filter data if it's not backend-filtered.\r\n * 3. Sort again if it's not backend-sorted.\r\n * 4. Set new total if it's not backend-paginated.\r\n */\r\n data: {\r\n handler(value) {\r\n this.newData = value;\r\n if (!this.backendFiltering) {\r\n this.newData = value.filter((row) => this.isRowFiltered(row));\r\n }\r\n if (!this.backendSorting) {\r\n this.sort(this.currentSortColumn, true);\r\n }\r\n if (!this.backendPagination) {\r\n this.newDataTotal = this.newData.length;\r\n }\r\n },\r\n deep: true,\r\n },\r\n visibleColumns: {\r\n handler() {\r\n this.processTdAttrs();\r\n }\r\n },\r\n visibleData: {\r\n handler() {\r\n this.processTdAttrs();\r\n }\r\n },\r\n /**\r\n * When Pagination total change, update internal total\r\n * only if it's backend-paginated.\r\n */\r\n total(newTotal) {\r\n if (!this.backendPagination)\r\n return;\r\n this.newDataTotal = newTotal;\r\n },\r\n currentPage(newValue) {\r\n this.newCurrentPage = newValue;\r\n },\r\n /**\r\n * When checkedRows prop change, update internal value without\r\n * mutating original data.\r\n */\r\n checkedRows: {\r\n handler(rows) {\r\n this.newCheckedRows = [...rows];\r\n },\r\n deep: true,\r\n },\r\n debounceSearch: {\r\n handler(value) {\r\n this.debouncedHandleFiltersChange = debounce(this.handleFiltersChange, value);\r\n },\r\n immediate: true\r\n },\r\n filters: {\r\n handler(value) {\r\n if (this.debounceSearch) {\r\n this.debouncedHandleFiltersChange(value);\r\n }\r\n else {\r\n this.handleFiltersChange(value);\r\n }\r\n },\r\n deep: true,\r\n },\r\n /**\r\n * When the user wants to control the detailed rows via props.\r\n * Or wants to open the details of certain row with the router for example.\r\n */\r\n openedDetailed(expandedRows) {\r\n this.visibleDetailRows = expandedRows;\r\n },\r\n newCurrentPage(newVal) {\r\n this.$emit('update:currentPage', newVal);\r\n }\r\n },\r\n methods: {\r\n thClasses(column) {\r\n return [\r\n ...this.thBaseClasses,\r\n ...this.thStickyClasses(column),\r\n { [this.computedClass('thCurrentSortClass', 'o-table__th-current-sort')]: (this.currentSortColumn === column) },\r\n { [this.computedClass('thSortableClass', 'o-table__th--sortable')]: column.sortable },\r\n { [this.computedClass('thUnselectableClass', 'o-table__th--unselectable')]: column.isHeaderUnselectable },\r\n { [this.computedClass('thPositionClass', 'o-table__th--', column.position)]: column.position },\r\n ];\r\n },\r\n thStickyClasses(column) {\r\n return [\r\n { [this.computedClass('thStickyClass', 'o-table__th--sticky')]: column.sticky }\r\n ];\r\n },\r\n rowClasses(row, index) {\r\n return [\r\n this.rowClass(row, index),\r\n { [this.computedClass('trSelectedClass', 'o-table__tr--selected')]: this.isRowSelected(row, this.selected) }\r\n ];\r\n },\r\n thSortIconClasses() {\r\n return [\r\n this.computedClass('thSortIconClass', 'o-table__th__sort-icon'),\r\n ];\r\n },\r\n tdClasses(row, column) {\r\n return [\r\n ...this.tdBaseClasses,\r\n { [this.computedClass('tdPositionClass', 'o-table__td--', column.position)]: column.position },\r\n { [this.computedClass('tdStickyClass', 'o-table__td--sticky')]: column.sticky }\r\n ];\r\n },\r\n onFiltersEvent(event) {\r\n this.$emit(`filters-event-${this.filtersEvent}`, { event, filters: this.filters });\r\n },\r\n handleFiltersChange(value) {\r\n if (this.backendFiltering) {\r\n this.$emit('filters-change', value);\r\n }\r\n else {\r\n this.newData = this.data.filter((row) => this.isRowFiltered(row));\r\n if (!this.backendPagination) {\r\n this.newDataTotal = this.newData.length;\r\n }\r\n if (!this.backendSorting) {\r\n if (Object.keys(this.currentSortColumn).length > 0) {\r\n this.doSortSingleColumn(this.currentSortColumn);\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Sort an array by key without mutating original data.\r\n * Call the user sort function if it was passed.\r\n */\r\n sortBy(array, key, fn, isAsc) {\r\n let sorted = [];\r\n // Sorting without mutating original data\r\n if (fn && typeof fn === 'function') {\r\n sorted = [...array].sort((a, b) => fn(a, b, isAsc));\r\n }\r\n else {\r\n sorted = [...array].sort((a, b) => {\r\n // Get nested values from objects\r\n let newA = getValueByPath(a, key);\r\n let newB = getValueByPath(b, key);\r\n // sort boolean type\r\n if (typeof newA === 'boolean' && typeof newB === 'boolean') {\r\n return isAsc ? newA > newB ? 1 : -1 : newA > newB ? -1 : 1;\r\n }\r\n if (!newA && newA !== 0)\r\n return 1;\r\n if (!newB && newB !== 0)\r\n return -1;\r\n if (newA === newB)\r\n return 0;\r\n newA = (typeof newA === 'string')\r\n ? newA.toUpperCase()\r\n : newA;\r\n newB = (typeof newB === 'string')\r\n ? newB.toUpperCase()\r\n : newB;\r\n return isAsc\r\n ? newA > newB ? 1 : -1\r\n : newA > newB ? -1 : 1;\r\n });\r\n }\r\n return sorted;\r\n },\r\n /**\r\n * Sort the column.\r\n * Toggle current direction on column if it's sortable\r\n * and not just updating the prop.\r\n */\r\n sort(column, updatingData = false, event = null) {\r\n if (!column || !column.sortable)\r\n return;\r\n if (!updatingData) {\r\n this.isAsc = column === this.currentSortColumn\r\n ? !this.isAsc\r\n : (this.defaultSortDirection.toLowerCase() !== 'desc');\r\n }\r\n if (!this.firstTimeSort) {\r\n /**\r\n * @property {string} field column field\r\n * @property {boolean} direction 'asc' or 'desc'\r\n * @property {Event} event native event\r\n */\r\n this.$emit('sort', column.field, this.isAsc ? 'asc' : 'desc', event);\r\n }\r\n if (!this.backendSorting) {\r\n this.doSortSingleColumn(column);\r\n }\r\n this.currentSortColumn = column;\r\n },\r\n doSortSingleColumn(column) {\r\n this.newData = this.sortBy(this.newData, column.field, column.customSort, this.isAsc);\r\n },\r\n isRowSelected(row, selected) {\r\n if (!selected) {\r\n return false;\r\n }\r\n if (this.customRowKey) {\r\n return row[this.customRowKey] === selected[this.customRowKey];\r\n }\r\n return row === selected;\r\n },\r\n /**\r\n * Check if the row is checked (is added to the array).\r\n */\r\n isRowChecked(row) {\r\n return indexOf(this.newCheckedRows, row, this.customIsChecked) >= 0;\r\n },\r\n /**\r\n * Remove a checked row from the array.\r\n */\r\n removeCheckedRow(row) {\r\n const index = indexOf(this.newCheckedRows, row, this.customIsChecked);\r\n if (index >= 0) {\r\n this.newCheckedRows.splice(index, 1);\r\n }\r\n },\r\n /**\r\n * Header checkbox click listener.\r\n * Add or remove all rows in current page.\r\n */\r\n checkAll() {\r\n const isAllChecked = this.isAllChecked;\r\n this.visibleData.forEach((currentRow) => {\r\n if (this.isRowCheckable(currentRow)) {\r\n this.removeCheckedRow(currentRow);\r\n }\r\n if (!isAllChecked) {\r\n if (this.isRowCheckable(currentRow)) {\r\n this.newCheckedRows.push(currentRow);\r\n }\r\n }\r\n });\r\n /**\r\n * @property {Array} newCheckedRows checked rows\r\n */\r\n this.$emit('check', this.newCheckedRows);\r\n this.$emit('check-all', this.newCheckedRows);\r\n // Emit checked rows to update user variable\r\n this.$emit('update:checkedRows', this.newCheckedRows);\r\n },\r\n /**\r\n * Row checkbox click listener.\r\n */\r\n checkRow(row, index, event) {\r\n if (!this.isRowCheckable(row))\r\n return;\r\n const lastIndex = this.lastCheckedRowIndex;\r\n this.lastCheckedRowIndex = index;\r\n if (event.shiftKey && lastIndex !== null && index !== lastIndex) {\r\n this.shiftCheckRow(row, index, lastIndex);\r\n }\r\n else if (!this.isRowChecked(row)) {\r\n this.newCheckedRows.push(row);\r\n }\r\n else {\r\n this.removeCheckedRow(row);\r\n }\r\n this.$emit('check', this.newCheckedRows, row);\r\n // Emit checked rows to update user variable\r\n this.$emit('update:checkedRows', this.newCheckedRows);\r\n },\r\n /**\r\n * Check row when shift is pressed.\r\n */\r\n shiftCheckRow(row, index, lastCheckedRowIndex) {\r\n // Get the subset of the list between the two indicies\r\n const subset = this.visibleData.slice(Math.min(index, lastCheckedRowIndex), Math.max(index, lastCheckedRowIndex) + 1);\r\n // Determine the operation based on the state of the clicked checkbox\r\n const shouldCheck = !this.isRowChecked(row);\r\n subset.forEach((item) => {\r\n this.removeCheckedRow(item);\r\n if (shouldCheck && this.isRowCheckable(item)) {\r\n this.newCheckedRows.push(item);\r\n }\r\n });\r\n },\r\n /**\r\n * Row click listener.\r\n * Emit all necessary events.\r\n */\r\n selectRow(row, index) {\r\n /**\r\n * @property {Object} row clicked row\r\n * @property {number} index index of clicked row\r\n */\r\n this.$emit('click', row, index);\r\n if (this.selected === row)\r\n return;\r\n if (!this.isRowSelectable(row))\r\n return;\r\n // Emit new and old row\r\n /**\r\n * @property {Object} row selected row\r\n * @property {Array} selected selected rows\r\n */\r\n this.$emit('select', row, this.selected);\r\n // Emit new row to update user variable\r\n this.$emit('update:selected', row);\r\n },\r\n /**\r\n * Toggle to show/hide details slot\r\n */\r\n toggleDetails(obj) {\r\n const found = this.isVisibleDetailRow(obj);\r\n if (found) {\r\n this.closeDetailRow(obj);\r\n this.$emit('details-close', obj);\r\n }\r\n else {\r\n this.openDetailRow(obj);\r\n this.$emit('details-open', obj);\r\n }\r\n // Syncs the detailed rows with the parent component\r\n this.$emit('update:openedDetailed', this.visibleDetailRows);\r\n },\r\n openDetailRow(obj) {\r\n const index = this.handleDetailKey(obj);\r\n this.visibleDetailRows.push(index);\r\n },\r\n closeDetailRow(obj) {\r\n const index = this.handleDetailKey(obj);\r\n const i = this.visibleDetailRows.indexOf(index);\r\n if (i >= 0) {\r\n this.visibleDetailRows.splice(i, 1);\r\n }\r\n },\r\n isVisibleDetailRow(obj) {\r\n const index = this.handleDetailKey(obj);\r\n return this.visibleDetailRows.indexOf(index) >= 0;\r\n },\r\n isActiveDetailRow(row) {\r\n return this.detailed && !this.customDetailRow && this.isVisibleDetailRow(row);\r\n },\r\n isActiveCustomDetailRow(row) {\r\n return this.detailed && this.customDetailRow && this.isVisibleDetailRow(row);\r\n },\r\n isRowFiltered(row) {\r\n for (const key in this.filters) {\r\n if (!this.filters[key])\r\n continue;\r\n const input = this.filters[key];\r\n const column = this.newColumns.filter((c) => c.field === key)[0];\r\n if (column && column.customSearch && typeof column.customSearch === 'function') {\r\n if (!column.customSearch(row, input))\r\n return false;\r\n }\r\n else {\r\n const value = getValueByPath(row, key);\r\n if (value == null)\r\n return false;\r\n if (Number.isInteger(value)) {\r\n if (value !== Number(input))\r\n return false;\r\n }\r\n else {\r\n const re = new RegExp(escapeRegExpChars(input), 'i');\r\n if (Array.isArray(value)) {\r\n const valid = value.some((val) => re.test(removeDiacriticsFromString(val)) || re.test(val));\r\n if (!valid)\r\n return false;\r\n }\r\n else {\r\n if (!re.test(removeDiacriticsFromString(value)) && !re.test(value)) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n },\r\n /**\r\n * When the detailKey is defined we use the object[detailKey] as index.\r\n * If not, use the object reference by default.\r\n */\r\n handleDetailKey(index) {\r\n const key = this.detailKey;\r\n return !key.length || !index\r\n ? index\r\n : index[key];\r\n },\r\n /**\r\n * Call initSort only first time (For example async data).\r\n */\r\n checkSort() {\r\n if (this.newColumns.length && this.firstTimeSort) {\r\n this.initSort();\r\n this.firstTimeSort = false;\r\n }\r\n else if (this.newColumns.length) {\r\n if (Object.keys(this.currentSortColumn).length > 0) {\r\n for (let i = 0; i < this.newColumns.length; i++) {\r\n if (this.newColumns[i].field === this.currentSortColumn.field) {\r\n this.currentSortColumn = this.newColumns[i];\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Check if footer slot has custom content.\r\n */\r\n hasCustomFooterSlot() {\r\n if (this.$slots.footer) {\r\n const footer = this.$slots.footer();\r\n if (footer.length > 1)\r\n return true;\r\n const tag = footer[0].tag;\r\n if (tag !== 'th' && tag !== 'td')\r\n return false;\r\n }\r\n return true;\r\n },\r\n /**\r\n * Table arrow keys listener, change selection.\r\n */\r\n pressedArrow(pos) {\r\n if (!this.visibleData.length)\r\n return;\r\n let index = this.visibleData.indexOf(this.selected) + pos;\r\n // Prevent from going up from first and down from last\r\n index = index < 0\r\n ? 0\r\n : index > this.visibleData.length - 1\r\n ? this.visibleData.length - 1\r\n : index;\r\n const row = this.visibleData[index];\r\n if (!this.isRowSelectable(row)) {\r\n let newIndex = null;\r\n if (pos > 0) {\r\n for (let i = index; i < this.visibleData.length && newIndex === null; i++) {\r\n if (this.isRowSelectable(this.visibleData[i]))\r\n newIndex = i;\r\n }\r\n }\r\n else {\r\n for (let i = index; i >= 0 && newIndex === null; i--) {\r\n if (this.isRowSelectable(this.visibleData[i]))\r\n newIndex = i;\r\n }\r\n }\r\n if (newIndex >= 0) {\r\n this.selectRow(this.visibleData[newIndex]);\r\n }\r\n }\r\n else {\r\n this.selectRow(row);\r\n }\r\n },\r\n /**\r\n * Focus table element if has selected prop.\r\n */\r\n focus() {\r\n if (!this.focusable)\r\n return;\r\n this.$el.querySelector('table').focus();\r\n },\r\n /**\r\n * Initial sorted column based on the default-sort prop.\r\n */\r\n initSort() {\r\n if (!this.defaultSort)\r\n return;\r\n let sortField = '';\r\n let sortDirection = this.defaultSortDirection;\r\n if (Array.isArray(this.defaultSort)) {\r\n sortField = this.defaultSort[0];\r\n if (this.defaultSort[1]) {\r\n sortDirection = this.defaultSort[1];\r\n }\r\n }\r\n else {\r\n sortField = this.defaultSort;\r\n }\r\n const sortColumn = this.newColumns.filter((column) => (column.field === sortField))[0];\r\n if (sortColumn) {\r\n this.isAsc = sortDirection.toLowerCase() !== 'desc';\r\n this.sort(sortColumn, true);\r\n }\r\n },\r\n /**\r\n * Emits drag start event\r\n */\r\n handleDragStart(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragstart', { event, row, index });\r\n },\r\n /**\r\n * Emits drag leave event\r\n */\r\n handleDragEnd(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragend', { event, row, index });\r\n },\r\n /**\r\n * Emits drop event\r\n */\r\n handleDrop(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('drop', { event, row, index });\r\n },\r\n /**\r\n * Emits drag over event\r\n */\r\n handleDragOver(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragover', { event, row, index });\r\n },\r\n /**\r\n * Emits drag leave event\r\n */\r\n handleDragLeave(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragleave', { event, row, index });\r\n },\r\n /**\r\n * Emits drag start event (column)\r\n */\r\n handleColumnDragStart(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.isDraggingColumn = true;\r\n this.$emit('columndragstart', { event, column, index });\r\n },\r\n /**\r\n * Emits drag leave event (column)\r\n */\r\n handleColumnDragEnd(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.isDraggingColumn = false;\r\n this.$emit('columndragend', { event, column, index });\r\n },\r\n /**\r\n * Emits drop event (column)\r\n */\r\n handleColumnDrop(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.$emit('columndrop', { event, column, index });\r\n },\r\n /**\r\n * Emits drag over event (column)\r\n */\r\n handleColumnDragOver(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.$emit('columndragover', { event, column, index });\r\n },\r\n /**\r\n * Emits drag leave event (column)\r\n */\r\n handleColumnDragLeave(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.$emit('columndragleave', { event, column, index });\r\n },\r\n emitEventForRow(eventName, event, row) {\r\n return this.$attrs[eventName] ? this.$emit(eventName, row, event) : null;\r\n },\r\n processTdAttrs() {\r\n if (this.visibleColumns.length && this.visibleData.length) {\r\n for (let i = 0; i < this.visibleColumns.length; i++) {\r\n const col = this.visibleColumns[i];\r\n if (typeof col.tdAttrs !== 'undefined') {\r\n this.visibleData.forEach((data, index) => {\r\n col.tdAttrsData[index] = col.tdAttrs(data, col);\r\n });\r\n }\r\n }\r\n }\r\n },\r\n _addColumn(column) {\r\n this.defaultSlots.push(column);\r\n const slot = this.$refs['slot'];\r\n if (slot && slot.children) {\r\n this.$nextTick(() => {\r\n const ids = this.defaultSlots.map(it => `[data-id=\"${it.newKey}\"]`).join(',');\r\n const sortedIds = Array.from(slot.querySelectorAll(ids)).map((el) => el.getAttribute('data-id'));\r\n this.defaultSlots = this.defaultSlots.sort((a, b) => sortedIds.indexOf(`${a.newKey}`) - sortedIds.indexOf(`${b.newKey}`));\r\n });\r\n }\r\n },\r\n _removeColumn(column) {\r\n this.defaultSlots = this.defaultSlots.filter(d => d.newKey !== column.newKey);\r\n },\r\n _nextSequence() {\r\n return this.sequence++;\r\n }\r\n }\r\n});\n\nconst _hoisted_1$1 = {\n ref: \"slot\",\n style: {\n \"display\": \"none\"\n }\n};\nconst _hoisted_2 = {\n key: 0\n};\nconst _hoisted_3 = {\n key: 1\n};\nconst _hoisted_4 = {\n key: 1\n};\nconst _hoisted_5 = {\n key: 0\n};\nconst _hoisted_6 = {\n key: 1\n};\nconst _hoisted_7 = {\n key: 2\n};\nconst _hoisted_8 = {\n key: 1\n};\nconst _hoisted_9 = {\n key: 1\n};\nconst _hoisted_10 = {\n key: 2\n};\nconst _hoisted_11 = {\n key: 0\n};\nconst _hoisted_12 = {\n key: 2\n};\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_table_mobile_sort = resolveComponent(\"o-table-mobile-sort\");\n\n const _component_o_table_pagination = resolveComponent(\"o-table-pagination\");\n\n const _component_o_checkbox = resolveComponent(\"o-checkbox\");\n\n const _component_o_slot_component = resolveComponent(\"o-slot-component\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_input = resolveComponent(\"o-input\");\n\n const _component_o_loading = resolveComponent(\"o-loading\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(\"div\", _hoisted_1$1, [renderSlot(_ctx.$slots, \"default\")], 512\n /* NEED_PATCH */\n ), _ctx.isMobile && _ctx.hasSortablenewColumns ? createVNode(_component_o_table_mobile_sort, {\n key: 0,\n \"current-sort-column\": _ctx.currentSortColumn,\n columns: _ctx.newColumns,\n placeholder: _ctx.mobileSortPlaceholder,\n \"icon-pack\": _ctx.iconPack,\n \"sort-icon\": _ctx.sortIcon,\n \"sort-icon-size\": _ctx.sortIconSize,\n \"is-asc\": _ctx.isAsc,\n onSort: _cache[1] || (_cache[1] = (column, event) => _ctx.sort(column, null, event))\n }, null, 8\n /* PROPS */\n , [\"current-sort-column\", \"columns\", \"placeholder\", \"icon-pack\", \"sort-icon\", \"sort-icon-size\", \"is-asc\"]) : createCommentVNode(\"v-if\", true), _ctx.paginated && (_ctx.paginationPosition === 'top' || _ctx.paginationPosition === 'both') ? renderSlot(_ctx.$slots, \"pagination\", {\n key: 1\n }, () => [createVNode(_component_o_table_pagination, mergeProps(_ctx.$attrs, {\n \"per-page\": _ctx.perPage,\n paginated: _ctx.paginated,\n total: _ctx.newDataTotal,\n \"current-page\": _ctx.newCurrentPage,\n \"onUpdate:currentPage\": _cache[2] || (_cache[2] = $event => _ctx.newCurrentPage = $event),\n \"root-class\": _ctx.paginationWrapperClasses,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.paginationRounded,\n \"onPage-change\": _cache[3] || (_cache[3] = event => _ctx.$emit('page-change', event)),\n \"aria-next-label\": _ctx.ariaNextLabel,\n \"aria-previous-label\": _ctx.ariaPreviousLabel,\n \"aria-page-label\": _ctx.ariaPageLabel,\n \"aria-current-label\": _ctx.ariaCurrentLabel\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"top-left\")]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"per-page\", \"paginated\", \"total\", \"current-page\", \"root-class\", \"icon-pack\", \"rounded\", \"aria-next-label\", \"aria-previous-label\", \"aria-page-label\", \"aria-current-label\"])]) : createCommentVNode(\"v-if\", true), createVNode(\"div\", {\n class: _ctx.tableWrapperClasses,\n style: _ctx.tableWrapperStyle\n }, [createVNode(\"table\", {\n class: _ctx.tableClasses,\n tabindex: !_ctx.focusable ? false : 0,\n onKeydown: [_cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.pressedArrow(-1), [\"self\", \"prevent\"]), [\"up\"])), _cache[5] || (_cache[5] = withKeys(withModifiers($event => _ctx.pressedArrow(1), [\"self\", \"prevent\"]), [\"down\"]))]\n }, [_ctx.$slots.caption ? (openBlock(), createBlock(\"caption\", _hoisted_2, [renderSlot(_ctx.$slots, \"caption\")])) : createCommentVNode(\"v-if\", true), _ctx.newColumns.length && _ctx.showHeader ? (openBlock(), createBlock(\"thead\", _hoisted_3, [createVNode(\"tr\", null, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"th\", {\n key: 0,\n class: _ctx.thDetailedClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"th\", {\n key: 1,\n class: _ctx.thCheckboxClasses\n }, [_ctx.headerCheckable ? createVNode(_component_o_checkbox, {\n key: 0,\n autocomplete: \"off\",\n modelValue: _ctx.isAllChecked,\n disabled: _ctx.isAllUncheckable,\n \"onUpdate:modelValue\": _ctx.checkAll\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"disabled\", \"onUpdate:modelValue\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, index) => {\n return openBlock(), createBlock(\"th\", mergeProps({\n key: column.newKey + ':' + index + 'header'\n }, column.thAttrsData, {\n class: _ctx.thClasses(column),\n style: _ctx.isMobile ? {} : column.style,\n onClick: withModifiers($event => _ctx.sort(column, null, $event), [\"stop\"]),\n draggable: _ctx.canDragColumn,\n onDragstart: $event => _ctx.handleColumnDragStart($event, column, index),\n onDragend: $event => _ctx.handleColumnDragEnd($event, column, index),\n onDrop: $event => _ctx.handleColumnDrop($event, column, index),\n onDragover: $event => _ctx.handleColumnDragOver($event, column, index),\n onDragleave: $event => _ctx.handleColumnDragLeave($event, column, index)\n }), [column.hasHeaderSlot ? createVNode(_component_o_slot_component, {\n key: 0,\n component: column,\n name: \"header\",\n tag: \"span\",\n props: {\n column,\n index\n }\n }, null, 8\n /* PROPS */\n , [\"component\", \"props\"]) : (openBlock(), createBlock(\"span\", _hoisted_4, [createTextVNode(toDisplayString(column.label) + \" \", 1\n /* TEXT */\n ), withDirectives(createVNode(\"span\", {\n class: _ctx.thSortIconClasses()\n }, [createVNode(_component_o_icon, {\n icon: _ctx.sortIcon,\n pack: _ctx.iconPack,\n both: \"\",\n size: _ctx.sortIconSize,\n rotation: !_ctx.isAsc ? 180 : 0\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\", \"rotation\"])], 2\n /* CLASS */\n ), [[vShow, column.sortable && _ctx.currentSortColumn === column]])]))], 16\n /* FULL_PROPS */\n , [\"onClick\", \"draggable\", \"onDragstart\", \"onDragend\", \"onDrop\", \"onDragover\", \"onDragleave\"]);\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"th\", {\n key: 2,\n class: _ctx.thCheckboxClasses\n }, [_ctx.headerCheckable ? createVNode(_component_o_checkbox, {\n key: 0,\n autocomplete: \"off\",\n modelValue: _ctx.isAllChecked,\n disabled: _ctx.isAllUncheckable,\n \"onUpdate:modelValue\": _ctx.checkAll\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"disabled\", \"onUpdate:modelValue\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]), _ctx.hasSearchablenewColumns ? (openBlock(), createBlock(\"tr\", _hoisted_5, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"th\", {\n key: 0,\n class: _ctx.thDetailedClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"th\", _hoisted_6)) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, index) => {\n return openBlock(), createBlock(\"th\", mergeProps({\n key: column.newKey + ':' + index + 'searchable'\n }, column.thAttrsData, {\n class: _ctx.thClasses(column),\n style: _ctx.isMobile ? {} : column.style\n }), [column.searchable ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [column.hasSearchableSlot ? createVNode(_component_o_slot_component, {\n key: 0,\n component: column,\n name: \"searchable\",\n tag: \"span\",\n props: {\n column,\n filters: _ctx.filters\n }\n }, null, 8\n /* PROPS */\n , [\"component\", \"props\"]) : createVNode(_component_o_input, {\n key: 1,\n [\"on\" + capitalize(_ctx.filtersEvent)]: _ctx.onFiltersEvent,\n modelValue: _ctx.filters[column.field],\n \"onUpdate:modelValue\": $event => _ctx.filters[column.field] = $event,\n type: column.numeric ? 'number' : 'text'\n }, null, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"onUpdate:modelValue\", \"type\"])], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)], 16\n /* FULL_PROPS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"th\", _hoisted_7)) : createCommentVNode(\"v-if\", true)])) : createCommentVNode(\"v-if\", true), _ctx.hasCustomSubheadings ? (openBlock(), createBlock(\"tr\", _hoisted_8, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"th\", {\n key: 0,\n class: _ctx.thDetailedClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"th\", _hoisted_9)) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, index) => {\n return openBlock(), createBlock(\"th\", {\n key: column.newKey + ':' + index + 'subheading',\n style: _ctx.isMobile ? {} : column.style,\n class: _ctx.thSubheadingClasses\n }, [column.$slots && column.$slots.subheading ? createVNode(_component_o_slot_component, {\n key: 0,\n component: column,\n name: \"subheading\",\n tag: \"span\",\n props: {\n column,\n index\n }\n }, null, 8\n /* PROPS */\n , [\"component\", \"props\"]) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(column.subheading), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 6\n /* CLASS, STYLE */\n );\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"th\", _hoisted_10)) : createCommentVNode(\"v-if\", true)])) : createCommentVNode(\"v-if\", true)])) : createCommentVNode(\"v-if\", true), createVNode(\"tbody\", null, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleData, (row, index) => {\n return openBlock(), createBlock(Fragment, {\n key: this.customRowKey ? row[this.customRowKey] : index\n }, [createVNode(\"tr\", {\n class: _ctx.rowClasses(row, index),\n onClick: $event => _ctx.selectRow(row, index),\n onDblclick: $event => _ctx.$emit('dblclick', row),\n onMouseenter: $event => _ctx.emitEventForRow('mouseenter', $event, row),\n onMouseleave: $event => _ctx.emitEventForRow('mouseleave', $event, row),\n onContextmenu: $event => _ctx.$emit('contextmenu', row, $event),\n draggable: _ctx.canDragRow,\n onDragstart: $event => _ctx.handleDragStart($event, row, index),\n onDragend: $event => _ctx.handleDragEnd($event, row, index),\n onDrop: $event => _ctx.handleDrop($event, row, index),\n onDragover: $event => _ctx.handleDragOver($event, row, index),\n onDragleave: $event => _ctx.handleDragLeave($event, row, index)\n }, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"td\", {\n key: 0,\n class: _ctx.tdDetailedChevronClasses\n }, [_ctx.hasDetailedVisible(row) ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.detailIcon,\n pack: _ctx.iconPack,\n rotation: _ctx.isVisibleDetailRow(row) ? 90 : 0,\n role: \"button\",\n onClick: withModifiers($event => _ctx.toggleDetails(row), [\"stop\"]),\n clickable: \"\",\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"rotation\", \"onClick\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"td\", {\n key: 1,\n class: _ctx.tdCheckboxClasses\n }, [createVNode(_component_o_checkbox, {\n autocomplete: \"off\",\n disabled: !_ctx.isRowCheckable(row),\n modelValue: _ctx.isRowChecked(row),\n \"onUpdate:modelValue\": $event => _ctx.checkRow(row, index, $event)\n }, null, 8\n /* PROPS */\n , [\"disabled\", \"modelValue\", \"onUpdate:modelValue\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, colindex) => {\n return openBlock(), createBlock(_component_o_slot_component, mergeProps({\n key: column.newKey + index + ':' + colindex\n }, column.tdAttrsData[index], {\n component: column,\n name: \"default\",\n tag: \"td\",\n class: _ctx.tdClasses(row, column),\n style: _ctx.isMobile ? {} : column.style,\n \"data-label\": column.label,\n props: {\n row,\n column,\n index,\n colindex,\n toggleDetails: _ctx.toggleDetails\n },\n onClick: $event => _ctx.$emit('cell-click', row, column, index, colindex, $event)\n }), null, 16\n /* FULL_PROPS */\n , [\"component\", \"class\", \"style\", \"data-label\", \"props\", \"onClick\"]);\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"td\", {\n key: 2,\n class: _ctx.tdCheckboxClasses\n }, [createVNode(_component_o_checkbox, {\n autocomplete: \"off\",\n disabled: !_ctx.isRowCheckable(row),\n modelValue: _ctx.isRowChecked(row),\n \"onUpdate:modelValue\": $event => _ctx.checkRow(row, index, $event)\n }, null, 8\n /* PROPS */\n , [\"disabled\", \"modelValue\", \"onUpdate:modelValue\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"onClick\", \"onDblclick\", \"onMouseenter\", \"onMouseleave\", \"onContextmenu\", \"draggable\", \"onDragstart\", \"onDragend\", \"onDrop\", \"onDragover\", \"onDragleave\"]), createVNode(Transition, {\n name: _ctx.detailTransition\n }, {\n default: withCtx(() => [_ctx.isActiveDetailRow(row) ? (openBlock(), createBlock(\"tr\", {\n key: (_ctx.customRowKey ? row[_ctx.customRowKey] : index) + 'detail',\n class: _ctx.detailedClasses\n }, [createVNode(\"td\", {\n colspan: _ctx.columnCount\n }, [renderSlot(_ctx.$slots, \"detail\", {\n row: row,\n index: index\n })], 8\n /* PROPS */\n , [\"colspan\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 2\n }, 1032\n /* PROPS, DYNAMIC_SLOTS */\n , [\"name\"]), _ctx.isActiveCustomDetailRow(row) ? renderSlot(_ctx.$slots, \"detail\", {\n key: 0,\n row: row,\n index: index\n }) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n );\n }), 128\n /* KEYED_FRAGMENT */\n )), !_ctx.visibleData.length ? (openBlock(), createBlock(\"tr\", _hoisted_11, [createVNode(\"td\", {\n colspan: _ctx.columnCount\n }, [renderSlot(_ctx.$slots, \"empty\")], 8\n /* PROPS */\n , [\"colspan\"])])) : createCommentVNode(\"v-if\", true)]), _ctx.$slots.footer ? (openBlock(), createBlock(\"tfoot\", _hoisted_12, [createVNode(\"tr\", {\n class: _ctx.footerClasses\n }, [_ctx.hasCustomFooterSlot() ? renderSlot(_ctx.$slots, \"footer\", {\n key: 0\n }) : (openBlock(), createBlock(\"th\", {\n key: 1,\n colspan: _ctx.columnCount\n }, [renderSlot(_ctx.$slots, \"footer\")], 8\n /* PROPS */\n , [\"colspan\"]))], 2\n /* CLASS */\n )])) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"tabindex\"]), renderSlot(_ctx.$slots, \"loading\", {}, () => [createVNode(_component_o_loading, {\n \"full-page\": false,\n active: _ctx.loading\n }, null, 8\n /* PROPS */\n , [\"active\"])])], 6\n /* CLASS, STYLE */\n ), _ctx.checkable && _ctx.$slots['bottom-left'] || _ctx.paginated && (_ctx.paginationPosition === 'bottom' || _ctx.paginationPosition === 'both') ? renderSlot(_ctx.$slots, \"pagination\", {\n key: 2\n }, () => [createVNode(_component_o_table_pagination, mergeProps(_ctx.$attrs, {\n \"per-page\": _ctx.perPage,\n paginated: _ctx.paginated,\n total: _ctx.newDataTotal,\n \"current-page\": _ctx.newCurrentPage,\n \"onUpdate:currentPage\": _cache[6] || (_cache[6] = $event => _ctx.newCurrentPage = $event),\n \"root-class\": _ctx.paginationWrapperClasses,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.paginationRounded,\n \"onPage-change\": _cache[7] || (_cache[7] = event => _ctx.$emit('page-change', event)),\n \"aria-next-label\": _ctx.ariaNextLabel,\n \"aria-previous-label\": _ctx.ariaPreviousLabel,\n \"aria-page-label\": _ctx.ariaPageLabel,\n \"aria-current-label\": _ctx.ariaCurrentLabel\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"bottom-left\")]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"per-page\", \"paginated\", \"total\", \"current-page\", \"root-class\", \"icon-pack\", \"rounded\", \"aria-next-label\", \"aria-previous-label\", \"aria-page-label\", \"aria-current-label\"])]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript$3.render = render$2;\nscript$3.__file = \"src/components/table/Table.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script$3);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$3 as OTable, script$1 as OTableColumn };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, renderSlot, Fragment, renderList, withDirectives, withKeys, withModifiers, resolveDynamicComponent, withCtx, createCommentVNode, toDisplayString, vShow } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './InjectedChildMixin-5282461d.mjs';\nimport './SlotComponent-11a269f3.mjs';\nimport { T as TabbedMixin, a as TabbedChildMixin } from './TabbedChildMixin-8b374962.mjs';\n\n/**\r\n * Responsive horizontal navigation tabs, switch between contents with ease\r\n * @displayName Tabs\r\n * @requires ./TabItem.vue\r\n * @style _tabs.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OTabs',\r\n mixins: [BaseComponentMixin, TabbedMixin('tab')],\r\n configField: 'tabs',\r\n props: {\r\n /**\r\n * Tab type\r\n * @values boxed, toggle\r\n */\r\n type: {\r\n type: String,\r\n default: 'default'\r\n },\r\n /**\r\n * Tabs will be expanded (full-width)\r\n */\r\n expanded: Boolean,\r\n /** Tab will have an animation */\r\n animated: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'tabs.animated', true);\r\n }\r\n },\r\n /** Show tab items multiline when there is no space */\r\n multiline: Boolean,\r\n rootClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n verticalClass: [String, Function, Array],\r\n multilineClass: [String, Function, Array],\r\n navTabsClass: [String, Function, Array],\r\n navSizeClass: [String, Function, Array],\r\n navPositionClass: [String, Function, Array],\r\n navTypeClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n transitioningClass: [String, Function, Array],\r\n tabItemWrapperClass: [String, Function, Array],\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-tabs'),\r\n { [this.computedClass('positionClass', 'o-tabs--', this.position)]: this.position && this.vertical },\r\n { [this.computedClass('expandedClass', 'o-tabs--fullwidth')]: this.expanded },\r\n { [this.computedClass('verticalClass', 'o-tabs--vertical')]: this.vertical },\r\n { [this.computedClass('multilineClass', 'o-tabs--multiline')]: this.multiline }\r\n ];\r\n },\r\n itemWrapperClasses() {\r\n return [\r\n this.computedClass('tabItemWrapperClass', 'o-tabs__nav-item-wrapper'),\r\n ];\r\n },\r\n navClasses() {\r\n return [\r\n this.computedClass('navTabsClass', 'o-tabs__nav'),\r\n { [this.computedClass('navSizeClass', 'o-tabs__nav--', this.size)]: this.size },\r\n { [this.computedClass('navPositionClass', 'o-tabs__nav--', this.position)]: this.position && !this.vertical },\r\n { [this.computedClass('navTypeClass', 'o-tabs__nav--', this.type)]: this.type }\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-tabs__content'),\r\n { [this.computedClass('transitioningClass', 'o-tabs__content--transitioning')]: this.isTransitioning }\r\n ];\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_slot_component = resolveComponent(\"o-slot-component\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(\"nav\", {\n class: _ctx.navClasses,\n role: \"tablist\",\n \"aria-orientation\": _ctx.vertical ? 'vertical' : 'horizontal'\n }, [renderSlot(_ctx.$slots, \"start\"), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.items, childItem => {\n return withDirectives((openBlock(), createBlock(\"div\", {\n key: childItem.newValue,\n onKeydown: [_cache[1] || (_cache[1] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"left\"])), _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"right\"])), _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"up\"])), _cache[4] || (_cache[4] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"down\"])), _cache[5] || (_cache[5] = withKeys(withModifiers((...args) => _ctx.homePressed(...args), [\"prevent\"]), [\"home\"])), _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => _ctx.endPressed(...args), [\"prevent\"]), [\"end\"]))],\n class: _ctx.itemWrapperClasses,\n role: \"tab\",\n \"aria-controls\": `${childItem.value}-content`,\n \"aria-selected\": `${childItem.isActive}`\n }, [childItem.$slots.header ? createVNode(_component_o_slot_component, {\n key: 0,\n component: childItem,\n tag: childItem.tag,\n name: \"header\",\n onClick: $event => _ctx.childClick(childItem),\n onKeydown: [withKeys(withModifiers(_ctx.prev, [\"prevent\"]), [\"left\"]), withKeys(withModifiers(_ctx.next, [\"prevent\"]), [\"right\"]), withKeys(withModifiers(_ctx.prev, [\"prevent\"]), [\"up\"]), withKeys(withModifiers(_ctx.next, [\"prevent\"]), [\"down\"]), withKeys(withModifiers(_ctx.homePressed, [\"prevent\"]), [\"home\"]), withKeys(withModifiers(_ctx.endPressed, [\"prevent\"]), [\"end\"])],\n class: childItem.headerClasses\n }, null, 8\n /* PROPS */\n , [\"component\", \"tag\", \"onClick\", \"onKeydown\", \"class\"]) : (openBlock(), createBlock(resolveDynamicComponent(childItem.tag), {\n key: 1,\n onClick: $event => _ctx.childClick(childItem),\n class: childItem.headerClasses\n }, {\n default: withCtx(() => [childItem.icon ? createVNode(_component_o_icon, {\n key: 0,\n rootClass: childItem.headerIconClasses,\n icon: childItem.icon,\n pack: childItem.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"rootClass\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), createVNode(\"span\", {\n class: childItem.headerTextClasses\n }, toDisplayString(childItem.label), 3\n /* TEXT, CLASS */\n )]),\n _: 2\n }, 1032\n /* PROPS, DYNAMIC_SLOTS */\n , [\"onClick\", \"class\"]))], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"aria-controls\", \"aria-selected\"])), [[vShow, childItem.visible]]);\n }), 128\n /* KEYED_FRAGMENT */\n )), renderSlot(_ctx.$slots, \"end\")], 10\n /* CLASS, PROPS */\n , [\"aria-orientation\"]), createVNode(\"section\", {\n class: _ctx.contentClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/tabs/Tabs.vue\";\n\n/**\r\n * @displayName Tab Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OTabItem',\r\n mixins: [BaseComponentMixin, TabbedChildMixin('tab')],\r\n configField: 'tabs',\r\n props: {\r\n /** Item will be disabled */\r\n disabled: Boolean,\r\n /**\r\n * Tabs item tag name\r\n */\r\n tag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'tabs.itemTag', 'button');\r\n }\r\n },\r\n itemClass: [String, Function, Array],\r\n itemHeaderClass: [String, Function, Array],\r\n itemHeaderActiveClass: [String, Function, Array],\r\n itemHeaderDisabledClass: [String, Function, Array],\r\n itemHeaderTypeClass: [String, Function, Array],\r\n itemHeaderIconClass: [String, Function, Array],\r\n itemHeaderTextClass: [String, Function, Array]\r\n },\r\n computed: {\r\n elementClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-tab-item__content')\r\n ];\r\n },\r\n headerClasses() {\r\n return [\r\n this.computedClass('itemHeaderClass', 'o-tabs__nav-item'),\r\n { [this.computedClass('itemHeaderActiveClass', 'o-tabs__nav-item-{*}--active', this.parent.type)]: this.isActive },\r\n { [this.computedClass('itemHeaderDisabledClass', 'o-tabs__nav-item-{*}--disabled', this.parent.type)]: this.disabled },\r\n { [this.computedClass('itemHeaderTypeClass', 'o-tabs__nav-item-', this.parent.type)]: this.parent.type },\r\n ];\r\n },\r\n headerIconClasses() {\r\n return [\r\n this.computedClass('itemHeaderIconClass', 'o-tabs__nav-item-icon')\r\n ];\r\n },\r\n headerTextClasses() {\r\n return [\r\n this.computedClass('itemHeaderTextClass', 'o-tabs__nav-item-text')\r\n ];\r\n }\r\n }\r\n});\n\nscript$1.__file = \"src/components/tabs/TabItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$1 as OTabItem, script as OTabs };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport './DropdownItem-c744c4e9.mjs';\nimport './Select-2cca695f.mjs';\nimport { s as script } from './Timepicker-c2f10909.mjs';\nexport { s as OTimepicker } from './Timepicker-c2f10909.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script } from './Tooltip-7e114fbb.mjs';\nexport { s as OTooltip } from './Tooltip-7e114fbb.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, openBlock, createBlock, renderSlot, withModifiers, createVNode, mergeProps } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { F as File } from './ssr-85c76d50.mjs';\n\n/**\r\n * Upload one or more files\r\n * @displayName Upload\r\n * @style _upload.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OUpload',\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n configField: 'upload',\r\n inheritAttrs: false,\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [Object, File, Array],\r\n /** Same as native, also push new item to v-model instead of replacing */\r\n multiple: Boolean,\r\n /** Same as native disabled */\r\n disabled: Boolean,\r\n /** Same as native accept */\r\n accept: String,\r\n /** Accepts drag & drop and change its style */\r\n dragDrop: Boolean,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: {\r\n type: String\r\n },\r\n /** Replace last chosen files every time (like native file input element) */\r\n native: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Upload will be expanded (full-width) */\r\n expanded: {\r\n type: Boolean,\r\n default: false\r\n },\r\n rootClass: [String, Function, Array],\r\n draggableClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n hoveredClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue,\r\n dragDropFocus: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-upl'),\r\n { [this.computedClass('expandedClass', 'o-upl--expanded')]: this.expanded },\r\n { [this.computedClass('disabledClass', 'o-upl--disabled')]: this.disabled }\r\n ];\r\n },\r\n draggableClasses() {\r\n return [\r\n this.computedClass('draggableClass', 'o-upl__draggable'),\r\n { [this.computedClass('hoveredClass', 'o-upl__draggable--hovered')]: !this.variant && this.dragDropFocus },\r\n { [this.computedClass('variantClass', 'o-upl__draggable--hovered-', this.variant)]: this.variant && this.dragDropFocus },\r\n ];\r\n },\r\n $elementRef() {\r\n return 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Set internal value.\r\n * 2. Reset interna input file value\r\n * 3. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n if (!value || (Array.isArray(value) && value.length === 0)) {\r\n this.$refs.input.value = null;\r\n }\r\n !this.isValid && !this.dragDrop && this.checkHtml5Validity();\r\n },\r\n },\r\n methods: {\r\n /**\r\n * Listen change event on input type 'file',\r\n * emit 'input' event and validate\r\n */\r\n onFileChange(event) {\r\n if (this.disabled)\r\n return;\r\n if (this.dragDrop)\r\n this.updateDragDropFocus(false);\r\n const value = event.target.files || event.dataTransfer.files;\r\n if (value.length === 0) {\r\n if (!this.newValue)\r\n return;\r\n if (this.native)\r\n this.newValue = null;\r\n }\r\n else if (!this.multiple) {\r\n // only one element in case drag drop mode and isn't multiple\r\n if (this.dragDrop && value.length !== 1)\r\n return;\r\n else {\r\n const file = value[0];\r\n if (this.checkType(file))\r\n this.newValue = file;\r\n else if (this.newValue) {\r\n this.newValue = null;\r\n this.clearInput();\r\n }\r\n else {\r\n // Force input back to empty state and recheck validity\r\n this.clearInput();\r\n this.checkHtml5Validity();\r\n return;\r\n }\r\n }\r\n }\r\n else {\r\n // always new values if native or undefined local\r\n let newValues = false;\r\n if (this.native || !this.newValue) {\r\n this.newValue = [];\r\n newValues = true;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n const file = value[i];\r\n if (this.checkType(file)) {\r\n this.newValue.push(file);\r\n newValues = true;\r\n }\r\n }\r\n if (!newValues)\r\n return;\r\n }\r\n this.$emit('update:modelValue', this.newValue);\r\n !this.dragDrop && this.checkHtml5Validity();\r\n },\r\n /*\r\n * Reset file input value\r\n */\r\n clearInput() {\r\n this.$refs.input.value = null;\r\n },\r\n /**\r\n * Listen drag-drop to update internal variable\r\n */\r\n updateDragDropFocus(focus) {\r\n if (!this.disabled) {\r\n this.dragDropFocus = focus;\r\n }\r\n },\r\n /**\r\n * Check mime type of file\r\n */\r\n checkType(file) {\r\n if (!this.accept)\r\n return true;\r\n const types = this.accept.split(',');\r\n if (types.length === 0)\r\n return true;\r\n for (let i = 0; i < types.length; i++) {\r\n const type = types[i].trim();\r\n if (type) {\r\n if (type.substring(0, 1) === '.') {\r\n const extension = file.name.toLowerCase().slice(-type.length);\r\n if (extension === type.toLowerCase()) {\r\n return true;\r\n }\r\n }\r\n else {\r\n // check mime type\r\n if (file.type.match(type))\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses\n }, [!_ctx.dragDrop ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : (openBlock(), createBlock(\"div\", {\n key: 1,\n class: _ctx.draggableClasses,\n onMouseenter: _cache[1] || (_cache[1] = $event => _ctx.updateDragDropFocus(true)),\n onMouseleave: _cache[2] || (_cache[2] = $event => _ctx.updateDragDropFocus(false)),\n onDragover: _cache[3] || (_cache[3] = withModifiers($event => _ctx.updateDragDropFocus(true), [\"prevent\"])),\n onDragleave: _cache[4] || (_cache[4] = withModifiers($event => _ctx.updateDragDropFocus(false), [\"prevent\"])),\n onDragenter: _cache[5] || (_cache[5] = withModifiers($event => _ctx.updateDragDropFocus(true), [\"prevent\"])),\n onDrop: _cache[6] || (_cache[6] = withModifiers((...args) => _ctx.onFileChange(...args), [\"prevent\"]))\n }, [renderSlot(_ctx.$slots, \"default\")], 34\n /* CLASS, HYDRATE_EVENTS */\n )), createVNode(\"input\", mergeProps({\n ref: \"input\",\n type: \"file\"\n }, _ctx.$attrs, {\n multiple: _ctx.multiple,\n accept: _ctx.accept,\n disabled: _ctx.disabled,\n onChange: _cache[7] || (_cache[7] = (...args) => _ctx.onFileChange(...args))\n }), null, 16\n /* FULL_PROPS */\n , [\"multiple\", \"accept\", \"disabled\"])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/upload/Upload.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OUpload };\n","import 'vue';\nimport { merge } from './helpers.mjs';\nimport { setVueInstance, setOptions, Programmatic, getOptions } from './config.mjs';\nexport { Plugin as Config, Programmatic as ConfigProgrammatic } from './config.mjs';\nimport { r as registerPlugin, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nexport { u as useProgrammatic } from './plugins-ba5e2464.mjs';\nexport { s as OIcon } from './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nexport { s as OInput } from './Input-19e906a1.mjs';\nexport { s as OAutocomplete } from './Autocomplete-a23ad844.mjs';\nimport index from './autocomplete.mjs';\nexport { default as Autocomplete } from './autocomplete.mjs';\nexport { s as OButton } from './Button-c75f7992.mjs';\nimport index$1 from './button.mjs';\nexport { default as Button } from './button.mjs';\nimport './InjectedChildMixin-5282461d.mjs';\nimport index$2 from './carousel.mjs';\nexport { default as Carousel, OCarousel, OCarouselItem } from './carousel.mjs';\nimport './CheckRadioMixin-f5b57344.mjs';\nexport { s as OCheckbox } from './Checkbox-8670724c.mjs';\nimport index$3 from './checkbox.mjs';\nexport { default as Checkbox } from './checkbox.mjs';\nimport index$4 from './collapse.mjs';\nexport { default as Collapse, OCollapse } from './collapse.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nexport { s as ODropdown, a as ODropdownItem } from './DropdownItem-c744c4e9.mjs';\nexport { s as OField } from './Field-937b4591.mjs';\nexport { s as OSelect } from './Select-2cca695f.mjs';\nexport { s as ODatepicker } from './Datepicker-42aca091.mjs';\nimport index$5 from './datepicker.mjs';\nexport { default as Datepicker } from './datepicker.mjs';\nexport { s as OTimepicker } from './Timepicker-c2f10909.mjs';\nimport index$6 from './datetimepicker.mjs';\nexport { default as Datetimepicker, ODatetimepicker } from './datetimepicker.mjs';\nimport index$7 from './dropdown.mjs';\nexport { default as Dropdown } from './dropdown.mjs';\nimport index$8 from './field.mjs';\nexport { default as Field } from './field.mjs';\nimport index$9 from './icon.mjs';\nexport { default as Icon } from './icon.mjs';\nimport index$a from './input.mjs';\nexport { default as Input } from './input.mjs';\nimport index$b from './inputitems.mjs';\nexport { default as Inputitems, OInputitems } from './inputitems.mjs';\nimport './ssr-85c76d50.mjs';\nexport { s as OLoading } from './Loading-20d29914.mjs';\nimport './InstanceRegistry-2fdb6ee8.mjs';\nimport index$c from './loading.mjs';\nexport { default as Loading, LoadingProgrammatic } from './loading.mjs';\nimport index$d from './menu.mjs';\nexport { default as Menu, OMenu, OMenuItem, OMenuList } from './menu.mjs';\nimport index$e from './modal.mjs';\nexport { default as Modal, ModalProgrammatic, OModal } from './modal.mjs';\nimport index$f from './notification.mjs';\nexport { default as Notification, NotificationProgrammatic, ONotification } from './notification.mjs';\nexport { s as OPagination, a as OPaginationButton } from './Pagination-02a660a8.mjs';\nimport index$g from './pagination.mjs';\nexport { default as Pagination } from './pagination.mjs';\nimport index$h from './radio.mjs';\nexport { ORadio, default as Radio } from './radio.mjs';\nimport index$i from './select.mjs';\nexport { default as Select } from './select.mjs';\nimport index$j from './skeleton.mjs';\nexport { OSkeleton, default as Skeleton } from './skeleton.mjs';\nimport index$k from './sidebar.mjs';\nexport { OSidebar, default as Sidebar } from './sidebar.mjs';\nexport { s as OTooltip } from './Tooltip-7e114fbb.mjs';\nimport index$l from './slider.mjs';\nexport { OSlider, OSliderTick, default as Slider } from './slider.mjs';\nimport './SlotComponent-11a269f3.mjs';\nimport './TabbedChildMixin-8b374962.mjs';\nimport index$m from './steps.mjs';\nexport { OStepItem, OSteps, default as Steps } from './steps.mjs';\nimport index$n from './switch.mjs';\nexport { OSwitch, default as Switch } from './switch.mjs';\nimport index$o from './table.mjs';\nexport { OTable, OTableColumn, default as Table } from './table.mjs';\nimport index$p from './tabs.mjs';\nexport { OTabItem, OTabs, default as Tabs } from './tabs.mjs';\nimport index$q from './timepicker.mjs';\nexport { default as Timepicker } from './timepicker.mjs';\nimport index$r from './tooltip.mjs';\nexport { default as Tooltip } from './tooltip.mjs';\nimport index$s from './upload.mjs';\nexport { OUpload, default as Upload } from './upload.mjs';\n\nvar plugins = /*#__PURE__*/Object.freeze({\n __proto__: null,\n Autocomplete: index,\n Button: index$1,\n Carousel: index$2,\n Checkbox: index$3,\n Collapse: index$4,\n Datepicker: index$5,\n Datetimepicker: index$6,\n Dropdown: index$7,\n Field: index$8,\n Icon: index$9,\n Input: index$a,\n Inputitems: index$b,\n Loading: index$c,\n Menu: index$d,\n Modal: index$e,\n Notification: index$f,\n Pagination: index$g,\n Radio: index$h,\n Select: index$i,\n Skeleton: index$j,\n Sidebar: index$k,\n Slider: index$l,\n Steps: index$m,\n Switch: index$n,\n Table: index$o,\n Tabs: index$p,\n Timepicker: index$q,\n Tooltip: index$r,\n Upload: index$s\n});\n\nconst Oruga = {\r\n install(app, options = {}) {\r\n setVueInstance(app);\r\n // Options\r\n const defaultConfig = getOptions();\r\n setOptions(merge(defaultConfig, options, true));\r\n // Components\r\n for (const componentKey in plugins) {\r\n registerPlugin(app, plugins[componentKey]);\r\n }\r\n // Config component\r\n registerComponentProgrammatic(app, 'config', Programmatic);\r\n }\r\n};\n\nexport default Oruga;\n","const bulmaConfig = {\n field: {\n override: true,\n rootClass: 'field',\n labelClass: 'label',\n labelSizeClass: 'is-',\n messageClass: 'help',\n variantMessageClass: 'is-',\n addonsClass: 'has-addons',\n groupedClass: 'is-grouped',\n groupMultilineClass: 'is-grouped-multiline',\n horizontalClass: 'is-horizontal',\n labelHorizontalClass: 'field-label',\n bodyHorizontalClass: 'field-body',\n bodyClass: 'control'\n },\n input: {\n override: true,\n rootClass: (_, { props, computed }) => {\n const classes = ['control'];\n if (props.icon)\n classes.push('has-icons-left');\n if (computed.hasIconRight)\n classes.push('has-icons-right');\n return classes.join(' ').trim();\n },\n inputClass: 'input',\n textareaClass: 'textarea',\n roundedClass: 'is-rounded',\n variantClass: 'is-',\n sizeClass: 'is-',\n expandedClass: 'is-expanded',\n iconLeftClass: 'is-left',\n iconRightClass: 'is-right',\n counterClass: 'help counter'\n },\n select: {\n override: true,\n rootClass: (_, { props, computed }) => {\n const classes = ['control', 'select'];\n if (props.size)\n classes.push(`is-${props.size}`);\n if (props.rounded)\n classes.push('is-rounded');\n if (computed.statusVariant)\n classes.push(`is-${computed.statusVariant}`);\n if (props.multiple)\n classes.push('is-multiple');\n if (props.icon)\n classes.push('has-icons-left');\n if (props.iconRight)\n classes.push('has-icons-right');\n return classes.join(' ').trim();\n },\n expandedClass: 'is-fullwidth',\n iconLeftClass: 'is-left',\n iconRightClass: 'is-right',\n placeholderClass: 'is-empty'\n },\n icon: {\n override: true,\n rootClass: 'icon',\n variantClass: 'has-text-',\n sizeClass: 'is-',\n clickableClass: 'is-clickable',\n spinClass: 'is-spin',\n },\n checkbox: {\n override: true,\n rootClass: 'b-checkbox checkbox',\n disabledClass: 'is-disabled',\n checkClass: 'check',\n labelClass: 'control-label',\n variantClass: 'is-',\n sizeClass: 'is-'\n },\n radio: {\n override: true,\n rootClass: 'b-radio radio',\n disabledClass: 'is-disabled',\n checkClass: 'check',\n labelClass: 'control-label',\n variantClass: 'is-',\n sizeClass: 'is-'\n },\n switch: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['switch'];\n if (props.rounded)\n classes.push('is-rounded');\n if (props.position === 'left')\n classes.push('has-left-label');\n return classes.join(' ');\n },\n checkClass: (_, { props }) => {\n const classes = ['check'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n if (props.passiveVariant)\n classes.push(`is-${props.passiveVariant}-passive`);\n return classes.join(' ');\n },\n labelClass: 'control-label',\n sizeClass: 'is-',\n disabledClass: 'is-disabled'\n },\n autocomplete: {\n override: true,\n rootClass: 'autocomplete control',\n menuClass: 'dropdown-menu dropdown-content',\n menuPositionClass: 'is-opened-',\n itemClass: 'dropdown-item',\n itemHoverClass: 'is-hovered',\n itemEmptyClasses: 'is-disabled',\n itemGroupTitleClass: 'has-text-weight-bold'\n },\n inputitems: {\n override: true,\n rootClass: 'taginput control',\n containerClass: 'taginput-container is-focusable',\n itemClass: 'tag',\n closeClass: 'delete is-small'\n },\n pagination: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['pagination'];\n if (props.rounded)\n classes.push('is-rounded');\n return classes.join(' ');\n },\n sizeClass: 'is-',\n simpleClass: 'is-simple',\n orderClass: 'is-',\n listClass: 'pagination-list',\n linkClass: 'pagination-link',\n linkCurrentClass: 'is-current',\n linkDisabledClass: 'is-disabled',\n nextBtnClass: 'pagination-next',\n prevBtnClass: 'pagination-previous',\n infoClass: 'info'\n },\n slider: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-slider'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n if (props.rounded)\n classes.push('is-rounded');\n return classes.join(' ');\n },\n disabledClass: 'is-disabled',\n // variantClass: 'is-',\n trackClass: 'b-slider-track',\n fillClass: 'b-slider-fill',\n thumbWrapperClass: (_, { data }) => {\n const classes = ['b-slider-thumb-wrapper'];\n if (data.dragging)\n classes.push(`is-dragging`);\n return classes.join(' ');\n },\n sizeClass: 'is-',\n thumbClass: 'b-slider-thumb',\n tickLabelClass: 'b-slider-tick-label',\n tickHiddenClass: 'is-tick-hidden',\n tickClass: 'b-slider-tick'\n },\n tabs: {\n override: true,\n itemTag: 'a',\n rootClass: 'b-tabs',\n contentClass: 'tab-content',\n multilineClass: 'is-multiline',\n navTabsClass: (_, { props }) => {\n const classes = ['tabs'];\n if (props.type)\n classes.push(`is-${props.type}`);\n return classes.join(' ');\n },\n expandedClass: 'is-fullwidth',\n verticalClass: 'is-vertical',\n positionClass: 'is-',\n navSizeClass: 'is-',\n navPositionClass: 'is-',\n transitioningClass: 'is-transitioning',\n itemClass: 'tab-item',\n itemHeaderActiveClass: () => 'is-active',\n itemHeaderDisabledClass: () => 'is-disabled'\n },\n table: {\n override: true,\n rootClass: 'b-table',\n wrapperClass: 'table-wrapper',\n tableClass: 'table',\n borderedClass: 'is-bordered',\n stripedClass: 'is-striped',\n narrowedClass: 'is-narrow',\n hoverableClass: 'is-hoverable',\n emptyClass: 'is-empty',\n detailedClass: 'detail',\n footerClass: 'table-footer',\n paginationWrapperClass: 'level',\n scrollableClass: 'table-container',\n trSelectedClass: 'is-selected',\n thSortableClass: 'is-sortable',\n thCurrentSortClass: 'is-current-sort',\n thSortIconClass: 'th-wrap sort-icon',\n thUnselectableClass: 'is-unselectable',\n thStickyClass: 'is-sticky',\n thCheckboxClass: 'th-checkbox',\n thDetailedClass: 'th-chevron-cell',\n tdDetailedChevronClass: 'chevron-cell',\n thPositionClass: (position) => {\n if (position === 'centered')\n return 'is-centered';\n else if (position === 'right')\n return 'is-right';\n return;\n },\n tdPositionClass: (position) => {\n if (position === 'centered')\n return 'has-text-centered';\n else if (position === 'right')\n return 'has-text-right';\n return;\n },\n mobileClass: 'is-mobile',\n mobileSortClass: 'table-mobile-sort field'\n },\n tooltip: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-tooltip'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n else\n classes.push(`is-primary`);\n if (props.position)\n classes.push(`is-${props.position}`);\n return classes.join(' ');\n },\n contentClass: 'tooltip-content',\n triggerClass: 'tooltip-trigger',\n alwaysClass: 'is-always',\n multilineClass: 'is-multiline',\n variantClass: 'is-',\n orderClass: 'is-'\n },\n steps: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-steps'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n if (props.disables)\n classes.push('is-disabled');\n return classes.join(' ');\n },\n stepsClass: (_, { props }) => {\n const classes = ['steps'];\n if (props.animated)\n classes.push('is-animated');\n if (props.rounded)\n classes.push('is-rounded');\n if (props.labelPosition === 'left')\n classes.push('has-label-left');\n if (props.labelPosition === 'right')\n classes.push('has-label-right');\n return classes.join(' ');\n },\n itemClass: 'step-link',\n itemHeaderClass: 'step-item',\n itemHeaderVariantClass: 'is-',\n itemHeaderActiveClass: 'is-active',\n itemHeaderPreviousClass: 'is-previous',\n stepLinkClass: 'step-link',\n stepLinkLabelClass: 'step-title',\n stepLinkClickableClass: 'is-clickable',\n stepMarkerClass: 'step-marker',\n stepNavigationClass: 'step-navigation',\n stepContentClass: 'step-content',\n verticalClass: 'is-vertical',\n positionClass: 'is-',\n stepContentTransitioningClass: 'is-transitioning',\n sizeClass: 'is-',\n variantClass: 'is-'\n },\n button: {\n override: true,\n rootClass: 'button',\n sizeClass: 'is-',\n variantClass: 'is-',\n roundedClass: 'is-rounded',\n expandedClass: 'is-fullwidth',\n loadingClass: 'is-loading',\n outlinedClass: () => 'is-outlined',\n invertedClass: () => 'is-inverted',\n elementsWrapperClass: 'button-wrapper'\n },\n menu: {\n override: true,\n rootClass: 'menu',\n listClass: 'menu-list',\n listLabelClass: 'menu-label'\n },\n skeleton: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-skeleton'];\n if (props.animated)\n classes.push('is-animated');\n return classes.join(' ');\n },\n itemClass: 'b-skeleton-item',\n itemRoundedClass: 'is-rounded'\n },\n notification: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['notification'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n return classes.join(' ');\n },\n wrapperClass: 'media',\n contentClass: 'media-content',\n iconClass: 'media-left',\n closeClass: 'delete',\n positionClass: 'is-',\n noticeClass: 'b-notices',\n noticePositionClass: 'is-'\n },\n dropdown: {\n override: true,\n itemTag: 'a',\n rootClass: (_, { props, data, computed }) => {\n const classes = ['dropdown', 'dropdown-menu-animation'];\n if (data.isActive || props.inline)\n classes.push('is-active');\n if (computed.hoverable)\n classes.push('is-hoverable');\n if (props.position)\n classes.push(`is-${props.position}`);\n return classes.join(' ');\n },\n triggerClass: 'dropdown-trigger',\n menuClass: 'dropdown-content dropdown-menu',\n disabledClass: 'is-disabled',\n expandedClass: 'is-expanded',\n inlineClass: 'is-inline',\n itemClass: 'dropdown-item',\n itemActiveClass: 'is-active',\n itemDisabledClass: 'is-disabled',\n mobileClass: 'is-mobile-modal',\n menuMobileOverlayClass: 'background'\n },\n datepicker: {\n override: true,\n rootClass: 'datepicker',\n headerClass: 'datepicker-header',\n footerClass: 'datepicker-footer',\n boxClass: 'dropdown-item',\n tableClass: 'datepicker-table',\n tableHeadClass: 'datepicker-header',\n tableHeadCellClass: 'datepicker-cell',\n headerButtonsClass: 'pagination field is-centered',\n prevBtnClass: 'pagination-previous',\n nextBtnClass: 'pagination-next',\n listsClass: 'pagination-list',\n tableBodyClass: (_, { props }) => {\n const classes = ['datepicker-body'];\n if (props.events)\n classes.push(`has-events`);\n return classes.join(' ');\n },\n tableRowClass: 'datepicker-row',\n tableCellClass: 'datepicker-cell',\n tableCellSelectableClass: 'is-selectable',\n tableCellUnselectableClass: 'is-unselectable',\n tableCellTodayClass: 'is-today',\n tableCellSelectedClass: 'is-selected',\n tableCellWithinHoveredClass: 'is-within-hovered',\n tableCellFirstHoveredClass: 'is-first-hovered',\n tableCellLastHoveredClass: 'is-last-hovered',\n tableCellFirstSelectedClass: 'is-first-selected',\n tableCellLastSelectedClass: 'is-last-selected',\n tableCellWithinSelectedClass: 'is-within-selected',\n tableCellInvisibleClass: '',\n tableCellNearbyClass: 'is-nearby',\n tableCellEventsClass: (_, { props }) => {\n const classes = ['has-event'];\n if (props.indicators)\n classes.push(`${props.indicators}`);\n return classes.join(' ');\n },\n tableEventVariantClass: 'is-',\n tableEventsClass: 'events',\n tableEventClass: 'event',\n monthBodyClass: 'datepicker-body',\n monthCellClass: 'datepicker-cell',\n monthCellFirstHoveredClass: 'is-first-hovered',\n monthCellFirstSelectedClass: 'is-first-selected',\n monthCellLastHoveredClass: 'is-last-hovered',\n monthCellLastSelectedClass: 'is-last-selected',\n monthCellNearbyClass: 'is-nearby',\n monthCellSelectableClass: 'is-selectable',\n monthCellSelectedClass: 'is-selected',\n monthCellTodayClass: 'is-today',\n monthCellUnselectableClass: 'is-unselectable',\n monthCellWithinHoveredClass: 'is-within-hovered',\n monthCellWithinSelectedClass: 'is-within-selected',\n monthClass: 'datepicker-table',\n monthEventsClass: 'events',\n monthTableClass: 'datepicker-months'\n },\n modal: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['modal'];\n if (props.active || props.programmatic)\n classes.push('is-active');\n return classes.join(' ');\n },\n overlayClass: 'modal-background',\n contentClass: 'modal-content animation-content',\n closeClass: 'modal-close is-large',\n fullScreenClass: 'is-full-screen',\n scrollClipClass: 'is-clipped'\n },\n sidebar: {\n override: true,\n rootClass: 'b-sidebar',\n variantClass: 'is-',\n contentClass: 'sidebar-content',\n staticClass: 'is-static',\n absoluteClass: 'is-absolute',\n fixedClass: 'is-fixed',\n expandOnHoverClass: 'is-mini-expand',\n expandOnHoverFixedClass: 'is-mini-expand',\n fullheightClass: 'is-fullheight',\n fullwidthClass: 'is-fullwidth',\n mobileClass: (_, { props }) => {\n if (props.mobile && props.mobile !== 'reduce') {\n return `is-${props.mobile}-mobile`;\n }\n },\n overlayClass: 'sidebar-background',\n reduceClass: 'is-mini-mobile',\n rightClass: 'is-right'\n },\n loading: {\n fullPageClass: 'is-full-page',\n overlayClass: 'loading-overlay',\n iconClass: 'icon',\n rootClass: 'loading'\n },\n timepicker: {\n override: true,\n rootClass: 'timepicker control',\n boxClass: 'dropdown-item',\n selectClasses: {\n rootClass: 'select control'\n },\n separatorClass: 'is-colon control',\n footerClass: 'timepicker-footer',\n sizeClass: 'is-',\n },\n carousel: {\n override: true,\n rootClass: 'carousel',\n overlayClass: 'is-overlay',\n sceneClass: 'carousel-scene',\n itemsClass: 'carousel-items',\n itemsDraggingClass: 'is-dragging',\n arrowIconClass: 'carousel-arrow',\n arrowIconPrevClass: 'has-icons-left',\n arrowIconNextClass: 'has-icons-right',\n indicatorsClass: 'carousel-indicator',\n indicatorClass: 'indicator-item',\n indicatorsInsideClass: 'is-inside',\n indicatorsInsidePositionClass: 'is-',\n indicatorItemClass: 'indicator-style',\n indicatorItemActiveClass: 'is-active',\n indicatorItemStyleClass: 'is-',\n // CarouselItem\n itemClass: 'carousel-item',\n itemActiveClass: 'is-active'\n },\n upload: {\n override: true,\n rootClass: 'upload control',\n draggableClass: 'upload-draggable',\n variantClass: 'is-',\n expandedClass: 'is-expanded',\n disabledClass: 'is-disabled',\n hoveredClass: 'is-hovered'\n }\n};\n\nexport { bulmaConfig };\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","\"use strict\";\n\nmodule.exports = class TimeoutError extends Error {\n constructor(message) {\n super(message);\n this.name = \"TimeoutError\";\n }\n};\n","\"use strict\";\n\nmodule.exports = function delay(ms) {\n let timeout;\n const promise = new Promise((resolve) => {\n timeout = setTimeout(resolve, ms);\n });\n promise.timeout = timeout;\n return promise;\n};\n","\"use strict\";\n\nconst TimeoutError = require(\"./TimeoutError\");\nconst delay = require(\"./delay\");\n\nmodule.exports = function timeout(promise, ms) {\n const promiseDelay = delay(ms);\n\n function cancelDelay() {\n clearTimeout(promiseDelay.timeout);\n }\n\n return Promise.race([\n promise.finally(cancelDelay),\n promiseDelay.then(() => {\n throw new TimeoutError();\n }),\n ]);\n};\n","\"use strict\";\n\nconst TimeoutError = require(\"./TimeoutError\");\n\nmodule.exports = function promise(EE, event, rejectEvent = \"error\", timeout) {\n return new Promise((resolve, reject) => {\n let timeoutId;\n\n const cleanup = () => {\n clearTimeout(timeoutId);\n EE.removeListener(event, onEvent);\n EE.removeListener(rejectEvent, onError);\n };\n\n function onError(reason) {\n reject(reason);\n cleanup();\n }\n\n function onEvent(value) {\n resolve(value);\n cleanup();\n }\n\n EE.once(event, onEvent);\n if (rejectEvent) {\n EE.once(rejectEvent, onError);\n }\n\n if (timeout) {\n timeoutId = setTimeout(() => {\n cleanup();\n reject(new TimeoutError());\n }, timeout);\n }\n });\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\"use strict\";\n\nmodule.exports = function Deferred() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n};\n","\"use strict\";\n\nconst timeout = require(\"./lib/timeout\");\nconst delay = require(\"./lib/delay\");\nconst TimeoutError = require(\"./lib/TimeoutError\");\nconst promise = require(\"./lib/promise\");\nconst EventEmitter = require(\"events\");\nconst Deferred = require(\"./lib/Deferred\");\n\nexports.EventEmitter = EventEmitter;\nexports.timeout = timeout;\nexports.delay = delay;\nexports.TimeoutError = TimeoutError;\nexports.promise = promise;\nexports.Deferred = Deferred;\n","\"use strict\";\n\nmodule.exports.detect = function detect(local) {\n if (!local) {\n return false;\n }\n\n // Remove all escaped sequences\n const tmp = local\n .replaceAll(String.raw`\\20`, \"\")\n .replaceAll(String.raw`\\22`, \"\")\n .replaceAll(String.raw`\\26`, \"\")\n .replaceAll(String.raw`\\27`, \"\")\n .replaceAll(String.raw`\\2f`, \"\")\n .replaceAll(String.raw`\\3a`, \"\")\n .replaceAll(String.raw`\\3c`, \"\")\n .replaceAll(String.raw`\\3e`, \"\")\n .replaceAll(String.raw`\\40`, \"\")\n .replaceAll(String.raw`\\5c`, \"\");\n\n // Detect if we have unescaped sequences\n const search = tmp.search(/[ \"&'/:<>@\\\\]/g);\n if (search === -1) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Escape the local part of a JID.\n *\n * @see http://xmpp.org/extensions/xep-0106.html\n * @param String local local part of a jid\n * @return An escaped local part\n */\nmodule.exports.escape = function escape(local) {\n if (local === null) {\n return null;\n }\n\n return local\n .replaceAll(/^\\s+|\\s+$/g, \"\")\n .replaceAll(\"\\\\\", String.raw`\\5c`)\n .replaceAll(\" \", String.raw`\\20`)\n .replaceAll('\"', String.raw`\\22`)\n .replaceAll(\"&\", String.raw`\\26`)\n .replaceAll(\"'\", String.raw`\\27`)\n .replaceAll(\"/\", String.raw`\\2f`)\n .replaceAll(\":\", String.raw`\\3a`)\n .replaceAll(\"<\", String.raw`\\3c`)\n .replaceAll(\">\", String.raw`\\3e`)\n .replaceAll(\"@\", String.raw`\\40`);\n};\n\n/**\n * Unescape a local part of a JID.\n *\n * @see http://xmpp.org/extensions/xep-0106.html\n * @param String local local part of a jid\n * @return unescaped local part\n */\nmodule.exports.unescape = function unescape(local) {\n if (local === null) {\n return null;\n }\n\n return local\n .replaceAll(String.raw`\\20`, \" \")\n .replaceAll(String.raw`\\22`, '\"')\n .replaceAll(String.raw`\\26`, \"&\")\n .replaceAll(String.raw`\\27`, \"'\")\n .replaceAll(String.raw`\\2f`, \"/\")\n .replaceAll(String.raw`\\3a`, \":\")\n .replaceAll(String.raw`\\3c`, \"<\")\n .replaceAll(String.raw`\\3e`, \">\")\n .replaceAll(String.raw`\\40`, \"@\")\n .replaceAll(String.raw`\\5c`, \"\\\\\");\n};\n","\"use strict\";\n\nconst escaping = require(\"./escaping\");\n\n/**\n * JID implements\n * - XMPP addresses according to RFC6122\n * - XEP-0106: JID Escaping\n *\n * @see http://tools.ietf.org/html/rfc6122#section-2\n * @see http://xmpp.org/extensions/xep-0106.html\n */\nclass JID {\n constructor(local, domain, resource) {\n if (typeof domain !== \"string\" || !domain) {\n throw new TypeError(`Invalid domain.`);\n }\n\n this.setDomain(domain);\n this.setLocal(typeof local === \"string\" ? local : \"\");\n this.setResource(typeof resource === \"string\" ? resource : \"\");\n }\n\n [Symbol.toPrimitive](hint) {\n if (hint === \"number\") {\n return NaN;\n }\n\n return this.toString();\n }\n\n toString(unescape) {\n let s = this._domain;\n if (this._local) {\n s = this.getLocal(unescape) + \"@\" + s;\n }\n\n if (this._resource) {\n s = s + \"/\" + this._resource;\n }\n\n return s;\n }\n\n /**\n * Convenience method to distinguish users\n * */\n bare() {\n if (this._resource) {\n return new JID(this._local, this._domain, null);\n }\n\n return this;\n }\n\n /**\n * Comparison function\n * */\n equals(other) {\n return (\n this._local === other._local &&\n this._domain === other._domain &&\n this._resource === other._resource\n );\n }\n\n /**\n * http://xmpp.org/rfcs/rfc6122.html#addressing-localpart\n * */\n setLocal(local, escape) {\n escape = escape || escaping.detect(local);\n\n if (escape) {\n local = escaping.escape(local);\n }\n\n this._local = local && local.toLowerCase();\n return this;\n }\n\n getLocal(unescape = false) {\n let local = null;\n\n local = unescape ? escaping.unescape(this._local) : this._local;\n\n return local;\n }\n\n /**\n * http://xmpp.org/rfcs/rfc6122.html#addressing-domain\n */\n setDomain(domain) {\n this._domain = domain.toLowerCase();\n return this;\n }\n\n getDomain() {\n return this._domain;\n }\n\n /**\n * http://xmpp.org/rfcs/rfc6122.html#addressing-resourcepart\n */\n setResource(resource) {\n this._resource = resource;\n return this;\n }\n\n getResource() {\n return this._resource;\n }\n}\n\nObject.defineProperty(JID.prototype, \"local\", {\n get: JID.prototype.getLocal,\n set: JID.prototype.setLocal,\n});\n\nObject.defineProperty(JID.prototype, \"domain\", {\n get: JID.prototype.getDomain,\n set: JID.prototype.setDomain,\n});\n\nObject.defineProperty(JID.prototype, \"resource\", {\n get: JID.prototype.getResource,\n set: JID.prototype.setResource,\n});\n\nmodule.exports = JID;\n","\"use strict\";\n\nconst JID = require(\"../lib/JID\");\n\nmodule.exports = function parse(s) {\n let local;\n let resource;\n\n const resourceStart = s.indexOf(\"/\");\n if (resourceStart !== -1) {\n resource = s.slice(resourceStart + 1);\n s = s.slice(0, resourceStart);\n }\n\n const atStart = s.indexOf(\"@\");\n if (atStart !== -1) {\n local = s.slice(0, atStart);\n s = s.slice(atStart + 1);\n }\n\n return new JID(local, s, resource);\n};\n","\"use strict\";\n\nconst JID = require(\"./lib/JID\");\nconst escaping = require(\"./lib/escaping\");\nconst parse = require(\"./lib/parse\");\n\nfunction jid(...args) {\n if (!args[1] && !args[2]) {\n return parse(...args);\n }\n\n return new JID(...args);\n}\n\nmodule.exports = jid.bind();\nmodule.exports.jid = jid;\nmodule.exports.JID = JID;\nmodule.exports.equal = function equal(a, b) {\n return a.equals(b);\n};\n\nmodule.exports.detectEscape = escaping.detect;\nmodule.exports.escapeLocal = escaping.escape;\nmodule.exports.unescapeLocal = escaping.unescape;\nmodule.exports.parse = parse;\n","'use strict';\n\nconst escapeXMLTable = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n};\n\nfunction escapeXMLReplace(match) {\n return escapeXMLTable[match];\n}\n\nconst unescapeXMLTable = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \""\": '\"',\n \"'\": \"'\",\n};\n\nfunction unescapeXMLReplace(match) {\n if (match[1] === \"#\") {\n const num =\n match[2] === \"x\"\n ? parseInt(match.slice(3), 16)\n : parseInt(match.slice(2), 10);\n // https://www.w3.org/TR/xml/#NT-Char defines legal XML characters:\n // #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]\n if (\n num === 0x9 ||\n num === 0xa ||\n num === 0xd ||\n (num >= 0x20 && num <= 0xd7ff) ||\n (num >= 0xe000 && num <= 0xfffd) ||\n (num >= 0x10000 && num <= 0x10ffff)\n ) {\n return String.fromCodePoint(num);\n }\n throw new Error(\"Illegal XML character 0x\" + num.toString(16));\n }\n if (unescapeXMLTable[match]) {\n return unescapeXMLTable[match] || match;\n }\n throw new Error(\"Illegal XML entity \" + match);\n}\n\nfunction escapeXML(s) {\n return s.replace(/[\"&'<>]/g, escapeXMLReplace);\n}\n\nfunction unescapeXML(s) {\n let result = \"\";\n let start = -1;\n let end = -1;\n let previous = 0;\n while (\n (start = s.indexOf(\"&\", previous)) !== -1 &&\n (end = s.indexOf(\";\", start + 1)) !== -1\n ) {\n result =\n result +\n s.slice(previous, start) +\n unescapeXMLReplace(s.slice(start, end + 1));\n previous = end + 1;\n }\n\n // shortcut if loop never entered:\n // return the original string without creating new objects\n if (previous === 0) return s;\n\n // push the remaining characters\n result = result + s.substring(previous);\n\n return result;\n}\n\nfunction escapeXMLText(s) {\n return s.replace(/[&<>]/g, escapeXMLReplace);\n}\n\nfunction unescapeXMLText(s) {\n return s.replace(/&(amp|#38|lt|#60|gt|#62);/g, unescapeXMLReplace);\n}\n\nexports.escapeXML = escapeXML;\nexports.escapeXMLText = escapeXMLText;\nexports.unescapeXML = unescapeXML;\nexports.unescapeXMLText = unescapeXMLText;\n","'use strict';\n\nvar escape = require('./escape.js');\n\n/**\n * Element\n *\n * Attributes are in the element.attrs object. Children is a list of\n * either other Elements or Strings for text content.\n **/\nclass Element {\n constructor(name, attrs) {\n this.name = name;\n this.parent = null;\n this.children = [];\n this.attrs = {};\n this.setAttrs(attrs);\n }\n\n /* Accessors */\n\n /**\n * if (element.is('message', 'jabber:client')) ...\n **/\n is(name, xmlns) {\n return this.getName() === name && (!xmlns || this.getNS() === xmlns);\n }\n\n /* without prefix */\n getName() {\n const idx = this.name.indexOf(\":\");\n return idx >= 0 ? this.name.slice(idx + 1) : this.name;\n }\n\n /**\n * retrieves the namespace of the current element, upwards recursively\n **/\n getNS() {\n const idx = this.name.indexOf(\":\");\n if (idx >= 0) {\n const prefix = this.name.slice(0, idx);\n return this.findNS(prefix);\n }\n return this.findNS();\n }\n\n /**\n * find the namespace to the given prefix, upwards recursively\n **/\n findNS(prefix) {\n if (!prefix) {\n /* default namespace */\n if (this.attrs.xmlns) {\n return this.attrs.xmlns;\n } else if (this.parent) {\n return this.parent.findNS();\n }\n } else {\n /* prefixed namespace */\n const attr = \"xmlns:\" + prefix;\n if (this.attrs[attr]) {\n return this.attrs[attr];\n } else if (this.parent) {\n return this.parent.findNS(prefix);\n }\n }\n }\n\n /**\n * Recursiverly gets all xmlns defined, in the form of {url:prefix}\n **/\n getXmlns() {\n let namespaces = {};\n\n if (this.parent) {\n namespaces = this.parent.getXmlns();\n }\n\n for (const attr in this.attrs) {\n const m = attr.match(\"xmlns:?(.*)\");\n // eslint-disable-next-line no-prototype-builtins\n if (this.attrs.hasOwnProperty(attr) && m) {\n namespaces[this.attrs[attr]] = m[1];\n }\n }\n return namespaces;\n }\n\n setAttrs(attrs) {\n if (typeof attrs === \"string\") {\n this.attrs.xmlns = attrs;\n } else if (attrs) {\n Object.assign(this.attrs, attrs);\n }\n }\n\n /**\n * xmlns can be null, returns the matching attribute.\n **/\n getAttr(name, xmlns) {\n if (!xmlns) {\n return this.attrs[name];\n }\n\n const namespaces = this.getXmlns();\n\n if (!namespaces[xmlns]) {\n return null;\n }\n\n return this.attrs[[namespaces[xmlns], name].join(\":\")];\n }\n\n /**\n * xmlns can be null\n **/\n getChild(name, xmlns) {\n return this.getChildren(name, xmlns)[0];\n }\n\n /**\n * xmlns can be null\n **/\n getChildren(name, xmlns) {\n const result = [];\n for (const child of this.children) {\n if (\n child.getName &&\n child.getName() === name &&\n (!xmlns || child.getNS() === xmlns)\n ) {\n result.push(child);\n }\n }\n return result;\n }\n\n /**\n * xmlns and recursive can be null\n **/\n getChildByAttr(attr, val, xmlns, recursive) {\n return this.getChildrenByAttr(attr, val, xmlns, recursive)[0];\n }\n\n /**\n * xmlns and recursive can be null\n **/\n getChildrenByAttr(attr, val, xmlns, recursive) {\n let result = [];\n for (const child of this.children) {\n if (\n child.attrs &&\n child.attrs[attr] === val &&\n (!xmlns || child.getNS() === xmlns)\n ) {\n result.push(child);\n }\n if (recursive && child.getChildrenByAttr) {\n result.push(child.getChildrenByAttr(attr, val, xmlns, true));\n }\n }\n if (recursive) {\n result = result.flat();\n }\n return result;\n }\n\n getChildrenByFilter(filter, recursive) {\n let result = [];\n for (const child of this.children) {\n if (filter(child)) {\n result.push(child);\n }\n if (recursive && child.getChildrenByFilter) {\n result.push(child.getChildrenByFilter(filter, true));\n }\n }\n if (recursive) {\n result = result.flat();\n }\n return result;\n }\n\n getText() {\n let text = \"\";\n for (const child of this.children) {\n if (typeof child === \"string\" || typeof child === \"number\") {\n text += child;\n }\n }\n return text;\n }\n\n getChildText(name, xmlns) {\n const child = this.getChild(name, xmlns);\n return child ? child.getText() : null;\n }\n\n /**\n * Return all direct descendents that are Elements.\n * This differs from `getChildren` in that it will exclude text nodes,\n * processing instructions, etc.\n */\n getChildElements() {\n return this.getChildrenByFilter((child) => {\n return child instanceof Element;\n });\n }\n\n /* Builder */\n\n /** returns uppermost parent */\n root() {\n if (this.parent) {\n return this.parent.root();\n }\n return this;\n }\n\n /** just parent or itself */\n up() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n\n /** create child node and return it */\n c(name, attrs) {\n return this.cnode(new Element(name, attrs));\n }\n\n cnode(child) {\n this.children.push(child);\n if (typeof child === \"object\") {\n child.parent = this;\n }\n return child;\n }\n\n append(...nodes) {\n for (const node of nodes) {\n this.children.push(node);\n if (typeof node === \"object\") {\n node.parent = this;\n }\n }\n }\n\n prepend(...nodes) {\n for (const node of nodes) {\n this.children.unshift(node);\n if (typeof node === \"object\") {\n node.parent = this;\n }\n }\n }\n\n /** add text node and return element */\n t(text) {\n this.children.push(text);\n return this;\n }\n\n /* Manipulation */\n\n /**\n * Either:\n * el.remove(childEl)\n * el.remove('author', 'urn:...')\n */\n remove(el, xmlns) {\n const filter =\n typeof el === \"string\"\n ? (child) => {\n /* 1st parameter is tag name */\n return !(child.is && child.is(el, xmlns));\n }\n : (child) => {\n /* 1st parameter is element */\n return child !== el;\n };\n\n this.children = this.children.filter(filter);\n\n return this;\n }\n\n text(val) {\n if (val && this.children.length === 1) {\n this.children[0] = val;\n return this;\n }\n return this.getText();\n }\n\n attr(attr, val) {\n if (typeof val !== \"undefined\" || val === null) {\n if (!this.attrs) {\n this.attrs = {};\n }\n this.attrs[attr] = val;\n return this;\n }\n return this.attrs[attr];\n }\n\n /* Serialization */\n\n toString() {\n let s = \"\";\n this.write((c) => {\n s += c;\n });\n return s;\n }\n\n _addChildren(writer) {\n writer(\">\");\n for (const child of this.children) {\n /* Skip null/undefined */\n if (child != null) {\n if (child.write) {\n child.write(writer);\n } else if (typeof child === \"string\") {\n writer(escape.escapeXMLText(child));\n } else if (child.toString) {\n writer(escape.escapeXMLText(child.toString(10)));\n }\n }\n }\n writer(\"\");\n }\n\n write(writer) {\n writer(\"<\");\n writer(this.name);\n for (const k in this.attrs) {\n const v = this.attrs[k];\n // === null || undefined\n if (v != null) {\n writer(\" \");\n writer(k);\n writer('=\"');\n writer(escape.escapeXML(typeof v === \"string\" ? v : v.toString(10)));\n writer('\"');\n }\n }\n if (this.children.length === 0) {\n writer(\"/>\");\n } else {\n this._addChildren(writer);\n }\n }\n}\n\nElement.prototype.tree = Element.prototype.root;\n\nmodule.exports = Element;\n","'use strict';\n\nvar Element = require('./Element.js');\n\nfunction append(el, child) {\n if (Array.isArray(child)) {\n for (const c of child) append(el, c);\n return;\n }\n\n if (child === \"\" || child == null || child === true || child === false) {\n return;\n }\n\n el.cnode(child);\n}\n\n/**\n * JSX compatible API, use this function as pragma\n * https://facebook.github.io/jsx/\n *\n * @param {string} name name of the element\n * @param {object} attrs object of attribute key/value pairs\n * @return {Element} Element\n */\nfunction createElement(name, attrs, ...children) {\n if (typeof attrs === \"object\" && attrs !== null) {\n // __self and __source are added by babel in development\n // https://github.com/facebook/react/pull/4596\n // https://babeljs.io/docs/en/babel-preset-react#development\n // https://babeljs.io/docs/en/babel-plugin-transform-react-jsx-source\n delete attrs.__source;\n delete attrs.__self;\n\n for (const [key, value] of Object.entries(attrs)) {\n if (value == null) delete attrs[key];\n else attrs[key] = value.toString(10);\n }\n }\n\n const el = new Element(name, attrs);\n\n for (const child of children) {\n append(el, child);\n }\n\n return el;\n}\n\nmodule.exports = createElement;\n","'use strict';\n\nvar events = require('events');\nvar escape = require('../escape.js');\n\nconst STATE_TEXT = 0;\nconst STATE_IGNORE_COMMENT = 1;\nconst STATE_IGNORE_INSTRUCTION = 2;\nconst STATE_TAG_NAME = 3;\nconst STATE_TAG = 4;\nconst STATE_ATTR_NAME = 5;\nconst STATE_ATTR_EQ = 6;\nconst STATE_ATTR_QUOT = 7;\nconst STATE_ATTR_VALUE = 8;\nconst STATE_CDATA = 9;\nconst STATE_IGNORE_CDATA = 10;\n\nclass SaxLtx extends events.EventEmitter {\n constructor() {\n super();\n let state = STATE_TEXT;\n let remainder;\n let parseRemainder;\n let tagName;\n let attrs;\n let endTag;\n let selfClosing;\n let attrQuote;\n let attrQuoteChar;\n let recordStart = 0;\n let attrName;\n\n this._handleTagOpening = function _handleTagOpening(\n endTag,\n tagName,\n attrs\n ) {\n if (!endTag) {\n this.emit(\"startElement\", tagName, attrs);\n if (selfClosing) {\n this.emit(\"endElement\", tagName, true);\n }\n } else {\n this.emit(\"endElement\", tagName, false);\n }\n };\n\n this.write = function write(data) {\n if (typeof data !== \"string\") {\n data = data.toString();\n }\n let pos = 0;\n\n /* Anything from previous write()? */\n if (remainder) {\n data = remainder + data;\n pos += !parseRemainder ? remainder.length : 0;\n parseRemainder = false;\n remainder = null;\n }\n\n function endRecording() {\n if (typeof recordStart === \"number\") {\n const recorded = data.slice(recordStart, pos);\n recordStart = undefined;\n return recorded;\n }\n }\n\n for (; pos < data.length; pos++) {\n switch (state) {\n case STATE_TEXT: {\n // if we're looping through text, fast-forward using indexOf to\n // the next '<' character\n const lt = data.indexOf(\"<\", pos);\n if (lt !== -1 && pos !== lt) {\n pos = lt;\n }\n\n break;\n }\n case STATE_ATTR_VALUE: {\n // if we're looping through an attribute, fast-forward using\n // indexOf to the next end quote character\n const quot = data.indexOf(attrQuoteChar, pos);\n if (quot !== -1) {\n pos = quot;\n }\n\n break;\n }\n case STATE_IGNORE_COMMENT: {\n // if we're looping through a comment, fast-forward using\n // indexOf to the first end-comment character\n const endcomment = data.indexOf(\"-->\", pos);\n if (endcomment !== -1) {\n pos = endcomment + 2; // target the '>' character\n }\n\n break;\n }\n case STATE_IGNORE_CDATA: {\n // if we're looping through a CDATA, fast-forward using\n // indexOf to the first end-CDATA character ]]>\n const endCDATA = data.indexOf(\"]]>\", pos);\n if (endCDATA !== -1) {\n pos = endCDATA + 2; // target the '>' character\n }\n\n break;\n }\n // No default\n }\n\n const c = data.charCodeAt(pos);\n switch (state) {\n case STATE_TEXT:\n if (c === 60 /* < */) {\n const text = endRecording();\n if (text) {\n this.emit(\"text\", escape.unescapeXML(text));\n }\n state = STATE_TAG_NAME;\n recordStart = pos + 1;\n attrs = {};\n }\n break;\n case STATE_CDATA:\n if (c === 93 /* ] */) {\n if (data.substr(pos + 1, 2) === \"]>\") {\n const cData = endRecording();\n if (cData) {\n this.emit(\"text\", cData);\n }\n state = STATE_TEXT;\n } else if (data.length < pos + 2) {\n parseRemainder = true;\n pos = data.length;\n }\n }\n break;\n case STATE_TAG_NAME:\n if (c === 47 /* / */ && recordStart === pos) {\n recordStart = pos + 1;\n endTag = true;\n } else if (c === 33 /* ! */) {\n if (data.substr(pos + 1, 7) === \"[CDATA[\") {\n recordStart = pos + 8;\n state = STATE_CDATA;\n } else if (\n data.length < pos + 8 &&\n \"[CDATA[\".startsWith(data.slice(pos + 1))\n ) {\n // We potentially have CDATA, but the chunk is ending; stop here and let the next write() decide\n parseRemainder = true;\n pos = data.length;\n } else {\n recordStart = undefined;\n state = STATE_IGNORE_COMMENT;\n }\n } else if (c === 63 /* ? */) {\n recordStart = undefined;\n state = STATE_IGNORE_INSTRUCTION;\n } else if (c <= 32 || c === 47 /* / */ || c === 62 /* > */) {\n tagName = endRecording();\n pos--;\n state = STATE_TAG;\n }\n break;\n case STATE_IGNORE_COMMENT:\n if (c === 62 /* > */) {\n const prevFirst = data.charCodeAt(pos - 1);\n const prevSecond = data.charCodeAt(pos - 2);\n if (\n (prevFirst === 45 /* - */ && prevSecond === 45) /* - */ ||\n (prevFirst === 93 /* ] */ && prevSecond === 93) /* ] */\n ) {\n state = STATE_TEXT;\n }\n }\n break;\n case STATE_IGNORE_INSTRUCTION:\n if (c === 62 /* > */) {\n const prev = data.charCodeAt(pos - 1);\n if (prev === 63 /* ? */) {\n state = STATE_TEXT;\n }\n }\n break;\n case STATE_TAG:\n if (c === 62 /* > */) {\n this._handleTagOpening(endTag, tagName, attrs);\n tagName = undefined;\n attrs = undefined;\n endTag = undefined;\n selfClosing = undefined;\n state = STATE_TEXT;\n recordStart = pos + 1;\n } else if (c === 47 /* / */) {\n selfClosing = true;\n } else if (c > 32) {\n recordStart = pos;\n state = STATE_ATTR_NAME;\n }\n break;\n case STATE_ATTR_NAME:\n if (c <= 32 || c === 61 /* = */) {\n attrName = endRecording();\n pos--;\n state = STATE_ATTR_EQ;\n }\n break;\n case STATE_ATTR_EQ:\n if (c === 61 /* = */) {\n state = STATE_ATTR_QUOT;\n }\n break;\n case STATE_ATTR_QUOT:\n if (c === 34 /* \" */ || c === 39 /* ' */) {\n attrQuote = c;\n attrQuoteChar = c === 34 ? '\"' : \"'\";\n state = STATE_ATTR_VALUE;\n recordStart = pos + 1;\n }\n break;\n case STATE_ATTR_VALUE:\n if (c === attrQuote) {\n const value = escape.unescapeXML(endRecording());\n attrs[attrName] = value;\n attrName = undefined;\n state = STATE_TAG;\n }\n break;\n }\n }\n\n if (typeof recordStart === \"number\" && recordStart <= data.length) {\n remainder = data.slice(recordStart);\n recordStart = 0;\n }\n };\n }\n\n end(data) {\n if (data) {\n this.write(data);\n }\n\n /* Uh, yeah */\n this.write = function write() {};\n }\n}\n\nmodule.exports = SaxLtx;\n","\"use strict\";\n\nmodule.exports = class XMLError extends Error {\n constructor(...args) {\n super(...args);\n this.name = \"XMLError\";\n }\n};\n","\"use strict\";\n\nconst LtxParser = require(\"ltx/lib/parsers/ltx.js\");\nconst Element = require(\"ltx/lib/Element.js\");\nconst EventEmitter = require(\"events\");\nconst XMLError = require(\"./XMLError\");\n\nclass Parser extends EventEmitter {\n constructor() {\n super();\n const parser = new LtxParser();\n this.root = null;\n this.cursor = null;\n\n parser.on(\"startElement\", this.onStartElement.bind(this));\n parser.on(\"endElement\", this.onEndElement.bind(this));\n parser.on(\"text\", this.onText.bind(this));\n\n this.parser = parser;\n }\n\n onStartElement(name, attrs) {\n const element = new Element(name, attrs);\n\n const { root, cursor } = this;\n\n if (!root) {\n this.root = element;\n this.emit(\"start\", element);\n } else if (cursor !== root) {\n cursor.append(element);\n }\n\n this.cursor = element;\n }\n\n onEndElement(name) {\n const { root, cursor } = this;\n if (name !== cursor.name) {\n // \n this.emit(\"error\", new XMLError(`${cursor.name} must be closed.`));\n return;\n }\n\n if (cursor === root) {\n this.emit(\"end\", root);\n return;\n }\n\n if (!cursor.parent) {\n cursor.parent = root;\n this.emit(\"element\", cursor);\n this.cursor = root;\n return;\n }\n\n this.cursor = cursor.parent;\n }\n\n onText(str) {\n const { cursor } = this;\n if (!cursor) {\n this.emit(\"error\", new XMLError(`${str} must be a child.`));\n return;\n }\n\n cursor.t(str);\n }\n\n write(data) {\n this.parser.write(data);\n }\n\n end(data) {\n if (data) {\n this.parser.write(data);\n }\n }\n}\n\nParser.XMLError = XMLError;\n\nmodule.exports = Parser;\n","\"use strict\";\n\nconst Element = require(\"ltx/lib/Element.js\");\nconst createElement = require(\"ltx/lib/createElement.js\");\nconst Parser = require(\"./lib/Parser.js\");\nconst {\n escapeXML,\n unescapeXML,\n escapeXMLText,\n unescapeXMLText,\n} = require(\"ltx/lib/escape.js\");\nconst XMLError = require(\"./lib/XMLError.js\");\n\nfunction xml(...args) {\n return createElement(...args);\n}\n\nmodule.exports = xml;\n\nObject.assign(module.exports, {\n Element,\n createElement,\n Parser,\n escapeXML,\n unescapeXML,\n escapeXMLText,\n unescapeXMLText,\n XMLError,\n});\n","\"use strict\";\n\n// https://xmpp.org/rfcs/rfc6120.html#rfc.section.4.9.2\n\nclass XMPPError extends Error {\n constructor(condition, text, application) {\n super(condition + (text ? ` - ${text}` : \"\"));\n this.name = \"XMPPError\";\n this.condition = condition;\n this.text = text;\n this.application = application;\n }\n\n static fromElement(element) {\n const [condition, second, third] = element.getChildElements();\n let text;\n let application;\n\n if (second) {\n if (second.is(\"text\")) {\n text = second;\n } else if (second) {\n application = second;\n }\n\n if (third) application = third;\n }\n\n const error = new this(\n condition.name,\n text ? text.text() : \"\",\n application,\n );\n error.element = element;\n return error;\n }\n}\n\nmodule.exports = XMPPError;\n","\"use strict\";\n\nconst XMPPError = require(\"@xmpp/error\");\n\n// https://xmpp.org/rfcs/rfc6120.html#streams-error\n\nclass StreamError extends XMPPError {\n constructor(...args) {\n super(...args);\n this.name = \"StreamError\";\n }\n}\n\nmodule.exports = StreamError;\n","\"use strict\";\n\nfunction parseURI(URI) {\n let { port, hostname, protocol } = new URL(URI);\n // https://github.com/nodejs/node/issues/12410#issuecomment-294138912\n if (hostname === \"[::1]\") {\n hostname = \"::1\";\n }\n\n return { port, hostname, protocol };\n}\n\nfunction parseHost(host) {\n const { port, hostname } = parseURI(`http://${host}`);\n return { port, hostname };\n}\n\nfunction parseService(service) {\n return service.includes(\"://\") ? parseURI(service) : parseHost(service);\n}\n\nObject.assign(module.exports, { parseURI, parseHost, parseService });\n","\"use strict\";\n\nconst { EventEmitter, promise } = require(\"@xmpp/events\");\nconst jid = require(\"@xmpp/jid\");\nconst xml = require(\"@xmpp/xml\");\nconst StreamError = require(\"./lib/StreamError\");\nconst { parseHost, parseService } = require(\"./lib/util\");\n\nconst NS_STREAM = \"urn:ietf:params:xml:ns:xmpp-streams\";\nconst NS_JABBER_STREAM = \"http://etherx.jabber.org/streams\";\n\nclass Connection extends EventEmitter {\n constructor(options = {}) {\n super();\n this.jid = null;\n this.timeout = 2000;\n this.options = options;\n this.socketListeners = Object.create(null);\n this.parserListeners = Object.create(null);\n this.status = \"offline\";\n this.socket = null;\n this.parser = null;\n this.root = null;\n }\n\n _reset() {\n this.jid = null;\n this.status = \"offline\";\n this._detachSocket();\n this._detachParser();\n }\n\n async _streamError(condition, children) {\n try {\n await this.send(\n // prettier-ignore\n xml('stream:error', {}, [\n xml(condition, {xmlns: NS_STREAM}, children),\n ]),\n );\n } catch {}\n\n return this._end();\n }\n\n _onData(data) {\n const str = data.toString(\"utf8\");\n this.emit(\"input\", str);\n this.parser.write(str);\n }\n\n _onParserError(error) {\n // https://xmpp.org/rfcs/rfc6120.html#streams-error-conditions-bad-format\n // \"This error can be used instead of the more specific XML-related errors,\n // such as , , , ,\n // and . However, the more specific errors are RECOMMENDED.\"\n this._streamError(\"bad-format\");\n this._detachParser();\n this.emit(\"error\", error);\n }\n\n _attachSocket(socket) {\n this.socket = socket;\n const listeners = this.socketListeners;\n\n listeners.data = this._onData.bind(this);\n\n listeners.close = (dirty, event) => {\n this._reset();\n this._status(\"disconnect\", { clean: !dirty, event });\n };\n\n listeners.connect = () => {\n this._status(\"connect\");\n };\n\n listeners.error = (error) => {\n this.emit(\"error\", error);\n };\n\n this.socket.on(\"close\", listeners.close);\n this.socket.on(\"data\", listeners.data);\n this.socket.on(\"error\", listeners.error);\n this.socket.on(\"connect\", listeners.connect);\n }\n\n _detachSocket() {\n const { socketListeners, socket } = this;\n for (const k of Object.getOwnPropertyNames(socketListeners)) {\n socket.removeListener(k, socketListeners[k]);\n delete socketListeners[k];\n }\n this.socket = null;\n return socket;\n }\n\n _onElement(element) {\n const isStreamError = element.is(\"error\", NS_JABBER_STREAM);\n\n if (isStreamError) {\n this._onStreamError(element);\n }\n\n this.emit(\"element\", element);\n this.emit(this.isStanza(element) ? \"stanza\" : \"nonza\", element);\n\n if (isStreamError) {\n // \"Stream Errors Are Unrecoverable\"\n // \"The entity that receives the stream error then SHALL close the stream\"\n this._end();\n }\n }\n\n // https://xmpp.org/rfcs/rfc6120.html#streams-error\n _onStreamError(element) {\n const error = StreamError.fromElement(element);\n\n if (error.condition === \"see-other-host\") {\n return this._onSeeOtherHost(error);\n }\n\n this.emit(\"error\", error);\n }\n\n // https://xmpp.org/rfcs/rfc6120.html#streams-error-conditions-see-other-host\n async _onSeeOtherHost(error) {\n const { protocol } = parseService(this.options.service);\n\n const host = error.element.getChildText(\"see-other-host\");\n const { port } = parseHost(host);\n\n let service;\n service = port\n ? `${protocol || \"xmpp:\"}//${host}`\n : (protocol ? `${protocol}//` : \"\") + host;\n\n try {\n await promise(this, \"disconnect\");\n const { domain, lang } = this.options;\n await this.connect(service);\n await this.open({ domain, lang });\n } catch (err) {\n this.emit(\"error\", err);\n }\n }\n\n _attachParser(parser) {\n this.parser = parser;\n const listeners = this.parserListeners;\n\n listeners.element = this._onElement.bind(this);\n listeners.error = this._onParserError.bind(this);\n\n listeners.end = (element) => {\n this._detachParser();\n this._status(\"close\", element);\n };\n\n listeners.start = (element) => {\n this._status(\"open\", element);\n };\n\n this.parser.on(\"error\", listeners.error);\n this.parser.on(\"element\", listeners.element);\n this.parser.on(\"end\", listeners.end);\n this.parser.on(\"start\", listeners.start);\n }\n\n _detachParser() {\n const listeners = this.parserListeners;\n for (const k of Object.getOwnPropertyNames(listeners)) {\n this.parser.removeListener(k, listeners[k]);\n delete listeners[k];\n }\n this.parser = null;\n }\n\n _jid(id) {\n this.jid = jid(id);\n return this.jid;\n }\n\n _status(status, ...args) {\n this.status = status;\n this.emit(\"status\", status, ...args);\n this.emit(status, ...args);\n }\n\n async _end() {\n let el;\n try {\n el = await this.close();\n } catch {}\n\n try {\n await this.disconnect();\n } catch {}\n\n return el;\n }\n\n /**\n * Opens the socket then opens the stream\n */\n async start() {\n if (this.status !== \"offline\") {\n throw new Error(\"Connection is not offline\");\n }\n\n const { service, domain, lang } = this.options;\n\n await this.connect(service);\n\n const promiseOnline = promise(this, \"online\");\n\n await this.open({ domain, lang });\n\n return promiseOnline;\n }\n\n /**\n * Connects the socket\n */\n async connect(service) {\n this._status(\"connecting\", service);\n const socket = new this.Socket();\n this._attachSocket(socket);\n // The 'connect' status is set by the socket 'connect' listener\n socket.connect(this.socketParameters(service));\n return promise(socket, \"connect\");\n }\n\n /**\n * Disconnects the socket\n * https://xmpp.org/rfcs/rfc6120.html#streams-close\n * https://tools.ietf.org/html/rfc7395#section-3.6\n */\n async disconnect(timeout = this.timeout) {\n if (this.socket) this._status(\"disconnecting\");\n\n this.socket.end();\n\n // The 'disconnect' status is set by the socket 'close' listener\n await promise(this.socket, \"close\", \"error\", timeout);\n }\n\n /**\n * Opens the stream\n */\n async open(options) {\n this._status(\"opening\");\n\n if (typeof options === \"string\") {\n options = { domain: options };\n }\n\n const { domain, lang, timeout = this.timeout } = options;\n\n const headerElement = this.headerElement();\n headerElement.attrs.to = domain;\n headerElement.attrs[\"xml:lang\"] = lang;\n this.root = headerElement;\n\n this._attachParser(new this.Parser());\n\n await this.write(this.header(headerElement));\n return promise(this, \"open\", \"error\", timeout);\n }\n\n /**\n * Closes the stream then closes the socket\n * https://xmpp.org/rfcs/rfc6120.html#streams-close\n * https://tools.ietf.org/html/rfc7395#section-3.6\n */\n async stop() {\n const el = await this._end();\n if (this.status !== \"offline\") this._status(\"offline\", el);\n return el;\n }\n\n /**\n * Closes the stream and wait for the server to close it\n * https://xmpp.org/rfcs/rfc6120.html#streams-close\n * https://tools.ietf.org/html/rfc7395#section-3.6\n */\n async close(timeout = this.timeout) {\n const fragment = this.footer(this.footerElement());\n\n const p = Promise.all([\n promise(this.parser, \"end\", \"error\", timeout),\n this.write(fragment),\n ]);\n\n if (this.parser && this.socket) this._status(\"closing\");\n const [el] = await p;\n this.root = null;\n return el;\n // The 'close' status is set by the parser 'end' listener\n }\n\n /**\n * Restart the stream\n * https://xmpp.org/rfcs/rfc6120.html#streams-negotiation-restart\n */\n async restart() {\n this._detachParser();\n const { domain, lang } = this.options;\n return this.open({ domain, lang });\n }\n\n async send(element) {\n element.parent = this.root;\n await this.write(element.toString());\n this.emit(\"send\", element);\n }\n\n sendReceive(element, timeout = this.timeout) {\n return Promise.all([\n this.send(element),\n promise(this, \"element\", \"error\", timeout),\n ]).then(([, el]) => el);\n }\n\n write(string) {\n return new Promise((resolve, reject) => {\n // https://xmpp.org/rfcs/rfc6120.html#streams-close\n // \"Refrain from sending any further data over its outbound stream to the other entity\"\n if (this.status === \"closing\") {\n reject(new Error(\"Connection is closing\"));\n return;\n }\n\n this.socket.write(string, (err) => {\n if (err) {\n return reject(err);\n }\n\n this.emit(\"output\", string);\n resolve();\n });\n });\n }\n\n isStanza(element) {\n const { name } = element;\n return name === \"iq\" || name === \"message\" || name === \"presence\";\n }\n\n isNonza(element) {\n return !this.isStanza(element);\n }\n\n // Override\n header(el) {\n return el.toString();\n }\n\n // Override\n headerElement() {\n return new xml.Element(\"\", {\n version: \"1.0\",\n xmlns: this.NS,\n });\n }\n\n // Override\n footer(el) {\n return el.toString();\n }\n\n // Override\n footerElement() {}\n\n // Override\n socketParameters() {}\n}\n\n// Overrirde\nConnection.prototype.NS = \"\";\nConnection.prototype.Socket = null;\nConnection.prototype.Parser = null;\n\nmodule.exports = Connection;\n","\"use strict\";\n\nconst Connection = require(\"@xmpp/connection\");\n\nclass Client extends Connection {\n constructor(options) {\n super(options);\n this.transports = [];\n }\n\n send(element, ...args) {\n return this.Transport.prototype.send.call(this, element, ...args);\n }\n\n sendMany(...args) {\n return this.Transport.prototype.sendMany.call(this, ...args);\n }\n\n _findTransport(service) {\n return this.transports.find((Transport) => {\n try {\n return Transport.prototype.socketParameters(service) !== undefined;\n } catch {\n return false;\n }\n });\n }\n\n connect(service) {\n const Transport = this._findTransport(service);\n\n if (!Transport) {\n throw new Error(\"No compatible connection method found.\");\n }\n\n this.Transport = Transport;\n this.Socket = Transport.prototype.Socket;\n this.Parser = Transport.prototype.Parser;\n\n return super.connect(service);\n }\n\n socketParameters(...args) {\n return this.Transport.prototype.socketParameters(...args);\n }\n\n header(...args) {\n return this.Transport.prototype.header(...args);\n }\n\n headerElement(...args) {\n return this.Transport.prototype.headerElement(...args);\n }\n\n footer(...args) {\n return this.Transport.prototype.footer(...args);\n }\n\n footerElement(...args) {\n return this.Transport.prototype.footerElement(...args);\n }\n}\n\nClient.prototype.NS = \"jabber:client\";\n\nmodule.exports = Client;\n","\"use strict\";\n\nconst Client = require(\"./lib/Client\");\nconst xml = require(\"@xmpp/xml\");\nconst jid = require(\"@xmpp/jid\");\n\nmodule.exports.Client = Client;\nmodule.exports.xml = xml;\nmodule.exports.jid = jid;\n","\"use strict\";\n\nmodule.exports = function getDomain(service) {\n const domain = service.split(\"://\")[1] || service;\n return domain.split(\":\")[0].split(\"/\")[0];\n};\n","\"use strict\";\n\nconst { EventEmitter } = require(\"@xmpp/events\");\n\nclass Reconnect extends EventEmitter {\n constructor(entity) {\n super();\n\n this.delay = 1000;\n this.entity = entity;\n this._timeout = null;\n }\n\n scheduleReconnect() {\n const { entity, delay, _timeout } = this;\n clearTimeout(_timeout);\n this._timeout = setTimeout(async () => {\n if (entity.status !== \"disconnect\") {\n return;\n }\n\n try {\n await this.reconnect();\n } catch {\n // Ignoring the rejection is safe because the error is emitted on entity by #start\n }\n }, delay);\n }\n\n async reconnect() {\n const { entity } = this;\n this.emit(\"reconnecting\");\n\n const { service, domain, lang } = entity.options;\n await entity.connect(service);\n await entity.open({ domain, lang });\n\n this.emit(\"reconnected\");\n }\n\n start() {\n const { entity } = this;\n const listeners = {};\n listeners.disconnect = () => {\n this.scheduleReconnect();\n };\n\n this.listeners = listeners;\n entity.on(\"disconnect\", listeners.disconnect);\n }\n\n stop() {\n const { entity, listeners, _timeout } = this;\n entity.removeListener(\"disconnect\", listeners.disconnect);\n clearTimeout(_timeout);\n }\n}\n\nmodule.exports = function reconnect({ entity }) {\n const r = new Reconnect(entity);\n r.start();\n return r;\n};\n","export default {}","\"use strict\";\n\nconst WS = require(\"ws\");\n// eslint-disable-next-line n/no-unsupported-features/node-builtins\nconst WebSocket = globalThis.WebSocket || WS;\nconst EventEmitter = require(\"events\");\n\nconst CODE = \"ECONNERROR\";\n\nclass Socket extends EventEmitter {\n constructor() {\n super();\n this.listeners = Object.create(null);\n }\n\n connect(url) {\n this.url = url;\n this._attachSocket(new WebSocket(url, [\"xmpp\"]));\n }\n\n _attachSocket(socket) {\n this.socket = socket;\n const { listeners } = this;\n listeners.open = () => {\n this.emit(\"connect\");\n };\n\n listeners.message = ({ data }) => this.emit(\"data\", data);\n listeners.error = (event) => {\n const { url } = this;\n // WS\n let { error } = event;\n // DOM\n if (!error) {\n error = new Error(`WebSocket ${CODE} ${url}`);\n error.errno = CODE;\n error.code = CODE;\n }\n\n error.event = event;\n error.url = url;\n this.emit(\"error\", error);\n };\n\n listeners.close = (event) => {\n this._detachSocket();\n this.emit(\"close\", !event.wasClean, event);\n };\n\n this.socket.addEventListener(\"open\", listeners.open);\n this.socket.addEventListener(\"message\", listeners.message);\n this.socket.addEventListener(\"error\", listeners.error);\n this.socket.addEventListener(\"close\", listeners.close);\n }\n\n _detachSocket() {\n delete this.url;\n const { socket, listeners } = this;\n for (const k of Object.getOwnPropertyNames(listeners)) {\n socket.removeEventListener(k, listeners[k]);\n delete listeners[k];\n }\n delete this.socket;\n }\n\n end() {\n this.socket.close();\n }\n\n write(data, fn) {\n if (WebSocket === WS) {\n this.socket.send(data, fn);\n } else {\n this.socket.send(data);\n fn();\n }\n }\n}\n\nmodule.exports = Socket;\n","\"use strict\";\n\nconst { Parser, Element, XMLError } = require(\"@xmpp/xml\");\n\nmodule.exports = class FramedParser extends Parser {\n onStartElement(name, attrs) {\n const element = new Element(name, attrs);\n\n const { cursor } = this;\n\n if (cursor) {\n cursor.append(element);\n }\n\n this.cursor = element;\n }\n\n onEndElement(name) {\n const { cursor } = this;\n if (name !== cursor.name) {\n // \n this.emit(\"error\", new XMLError(`${cursor.name} must be closed.`));\n return;\n }\n\n if (cursor.parent) {\n this.cursor = cursor.parent;\n return;\n }\n\n if (cursor.is(\"open\", \"urn:ietf:params:xml:ns:xmpp-framing\")) {\n this.emit(\"start\", cursor);\n } else if (cursor.is(\"close\", \"urn:ietf:params:xml:ns:xmpp-framing\")) {\n this.emit(\"end\", cursor);\n } else {\n this.emit(\"element\", cursor);\n }\n\n this.cursor = null;\n }\n};\n","\"use strict\";\n\nconst Socket = require(\"./Socket\");\nconst Connection = require(\"@xmpp/connection\");\nconst xml = require(\"@xmpp/xml\");\nconst FramedParser = require(\"./FramedParser\");\n\nconst NS_FRAMING = \"urn:ietf:params:xml:ns:xmpp-framing\";\n\n/* References\n * WebSocket protocol https://tools.ietf.org/html/rfc6455\n * WebSocket Web API https://html.spec.whatwg.org/multipage/comms.html#network\n * XMPP over WebSocket https://tools.ietf.org/html/rfc7395\n */\n\nclass ConnectionWebSocket extends Connection {\n send(element, ...args) {\n if (!element.attrs.xmlns && super.isStanza(element)) {\n element.attrs.xmlns = \"jabber:client\";\n }\n\n return super.send(element, ...args);\n }\n\n async sendMany(elements) {\n for (const element of elements) {\n await this.send(element);\n }\n }\n\n // https://tools.ietf.org/html/rfc7395#section-3.6\n footerElement() {\n return new xml.Element(\"close\", {\n xmlns: NS_FRAMING,\n });\n }\n\n // https://tools.ietf.org/html/rfc7395#section-3.4\n headerElement() {\n const el = super.headerElement();\n el.name = \"open\";\n el.attrs.xmlns = NS_FRAMING;\n return el;\n }\n\n socketParameters(service) {\n return /^wss?:\\/\\//.test(service) ? service : undefined;\n }\n}\n\nConnectionWebSocket.prototype.Socket = Socket;\nConnectionWebSocket.prototype.NS = \"jabber:client\";\nConnectionWebSocket.prototype.Parser = FramedParser;\n\nmodule.exports = ConnectionWebSocket;\n","\"use strict\";\n\nconst ConnectionWebSocket = require(\"./lib/Connection\");\n\nmodule.exports = function websocket({ entity }) {\n entity.transports.push(ConnectionWebSocket);\n};\n","'use strict'\n\n/**\n * Expose compositor.\n */\n\nmodule.exports = compose\n\n/**\n * Compose `middleware` returning\n * a fully valid middleware comprised\n * of all those which are passed.\n *\n * @param {Array} middleware\n * @return {Function}\n * @api public\n */\n\nfunction compose (middleware) {\n if (!Array.isArray(middleware)) throw new TypeError('Middleware stack must be an array!')\n for (const fn of middleware) {\n if (typeof fn !== 'function') throw new TypeError('Middleware must be composed of functions!')\n }\n\n /**\n * @param {Object} context\n * @return {Promise}\n * @api public\n */\n\n return function (context, next) {\n // last called middleware #\n let index = -1\n return dispatch(0)\n function dispatch (i) {\n if (i <= index) return Promise.reject(new Error('next() called multiple times'))\n index = i\n let fn = middleware[i]\n if (i === middleware.length) fn = next\n if (!fn) return Promise.resolve()\n try {\n return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));\n } catch (err) {\n return Promise.reject(err)\n }\n }\n }\n}\n","\"use strict\";\n\nmodule.exports = class Context {\n constructor(entity, stanza) {\n this.stanza = stanza;\n this.entity = entity;\n\n const { name, attrs } = stanza;\n const { type, id } = attrs;\n\n this.name = name;\n this.id = id || \"\";\n\n if (name === \"message\") {\n this.type = type || \"normal\";\n } else if (name === \"presence\") {\n this.type = type || \"available\";\n } else {\n this.type = type || \"\";\n }\n\n this.from = null;\n this.to = null;\n this.local = \"\";\n this.domain = \"\";\n this.resource = \"\";\n }\n};\n","\"use strict\";\n\nconst Context = require(\"./Context\");\nconst JID = require(\"@xmpp/jid\");\n\nmodule.exports = class IncomingContext extends Context {\n constructor(entity, stanza) {\n super(entity, stanza);\n\n const { jid, domain } = entity;\n\n const to = stanza.attrs.to || (jid && jid.toString());\n const from = stanza.attrs.from || domain;\n\n if (to) this.to = new JID(to);\n\n if (from) {\n this.from = new JID(from);\n this.local = this.from.local;\n this.domain = this.from.domain;\n this.resource = this.from.resource;\n }\n }\n};\n","\"use strict\";\n\nconst Context = require(\"./Context\");\nconst JID = require(\"@xmpp/jid\");\n\nmodule.exports = class OutgoingContext extends Context {\n constructor(entity, stanza) {\n super(entity, stanza);\n\n const { jid, domain } = entity;\n\n const from = stanza.attrs.from || (jid && jid.toString());\n const to = stanza.attrs.to || domain;\n\n if (from) this.from = new JID(from);\n\n if (to) {\n this.to = new JID(to);\n this.local = this.to.local;\n this.domain = this.to.domain;\n this.resource = this.to.resource;\n }\n }\n};\n","\"use strict\";\n\nconst compose = require(\"koa-compose\");\n\nconst IncomingContext = require(\"./lib/IncomingContext\");\nconst OutgoingContext = require(\"./lib/OutgoingContext\");\n\nfunction listener(entity, middleware, Context) {\n return (stanza) => {\n const ctx = new Context(entity, stanza);\n return compose(middleware)(ctx);\n };\n}\n\nfunction errorHandler(entity) {\n return (ctx, next) => {\n next()\n .then((reply) => reply && entity.send(reply))\n .catch((err) => entity.emit(\"error\", err));\n };\n}\n\nmodule.exports = function middleware({ entity }) {\n const incoming = [errorHandler(entity)];\n const outgoing = [];\n\n const incomingListener = listener(entity, incoming, IncomingContext);\n const outgoingListener = listener(entity, outgoing, OutgoingContext);\n\n entity.on(\"element\", incomingListener);\n entity.hookOutgoing = outgoingListener;\n\n return {\n use(fn) {\n incoming.push(fn);\n return fn;\n },\n filter(fn) {\n outgoing.push(fn);\n return fn;\n },\n };\n};\n","\"use strict\";\n\nmodule.exports = function route() {\n return async ({ stanza, entity }, next) => {\n if (!stanza.is(\"features\", \"http://etherx.jabber.org/streams\"))\n return next();\n\n const prevent = await next();\n if (!prevent && entity.jid) entity._status(\"online\", entity.jid);\n };\n};\n","\"use strict\";\n\n/**\n * References\n * https://xmpp.org/rfcs/rfc6120.html#streams-negotiation Stream Negotiation\n * https://xmpp.org/extensions/xep-0170.html XEP-0170: Recommended Order of Stream Feature Negotiation\n * https://xmpp.org/registrar/stream-features.html XML Stream Features\n */\n\nconst route = require(\"./route\");\n\nmodule.exports = function streamFeatures({ middleware }) {\n middleware.use(route());\n\n function use(name, xmlns, handler) {\n return middleware.use((ctx, next) => {\n const { stanza } = ctx;\n if (!stanza.is(\"features\", \"http://etherx.jabber.org/streams\"))\n return next();\n const feature = stanza.getChild(name, xmlns);\n if (!feature) return next();\n return handler(ctx, next, feature);\n });\n }\n\n return {\n use,\n };\n};\n","\"use strict\";\n\nmodule.exports = function id() {\n let i;\n while (!i) {\n i = Math.random().toString(36).slice(2, 12);\n }\n\n return i;\n};\n","\"use strict\";\n\n/* https://xmpp.org/rfcs/rfc6120.html#stanzas-error */\n\nconst XMPPError = require(\"@xmpp/error\");\n\nclass StanzaError extends XMPPError {\n constructor(condition, text, application, type) {\n super(condition, text, application);\n this.type = type;\n this.name = \"StanzaError\";\n }\n\n static fromElement(element) {\n const error = super.fromElement(element);\n error.type = element.attrs.type;\n return error;\n }\n}\n\nmodule.exports = StanzaError;\n","\"use strict\";\n\nconst xid = require(\"@xmpp/id\");\nconst StanzaError = require(\"@xmpp/middleware/lib/StanzaError\");\nconst { Deferred } = require(\"@xmpp/events\");\nconst timeoutPromise = require(\"@xmpp/events\").timeout;\nconst xml = require(\"@xmpp/xml\");\n\nfunction isReply({ name, type }) {\n if (name !== \"iq\") return false;\n if (type !== \"error\" && type !== \"result\") return false;\n return true;\n}\n\nclass IQCaller {\n constructor({ entity, middleware }) {\n this.handlers = new Map();\n this.entity = entity;\n this.middleware = middleware;\n }\n\n start() {\n this.middleware.use(this._route.bind(this));\n }\n\n _route({ type, name, id, stanza }, next) {\n if (!isReply({ name, type })) return next();\n\n const deferred = this.handlers.get(id);\n\n if (!deferred) {\n return next();\n }\n\n if (type === \"error\") {\n deferred.reject(StanzaError.fromElement(stanza.getChild(\"error\")));\n } else {\n deferred.resolve(stanza);\n }\n\n this.handlers.delete(id);\n }\n\n async request(stanza, timeout = 30 * 1000) {\n if (!stanza.attrs.id) {\n stanza.attrs.id = xid();\n }\n\n const deferred = new Deferred();\n this.handlers.set(stanza.attrs.id, deferred);\n\n try {\n await this.entity.send(stanza);\n await timeoutPromise(deferred.promise, timeout);\n } catch (err) {\n this.handlers.delete(stanza.attrs.id);\n throw err;\n }\n\n return deferred.promise;\n }\n\n _childRequest(type, element, to, ...args) {\n const {\n name,\n attrs: { xmlns },\n } = element;\n return this.request(xml(\"iq\", { type, to }, element), ...args).then(\n (stanza) => stanza.getChild(name, xmlns),\n );\n }\n\n async get(...args) {\n return this._childRequest(\"get\", ...args);\n }\n\n async set(...args) {\n return this._childRequest(\"set\", ...args);\n }\n}\n\nmodule.exports = function iqCaller(...args) {\n const iqCaller = new IQCaller(...args);\n iqCaller.start();\n return iqCaller;\n};\n","\"use strict\";\n\n/**\n * References\n * https://xmpp.org/rfcs/rfc6120.html#stanzas-semantics-iq\n * https://xmpp.org/rfcs/rfc6120.html#stanzas-error\n */\n\nconst xml = require(\"@xmpp/xml\");\n\nconst NS_STANZA = \"urn:ietf:params:xml:ns:xmpp-stanzas\";\n\nfunction isQuery({ name, type }) {\n if (name !== \"iq\") return false;\n if (type === \"error\" || type === \"result\") return false;\n return true;\n}\n\nfunction isValidQuery({ type }, children, child) {\n if (type !== \"get\" && type !== \"set\") return false;\n if (children.length !== 1) return false;\n if (!child) return false;\n return true;\n}\n\nfunction buildReply({ stanza }) {\n return xml(\"iq\", {\n to: stanza.attrs.from,\n from: stanza.attrs.to,\n id: stanza.attrs.id,\n });\n}\n\nfunction buildReplyResult(ctx, child) {\n const reply = buildReply(ctx);\n reply.attrs.type = \"result\";\n if (child) {\n reply.append(child);\n }\n\n return reply;\n}\n\nfunction buildReplyError(ctx, error, child) {\n const reply = buildReply(ctx);\n reply.attrs.type = \"error\";\n if (child) {\n reply.append(child);\n }\n\n reply.append(error);\n return reply;\n}\n\nfunction buildError(type, condition) {\n return xml(\"error\", { type }, xml(condition, NS_STANZA));\n}\n\nfunction iqHandler(entity) {\n return async function iqHandler(ctx, next) {\n if (!isQuery(ctx)) return next();\n\n const { stanza } = ctx;\n const children = stanza.getChildElements();\n const [child] = children;\n\n if (!isValidQuery(ctx, children, child)) {\n return buildReplyError(ctx, buildError(\"modify\", \"bad-request\"), child);\n }\n\n ctx.element = child;\n\n let reply;\n try {\n reply = await next();\n } catch (err) {\n entity.emit(\"error\", err);\n reply = buildError(\"cancel\", \"internal-server-error\");\n }\n\n if (!reply) {\n reply = buildError(\"cancel\", \"service-unavailable\");\n }\n\n if (reply instanceof xml.Element && reply.is(\"error\")) {\n return buildReplyError(ctx, reply, child);\n }\n\n return buildReplyResult(\n ctx,\n reply instanceof xml.Element ? reply : undefined,\n );\n };\n}\n\nfunction route(type, ns, name, handler) {\n return (ctx, next) => {\n if ((ctx.type !== type) | !ctx.element || !ctx.element.is(name, ns))\n return next();\n return handler(ctx, next);\n };\n}\n\nmodule.exports = function iqCallee({ middleware, entity }) {\n middleware.use(iqHandler(entity));\n\n return {\n get(ns, name, handler) {\n middleware.use(route(\"get\", ns, name, handler));\n },\n set(ns, name, handler) {\n middleware.use(route(\"set\", ns, name, handler));\n },\n };\n};\n","\"use strict\";\n\nconst Parser = require(\"./Parser\");\n\nmodule.exports = function parse(data) {\n const p = new Parser();\n\n let result = null;\n let error = null;\n\n p.on(\"start\", (el) => {\n result = el;\n });\n p.on(\"element\", (el) => {\n result.append(el);\n });\n p.on(\"error\", (err) => {\n error = err;\n });\n\n p.write(data);\n p.end();\n\n if (error) {\n throw error;\n } else {\n return result;\n }\n};\n","\"use strict\";\n\nfunction isSecure(uri) {\n return uri.startsWith(\"https\") || uri.startsWith(\"wss\");\n}\n\nmodule.exports.compare = function compare(a, b) {\n let secure;\n if (isSecure(a.uri) && !isSecure(b.uri)) {\n secure = -1;\n } else if (!isSecure(a.uri) && isSecure(b.uri)) {\n secure = 1;\n } else {\n secure = 0;\n }\n\n if (secure !== 0) {\n return secure;\n }\n\n let method;\n if (a.method === b.method) {\n method = 0;\n } else if (a.method === \"websocket\") {\n method = -1;\n } else if (b.method === \"websocket\") {\n method = 1;\n } else if (a.method === \"xbosh\") {\n method = -1;\n } else if (b.method === \"xbosh\") {\n method = 1;\n } else if (a.method === \"httppoll\") {\n method = -1;\n } else if (b.method === \"httppoll\") {\n method = 1;\n } else {\n method = 0;\n }\n\n if (method !== 0) {\n return method;\n }\n\n return 0;\n};\n","\"use strict\";\n\n// eslint-disable-next-line n/no-unsupported-features/node-builtins\nconst fetch = globalThis.fetch || require(\"node-fetch\");\nconst parse = require(\"@xmpp/xml/lib/parse\");\nconst compareAltConnections = require(\"./alt-connections\").compare;\n\nfunction resolve(domain) {\n return fetch(`https://${domain}/.well-known/host-meta`)\n .then((res) => res.text())\n .then((res) => {\n return parse(res)\n .getChildren(\"Link\")\n .filter((link) =>\n [\n \"urn:xmpp:alt-connections:websocket\",\n \"urn:xmpp:alt-connections:httppoll\",\n \"urn:xmpp:alt-connections:xbosh\",\n ].includes(link.attrs.rel),\n )\n .map(({ attrs }) => ({\n rel: attrs.rel,\n href: attrs.href,\n method: attrs.rel.split(\":\").pop(),\n uri: attrs.href,\n }))\n .sort(compareAltConnections);\n })\n .catch(() => {\n return [];\n });\n}\n\nmodule.exports.resolve = resolve;\n","\"use strict\";\n\nconst dns = require(\"./lib/dns\");\nconst http = require(\"./lib/http\");\n\nmodule.exports = function resolve(...args) {\n return Promise.all([\n dns.resolve ? dns.resolve(...args) : Promise.resolve([]),\n http.resolve(...args),\n ]).then(([records, endpoints]) => [...records, ...endpoints]);\n};\n\nif (dns.resolve) {\n module.exports.dns = dns;\n}\n\nmodule.exports.http = http;\n","\"use strict\";\n\nconst resolve = require(\"./resolve\");\nconst { promise } = require(\"@xmpp/events\");\n\nasync function fetchURIs(domain) {\n const result = await resolve(domain, {\n srv: [\n {\n service: \"xmpps-client\",\n protocol: \"tcp\",\n },\n {\n service: \"xmpp-client\",\n protocol: \"tcp\",\n },\n ],\n });\n\n return [\n // Remove duplicates\n ...new Set(result.map((record) => record.uri)),\n ];\n}\n\nfunction filterSupportedURIs(entity, uris) {\n return uris.filter((uri) => entity._findTransport(uri));\n}\n\nasync function fallbackConnect(entity, uris) {\n if (uris.length === 0) {\n throw new Error(\"Couldn't connect\");\n }\n\n const uri = uris.shift();\n const Transport = entity._findTransport(uri);\n\n if (!Transport) {\n return fallbackConnect(entity, uris);\n }\n\n entity._status(\"connecting\", uri);\n const params = Transport.prototype.socketParameters(uri);\n const socket = new Transport.prototype.Socket();\n\n try {\n socket.connect(params);\n await promise(socket, \"connect\");\n } catch {\n return fallbackConnect(entity, uris);\n }\n\n entity._attachSocket(socket);\n socket.emit(\"connect\");\n entity.Transport = Transport;\n entity.Socket = Transport.prototype.Socket;\n entity.Parser = Transport.prototype.Parser;\n}\n\nmodule.exports = function resolve({ entity }) {\n const _connect = entity.connect;\n entity.connect = async function connect(service) {\n if (!service || /:\\/\\//.test(service)) {\n return _connect.call(this, service);\n }\n\n const uris = filterSupportedURIs(entity, await fetchURIs(service));\n\n if (uris.length === 0) {\n throw new Error(\"No compatible transport found.\");\n }\n\n try {\n await fallbackConnect(entity, uris);\n } catch (err) {\n entity._reset();\n entity._status(\"disconnect\");\n throw err;\n }\n };\n};\n","/* eslint-disable n/no-unsupported-features/node-builtins */\n\"use strict\";\n\nmodule.exports.encode = function encode(string) {\n return globalThis.btoa(string);\n};\n\nmodule.exports.decode = function decode(string) {\n return globalThis.atob(string);\n};\n","\"use strict\";\n\nconst XMPPError = require(\"@xmpp/error\");\n\n// https://xmpp.org/rfcs/rfc6120.html#sasl-errors\n\nclass SASLError extends XMPPError {\n constructor(...args) {\n super(...args);\n this.name = \"SASLError\";\n }\n}\n\nmodule.exports = SASLError;\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports, module);\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports', 'module'], factory);\n }\n}(this, function(exports, module) {\n \n /**\n * `Factory` constructor.\n *\n * @api public\n */\n function Factory() {\n this._mechs = [];\n }\n \n /**\n * Utilize the given `mech` with optional `name`, overridding the mechanism's\n * default name.\n *\n * Examples:\n *\n * factory.use(FooMechanism);\n *\n * factory.use('XFOO', FooMechanism);\n *\n * @param {String|Mechanism} name\n * @param {Mechanism} mech\n * @return {Factory} for chaining\n * @api public\n */\n Factory.prototype.use = function(name, mech) {\n if (!mech) {\n mech = name;\n name = mech.prototype.name;\n }\n this._mechs.push({ name: name, mech: mech });\n return this;\n };\n \n /**\n * Create a new mechanism from supported list of `mechs`.\n *\n * If no mechanisms are supported, returns `null`.\n *\n * Examples:\n *\n * var mech = factory.create(['FOO', 'BAR']);\n *\n * @param {Array} mechs\n * @return {Mechanism}\n * @api public\n */\n Factory.prototype.create = function(mechs) {\n for (var i = 0, len = this._mechs.length; i < len; i++) {\n for (var j = 0, jlen = mechs.length; j < jlen; j++) {\n var entry = this._mechs[i];\n if (entry.name == mechs[j]) {\n return new entry.mech();\n }\n }\n }\n return null;\n };\n\n exports = module.exports = Factory;\n \n}));\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports,\n module,\n require('./lib/factory'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports',\n 'module',\n './lib/factory'], factory);\n }\n}(this, function(exports, module, Factory) {\n \n exports = module.exports = Factory;\n exports.Factory = Factory;\n \n}));\n","\"use strict\";\n\nconst { encode, decode } = require(\"@xmpp/base64\");\nconst SASLError = require(\"./lib/SASLError\");\nconst xml = require(\"@xmpp/xml\");\nconst SASLFactory = require(\"saslmechanisms\");\n\n// https://xmpp.org/rfcs/rfc6120.html#sasl\n\nconst NS = \"urn:ietf:params:xml:ns:xmpp-sasl\";\n\nfunction getMechanismNames(features) {\n return features\n .getChild(\"mechanisms\", NS)\n .getChildElements()\n .map((el) => {\n console.log(el, typeof el);\n return el.text();\n });\n}\n\nasync function authenticate(SASL, entity, mechname, credentials) {\n const mech = SASL.create([mechname]);\n if (!mech) {\n throw new Error(\"No compatible mechanism\");\n }\n\n const { domain } = entity.options;\n const creds = {\n username: null,\n password: null,\n server: domain,\n host: domain,\n realm: domain,\n serviceType: \"xmpp\",\n serviceName: domain,\n ...credentials,\n };\n\n return new Promise((resolve, reject) => {\n const handler = (element) => {\n if (element.attrs.xmlns !== NS) {\n return;\n }\n\n if (element.name === \"challenge\") {\n console.log(element, typeof element);\n mech.challenge(decode(element.text()));\n const resp = mech.response(creds);\n entity.send(\n xml(\n \"response\",\n { xmlns: NS, mechanism: mech.name },\n typeof resp === \"string\" ? encode(resp) : \"\",\n ),\n );\n return;\n }\n\n if (element.name === \"failure\") {\n reject(SASLError.fromElement(element));\n } else if (element.name === \"success\") {\n resolve();\n }\n\n entity.removeListener(\"nonza\", handler);\n };\n\n entity.on(\"nonza\", handler);\n\n if (mech.clientFirst) {\n entity.send(\n xml(\n \"auth\",\n { xmlns: NS, mechanism: mech.name },\n encode(mech.response(creds)),\n ),\n );\n }\n });\n}\n\nmodule.exports = function sasl({ streamFeatures }, credentials) {\n const SASL = new SASLFactory();\n\n streamFeatures.use(\"mechanisms\", NS, async ({ stanza, entity }) => {\n const offered = getMechanismNames(stanza);\n const supported = SASL._mechs.map(({ name }) => name);\n // eslint-disable-next-line unicorn/prefer-array-find\n const intersection = supported.filter((mech) => {\n return offered.includes(mech);\n });\n let mech = intersection[0];\n\n if (typeof credentials === \"function\") {\n await credentials(\n (creds) => authenticate(SASL, entity, mech, creds, stanza),\n mech,\n );\n } else {\n if (!credentials.username && !credentials.password) {\n mech = \"ANONYMOUS\";\n }\n\n await authenticate(SASL, entity, mech, credentials, stanza);\n }\n\n await entity.restart();\n });\n\n return {\n use(...args) {\n return SASL.use(...args);\n },\n };\n};\n","\"use strict\";\n\nconst xml = require(\"@xmpp/xml\");\n\n/*\n * References\n * https://xmpp.org/rfcs/rfc6120.html#bind\n */\n\nconst NS = \"urn:ietf:params:xml:ns:xmpp-bind\";\n\nfunction makeBindElement(resource) {\n return xml(\"bind\", { xmlns: NS }, resource && xml(\"resource\", {}, resource));\n}\n\nasync function bind(entity, iqCaller, resource) {\n const result = await iqCaller.set(makeBindElement(resource));\n const jid = result.getChildText(\"jid\");\n entity._jid(jid);\n return jid;\n}\n\nfunction route({ iqCaller }, resource) {\n return async ({ entity }, next) => {\n await (typeof resource === \"function\"\n ? resource((resource) => bind(entity, iqCaller, resource))\n : bind(entity, iqCaller, resource));\n\n next();\n };\n}\n\nmodule.exports = function resourceBinding(\n { streamFeatures, iqCaller },\n resource,\n) {\n streamFeatures.use(\"bind\", NS, route({ iqCaller }, resource));\n};\n","\"use strict\";\n\nconst xml = require(\"@xmpp/xml\");\n\n// https://tools.ietf.org/html/draft-cridland-xmpp-session-01\n\nconst NS = \"urn:ietf:params:xml:ns:xmpp-session\";\n\nmodule.exports = function sessionEstablishment({ iqCaller, streamFeatures }) {\n streamFeatures.use(\"session\", NS, async (context, next, feature) => {\n if (feature.getChild(\"optional\")) return next();\n await iqCaller.set(xml(\"session\", NS));\n return next();\n });\n};\n","\"use strict\";\n\nconst xml = require(\"@xmpp/xml\");\n\n// https://xmpp.org/extensions/xep-0198.html\n\nconst NS = \"urn:xmpp:sm:3\";\n\nasync function enable(entity, resume, max) {\n await entity.send(\n xml(\"enable\", { xmlns: NS, max, resume: resume ? \"true\" : undefined }),\n );\n\n return new Promise((resolve, reject) => {\n function listener(nonza) {\n if (nonza.is(\"enabled\", NS)) {\n resolve(nonza);\n } else if (nonza.is(\"failed\", NS)) {\n reject(nonza);\n } else {\n return;\n }\n\n entity.removeListener(\"nonza\", listener);\n }\n\n entity.on(\"nonza\", listener);\n });\n}\n\nasync function resume(entity, h, previd) {\n const response = await entity.sendReceive(\n xml(\"resume\", { xmlns: NS, h, previd }),\n );\n\n if (!response.is(\"resumed\", NS)) {\n throw response;\n }\n\n return response;\n}\n\nmodule.exports = function streamManagement({\n streamFeatures,\n entity,\n middleware,\n}) {\n let address = null;\n\n const sm = {\n allowResume: true,\n preferredMaximum: null,\n enabled: false,\n id: \"\",\n outbound: 0,\n inbound: 0,\n max: null,\n };\n\n entity.on(\"online\", (jid) => {\n address = jid;\n sm.outbound = 0;\n sm.inbound = 0;\n });\n\n entity.on(\"offline\", () => {\n sm.outbound = 0;\n sm.inbound = 0;\n sm.enabled = false;\n sm.id = \"\";\n });\n\n middleware.use((context, next) => {\n const { stanza } = context;\n if ([\"presence\", \"message\", \"iq\"].includes(stanza.name)) {\n sm.inbound += 1;\n } else if (stanza.is(\"r\", NS)) {\n // > When an element (\"request\") is received, the recipient MUST acknowledge it by sending an element to the sender containing a value of 'h' that is equal to the number of stanzas handled by the recipient of the element.\n entity.send(xml(\"a\", { xmlns: NS, h: sm.inbound })).catch(() => {});\n } else if (stanza.is(\"a\", NS)) {\n // > When a party receives an element, it SHOULD keep a record of the 'h' value returned as the sequence number of the last handled outbound stanza for the current stream (and discard the previous value).\n sm.outbound = stanza.attrs.h;\n }\n\n return next();\n });\n\n // https://xmpp.org/extensions/xep-0198.html#enable\n // For client-to-server connections, the client MUST NOT attempt to enable stream management until after it has completed Resource Binding unless it is resuming a previous session\n\n streamFeatures.use(\"sm\", NS, async (context, next) => {\n // Resuming\n if (sm.id) {\n try {\n await resume(entity, sm.inbound, sm.id);\n sm.enabled = true;\n entity.jid = address;\n entity.status = \"online\";\n return true;\n // If resumption fails, continue with session establishment\n } catch {\n sm.id = \"\";\n sm.enabled = false;\n sm.outbound = 0;\n }\n }\n\n // Enabling\n\n // Resource binding first\n await next();\n\n const promiseEnable = enable(entity, sm.allowResume, sm.preferredMaximum);\n\n // > The counter for an entity's own sent stanzas is set to zero and started after sending either or .\n sm.outbound = 0;\n\n try {\n const response = await promiseEnable;\n sm.enabled = true;\n sm.id = response.attrs.id;\n sm.max = response.attrs.max;\n } catch {\n sm.enabled = false;\n }\n\n sm.inbound = 0;\n });\n\n return sm;\n};\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports, module);\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports', 'module'], factory);\n }\n}(this, function(exports, module) {\n\n /**\n * ANONYMOUS `Mechanism` constructor.\n *\n * This class implements the ANONYMOUS SASL mechanism.\n *\n * The ANONYMOUS SASL mechanism provides support for permitting anonymous\n * access to various services\n *\n * References:\n * - [RFC 4505](http://tools.ietf.org/html/rfc4505)\n *\n * @api public\n */\n function Mechanism() {\n }\n \n Mechanism.prototype.name = 'ANONYMOUS';\n Mechanism.prototype.clientFirst = true;\n \n /**\n * Encode a response using optional trace information.\n *\n * Options:\n * - `trace` trace information (optional)\n *\n * @param {Object} cred\n * @api public\n */\n Mechanism.prototype.response = function(cred) {\n return cred.trace || '';\n };\n \n /**\n * Decode a challenge issued by the server.\n *\n * @param {String} chal\n * @api public\n */\n Mechanism.prototype.challenge = function(chal) {\n };\n\n exports = module.exports = Mechanism;\n \n}));\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports,\n module,\n require('./lib/mechanism'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports',\n 'module',\n './lib/mechanism'], factory);\n }\n}(this, function(exports, module, Mechanism) {\n\n exports = module.exports = Mechanism;\n exports.Mechanism = Mechanism;\n \n}));\n","\"use strict\";\n\n/**\n * [XEP-0175: Best Practices for Use of SASL ANONYMOUS](https://xmpp.org/extensions/xep-0175.html)\n * [RFC-4504: Anonymous Simple Authentication and Security Layer (SASL) Mechanism](https://tools.ietf.org/html/rfc4505)\n */\n\nconst mech = require(\"sasl-anonymous\");\n\nmodule.exports = function saslAnonymous(sasl) {\n sasl.use(mech);\n};\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports, module);\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports', 'module'], factory);\n }\n}(this, function(exports, module) {\n\n /**\n * PLAIN `Mechanism` constructor.\n *\n * This class implements the PLAIN SASL mechanism.\n *\n * The PLAIN SASL mechanism provides support for exchanging a clear-text\n * username and password. This mechanism should not be used without adequate\n * security provided by an underlying transport layer. \n *\n * References:\n * - [RFC 4616](http://tools.ietf.org/html/rfc4616)\n *\n * @api public\n */\n function Mechanism() {\n }\n \n Mechanism.prototype.name = 'PLAIN';\n Mechanism.prototype.clientFirst = true;\n \n /**\n * Encode a response using given credential.\n *\n * Options:\n * - `username`\n * - `password`\n * - `authzid` authorization identity (optional)\n *\n * @param {Object} cred\n * @api public\n */\n Mechanism.prototype.response = function(cred) {\n var str = '';\n str += cred.authzid || '';\n str += '\\0';\n str += cred.username;\n str += '\\0';\n str += cred.password;\n return str;\n };\n \n /**\n * Decode a challenge issued by the server.\n *\n * @param {String} chal\n * @return {Mechanism} for chaining\n * @api public\n */\n Mechanism.prototype.challenge = function(chal) {\n return this;\n };\n\n exports = module.exports = Mechanism;\n \n}));\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports,\n module,\n require('./lib/mechanism'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports',\n 'module',\n './lib/mechanism'], factory);\n }\n}(this, function(exports, module, Mechanism) {\n\n exports = module.exports = Mechanism;\n exports.Mechanism = Mechanism;\n \n}));\n","\"use strict\";\n\nconst mech = require(\"sasl-plain\");\n\nmodule.exports = function saslPlain(sasl) {\n sasl.use(mech);\n};\n","\"use strict\";\n\nconst { xml, jid, Client } = require(\"@xmpp/client-core\");\nconst getDomain = require(\"./lib/getDomain\");\n\nconst _reconnect = require(\"@xmpp/reconnect\");\nconst _websocket = require(\"@xmpp/websocket\");\nconst _middleware = require(\"@xmpp/middleware\");\nconst _streamFeatures = require(\"@xmpp/stream-features\");\nconst _iqCaller = require(\"@xmpp/iq/caller\");\nconst _iqCallee = require(\"@xmpp/iq/callee\");\nconst _resolve = require(\"@xmpp/resolve\");\n\n// Stream features - order matters and define priority\nconst _sasl = require(\"@xmpp/sasl\");\nconst _resourceBinding = require(\"@xmpp/resource-binding\");\nconst _sessionEstablishment = require(\"@xmpp/session-establishment\");\nconst _streamManagement = require(\"@xmpp/stream-management\");\n\n// SASL mechanisms - order matters and define priority\nconst anonymous = require(\"@xmpp/sasl-anonymous\");\nconst plain = require(\"@xmpp/sasl-plain\");\n\nfunction client(options = {}) {\n const { resource, credentials, username, password, ...params } = options;\n\n const { domain, service } = params;\n if (!domain && service) {\n params.domain = getDomain(service);\n }\n\n const entity = new Client(params);\n\n const reconnect = _reconnect({ entity });\n const websocket = _websocket({ entity });\n\n const middleware = _middleware({ entity });\n const streamFeatures = _streamFeatures({ middleware });\n const iqCaller = _iqCaller({ middleware, entity });\n const iqCallee = _iqCallee({ middleware, entity });\n const resolve = _resolve({ entity });\n // Stream features - order matters and define priority\n const sasl = _sasl({ streamFeatures }, credentials || { username, password });\n const streamManagement = _streamManagement({\n streamFeatures,\n entity,\n middleware,\n });\n const resourceBinding = _resourceBinding(\n { iqCaller, streamFeatures },\n resource,\n );\n const sessionEstablishment = _sessionEstablishment({\n iqCaller,\n streamFeatures,\n });\n // SASL mechanisms - order matters and define priority\n const mechanisms = Object.entries({ plain, anonymous }).map(([k, v]) => ({\n [k]: v(sasl),\n }));\n\n return Object.assign(entity, {\n entity,\n reconnect,\n websocket,\n middleware,\n streamFeatures,\n iqCaller,\n iqCallee,\n resolve,\n sasl,\n resourceBinding,\n sessionEstablishment,\n streamManagement,\n mechanisms,\n });\n}\n\nmodule.exports.xml = xml;\nmodule.exports.jid = jid;\nmodule.exports.client = client;\n","export const urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","/* @ts-self-types=\"./index.d.ts\" */\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\nexport { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << Math.log2(alphabet.length - 1)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step | 0\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length >= size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","import { client, xml, jid as createJid } from '@xmpp/client'\nimport XMPPError from '@xmpp/error'\nimport { nanoid } from 'nanoid'\n\nconst hasDebug = true\nconst hasChatState = true\n\nconst NS = {\n // rfc6121\n ROSTER: 'jabber:iq:roster',\n // rfc3920\n STANZA_ERROR: 'urn:ietf:params:xml:ns:xmpp-stanzas',\n // XEP-0045\n MUC: 'http://jabber.org/protocol/muc',\n MUC_USER: 'http://jabber.org/protocol/muc#user',\n MUC_OWNER: 'http://jabber.org/protocol/muc#owner',\n // XEP-0030\n DISCO_INFO: 'http://jabber.org/protocol/disco#info',\n DISCO_ITEMS: 'http://jabber.org/protocol/disco#items',\n // XEP-0004\n FORM: 'jabber:x:data',\n // XEP-0363\n HTTP_UPLOAD: 'urn:xmpp:http:upload:0',\n // XEP-0313\n MAM: 'urn:xmpp:mam:2',\n // XEP-0059\n RSM: 'http://jabber.org/protocol/rsm',\n // XEP-0280\n CARBONS: 'urn:xmpp:carbons:2',\n // XEP-0085\n CHAT_STATE: 'http://jabber.org/protocol/chatstates',\n // XEP-0054\n VCARD: 'vcard-temp',\n // XEP-0049\n PRIVATE: 'jabber:iq:private',\n // XEP-0048\n BOOKMARKS: 'storage:bookmarks',\n // XEP-0066\n OUT_OF_BAND_DATA: 'jabber:x:oob',\n // XEP-0359\n UNIQUE_ID: 'urn:xmpp:sid:0',\n // XEP-0156\n DISCO_CONNECTION: 'urn:xmpp:alt-connections:websocket',\n // XEP-422\n MESSAGE_FASTENING: 'urn:xmpp:fasten:0',\n // XEP-425\n MESSAGE_MODERATION: 'urn:xmpp:message-moderate:0',\n MESSAGE_RETRACTED: 'urn:xmpp:message-retract:0',\n}\n\nlet xmppClient = null\nlet discoInfoCache = []\n\nclass XmppClient {\n constructor(config) {\n if (xmppClient) {\n xmppClient.disconnect()\n }\n this.config = config\n // declare custom events listeners\n this.callbacks = {\n 'chat': [],\n 'groupchat': [],\n 'messageSent': [],\n 'messageSentError': [],\n 'messageRetracted': [],\n 'presence': [],\n 'authenticated': [],\n 'mucCreated': [],\n 'chatState': [],\n 'subjectChange': [],\n }\n this.jid = {}\n this.uploadService = null\n this.xmpp = client({\n service: config.service || 'ws://localhost:5280/xmpp-websocket',\n domain: config.domain || 'localhost',\n resource: (config.resource || 'Web XMPP') + ' ' + nanoid(5),\n username: config.jid,\n password: config.password,\n })\n xmppClient = this\n // default events listeners\n if (import.meta.env.DEV && hasDebug) {\n this.xmpp.on('stanza', stanza => console.debug('0-stanza', stanza))\n this.xmpp.on('error', error => console.debug('0-error', error))\n this.xmpp.on('status', status => console.debug('0-status', status))\n }\n this.xmpp.on('stanza', this.parseStanza)\n }\n\n parseJid (jid) {\n let _jid = jid\n if (typeof jid === 'string') {\n _jid = createJid(jid)\n }\n return {\n resource: _jid.getResource(),\n local: _jid.getLocal(),\n domain: _jid.getDomain(),\n bare: _jid.bare().toString(),\n full: _jid.toString(),\n }\n }\n\n parseStanza (stanza) {\n if (stanza.is('message')) {\n if (stanza.attrs.type === 'chat' || stanza.attrs.type === 'groupchat') {\n // parse stanza message\n if (stanza.attrs.from === xmppClient.jid.bare && stanza.attrs.to === xmppClient.jid.full) {\n // handling carbon sent/received (XEP-0280)\n let carbon = stanza.getChild('sent')\n if (!carbon) {\n carbon = stanza.getChild('received')\n }\n if (carbon) {\n const message = carbon.getChild('forwarded').getChild('message')\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1a-carbon', message)\n }\n stanza = message\n }\n }\n xmppClient.parseMessage(stanza)\n } else {\n const result = stanza.getChild('result')\n if (result) {\n // parse forwarded stanza message\n const forwarded = result.getChild('forwarded')\n const message = forwarded.getChild('message')\n xmppClient.parseMessage(message)\n }\n if (stanza.attrs.type === 'error') {\n xmppClient.parseMessage(stanza)\n }\n }\n } else if (stanza.is('presence')) {\n const presence = {\n isMuc: false,\n isSelf: false,\n type: stanza.attrs.type,\n }\n presence.from = xmppClient.parseJid(stanza.attrs.from)\n if (stanza.attrs.type === 'unavailable') {\n presence.show = 'off'\n presence.show = undefined\n } else {\n presence.show = stanza.getChildText('show') || 'chat'\n presence.status = stanza.getChildText('status')\n }\n // add MUC information\n const mucPresence = stanza.getChild('x', NS.MUC_USER)\n if (mucPresence) {\n presence.isMuc = true\n mucPresence.getChildren('item').map(i => {\n if (i.attrs.role) {\n presence.mucRole = i.attrs.role\n }\n if (i.attrs.affiliation) {\n presence.mucAffiliation = i.attrs.affiliation\n }\n if (i.attrs.jid) {\n presence.mucJid = i.attrs.jid\n }\n })\n mucPresence.getChildren('status').map(status => {\n if (status.attrs.code === '110') {\n presence.isSelf = true\n }\n })\n mucPresence.getChildren('status').map(status => {\n if (status.attrs.code === '201') {\n xmppClient.callbacks.mucCreated.forEach((callback) => callback(presence))\n }\n })\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-presence', presence, mucPresence)\n }\n xmppClient.callbacks.presence.forEach((callback) => callback(presence))\n // @TODO : handle muc joined\n }\n }\n\n parseMessage (stanza) {\n const message = {}\n const body = stanza.getChild('body')\n if (body) {\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-message', stanza)\n }\n message.body = body.getText()\n message.from = xmppClient.parseJid(stanza.attrs.from)\n message.to = xmppClient.parseJid(stanza.attrs.to || xmppClient.jid)\n message.id = stanza.attrs.id\n message.type = stanza.attrs.type\n const stanzaIdNode = stanza.getChild('stanza-id')\n if (stanzaIdNode) {\n message.stanzaId = stanzaIdNode.attrs.id\n }\n\n // handle links\n const extensions = stanza.getChildren('x')\n if (extensions.length > 0) {\n extensions.forEach(extension => {\n if (extension.attrs && extension.attrs.xmlns === NS.OUT_OF_BAND_DATA) {\n if (!message.links) {\n message.links = []\n }\n message.links.push({ url: extension.getChildText('url') })\n }\n })\n }\n\n // handle timestamp (forwarded/delay)\n const parent = stanza.parent\n if (parent && parent.name === 'forwarded') {\n const delay = parent.getChild('delay')\n message.delay = delay ? delay.attrs.stamp : null\n } else {\n const delay = stanza.getChild('delay')\n if (delay) {\n message.delay = delay ? delay.attrs.stamp : null\n }\n }\n if (!message.delay) {\n message.delay = new Date().toISOString()\n }\n\n xmppClient.callbacks.chat.forEach((callback) => callback(message))\n }\n\n // check message fasten (XEP-0422)\n const fasten = stanza.getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.MESSAGE_FASTENING)\n if (fasten.length > 0) {\n // check MUC retracted message (XEP-0425)\n const moderation = fasten[0].getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.MESSAGE_MODERATION)\n if (moderation.length > 0) {\n const retract = moderation[0].getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.MESSAGE_RETRACTED)\n if (retract.length > 0) {\n const reasonNode = moderation[0].getChild('reason')\n const retracted = {\n stanzaId: fasten[0].attrs.id,\n from: stanza.attrs.from,\n reason: reasonNode ? reasonNode.getText() : null,\n by: this.parseJid(moderation[0].attrs.by),\n }\n xmppClient.callbacks.messageRetracted.forEach((callback) => callback(retracted))\n }\n }\n }\n\n // check subject change (part of XEP-0045)\n const subjectNode = stanza.getChild('subject')\n if (subjectNode) {\n const subject = {\n from: xmppClient.parseJid(stanza.attrs.from),\n subject: subjectNode.getText(),\n }\n xmppClient.callbacks.subjectChange.forEach((callback) => callback(subject))\n }\n\n // check message error\n const errorNode = stanza.getChild('error')\n if (errorNode) {\n const error = {\n messageId: stanza.attrs.id,\n type: errorNode.attrs.type,\n message: errorNode.getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.STANZA_ERROR)\n .map(child => child.name)\n .join(', '),\n }\n xmppClient.callbacks.messageSentError.forEach((callback) => callback(error))\n }\n\n // check chat state\n const chatStateNodes = stanza.getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.CHAT_STATE)\n if (chatStateNodes.length > 0) {\n const chatState = {\n jid: xmppClient.parseJid(stanza.attrs.from),\n type: stanza.attrs.type,\n chatState: chatStateNodes[0].getName(),\n }\n xmppClient.callbacks.chatState.forEach((callback) => callback(chatState))\n }\n\n if (import.meta.env.DEV && hasDebug) {\n console.debug('3-message parsed', message)\n }\n }\n\n async connect() {\n if (this.xmpp.status === 'offline') {\n this.jid = this.parseJid(await this.xmpp.start())\n xmppClient.callbacks.authenticated.forEach((callback) => callback(this.jid))\n }\n return this.jid\n }\n\n async disconnect() {\n this.xmpp.stop()\n }\n\n on(type, callback) {\n if (import.meta.env.DEV && hasDebug) {\n console.debug('XmppClient event', type)\n }\n if(this.callbacks[type]) {\n // use custom callback\n this.callbacks[type].push(callback)\n return\n }\n // use default callback\n this.xmpp.on(type, callback)\n }\n\n async getRoster(ver) {\n const rosterMessage =\n xml(\n 'iq', { type: 'get' },\n xml(\n 'query', { xmlns: NS.ROSTER, ver },\n ),\n )\n const result = await this.xmpp.iqCaller.request(rosterMessage)\n return result.getChild('query')\n .getChildren('item')\n .map(item => {\n return {\n ...item.attrs,\n groups: item.getChildren('group').map(i => i.text()),\n }\n })\n }\n\n async sendPresence(show, status, to) {\n const presenceMessage = xml(\n 'presence', {\n to,\n },\n xml(\n 'show', {},\n show,\n ),\n status ? xml('status', {},\n status,\n ) : null,\n )\n await this.xmpp.send(presenceMessage)\n }\n\n async sendChatState (to, type, chatState) {\n if (!hasChatState) {\n return\n }\n const states = [\n 'active',\n 'composing',\n 'paused',\n 'inactive',\n 'gone',\n ]\n if (!states.includes(chatState)) {\n return\n }\n await this.xmpp.send(xml(\n 'message', {\n type,\n to,\n from: this.jid.full,\n },\n xml(chatState, { xmlns: NS.CHAT_STATE }),\n ))\n }\n\n async sendMessage (to, type, body, url = undefined) {\n const id = nanoid()\n await this.xmpp.send(xml(\n 'message', {\n type,\n to,\n from: this.jid.full,\n id,\n },\n xml(\n 'body', {},\n url ? url : body,\n ),\n hasChatState ? xml('active', { xmlns: NS.CHAT_STATE }) : null,\n url ? xml(\n 'x', { xmlns: NS.OUT_OF_BAND_DATA },\n xml(\n 'url', {},\n url,\n ),\n ) : null,\n xml(\n 'origin-id', {\n xmlns: NS.UNIQUE_ID,\n id,\n },\n ),\n ))\n const sentMessage = {\n type,\n to: this.parseJid(to),\n from: this.jid,\n id,\n body,\n delay: new Date().toISOString(),\n }\n if (url) {\n sentMessage.links = [{ url }]\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-message sent', sentMessage)\n }\n xmppClient.callbacks.messageSent.forEach((callback) => callback(sentMessage))\n }\n\n // enabling carbon (XEP-0280)\n async enableCarbons () {\n const carbonsMessage =\n xml(\n 'iq', { type: 'set' },\n xml(\n 'enable', { xmlns: NS.CARBONS },\n ),\n )\n const result = await this.xmpp.iqCaller.request(carbonsMessage)\n return result.attrs.type === 'result'\n }\n\n // Bookmarks (XEP-0048)\n async getBookmarks() {\n const bookmarkRequest =\n xml(\n 'iq', { type: 'get' },\n xml(\n 'query', { xmlns: NS.PRIVATE } ,\n xml(\n 'storage', { xmlns: NS.BOOKMARKS },\n ),\n ),\n )\n const result = await this.xmpp.iqCaller.request(bookmarkRequest)\n const bookmarks = []\n result.getChildren('query')\n .forEach(q => q.getChildren('storage')\n .forEach(s => s.getChildren('conference')\n .forEach(conference => {\n const bookmark = conference.attrs\n if (conference.children) {\n conference.children.forEach(attr => {\n bookmark[attr.name] = attr.children[0]\n })\n }\n if (typeof bookmark.autojoin !== 'boolean') {\n bookmark.autojoin = bookmark.autojoin === 'true'\n }\n const nick = conference.getChildText('nick')\n if (nick) {\n bookmark.nick = nick\n }\n const password = conference.getChildText('password')\n if (password) {\n bookmark.password = password\n }\n bookmarks.push(bookmark)\n }),\n ),\n )\n return bookmarks\n }\n\n async setBookmarks(bookmarks) {\n const setBookmarkRequest =\n xml(\n 'iq', { type: 'set' },\n xml(\n 'query', { xmlns: NS.PRIVATE } ,\n xml(\n 'storage', { xmlns: NS.BOOKMARKS },\n bookmarks.map(b => xml(\n 'conference', {\n jid: b.jid,\n autojoin: b.autojoin,\n name: b.name,\n },\n b.nick ? xml(\n 'nick', {}, b.nick,\n ) : null,\n b.password ? xml(\n 'password', {}, b.password,\n ) : null,\n ),\n ),\n ),\n ),\n )\n await this.xmpp.iqCaller.request(setBookmarkRequest)\n }\n\n async addBookmark(bookmark) {\n const bookmarks = await this.getBookmarks()\n bookmarks.push({\n jid: bookmark.jid,\n autojoin: bookmark.autojoin,\n name: bookmark.name,\n nick: bookmark.nick,\n password: bookmark.password,\n })\n await this.setBookmarks(bookmarks)\n }\n\n async removeBookmark(jid) {\n const bookmarks = (await this.getBookmarks())\n .filter(bookmark => bookmark.jid !== jid)\n await this.setBookmarks(bookmarks)\n }\n\n // Service Discovery (XEP-0030)\n async getDiscoInfo(to) {\n if (to === undefined) {\n to = this.jid.domain\n }\n if (Object.hasOwnProperty.call(discoInfoCache, to)) {\n return discoInfoCache[to]\n }\n const discoInfoMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'query', { xmlns: NS.DISCO_INFO },\n ),\n )\n const result = await this.xmpp.iqCaller.request(discoInfoMessage)\n\n // Service Discovery Extensions (XEP-0128)\n const discoInfo = {\n identities: result.getChild('query').getChildren('identity').map(identity => identity.attrs),\n features: result.getChild('query').getChildren('feature').map(feature => feature.attrs.var),\n extensions: result.getChild('query').getChildren('x').map(x => {\n return { fields: x.getChildren('field').map(field => {\n return {\n name: field.attrs.var,\n label: field.attrs.label,\n type: field.attrs.type,\n value: field.getChildText('value'),\n }\n }) }\n }),\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-getDiscoInfo', to, result, discoInfo)\n }\n // cache result for further request\n discoInfoCache[to] = discoInfo\n return discoInfo\n }\n\n async getDiscoItems(to) {\n if (to === undefined) {\n to = this.jid.domain\n }\n const discoItemsMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'query', { xmlns: NS.DISCO_ITEMS },\n ),\n )\n const result = await this.xmpp.iqCaller.request(discoItemsMessage)\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-getDiscoItems', to, result)\n }\n return {\n items: result.getChild('query').getChildren('item').map(i => i.attrs),\n }\n }\n\n // get HTTP file upload capacity (XEP-0363)\n async getUploadService() {\n // get info from main domain\n this.uploadService = this.jid.domain\n const discoInfo = await this.getDiscoInfo()\n let maxSize = this.getMaxFileSize(discoInfo)\n if (maxSize === undefined) {\n // main domain does not advertise upload service, get components (items)\n const discoItems = await this.getDiscoItems()\n for (let i = 0; i < discoItems.items.length; i++) {\n try {\n const discoInfo = await this.getDiscoInfo(discoItems.items[i].jid)\n maxSize = this.getMaxFileSize(discoInfo)\n if (maxSize) {\n this.uploadService = discoItems.items[i].jid\n break\n }\n } catch (error) {\n console.warn(error.message)\n }\n }\n }\n return {\n maxSize,\n }\n }\n\n getMaxFileSize (discoInfo) {\n if (discoInfo.features.includes(NS.HTTP_UPLOAD)) {\n for (let i = 0; i < discoInfo.extensions.length; i++) {\n const extension = discoInfo.extensions[i]\n if (extension.fields.map(field => field.value).includes(NS.HTTP_UPLOAD)) {\n const maxFileSizeField = extension.fields.filter(field => field.name === 'max-file-size')\n if (maxFileSizeField.length > 0) {\n return parseInt(maxFileSizeField[0].value, 10)\n }\n }\n }\n }\n return undefined\n }\n\n async getUploadSlot(to, request) {\n if (to === undefined || to === null) {\n to = this.uploadService\n }\n const slotRequestMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'request', { xmlns: NS.HTTP_UPLOAD, ...request },\n ),\n )\n const result = await this.xmpp.iqCaller.request(slotRequestMessage)\n const upload = {\n url: result.getChildrenByFilter(child => child.name === 'put', true)[0].attrs.url,\n }\n const download = result.getChildrenByFilter(child => child.name === 'get', true)[0].attrs.url\n return {\n upload,\n download,\n }\n }\n\n // vcard-temp (XEP-0054)\n getVCardAttributes () {\n return [\n {\n id: 'PHOTO',\n label: '',\n placeholder: '',\n type: 'avatar',\n },\n {\n id: 'FN',\n label: 'Full name',\n placeholder: 'John Doe',\n type: 'input',\n },\n {\n id: 'NICKNAME',\n label: 'Nickname',\n placeholder: 'Jo',\n type: 'input',\n },\n {\n id: 'URL',\n label: 'URL',\n placeholder: 'https://mywebsite.ltd',\n type: 'input',\n },\n {\n id: 'BDAY',\n label: 'Birthday',\n placeholder: '1986-08-23',\n type: 'input',\n },\n {\n id: 'ROLE',\n label: 'Role',\n placeholder: 'Executive',\n type: 'input',\n },\n {\n id: 'TITLE',\n label: 'Title',\n placeholder: 'V.P. Research and Development',\n type: 'input',\n },\n ]\n }\n\n async getVCard(to) {\n const getVCardMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'vCard', { xmlns: NS.VCARD },\n ),\n )\n const result = await this.xmpp.iqCaller.request(getVCardMessage)\n const attributes = this.getVCardAttributes()\n .reduce((attributes, attribute) => {\n attributes[attribute.id] = attribute\n return attributes\n }, {})\n const records = result.getChild('vCard').children.map(record => {\n const r = {\n name: record.name,\n }\n const dataType = attributes[record.name] ? attributes[record.name].type : null\n switch (dataType) {\n case 'avatar':\n r.data = record.getChild('BINVAL') ? record.getChild('BINVAL').children[0] : null\n r.mediaType = record.getChild('TYPE') ? record.getChild('TYPE').children[0] : 'image/png'\n break\n case 'input':\n r.value = record.getText()\n break\n default:\n Object.assign(r, record)\n break\n }\n return r\n })\n return { records }\n }\n\n async setVCard (newVCard) {\n // get original\n const getVCardMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full },\n xml(\n 'vCard', { xmlns: NS.VCARD },\n ),\n )\n const vCard = (await this.xmpp.iqCaller.request(getVCardMessage)).getChild('vCard')\n // update handled records\n // photo record\n let type = null\n let binVal = null\n if (newVCard.PHOTO) {\n const parts = newVCard.PHOTO.split(',')\n type = /data:(.*);base64/.exec(parts[0])[1]\n binVal = parts[1]\n }\n const updatedRecords = [\n xml(\n 'PHOTO', {},\n xml(\n 'TYPE', {}, type,\n ),\n xml(\n 'BINVAL', {}, binVal,\n ),\n ),\n // other handled records\n ...this.getVCardAttributes()\n .filter(attribute => attribute.id !== 'PHOTO')\n .map(attribute => {\n return xml(\n attribute.id, {}, newVCard[attribute.id],\n )\n }),\n ]\n const handledAttributes = this.getVCardAttributes()\n .map(attribute => attribute.id)\n vCard.children = vCard.children\n // remove previous records to update\n .filter(record => !handledAttributes.includes(record.name))\n // add updated records\n .concat(updatedRecords)\n // prepare and send iq message\n const setVCardMessage =\n xml(\n 'iq', {\n type: 'set',\n },\n vCard,\n )\n const result = await this.xmpp.iqCaller.request(setVCardMessage)\n if (result.attrs.type !== 'result') {\n throw new Error('Error during vCard update')\n }\n }\n\n // Message Archive Management (XEP-0313)\n async searchHistory(jid, last, max = 50) {\n const queryArchiveMessage =\n xml(\n 'iq', { type: 'set' },\n xml(\n 'query', { xmlns: NS.MAM },\n xml('x', { xmlns: NS.FORM, type: 'submit' },\n xml('field', { var: 'FORM_TYPE', type: 'hidden' },\n xml('value', {}, NS.MAM),\n ),\n xml('field', { var: 'with' },\n xml('value', {}, jid),\n ),\n ),\n xml('set', { xmlns: NS.RSM },\n xml('max', {}, max),\n xml('before', {}, last),\n ),\n ),\n )\n const result = await this.xmpp.iqCaller.request(queryArchiveMessage)\n const paging = {}\n if (result.attrs.type === 'result') {\n const set = result.getChild('fin').getChild('set')\n paging.first = set.getChildText('first')\n paging.last = set.getChildText('last')\n paging.count = set.getChildText('count')\n }\n return {\n paging,\n }\n }\n\n // Multi-User Chat (XEP-0045)\n async joinRoom(jid, nick, opts) {\n if (nick === null) {\n nick = xmppClient.jid.local\n }\n const roomPresenceMessage = xml(\n 'presence', {\n to: `${jid}/${nick}`,\n },\n xml(\n 'x', { xmlns: NS.MUC },\n opts && opts.muc && opts.muc.password ? xml(\n 'password', null, opts.muc.password,\n ) : null,\n ),\n )\n\n const timeoutDuration = 2000\n let timeoutId = null\n const timeoutPromise = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId)\n reject(new Error('Server unreachable'))\n }, timeoutDuration)\n })\n const joinPromise = new Promise((resolve, reject) => {\n function roomJoinAck (stanza) {\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-stanza, joined room?', stanza)\n }\n if (stanza.is('presence') && stanza.attrs.from === `${jid}/${nick}`) {\n // stanza is a presence from the joined room\n const mucPresence = stanza.getChild('x', NS.MUC_USER)\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-presence joined room muc', mucPresence)\n }\n if (mucPresence) {\n if (mucPresence.getChildren('status').some(status => status.attrs.code === '110')) {\n // it is our presence, remove the listener and resolve\n this.removeListener('stanza', roomJoinAck)\n clearTimeout(timeoutId)\n resolve(stanza)\n return\n }\n }\n if (stanza.attrs.type === 'error') {\n // there was an issue, remove the listener and reject with XMPP error\n this.removeListener('stanza', roomJoinAck)\n clearTimeout(timeoutId)\n reject(XMPPError.fromElement(stanza.getChild('error')))\n }\n }\n }\n this.xmpp.on('stanza', roomJoinAck)\n this.xmpp.send(roomPresenceMessage)\n .catch(reject)\n })\n return Promise.race([\n joinPromise,\n timeoutPromise,\n ])\n }\n\n async leaveRoom(jid, nick) {\n const presenceMessage = xml(\n 'presence', {\n to: `${jid}/${nick}`,\n type: 'unavailable',\n },\n )\n await this.xmpp.send(presenceMessage)\n }\n\n async getRoomConfig(roomJid) {\n const getRoomConfigMessage =\n xml(\n 'iq', {\n type: 'get',\n to: roomJid,\n },\n xml(\n 'query', { xmlns: NS.MUC_OWNER },\n ),\n )\n const result = await this.xmpp.iqCaller.request(getRoomConfigMessage)\n const form = result.getChild('query').getChild('x')\n const config = {\n title: form.getChildText('title'),\n instructions: form.getChildText('instructions'),\n fields: form.getChildren('field').map(field => {\n const f = {\n name: field.attrs.var,\n label: field.attrs.label,\n type: field.attrs.type,\n value: field.getChildText('value'),\n description: field.getChildText('desc'),\n }\n switch (f.type) {\n case 'boolean':\n f.value = f.value === '1'\n break\n case 'list-single':\n f.options = field.getChildren('option').map(option => {\n return {\n value: option.getChildText('value'),\n label: option.attrs.label,\n }\n })\n break\n }\n return f\n }),\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-getConfig', roomJid, result, form, config)\n }\n return config\n }\n\n async configureRoom(roomJid, form) {\n const setRoomConfigMessage =\n xml(\n 'iq', {\n type: 'set',\n to: roomJid,\n },\n xml(\n 'query', { xmlns: NS.MUC_OWNER },\n xml(\n 'x', { xmlns: NS.FORM, type: 'submit' },\n form.fields.map(field => {\n return xml(\n 'field', {\n var: field.name,\n },\n xml('value', {}, field.type === 'boolean' ? field.value ? '1' : '0' : field.value),\n )\n }),\n ),\n ),\n )\n await this.xmpp.iqCaller.request(setRoomConfigMessage)\n }\n\n}\n\nexport { XmppClient, NS }\n","export default 'data:image/svg+xml,%3Csvg width=\"334.26\" height=\"334.26\" enable-background=\"new 0 0 351.333 351.333\" version=\"1.1\" viewBox=\"0 0 334.26 334.26\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Crect width=\"334.26\" height=\"334.26\" rx=\"0\" ry=\"0\" fill=\"%23edeef2\" style=\"paint-order:markers stroke fill\"/%3E%3Cpath d=\"m100.08 147.42s-6.6224-89.335 52.581-89.102c0 0 10.703-6.0401 50.676 3.0283 0 0 43.286 11.448 33.836 85.726 0 0 3.604 7.3651 3.565 19.255-0.024 7.19-0.43831 21.357-11.744 30.151 0 0-2.5163 23.071-23.849 40.404 0 0-4.9206 23.395 2.667 30 34.161 22.063 104.19 17.426 104.95 67.379h-295.53c0.48993-50.872 87.364-50.653 108.01-69.05 0 0 6.0062-10.573 2.7826-28.53 0 0-20.492-23.204-20.638-41.944 0 0-11.264-8.356-11.887-23.424-0.25-6.058-1.0857-16.903 4.5823-23.894z\" fill=\"%237e8dc8\"/%3E%3C/svg%3E%0A'\n","import { XmppClient as XMPP, NS } from './XmppClient'\nimport defaultAvatar from '../assets/defaultAvatar'\n\nconst transports = window.config.transports\nconst resource = window.config.resource\nconst defaultDomain = window.config.defaultDomain\nconst defaultMuc = window.config.defaultMuc\nconst connectTimeout = window.config.connectTimeout\n\nfunction logError (error, defaultLevel) {\n const args = Array.prototype.slice.call(arguments, 2)\n if (['XMPPError', 'StanzaError'].includes(error.name)) {\n console.warn(error.name, ...args.filter(arg => !(arg instanceof Error)))\n return\n }\n if (defaultLevel === 'error') {\n console.error(...args)\n } else {\n console.warn(...args)\n }\n}\n\nexport default {\n\n jid: null,\n fullJid: null,\n context: null,\n client: null,\n nick: null,\n isAnonymous: true,\n defaultDomain,\n defaultMuc,\n\n // create XMPP client with credentials and context\n async create (jid, password, domain, transportsUser, context) {\n // clear previous session\n this.nick = null\n this.fullJid = null\n this.jid = null\n this.context = context\n this.disconnect()\n\n // handle anonymous authentication\n if (jid) {\n this.isAnonymous = false\n } else {\n this.isAnonymous = true\n jid = 'anon'\n }\n\n // set domain from user jid or by default\n const jidParts = jid.split('@')\n if (jidParts.length > 1) {\n jid = jidParts[0]\n domain = jidParts[1]\n }\n if (!domain) {\n domain = defaultDomain\n }\n\n this.jid = jid\n\n // use transports if user provided them\n if (transportsUser.websocket) {\n transports.websocket = transportsUser.websocket\n }\n\n // create XMPP client\n this.client = new XMPP({\n service: transports.websocket,\n domain,\n resource: resource || 'Web XMPP',\n jid,\n password,\n })\n\n },\n\n // connect client to XMPP server\n connect () {\n const timeoutDuration = connectTimeout || 5000\n let timeoutId = null\n const timeoutPromise = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId)\n reject(new Error('Server unreachable'))\n }, timeoutDuration)\n })\n\n const connectPromise = new Promise((resolve, reject) => {\n\n // listen for XMPP error\n this.client.on('error', (error) => {\n console.error('XMPP error', error.message)\n })\n\n // listen for authentication success\n this.client.on('authenticated', (jid) => {\n if (!this.isAnonymous) {\n localStorage.setItem('barejid', jid.bare)\n localStorage.setItem('jid', this.jid)\n localStorage.setItem('auth', true)\n }\n // resolve when listen is resolved\n clearTimeout(timeoutId)\n this.fullJid = jid\n this.context.$store.setOnline(true)\n this.listen()\n resolve()\n })\n\n this.client.connect()\n .catch((error) => {\n // listen for authentication failure\n if (error.name === 'SASLError') {\n clearTimeout(timeoutId)\n return reject(new Error('Check your credentials'))\n }\n reject(new Error('Error during login'))\n })\n })\n\n return Promise.race([\n connectPromise,\n timeoutPromise,\n ])\n },\n\n // logic post connection (listeners)\n listen () {\n function storeMessage (xmppSocket, type, message) {\n // clean body message if it contains only a link\n if (message.links) {\n if (message.links.some((link) => link.url === message.body)) {\n message.body = ''\n }\n }\n xmppSocket.context.$store.storeMessage({\n type,\n message,\n })\n }\n\n\n\n this.client.on('online', () => {\n console.info('XMPP online')\n this.context.$store.setOnline(true)\n })\n this.client.on('status', (status) => {\n if (status === 'close' || status === 'disconnect') {\n if (this.context.$store.isOnline) {\n console.warn('XMPP connection is closed')\n this.context.$store.setOnline(false)\n }\n }\n })\n\n // get contacts (rfc6121)\n this.client.getRoster()\n .then((rosterResult) => {\n this.context.$store.setRoster(rosterResult)\n\n // send presence to contacts (rfc6121)\n this.client.sendPresence()\n })\n .catch((rosterError) => logError(rosterError, 'error', 'getRoster', rosterError.message, rosterError))\n\n this.client.getDiscoInfo()\n .catch((discoInfoError) => logError(discoInfoError, 'error', 'getDiscoInfo', discoInfoError.message, discoInfoError))\n\n // enable carbons (XEP-0280: Message Carbons)\n this.client.enableCarbons()\n .catch((error) => logError(error, 'error', 'carbon', error.message, error))\n\n // get bookmarked rooms (XEP-0048: Bookmarks)\n this.client.getBookmarks()\n .then((mucBookmarks) => {\n mucBookmarks.forEach((bookmark) => {\n const room = this.setRoomAttributes(bookmark.jid, null, bookmark.password)\n room.isBookmarked = true\n room.name = bookmark.name\n room.autojoin = bookmark.autojoin\n // @TODO handle nick\n this.context.$store.setKnownRoom(room)\n if (bookmark.autojoin) {\n // handle autojoin\n this.joinRoom(bookmark.jid, null, { muc: { password: bookmark.password } })\n }\n })\n // get rooms attributes\n mucBookmarks.forEach((muc) => {\n this.client.getDiscoInfo(muc.jid)\n .then((mucDiscoInfoResult) => {\n const room = this.setRoomAttributes(muc.jid, mucDiscoInfoResult, muc.password)\n room.isBookmarked = true\n this.context.$store.setKnownRoom(room)\n })\n .catch((error) => logError(error, 'error', 'getBookmarks/getDiscoInfo', error.message, error))\n })\n })\n .catch((error) => logError(error, 'error', 'getBookmarks', error.message, error))\n\n // get HTTP file upload capacity (XEP-0363)\n this.client.getUploadService()\n .then((UploadServiceResult) => {\n if (UploadServiceResult.maxSize) {\n this.context.$store.setHttpFileUploadMaxSize(UploadServiceResult.maxSize)\n }\n })\n .catch((error) => {\n console.warn(error.message)\n })\n\n // listen for contact/room messages\n this.client.on('chat', (receivedMessage) => {\n storeMessage(this, receivedMessage.type, receivedMessage)\n })\n\n // listen for message sent by user (direct or carbon)\n this.client.on('messageSent', (message) => {\n if (!message.body && !message.url) {\n // no body in message (probably a chat state)\n return\n }\n storeMessage(this, message.type, message)\n })\n\n // listen for contact chat state (writing, pause, ...)\n this.client.on('chatState', chatState => {\n this.context.$store.setChatState(chatState)\n })\n\n // listen for room creation\n this.client.on('mucCreated', async (presence) => {\n let room = {\n jid: presence.from.bare,\n }\n this.context.$store.setKnownRoom(room)\n // get room information\n try {\n const mucDiscoInfoResult = await this.client.getDiscoInfo(room.jid)\n room = this.setRoomAttributes(room.jid, mucDiscoInfoResult, null)\n this.context.$store.setKnownRoom(room)\n } catch (error) {\n logError(error, 'error', 'presence/getDiscoInfo', error.message, error)\n }\n })\n\n // listen for presence\n this.client.on('presence', async (presence) => {\n const fullJid = presence.from\n if (fullJid.bare === this.fullJid.bare) {\n // user presence\n if (fullJid.full === this.fullJid.full) {\n // user presence on current resource, emit event\n this.context.$store.setPresence(presence.show)\n }\n return\n }\n // check if it is a MUC presence\n if (presence.isMuc) {\n if (fullJid.resource === '') {\n // room presence\n return\n }\n if (presence.isSelf) {\n if (presence.type === 'unavailable') {\n this.context.$store.removeJoinedRoom(fullJid.bare)\n } else {\n this.context.$store.setJoinedRoom(fullJid.bare)\n }\n }\n if (presence.type === 'unavailable') {\n // occupant left room\n this.context.$store.removeRoomOccupant({\n roomJid: fullJid.bare,\n jid: fullJid.full,\n })\n return\n }\n this.context.$store.setRoomOccupant({\n roomJid: fullJid.bare,\n jid: fullJid.full,\n presence: presence.show,\n })\n return\n }\n // contact presence commit to store\n this.context.$store.setContactPresence({ jid: fullJid.bare, presence: presence.show, status: presence.status })\n })\n\n // listen for retracted messages\n this.client.on('messageRetracted', (retracted) => {\n const index = this.context.$store.messages.findIndex((message) => message.from.bare === retracted.from && message.stanzaId === retracted.stanzaId)\n if (index === -1) {\n // original message is not found (unknown or retracted sent by a third party)\n return\n }\n this.context.$store.updateMessage({\n stanzaId: retracted.stanzaId,\n // replace body and links\n body: `Moderated by ${retracted.by.resource}` + (retracted.reason ? ` (${retracted.reason})` : ''),\n links: [],\n status: {\n code: 'moderated',\n message: retracted.reason,\n },\n })\n })\n\n // listen for room subject change\n this.client.on('subjectChange', (subjectChange) => {\n if (subjectChange.from && subjectChange.from.bare && subjectChange.subject) {\n this.context.$store.setRoomSubject (subjectChange.from.bare, subjectChange.from.resource, subjectChange.subject)\n }\n })\n\n // listen for sent message errors\n this.client.on('messageSentError', (error) => {\n switch (error.type) {\n case 'cancel':\n this.context.$store.setMessageStatus(error.messageId, 'error', error.message)\n break\n }\n })\n },\n\n async disconnect () {\n if (this.context && this.client) {\n try {\n await this.client.disconnect()\n this.context.$store.clear()\n } catch (error) {\n logError(error, 'error', 'disconnect error', error.message, error)\n }\n }\n },\n\n async sendUrl (to, url, isMuc) {\n await this.client.sendMessage(to, isMuc ? 'groupchat' : 'chat', url, url)\n },\n\n async sendMessage (to, body, isMuc) {\n await this.client.sendMessage(to, isMuc ? 'groupchat' : 'chat', body)\n },\n\n async sendChatState (to, isMuc, chatState) {\n await this.client.sendChatState(to, isMuc ? 'groupchat' : 'chat', chatState)\n },\n\n setRoomAttributes (jid, mucDiscoInfoResult, password = null) {\n const room = {\n jid: jid,\n name: jid,\n description: null,\n lang: null,\n occupantsCount: null,\n password,\n isPublic: null,\n isPersistent: null,\n isPasswordProtected: null,\n isMembersOnly: null,\n isAnonymous: null,\n isModerated: null,\n isBookmarked: null,\n hasVCard: null,\n unreadCount: null,\n }\n if (mucDiscoInfoResult) {\n // get room name from identities\n if (\n Object.prototype.hasOwnProperty.call(mucDiscoInfoResult, 'identities') &&\n mucDiscoInfoResult.identities.length > 0 &&\n Object.prototype.hasOwnProperty.call(mucDiscoInfoResult.identities[0], 'name')\n ) {\n room.name = mucDiscoInfoResult.identities[0].name\n }\n // get room extensions\n if (\n mucDiscoInfoResult.extensions.length > 0 &&\n Object.prototype.hasOwnProperty.call(mucDiscoInfoResult.extensions[0], 'fields')\n ) {\n const fields = mucDiscoInfoResult.extensions[0].fields\n // description\n const description = fields.find((field) => field.name === 'muc#roominfo_description')\n if (description) {\n room.description = description.value\n }\n // lang\n const lang = fields.find((field) => field.name === 'muc#roominfo_lang')\n if (lang) {\n room.lang = lang.value\n }\n // occupants\n const occupantsCount = fields.find((field) => field.name === 'muc#roominfo_occupants')\n if (occupantsCount) {\n room.occupantsCount = parseInt(occupantsCount.value)\n room.occupantsCount = isNaN(room.occupantsCount) ? occupantsCount.value : room.occupantsCount\n }\n }\n // public or hidden\n if (mucDiscoInfoResult.features.includes('muc_public')) {\n room.isPublic = true\n }\n if (mucDiscoInfoResult.features.includes('muc_hidden')) {\n room.isPublic = false\n }\n // persistent or temporary (destroyed if the last occupant exits)\n if (mucDiscoInfoResult.features.includes('muc_persistent')) {\n room.isPersistent = true\n }\n if (mucDiscoInfoResult.features.includes('muc_temporary')) {\n room.isPersistent = false\n }\n // password protected or not\n if (mucDiscoInfoResult.features.includes('muc_passwordprotected')) {\n room.isPasswordProtected = true\n }\n if (mucDiscoInfoResult.features.includes('muc_unsecured')) {\n room.isPasswordProtected = false\n }\n // members only or open\n if (mucDiscoInfoResult.features.includes('muc_membersonly')) {\n room.isMembersOnly = true\n }\n if (mucDiscoInfoResult.features.includes('muc_open')) {\n room.isMembersOnly = false\n }\n // semi-anonymous (display nick) or non-anonymous (display jid)\n if (mucDiscoInfoResult.features.includes('muc_semianonymous')) {\n room.isAnonymous = true\n }\n if (mucDiscoInfoResult.features.includes('muc_nonanonymous')) {\n room.isAnonymous = false\n }\n // moderated or not\n if (mucDiscoInfoResult.features.includes('muc_moderated')) {\n room.isModerated = true\n }\n if (mucDiscoInfoResult.features.includes('muc_unmoderated')) {\n room.isModerated = false\n }\n // has vCard\n if (mucDiscoInfoResult.features.includes('vcard-temp')) {\n room.hasVCard = true\n }\n }\n return room\n },\n\n async getJidAvatar (jid) {\n try {\n const uri = sessionStorage.getItem('avatar-' + jid)\n if (uri) {\n return { uri, isDefault: false }\n }\n if (!this.client) {\n return { uri: defaultAvatar, isDefault: true }\n }\n const vCard = await this.client.getVCard(jid)\n if (!vCard.records) {\n return { uri: defaultAvatar, isDefault: true }\n }\n const avatar = vCard.records.find((record) => record.name === 'PHOTO')\n if (avatar && avatar.data) {\n const uri = 'data:' + avatar.mediaType + ';base64,' + avatar.data\n sessionStorage.setItem('avatar-' + jid, uri)\n return { uri, isDefault: false }\n }\n } catch (error) {\n logError(error, 'warn', 'getJidAvatar error', jid, error.message)\n }\n return { uri: defaultAvatar, isDefault: true }\n },\n\n async getProfile () {\n try {\n const vCard = await this.client.getVCard()\n if (!vCard.records) {\n return { }\n }\n return vCard.records\n // transform each record\n .map(attr => {\n const value = (attr.name === 'PHOTO') ? 'data:' + attr.mediaType + ';base64,' + attr.data : attr.value\n return {\n name: attr.name,\n value,\n }\n })\n // transform in object\n .reduce((acc, cur) => {\n acc[cur.name] = cur.value\n return acc\n }, {})\n } catch (error) {\n logError(error, 'warn', 'getProfile error', error.message)\n return {}\n }\n },\n\n async updateProfile (profile) {\n await this.client.setVCard(profile)\n if (profile.PHOTO) {\n sessionStorage.setItem('avatar-' + this.fullJid.bare, profile.PHOTO)\n }\n return\n },\n\n async sendPresence (presence) {\n try {\n // send global presence\n await this.client.sendPresence(presence.show)\n // send presence to joined rooms\n this.context.$store.joinedRooms.forEach((roomJid) => {\n this.client.sendPresence(presence.show, undefined, roomJid)\n })\n } catch (error) {\n logError(error, 'error', 'sendPresence error', error.message, error)\n }\n },\n\n async searchHistory (jid, last = true) {\n try {\n const history = await this.client.searchHistory(jid, last, 10)\n return history.paging\n } catch (error) {\n logError(error, 'error', 'searchHistory error', error.message, error)\n }\n },\n\n async joinRoom (jid, nick = null, opts = {}, _room = {}) {\n if (!this.fullJid) {\n return {\n isSuccess: false,\n message: 'User Jid is missing',\n }\n }\n if (nick === null) {\n if (this.nick !== null) {\n nick = this.nick\n } else {\n nick = this.fullJid.local\n }\n }\n try {\n await this.client.joinRoom(jid, nick, opts)\n if (_room.jid) {\n const room = Object.assign({}, _room)\n if (opts && opts.muc && opts.muc.password) {\n room.password = opts.muc.password\n }\n this.context.$store.setKnownRoom(room)\n }\n return {\n isSuccess: true,\n }\n } catch (error) {\n logError(error, 'error', 'joinRoom', error.message, error)\n return {\n isSuccess: false,\n message: this.getRoomError(error),\n }\n }\n },\n\n async getPublicMuc () {\n if (!this.context) {\n return []\n }\n const rooms = []\n\n // discoItems on server\n try {\n const serverDiscoItemsResult = await this.client.getDiscoItems(this.fullJid.domain)\n if (serverDiscoItemsResult.items.length === 0) {\n console.info('There is no MUC service')\n return []\n }\n\n // discoInfo on every service for finding MUC services\n for (const serverDiscoItem of serverDiscoItemsResult.items) {\n try {\n const serviceDiscoInfoResult = await this.client.getDiscoInfo(serverDiscoItem.jid)\n\n if (serviceDiscoInfoResult.features.includes(NS.MUC)) {\n // discoItems on every MUC service for listing rooms\n try {\n const MucDiscoItemsResult = await this.client.getDiscoItems(serverDiscoItem.jid)\n\n // discoInfo on every room for getting attributes\n for (const MucDiscoItem of MucDiscoItemsResult.items) {\n const room = await this.getRoom(MucDiscoItem.jid)\n if (room.jid && room.jid !== serverDiscoItem.jid) {\n this.context.$store.setKnownRoom(room)\n rooms.push(room)\n }\n }\n } catch (error) {\n console.warn(`getDiscoItems on MUC service ${serverDiscoItem.jid} error:`, error.message)\n }\n }\n } catch (error) {\n logError(error, 'warn', `getDiscoInfo on service ${serverDiscoItem.jid} error: `, error.message)\n }\n }\n } catch (error) {\n logError(error, 'error', 'getDiscoItems on server error', error.message, error)\n }\n return rooms\n },\n\n async getRoom (jid) {\n if (!this.context) {\n return {\n message: 'Missing context',\n }\n }\n try {\n const mucDiscoInfoResult = await this.client.getDiscoInfo(jid)\n if (mucDiscoInfoResult.features.includes(NS.MUC)) {\n const room = this.setRoomAttributes(jid, mucDiscoInfoResult)\n return room\n }\n } catch (error) {\n return {\n message: this.getRoomError(error),\n }\n }\n return {\n message: 'Not a valid room',\n }\n },\n\n getRoomError (error) {\n if (Object.prototype.hasOwnProperty.call(error, 'message')) {\n switch (error.message) {\n case 'not-authorized':\n return 'Valid password is required to join this room'\n case 'forbidden':\n return 'You have been banned from this room'\n case 'item-not-found':\n return 'This room does not exist'\n case 'not-allowed':\n return 'Room creation is restricted'\n case 'not-acceptable':\n return 'Reserved roomnick must be used'\n case 'registration-required':\n return 'You must be on the member list to join this room'\n case 'conflict':\n return 'Your nickname is already used in this room'\n case 'service-unavailable':\n return 'Maximum number of users has been reached in this room'\n }\n }\n return 'Unable to join room'\n },\n\n // HTTP upload (XEP-0363)\n async getUploadSlot (uploadService, uploadRequest) {\n try {\n return this.client.getUploadSlot(uploadService, uploadRequest)\n } catch (error) {\n logError(error, 'error', 'getUploadSlot error', error.message, error)\n throw error\n }\n },\n\n async bookmarkRoom (isAdd, jid, autojoin = true, nick = null) {\n try {\n const room = this.context.$store.getRoom(jid)\n if (isAdd) {\n // add bookmark\n const bookmark = {\n jid,\n name: room.name,\n autojoin,\n }\n if (room.password) {\n bookmark.password = room.password\n }\n if (nick) {\n bookmark.nick = nick\n } else if (this.nick) {\n bookmark.nick = this.nick\n }\n await this.client.addBookmark(bookmark)\n this.context.$store.setKnownRoom({\n jid,\n isBookmarked: true,\n })\n return true\n }\n // remove bookmark\n await this.client.removeBookmark(jid)\n this.context.$store.setKnownRoom({\n jid,\n isBookmarked: false,\n })\n return true\n } catch (error) {\n return false\n }\n },\n\n async createRoom (roomJid) {\n return this.client.joinRoom(roomJid, this.fullJid.local, {})\n },\n\n async getRoomConfig (roomJid) {\n return this.client.getRoomConfig(roomJid)\n },\n\n async setRoomConfig (roomJid, form) {\n return this.client.configureRoom(roomJid, form)\n },\n\n // Set nickname\n setNick (nick) {\n this.nick = nick\n },\n\n}\n","// src/client/build/register.ts\nvar autoUpdateMode = \"true\";\nvar selfDestroying = \"false\";\nvar auto = autoUpdateMode === \"true\";\nvar autoDestroy = selfDestroying === \"true\";\nfunction registerSW(options = {}) {\n const {\n immediate = false,\n onNeedRefresh,\n onOfflineReady,\n onRegistered,\n onRegisteredSW,\n onRegisterError\n } = options;\n let wb;\n let registerPromise;\n let sendSkipWaitingMessage;\n const updateServiceWorker = async (_reloadPage = true) => {\n await registerPromise;\n if (!auto) {\n await (sendSkipWaitingMessage == null ? void 0 : sendSkipWaitingMessage());\n }\n };\n async function register() {\n if (\"serviceWorker\" in navigator) {\n const { Workbox } = await import(\"workbox-window\");\n wb = new Workbox(\"./sw.js\", { scope: \"./\", type: \"classic\" });\n sendSkipWaitingMessage = async () => {\n await (wb == null ? void 0 : wb.messageSkipWaiting());\n };\n if (!autoDestroy) {\n if (auto) {\n wb.addEventListener(\"activated\", (event) => {\n if (event.isUpdate || event.isExternal)\n window.location.reload();\n });\n wb.addEventListener(\"installed\", (event) => {\n if (!event.isUpdate) {\n onOfflineReady == null ? void 0 : onOfflineReady();\n }\n });\n } else {\n let onNeedRefreshCalled = false;\n const showSkipWaitingPrompt = () => {\n onNeedRefreshCalled = true;\n wb == null ? void 0 : wb.addEventListener(\"controlling\", (event) => {\n if (event.isUpdate)\n window.location.reload();\n });\n onNeedRefresh == null ? void 0 : onNeedRefresh();\n };\n wb.addEventListener(\"installed\", (event) => {\n if (typeof event.isUpdate === \"undefined\") {\n if (typeof event.isExternal !== \"undefined\") {\n if (event.isExternal)\n showSkipWaitingPrompt();\n else\n !onNeedRefreshCalled && (onOfflineReady == null ? void 0 : onOfflineReady());\n } else {\n if (event.isExternal)\n window.location.reload();\n else\n !onNeedRefreshCalled && (onOfflineReady == null ? void 0 : onOfflineReady());\n }\n } else if (!event.isUpdate) {\n onOfflineReady == null ? void 0 : onOfflineReady();\n }\n });\n wb.addEventListener(\"waiting\", showSkipWaitingPrompt);\n wb.addEventListener(\"externalwaiting\", showSkipWaitingPrompt);\n }\n }\n wb.register({ immediate }).then((r) => {\n if (onRegisteredSW)\n onRegisteredSW(\"./sw.js\", r);\n else\n onRegistered == null ? void 0 : onRegistered(r);\n }).catch((e) => {\n onRegisterError == null ? void 0 : onRegisterError(e);\n });\n }\n }\n registerPromise = register();\n return updateServiceWorker;\n}\nexport {\n registerSW\n};\n","/*!\n * vue-router v4.5.1\n * (c) 2025 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\nfunction isESModule(obj) {\n return (obj.__esModule ||\n obj[Symbol.toStringTag] === 'Module' ||\n // support CF with dynamic imports that do not\n // add the Module string tag\n (obj.default && isRouteComponent(obj.default)));\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n // TODO: could we use a symbol in the future?\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [[START, {}]];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location, state = {}) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push([location, state]);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // rewritten by Object.defineProperty\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to, state) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to, state);\n },\n push(to, state) {\n setLocation(to, state);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [[START, {}]];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position][0],\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => queue[position][1],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict && !pattern.endsWith('/'))\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [mainNormalizedRecord];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(\n // we need to normalize again to ensure the `mods` property\n // being non enumerable\n normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n })));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher)) {\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameNameAsAncestor(record, parent);\n }\n removeRoute(record.name);\n }\n }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if (isMatchable(matcher)) {\n insertMatcher(matcher);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n const index = findInsertionIndex(matcher, matchers);\n matchers.splice(index, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n function clearRoutes() {\n matchers.length = 0;\n matcherMap.clear();\n }\n return {\n addRoute,\n resolve,\n removeRoute,\n clearRoutes,\n getRoutes,\n getRecordMatcher,\n };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n const normalized = {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: record.aliasOf,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n // must be declared afterwards\n // mods: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n // mods contain modules and shouldn't be copied,\n // logged or anything. It's just used for internal\n // advanced use cases like data loaders\n Object.defineProperty(normalized, 'mods', {\n value: {},\n });\n return normalized;\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkSameNameAsAncestor(record, parent) {\n for (let ancestor = parent; ancestor; ancestor = ancestor.parent) {\n if (ancestor.record.name === record.name) {\n throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? 'child' : 'descendant'} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n }\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\n/**\n * Performs a binary search to find the correct insertion index for a new matcher.\n *\n * Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n * with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n *\n * @param matcher - new matcher to be inserted\n * @param matchers - existing matchers\n */\nfunction findInsertionIndex(matcher, matchers) {\n // First phase: binary search based on score\n let lower = 0;\n let upper = matchers.length;\n while (lower !== upper) {\n const mid = (lower + upper) >> 1;\n const sortOrder = comparePathParserScore(matcher, matchers[mid]);\n if (sortOrder < 0) {\n upper = mid;\n }\n else {\n lower = mid + 1;\n }\n }\n // Second phase: check for an ancestor with the same score\n const insertionAncestor = getInsertionAncestor(matcher);\n if (insertionAncestor) {\n upper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n if ((process.env.NODE_ENV !== 'production') && upper < 0) {\n // This should never happen\n warn(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n }\n }\n return upper;\n}\nfunction getInsertionAncestor(matcher) {\n let ancestor = matcher;\n while ((ancestor = ancestor.parent)) {\n if (isMatchable(ancestor) &&\n comparePathParserScore(matcher, ancestor) === 0) {\n return ancestor;\n }\n }\n return;\n}\n/**\n * Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n * a component, or name, or redirect, are just used to group other routes.\n * @param matcher\n * @param matcher.record record of the matcher\n * @returns\n */\nfunction isMatchable({ record }) {\n return !!(record.name ||\n (record.components && Object.keys(record.components).length) ||\n record.redirect);\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\n/**\n * Returns the internal behavior of a {@link RouterLink} without the rendering part.\n *\n * @param props - a `to` location and an optional `replace` flag\n */\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n const p = router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n if (props.viewTransition &&\n typeof document !== 'undefined' &&\n 'startViewTransition' in document) {\n document.startViewTransition(() => p);\n }\n return p;\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nfunction preferSingleVNode(vnodes) {\n return vnodes.length === 1 ? vnodes[0] : vnodes;\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n viewTransition: Boolean,\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && preferSingleVNode(slots.default(link));\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://router.vuejs.org/api/interfaces/RouterOptions.html#history');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const resolve: Router['resolve'] = (rawLocation: RouteLocationRaw, currentLocation) => {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n return resolve({});\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true, force: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(assign(locationAsObject(error.to), {\n force: true,\n }), toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n clearRoutes: matcher.clearRoutes,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute(_name) {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","\n\n\n\n\n","const types = {\n 'application/prs.cww': ['cww'],\n 'application/prs.xsf+xml': ['xsf'],\n 'application/vnd.1000minds.decision-model+xml': ['1km'],\n 'application/vnd.3gpp.pic-bw-large': ['plb'],\n 'application/vnd.3gpp.pic-bw-small': ['psb'],\n 'application/vnd.3gpp.pic-bw-var': ['pvb'],\n 'application/vnd.3gpp2.tcap': ['tcap'],\n 'application/vnd.3m.post-it-notes': ['pwn'],\n 'application/vnd.accpac.simply.aso': ['aso'],\n 'application/vnd.accpac.simply.imp': ['imp'],\n 'application/vnd.acucobol': ['acu'],\n 'application/vnd.acucorp': ['atc', 'acutc'],\n 'application/vnd.adobe.air-application-installer-package+zip': ['air'],\n 'application/vnd.adobe.formscentral.fcdt': ['fcdt'],\n 'application/vnd.adobe.fxp': ['fxp', 'fxpl'],\n 'application/vnd.adobe.xdp+xml': ['xdp'],\n 'application/vnd.adobe.xfdf': ['*xfdf'],\n 'application/vnd.age': ['age'],\n 'application/vnd.ahead.space': ['ahead'],\n 'application/vnd.airzip.filesecure.azf': ['azf'],\n 'application/vnd.airzip.filesecure.azs': ['azs'],\n 'application/vnd.amazon.ebook': ['azw'],\n 'application/vnd.americandynamics.acc': ['acc'],\n 'application/vnd.amiga.ami': ['ami'],\n 'application/vnd.android.package-archive': ['apk'],\n 'application/vnd.anser-web-certificate-issue-initiation': ['cii'],\n 'application/vnd.anser-web-funds-transfer-initiation': ['fti'],\n 'application/vnd.antix.game-component': ['atx'],\n 'application/vnd.apple.installer+xml': ['mpkg'],\n 'application/vnd.apple.keynote': ['key'],\n 'application/vnd.apple.mpegurl': ['m3u8'],\n 'application/vnd.apple.numbers': ['numbers'],\n 'application/vnd.apple.pages': ['pages'],\n 'application/vnd.apple.pkpass': ['pkpass'],\n 'application/vnd.aristanetworks.swi': ['swi'],\n 'application/vnd.astraea-software.iota': ['iota'],\n 'application/vnd.audiograph': ['aep'],\n 'application/vnd.autodesk.fbx': ['fbx'],\n 'application/vnd.balsamiq.bmml+xml': ['bmml'],\n 'application/vnd.blueice.multipass': ['mpm'],\n 'application/vnd.bmi': ['bmi'],\n 'application/vnd.businessobjects': ['rep'],\n 'application/vnd.chemdraw+xml': ['cdxml'],\n 'application/vnd.chipnuts.karaoke-mmd': ['mmd'],\n 'application/vnd.cinderella': ['cdy'],\n 'application/vnd.citationstyles.style+xml': ['csl'],\n 'application/vnd.claymore': ['cla'],\n 'application/vnd.cloanto.rp9': ['rp9'],\n 'application/vnd.clonk.c4group': ['c4g', 'c4d', 'c4f', 'c4p', 'c4u'],\n 'application/vnd.cluetrust.cartomobile-config': ['c11amc'],\n 'application/vnd.cluetrust.cartomobile-config-pkg': ['c11amz'],\n 'application/vnd.commonspace': ['csp'],\n 'application/vnd.contact.cmsg': ['cdbcmsg'],\n 'application/vnd.cosmocaller': ['cmc'],\n 'application/vnd.crick.clicker': ['clkx'],\n 'application/vnd.crick.clicker.keyboard': ['clkk'],\n 'application/vnd.crick.clicker.palette': ['clkp'],\n 'application/vnd.crick.clicker.template': ['clkt'],\n 'application/vnd.crick.clicker.wordbank': ['clkw'],\n 'application/vnd.criticaltools.wbs+xml': ['wbs'],\n 'application/vnd.ctc-posml': ['pml'],\n 'application/vnd.cups-ppd': ['ppd'],\n 'application/vnd.curl.car': ['car'],\n 'application/vnd.curl.pcurl': ['pcurl'],\n 'application/vnd.dart': ['dart'],\n 'application/vnd.data-vision.rdz': ['rdz'],\n 'application/vnd.dbf': ['dbf'],\n 'application/vnd.dcmp+xml': ['dcmp'],\n 'application/vnd.dece.data': ['uvf', 'uvvf', 'uvd', 'uvvd'],\n 'application/vnd.dece.ttml+xml': ['uvt', 'uvvt'],\n 'application/vnd.dece.unspecified': ['uvx', 'uvvx'],\n 'application/vnd.dece.zip': ['uvz', 'uvvz'],\n 'application/vnd.denovo.fcselayout-link': ['fe_launch'],\n 'application/vnd.dna': ['dna'],\n 'application/vnd.dolby.mlp': ['mlp'],\n 'application/vnd.dpgraph': ['dpg'],\n 'application/vnd.dreamfactory': ['dfac'],\n 'application/vnd.ds-keypoint': ['kpxx'],\n 'application/vnd.dvb.ait': ['ait'],\n 'application/vnd.dvb.service': ['svc'],\n 'application/vnd.dynageo': ['geo'],\n 'application/vnd.ecowin.chart': ['mag'],\n 'application/vnd.enliven': ['nml'],\n 'application/vnd.epson.esf': ['esf'],\n 'application/vnd.epson.msf': ['msf'],\n 'application/vnd.epson.quickanime': ['qam'],\n 'application/vnd.epson.salt': ['slt'],\n 'application/vnd.epson.ssf': ['ssf'],\n 'application/vnd.eszigno3+xml': ['es3', 'et3'],\n 'application/vnd.ezpix-album': ['ez2'],\n 'application/vnd.ezpix-package': ['ez3'],\n 'application/vnd.fdf': ['*fdf'],\n 'application/vnd.fdsn.mseed': ['mseed'],\n 'application/vnd.fdsn.seed': ['seed', 'dataless'],\n 'application/vnd.flographit': ['gph'],\n 'application/vnd.fluxtime.clip': ['ftc'],\n 'application/vnd.framemaker': ['fm', 'frame', 'maker', 'book'],\n 'application/vnd.frogans.fnc': ['fnc'],\n 'application/vnd.frogans.ltf': ['ltf'],\n 'application/vnd.fsc.weblaunch': ['fsc'],\n 'application/vnd.fujitsu.oasys': ['oas'],\n 'application/vnd.fujitsu.oasys2': ['oa2'],\n 'application/vnd.fujitsu.oasys3': ['oa3'],\n 'application/vnd.fujitsu.oasysgp': ['fg5'],\n 'application/vnd.fujitsu.oasysprs': ['bh2'],\n 'application/vnd.fujixerox.ddd': ['ddd'],\n 'application/vnd.fujixerox.docuworks': ['xdw'],\n 'application/vnd.fujixerox.docuworks.binder': ['xbd'],\n 'application/vnd.fuzzysheet': ['fzs'],\n 'application/vnd.genomatix.tuxedo': ['txd'],\n 'application/vnd.geogebra.file': ['ggb'],\n 'application/vnd.geogebra.slides': ['ggs'],\n 'application/vnd.geogebra.tool': ['ggt'],\n 'application/vnd.geometry-explorer': ['gex', 'gre'],\n 'application/vnd.geonext': ['gxt'],\n 'application/vnd.geoplan': ['g2w'],\n 'application/vnd.geospace': ['g3w'],\n 'application/vnd.gmx': ['gmx'],\n 'application/vnd.google-apps.document': ['gdoc'],\n 'application/vnd.google-apps.drawing': ['gdraw'],\n 'application/vnd.google-apps.form': ['gform'],\n 'application/vnd.google-apps.jam': ['gjam'],\n 'application/vnd.google-apps.map': ['gmap'],\n 'application/vnd.google-apps.presentation': ['gslides'],\n 'application/vnd.google-apps.script': ['gscript'],\n 'application/vnd.google-apps.site': ['gsite'],\n 'application/vnd.google-apps.spreadsheet': ['gsheet'],\n 'application/vnd.google-earth.kml+xml': ['kml'],\n 'application/vnd.google-earth.kmz': ['kmz'],\n 'application/vnd.gov.sk.xmldatacontainer+xml': ['xdcf'],\n 'application/vnd.grafeq': ['gqf', 'gqs'],\n 'application/vnd.groove-account': ['gac'],\n 'application/vnd.groove-help': ['ghf'],\n 'application/vnd.groove-identity-message': ['gim'],\n 'application/vnd.groove-injector': ['grv'],\n 'application/vnd.groove-tool-message': ['gtm'],\n 'application/vnd.groove-tool-template': ['tpl'],\n 'application/vnd.groove-vcard': ['vcg'],\n 'application/vnd.hal+xml': ['hal'],\n 'application/vnd.handheld-entertainment+xml': ['zmm'],\n 'application/vnd.hbci': ['hbci'],\n 'application/vnd.hhe.lesson-player': ['les'],\n 'application/vnd.hp-hpgl': ['hpgl'],\n 'application/vnd.hp-hpid': ['hpid'],\n 'application/vnd.hp-hps': ['hps'],\n 'application/vnd.hp-jlyt': ['jlt'],\n 'application/vnd.hp-pcl': ['pcl'],\n 'application/vnd.hp-pclxl': ['pclxl'],\n 'application/vnd.hydrostatix.sof-data': ['sfd-hdstx'],\n 'application/vnd.ibm.minipay': ['mpy'],\n 'application/vnd.ibm.modcap': ['afp', 'listafp', 'list3820'],\n 'application/vnd.ibm.rights-management': ['irm'],\n 'application/vnd.ibm.secure-container': ['sc'],\n 'application/vnd.iccprofile': ['icc', 'icm'],\n 'application/vnd.igloader': ['igl'],\n 'application/vnd.immervision-ivp': ['ivp'],\n 'application/vnd.immervision-ivu': ['ivu'],\n 'application/vnd.insors.igm': ['igm'],\n 'application/vnd.intercon.formnet': ['xpw', 'xpx'],\n 'application/vnd.intergeo': ['i2g'],\n 'application/vnd.intu.qbo': ['qbo'],\n 'application/vnd.intu.qfx': ['qfx'],\n 'application/vnd.ipunplugged.rcprofile': ['rcprofile'],\n 'application/vnd.irepository.package+xml': ['irp'],\n 'application/vnd.is-xpr': ['xpr'],\n 'application/vnd.isac.fcs': ['fcs'],\n 'application/vnd.jam': ['jam'],\n 'application/vnd.jcp.javame.midlet-rms': ['rms'],\n 'application/vnd.jisp': ['jisp'],\n 'application/vnd.joost.joda-archive': ['joda'],\n 'application/vnd.kahootz': ['ktz', 'ktr'],\n 'application/vnd.kde.karbon': ['karbon'],\n 'application/vnd.kde.kchart': ['chrt'],\n 'application/vnd.kde.kformula': ['kfo'],\n 'application/vnd.kde.kivio': ['flw'],\n 'application/vnd.kde.kontour': ['kon'],\n 'application/vnd.kde.kpresenter': ['kpr', 'kpt'],\n 'application/vnd.kde.kspread': ['ksp'],\n 'application/vnd.kde.kword': ['kwd', 'kwt'],\n 'application/vnd.kenameaapp': ['htke'],\n 'application/vnd.kidspiration': ['kia'],\n 'application/vnd.kinar': ['kne', 'knp'],\n 'application/vnd.koan': ['skp', 'skd', 'skt', 'skm'],\n 'application/vnd.kodak-descriptor': ['sse'],\n 'application/vnd.las.las+xml': ['lasxml'],\n 'application/vnd.llamagraphics.life-balance.desktop': ['lbd'],\n 'application/vnd.llamagraphics.life-balance.exchange+xml': ['lbe'],\n 'application/vnd.lotus-1-2-3': ['123'],\n 'application/vnd.lotus-approach': ['apr'],\n 'application/vnd.lotus-freelance': ['pre'],\n 'application/vnd.lotus-notes': ['nsf'],\n 'application/vnd.lotus-organizer': ['org'],\n 'application/vnd.lotus-screencam': ['scm'],\n 'application/vnd.lotus-wordpro': ['lwp'],\n 'application/vnd.macports.portpkg': ['portpkg'],\n 'application/vnd.mapbox-vector-tile': ['mvt'],\n 'application/vnd.mcd': ['mcd'],\n 'application/vnd.medcalcdata': ['mc1'],\n 'application/vnd.mediastation.cdkey': ['cdkey'],\n 'application/vnd.mfer': ['mwf'],\n 'application/vnd.mfmp': ['mfm'],\n 'application/vnd.micrografx.flo': ['flo'],\n 'application/vnd.micrografx.igx': ['igx'],\n 'application/vnd.mif': ['mif'],\n 'application/vnd.mobius.daf': ['daf'],\n 'application/vnd.mobius.dis': ['dis'],\n 'application/vnd.mobius.mbk': ['mbk'],\n 'application/vnd.mobius.mqy': ['mqy'],\n 'application/vnd.mobius.msl': ['msl'],\n 'application/vnd.mobius.plc': ['plc'],\n 'application/vnd.mobius.txf': ['txf'],\n 'application/vnd.mophun.application': ['mpn'],\n 'application/vnd.mophun.certificate': ['mpc'],\n 'application/vnd.mozilla.xul+xml': ['xul'],\n 'application/vnd.ms-artgalry': ['cil'],\n 'application/vnd.ms-cab-compressed': ['cab'],\n 'application/vnd.ms-excel': ['xls', 'xlm', 'xla', 'xlc', 'xlt', 'xlw'],\n 'application/vnd.ms-excel.addin.macroenabled.12': ['xlam'],\n 'application/vnd.ms-excel.sheet.binary.macroenabled.12': ['xlsb'],\n 'application/vnd.ms-excel.sheet.macroenabled.12': ['xlsm'],\n 'application/vnd.ms-excel.template.macroenabled.12': ['xltm'],\n 'application/vnd.ms-fontobject': ['eot'],\n 'application/vnd.ms-htmlhelp': ['chm'],\n 'application/vnd.ms-ims': ['ims'],\n 'application/vnd.ms-lrm': ['lrm'],\n 'application/vnd.ms-officetheme': ['thmx'],\n 'application/vnd.ms-outlook': ['msg'],\n 'application/vnd.ms-pki.seccat': ['cat'],\n 'application/vnd.ms-pki.stl': ['*stl'],\n 'application/vnd.ms-powerpoint': ['ppt', 'pps', 'pot'],\n 'application/vnd.ms-powerpoint.addin.macroenabled.12': ['ppam'],\n 'application/vnd.ms-powerpoint.presentation.macroenabled.12': ['pptm'],\n 'application/vnd.ms-powerpoint.slide.macroenabled.12': ['sldm'],\n 'application/vnd.ms-powerpoint.slideshow.macroenabled.12': ['ppsm'],\n 'application/vnd.ms-powerpoint.template.macroenabled.12': ['potm'],\n 'application/vnd.ms-project': ['*mpp', 'mpt'],\n 'application/vnd.ms-visio.viewer': ['vdx'],\n 'application/vnd.ms-word.document.macroenabled.12': ['docm'],\n 'application/vnd.ms-word.template.macroenabled.12': ['dotm'],\n 'application/vnd.ms-works': ['wps', 'wks', 'wcm', 'wdb'],\n 'application/vnd.ms-wpl': ['wpl'],\n 'application/vnd.ms-xpsdocument': ['xps'],\n 'application/vnd.mseq': ['mseq'],\n 'application/vnd.musician': ['mus'],\n 'application/vnd.muvee.style': ['msty'],\n 'application/vnd.mynfc': ['taglet'],\n 'application/vnd.nato.bindingdataobject+xml': ['bdo'],\n 'application/vnd.neurolanguage.nlu': ['nlu'],\n 'application/vnd.nitf': ['ntf', 'nitf'],\n 'application/vnd.noblenet-directory': ['nnd'],\n 'application/vnd.noblenet-sealer': ['nns'],\n 'application/vnd.noblenet-web': ['nnw'],\n 'application/vnd.nokia.n-gage.ac+xml': ['*ac'],\n 'application/vnd.nokia.n-gage.data': ['ngdat'],\n 'application/vnd.nokia.n-gage.symbian.install': ['n-gage'],\n 'application/vnd.nokia.radio-preset': ['rpst'],\n 'application/vnd.nokia.radio-presets': ['rpss'],\n 'application/vnd.novadigm.edm': ['edm'],\n 'application/vnd.novadigm.edx': ['edx'],\n 'application/vnd.novadigm.ext': ['ext'],\n 'application/vnd.oasis.opendocument.chart': ['odc'],\n 'application/vnd.oasis.opendocument.chart-template': ['otc'],\n 'application/vnd.oasis.opendocument.database': ['odb'],\n 'application/vnd.oasis.opendocument.formula': ['odf'],\n 'application/vnd.oasis.opendocument.formula-template': ['odft'],\n 'application/vnd.oasis.opendocument.graphics': ['odg'],\n 'application/vnd.oasis.opendocument.graphics-template': ['otg'],\n 'application/vnd.oasis.opendocument.image': ['odi'],\n 'application/vnd.oasis.opendocument.image-template': ['oti'],\n 'application/vnd.oasis.opendocument.presentation': ['odp'],\n 'application/vnd.oasis.opendocument.presentation-template': ['otp'],\n 'application/vnd.oasis.opendocument.spreadsheet': ['ods'],\n 'application/vnd.oasis.opendocument.spreadsheet-template': ['ots'],\n 'application/vnd.oasis.opendocument.text': ['odt'],\n 'application/vnd.oasis.opendocument.text-master': ['odm'],\n 'application/vnd.oasis.opendocument.text-template': ['ott'],\n 'application/vnd.oasis.opendocument.text-web': ['oth'],\n 'application/vnd.olpc-sugar': ['xo'],\n 'application/vnd.oma.dd2+xml': ['dd2'],\n 'application/vnd.openblox.game+xml': ['obgx'],\n 'application/vnd.openofficeorg.extension': ['oxt'],\n 'application/vnd.openstreetmap.data+xml': ['osm'],\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': [\n 'pptx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slide': [\n 'sldx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': [\n 'ppsx',\n ],\n 'application/vnd.openxmlformats-officedocument.presentationml.template': [\n 'potx',\n ],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': ['xlsx'],\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': [\n 'xltx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': [\n 'docx',\n ],\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': [\n 'dotx',\n ],\n 'application/vnd.osgeo.mapguide.package': ['mgp'],\n 'application/vnd.osgi.dp': ['dp'],\n 'application/vnd.osgi.subsystem': ['esa'],\n 'application/vnd.palm': ['pdb', 'pqa', 'oprc'],\n 'application/vnd.pawaafile': ['paw'],\n 'application/vnd.pg.format': ['str'],\n 'application/vnd.pg.osasli': ['ei6'],\n 'application/vnd.picsel': ['efif'],\n 'application/vnd.pmi.widget': ['wg'],\n 'application/vnd.pocketlearn': ['plf'],\n 'application/vnd.powerbuilder6': ['pbd'],\n 'application/vnd.previewsystems.box': ['box'],\n 'application/vnd.procrate.brushset': ['brushset'],\n 'application/vnd.procreate.brush': ['brush'],\n 'application/vnd.procreate.dream': ['drm'],\n 'application/vnd.proteus.magazine': ['mgz'],\n 'application/vnd.publishare-delta-tree': ['qps'],\n 'application/vnd.pvi.ptid1': ['ptid'],\n 'application/vnd.pwg-xhtml-print+xml': ['xhtm'],\n 'application/vnd.quark.quarkxpress': [\n 'qxd',\n 'qxt',\n 'qwd',\n 'qwt',\n 'qxl',\n 'qxb',\n ],\n 'application/vnd.rar': ['rar'],\n 'application/vnd.realvnc.bed': ['bed'],\n 'application/vnd.recordare.musicxml': ['mxl'],\n 'application/vnd.recordare.musicxml+xml': ['musicxml'],\n 'application/vnd.rig.cryptonote': ['cryptonote'],\n 'application/vnd.rim.cod': ['cod'],\n 'application/vnd.rn-realmedia': ['rm'],\n 'application/vnd.rn-realmedia-vbr': ['rmvb'],\n 'application/vnd.route66.link66+xml': ['link66'],\n 'application/vnd.sailingtracker.track': ['st'],\n 'application/vnd.seemail': ['see'],\n 'application/vnd.sema': ['sema'],\n 'application/vnd.semd': ['semd'],\n 'application/vnd.semf': ['semf'],\n 'application/vnd.shana.informed.formdata': ['ifm'],\n 'application/vnd.shana.informed.formtemplate': ['itp'],\n 'application/vnd.shana.informed.interchange': ['iif'],\n 'application/vnd.shana.informed.package': ['ipk'],\n 'application/vnd.simtech-mindmapper': ['twd', 'twds'],\n 'application/vnd.smaf': ['mmf'],\n 'application/vnd.smart.teacher': ['teacher'],\n 'application/vnd.software602.filler.form+xml': ['fo'],\n 'application/vnd.solent.sdkm+xml': ['sdkm', 'sdkd'],\n 'application/vnd.spotfire.dxp': ['dxp'],\n 'application/vnd.spotfire.sfs': ['sfs'],\n 'application/vnd.stardivision.calc': ['sdc'],\n 'application/vnd.stardivision.draw': ['sda'],\n 'application/vnd.stardivision.impress': ['sdd'],\n 'application/vnd.stardivision.math': ['smf'],\n 'application/vnd.stardivision.writer': ['sdw', 'vor'],\n 'application/vnd.stardivision.writer-global': ['sgl'],\n 'application/vnd.stepmania.package': ['smzip'],\n 'application/vnd.stepmania.stepchart': ['sm'],\n 'application/vnd.sun.wadl+xml': ['wadl'],\n 'application/vnd.sun.xml.calc': ['sxc'],\n 'application/vnd.sun.xml.calc.template': ['stc'],\n 'application/vnd.sun.xml.draw': ['sxd'],\n 'application/vnd.sun.xml.draw.template': ['std'],\n 'application/vnd.sun.xml.impress': ['sxi'],\n 'application/vnd.sun.xml.impress.template': ['sti'],\n 'application/vnd.sun.xml.math': ['sxm'],\n 'application/vnd.sun.xml.writer': ['sxw'],\n 'application/vnd.sun.xml.writer.global': ['sxg'],\n 'application/vnd.sun.xml.writer.template': ['stw'],\n 'application/vnd.sus-calendar': ['sus', 'susp'],\n 'application/vnd.svd': ['svd'],\n 'application/vnd.symbian.install': ['sis', 'sisx'],\n 'application/vnd.syncml+xml': ['xsm'],\n 'application/vnd.syncml.dm+wbxml': ['bdm'],\n 'application/vnd.syncml.dm+xml': ['xdm'],\n 'application/vnd.syncml.dmddf+xml': ['ddf'],\n 'application/vnd.tao.intent-module-archive': ['tao'],\n 'application/vnd.tcpdump.pcap': ['pcap', 'cap', 'dmp'],\n 'application/vnd.tmobile-livetv': ['tmo'],\n 'application/vnd.trid.tpt': ['tpt'],\n 'application/vnd.triscape.mxs': ['mxs'],\n 'application/vnd.trueapp': ['tra'],\n 'application/vnd.ufdl': ['ufd', 'ufdl'],\n 'application/vnd.uiq.theme': ['utz'],\n 'application/vnd.umajin': ['umj'],\n 'application/vnd.unity': ['unityweb'],\n 'application/vnd.uoml+xml': ['uoml', 'uo'],\n 'application/vnd.vcx': ['vcx'],\n 'application/vnd.visio': ['vsd', 'vst', 'vss', 'vsw', 'vsdx', 'vtx'],\n 'application/vnd.visionary': ['vis'],\n 'application/vnd.vsf': ['vsf'],\n 'application/vnd.wap.wbxml': ['wbxml'],\n 'application/vnd.wap.wmlc': ['wmlc'],\n 'application/vnd.wap.wmlscriptc': ['wmlsc'],\n 'application/vnd.webturbo': ['wtb'],\n 'application/vnd.wolfram.player': ['nbp'],\n 'application/vnd.wordperfect': ['wpd'],\n 'application/vnd.wqd': ['wqd'],\n 'application/vnd.wt.stf': ['stf'],\n 'application/vnd.xara': ['xar'],\n 'application/vnd.xfdl': ['xfdl'],\n 'application/vnd.yamaha.hv-dic': ['hvd'],\n 'application/vnd.yamaha.hv-script': ['hvs'],\n 'application/vnd.yamaha.hv-voice': ['hvp'],\n 'application/vnd.yamaha.openscoreformat': ['osf'],\n 'application/vnd.yamaha.openscoreformat.osfpvg+xml': ['osfpvg'],\n 'application/vnd.yamaha.smaf-audio': ['saf'],\n 'application/vnd.yamaha.smaf-phrase': ['spf'],\n 'application/vnd.yellowriver-custom-menu': ['cmp'],\n 'application/vnd.zul': ['zir', 'zirz'],\n 'application/vnd.zzazz.deck+xml': ['zaz'],\n 'application/x-7z-compressed': ['7z'],\n 'application/x-abiword': ['abw'],\n 'application/x-ace-compressed': ['ace'],\n 'application/x-apple-diskimage': ['*dmg'],\n 'application/x-arj': ['arj'],\n 'application/x-authorware-bin': ['aab', 'x32', 'u32', 'vox'],\n 'application/x-authorware-map': ['aam'],\n 'application/x-authorware-seg': ['aas'],\n 'application/x-bcpio': ['bcpio'],\n 'application/x-bdoc': ['*bdoc'],\n 'application/x-bittorrent': ['torrent'],\n 'application/x-blender': ['blend'],\n 'application/x-blorb': ['blb', 'blorb'],\n 'application/x-bzip': ['bz'],\n 'application/x-bzip2': ['bz2', 'boz'],\n 'application/x-cbr': ['cbr', 'cba', 'cbt', 'cbz', 'cb7'],\n 'application/x-cdlink': ['vcd'],\n 'application/x-cfs-compressed': ['cfs'],\n 'application/x-chat': ['chat'],\n 'application/x-chess-pgn': ['pgn'],\n 'application/x-chrome-extension': ['crx'],\n 'application/x-cocoa': ['cco'],\n 'application/x-compressed': ['*rar'],\n 'application/x-conference': ['nsc'],\n 'application/x-cpio': ['cpio'],\n 'application/x-csh': ['csh'],\n 'application/x-debian-package': ['*deb', 'udeb'],\n 'application/x-dgc-compressed': ['dgc'],\n 'application/x-director': [\n 'dir',\n 'dcr',\n 'dxr',\n 'cst',\n 'cct',\n 'cxt',\n 'w3d',\n 'fgd',\n 'swa',\n ],\n 'application/x-doom': ['wad'],\n 'application/x-dtbncx+xml': ['ncx'],\n 'application/x-dtbook+xml': ['dtb'],\n 'application/x-dtbresource+xml': ['res'],\n 'application/x-dvi': ['dvi'],\n 'application/x-envoy': ['evy'],\n 'application/x-eva': ['eva'],\n 'application/x-font-bdf': ['bdf'],\n 'application/x-font-ghostscript': ['gsf'],\n 'application/x-font-linux-psf': ['psf'],\n 'application/x-font-pcf': ['pcf'],\n 'application/x-font-snf': ['snf'],\n 'application/x-font-type1': ['pfa', 'pfb', 'pfm', 'afm'],\n 'application/x-freearc': ['arc'],\n 'application/x-futuresplash': ['spl'],\n 'application/x-gca-compressed': ['gca'],\n 'application/x-glulx': ['ulx'],\n 'application/x-gnumeric': ['gnumeric'],\n 'application/x-gramps-xml': ['gramps'],\n 'application/x-gtar': ['gtar'],\n 'application/x-hdf': ['hdf'],\n 'application/x-httpd-php': ['php'],\n 'application/x-install-instructions': ['install'],\n 'application/x-ipynb+json': ['ipynb'],\n 'application/x-iso9660-image': ['*iso'],\n 'application/x-iwork-keynote-sffkey': ['*key'],\n 'application/x-iwork-numbers-sffnumbers': ['*numbers'],\n 'application/x-iwork-pages-sffpages': ['*pages'],\n 'application/x-java-archive-diff': ['jardiff'],\n 'application/x-java-jnlp-file': ['jnlp'],\n 'application/x-keepass2': ['kdbx'],\n 'application/x-latex': ['latex'],\n 'application/x-lua-bytecode': ['luac'],\n 'application/x-lzh-compressed': ['lzh', 'lha'],\n 'application/x-makeself': ['run'],\n 'application/x-mie': ['mie'],\n 'application/x-mobipocket-ebook': ['*prc', 'mobi'],\n 'application/x-ms-application': ['application'],\n 'application/x-ms-shortcut': ['lnk'],\n 'application/x-ms-wmd': ['wmd'],\n 'application/x-ms-wmz': ['wmz'],\n 'application/x-ms-xbap': ['xbap'],\n 'application/x-msaccess': ['mdb'],\n 'application/x-msbinder': ['obd'],\n 'application/x-mscardfile': ['crd'],\n 'application/x-msclip': ['clp'],\n 'application/x-msdos-program': ['*exe'],\n 'application/x-msdownload': ['*exe', '*dll', 'com', 'bat', '*msi'],\n 'application/x-msmediaview': ['mvb', 'm13', 'm14'],\n 'application/x-msmetafile': ['*wmf', '*wmz', '*emf', 'emz'],\n 'application/x-msmoney': ['mny'],\n 'application/x-mspublisher': ['pub'],\n 'application/x-msschedule': ['scd'],\n 'application/x-msterminal': ['trm'],\n 'application/x-mswrite': ['wri'],\n 'application/x-netcdf': ['nc', 'cdf'],\n 'application/x-ns-proxy-autoconfig': ['pac'],\n 'application/x-nzb': ['nzb'],\n 'application/x-perl': ['pl', 'pm'],\n 'application/x-pilot': ['*prc', '*pdb'],\n 'application/x-pkcs12': ['p12', 'pfx'],\n 'application/x-pkcs7-certificates': ['p7b', 'spc'],\n 'application/x-pkcs7-certreqresp': ['p7r'],\n 'application/x-rar-compressed': ['*rar'],\n 'application/x-redhat-package-manager': ['rpm'],\n 'application/x-research-info-systems': ['ris'],\n 'application/x-sea': ['sea'],\n 'application/x-sh': ['sh'],\n 'application/x-shar': ['shar'],\n 'application/x-shockwave-flash': ['swf'],\n 'application/x-silverlight-app': ['xap'],\n 'application/x-sql': ['*sql'],\n 'application/x-stuffit': ['sit'],\n 'application/x-stuffitx': ['sitx'],\n 'application/x-subrip': ['srt'],\n 'application/x-sv4cpio': ['sv4cpio'],\n 'application/x-sv4crc': ['sv4crc'],\n 'application/x-t3vm-image': ['t3'],\n 'application/x-tads': ['gam'],\n 'application/x-tar': ['tar'],\n 'application/x-tcl': ['tcl', 'tk'],\n 'application/x-tex': ['tex'],\n 'application/x-tex-tfm': ['tfm'],\n 'application/x-texinfo': ['texinfo', 'texi'],\n 'application/x-tgif': ['*obj'],\n 'application/x-ustar': ['ustar'],\n 'application/x-virtualbox-hdd': ['hdd'],\n 'application/x-virtualbox-ova': ['ova'],\n 'application/x-virtualbox-ovf': ['ovf'],\n 'application/x-virtualbox-vbox': ['vbox'],\n 'application/x-virtualbox-vbox-extpack': ['vbox-extpack'],\n 'application/x-virtualbox-vdi': ['vdi'],\n 'application/x-virtualbox-vhd': ['vhd'],\n 'application/x-virtualbox-vmdk': ['vmdk'],\n 'application/x-wais-source': ['src'],\n 'application/x-web-app-manifest+json': ['webapp'],\n 'application/x-x509-ca-cert': ['der', 'crt', 'pem'],\n 'application/x-xfig': ['fig'],\n 'application/x-xliff+xml': ['*xlf'],\n 'application/x-xpinstall': ['xpi'],\n 'application/x-xz': ['xz'],\n 'application/x-zip-compressed': ['*zip'],\n 'application/x-zmachine': ['z1', 'z2', 'z3', 'z4', 'z5', 'z6', 'z7', 'z8'],\n 'audio/vnd.dece.audio': ['uva', 'uvva'],\n 'audio/vnd.digital-winds': ['eol'],\n 'audio/vnd.dra': ['dra'],\n 'audio/vnd.dts': ['dts'],\n 'audio/vnd.dts.hd': ['dtshd'],\n 'audio/vnd.lucent.voice': ['lvp'],\n 'audio/vnd.ms-playready.media.pya': ['pya'],\n 'audio/vnd.nuera.ecelp4800': ['ecelp4800'],\n 'audio/vnd.nuera.ecelp7470': ['ecelp7470'],\n 'audio/vnd.nuera.ecelp9600': ['ecelp9600'],\n 'audio/vnd.rip': ['rip'],\n 'audio/x-aac': ['*aac'],\n 'audio/x-aiff': ['aif', 'aiff', 'aifc'],\n 'audio/x-caf': ['caf'],\n 'audio/x-flac': ['flac'],\n 'audio/x-m4a': ['*m4a'],\n 'audio/x-matroska': ['mka'],\n 'audio/x-mpegurl': ['m3u'],\n 'audio/x-ms-wax': ['wax'],\n 'audio/x-ms-wma': ['wma'],\n 'audio/x-pn-realaudio': ['ram', 'ra'],\n 'audio/x-pn-realaudio-plugin': ['rmp'],\n 'audio/x-realaudio': ['*ra'],\n 'audio/x-wav': ['*wav'],\n 'chemical/x-cdx': ['cdx'],\n 'chemical/x-cif': ['cif'],\n 'chemical/x-cmdf': ['cmdf'],\n 'chemical/x-cml': ['cml'],\n 'chemical/x-csml': ['csml'],\n 'chemical/x-xyz': ['xyz'],\n 'image/prs.btif': ['btif', 'btf'],\n 'image/prs.pti': ['pti'],\n 'image/vnd.adobe.photoshop': ['psd'],\n 'image/vnd.airzip.accelerator.azv': ['azv'],\n 'image/vnd.dece.graphic': ['uvi', 'uvvi', 'uvg', 'uvvg'],\n 'image/vnd.djvu': ['djvu', 'djv'],\n 'image/vnd.dvb.subtitle': ['*sub'],\n 'image/vnd.dwg': ['dwg'],\n 'image/vnd.dxf': ['dxf'],\n 'image/vnd.fastbidsheet': ['fbs'],\n 'image/vnd.fpx': ['fpx'],\n 'image/vnd.fst': ['fst'],\n 'image/vnd.fujixerox.edmics-mmr': ['mmr'],\n 'image/vnd.fujixerox.edmics-rlc': ['rlc'],\n 'image/vnd.microsoft.icon': ['ico'],\n 'image/vnd.ms-dds': ['dds'],\n 'image/vnd.ms-modi': ['mdi'],\n 'image/vnd.ms-photo': ['wdp'],\n 'image/vnd.net-fpx': ['npx'],\n 'image/vnd.pco.b16': ['b16'],\n 'image/vnd.tencent.tap': ['tap'],\n 'image/vnd.valve.source.texture': ['vtf'],\n 'image/vnd.wap.wbmp': ['wbmp'],\n 'image/vnd.xiff': ['xif'],\n 'image/vnd.zbrush.pcx': ['pcx'],\n 'image/x-3ds': ['3ds'],\n 'image/x-adobe-dng': ['dng'],\n 'image/x-cmu-raster': ['ras'],\n 'image/x-cmx': ['cmx'],\n 'image/x-freehand': ['fh', 'fhc', 'fh4', 'fh5', 'fh7'],\n 'image/x-icon': ['*ico'],\n 'image/x-jng': ['jng'],\n 'image/x-mrsid-image': ['sid'],\n 'image/x-ms-bmp': ['*bmp'],\n 'image/x-pcx': ['*pcx'],\n 'image/x-pict': ['pic', 'pct'],\n 'image/x-portable-anymap': ['pnm'],\n 'image/x-portable-bitmap': ['pbm'],\n 'image/x-portable-graymap': ['pgm'],\n 'image/x-portable-pixmap': ['ppm'],\n 'image/x-rgb': ['rgb'],\n 'image/x-tga': ['tga'],\n 'image/x-xbitmap': ['xbm'],\n 'image/x-xpixmap': ['xpm'],\n 'image/x-xwindowdump': ['xwd'],\n 'message/vnd.wfa.wsc': ['wsc'],\n 'model/vnd.bary': ['bary'],\n 'model/vnd.cld': ['cld'],\n 'model/vnd.collada+xml': ['dae'],\n 'model/vnd.dwf': ['dwf'],\n 'model/vnd.gdl': ['gdl'],\n 'model/vnd.gtw': ['gtw'],\n 'model/vnd.mts': ['*mts'],\n 'model/vnd.opengex': ['ogex'],\n 'model/vnd.parasolid.transmit.binary': ['x_b'],\n 'model/vnd.parasolid.transmit.text': ['x_t'],\n 'model/vnd.pytha.pyox': ['pyo', 'pyox'],\n 'model/vnd.sap.vds': ['vds'],\n 'model/vnd.usda': ['usda'],\n 'model/vnd.usdz+zip': ['usdz'],\n 'model/vnd.valve.source.compiled-map': ['bsp'],\n 'model/vnd.vtu': ['vtu'],\n 'text/prs.lines.tag': ['dsc'],\n 'text/vnd.curl': ['curl'],\n 'text/vnd.curl.dcurl': ['dcurl'],\n 'text/vnd.curl.mcurl': ['mcurl'],\n 'text/vnd.curl.scurl': ['scurl'],\n 'text/vnd.dvb.subtitle': ['sub'],\n 'text/vnd.familysearch.gedcom': ['ged'],\n 'text/vnd.fly': ['fly'],\n 'text/vnd.fmi.flexstor': ['flx'],\n 'text/vnd.graphviz': ['gv'],\n 'text/vnd.in3d.3dml': ['3dml'],\n 'text/vnd.in3d.spot': ['spot'],\n 'text/vnd.sun.j2me.app-descriptor': ['jad'],\n 'text/vnd.wap.wml': ['wml'],\n 'text/vnd.wap.wmlscript': ['wmls'],\n 'text/x-asm': ['s', 'asm'],\n 'text/x-c': ['c', 'cc', 'cxx', 'cpp', 'h', 'hh', 'dic'],\n 'text/x-component': ['htc'],\n 'text/x-fortran': ['f', 'for', 'f77', 'f90'],\n 'text/x-handlebars-template': ['hbs'],\n 'text/x-java-source': ['java'],\n 'text/x-lua': ['lua'],\n 'text/x-markdown': ['mkd'],\n 'text/x-nfo': ['nfo'],\n 'text/x-opml': ['opml'],\n 'text/x-org': ['*org'],\n 'text/x-pascal': ['p', 'pas'],\n 'text/x-processing': ['pde'],\n 'text/x-sass': ['sass'],\n 'text/x-scss': ['scss'],\n 'text/x-setext': ['etx'],\n 'text/x-sfv': ['sfv'],\n 'text/x-suse-ymp': ['ymp'],\n 'text/x-uuencode': ['uu'],\n 'text/x-vcalendar': ['vcs'],\n 'text/x-vcard': ['vcf'],\n 'video/vnd.dece.hd': ['uvh', 'uvvh'],\n 'video/vnd.dece.mobile': ['uvm', 'uvvm'],\n 'video/vnd.dece.pd': ['uvp', 'uvvp'],\n 'video/vnd.dece.sd': ['uvs', 'uvvs'],\n 'video/vnd.dece.video': ['uvv', 'uvvv'],\n 'video/vnd.dvb.file': ['dvb'],\n 'video/vnd.fvt': ['fvt'],\n 'video/vnd.mpegurl': ['mxu', 'm4u'],\n 'video/vnd.ms-playready.media.pyv': ['pyv'],\n 'video/vnd.uvvu.mp4': ['uvu', 'uvvu'],\n 'video/vnd.vivo': ['viv'],\n 'video/x-f4v': ['f4v'],\n 'video/x-fli': ['fli'],\n 'video/x-flv': ['flv'],\n 'video/x-m4v': ['m4v'],\n 'video/x-matroska': ['mkv', 'mk3d', 'mks'],\n 'video/x-mng': ['mng'],\n 'video/x-ms-asf': ['asf', 'asx'],\n 'video/x-ms-vob': ['vob'],\n 'video/x-ms-wm': ['wm'],\n 'video/x-ms-wmv': ['wmv'],\n 'video/x-ms-wmx': ['wmx'],\n 'video/x-ms-wvx': ['wvx'],\n 'video/x-msvideo': ['avi'],\n 'video/x-sgi-movie': ['movie'],\n 'video/x-smv': ['smv'],\n 'x-conference/x-cooltalk': ['ice'],\n};\nObject.freeze(types);\nexport default types;\n","const types = {\n 'application/andrew-inset': ['ez'],\n 'application/appinstaller': ['appinstaller'],\n 'application/applixware': ['aw'],\n 'application/appx': ['appx'],\n 'application/appxbundle': ['appxbundle'],\n 'application/atom+xml': ['atom'],\n 'application/atomcat+xml': ['atomcat'],\n 'application/atomdeleted+xml': ['atomdeleted'],\n 'application/atomsvc+xml': ['atomsvc'],\n 'application/atsc-dwd+xml': ['dwd'],\n 'application/atsc-held+xml': ['held'],\n 'application/atsc-rsat+xml': ['rsat'],\n 'application/automationml-aml+xml': ['aml'],\n 'application/automationml-amlx+zip': ['amlx'],\n 'application/bdoc': ['bdoc'],\n 'application/calendar+xml': ['xcs'],\n 'application/ccxml+xml': ['ccxml'],\n 'application/cdfx+xml': ['cdfx'],\n 'application/cdmi-capability': ['cdmia'],\n 'application/cdmi-container': ['cdmic'],\n 'application/cdmi-domain': ['cdmid'],\n 'application/cdmi-object': ['cdmio'],\n 'application/cdmi-queue': ['cdmiq'],\n 'application/cpl+xml': ['cpl'],\n 'application/cu-seeme': ['cu'],\n 'application/cwl': ['cwl'],\n 'application/dash+xml': ['mpd'],\n 'application/dash-patch+xml': ['mpp'],\n 'application/davmount+xml': ['davmount'],\n 'application/dicom': ['dcm'],\n 'application/docbook+xml': ['dbk'],\n 'application/dssc+der': ['dssc'],\n 'application/dssc+xml': ['xdssc'],\n 'application/ecmascript': ['ecma'],\n 'application/emma+xml': ['emma'],\n 'application/emotionml+xml': ['emotionml'],\n 'application/epub+zip': ['epub'],\n 'application/exi': ['exi'],\n 'application/express': ['exp'],\n 'application/fdf': ['fdf'],\n 'application/fdt+xml': ['fdt'],\n 'application/font-tdpfr': ['pfr'],\n 'application/geo+json': ['geojson'],\n 'application/gml+xml': ['gml'],\n 'application/gpx+xml': ['gpx'],\n 'application/gxf': ['gxf'],\n 'application/gzip': ['gz'],\n 'application/hjson': ['hjson'],\n 'application/hyperstudio': ['stk'],\n 'application/inkml+xml': ['ink', 'inkml'],\n 'application/ipfix': ['ipfix'],\n 'application/its+xml': ['its'],\n 'application/java-archive': ['jar', 'war', 'ear'],\n 'application/java-serialized-object': ['ser'],\n 'application/java-vm': ['class'],\n 'application/javascript': ['*js'],\n 'application/json': ['json', 'map'],\n 'application/json5': ['json5'],\n 'application/jsonml+json': ['jsonml'],\n 'application/ld+json': ['jsonld'],\n 'application/lgr+xml': ['lgr'],\n 'application/lost+xml': ['lostxml'],\n 'application/mac-binhex40': ['hqx'],\n 'application/mac-compactpro': ['cpt'],\n 'application/mads+xml': ['mads'],\n 'application/manifest+json': ['webmanifest'],\n 'application/marc': ['mrc'],\n 'application/marcxml+xml': ['mrcx'],\n 'application/mathematica': ['ma', 'nb', 'mb'],\n 'application/mathml+xml': ['mathml'],\n 'application/mbox': ['mbox'],\n 'application/media-policy-dataset+xml': ['mpf'],\n 'application/mediaservercontrol+xml': ['mscml'],\n 'application/metalink+xml': ['metalink'],\n 'application/metalink4+xml': ['meta4'],\n 'application/mets+xml': ['mets'],\n 'application/mmt-aei+xml': ['maei'],\n 'application/mmt-usd+xml': ['musd'],\n 'application/mods+xml': ['mods'],\n 'application/mp21': ['m21', 'mp21'],\n 'application/mp4': ['*mp4', '*mpg4', 'mp4s', 'm4p'],\n 'application/msix': ['msix'],\n 'application/msixbundle': ['msixbundle'],\n 'application/msword': ['doc', 'dot'],\n 'application/mxf': ['mxf'],\n 'application/n-quads': ['nq'],\n 'application/n-triples': ['nt'],\n 'application/node': ['cjs'],\n 'application/octet-stream': [\n 'bin',\n 'dms',\n 'lrf',\n 'mar',\n 'so',\n 'dist',\n 'distz',\n 'pkg',\n 'bpk',\n 'dump',\n 'elc',\n 'deploy',\n 'exe',\n 'dll',\n 'deb',\n 'dmg',\n 'iso',\n 'img',\n 'msi',\n 'msp',\n 'msm',\n 'buffer',\n ],\n 'application/oda': ['oda'],\n 'application/oebps-package+xml': ['opf'],\n 'application/ogg': ['ogx'],\n 'application/omdoc+xml': ['omdoc'],\n 'application/onenote': [\n 'onetoc',\n 'onetoc2',\n 'onetmp',\n 'onepkg',\n 'one',\n 'onea',\n ],\n 'application/oxps': ['oxps'],\n 'application/p2p-overlay+xml': ['relo'],\n 'application/patch-ops-error+xml': ['xer'],\n 'application/pdf': ['pdf'],\n 'application/pgp-encrypted': ['pgp'],\n 'application/pgp-keys': ['asc'],\n 'application/pgp-signature': ['sig', '*asc'],\n 'application/pics-rules': ['prf'],\n 'application/pkcs10': ['p10'],\n 'application/pkcs7-mime': ['p7m', 'p7c'],\n 'application/pkcs7-signature': ['p7s'],\n 'application/pkcs8': ['p8'],\n 'application/pkix-attr-cert': ['ac'],\n 'application/pkix-cert': ['cer'],\n 'application/pkix-crl': ['crl'],\n 'application/pkix-pkipath': ['pkipath'],\n 'application/pkixcmp': ['pki'],\n 'application/pls+xml': ['pls'],\n 'application/postscript': ['ai', 'eps', 'ps'],\n 'application/provenance+xml': ['provx'],\n 'application/pskc+xml': ['pskcxml'],\n 'application/raml+yaml': ['raml'],\n 'application/rdf+xml': ['rdf', 'owl'],\n 'application/reginfo+xml': ['rif'],\n 'application/relax-ng-compact-syntax': ['rnc'],\n 'application/resource-lists+xml': ['rl'],\n 'application/resource-lists-diff+xml': ['rld'],\n 'application/rls-services+xml': ['rs'],\n 'application/route-apd+xml': ['rapd'],\n 'application/route-s-tsid+xml': ['sls'],\n 'application/route-usd+xml': ['rusd'],\n 'application/rpki-ghostbusters': ['gbr'],\n 'application/rpki-manifest': ['mft'],\n 'application/rpki-roa': ['roa'],\n 'application/rsd+xml': ['rsd'],\n 'application/rss+xml': ['rss'],\n 'application/rtf': ['rtf'],\n 'application/sbml+xml': ['sbml'],\n 'application/scvp-cv-request': ['scq'],\n 'application/scvp-cv-response': ['scs'],\n 'application/scvp-vp-request': ['spq'],\n 'application/scvp-vp-response': ['spp'],\n 'application/sdp': ['sdp'],\n 'application/senml+xml': ['senmlx'],\n 'application/sensml+xml': ['sensmlx'],\n 'application/set-payment-initiation': ['setpay'],\n 'application/set-registration-initiation': ['setreg'],\n 'application/shf+xml': ['shf'],\n 'application/sieve': ['siv', 'sieve'],\n 'application/smil+xml': ['smi', 'smil'],\n 'application/sparql-query': ['rq'],\n 'application/sparql-results+xml': ['srx'],\n 'application/sql': ['sql'],\n 'application/srgs': ['gram'],\n 'application/srgs+xml': ['grxml'],\n 'application/sru+xml': ['sru'],\n 'application/ssdl+xml': ['ssdl'],\n 'application/ssml+xml': ['ssml'],\n 'application/swid+xml': ['swidtag'],\n 'application/tei+xml': ['tei', 'teicorpus'],\n 'application/thraud+xml': ['tfi'],\n 'application/timestamped-data': ['tsd'],\n 'application/toml': ['toml'],\n 'application/trig': ['trig'],\n 'application/ttml+xml': ['ttml'],\n 'application/ubjson': ['ubj'],\n 'application/urc-ressheet+xml': ['rsheet'],\n 'application/urc-targetdesc+xml': ['td'],\n 'application/voicexml+xml': ['vxml'],\n 'application/wasm': ['wasm'],\n 'application/watcherinfo+xml': ['wif'],\n 'application/widget': ['wgt'],\n 'application/winhlp': ['hlp'],\n 'application/wsdl+xml': ['wsdl'],\n 'application/wspolicy+xml': ['wspolicy'],\n 'application/xaml+xml': ['xaml'],\n 'application/xcap-att+xml': ['xav'],\n 'application/xcap-caps+xml': ['xca'],\n 'application/xcap-diff+xml': ['xdf'],\n 'application/xcap-el+xml': ['xel'],\n 'application/xcap-ns+xml': ['xns'],\n 'application/xenc+xml': ['xenc'],\n 'application/xfdf': ['xfdf'],\n 'application/xhtml+xml': ['xhtml', 'xht'],\n 'application/xliff+xml': ['xlf'],\n 'application/xml': ['xml', 'xsl', 'xsd', 'rng'],\n 'application/xml-dtd': ['dtd'],\n 'application/xop+xml': ['xop'],\n 'application/xproc+xml': ['xpl'],\n 'application/xslt+xml': ['*xsl', 'xslt'],\n 'application/xspf+xml': ['xspf'],\n 'application/xv+xml': ['mxml', 'xhvml', 'xvml', 'xvm'],\n 'application/yang': ['yang'],\n 'application/yin+xml': ['yin'],\n 'application/zip': ['zip'],\n 'application/zip+dotlottie': ['lottie'],\n 'audio/3gpp': ['*3gpp'],\n 'audio/aac': ['adts', 'aac'],\n 'audio/adpcm': ['adp'],\n 'audio/amr': ['amr'],\n 'audio/basic': ['au', 'snd'],\n 'audio/midi': ['mid', 'midi', 'kar', 'rmi'],\n 'audio/mobile-xmf': ['mxmf'],\n 'audio/mp3': ['*mp3'],\n 'audio/mp4': ['m4a', 'mp4a', 'm4b'],\n 'audio/mpeg': ['mpga', 'mp2', 'mp2a', 'mp3', 'm2a', 'm3a'],\n 'audio/ogg': ['oga', 'ogg', 'spx', 'opus'],\n 'audio/s3m': ['s3m'],\n 'audio/silk': ['sil'],\n 'audio/wav': ['wav'],\n 'audio/wave': ['*wav'],\n 'audio/webm': ['weba'],\n 'audio/xm': ['xm'],\n 'font/collection': ['ttc'],\n 'font/otf': ['otf'],\n 'font/ttf': ['ttf'],\n 'font/woff': ['woff'],\n 'font/woff2': ['woff2'],\n 'image/aces': ['exr'],\n 'image/apng': ['apng'],\n 'image/avci': ['avci'],\n 'image/avcs': ['avcs'],\n 'image/avif': ['avif'],\n 'image/bmp': ['bmp', 'dib'],\n 'image/cgm': ['cgm'],\n 'image/dicom-rle': ['drle'],\n 'image/dpx': ['dpx'],\n 'image/emf': ['emf'],\n 'image/fits': ['fits'],\n 'image/g3fax': ['g3'],\n 'image/gif': ['gif'],\n 'image/heic': ['heic'],\n 'image/heic-sequence': ['heics'],\n 'image/heif': ['heif'],\n 'image/heif-sequence': ['heifs'],\n 'image/hej2k': ['hej2'],\n 'image/ief': ['ief'],\n 'image/jaii': ['jaii'],\n 'image/jais': ['jais'],\n 'image/jls': ['jls'],\n 'image/jp2': ['jp2', 'jpg2'],\n 'image/jpeg': ['jpg', 'jpeg', 'jpe'],\n 'image/jph': ['jph'],\n 'image/jphc': ['jhc'],\n 'image/jpm': ['jpm', 'jpgm'],\n 'image/jpx': ['jpx', 'jpf'],\n 'image/jxl': ['jxl'],\n 'image/jxr': ['jxr'],\n 'image/jxra': ['jxra'],\n 'image/jxrs': ['jxrs'],\n 'image/jxs': ['jxs'],\n 'image/jxsc': ['jxsc'],\n 'image/jxsi': ['jxsi'],\n 'image/jxss': ['jxss'],\n 'image/ktx': ['ktx'],\n 'image/ktx2': ['ktx2'],\n 'image/pjpeg': ['jfif'],\n 'image/png': ['png'],\n 'image/sgi': ['sgi'],\n 'image/svg+xml': ['svg', 'svgz'],\n 'image/t38': ['t38'],\n 'image/tiff': ['tif', 'tiff'],\n 'image/tiff-fx': ['tfx'],\n 'image/webp': ['webp'],\n 'image/wmf': ['wmf'],\n 'message/disposition-notification': ['disposition-notification'],\n 'message/global': ['u8msg'],\n 'message/global-delivery-status': ['u8dsn'],\n 'message/global-disposition-notification': ['u8mdn'],\n 'message/global-headers': ['u8hdr'],\n 'message/rfc822': ['eml', 'mime', 'mht', 'mhtml'],\n 'model/3mf': ['3mf'],\n 'model/gltf+json': ['gltf'],\n 'model/gltf-binary': ['glb'],\n 'model/iges': ['igs', 'iges'],\n 'model/jt': ['jt'],\n 'model/mesh': ['msh', 'mesh', 'silo'],\n 'model/mtl': ['mtl'],\n 'model/obj': ['obj'],\n 'model/prc': ['prc'],\n 'model/step': ['step', 'stp', 'stpnc', 'p21', '210'],\n 'model/step+xml': ['stpx'],\n 'model/step+zip': ['stpz'],\n 'model/step-xml+zip': ['stpxz'],\n 'model/stl': ['stl'],\n 'model/u3d': ['u3d'],\n 'model/vrml': ['wrl', 'vrml'],\n 'model/x3d+binary': ['*x3db', 'x3dbz'],\n 'model/x3d+fastinfoset': ['x3db'],\n 'model/x3d+vrml': ['*x3dv', 'x3dvz'],\n 'model/x3d+xml': ['x3d', 'x3dz'],\n 'model/x3d-vrml': ['x3dv'],\n 'text/cache-manifest': ['appcache', 'manifest'],\n 'text/calendar': ['ics', 'ifb'],\n 'text/coffeescript': ['coffee', 'litcoffee'],\n 'text/css': ['css'],\n 'text/csv': ['csv'],\n 'text/html': ['html', 'htm', 'shtml'],\n 'text/jade': ['jade'],\n 'text/javascript': ['js', 'mjs'],\n 'text/jsx': ['jsx'],\n 'text/less': ['less'],\n 'text/markdown': ['md', 'markdown'],\n 'text/mathml': ['mml'],\n 'text/mdx': ['mdx'],\n 'text/n3': ['n3'],\n 'text/plain': ['txt', 'text', 'conf', 'def', 'list', 'log', 'in', 'ini'],\n 'text/richtext': ['rtx'],\n 'text/rtf': ['*rtf'],\n 'text/sgml': ['sgml', 'sgm'],\n 'text/shex': ['shex'],\n 'text/slim': ['slim', 'slm'],\n 'text/spdx': ['spdx'],\n 'text/stylus': ['stylus', 'styl'],\n 'text/tab-separated-values': ['tsv'],\n 'text/troff': ['t', 'tr', 'roff', 'man', 'me', 'ms'],\n 'text/turtle': ['ttl'],\n 'text/uri-list': ['uri', 'uris', 'urls'],\n 'text/vcard': ['vcard'],\n 'text/vtt': ['vtt'],\n 'text/wgsl': ['wgsl'],\n 'text/xml': ['*xml'],\n 'text/yaml': ['yaml', 'yml'],\n 'video/3gpp': ['3gp', '3gpp'],\n 'video/3gpp2': ['3g2'],\n 'video/h261': ['h261'],\n 'video/h263': ['h263'],\n 'video/h264': ['h264'],\n 'video/iso.segment': ['m4s'],\n 'video/jpeg': ['jpgv'],\n 'video/jpm': ['*jpm', '*jpgm'],\n 'video/mj2': ['mj2', 'mjp2'],\n 'video/mp2t': ['ts', 'm2t', 'm2ts', 'mts'],\n 'video/mp4': ['mp4', 'mp4v', 'mpg4'],\n 'video/mpeg': ['mpeg', 'mpg', 'mpe', 'm1v', 'm2v'],\n 'video/ogg': ['ogv'],\n 'video/quicktime': ['qt', 'mov'],\n 'video/webm': ['webm'],\n};\nObject.freeze(types);\nexport default types;\n","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Mime_extensionToType, _Mime_typeToExtension, _Mime_typeToExtensions;\nclass Mime {\n constructor(...args) {\n _Mime_extensionToType.set(this, new Map());\n _Mime_typeToExtension.set(this, new Map());\n _Mime_typeToExtensions.set(this, new Map());\n for (const arg of args) {\n this.define(arg);\n }\n }\n define(typeMap, force = false) {\n for (let [type, extensions] of Object.entries(typeMap)) {\n type = type.toLowerCase();\n extensions = extensions.map((ext) => ext.toLowerCase());\n if (!__classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").has(type)) {\n __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").set(type, new Set());\n }\n const allExtensions = __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type);\n let first = true;\n for (let extension of extensions) {\n const starred = extension.startsWith('*');\n extension = starred ? extension.slice(1) : extension;\n allExtensions?.add(extension);\n if (first) {\n __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").set(type, extension);\n }\n first = false;\n if (starred)\n continue;\n const currentType = __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(extension);\n if (currentType && currentType != type && !force) {\n throw new Error(`\"${type} -> ${extension}\" conflicts with \"${currentType} -> ${extension}\". Pass \\`force=true\\` to override this definition.`);\n }\n __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").set(extension, type);\n }\n }\n return this;\n }\n getType(path) {\n if (typeof path !== 'string')\n return null;\n const last = path.replace(/^.*[/\\\\]/s, '').toLowerCase();\n const ext = last.replace(/^.*\\./s, '').toLowerCase();\n const hasPath = last.length < path.length;\n const hasDot = ext.length < last.length - 1;\n if (!hasDot && hasPath)\n return null;\n return __classPrivateFieldGet(this, _Mime_extensionToType, \"f\").get(ext) ?? null;\n }\n getExtension(type) {\n if (typeof type !== 'string')\n return null;\n type = type?.split?.(';')[0];\n return ((type && __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\").get(type.trim().toLowerCase())) ?? null);\n }\n getAllExtensions(type) {\n if (typeof type !== 'string')\n return null;\n return __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").get(type.toLowerCase()) ?? null;\n }\n _freeze() {\n this.define = () => {\n throw new Error('define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances');\n };\n Object.freeze(this);\n for (const extensions of __classPrivateFieldGet(this, _Mime_typeToExtensions, \"f\").values()) {\n Object.freeze(extensions);\n }\n return this;\n }\n _getTestState() {\n return {\n types: __classPrivateFieldGet(this, _Mime_extensionToType, \"f\"),\n extensions: __classPrivateFieldGet(this, _Mime_typeToExtension, \"f\"),\n };\n }\n}\n_Mime_extensionToType = new WeakMap(), _Mime_typeToExtension = new WeakMap(), _Mime_typeToExtensions = new WeakMap();\nexport default Mime;\n","import otherTypes from '../types/other.js';\nimport standardTypes from '../types/standard.js';\nimport Mime from './Mime.js';\nexport { default as Mime } from './Mime.js';\nexport default new Mime(standardTypes, otherTypes)._freeze();\n","\n\n\n\n\n","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-html.js.map","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-xml.js.map","\"use strict\";\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceCodePoint = exports.fromCodePoint = void 0;\nvar decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexports.fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nexports.replaceCodePoint = replaceCodePoint;\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nfunction decodeCodePoint(codePoint) {\n return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));\n}\nexports.default = decodeCodePoint;\n//# sourceMappingURL=decode_codepoint.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;\nvar decode_data_html_js_1 = __importDefault(require(\"./generated/decode-data-html.js\"));\nexports.htmlDecodeTree = decode_data_html_js_1.default;\nvar decode_data_xml_js_1 = __importDefault(require(\"./generated/decode-data-xml.js\"));\nexports.xmlDecodeTree = decode_data_xml_js_1.default;\nvar decode_codepoint_js_1 = __importStar(require(\"./decode_codepoint.js\"));\nexports.decodeCodePoint = decode_codepoint_js_1.default;\nvar decode_codepoint_js_2 = require(\"./decode_codepoint.js\");\nObject.defineProperty(exports, \"replaceCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } });\nObject.defineProperty(exports, \"fromCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } });\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nvar TO_LOWER_BIT = 32;\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nvar DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nvar EntityDecoder = /** @class */ (function () {\n function EntityDecoder(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n EntityDecoder.prototype.startEntity = function (decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n };\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param string The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.write = function (str, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (str.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(str, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(str, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(str, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(str, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(str, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(str, offset);\n }\n }\n };\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericStart = function (str, offset) {\n if (offset >= str.length) {\n return -1;\n }\n if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(str, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(str, offset);\n };\n EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) {\n if (start !== end) {\n var digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n parseInt(str.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n };\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericHex = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 16);\n return -1;\n };\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericDecimal = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 10);\n return -1;\n };\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n };\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNamedEntity = function (str, offset) {\n var decodeTree = this.decodeTree;\n var current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < str.length; offset++, this.excess++) {\n var char = str.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n };\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () {\n var _a;\n var _b = this, result = _b.result, decodeTree = _b.decodeTree;\n var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n };\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) {\n var decodeTree = this.decodeTree;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n };\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.end = function () {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n };\n return EntityDecoder;\n}());\nexports.EntityDecoder = EntityDecoder;\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n var ret = \"\";\n var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); });\n return function decodeWithTrie(str, decodeMode) {\n var lastIndex = 0;\n var offset = 0;\n while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n ret += str.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n var len = decoder.write(str, \n // Skip the \"&\"\n offset + 1);\n if (len < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + len;\n // If `len` is 0, skip the current `&` and continue.\n offset = len === 0 ? lastIndex + 1 : lastIndex;\n }\n var result = ret + str.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n ret = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIdx, char) {\n var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n var jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n var value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n var lo = nodeIdx;\n var hi = lo + branchCount - 1;\n while (lo <= hi) {\n var mid = (lo + hi) >>> 1;\n var midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nexports.determineBranch = determineBranch;\nvar htmlDecoder = getDecoder(decode_data_html_js_1.default);\nvar xmlDecoder = getDecoder(decode_data_xml_js_1.default);\n/**\n * Decodes an HTML string.\n *\n * @param str The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nfunction decodeHTML(str, mode) {\n if (mode === void 0) { mode = DecodingMode.Legacy; }\n return htmlDecoder(str, mode);\n}\nexports.decodeHTML = decodeHTML;\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLAttribute(str) {\n return htmlDecoder(str, DecodingMode.Attribute);\n}\nexports.decodeHTMLAttribute = decodeHTMLAttribute;\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(str) {\n return htmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeHTMLStrict = decodeHTMLStrict;\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(str) {\n return xmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeXML = decodeXML;\n//# sourceMappingURL=decode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuoteType = void 0;\nvar decode_js_1 = require(\"entities/lib/decode.js\");\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"Tab\"] = 9] = \"Tab\";\n CharCodes[CharCodes[\"NewLine\"] = 10] = \"NewLine\";\n CharCodes[CharCodes[\"FormFeed\"] = 12] = \"FormFeed\";\n CharCodes[CharCodes[\"CarriageReturn\"] = 13] = \"CarriageReturn\";\n CharCodes[CharCodes[\"Space\"] = 32] = \"Space\";\n CharCodes[CharCodes[\"ExclamationMark\"] = 33] = \"ExclamationMark\";\n CharCodes[CharCodes[\"Number\"] = 35] = \"Number\";\n CharCodes[CharCodes[\"Amp\"] = 38] = \"Amp\";\n CharCodes[CharCodes[\"SingleQuote\"] = 39] = \"SingleQuote\";\n CharCodes[CharCodes[\"DoubleQuote\"] = 34] = \"DoubleQuote\";\n CharCodes[CharCodes[\"Dash\"] = 45] = \"Dash\";\n CharCodes[CharCodes[\"Slash\"] = 47] = \"Slash\";\n CharCodes[CharCodes[\"Zero\"] = 48] = \"Zero\";\n CharCodes[CharCodes[\"Nine\"] = 57] = \"Nine\";\n CharCodes[CharCodes[\"Semi\"] = 59] = \"Semi\";\n CharCodes[CharCodes[\"Lt\"] = 60] = \"Lt\";\n CharCodes[CharCodes[\"Eq\"] = 61] = \"Eq\";\n CharCodes[CharCodes[\"Gt\"] = 62] = \"Gt\";\n CharCodes[CharCodes[\"Questionmark\"] = 63] = \"Questionmark\";\n CharCodes[CharCodes[\"UpperA\"] = 65] = \"UpperA\";\n CharCodes[CharCodes[\"LowerA\"] = 97] = \"LowerA\";\n CharCodes[CharCodes[\"UpperF\"] = 70] = \"UpperF\";\n CharCodes[CharCodes[\"LowerF\"] = 102] = \"LowerF\";\n CharCodes[CharCodes[\"UpperZ\"] = 90] = \"UpperZ\";\n CharCodes[CharCodes[\"LowerZ\"] = 122] = \"LowerZ\";\n CharCodes[CharCodes[\"LowerX\"] = 120] = \"LowerX\";\n CharCodes[CharCodes[\"OpeningSquareBracket\"] = 91] = \"OpeningSquareBracket\";\n})(CharCodes || (CharCodes = {}));\n/** All the states the tokenizer can be in. */\nvar State;\n(function (State) {\n State[State[\"Text\"] = 1] = \"Text\";\n State[State[\"BeforeTagName\"] = 2] = \"BeforeTagName\";\n State[State[\"InTagName\"] = 3] = \"InTagName\";\n State[State[\"InSelfClosingTag\"] = 4] = \"InSelfClosingTag\";\n State[State[\"BeforeClosingTagName\"] = 5] = \"BeforeClosingTagName\";\n State[State[\"InClosingTagName\"] = 6] = \"InClosingTagName\";\n State[State[\"AfterClosingTagName\"] = 7] = \"AfterClosingTagName\";\n // Attributes\n State[State[\"BeforeAttributeName\"] = 8] = \"BeforeAttributeName\";\n State[State[\"InAttributeName\"] = 9] = \"InAttributeName\";\n State[State[\"AfterAttributeName\"] = 10] = \"AfterAttributeName\";\n State[State[\"BeforeAttributeValue\"] = 11] = \"BeforeAttributeValue\";\n State[State[\"InAttributeValueDq\"] = 12] = \"InAttributeValueDq\";\n State[State[\"InAttributeValueSq\"] = 13] = \"InAttributeValueSq\";\n State[State[\"InAttributeValueNq\"] = 14] = \"InAttributeValueNq\";\n // Declarations\n State[State[\"BeforeDeclaration\"] = 15] = \"BeforeDeclaration\";\n State[State[\"InDeclaration\"] = 16] = \"InDeclaration\";\n // Processing instructions\n State[State[\"InProcessingInstruction\"] = 17] = \"InProcessingInstruction\";\n // Comments & CDATA\n State[State[\"BeforeComment\"] = 18] = \"BeforeComment\";\n State[State[\"CDATASequence\"] = 19] = \"CDATASequence\";\n State[State[\"InSpecialComment\"] = 20] = \"InSpecialComment\";\n State[State[\"InCommentLike\"] = 21] = \"InCommentLike\";\n // Special tags\n State[State[\"BeforeSpecialS\"] = 22] = \"BeforeSpecialS\";\n State[State[\"SpecialStartSequence\"] = 23] = \"SpecialStartSequence\";\n State[State[\"InSpecialTag\"] = 24] = \"InSpecialTag\";\n State[State[\"BeforeEntity\"] = 25] = \"BeforeEntity\";\n State[State[\"BeforeNumericEntity\"] = 26] = \"BeforeNumericEntity\";\n State[State[\"InNamedEntity\"] = 27] = \"InNamedEntity\";\n State[State[\"InNumericEntity\"] = 28] = \"InNumericEntity\";\n State[State[\"InHexEntity\"] = 29] = \"InHexEntity\";\n})(State || (State = {}));\nfunction isWhitespace(c) {\n return (c === CharCodes.Space ||\n c === CharCodes.NewLine ||\n c === CharCodes.Tab ||\n c === CharCodes.FormFeed ||\n c === CharCodes.CarriageReturn);\n}\nfunction isEndOfTagSection(c) {\n return c === CharCodes.Slash || c === CharCodes.Gt || isWhitespace(c);\n}\nfunction isNumber(c) {\n return c >= CharCodes.Zero && c <= CharCodes.Nine;\n}\nfunction isASCIIAlpha(c) {\n return ((c >= CharCodes.LowerA && c <= CharCodes.LowerZ) ||\n (c >= CharCodes.UpperA && c <= CharCodes.UpperZ));\n}\nfunction isHexDigit(c) {\n return ((c >= CharCodes.UpperA && c <= CharCodes.UpperF) ||\n (c >= CharCodes.LowerA && c <= CharCodes.LowerF));\n}\nvar QuoteType;\n(function (QuoteType) {\n QuoteType[QuoteType[\"NoValue\"] = 0] = \"NoValue\";\n QuoteType[QuoteType[\"Unquoted\"] = 1] = \"Unquoted\";\n QuoteType[QuoteType[\"Single\"] = 2] = \"Single\";\n QuoteType[QuoteType[\"Double\"] = 3] = \"Double\";\n})(QuoteType = exports.QuoteType || (exports.QuoteType = {}));\n/**\n * Sequences used to match longer strings.\n *\n * We don't have `Script`, `Style`, or `Title` here. Instead, we re-use the *End\n * sequences with an increased offset.\n */\nvar Sequences = {\n Cdata: new Uint8Array([0x43, 0x44, 0x41, 0x54, 0x41, 0x5b]),\n CdataEnd: new Uint8Array([0x5d, 0x5d, 0x3e]),\n CommentEnd: new Uint8Array([0x2d, 0x2d, 0x3e]),\n ScriptEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74]),\n StyleEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65]),\n TitleEnd: new Uint8Array([0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65]), // ` this.sectionStart) {\n this.cbs.ontext(this.sectionStart, this.index);\n }\n this.state = State.BeforeTagName;\n this.sectionStart = this.index;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateSpecialStartSequence = function (c) {\n var isEnd = this.sequenceIndex === this.currentSequence.length;\n var isMatch = isEnd\n ? // If we are at the end of the sequence, make sure the tag name has ended\n isEndOfTagSection(c)\n : // Otherwise, do a case-insensitive comparison\n (c | 0x20) === this.currentSequence[this.sequenceIndex];\n if (!isMatch) {\n this.isSpecial = false;\n }\n else if (!isEnd) {\n this.sequenceIndex++;\n return;\n }\n this.sequenceIndex = 0;\n this.state = State.InTagName;\n this.stateInTagName(c);\n };\n /** Look for an end tag. For tags, also decode entities. */\n Tokenizer.prototype.stateInSpecialTag = function (c) {\n if (this.sequenceIndex === this.currentSequence.length) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n var endOfText = this.index - this.currentSequence.length;\n if (this.sectionStart < endOfText) {\n // Spoof the index so that reported locations match up.\n var actualIndex = this.index;\n this.index = endOfText;\n this.cbs.ontext(this.sectionStart, endOfText);\n this.index = actualIndex;\n }\n this.isSpecial = false;\n this.sectionStart = endOfText + 2; // Skip over the `</`\n this.stateInClosingTagName(c);\n return; // We are done; skip the rest of the function.\n }\n this.sequenceIndex = 0;\n }\n if ((c | 0x20) === this.currentSequence[this.sequenceIndex]) {\n this.sequenceIndex += 1;\n }\n else if (this.sequenceIndex === 0) {\n if (this.currentSequence === Sequences.TitleEnd) {\n // We have to parse entities in <title> tags.\n if (this.decodeEntities && c === CharCodes.Amp) {\n this.state = State.BeforeEntity;\n }\n }\n else if (this.fastForwardTo(CharCodes.Lt)) {\n // Outside of <title> tags, we can fast-forward.\n this.sequenceIndex = 1;\n }\n }\n else {\n // If we see a `<`, set the sequence index to 1; useful for eg. `<</script>`.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n };\n Tokenizer.prototype.stateCDATASequence = function (c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n };\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n Tokenizer.prototype.fastForwardTo = function (c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n };\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n Tokenizer.prototype.stateInCommentLike = function (c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n };\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n Tokenizer.prototype.isTagStartChar = function (c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n };\n Tokenizer.prototype.startSpecial = function (sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n };\n Tokenizer.prototype.stateBeforeTagName = function (c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n var lower = c | 0x20;\n this.sectionStart = this.index;\n if (!this.xmlMode && lower === Sequences.TitleEnd[2]) {\n this.startSpecial(Sequences.TitleEnd, 3);\n }\n else {\n this.state =\n !this.xmlMode && lower === Sequences.ScriptEnd[2]\n ? State.BeforeSpecialS\n : State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n };\n Tokenizer.prototype.stateInTagName = function (c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateBeforeClosingTagName = function (c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInClosingTagName = function (c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n };\n Tokenizer.prototype.stateAfterClosingTagName = function (c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeName = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.baseState = this.state;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInSelfClosingTag = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateInAttributeName = function (c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n };\n Tokenizer.prototype.stateAfterAttributeName = function (c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeValue = function (c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n };\n Tokenizer.prototype.handleInAttributeValue = function (c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueSingleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueNoQuotes = function (c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateBeforeDeclaration = function (c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInDeclaration = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateInProcessingInstruction = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeComment = function (c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. <!-->)\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInSpecialComment = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeSpecialS = function (c) {\n var lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n };\n Tokenizer.prototype.stateBeforeEntity = function (c) {\n // Start excess with 1 to include the '&'\n this.entityExcess = 1;\n this.entityResult = 0;\n if (c === CharCodes.Number) {\n this.state = State.BeforeNumericEntity;\n }\n else if (c === CharCodes.Amp) {\n // We have two `&` characters in a row. Stay in the current state.\n }\n else {\n this.trieIndex = 0;\n this.trieCurrent = this.entityTrie[0];\n this.state = State.InNamedEntity;\n this.stateInNamedEntity(c);\n }\n };\n Tokenizer.prototype.stateInNamedEntity = function (c) {\n this.entityExcess += 1;\n this.trieIndex = (0, decode_js_1.determineBranch)(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c);\n if (this.trieIndex < 0) {\n this.emitNamedEntity();\n this.index--;\n return;\n }\n this.trieCurrent = this.entityTrie[this.trieIndex];\n var masked = this.trieCurrent & decode_js_1.BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (masked >> 14) - 1;\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!this.allowLegacyEntity() && c !== CharCodes.Semi) {\n this.trieIndex += valueLength;\n }\n else {\n // Add 1 as we have already incremented the excess\n var entityStart = this.index - this.entityExcess + 1;\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n // If this is a surrogate pair, consume the next two bytes\n this.entityResult = this.trieIndex;\n this.trieIndex += valueLength;\n this.entityExcess = 0;\n this.sectionStart = this.index + 1;\n if (valueLength === 0) {\n this.emitNamedEntity();\n }\n }\n }\n };\n Tokenizer.prototype.emitNamedEntity = function () {\n this.state = this.baseState;\n if (this.entityResult === 0) {\n return;\n }\n var valueLength = (this.entityTrie[this.entityResult] & decode_js_1.BinTrieFlags.VALUE_LENGTH) >>\n 14;\n switch (valueLength) {\n case 1: {\n this.emitCodePoint(this.entityTrie[this.entityResult] &\n ~decode_js_1.BinTrieFlags.VALUE_LENGTH);\n break;\n }\n case 2: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n break;\n }\n case 3: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n this.emitCodePoint(this.entityTrie[this.entityResult + 2]);\n }\n }\n };\n Tokenizer.prototype.stateBeforeNumericEntity = function (c) {\n if ((c | 0x20) === CharCodes.LowerX) {\n this.entityExcess++;\n this.state = State.InHexEntity;\n }\n else {\n this.state = State.InNumericEntity;\n this.stateInNumericEntity(c);\n }\n };\n Tokenizer.prototype.emitNumericEntity = function (strict) {\n var entityStart = this.index - this.entityExcess - 1;\n var numberStart = entityStart + 2 + Number(this.state === State.InHexEntity);\n if (numberStart !== this.index) {\n // Emit leading data if any\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n this.sectionStart = this.index + Number(strict);\n this.emitCodePoint((0, decode_js_1.replaceCodePoint)(this.entityResult));\n }\n this.state = this.baseState;\n };\n Tokenizer.prototype.stateInNumericEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 10 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.stateInHexEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 16 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else if (isHexDigit(c)) {\n this.entityResult =\n this.entityResult * 16 + ((c | 0x20) - CharCodes.LowerA + 10);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.allowLegacyEntity = function () {\n return (!this.xmlMode &&\n (this.baseState === State.Text ||\n this.baseState === State.InSpecialTag));\n };\n /**\n * Remove data that has already been consumed from the buffer.\n */\n Tokenizer.prototype.cleanup = function () {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n };\n Tokenizer.prototype.shouldContinue = function () {\n return this.index < this.buffer.length + this.offset && this.running;\n };\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n Tokenizer.prototype.parse = function () {\n while (this.shouldContinue()) {\n var c = this.buffer.charCodeAt(this.index - this.offset);\n switch (this.state) {\n case State.Text: {\n this.stateText(c);\n break;\n }\n case State.SpecialStartSequence: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case State.InSpecialTag: {\n this.stateInSpecialTag(c);\n break;\n }\n case State.CDATASequence: {\n this.stateCDATASequence(c);\n break;\n }\n case State.InAttributeValueDq: {\n this.stateInAttributeValueDoubleQuotes(c);\n break;\n }\n case State.InAttributeName: {\n this.stateInAttributeName(c);\n break;\n }\n case State.InCommentLike: {\n this.stateInCommentLike(c);\n break;\n }\n case State.InSpecialComment: {\n this.stateInSpecialComment(c);\n break;\n }\n case State.BeforeAttributeName: {\n this.stateBeforeAttributeName(c);\n break;\n }\n case State.InTagName: {\n this.stateInTagName(c);\n break;\n }\n case State.InClosingTagName: {\n this.stateInClosingTagName(c);\n break;\n }\n case State.BeforeTagName: {\n this.stateBeforeTagName(c);\n break;\n }\n case State.AfterAttributeName: {\n this.stateAfterAttributeName(c);\n break;\n }\n case State.InAttributeValueSq: {\n this.stateInAttributeValueSingleQuotes(c);\n break;\n }\n case State.BeforeAttributeValue: {\n this.stateBeforeAttributeValue(c);\n break;\n }\n case State.BeforeClosingTagName: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case State.AfterClosingTagName: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case State.BeforeSpecialS: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case State.InAttributeValueNq: {\n this.stateInAttributeValueNoQuotes(c);\n break;\n }\n case State.InSelfClosingTag: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case State.InDeclaration: {\n this.stateInDeclaration(c);\n break;\n }\n case State.BeforeDeclaration: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case State.BeforeComment: {\n this.stateBeforeComment(c);\n break;\n }\n case State.InProcessingInstruction: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case State.InNamedEntity: {\n this.stateInNamedEntity(c);\n break;\n }\n case State.BeforeEntity: {\n this.stateBeforeEntity(c);\n break;\n }\n case State.InHexEntity: {\n this.stateInHexEntity(c);\n break;\n }\n case State.InNumericEntity: {\n this.stateInNumericEntity(c);\n break;\n }\n default: {\n // `this._state === State.BeforeNumericEntity`\n this.stateBeforeNumericEntity(c);\n }\n }\n this.index++;\n }\n this.cleanup();\n };\n Tokenizer.prototype.finish = function () {\n if (this.state === State.InNamedEntity) {\n this.emitNamedEntity();\n }\n // If there is remaining data, emit it in a reasonable way\n if (this.sectionStart < this.index) {\n this.handleTrailingData();\n }\n this.cbs.onend();\n };\n /** Handle any trailing data. */\n Tokenizer.prototype.handleTrailingData = function () {\n var endIndex = this.buffer.length + this.offset;\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InNumericEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InHexEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n };\n Tokenizer.prototype.emitPartial = function (start, endIndex) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribdata(start, endIndex);\n }\n else {\n this.cbs.ontext(start, endIndex);\n }\n };\n Tokenizer.prototype.emitCodePoint = function (cp) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribentity(cp);\n }\n else {\n this.cbs.ontextentity(cp);\n }\n };\n return Tokenizer;\n}());\nexports.default = Tokenizer;\n//# sourceMappingURL=Tokenizer.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Parser = void 0;\nvar Tokenizer_js_1 = __importStar(require(\"./Tokenizer.js\"));\nvar decode_js_1 = require(\"entities/lib/decode.js\");\nvar formTags = new Set([\n \"input\",\n \"option\",\n \"optgroup\",\n \"select\",\n \"button\",\n \"datalist\",\n \"textarea\",\n]);\nvar pTag = new Set([\"p\"]);\nvar tableSectionTags = new Set([\"thead\", \"tbody\"]);\nvar ddtTags = new Set([\"dd\", \"dt\"]);\nvar rtpTags = new Set([\"rt\", \"rp\"]);\nvar openImpliesClose = new Map([\n [\"tr\", new Set([\"tr\", \"th\", \"td\"])],\n [\"th\", new Set([\"th\"])],\n [\"td\", new Set([\"thead\", \"th\", \"td\"])],\n [\"body\", new Set([\"head\", \"link\", \"script\"])],\n [\"li\", new Set([\"li\"])],\n [\"p\", pTag],\n [\"h1\", pTag],\n [\"h2\", pTag],\n [\"h3\", pTag],\n [\"h4\", pTag],\n [\"h5\", pTag],\n [\"h6\", pTag],\n [\"select\", formTags],\n [\"input\", formTags],\n [\"output\", formTags],\n [\"button\", formTags],\n [\"datalist\", formTags],\n [\"textarea\", formTags],\n [\"option\", new Set([\"option\"])],\n [\"optgroup\", new Set([\"optgroup\", \"option\"])],\n [\"dd\", ddtTags],\n [\"dt\", ddtTags],\n [\"address\", pTag],\n [\"article\", pTag],\n [\"aside\", pTag],\n [\"blockquote\", pTag],\n [\"details\", pTag],\n [\"div\", pTag],\n [\"dl\", pTag],\n [\"fieldset\", pTag],\n [\"figcaption\", pTag],\n [\"figure\", pTag],\n [\"footer\", pTag],\n [\"form\", pTag],\n [\"header\", pTag],\n [\"hr\", pTag],\n [\"main\", pTag],\n [\"nav\", pTag],\n [\"ol\", pTag],\n [\"pre\", pTag],\n [\"section\", pTag],\n [\"table\", pTag],\n [\"ul\", pTag],\n [\"rt\", rtpTags],\n [\"rp\", rtpTags],\n [\"tbody\", tableSectionTags],\n [\"tfoot\", tableSectionTags],\n]);\nvar voidElements = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\nvar foreignContextElements = new Set([\"math\", \"svg\"]);\nvar htmlIntegrationElements = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignobject\",\n \"desc\",\n \"title\",\n]);\nvar reNameEnd = /\\s|\\//;\nvar Parser = /** @class */ (function () {\n function Parser(cbs, options) {\n if (options === void 0) { options = {}; }\n var _a, _b, _c, _d, _e;\n this.options = options;\n /** The start index of the last event. */\n this.startIndex = 0;\n /** The end index of the last event. */\n this.endIndex = 0;\n /**\n * Store the start index of the current open tag,\n * so we can update the start index for attributes.\n */\n this.openTagStart = 0;\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribvalue = \"\";\n this.attribs = null;\n this.stack = [];\n this.foreignContext = [];\n this.buffers = [];\n this.bufferOffset = 0;\n /** The index of the last written buffer. Used when resuming after a `pause()`. */\n this.writeIndex = 0;\n /** Indicates whether the parser has finished running / `.end` has been called. */\n this.ended = false;\n this.cbs = cbs !== null && cbs !== void 0 ? cbs : {};\n this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : !options.xmlMode;\n this.lowerCaseAttributeNames =\n (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : !options.xmlMode;\n this.tokenizer = new ((_c = options.Tokenizer) !== null && _c !== void 0 ? _c : Tokenizer_js_1.default)(this.options, this);\n (_e = (_d = this.cbs).onparserinit) === null || _e === void 0 ? void 0 : _e.call(_d, this);\n }\n // Tokenizer event handlers\n /** @internal */\n Parser.prototype.ontext = function (start, endIndex) {\n var _a, _b;\n var data = this.getSlice(start, endIndex);\n this.endIndex = endIndex - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n this.startIndex = endIndex;\n };\n /** @internal */\n Parser.prototype.ontextentity = function (cp) {\n var _a, _b;\n /*\n * Entities can be emitted on the character, or directly after.\n * We use the section start here to get accurate indices.\n */\n var index = this.tokenizer.getSectionStart();\n this.endIndex = index - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, (0, decode_js_1.fromCodePoint)(cp));\n this.startIndex = index;\n };\n Parser.prototype.isVoidElement = function (name) {\n return !this.options.xmlMode && voidElements.has(name);\n };\n /** @internal */\n Parser.prototype.onopentagname = function (start, endIndex) {\n this.endIndex = endIndex;\n var name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n this.emitOpenTag(name);\n };\n Parser.prototype.emitOpenTag = function (name) {\n var _a, _b, _c, _d;\n this.openTagStart = this.startIndex;\n this.tagname = name;\n var impliesClose = !this.options.xmlMode && openImpliesClose.get(name);\n if (impliesClose) {\n while (this.stack.length > 0 &&\n impliesClose.has(this.stack[this.stack.length - 1])) {\n var element = this.stack.pop();\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, true);\n }\n }\n if (!this.isVoidElement(name)) {\n this.stack.push(name);\n if (foreignContextElements.has(name)) {\n this.foreignContext.push(true);\n }\n else if (htmlIntegrationElements.has(name)) {\n this.foreignContext.push(false);\n }\n }\n (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, name);\n if (this.cbs.onopentag)\n this.attribs = {};\n };\n Parser.prototype.endOpenTag = function (isImplied) {\n var _a, _b;\n this.startIndex = this.openTagStart;\n if (this.attribs) {\n (_b = (_a = this.cbs).onopentag) === null || _b === void 0 ? void 0 : _b.call(_a, this.tagname, this.attribs, isImplied);\n this.attribs = null;\n }\n if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) {\n this.cbs.onclosetag(this.tagname, true);\n }\n this.tagname = \"\";\n };\n /** @internal */\n Parser.prototype.onopentagend = function (endIndex) {\n this.endIndex = endIndex;\n this.endOpenTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onclosetag = function (start, endIndex) {\n var _a, _b, _c, _d, _e, _f;\n this.endIndex = endIndex;\n var name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n if (foreignContextElements.has(name) ||\n htmlIntegrationElements.has(name)) {\n this.foreignContext.pop();\n }\n if (!this.isVoidElement(name)) {\n var pos = this.stack.lastIndexOf(name);\n if (pos !== -1) {\n if (this.cbs.onclosetag) {\n var count = this.stack.length - pos;\n while (count--) {\n // We know the stack has sufficient elements.\n this.cbs.onclosetag(this.stack.pop(), count !== 0);\n }\n }\n else\n this.stack.length = pos;\n }\n else if (!this.options.xmlMode && name === \"p\") {\n // Implicit open before close\n this.emitOpenTag(\"p\");\n this.closeCurrentTag(true);\n }\n }\n else if (!this.options.xmlMode && name === \"br\") {\n // We can't use `emitOpenTag` for implicit open, as `br` would be implicitly closed.\n (_b = (_a = this.cbs).onopentagname) === null || _b === void 0 ? void 0 : _b.call(_a, \"br\");\n (_d = (_c = this.cbs).onopentag) === null || _d === void 0 ? void 0 : _d.call(_c, \"br\", {}, true);\n (_f = (_e = this.cbs).onclosetag) === null || _f === void 0 ? void 0 : _f.call(_e, \"br\", false);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onselfclosingtag = function (endIndex) {\n this.endIndex = endIndex;\n if (this.options.xmlMode ||\n this.options.recognizeSelfClosing ||\n this.foreignContext[this.foreignContext.length - 1]) {\n this.closeCurrentTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n else {\n // Ignore the fact that the tag is self-closing.\n this.onopentagend(endIndex);\n }\n };\n Parser.prototype.closeCurrentTag = function (isOpenImplied) {\n var _a, _b;\n var name = this.tagname;\n this.endOpenTag(isOpenImplied);\n // Self-closing tags will be on the top of the stack\n if (this.stack[this.stack.length - 1] === name) {\n // If the opening tag isn't implied, the closing tag has to be implied.\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, name, !isOpenImplied);\n this.stack.pop();\n }\n };\n /** @internal */\n Parser.prototype.onattribname = function (start, endIndex) {\n this.startIndex = start;\n var name = this.getSlice(start, endIndex);\n this.attribname = this.lowerCaseAttributeNames\n ? name.toLowerCase()\n : name;\n };\n /** @internal */\n Parser.prototype.onattribdata = function (start, endIndex) {\n this.attribvalue += this.getSlice(start, endIndex);\n };\n /** @internal */\n Parser.prototype.onattribentity = function (cp) {\n this.attribvalue += (0, decode_js_1.fromCodePoint)(cp);\n };\n /** @internal */\n Parser.prototype.onattribend = function (quote, endIndex) {\n var _a, _b;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).onattribute) === null || _b === void 0 ? void 0 : _b.call(_a, this.attribname, this.attribvalue, quote === Tokenizer_js_1.QuoteType.Double\n ? '\"'\n : quote === Tokenizer_js_1.QuoteType.Single\n ? \"'\"\n : quote === Tokenizer_js_1.QuoteType.NoValue\n ? undefined\n : null);\n if (this.attribs &&\n !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) {\n this.attribs[this.attribname] = this.attribvalue;\n }\n this.attribvalue = \"\";\n };\n Parser.prototype.getInstructionName = function (value) {\n var index = value.search(reNameEnd);\n var name = index < 0 ? value : value.substr(0, index);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n return name;\n };\n /** @internal */\n Parser.prototype.ondeclaration = function (start, endIndex) {\n this.endIndex = endIndex;\n var value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n var name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(\"!\".concat(name), \"!\".concat(value));\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onprocessinginstruction = function (start, endIndex) {\n this.endIndex = endIndex;\n var value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n var name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(\"?\".concat(name), \"?\".concat(value));\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.oncomment = function (start, endIndex, offset) {\n var _a, _b, _c, _d;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).oncomment) === null || _b === void 0 ? void 0 : _b.call(_a, this.getSlice(start, endIndex - offset));\n (_d = (_c = this.cbs).oncommentend) === null || _d === void 0 ? void 0 : _d.call(_c);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.oncdata = function (start, endIndex, offset) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n this.endIndex = endIndex;\n var value = this.getSlice(start, endIndex - offset);\n if (this.options.xmlMode || this.options.recognizeCDATA) {\n (_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 ? void 0 : _b.call(_a);\n (_d = (_c = this.cbs).ontext) === null || _d === void 0 ? void 0 : _d.call(_c, value);\n (_f = (_e = this.cbs).oncdataend) === null || _f === void 0 ? void 0 : _f.call(_e);\n }\n else {\n (_h = (_g = this.cbs).oncomment) === null || _h === void 0 ? void 0 : _h.call(_g, \"[CDATA[\".concat(value, \"]]\"));\n (_k = (_j = this.cbs).oncommentend) === null || _k === void 0 ? void 0 : _k.call(_j);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onend = function () {\n var _a, _b;\n if (this.cbs.onclosetag) {\n // Set the end index for all remaining tags\n this.endIndex = this.startIndex;\n for (var index = this.stack.length; index > 0; this.cbs.onclosetag(this.stack[--index], true))\n ;\n }\n (_b = (_a = this.cbs).onend) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n /**\n * Resets the parser to a blank state, ready to parse a new HTML document\n */\n Parser.prototype.reset = function () {\n var _a, _b, _c, _d;\n (_b = (_a = this.cbs).onreset) === null || _b === void 0 ? void 0 : _b.call(_a);\n this.tokenizer.reset();\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribs = null;\n this.stack.length = 0;\n this.startIndex = 0;\n this.endIndex = 0;\n (_d = (_c = this.cbs).onparserinit) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n this.buffers.length = 0;\n this.bufferOffset = 0;\n this.writeIndex = 0;\n this.ended = false;\n };\n /**\n * Resets the parser, then parses a complete document and\n * pushes it to the handler.\n *\n * @param data Document to parse.\n */\n Parser.prototype.parseComplete = function (data) {\n this.reset();\n this.end(data);\n };\n Parser.prototype.getSlice = function (start, end) {\n while (start - this.bufferOffset >= this.buffers[0].length) {\n this.shiftBuffer();\n }\n var slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset);\n while (end - this.bufferOffset > this.buffers[0].length) {\n this.shiftBuffer();\n slice += this.buffers[0].slice(0, end - this.bufferOffset);\n }\n return slice;\n };\n Parser.prototype.shiftBuffer = function () {\n this.bufferOffset += this.buffers[0].length;\n this.writeIndex--;\n this.buffers.shift();\n };\n /**\n * Parses a chunk of data and calls the corresponding callbacks.\n *\n * @param chunk Chunk to parse.\n */\n Parser.prototype.write = function (chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".write() after done!\"));\n return;\n }\n this.buffers.push(chunk);\n if (this.tokenizer.running) {\n this.tokenizer.write(chunk);\n this.writeIndex++;\n }\n };\n /**\n * Parses the end of the buffer and clears the stack, calls onend.\n *\n * @param chunk Optional final chunk to parse.\n */\n Parser.prototype.end = function (chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".end() after done!\"));\n return;\n }\n if (chunk)\n this.write(chunk);\n this.ended = true;\n this.tokenizer.end();\n };\n /**\n * Pauses parsing. The parser won't emit events until `resume` is called.\n */\n Parser.prototype.pause = function () {\n this.tokenizer.pause();\n };\n /**\n * Resumes parsing after `pause` was called.\n */\n Parser.prototype.resume = function () {\n this.tokenizer.resume();\n while (this.tokenizer.running &&\n this.writeIndex < this.buffers.length) {\n this.tokenizer.write(this.buffers[this.writeIndex++]);\n }\n if (this.ended)\n this.tokenizer.end();\n };\n /**\n * Alias of `write`, for backwards compatibility.\n *\n * @param chunk Chunk to parse.\n * @deprecated\n */\n Parser.prototype.parseChunk = function (chunk) {\n this.write(chunk);\n };\n /**\n * Alias of `end`, for backwards compatibility.\n *\n * @param chunk Optional final chunk to parse.\n * @deprecated\n */\n Parser.prototype.done = function (chunk) {\n this.end(chunk);\n };\n return Parser;\n}());\nexports.Parser = Parser;\n//# sourceMappingURL=Parser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for <? ... ?> */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for <!-- ... --> */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for <script> tags */\n ElementType[\"Script\"] = \"script\";\n /** Type for <style> tags */\n ElementType[\"Style\"] = \"style\";\n /** Type for Any tag */\n ElementType[\"Tag\"] = \"tag\";\n /** Type for <![CDATA[ ... ]]> */\n ElementType[\"CDATA\"] = \"cdata\";\n /** Type for <!doctype ...> */\n ElementType[\"Doctype\"] = \"doctype\";\n})(ElementType = exports.ElementType || (exports.ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\nexports.isTag = isTag;\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexports.Root = ElementType.Root;\n/** Type for Text */\nexports.Text = ElementType.Text;\n/** Type for <? ... ?> */\nexports.Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexports.Comment = ElementType.Comment;\n/** Type for <script> tags */\nexports.Script = ElementType.Script;\n/** Type for <style> tags */\nexports.Style = ElementType.Style;\n/** Type for Any tag */\nexports.Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexports.CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexports.Doctype = ElementType.Doctype;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nvar Node = /** @class */ (function () {\n function Node() {\n /** Parent of the node */\n this.parent = null;\n /** Previous sibling */\n this.prev = null;\n /** Next sibling */\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n this.endIndex = null;\n }\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n /**\n * Same as {@link parent}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.parent;\n },\n set: function (parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n /**\n * Same as {@link prev}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.prev;\n },\n set: function (prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n /**\n * Same as {@link next}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.next;\n },\n set: function (next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) { recursive = false; }\n return cloneNode(this, recursive);\n };\n return Node;\n}());\nexports.Node = Node;\n/**\n * A node that contains some data.\n */\nvar DataNode = /** @class */ (function (_super) {\n __extends(DataNode, _super);\n /**\n * @param data The content of the data node\n */\n function DataNode(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n /**\n * Same as {@link data}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.data;\n },\n set: function (data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node));\nexports.DataNode = DataNode;\n/**\n * Text within the document.\n */\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Text;\n return _this;\n }\n Object.defineProperty(Text.prototype, \"nodeType\", {\n get: function () {\n return 3;\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(DataNode));\nexports.Text = Text;\n/**\n * Comments within the document.\n */\nvar Comment = /** @class */ (function (_super) {\n __extends(Comment, _super);\n function Comment() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Comment;\n return _this;\n }\n Object.defineProperty(Comment.prototype, \"nodeType\", {\n get: function () {\n return 8;\n },\n enumerable: false,\n configurable: true\n });\n return Comment;\n}(DataNode));\nexports.Comment = Comment;\n/**\n * Processing instructions, including doc types.\n */\nvar ProcessingInstruction = /** @class */ (function (_super) {\n __extends(ProcessingInstruction, _super);\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, data) || this;\n _this.name = name;\n _this.type = domelementtype_1.ElementType.Directive;\n return _this;\n }\n Object.defineProperty(ProcessingInstruction.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n return ProcessingInstruction;\n}(DataNode));\nexports.ProcessingInstruction = ProcessingInstruction;\n/**\n * A `Node` that can have children.\n */\nvar NodeWithChildren = /** @class */ (function (_super) {\n __extends(NodeWithChildren, _super);\n /**\n * @param children Children of the node. Only certain node types can have children.\n */\n function NodeWithChildren(children) {\n var _this = _super.call(this) || this;\n _this.children = children;\n return _this;\n }\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n /** First child of the node. */\n get: function () {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n /** Last child of the node. */\n get: function () {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar CDATA = /** @class */ (function (_super) {\n __extends(CDATA, _super);\n function CDATA() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.CDATA;\n return _this;\n }\n Object.defineProperty(CDATA.prototype, \"nodeType\", {\n get: function () {\n return 4;\n },\n enumerable: false,\n configurable: true\n });\n return CDATA;\n}(NodeWithChildren));\nexports.CDATA = CDATA;\n/**\n * The root node of the document.\n */\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Root;\n return _this;\n }\n Object.defineProperty(Document.prototype, \"nodeType\", {\n get: function () {\n return 9;\n },\n enumerable: false,\n configurable: true\n });\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\n/**\n * An element within the DOM.\n */\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children, type) {\n if (children === void 0) { children = []; }\n if (type === void 0) { type = name === \"script\"\n ? domelementtype_1.ElementType.Script\n : name === \"style\"\n ? domelementtype_1.ElementType.Style\n : domelementtype_1.ElementType.Tag; }\n var _this = _super.call(this, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.type = type;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n return (0, domelementtype_1.isTag)(node);\n}\nexports.isTag = isTag;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n return node.type === domelementtype_1.ElementType.CDATA;\n}\nexports.isCDATA = isCDATA;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n return node.type === domelementtype_1.ElementType.Text;\n}\nexports.isText = isText;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n return node.type === domelementtype_1.ElementType.Comment;\n}\nexports.isComment = isComment;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n return node.type === domelementtype_1.ElementType.Directive;\n}\nexports.isDirective = isDirective;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n return node.type === domelementtype_1.ElementType.Root;\n}\nexports.isDocument = isDocument;\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\nexports.hasChildren = hasChildren;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n if (isText(node)) {\n result = new Text(node.data);\n }\n else if (isComment(node)) {\n result = new Comment(node.data);\n }\n else if (isTag(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_1 = new Element(node.name, __assign({}, node.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (node.namespace != null) {\n clone_1.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, node[\"x-attribsNamespace\"]);\n }\n if (node[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, node[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n }\n else if (isCDATA(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_2 = new CDATA(children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n }\n else if (isDocument(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (node[\"x-mode\"]) {\n clone_3[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone_3;\n }\n else if (isDirective(node)) {\n var instruction = new ProcessingInstruction(node.name, node.data);\n if (node[\"x-name\"] != null) {\n instruction[\"x-name\"] = node[\"x-name\"];\n instruction[\"x-publicId\"] = node[\"x-publicId\"];\n instruction[\"x-systemId\"] = node[\"x-systemId\"];\n }\n result = instruction;\n }\n else {\n throw new Error(\"Not implemented yet: \".concat(node.type));\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n if (node.sourceCodeLocation != null) {\n result.sourceCodeLocation = node.sourceCodeLocation;\n }\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomHandler = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\nvar node_js_1 = require(\"./node.js\");\n__exportStar(require(\"./node.js\"), exports);\n// Default options\nvar defaultOpts = {\n withStartIndices: false,\n withEndIndices: false,\n xmlMode: false,\n};\nvar DomHandler = /** @class */ (function () {\n /**\n * @param callback Called once parsing has completed.\n * @param options Settings for the handler.\n * @param elementCB Callback whenever a tag is closed.\n */\n function DomHandler(callback, options, elementCB) {\n /** The elements of the DOM */\n this.dom = [];\n /** The root element for the DOM */\n this.root = new node_js_1.Document(this.dom);\n /** Indicated whether parsing has been completed. */\n this.done = false;\n /** Stack of open tags. */\n this.tagStack = [this.root];\n /** A data node that is still being written to. */\n this.lastNode = null;\n /** Reference to the parser instance. Used for location information. */\n this.parser = null;\n // Make it possible to skip arguments, for backwards-compatibility\n if (typeof options === \"function\") {\n elementCB = options;\n options = defaultOpts;\n }\n if (typeof callback === \"object\") {\n options = callback;\n callback = undefined;\n }\n this.callback = callback !== null && callback !== void 0 ? callback : null;\n this.options = options !== null && options !== void 0 ? options : defaultOpts;\n this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n }\n DomHandler.prototype.onparserinit = function (parser) {\n this.parser = parser;\n };\n // Resets the handler back to starting state\n DomHandler.prototype.onreset = function () {\n this.dom = [];\n this.root = new node_js_1.Document(this.dom);\n this.done = false;\n this.tagStack = [this.root];\n this.lastNode = null;\n this.parser = null;\n };\n // Signals the handler that parsing is done\n DomHandler.prototype.onend = function () {\n if (this.done)\n return;\n this.done = true;\n this.parser = null;\n this.handleCallback(null);\n };\n DomHandler.prototype.onerror = function (error) {\n this.handleCallback(error);\n };\n DomHandler.prototype.onclosetag = function () {\n this.lastNode = null;\n var elem = this.tagStack.pop();\n if (this.options.withEndIndices) {\n elem.endIndex = this.parser.endIndex;\n }\n if (this.elementCB)\n this.elementCB(elem);\n };\n DomHandler.prototype.onopentag = function (name, attribs) {\n var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;\n var element = new node_js_1.Element(name, attribs, undefined, type);\n this.addNode(element);\n this.tagStack.push(element);\n };\n DomHandler.prototype.ontext = function (data) {\n var lastNode = this.lastNode;\n if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {\n lastNode.data += data;\n if (this.options.withEndIndices) {\n lastNode.endIndex = this.parser.endIndex;\n }\n }\n else {\n var node = new node_js_1.Text(data);\n this.addNode(node);\n this.lastNode = node;\n }\n };\n DomHandler.prototype.oncomment = function (data) {\n if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {\n this.lastNode.data += data;\n return;\n }\n var node = new node_js_1.Comment(data);\n this.addNode(node);\n this.lastNode = node;\n };\n DomHandler.prototype.oncommentend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.oncdatastart = function () {\n var text = new node_js_1.Text(\"\");\n var node = new node_js_1.CDATA([text]);\n this.addNode(node);\n text.parent = node;\n this.lastNode = text;\n };\n DomHandler.prototype.oncdataend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.onprocessinginstruction = function (name, data) {\n var node = new node_js_1.ProcessingInstruction(name, data);\n this.addNode(node);\n };\n DomHandler.prototype.handleCallback = function (error) {\n if (typeof this.callback === \"function\") {\n this.callback(error, this.dom);\n }\n else if (error) {\n throw error;\n }\n };\n DomHandler.prototype.addNode = function (node) {\n var parent = this.tagStack[this.tagStack.length - 1];\n var previousSibling = parent.children[parent.children.length - 1];\n if (this.options.withStartIndices) {\n node.startIndex = this.parser.startIndex;\n }\n if (this.options.withEndIndices) {\n node.endIndex = this.parser.endIndex;\n }\n parent.children.push(node);\n if (previousSibling) {\n node.prev = previousSibling;\n previousSibling.next = node;\n }\n node.parent = parent;\n this.lastNode = null;\n };\n return DomHandler;\n}());\nexports.DomHandler = DomHandler;\nexports.default = DomHandler;\n","\"use strict\";\n// Generated using scripts/write-encode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction restoreDiff(arr) {\n for (var i = 1; i < arr.length; i++) {\n arr[i][0] += arr[i - 1][0] + 1;\n }\n return arr;\n}\n// prettier-ignore\nexports.default = new Map(/* #__PURE__ */ restoreDiff([[9, \" \"], [0, \" \"], [22, \"!\"], [0, \""\"], [0, \"#\"], [0, \"$\"], [0, \"%\"], [0, \"&\"], [0, \"'\"], [0, \"(\"], [0, \")\"], [0, \"*\"], [0, \"+\"], [0, \",\"], [1, \".\"], [0, \"/\"], [10, \":\"], [0, \";\"], [0, { v: \"<\", n: 8402, o: \"<⃒\" }], [0, { v: \"=\", n: 8421, o: \"=⃥\" }], [0, { v: \">\", n: 8402, o: \">⃒\" }], [0, \"?\"], [0, \"@\"], [26, \"[\"], [0, \"\\"], [0, \"]\"], [0, \"^\"], [0, \"_\"], [0, \"`\"], [5, { n: 106, o: \"fj\" }], [20, \"{\"], [0, \"|\"], [0, \"}\"], [34, \" \"], [0, \"¡\"], [0, \"¢\"], [0, \"£\"], [0, \"¤\"], [0, \"¥\"], [0, \"¦\"], [0, \"§\"], [0, \"¨\"], [0, \"©\"], [0, \"ª\"], [0, \"«\"], [0, \"¬\"], [0, \"­\"], [0, \"®\"], [0, \"¯\"], [0, \"°\"], [0, \"±\"], [0, \"²\"], [0, \"³\"], [0, \"´\"], [0, \"µ\"], [0, \"¶\"], [0, \"·\"], [0, \"¸\"], [0, \"¹\"], [0, \"º\"], [0, \"»\"], [0, \"¼\"], [0, \"½\"], [0, \"¾\"], [0, \"¿\"], [0, \"À\"], [0, \"Á\"], [0, \"Â\"], [0, \"Ã\"], [0, \"Ä\"], [0, \"Å\"], [0, \"Æ\"], [0, \"Ç\"], [0, \"È\"], [0, \"É\"], [0, \"Ê\"], [0, \"Ë\"], [0, \"Ì\"], [0, \"Í\"], [0, \"Î\"], [0, \"Ï\"], [0, \"Ð\"], [0, \"Ñ\"], [0, \"Ò\"], [0, \"Ó\"], [0, \"Ô\"], [0, \"Õ\"], [0, \"Ö\"], [0, \"×\"], [0, \"Ø\"], [0, \"Ù\"], [0, \"Ú\"], [0, \"Û\"], [0, \"Ü\"], [0, \"Ý\"], [0, \"Þ\"], [0, \"ß\"], [0, \"à\"], [0, \"á\"], [0, \"â\"], [0, \"ã\"], [0, \"ä\"], [0, \"å\"], [0, \"æ\"], [0, \"ç\"], [0, \"è\"], [0, \"é\"], [0, \"ê\"], [0, \"ë\"], [0, \"ì\"], [0, \"í\"], [0, \"î\"], [0, \"ï\"], [0, \"ð\"], [0, \"ñ\"], [0, \"ò\"], [0, \"ó\"], [0, \"ô\"], [0, \"õ\"], [0, \"ö\"], [0, \"÷\"], [0, \"ø\"], [0, \"ù\"], [0, \"ú\"], [0, \"û\"], [0, \"ü\"], [0, \"ý\"], [0, \"þ\"], [0, \"ÿ\"], [0, \"Ā\"], [0, \"ā\"], [0, \"Ă\"], [0, \"ă\"], [0, \"Ą\"], [0, \"ą\"], [0, \"Ć\"], [0, \"ć\"], [0, \"Ĉ\"], [0, \"ĉ\"], [0, \"Ċ\"], [0, \"ċ\"], [0, \"Č\"], [0, \"č\"], [0, \"Ď\"], [0, \"ď\"], [0, \"Đ\"], [0, \"đ\"], [0, \"Ē\"], [0, \"ē\"], [2, \"Ė\"], [0, \"ė\"], [0, \"Ę\"], [0, \"ę\"], [0, \"Ě\"], [0, \"ě\"], [0, \"Ĝ\"], [0, \"ĝ\"], [0, \"Ğ\"], [0, \"ğ\"], [0, \"Ġ\"], [0, \"ġ\"], [0, \"Ģ\"], [1, \"Ĥ\"], [0, \"ĥ\"], [0, \"Ħ\"], [0, \"ħ\"], [0, \"Ĩ\"], [0, \"ĩ\"], [0, \"Ī\"], [0, \"ī\"], [2, \"Į\"], [0, \"į\"], [0, \"İ\"], [0, \"ı\"], [0, \"IJ\"], [0, \"ij\"], [0, \"Ĵ\"], [0, \"ĵ\"], [0, \"Ķ\"], [0, \"ķ\"], [0, \"ĸ\"], [0, \"Ĺ\"], [0, \"ĺ\"], [0, \"Ļ\"], [0, \"ļ\"], [0, \"Ľ\"], [0, \"ľ\"], [0, \"Ŀ\"], [0, \"ŀ\"], [0, \"Ł\"], [0, \"ł\"], [0, \"Ń\"], [0, \"ń\"], [0, \"Ņ\"], [0, \"ņ\"], [0, \"Ň\"], [0, \"ň\"], [0, \"ʼn\"], [0, \"Ŋ\"], [0, \"ŋ\"], [0, \"Ō\"], [0, \"ō\"], [2, \"Ő\"], [0, \"ő\"], [0, \"Œ\"], [0, \"œ\"], [0, \"Ŕ\"], [0, \"ŕ\"], [0, \"Ŗ\"], [0, \"ŗ\"], [0, \"Ř\"], [0, \"ř\"], [0, \"Ś\"], [0, \"ś\"], [0, \"Ŝ\"], [0, \"ŝ\"], [0, \"Ş\"], [0, \"ş\"], [0, \"Š\"], [0, \"š\"], [0, \"Ţ\"], [0, \"ţ\"], [0, \"Ť\"], [0, \"ť\"], [0, \"Ŧ\"], [0, \"ŧ\"], [0, \"Ũ\"], [0, \"ũ\"], [0, \"Ū\"], [0, \"ū\"], [0, \"Ŭ\"], [0, \"ŭ\"], [0, \"Ů\"], [0, \"ů\"], [0, \"Ű\"], [0, \"ű\"], [0, \"Ų\"], [0, \"ų\"], [0, \"Ŵ\"], [0, \"ŵ\"], [0, \"Ŷ\"], [0, \"ŷ\"], [0, \"Ÿ\"], [0, \"Ź\"], [0, \"ź\"], [0, \"Ż\"], [0, \"ż\"], [0, \"Ž\"], [0, \"ž\"], [19, \"ƒ\"], [34, \"Ƶ\"], [63, \"ǵ\"], [65, \"ȷ\"], [142, \"ˆ\"], [0, \"ˇ\"], [16, \"˘\"], [0, \"˙\"], [0, \"˚\"], [0, \"˛\"], [0, \"˜\"], [0, \"˝\"], [51, \"̑\"], [127, \"Α\"], [0, \"Β\"], [0, \"Γ\"], [0, \"Δ\"], [0, \"Ε\"], [0, \"Ζ\"], [0, \"Η\"], [0, \"Θ\"], [0, \"Ι\"], [0, \"Κ\"], [0, \"Λ\"], [0, \"Μ\"], [0, \"Ν\"], [0, \"Ξ\"], [0, \"Ο\"], [0, \"Π\"], [0, \"Ρ\"], [1, \"Σ\"], [0, \"Τ\"], [0, \"Υ\"], [0, \"Φ\"], [0, \"Χ\"], [0, \"Ψ\"], [0, \"Ω\"], [7, \"α\"], [0, \"β\"], [0, \"γ\"], [0, \"δ\"], [0, \"ε\"], [0, \"ζ\"], [0, \"η\"], [0, \"θ\"], [0, \"ι\"], [0, \"κ\"], [0, \"λ\"], [0, \"μ\"], [0, \"ν\"], [0, \"ξ\"], [0, \"ο\"], [0, \"π\"], [0, \"ρ\"], [0, \"ς\"], [0, \"σ\"], [0, \"τ\"], [0, \"υ\"], [0, \"φ\"], [0, \"χ\"], [0, \"ψ\"], [0, \"ω\"], [7, \"ϑ\"], [0, \"ϒ\"], [2, \"ϕ\"], [0, \"ϖ\"], [5, \"Ϝ\"], [0, \"ϝ\"], [18, \"ϰ\"], [0, \"ϱ\"], [3, \"ϵ\"], [0, \"϶\"], [10, \"Ё\"], [0, \"Ђ\"], [0, \"Ѓ\"], [0, \"Є\"], [0, \"Ѕ\"], [0, \"І\"], [0, \"Ї\"], [0, \"Ј\"], [0, \"Љ\"], [0, \"Њ\"], [0, \"Ћ\"], [0, \"Ќ\"], [1, \"Ў\"], [0, \"Џ\"], [0, \"А\"], [0, \"Б\"], [0, \"В\"], [0, \"Г\"], [0, \"Д\"], [0, \"Е\"], [0, \"Ж\"], [0, \"З\"], [0, \"И\"], [0, \"Й\"], [0, \"К\"], [0, \"Л\"], [0, \"М\"], [0, \"Н\"], [0, \"О\"], [0, \"П\"], [0, \"Р\"], [0, \"С\"], [0, \"Т\"], [0, \"У\"], [0, \"Ф\"], [0, \"Х\"], [0, \"Ц\"], [0, \"Ч\"], [0, \"Ш\"], [0, \"Щ\"], [0, \"Ъ\"], [0, \"Ы\"], [0, \"Ь\"], [0, \"Э\"], [0, \"Ю\"], [0, \"Я\"], [0, \"а\"], [0, \"б\"], [0, \"в\"], [0, \"г\"], [0, \"д\"], [0, \"е\"], [0, \"ж\"], [0, \"з\"], [0, \"и\"], [0, \"й\"], [0, \"к\"], [0, \"л\"], [0, \"м\"], [0, \"н\"], [0, \"о\"], [0, \"п\"], [0, \"р\"], [0, \"с\"], [0, \"т\"], [0, \"у\"], [0, \"ф\"], [0, \"х\"], [0, \"ц\"], [0, \"ч\"], [0, \"ш\"], [0, \"щ\"], [0, \"ъ\"], [0, \"ы\"], [0, \"ь\"], [0, \"э\"], [0, \"ю\"], [0, \"я\"], [1, \"ё\"], [0, \"ђ\"], [0, \"ѓ\"], [0, \"є\"], [0, \"ѕ\"], [0, \"і\"], [0, \"ї\"], [0, \"ј\"], [0, \"љ\"], [0, \"њ\"], [0, \"ћ\"], [0, \"ќ\"], [1, \"ў\"], [0, \"џ\"], [7074, \" \"], [0, \" \"], [0, \" \"], [0, \" \"], [1, \" \"], [0, \" \"], [0, \" \"], [0, \" \"], [0, \"​\"], [0, \"‌\"], [0, \"‍\"], [0, \"‎\"], [0, \"‏\"], [0, \"‐\"], [2, \"–\"], [0, \"—\"], [0, \"―\"], [0, \"‖\"], [1, \"‘\"], [0, \"’\"], [0, \"‚\"], [1, \"“\"], [0, \"”\"], [0, \"„\"], [1, \"†\"], [0, \"‡\"], [0, \"•\"], [2, \"‥\"], [0, \"…\"], [9, \"‰\"], [0, \"‱\"], [0, \"′\"], [0, \"″\"], [0, \"‴\"], [0, \"‵\"], [3, \"‹\"], [0, \"›\"], [3, \"‾\"], [2, \"⁁\"], [1, \"⁃\"], [0, \"⁄\"], [10, \"⁏\"], [7, \"⁗\"], [7, { v: \" \", n: 8202, o: \"  \" }], [0, \"⁠\"], [0, \"⁡\"], [0, \"⁢\"], [0, \"⁣\"], [72, \"€\"], [46, \"⃛\"], [0, \"⃜\"], [37, \"ℂ\"], [2, \"℅\"], [4, \"ℊ\"], [0, \"ℋ\"], [0, \"ℌ\"], [0, \"ℍ\"], [0, \"ℎ\"], [0, \"ℏ\"], [0, \"ℐ\"], [0, \"ℑ\"], [0, \"ℒ\"], [0, \"ℓ\"], [1, \"ℕ\"], [0, \"№\"], [0, \"℗\"], [0, \"℘\"], [0, \"ℙ\"], [0, \"ℚ\"], [0, \"ℛ\"], [0, \"ℜ\"], [0, \"ℝ\"], [0, \"℞\"], [3, \"™\"], [1, \"ℤ\"], [2, \"℧\"], [0, \"ℨ\"], [0, \"℩\"], [2, \"ℬ\"], [0, \"ℭ\"], [1, \"ℯ\"], [0, \"ℰ\"], [0, \"ℱ\"], [1, \"ℳ\"], [0, \"ℴ\"], [0, \"ℵ\"], [0, \"ℶ\"], [0, \"ℷ\"], [0, \"ℸ\"], [12, \"ⅅ\"], [0, \"ⅆ\"], [0, \"ⅇ\"], [0, \"ⅈ\"], [10, \"⅓\"], [0, \"⅔\"], [0, \"⅕\"], [0, \"⅖\"], [0, \"⅗\"], [0, \"⅘\"], [0, \"⅙\"], [0, \"⅚\"], [0, \"⅛\"], [0, \"⅜\"], [0, \"⅝\"], [0, \"⅞\"], [49, \"←\"], [0, \"↑\"], [0, \"→\"], [0, \"↓\"], [0, \"↔\"], [0, \"↕\"], [0, \"↖\"], [0, \"↗\"], [0, \"↘\"], [0, \"↙\"], [0, \"↚\"], [0, \"↛\"], [1, { v: \"↝\", n: 824, o: \"↝̸\" }], [0, \"↞\"], [0, \"↟\"], [0, \"↠\"], [0, \"↡\"], [0, \"↢\"], [0, \"↣\"], [0, \"↤\"], [0, \"↥\"], [0, \"↦\"], [0, \"↧\"], [1, \"↩\"], [0, \"↪\"], [0, \"↫\"], [0, \"↬\"], [0, \"↭\"], [0, \"↮\"], [1, \"↰\"], [0, \"↱\"], [0, \"↲\"], [0, \"↳\"], [1, \"↵\"], [0, \"↶\"], [0, \"↷\"], [2, \"↺\"], [0, \"↻\"], [0, \"↼\"], [0, \"↽\"], [0, \"↾\"], [0, \"↿\"], [0, \"⇀\"], [0, \"⇁\"], [0, \"⇂\"], [0, \"⇃\"], [0, \"⇄\"], [0, \"⇅\"], [0, \"⇆\"], [0, \"⇇\"], [0, \"⇈\"], [0, \"⇉\"], [0, \"⇊\"], [0, \"⇋\"], [0, \"⇌\"], [0, \"⇍\"], [0, \"⇎\"], [0, \"⇏\"], [0, \"⇐\"], [0, \"⇑\"], [0, \"⇒\"], [0, \"⇓\"], [0, \"⇔\"], [0, \"⇕\"], [0, \"⇖\"], [0, \"⇗\"], [0, \"⇘\"], [0, \"⇙\"], [0, \"⇚\"], [0, \"⇛\"], [1, \"⇝\"], [6, \"⇤\"], [0, \"⇥\"], [15, \"⇵\"], [7, \"⇽\"], [0, \"⇾\"], [0, \"⇿\"], [0, \"∀\"], [0, \"∁\"], [0, { v: \"∂\", n: 824, o: \"∂̸\" }], [0, \"∃\"], [0, \"∄\"], [0, \"∅\"], [1, \"∇\"], [0, \"∈\"], [0, \"∉\"], [1, \"∋\"], [0, \"∌\"], [2, \"∏\"], [0, \"∐\"], [0, \"∑\"], [0, \"−\"], [0, \"∓\"], [0, \"∔\"], [1, \"∖\"], [0, \"∗\"], [0, \"∘\"], [1, \"√\"], [2, \"∝\"], [0, \"∞\"], [0, \"∟\"], [0, { v: \"∠\", n: 8402, o: \"∠⃒\" }], [0, \"∡\"], [0, \"∢\"], [0, \"∣\"], [0, \"∤\"], [0, \"∥\"], [0, \"∦\"], [0, \"∧\"], [0, \"∨\"], [0, { v: \"∩\", n: 65024, o: \"∩︀\" }], [0, { v: \"∪\", n: 65024, o: \"∪︀\" }], [0, \"∫\"], [0, \"∬\"], [0, \"∭\"], [0, \"∮\"], [0, \"∯\"], [0, \"∰\"], [0, \"∱\"], [0, \"∲\"], [0, \"∳\"], [0, \"∴\"], [0, \"∵\"], [0, \"∶\"], [0, \"∷\"], [0, \"∸\"], [1, \"∺\"], [0, \"∻\"], [0, { v: \"∼\", n: 8402, o: \"∼⃒\" }], [0, { v: \"∽\", n: 817, o: \"∽̱\" }], [0, { v: \"∾\", n: 819, o: \"∾̳\" }], [0, \"∿\"], [0, \"≀\"], [0, \"≁\"], [0, { v: \"≂\", n: 824, o: \"≂̸\" }], [0, \"≃\"], [0, \"≄\"], [0, \"≅\"], [0, \"≆\"], [0, \"≇\"], [0, \"≈\"], [0, \"≉\"], [0, \"≊\"], [0, { v: \"≋\", n: 824, o: \"≋̸\" }], [0, \"≌\"], [0, { v: \"≍\", n: 8402, o: \"≍⃒\" }], [0, { v: \"≎\", n: 824, o: \"≎̸\" }], [0, { v: \"≏\", n: 824, o: \"≏̸\" }], [0, { v: \"≐\", n: 824, o: \"≐̸\" }], [0, \"≑\"], [0, \"≒\"], [0, \"≓\"], [0, \"≔\"], [0, \"≕\"], [0, \"≖\"], [0, \"≗\"], [1, \"≙\"], [0, \"≚\"], [1, \"≜\"], [2, \"≟\"], [0, \"≠\"], [0, { v: \"≡\", n: 8421, o: \"≡⃥\" }], [0, \"≢\"], [1, { v: \"≤\", n: 8402, o: \"≤⃒\" }], [0, { v: \"≥\", n: 8402, o: \"≥⃒\" }], [0, { v: \"≦\", n: 824, o: \"≦̸\" }], [0, { v: \"≧\", n: 824, o: \"≧̸\" }], [0, { v: \"≨\", n: 65024, o: \"≨︀\" }], [0, { v: \"≩\", n: 65024, o: \"≩︀\" }], [0, { v: \"≪\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"≪̸\"], [7577, \"≪⃒\"]])) }], [0, { v: \"≫\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"≫̸\"], [7577, \"≫⃒\"]])) }], [0, \"≬\"], [0, \"≭\"], [0, \"≮\"], [0, \"≯\"], [0, \"≰\"], [0, \"≱\"], [0, \"≲\"], [0, \"≳\"], [0, \"≴\"], [0, \"≵\"], [0, \"≶\"], [0, \"≷\"], [0, \"≸\"], [0, \"≹\"], [0, \"≺\"], [0, \"≻\"], [0, \"≼\"], [0, \"≽\"], [0, \"≾\"], [0, { v: \"≿\", n: 824, o: \"≿̸\" }], [0, \"⊀\"], [0, \"⊁\"], [0, { v: \"⊂\", n: 8402, o: \"⊂⃒\" }], [0, { v: \"⊃\", n: 8402, o: \"⊃⃒\" }], [0, \"⊄\"], [0, \"⊅\"], [0, \"⊆\"], [0, \"⊇\"], [0, \"⊈\"], [0, \"⊉\"], [0, { v: \"⊊\", n: 65024, o: \"⊊︀\" }], [0, { v: \"⊋\", n: 65024, o: \"⊋︀\" }], [1, \"⊍\"], [0, \"⊎\"], [0, { v: \"⊏\", n: 824, o: \"⊏̸\" }], [0, { v: \"⊐\", n: 824, o: \"⊐̸\" }], [0, \"⊑\"], [0, \"⊒\"], [0, { v: \"⊓\", n: 65024, o: \"⊓︀\" }], [0, { v: \"⊔\", n: 65024, o: \"⊔︀\" }], [0, \"⊕\"], [0, \"⊖\"], [0, \"⊗\"], [0, \"⊘\"], [0, \"⊙\"], [0, \"⊚\"], [0, \"⊛\"], [1, \"⊝\"], [0, \"⊞\"], [0, \"⊟\"], [0, \"⊠\"], [0, \"⊡\"], [0, \"⊢\"], [0, \"⊣\"], [0, \"⊤\"], [0, \"⊥\"], [1, \"⊧\"], [0, \"⊨\"], [0, \"⊩\"], [0, \"⊪\"], [0, \"⊫\"], [0, \"⊬\"], [0, \"⊭\"], [0, \"⊮\"], [0, \"⊯\"], [0, \"⊰\"], [1, \"⊲\"], [0, \"⊳\"], [0, { v: \"⊴\", n: 8402, o: \"⊴⃒\" }], [0, { v: \"⊵\", n: 8402, o: \"⊵⃒\" }], [0, \"⊶\"], [0, \"⊷\"], [0, \"⊸\"], [0, \"⊹\"], [0, \"⊺\"], [0, \"⊻\"], [1, \"⊽\"], [0, \"⊾\"], [0, \"⊿\"], [0, \"⋀\"], [0, \"⋁\"], [0, \"⋂\"], [0, \"⋃\"], [0, \"⋄\"], [0, \"⋅\"], [0, \"⋆\"], [0, \"⋇\"], [0, \"⋈\"], [0, \"⋉\"], [0, \"⋊\"], [0, \"⋋\"], [0, \"⋌\"], [0, \"⋍\"], [0, \"⋎\"], [0, \"⋏\"], [0, \"⋐\"], [0, \"⋑\"], [0, \"⋒\"], [0, \"⋓\"], [0, \"⋔\"], [0, \"⋕\"], [0, \"⋖\"], [0, \"⋗\"], [0, { v: \"⋘\", n: 824, o: \"⋘̸\" }], [0, { v: \"⋙\", n: 824, o: \"⋙̸\" }], [0, { v: \"⋚\", n: 65024, o: \"⋚︀\" }], [0, { v: \"⋛\", n: 65024, o: \"⋛︀\" }], [2, \"⋞\"], [0, \"⋟\"], [0, \"⋠\"], [0, \"⋡\"], [0, \"⋢\"], [0, \"⋣\"], [2, \"⋦\"], [0, \"⋧\"], [0, \"⋨\"], [0, \"⋩\"], [0, \"⋪\"], [0, \"⋫\"], [0, \"⋬\"], [0, \"⋭\"], [0, \"⋮\"], [0, \"⋯\"], [0, \"⋰\"], [0, \"⋱\"], [0, \"⋲\"], [0, \"⋳\"], [0, \"⋴\"], [0, { v: \"⋵\", n: 824, o: \"⋵̸\" }], [0, \"⋶\"], [0, \"⋷\"], [1, { v: \"⋹\", n: 824, o: \"⋹̸\" }], [0, \"⋺\"], [0, \"⋻\"], [0, \"⋼\"], [0, \"⋽\"], [0, \"⋾\"], [6, \"⌅\"], [0, \"⌆\"], [1, \"⌈\"], [0, \"⌉\"], [0, \"⌊\"], [0, \"⌋\"], [0, \"⌌\"], [0, \"⌍\"], [0, \"⌎\"], [0, \"⌏\"], [0, \"⌐\"], [1, \"⌒\"], [0, \"⌓\"], [1, \"⌕\"], [0, \"⌖\"], [5, \"⌜\"], [0, \"⌝\"], [0, \"⌞\"], [0, \"⌟\"], [2, \"⌢\"], [0, \"⌣\"], [9, \"⌭\"], [0, \"⌮\"], [7, \"⌶\"], [6, \"⌽\"], [1, \"⌿\"], [60, \"⍼\"], [51, \"⎰\"], [0, \"⎱\"], [2, \"⎴\"], [0, \"⎵\"], [0, \"⎶\"], [37, \"⏜\"], [0, \"⏝\"], [0, \"⏞\"], [0, \"⏟\"], [2, \"⏢\"], [4, \"⏧\"], [59, \"␣\"], [164, \"Ⓢ\"], [55, \"─\"], [1, \"│\"], [9, \"┌\"], [3, \"┐\"], [3, \"└\"], [3, \"┘\"], [3, \"├\"], [7, \"┤\"], [7, \"┬\"], [7, \"┴\"], [7, \"┼\"], [19, \"═\"], [0, \"║\"], [0, \"╒\"], [0, \"╓\"], [0, \"╔\"], [0, \"╕\"], [0, \"╖\"], [0, \"╗\"], [0, \"╘\"], [0, \"╙\"], [0, \"╚\"], [0, \"╛\"], [0, \"╜\"], [0, \"╝\"], [0, \"╞\"], [0, \"╟\"], [0, \"╠\"], [0, \"╡\"], [0, \"╢\"], [0, \"╣\"], [0, \"╤\"], [0, \"╥\"], [0, \"╦\"], [0, \"╧\"], [0, \"╨\"], [0, \"╩\"], [0, \"╪\"], [0, \"╫\"], [0, \"╬\"], [19, \"▀\"], [3, \"▄\"], [3, \"█\"], [8, \"░\"], [0, \"▒\"], [0, \"▓\"], [13, \"□\"], [8, \"▪\"], [0, \"▫\"], [1, \"▭\"], [0, \"▮\"], [2, \"▱\"], [1, \"△\"], [0, \"▴\"], [0, \"▵\"], [2, \"▸\"], [0, \"▹\"], [3, \"▽\"], [0, \"▾\"], [0, \"▿\"], [2, \"◂\"], [0, \"◃\"], [6, \"◊\"], [0, \"○\"], [32, \"◬\"], [2, \"◯\"], [8, \"◸\"], [0, \"◹\"], [0, \"◺\"], [0, \"◻\"], [0, \"◼\"], [8, \"★\"], [0, \"☆\"], [7, \"☎\"], [49, \"♀\"], [1, \"♂\"], [29, \"♠\"], [2, \"♣\"], [1, \"♥\"], [0, \"♦\"], [3, \"♪\"], [2, \"♭\"], [0, \"♮\"], [0, \"♯\"], [163, \"✓\"], [3, \"✗\"], [8, \"✠\"], [21, \"✶\"], [33, \"❘\"], [25, \"❲\"], [0, \"❳\"], [84, \"⟈\"], [0, \"⟉\"], [28, \"⟦\"], [0, \"⟧\"], [0, \"⟨\"], [0, \"⟩\"], [0, \"⟪\"], [0, \"⟫\"], [0, \"⟬\"], [0, \"⟭\"], [7, \"⟵\"], [0, \"⟶\"], [0, \"⟷\"], [0, \"⟸\"], [0, \"⟹\"], [0, \"⟺\"], [1, \"⟼\"], [2, \"⟿\"], [258, \"⤂\"], [0, \"⤃\"], [0, \"⤄\"], [0, \"⤅\"], [6, \"⤌\"], [0, \"⤍\"], [0, \"⤎\"], [0, \"⤏\"], [0, \"⤐\"], [0, \"⤑\"], [0, \"⤒\"], [0, \"⤓\"], [2, \"⤖\"], [2, \"⤙\"], [0, \"⤚\"], [0, \"⤛\"], [0, \"⤜\"], [0, \"⤝\"], [0, \"⤞\"], [0, \"⤟\"], [0, \"⤠\"], [2, \"⤣\"], [0, \"⤤\"], [0, \"⤥\"], [0, \"⤦\"], [0, \"⤧\"], [0, \"⤨\"], [0, \"⤩\"], [0, \"⤪\"], [8, { v: \"⤳\", n: 824, o: \"⤳̸\" }], [1, \"⤵\"], [0, \"⤶\"], [0, \"⤷\"], [0, \"⤸\"], [0, \"⤹\"], [2, \"⤼\"], [0, \"⤽\"], [7, \"⥅\"], [2, \"⥈\"], [0, \"⥉\"], [0, \"⥊\"], [0, \"⥋\"], [2, \"⥎\"], [0, \"⥏\"], [0, \"⥐\"], [0, \"⥑\"], [0, \"⥒\"], [0, \"⥓\"], [0, \"⥔\"], [0, \"⥕\"], [0, \"⥖\"], [0, \"⥗\"], [0, \"⥘\"], [0, \"⥙\"], [0, \"⥚\"], [0, \"⥛\"], [0, \"⥜\"], [0, \"⥝\"], [0, \"⥞\"], [0, \"⥟\"], [0, \"⥠\"], [0, \"⥡\"], [0, \"⥢\"], [0, \"⥣\"], [0, \"⥤\"], [0, \"⥥\"], [0, \"⥦\"], [0, \"⥧\"], [0, \"⥨\"], [0, \"⥩\"], [0, \"⥪\"], [0, \"⥫\"], [0, \"⥬\"], [0, \"⥭\"], [0, \"⥮\"], [0, \"⥯\"], [0, \"⥰\"], [0, \"⥱\"], [0, \"⥲\"], [0, \"⥳\"], [0, \"⥴\"], [0, \"⥵\"], [0, \"⥶\"], [1, \"⥸\"], [0, \"⥹\"], [1, \"⥻\"], [0, \"⥼\"], [0, \"⥽\"], [0, \"⥾\"], [0, \"⥿\"], [5, \"⦅\"], [0, \"⦆\"], [4, \"⦋\"], [0, \"⦌\"], [0, \"⦍\"], [0, \"⦎\"], [0, \"⦏\"], [0, \"⦐\"], [0, \"⦑\"], [0, \"⦒\"], [0, \"⦓\"], [0, \"⦔\"], [0, \"⦕\"], [0, \"⦖\"], [3, \"⦚\"], [1, \"⦜\"], [0, \"⦝\"], [6, \"⦤\"], [0, \"⦥\"], [0, \"⦦\"], [0, \"⦧\"], [0, \"⦨\"], [0, \"⦩\"], [0, \"⦪\"], [0, \"⦫\"], [0, \"⦬\"], [0, \"⦭\"], [0, \"⦮\"], [0, \"⦯\"], [0, \"⦰\"], [0, \"⦱\"], [0, \"⦲\"], [0, \"⦳\"], [0, \"⦴\"], [0, \"⦵\"], [0, \"⦶\"], [0, \"⦷\"], [1, \"⦹\"], [1, \"⦻\"], [0, \"⦼\"], [1, \"⦾\"], [0, \"⦿\"], [0, \"⧀\"], [0, \"⧁\"], [0, \"⧂\"], [0, \"⧃\"], [0, \"⧄\"], [0, \"⧅\"], [3, \"⧉\"], [3, \"⧍\"], [0, \"⧎\"], [0, { v: \"⧏\", n: 824, o: \"⧏̸\" }], [0, { v: \"⧐\", n: 824, o: \"⧐̸\" }], [11, \"⧜\"], [0, \"⧝\"], [0, \"⧞\"], [4, \"⧣\"], [0, \"⧤\"], [0, \"⧥\"], [5, \"⧫\"], [8, \"⧴\"], [1, \"⧶\"], [9, \"⨀\"], [0, \"⨁\"], [0, \"⨂\"], [1, \"⨄\"], [1, \"⨆\"], [5, \"⨌\"], [0, \"⨍\"], [2, \"⨐\"], [0, \"⨑\"], [0, \"⨒\"], [0, \"⨓\"], [0, \"⨔\"], [0, \"⨕\"], [0, \"⨖\"], [0, \"⨗\"], [10, \"⨢\"], [0, \"⨣\"], [0, \"⨤\"], [0, \"⨥\"], [0, \"⨦\"], [0, \"⨧\"], [1, \"⨩\"], [0, \"⨪\"], [2, \"⨭\"], [0, \"⨮\"], [0, \"⨯\"], [0, \"⨰\"], [0, \"⨱\"], [1, \"⨳\"], [0, \"⨴\"], [0, \"⨵\"], [0, \"⨶\"], [0, \"⨷\"], [0, \"⨸\"], [0, \"⨹\"], [0, \"⨺\"], [0, \"⨻\"], [0, \"⨼\"], [2, \"⨿\"], [0, \"⩀\"], [1, \"⩂\"], [0, \"⩃\"], [0, \"⩄\"], [0, \"⩅\"], [0, \"⩆\"], [0, \"⩇\"], [0, \"⩈\"], [0, \"⩉\"], [0, \"⩊\"], [0, \"⩋\"], [0, \"⩌\"], [0, \"⩍\"], [2, \"⩐\"], [2, \"⩓\"], [0, \"⩔\"], [0, \"⩕\"], [0, \"⩖\"], [0, \"⩗\"], [0, \"⩘\"], [1, \"⩚\"], [0, \"⩛\"], [0, \"⩜\"], [0, \"⩝\"], [1, \"⩟\"], [6, \"⩦\"], [3, \"⩪\"], [2, { v: \"⩭\", n: 824, o: \"⩭̸\" }], [0, \"⩮\"], [0, \"⩯\"], [0, { v: \"⩰\", n: 824, o: \"⩰̸\" }], [0, \"⩱\"], [0, \"⩲\"], [0, \"⩳\"], [0, \"⩴\"], [0, \"⩵\"], [1, \"⩷\"], [0, \"⩸\"], [0, \"⩹\"], [0, \"⩺\"], [0, \"⩻\"], [0, \"⩼\"], [0, { v: \"⩽\", n: 824, o: \"⩽̸\" }], [0, { v: \"⩾\", n: 824, o: \"⩾̸\" }], [0, \"⩿\"], [0, \"⪀\"], [0, \"⪁\"], [0, \"⪂\"], [0, \"⪃\"], [0, \"⪄\"], [0, \"⪅\"], [0, \"⪆\"], [0, \"⪇\"], [0, \"⪈\"], [0, \"⪉\"], [0, \"⪊\"], [0, \"⪋\"], [0, \"⪌\"], [0, \"⪍\"], [0, \"⪎\"], [0, \"⪏\"], [0, \"⪐\"], [0, \"⪑\"], [0, \"⪒\"], [0, \"⪓\"], [0, \"⪔\"], [0, \"⪕\"], [0, \"⪖\"], [0, \"⪗\"], [0, \"⪘\"], [0, \"⪙\"], [0, \"⪚\"], [2, \"⪝\"], [0, \"⪞\"], [0, \"⪟\"], [0, \"⪠\"], [0, { v: \"⪡\", n: 824, o: \"⪡̸\" }], [0, { v: \"⪢\", n: 824, o: \"⪢̸\" }], [1, \"⪤\"], [0, \"⪥\"], [0, \"⪦\"], [0, \"⪧\"], [0, \"⪨\"], [0, \"⪩\"], [0, \"⪪\"], [0, \"⪫\"], [0, { v: \"⪬\", n: 65024, o: \"⪬︀\" }], [0, { v: \"⪭\", n: 65024, o: \"⪭︀\" }], [0, \"⪮\"], [0, { v: \"⪯\", n: 824, o: \"⪯̸\" }], [0, { v: \"⪰\", n: 824, o: \"⪰̸\" }], [2, \"⪳\"], [0, \"⪴\"], [0, \"⪵\"], [0, \"⪶\"], [0, \"⪷\"], [0, \"⪸\"], [0, \"⪹\"], [0, \"⪺\"], [0, \"⪻\"], [0, \"⪼\"], [0, \"⪽\"], [0, \"⪾\"], [0, \"⪿\"], [0, \"⫀\"], [0, \"⫁\"], [0, \"⫂\"], [0, \"⫃\"], [0, \"⫄\"], [0, { v: \"⫅\", n: 824, o: \"⫅̸\" }], [0, { v: \"⫆\", n: 824, o: \"⫆̸\" }], [0, \"⫇\"], [0, \"⫈\"], [2, { v: \"⫋\", n: 65024, o: \"⫋︀\" }], [0, { v: \"⫌\", n: 65024, o: \"⫌︀\" }], [2, \"⫏\"], [0, \"⫐\"], [0, \"⫑\"], [0, \"⫒\"], [0, \"⫓\"], [0, \"⫔\"], [0, \"⫕\"], [0, \"⫖\"], [0, \"⫗\"], [0, \"⫘\"], [0, \"⫙\"], [0, \"⫚\"], [0, \"⫛\"], [8, \"⫤\"], [1, \"⫦\"], [0, \"⫧\"], [0, \"⫨\"], [0, \"⫩\"], [1, \"⫫\"], [0, \"⫬\"], [0, \"⫭\"], [0, \"⫮\"], [0, \"⫯\"], [0, \"⫰\"], [0, \"⫱\"], [0, \"⫲\"], [0, \"⫳\"], [9, { v: \"⫽\", n: 8421, o: \"⫽⃥\" }], [44343, { n: new Map(/* #__PURE__ */ restoreDiff([[56476, \"𝒜\"], [1, \"𝒞\"], [0, \"𝒟\"], [2, \"𝒢\"], [2, \"𝒥\"], [0, \"𝒦\"], [2, \"𝒩\"], [0, \"𝒪\"], [0, \"𝒫\"], [0, \"𝒬\"], [1, \"𝒮\"], [0, \"𝒯\"], [0, \"𝒰\"], [0, \"𝒱\"], [0, \"𝒲\"], [0, \"𝒳\"], [0, \"𝒴\"], [0, \"𝒵\"], [0, \"𝒶\"], [0, \"𝒷\"], [0, \"𝒸\"], [0, \"𝒹\"], [1, \"𝒻\"], [1, \"𝒽\"], [0, \"𝒾\"], [0, \"𝒿\"], [0, \"𝓀\"], [0, \"𝓁\"], [0, \"𝓂\"], [0, \"𝓃\"], [1, \"𝓅\"], [0, \"𝓆\"], [0, \"𝓇\"], [0, \"𝓈\"], [0, \"𝓉\"], [0, \"𝓊\"], [0, \"𝓋\"], [0, \"𝓌\"], [0, \"𝓍\"], [0, \"𝓎\"], [0, \"𝓏\"], [52, \"𝔄\"], [0, \"𝔅\"], [1, \"𝔇\"], [0, \"𝔈\"], [0, \"𝔉\"], [0, \"𝔊\"], [2, \"𝔍\"], [0, \"𝔎\"], [0, \"𝔏\"], [0, \"𝔐\"], [0, \"𝔑\"], [0, \"𝔒\"], [0, \"𝔓\"], [0, \"𝔔\"], [1, \"𝔖\"], [0, \"𝔗\"], [0, \"𝔘\"], [0, \"𝔙\"], [0, \"𝔚\"], [0, \"𝔛\"], [0, \"𝔜\"], [1, \"𝔞\"], [0, \"𝔟\"], [0, \"𝔠\"], [0, \"𝔡\"], [0, \"𝔢\"], [0, \"𝔣\"], [0, \"𝔤\"], [0, \"𝔥\"], [0, \"𝔦\"], [0, \"𝔧\"], [0, \"𝔨\"], [0, \"𝔩\"], [0, \"𝔪\"], [0, \"𝔫\"], [0, \"𝔬\"], [0, \"𝔭\"], [0, \"𝔮\"], [0, \"𝔯\"], [0, \"𝔰\"], [0, \"𝔱\"], [0, \"𝔲\"], [0, \"𝔳\"], [0, \"𝔴\"], [0, \"𝔵\"], [0, \"𝔶\"], [0, \"𝔷\"], [0, \"𝔸\"], [0, \"𝔹\"], [1, \"𝔻\"], [0, \"𝔼\"], [0, \"𝔽\"], [0, \"𝔾\"], [1, \"𝕀\"], [0, \"𝕁\"], [0, \"𝕂\"], [0, \"𝕃\"], [0, \"𝕄\"], [1, \"𝕆\"], [3, \"𝕊\"], [0, \"𝕋\"], [0, \"𝕌\"], [0, \"𝕍\"], [0, \"𝕎\"], [0, \"𝕏\"], [0, \"𝕐\"], [1, \"𝕒\"], [0, \"𝕓\"], [0, \"𝕔\"], [0, \"𝕕\"], [0, \"𝕖\"], [0, \"𝕗\"], [0, \"𝕘\"], [0, \"𝕙\"], [0, \"𝕚\"], [0, \"𝕛\"], [0, \"𝕜\"], [0, \"𝕝\"], [0, \"𝕞\"], [0, \"𝕟\"], [0, \"𝕠\"], [0, \"𝕡\"], [0, \"𝕢\"], [0, \"𝕣\"], [0, \"𝕤\"], [0, \"𝕥\"], [0, \"𝕦\"], [0, \"𝕧\"], [0, \"𝕨\"], [0, \"𝕩\"], [0, \"𝕪\"], [0, \"𝕫\"]])) }], [8906, \"ff\"], [0, \"fi\"], [0, \"fl\"], [0, \"ffi\"], [0, \"ffl\"]]));\n//# sourceMappingURL=encode-html.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0;\nexports.xmlReplacer = /[\"&'<>$\\x80-\\uFFFF]/g;\nvar xmlCodeMap = new Map([\n [34, \""\"],\n [38, \"&\"],\n [39, \"'\"],\n [60, \"<\"],\n [62, \">\"],\n]);\n// For compatibility with node < 4, we wrap `codePointAt`\nexports.getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? function (str, index) { return str.codePointAt(index); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c, index) {\n return (c.charCodeAt(index) & 0xfc00) === 0xd800\n ? (c.charCodeAt(index) - 0xd800) * 0x400 +\n c.charCodeAt(index + 1) -\n 0xdc00 +\n 0x10000\n : c.charCodeAt(index);\n };\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nfunction encodeXML(str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = exports.xmlReplacer.exec(str)) !== null) {\n var i = match.index;\n var char = str.charCodeAt(i);\n var next = xmlCodeMap.get(char);\n if (next !== undefined) {\n ret += str.substring(lastIdx, i) + next;\n lastIdx = i + 1;\n }\n else {\n ret += \"\".concat(str.substring(lastIdx, i), \"&#x\").concat((0, exports.getCodePoint)(str, i).toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n }\n }\n return ret + str.substr(lastIdx);\n}\nexports.encodeXML = encodeXML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nexports.escape = encodeXML;\n/**\n * Creates a function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n *\n * @param regex Regular expression to match characters to escape.\n * @param map Map of characters to escape to their entities.\n *\n * @returns Function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n */\nfunction getEscaper(regex, map) {\n return function escape(data) {\n var match;\n var lastIdx = 0;\n var result = \"\";\n while ((match = regex.exec(data))) {\n if (lastIdx !== match.index) {\n result += data.substring(lastIdx, match.index);\n }\n // We know that this character will be in the map.\n result += map.get(match[0].charCodeAt(0));\n // Every match will be of length 1\n lastIdx = match.index + 1;\n }\n return result + data.substring(lastIdx);\n };\n}\n/**\n * Encodes all characters not valid in XML documents using XML entities.\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nexports.escapeUTF8 = getEscaper(/[&<>'\"]/g, xmlCodeMap);\n/**\n * Encodes all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeAttribute = getEscaper(/[\"&\\u00A0]/g, new Map([\n [34, \""\"],\n [38, \"&\"],\n [160, \" \"],\n]));\n/**\n * Encodes all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeText = getEscaper(/[&<>\\u00A0]/g, new Map([\n [38, \"&\"],\n [60, \"<\"],\n [62, \">\"],\n [160, \" \"],\n]));\n//# sourceMappingURL=escape.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encodeNonAsciiHTML = exports.encodeHTML = void 0;\nvar encode_html_js_1 = __importDefault(require(\"./generated/encode-html.js\"));\nvar escape_js_1 = require(\"./escape.js\");\nvar htmlReplacer = /[\\t\\n!-,./:-@[-`\\f{-}$\\x80-\\uFFFF]/g;\n/**\n * Encodes all characters in the input using HTML entities. This includes\n * characters that are valid ASCII characters in HTML documents, such as `#`.\n *\n * To get a more compact output, consider using the `encodeNonAsciiHTML`\n * function, which will only encode characters that are not valid in HTML\n * documents, as well as non-ASCII characters.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `ü`) will be used.\n */\nfunction encodeHTML(data) {\n return encodeHTMLTrieRe(htmlReplacer, data);\n}\nexports.encodeHTML = encodeHTML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in HTML\n * documents using HTML entities. This function will not encode characters that\n * are valid in HTML documents, such as `#`.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `ü`) will be used.\n */\nfunction encodeNonAsciiHTML(data) {\n return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data);\n}\nexports.encodeNonAsciiHTML = encodeNonAsciiHTML;\nfunction encodeHTMLTrieRe(regExp, str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = regExp.exec(str)) !== null) {\n var i = match.index;\n ret += str.substring(lastIdx, i);\n var char = str.charCodeAt(i);\n var next = encode_html_js_1.default.get(char);\n if (typeof next === \"object\") {\n // We are in a branch. Try to match the next char.\n if (i + 1 < str.length) {\n var nextChar = str.charCodeAt(i + 1);\n var value = typeof next.n === \"number\"\n ? next.n === nextChar\n ? next.o\n : undefined\n : next.n.get(nextChar);\n if (value !== undefined) {\n ret += value;\n lastIdx = regExp.lastIndex += 1;\n continue;\n }\n }\n next = next.v;\n }\n // We might have a tree node without a value; skip and use a numeric entity.\n if (next !== undefined) {\n ret += next;\n lastIdx = i + 1;\n }\n else {\n var cp = (0, escape_js_1.getCodePoint)(str, i);\n ret += \"&#x\".concat(cp.toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = regExp.lastIndex += Number(cp !== char);\n }\n }\n return ret + str.substr(lastIdx);\n}\n//# sourceMappingURL=encode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = void 0;\nvar decode_js_1 = require(\"./decode.js\");\nvar encode_js_1 = require(\"./encode.js\");\nvar escape_js_1 = require(\"./escape.js\");\n/** The level of entities to support. */\nvar EntityLevel;\n(function (EntityLevel) {\n /** Support only XML entities. */\n EntityLevel[EntityLevel[\"XML\"] = 0] = \"XML\";\n /** Support HTML entities, which are a superset of XML entities. */\n EntityLevel[EntityLevel[\"HTML\"] = 1] = \"HTML\";\n})(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {}));\nvar EncodingMode;\n(function (EncodingMode) {\n /**\n * The output is UTF-8 encoded. Only characters that need escaping within\n * XML will be escaped.\n */\n EncodingMode[EncodingMode[\"UTF8\"] = 0] = \"UTF8\";\n /**\n * The output consists only of ASCII characters. Characters that need\n * escaping within HTML, and characters that aren't ASCII characters will\n * be escaped.\n */\n EncodingMode[EncodingMode[\"ASCII\"] = 1] = \"ASCII\";\n /**\n * Encode all characters that have an equivalent entity, as well as all\n * characters that are not ASCII characters.\n */\n EncodingMode[EncodingMode[\"Extensive\"] = 2] = \"Extensive\";\n /**\n * Encode all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Attribute\"] = 3] = \"Attribute\";\n /**\n * Encode all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Text\"] = 4] = \"Text\";\n})(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {}));\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n */\nfunction decode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var level = typeof options === \"number\" ? options : options.level;\n if (level === EntityLevel.HTML) {\n var mode = typeof options === \"object\" ? options.mode : undefined;\n return (0, decode_js_1.decodeHTML)(data, mode);\n }\n return (0, decode_js_1.decodeXML)(data);\n}\nexports.decode = decode;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n * @deprecated Use `decode` with the `mode` set to `Strict`.\n */\nfunction decodeStrict(data, options) {\n var _a;\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n (_a = opts.mode) !== null && _a !== void 0 ? _a : (opts.mode = decode_js_1.DecodingMode.Strict);\n return decode(data, opts);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param options Encoding options.\n */\nfunction encode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n // Mode `UTF8` just escapes XML entities\n if (opts.mode === EncodingMode.UTF8)\n return (0, escape_js_1.escapeUTF8)(data);\n if (opts.mode === EncodingMode.Attribute)\n return (0, escape_js_1.escapeAttribute)(data);\n if (opts.mode === EncodingMode.Text)\n return (0, escape_js_1.escapeText)(data);\n if (opts.level === EntityLevel.HTML) {\n if (opts.mode === EncodingMode.ASCII) {\n return (0, encode_js_1.encodeNonAsciiHTML)(data);\n }\n return (0, encode_js_1.encodeHTML)(data);\n }\n // ASCII and Extensive are equivalent\n return (0, escape_js_1.encodeXML)(data);\n}\nexports.encode = encode;\nvar escape_js_2 = require(\"./escape.js\");\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return escape_js_2.encodeXML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return escape_js_2.escape; } });\nObject.defineProperty(exports, \"escapeUTF8\", { enumerable: true, get: function () { return escape_js_2.escapeUTF8; } });\nObject.defineProperty(exports, \"escapeAttribute\", { enumerable: true, get: function () { return escape_js_2.escapeAttribute; } });\nObject.defineProperty(exports, \"escapeText\", { enumerable: true, get: function () { return escape_js_2.escapeText; } });\nvar encode_js_2 = require(\"./encode.js\");\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: true, get: function () { return encode_js_2.encodeNonAsciiHTML; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nvar decode_js_2 = require(\"./decode.js\");\nObject.defineProperty(exports, \"EntityDecoder\", { enumerable: true, get: function () { return decode_js_2.EntityDecoder; } });\nObject.defineProperty(exports, \"DecodingMode\", { enumerable: true, get: function () { return decode_js_2.DecodingMode; } });\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTMLAttribute\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLAttribute; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\nexports.attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.render = void 0;\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nvar entities_1 = require(\"entities\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_js_1 = require(\"./foreignNames.js\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? entities_1.encodeXML\n : entities_1.escapeAttribute;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return \"\".concat(key, \"=\\\"\").concat(encode(value), \"\\\"\");\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports.render = render;\nexports.default = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\".concat(elem.name);\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \".concat(attribs);\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"</\".concat(elem.name, \">\");\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\".concat(elem.data, \">\");\n}\nfunction renderText(elem, opts) {\n var _a;\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? (0, entities_1.encodeXML)(data)\n : (0, entities_1.escapeText)(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"<![CDATA[\".concat(elem.children[0].data, \"]]>\");\n}\nfunction renderComment(elem) {\n return \"<!--\".concat(elem.data, \"-->\");\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOuterHTML = getOuterHTML;\nexports.getInnerHTML = getInnerHTML;\nexports.getText = getText;\nexports.textContent = textContent;\nexports.innerText = innerText;\nvar domhandler_1 = require(\"domhandler\");\nvar dom_serializer_1 = __importDefault(require(\"dom-serializer\"));\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the outer HTML of.\n * @param options Options for serialization.\n * @returns `node`'s outer HTML.\n */\nfunction getOuterHTML(node, options) {\n return (0, dom_serializer_1.default)(node, options);\n}\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the inner HTML of.\n * @param options Options for serialization.\n * @returns `node`'s inner HTML.\n */\nfunction getInnerHTML(node, options) {\n return (0, domhandler_1.hasChildren)(node)\n ? node.children.map(function (node) { return getOuterHTML(node, options); }).join(\"\")\n : \"\";\n}\n/**\n * Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. Ignores comments.\n *\n * @category Stringify\n * @deprecated Use `textContent` instead.\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n */\nfunction getText(node) {\n if (Array.isArray(node))\n return node.map(getText).join(\"\");\n if ((0, domhandler_1.isTag)(node))\n return node.name === \"br\" ? \"\\n\" : getText(node.children);\n if ((0, domhandler_1.isCDATA)(node))\n return getText(node.children);\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\n/**\n * Get a node's text content. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the text content of.\n * @returns `node`'s text content.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent}\n */\nfunction textContent(node) {\n if (Array.isArray(node))\n return node.map(textContent).join(\"\");\n if ((0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node)) {\n return textContent(node.children);\n }\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\n/**\n * Get a node's inner text, ignoring `<script>` and `<style>` tags. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText}\n */\nfunction innerText(node) {\n if (Array.isArray(node))\n return node.map(innerText).join(\"\");\n if ((0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node))) {\n return innerText(node.children);\n }\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\n//# sourceMappingURL=stringify.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getChildren = getChildren;\nexports.getParent = getParent;\nexports.getSiblings = getSiblings;\nexports.getAttributeValue = getAttributeValue;\nexports.hasAttrib = hasAttrib;\nexports.getName = getName;\nexports.nextElementSibling = nextElementSibling;\nexports.prevElementSibling = prevElementSibling;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Get a node's children.\n *\n * @category Traversal\n * @param elem Node to get the children of.\n * @returns `elem`'s children, or an empty array.\n */\nfunction getChildren(elem) {\n return (0, domhandler_1.hasChildren)(elem) ? elem.children : [];\n}\n/**\n * Get a node's parent.\n *\n * @category Traversal\n * @param elem Node to get the parent of.\n * @returns `elem`'s parent node, or `null` if `elem` is a root node.\n */\nfunction getParent(elem) {\n return elem.parent || null;\n}\n/**\n * Gets an elements siblings, including the element itself.\n *\n * Attempts to get the children through the element's parent first. If we don't\n * have a parent (the element is a root node), we walk the element's `prev` &\n * `next` to get all remaining nodes.\n *\n * @category Traversal\n * @param elem Element to get the siblings of.\n * @returns `elem`'s siblings, including `elem`.\n */\nfunction getSiblings(elem) {\n var _a, _b;\n var parent = getParent(elem);\n if (parent != null)\n return getChildren(parent);\n var siblings = [elem];\n var prev = elem.prev, next = elem.next;\n while (prev != null) {\n siblings.unshift(prev);\n (_a = prev, prev = _a.prev);\n }\n while (next != null) {\n siblings.push(next);\n (_b = next, next = _b.next);\n }\n return siblings;\n}\n/**\n * Gets an attribute from an element.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to retrieve.\n * @returns The element's attribute value, or `undefined`.\n */\nfunction getAttributeValue(elem, name) {\n var _a;\n return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];\n}\n/**\n * Checks whether an element has an attribute.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to look for.\n * @returns Returns whether `elem` has the attribute `name`.\n */\nfunction hasAttrib(elem, name) {\n return (elem.attribs != null &&\n Object.prototype.hasOwnProperty.call(elem.attribs, name) &&\n elem.attribs[name] != null);\n}\n/**\n * Get the tag name of an element.\n *\n * @category Traversal\n * @param elem The element to get the name for.\n * @returns The tag name of `elem`.\n */\nfunction getName(elem) {\n return elem.name;\n}\n/**\n * Returns the next element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the next sibling of.\n * @returns `elem`'s next sibling that is a tag, or `null` if there is no next\n * sibling.\n */\nfunction nextElementSibling(elem) {\n var _a;\n var next = elem.next;\n while (next !== null && !(0, domhandler_1.isTag)(next))\n (_a = next, next = _a.next);\n return next;\n}\n/**\n * Returns the previous element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the previous sibling of.\n * @returns `elem`'s previous sibling that is a tag, or `null` if there is no\n * previous sibling.\n */\nfunction prevElementSibling(elem) {\n var _a;\n var prev = elem.prev;\n while (prev !== null && !(0, domhandler_1.isTag)(prev))\n (_a = prev, prev = _a.prev);\n return prev;\n}\n//# sourceMappingURL=traversal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeElement = removeElement;\nexports.replaceElement = replaceElement;\nexports.appendChild = appendChild;\nexports.append = append;\nexports.prependChild = prependChild;\nexports.prepend = prepend;\n/**\n * Remove an element from the dom\n *\n * @category Manipulation\n * @param elem The element to be removed\n */\nfunction removeElement(elem) {\n if (elem.prev)\n elem.prev.next = elem.next;\n if (elem.next)\n elem.next.prev = elem.prev;\n if (elem.parent) {\n var childs = elem.parent.children;\n var childsIndex = childs.lastIndexOf(elem);\n if (childsIndex >= 0) {\n childs.splice(childsIndex, 1);\n }\n }\n elem.next = null;\n elem.prev = null;\n elem.parent = null;\n}\n/**\n * Replace an element in the dom\n *\n * @category Manipulation\n * @param elem The element to be replaced\n * @param replacement The element to be added\n */\nfunction replaceElement(elem, replacement) {\n var prev = (replacement.prev = elem.prev);\n if (prev) {\n prev.next = replacement;\n }\n var next = (replacement.next = elem.next);\n if (next) {\n next.prev = replacement;\n }\n var parent = (replacement.parent = elem.parent);\n if (parent) {\n var childs = parent.children;\n childs[childs.lastIndexOf(elem)] = replacement;\n elem.parent = null;\n }\n}\n/**\n * Append a child to an element.\n *\n * @category Manipulation\n * @param parent The element to append to.\n * @param child The element to be added as a child.\n */\nfunction appendChild(parent, child) {\n removeElement(child);\n child.next = null;\n child.parent = parent;\n if (parent.children.push(child) > 1) {\n var sibling = parent.children[parent.children.length - 2];\n sibling.next = child;\n child.prev = sibling;\n }\n else {\n child.prev = null;\n }\n}\n/**\n * Append an element after another.\n *\n * @category Manipulation\n * @param elem The element to append after.\n * @param next The element be added.\n */\nfunction append(elem, next) {\n removeElement(next);\n var parent = elem.parent;\n var currNext = elem.next;\n next.next = currNext;\n next.prev = elem;\n elem.next = next;\n next.parent = parent;\n if (currNext) {\n currNext.prev = next;\n if (parent) {\n var childs = parent.children;\n childs.splice(childs.lastIndexOf(currNext), 0, next);\n }\n }\n else if (parent) {\n parent.children.push(next);\n }\n}\n/**\n * Prepend a child to an element.\n *\n * @category Manipulation\n * @param parent The element to prepend before.\n * @param child The element to be added as a child.\n */\nfunction prependChild(parent, child) {\n removeElement(child);\n child.parent = parent;\n child.prev = null;\n if (parent.children.unshift(child) !== 1) {\n var sibling = parent.children[1];\n sibling.prev = child;\n child.next = sibling;\n }\n else {\n child.next = null;\n }\n}\n/**\n * Prepend an element before another.\n *\n * @category Manipulation\n * @param elem The element to prepend before.\n * @param prev The element be added.\n */\nfunction prepend(elem, prev) {\n removeElement(prev);\n var parent = elem.parent;\n if (parent) {\n var childs = parent.children;\n childs.splice(childs.indexOf(elem), 0, prev);\n }\n if (elem.prev) {\n elem.prev.next = prev;\n }\n prev.parent = parent;\n prev.prev = elem.prev;\n prev.next = elem;\n elem.prev = prev;\n}\n//# sourceMappingURL=manipulation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.filter = filter;\nexports.find = find;\nexports.findOneChild = findOneChild;\nexports.findOne = findOne;\nexports.existsOne = existsOne;\nexports.findAll = findAll;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Search a node and its children for nodes passing a test function. If `node` is not an array, it will be wrapped in one.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param node Node to search. Will be included in the result set if it matches.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction filter(test, node, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return find(test, Array.isArray(node) ? node : [node], recurse, limit);\n}\n/**\n * Search an array of nodes and their children for nodes passing a test function.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction find(test, nodes, recurse, limit) {\n var result = [];\n /** Stack of the arrays we are looking at. */\n var nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];\n /** Stack of the indices within the arrays. */\n var indexStack = [0];\n for (;;) {\n // First, check if the current array has any more elements to look at.\n if (indexStack[0] >= nodeStack[0].length) {\n // If we have no more arrays to look at, we are done.\n if (indexStack.length === 1) {\n return result;\n }\n // Otherwise, remove the current array from the stack.\n nodeStack.shift();\n indexStack.shift();\n // Loop back to the start to continue with the next array.\n continue;\n }\n var elem = nodeStack[0][indexStack[0]++];\n if (test(elem)) {\n result.push(elem);\n if (--limit <= 0)\n return result;\n }\n if (recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) {\n /*\n * Add the children to the stack. We are depth-first, so this is\n * the next array we look at.\n */\n indexStack.unshift(0);\n nodeStack.unshift(elem.children);\n }\n }\n}\n/**\n * Finds the first element inside of an array that matches a test function. This is an alias for `Array.prototype.find`.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns The first node in the array that passes `test`.\n * @deprecated Use `Array.prototype.find` directly.\n */\nfunction findOneChild(test, nodes) {\n return nodes.find(test);\n}\n/**\n * Finds one element in a tree that passes a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Node or array of nodes to search.\n * @param recurse Also consider child nodes.\n * @returns The first node that passes `test`.\n */\nfunction findOne(test, nodes, recurse) {\n if (recurse === void 0) { recurse = true; }\n var searchedNodes = Array.isArray(nodes) ? nodes : [nodes];\n for (var i = 0; i < searchedNodes.length; i++) {\n var node = searchedNodes[i];\n if ((0, domhandler_1.isTag)(node) && test(node)) {\n return node;\n }\n if (recurse && (0, domhandler_1.hasChildren)(node) && node.children.length > 0) {\n var found = findOne(test, node.children, true);\n if (found)\n return found;\n }\n }\n return null;\n}\n/**\n * Checks if a tree of nodes contains at least one node passing a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns Whether a tree of nodes contains at least one node passing the test.\n */\nfunction existsOne(test, nodes) {\n return (Array.isArray(nodes) ? nodes : [nodes]).some(function (node) {\n return ((0, domhandler_1.isTag)(node) && test(node)) ||\n ((0, domhandler_1.hasChildren)(node) && existsOne(test, node.children));\n });\n}\n/**\n * Search an array of nodes and their children for elements passing a test function.\n *\n * Same as `find`, but limited to elements and with less options, leading to reduced complexity.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns All nodes passing `test`.\n */\nfunction findAll(test, nodes) {\n var result = [];\n var nodeStack = [Array.isArray(nodes) ? nodes : [nodes]];\n var indexStack = [0];\n for (;;) {\n if (indexStack[0] >= nodeStack[0].length) {\n if (nodeStack.length === 1) {\n return result;\n }\n // Otherwise, remove the current array from the stack.\n nodeStack.shift();\n indexStack.shift();\n // Loop back to the start to continue with the next array.\n continue;\n }\n var elem = nodeStack[0][indexStack[0]++];\n if ((0, domhandler_1.isTag)(elem) && test(elem))\n result.push(elem);\n if ((0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) {\n indexStack.unshift(0);\n nodeStack.unshift(elem.children);\n }\n }\n}\n//# sourceMappingURL=querying.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.testElement = testElement;\nexports.getElements = getElements;\nexports.getElementById = getElementById;\nexports.getElementsByTagName = getElementsByTagName;\nexports.getElementsByClassName = getElementsByClassName;\nexports.getElementsByTagType = getElementsByTagType;\nvar domhandler_1 = require(\"domhandler\");\nvar querying_js_1 = require(\"./querying.js\");\n/**\n * A map of functions to check nodes against.\n */\nvar Checks = {\n tag_name: function (name) {\n if (typeof name === \"function\") {\n return function (elem) { return (0, domhandler_1.isTag)(elem) && name(elem.name); };\n }\n else if (name === \"*\") {\n return domhandler_1.isTag;\n }\n return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.name === name; };\n },\n tag_type: function (type) {\n if (typeof type === \"function\") {\n return function (elem) { return type(elem.type); };\n }\n return function (elem) { return elem.type === type; };\n },\n tag_contains: function (data) {\n if (typeof data === \"function\") {\n return function (elem) { return (0, domhandler_1.isText)(elem) && data(elem.data); };\n }\n return function (elem) { return (0, domhandler_1.isText)(elem) && elem.data === data; };\n },\n};\n/**\n * Returns a function to check whether a node has an attribute with a particular\n * value.\n *\n * @param attrib Attribute to check.\n * @param value Attribute value to look for.\n * @returns A function to check whether the a node has an attribute with a\n * particular value.\n */\nfunction getAttribCheck(attrib, value) {\n if (typeof value === \"function\") {\n return function (elem) { return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib]); };\n }\n return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value; };\n}\n/**\n * Returns a function that returns `true` if either of the input functions\n * returns `true` for a node.\n *\n * @param a First function to combine.\n * @param b Second function to combine.\n * @returns A function taking a node and returning `true` if either of the input\n * functions returns `true` for the node.\n */\nfunction combineFuncs(a, b) {\n return function (elem) { return a(elem) || b(elem); };\n}\n/**\n * Returns a function that executes all checks in `options` and returns `true`\n * if any of them match a node.\n *\n * @param options An object describing nodes to look for.\n * @returns A function that executes all checks in `options` and returns `true`\n * if any of them match a node.\n */\nfunction compileTest(options) {\n var funcs = Object.keys(options).map(function (key) {\n var value = options[key];\n return Object.prototype.hasOwnProperty.call(Checks, key)\n ? Checks[key](value)\n : getAttribCheck(key, value);\n });\n return funcs.length === 0 ? null : funcs.reduce(combineFuncs);\n}\n/**\n * Checks whether a node matches the description in `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param node The element to test.\n * @returns Whether the element matches the description in `options`.\n */\nfunction testElement(options, node) {\n var test = compileTest(options);\n return test ? test(node) : true;\n}\n/**\n * Returns all nodes that match `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes that match `options`.\n */\nfunction getElements(options, nodes, recurse, limit) {\n if (limit === void 0) { limit = Infinity; }\n var test = compileTest(options);\n return test ? (0, querying_js_1.filter)(test, nodes, recurse, limit) : [];\n}\n/**\n * Returns the node with the supplied ID.\n *\n * @category Legacy Query Functions\n * @param id The unique ID attribute value to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @returns The node with the supplied ID.\n */\nfunction getElementById(id, nodes, recurse) {\n if (recurse === void 0) { recurse = true; }\n if (!Array.isArray(nodes))\n nodes = [nodes];\n return (0, querying_js_1.findOne)(getAttribCheck(\"id\", id), nodes, recurse);\n}\n/**\n * Returns all nodes with the supplied `tagName`.\n *\n * @category Legacy Query Functions\n * @param tagName Tag name to search for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `tagName`.\n */\nfunction getElementsByTagName(tagName, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(Checks[\"tag_name\"](tagName), nodes, recurse, limit);\n}\n/**\n * Returns all nodes with the supplied `className`.\n *\n * @category Legacy Query Functions\n * @param className Class name to search for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `className`.\n */\nfunction getElementsByClassName(className, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(getAttribCheck(\"class\", className), nodes, recurse, limit);\n}\n/**\n * Returns all nodes with the supplied `type`.\n *\n * @category Legacy Query Functions\n * @param type Element type to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `type`.\n */\nfunction getElementsByTagType(type, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(Checks[\"tag_type\"](type), nodes, recurse, limit);\n}\n//# sourceMappingURL=legacy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocumentPosition = void 0;\nexports.removeSubsets = removeSubsets;\nexports.compareDocumentPosition = compareDocumentPosition;\nexports.uniqueSort = uniqueSort;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Given an array of nodes, remove any member that is contained by another\n * member.\n *\n * @category Helpers\n * @param nodes Nodes to filter.\n * @returns Remaining nodes that aren't contained by other nodes.\n */\nfunction removeSubsets(nodes) {\n var idx = nodes.length;\n /*\n * Check if each node (or one of its ancestors) is already contained in the\n * array.\n */\n while (--idx >= 0) {\n var node = nodes[idx];\n /*\n * Remove the node if it is not unique.\n * We are going through the array from the end, so we only\n * have to check nodes that preceed the node under consideration in the array.\n */\n if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {\n nodes.splice(idx, 1);\n continue;\n }\n for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) {\n if (nodes.includes(ancestor)) {\n nodes.splice(idx, 1);\n break;\n }\n }\n }\n return nodes;\n}\n/**\n * @category Helpers\n * @see {@link http://dom.spec.whatwg.org/#dom-node-comparedocumentposition}\n */\nvar DocumentPosition;\n(function (DocumentPosition) {\n DocumentPosition[DocumentPosition[\"DISCONNECTED\"] = 1] = \"DISCONNECTED\";\n DocumentPosition[DocumentPosition[\"PRECEDING\"] = 2] = \"PRECEDING\";\n DocumentPosition[DocumentPosition[\"FOLLOWING\"] = 4] = \"FOLLOWING\";\n DocumentPosition[DocumentPosition[\"CONTAINS\"] = 8] = \"CONTAINS\";\n DocumentPosition[DocumentPosition[\"CONTAINED_BY\"] = 16] = \"CONTAINED_BY\";\n})(DocumentPosition || (exports.DocumentPosition = DocumentPosition = {}));\n/**\n * Compare the position of one node against another node in any other document,\n * returning a bitmask with the values from {@link DocumentPosition}.\n *\n * Document order:\n * > There is an ordering, document order, defined on all the nodes in the\n * > document corresponding to the order in which the first character of the\n * > XML representation of each node occurs in the XML representation of the\n * > document after expansion of general entities. Thus, the document element\n * > node will be the first node. Element nodes occur before their children.\n * > Thus, document order orders element nodes in order of the occurrence of\n * > their start-tag in the XML (after expansion of entities). The attribute\n * > nodes of an element occur after the element and before its children. The\n * > relative order of attribute nodes is implementation-dependent.\n *\n * Source:\n * http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order\n *\n * @category Helpers\n * @param nodeA The first node to use in the comparison\n * @param nodeB The second node to use in the comparison\n * @returns A bitmask describing the input nodes' relative position.\n *\n * See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for\n * a description of these values.\n */\nfunction compareDocumentPosition(nodeA, nodeB) {\n var aParents = [];\n var bParents = [];\n if (nodeA === nodeB) {\n return 0;\n }\n var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent;\n while (current) {\n aParents.unshift(current);\n current = current.parent;\n }\n current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent;\n while (current) {\n bParents.unshift(current);\n current = current.parent;\n }\n var maxIdx = Math.min(aParents.length, bParents.length);\n var idx = 0;\n while (idx < maxIdx && aParents[idx] === bParents[idx]) {\n idx++;\n }\n if (idx === 0) {\n return DocumentPosition.DISCONNECTED;\n }\n var sharedParent = aParents[idx - 1];\n var siblings = sharedParent.children;\n var aSibling = aParents[idx];\n var bSibling = bParents[idx];\n if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {\n if (sharedParent === nodeB) {\n return DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY;\n }\n return DocumentPosition.FOLLOWING;\n }\n if (sharedParent === nodeA) {\n return DocumentPosition.PRECEDING | DocumentPosition.CONTAINS;\n }\n return DocumentPosition.PRECEDING;\n}\n/**\n * Sort an array of nodes based on their relative position in the document,\n * removing any duplicate nodes. If the array contains nodes that do not belong\n * to the same document, sort order is unspecified.\n *\n * @category Helpers\n * @param nodes Array of DOM nodes.\n * @returns Collection of unique nodes, sorted in document order.\n */\nfunction uniqueSort(nodes) {\n nodes = nodes.filter(function (node, i, arr) { return !arr.includes(node, i + 1); });\n nodes.sort(function (a, b) {\n var relative = compareDocumentPosition(a, b);\n if (relative & DocumentPosition.PRECEDING) {\n return -1;\n }\n else if (relative & DocumentPosition.FOLLOWING) {\n return 1;\n }\n return 0;\n });\n return nodes;\n}\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFeed = getFeed;\nvar stringify_js_1 = require(\"./stringify.js\");\nvar legacy_js_1 = require(\"./legacy.js\");\n/**\n * Get the feed object from the root of a DOM tree.\n *\n * @category Feeds\n * @param doc - The DOM to to extract the feed from.\n * @returns The feed.\n */\nfunction getFeed(doc) {\n var feedRoot = getOneElement(isValidFeed, doc);\n return !feedRoot\n ? null\n : feedRoot.name === \"feed\"\n ? getAtomFeed(feedRoot)\n : getRssFeed(feedRoot);\n}\n/**\n * Parse an Atom feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getAtomFeed(feedRoot) {\n var _a;\n var childs = feedRoot.children;\n var feed = {\n type: \"atom\",\n items: (0, legacy_js_1.getElementsByTagName)(\"entry\", childs).map(function (item) {\n var _a;\n var children = item.children;\n var entry = { media: getMediaElements(children) };\n addConditionally(entry, \"id\", \"id\", children);\n addConditionally(entry, \"title\", \"title\", children);\n var href = (_a = getOneElement(\"link\", children)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n if (href) {\n entry.link = href;\n }\n var description = fetch(\"summary\", children) || fetch(\"content\", children);\n if (description) {\n entry.description = description;\n }\n var pubDate = fetch(\"updated\", children);\n if (pubDate) {\n entry.pubDate = new Date(pubDate);\n }\n return entry;\n }),\n };\n addConditionally(feed, \"id\", \"id\", childs);\n addConditionally(feed, \"title\", \"title\", childs);\n var href = (_a = getOneElement(\"link\", childs)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n if (href) {\n feed.link = href;\n }\n addConditionally(feed, \"description\", \"subtitle\", childs);\n var updated = fetch(\"updated\", childs);\n if (updated) {\n feed.updated = new Date(updated);\n }\n addConditionally(feed, \"author\", \"email\", childs, true);\n return feed;\n}\n/**\n * Parse a RSS feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getRssFeed(feedRoot) {\n var _a, _b;\n var childs = (_b = (_a = getOneElement(\"channel\", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : [];\n var feed = {\n type: feedRoot.name.substr(0, 3),\n id: \"\",\n items: (0, legacy_js_1.getElementsByTagName)(\"item\", feedRoot.children).map(function (item) {\n var children = item.children;\n var entry = { media: getMediaElements(children) };\n addConditionally(entry, \"id\", \"guid\", children);\n addConditionally(entry, \"title\", \"title\", children);\n addConditionally(entry, \"link\", \"link\", children);\n addConditionally(entry, \"description\", \"description\", children);\n var pubDate = fetch(\"pubDate\", children) || fetch(\"dc:date\", children);\n if (pubDate)\n entry.pubDate = new Date(pubDate);\n return entry;\n }),\n };\n addConditionally(feed, \"title\", \"title\", childs);\n addConditionally(feed, \"link\", \"link\", childs);\n addConditionally(feed, \"description\", \"description\", childs);\n var updated = fetch(\"lastBuildDate\", childs);\n if (updated) {\n feed.updated = new Date(updated);\n }\n addConditionally(feed, \"author\", \"managingEditor\", childs, true);\n return feed;\n}\nvar MEDIA_KEYS_STRING = [\"url\", \"type\", \"lang\"];\nvar MEDIA_KEYS_INT = [\n \"fileSize\",\n \"bitrate\",\n \"framerate\",\n \"samplingrate\",\n \"channels\",\n \"duration\",\n \"height\",\n \"width\",\n];\n/**\n * Get all media elements of a feed item.\n *\n * @param where Nodes to search in.\n * @returns Media elements.\n */\nfunction getMediaElements(where) {\n return (0, legacy_js_1.getElementsByTagName)(\"media:content\", where).map(function (elem) {\n var attribs = elem.attribs;\n var media = {\n medium: attribs[\"medium\"],\n isDefault: !!attribs[\"isDefault\"],\n };\n for (var _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) {\n var attrib = MEDIA_KEYS_STRING_1[_i];\n if (attribs[attrib]) {\n media[attrib] = attribs[attrib];\n }\n }\n for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) {\n var attrib = MEDIA_KEYS_INT_1[_a];\n if (attribs[attrib]) {\n media[attrib] = parseInt(attribs[attrib], 10);\n }\n }\n if (attribs[\"expression\"]) {\n media.expression = attribs[\"expression\"];\n }\n return media;\n });\n}\n/**\n * Get one element by tag name.\n *\n * @param tagName Tag name to look for\n * @param node Node to search in\n * @returns The element or null\n */\nfunction getOneElement(tagName, node) {\n return (0, legacy_js_1.getElementsByTagName)(tagName, node, true, 1)[0];\n}\n/**\n * Get the text content of an element with a certain tag name.\n *\n * @param tagName Tag name to look for.\n * @param where Node to search in.\n * @param recurse Whether to recurse into child nodes.\n * @returns The text content of the element.\n */\nfunction fetch(tagName, where, recurse) {\n if (recurse === void 0) { recurse = false; }\n return (0, stringify_js_1.textContent)((0, legacy_js_1.getElementsByTagName)(tagName, where, recurse, 1)).trim();\n}\n/**\n * Adds a property to an object if it has a value.\n *\n * @param obj Object to be extended\n * @param prop Property name\n * @param tagName Tag name that contains the conditionally added property\n * @param where Element to search for the property\n * @param recurse Whether to recurse into child nodes.\n */\nfunction addConditionally(obj, prop, tagName, where, recurse) {\n if (recurse === void 0) { recurse = false; }\n var val = fetch(tagName, where, recurse);\n if (val)\n obj[prop] = val;\n}\n/**\n * Checks if an element is a feed root node.\n *\n * @param value The name of the element to check.\n * @returns Whether an element is a feed root node.\n */\nfunction isValidFeed(value) {\n return value === \"rss\" || value === \"feed\" || value === \"rdf:RDF\";\n}\n//# sourceMappingURL=feeds.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0;\n__exportStar(require(\"./stringify.js\"), exports);\n__exportStar(require(\"./traversal.js\"), exports);\n__exportStar(require(\"./manipulation.js\"), exports);\n__exportStar(require(\"./querying.js\"), exports);\n__exportStar(require(\"./legacy.js\"), exports);\n__exportStar(require(\"./helpers.js\"), exports);\n__exportStar(require(\"./feeds.js\"), exports);\n/** @deprecated Use these methods from `domhandler` directly. */\nvar domhandler_1 = require(\"domhandler\");\nObject.defineProperty(exports, \"isTag\", { enumerable: true, get: function () { return domhandler_1.isTag; } });\nObject.defineProperty(exports, \"isCDATA\", { enumerable: true, get: function () { return domhandler_1.isCDATA; } });\nObject.defineProperty(exports, \"isText\", { enumerable: true, get: function () { return domhandler_1.isText; } });\nObject.defineProperty(exports, \"isComment\", { enumerable: true, get: function () { return domhandler_1.isComment; } });\nObject.defineProperty(exports, \"isDocument\", { enumerable: true, get: function () { return domhandler_1.isDocument; } });\nObject.defineProperty(exports, \"hasChildren\", { enumerable: true, get: function () { return domhandler_1.hasChildren; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.Tokenizer = exports.createDomStream = exports.parseDOM = exports.parseDocument = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;\nvar Parser_js_1 = require(\"./Parser.js\");\nvar Parser_js_2 = require(\"./Parser.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return Parser_js_2.Parser; } });\nvar domhandler_1 = require(\"domhandler\");\nvar domhandler_2 = require(\"domhandler\");\nObject.defineProperty(exports, \"DomHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Old name for DomHandler\nObject.defineProperty(exports, \"DefaultHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n */\nfunction parseDocument(data, options) {\n var handler = new domhandler_1.DomHandler(undefined, options);\n new Parser_js_1.Parser(handler, options).end(data);\n return handler.root;\n}\nexports.parseDocument = parseDocument;\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n * @deprecated Use `parseDocument` instead.\n */\nfunction parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\nexports.parseDOM = parseDOM;\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nfunction createDomStream(callback, options, elementCallback) {\n var handler = new domhandler_1.DomHandler(callback, options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\nexports.createDomStream = createDomStream;\nvar Tokenizer_js_1 = require(\"./Tokenizer.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexports.ElementType = __importStar(require(\"domelementtype\"));\nvar domutils_1 = require(\"domutils\");\nvar domutils_2 = require(\"domutils\");\nObject.defineProperty(exports, \"getFeed\", { enumerable: true, get: function () { return domutils_2.getFeed; } });\nvar parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nfunction parseFeed(feed, options) {\n if (options === void 0) { options = parseFeedDefaultOptions; }\n return (0, domutils_1.getFeed)(parseDOM(feed, options));\n}\nexports.parseFeed = parseFeed;\nexports.DomUtils = __importStar(require(\"domutils\"));\n//# sourceMappingURL=index.js.map","'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/**\n * Srcset Parser\n *\n * By Alex Bell | MIT License\n *\n * JS Parser for the string value that appears in markup <img srcset=\"here\">\n *\n * @returns Array [{url: _, d: _, w: _, h:_}, ...]\n *\n * Based super duper closely on the reference algorithm at:\n * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute\n *\n * Most comments are copied in directly from the spec\n * (except for comments in parens).\n */\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof module === 'object' && module.exports) {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.parseSrcset = factory();\n\t}\n}(this, function () {\n\n\t// 1. Let input be the value passed to this algorithm.\n\treturn function (input) {\n\n\t\t// UTILITY FUNCTIONS\n\n\t\t// Manual is faster than RegEx\n\t\t// http://bjorn.tipling.com/state-and-regular-expressions-in-javascript\n\t\t// http://jsperf.com/whitespace-character/5\n\t\tfunction isSpace(c) {\n\t\t\treturn (c === \"\\u0020\" || // space\n\t\t\tc === \"\\u0009\" || // horizontal tab\n\t\t\tc === \"\\u000A\" || // new line\n\t\t\tc === \"\\u000C\" || // form feed\n\t\t\tc === \"\\u000D\"); // carriage return\n\t\t}\n\n\t\tfunction collectCharacters(regEx) {\n\t\t\tvar chars,\n\t\t\t\tmatch = regEx.exec(input.substring(pos));\n\t\t\tif (match) {\n\t\t\t\tchars = match[ 0 ];\n\t\t\t\tpos += chars.length;\n\t\t\t\treturn chars;\n\t\t\t}\n\t\t}\n\n\t\tvar inputLength = input.length,\n\n\t\t\t// (Don't use \\s, to avoid matching non-breaking space)\n\t\t\tregexLeadingSpaces = /^[ \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingCommasOrSpaces = /^[, \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingNotSpaces = /^[^ \\t\\n\\r\\u000c]+/,\n\t\t\tregexTrailingCommas = /[,]+$/,\n\t\t\tregexNonNegativeInteger = /^\\d+$/,\n\n\t\t\t// ( Positive or negative or unsigned integers or decimals, without or without exponents.\n\t\t\t// Must include at least one digit.\n\t\t\t// According to spec tests any decimal point must be followed by a digit.\n\t\t\t// No leading plus sign is allowed.)\n\t\t\t// https://html.spec.whatwg.org/multipage/infrastructure.html#valid-floating-point-number\n\t\t\tregexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,\n\n\t\t\turl,\n\t\t\tdescriptors,\n\t\t\tcurrentDescriptor,\n\t\t\tstate,\n\t\t\tc,\n\n\t\t\t// 2. Let position be a pointer into input, initially pointing at the start\n\t\t\t// of the string.\n\t\t\tpos = 0,\n\n\t\t\t// 3. Let candidates be an initially empty source set.\n\t\t\tcandidates = [];\n\n\t\t// 4. Splitting loop: Collect a sequence of characters that are space\n\t\t// characters or U+002C COMMA characters. If any U+002C COMMA characters\n\t\t// were collected, that is a parse error.\n\t\twhile (true) {\n\t\t\tcollectCharacters(regexLeadingCommasOrSpaces);\n\n\t\t\t// 5. If position is past the end of input, return candidates and abort these steps.\n\t\t\tif (pos >= inputLength) {\n\t\t\t\treturn candidates; // (we're done, this is the sole return path)\n\t\t\t}\n\n\t\t\t// 6. Collect a sequence of characters that are not space characters,\n\t\t\t// and let that be url.\n\t\t\turl = collectCharacters(regexLeadingNotSpaces);\n\n\t\t\t// 7. Let descriptors be a new empty list.\n\t\t\tdescriptors = [];\n\n\t\t\t// 8. If url ends with a U+002C COMMA character (,), follow these substeps:\n\t\t\t//\t\t(1). Remove all trailing U+002C COMMA characters from url. If this removed\n\t\t\t// more than one character, that is a parse error.\n\t\t\tif (url.slice(-1) === \",\") {\n\t\t\t\turl = url.replace(regexTrailingCommas, \"\");\n\t\t\t\t// (Jump ahead to step 9 to skip tokenization and just push the candidate).\n\t\t\t\tparseDescriptors();\n\n\t\t\t\t//\tOtherwise, follow these substeps:\n\t\t\t} else {\n\t\t\t\ttokenize();\n\t\t\t} // (close else of step 8)\n\n\t\t\t// 16. Return to the step labeled splitting loop.\n\t\t} // (Close of big while loop.)\n\n\t\t/**\n\t\t * Tokenizes descriptor properties prior to parsing\n\t\t * Returns undefined.\n\t\t */\n\t\tfunction tokenize() {\n\n\t\t\t// 8.1. Descriptor tokeniser: Skip whitespace\n\t\t\tcollectCharacters(regexLeadingSpaces);\n\n\t\t\t// 8.2. Let current descriptor be the empty string.\n\t\t\tcurrentDescriptor = \"\";\n\n\t\t\t// 8.3. Let state be in descriptor.\n\t\t\tstate = \"in descriptor\";\n\n\t\t\twhile (true) {\n\n\t\t\t\t// 8.4. Let c be the character at position.\n\t\t\t\tc = input.charAt(pos);\n\n\t\t\t\t// Do the following depending on the value of state.\n\t\t\t\t// For the purpose of this step, \"EOF\" is a special character representing\n\t\t\t\t// that position is past the end of input.\n\n\t\t\t\t// In descriptor\n\t\t\t\tif (state === \"in descriptor\") {\n\t\t\t\t\t// Do the following, depending on the value of c:\n\n\t\t\t\t\t// Space character\n\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t// descriptors and let current descriptor be the empty string.\n\t\t\t\t\t// Set state to after descriptor.\n\t\t\t\t\tif (isSpace(c)) {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t\tcurrentDescriptor = \"\";\n\t\t\t\t\t\t\tstate = \"after descriptor\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// U+002C COMMA (,)\n\t\t\t\t\t\t// Advance position to the next character in input. If current descriptor\n\t\t\t\t\t\t// is not empty, append current descriptor to descriptors. Jump to the step\n\t\t\t\t\t\t// labeled descriptor parser.\n\t\t\t\t\t} else if (c === \",\") {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// U+0028 LEFT PARENTHESIS (()\n\t\t\t\t\t\t// Append c to current descriptor. Set state to in parens.\n\t\t\t\t\t} else if (c === \"\\u0028\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in parens\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t\t// descriptors. Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\t\t\t\t\t// (end \"in descriptor\"\n\n\t\t\t\t\t// In parens\n\t\t\t\t} else if (state === \"in parens\") {\n\n\t\t\t\t\t// U+0029 RIGHT PARENTHESIS ())\n\t\t\t\t\t// Append c to current descriptor. Set state to in descriptor.\n\t\t\t\t\tif (c === \")\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in descriptor\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// Append current descriptor to descriptors. Jump to the step labeled\n\t\t\t\t\t\t// descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\n\t\t\t\t\t// After descriptor\n\t\t\t\t} else if (state === \"after descriptor\") {\n\n\t\t\t\t\t// Do the following, depending on the value of c:\n\t\t\t\t\t// Space character: Stay in this state.\n\t\t\t\t\tif (isSpace(c)) {\n\n\t\t\t\t\t\t// EOF: Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Set state to in descriptor. Set position to the previous character in input.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = \"in descriptor\";\n\t\t\t\t\t\tpos -= 1;\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Advance position to the next character in input.\n\t\t\t\tpos += 1;\n\n\t\t\t\t// Repeat this step.\n\t\t\t} // (close while true loop)\n\t\t}\n\n\t\t/**\n\t\t * Adds descriptor properties to a candidate, pushes to the candidates array\n\t\t * @return undefined\n\t\t */\n\t\t// Declared outside of the while loop so that it's only created once.\n\t\tfunction parseDescriptors() {\n\n\t\t\t// 9. Descriptor parser: Let error be no.\n\t\t\tvar pError = false,\n\n\t\t\t\t// 10. Let width be absent.\n\t\t\t\t// 11. Let density be absent.\n\t\t\t\t// 12. Let future-compat-h be absent. (We're implementing it now as h)\n\t\t\t\tw, d, h, i,\n\t\t\t\tcandidate = {},\n\t\t\t\tdesc, lastChar, value, intVal, floatVal;\n\n\t\t\t// 13. For each descriptor in descriptors, run the appropriate set of steps\n\t\t\t// from the following list:\n\t\t\tfor (i = 0 ; i < descriptors.length; i++) {\n\t\t\t\tdesc = descriptors[ i ];\n\n\t\t\t\tlastChar = desc[ desc.length - 1 ];\n\t\t\t\tvalue = desc.substring(0, desc.length - 1);\n\t\t\t\tintVal = parseInt(value, 10);\n\t\t\t\tfloatVal = parseFloat(value);\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0077 LATIN SMALL LETTER W character\n\t\t\t\tif (regexNonNegativeInteger.test(value) && (lastChar === \"w\")) {\n\n\t\t\t\t\t// If width and density are not both absent, then let error be yes.\n\t\t\t\t\tif (w || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes.\n\t\t\t\t\t// Otherwise, let width be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {w = intVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid floating-point number followed by\n\t\t\t\t\t// a U+0078 LATIN SMALL LETTER X character\n\t\t\t\t} else if (regexFloatingPoint.test(value) && (lastChar === \"x\")) {\n\n\t\t\t\t\t// If width, density and future-compat-h are not all absent, then let error\n\t\t\t\t\t// be yes.\n\t\t\t\t\tif (w || d || h) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing floating-point number values to the descriptor.\n\t\t\t\t\t// If the result is less than zero, let error be yes. Otherwise, let density\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (floatVal < 0) {pError = true;} else {d = floatVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t\t// a U+0068 LATIN SMALL LETTER H character\n\t\t\t\t} else if (regexNonNegativeInteger.test(value) && (lastChar === \"h\")) {\n\n\t\t\t\t\t// If height and density are not both absent, then let error be yes.\n\t\t\t\t\tif (h || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes. Otherwise, let future-compat-h\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {h = intVal;}\n\n\t\t\t\t\t// Anything else, Let error be yes.\n\t\t\t\t} else {pError = true;}\n\t\t\t} // (close step 13 for loop)\n\n\t\t\t// 15. If error is still no, then append a new image source to candidates whose\n\t\t\t// URL is url, associated with a width width if not absent and a pixel\n\t\t\t// density density if not absent. Otherwise, there is a parse error.\n\t\t\tif (!pError) {\n\t\t\t\tcandidate.url = url;\n\t\t\t\tif (w) { candidate.w = w;}\n\t\t\t\tif (d) { candidate.d = d;}\n\t\t\t\tif (h) { candidate.h = h;}\n\t\t\t\tcandidates.push(candidate);\n\t\t\t} else if (console && console.log) {\n\t\t\t\tconsole.log(\"Invalid srcset descriptor found in '\" +\n\t\t\t\t\tinput + \"' at '\" + desc + \"'.\");\n\t\t\t}\n\t\t} // (close parseDescriptors fn)\n\n\t}\n}));\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x,blackBright:x,redBright:x,greenBright:x,yellowBright:x,blueBright:x,magentaBright:x,cyanBright:x,whiteBright:x,bgBlackBright:x,bgRedBright:x,bgGreenBright:x,bgYellowBright:x,bgBlueBright:x,bgMagentaBright:x,bgCyanBright:x,bgWhiteBright:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","'use strict'\n\nlet pico = require('picocolors')\n\nlet terminalHighlight = require('./terminal-highlight')\n\nclass CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin) {\n super(message)\n this.name = 'CssSyntaxError'\n this.reason = message\n\n if (file) {\n this.file = file\n }\n if (source) {\n this.source = source\n }\n if (plugin) {\n this.plugin = plugin\n }\n if (typeof line !== 'undefined' && typeof column !== 'undefined') {\n if (typeof line === 'number') {\n this.line = line\n this.column = column\n } else {\n this.line = line.line\n this.column = line.column\n this.endLine = column.line\n this.endColumn = column.column\n }\n }\n\n this.setMessage()\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError)\n }\n }\n\n setMessage() {\n this.message = this.plugin ? this.plugin + ': ' : ''\n this.message += this.file ? this.file : '<css input>'\n if (typeof this.line !== 'undefined') {\n this.message += ':' + this.line + ':' + this.column\n }\n this.message += ': ' + this.reason\n }\n\n showSourceCode(color) {\n if (!this.source) return ''\n\n let css = this.source\n if (color == null) color = pico.isColorSupported\n\n let aside = text => text\n let mark = text => text\n let highlight = text => text\n if (color) {\n let { bold, gray, red } = pico.createColors(true)\n mark = text => bold(red(text))\n aside = text => gray(text)\n if (terminalHighlight) {\n highlight = text => terminalHighlight(text)\n }\n }\n\n let lines = css.split(/\\r?\\n/)\n let start = Math.max(this.line - 3, 0)\n let end = Math.min(this.line + 2, lines.length)\n let maxWidth = String(end).length\n\n return lines\n .slice(start, end)\n .map((line, index) => {\n let number = start + 1 + index\n let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '\n if (number === this.line) {\n if (line.length > 160) {\n let padding = 20\n let subLineStart = Math.max(0, this.column - padding)\n let subLineEnd = Math.max(\n this.column + padding,\n this.endColumn + padding\n )\n let subLine = line.slice(subLineStart, subLineEnd)\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line\n .slice(0, Math.min(this.column - 1, padding - 1))\n .replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(subLine) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line.slice(0, this.column - 1).replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(line) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n return ' ' + aside(gutter) + highlight(line)\n })\n .join('\\n')\n }\n\n toString() {\n let code = this.showSourceCode()\n if (code) {\n code = '\\n\\n' + code + '\\n'\n }\n return this.name + ': ' + this.message + code\n }\n}\n\nmodule.exports = CssSyntaxError\nCssSyntaxError.default = CssSyntaxError\n","'use strict'\n\nconst DEFAULT_RAW = {\n after: '\\n',\n beforeClose: '\\n',\n beforeComment: '\\n',\n beforeDecl: '\\n',\n beforeOpen: ' ',\n beforeRule: '\\n',\n colon: ': ',\n commentLeft: ' ',\n commentRight: ' ',\n emptyBody: '',\n indent: ' ',\n semicolon: false\n}\n\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1)\n}\n\nclass Stringifier {\n constructor(builder) {\n this.builder = builder\n }\n\n atrule(node, semicolon) {\n let name = '@' + node.name\n let params = node.params ? this.rawValue(node, 'params') : ''\n\n if (typeof node.raws.afterName !== 'undefined') {\n name += node.raws.afterName\n } else if (params) {\n name += ' '\n }\n\n if (node.nodes) {\n this.block(node, name + params)\n } else {\n let end = (node.raws.between || '') + (semicolon ? ';' : '')\n this.builder(name + params + end, node)\n }\n }\n\n beforeAfter(node, detect) {\n let value\n if (node.type === 'decl') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (node.type === 'comment') {\n value = this.raw(node, null, 'beforeComment')\n } else if (detect === 'before') {\n value = this.raw(node, null, 'beforeRule')\n } else {\n value = this.raw(node, null, 'beforeClose')\n }\n\n let buf = node.parent\n let depth = 0\n while (buf && buf.type !== 'root') {\n depth += 1\n buf = buf.parent\n }\n\n if (value.includes('\\n')) {\n let indent = this.raw(node, null, 'indent')\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent\n }\n }\n\n return value\n }\n\n block(node, start) {\n let between = this.raw(node, 'between', 'beforeOpen')\n this.builder(start + between + '{', node, 'start')\n\n let after\n if (node.nodes && node.nodes.length) {\n this.body(node)\n after = this.raw(node, 'after')\n } else {\n after = this.raw(node, 'after', 'emptyBody')\n }\n\n if (after) this.builder(after)\n this.builder('}', node, 'end')\n }\n\n body(node) {\n let last = node.nodes.length - 1\n while (last > 0) {\n if (node.nodes[last].type !== 'comment') break\n last -= 1\n }\n\n let semicolon = this.raw(node, 'semicolon')\n for (let i = 0; i < node.nodes.length; i++) {\n let child = node.nodes[i]\n let before = this.raw(child, 'before')\n if (before) this.builder(before)\n this.stringify(child, last !== i || semicolon)\n }\n }\n\n comment(node) {\n let left = this.raw(node, 'left', 'commentLeft')\n let right = this.raw(node, 'right', 'commentRight')\n this.builder('/*' + left + node.text + right + '*/', node)\n }\n\n decl(node, semicolon) {\n let between = this.raw(node, 'between', 'colon')\n let string = node.prop + between + this.rawValue(node, 'value')\n\n if (node.important) {\n string += node.raws.important || ' !important'\n }\n\n if (semicolon) string += ';'\n this.builder(string, node)\n }\n\n document(node) {\n this.body(node)\n }\n\n raw(node, own, detect) {\n let value\n if (!detect) detect = own\n\n // Already had\n if (own) {\n value = node.raws[own]\n if (typeof value !== 'undefined') return value\n }\n\n let parent = node.parent\n\n if (detect === 'before') {\n // Hack for first rule in CSS\n if (!parent || (parent.type === 'root' && parent.first === node)) {\n return ''\n }\n\n // `root` nodes in `document` should use only their own raws\n if (parent && parent.type === 'document') {\n return ''\n }\n }\n\n // Floating child without parent\n if (!parent) return DEFAULT_RAW[detect]\n\n // Detect style by other nodes\n let root = node.root()\n if (!root.rawCache) root.rawCache = {}\n if (typeof root.rawCache[detect] !== 'undefined') {\n return root.rawCache[detect]\n }\n\n if (detect === 'before' || detect === 'after') {\n return this.beforeAfter(node, detect)\n } else {\n let method = 'raw' + capitalize(detect)\n if (this[method]) {\n value = this[method](root, node)\n } else {\n root.walk(i => {\n value = i.raws[own]\n if (typeof value !== 'undefined') return false\n })\n }\n }\n\n if (typeof value === 'undefined') value = DEFAULT_RAW[detect]\n\n root.rawCache[detect] = value\n return value\n }\n\n rawBeforeClose(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length > 0) {\n if (typeof i.raws.after !== 'undefined') {\n value = i.raws.after\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawBeforeComment(root, node) {\n let value\n root.walkComments(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeDecl(root, node) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeRule')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeOpen(root) {\n let value\n root.walk(i => {\n if (i.type !== 'decl') {\n value = i.raws.between\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawBeforeRule(root) {\n let value\n root.walk(i => {\n if (i.nodes && (i.parent !== root || root.first !== i)) {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawColon(root) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.between !== 'undefined') {\n value = i.raws.between.replace(/[^\\s:]/g, '')\n return false\n }\n })\n return value\n }\n\n rawEmptyBody(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length === 0) {\n value = i.raws.after\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawIndent(root) {\n if (root.raws.indent) return root.raws.indent\n let value\n root.walk(i => {\n let p = i.parent\n if (p && p !== root && p.parent && p.parent === root) {\n if (typeof i.raws.before !== 'undefined') {\n let parts = i.raws.before.split('\\n')\n value = parts[parts.length - 1]\n value = value.replace(/\\S/g, '')\n return false\n }\n }\n })\n return value\n }\n\n rawSemicolon(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length && i.last.type === 'decl') {\n value = i.raws.semicolon\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawValue(node, prop) {\n let value = node[prop]\n let raw = node.raws[prop]\n if (raw && raw.value === value) {\n return raw.raw\n }\n\n return value\n }\n\n root(node) {\n this.body(node)\n if (node.raws.after) this.builder(node.raws.after)\n }\n\n rule(node) {\n this.block(node, this.rawValue(node, 'selector'))\n if (node.raws.ownSemicolon) {\n this.builder(node.raws.ownSemicolon, node, 'end')\n }\n }\n\n stringify(node, semicolon) {\n /* c8 ignore start */\n if (!this[node.type]) {\n throw new Error(\n 'Unknown AST node type ' +\n node.type +\n '. ' +\n 'Maybe you need to change PostCSS stringifier.'\n )\n }\n /* c8 ignore stop */\n this[node.type](node, semicolon)\n }\n}\n\nmodule.exports = Stringifier\nStringifier.default = Stringifier\n","'use strict'\n\nlet Stringifier = require('./stringifier')\n\nfunction stringify(node, builder) {\n let str = new Stringifier(builder)\n str.stringify(node)\n}\n\nmodule.exports = stringify\nstringify.default = stringify\n","'use strict'\n\nmodule.exports.isClean = Symbol('isClean')\n\nmodule.exports.my = Symbol('my')\n","'use strict'\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet Stringifier = require('./stringifier')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\n\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor()\n\n for (let i in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n /* c8 ignore next 2 */\n continue\n }\n if (i === 'proxyCache') continue\n let value = obj[i]\n let type = typeof value\n\n if (i === 'parent' && type === 'object') {\n if (parent) cloned[i] = parent\n } else if (i === 'source') {\n cloned[i] = value\n } else if (Array.isArray(value)) {\n cloned[i] = value.map(j => cloneNode(j, cloned))\n } else {\n if (type === 'object' && value !== null) value = cloneNode(value)\n cloned[i] = value\n }\n }\n\n return cloned\n}\n\nfunction sourceOffset(inputCSS, position) {\n // Not all custom syntaxes support `offset` in `source.start` and `source.end`\n if (position && typeof position.offset !== 'undefined') {\n return position.offset\n }\n\n let column = 1\n let line = 1\n let offset = 0\n\n for (let i = 0; i < inputCSS.length; i++) {\n if (line === position.line && column === position.column) {\n offset = i\n break\n }\n\n if (inputCSS[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return offset\n}\n\nclass Node {\n get proxyOf() {\n return this\n }\n\n constructor(defaults = {}) {\n this.raws = {}\n this[isClean] = false\n this[my] = true\n\n for (let name in defaults) {\n if (name === 'nodes') {\n this.nodes = []\n for (let node of defaults[name]) {\n if (typeof node.clone === 'function') {\n this.append(node.clone())\n } else {\n this.append(node)\n }\n }\n } else {\n this[name] = defaults[name]\n }\n }\n }\n\n addToError(error) {\n error.postcssNode = this\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s = this.source\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s.input.from}:${s.start.line}:${s.start.column}$&`\n )\n }\n return error\n }\n\n after(add) {\n this.parent.insertAfter(this, add)\n return this\n }\n\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name]\n }\n return this\n }\n\n before(add) {\n this.parent.insertBefore(this, add)\n return this\n }\n\n cleanRaws(keepBetween) {\n delete this.raws.before\n delete this.raws.after\n if (!keepBetween) delete this.raws.between\n }\n\n clone(overrides = {}) {\n let cloned = cloneNode(this)\n for (let name in overrides) {\n cloned[name] = overrides[name]\n }\n return cloned\n }\n\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertAfter(this, cloned)\n return cloned\n }\n\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertBefore(this, cloned)\n return cloned\n }\n\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts)\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n )\n }\n return new CssSyntaxError(message)\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (\n prop === 'prop' ||\n prop === 'value' ||\n prop === 'name' ||\n prop === 'params' ||\n prop === 'important' ||\n /* c8 ignore next */\n prop === 'text'\n ) {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n /* c8 ignore next 3 */\n markClean() {\n this[isClean] = true\n }\n\n markDirty() {\n if (this[isClean]) {\n this[isClean] = false\n let next = this\n while ((next = next.parent)) {\n next[isClean] = false\n }\n }\n }\n\n next() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index + 1]\n }\n\n positionBy(opts = {}) {\n let pos = this.source.start\n if (opts.index) {\n pos = this.positionInside(opts.index)\n } else if (opts.word) {\n let inputString =\n 'document' in this.source.input\n ? this.source.input.document\n : this.source.input.css\n let stringRepresentation = inputString.slice(\n sourceOffset(inputString, this.source.start),\n sourceOffset(inputString, this.source.end)\n )\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) pos = this.positionInside(index)\n }\n return pos\n }\n\n positionInside(index) {\n let column = this.source.start.column\n let line = this.source.start.line\n let inputString =\n 'document' in this.source.input\n ? this.source.input.document\n : this.source.input.css\n let offset = sourceOffset(inputString, this.source.start)\n let end = offset + index\n\n for (let i = offset; i < end; i++) {\n if (inputString[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return { column, line, offset: end }\n }\n\n prev() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index - 1]\n }\n\n rangeBy(opts = {}) {\n let inputString =\n 'document' in this.source.input\n ? this.source.input.document\n : this.source.input.css\n let start = {\n column: this.source.start.column,\n line: this.source.start.line,\n offset: sourceOffset(inputString, this.source.start)\n }\n let end = this.source.end\n ? {\n column: this.source.end.column + 1,\n line: this.source.end.line,\n offset:\n typeof this.source.end.offset === 'number'\n ? // `source.end.offset` is exclusive, so we don't need to add 1\n this.source.end.offset\n : // Since line/column in this.source.end is inclusive,\n // the `sourceOffset(... , this.source.end)` returns an inclusive offset.\n // So, we add 1 to convert it to exclusive.\n sourceOffset(inputString, this.source.end) + 1\n }\n : {\n column: start.column + 1,\n line: start.line,\n offset: start.offset + 1\n }\n\n if (opts.word) {\n let stringRepresentation = inputString.slice(\n sourceOffset(inputString, this.source.start),\n sourceOffset(inputString, this.source.end)\n )\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) {\n start = this.positionInside(index)\n end = this.positionInside(index + opts.word.length)\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line,\n offset: sourceOffset(inputString, opts.start)\n }\n } else if (opts.index) {\n start = this.positionInside(opts.index)\n }\n\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line,\n offset: sourceOffset(inputString, opts.end)\n }\n } else if (typeof opts.endIndex === 'number') {\n end = this.positionInside(opts.endIndex)\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1)\n }\n }\n\n if (\n end.line < start.line ||\n (end.line === start.line && end.column <= start.column)\n ) {\n end = {\n column: start.column + 1,\n line: start.line,\n offset: start.offset + 1\n }\n }\n\n return { end, start }\n }\n\n raw(prop, defaultType) {\n let str = new Stringifier()\n return str.raw(this, prop, defaultType)\n }\n\n remove() {\n if (this.parent) {\n this.parent.removeChild(this)\n }\n this.parent = undefined\n return this\n }\n\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this\n let foundSelf = false\n for (let node of nodes) {\n if (node === this) {\n foundSelf = true\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node)\n bookmark = node\n } else {\n this.parent.insertBefore(bookmark, node)\n }\n }\n\n if (!foundSelf) {\n this.remove()\n }\n }\n\n return this\n }\n\n root() {\n let result = this\n while (result.parent && result.parent.type !== 'document') {\n result = result.parent\n }\n return result\n }\n\n toJSON(_, inputs) {\n let fixed = {}\n let emitInputs = inputs == null\n inputs = inputs || new Map()\n let inputsNextIndex = 0\n\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n /* c8 ignore next 2 */\n continue\n }\n if (name === 'parent' || name === 'proxyCache') continue\n let value = this[name]\n\n if (Array.isArray(value)) {\n fixed[name] = value.map(i => {\n if (typeof i === 'object' && i.toJSON) {\n return i.toJSON(null, inputs)\n } else {\n return i\n }\n })\n } else if (typeof value === 'object' && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs)\n } else if (name === 'source') {\n if (value == null) continue\n let inputId = inputs.get(value.input)\n if (inputId == null) {\n inputId = inputsNextIndex\n inputs.set(value.input, inputsNextIndex)\n inputsNextIndex++\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n }\n } else {\n fixed[name] = value\n }\n }\n\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map(input => input.toJSON())\n }\n\n return fixed\n }\n\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor())\n }\n return this.proxyCache\n }\n\n toString(stringifier = stringify) {\n if (stringifier.stringify) stringifier = stringifier.stringify\n let result = ''\n stringifier(this, i => {\n result += i\n })\n return result\n }\n\n warn(result, text, opts = {}) {\n let data = { node: this }\n for (let i in opts) data[i] = opts[i]\n return result.warn(text, data)\n }\n}\n\nmodule.exports = Node\nNode.default = Node\n","'use strict'\n\nlet Node = require('./node')\n\nclass Comment extends Node {\n constructor(defaults) {\n super(defaults)\n this.type = 'comment'\n }\n}\n\nmodule.exports = Comment\nComment.default = Comment\n","'use strict'\n\nlet Node = require('./node')\n\nclass Declaration extends Node {\n get variable() {\n return this.prop.startsWith('--') || this.prop[0] === '$'\n }\n\n constructor(defaults) {\n if (\n defaults &&\n typeof defaults.value !== 'undefined' &&\n typeof defaults.value !== 'string'\n ) {\n defaults = { ...defaults, value: String(defaults.value) }\n }\n super(defaults)\n this.type = 'decl'\n }\n}\n\nmodule.exports = Declaration\nDeclaration.default = Declaration\n","'use strict'\n\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Node = require('./node')\nlet { isClean, my } = require('./symbols')\n\nlet AtRule, parse, Root, Rule\n\nfunction cleanSource(nodes) {\n return nodes.map(i => {\n if (i.nodes) i.nodes = cleanSource(i.nodes)\n delete i.source\n return i\n })\n}\n\nfunction markTreeDirty(node) {\n node[isClean] = false\n if (node.proxyOf.nodes) {\n for (let i of node.proxyOf.nodes) {\n markTreeDirty(i)\n }\n }\n}\n\nclass Container extends Node {\n get first() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[0]\n }\n\n get last() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n }\n\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last)\n for (let node of nodes) this.proxyOf.nodes.push(node)\n }\n\n this.markDirty()\n\n return this\n }\n\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween)\n if (this.nodes) {\n for (let node of this.nodes) node.cleanRaws(keepBetween)\n }\n }\n\n each(callback) {\n if (!this.proxyOf.nodes) return undefined\n let iterator = this.getIterator()\n\n let index, result\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index = this.indexes[iterator]\n result = callback(this.proxyOf.nodes[index], index)\n if (result === false) break\n\n this.indexes[iterator] += 1\n }\n\n delete this.indexes[iterator]\n return result\n }\n\n every(condition) {\n return this.nodes.every(condition)\n }\n\n getIterator() {\n if (!this.lastEach) this.lastEach = 0\n if (!this.indexes) this.indexes = {}\n\n this.lastEach += 1\n let iterator = this.lastEach\n this.indexes[iterator] = 0\n\n return iterator\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (!node[prop]) {\n return node[prop]\n } else if (\n prop === 'each' ||\n (typeof prop === 'string' && prop.startsWith('walk'))\n ) {\n return (...args) => {\n return node[prop](\n ...args.map(i => {\n if (typeof i === 'function') {\n return (child, index) => i(child.toProxy(), index)\n } else {\n return i\n }\n })\n )\n }\n } else if (prop === 'every' || prop === 'some') {\n return cb => {\n return node[prop]((child, ...other) =>\n cb(child.toProxy(), ...other)\n )\n }\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else if (prop === 'nodes') {\n return node.nodes.map(i => i.toProxy())\n } else if (prop === 'first' || prop === 'last') {\n return node[prop].toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (prop === 'name' || prop === 'params' || prop === 'selector') {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n index(child) {\n if (typeof child === 'number') return child\n if (child.proxyOf) child = child.proxyOf\n return this.proxyOf.nodes.indexOf(child)\n }\n\n insertAfter(exist, add) {\n let existIndex = this.index(exist)\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex < index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n insertBefore(exist, add) {\n let existIndex = this.index(exist)\n let type = existIndex === 0 ? 'prepend' : false\n let nodes = this.normalize(\n add,\n this.proxyOf.nodes[existIndex],\n type\n ).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex <= index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n normalize(nodes, sample) {\n if (typeof nodes === 'string') {\n nodes = cleanSource(parse(nodes).nodes)\n } else if (typeof nodes === 'undefined') {\n nodes = []\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type === 'root' && this.type !== 'document') {\n nodes = nodes.nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type) {\n nodes = [nodes]\n } else if (nodes.prop) {\n if (typeof nodes.value === 'undefined') {\n throw new Error('Value field is missed in node creation')\n } else if (typeof nodes.value !== 'string') {\n nodes.value = String(nodes.value)\n }\n nodes = [new Declaration(nodes)]\n } else if (nodes.selector || nodes.selectors) {\n nodes = [new Rule(nodes)]\n } else if (nodes.name) {\n nodes = [new AtRule(nodes)]\n } else if (nodes.text) {\n nodes = [new Comment(nodes)]\n } else {\n throw new Error('Unknown node type in node creation')\n }\n\n let processed = nodes.map(i => {\n /* c8 ignore next */\n if (!i[my]) Container.rebuild(i)\n i = i.proxyOf\n if (i.parent) i.parent.removeChild(i)\n if (i[isClean]) markTreeDirty(i)\n\n if (!i.raws) i.raws = {}\n if (typeof i.raws.before === 'undefined') {\n if (sample && typeof sample.raws.before !== 'undefined') {\n i.raws.before = sample.raws.before.replace(/\\S/g, '')\n }\n }\n i.parent = this.proxyOf\n return i\n })\n\n return processed\n }\n\n prepend(...children) {\n children = children.reverse()\n for (let child of children) {\n let nodes = this.normalize(child, this.first, 'prepend').reverse()\n for (let node of nodes) this.proxyOf.nodes.unshift(node)\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n push(child) {\n child.parent = this\n this.proxyOf.nodes.push(child)\n return this\n }\n\n removeAll() {\n for (let node of this.proxyOf.nodes) node.parent = undefined\n this.proxyOf.nodes = []\n\n this.markDirty()\n\n return this\n }\n\n removeChild(child) {\n child = this.index(child)\n this.proxyOf.nodes[child].parent = undefined\n this.proxyOf.nodes.splice(child, 1)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (index >= child) {\n this.indexes[id] = index - 1\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts\n opts = {}\n }\n\n this.walkDecls(decl => {\n if (opts.props && !opts.props.includes(decl.prop)) return\n if (opts.fast && !decl.value.includes(opts.fast)) return\n\n decl.value = decl.value.replace(pattern, callback)\n })\n\n this.markDirty()\n\n return this\n }\n\n some(condition) {\n return this.nodes.some(condition)\n }\n\n walk(callback) {\n return this.each((child, i) => {\n let result\n try {\n result = callback(child, i)\n } catch (e) {\n throw child.addToError(e)\n }\n if (result !== false && child.walk) {\n result = child.walk(callback)\n }\n\n return result\n })\n }\n\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name\n return this.walk((child, i) => {\n if (child.type === 'atrule') {\n return callback(child, i)\n }\n })\n }\n if (name instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'atrule' && name.test(child.name)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'atrule' && child.name === name) {\n return callback(child, i)\n }\n })\n }\n\n walkComments(callback) {\n return this.walk((child, i) => {\n if (child.type === 'comment') {\n return callback(child, i)\n }\n })\n }\n\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop\n return this.walk((child, i) => {\n if (child.type === 'decl') {\n return callback(child, i)\n }\n })\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'decl' && prop.test(child.prop)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'decl' && child.prop === prop) {\n return callback(child, i)\n }\n })\n }\n\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector\n\n return this.walk((child, i) => {\n if (child.type === 'rule') {\n return callback(child, i)\n }\n })\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'rule' && selector.test(child.selector)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'rule' && child.selector === selector) {\n return callback(child, i)\n }\n })\n }\n}\n\nContainer.registerParse = dependant => {\n parse = dependant\n}\n\nContainer.registerRule = dependant => {\n Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n if (node.type === 'atrule') {\n Object.setPrototypeOf(node, AtRule.prototype)\n } else if (node.type === 'rule') {\n Object.setPrototypeOf(node, Rule.prototype)\n } else if (node.type === 'decl') {\n Object.setPrototypeOf(node, Declaration.prototype)\n } else if (node.type === 'comment') {\n Object.setPrototypeOf(node, Comment.prototype)\n } else if (node.type === 'root') {\n Object.setPrototypeOf(node, Root.prototype)\n }\n\n node[my] = true\n\n if (node.nodes) {\n node.nodes.forEach(child => {\n Container.rebuild(child)\n })\n }\n}\n/* c8 ignore stop */\n","'use strict'\n\nlet Container = require('./container')\n\nclass AtRule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'atrule'\n }\n\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.append(...children)\n }\n\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.prepend(...children)\n }\n}\n\nmodule.exports = AtRule\nAtRule.default = AtRule\n\nContainer.registerAtRule(AtRule)\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Document extends Container {\n constructor(defaults) {\n // type needs to be passed to super, otherwise child roots won't be normalized correctly\n super({ type: 'document', ...defaults })\n\n if (!this.nodes) {\n this.nodes = []\n }\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n\n return lazy.stringify()\n }\n}\n\nDocument.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nDocument.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Document\nDocument.default = Document\n","// This alphabet uses `A-Za-z0-9_-` symbols.\n// The order of characters is optimized for better gzip and brotli compression.\n// References to the same file (works both for gzip and brotli):\n// `'use`, `andom`, and `rict'`\n// References to the brotli default dictionary:\n// `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\n\nlet nanoid = (size = 21) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n\nmodule.exports = { nanoid, customAlphabet }\n","'use strict'\n\nlet { existsSync, readFileSync } = require('fs')\nlet { dirname, join } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\n\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, 'base64').toString()\n } else {\n /* c8 ignore next 2 */\n return window.atob(str)\n }\n}\n\nclass PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return\n this.loadAnnotation(css)\n this.inline = this.startWith(this.annotation, 'data:')\n\n let prev = opts.map ? opts.map.prev : undefined\n let text = this.loadMap(opts.from, prev)\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from\n }\n if (this.mapFile) this.root = dirname(this.mapFile)\n if (text) this.text = text\n }\n\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer(this.text)\n }\n return this.consumerCache\n }\n\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/\n let baseUri = /^data:application\\/json;base64,/\n let charsetUri = /^data:application\\/json;charset=utf-?8,/\n let uri = /^data:application\\/json,/\n\n let uriMatch = text.match(charsetUri) || text.match(uri)\n if (uriMatch) {\n return decodeURIComponent(text.substr(uriMatch[0].length))\n }\n\n let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri)\n if (baseUriMatch) {\n return fromBase64(text.substr(baseUriMatch[0].length))\n }\n\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1]\n throw new Error('Unsupported source map encoding ' + encoding)\n }\n\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, '').trim()\n }\n\n isMap(map) {\n if (typeof map !== 'object') return false\n return (\n typeof map.mappings === 'string' ||\n typeof map._mappings === 'string' ||\n Array.isArray(map.sections)\n )\n }\n\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/g)\n if (!comments) return\n\n // sourceMappingURLs from comments, strings, etc.\n let start = css.lastIndexOf(comments.pop())\n let end = css.indexOf('*/', start)\n\n if (start > -1 && end > -1) {\n // Locate the last sourceMappingURL to avoid pickin\n this.annotation = this.getAnnotationURL(css.substring(start, end))\n }\n }\n\n loadFile(path) {\n this.root = dirname(path)\n if (existsSync(path)) {\n this.mapFile = path\n return readFileSync(path, 'utf-8').toString().trim()\n }\n }\n\n loadMap(file, prev) {\n if (prev === false) return false\n\n if (prev) {\n if (typeof prev === 'string') {\n return prev\n } else if (typeof prev === 'function') {\n let prevPath = prev(file)\n if (prevPath) {\n let map = this.loadFile(prevPath)\n if (!map) {\n throw new Error(\n 'Unable to load previous source map: ' + prevPath.toString()\n )\n }\n return map\n }\n } else if (prev instanceof SourceMapConsumer) {\n return SourceMapGenerator.fromSourceMap(prev).toString()\n } else if (prev instanceof SourceMapGenerator) {\n return prev.toString()\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev)\n } else {\n throw new Error(\n 'Unsupported previous source map format: ' + prev.toString()\n )\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation)\n } else if (this.annotation) {\n let map = this.annotation\n if (file) map = join(dirname(file), map)\n return this.loadFile(map)\n }\n }\n\n startWith(string, start) {\n if (!string) return false\n return string.substr(0, start.length) === start\n }\n\n withContent() {\n return !!(\n this.consumer().sourcesContent &&\n this.consumer().sourcesContent.length > 0\n )\n }\n}\n\nmodule.exports = PreviousMap\nPreviousMap.default = PreviousMap\n","'use strict'\n\nlet { nanoid } = require('nanoid/non-secure')\nlet { isAbsolute, resolve } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { fileURLToPath, pathToFileURL } = require('url')\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet PreviousMap = require('./previous-map')\nlet terminalHighlight = require('./terminal-highlight')\n\nlet lineToIndexCache = Symbol('lineToIndexCache')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(resolve && isAbsolute)\n\nfunction getLineToIndex(input) {\n if (input[lineToIndexCache]) return input[lineToIndexCache]\n let lines = input.css.split('\\n')\n let lineToIndex = new Array(lines.length)\n let prevIndex = 0\n\n for (let i = 0, l = lines.length; i < l; i++) {\n lineToIndex[i] = prevIndex\n prevIndex += lines[i].length + 1\n }\n\n input[lineToIndexCache] = lineToIndex\n return lineToIndex\n}\n\nclass Input {\n get from() {\n return this.file || this.id\n }\n\n constructor(css, opts = {}) {\n if (\n css === null ||\n typeof css === 'undefined' ||\n (typeof css === 'object' && !css.toString)\n ) {\n throw new Error(`PostCSS received ${css} instead of CSS string`)\n }\n\n this.css = css.toString()\n\n if (this.css[0] === '\\uFEFF' || this.css[0] === '\\uFFFE') {\n this.hasBOM = true\n this.css = this.css.slice(1)\n } else {\n this.hasBOM = false\n }\n\n this.document = this.css\n if (opts.document) this.document = opts.document.toString()\n\n if (opts.from) {\n if (\n !pathAvailable ||\n /^\\w+:\\/\\//.test(opts.from) ||\n isAbsolute(opts.from)\n ) {\n this.file = opts.from\n } else {\n this.file = resolve(opts.from)\n }\n }\n\n if (pathAvailable && sourceMapAvailable) {\n let map = new PreviousMap(this.css, opts)\n if (map.text) {\n this.map = map\n let file = map.consumer().file\n if (!this.file && file) this.file = this.mapResolve(file)\n }\n }\n\n if (!this.file) {\n this.id = '<input css ' + nanoid(6) + '>'\n }\n if (this.map) this.map.file = this.from\n }\n\n error(message, line, column, opts = {}) {\n let endColumn, endLine, endOffset, offset, result\n\n if (line && typeof line === 'object') {\n let start = line\n let end = column\n if (typeof start.offset === 'number') {\n offset = start.offset\n let pos = this.fromOffset(offset)\n line = pos.line\n column = pos.col\n } else {\n line = start.line\n column = start.column\n offset = this.fromLineAndColumn(line, column)\n }\n if (typeof end.offset === 'number') {\n endOffset = end.offset\n let pos = this.fromOffset(endOffset)\n endLine = pos.line\n endColumn = pos.col\n } else {\n endLine = end.line\n endColumn = end.column\n endOffset = this.fromLineAndColumn(end.line, end.column)\n }\n } else if (!column) {\n offset = line\n let pos = this.fromOffset(offset)\n line = pos.line\n column = pos.col\n } else {\n offset = this.fromLineAndColumn(line, column)\n }\n\n let origin = this.origin(line, column, endLine, endColumn)\n if (origin) {\n result = new CssSyntaxError(\n message,\n origin.endLine === undefined\n ? origin.line\n : { column: origin.column, line: origin.line },\n origin.endLine === undefined\n ? origin.column\n : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n )\n } else {\n result = new CssSyntaxError(\n message,\n endLine === undefined ? line : { column, line },\n endLine === undefined ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n )\n }\n\n result.input = { column, endColumn, endLine, endOffset, line, offset, source: this.css }\n if (this.file) {\n if (pathToFileURL) {\n result.input.url = pathToFileURL(this.file).toString()\n }\n result.input.file = this.file\n }\n\n return result\n }\n\n fromLineAndColumn(line, column) {\n let lineToIndex = getLineToIndex(this)\n let index = lineToIndex[line - 1]\n return index + column - 1\n }\n\n fromOffset(offset) {\n let lineToIndex = getLineToIndex(this)\n let lastLine = lineToIndex[lineToIndex.length - 1]\n\n let min = 0\n if (offset >= lastLine) {\n min = lineToIndex.length - 1\n } else {\n let max = lineToIndex.length - 2\n let mid\n while (min < max) {\n mid = min + ((max - min) >> 1)\n if (offset < lineToIndex[mid]) {\n max = mid - 1\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1\n } else {\n min = mid\n break\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n }\n }\n\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file\n }\n return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)\n }\n\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false\n let consumer = this.map.consumer()\n\n let from = consumer.originalPositionFor({ column, line })\n if (!from.source) return false\n\n let to\n if (typeof endLine === 'number') {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine })\n }\n\n let fromUrl\n\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL(from.source)\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)\n )\n }\n\n let result = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n }\n\n if (fromUrl.protocol === 'file:') {\n if (fileURLToPath) {\n result.file = fileURLToPath(fromUrl)\n } else {\n /* c8 ignore next 2 */\n throw new Error(`file: protocol is not available in this PostCSS build`)\n }\n }\n\n let source = consumer.sourceContentFor(from.source)\n if (source) result.source = source\n\n return result\n }\n\n toJSON() {\n let json = {}\n for (let name of ['hasBOM', 'css', 'file', 'id']) {\n if (this[name] != null) {\n json[name] = this[name]\n }\n }\n if (this.map) {\n json.map = { ...this.map }\n if (json.map.consumerCache) {\n json.map.consumerCache = undefined\n }\n }\n return json\n }\n}\n\nmodule.exports = Input\nInput.default = Input\n\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input)\n}\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Root extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'root'\n if (!this.nodes) this.nodes = []\n }\n\n normalize(child, sample, type) {\n let nodes = super.normalize(child)\n\n if (sample) {\n if (type === 'prepend') {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before\n } else {\n delete sample.raws.before\n }\n } else if (this.first !== sample) {\n for (let node of nodes) {\n node.raws.before = sample.raws.before\n }\n }\n }\n\n return nodes\n }\n\n removeChild(child, ignore) {\n let index = this.index(child)\n\n if (!ignore && index === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index].raws.before\n }\n\n return super.removeChild(child)\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n return lazy.stringify()\n }\n}\n\nRoot.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nRoot.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Root\nRoot.default = Root\n\nContainer.registerRoot(Root)\n","'use strict'\n\nlet list = {\n comma(string) {\n return list.split(string, [','], true)\n },\n\n space(string) {\n let spaces = [' ', '\\n', '\\t']\n return list.split(string, spaces)\n },\n\n split(string, separators, last) {\n let array = []\n let current = ''\n let split = false\n\n let func = 0\n let inQuote = false\n let prevQuote = ''\n let escape = false\n\n for (let letter of string) {\n if (escape) {\n escape = false\n } else if (letter === '\\\\') {\n escape = true\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true\n prevQuote = letter\n } else if (letter === '(') {\n func += 1\n } else if (letter === ')') {\n if (func > 0) func -= 1\n } else if (func === 0) {\n if (separators.includes(letter)) split = true\n }\n\n if (split) {\n if (current !== '') array.push(current.trim())\n current = ''\n split = false\n } else {\n current += letter\n }\n }\n\n if (last || current !== '') array.push(current.trim())\n return array\n }\n}\n\nmodule.exports = list\nlist.default = list\n","'use strict'\n\nlet Container = require('./container')\nlet list = require('./list')\n\nclass Rule extends Container {\n get selectors() {\n return list.comma(this.selector)\n }\n\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null\n let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')\n this.selector = values.join(sep)\n }\n\n constructor(defaults) {\n super(defaults)\n this.type = 'rule'\n if (!this.nodes) this.nodes = []\n }\n}\n\nmodule.exports = Rule\nRule.default = Rule\n\nContainer.registerRule(Rule)\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Input = require('./input')\nlet PreviousMap = require('./previous-map')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nfunction fromJSON(json, inputs) {\n if (Array.isArray(json)) return json.map(n => fromJSON(n))\n\n let { inputs: ownInputs, ...defaults } = json\n if (ownInputs) {\n inputs = []\n for (let input of ownInputs) {\n let inputHydrated = { ...input, __proto__: Input.prototype }\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap.prototype\n }\n }\n inputs.push(inputHydrated)\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source\n defaults.source = source\n if (inputId != null) {\n defaults.source.input = inputs[inputId]\n }\n }\n if (defaults.type === 'root') {\n return new Root(defaults)\n } else if (defaults.type === 'decl') {\n return new Declaration(defaults)\n } else if (defaults.type === 'rule') {\n return new Rule(defaults)\n } else if (defaults.type === 'comment') {\n return new Comment(defaults)\n } else if (defaults.type === 'atrule') {\n return new AtRule(defaults)\n } else {\n throw new Error('Unknown node type: ' + json.type)\n }\n}\n\nmodule.exports = fromJSON\nfromJSON.default = fromJSON\n","'use strict'\n\nlet { dirname, relative, resolve, sep } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.originalCSS = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n\n this.memoizedFileURLs = new Map()\n this.memoizedPaths = new Map()\n this.memoizedURLs = new Map()\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = null\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.startsWith('# sourceMappingURL=')) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n })\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n\n let line = 1\n let column = 1\n\n let noSource = '<no source>'\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: ''\n }\n\n let last, lines\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n path(file) {\n if (this.mapOpts.absolute) return file\n if (file.charCodeAt(0) === 60 /* `<` */) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n let cached = this.memoizedPaths.get(file)\n if (cached) return cached\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n let path = relative(from, file)\n this.memoizedPaths.set(file, path)\n\n return path\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.originalCSS, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n this.map.setSourceContent(from, this.css)\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path)\n if (cached) return cached\n\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString()\n this.memoizedFileURLs.set(path, fileURL)\n\n return fileURL\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n toUrl(path) {\n let cached = this.memoizedURLs.get(path)\n if (cached) return cached\n\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n this.memoizedURLs.set(path, url)\n\n return url\n }\n}\n\nmodule.exports = MapGenerator\n","'use strict'\n\nconst SINGLE_QUOTE = \"'\".charCodeAt(0)\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0)\nconst BACKSLASH = '\\\\'.charCodeAt(0)\nconst SLASH = '/'.charCodeAt(0)\nconst NEWLINE = '\\n'.charCodeAt(0)\nconst SPACE = ' '.charCodeAt(0)\nconst FEED = '\\f'.charCodeAt(0)\nconst TAB = '\\t'.charCodeAt(0)\nconst CR = '\\r'.charCodeAt(0)\nconst OPEN_SQUARE = '['.charCodeAt(0)\nconst CLOSE_SQUARE = ']'.charCodeAt(0)\nconst OPEN_PARENTHESES = '('.charCodeAt(0)\nconst CLOSE_PARENTHESES = ')'.charCodeAt(0)\nconst OPEN_CURLY = '{'.charCodeAt(0)\nconst CLOSE_CURLY = '}'.charCodeAt(0)\nconst SEMICOLON = ';'.charCodeAt(0)\nconst ASTERISK = '*'.charCodeAt(0)\nconst COLON = ':'.charCodeAt(0)\nconst AT = '@'.charCodeAt(0)\n\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/\nconst RE_HEX_ESCAPE = /[\\da-f]/i\n\nmodule.exports = function tokenizer(input, options = {}) {\n let css = input.css.valueOf()\n let ignore = options.ignoreErrors\n\n let code, content, escape, next, quote\n let currentToken, escaped, escapePos, n, prev\n\n let length = css.length\n let pos = 0\n let buffer = []\n let returned = []\n\n function position() {\n return pos\n }\n\n function unclosed(what) {\n throw input.error('Unclosed ' + what, pos)\n }\n\n function endOfFile() {\n return returned.length === 0 && pos >= length\n }\n\n function nextToken(opts) {\n if (returned.length) return returned.pop()\n if (pos >= length) return\n\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false\n\n code = css.charCodeAt(pos)\n\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos\n do {\n next += 1\n code = css.charCodeAt(next)\n } while (\n code === SPACE ||\n code === NEWLINE ||\n code === TAB ||\n code === CR ||\n code === FEED\n )\n\n currentToken = ['space', css.slice(pos, next)]\n pos = next - 1\n break\n }\n\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code)\n currentToken = [controlChar, controlChar, pos]\n break\n }\n\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : ''\n n = css.charCodeAt(pos + 1)\n if (\n prev === 'url' &&\n n !== SINGLE_QUOTE &&\n n !== DOUBLE_QUOTE &&\n n !== SPACE &&\n n !== NEWLINE &&\n n !== TAB &&\n n !== FEED &&\n n !== CR\n ) {\n next = pos\n do {\n escaped = false\n next = css.indexOf(')', next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos\n break\n } else {\n unclosed('bracket')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['brackets', css.slice(pos, next + 1), pos, next]\n\n pos = next\n } else {\n next = css.indexOf(')', pos + 1)\n content = css.slice(pos, next + 1)\n\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = ['(', '(', pos]\n } else {\n currentToken = ['brackets', content, pos, next]\n pos = next\n }\n }\n\n break\n }\n\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"'\n next = pos\n do {\n escaped = false\n next = css.indexOf(quote, next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1\n break\n } else {\n unclosed('string')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['string', css.slice(pos, next + 1), pos, next]\n pos = next\n break\n }\n\n case AT: {\n RE_AT_END.lastIndex = pos + 1\n RE_AT_END.test(css)\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_AT_END.lastIndex - 2\n }\n\n currentToken = ['at-word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n case BACKSLASH: {\n next = pos\n escape = true\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1\n escape = !escape\n }\n code = css.charCodeAt(next + 1)\n if (\n escape &&\n code !== SLASH &&\n code !== SPACE &&\n code !== NEWLINE &&\n code !== TAB &&\n code !== CR &&\n code !== FEED\n ) {\n next += 1\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1\n }\n }\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf('*/', pos + 2) + 1\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length\n } else {\n unclosed('comment')\n }\n }\n\n currentToken = ['comment', css.slice(pos, next + 1), pos, next]\n pos = next\n } else {\n RE_WORD_END.lastIndex = pos + 1\n RE_WORD_END.test(css)\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_WORD_END.lastIndex - 2\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n buffer.push(currentToken)\n pos = next\n }\n\n break\n }\n }\n\n pos++\n return currentToken\n }\n\n function back(token) {\n returned.push(token)\n }\n\n return {\n back,\n endOfFile,\n nextToken,\n position\n }\n}\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet tokenizer = require('./tokenize')\n\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n}\n\nfunction findLastWithPosition(tokens) {\n for (let i = tokens.length - 1; i >= 0; i--) {\n let token = tokens[i]\n let pos = token[3] || token[2]\n if (pos) return pos\n }\n}\n\nclass Parser {\n constructor(input) {\n this.input = input\n\n this.root = new Root()\n this.current = this.root\n this.spaces = ''\n this.semicolon = false\n\n this.createTokenizer()\n this.root.source = { input, start: { column: 1, line: 1, offset: 0 } }\n }\n\n atrule(token) {\n let node = new AtRule()\n node.name = token[1].slice(1)\n if (node.name === '') {\n this.unnamedAtrule(node, token)\n }\n this.init(node, token[2])\n\n let type\n let prev\n let shift\n let last = false\n let open = false\n let params = []\n let brackets = []\n\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n type = token[0]\n\n if (type === '(' || type === '[') {\n brackets.push(type === '(' ? ')' : ']')\n } else if (type === '{' && brackets.length > 0) {\n brackets.push('}')\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n }\n\n if (brackets.length === 0) {\n if (type === ';') {\n node.source.end = this.getPosition(token[2])\n node.source.end.offset++\n this.semicolon = true\n break\n } else if (type === '{') {\n open = true\n break\n } else if (type === '}') {\n if (params.length > 0) {\n shift = params.length - 1\n prev = params[shift]\n while (prev && prev[0] === 'space') {\n prev = params[--shift]\n }\n if (prev) {\n node.source.end = this.getPosition(prev[3] || prev[2])\n node.source.end.offset++\n }\n }\n this.end(token)\n break\n } else {\n params.push(token)\n }\n } else {\n params.push(token)\n }\n\n if (this.tokenizer.endOfFile()) {\n last = true\n break\n }\n }\n\n node.raws.between = this.spacesAndCommentsFromEnd(params)\n if (params.length) {\n node.raws.afterName = this.spacesAndCommentsFromStart(params)\n this.raw(node, 'params', params)\n if (last) {\n token = params[params.length - 1]\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n this.spaces = node.raws.between\n node.raws.between = ''\n }\n } else {\n node.raws.afterName = ''\n node.params = ''\n }\n\n if (open) {\n node.nodes = []\n this.current = node\n }\n }\n\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens)\n if (colon === false) return\n\n let founded = 0\n let token\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j]\n if (token[0] !== 'space') {\n founded += 1\n if (founded === 2) break\n }\n }\n // If the token is a word, e.g. `!important`, `red` or any other valid property's value.\n // Then we need to return the colon after that word token. [3] is the \"end\" colon of that word.\n // And because we need it after that one we do +1 to get the next one.\n throw this.input.error(\n 'Missed semicolon',\n token[0] === 'word' ? token[3] + 1 : token[2]\n )\n }\n\n colon(tokens) {\n let brackets = 0\n let prev, token, type\n for (let [i, element] of tokens.entries()) {\n token = element\n type = token[0]\n\n if (type === '(') {\n brackets += 1\n }\n if (type === ')') {\n brackets -= 1\n }\n if (brackets === 0 && type === ':') {\n if (!prev) {\n this.doubleColon(token)\n } else if (prev[0] === 'word' && prev[1] === 'progid') {\n continue\n } else {\n return i\n }\n }\n\n prev = token\n }\n return false\n }\n\n comment(token) {\n let node = new Comment()\n this.init(node, token[2])\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n\n let text = token[1].slice(2, -2)\n if (/^\\s*$/.test(text)) {\n node.text = ''\n node.raws.left = text\n node.raws.right = ''\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/)\n node.text = match[2]\n node.raws.left = match[1]\n node.raws.right = match[3]\n }\n }\n\n createTokenizer() {\n this.tokenizer = tokenizer(this.input)\n }\n\n decl(tokens, customProperty) {\n let node = new Declaration()\n this.init(node, tokens[0][2])\n\n let last = tokens[tokens.length - 1]\n if (last[0] === ';') {\n this.semicolon = true\n tokens.pop()\n }\n\n node.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n )\n node.source.end.offset++\n\n while (tokens[0][0] !== 'word') {\n if (tokens.length === 1) this.unknownWord(tokens)\n node.raws.before += tokens.shift()[1]\n }\n node.source.start = this.getPosition(tokens[0][2])\n\n node.prop = ''\n while (tokens.length) {\n let type = tokens[0][0]\n if (type === ':' || type === 'space' || type === 'comment') {\n break\n }\n node.prop += tokens.shift()[1]\n }\n\n node.raws.between = ''\n\n let token\n while (tokens.length) {\n token = tokens.shift()\n\n if (token[0] === ':') {\n node.raws.between += token[1]\n break\n } else {\n if (token[0] === 'word' && /\\w/.test(token[1])) {\n this.unknownWord([token])\n }\n node.raws.between += token[1]\n }\n }\n\n if (node.prop[0] === '_' || node.prop[0] === '*') {\n node.raws.before += node.prop[0]\n node.prop = node.prop.slice(1)\n }\n\n let firstSpaces = []\n let next\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n firstSpaces.push(tokens.shift())\n }\n\n this.precheckMissedSemicolon(tokens)\n\n for (let i = tokens.length - 1; i >= 0; i--) {\n token = tokens[i]\n if (token[1].toLowerCase() === '!important') {\n node.important = true\n let string = this.stringFrom(tokens, i)\n string = this.spacesFromEnd(tokens) + string\n if (string !== ' !important') node.raws.important = string\n break\n } else if (token[1].toLowerCase() === 'important') {\n let cache = tokens.slice(0)\n let str = ''\n for (let j = i; j > 0; j--) {\n let type = cache[j][0]\n if (str.trim().startsWith('!') && type !== 'space') {\n break\n }\n str = cache.pop()[1] + str\n }\n if (str.trim().startsWith('!')) {\n node.important = true\n node.raws.important = str\n tokens = cache\n }\n }\n\n if (token[0] !== 'space' && token[0] !== 'comment') {\n break\n }\n }\n\n let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment')\n\n if (hasWord) {\n node.raws.between += firstSpaces.map(i => i[1]).join('')\n firstSpaces = []\n }\n this.raw(node, 'value', firstSpaces.concat(tokens), customProperty)\n\n if (node.value.includes(':') && !customProperty) {\n this.checkMissedSemicolon(tokens)\n }\n }\n\n doubleColon(token) {\n throw this.input.error(\n 'Double colon',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n\n emptyRule(token) {\n let node = new Rule()\n this.init(node, token[2])\n node.selector = ''\n node.raws.between = ''\n this.current = node\n }\n\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.semicolon = false\n\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.spaces = ''\n\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2])\n this.current.source.end.offset++\n this.current = this.current.parent\n } else {\n this.unexpectedClose(token)\n }\n }\n\n endFile() {\n if (this.current.parent) this.unclosedBlock()\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.root.source.end = this.getPosition(this.tokenizer.position())\n }\n\n freeSemicolon(token) {\n this.spaces += token[1]\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1]\n if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces\n this.spaces = ''\n prev.source.end = this.getPosition(token[2])\n prev.source.end.offset += prev.raws.ownSemicolon.length\n }\n }\n }\n\n // Helpers\n\n getPosition(offset) {\n let pos = this.input.fromOffset(offset)\n return {\n column: pos.col,\n line: pos.line,\n offset\n }\n }\n\n init(node, offset) {\n this.current.push(node)\n node.source = {\n input: this.input,\n start: this.getPosition(offset)\n }\n node.raws.before = this.spaces\n this.spaces = ''\n if (node.type !== 'comment') this.semicolon = false\n }\n\n other(start) {\n let end = false\n let type = null\n let colon = false\n let bracket = null\n let brackets = []\n let customProperty = start[1].startsWith('--')\n\n let tokens = []\n let token = start\n while (token) {\n type = token[0]\n tokens.push(token)\n\n if (type === '(' || type === '[') {\n if (!bracket) bracket = token\n brackets.push(type === '(' ? ')' : ']')\n } else if (customProperty && colon && type === '{') {\n if (!bracket) bracket = token\n brackets.push('}')\n } else if (brackets.length === 0) {\n if (type === ';') {\n if (colon) {\n this.decl(tokens, customProperty)\n return\n } else {\n break\n }\n } else if (type === '{') {\n this.rule(tokens)\n return\n } else if (type === '}') {\n this.tokenizer.back(tokens.pop())\n end = true\n break\n } else if (type === ':') {\n colon = true\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n if (brackets.length === 0) bracket = null\n }\n\n token = this.tokenizer.nextToken()\n }\n\n if (this.tokenizer.endOfFile()) end = true\n if (brackets.length > 0) this.unclosedBracket(bracket)\n\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0]\n if (token !== 'space' && token !== 'comment') break\n this.tokenizer.back(tokens.pop())\n }\n }\n this.decl(tokens, customProperty)\n } else {\n this.unknownWord(tokens)\n }\n }\n\n parse() {\n let token\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n\n switch (token[0]) {\n case 'space':\n this.spaces += token[1]\n break\n\n case ';':\n this.freeSemicolon(token)\n break\n\n case '}':\n this.end(token)\n break\n\n case 'comment':\n this.comment(token)\n break\n\n case 'at-word':\n this.atrule(token)\n break\n\n case '{':\n this.emptyRule(token)\n break\n\n default:\n this.other(token)\n break\n }\n }\n this.endFile()\n }\n\n precheckMissedSemicolon(/* tokens */) {\n // Hook for Safe Parser\n }\n\n raw(node, prop, tokens, customProperty) {\n let token, type\n let length = tokens.length\n let value = ''\n let clean = true\n let next, prev\n\n for (let i = 0; i < length; i += 1) {\n token = tokens[i]\n type = token[0]\n if (type === 'space' && i === length - 1 && !customProperty) {\n clean = false\n } else if (type === 'comment') {\n prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'\n next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === ',') {\n clean = false\n } else {\n value += token[1]\n }\n } else {\n clean = false\n }\n } else {\n value += token[1]\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i) => all + i[1], '')\n node.raws[prop] = { raw, value }\n }\n node[prop] = value\n }\n\n rule(tokens) {\n tokens.pop()\n\n let node = new Rule()\n this.init(node, tokens[0][2])\n\n node.raws.between = this.spacesAndCommentsFromEnd(tokens)\n this.raw(node, 'selector', tokens)\n this.current = node\n }\n\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space' && lastTokenType !== 'comment') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n // Errors\n\n spacesAndCommentsFromStart(tokens) {\n let next\n let spaces = ''\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n spaces += tokens.shift()[1]\n }\n return spaces\n }\n\n spacesFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n stringFrom(tokens, from) {\n let result = ''\n for (let i = from; i < tokens.length; i++) {\n result += tokens[i][1]\n }\n tokens.splice(from, tokens.length - from)\n return result\n }\n\n unclosedBlock() {\n let pos = this.current.source.start\n throw this.input.error('Unclosed block', pos.line, pos.column)\n }\n\n unclosedBracket(bracket) {\n throw this.input.error(\n 'Unclosed bracket',\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n )\n }\n\n unexpectedClose(token) {\n throw this.input.error(\n 'Unexpected }',\n { offset: token[2] },\n { offset: token[2] + 1 }\n )\n }\n\n unknownWord(tokens) {\n throw this.input.error(\n 'Unknown word ' + tokens[0][1],\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n )\n }\n\n unnamedAtrule(node, token) {\n throw this.input.error(\n 'At-rule without name',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n}\n\nmodule.exports = Parser\n","'use strict'\n\nlet Container = require('./container')\nlet Input = require('./input')\nlet Parser = require('./parser')\n\nfunction parse(css, opts) {\n let input = new Input(css, opts)\n let parser = new Parser(input)\n try {\n parser.parse()\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n if (e.name === 'CssSyntaxError' && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse SCSS with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-scss parser'\n } else if (/\\.sass/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Sass with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-sass parser'\n } else if (/\\.less$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Less with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-less parser'\n }\n }\n }\n throw e\n }\n\n return parser.root\n}\n\nmodule.exports = parse\nparse.default = parse\n\nContainer.registerParse(parse)\n","'use strict'\n\nclass Warning {\n constructor(text, opts = {}) {\n this.type = 'warning'\n this.text = text\n\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts)\n this.line = range.start.line\n this.column = range.start.column\n this.endLine = range.end.line\n this.endColumn = range.end.column\n }\n\n for (let opt in opts) this[opt] = opts[opt]\n }\n\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message\n }\n\n if (this.plugin) {\n return this.plugin + ': ' + this.text\n }\n\n return this.text\n }\n}\n\nmodule.exports = Warning\nWarning.default = Warning\n","'use strict'\n\nlet Warning = require('./warning')\n\nclass Result {\n get content() {\n return this.css\n }\n\n constructor(processor, root, opts) {\n this.processor = processor\n this.messages = []\n this.root = root\n this.opts = opts\n this.css = ''\n this.map = undefined\n }\n\n toString() {\n return this.css\n }\n\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin\n }\n }\n\n let warning = new Warning(text, opts)\n this.messages.push(warning)\n\n return warning\n }\n\n warnings() {\n return this.messages.filter(i => i.type === 'warning')\n }\n}\n\nmodule.exports = Result\nResult.default = Result\n","'use strict'\n\nlet Container = require('./container')\nlet Document = require('./document')\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nlet Result = require('./result')\nlet Root = require('./root')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\nlet warnOnce = require('./warn-once')\n\nconst TYPE_TO_CLASS_NAME = {\n atrule: 'AtRule',\n comment: 'Comment',\n decl: 'Declaration',\n document: 'Document',\n root: 'Root',\n rule: 'Rule'\n}\n\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n}\n\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n}\n\nconst CHILDREN = 0\n\nfunction isPromise(obj) {\n return typeof obj === 'object' && typeof obj.then === 'function'\n}\n\nfunction getEvents(node) {\n let key = false\n let type = TYPE_TO_CLASS_NAME[node.type]\n if (node.type === 'decl') {\n key = node.prop.toLowerCase()\n } else if (node.type === 'atrule') {\n key = node.name.toLowerCase()\n }\n\n if (key && node.append) {\n return [\n type,\n type + '-' + key,\n CHILDREN,\n type + 'Exit',\n type + 'Exit-' + key\n ]\n } else if (key) {\n return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]\n } else if (node.append) {\n return [type, CHILDREN, type + 'Exit']\n } else {\n return [type, type + 'Exit']\n }\n}\n\nfunction toStack(node) {\n let events\n if (node.type === 'document') {\n events = ['Document', CHILDREN, 'DocumentExit']\n } else if (node.type === 'root') {\n events = ['Root', CHILDREN, 'RootExit']\n } else {\n events = getEvents(node)\n }\n\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node,\n visitorIndex: 0,\n visitors: []\n }\n}\n\nfunction cleanMarks(node) {\n node[isClean] = false\n if (node.nodes) node.nodes.forEach(i => cleanMarks(i))\n return node\n}\n\nlet postcss = {}\n\nclass LazyResult {\n get content() {\n return this.stringify().content\n }\n\n get css() {\n return this.stringify().css\n }\n\n get map() {\n return this.stringify().map\n }\n\n get messages() {\n return this.sync().messages\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n return this.sync().root\n }\n\n get [Symbol.toStringTag]() {\n return 'LazyResult'\n }\n\n constructor(processor, css, opts) {\n this.stringified = false\n this.processed = false\n\n let root\n if (\n typeof css === 'object' &&\n css !== null &&\n (css.type === 'root' || css.type === 'document')\n ) {\n root = cleanMarks(css)\n } else if (css instanceof LazyResult || css instanceof Result) {\n root = cleanMarks(css.root)\n if (css.map) {\n if (typeof opts.map === 'undefined') opts.map = {}\n if (!opts.map.inline) opts.map.inline = false\n opts.map.prev = css.map\n }\n } else {\n let parser = parse\n if (opts.syntax) parser = opts.syntax.parse\n if (opts.parser) parser = opts.parser\n if (parser.parse) parser = parser.parse\n\n try {\n root = parser(css, opts)\n } catch (error) {\n this.processed = true\n this.error = error\n }\n\n if (root && !root[my]) {\n /* c8 ignore next 2 */\n Container.rebuild(root)\n }\n }\n\n this.result = new Result(processor, root, opts)\n this.helpers = { ...postcss, postcss, result: this.result }\n this.plugins = this.processor.plugins.map(plugin => {\n if (typeof plugin === 'object' && plugin.prepare) {\n return { ...plugin, ...plugin.prepare(this.result) }\n } else {\n return plugin\n }\n })\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n if (this.processed) return Promise.resolve(this.result)\n if (!this.processing) {\n this.processing = this.runAsync()\n }\n return this.processing\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n getAsyncError() {\n throw new Error('Use process(css).then(cb) to work with async plugins')\n }\n\n handleError(error, node) {\n let plugin = this.result.lastPlugin\n try {\n if (node) node.addToError(error)\n this.error = error\n if (error.name === 'CssSyntaxError' && !error.plugin) {\n error.plugin = plugin.postcssPlugin\n error.setMessage()\n } else if (plugin.postcssVersion) {\n if (process.env.NODE_ENV !== 'production') {\n let pluginName = plugin.postcssPlugin\n let pluginVer = plugin.postcssVersion\n let runtimeVer = this.result.processor.version\n let a = pluginVer.split('.')\n let b = runtimeVer.split('.')\n\n if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n // eslint-disable-next-line no-console\n console.error(\n 'Unknown error from PostCSS plugin. Your current PostCSS ' +\n 'version is ' +\n runtimeVer +\n ', but ' +\n pluginName +\n ' uses ' +\n pluginVer +\n '. Perhaps this is the source of the error below.'\n )\n }\n }\n }\n } catch (err) {\n /* c8 ignore next 3 */\n // eslint-disable-next-line no-console\n if (console && console.error) console.error(err)\n }\n return error\n }\n\n prepareVisitors() {\n this.listeners = {}\n let add = (plugin, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = []\n this.listeners[type].push([plugin, cb])\n }\n for (let plugin of this.plugins) {\n if (typeof plugin === 'object') {\n for (let event in plugin) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin.postcssPlugin}. ` +\n `Try to update PostCSS (${this.processor.version} now).`\n )\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin[event] === 'object') {\n for (let filter in plugin[event]) {\n if (filter === '*') {\n add(plugin, event, plugin[event][filter])\n } else {\n add(\n plugin,\n event + '-' + filter.toLowerCase(),\n plugin[event][filter]\n )\n }\n }\n } else if (typeof plugin[event] === 'function') {\n add(plugin, event, plugin[event])\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0\n }\n\n async runAsync() {\n this.plugin = 0\n for (let i = 0; i < this.plugins.length; i++) {\n let plugin = this.plugins[i]\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (error) {\n throw this.handleError(error)\n }\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n let stack = [toStack(root)]\n while (stack.length > 0) {\n let promise = this.visitTick(stack)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (e) {\n let node = stack[stack.length - 1].node\n throw this.handleError(e, node)\n }\n }\n }\n }\n\n if (this.listeners.OnceExit) {\n for (let [plugin, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin\n try {\n if (root.type === 'document') {\n let roots = root.nodes.map(subRoot =>\n visitor(subRoot, this.helpers)\n )\n\n await Promise.all(roots)\n } else {\n await visitor(root, this.helpers)\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n }\n }\n\n this.processed = true\n return this.stringify()\n }\n\n runOnRoot(plugin) {\n this.result.lastPlugin = plugin\n try {\n if (typeof plugin === 'object' && plugin.Once) {\n if (this.result.root.type === 'document') {\n let roots = this.result.root.nodes.map(root =>\n plugin.Once(root, this.helpers)\n )\n\n if (isPromise(roots[0])) {\n return Promise.all(roots)\n }\n\n return roots\n }\n\n return plugin.Once(this.result.root, this.helpers)\n } else if (typeof plugin === 'function') {\n return plugin(this.result.root, this.result)\n }\n } catch (error) {\n throw this.handleError(error)\n }\n }\n\n stringify() {\n if (this.error) throw this.error\n if (this.stringified) return this.result\n this.stringified = true\n\n this.sync()\n\n let opts = this.result.opts\n let str = stringify\n if (opts.syntax) str = opts.syntax.stringify\n if (opts.stringifier) str = opts.stringifier\n if (str.stringify) str = str.stringify\n\n let map = new MapGenerator(str, this.result.root, this.result.opts)\n let data = map.generate()\n this.result.css = data[0]\n this.result.map = data[1]\n\n return this.result\n }\n\n sync() {\n if (this.error) throw this.error\n if (this.processed) return this.result\n this.processed = true\n\n if (this.processing) {\n throw this.getAsyncError()\n }\n\n for (let plugin of this.plugins) {\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n this.walkSync(root)\n }\n if (this.listeners.OnceExit) {\n if (root.type === 'document') {\n for (let subRoot of root.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot)\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root)\n }\n }\n }\n\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this.opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this.css\n }\n\n visitSync(visitors, node) {\n for (let [plugin, visitor] of visitors) {\n this.result.lastPlugin = plugin\n let promise\n try {\n promise = visitor(node, this.helpers)\n } catch (e) {\n throw this.handleError(e, node.proxyOf)\n }\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n return true\n }\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n }\n\n visitTick(stack) {\n let visit = stack[stack.length - 1]\n let { node, visitors } = visit\n\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n stack.pop()\n return\n }\n\n if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n let [plugin, visitor] = visitors[visit.visitorIndex]\n visit.visitorIndex += 1\n if (visit.visitorIndex === visitors.length) {\n visit.visitors = []\n visit.visitorIndex = 0\n }\n this.result.lastPlugin = plugin\n try {\n return visitor(node.toProxy(), this.helpers)\n } catch (e) {\n throw this.handleError(e, node)\n }\n }\n\n if (visit.iterator !== 0) {\n let iterator = visit.iterator\n let child\n while ((child = node.nodes[node.indexes[iterator]])) {\n node.indexes[iterator] += 1\n if (!child[isClean]) {\n child[isClean] = true\n stack.push(toStack(child))\n return\n }\n }\n visit.iterator = 0\n delete node.indexes[iterator]\n }\n\n let events = visit.events\n while (visit.eventIndex < events.length) {\n let event = events[visit.eventIndex]\n visit.eventIndex += 1\n if (event === CHILDREN) {\n if (node.nodes && node.nodes.length) {\n node[isClean] = true\n visit.iterator = node.getIterator()\n }\n return\n } else if (this.listeners[event]) {\n visit.visitors = this.listeners[event]\n return\n }\n }\n stack.pop()\n }\n\n walkSync(node) {\n node[isClean] = true\n let events = getEvents(node)\n for (let event of events) {\n if (event === CHILDREN) {\n if (node.nodes) {\n node.each(child => {\n if (!child[isClean]) this.walkSync(child)\n })\n }\n } else {\n let visitors = this.listeners[event]\n if (visitors) {\n if (this.visitSync(visitors, node.toProxy())) return\n }\n }\n }\n }\n\n warnings() {\n return this.sync().warnings()\n }\n}\n\nLazyResult.registerPostcss = dependant => {\n postcss = dependant\n}\n\nmodule.exports = LazyResult\nLazyResult.default = LazyResult\n\nRoot.registerLazyResult(LazyResult)\nDocument.registerLazyResult(LazyResult)\n","'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nconst Result = require('./result')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\n\nclass NoWorkResult {\n get content() {\n return this.result.css\n }\n\n get css() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get messages() {\n return []\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n } else {\n map.clearAnnotation()\n this.result.css = map.css\n }\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this._css\n }\n\n warnings() {\n return []\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n","'use strict'\n\nlet Document = require('./document')\nlet LazyResult = require('./lazy-result')\nlet NoWorkResult = require('./no-work-result')\nlet Root = require('./root')\n\nclass Processor {\n constructor(plugins = []) {\n this.version = '8.5.4'\n this.plugins = this.normalize(plugins)\n }\n\n normalize(plugins) {\n let normalized = []\n for (let i of plugins) {\n if (i.postcss === true) {\n i = i()\n } else if (i.postcss) {\n i = i.postcss\n }\n\n if (typeof i === 'object' && Array.isArray(i.plugins)) {\n normalized = normalized.concat(i.plugins)\n } else if (typeof i === 'object' && i.postcssPlugin) {\n normalized.push(i)\n } else if (typeof i === 'function') {\n normalized.push(i)\n } else if (typeof i === 'object' && (i.parse || i.stringify)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +\n 'one of the syntax/parser/stringifier options as outlined ' +\n 'in your PostCSS runner documentation.'\n )\n }\n } else {\n throw new Error(i + ' is not a PostCSS plugin')\n }\n }\n return normalized\n }\n\n process(css, opts = {}) {\n if (\n !this.plugins.length &&\n !opts.parser &&\n !opts.stringifier &&\n !opts.syntax\n ) {\n return new NoWorkResult(this, css, opts)\n } else {\n return new LazyResult(this, css, opts)\n }\n }\n\n use(plugin) {\n this.plugins = this.plugins.concat(this.normalize([plugin]))\n return this\n }\n}\n\nmodule.exports = Processor\nProcessor.default = Processor\n\nRoot.registerProcessor(Processor)\nDocument.registerProcessor(Processor)\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Container = require('./container')\nlet CssSyntaxError = require('./css-syntax-error')\nlet Declaration = require('./declaration')\nlet Document = require('./document')\nlet fromJSON = require('./fromJSON')\nlet Input = require('./input')\nlet LazyResult = require('./lazy-result')\nlet list = require('./list')\nlet Node = require('./node')\nlet parse = require('./parse')\nlet Processor = require('./processor')\nlet Result = require('./result.js')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet stringify = require('./stringify')\nlet Warning = require('./warning')\n\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0]\n }\n return new Processor(plugins)\n}\n\npostcss.plugin = function plugin(name, initializer) {\n let warningPrinted = false\n function creator(...args) {\n // eslint-disable-next-line no-console\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': postcss.plugin was deprecated. Migration guide:\\n' +\n 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'\n )\n if (process.env.LANG && process.env.LANG.startsWith('cn')) {\n /* c8 ignore next 7 */\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': 里面 postcss.plugin 被弃用. 迁移指南:\\n' +\n 'https://www.w3ctech.com/topic/2226'\n )\n }\n }\n let transformer = initializer(...args)\n transformer.postcssPlugin = name\n transformer.postcssVersion = new Processor().version\n return transformer\n }\n\n let cache\n Object.defineProperty(creator, 'postcss', {\n get() {\n if (!cache) cache = creator()\n return cache\n }\n })\n\n creator.process = function (css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts)\n }\n\n return creator\n}\n\npostcss.stringify = stringify\npostcss.parse = parse\npostcss.fromJSON = fromJSON\npostcss.list = list\n\npostcss.comment = defaults => new Comment(defaults)\npostcss.atRule = defaults => new AtRule(defaults)\npostcss.decl = defaults => new Declaration(defaults)\npostcss.rule = defaults => new Rule(defaults)\npostcss.root = defaults => new Root(defaults)\npostcss.document = defaults => new Document(defaults)\n\npostcss.CssSyntaxError = CssSyntaxError\npostcss.Declaration = Declaration\npostcss.Container = Container\npostcss.Processor = Processor\npostcss.Document = Document\npostcss.Comment = Comment\npostcss.Warning = Warning\npostcss.AtRule = AtRule\npostcss.Result = Result\npostcss.Input = Input\npostcss.Rule = Rule\npostcss.Root = Root\npostcss.Node = Node\n\nLazyResult.registerPostcss(postcss)\n\nmodule.exports = postcss\npostcss.default = postcss\n","const htmlparser = require('htmlparser2');\nconst escapeStringRegexp = require('escape-string-regexp');\nconst { isPlainObject } = require('is-plain-object');\nconst deepmerge = require('deepmerge');\nconst parseSrcset = require('parse-srcset');\nconst { parse: postcssParse } = require('postcss');\n// Tags that can conceivably represent stand-alone media.\nconst mediaTags = [\n 'img', 'audio', 'video', 'picture', 'svg',\n 'object', 'map', 'iframe', 'embed'\n];\n// Tags that are inherently vulnerable to being used in XSS attacks.\nconst vulnerableTags = [ 'script', 'style' ];\n\nfunction each(obj, cb) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n cb(obj[key], key);\n });\n }\n}\n\n// Avoid false positives with .__proto__, .hasOwnProperty, etc.\nfunction has(obj, key) {\n return ({}).hasOwnProperty.call(obj, key);\n}\n\n// Returns those elements of `a` for which `cb(a)` returns truthy\nfunction filter(a, cb) {\n const n = [];\n each(a, function(v) {\n if (cb(v)) {\n n.push(v);\n }\n });\n return n;\n}\n\nfunction isEmptyObject(obj) {\n for (const key in obj) {\n if (has(obj, key)) {\n return false;\n }\n }\n return true;\n}\n\nfunction stringifySrcset(parsedSrcset) {\n return parsedSrcset.map(function(part) {\n if (!part.url) {\n throw new Error('URL missing');\n }\n\n return (\n part.url +\n (part.w ? ` ${part.w}w` : '') +\n (part.h ? ` ${part.h}h` : '') +\n (part.d ? ` ${part.d}x` : '')\n );\n }).join(', ');\n}\n\nmodule.exports = sanitizeHtml;\n\n// A valid attribute name.\n// We use a tolerant definition based on the set of strings defined by\n// html.spec.whatwg.org/multipage/parsing.html#before-attribute-name-state\n// and html.spec.whatwg.org/multipage/parsing.html#attribute-name-state .\n// The characters accepted are ones which can be appended to the attribute\n// name buffer without triggering a parse error:\n// * unexpected-equals-sign-before-attribute-name\n// * unexpected-null-character\n// * unexpected-character-in-attribute-name\n// We exclude the empty string because it's impossible to get to the after\n// attribute name state with an empty attribute name buffer.\nconst VALID_HTML_ATTRIBUTE_NAME = /^[^\\0\\t\\n\\f\\r /<=>]+$/;\n\n// Ignore the _recursing flag; it's there for recursive\n// invocation as a guard against this exploit:\n// https://github.com/fb55/htmlparser2/issues/105\n\nfunction sanitizeHtml(html, options, _recursing) {\n if (html == null) {\n return '';\n }\n if (typeof html === 'number') {\n html = html.toString();\n }\n\n let result = '';\n // Used for hot swapping the result variable with an empty string in order to \"capture\" the text written to it.\n let tempResult = '';\n\n function Frame(tag, attribs) {\n const that = this;\n this.tag = tag;\n this.attribs = attribs || {};\n this.tagPosition = result.length;\n this.text = ''; // Node inner text\n this.openingTagLength = 0;\n this.mediaChildren = [];\n\n this.updateParentNodeText = function() {\n if (stack.length) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.text += that.text;\n }\n };\n\n this.updateParentNodeMediaChildren = function() {\n if (stack.length && mediaTags.includes(this.tag)) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.mediaChildren.push(this.tag);\n }\n };\n }\n\n options = Object.assign({}, sanitizeHtml.defaults, options);\n options.parser = Object.assign({}, htmlParserDefaults, options.parser);\n\n const tagAllowed = function (name) {\n return options.allowedTags === false || (options.allowedTags || []).indexOf(name) > -1;\n };\n\n // vulnerableTags\n vulnerableTags.forEach(function (tag) {\n if (tagAllowed(tag) && !options.allowVulnerableTags) {\n console.warn(`\\n\\n⚠️ Your \\`allowedTags\\` option includes, \\`${tag}\\`, which is inherently\\nvulnerable to XSS attacks. Please remove it from \\`allowedTags\\`.\\nOr, to disable this warning, add the \\`allowVulnerableTags\\` option\\nand ensure you are accounting for this risk.\\n\\n`);\n }\n });\n\n // Tags that contain something other than HTML, or where discarding\n // the text when the tag is disallowed makes sense for other reasons.\n // If we are not allowing these tags, we should drop their content too.\n // For other tags you would drop the tag but keep its content.\n const nonTextTagsArray = options.nonTextTags || [\n 'script',\n 'style',\n 'textarea',\n 'option'\n ];\n let allowedAttributesMap;\n let allowedAttributesGlobMap;\n if (options.allowedAttributes) {\n allowedAttributesMap = {};\n allowedAttributesGlobMap = {};\n each(options.allowedAttributes, function(attributes, tag) {\n allowedAttributesMap[tag] = [];\n const globRegex = [];\n attributes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else {\n allowedAttributesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedAttributesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n });\n }\n const allowedClassesMap = {};\n const allowedClassesGlobMap = {};\n const allowedClassesRegexMap = {};\n each(options.allowedClasses, function(classes, tag) {\n // Implicitly allows the class attribute\n if (allowedAttributesMap) {\n if (!has(allowedAttributesMap, tag)) {\n allowedAttributesMap[tag] = [];\n }\n allowedAttributesMap[tag].push('class');\n }\n\n allowedClassesMap[tag] = classes;\n\n if (Array.isArray(classes)) {\n const globRegex = [];\n allowedClassesMap[tag] = [];\n allowedClassesRegexMap[tag] = [];\n classes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else if (obj instanceof RegExp) {\n allowedClassesRegexMap[tag].push(obj);\n } else {\n allowedClassesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedClassesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n }\n });\n\n const transformTagsMap = {};\n let transformTagsAll;\n each(options.transformTags, function(transform, tag) {\n let transFun;\n if (typeof transform === 'function') {\n transFun = transform;\n } else if (typeof transform === 'string') {\n transFun = sanitizeHtml.simpleTransform(transform);\n }\n if (tag === '*') {\n transformTagsAll = transFun;\n } else {\n transformTagsMap[tag] = transFun;\n }\n });\n\n let depth;\n let stack;\n let skipMap;\n let transformMap;\n let skipText;\n let skipTextDepth;\n let addedText = false;\n\n initializeState();\n\n const parser = new htmlparser.Parser({\n onopentag: function(name, attribs) {\n if (options.onOpenTag) {\n options.onOpenTag(name, attribs);\n }\n\n // If `enforceHtmlBoundary` is `true` and this has found the opening\n // `html` tag, reset the state.\n if (options.enforceHtmlBoundary && name === 'html') {\n initializeState();\n }\n\n if (skipText) {\n skipTextDepth++;\n return;\n }\n const frame = new Frame(name, attribs);\n stack.push(frame);\n\n let skip = false;\n const hasText = !!frame.text;\n let transformedTag;\n if (has(transformTagsMap, name)) {\n transformedTag = transformTagsMap[name](name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n\n if (transformedTag.text !== undefined) {\n frame.innerText = transformedTag.text;\n }\n\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n if (transformTagsAll) {\n transformedTag = transformTagsAll(name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n\n if (!tagAllowed(name) || (options.disallowedTagsMode === 'recursiveEscape' && !isEmptyObject(skipMap)) || (options.nestingLimit != null && depth >= options.nestingLimit)) {\n skip = true;\n skipMap[depth] = true;\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n if (nonTextTagsArray.indexOf(name) !== -1) {\n skipText = true;\n skipTextDepth = 1;\n }\n }\n }\n depth++;\n if (skip) {\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n // We want the contents but not this tag\n if (frame.innerText && !hasText) {\n const escaped = escapeHtml(frame.innerText);\n if (options.textFilter) {\n result += options.textFilter(escaped, name);\n } else {\n result += escaped;\n }\n addedText = true;\n }\n return;\n }\n tempResult = result;\n result = '';\n }\n result += '<' + name;\n\n if (name === 'script') {\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n frame.innerText = '';\n }\n }\n\n const isBeingEscaped = skip && (options.disallowedTagsMode === 'escape' || options.disallowedTagsMode === 'recursiveEscape');\n const shouldPreserveEscapedAttributes = isBeingEscaped && options.preserveEscapedAttributes;\n\n if (shouldPreserveEscapedAttributes) {\n each(attribs, function(value, a) {\n result += ' ' + a + '=\"' + escapeHtml((value || ''), true) + '\"';\n });\n } else if (!allowedAttributesMap || has(allowedAttributesMap, name) || allowedAttributesMap['*']) {\n each(attribs, function(value, a) {\n if (!VALID_HTML_ATTRIBUTE_NAME.test(a)) {\n // This prevents part of an attribute name in the output from being\n // interpreted as the end of an attribute, or end of a tag.\n delete frame.attribs[a];\n return;\n }\n // If the value is empty, check if the attribute is in the allowedEmptyAttributes array.\n // If it is not in the allowedEmptyAttributes array, and it is a known non-boolean attribute, delete it\n // List taken from https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n if (value === '' && (!options.allowedEmptyAttributes.includes(a)) &&\n (options.nonBooleanAttributes.includes(a) || options.nonBooleanAttributes.includes('*'))) {\n delete frame.attribs[a];\n return;\n }\n // check allowedAttributesMap for the element and attribute and modify the value\n // as necessary if there are specific values defined.\n let passedAllowedAttributesMapCheck = false;\n if (!allowedAttributesMap ||\n (has(allowedAttributesMap, name) && allowedAttributesMap[name].indexOf(a) !== -1) ||\n (allowedAttributesMap['*'] && allowedAttributesMap['*'].indexOf(a) !== -1) ||\n (has(allowedAttributesGlobMap, name) && allowedAttributesGlobMap[name].test(a)) ||\n (allowedAttributesGlobMap['*'] && allowedAttributesGlobMap['*'].test(a))) {\n passedAllowedAttributesMapCheck = true;\n } else if (allowedAttributesMap && allowedAttributesMap[name]) {\n for (const o of allowedAttributesMap[name]) {\n if (isPlainObject(o) && o.name && (o.name === a)) {\n passedAllowedAttributesMapCheck = true;\n let newValue = '';\n if (o.multiple === true) {\n // verify the values that are allowed\n const splitStrArray = value.split(' ');\n for (const s of splitStrArray) {\n if (o.values.indexOf(s) !== -1) {\n if (newValue === '') {\n newValue = s;\n } else {\n newValue += ' ' + s;\n }\n }\n }\n } else if (o.values.indexOf(value) >= 0) {\n // verified an allowed value matches the entire attribute value\n newValue = value;\n }\n value = newValue;\n }\n }\n }\n if (passedAllowedAttributesMapCheck) {\n if (options.allowedSchemesAppliedToAttributes.indexOf(a) !== -1) {\n if (naughtyHref(name, value)) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'script' && a === 'src') {\n\n let allowed = true;\n\n try {\n const parsed = parseUrl(value);\n\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n const allowedHostname = (options.allowedScriptHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedScriptDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n allowed = false;\n }\n\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'iframe' && a === 'src') {\n let allowed = true;\n try {\n const parsed = parseUrl(value);\n\n if (parsed.isRelativeUrl) {\n // default value of allowIframeRelativeUrls is true\n // unless allowedIframeHostnames or allowedIframeDomains specified\n allowed = has(options, 'allowIframeRelativeUrls')\n ? options.allowIframeRelativeUrls\n : (!options.allowedIframeHostnames && !options.allowedIframeDomains);\n } else if (options.allowedIframeHostnames || options.allowedIframeDomains) {\n const allowedHostname = (options.allowedIframeHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedIframeDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n // Unparseable iframe src\n allowed = false;\n }\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'srcset') {\n try {\n let parsed = parseSrcset(value);\n parsed.forEach(function(value) {\n if (naughtyHref('srcset', value.url)) {\n value.evil = true;\n }\n });\n parsed = filter(parsed, function(v) {\n return !v.evil;\n });\n if (!parsed.length) {\n delete frame.attribs[a];\n return;\n } else {\n value = stringifySrcset(filter(parsed, function(v) {\n return !v.evil;\n }));\n frame.attribs[a] = value;\n }\n } catch (e) {\n // Unparseable srcset\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'class') {\n const allowedSpecificClasses = allowedClassesMap[name];\n const allowedWildcardClasses = allowedClassesMap['*'];\n const allowedSpecificClassesGlob = allowedClassesGlobMap[name];\n const allowedSpecificClassesRegex = allowedClassesRegexMap[name];\n const allowedWildcardClassesRegex = allowedClassesRegexMap['*'];\n const allowedWildcardClassesGlob = allowedClassesGlobMap['*'];\n const allowedClassesGlobs = [\n allowedSpecificClassesGlob,\n allowedWildcardClassesGlob\n ]\n .concat(allowedSpecificClassesRegex, allowedWildcardClassesRegex)\n .filter(function (t) {\n return t;\n });\n if (allowedSpecificClasses && allowedWildcardClasses) {\n value = filterClasses(value, deepmerge(allowedSpecificClasses, allowedWildcardClasses), allowedClassesGlobs);\n } else {\n value = filterClasses(value, allowedSpecificClasses || allowedWildcardClasses, allowedClassesGlobs);\n }\n if (!value.length) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'style') {\n if (options.parseStyleAttributes) {\n try {\n const abstractSyntaxTree = postcssParse(name + ' {' + value + '}', { map: false });\n const filteredAST = filterCss(abstractSyntaxTree, options.allowedStyles);\n\n value = stringifyStyleAttributes(filteredAST);\n\n if (value.length === 0) {\n delete frame.attribs[a];\n return;\n }\n } catch (e) {\n if (typeof window !== 'undefined') {\n console.warn('Failed to parse \"' + name + ' {' + value + '}' + '\", If you\\'re running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547');\n }\n delete frame.attribs[a];\n return;\n }\n } else if (options.allowedStyles) {\n throw new Error('allowedStyles option cannot be used together with parseStyleAttributes: false.');\n }\n }\n result += ' ' + a;\n if (value && value.length) {\n result += '=\"' + escapeHtml(value, true) + '\"';\n } else if (options.allowedEmptyAttributes.includes(a)) {\n result += '=\"\"';\n }\n } else {\n delete frame.attribs[a];\n }\n });\n }\n if (options.selfClosing.indexOf(name) !== -1) {\n result += ' />';\n } else {\n result += '>';\n if (frame.innerText && !hasText && !options.textFilter) {\n result += escapeHtml(frame.innerText);\n addedText = true;\n }\n }\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n frame.openingTagLength = result.length - frame.tagPosition;\n },\n ontext: function(text) {\n if (skipText) {\n return;\n }\n const lastFrame = stack[stack.length - 1];\n let tag;\n\n if (lastFrame) {\n tag = lastFrame.tag;\n // If inner text was set by transform function then let's use it\n text = lastFrame.innerText !== undefined ? lastFrame.innerText : text;\n }\n\n if (options.disallowedTagsMode === 'completelyDiscard' && !tagAllowed(tag)) {\n text = '';\n } else if ((options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') && ((tag === 'script') || (tag === 'style'))) {\n // htmlparser2 gives us these as-is. Escaping them ruins the content. Allowing\n // script tags is, by definition, game over for XSS protection, so if that's\n // your concern, don't allow them. The same is essentially true for style tags\n // which have their own collection of XSS vectors.\n result += text;\n } else if (!addedText) {\n const escaped = escapeHtml(text, false);\n if (options.textFilter) {\n result += options.textFilter(escaped, tag);\n } else {\n result += escaped;\n }\n }\n if (stack.length) {\n const frame = stack[stack.length - 1];\n frame.text += text;\n }\n },\n onclosetag: function(name, isImplied) {\n if (options.onCloseTag) {\n options.onCloseTag(name, isImplied);\n }\n\n if (skipText) {\n skipTextDepth--;\n if (!skipTextDepth) {\n skipText = false;\n } else {\n return;\n }\n }\n\n const frame = stack.pop();\n if (!frame) {\n // Do not crash on bad markup\n return;\n }\n\n if (frame.tag !== name) {\n // Another case of bad markup.\n // Push to stack, so that it will be used in future closing tags.\n stack.push(frame);\n return;\n }\n\n skipText = options.enforceHtmlBoundary ? name === 'html' : false;\n depth--;\n const skip = skipMap[depth];\n if (skip) {\n delete skipMap[depth];\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n frame.updateParentNodeText();\n return;\n }\n tempResult = result;\n result = '';\n }\n\n if (transformMap[depth]) {\n name = transformMap[depth];\n delete transformMap[depth];\n }\n\n if (options.exclusiveFilter) {\n const filterResult = options.exclusiveFilter(frame);\n if (filterResult === 'excludeTag') {\n if (skip) {\n // no longer escaping the tag since it's not added at all\n result = tempResult;\n tempResult = '';\n }\n // remove the opening tag from the result\n result = result.substring(0, frame.tagPosition) + result.substring(frame.tagPosition + frame.openingTagLength);\n return;\n } else if (filterResult) {\n result = result.substring(0, frame.tagPosition);\n return;\n }\n }\n\n frame.updateParentNodeMediaChildren();\n frame.updateParentNodeText();\n\n if (\n // Already output />\n options.selfClosing.indexOf(name) !== -1 ||\n // Escaped tag, closing tag is implied\n (isImplied && !tagAllowed(name) && [ 'escape', 'recursiveEscape' ].indexOf(options.disallowedTagsMode) >= 0)\n ) {\n if (skip) {\n result = tempResult;\n tempResult = '';\n }\n return;\n }\n\n result += '</' + name + '>';\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n addedText = false;\n }\n }, options.parser);\n parser.write(html);\n parser.end();\n\n return result;\n\n function initializeState() {\n result = '';\n depth = 0;\n stack = [];\n skipMap = {};\n transformMap = {};\n skipText = false;\n skipTextDepth = 0;\n }\n\n function escapeHtml(s, quote) {\n if (typeof (s) !== 'string') {\n s = s + '';\n }\n if (options.parser.decodeEntities) {\n s = s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n }\n // TODO: this is inadequate because it will pass `&0;`. This approach\n // will not work, each & must be considered with regard to whether it\n // is followed by a 100% syntactically valid entity or not, and escaped\n // if it is not. If this bothers you, don't set parser.decodeEntities\n // to false. (The default is true.)\n s = s.replace(/&(?![a-zA-Z0-9#]{1,20};)/g, '&') // Match ampersands not part of existing HTML entity\n .replace(/</g, '<')\n .replace(/>/g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n return s;\n }\n\n function naughtyHref(name, href) {\n // Browsers ignore character codes of 32 (space) and below in a surprising\n // number of situations. Start reading here:\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Embedded_tab\n // eslint-disable-next-line no-control-regex\n href = href.replace(/[\\x00-\\x20]+/g, '');\n // Clobber any comments in URLs, which the browser might\n // interpret inside an XML data island, allowing\n // a javascript: URL to be snuck through\n while (true) {\n const firstIndex = href.indexOf('<!--');\n if (firstIndex === -1) {\n break;\n }\n const lastIndex = href.indexOf('-->', firstIndex + 4);\n if (lastIndex === -1) {\n break;\n }\n href = href.substring(0, firstIndex) + href.substring(lastIndex + 3);\n }\n // Case insensitive so we don't get faked out by JAVASCRIPT #1\n // Allow more characters after the first so we don't get faked\n // out by certain schemes browsers accept\n const matches = href.match(/^([a-zA-Z][a-zA-Z0-9.\\-+]*):/);\n if (!matches) {\n // Protocol-relative URL starting with any combination of '/' and '\\'\n if (href.match(/^[/\\\\]{2}/)) {\n return !options.allowProtocolRelative;\n }\n\n // No scheme\n return false;\n }\n const scheme = matches[1].toLowerCase();\n\n if (has(options.allowedSchemesByTag, name)) {\n return options.allowedSchemesByTag[name].indexOf(scheme) === -1;\n }\n\n return !options.allowedSchemes || options.allowedSchemes.indexOf(scheme) === -1;\n }\n\n function parseUrl(value) {\n value = value.replace(/^(\\w+:)?\\s*[\\\\/]\\s*[\\\\/]/, '$1//');\n if (value.startsWith('relative:')) {\n // An attempt to exploit our workaround for base URLs being\n // mandatory for relative URL validation in the WHATWG\n // URL parser, reject it\n throw new Error('relative: exploit attempt');\n }\n // naughtyHref is in charge of whether protocol relative URLs\n // are cool. Here we are concerned just with allowed hostnames and\n // whether to allow relative URLs.\n //\n // Build a placeholder \"base URL\" against which any reasonable\n // relative URL may be parsed successfully\n let base = 'relative://relative-site';\n for (let i = 0; (i < 100); i++) {\n base += `/${i}`;\n }\n\n const parsed = new URL(value, base);\n\n const isRelativeUrl = parsed && parsed.hostname === 'relative-site' && parsed.protocol === 'relative:';\n return {\n isRelativeUrl,\n url: parsed\n };\n }\n /**\n * Filters user input css properties by allowlisted regex attributes.\n * Modifies the abstractSyntaxTree object.\n *\n * @param {object} abstractSyntaxTree - Object representation of CSS attributes.\n * @property {array[Declaration]} abstractSyntaxTree.nodes[0] - Each object cointains prop and value key, i.e { prop: 'color', value: 'red' }.\n * @param {object} allowedStyles - Keys are properties (i.e color), value is list of permitted regex rules (i.e /green/i).\n * @return {object} - The modified tree.\n */\n function filterCss(abstractSyntaxTree, allowedStyles) {\n if (!allowedStyles) {\n return abstractSyntaxTree;\n }\n\n const astRules = abstractSyntaxTree.nodes[0];\n let selectedRule;\n\n // Merge global and tag-specific styles into new AST.\n if (allowedStyles[astRules.selector] && allowedStyles['*']) {\n selectedRule = deepmerge(\n allowedStyles[astRules.selector],\n allowedStyles['*']\n );\n } else {\n selectedRule = allowedStyles[astRules.selector] || allowedStyles['*'];\n }\n\n if (selectedRule) {\n abstractSyntaxTree.nodes[0].nodes = astRules.nodes.reduce(filterDeclarations(selectedRule), []);\n }\n\n return abstractSyntaxTree;\n }\n\n /**\n * Extracts the style attributes from an AbstractSyntaxTree and formats those\n * values in the inline style attribute format.\n *\n * @param {AbstractSyntaxTree} filteredAST\n * @return {string} - Example: \"color:yellow;text-align:center !important;font-family:helvetica;\"\n */\n function stringifyStyleAttributes(filteredAST) {\n return filteredAST.nodes[0].nodes\n .reduce(function(extractedAttributes, attrObject) {\n extractedAttributes.push(\n `${attrObject.prop}:${attrObject.value}${attrObject.important ? ' !important' : ''}`\n );\n return extractedAttributes;\n }, [])\n .join(';');\n }\n\n /**\n * Filters the existing attributes for the given property. Discards any attributes\n * which don't match the allowlist.\n *\n * @param {object} selectedRule - Example: { color: red, font-family: helvetica }\n * @param {array} allowedDeclarationsList - List of declarations which pass the allowlist.\n * @param {object} attributeObject - Object representing the current css property.\n * @property {string} attributeObject.type - Typically 'declaration'.\n * @property {string} attributeObject.prop - The CSS property, i.e 'color'.\n * @property {string} attributeObject.value - The corresponding value to the css property, i.e 'red'.\n * @return {function} - When used in Array.reduce, will return an array of Declaration objects\n */\n function filterDeclarations(selectedRule) {\n return function (allowedDeclarationsList, attributeObject) {\n // If this property is allowlisted...\n if (has(selectedRule, attributeObject.prop)) {\n const matchesRegex = selectedRule[attributeObject.prop].some(function(regularExpression) {\n return regularExpression.test(attributeObject.value);\n });\n\n if (matchesRegex) {\n allowedDeclarationsList.push(attributeObject);\n }\n }\n return allowedDeclarationsList;\n };\n }\n\n function filterClasses(classes, allowed, allowedGlobs) {\n if (!allowed) {\n // The class attribute is allowed without filtering on this tag\n return classes;\n }\n classes = classes.split(/\\s+/);\n return classes.filter(function(clss) {\n return allowed.indexOf(clss) !== -1 || allowedGlobs.some(function(glob) {\n return glob.test(clss);\n });\n }).join(' ');\n }\n}\n\n// Defaults are accessible to you so that you can use them as a starting point\n// programmatically if you wish\n\nconst htmlParserDefaults = {\n decodeEntities: true\n};\nsanitizeHtml.defaults = {\n allowedTags: [\n // Sections derived from MDN element categories and limited to the more\n // benign categories.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element\n // Content sectioning\n 'address', 'article', 'aside', 'footer', 'header',\n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hgroup',\n 'main', 'nav', 'section',\n // Text content\n 'blockquote', 'dd', 'div', 'dl', 'dt', 'figcaption', 'figure',\n 'hr', 'li', 'menu', 'ol', 'p', 'pre', 'ul',\n // Inline text semantics\n 'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code', 'data', 'dfn',\n 'em', 'i', 'kbd', 'mark', 'q',\n 'rb', 'rp', 'rt', 'rtc', 'ruby',\n 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u', 'var', 'wbr',\n // Table content\n 'caption', 'col', 'colgroup', 'table', 'tbody', 'td', 'tfoot', 'th',\n 'thead', 'tr'\n ],\n // Tags that cannot be boolean\n nonBooleanAttributes: [\n 'abbr', 'accept', 'accept-charset', 'accesskey', 'action',\n 'allow', 'alt', 'as', 'autocapitalize', 'autocomplete',\n 'blocking', 'charset', 'cite', 'class', 'color', 'cols',\n 'colspan', 'content', 'contenteditable', 'coords', 'crossorigin',\n 'data', 'datetime', 'decoding', 'dir', 'dirname', 'download',\n 'draggable', 'enctype', 'enterkeyhint', 'fetchpriority', 'for',\n 'form', 'formaction', 'formenctype', 'formmethod', 'formtarget',\n 'headers', 'height', 'hidden', 'high', 'href', 'hreflang',\n 'http-equiv', 'id', 'imagesizes', 'imagesrcset', 'inputmode',\n 'integrity', 'is', 'itemid', 'itemprop', 'itemref', 'itemtype',\n 'kind', 'label', 'lang', 'list', 'loading', 'low', 'max',\n 'maxlength', 'media', 'method', 'min', 'minlength', 'name',\n 'nonce', 'optimum', 'pattern', 'ping', 'placeholder', 'popover',\n 'popovertarget', 'popovertargetaction', 'poster', 'preload',\n 'referrerpolicy', 'rel', 'rows', 'rowspan', 'sandbox', 'scope',\n 'shape', 'size', 'sizes', 'slot', 'span', 'spellcheck', 'src',\n 'srcdoc', 'srclang', 'srcset', 'start', 'step', 'style',\n 'tabindex', 'target', 'title', 'translate', 'type', 'usemap',\n 'value', 'width', 'wrap',\n // Event handlers\n 'onauxclick', 'onafterprint', 'onbeforematch', 'onbeforeprint',\n 'onbeforeunload', 'onbeforetoggle', 'onblur', 'oncancel',\n 'oncanplay', 'oncanplaythrough', 'onchange', 'onclick', 'onclose',\n 'oncontextlost', 'oncontextmenu', 'oncontextrestored', 'oncopy',\n 'oncuechange', 'oncut', 'ondblclick', 'ondrag', 'ondragend',\n 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart',\n 'ondrop', 'ondurationchange', 'onemptied', 'onended',\n 'onerror', 'onfocus', 'onformdata', 'onhashchange', 'oninput',\n 'oninvalid', 'onkeydown', 'onkeypress', 'onkeyup',\n 'onlanguagechange', 'onload', 'onloadeddata', 'onloadedmetadata',\n 'onloadstart', 'onmessage', 'onmessageerror', 'onmousedown',\n 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout',\n 'onmouseover', 'onmouseup', 'onoffline', 'ononline', 'onpagehide',\n 'onpageshow', 'onpaste', 'onpause', 'onplay', 'onplaying',\n 'onpopstate', 'onprogress', 'onratechange', 'onreset', 'onresize',\n 'onrejectionhandled', 'onscroll', 'onscrollend',\n 'onsecuritypolicyviolation', 'onseeked', 'onseeking', 'onselect',\n 'onslotchange', 'onstalled', 'onstorage', 'onsubmit', 'onsuspend',\n 'ontimeupdate', 'ontoggle', 'onunhandledrejection', 'onunload',\n 'onvolumechange', 'onwaiting', 'onwheel'\n ],\n disallowedTagsMode: 'discard',\n allowedAttributes: {\n a: [ 'href', 'name', 'target' ],\n // We don't currently allow img itself by default, but\n // these attributes would make sense if we did.\n img: [ 'src', 'srcset', 'alt', 'title', 'width', 'height', 'loading' ]\n },\n allowedEmptyAttributes: [\n 'alt'\n ],\n // Lots of these won't come up by default because we don't allow them\n selfClosing: [ 'img', 'br', 'hr', 'area', 'base', 'basefont', 'input', 'link', 'meta' ],\n // URL schemes we permit\n allowedSchemes: [ 'http', 'https', 'ftp', 'mailto', 'tel' ],\n allowedSchemesByTag: {},\n allowedSchemesAppliedToAttributes: [ 'href', 'src', 'cite' ],\n allowProtocolRelative: true,\n enforceHtmlBoundary: false,\n parseStyleAttributes: true,\n preserveEscapedAttributes: false\n};\n\nsanitizeHtml.simpleTransform = function(newTagName, newAttribs, merge) {\n merge = (merge === undefined) ? true : merge;\n newAttribs = newAttribs || {};\n\n return function(tagName, attribs) {\n let attrib;\n if (merge) {\n for (attrib in newAttribs) {\n attribs[attrib] = newAttribs[attrib];\n }\n } else {\n attribs = newAttribs;\n }\n\n return {\n tagName: newTagName,\n attribs: attribs\n };\n };\n};\n","<template>\n <span class=\"message-text has-background-shade-1\" :class=\"{ 'is-msg-moderated': statusCode === 'moderated' }\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-if=\"message.body\" v-html=\"body\" />\n <message-link v-for=\"link in message.links\" :key=\"link.url\" :url=\"link.url\" class=\"is-clickable\" />\n <div v-if=\"message.delay\" class=\"content is-italic has-text-weight-light is-small\">\n <b v-if=\"displayNick\" class=\"pr-1\">{{ nick }}</b>\n <time :datetime=\"$dayjs(message.delay).format()\" :title=\"$dayjs(message.delay).format()\">{{ $dayjs(message.delay).fromNow() }}</time>\n <i v-if=\"statusCode === 'error'\" class=\"fa fa-times has-text-danger ml-2\" :title=\"message.status.message\" />\n <i v-else-if=\"statusCode === 'moderated'\" class=\"fa fa-ban has-text-danger ml-2\" :title=\"message.status.message\" />\n </div>\n </span>\n</template>\n\n<script>\nimport MessageLink from '../components/MessageLink.vue'\nimport sanitizeHtml from 'sanitize-html'\n\nexport default {\n name: 'Message',\n components: {\n MessageLink,\n },\n props: {\n message: {\n type: Object,\n required: true,\n },\n displayNick: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n nick () {\n return this.message.from.resource\n },\n body () {\n if (window.config.isStylingDisabled) {\n return sanitizeHtml(this.message.body, {\n allowedTags: [],\n disallowedTagsMode: escape,\n })\n }\n\n let codeBlockStartLine = null\n let codeBlockEndLine = null\n return sanitizeHtml(this.message.body, {\n allowedTags: [],\n disallowedTagsMode: escape,\n })\n .split(/\\r?\\n/)\n .map((line, index, lines) => {\n if (codeBlockEndLine !== null) {\n // continue current code block\n if (index === codeBlockStartLine) {\n if (index === codeBlockEndLine - 1) {\n // start and end code block\n return '<pre><code>' + line + '</code></pre>'\n }\n // start code block\n return '<pre><code>' + line\n }\n if (index === codeBlockEndLine - 1) {\n // end code block\n return line + '</code></pre>'\n }\n if (index === codeBlockEndLine) {\n // clear code block vars\n codeBlockStartLine = null\n codeBlockEndLine = null\n return null\n }\n // inside code block\n return line\n }\n\n if (/^```/.test(line)) {\n // code block, try to found the end\n const relativeBlockLineEnd = lines\n .slice(index + 1)\n .findIndex((testedLine) => /```/.test(testedLine))\n if (relativeBlockLineEnd !== -1) {\n // code block is valid, set vars for handling relativeBlockLineEnd-th next lines\n codeBlockStartLine = index + 1\n codeBlockEndLine = index + relativeBlockLineEnd + 1\n return null\n }\n }\n\n // handle inline tags\n // inline code\n const re = /([^`]*)`([^`]*)`([^`]*)/g\n let parts\n const codes = {}\n let lineTemp = ''\n while ((parts = re.exec(line)) !== null) {\n codes[parts.index] = parts[2]\n lineTemp += `${parts[1]}<code ${parts.index} />${parts[3]}`\n }\n if (lineTemp !== '') {\n line = lineTemp\n }\n // link\n const links = {}\n line.match(/((?:https?|mailto):\\/\\/[a-z0-9/:%_+.,#?!@&=-]+)/gi)?.forEach((link, index) => {\n links[index] = link\n line = line.replaceAll(link, `<a href=\"${index}\">${index}</a>`)\n })\n // bold (between *)\n line = line.replace(/([^*]*)\\*([^*]*)\\*([^*]*)/g, '$1<strong>$2</strong>$3')\n // italic (between _)\n line = line.replace(/([^_]*)_([^_]*)_([^_]*)/g, '$1<i>$2</i>$3')\n // striked (between ~)\n line = line.replace(/([^~]*)~([^~]*)~([^~]*)/g, '$1<strike>$2</strike>$3')\n // finally bind inline code tags and links (to avoid styling)\n for (const code in codes) {\n line = line.replace(new RegExp(`(.*)<code ${code} />(.*)`, 'g'), `$1<code>${codes[code]}</code>$2`)\n }\n for (const link in links) {\n line = line.replace(`<a href=\"${link}\">${link}</a>`, `<a href=\"${links[link]}\" target=\"_blank\" rel=\"noreferrer\">${links[link]}</a>`)\n }\n return line\n })\n .filter((line) => line !== null)\n .join('\\n')\n },\n statusCode () {\n return this.message.status ? this.message.status.code : null\n },\n },\n}\n</script>\n","<template>\n <div class=\"modal-card animation-content\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">{{ title }}</p>\n </header>\n <section class=\"modal-card-body\">\n <div class=\"media\">\n <div v-if=\"hasIcon\" class=\"media-left\">\n <span class=\"icon has-text-danger is-large\">\n <i :class=\"iconClass\" />\n </span>\n </div>\n <div class=\"media-content\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-html=\"message\" />\n <div v-if=\"prompt\" class=\"field pt-4\">\n <div class=\"control\">\n <input ref=\"promptInput\" v-model=\"promptValue\" :type=\"prompt.type\" :placeholder=\"prompt.placeholder\" required=\"required\" autofocus class=\"input\" :class=\"{ 'is-danger': error }\">\n </div>\n <p v-if=\"error\" class=\"help is-danger\">{{ error }}</p>\n </div>\n </div>\n </div>\n </section>\n <footer class=\"modal-card-foot\">\n <button v-if=\"hasCancelButton\" type=\"button\" class=\"button\">\n <span>{{ cancelText }}</span>\n </button>\n <button type=\"button\" class=\"button\" :class=\"type\" @click=\"validate\">\n <span>{{ confirmText }}</span>\n </button>\n </footer>\n </div>\n</template>\n\n<script>\nimport { nextTick } from 'vue'\n\nexport default {\n name: 'Modal',\n props: {\n type: {\n type: String,\n default: 'is-primary',\n },\n title: {\n type: String,\n default: '',\n },\n message: {\n type: String,\n default: '',\n },\n prompt: {\n type: Object,\n default: null,\n },\n hasIcon: {\n type: Boolean,\n default: false,\n },\n hasCancelButton: {\n type: Boolean,\n default: false,\n },\n iconClass: {\n type: String,\n default: '',\n },\n confirmText: {\n type: String,\n default: 'OK',\n },\n cancelText: {\n type: String,\n default: 'Cancel',\n },\n },\n emits: [\n 'close',\n 'promptAnswered',\n ],\n data () {\n return {\n error: null,\n promptValue: this.prompt ? this.prompt.value : null,\n }\n },\n mounted () {\n if (this.prompt) {\n nextTick(() => {\n this.$refs.promptInput.focus()\n })\n }\n },\n methods: {\n validate() {\n if (this.prompt) {\n if (!this.validPrompt()) {\n return\n }\n this.$emit('promptAnswered', this.promptValue)\n }\n this.$emit('close')\n },\n validPrompt() {\n this.error = null\n if (!this.promptValue) {\n this.error = 'This field is required.'\n return false\n }\n return true\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Guest invitation link\" @click=\"getInviteLink()\">\n <i class=\"fa fa-share-alt\" aria-hidden=\"true\" />\n </button>\n</template>\n\n<script>\nimport Modal from './../components/Modal.vue'\n\nexport default {\n name: 'InviteGuestButton',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n methods: {\n getInviteLink () {\n const link = window.location.origin + window.location.pathname + this.$router.resolve({ name: 'guest', query: { join: this.roomJid } }).href\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Guest invitation link',\n message: `<p>You can provide the following link to anyone (without registration):</p><p class=\"is-family-code is-select-all is-size-7\">${link}</p>`,\n },\n })\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-warning-ghost has-no-border is-shadowless\" :title=\"isBookmarked ? 'Unbookmark room' : 'Bookmark room'\" @click=\"bookmarkRoom()\">\n <i class=\"fa\" :class=\"isBookmarked ? 'fa-star' : 'fa-star-o' \" aria-hidden=\"true\" />\n </button>\n</template>\n<script>\n\nexport default {\n name: 'BookmarkButton',\n props: {\n jid: {\n type: String,\n required: true,\n },\n },\n computed: {\n isBookmarked () { return this.$store.isBookmarked(this.jid) },\n },\n methods: {\n async bookmarkRoom () {\n await this.$xmpp.bookmarkRoom(!this.isBookmarked, this.jid)\n },\n },\n}\n</script>\n","<template>\n <main class=\"modal-card\">\n <header class=\"modal-card-head\">\n <span class=\"modal-card-title has-text-weight-semibold\">Room <{{ roomJid }}> configuration</span>\n </header>\n\n <section class=\"modal-card-body\">\n <div v-for=\"(field, index) in fields\" :key=\"index\" class=\"field\">\n <h3 v-if=\"field.type === 'fixed'\" class=\"divider has-text-light is-dark\">{{ field.value }}</h3>\n <div v-else>\n <label v-if=\"field.label\" class=\"label has-text-light\">{{ field.label }}</label>\n <div class=\"control\" :title=\"field.description\">\n <o-switch v-if=\"field.type === 'boolean'\" v-model=\"field.value\" />\n <label v-else-if=\"field.type === 'list-single'\" class=\"radio\">\n <div v-for=\"option in field.options\" :key=\"option.value\" class=\"field\">\n <o-radio v-model=\"field.value\" :native-value=\"option.value\">\n {{ option.label }}\n </o-radio>\n </div>\n </label>\n <input v-else v-model=\"field.value\" class=\"input\" :type=\"field.type === 'text-private' ? 'password' : 'text'\" :placeholder=\"field.description\">\n </div>\n </div>\n </div>\n <o-loading v-model=\"isLoading\" :is-full-page=\"false\" />\n </section>\n\n <footer class=\"modal-card-foot\">\n <button v-if=\"hasCancelButton\" class=\"button is-dark\" @click=\"$emit('close')\">Close</button>\n <button v-if=\"form.fields\" class=\"button is-primary\" @click=\"saveRoomConfiguration\">Save</button>\n <span v-if=\"error\" class=\"is-flex-grow-1 has-text-right has-text-danger\">{{ error }}</span>\n </footer>\n </main>\n</template>\n\n<script>\nexport default {\n name: 'RoomConfiguration',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n hasCancelButton: {\n type: Boolean,\n default: true,\n },\n },\n emits: [\n 'close',\n ],\n data () {\n return {\n form: {},\n isLoading: false,\n error: null,\n }\n },\n computed: {\n fields () { return this.form.fields ? this.form.fields.filter((field) => field.type !== 'hidden') : [] },\n },\n mounted () {\n this.getRoomConfiguration()\n },\n methods: {\n async getRoomConfiguration () {\n this.isLoading = true\n this.error = null\n try {\n this.form = {}\n this.form = await this.$xmpp.getRoomConfig(this.roomJid)\n } catch (error) {\n this.error = error.message ? error.message : 'Oups, an error occurs'\n }\n this.isLoading = false\n },\n async saveRoomConfiguration () {\n this.isLoading = true\n try {\n await this.$xmpp.setRoomConfig(this.roomJid, this.form)\n this.$parent.$emit('saved')\n this.$emit('close')\n } catch (error) {\n this.error = error.message ? error.message : 'Oups, an error occurs'\n }\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Configure room\" @click=\"openConfigurationModal()\">\n <i class=\"fa fa-wrench\" aria-hidden=\"true\" />\n </button>\n</template>\n\n<script>\nimport RoomConfiguration from '../components/RoomConfiguration.vue'\n\nexport default {\n name: 'RoomConfigurationButton',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n methods: {\n openConfigurationModal () {\n this.$oruga.modal.open({\n component: RoomConfiguration,\n hasModalCard: true,\n trapFocus: true,\n props: { roomJid: this.roomJid },\n })\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Get history\" :class=\"{ 'is-loading': isLoadingPreviousMessages }\" :disabled=\"isDisabled\" @click=\"getPreviousMessages()\">\n <i class=\"fa fa-history\" aria-hidden=\"true\" />\n </button>\n</template>\n\n<script>\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'RetrieveHistoryButton',\n data () {\n return {\n firstMessageId: undefined,\n isLoadingPreviousMessages: false,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'activeChat',\n ]),\n isDisabled () { return this.firstMessageId === null },\n },\n watch: {\n activeChat: function () {\n this.firstMessageId = undefined\n },\n },\n methods: {\n // ask for messages archive (update messages in store)\n async getPreviousMessages () {\n this.isLoadingPreviousMessages = true\n const paging = await this.$xmpp.searchHistory(this.activeChat, this.firstMessageId)\n if (paging) {\n // store first displayed message\n this.firstMessageId = paging.first\n }\n this.isLoadingPreviousMessages = false\n },\n },\n}\n</script>\n","<template>\n <span class=\"px-4 py-1 is-flex is-align-items-center is-flex-shrink-5\" style=\"overflow-x: auto;overflow-y: hidden;\">\n <avatar v-for=\"occupant in occupants\" :key=\"occupant.jid\" :jid=\"occupant.jid\" :display-jid=\"false\" :presence=\"occupant.presence\" :size=\"24\" style=\"margin-left: -5px;\" />\n </span>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nexport default {\n name: 'RoomOccupants',\n components: {\n avatar,\n },\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n computed: {\n occupants () { return this.$store.getRoomOccupants(this.roomJid) },\n },\n}\n</script>\n","<template>\n <div v-if=\"isDiplayed && roomSubject\" class=\"message is-small is-shade-1 has-background-shade-2 m-3\" title=\"Room subject\">\n <div class=\"message-header\">\n <p>{{ roomJid }}</p>\n <button class=\"delete\" aria-label=\"delete\" title=\"Dismiss\" @click=\"isDiplayed = false\" />\n </div>\n <div class=\"message-body is-flex py-3 px-1\">\n <div class=\"icon is-medium is-flex-shrink-0\">\n <i class=\"fa fa-2x fa-info-circle\" />\n </div>\n <div class=\"is-flex is-flex-direction-column\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span style=\"white-space: pre-wrap;\" v-html=\"subject\" />\n <span class=\"content is-italic has-text-weight-light is-small\">{{ roomSubject.author }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport sanitizeHtml from 'sanitize-html'\nexport default {\n name: 'RoomSubject',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n data () {\n return {\n isDiplayed: true,\n }\n },\n computed: {\n roomSubject () {\n return this.$store.getRoomSubject(this.roomJid)\n },\n subject () {\n return sanitizeHtml(this.roomSubject.subject)\n .replace(/(.*)((?:https?|mailto):\\/\\/[a-z0-9/:%_+.,#?!@&=-]+)(.*)/g, '$1<a href=\"$2\" target=\"_blank\" rel=\"noreferrer\">$2</a>$3')\n },\n },\n}\n</script>\n","/**\n * @typedef Gemoji\n * @property {string} emoji\n * Example: `'😀'`.\n * @property {Array<string>} names\n * Example: `['grinning']`.\n * @property {Array<string>} tags\n * Example: `['smile', 'happy']`.\n * @property {string} description\n * Example: `'grinning face'`.\n * @property {string} category\n * Example: `'Smileys & Emotion'`.\n */\n\n/**\n * List of gemoji.\n *\n * @type {Array<Gemoji>}\n */\nexport const gemoji = [\n {\n emoji: '😀',\n names: ['grinning'],\n tags: ['smile', 'happy'],\n description: 'grinning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😃',\n names: ['smiley'],\n tags: ['happy', 'joy', 'haha'],\n description: 'grinning face with big eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😄',\n names: ['smile'],\n tags: ['happy', 'joy', 'laugh', 'pleased'],\n description: 'grinning face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😁',\n names: ['grin'],\n tags: [],\n description: 'beaming face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😆',\n names: ['laughing', 'satisfied'],\n tags: ['happy', 'haha'],\n description: 'grinning squinting face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😅',\n names: ['sweat_smile'],\n tags: ['hot'],\n description: 'grinning face with sweat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤣',\n names: ['rofl'],\n tags: ['lol', 'laughing'],\n description: 'rolling on the floor laughing',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😂',\n names: ['joy'],\n tags: ['tears'],\n description: 'face with tears of joy',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙂',\n names: ['slightly_smiling_face'],\n tags: [],\n description: 'slightly smiling face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙃',\n names: ['upside_down_face'],\n tags: [],\n description: 'upside-down face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫠',\n names: ['melting_face'],\n tags: ['sarcasm', 'dread'],\n description: 'melting face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😉',\n names: ['wink'],\n tags: ['flirt'],\n description: 'winking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😊',\n names: ['blush'],\n tags: ['proud'],\n description: 'smiling face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😇',\n names: ['innocent'],\n tags: ['angel'],\n description: 'smiling face with halo',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥰',\n names: ['smiling_face_with_three_hearts'],\n tags: ['love'],\n description: 'smiling face with hearts',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😍',\n names: ['heart_eyes'],\n tags: ['love', 'crush'],\n description: 'smiling face with heart-eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤩',\n names: ['star_struck'],\n tags: ['eyes'],\n description: 'star-struck',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😘',\n names: ['kissing_heart'],\n tags: ['flirt'],\n description: 'face blowing a kiss',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😗',\n names: ['kissing'],\n tags: [],\n description: 'kissing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '☺️',\n names: ['relaxed'],\n tags: ['blush', 'pleased'],\n description: 'smiling face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😚',\n names: ['kissing_closed_eyes'],\n tags: [],\n description: 'kissing face with closed eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😙',\n names: ['kissing_smiling_eyes'],\n tags: [],\n description: 'kissing face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥲',\n names: ['smiling_face_with_tear'],\n tags: [],\n description: 'smiling face with tear',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😋',\n names: ['yum'],\n tags: ['tongue', 'lick'],\n description: 'face savoring food',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😛',\n names: ['stuck_out_tongue'],\n tags: [],\n description: 'face with tongue',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😜',\n names: ['stuck_out_tongue_winking_eye'],\n tags: ['prank', 'silly'],\n description: 'winking face with tongue',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤪',\n names: ['zany_face'],\n tags: ['goofy', 'wacky'],\n description: 'zany face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😝',\n names: ['stuck_out_tongue_closed_eyes'],\n tags: ['prank'],\n description: 'squinting face with tongue',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤑',\n names: ['money_mouth_face'],\n tags: ['rich'],\n description: 'money-mouth face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤗',\n names: ['hugs'],\n tags: [],\n description: 'smiling face with open hands',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤭',\n names: ['hand_over_mouth'],\n tags: ['quiet', 'whoops'],\n description: 'face with hand over mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫢',\n names: ['face_with_open_eyes_and_hand_over_mouth'],\n tags: ['gasp', 'shock'],\n description: 'face with open eyes and hand over mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫣',\n names: ['face_with_peeking_eye'],\n tags: [],\n description: 'face with peeking eye',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤫',\n names: ['shushing_face'],\n tags: ['silence', 'quiet'],\n description: 'shushing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤔',\n names: ['thinking'],\n tags: [],\n description: 'thinking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫡',\n names: ['saluting_face'],\n tags: ['respect'],\n description: 'saluting face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤐',\n names: ['zipper_mouth_face'],\n tags: ['silence', 'hush'],\n description: 'zipper-mouth face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤨',\n names: ['raised_eyebrow'],\n tags: ['suspicious'],\n description: 'face with raised eyebrow',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😐',\n names: ['neutral_face'],\n tags: ['meh'],\n description: 'neutral face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😑',\n names: ['expressionless'],\n tags: [],\n description: 'expressionless face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😶',\n names: ['no_mouth'],\n tags: ['mute', 'silence'],\n description: 'face without mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫥',\n names: ['dotted_line_face'],\n tags: ['invisible'],\n description: 'dotted line face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😶‍🌫️',\n names: ['face_in_clouds'],\n tags: [],\n description: 'face in clouds',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😏',\n names: ['smirk'],\n tags: ['smug'],\n description: 'smirking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😒',\n names: ['unamused'],\n tags: ['meh'],\n description: 'unamused face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙄',\n names: ['roll_eyes'],\n tags: [],\n description: 'face with rolling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😬',\n names: ['grimacing'],\n tags: [],\n description: 'grimacing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😮‍💨',\n names: ['face_exhaling'],\n tags: [],\n description: 'face exhaling',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤥',\n names: ['lying_face'],\n tags: ['liar'],\n description: 'lying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫨',\n names: ['shaking_face'],\n tags: ['shock'],\n description: 'shaking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😌',\n names: ['relieved'],\n tags: ['whew'],\n description: 'relieved face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😔',\n names: ['pensive'],\n tags: [],\n description: 'pensive face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😪',\n names: ['sleepy'],\n tags: ['tired'],\n description: 'sleepy face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤤',\n names: ['drooling_face'],\n tags: [],\n description: 'drooling face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😴',\n names: ['sleeping'],\n tags: ['zzz'],\n description: 'sleeping face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😷',\n names: ['mask'],\n tags: ['sick', 'ill'],\n description: 'face with medical mask',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤒',\n names: ['face_with_thermometer'],\n tags: ['sick'],\n description: 'face with thermometer',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤕',\n names: ['face_with_head_bandage'],\n tags: ['hurt'],\n description: 'face with head-bandage',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤢',\n names: ['nauseated_face'],\n tags: ['sick', 'barf', 'disgusted'],\n description: 'nauseated face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤮',\n names: ['vomiting_face'],\n tags: ['barf', 'sick'],\n description: 'face vomiting',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤧',\n names: ['sneezing_face'],\n tags: ['achoo', 'sick'],\n description: 'sneezing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥵',\n names: ['hot_face'],\n tags: ['heat', 'sweating'],\n description: 'hot face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥶',\n names: ['cold_face'],\n tags: ['freezing', 'ice'],\n description: 'cold face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥴',\n names: ['woozy_face'],\n tags: ['groggy'],\n description: 'woozy face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😵',\n names: ['dizzy_face'],\n tags: [],\n description: 'face with crossed-out eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😵‍💫',\n names: ['face_with_spiral_eyes'],\n tags: [],\n description: 'face with spiral eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤯',\n names: ['exploding_head'],\n tags: ['mind', 'blown'],\n description: 'exploding head',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤠',\n names: ['cowboy_hat_face'],\n tags: [],\n description: 'cowboy hat face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥳',\n names: ['partying_face'],\n tags: ['celebration', 'birthday'],\n description: 'partying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥸',\n names: ['disguised_face'],\n tags: [],\n description: 'disguised face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😎',\n names: ['sunglasses'],\n tags: ['cool'],\n description: 'smiling face with sunglasses',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤓',\n names: ['nerd_face'],\n tags: ['geek', 'glasses'],\n description: 'nerd face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🧐',\n names: ['monocle_face'],\n tags: [],\n description: 'face with monocle',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😕',\n names: ['confused'],\n tags: [],\n description: 'confused face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫤',\n names: ['face_with_diagonal_mouth'],\n tags: ['confused'],\n description: 'face with diagonal mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😟',\n names: ['worried'],\n tags: ['nervous'],\n description: 'worried face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙁',\n names: ['slightly_frowning_face'],\n tags: [],\n description: 'slightly frowning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '☹️',\n names: ['frowning_face'],\n tags: [],\n description: 'frowning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😮',\n names: ['open_mouth'],\n tags: ['surprise', 'impressed', 'wow'],\n description: 'face with open mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😯',\n names: ['hushed'],\n tags: ['silence', 'speechless'],\n description: 'hushed face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😲',\n names: ['astonished'],\n tags: ['amazed', 'gasp'],\n description: 'astonished face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😳',\n names: ['flushed'],\n tags: [],\n description: 'flushed face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥺',\n names: ['pleading_face'],\n tags: ['puppy', 'eyes'],\n description: 'pleading face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥹',\n names: ['face_holding_back_tears'],\n tags: ['tears', 'gratitude'],\n description: 'face holding back tears',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😦',\n names: ['frowning'],\n tags: [],\n description: 'frowning face with open mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😧',\n names: ['anguished'],\n tags: ['stunned'],\n description: 'anguished face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😨',\n names: ['fearful'],\n tags: ['scared', 'shocked', 'oops'],\n description: 'fearful face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😰',\n names: ['cold_sweat'],\n tags: ['nervous'],\n description: 'anxious face with sweat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😥',\n names: ['disappointed_relieved'],\n tags: ['phew', 'sweat', 'nervous'],\n description: 'sad but relieved face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😢',\n names: ['cry'],\n tags: ['sad', 'tear'],\n description: 'crying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😭',\n names: ['sob'],\n tags: ['sad', 'cry', 'bawling'],\n description: 'loudly crying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😱',\n names: ['scream'],\n tags: ['horror', 'shocked'],\n description: 'face screaming in fear',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😖',\n names: ['confounded'],\n tags: [],\n description: 'confounded face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😣',\n names: ['persevere'],\n tags: ['struggling'],\n description: 'persevering face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😞',\n names: ['disappointed'],\n tags: ['sad'],\n description: 'disappointed face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😓',\n names: ['sweat'],\n tags: [],\n description: 'downcast face with sweat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😩',\n names: ['weary'],\n tags: ['tired'],\n description: 'weary face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😫',\n names: ['tired_face'],\n tags: ['upset', 'whine'],\n description: 'tired face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥱',\n names: ['yawning_face'],\n tags: [],\n description: 'yawning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😤',\n names: ['triumph'],\n tags: ['smug'],\n description: 'face with steam from nose',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😡',\n names: ['rage', 'pout'],\n tags: ['angry'],\n description: 'enraged face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😠',\n names: ['angry'],\n tags: ['mad', 'annoyed'],\n description: 'angry face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤬',\n names: ['cursing_face'],\n tags: ['foul'],\n description: 'face with symbols on mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😈',\n names: ['smiling_imp'],\n tags: ['devil', 'evil', 'horns'],\n description: 'smiling face with horns',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👿',\n names: ['imp'],\n tags: ['angry', 'devil', 'evil', 'horns'],\n description: 'angry face with horns',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💀',\n names: ['skull'],\n tags: ['dead', 'danger', 'poison'],\n description: 'skull',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '☠️',\n names: ['skull_and_crossbones'],\n tags: ['danger', 'pirate'],\n description: 'skull and crossbones',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💩',\n names: ['hankey', 'poop', 'shit'],\n tags: ['crap'],\n description: 'pile of poo',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤡',\n names: ['clown_face'],\n tags: [],\n description: 'clown face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👹',\n names: ['japanese_ogre'],\n tags: ['monster'],\n description: 'ogre',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👺',\n names: ['japanese_goblin'],\n tags: [],\n description: 'goblin',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👻',\n names: ['ghost'],\n tags: ['halloween'],\n description: 'ghost',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👽',\n names: ['alien'],\n tags: ['ufo'],\n description: 'alien',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👾',\n names: ['space_invader'],\n tags: ['game', 'retro'],\n description: 'alien monster',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤖',\n names: ['robot'],\n tags: [],\n description: 'robot',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😺',\n names: ['smiley_cat'],\n tags: [],\n description: 'grinning cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😸',\n names: ['smile_cat'],\n tags: [],\n description: 'grinning cat with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😹',\n names: ['joy_cat'],\n tags: [],\n description: 'cat with tears of joy',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😻',\n names: ['heart_eyes_cat'],\n tags: [],\n description: 'smiling cat with heart-eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😼',\n names: ['smirk_cat'],\n tags: [],\n description: 'cat with wry smile',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😽',\n names: ['kissing_cat'],\n tags: [],\n description: 'kissing cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙀',\n names: ['scream_cat'],\n tags: ['horror'],\n description: 'weary cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😿',\n names: ['crying_cat_face'],\n tags: ['sad', 'tear'],\n description: 'crying cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😾',\n names: ['pouting_cat'],\n tags: [],\n description: 'pouting cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙈',\n names: ['see_no_evil'],\n tags: ['monkey', 'blind', 'ignore'],\n description: 'see-no-evil monkey',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙉',\n names: ['hear_no_evil'],\n tags: ['monkey', 'deaf'],\n description: 'hear-no-evil monkey',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙊',\n names: ['speak_no_evil'],\n tags: ['monkey', 'mute', 'hush'],\n description: 'speak-no-evil monkey',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💌',\n names: ['love_letter'],\n tags: ['email', 'envelope'],\n description: 'love letter',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💘',\n names: ['cupid'],\n tags: ['love', 'heart'],\n description: 'heart with arrow',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💝',\n names: ['gift_heart'],\n tags: ['chocolates'],\n description: 'heart with ribbon',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💖',\n names: ['sparkling_heart'],\n tags: [],\n description: 'sparkling heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💗',\n names: ['heartpulse'],\n tags: [],\n description: 'growing heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💓',\n names: ['heartbeat'],\n tags: [],\n description: 'beating heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💞',\n names: ['revolving_hearts'],\n tags: [],\n description: 'revolving hearts',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💕',\n names: ['two_hearts'],\n tags: [],\n description: 'two hearts',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💟',\n names: ['heart_decoration'],\n tags: [],\n description: 'heart decoration',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❣️',\n names: ['heavy_heart_exclamation'],\n tags: [],\n description: 'heart exclamation',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💔',\n names: ['broken_heart'],\n tags: [],\n description: 'broken heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❤️‍🔥',\n names: ['heart_on_fire'],\n tags: [],\n description: 'heart on fire',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❤️‍🩹',\n names: ['mending_heart'],\n tags: [],\n description: 'mending heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❤️',\n names: ['heart'],\n tags: ['love'],\n description: 'red heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🩷',\n names: ['pink_heart'],\n tags: [],\n description: 'pink heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🧡',\n names: ['orange_heart'],\n tags: [],\n description: 'orange heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💛',\n names: ['yellow_heart'],\n tags: [],\n description: 'yellow heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💚',\n names: ['green_heart'],\n tags: [],\n description: 'green heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💙',\n names: ['blue_heart'],\n tags: [],\n description: 'blue heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🩵',\n names: ['light_blue_heart'],\n tags: [],\n description: 'light blue heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💜',\n names: ['purple_heart'],\n tags: [],\n description: 'purple heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤎',\n names: ['brown_heart'],\n tags: [],\n description: 'brown heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🖤',\n names: ['black_heart'],\n tags: [],\n description: 'black heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🩶',\n names: ['grey_heart'],\n tags: [],\n description: 'grey heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤍',\n names: ['white_heart'],\n tags: [],\n description: 'white heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💋',\n names: ['kiss'],\n tags: ['lipstick'],\n description: 'kiss mark',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💯',\n names: ['100'],\n tags: ['score', 'perfect'],\n description: 'hundred points',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💢',\n names: ['anger'],\n tags: ['angry'],\n description: 'anger symbol',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💥',\n names: ['boom', 'collision'],\n tags: ['explode'],\n description: 'collision',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💫',\n names: ['dizzy'],\n tags: ['star'],\n description: 'dizzy',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💦',\n names: ['sweat_drops'],\n tags: ['water', 'workout'],\n description: 'sweat droplets',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💨',\n names: ['dash'],\n tags: ['wind', 'blow', 'fast'],\n description: 'dashing away',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🕳️',\n names: ['hole'],\n tags: [],\n description: 'hole',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💬',\n names: ['speech_balloon'],\n tags: ['comment'],\n description: 'speech balloon',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👁️‍🗨️',\n names: ['eye_speech_bubble'],\n tags: [],\n description: 'eye in speech bubble',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🗨️',\n names: ['left_speech_bubble'],\n tags: [],\n description: 'left speech bubble',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🗯️',\n names: ['right_anger_bubble'],\n tags: [],\n description: 'right anger bubble',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💭',\n names: ['thought_balloon'],\n tags: ['thinking'],\n description: 'thought balloon',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💤',\n names: ['zzz'],\n tags: ['sleeping'],\n description: 'ZZZ',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👋',\n names: ['wave'],\n tags: ['goodbye'],\n description: 'waving hand',\n category: 'People & Body'\n },\n {\n emoji: '🤚',\n names: ['raised_back_of_hand'],\n tags: [],\n description: 'raised back of hand',\n category: 'People & Body'\n },\n {\n emoji: '🖐️',\n names: ['raised_hand_with_fingers_splayed'],\n tags: [],\n description: 'hand with fingers splayed',\n category: 'People & Body'\n },\n {\n emoji: '✋',\n names: ['hand', 'raised_hand'],\n tags: ['highfive', 'stop'],\n description: 'raised hand',\n category: 'People & Body'\n },\n {\n emoji: '🖖',\n names: ['vulcan_salute'],\n tags: ['prosper', 'spock'],\n description: 'vulcan salute',\n category: 'People & Body'\n },\n {\n emoji: '🫱',\n names: ['rightwards_hand'],\n tags: [],\n description: 'rightwards hand',\n category: 'People & Body'\n },\n {\n emoji: '🫲',\n names: ['leftwards_hand'],\n tags: [],\n description: 'leftwards hand',\n category: 'People & Body'\n },\n {\n emoji: '🫳',\n names: ['palm_down_hand'],\n tags: [],\n description: 'palm down hand',\n category: 'People & Body'\n },\n {\n emoji: '🫴',\n names: ['palm_up_hand'],\n tags: [],\n description: 'palm up hand',\n category: 'People & Body'\n },\n {\n emoji: '🫷',\n names: ['leftwards_pushing_hand'],\n tags: [],\n description: 'leftwards pushing hand',\n category: 'People & Body'\n },\n {\n emoji: '🫸',\n names: ['rightwards_pushing_hand'],\n tags: [],\n description: 'rightwards pushing hand',\n category: 'People & Body'\n },\n {\n emoji: '👌',\n names: ['ok_hand'],\n tags: [],\n description: 'OK hand',\n category: 'People & Body'\n },\n {\n emoji: '🤌',\n names: ['pinched_fingers'],\n tags: [],\n description: 'pinched fingers',\n category: 'People & Body'\n },\n {\n emoji: '🤏',\n names: ['pinching_hand'],\n tags: [],\n description: 'pinching hand',\n category: 'People & Body'\n },\n {\n emoji: '✌️',\n names: ['v'],\n tags: ['victory', 'peace'],\n description: 'victory hand',\n category: 'People & Body'\n },\n {\n emoji: '🤞',\n names: ['crossed_fingers'],\n tags: ['luck', 'hopeful'],\n description: 'crossed fingers',\n category: 'People & Body'\n },\n {\n emoji: '🫰',\n names: ['hand_with_index_finger_and_thumb_crossed'],\n tags: [],\n description: 'hand with index finger and thumb crossed',\n category: 'People & Body'\n },\n {\n emoji: '🤟',\n names: ['love_you_gesture'],\n tags: [],\n description: 'love-you gesture',\n category: 'People & Body'\n },\n {\n emoji: '🤘',\n names: ['metal'],\n tags: [],\n description: 'sign of the horns',\n category: 'People & Body'\n },\n {\n emoji: '🤙',\n names: ['call_me_hand'],\n tags: [],\n description: 'call me hand',\n category: 'People & Body'\n },\n {\n emoji: '👈',\n names: ['point_left'],\n tags: [],\n description: 'backhand index pointing left',\n category: 'People & Body'\n },\n {\n emoji: '👉',\n names: ['point_right'],\n tags: [],\n description: 'backhand index pointing right',\n category: 'People & Body'\n },\n {\n emoji: '👆',\n names: ['point_up_2'],\n tags: [],\n description: 'backhand index pointing up',\n category: 'People & Body'\n },\n {\n emoji: '🖕',\n names: ['middle_finger', 'fu'],\n tags: [],\n description: 'middle finger',\n category: 'People & Body'\n },\n {\n emoji: '👇',\n names: ['point_down'],\n tags: [],\n description: 'backhand index pointing down',\n category: 'People & Body'\n },\n {\n emoji: '☝️',\n names: ['point_up'],\n tags: [],\n description: 'index pointing up',\n category: 'People & Body'\n },\n {\n emoji: '🫵',\n names: ['index_pointing_at_the_viewer'],\n tags: [],\n description: 'index pointing at the viewer',\n category: 'People & Body'\n },\n {\n emoji: '👍',\n names: ['+1', 'thumbsup'],\n tags: ['approve', 'ok'],\n description: 'thumbs up',\n category: 'People & Body'\n },\n {\n emoji: '👎',\n names: ['-1', 'thumbsdown'],\n tags: ['disapprove', 'bury'],\n description: 'thumbs down',\n category: 'People & Body'\n },\n {\n emoji: '✊',\n names: ['fist_raised', 'fist'],\n tags: ['power'],\n description: 'raised fist',\n category: 'People & Body'\n },\n {\n emoji: '👊',\n names: ['fist_oncoming', 'facepunch', 'punch'],\n tags: ['attack'],\n description: 'oncoming fist',\n category: 'People & Body'\n },\n {\n emoji: '🤛',\n names: ['fist_left'],\n tags: [],\n description: 'left-facing fist',\n category: 'People & Body'\n },\n {\n emoji: '🤜',\n names: ['fist_right'],\n tags: [],\n description: 'right-facing fist',\n category: 'People & Body'\n },\n {\n emoji: '👏',\n names: ['clap'],\n tags: ['praise', 'applause'],\n description: 'clapping hands',\n category: 'People & Body'\n },\n {\n emoji: '🙌',\n names: ['raised_hands'],\n tags: ['hooray'],\n description: 'raising hands',\n category: 'People & Body'\n },\n {\n emoji: '🫶',\n names: ['heart_hands'],\n tags: ['love'],\n description: 'heart hands',\n category: 'People & Body'\n },\n {\n emoji: '👐',\n names: ['open_hands'],\n tags: [],\n description: 'open hands',\n category: 'People & Body'\n },\n {\n emoji: '🤲',\n names: ['palms_up_together'],\n tags: [],\n description: 'palms up together',\n category: 'People & Body'\n },\n {\n emoji: '🤝',\n names: ['handshake'],\n tags: ['deal'],\n description: 'handshake',\n category: 'People & Body'\n },\n {\n emoji: '🙏',\n names: ['pray'],\n tags: ['please', 'hope', 'wish'],\n description: 'folded hands',\n category: 'People & Body'\n },\n {\n emoji: '✍️',\n names: ['writing_hand'],\n tags: [],\n description: 'writing hand',\n category: 'People & Body'\n },\n {\n emoji: '💅',\n names: ['nail_care'],\n tags: ['beauty', 'manicure'],\n description: 'nail polish',\n category: 'People & Body'\n },\n {\n emoji: '🤳',\n names: ['selfie'],\n tags: [],\n description: 'selfie',\n category: 'People & Body'\n },\n {\n emoji: '💪',\n names: ['muscle'],\n tags: ['flex', 'bicep', 'strong', 'workout'],\n description: 'flexed biceps',\n category: 'People & Body'\n },\n {\n emoji: '🦾',\n names: ['mechanical_arm'],\n tags: [],\n description: 'mechanical arm',\n category: 'People & Body'\n },\n {\n emoji: '🦿',\n names: ['mechanical_leg'],\n tags: [],\n description: 'mechanical leg',\n category: 'People & Body'\n },\n {\n emoji: '🦵',\n names: ['leg'],\n tags: [],\n description: 'leg',\n category: 'People & Body'\n },\n {\n emoji: '🦶',\n names: ['foot'],\n tags: [],\n description: 'foot',\n category: 'People & Body'\n },\n {\n emoji: '👂',\n names: ['ear'],\n tags: ['hear', 'sound', 'listen'],\n description: 'ear',\n category: 'People & Body'\n },\n {\n emoji: '🦻',\n names: ['ear_with_hearing_aid'],\n tags: [],\n description: 'ear with hearing aid',\n category: 'People & Body'\n },\n {\n emoji: '👃',\n names: ['nose'],\n tags: ['smell'],\n description: 'nose',\n category: 'People & Body'\n },\n {\n emoji: '🧠',\n names: ['brain'],\n tags: [],\n description: 'brain',\n category: 'People & Body'\n },\n {\n emoji: '🫀',\n names: ['anatomical_heart'],\n tags: [],\n description: 'anatomical heart',\n category: 'People & Body'\n },\n {\n emoji: '🫁',\n names: ['lungs'],\n tags: [],\n description: 'lungs',\n category: 'People & Body'\n },\n {\n emoji: '🦷',\n names: ['tooth'],\n tags: [],\n description: 'tooth',\n category: 'People & Body'\n },\n {\n emoji: '🦴',\n names: ['bone'],\n tags: [],\n description: 'bone',\n category: 'People & Body'\n },\n {\n emoji: '👀',\n names: ['eyes'],\n tags: ['look', 'see', 'watch'],\n description: 'eyes',\n category: 'People & Body'\n },\n {\n emoji: '👁️',\n names: ['eye'],\n tags: [],\n description: 'eye',\n category: 'People & Body'\n },\n {\n emoji: '👅',\n names: ['tongue'],\n tags: ['taste'],\n description: 'tongue',\n category: 'People & Body'\n },\n {\n emoji: '👄',\n names: ['lips'],\n tags: ['kiss'],\n description: 'mouth',\n category: 'People & Body'\n },\n {\n emoji: '🫦',\n names: ['biting_lip'],\n tags: [],\n description: 'biting lip',\n category: 'People & Body'\n },\n {\n emoji: '👶',\n names: ['baby'],\n tags: ['child', 'newborn'],\n description: 'baby',\n category: 'People & Body'\n },\n {\n emoji: '🧒',\n names: ['child'],\n tags: [],\n description: 'child',\n category: 'People & Body'\n },\n {\n emoji: '👦',\n names: ['boy'],\n tags: ['child'],\n description: 'boy',\n category: 'People & Body'\n },\n {\n emoji: '👧',\n names: ['girl'],\n tags: ['child'],\n description: 'girl',\n category: 'People & Body'\n },\n {\n emoji: '🧑',\n names: ['adult'],\n tags: [],\n description: 'person',\n category: 'People & Body'\n },\n {\n emoji: '👱',\n names: ['blond_haired_person'],\n tags: [],\n description: 'person: blond hair',\n category: 'People & Body'\n },\n {\n emoji: '👨',\n names: ['man'],\n tags: ['mustache', 'father', 'dad'],\n description: 'man',\n category: 'People & Body'\n },\n {\n emoji: '🧔',\n names: ['bearded_person'],\n tags: [],\n description: 'person: beard',\n category: 'People & Body'\n },\n {\n emoji: '🧔‍♂️',\n names: ['man_beard'],\n tags: [],\n description: 'man: beard',\n category: 'People & Body'\n },\n {\n emoji: '🧔‍♀️',\n names: ['woman_beard'],\n tags: [],\n description: 'woman: beard',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦰',\n names: ['red_haired_man'],\n tags: [],\n description: 'man: red hair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦱',\n names: ['curly_haired_man'],\n tags: [],\n description: 'man: curly hair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦳',\n names: ['white_haired_man'],\n tags: [],\n description: 'man: white hair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦲',\n names: ['bald_man'],\n tags: [],\n description: 'man: bald',\n category: 'People & Body'\n },\n {\n emoji: '👩',\n names: ['woman'],\n tags: ['girls'],\n description: 'woman',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦰',\n names: ['red_haired_woman'],\n tags: [],\n description: 'woman: red hair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦰',\n names: ['person_red_hair'],\n tags: [],\n description: 'person: red hair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦱',\n names: ['curly_haired_woman'],\n tags: [],\n description: 'woman: curly hair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦱',\n names: ['person_curly_hair'],\n tags: [],\n description: 'person: curly hair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦳',\n names: ['white_haired_woman'],\n tags: [],\n description: 'woman: white hair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦳',\n names: ['person_white_hair'],\n tags: [],\n description: 'person: white hair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦲',\n names: ['bald_woman'],\n tags: [],\n description: 'woman: bald',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦲',\n names: ['person_bald'],\n tags: [],\n description: 'person: bald',\n category: 'People & Body'\n },\n {\n emoji: '👱‍♀️',\n names: ['blond_haired_woman', 'blonde_woman'],\n tags: [],\n description: 'woman: blond hair',\n category: 'People & Body'\n },\n {\n emoji: '👱‍♂️',\n names: ['blond_haired_man'],\n tags: [],\n description: 'man: blond hair',\n category: 'People & Body'\n },\n {\n emoji: '🧓',\n names: ['older_adult'],\n tags: [],\n description: 'older person',\n category: 'People & Body'\n },\n {\n emoji: '👴',\n names: ['older_man'],\n tags: [],\n description: 'old man',\n category: 'People & Body'\n },\n {\n emoji: '👵',\n names: ['older_woman'],\n tags: [],\n description: 'old woman',\n category: 'People & Body'\n },\n {\n emoji: '🙍',\n names: ['frowning_person'],\n tags: [],\n description: 'person frowning',\n category: 'People & Body'\n },\n {\n emoji: '🙍‍♂️',\n names: ['frowning_man'],\n tags: [],\n description: 'man frowning',\n category: 'People & Body'\n },\n {\n emoji: '🙍‍♀️',\n names: ['frowning_woman'],\n tags: [],\n description: 'woman frowning',\n category: 'People & Body'\n },\n {\n emoji: '🙎',\n names: ['pouting_face'],\n tags: [],\n description: 'person pouting',\n category: 'People & Body'\n },\n {\n emoji: '🙎‍♂️',\n names: ['pouting_man'],\n tags: [],\n description: 'man pouting',\n category: 'People & Body'\n },\n {\n emoji: '🙎‍♀️',\n names: ['pouting_woman'],\n tags: [],\n description: 'woman pouting',\n category: 'People & Body'\n },\n {\n emoji: '🙅',\n names: ['no_good'],\n tags: ['stop', 'halt', 'denied'],\n description: 'person gesturing NO',\n category: 'People & Body'\n },\n {\n emoji: '🙅‍♂️',\n names: ['no_good_man', 'ng_man'],\n tags: ['stop', 'halt', 'denied'],\n description: 'man gesturing NO',\n category: 'People & Body'\n },\n {\n emoji: '🙅‍♀️',\n names: ['no_good_woman', 'ng_woman'],\n tags: ['stop', 'halt', 'denied'],\n description: 'woman gesturing NO',\n category: 'People & Body'\n },\n {\n emoji: '🙆',\n names: ['ok_person'],\n tags: [],\n description: 'person gesturing OK',\n category: 'People & Body'\n },\n {\n emoji: '🙆‍♂️',\n names: ['ok_man'],\n tags: [],\n description: 'man gesturing OK',\n category: 'People & Body'\n },\n {\n emoji: '🙆‍♀️',\n names: ['ok_woman'],\n tags: [],\n description: 'woman gesturing OK',\n category: 'People & Body'\n },\n {\n emoji: '💁',\n names: ['tipping_hand_person', 'information_desk_person'],\n tags: [],\n description: 'person tipping hand',\n category: 'People & Body'\n },\n {\n emoji: '💁‍♂️',\n names: ['tipping_hand_man', 'sassy_man'],\n tags: ['information'],\n description: 'man tipping hand',\n category: 'People & Body'\n },\n {\n emoji: '💁‍♀️',\n names: ['tipping_hand_woman', 'sassy_woman'],\n tags: ['information'],\n description: 'woman tipping hand',\n category: 'People & Body'\n },\n {\n emoji: '🙋',\n names: ['raising_hand'],\n tags: [],\n description: 'person raising hand',\n category: 'People & Body'\n },\n {\n emoji: '🙋‍♂️',\n names: ['raising_hand_man'],\n tags: [],\n description: 'man raising hand',\n category: 'People & Body'\n },\n {\n emoji: '🙋‍♀️',\n names: ['raising_hand_woman'],\n tags: [],\n description: 'woman raising hand',\n category: 'People & Body'\n },\n {\n emoji: '🧏',\n names: ['deaf_person'],\n tags: [],\n description: 'deaf person',\n category: 'People & Body'\n },\n {\n emoji: '🧏‍♂️',\n names: ['deaf_man'],\n tags: [],\n description: 'deaf man',\n category: 'People & Body'\n },\n {\n emoji: '🧏‍♀️',\n names: ['deaf_woman'],\n tags: [],\n description: 'deaf woman',\n category: 'People & Body'\n },\n {\n emoji: '🙇',\n names: ['bow'],\n tags: ['respect', 'thanks'],\n description: 'person bowing',\n category: 'People & Body'\n },\n {\n emoji: '🙇‍♂️',\n names: ['bowing_man'],\n tags: ['respect', 'thanks'],\n description: 'man bowing',\n category: 'People & Body'\n },\n {\n emoji: '🙇‍♀️',\n names: ['bowing_woman'],\n tags: ['respect', 'thanks'],\n description: 'woman bowing',\n category: 'People & Body'\n },\n {\n emoji: '🤦',\n names: ['facepalm'],\n tags: [],\n description: 'person facepalming',\n category: 'People & Body'\n },\n {\n emoji: '🤦‍♂️',\n names: ['man_facepalming'],\n tags: [],\n description: 'man facepalming',\n category: 'People & Body'\n },\n {\n emoji: '🤦‍♀️',\n names: ['woman_facepalming'],\n tags: [],\n description: 'woman facepalming',\n category: 'People & Body'\n },\n {\n emoji: '🤷',\n names: ['shrug'],\n tags: [],\n description: 'person shrugging',\n category: 'People & Body'\n },\n {\n emoji: '🤷‍♂️',\n names: ['man_shrugging'],\n tags: [],\n description: 'man shrugging',\n category: 'People & Body'\n },\n {\n emoji: '🤷‍♀️',\n names: ['woman_shrugging'],\n tags: [],\n description: 'woman shrugging',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍⚕️',\n names: ['health_worker'],\n tags: [],\n description: 'health worker',\n category: 'People & Body'\n },\n {\n emoji: '👨‍⚕️',\n names: ['man_health_worker'],\n tags: ['doctor', 'nurse'],\n description: 'man health worker',\n category: 'People & Body'\n },\n {\n emoji: '👩‍⚕️',\n names: ['woman_health_worker'],\n tags: ['doctor', 'nurse'],\n description: 'woman health worker',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎓',\n names: ['student'],\n tags: [],\n description: 'student',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🎓',\n names: ['man_student'],\n tags: ['graduation'],\n description: 'man student',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🎓',\n names: ['woman_student'],\n tags: ['graduation'],\n description: 'woman student',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🏫',\n names: ['teacher'],\n tags: [],\n description: 'teacher',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🏫',\n names: ['man_teacher'],\n tags: ['school', 'professor'],\n description: 'man teacher',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🏫',\n names: ['woman_teacher'],\n tags: ['school', 'professor'],\n description: 'woman teacher',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍⚖️',\n names: ['judge'],\n tags: [],\n description: 'judge',\n category: 'People & Body'\n },\n {\n emoji: '👨‍⚖️',\n names: ['man_judge'],\n tags: ['justice'],\n description: 'man judge',\n category: 'People & Body'\n },\n {\n emoji: '👩‍⚖️',\n names: ['woman_judge'],\n tags: ['justice'],\n description: 'woman judge',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🌾',\n names: ['farmer'],\n tags: [],\n description: 'farmer',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🌾',\n names: ['man_farmer'],\n tags: [],\n description: 'man farmer',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🌾',\n names: ['woman_farmer'],\n tags: [],\n description: 'woman farmer',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🍳',\n names: ['cook'],\n tags: [],\n description: 'cook',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🍳',\n names: ['man_cook'],\n tags: ['chef'],\n description: 'man cook',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🍳',\n names: ['woman_cook'],\n tags: ['chef'],\n description: 'woman cook',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🔧',\n names: ['mechanic'],\n tags: [],\n description: 'mechanic',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🔧',\n names: ['man_mechanic'],\n tags: [],\n description: 'man mechanic',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🔧',\n names: ['woman_mechanic'],\n tags: [],\n description: 'woman mechanic',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🏭',\n names: ['factory_worker'],\n tags: [],\n description: 'factory worker',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🏭',\n names: ['man_factory_worker'],\n tags: [],\n description: 'man factory worker',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🏭',\n names: ['woman_factory_worker'],\n tags: [],\n description: 'woman factory worker',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍💼',\n names: ['office_worker'],\n tags: [],\n description: 'office worker',\n category: 'People & Body'\n },\n {\n emoji: '👨‍💼',\n names: ['man_office_worker'],\n tags: ['business'],\n description: 'man office worker',\n category: 'People & Body'\n },\n {\n emoji: '👩‍💼',\n names: ['woman_office_worker'],\n tags: ['business'],\n description: 'woman office worker',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🔬',\n names: ['scientist'],\n tags: [],\n description: 'scientist',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🔬',\n names: ['man_scientist'],\n tags: ['research'],\n description: 'man scientist',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🔬',\n names: ['woman_scientist'],\n tags: ['research'],\n description: 'woman scientist',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍💻',\n names: ['technologist'],\n tags: [],\n description: 'technologist',\n category: 'People & Body'\n },\n {\n emoji: '👨‍💻',\n names: ['man_technologist'],\n tags: ['coder'],\n description: 'man technologist',\n category: 'People & Body'\n },\n {\n emoji: '👩‍💻',\n names: ['woman_technologist'],\n tags: ['coder'],\n description: 'woman technologist',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎤',\n names: ['singer'],\n tags: [],\n description: 'singer',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🎤',\n names: ['man_singer'],\n tags: ['rockstar'],\n description: 'man singer',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🎤',\n names: ['woman_singer'],\n tags: ['rockstar'],\n description: 'woman singer',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎨',\n names: ['artist'],\n tags: [],\n description: 'artist',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🎨',\n names: ['man_artist'],\n tags: ['painter'],\n description: 'man artist',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🎨',\n names: ['woman_artist'],\n tags: ['painter'],\n description: 'woman artist',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍✈️',\n names: ['pilot'],\n tags: [],\n description: 'pilot',\n category: 'People & Body'\n },\n {\n emoji: '👨‍✈️',\n names: ['man_pilot'],\n tags: [],\n description: 'man pilot',\n category: 'People & Body'\n },\n {\n emoji: '👩‍✈️',\n names: ['woman_pilot'],\n tags: [],\n description: 'woman pilot',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🚀',\n names: ['astronaut'],\n tags: [],\n description: 'astronaut',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🚀',\n names: ['man_astronaut'],\n tags: ['space'],\n description: 'man astronaut',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🚀',\n names: ['woman_astronaut'],\n tags: ['space'],\n description: 'woman astronaut',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🚒',\n names: ['firefighter'],\n tags: [],\n description: 'firefighter',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🚒',\n names: ['man_firefighter'],\n tags: [],\n description: 'man firefighter',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🚒',\n names: ['woman_firefighter'],\n tags: [],\n description: 'woman firefighter',\n category: 'People & Body'\n },\n {\n emoji: '👮',\n names: ['police_officer', 'cop'],\n tags: ['law'],\n description: 'police officer',\n category: 'People & Body'\n },\n {\n emoji: '👮‍♂️',\n names: ['policeman'],\n tags: ['law', 'cop'],\n description: 'man police officer',\n category: 'People & Body'\n },\n {\n emoji: '👮‍♀️',\n names: ['policewoman'],\n tags: ['law', 'cop'],\n description: 'woman police officer',\n category: 'People & Body'\n },\n {\n emoji: '🕵️',\n names: ['detective'],\n tags: ['sleuth'],\n description: 'detective',\n category: 'People & Body'\n },\n {\n emoji: '🕵️‍♂️',\n names: ['male_detective'],\n tags: ['sleuth'],\n description: 'man detective',\n category: 'People & Body'\n },\n {\n emoji: '🕵️‍♀️',\n names: ['female_detective'],\n tags: ['sleuth'],\n description: 'woman detective',\n category: 'People & Body'\n },\n {\n emoji: '💂',\n names: ['guard'],\n tags: [],\n description: 'guard',\n category: 'People & Body'\n },\n {\n emoji: '💂‍♂️',\n names: ['guardsman'],\n tags: [],\n description: 'man guard',\n category: 'People & Body'\n },\n {\n emoji: '💂‍♀️',\n names: ['guardswoman'],\n tags: [],\n description: 'woman guard',\n category: 'People & Body'\n },\n {\n emoji: '🥷',\n names: ['ninja'],\n tags: [],\n description: 'ninja',\n category: 'People & Body'\n },\n {\n emoji: '👷',\n names: ['construction_worker'],\n tags: ['helmet'],\n description: 'construction worker',\n category: 'People & Body'\n },\n {\n emoji: '👷‍♂️',\n names: ['construction_worker_man'],\n tags: ['helmet'],\n description: 'man construction worker',\n category: 'People & Body'\n },\n {\n emoji: '👷‍♀️',\n names: ['construction_worker_woman'],\n tags: ['helmet'],\n description: 'woman construction worker',\n category: 'People & Body'\n },\n {\n emoji: '🫅',\n names: ['person_with_crown'],\n tags: [],\n description: 'person with crown',\n category: 'People & Body'\n },\n {\n emoji: '🤴',\n names: ['prince'],\n tags: ['crown', 'royal'],\n description: 'prince',\n category: 'People & Body'\n },\n {\n emoji: '👸',\n names: ['princess'],\n tags: ['crown', 'royal'],\n description: 'princess',\n category: 'People & Body'\n },\n {\n emoji: '👳',\n names: ['person_with_turban'],\n tags: [],\n description: 'person wearing turban',\n category: 'People & Body'\n },\n {\n emoji: '👳‍♂️',\n names: ['man_with_turban'],\n tags: [],\n description: 'man wearing turban',\n category: 'People & Body'\n },\n {\n emoji: '👳‍♀️',\n names: ['woman_with_turban'],\n tags: [],\n description: 'woman wearing turban',\n category: 'People & Body'\n },\n {\n emoji: '👲',\n names: ['man_with_gua_pi_mao'],\n tags: [],\n description: 'person with skullcap',\n category: 'People & Body'\n },\n {\n emoji: '🧕',\n names: ['woman_with_headscarf'],\n tags: ['hijab'],\n description: 'woman with headscarf',\n category: 'People & Body'\n },\n {\n emoji: '🤵',\n names: ['person_in_tuxedo'],\n tags: ['groom', 'marriage', 'wedding'],\n description: 'person in tuxedo',\n category: 'People & Body'\n },\n {\n emoji: '🤵‍♂️',\n names: ['man_in_tuxedo'],\n tags: [],\n description: 'man in tuxedo',\n category: 'People & Body'\n },\n {\n emoji: '🤵‍♀️',\n names: ['woman_in_tuxedo'],\n tags: [],\n description: 'woman in tuxedo',\n category: 'People & Body'\n },\n {\n emoji: '👰',\n names: ['person_with_veil'],\n tags: ['marriage', 'wedding'],\n description: 'person with veil',\n category: 'People & Body'\n },\n {\n emoji: '👰‍♂️',\n names: ['man_with_veil'],\n tags: [],\n description: 'man with veil',\n category: 'People & Body'\n },\n {\n emoji: '👰‍♀️',\n names: ['woman_with_veil', 'bride_with_veil'],\n tags: [],\n description: 'woman with veil',\n category: 'People & Body'\n },\n {\n emoji: '🤰',\n names: ['pregnant_woman'],\n tags: [],\n description: 'pregnant woman',\n category: 'People & Body'\n },\n {\n emoji: '🫃',\n names: ['pregnant_man'],\n tags: [],\n description: 'pregnant man',\n category: 'People & Body'\n },\n {\n emoji: '🫄',\n names: ['pregnant_person'],\n tags: [],\n description: 'pregnant person',\n category: 'People & Body'\n },\n {\n emoji: '🤱',\n names: ['breast_feeding'],\n tags: ['nursing'],\n description: 'breast-feeding',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🍼',\n names: ['woman_feeding_baby'],\n tags: [],\n description: 'woman feeding baby',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🍼',\n names: ['man_feeding_baby'],\n tags: [],\n description: 'man feeding baby',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🍼',\n names: ['person_feeding_baby'],\n tags: [],\n description: 'person feeding baby',\n category: 'People & Body'\n },\n {\n emoji: '👼',\n names: ['angel'],\n tags: [],\n description: 'baby angel',\n category: 'People & Body'\n },\n {\n emoji: '🎅',\n names: ['santa'],\n tags: ['christmas'],\n description: 'Santa Claus',\n category: 'People & Body'\n },\n {\n emoji: '🤶',\n names: ['mrs_claus'],\n tags: ['santa'],\n description: 'Mrs. Claus',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎄',\n names: ['mx_claus'],\n tags: [],\n description: 'mx claus',\n category: 'People & Body'\n },\n {\n emoji: '🦸',\n names: ['superhero'],\n tags: [],\n description: 'superhero',\n category: 'People & Body'\n },\n {\n emoji: '🦸‍♂️',\n names: ['superhero_man'],\n tags: [],\n description: 'man superhero',\n category: 'People & Body'\n },\n {\n emoji: '🦸‍♀️',\n names: ['superhero_woman'],\n tags: [],\n description: 'woman superhero',\n category: 'People & Body'\n },\n {\n emoji: '🦹',\n names: ['supervillain'],\n tags: [],\n description: 'supervillain',\n category: 'People & Body'\n },\n {\n emoji: '🦹‍♂️',\n names: ['supervillain_man'],\n tags: [],\n description: 'man supervillain',\n category: 'People & Body'\n },\n {\n emoji: '🦹‍♀️',\n names: ['supervillain_woman'],\n tags: [],\n description: 'woman supervillain',\n category: 'People & Body'\n },\n {\n emoji: '🧙',\n names: ['mage'],\n tags: ['wizard'],\n description: 'mage',\n category: 'People & Body'\n },\n {\n emoji: '🧙‍♂️',\n names: ['mage_man'],\n tags: ['wizard'],\n description: 'man mage',\n category: 'People & Body'\n },\n {\n emoji: '🧙‍♀️',\n names: ['mage_woman'],\n tags: ['wizard'],\n description: 'woman mage',\n category: 'People & Body'\n },\n {\n emoji: '🧚',\n names: ['fairy'],\n tags: [],\n description: 'fairy',\n category: 'People & Body'\n },\n {\n emoji: '🧚‍♂️',\n names: ['fairy_man'],\n tags: [],\n description: 'man fairy',\n category: 'People & Body'\n },\n {\n emoji: '🧚‍♀️',\n names: ['fairy_woman'],\n tags: [],\n description: 'woman fairy',\n category: 'People & Body'\n },\n {\n emoji: '🧛',\n names: ['vampire'],\n tags: [],\n description: 'vampire',\n category: 'People & Body'\n },\n {\n emoji: '🧛‍♂️',\n names: ['vampire_man'],\n tags: [],\n description: 'man vampire',\n category: 'People & Body'\n },\n {\n emoji: '🧛‍♀️',\n names: ['vampire_woman'],\n tags: [],\n description: 'woman vampire',\n category: 'People & Body'\n },\n {\n emoji: '🧜',\n names: ['merperson'],\n tags: [],\n description: 'merperson',\n category: 'People & Body'\n },\n {\n emoji: '🧜‍♂️',\n names: ['merman'],\n tags: [],\n description: 'merman',\n category: 'People & Body'\n },\n {\n emoji: '🧜‍♀️',\n names: ['mermaid'],\n tags: [],\n description: 'mermaid',\n category: 'People & Body'\n },\n {\n emoji: '🧝',\n names: ['elf'],\n tags: [],\n description: 'elf',\n category: 'People & Body'\n },\n {\n emoji: '🧝‍♂️',\n names: ['elf_man'],\n tags: [],\n description: 'man elf',\n category: 'People & Body'\n },\n {\n emoji: '🧝‍♀️',\n names: ['elf_woman'],\n tags: [],\n description: 'woman elf',\n category: 'People & Body'\n },\n {\n emoji: '🧞',\n names: ['genie'],\n tags: [],\n description: 'genie',\n category: 'People & Body'\n },\n {\n emoji: '🧞‍♂️',\n names: ['genie_man'],\n tags: [],\n description: 'man genie',\n category: 'People & Body'\n },\n {\n emoji: '🧞‍♀️',\n names: ['genie_woman'],\n tags: [],\n description: 'woman genie',\n category: 'People & Body'\n },\n {\n emoji: '🧟',\n names: ['zombie'],\n tags: [],\n description: 'zombie',\n category: 'People & Body'\n },\n {\n emoji: '🧟‍♂️',\n names: ['zombie_man'],\n tags: [],\n description: 'man zombie',\n category: 'People & Body'\n },\n {\n emoji: '🧟‍♀️',\n names: ['zombie_woman'],\n tags: [],\n description: 'woman zombie',\n category: 'People & Body'\n },\n {\n emoji: '🧌',\n names: ['troll'],\n tags: [],\n description: 'troll',\n category: 'People & Body'\n },\n {\n emoji: '💆',\n names: ['massage'],\n tags: ['spa'],\n description: 'person getting massage',\n category: 'People & Body'\n },\n {\n emoji: '💆‍♂️',\n names: ['massage_man'],\n tags: ['spa'],\n description: 'man getting massage',\n category: 'People & Body'\n },\n {\n emoji: '💆‍♀️',\n names: ['massage_woman'],\n tags: ['spa'],\n description: 'woman getting massage',\n category: 'People & Body'\n },\n {\n emoji: '💇',\n names: ['haircut'],\n tags: ['beauty'],\n description: 'person getting haircut',\n category: 'People & Body'\n },\n {\n emoji: '💇‍♂️',\n names: ['haircut_man'],\n tags: [],\n description: 'man getting haircut',\n category: 'People & Body'\n },\n {\n emoji: '💇‍♀️',\n names: ['haircut_woman'],\n tags: [],\n description: 'woman getting haircut',\n category: 'People & Body'\n },\n {\n emoji: '🚶',\n names: ['walking'],\n tags: [],\n description: 'person walking',\n category: 'People & Body'\n },\n {\n emoji: '🚶‍♂️',\n names: ['walking_man'],\n tags: [],\n description: 'man walking',\n category: 'People & Body'\n },\n {\n emoji: '🚶‍♀️',\n names: ['walking_woman'],\n tags: [],\n description: 'woman walking',\n category: 'People & Body'\n },\n {\n emoji: '🧍',\n names: ['standing_person'],\n tags: [],\n description: 'person standing',\n category: 'People & Body'\n },\n {\n emoji: '🧍‍♂️',\n names: ['standing_man'],\n tags: [],\n description: 'man standing',\n category: 'People & Body'\n },\n {\n emoji: '🧍‍♀️',\n names: ['standing_woman'],\n tags: [],\n description: 'woman standing',\n category: 'People & Body'\n },\n {\n emoji: '🧎',\n names: ['kneeling_person'],\n tags: [],\n description: 'person kneeling',\n category: 'People & Body'\n },\n {\n emoji: '🧎‍♂️',\n names: ['kneeling_man'],\n tags: [],\n description: 'man kneeling',\n category: 'People & Body'\n },\n {\n emoji: '🧎‍♀️',\n names: ['kneeling_woman'],\n tags: [],\n description: 'woman kneeling',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦯',\n names: ['person_with_probing_cane'],\n tags: [],\n description: 'person with white cane',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦯',\n names: ['man_with_probing_cane'],\n tags: [],\n description: 'man with white cane',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦯',\n names: ['woman_with_probing_cane'],\n tags: [],\n description: 'woman with white cane',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦼',\n names: ['person_in_motorized_wheelchair'],\n tags: [],\n description: 'person in motorized wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦼',\n names: ['man_in_motorized_wheelchair'],\n tags: [],\n description: 'man in motorized wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦼',\n names: ['woman_in_motorized_wheelchair'],\n tags: [],\n description: 'woman in motorized wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦽',\n names: ['person_in_manual_wheelchair'],\n tags: [],\n description: 'person in manual wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦽',\n names: ['man_in_manual_wheelchair'],\n tags: [],\n description: 'man in manual wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦽',\n names: ['woman_in_manual_wheelchair'],\n tags: [],\n description: 'woman in manual wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '🏃',\n names: ['runner', 'running'],\n tags: ['exercise', 'workout', 'marathon'],\n description: 'person running',\n category: 'People & Body'\n },\n {\n emoji: '🏃‍♂️',\n names: ['running_man'],\n tags: ['exercise', 'workout', 'marathon'],\n description: 'man running',\n category: 'People & Body'\n },\n {\n emoji: '🏃‍♀️',\n names: ['running_woman'],\n tags: ['exercise', 'workout', 'marathon'],\n description: 'woman running',\n category: 'People & Body'\n },\n {\n emoji: '💃',\n names: ['woman_dancing', 'dancer'],\n tags: ['dress'],\n description: 'woman dancing',\n category: 'People & Body'\n },\n {\n emoji: '🕺',\n names: ['man_dancing'],\n tags: ['dancer'],\n description: 'man dancing',\n category: 'People & Body'\n },\n {\n emoji: '🕴️',\n names: ['business_suit_levitating'],\n tags: [],\n description: 'person in suit levitating',\n category: 'People & Body'\n },\n {\n emoji: '👯',\n names: ['dancers'],\n tags: ['bunny'],\n description: 'people with bunny ears',\n category: 'People & Body'\n },\n {\n emoji: '👯‍♂️',\n names: ['dancing_men'],\n tags: ['bunny'],\n description: 'men with bunny ears',\n category: 'People & Body'\n },\n {\n emoji: '👯‍♀️',\n names: ['dancing_women'],\n tags: ['bunny'],\n description: 'women with bunny ears',\n category: 'People & Body'\n },\n {\n emoji: '🧖',\n names: ['sauna_person'],\n tags: ['steamy'],\n description: 'person in steamy room',\n category: 'People & Body'\n },\n {\n emoji: '🧖‍♂️',\n names: ['sauna_man'],\n tags: ['steamy'],\n description: 'man in steamy room',\n category: 'People & Body'\n },\n {\n emoji: '🧖‍♀️',\n names: ['sauna_woman'],\n tags: ['steamy'],\n description: 'woman in steamy room',\n category: 'People & Body'\n },\n {\n emoji: '🧗',\n names: ['climbing'],\n tags: ['bouldering'],\n description: 'person climbing',\n category: 'People & Body'\n },\n {\n emoji: '🧗‍♂️',\n names: ['climbing_man'],\n tags: ['bouldering'],\n description: 'man climbing',\n category: 'People & Body'\n },\n {\n emoji: '🧗‍♀️',\n names: ['climbing_woman'],\n tags: ['bouldering'],\n description: 'woman climbing',\n category: 'People & Body'\n },\n {\n emoji: '🤺',\n names: ['person_fencing'],\n tags: [],\n description: 'person fencing',\n category: 'People & Body'\n },\n {\n emoji: '🏇',\n names: ['horse_racing'],\n tags: [],\n description: 'horse racing',\n category: 'People & Body'\n },\n {\n emoji: '⛷️',\n names: ['skier'],\n tags: [],\n description: 'skier',\n category: 'People & Body'\n },\n {\n emoji: '🏂',\n names: ['snowboarder'],\n tags: [],\n description: 'snowboarder',\n category: 'People & Body'\n },\n {\n emoji: '🏌️',\n names: ['golfing'],\n tags: [],\n description: 'person golfing',\n category: 'People & Body'\n },\n {\n emoji: '🏌️‍♂️',\n names: ['golfing_man'],\n tags: [],\n description: 'man golfing',\n category: 'People & Body'\n },\n {\n emoji: '🏌️‍♀️',\n names: ['golfing_woman'],\n tags: [],\n description: 'woman golfing',\n category: 'People & Body'\n },\n {\n emoji: '🏄',\n names: ['surfer'],\n tags: [],\n description: 'person surfing',\n category: 'People & Body'\n },\n {\n emoji: '🏄‍♂️',\n names: ['surfing_man'],\n tags: [],\n description: 'man surfing',\n category: 'People & Body'\n },\n {\n emoji: '🏄‍♀️',\n names: ['surfing_woman'],\n tags: [],\n description: 'woman surfing',\n category: 'People & Body'\n },\n {\n emoji: '🚣',\n names: ['rowboat'],\n tags: [],\n description: 'person rowing boat',\n category: 'People & Body'\n },\n {\n emoji: '🚣‍♂️',\n names: ['rowing_man'],\n tags: [],\n description: 'man rowing boat',\n category: 'People & Body'\n },\n {\n emoji: '🚣‍♀️',\n names: ['rowing_woman'],\n tags: [],\n description: 'woman rowing boat',\n category: 'People & Body'\n },\n {\n emoji: '🏊',\n names: ['swimmer'],\n tags: [],\n description: 'person swimming',\n category: 'People & Body'\n },\n {\n emoji: '🏊‍♂️',\n names: ['swimming_man'],\n tags: [],\n description: 'man swimming',\n category: 'People & Body'\n },\n {\n emoji: '🏊‍♀️',\n names: ['swimming_woman'],\n tags: [],\n description: 'woman swimming',\n category: 'People & Body'\n },\n {\n emoji: '⛹️',\n names: ['bouncing_ball_person'],\n tags: ['basketball'],\n description: 'person bouncing ball',\n category: 'People & Body'\n },\n {\n emoji: '⛹️‍♂️',\n names: ['bouncing_ball_man', 'basketball_man'],\n tags: [],\n description: 'man bouncing ball',\n category: 'People & Body'\n },\n {\n emoji: '⛹️‍♀️',\n names: ['bouncing_ball_woman', 'basketball_woman'],\n tags: [],\n description: 'woman bouncing ball',\n category: 'People & Body'\n },\n {\n emoji: '🏋️',\n names: ['weight_lifting'],\n tags: ['gym', 'workout'],\n description: 'person lifting weights',\n category: 'People & Body'\n },\n {\n emoji: '🏋️‍♂️',\n names: ['weight_lifting_man'],\n tags: ['gym', 'workout'],\n description: 'man lifting weights',\n category: 'People & Body'\n },\n {\n emoji: '🏋️‍♀️',\n names: ['weight_lifting_woman'],\n tags: ['gym', 'workout'],\n description: 'woman lifting weights',\n category: 'People & Body'\n },\n {\n emoji: '🚴',\n names: ['bicyclist'],\n tags: [],\n description: 'person biking',\n category: 'People & Body'\n },\n {\n emoji: '🚴‍♂️',\n names: ['biking_man'],\n tags: [],\n description: 'man biking',\n category: 'People & Body'\n },\n {\n emoji: '🚴‍♀️',\n names: ['biking_woman'],\n tags: [],\n description: 'woman biking',\n category: 'People & Body'\n },\n {\n emoji: '🚵',\n names: ['mountain_bicyclist'],\n tags: [],\n description: 'person mountain biking',\n category: 'People & Body'\n },\n {\n emoji: '🚵‍♂️',\n names: ['mountain_biking_man'],\n tags: [],\n description: 'man mountain biking',\n category: 'People & Body'\n },\n {\n emoji: '🚵‍♀️',\n names: ['mountain_biking_woman'],\n tags: [],\n description: 'woman mountain biking',\n category: 'People & Body'\n },\n {\n emoji: '🤸',\n names: ['cartwheeling'],\n tags: [],\n description: 'person cartwheeling',\n category: 'People & Body'\n },\n {\n emoji: '🤸‍♂️',\n names: ['man_cartwheeling'],\n tags: [],\n description: 'man cartwheeling',\n category: 'People & Body'\n },\n {\n emoji: '🤸‍♀️',\n names: ['woman_cartwheeling'],\n tags: [],\n description: 'woman cartwheeling',\n category: 'People & Body'\n },\n {\n emoji: '🤼',\n names: ['wrestling'],\n tags: [],\n description: 'people wrestling',\n category: 'People & Body'\n },\n {\n emoji: '🤼‍♂️',\n names: ['men_wrestling'],\n tags: [],\n description: 'men wrestling',\n category: 'People & Body'\n },\n {\n emoji: '🤼‍♀️',\n names: ['women_wrestling'],\n tags: [],\n description: 'women wrestling',\n category: 'People & Body'\n },\n {\n emoji: '🤽',\n names: ['water_polo'],\n tags: [],\n description: 'person playing water polo',\n category: 'People & Body'\n },\n {\n emoji: '🤽‍♂️',\n names: ['man_playing_water_polo'],\n tags: [],\n description: 'man playing water polo',\n category: 'People & Body'\n },\n {\n emoji: '🤽‍♀️',\n names: ['woman_playing_water_polo'],\n tags: [],\n description: 'woman playing water polo',\n category: 'People & Body'\n },\n {\n emoji: '🤾',\n names: ['handball_person'],\n tags: [],\n description: 'person playing handball',\n category: 'People & Body'\n },\n {\n emoji: '🤾‍♂️',\n names: ['man_playing_handball'],\n tags: [],\n description: 'man playing handball',\n category: 'People & Body'\n },\n {\n emoji: '🤾‍♀️',\n names: ['woman_playing_handball'],\n tags: [],\n description: 'woman playing handball',\n category: 'People & Body'\n },\n {\n emoji: '🤹',\n names: ['juggling_person'],\n tags: [],\n description: 'person juggling',\n category: 'People & Body'\n },\n {\n emoji: '🤹‍♂️',\n names: ['man_juggling'],\n tags: [],\n description: 'man juggling',\n category: 'People & Body'\n },\n {\n emoji: '🤹‍♀️',\n names: ['woman_juggling'],\n tags: [],\n description: 'woman juggling',\n category: 'People & Body'\n },\n {\n emoji: '🧘',\n names: ['lotus_position'],\n tags: ['meditation'],\n description: 'person in lotus position',\n category: 'People & Body'\n },\n {\n emoji: '🧘‍♂️',\n names: ['lotus_position_man'],\n tags: ['meditation'],\n description: 'man in lotus position',\n category: 'People & Body'\n },\n {\n emoji: '🧘‍♀️',\n names: ['lotus_position_woman'],\n tags: ['meditation'],\n description: 'woman in lotus position',\n category: 'People & Body'\n },\n {\n emoji: '🛀',\n names: ['bath'],\n tags: ['shower'],\n description: 'person taking bath',\n category: 'People & Body'\n },\n {\n emoji: '🛌',\n names: ['sleeping_bed'],\n tags: [],\n description: 'person in bed',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🤝‍🧑',\n names: ['people_holding_hands'],\n tags: ['couple', 'date'],\n description: 'people holding hands',\n category: 'People & Body'\n },\n {\n emoji: '👭',\n names: ['two_women_holding_hands'],\n tags: ['couple', 'date'],\n description: 'women holding hands',\n category: 'People & Body'\n },\n {\n emoji: '👫',\n names: ['couple'],\n tags: ['date'],\n description: 'woman and man holding hands',\n category: 'People & Body'\n },\n {\n emoji: '👬',\n names: ['two_men_holding_hands'],\n tags: ['couple', 'date'],\n description: 'men holding hands',\n category: 'People & Body'\n },\n {\n emoji: '💏',\n names: ['couplekiss'],\n tags: [],\n description: 'kiss',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍💋‍👨',\n names: ['couplekiss_man_woman'],\n tags: [],\n description: 'kiss: woman, man',\n category: 'People & Body'\n },\n {\n emoji: '👨‍❤️‍💋‍👨',\n names: ['couplekiss_man_man'],\n tags: [],\n description: 'kiss: man, man',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍💋‍👩',\n names: ['couplekiss_woman_woman'],\n tags: [],\n description: 'kiss: woman, woman',\n category: 'People & Body'\n },\n {\n emoji: '💑',\n names: ['couple_with_heart'],\n tags: [],\n description: 'couple with heart',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍👨',\n names: ['couple_with_heart_woman_man'],\n tags: [],\n description: 'couple with heart: woman, man',\n category: 'People & Body'\n },\n {\n emoji: '👨‍❤️‍👨',\n names: ['couple_with_heart_man_man'],\n tags: [],\n description: 'couple with heart: man, man',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍👩',\n names: ['couple_with_heart_woman_woman'],\n tags: [],\n description: 'couple with heart: woman, woman',\n category: 'People & Body'\n },\n {\n emoji: '👪',\n names: ['family'],\n tags: ['home', 'parents', 'child'],\n description: 'family',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👦',\n names: ['family_man_woman_boy'],\n tags: [],\n description: 'family: man, woman, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👧',\n names: ['family_man_woman_girl'],\n tags: [],\n description: 'family: man, woman, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👧‍👦',\n names: ['family_man_woman_girl_boy'],\n tags: [],\n description: 'family: man, woman, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👦‍👦',\n names: ['family_man_woman_boy_boy'],\n tags: [],\n description: 'family: man, woman, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👧‍👧',\n names: ['family_man_woman_girl_girl'],\n tags: [],\n description: 'family: man, woman, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👦',\n names: ['family_man_man_boy'],\n tags: [],\n description: 'family: man, man, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👧',\n names: ['family_man_man_girl'],\n tags: [],\n description: 'family: man, man, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👧‍👦',\n names: ['family_man_man_girl_boy'],\n tags: [],\n description: 'family: man, man, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👦‍👦',\n names: ['family_man_man_boy_boy'],\n tags: [],\n description: 'family: man, man, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👧‍👧',\n names: ['family_man_man_girl_girl'],\n tags: [],\n description: 'family: man, man, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👦',\n names: ['family_woman_woman_boy'],\n tags: [],\n description: 'family: woman, woman, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👧',\n names: ['family_woman_woman_girl'],\n tags: [],\n description: 'family: woman, woman, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👧‍👦',\n names: ['family_woman_woman_girl_boy'],\n tags: [],\n description: 'family: woman, woman, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👦‍👦',\n names: ['family_woman_woman_boy_boy'],\n tags: [],\n description: 'family: woman, woman, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👧‍👧',\n names: ['family_woman_woman_girl_girl'],\n tags: [],\n description: 'family: woman, woman, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👦',\n names: ['family_man_boy'],\n tags: [],\n description: 'family: man, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👦‍👦',\n names: ['family_man_boy_boy'],\n tags: [],\n description: 'family: man, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👧',\n names: ['family_man_girl'],\n tags: [],\n description: 'family: man, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👧‍👦',\n names: ['family_man_girl_boy'],\n tags: [],\n description: 'family: man, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👧‍👧',\n names: ['family_man_girl_girl'],\n tags: [],\n description: 'family: man, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👦',\n names: ['family_woman_boy'],\n tags: [],\n description: 'family: woman, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👦‍👦',\n names: ['family_woman_boy_boy'],\n tags: [],\n description: 'family: woman, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👧',\n names: ['family_woman_girl'],\n tags: [],\n description: 'family: woman, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👧‍👦',\n names: ['family_woman_girl_boy'],\n tags: [],\n description: 'family: woman, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👧‍👧',\n names: ['family_woman_girl_girl'],\n tags: [],\n description: 'family: woman, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '🗣️',\n names: ['speaking_head'],\n tags: [],\n description: 'speaking head',\n category: 'People & Body'\n },\n {\n emoji: '👤',\n names: ['bust_in_silhouette'],\n tags: ['user'],\n description: 'bust in silhouette',\n category: 'People & Body'\n },\n {\n emoji: '👥',\n names: ['busts_in_silhouette'],\n tags: ['users', 'group', 'team'],\n description: 'busts in silhouette',\n category: 'People & Body'\n },\n {\n emoji: '🫂',\n names: ['people_hugging'],\n tags: [],\n description: 'people hugging',\n category: 'People & Body'\n },\n {\n emoji: '👣',\n names: ['footprints'],\n tags: ['feet', 'tracks'],\n description: 'footprints',\n category: 'People & Body'\n },\n {\n emoji: '🐵',\n names: ['monkey_face'],\n tags: [],\n description: 'monkey face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐒',\n names: ['monkey'],\n tags: [],\n description: 'monkey',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦍',\n names: ['gorilla'],\n tags: [],\n description: 'gorilla',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦧',\n names: ['orangutan'],\n tags: [],\n description: 'orangutan',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐶',\n names: ['dog'],\n tags: ['pet'],\n description: 'dog face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐕',\n names: ['dog2'],\n tags: [],\n description: 'dog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦮',\n names: ['guide_dog'],\n tags: [],\n description: 'guide dog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐕‍🦺',\n names: ['service_dog'],\n tags: [],\n description: 'service dog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐩',\n names: ['poodle'],\n tags: ['dog'],\n description: 'poodle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐺',\n names: ['wolf'],\n tags: [],\n description: 'wolf',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦊',\n names: ['fox_face'],\n tags: [],\n description: 'fox',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦝',\n names: ['raccoon'],\n tags: [],\n description: 'raccoon',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐱',\n names: ['cat'],\n tags: ['pet'],\n description: 'cat face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐈',\n names: ['cat2'],\n tags: [],\n description: 'cat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐈‍⬛',\n names: ['black_cat'],\n tags: [],\n description: 'black cat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦁',\n names: ['lion'],\n tags: [],\n description: 'lion',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐯',\n names: ['tiger'],\n tags: [],\n description: 'tiger face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐅',\n names: ['tiger2'],\n tags: [],\n description: 'tiger',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐆',\n names: ['leopard'],\n tags: [],\n description: 'leopard',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐴',\n names: ['horse'],\n tags: [],\n description: 'horse face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🫎',\n names: ['moose'],\n tags: ['canada'],\n description: 'moose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🫏',\n names: ['donkey'],\n tags: ['mule'],\n description: 'donkey',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐎',\n names: ['racehorse'],\n tags: ['speed'],\n description: 'horse',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦄',\n names: ['unicorn'],\n tags: [],\n description: 'unicorn',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦓',\n names: ['zebra'],\n tags: [],\n description: 'zebra',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦌',\n names: ['deer'],\n tags: [],\n description: 'deer',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦬',\n names: ['bison'],\n tags: [],\n description: 'bison',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐮',\n names: ['cow'],\n tags: [],\n description: 'cow face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐂',\n names: ['ox'],\n tags: [],\n description: 'ox',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐃',\n names: ['water_buffalo'],\n tags: [],\n description: 'water buffalo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐄',\n names: ['cow2'],\n tags: [],\n description: 'cow',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐷',\n names: ['pig'],\n tags: [],\n description: 'pig face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐖',\n names: ['pig2'],\n tags: [],\n description: 'pig',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐗',\n names: ['boar'],\n tags: [],\n description: 'boar',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐽',\n names: ['pig_nose'],\n tags: [],\n description: 'pig nose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐏',\n names: ['ram'],\n tags: [],\n description: 'ram',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐑',\n names: ['sheep'],\n tags: [],\n description: 'ewe',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐐',\n names: ['goat'],\n tags: [],\n description: 'goat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐪',\n names: ['dromedary_camel'],\n tags: ['desert'],\n description: 'camel',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐫',\n names: ['camel'],\n tags: [],\n description: 'two-hump camel',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦙',\n names: ['llama'],\n tags: [],\n description: 'llama',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦒',\n names: ['giraffe'],\n tags: [],\n description: 'giraffe',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐘',\n names: ['elephant'],\n tags: [],\n description: 'elephant',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦣',\n names: ['mammoth'],\n tags: [],\n description: 'mammoth',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦏',\n names: ['rhinoceros'],\n tags: [],\n description: 'rhinoceros',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦛',\n names: ['hippopotamus'],\n tags: [],\n description: 'hippopotamus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐭',\n names: ['mouse'],\n tags: [],\n description: 'mouse face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐁',\n names: ['mouse2'],\n tags: [],\n description: 'mouse',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐀',\n names: ['rat'],\n tags: [],\n description: 'rat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐹',\n names: ['hamster'],\n tags: ['pet'],\n description: 'hamster',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐰',\n names: ['rabbit'],\n tags: ['bunny'],\n description: 'rabbit face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐇',\n names: ['rabbit2'],\n tags: [],\n description: 'rabbit',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐿️',\n names: ['chipmunk'],\n tags: [],\n description: 'chipmunk',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦫',\n names: ['beaver'],\n tags: [],\n description: 'beaver',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦔',\n names: ['hedgehog'],\n tags: [],\n description: 'hedgehog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦇',\n names: ['bat'],\n tags: [],\n description: 'bat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐻',\n names: ['bear'],\n tags: [],\n description: 'bear',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐻‍❄️',\n names: ['polar_bear'],\n tags: [],\n description: 'polar bear',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐨',\n names: ['koala'],\n tags: [],\n description: 'koala',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐼',\n names: ['panda_face'],\n tags: [],\n description: 'panda',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦥',\n names: ['sloth'],\n tags: [],\n description: 'sloth',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦦',\n names: ['otter'],\n tags: [],\n description: 'otter',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦨',\n names: ['skunk'],\n tags: [],\n description: 'skunk',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦘',\n names: ['kangaroo'],\n tags: [],\n description: 'kangaroo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦡',\n names: ['badger'],\n tags: [],\n description: 'badger',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐾',\n names: ['feet', 'paw_prints'],\n tags: [],\n description: 'paw prints',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦃',\n names: ['turkey'],\n tags: ['thanksgiving'],\n description: 'turkey',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐔',\n names: ['chicken'],\n tags: [],\n description: 'chicken',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐓',\n names: ['rooster'],\n tags: [],\n description: 'rooster',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐣',\n names: ['hatching_chick'],\n tags: [],\n description: 'hatching chick',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐤',\n names: ['baby_chick'],\n tags: [],\n description: 'baby chick',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐥',\n names: ['hatched_chick'],\n tags: [],\n description: 'front-facing baby chick',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐦',\n names: ['bird'],\n tags: [],\n description: 'bird',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐧',\n names: ['penguin'],\n tags: [],\n description: 'penguin',\n category: 'Animals & Nature'\n },\n {\n emoji: '🕊️',\n names: ['dove'],\n tags: ['peace'],\n description: 'dove',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦅',\n names: ['eagle'],\n tags: [],\n description: 'eagle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦆',\n names: ['duck'],\n tags: [],\n description: 'duck',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦢',\n names: ['swan'],\n tags: [],\n description: 'swan',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦉',\n names: ['owl'],\n tags: [],\n description: 'owl',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦤',\n names: ['dodo'],\n tags: [],\n description: 'dodo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪶',\n names: ['feather'],\n tags: [],\n description: 'feather',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦩',\n names: ['flamingo'],\n tags: [],\n description: 'flamingo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦚',\n names: ['peacock'],\n tags: [],\n description: 'peacock',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦜',\n names: ['parrot'],\n tags: [],\n description: 'parrot',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪽',\n names: ['wing'],\n tags: ['fly'],\n description: 'wing',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐦‍⬛',\n names: ['black_bird'],\n tags: [],\n description: 'black bird',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪿',\n names: ['goose'],\n tags: ['honk'],\n description: 'goose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐸',\n names: ['frog'],\n tags: [],\n description: 'frog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐊',\n names: ['crocodile'],\n tags: [],\n description: 'crocodile',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐢',\n names: ['turtle'],\n tags: ['slow'],\n description: 'turtle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦎',\n names: ['lizard'],\n tags: [],\n description: 'lizard',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐍',\n names: ['snake'],\n tags: [],\n description: 'snake',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐲',\n names: ['dragon_face'],\n tags: [],\n description: 'dragon face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐉',\n names: ['dragon'],\n tags: [],\n description: 'dragon',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦕',\n names: ['sauropod'],\n tags: ['dinosaur'],\n description: 'sauropod',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦖',\n names: ['t-rex'],\n tags: ['dinosaur'],\n description: 'T-Rex',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐳',\n names: ['whale'],\n tags: ['sea'],\n description: 'spouting whale',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐋',\n names: ['whale2'],\n tags: [],\n description: 'whale',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐬',\n names: ['dolphin', 'flipper'],\n tags: [],\n description: 'dolphin',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦭',\n names: ['seal'],\n tags: [],\n description: 'seal',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐟',\n names: ['fish'],\n tags: [],\n description: 'fish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐠',\n names: ['tropical_fish'],\n tags: [],\n description: 'tropical fish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐡',\n names: ['blowfish'],\n tags: [],\n description: 'blowfish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦈',\n names: ['shark'],\n tags: [],\n description: 'shark',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐙',\n names: ['octopus'],\n tags: [],\n description: 'octopus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐚',\n names: ['shell'],\n tags: ['sea', 'beach'],\n description: 'spiral shell',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪸',\n names: ['coral'],\n tags: [],\n description: 'coral',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪼',\n names: ['jellyfish'],\n tags: [],\n description: 'jellyfish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐌',\n names: ['snail'],\n tags: ['slow'],\n description: 'snail',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦋',\n names: ['butterfly'],\n tags: [],\n description: 'butterfly',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐛',\n names: ['bug'],\n tags: [],\n description: 'bug',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐜',\n names: ['ant'],\n tags: [],\n description: 'ant',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐝',\n names: ['bee', 'honeybee'],\n tags: [],\n description: 'honeybee',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪲',\n names: ['beetle'],\n tags: [],\n description: 'beetle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐞',\n names: ['lady_beetle'],\n tags: ['bug'],\n description: 'lady beetle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦗',\n names: ['cricket'],\n tags: [],\n description: 'cricket',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪳',\n names: ['cockroach'],\n tags: [],\n description: 'cockroach',\n category: 'Animals & Nature'\n },\n {\n emoji: '🕷️',\n names: ['spider'],\n tags: [],\n description: 'spider',\n category: 'Animals & Nature'\n },\n {\n emoji: '🕸️',\n names: ['spider_web'],\n tags: [],\n description: 'spider web',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦂',\n names: ['scorpion'],\n tags: [],\n description: 'scorpion',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦟',\n names: ['mosquito'],\n tags: [],\n description: 'mosquito',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪰',\n names: ['fly'],\n tags: [],\n description: 'fly',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪱',\n names: ['worm'],\n tags: [],\n description: 'worm',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦠',\n names: ['microbe'],\n tags: ['germ'],\n description: 'microbe',\n category: 'Animals & Nature'\n },\n {\n emoji: '💐',\n names: ['bouquet'],\n tags: ['flowers'],\n description: 'bouquet',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌸',\n names: ['cherry_blossom'],\n tags: ['flower', 'spring'],\n description: 'cherry blossom',\n category: 'Animals & Nature'\n },\n {\n emoji: '💮',\n names: ['white_flower'],\n tags: [],\n description: 'white flower',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪷',\n names: ['lotus'],\n tags: [],\n description: 'lotus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🏵️',\n names: ['rosette'],\n tags: [],\n description: 'rosette',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌹',\n names: ['rose'],\n tags: ['flower'],\n description: 'rose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🥀',\n names: ['wilted_flower'],\n tags: [],\n description: 'wilted flower',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌺',\n names: ['hibiscus'],\n tags: [],\n description: 'hibiscus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌻',\n names: ['sunflower'],\n tags: [],\n description: 'sunflower',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌼',\n names: ['blossom'],\n tags: [],\n description: 'blossom',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌷',\n names: ['tulip'],\n tags: ['flower'],\n description: 'tulip',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪻',\n names: ['hyacinth'],\n tags: [],\n description: 'hyacinth',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌱',\n names: ['seedling'],\n tags: ['plant'],\n description: 'seedling',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪴',\n names: ['potted_plant'],\n tags: [],\n description: 'potted plant',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌲',\n names: ['evergreen_tree'],\n tags: ['wood'],\n description: 'evergreen tree',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌳',\n names: ['deciduous_tree'],\n tags: ['wood'],\n description: 'deciduous tree',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌴',\n names: ['palm_tree'],\n tags: [],\n description: 'palm tree',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌵',\n names: ['cactus'],\n tags: [],\n description: 'cactus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌾',\n names: ['ear_of_rice'],\n tags: [],\n description: 'sheaf of rice',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌿',\n names: ['herb'],\n tags: [],\n description: 'herb',\n category: 'Animals & Nature'\n },\n {\n emoji: '☘️',\n names: ['shamrock'],\n tags: [],\n description: 'shamrock',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍀',\n names: ['four_leaf_clover'],\n tags: ['luck'],\n description: 'four leaf clover',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍁',\n names: ['maple_leaf'],\n tags: ['canada'],\n description: 'maple leaf',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍂',\n names: ['fallen_leaf'],\n tags: ['autumn'],\n description: 'fallen leaf',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍃',\n names: ['leaves'],\n tags: ['leaf'],\n description: 'leaf fluttering in wind',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪹',\n names: ['empty_nest'],\n tags: [],\n description: 'empty nest',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪺',\n names: ['nest_with_eggs'],\n tags: [],\n description: 'nest with eggs',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍄',\n names: ['mushroom'],\n tags: ['fungus'],\n description: 'mushroom',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍇',\n names: ['grapes'],\n tags: [],\n description: 'grapes',\n category: 'Food & Drink'\n },\n {\n emoji: '🍈',\n names: ['melon'],\n tags: [],\n description: 'melon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍉',\n names: ['watermelon'],\n tags: [],\n description: 'watermelon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍊',\n names: ['tangerine', 'orange', 'mandarin'],\n tags: [],\n description: 'tangerine',\n category: 'Food & Drink'\n },\n {\n emoji: '🍋',\n names: ['lemon'],\n tags: [],\n description: 'lemon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍌',\n names: ['banana'],\n tags: ['fruit'],\n description: 'banana',\n category: 'Food & Drink'\n },\n {\n emoji: '🍍',\n names: ['pineapple'],\n tags: [],\n description: 'pineapple',\n category: 'Food & Drink'\n },\n {\n emoji: '🥭',\n names: ['mango'],\n tags: [],\n description: 'mango',\n category: 'Food & Drink'\n },\n {\n emoji: '🍎',\n names: ['apple'],\n tags: [],\n description: 'red apple',\n category: 'Food & Drink'\n },\n {\n emoji: '🍏',\n names: ['green_apple'],\n tags: ['fruit'],\n description: 'green apple',\n category: 'Food & Drink'\n },\n {\n emoji: '🍐',\n names: ['pear'],\n tags: [],\n description: 'pear',\n category: 'Food & Drink'\n },\n {\n emoji: '🍑',\n names: ['peach'],\n tags: [],\n description: 'peach',\n category: 'Food & Drink'\n },\n {\n emoji: '🍒',\n names: ['cherries'],\n tags: ['fruit'],\n description: 'cherries',\n category: 'Food & Drink'\n },\n {\n emoji: '🍓',\n names: ['strawberry'],\n tags: ['fruit'],\n description: 'strawberry',\n category: 'Food & Drink'\n },\n {\n emoji: '🫐',\n names: ['blueberries'],\n tags: [],\n description: 'blueberries',\n category: 'Food & Drink'\n },\n {\n emoji: '🥝',\n names: ['kiwi_fruit'],\n tags: [],\n description: 'kiwi fruit',\n category: 'Food & Drink'\n },\n {\n emoji: '🍅',\n names: ['tomato'],\n tags: [],\n description: 'tomato',\n category: 'Food & Drink'\n },\n {\n emoji: '🫒',\n names: ['olive'],\n tags: [],\n description: 'olive',\n category: 'Food & Drink'\n },\n {\n emoji: '🥥',\n names: ['coconut'],\n tags: [],\n description: 'coconut',\n category: 'Food & Drink'\n },\n {\n emoji: '🥑',\n names: ['avocado'],\n tags: [],\n description: 'avocado',\n category: 'Food & Drink'\n },\n {\n emoji: '🍆',\n names: ['eggplant'],\n tags: ['aubergine'],\n description: 'eggplant',\n category: 'Food & Drink'\n },\n {\n emoji: '🥔',\n names: ['potato'],\n tags: [],\n description: 'potato',\n category: 'Food & Drink'\n },\n {\n emoji: '🥕',\n names: ['carrot'],\n tags: [],\n description: 'carrot',\n category: 'Food & Drink'\n },\n {\n emoji: '🌽',\n names: ['corn'],\n tags: [],\n description: 'ear of corn',\n category: 'Food & Drink'\n },\n {\n emoji: '🌶️',\n names: ['hot_pepper'],\n tags: ['spicy'],\n description: 'hot pepper',\n category: 'Food & Drink'\n },\n {\n emoji: '🫑',\n names: ['bell_pepper'],\n tags: [],\n description: 'bell pepper',\n category: 'Food & Drink'\n },\n {\n emoji: '🥒',\n names: ['cucumber'],\n tags: [],\n description: 'cucumber',\n category: 'Food & Drink'\n },\n {\n emoji: '🥬',\n names: ['leafy_green'],\n tags: [],\n description: 'leafy green',\n category: 'Food & Drink'\n },\n {\n emoji: '🥦',\n names: ['broccoli'],\n tags: [],\n description: 'broccoli',\n category: 'Food & Drink'\n },\n {\n emoji: '🧄',\n names: ['garlic'],\n tags: [],\n description: 'garlic',\n category: 'Food & Drink'\n },\n {\n emoji: '🧅',\n names: ['onion'],\n tags: [],\n description: 'onion',\n category: 'Food & Drink'\n },\n {\n emoji: '🥜',\n names: ['peanuts'],\n tags: [],\n description: 'peanuts',\n category: 'Food & Drink'\n },\n {\n emoji: '🫘',\n names: ['beans'],\n tags: [],\n description: 'beans',\n category: 'Food & Drink'\n },\n {\n emoji: '🌰',\n names: ['chestnut'],\n tags: [],\n description: 'chestnut',\n category: 'Food & Drink'\n },\n {\n emoji: '🫚',\n names: ['ginger_root'],\n tags: [],\n description: 'ginger root',\n category: 'Food & Drink'\n },\n {\n emoji: '🫛',\n names: ['pea_pod'],\n tags: [],\n description: 'pea pod',\n category: 'Food & Drink'\n },\n {\n emoji: '🍞',\n names: ['bread'],\n tags: ['toast'],\n description: 'bread',\n category: 'Food & Drink'\n },\n {\n emoji: '🥐',\n names: ['croissant'],\n tags: [],\n description: 'croissant',\n category: 'Food & Drink'\n },\n {\n emoji: '🥖',\n names: ['baguette_bread'],\n tags: [],\n description: 'baguette bread',\n category: 'Food & Drink'\n },\n {\n emoji: '🫓',\n names: ['flatbread'],\n tags: [],\n description: 'flatbread',\n category: 'Food & Drink'\n },\n {\n emoji: '🥨',\n names: ['pretzel'],\n tags: [],\n description: 'pretzel',\n category: 'Food & Drink'\n },\n {\n emoji: '🥯',\n names: ['bagel'],\n tags: [],\n description: 'bagel',\n category: 'Food & Drink'\n },\n {\n emoji: '🥞',\n names: ['pancakes'],\n tags: [],\n description: 'pancakes',\n category: 'Food & Drink'\n },\n {\n emoji: '🧇',\n names: ['waffle'],\n tags: [],\n description: 'waffle',\n category: 'Food & Drink'\n },\n {\n emoji: '🧀',\n names: ['cheese'],\n tags: [],\n description: 'cheese wedge',\n category: 'Food & Drink'\n },\n {\n emoji: '🍖',\n names: ['meat_on_bone'],\n tags: [],\n description: 'meat on bone',\n category: 'Food & Drink'\n },\n {\n emoji: '🍗',\n names: ['poultry_leg'],\n tags: ['meat', 'chicken'],\n description: 'poultry leg',\n category: 'Food & Drink'\n },\n {\n emoji: '🥩',\n names: ['cut_of_meat'],\n tags: [],\n description: 'cut of meat',\n category: 'Food & Drink'\n },\n {\n emoji: '🥓',\n names: ['bacon'],\n tags: [],\n description: 'bacon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍔',\n names: ['hamburger'],\n tags: ['burger'],\n description: 'hamburger',\n category: 'Food & Drink'\n },\n {\n emoji: '🍟',\n names: ['fries'],\n tags: [],\n description: 'french fries',\n category: 'Food & Drink'\n },\n {\n emoji: '🍕',\n names: ['pizza'],\n tags: [],\n description: 'pizza',\n category: 'Food & Drink'\n },\n {\n emoji: '🌭',\n names: ['hotdog'],\n tags: [],\n description: 'hot dog',\n category: 'Food & Drink'\n },\n {\n emoji: '🥪',\n names: ['sandwich'],\n tags: [],\n description: 'sandwich',\n category: 'Food & Drink'\n },\n {\n emoji: '🌮',\n names: ['taco'],\n tags: [],\n description: 'taco',\n category: 'Food & Drink'\n },\n {\n emoji: '🌯',\n names: ['burrito'],\n tags: [],\n description: 'burrito',\n category: 'Food & Drink'\n },\n {\n emoji: '🫔',\n names: ['tamale'],\n tags: [],\n description: 'tamale',\n category: 'Food & Drink'\n },\n {\n emoji: '🥙',\n names: ['stuffed_flatbread'],\n tags: [],\n description: 'stuffed flatbread',\n category: 'Food & Drink'\n },\n {\n emoji: '🧆',\n names: ['falafel'],\n tags: [],\n description: 'falafel',\n category: 'Food & Drink'\n },\n {\n emoji: '🥚',\n names: ['egg'],\n tags: [],\n description: 'egg',\n category: 'Food & Drink'\n },\n {\n emoji: '🍳',\n names: ['fried_egg'],\n tags: ['breakfast'],\n description: 'cooking',\n category: 'Food & Drink'\n },\n {\n emoji: '🥘',\n names: ['shallow_pan_of_food'],\n tags: ['paella', 'curry'],\n description: 'shallow pan of food',\n category: 'Food & Drink'\n },\n {\n emoji: '🍲',\n names: ['stew'],\n tags: [],\n description: 'pot of food',\n category: 'Food & Drink'\n },\n {\n emoji: '🫕',\n names: ['fondue'],\n tags: [],\n description: 'fondue',\n category: 'Food & Drink'\n },\n {\n emoji: '🥣',\n names: ['bowl_with_spoon'],\n tags: [],\n description: 'bowl with spoon',\n category: 'Food & Drink'\n },\n {\n emoji: '🥗',\n names: ['green_salad'],\n tags: [],\n description: 'green salad',\n category: 'Food & Drink'\n },\n {\n emoji: '🍿',\n names: ['popcorn'],\n tags: [],\n description: 'popcorn',\n category: 'Food & Drink'\n },\n {\n emoji: '🧈',\n names: ['butter'],\n tags: [],\n description: 'butter',\n category: 'Food & Drink'\n },\n {\n emoji: '🧂',\n names: ['salt'],\n tags: [],\n description: 'salt',\n category: 'Food & Drink'\n },\n {\n emoji: '🥫',\n names: ['canned_food'],\n tags: [],\n description: 'canned food',\n category: 'Food & Drink'\n },\n {\n emoji: '🍱',\n names: ['bento'],\n tags: [],\n description: 'bento box',\n category: 'Food & Drink'\n },\n {\n emoji: '🍘',\n names: ['rice_cracker'],\n tags: [],\n description: 'rice cracker',\n category: 'Food & Drink'\n },\n {\n emoji: '🍙',\n names: ['rice_ball'],\n tags: [],\n description: 'rice ball',\n category: 'Food & Drink'\n },\n {\n emoji: '🍚',\n names: ['rice'],\n tags: [],\n description: 'cooked rice',\n category: 'Food & Drink'\n },\n {\n emoji: '🍛',\n names: ['curry'],\n tags: [],\n description: 'curry rice',\n category: 'Food & Drink'\n },\n {\n emoji: '🍜',\n names: ['ramen'],\n tags: ['noodle'],\n description: 'steaming bowl',\n category: 'Food & Drink'\n },\n {\n emoji: '🍝',\n names: ['spaghetti'],\n tags: ['pasta'],\n description: 'spaghetti',\n category: 'Food & Drink'\n },\n {\n emoji: '🍠',\n names: ['sweet_potato'],\n tags: [],\n description: 'roasted sweet potato',\n category: 'Food & Drink'\n },\n {\n emoji: '🍢',\n names: ['oden'],\n tags: [],\n description: 'oden',\n category: 'Food & Drink'\n },\n {\n emoji: '🍣',\n names: ['sushi'],\n tags: [],\n description: 'sushi',\n category: 'Food & Drink'\n },\n {\n emoji: '🍤',\n names: ['fried_shrimp'],\n tags: ['tempura'],\n description: 'fried shrimp',\n category: 'Food & Drink'\n },\n {\n emoji: '🍥',\n names: ['fish_cake'],\n tags: [],\n description: 'fish cake with swirl',\n category: 'Food & Drink'\n },\n {\n emoji: '🥮',\n names: ['moon_cake'],\n tags: [],\n description: 'moon cake',\n category: 'Food & Drink'\n },\n {\n emoji: '🍡',\n names: ['dango'],\n tags: [],\n description: 'dango',\n category: 'Food & Drink'\n },\n {\n emoji: '🥟',\n names: ['dumpling'],\n tags: [],\n description: 'dumpling',\n category: 'Food & Drink'\n },\n {\n emoji: '🥠',\n names: ['fortune_cookie'],\n tags: [],\n description: 'fortune cookie',\n category: 'Food & Drink'\n },\n {\n emoji: '🥡',\n names: ['takeout_box'],\n tags: [],\n description: 'takeout box',\n category: 'Food & Drink'\n },\n {\n emoji: '🦀',\n names: ['crab'],\n tags: [],\n description: 'crab',\n category: 'Food & Drink'\n },\n {\n emoji: '🦞',\n names: ['lobster'],\n tags: [],\n description: 'lobster',\n category: 'Food & Drink'\n },\n {\n emoji: '🦐',\n names: ['shrimp'],\n tags: [],\n description: 'shrimp',\n category: 'Food & Drink'\n },\n {\n emoji: '🦑',\n names: ['squid'],\n tags: [],\n description: 'squid',\n category: 'Food & Drink'\n },\n {\n emoji: '🦪',\n names: ['oyster'],\n tags: [],\n description: 'oyster',\n category: 'Food & Drink'\n },\n {\n emoji: '🍦',\n names: ['icecream'],\n tags: [],\n description: 'soft ice cream',\n category: 'Food & Drink'\n },\n {\n emoji: '🍧',\n names: ['shaved_ice'],\n tags: [],\n description: 'shaved ice',\n category: 'Food & Drink'\n },\n {\n emoji: '🍨',\n names: ['ice_cream'],\n tags: [],\n description: 'ice cream',\n category: 'Food & Drink'\n },\n {\n emoji: '🍩',\n names: ['doughnut'],\n tags: [],\n description: 'doughnut',\n category: 'Food & Drink'\n },\n {\n emoji: '🍪',\n names: ['cookie'],\n tags: [],\n description: 'cookie',\n category: 'Food & Drink'\n },\n {\n emoji: '🎂',\n names: ['birthday'],\n tags: ['party'],\n description: 'birthday cake',\n category: 'Food & Drink'\n },\n {\n emoji: '🍰',\n names: ['cake'],\n tags: ['dessert'],\n description: 'shortcake',\n category: 'Food & Drink'\n },\n {\n emoji: '🧁',\n names: ['cupcake'],\n tags: [],\n description: 'cupcake',\n category: 'Food & Drink'\n },\n {\n emoji: '🥧',\n names: ['pie'],\n tags: [],\n description: 'pie',\n category: 'Food & Drink'\n },\n {\n emoji: '🍫',\n names: ['chocolate_bar'],\n tags: [],\n description: 'chocolate bar',\n category: 'Food & Drink'\n },\n {\n emoji: '🍬',\n names: ['candy'],\n tags: ['sweet'],\n description: 'candy',\n category: 'Food & Drink'\n },\n {\n emoji: '🍭',\n names: ['lollipop'],\n tags: [],\n description: 'lollipop',\n category: 'Food & Drink'\n },\n {\n emoji: '🍮',\n names: ['custard'],\n tags: [],\n description: 'custard',\n category: 'Food & Drink'\n },\n {\n emoji: '🍯',\n names: ['honey_pot'],\n tags: [],\n description: 'honey pot',\n category: 'Food & Drink'\n },\n {\n emoji: '🍼',\n names: ['baby_bottle'],\n tags: ['milk'],\n description: 'baby bottle',\n category: 'Food & Drink'\n },\n {\n emoji: '🥛',\n names: ['milk_glass'],\n tags: [],\n description: 'glass of milk',\n category: 'Food & Drink'\n },\n {\n emoji: '☕',\n names: ['coffee'],\n tags: ['cafe', 'espresso'],\n description: 'hot beverage',\n category: 'Food & Drink'\n },\n {\n emoji: '🫖',\n names: ['teapot'],\n tags: [],\n description: 'teapot',\n category: 'Food & Drink'\n },\n {\n emoji: '🍵',\n names: ['tea'],\n tags: ['green', 'breakfast'],\n description: 'teacup without handle',\n category: 'Food & Drink'\n },\n {\n emoji: '🍶',\n names: ['sake'],\n tags: [],\n description: 'sake',\n category: 'Food & Drink'\n },\n {\n emoji: '🍾',\n names: ['champagne'],\n tags: ['bottle', 'bubbly', 'celebration'],\n description: 'bottle with popping cork',\n category: 'Food & Drink'\n },\n {\n emoji: '🍷',\n names: ['wine_glass'],\n tags: [],\n description: 'wine glass',\n category: 'Food & Drink'\n },\n {\n emoji: '🍸',\n names: ['cocktail'],\n tags: ['drink'],\n description: 'cocktail glass',\n category: 'Food & Drink'\n },\n {\n emoji: '🍹',\n names: ['tropical_drink'],\n tags: ['summer', 'vacation'],\n description: 'tropical drink',\n category: 'Food & Drink'\n },\n {\n emoji: '🍺',\n names: ['beer'],\n tags: ['drink'],\n description: 'beer mug',\n category: 'Food & Drink'\n },\n {\n emoji: '🍻',\n names: ['beers'],\n tags: ['drinks'],\n description: 'clinking beer mugs',\n category: 'Food & Drink'\n },\n {\n emoji: '🥂',\n names: ['clinking_glasses'],\n tags: ['cheers', 'toast'],\n description: 'clinking glasses',\n category: 'Food & Drink'\n },\n {\n emoji: '🥃',\n names: ['tumbler_glass'],\n tags: ['whisky'],\n description: 'tumbler glass',\n category: 'Food & Drink'\n },\n {\n emoji: '🫗',\n names: ['pouring_liquid'],\n tags: [],\n description: 'pouring liquid',\n category: 'Food & Drink'\n },\n {\n emoji: '🥤',\n names: ['cup_with_straw'],\n tags: [],\n description: 'cup with straw',\n category: 'Food & Drink'\n },\n {\n emoji: '🧋',\n names: ['bubble_tea'],\n tags: [],\n description: 'bubble tea',\n category: 'Food & Drink'\n },\n {\n emoji: '🧃',\n names: ['beverage_box'],\n tags: [],\n description: 'beverage box',\n category: 'Food & Drink'\n },\n {\n emoji: '🧉',\n names: ['mate'],\n tags: [],\n description: 'mate',\n category: 'Food & Drink'\n },\n {\n emoji: '🧊',\n names: ['ice_cube'],\n tags: [],\n description: 'ice',\n category: 'Food & Drink'\n },\n {\n emoji: '🥢',\n names: ['chopsticks'],\n tags: [],\n description: 'chopsticks',\n category: 'Food & Drink'\n },\n {\n emoji: '🍽️',\n names: ['plate_with_cutlery'],\n tags: ['dining', 'dinner'],\n description: 'fork and knife with plate',\n category: 'Food & Drink'\n },\n {\n emoji: '🍴',\n names: ['fork_and_knife'],\n tags: ['cutlery'],\n description: 'fork and knife',\n category: 'Food & Drink'\n },\n {\n emoji: '🥄',\n names: ['spoon'],\n tags: [],\n description: 'spoon',\n category: 'Food & Drink'\n },\n {\n emoji: '🔪',\n names: ['hocho', 'knife'],\n tags: ['cut', 'chop'],\n description: 'kitchen knife',\n category: 'Food & Drink'\n },\n {\n emoji: '🫙',\n names: ['jar'],\n tags: [],\n description: 'jar',\n category: 'Food & Drink'\n },\n {\n emoji: '🏺',\n names: ['amphora'],\n tags: [],\n description: 'amphora',\n category: 'Food & Drink'\n },\n {\n emoji: '🌍',\n names: ['earth_africa'],\n tags: ['globe', 'world', 'international'],\n description: 'globe showing Europe-Africa',\n category: 'Travel & Places'\n },\n {\n emoji: '🌎',\n names: ['earth_americas'],\n tags: ['globe', 'world', 'international'],\n description: 'globe showing Americas',\n category: 'Travel & Places'\n },\n {\n emoji: '🌏',\n names: ['earth_asia'],\n tags: ['globe', 'world', 'international'],\n description: 'globe showing Asia-Australia',\n category: 'Travel & Places'\n },\n {\n emoji: '🌐',\n names: ['globe_with_meridians'],\n tags: ['world', 'global', 'international'],\n description: 'globe with meridians',\n category: 'Travel & Places'\n },\n {\n emoji: '🗺️',\n names: ['world_map'],\n tags: ['travel'],\n description: 'world map',\n category: 'Travel & Places'\n },\n {\n emoji: '🗾',\n names: ['japan'],\n tags: [],\n description: 'map of Japan',\n category: 'Travel & Places'\n },\n {\n emoji: '🧭',\n names: ['compass'],\n tags: [],\n description: 'compass',\n category: 'Travel & Places'\n },\n {\n emoji: '🏔️',\n names: ['mountain_snow'],\n tags: [],\n description: 'snow-capped mountain',\n category: 'Travel & Places'\n },\n {\n emoji: '⛰️',\n names: ['mountain'],\n tags: [],\n description: 'mountain',\n category: 'Travel & Places'\n },\n {\n emoji: '🌋',\n names: ['volcano'],\n tags: [],\n description: 'volcano',\n category: 'Travel & Places'\n },\n {\n emoji: '🗻',\n names: ['mount_fuji'],\n tags: [],\n description: 'mount fuji',\n category: 'Travel & Places'\n },\n {\n emoji: '🏕️',\n names: ['camping'],\n tags: [],\n description: 'camping',\n category: 'Travel & Places'\n },\n {\n emoji: '🏖️',\n names: ['beach_umbrella'],\n tags: [],\n description: 'beach with umbrella',\n category: 'Travel & Places'\n },\n {\n emoji: '🏜️',\n names: ['desert'],\n tags: [],\n description: 'desert',\n category: 'Travel & Places'\n },\n {\n emoji: '🏝️',\n names: ['desert_island'],\n tags: [],\n description: 'desert island',\n category: 'Travel & Places'\n },\n {\n emoji: '🏞️',\n names: ['national_park'],\n tags: [],\n description: 'national park',\n category: 'Travel & Places'\n },\n {\n emoji: '🏟️',\n names: ['stadium'],\n tags: [],\n description: 'stadium',\n category: 'Travel & Places'\n },\n {\n emoji: '🏛️',\n names: ['classical_building'],\n tags: [],\n description: 'classical building',\n category: 'Travel & Places'\n },\n {\n emoji: '🏗️',\n names: ['building_construction'],\n tags: [],\n description: 'building construction',\n category: 'Travel & Places'\n },\n {\n emoji: '🧱',\n names: ['bricks'],\n tags: [],\n description: 'brick',\n category: 'Travel & Places'\n },\n {\n emoji: '🪨',\n names: ['rock'],\n tags: [],\n description: 'rock',\n category: 'Travel & Places'\n },\n {\n emoji: '🪵',\n names: ['wood'],\n tags: [],\n description: 'wood',\n category: 'Travel & Places'\n },\n {\n emoji: '🛖',\n names: ['hut'],\n tags: [],\n description: 'hut',\n category: 'Travel & Places'\n },\n {\n emoji: '🏘️',\n names: ['houses'],\n tags: [],\n description: 'houses',\n category: 'Travel & Places'\n },\n {\n emoji: '🏚️',\n names: ['derelict_house'],\n tags: [],\n description: 'derelict house',\n category: 'Travel & Places'\n },\n {\n emoji: '🏠',\n names: ['house'],\n tags: [],\n description: 'house',\n category: 'Travel & Places'\n },\n {\n emoji: '🏡',\n names: ['house_with_garden'],\n tags: [],\n description: 'house with garden',\n category: 'Travel & Places'\n },\n {\n emoji: '🏢',\n names: ['office'],\n tags: [],\n description: 'office building',\n category: 'Travel & Places'\n },\n {\n emoji: '🏣',\n names: ['post_office'],\n tags: [],\n description: 'Japanese post office',\n category: 'Travel & Places'\n },\n {\n emoji: '🏤',\n names: ['european_post_office'],\n tags: [],\n description: 'post office',\n category: 'Travel & Places'\n },\n {\n emoji: '🏥',\n names: ['hospital'],\n tags: [],\n description: 'hospital',\n category: 'Travel & Places'\n },\n {\n emoji: '🏦',\n names: ['bank'],\n tags: [],\n description: 'bank',\n category: 'Travel & Places'\n },\n {\n emoji: '🏨',\n names: ['hotel'],\n tags: [],\n description: 'hotel',\n category: 'Travel & Places'\n },\n {\n emoji: '🏩',\n names: ['love_hotel'],\n tags: [],\n description: 'love hotel',\n category: 'Travel & Places'\n },\n {\n emoji: '🏪',\n names: ['convenience_store'],\n tags: [],\n description: 'convenience store',\n category: 'Travel & Places'\n },\n {\n emoji: '🏫',\n names: ['school'],\n tags: [],\n description: 'school',\n category: 'Travel & Places'\n },\n {\n emoji: '🏬',\n names: ['department_store'],\n tags: [],\n description: 'department store',\n category: 'Travel & Places'\n },\n {\n emoji: '🏭',\n names: ['factory'],\n tags: [],\n description: 'factory',\n category: 'Travel & Places'\n },\n {\n emoji: '🏯',\n names: ['japanese_castle'],\n tags: [],\n description: 'Japanese castle',\n category: 'Travel & Places'\n },\n {\n emoji: '🏰',\n names: ['european_castle'],\n tags: [],\n description: 'castle',\n category: 'Travel & Places'\n },\n {\n emoji: '💒',\n names: ['wedding'],\n tags: ['marriage'],\n description: 'wedding',\n category: 'Travel & Places'\n },\n {\n emoji: '🗼',\n names: ['tokyo_tower'],\n tags: [],\n description: 'Tokyo tower',\n category: 'Travel & Places'\n },\n {\n emoji: '🗽',\n names: ['statue_of_liberty'],\n tags: [],\n description: 'Statue of Liberty',\n category: 'Travel & Places'\n },\n {\n emoji: '⛪',\n names: ['church'],\n tags: [],\n description: 'church',\n category: 'Travel & Places'\n },\n {\n emoji: '🕌',\n names: ['mosque'],\n tags: [],\n description: 'mosque',\n category: 'Travel & Places'\n },\n {\n emoji: '🛕',\n names: ['hindu_temple'],\n tags: [],\n description: 'hindu temple',\n category: 'Travel & Places'\n },\n {\n emoji: '🕍',\n names: ['synagogue'],\n tags: [],\n description: 'synagogue',\n category: 'Travel & Places'\n },\n {\n emoji: '⛩️',\n names: ['shinto_shrine'],\n tags: [],\n description: 'shinto shrine',\n category: 'Travel & Places'\n },\n {\n emoji: '🕋',\n names: ['kaaba'],\n tags: [],\n description: 'kaaba',\n category: 'Travel & Places'\n },\n {\n emoji: '⛲',\n names: ['fountain'],\n tags: [],\n description: 'fountain',\n category: 'Travel & Places'\n },\n {\n emoji: '⛺',\n names: ['tent'],\n tags: ['camping'],\n description: 'tent',\n category: 'Travel & Places'\n },\n {\n emoji: '🌁',\n names: ['foggy'],\n tags: ['karl'],\n description: 'foggy',\n category: 'Travel & Places'\n },\n {\n emoji: '🌃',\n names: ['night_with_stars'],\n tags: [],\n description: 'night with stars',\n category: 'Travel & Places'\n },\n {\n emoji: '🏙️',\n names: ['cityscape'],\n tags: ['skyline'],\n description: 'cityscape',\n category: 'Travel & Places'\n },\n {\n emoji: '🌄',\n names: ['sunrise_over_mountains'],\n tags: [],\n description: 'sunrise over mountains',\n category: 'Travel & Places'\n },\n {\n emoji: '🌅',\n names: ['sunrise'],\n tags: [],\n description: 'sunrise',\n category: 'Travel & Places'\n },\n {\n emoji: '🌆',\n names: ['city_sunset'],\n tags: [],\n description: 'cityscape at dusk',\n category: 'Travel & Places'\n },\n {\n emoji: '🌇',\n names: ['city_sunrise'],\n tags: [],\n description: 'sunset',\n category: 'Travel & Places'\n },\n {\n emoji: '🌉',\n names: ['bridge_at_night'],\n tags: [],\n description: 'bridge at night',\n category: 'Travel & Places'\n },\n {\n emoji: '♨️',\n names: ['hotsprings'],\n tags: [],\n description: 'hot springs',\n category: 'Travel & Places'\n },\n {\n emoji: '🎠',\n names: ['carousel_horse'],\n tags: [],\n description: 'carousel horse',\n category: 'Travel & Places'\n },\n {\n emoji: '🛝',\n names: ['playground_slide'],\n tags: [],\n description: 'playground slide',\n category: 'Travel & Places'\n },\n {\n emoji: '🎡',\n names: ['ferris_wheel'],\n tags: [],\n description: 'ferris wheel',\n category: 'Travel & Places'\n },\n {\n emoji: '🎢',\n names: ['roller_coaster'],\n tags: [],\n description: 'roller coaster',\n category: 'Travel & Places'\n },\n {\n emoji: '💈',\n names: ['barber'],\n tags: [],\n description: 'barber pole',\n category: 'Travel & Places'\n },\n {\n emoji: '🎪',\n names: ['circus_tent'],\n tags: [],\n description: 'circus tent',\n category: 'Travel & Places'\n },\n {\n emoji: '🚂',\n names: ['steam_locomotive'],\n tags: ['train'],\n description: 'locomotive',\n category: 'Travel & Places'\n },\n {\n emoji: '🚃',\n names: ['railway_car'],\n tags: [],\n description: 'railway car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚄',\n names: ['bullettrain_side'],\n tags: ['train'],\n description: 'high-speed train',\n category: 'Travel & Places'\n },\n {\n emoji: '🚅',\n names: ['bullettrain_front'],\n tags: ['train'],\n description: 'bullet train',\n category: 'Travel & Places'\n },\n {\n emoji: '🚆',\n names: ['train2'],\n tags: [],\n description: 'train',\n category: 'Travel & Places'\n },\n {\n emoji: '🚇',\n names: ['metro'],\n tags: [],\n description: 'metro',\n category: 'Travel & Places'\n },\n {\n emoji: '🚈',\n names: ['light_rail'],\n tags: [],\n description: 'light rail',\n category: 'Travel & Places'\n },\n {\n emoji: '🚉',\n names: ['station'],\n tags: [],\n description: 'station',\n category: 'Travel & Places'\n },\n {\n emoji: '🚊',\n names: ['tram'],\n tags: [],\n description: 'tram',\n category: 'Travel & Places'\n },\n {\n emoji: '🚝',\n names: ['monorail'],\n tags: [],\n description: 'monorail',\n category: 'Travel & Places'\n },\n {\n emoji: '🚞',\n names: ['mountain_railway'],\n tags: [],\n description: 'mountain railway',\n category: 'Travel & Places'\n },\n {\n emoji: '🚋',\n names: ['train'],\n tags: [],\n description: 'tram car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚌',\n names: ['bus'],\n tags: [],\n description: 'bus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚍',\n names: ['oncoming_bus'],\n tags: [],\n description: 'oncoming bus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚎',\n names: ['trolleybus'],\n tags: [],\n description: 'trolleybus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚐',\n names: ['minibus'],\n tags: [],\n description: 'minibus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚑',\n names: ['ambulance'],\n tags: [],\n description: 'ambulance',\n category: 'Travel & Places'\n },\n {\n emoji: '🚒',\n names: ['fire_engine'],\n tags: [],\n description: 'fire engine',\n category: 'Travel & Places'\n },\n {\n emoji: '🚓',\n names: ['police_car'],\n tags: [],\n description: 'police car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚔',\n names: ['oncoming_police_car'],\n tags: [],\n description: 'oncoming police car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚕',\n names: ['taxi'],\n tags: [],\n description: 'taxi',\n category: 'Travel & Places'\n },\n {\n emoji: '🚖',\n names: ['oncoming_taxi'],\n tags: [],\n description: 'oncoming taxi',\n category: 'Travel & Places'\n },\n {\n emoji: '🚗',\n names: ['car', 'red_car'],\n tags: [],\n description: 'automobile',\n category: 'Travel & Places'\n },\n {\n emoji: '🚘',\n names: ['oncoming_automobile'],\n tags: [],\n description: 'oncoming automobile',\n category: 'Travel & Places'\n },\n {\n emoji: '🚙',\n names: ['blue_car'],\n tags: [],\n description: 'sport utility vehicle',\n category: 'Travel & Places'\n },\n {\n emoji: '🛻',\n names: ['pickup_truck'],\n tags: [],\n description: 'pickup truck',\n category: 'Travel & Places'\n },\n {\n emoji: '🚚',\n names: ['truck'],\n tags: [],\n description: 'delivery truck',\n category: 'Travel & Places'\n },\n {\n emoji: '🚛',\n names: ['articulated_lorry'],\n tags: [],\n description: 'articulated lorry',\n category: 'Travel & Places'\n },\n {\n emoji: '🚜',\n names: ['tractor'],\n tags: [],\n description: 'tractor',\n category: 'Travel & Places'\n },\n {\n emoji: '🏎️',\n names: ['racing_car'],\n tags: [],\n description: 'racing car',\n category: 'Travel & Places'\n },\n {\n emoji: '🏍️',\n names: ['motorcycle'],\n tags: [],\n description: 'motorcycle',\n category: 'Travel & Places'\n },\n {\n emoji: '🛵',\n names: ['motor_scooter'],\n tags: [],\n description: 'motor scooter',\n category: 'Travel & Places'\n },\n {\n emoji: '🦽',\n names: ['manual_wheelchair'],\n tags: [],\n description: 'manual wheelchair',\n category: 'Travel & Places'\n },\n {\n emoji: '🦼',\n names: ['motorized_wheelchair'],\n tags: [],\n description: 'motorized wheelchair',\n category: 'Travel & Places'\n },\n {\n emoji: '🛺',\n names: ['auto_rickshaw'],\n tags: [],\n description: 'auto rickshaw',\n category: 'Travel & Places'\n },\n {\n emoji: '🚲',\n names: ['bike'],\n tags: ['bicycle'],\n description: 'bicycle',\n category: 'Travel & Places'\n },\n {\n emoji: '🛴',\n names: ['kick_scooter'],\n tags: [],\n description: 'kick scooter',\n category: 'Travel & Places'\n },\n {\n emoji: '🛹',\n names: ['skateboard'],\n tags: [],\n description: 'skateboard',\n category: 'Travel & Places'\n },\n {\n emoji: '🛼',\n names: ['roller_skate'],\n tags: [],\n description: 'roller skate',\n category: 'Travel & Places'\n },\n {\n emoji: '🚏',\n names: ['busstop'],\n tags: [],\n description: 'bus stop',\n category: 'Travel & Places'\n },\n {\n emoji: '🛣️',\n names: ['motorway'],\n tags: [],\n description: 'motorway',\n category: 'Travel & Places'\n },\n {\n emoji: '🛤️',\n names: ['railway_track'],\n tags: [],\n description: 'railway track',\n category: 'Travel & Places'\n },\n {\n emoji: '🛢️',\n names: ['oil_drum'],\n tags: [],\n description: 'oil drum',\n category: 'Travel & Places'\n },\n {\n emoji: '⛽',\n names: ['fuelpump'],\n tags: [],\n description: 'fuel pump',\n category: 'Travel & Places'\n },\n {\n emoji: '🛞',\n names: ['wheel'],\n tags: [],\n description: 'wheel',\n category: 'Travel & Places'\n },\n {\n emoji: '🚨',\n names: ['rotating_light'],\n tags: ['911', 'emergency'],\n description: 'police car light',\n category: 'Travel & Places'\n },\n {\n emoji: '🚥',\n names: ['traffic_light'],\n tags: [],\n description: 'horizontal traffic light',\n category: 'Travel & Places'\n },\n {\n emoji: '🚦',\n names: ['vertical_traffic_light'],\n tags: ['semaphore'],\n description: 'vertical traffic light',\n category: 'Travel & Places'\n },\n {\n emoji: '🛑',\n names: ['stop_sign'],\n tags: [],\n description: 'stop sign',\n category: 'Travel & Places'\n },\n {\n emoji: '🚧',\n names: ['construction'],\n tags: ['wip'],\n description: 'construction',\n category: 'Travel & Places'\n },\n {\n emoji: '⚓',\n names: ['anchor'],\n tags: ['ship'],\n description: 'anchor',\n category: 'Travel & Places'\n },\n {\n emoji: '🛟',\n names: ['ring_buoy'],\n tags: ['life preserver'],\n description: 'ring buoy',\n category: 'Travel & Places'\n },\n {\n emoji: '⛵',\n names: ['boat', 'sailboat'],\n tags: [],\n description: 'sailboat',\n category: 'Travel & Places'\n },\n {\n emoji: '🛶',\n names: ['canoe'],\n tags: [],\n description: 'canoe',\n category: 'Travel & Places'\n },\n {\n emoji: '🚤',\n names: ['speedboat'],\n tags: ['ship'],\n description: 'speedboat',\n category: 'Travel & Places'\n },\n {\n emoji: '🛳️',\n names: ['passenger_ship'],\n tags: ['cruise'],\n description: 'passenger ship',\n category: 'Travel & Places'\n },\n {\n emoji: '⛴️',\n names: ['ferry'],\n tags: [],\n description: 'ferry',\n category: 'Travel & Places'\n },\n {\n emoji: '🛥️',\n names: ['motor_boat'],\n tags: [],\n description: 'motor boat',\n category: 'Travel & Places'\n },\n {\n emoji: '🚢',\n names: ['ship'],\n tags: [],\n description: 'ship',\n category: 'Travel & Places'\n },\n {\n emoji: '✈️',\n names: ['airplane'],\n tags: ['flight'],\n description: 'airplane',\n category: 'Travel & Places'\n },\n {\n emoji: '🛩️',\n names: ['small_airplane'],\n tags: ['flight'],\n description: 'small airplane',\n category: 'Travel & Places'\n },\n {\n emoji: '🛫',\n names: ['flight_departure'],\n tags: [],\n description: 'airplane departure',\n category: 'Travel & Places'\n },\n {\n emoji: '🛬',\n names: ['flight_arrival'],\n tags: [],\n description: 'airplane arrival',\n category: 'Travel & Places'\n },\n {\n emoji: '🪂',\n names: ['parachute'],\n tags: [],\n description: 'parachute',\n category: 'Travel & Places'\n },\n {\n emoji: '💺',\n names: ['seat'],\n tags: [],\n description: 'seat',\n category: 'Travel & Places'\n },\n {\n emoji: '🚁',\n names: ['helicopter'],\n tags: [],\n description: 'helicopter',\n category: 'Travel & Places'\n },\n {\n emoji: '🚟',\n names: ['suspension_railway'],\n tags: [],\n description: 'suspension railway',\n category: 'Travel & Places'\n },\n {\n emoji: '🚠',\n names: ['mountain_cableway'],\n tags: [],\n description: 'mountain cableway',\n category: 'Travel & Places'\n },\n {\n emoji: '🚡',\n names: ['aerial_tramway'],\n tags: [],\n description: 'aerial tramway',\n category: 'Travel & Places'\n },\n {\n emoji: '🛰️',\n names: ['artificial_satellite'],\n tags: ['orbit', 'space'],\n description: 'satellite',\n category: 'Travel & Places'\n },\n {\n emoji: '🚀',\n names: ['rocket'],\n tags: ['ship', 'launch'],\n description: 'rocket',\n category: 'Travel & Places'\n },\n {\n emoji: '🛸',\n names: ['flying_saucer'],\n tags: ['ufo'],\n description: 'flying saucer',\n category: 'Travel & Places'\n },\n {\n emoji: '🛎️',\n names: ['bellhop_bell'],\n tags: [],\n description: 'bellhop bell',\n category: 'Travel & Places'\n },\n {\n emoji: '🧳',\n names: ['luggage'],\n tags: [],\n description: 'luggage',\n category: 'Travel & Places'\n },\n {\n emoji: '⌛',\n names: ['hourglass'],\n tags: ['time'],\n description: 'hourglass done',\n category: 'Travel & Places'\n },\n {\n emoji: '⏳',\n names: ['hourglass_flowing_sand'],\n tags: ['time'],\n description: 'hourglass not done',\n category: 'Travel & Places'\n },\n {\n emoji: '⌚',\n names: ['watch'],\n tags: ['time'],\n description: 'watch',\n category: 'Travel & Places'\n },\n {\n emoji: '⏰',\n names: ['alarm_clock'],\n tags: ['morning'],\n description: 'alarm clock',\n category: 'Travel & Places'\n },\n {\n emoji: '⏱️',\n names: ['stopwatch'],\n tags: [],\n description: 'stopwatch',\n category: 'Travel & Places'\n },\n {\n emoji: '⏲️',\n names: ['timer_clock'],\n tags: [],\n description: 'timer clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕰️',\n names: ['mantelpiece_clock'],\n tags: [],\n description: 'mantelpiece clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕛',\n names: ['clock12'],\n tags: [],\n description: 'twelve o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕧',\n names: ['clock1230'],\n tags: [],\n description: 'twelve-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕐',\n names: ['clock1'],\n tags: [],\n description: 'one o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕜',\n names: ['clock130'],\n tags: [],\n description: 'one-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕑',\n names: ['clock2'],\n tags: [],\n description: 'two o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕝',\n names: ['clock230'],\n tags: [],\n description: 'two-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕒',\n names: ['clock3'],\n tags: [],\n description: 'three o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕞',\n names: ['clock330'],\n tags: [],\n description: 'three-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕓',\n names: ['clock4'],\n tags: [],\n description: 'four o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕟',\n names: ['clock430'],\n tags: [],\n description: 'four-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕔',\n names: ['clock5'],\n tags: [],\n description: 'five o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕠',\n names: ['clock530'],\n tags: [],\n description: 'five-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕕',\n names: ['clock6'],\n tags: [],\n description: 'six o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕡',\n names: ['clock630'],\n tags: [],\n description: 'six-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕖',\n names: ['clock7'],\n tags: [],\n description: 'seven o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕢',\n names: ['clock730'],\n tags: [],\n description: 'seven-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕗',\n names: ['clock8'],\n tags: [],\n description: 'eight o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕣',\n names: ['clock830'],\n tags: [],\n description: 'eight-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕘',\n names: ['clock9'],\n tags: [],\n description: 'nine o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕤',\n names: ['clock930'],\n tags: [],\n description: 'nine-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕙',\n names: ['clock10'],\n tags: [],\n description: 'ten o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕥',\n names: ['clock1030'],\n tags: [],\n description: 'ten-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕚',\n names: ['clock11'],\n tags: [],\n description: 'eleven o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕦',\n names: ['clock1130'],\n tags: [],\n description: 'eleven-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🌑',\n names: ['new_moon'],\n tags: [],\n description: 'new moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌒',\n names: ['waxing_crescent_moon'],\n tags: [],\n description: 'waxing crescent moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌓',\n names: ['first_quarter_moon'],\n tags: [],\n description: 'first quarter moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌔',\n names: ['moon', 'waxing_gibbous_moon'],\n tags: [],\n description: 'waxing gibbous moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌕',\n names: ['full_moon'],\n tags: [],\n description: 'full moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌖',\n names: ['waning_gibbous_moon'],\n tags: [],\n description: 'waning gibbous moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌗',\n names: ['last_quarter_moon'],\n tags: [],\n description: 'last quarter moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌘',\n names: ['waning_crescent_moon'],\n tags: [],\n description: 'waning crescent moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌙',\n names: ['crescent_moon'],\n tags: ['night'],\n description: 'crescent moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌚',\n names: ['new_moon_with_face'],\n tags: [],\n description: 'new moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌛',\n names: ['first_quarter_moon_with_face'],\n tags: [],\n description: 'first quarter moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌜',\n names: ['last_quarter_moon_with_face'],\n tags: [],\n description: 'last quarter moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌡️',\n names: ['thermometer'],\n tags: [],\n description: 'thermometer',\n category: 'Travel & Places'\n },\n {\n emoji: '☀️',\n names: ['sunny'],\n tags: ['weather'],\n description: 'sun',\n category: 'Travel & Places'\n },\n {\n emoji: '🌝',\n names: ['full_moon_with_face'],\n tags: [],\n description: 'full moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌞',\n names: ['sun_with_face'],\n tags: ['summer'],\n description: 'sun with face',\n category: 'Travel & Places'\n },\n {\n emoji: '🪐',\n names: ['ringed_planet'],\n tags: [],\n description: 'ringed planet',\n category: 'Travel & Places'\n },\n {\n emoji: '⭐',\n names: ['star'],\n tags: [],\n description: 'star',\n category: 'Travel & Places'\n },\n {\n emoji: '🌟',\n names: ['star2'],\n tags: [],\n description: 'glowing star',\n category: 'Travel & Places'\n },\n {\n emoji: '🌠',\n names: ['stars'],\n tags: [],\n description: 'shooting star',\n category: 'Travel & Places'\n },\n {\n emoji: '🌌',\n names: ['milky_way'],\n tags: [],\n description: 'milky way',\n category: 'Travel & Places'\n },\n {\n emoji: '☁️',\n names: ['cloud'],\n tags: [],\n description: 'cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '⛅',\n names: ['partly_sunny'],\n tags: ['weather', 'cloud'],\n description: 'sun behind cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '⛈️',\n names: ['cloud_with_lightning_and_rain'],\n tags: [],\n description: 'cloud with lightning and rain',\n category: 'Travel & Places'\n },\n {\n emoji: '🌤️',\n names: ['sun_behind_small_cloud'],\n tags: [],\n description: 'sun behind small cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '🌥️',\n names: ['sun_behind_large_cloud'],\n tags: [],\n description: 'sun behind large cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '🌦️',\n names: ['sun_behind_rain_cloud'],\n tags: [],\n description: 'sun behind rain cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '🌧️',\n names: ['cloud_with_rain'],\n tags: [],\n description: 'cloud with rain',\n category: 'Travel & Places'\n },\n {\n emoji: '🌨️',\n names: ['cloud_with_snow'],\n tags: [],\n description: 'cloud with snow',\n category: 'Travel & Places'\n },\n {\n emoji: '🌩️',\n names: ['cloud_with_lightning'],\n tags: [],\n description: 'cloud with lightning',\n category: 'Travel & Places'\n },\n {\n emoji: '🌪️',\n names: ['tornado'],\n tags: [],\n description: 'tornado',\n category: 'Travel & Places'\n },\n {\n emoji: '🌫️',\n names: ['fog'],\n tags: [],\n description: 'fog',\n category: 'Travel & Places'\n },\n {\n emoji: '🌬️',\n names: ['wind_face'],\n tags: [],\n description: 'wind face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌀',\n names: ['cyclone'],\n tags: ['swirl'],\n description: 'cyclone',\n category: 'Travel & Places'\n },\n {\n emoji: '🌈',\n names: ['rainbow'],\n tags: [],\n description: 'rainbow',\n category: 'Travel & Places'\n },\n {\n emoji: '🌂',\n names: ['closed_umbrella'],\n tags: ['weather', 'rain'],\n description: 'closed umbrella',\n category: 'Travel & Places'\n },\n {\n emoji: '☂️',\n names: ['open_umbrella'],\n tags: [],\n description: 'umbrella',\n category: 'Travel & Places'\n },\n {\n emoji: '☔',\n names: ['umbrella'],\n tags: ['rain', 'weather'],\n description: 'umbrella with rain drops',\n category: 'Travel & Places'\n },\n {\n emoji: '⛱️',\n names: ['parasol_on_ground'],\n tags: ['beach_umbrella'],\n description: 'umbrella on ground',\n category: 'Travel & Places'\n },\n {\n emoji: '⚡',\n names: ['zap'],\n tags: ['lightning', 'thunder'],\n description: 'high voltage',\n category: 'Travel & Places'\n },\n {\n emoji: '❄️',\n names: ['snowflake'],\n tags: ['winter', 'cold', 'weather'],\n description: 'snowflake',\n category: 'Travel & Places'\n },\n {\n emoji: '☃️',\n names: ['snowman_with_snow'],\n tags: ['winter', 'christmas'],\n description: 'snowman',\n category: 'Travel & Places'\n },\n {\n emoji: '⛄',\n names: ['snowman'],\n tags: ['winter'],\n description: 'snowman without snow',\n category: 'Travel & Places'\n },\n {\n emoji: '☄️',\n names: ['comet'],\n tags: [],\n description: 'comet',\n category: 'Travel & Places'\n },\n {\n emoji: '🔥',\n names: ['fire'],\n tags: ['burn'],\n description: 'fire',\n category: 'Travel & Places'\n },\n {\n emoji: '💧',\n names: ['droplet'],\n tags: ['water'],\n description: 'droplet',\n category: 'Travel & Places'\n },\n {\n emoji: '🌊',\n names: ['ocean'],\n tags: ['sea'],\n description: 'water wave',\n category: 'Travel & Places'\n },\n {\n emoji: '🎃',\n names: ['jack_o_lantern'],\n tags: ['halloween'],\n description: 'jack-o-lantern',\n category: 'Activities'\n },\n {\n emoji: '🎄',\n names: ['christmas_tree'],\n tags: [],\n description: 'Christmas tree',\n category: 'Activities'\n },\n {\n emoji: '🎆',\n names: ['fireworks'],\n tags: ['festival', 'celebration'],\n description: 'fireworks',\n category: 'Activities'\n },\n {\n emoji: '🎇',\n names: ['sparkler'],\n tags: [],\n description: 'sparkler',\n category: 'Activities'\n },\n {\n emoji: '🧨',\n names: ['firecracker'],\n tags: [],\n description: 'firecracker',\n category: 'Activities'\n },\n {\n emoji: '✨',\n names: ['sparkles'],\n tags: ['shiny'],\n description: 'sparkles',\n category: 'Activities'\n },\n {\n emoji: '🎈',\n names: ['balloon'],\n tags: ['party', 'birthday'],\n description: 'balloon',\n category: 'Activities'\n },\n {\n emoji: '🎉',\n names: ['tada'],\n tags: ['hooray', 'party'],\n description: 'party popper',\n category: 'Activities'\n },\n {\n emoji: '🎊',\n names: ['confetti_ball'],\n tags: [],\n description: 'confetti ball',\n category: 'Activities'\n },\n {\n emoji: '🎋',\n names: ['tanabata_tree'],\n tags: [],\n description: 'tanabata tree',\n category: 'Activities'\n },\n {\n emoji: '🎍',\n names: ['bamboo'],\n tags: [],\n description: 'pine decoration',\n category: 'Activities'\n },\n {\n emoji: '🎎',\n names: ['dolls'],\n tags: [],\n description: 'Japanese dolls',\n category: 'Activities'\n },\n {\n emoji: '🎏',\n names: ['flags'],\n tags: [],\n description: 'carp streamer',\n category: 'Activities'\n },\n {\n emoji: '🎐',\n names: ['wind_chime'],\n tags: [],\n description: 'wind chime',\n category: 'Activities'\n },\n {\n emoji: '🎑',\n names: ['rice_scene'],\n tags: [],\n description: 'moon viewing ceremony',\n category: 'Activities'\n },\n {\n emoji: '🧧',\n names: ['red_envelope'],\n tags: [],\n description: 'red envelope',\n category: 'Activities'\n },\n {\n emoji: '🎀',\n names: ['ribbon'],\n tags: [],\n description: 'ribbon',\n category: 'Activities'\n },\n {\n emoji: '🎁',\n names: ['gift'],\n tags: ['present', 'birthday', 'christmas'],\n description: 'wrapped gift',\n category: 'Activities'\n },\n {\n emoji: '🎗️',\n names: ['reminder_ribbon'],\n tags: [],\n description: 'reminder ribbon',\n category: 'Activities'\n },\n {\n emoji: '🎟️',\n names: ['tickets'],\n tags: [],\n description: 'admission tickets',\n category: 'Activities'\n },\n {\n emoji: '🎫',\n names: ['ticket'],\n tags: [],\n description: 'ticket',\n category: 'Activities'\n },\n {\n emoji: '🎖️',\n names: ['medal_military'],\n tags: [],\n description: 'military medal',\n category: 'Activities'\n },\n {\n emoji: '🏆',\n names: ['trophy'],\n tags: ['award', 'contest', 'winner'],\n description: 'trophy',\n category: 'Activities'\n },\n {\n emoji: '🏅',\n names: ['medal_sports'],\n tags: ['gold', 'winner'],\n description: 'sports medal',\n category: 'Activities'\n },\n {\n emoji: '🥇',\n names: ['1st_place_medal'],\n tags: ['gold'],\n description: '1st place medal',\n category: 'Activities'\n },\n {\n emoji: '🥈',\n names: ['2nd_place_medal'],\n tags: ['silver'],\n description: '2nd place medal',\n category: 'Activities'\n },\n {\n emoji: '🥉',\n names: ['3rd_place_medal'],\n tags: ['bronze'],\n description: '3rd place medal',\n category: 'Activities'\n },\n {\n emoji: '⚽',\n names: ['soccer'],\n tags: ['sports'],\n description: 'soccer ball',\n category: 'Activities'\n },\n {\n emoji: '⚾',\n names: ['baseball'],\n tags: ['sports'],\n description: 'baseball',\n category: 'Activities'\n },\n {\n emoji: '🥎',\n names: ['softball'],\n tags: [],\n description: 'softball',\n category: 'Activities'\n },\n {\n emoji: '🏀',\n names: ['basketball'],\n tags: ['sports'],\n description: 'basketball',\n category: 'Activities'\n },\n {\n emoji: '🏐',\n names: ['volleyball'],\n tags: [],\n description: 'volleyball',\n category: 'Activities'\n },\n {\n emoji: '🏈',\n names: ['football'],\n tags: ['sports'],\n description: 'american football',\n category: 'Activities'\n },\n {\n emoji: '🏉',\n names: ['rugby_football'],\n tags: [],\n description: 'rugby football',\n category: 'Activities'\n },\n {\n emoji: '🎾',\n names: ['tennis'],\n tags: ['sports'],\n description: 'tennis',\n category: 'Activities'\n },\n {\n emoji: '🥏',\n names: ['flying_disc'],\n tags: [],\n description: 'flying disc',\n category: 'Activities'\n },\n {\n emoji: '🎳',\n names: ['bowling'],\n tags: [],\n description: 'bowling',\n category: 'Activities'\n },\n {\n emoji: '🏏',\n names: ['cricket_game'],\n tags: [],\n description: 'cricket game',\n category: 'Activities'\n },\n {\n emoji: '🏑',\n names: ['field_hockey'],\n tags: [],\n description: 'field hockey',\n category: 'Activities'\n },\n {\n emoji: '🏒',\n names: ['ice_hockey'],\n tags: [],\n description: 'ice hockey',\n category: 'Activities'\n },\n {\n emoji: '🥍',\n names: ['lacrosse'],\n tags: [],\n description: 'lacrosse',\n category: 'Activities'\n },\n {\n emoji: '🏓',\n names: ['ping_pong'],\n tags: [],\n description: 'ping pong',\n category: 'Activities'\n },\n {\n emoji: '🏸',\n names: ['badminton'],\n tags: [],\n description: 'badminton',\n category: 'Activities'\n },\n {\n emoji: '🥊',\n names: ['boxing_glove'],\n tags: [],\n description: 'boxing glove',\n category: 'Activities'\n },\n {\n emoji: '🥋',\n names: ['martial_arts_uniform'],\n tags: [],\n description: 'martial arts uniform',\n category: 'Activities'\n },\n {\n emoji: '🥅',\n names: ['goal_net'],\n tags: [],\n description: 'goal net',\n category: 'Activities'\n },\n {\n emoji: '⛳',\n names: ['golf'],\n tags: [],\n description: 'flag in hole',\n category: 'Activities'\n },\n {\n emoji: '⛸️',\n names: ['ice_skate'],\n tags: ['skating'],\n description: 'ice skate',\n category: 'Activities'\n },\n {\n emoji: '🎣',\n names: ['fishing_pole_and_fish'],\n tags: [],\n description: 'fishing pole',\n category: 'Activities'\n },\n {\n emoji: '🤿',\n names: ['diving_mask'],\n tags: [],\n description: 'diving mask',\n category: 'Activities'\n },\n {\n emoji: '🎽',\n names: ['running_shirt_with_sash'],\n tags: ['marathon'],\n description: 'running shirt',\n category: 'Activities'\n },\n {\n emoji: '🎿',\n names: ['ski'],\n tags: [],\n description: 'skis',\n category: 'Activities'\n },\n {\n emoji: '🛷',\n names: ['sled'],\n tags: [],\n description: 'sled',\n category: 'Activities'\n },\n {\n emoji: '🥌',\n names: ['curling_stone'],\n tags: [],\n description: 'curling stone',\n category: 'Activities'\n },\n {\n emoji: '🎯',\n names: ['dart'],\n tags: ['target'],\n description: 'bullseye',\n category: 'Activities'\n },\n {\n emoji: '🪀',\n names: ['yo_yo'],\n tags: [],\n description: 'yo-yo',\n category: 'Activities'\n },\n {\n emoji: '🪁',\n names: ['kite'],\n tags: [],\n description: 'kite',\n category: 'Activities'\n },\n {\n emoji: '🔫',\n names: ['gun'],\n tags: ['shoot', 'weapon'],\n description: 'water pistol',\n category: 'Activities'\n },\n {\n emoji: '🎱',\n names: ['8ball'],\n tags: ['pool', 'billiards'],\n description: 'pool 8 ball',\n category: 'Activities'\n },\n {\n emoji: '🔮',\n names: ['crystal_ball'],\n tags: ['fortune'],\n description: 'crystal ball',\n category: 'Activities'\n },\n {\n emoji: '🪄',\n names: ['magic_wand'],\n tags: [],\n description: 'magic wand',\n category: 'Activities'\n },\n {\n emoji: '🎮',\n names: ['video_game'],\n tags: ['play', 'controller', 'console'],\n description: 'video game',\n category: 'Activities'\n },\n {\n emoji: '🕹️',\n names: ['joystick'],\n tags: [],\n description: 'joystick',\n category: 'Activities'\n },\n {\n emoji: '🎰',\n names: ['slot_machine'],\n tags: [],\n description: 'slot machine',\n category: 'Activities'\n },\n {\n emoji: '🎲',\n names: ['game_die'],\n tags: ['dice', 'gambling'],\n description: 'game die',\n category: 'Activities'\n },\n {\n emoji: '🧩',\n names: ['jigsaw'],\n tags: [],\n description: 'puzzle piece',\n category: 'Activities'\n },\n {\n emoji: '🧸',\n names: ['teddy_bear'],\n tags: [],\n description: 'teddy bear',\n category: 'Activities'\n },\n {\n emoji: '🪅',\n names: ['pinata'],\n tags: [],\n description: 'piñata',\n category: 'Activities'\n },\n {\n emoji: '🪩',\n names: ['mirror_ball'],\n tags: ['disco', 'party'],\n description: 'mirror ball',\n category: 'Activities'\n },\n {\n emoji: '🪆',\n names: ['nesting_dolls'],\n tags: [],\n description: 'nesting dolls',\n category: 'Activities'\n },\n {\n emoji: '♠️',\n names: ['spades'],\n tags: [],\n description: 'spade suit',\n category: 'Activities'\n },\n {\n emoji: '♥️',\n names: ['hearts'],\n tags: [],\n description: 'heart suit',\n category: 'Activities'\n },\n {\n emoji: '♦️',\n names: ['diamonds'],\n tags: [],\n description: 'diamond suit',\n category: 'Activities'\n },\n {\n emoji: '♣️',\n names: ['clubs'],\n tags: [],\n description: 'club suit',\n category: 'Activities'\n },\n {\n emoji: '♟️',\n names: ['chess_pawn'],\n tags: [],\n description: 'chess pawn',\n category: 'Activities'\n },\n {\n emoji: '🃏',\n names: ['black_joker'],\n tags: [],\n description: 'joker',\n category: 'Activities'\n },\n {\n emoji: '🀄',\n names: ['mahjong'],\n tags: [],\n description: 'mahjong red dragon',\n category: 'Activities'\n },\n {\n emoji: '🎴',\n names: ['flower_playing_cards'],\n tags: [],\n description: 'flower playing cards',\n category: 'Activities'\n },\n {\n emoji: '🎭',\n names: ['performing_arts'],\n tags: ['theater', 'drama'],\n description: 'performing arts',\n category: 'Activities'\n },\n {\n emoji: '🖼️',\n names: ['framed_picture'],\n tags: [],\n description: 'framed picture',\n category: 'Activities'\n },\n {\n emoji: '🎨',\n names: ['art'],\n tags: ['design', 'paint'],\n description: 'artist palette',\n category: 'Activities'\n },\n {\n emoji: '🧵',\n names: ['thread'],\n tags: [],\n description: 'thread',\n category: 'Activities'\n },\n {\n emoji: '🪡',\n names: ['sewing_needle'],\n tags: [],\n description: 'sewing needle',\n category: 'Activities'\n },\n {\n emoji: '🧶',\n names: ['yarn'],\n tags: [],\n description: 'yarn',\n category: 'Activities'\n },\n {\n emoji: '🪢',\n names: ['knot'],\n tags: [],\n description: 'knot',\n category: 'Activities'\n },\n {\n emoji: '👓',\n names: ['eyeglasses'],\n tags: ['glasses'],\n description: 'glasses',\n category: 'Objects'\n },\n {\n emoji: '🕶️',\n names: ['dark_sunglasses'],\n tags: [],\n description: 'sunglasses',\n category: 'Objects'\n },\n {\n emoji: '🥽',\n names: ['goggles'],\n tags: [],\n description: 'goggles',\n category: 'Objects'\n },\n {\n emoji: '🥼',\n names: ['lab_coat'],\n tags: [],\n description: 'lab coat',\n category: 'Objects'\n },\n {\n emoji: '🦺',\n names: ['safety_vest'],\n tags: [],\n description: 'safety vest',\n category: 'Objects'\n },\n {\n emoji: '👔',\n names: ['necktie'],\n tags: ['shirt', 'formal'],\n description: 'necktie',\n category: 'Objects'\n },\n {\n emoji: '👕',\n names: ['shirt', 'tshirt'],\n tags: [],\n description: 't-shirt',\n category: 'Objects'\n },\n {\n emoji: '👖',\n names: ['jeans'],\n tags: ['pants'],\n description: 'jeans',\n category: 'Objects'\n },\n {\n emoji: '🧣',\n names: ['scarf'],\n tags: [],\n description: 'scarf',\n category: 'Objects'\n },\n {\n emoji: '🧤',\n names: ['gloves'],\n tags: [],\n description: 'gloves',\n category: 'Objects'\n },\n {\n emoji: '🧥',\n names: ['coat'],\n tags: [],\n description: 'coat',\n category: 'Objects'\n },\n {\n emoji: '🧦',\n names: ['socks'],\n tags: [],\n description: 'socks',\n category: 'Objects'\n },\n {\n emoji: '👗',\n names: ['dress'],\n tags: [],\n description: 'dress',\n category: 'Objects'\n },\n {\n emoji: '👘',\n names: ['kimono'],\n tags: [],\n description: 'kimono',\n category: 'Objects'\n },\n {\n emoji: '🥻',\n names: ['sari'],\n tags: [],\n description: 'sari',\n category: 'Objects'\n },\n {\n emoji: '🩱',\n names: ['one_piece_swimsuit'],\n tags: [],\n description: 'one-piece swimsuit',\n category: 'Objects'\n },\n {\n emoji: '🩲',\n names: ['swim_brief'],\n tags: [],\n description: 'briefs',\n category: 'Objects'\n },\n {\n emoji: '🩳',\n names: ['shorts'],\n tags: [],\n description: 'shorts',\n category: 'Objects'\n },\n {\n emoji: '👙',\n names: ['bikini'],\n tags: ['beach'],\n description: 'bikini',\n category: 'Objects'\n },\n {\n emoji: '👚',\n names: ['womans_clothes'],\n tags: [],\n description: 'woman’s clothes',\n category: 'Objects'\n },\n {\n emoji: '🪭',\n names: ['folding_hand_fan'],\n tags: ['sensu'],\n description: 'folding hand fan',\n category: 'Objects'\n },\n {\n emoji: '👛',\n names: ['purse'],\n tags: [],\n description: 'purse',\n category: 'Objects'\n },\n {\n emoji: '👜',\n names: ['handbag'],\n tags: ['bag'],\n description: 'handbag',\n category: 'Objects'\n },\n {\n emoji: '👝',\n names: ['pouch'],\n tags: ['bag'],\n description: 'clutch bag',\n category: 'Objects'\n },\n {\n emoji: '🛍️',\n names: ['shopping'],\n tags: ['bags'],\n description: 'shopping bags',\n category: 'Objects'\n },\n {\n emoji: '🎒',\n names: ['school_satchel'],\n tags: [],\n description: 'backpack',\n category: 'Objects'\n },\n {\n emoji: '🩴',\n names: ['thong_sandal'],\n tags: [],\n description: 'thong sandal',\n category: 'Objects'\n },\n {\n emoji: '👞',\n names: ['mans_shoe', 'shoe'],\n tags: [],\n description: 'man’s shoe',\n category: 'Objects'\n },\n {\n emoji: '👟',\n names: ['athletic_shoe'],\n tags: ['sneaker', 'sport', 'running'],\n description: 'running shoe',\n category: 'Objects'\n },\n {\n emoji: '🥾',\n names: ['hiking_boot'],\n tags: [],\n description: 'hiking boot',\n category: 'Objects'\n },\n {\n emoji: '🥿',\n names: ['flat_shoe'],\n tags: [],\n description: 'flat shoe',\n category: 'Objects'\n },\n {\n emoji: '👠',\n names: ['high_heel'],\n tags: ['shoe'],\n description: 'high-heeled shoe',\n category: 'Objects'\n },\n {\n emoji: '👡',\n names: ['sandal'],\n tags: ['shoe'],\n description: 'woman’s sandal',\n category: 'Objects'\n },\n {\n emoji: '🩰',\n names: ['ballet_shoes'],\n tags: [],\n description: 'ballet shoes',\n category: 'Objects'\n },\n {\n emoji: '👢',\n names: ['boot'],\n tags: [],\n description: 'woman’s boot',\n category: 'Objects'\n },\n {\n emoji: '🪮',\n names: ['hair_pick'],\n tags: [],\n description: 'hair pick',\n category: 'Objects'\n },\n {\n emoji: '👑',\n names: ['crown'],\n tags: ['king', 'queen', 'royal'],\n description: 'crown',\n category: 'Objects'\n },\n {\n emoji: '👒',\n names: ['womans_hat'],\n tags: [],\n description: 'woman’s hat',\n category: 'Objects'\n },\n {\n emoji: '🎩',\n names: ['tophat'],\n tags: ['hat', 'classy'],\n description: 'top hat',\n category: 'Objects'\n },\n {\n emoji: '🎓',\n names: ['mortar_board'],\n tags: ['education', 'college', 'university', 'graduation'],\n description: 'graduation cap',\n category: 'Objects'\n },\n {\n emoji: '🧢',\n names: ['billed_cap'],\n tags: [],\n description: 'billed cap',\n category: 'Objects'\n },\n {\n emoji: '🪖',\n names: ['military_helmet'],\n tags: [],\n description: 'military helmet',\n category: 'Objects'\n },\n {\n emoji: '⛑️',\n names: ['rescue_worker_helmet'],\n tags: [],\n description: 'rescue worker’s helmet',\n category: 'Objects'\n },\n {\n emoji: '📿',\n names: ['prayer_beads'],\n tags: [],\n description: 'prayer beads',\n category: 'Objects'\n },\n {\n emoji: '💄',\n names: ['lipstick'],\n tags: ['makeup'],\n description: 'lipstick',\n category: 'Objects'\n },\n {\n emoji: '💍',\n names: ['ring'],\n tags: ['wedding', 'marriage', 'engaged'],\n description: 'ring',\n category: 'Objects'\n },\n {\n emoji: '💎',\n names: ['gem'],\n tags: ['diamond'],\n description: 'gem stone',\n category: 'Objects'\n },\n {\n emoji: '🔇',\n names: ['mute'],\n tags: ['sound', 'volume'],\n description: 'muted speaker',\n category: 'Objects'\n },\n {\n emoji: '🔈',\n names: ['speaker'],\n tags: [],\n description: 'speaker low volume',\n category: 'Objects'\n },\n {\n emoji: '🔉',\n names: ['sound'],\n tags: ['volume'],\n description: 'speaker medium volume',\n category: 'Objects'\n },\n {\n emoji: '🔊',\n names: ['loud_sound'],\n tags: ['volume'],\n description: 'speaker high volume',\n category: 'Objects'\n },\n {\n emoji: '📢',\n names: ['loudspeaker'],\n tags: ['announcement'],\n description: 'loudspeaker',\n category: 'Objects'\n },\n {\n emoji: '📣',\n names: ['mega'],\n tags: [],\n description: 'megaphone',\n category: 'Objects'\n },\n {\n emoji: '📯',\n names: ['postal_horn'],\n tags: [],\n description: 'postal horn',\n category: 'Objects'\n },\n {\n emoji: '🔔',\n names: ['bell'],\n tags: ['sound', 'notification'],\n description: 'bell',\n category: 'Objects'\n },\n {\n emoji: '🔕',\n names: ['no_bell'],\n tags: ['volume', 'off'],\n description: 'bell with slash',\n category: 'Objects'\n },\n {\n emoji: '🎼',\n names: ['musical_score'],\n tags: [],\n description: 'musical score',\n category: 'Objects'\n },\n {\n emoji: '🎵',\n names: ['musical_note'],\n tags: [],\n description: 'musical note',\n category: 'Objects'\n },\n {\n emoji: '🎶',\n names: ['notes'],\n tags: ['music'],\n description: 'musical notes',\n category: 'Objects'\n },\n {\n emoji: '🎙️',\n names: ['studio_microphone'],\n tags: ['podcast'],\n description: 'studio microphone',\n category: 'Objects'\n },\n {\n emoji: '🎚️',\n names: ['level_slider'],\n tags: [],\n description: 'level slider',\n category: 'Objects'\n },\n {\n emoji: '🎛️',\n names: ['control_knobs'],\n tags: [],\n description: 'control knobs',\n category: 'Objects'\n },\n {\n emoji: '🎤',\n names: ['microphone'],\n tags: ['sing'],\n description: 'microphone',\n category: 'Objects'\n },\n {\n emoji: '🎧',\n names: ['headphones'],\n tags: ['music', 'earphones'],\n description: 'headphone',\n category: 'Objects'\n },\n {\n emoji: '📻',\n names: ['radio'],\n tags: ['podcast'],\n description: 'radio',\n category: 'Objects'\n },\n {\n emoji: '🎷',\n names: ['saxophone'],\n tags: [],\n description: 'saxophone',\n category: 'Objects'\n },\n {\n emoji: '🪗',\n names: ['accordion'],\n tags: [],\n description: 'accordion',\n category: 'Objects'\n },\n {\n emoji: '🎸',\n names: ['guitar'],\n tags: ['rock'],\n description: 'guitar',\n category: 'Objects'\n },\n {\n emoji: '🎹',\n names: ['musical_keyboard'],\n tags: ['piano'],\n description: 'musical keyboard',\n category: 'Objects'\n },\n {\n emoji: '🎺',\n names: ['trumpet'],\n tags: [],\n description: 'trumpet',\n category: 'Objects'\n },\n {\n emoji: '🎻',\n names: ['violin'],\n tags: [],\n description: 'violin',\n category: 'Objects'\n },\n {\n emoji: '🪕',\n names: ['banjo'],\n tags: [],\n description: 'banjo',\n category: 'Objects'\n },\n {\n emoji: '🥁',\n names: ['drum'],\n tags: [],\n description: 'drum',\n category: 'Objects'\n },\n {\n emoji: '🪘',\n names: ['long_drum'],\n tags: [],\n description: 'long drum',\n category: 'Objects'\n },\n {\n emoji: '🪇',\n names: ['maracas'],\n tags: ['shaker'],\n description: 'maracas',\n category: 'Objects'\n },\n {\n emoji: '🪈',\n names: ['flute'],\n tags: ['recorder'],\n description: 'flute',\n category: 'Objects'\n },\n {\n emoji: '📱',\n names: ['iphone'],\n tags: ['smartphone', 'mobile'],\n description: 'mobile phone',\n category: 'Objects'\n },\n {\n emoji: '📲',\n names: ['calling'],\n tags: ['call', 'incoming'],\n description: 'mobile phone with arrow',\n category: 'Objects'\n },\n {\n emoji: '☎️',\n names: ['phone', 'telephone'],\n tags: [],\n description: 'telephone',\n category: 'Objects'\n },\n {\n emoji: '📞',\n names: ['telephone_receiver'],\n tags: ['phone', 'call'],\n description: 'telephone receiver',\n category: 'Objects'\n },\n {\n emoji: '📟',\n names: ['pager'],\n tags: [],\n description: 'pager',\n category: 'Objects'\n },\n {\n emoji: '📠',\n names: ['fax'],\n tags: [],\n description: 'fax machine',\n category: 'Objects'\n },\n {\n emoji: '🔋',\n names: ['battery'],\n tags: ['power'],\n description: 'battery',\n category: 'Objects'\n },\n {\n emoji: '🪫',\n names: ['low_battery'],\n tags: [],\n description: 'low battery',\n category: 'Objects'\n },\n {\n emoji: '🔌',\n names: ['electric_plug'],\n tags: [],\n description: 'electric plug',\n category: 'Objects'\n },\n {\n emoji: '💻',\n names: ['computer'],\n tags: ['desktop', 'screen'],\n description: 'laptop',\n category: 'Objects'\n },\n {\n emoji: '🖥️',\n names: ['desktop_computer'],\n tags: [],\n description: 'desktop computer',\n category: 'Objects'\n },\n {\n emoji: '🖨️',\n names: ['printer'],\n tags: [],\n description: 'printer',\n category: 'Objects'\n },\n {\n emoji: '⌨️',\n names: ['keyboard'],\n tags: [],\n description: 'keyboard',\n category: 'Objects'\n },\n {\n emoji: '🖱️',\n names: ['computer_mouse'],\n tags: [],\n description: 'computer mouse',\n category: 'Objects'\n },\n {\n emoji: '🖲️',\n names: ['trackball'],\n tags: [],\n description: 'trackball',\n category: 'Objects'\n },\n {\n emoji: '💽',\n names: ['minidisc'],\n tags: [],\n description: 'computer disk',\n category: 'Objects'\n },\n {\n emoji: '💾',\n names: ['floppy_disk'],\n tags: ['save'],\n description: 'floppy disk',\n category: 'Objects'\n },\n {\n emoji: '💿',\n names: ['cd'],\n tags: [],\n description: 'optical disk',\n category: 'Objects'\n },\n {\n emoji: '📀',\n names: ['dvd'],\n tags: [],\n description: 'dvd',\n category: 'Objects'\n },\n {\n emoji: '🧮',\n names: ['abacus'],\n tags: [],\n description: 'abacus',\n category: 'Objects'\n },\n {\n emoji: '🎥',\n names: ['movie_camera'],\n tags: ['film', 'video'],\n description: 'movie camera',\n category: 'Objects'\n },\n {\n emoji: '🎞️',\n names: ['film_strip'],\n tags: [],\n description: 'film frames',\n category: 'Objects'\n },\n {\n emoji: '📽️',\n names: ['film_projector'],\n tags: [],\n description: 'film projector',\n category: 'Objects'\n },\n {\n emoji: '🎬',\n names: ['clapper'],\n tags: ['film'],\n description: 'clapper board',\n category: 'Objects'\n },\n {\n emoji: '📺',\n names: ['tv'],\n tags: [],\n description: 'television',\n category: 'Objects'\n },\n {\n emoji: '📷',\n names: ['camera'],\n tags: ['photo'],\n description: 'camera',\n category: 'Objects'\n },\n {\n emoji: '📸',\n names: ['camera_flash'],\n tags: ['photo'],\n description: 'camera with flash',\n category: 'Objects'\n },\n {\n emoji: '📹',\n names: ['video_camera'],\n tags: [],\n description: 'video camera',\n category: 'Objects'\n },\n {\n emoji: '📼',\n names: ['vhs'],\n tags: [],\n description: 'videocassette',\n category: 'Objects'\n },\n {\n emoji: '🔍',\n names: ['mag'],\n tags: ['search', 'zoom'],\n description: 'magnifying glass tilted left',\n category: 'Objects'\n },\n {\n emoji: '🔎',\n names: ['mag_right'],\n tags: [],\n description: 'magnifying glass tilted right',\n category: 'Objects'\n },\n {\n emoji: '🕯️',\n names: ['candle'],\n tags: [],\n description: 'candle',\n category: 'Objects'\n },\n {\n emoji: '💡',\n names: ['bulb'],\n tags: ['idea', 'light'],\n description: 'light bulb',\n category: 'Objects'\n },\n {\n emoji: '🔦',\n names: ['flashlight'],\n tags: [],\n description: 'flashlight',\n category: 'Objects'\n },\n {\n emoji: '🏮',\n names: ['izakaya_lantern', 'lantern'],\n tags: [],\n description: 'red paper lantern',\n category: 'Objects'\n },\n {\n emoji: '🪔',\n names: ['diya_lamp'],\n tags: [],\n description: 'diya lamp',\n category: 'Objects'\n },\n {\n emoji: '📔',\n names: ['notebook_with_decorative_cover'],\n tags: [],\n description: 'notebook with decorative cover',\n category: 'Objects'\n },\n {\n emoji: '📕',\n names: ['closed_book'],\n tags: [],\n description: 'closed book',\n category: 'Objects'\n },\n {\n emoji: '📖',\n names: ['book', 'open_book'],\n tags: [],\n description: 'open book',\n category: 'Objects'\n },\n {\n emoji: '📗',\n names: ['green_book'],\n tags: [],\n description: 'green book',\n category: 'Objects'\n },\n {\n emoji: '📘',\n names: ['blue_book'],\n tags: [],\n description: 'blue book',\n category: 'Objects'\n },\n {\n emoji: '📙',\n names: ['orange_book'],\n tags: [],\n description: 'orange book',\n category: 'Objects'\n },\n {\n emoji: '📚',\n names: ['books'],\n tags: ['library'],\n description: 'books',\n category: 'Objects'\n },\n {\n emoji: '📓',\n names: ['notebook'],\n tags: [],\n description: 'notebook',\n category: 'Objects'\n },\n {\n emoji: '📒',\n names: ['ledger'],\n tags: [],\n description: 'ledger',\n category: 'Objects'\n },\n {\n emoji: '📃',\n names: ['page_with_curl'],\n tags: [],\n description: 'page with curl',\n category: 'Objects'\n },\n {\n emoji: '📜',\n names: ['scroll'],\n tags: ['document'],\n description: 'scroll',\n category: 'Objects'\n },\n {\n emoji: '📄',\n names: ['page_facing_up'],\n tags: ['document'],\n description: 'page facing up',\n category: 'Objects'\n },\n {\n emoji: '📰',\n names: ['newspaper'],\n tags: ['press'],\n description: 'newspaper',\n category: 'Objects'\n },\n {\n emoji: '🗞️',\n names: ['newspaper_roll'],\n tags: ['press'],\n description: 'rolled-up newspaper',\n category: 'Objects'\n },\n {\n emoji: '📑',\n names: ['bookmark_tabs'],\n tags: [],\n description: 'bookmark tabs',\n category: 'Objects'\n },\n {\n emoji: '🔖',\n names: ['bookmark'],\n tags: [],\n description: 'bookmark',\n category: 'Objects'\n },\n {\n emoji: '🏷️',\n names: ['label'],\n tags: ['tag'],\n description: 'label',\n category: 'Objects'\n },\n {\n emoji: '💰',\n names: ['moneybag'],\n tags: ['dollar', 'cream'],\n description: 'money bag',\n category: 'Objects'\n },\n {\n emoji: '🪙',\n names: ['coin'],\n tags: [],\n description: 'coin',\n category: 'Objects'\n },\n {\n emoji: '💴',\n names: ['yen'],\n tags: [],\n description: 'yen banknote',\n category: 'Objects'\n },\n {\n emoji: '💵',\n names: ['dollar'],\n tags: ['money'],\n description: 'dollar banknote',\n category: 'Objects'\n },\n {\n emoji: '💶',\n names: ['euro'],\n tags: [],\n description: 'euro banknote',\n category: 'Objects'\n },\n {\n emoji: '💷',\n names: ['pound'],\n tags: [],\n description: 'pound banknote',\n category: 'Objects'\n },\n {\n emoji: '💸',\n names: ['money_with_wings'],\n tags: ['dollar'],\n description: 'money with wings',\n category: 'Objects'\n },\n {\n emoji: '💳',\n names: ['credit_card'],\n tags: ['subscription'],\n description: 'credit card',\n category: 'Objects'\n },\n {\n emoji: '🧾',\n names: ['receipt'],\n tags: [],\n description: 'receipt',\n category: 'Objects'\n },\n {\n emoji: '💹',\n names: ['chart'],\n tags: [],\n description: 'chart increasing with yen',\n category: 'Objects'\n },\n {\n emoji: '✉️',\n names: ['envelope'],\n tags: ['letter', 'email'],\n description: 'envelope',\n category: 'Objects'\n },\n {\n emoji: '📧',\n names: ['email', 'e-mail'],\n tags: [],\n description: 'e-mail',\n category: 'Objects'\n },\n {\n emoji: '📨',\n names: ['incoming_envelope'],\n tags: [],\n description: 'incoming envelope',\n category: 'Objects'\n },\n {\n emoji: '📩',\n names: ['envelope_with_arrow'],\n tags: [],\n description: 'envelope with arrow',\n category: 'Objects'\n },\n {\n emoji: '📤',\n names: ['outbox_tray'],\n tags: [],\n description: 'outbox tray',\n category: 'Objects'\n },\n {\n emoji: '📥',\n names: ['inbox_tray'],\n tags: [],\n description: 'inbox tray',\n category: 'Objects'\n },\n {\n emoji: '📦',\n names: ['package'],\n tags: ['shipping'],\n description: 'package',\n category: 'Objects'\n },\n {\n emoji: '📫',\n names: ['mailbox'],\n tags: [],\n description: 'closed mailbox with raised flag',\n category: 'Objects'\n },\n {\n emoji: '📪',\n names: ['mailbox_closed'],\n tags: [],\n description: 'closed mailbox with lowered flag',\n category: 'Objects'\n },\n {\n emoji: '📬',\n names: ['mailbox_with_mail'],\n tags: [],\n description: 'open mailbox with raised flag',\n category: 'Objects'\n },\n {\n emoji: '📭',\n names: ['mailbox_with_no_mail'],\n tags: [],\n description: 'open mailbox with lowered flag',\n category: 'Objects'\n },\n {\n emoji: '📮',\n names: ['postbox'],\n tags: [],\n description: 'postbox',\n category: 'Objects'\n },\n {\n emoji: '🗳️',\n names: ['ballot_box'],\n tags: [],\n description: 'ballot box with ballot',\n category: 'Objects'\n },\n {\n emoji: '✏️',\n names: ['pencil2'],\n tags: [],\n description: 'pencil',\n category: 'Objects'\n },\n {\n emoji: '✒️',\n names: ['black_nib'],\n tags: [],\n description: 'black nib',\n category: 'Objects'\n },\n {\n emoji: '🖋️',\n names: ['fountain_pen'],\n tags: [],\n description: 'fountain pen',\n category: 'Objects'\n },\n {\n emoji: '🖊️',\n names: ['pen'],\n tags: [],\n description: 'pen',\n category: 'Objects'\n },\n {\n emoji: '🖌️',\n names: ['paintbrush'],\n tags: [],\n description: 'paintbrush',\n category: 'Objects'\n },\n {\n emoji: '🖍️',\n names: ['crayon'],\n tags: [],\n description: 'crayon',\n category: 'Objects'\n },\n {\n emoji: '📝',\n names: ['memo', 'pencil'],\n tags: ['document', 'note'],\n description: 'memo',\n category: 'Objects'\n },\n {\n emoji: '💼',\n names: ['briefcase'],\n tags: ['business'],\n description: 'briefcase',\n category: 'Objects'\n },\n {\n emoji: '📁',\n names: ['file_folder'],\n tags: ['directory'],\n description: 'file folder',\n category: 'Objects'\n },\n {\n emoji: '📂',\n names: ['open_file_folder'],\n tags: [],\n description: 'open file folder',\n category: 'Objects'\n },\n {\n emoji: '🗂️',\n names: ['card_index_dividers'],\n tags: [],\n description: 'card index dividers',\n category: 'Objects'\n },\n {\n emoji: '📅',\n names: ['date'],\n tags: ['calendar', 'schedule'],\n description: 'calendar',\n category: 'Objects'\n },\n {\n emoji: '📆',\n names: ['calendar'],\n tags: ['schedule'],\n description: 'tear-off calendar',\n category: 'Objects'\n },\n {\n emoji: '🗒️',\n names: ['spiral_notepad'],\n tags: [],\n description: 'spiral notepad',\n category: 'Objects'\n },\n {\n emoji: '🗓️',\n names: ['spiral_calendar'],\n tags: [],\n description: 'spiral calendar',\n category: 'Objects'\n },\n {\n emoji: '📇',\n names: ['card_index'],\n tags: [],\n description: 'card index',\n category: 'Objects'\n },\n {\n emoji: '📈',\n names: ['chart_with_upwards_trend'],\n tags: ['graph', 'metrics'],\n description: 'chart increasing',\n category: 'Objects'\n },\n {\n emoji: '📉',\n names: ['chart_with_downwards_trend'],\n tags: ['graph', 'metrics'],\n description: 'chart decreasing',\n category: 'Objects'\n },\n {\n emoji: '📊',\n names: ['bar_chart'],\n tags: ['stats', 'metrics'],\n description: 'bar chart',\n category: 'Objects'\n },\n {\n emoji: '📋',\n names: ['clipboard'],\n tags: [],\n description: 'clipboard',\n category: 'Objects'\n },\n {\n emoji: '📌',\n names: ['pushpin'],\n tags: ['location'],\n description: 'pushpin',\n category: 'Objects'\n },\n {\n emoji: '📍',\n names: ['round_pushpin'],\n tags: ['location'],\n description: 'round pushpin',\n category: 'Objects'\n },\n {\n emoji: '📎',\n names: ['paperclip'],\n tags: [],\n description: 'paperclip',\n category: 'Objects'\n },\n {\n emoji: '🖇️',\n names: ['paperclips'],\n tags: [],\n description: 'linked paperclips',\n category: 'Objects'\n },\n {\n emoji: '📏',\n names: ['straight_ruler'],\n tags: [],\n description: 'straight ruler',\n category: 'Objects'\n },\n {\n emoji: '📐',\n names: ['triangular_ruler'],\n tags: [],\n description: 'triangular ruler',\n category: 'Objects'\n },\n {\n emoji: '✂️',\n names: ['scissors'],\n tags: ['cut'],\n description: 'scissors',\n category: 'Objects'\n },\n {\n emoji: '🗃️',\n names: ['card_file_box'],\n tags: [],\n description: 'card file box',\n category: 'Objects'\n },\n {\n emoji: '🗄️',\n names: ['file_cabinet'],\n tags: [],\n description: 'file cabinet',\n category: 'Objects'\n },\n {\n emoji: '🗑️',\n names: ['wastebasket'],\n tags: ['trash'],\n description: 'wastebasket',\n category: 'Objects'\n },\n {\n emoji: '🔒',\n names: ['lock'],\n tags: ['security', 'private'],\n description: 'locked',\n category: 'Objects'\n },\n {\n emoji: '🔓',\n names: ['unlock'],\n tags: ['security'],\n description: 'unlocked',\n category: 'Objects'\n },\n {\n emoji: '🔏',\n names: ['lock_with_ink_pen'],\n tags: [],\n description: 'locked with pen',\n category: 'Objects'\n },\n {\n emoji: '🔐',\n names: ['closed_lock_with_key'],\n tags: ['security'],\n description: 'locked with key',\n category: 'Objects'\n },\n {\n emoji: '🔑',\n names: ['key'],\n tags: ['lock', 'password'],\n description: 'key',\n category: 'Objects'\n },\n {\n emoji: '🗝️',\n names: ['old_key'],\n tags: [],\n description: 'old key',\n category: 'Objects'\n },\n {\n emoji: '🔨',\n names: ['hammer'],\n tags: ['tool'],\n description: 'hammer',\n category: 'Objects'\n },\n {\n emoji: '🪓',\n names: ['axe'],\n tags: [],\n description: 'axe',\n category: 'Objects'\n },\n {\n emoji: '⛏️',\n names: ['pick'],\n tags: [],\n description: 'pick',\n category: 'Objects'\n },\n {\n emoji: '⚒️',\n names: ['hammer_and_pick'],\n tags: [],\n description: 'hammer and pick',\n category: 'Objects'\n },\n {\n emoji: '🛠️',\n names: ['hammer_and_wrench'],\n tags: [],\n description: 'hammer and wrench',\n category: 'Objects'\n },\n {\n emoji: '🗡️',\n names: ['dagger'],\n tags: [],\n description: 'dagger',\n category: 'Objects'\n },\n {\n emoji: '⚔️',\n names: ['crossed_swords'],\n tags: [],\n description: 'crossed swords',\n category: 'Objects'\n },\n {\n emoji: '💣',\n names: ['bomb'],\n tags: ['boom'],\n description: 'bomb',\n category: 'Objects'\n },\n {\n emoji: '🪃',\n names: ['boomerang'],\n tags: [],\n description: 'boomerang',\n category: 'Objects'\n },\n {\n emoji: '🏹',\n names: ['bow_and_arrow'],\n tags: ['archery'],\n description: 'bow and arrow',\n category: 'Objects'\n },\n {\n emoji: '🛡️',\n names: ['shield'],\n tags: [],\n description: 'shield',\n category: 'Objects'\n },\n {\n emoji: '🪚',\n names: ['carpentry_saw'],\n tags: [],\n description: 'carpentry saw',\n category: 'Objects'\n },\n {\n emoji: '🔧',\n names: ['wrench'],\n tags: ['tool'],\n description: 'wrench',\n category: 'Objects'\n },\n {\n emoji: '🪛',\n names: ['screwdriver'],\n tags: [],\n description: 'screwdriver',\n category: 'Objects'\n },\n {\n emoji: '🔩',\n names: ['nut_and_bolt'],\n tags: [],\n description: 'nut and bolt',\n category: 'Objects'\n },\n {\n emoji: '⚙️',\n names: ['gear'],\n tags: [],\n description: 'gear',\n category: 'Objects'\n },\n {\n emoji: '🗜️',\n names: ['clamp'],\n tags: [],\n description: 'clamp',\n category: 'Objects'\n },\n {\n emoji: '⚖️',\n names: ['balance_scale'],\n tags: [],\n description: 'balance scale',\n category: 'Objects'\n },\n {\n emoji: '🦯',\n names: ['probing_cane'],\n tags: [],\n description: 'white cane',\n category: 'Objects'\n },\n {\n emoji: '🔗',\n names: ['link'],\n tags: [],\n description: 'link',\n category: 'Objects'\n },\n {\n emoji: '⛓️',\n names: ['chains'],\n tags: [],\n description: 'chains',\n category: 'Objects'\n },\n {\n emoji: '🪝',\n names: ['hook'],\n tags: [],\n description: 'hook',\n category: 'Objects'\n },\n {\n emoji: '🧰',\n names: ['toolbox'],\n tags: [],\n description: 'toolbox',\n category: 'Objects'\n },\n {\n emoji: '🧲',\n names: ['magnet'],\n tags: [],\n description: 'magnet',\n category: 'Objects'\n },\n {\n emoji: '🪜',\n names: ['ladder'],\n tags: [],\n description: 'ladder',\n category: 'Objects'\n },\n {\n emoji: '⚗️',\n names: ['alembic'],\n tags: [],\n description: 'alembic',\n category: 'Objects'\n },\n {\n emoji: '🧪',\n names: ['test_tube'],\n tags: [],\n description: 'test tube',\n category: 'Objects'\n },\n {\n emoji: '🧫',\n names: ['petri_dish'],\n tags: [],\n description: 'petri dish',\n category: 'Objects'\n },\n {\n emoji: '🧬',\n names: ['dna'],\n tags: [],\n description: 'dna',\n category: 'Objects'\n },\n {\n emoji: '🔬',\n names: ['microscope'],\n tags: ['science', 'laboratory', 'investigate'],\n description: 'microscope',\n category: 'Objects'\n },\n {\n emoji: '🔭',\n names: ['telescope'],\n tags: [],\n description: 'telescope',\n category: 'Objects'\n },\n {\n emoji: '📡',\n names: ['satellite'],\n tags: ['signal'],\n description: 'satellite antenna',\n category: 'Objects'\n },\n {\n emoji: '💉',\n names: ['syringe'],\n tags: ['health', 'hospital', 'needle'],\n description: 'syringe',\n category: 'Objects'\n },\n {\n emoji: '🩸',\n names: ['drop_of_blood'],\n tags: [],\n description: 'drop of blood',\n category: 'Objects'\n },\n {\n emoji: '💊',\n names: ['pill'],\n tags: ['health', 'medicine'],\n description: 'pill',\n category: 'Objects'\n },\n {\n emoji: '🩹',\n names: ['adhesive_bandage'],\n tags: [],\n description: 'adhesive bandage',\n category: 'Objects'\n },\n {\n emoji: '🩼',\n names: ['crutch'],\n tags: [],\n description: 'crutch',\n category: 'Objects'\n },\n {\n emoji: '🩺',\n names: ['stethoscope'],\n tags: [],\n description: 'stethoscope',\n category: 'Objects'\n },\n {\n emoji: '🩻',\n names: ['x_ray'],\n tags: [],\n description: 'x-ray',\n category: 'Objects'\n },\n {\n emoji: '🚪',\n names: ['door'],\n tags: [],\n description: 'door',\n category: 'Objects'\n },\n {\n emoji: '🛗',\n names: ['elevator'],\n tags: [],\n description: 'elevator',\n category: 'Objects'\n },\n {\n emoji: '🪞',\n names: ['mirror'],\n tags: [],\n description: 'mirror',\n category: 'Objects'\n },\n {\n emoji: '🪟',\n names: ['window'],\n tags: [],\n description: 'window',\n category: 'Objects'\n },\n {\n emoji: '🛏️',\n names: ['bed'],\n tags: [],\n description: 'bed',\n category: 'Objects'\n },\n {\n emoji: '🛋️',\n names: ['couch_and_lamp'],\n tags: [],\n description: 'couch and lamp',\n category: 'Objects'\n },\n {\n emoji: '🪑',\n names: ['chair'],\n tags: [],\n description: 'chair',\n category: 'Objects'\n },\n {\n emoji: '🚽',\n names: ['toilet'],\n tags: ['wc'],\n description: 'toilet',\n category: 'Objects'\n },\n {\n emoji: '🪠',\n names: ['plunger'],\n tags: [],\n description: 'plunger',\n category: 'Objects'\n },\n {\n emoji: '🚿',\n names: ['shower'],\n tags: ['bath'],\n description: 'shower',\n category: 'Objects'\n },\n {\n emoji: '🛁',\n names: ['bathtub'],\n tags: [],\n description: 'bathtub',\n category: 'Objects'\n },\n {\n emoji: '🪤',\n names: ['mouse_trap'],\n tags: [],\n description: 'mouse trap',\n category: 'Objects'\n },\n {\n emoji: '🪒',\n names: ['razor'],\n tags: [],\n description: 'razor',\n category: 'Objects'\n },\n {\n emoji: '🧴',\n names: ['lotion_bottle'],\n tags: [],\n description: 'lotion bottle',\n category: 'Objects'\n },\n {\n emoji: '🧷',\n names: ['safety_pin'],\n tags: [],\n description: 'safety pin',\n category: 'Objects'\n },\n {\n emoji: '🧹',\n names: ['broom'],\n tags: [],\n description: 'broom',\n category: 'Objects'\n },\n {\n emoji: '🧺',\n names: ['basket'],\n tags: [],\n description: 'basket',\n category: 'Objects'\n },\n {\n emoji: '🧻',\n names: ['roll_of_paper'],\n tags: ['toilet'],\n description: 'roll of paper',\n category: 'Objects'\n },\n {\n emoji: '🪣',\n names: ['bucket'],\n tags: [],\n description: 'bucket',\n category: 'Objects'\n },\n {\n emoji: '🧼',\n names: ['soap'],\n tags: [],\n description: 'soap',\n category: 'Objects'\n },\n {\n emoji: '🫧',\n names: ['bubbles'],\n tags: [],\n description: 'bubbles',\n category: 'Objects'\n },\n {\n emoji: '🪥',\n names: ['toothbrush'],\n tags: [],\n description: 'toothbrush',\n category: 'Objects'\n },\n {\n emoji: '🧽',\n names: ['sponge'],\n tags: [],\n description: 'sponge',\n category: 'Objects'\n },\n {\n emoji: '🧯',\n names: ['fire_extinguisher'],\n tags: [],\n description: 'fire extinguisher',\n category: 'Objects'\n },\n {\n emoji: '🛒',\n names: ['shopping_cart'],\n tags: [],\n description: 'shopping cart',\n category: 'Objects'\n },\n {\n emoji: '🚬',\n names: ['smoking'],\n tags: ['cigarette'],\n description: 'cigarette',\n category: 'Objects'\n },\n {\n emoji: '⚰️',\n names: ['coffin'],\n tags: ['funeral'],\n description: 'coffin',\n category: 'Objects'\n },\n {\n emoji: '🪦',\n names: ['headstone'],\n tags: [],\n description: 'headstone',\n category: 'Objects'\n },\n {\n emoji: '⚱️',\n names: ['funeral_urn'],\n tags: [],\n description: 'funeral urn',\n category: 'Objects'\n },\n {\n emoji: '🧿',\n names: ['nazar_amulet'],\n tags: [],\n description: 'nazar amulet',\n category: 'Objects'\n },\n {\n emoji: '🪬',\n names: ['hamsa'],\n tags: [],\n description: 'hamsa',\n category: 'Objects'\n },\n {\n emoji: '🗿',\n names: ['moyai'],\n tags: ['stone'],\n description: 'moai',\n category: 'Objects'\n },\n {\n emoji: '🪧',\n names: ['placard'],\n tags: [],\n description: 'placard',\n category: 'Objects'\n },\n {\n emoji: '🪪',\n names: ['identification_card'],\n tags: [],\n description: 'identification card',\n category: 'Objects'\n },\n {\n emoji: '🏧',\n names: ['atm'],\n tags: [],\n description: 'ATM sign',\n category: 'Symbols'\n },\n {\n emoji: '🚮',\n names: ['put_litter_in_its_place'],\n tags: [],\n description: 'litter in bin sign',\n category: 'Symbols'\n },\n {\n emoji: '🚰',\n names: ['potable_water'],\n tags: [],\n description: 'potable water',\n category: 'Symbols'\n },\n {\n emoji: '♿',\n names: ['wheelchair'],\n tags: ['accessibility'],\n description: 'wheelchair symbol',\n category: 'Symbols'\n },\n {\n emoji: '🚹',\n names: ['mens'],\n tags: [],\n description: 'men’s room',\n category: 'Symbols'\n },\n {\n emoji: '🚺',\n names: ['womens'],\n tags: [],\n description: 'women’s room',\n category: 'Symbols'\n },\n {\n emoji: '🚻',\n names: ['restroom'],\n tags: ['toilet'],\n description: 'restroom',\n category: 'Symbols'\n },\n {\n emoji: '🚼',\n names: ['baby_symbol'],\n tags: [],\n description: 'baby symbol',\n category: 'Symbols'\n },\n {\n emoji: '🚾',\n names: ['wc'],\n tags: ['toilet', 'restroom'],\n description: 'water closet',\n category: 'Symbols'\n },\n {\n emoji: '🛂',\n names: ['passport_control'],\n tags: [],\n description: 'passport control',\n category: 'Symbols'\n },\n {\n emoji: '🛃',\n names: ['customs'],\n tags: [],\n description: 'customs',\n category: 'Symbols'\n },\n {\n emoji: '🛄',\n names: ['baggage_claim'],\n tags: ['airport'],\n description: 'baggage claim',\n category: 'Symbols'\n },\n {\n emoji: '🛅',\n names: ['left_luggage'],\n tags: [],\n description: 'left luggage',\n category: 'Symbols'\n },\n {\n emoji: '⚠️',\n names: ['warning'],\n tags: ['wip'],\n description: 'warning',\n category: 'Symbols'\n },\n {\n emoji: '🚸',\n names: ['children_crossing'],\n tags: [],\n description: 'children crossing',\n category: 'Symbols'\n },\n {\n emoji: '⛔',\n names: ['no_entry'],\n tags: ['limit'],\n description: 'no entry',\n category: 'Symbols'\n },\n {\n emoji: '🚫',\n names: ['no_entry_sign'],\n tags: ['block', 'forbidden'],\n description: 'prohibited',\n category: 'Symbols'\n },\n {\n emoji: '🚳',\n names: ['no_bicycles'],\n tags: [],\n description: 'no bicycles',\n category: 'Symbols'\n },\n {\n emoji: '🚭',\n names: ['no_smoking'],\n tags: [],\n description: 'no smoking',\n category: 'Symbols'\n },\n {\n emoji: '🚯',\n names: ['do_not_litter'],\n tags: [],\n description: 'no littering',\n category: 'Symbols'\n },\n {\n emoji: '🚱',\n names: ['non-potable_water'],\n tags: [],\n description: 'non-potable water',\n category: 'Symbols'\n },\n {\n emoji: '🚷',\n names: ['no_pedestrians'],\n tags: [],\n description: 'no pedestrians',\n category: 'Symbols'\n },\n {\n emoji: '📵',\n names: ['no_mobile_phones'],\n tags: [],\n description: 'no mobile phones',\n category: 'Symbols'\n },\n {\n emoji: '🔞',\n names: ['underage'],\n tags: [],\n description: 'no one under eighteen',\n category: 'Symbols'\n },\n {\n emoji: '☢️',\n names: ['radioactive'],\n tags: [],\n description: 'radioactive',\n category: 'Symbols'\n },\n {\n emoji: '☣️',\n names: ['biohazard'],\n tags: [],\n description: 'biohazard',\n category: 'Symbols'\n },\n {\n emoji: '⬆️',\n names: ['arrow_up'],\n tags: [],\n description: 'up arrow',\n category: 'Symbols'\n },\n {\n emoji: '↗️',\n names: ['arrow_upper_right'],\n tags: [],\n description: 'up-right arrow',\n category: 'Symbols'\n },\n {\n emoji: '➡️',\n names: ['arrow_right'],\n tags: [],\n description: 'right arrow',\n category: 'Symbols'\n },\n {\n emoji: '↘️',\n names: ['arrow_lower_right'],\n tags: [],\n description: 'down-right arrow',\n category: 'Symbols'\n },\n {\n emoji: '⬇️',\n names: ['arrow_down'],\n tags: [],\n description: 'down arrow',\n category: 'Symbols'\n },\n {\n emoji: '↙️',\n names: ['arrow_lower_left'],\n tags: [],\n description: 'down-left arrow',\n category: 'Symbols'\n },\n {\n emoji: '⬅️',\n names: ['arrow_left'],\n tags: [],\n description: 'left arrow',\n category: 'Symbols'\n },\n {\n emoji: '↖️',\n names: ['arrow_upper_left'],\n tags: [],\n description: 'up-left arrow',\n category: 'Symbols'\n },\n {\n emoji: '↕️',\n names: ['arrow_up_down'],\n tags: [],\n description: 'up-down arrow',\n category: 'Symbols'\n },\n {\n emoji: '↔️',\n names: ['left_right_arrow'],\n tags: [],\n description: 'left-right arrow',\n category: 'Symbols'\n },\n {\n emoji: '↩️',\n names: ['leftwards_arrow_with_hook'],\n tags: ['return'],\n description: 'right arrow curving left',\n category: 'Symbols'\n },\n {\n emoji: '↪️',\n names: ['arrow_right_hook'],\n tags: [],\n description: 'left arrow curving right',\n category: 'Symbols'\n },\n {\n emoji: '⤴️',\n names: ['arrow_heading_up'],\n tags: [],\n description: 'right arrow curving up',\n category: 'Symbols'\n },\n {\n emoji: '⤵️',\n names: ['arrow_heading_down'],\n tags: [],\n description: 'right arrow curving down',\n category: 'Symbols'\n },\n {\n emoji: '🔃',\n names: ['arrows_clockwise'],\n tags: [],\n description: 'clockwise vertical arrows',\n category: 'Symbols'\n },\n {\n emoji: '🔄',\n names: ['arrows_counterclockwise'],\n tags: ['sync'],\n description: 'counterclockwise arrows button',\n category: 'Symbols'\n },\n {\n emoji: '🔙',\n names: ['back'],\n tags: [],\n description: 'BACK arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔚',\n names: ['end'],\n tags: [],\n description: 'END arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔛',\n names: ['on'],\n tags: [],\n description: 'ON! arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔜',\n names: ['soon'],\n tags: [],\n description: 'SOON arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔝',\n names: ['top'],\n tags: [],\n description: 'TOP arrow',\n category: 'Symbols'\n },\n {\n emoji: '🛐',\n names: ['place_of_worship'],\n tags: [],\n description: 'place of worship',\n category: 'Symbols'\n },\n {\n emoji: '⚛️',\n names: ['atom_symbol'],\n tags: [],\n description: 'atom symbol',\n category: 'Symbols'\n },\n {\n emoji: '🕉️',\n names: ['om'],\n tags: [],\n description: 'om',\n category: 'Symbols'\n },\n {\n emoji: '✡️',\n names: ['star_of_david'],\n tags: [],\n description: 'star of David',\n category: 'Symbols'\n },\n {\n emoji: '☸️',\n names: ['wheel_of_dharma'],\n tags: [],\n description: 'wheel of dharma',\n category: 'Symbols'\n },\n {\n emoji: '☯️',\n names: ['yin_yang'],\n tags: [],\n description: 'yin yang',\n category: 'Symbols'\n },\n {\n emoji: '✝️',\n names: ['latin_cross'],\n tags: [],\n description: 'latin cross',\n category: 'Symbols'\n },\n {\n emoji: '☦️',\n names: ['orthodox_cross'],\n tags: [],\n description: 'orthodox cross',\n category: 'Symbols'\n },\n {\n emoji: '☪️',\n names: ['star_and_crescent'],\n tags: [],\n description: 'star and crescent',\n category: 'Symbols'\n },\n {\n emoji: '☮️',\n names: ['peace_symbol'],\n tags: [],\n description: 'peace symbol',\n category: 'Symbols'\n },\n {\n emoji: '🕎',\n names: ['menorah'],\n tags: [],\n description: 'menorah',\n category: 'Symbols'\n },\n {\n emoji: '🔯',\n names: ['six_pointed_star'],\n tags: [],\n description: 'dotted six-pointed star',\n category: 'Symbols'\n },\n {\n emoji: '🪯',\n names: ['khanda'],\n tags: [],\n description: 'khanda',\n category: 'Symbols'\n },\n {\n emoji: '♈',\n names: ['aries'],\n tags: [],\n description: 'Aries',\n category: 'Symbols'\n },\n {\n emoji: '♉',\n names: ['taurus'],\n tags: [],\n description: 'Taurus',\n category: 'Symbols'\n },\n {\n emoji: '♊',\n names: ['gemini'],\n tags: [],\n description: 'Gemini',\n category: 'Symbols'\n },\n {\n emoji: '♋',\n names: ['cancer'],\n tags: [],\n description: 'Cancer',\n category: 'Symbols'\n },\n {\n emoji: '♌',\n names: ['leo'],\n tags: [],\n description: 'Leo',\n category: 'Symbols'\n },\n {\n emoji: '♍',\n names: ['virgo'],\n tags: [],\n description: 'Virgo',\n category: 'Symbols'\n },\n {\n emoji: '♎',\n names: ['libra'],\n tags: [],\n description: 'Libra',\n category: 'Symbols'\n },\n {\n emoji: '♏',\n names: ['scorpius'],\n tags: [],\n description: 'Scorpio',\n category: 'Symbols'\n },\n {\n emoji: '♐',\n names: ['sagittarius'],\n tags: [],\n description: 'Sagittarius',\n category: 'Symbols'\n },\n {\n emoji: '♑',\n names: ['capricorn'],\n tags: [],\n description: 'Capricorn',\n category: 'Symbols'\n },\n {\n emoji: '♒',\n names: ['aquarius'],\n tags: [],\n description: 'Aquarius',\n category: 'Symbols'\n },\n {\n emoji: '♓',\n names: ['pisces'],\n tags: [],\n description: 'Pisces',\n category: 'Symbols'\n },\n {\n emoji: '⛎',\n names: ['ophiuchus'],\n tags: [],\n description: 'Ophiuchus',\n category: 'Symbols'\n },\n {\n emoji: '🔀',\n names: ['twisted_rightwards_arrows'],\n tags: ['shuffle'],\n description: 'shuffle tracks button',\n category: 'Symbols'\n },\n {\n emoji: '🔁',\n names: ['repeat'],\n tags: ['loop'],\n description: 'repeat button',\n category: 'Symbols'\n },\n {\n emoji: '🔂',\n names: ['repeat_one'],\n tags: [],\n description: 'repeat single button',\n category: 'Symbols'\n },\n {\n emoji: '▶️',\n names: ['arrow_forward'],\n tags: [],\n description: 'play button',\n category: 'Symbols'\n },\n {\n emoji: '⏩',\n names: ['fast_forward'],\n tags: [],\n description: 'fast-forward button',\n category: 'Symbols'\n },\n {\n emoji: '⏭️',\n names: ['next_track_button'],\n tags: [],\n description: 'next track button',\n category: 'Symbols'\n },\n {\n emoji: '⏯️',\n names: ['play_or_pause_button'],\n tags: [],\n description: 'play or pause button',\n category: 'Symbols'\n },\n {\n emoji: '◀️',\n names: ['arrow_backward'],\n tags: [],\n description: 'reverse button',\n category: 'Symbols'\n },\n {\n emoji: '⏪',\n names: ['rewind'],\n tags: [],\n description: 'fast reverse button',\n category: 'Symbols'\n },\n {\n emoji: '⏮️',\n names: ['previous_track_button'],\n tags: [],\n description: 'last track button',\n category: 'Symbols'\n },\n {\n emoji: '🔼',\n names: ['arrow_up_small'],\n tags: [],\n description: 'upwards button',\n category: 'Symbols'\n },\n {\n emoji: '⏫',\n names: ['arrow_double_up'],\n tags: [],\n description: 'fast up button',\n category: 'Symbols'\n },\n {\n emoji: '🔽',\n names: ['arrow_down_small'],\n tags: [],\n description: 'downwards button',\n category: 'Symbols'\n },\n {\n emoji: '⏬',\n names: ['arrow_double_down'],\n tags: [],\n description: 'fast down button',\n category: 'Symbols'\n },\n {\n emoji: '⏸️',\n names: ['pause_button'],\n tags: [],\n description: 'pause button',\n category: 'Symbols'\n },\n {\n emoji: '⏹️',\n names: ['stop_button'],\n tags: [],\n description: 'stop button',\n category: 'Symbols'\n },\n {\n emoji: '⏺️',\n names: ['record_button'],\n tags: [],\n description: 'record button',\n category: 'Symbols'\n },\n {\n emoji: '⏏️',\n names: ['eject_button'],\n tags: [],\n description: 'eject button',\n category: 'Symbols'\n },\n {\n emoji: '🎦',\n names: ['cinema'],\n tags: ['film', 'movie'],\n description: 'cinema',\n category: 'Symbols'\n },\n {\n emoji: '🔅',\n names: ['low_brightness'],\n tags: [],\n description: 'dim button',\n category: 'Symbols'\n },\n {\n emoji: '🔆',\n names: ['high_brightness'],\n tags: [],\n description: 'bright button',\n category: 'Symbols'\n },\n {\n emoji: '📶',\n names: ['signal_strength'],\n tags: ['wifi'],\n description: 'antenna bars',\n category: 'Symbols'\n },\n {\n emoji: '🛜',\n names: ['wireless'],\n tags: ['wifi'],\n description: 'wireless',\n category: 'Symbols'\n },\n {\n emoji: '📳',\n names: ['vibration_mode'],\n tags: [],\n description: 'vibration mode',\n category: 'Symbols'\n },\n {\n emoji: '📴',\n names: ['mobile_phone_off'],\n tags: ['mute', 'off'],\n description: 'mobile phone off',\n category: 'Symbols'\n },\n {\n emoji: '♀️',\n names: ['female_sign'],\n tags: [],\n description: 'female sign',\n category: 'Symbols'\n },\n {\n emoji: '♂️',\n names: ['male_sign'],\n tags: [],\n description: 'male sign',\n category: 'Symbols'\n },\n {\n emoji: '⚧️',\n names: ['transgender_symbol'],\n tags: [],\n description: 'transgender symbol',\n category: 'Symbols'\n },\n {\n emoji: '✖️',\n names: ['heavy_multiplication_x'],\n tags: [],\n description: 'multiply',\n category: 'Symbols'\n },\n {\n emoji: '➕',\n names: ['heavy_plus_sign'],\n tags: [],\n description: 'plus',\n category: 'Symbols'\n },\n {\n emoji: '➖',\n names: ['heavy_minus_sign'],\n tags: [],\n description: 'minus',\n category: 'Symbols'\n },\n {\n emoji: '➗',\n names: ['heavy_division_sign'],\n tags: [],\n description: 'divide',\n category: 'Symbols'\n },\n {\n emoji: '🟰',\n names: ['heavy_equals_sign'],\n tags: [],\n description: 'heavy equals sign',\n category: 'Symbols'\n },\n {\n emoji: '♾️',\n names: ['infinity'],\n tags: [],\n description: 'infinity',\n category: 'Symbols'\n },\n {\n emoji: '‼️',\n names: ['bangbang'],\n tags: [],\n description: 'double exclamation mark',\n category: 'Symbols'\n },\n {\n emoji: '⁉️',\n names: ['interrobang'],\n tags: [],\n description: 'exclamation question mark',\n category: 'Symbols'\n },\n {\n emoji: '❓',\n names: ['question'],\n tags: ['confused'],\n description: 'red question mark',\n category: 'Symbols'\n },\n {\n emoji: '❔',\n names: ['grey_question'],\n tags: [],\n description: 'white question mark',\n category: 'Symbols'\n },\n {\n emoji: '❕',\n names: ['grey_exclamation'],\n tags: [],\n description: 'white exclamation mark',\n category: 'Symbols'\n },\n {\n emoji: '❗',\n names: ['exclamation', 'heavy_exclamation_mark'],\n tags: ['bang'],\n description: 'red exclamation mark',\n category: 'Symbols'\n },\n {\n emoji: '〰️',\n names: ['wavy_dash'],\n tags: [],\n description: 'wavy dash',\n category: 'Symbols'\n },\n {\n emoji: '💱',\n names: ['currency_exchange'],\n tags: [],\n description: 'currency exchange',\n category: 'Symbols'\n },\n {\n emoji: '💲',\n names: ['heavy_dollar_sign'],\n tags: [],\n description: 'heavy dollar sign',\n category: 'Symbols'\n },\n {\n emoji: '⚕️',\n names: ['medical_symbol'],\n tags: [],\n description: 'medical symbol',\n category: 'Symbols'\n },\n {\n emoji: '♻️',\n names: ['recycle'],\n tags: ['environment', 'green'],\n description: 'recycling symbol',\n category: 'Symbols'\n },\n {\n emoji: '⚜️',\n names: ['fleur_de_lis'],\n tags: [],\n description: 'fleur-de-lis',\n category: 'Symbols'\n },\n {\n emoji: '🔱',\n names: ['trident'],\n tags: [],\n description: 'trident emblem',\n category: 'Symbols'\n },\n {\n emoji: '📛',\n names: ['name_badge'],\n tags: [],\n description: 'name badge',\n category: 'Symbols'\n },\n {\n emoji: '🔰',\n names: ['beginner'],\n tags: [],\n description: 'Japanese symbol for beginner',\n category: 'Symbols'\n },\n {\n emoji: '⭕',\n names: ['o'],\n tags: [],\n description: 'hollow red circle',\n category: 'Symbols'\n },\n {\n emoji: '✅',\n names: ['white_check_mark'],\n tags: [],\n description: 'check mark button',\n category: 'Symbols'\n },\n {\n emoji: '☑️',\n names: ['ballot_box_with_check'],\n tags: [],\n description: 'check box with check',\n category: 'Symbols'\n },\n {\n emoji: '✔️',\n names: ['heavy_check_mark'],\n tags: [],\n description: 'check mark',\n category: 'Symbols'\n },\n {\n emoji: '❌',\n names: ['x'],\n tags: [],\n description: 'cross mark',\n category: 'Symbols'\n },\n {\n emoji: '❎',\n names: ['negative_squared_cross_mark'],\n tags: [],\n description: 'cross mark button',\n category: 'Symbols'\n },\n {\n emoji: '➰',\n names: ['curly_loop'],\n tags: [],\n description: 'curly loop',\n category: 'Symbols'\n },\n {\n emoji: '➿',\n names: ['loop'],\n tags: [],\n description: 'double curly loop',\n category: 'Symbols'\n },\n {\n emoji: '〽️',\n names: ['part_alternation_mark'],\n tags: [],\n description: 'part alternation mark',\n category: 'Symbols'\n },\n {\n emoji: '✳️',\n names: ['eight_spoked_asterisk'],\n tags: [],\n description: 'eight-spoked asterisk',\n category: 'Symbols'\n },\n {\n emoji: '✴️',\n names: ['eight_pointed_black_star'],\n tags: [],\n description: 'eight-pointed star',\n category: 'Symbols'\n },\n {\n emoji: '❇️',\n names: ['sparkle'],\n tags: [],\n description: 'sparkle',\n category: 'Symbols'\n },\n {\n emoji: '©️',\n names: ['copyright'],\n tags: [],\n description: 'copyright',\n category: 'Symbols'\n },\n {\n emoji: '®️',\n names: ['registered'],\n tags: [],\n description: 'registered',\n category: 'Symbols'\n },\n {\n emoji: '™️',\n names: ['tm'],\n tags: ['trademark'],\n description: 'trade mark',\n category: 'Symbols'\n },\n {\n emoji: '#️⃣',\n names: ['hash'],\n tags: ['number'],\n description: 'keycap: #',\n category: 'Symbols'\n },\n {\n emoji: '*️⃣',\n names: ['asterisk'],\n tags: [],\n description: 'keycap: *',\n category: 'Symbols'\n },\n {\n emoji: '0️⃣',\n names: ['zero'],\n tags: [],\n description: 'keycap: 0',\n category: 'Symbols'\n },\n {\n emoji: '1️⃣',\n names: ['one'],\n tags: [],\n description: 'keycap: 1',\n category: 'Symbols'\n },\n {\n emoji: '2️⃣',\n names: ['two'],\n tags: [],\n description: 'keycap: 2',\n category: 'Symbols'\n },\n {\n emoji: '3️⃣',\n names: ['three'],\n tags: [],\n description: 'keycap: 3',\n category: 'Symbols'\n },\n {\n emoji: '4️⃣',\n names: ['four'],\n tags: [],\n description: 'keycap: 4',\n category: 'Symbols'\n },\n {\n emoji: '5️⃣',\n names: ['five'],\n tags: [],\n description: 'keycap: 5',\n category: 'Symbols'\n },\n {\n emoji: '6️⃣',\n names: ['six'],\n tags: [],\n description: 'keycap: 6',\n category: 'Symbols'\n },\n {\n emoji: '7️⃣',\n names: ['seven'],\n tags: [],\n description: 'keycap: 7',\n category: 'Symbols'\n },\n {\n emoji: '8️⃣',\n names: ['eight'],\n tags: [],\n description: 'keycap: 8',\n category: 'Symbols'\n },\n {\n emoji: '9️⃣',\n names: ['nine'],\n tags: [],\n description: 'keycap: 9',\n category: 'Symbols'\n },\n {\n emoji: '🔟',\n names: ['keycap_ten'],\n tags: [],\n description: 'keycap: 10',\n category: 'Symbols'\n },\n {\n emoji: '🔠',\n names: ['capital_abcd'],\n tags: ['letters'],\n description: 'input latin uppercase',\n category: 'Symbols'\n },\n {\n emoji: '🔡',\n names: ['abcd'],\n tags: [],\n description: 'input latin lowercase',\n category: 'Symbols'\n },\n {\n emoji: '🔢',\n names: ['1234'],\n tags: ['numbers'],\n description: 'input numbers',\n category: 'Symbols'\n },\n {\n emoji: '🔣',\n names: ['symbols'],\n tags: [],\n description: 'input symbols',\n category: 'Symbols'\n },\n {\n emoji: '🔤',\n names: ['abc'],\n tags: ['alphabet'],\n description: 'input latin letters',\n category: 'Symbols'\n },\n {\n emoji: '🅰️',\n names: ['a'],\n tags: [],\n description: 'A button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🆎',\n names: ['ab'],\n tags: [],\n description: 'AB button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🅱️',\n names: ['b'],\n tags: [],\n description: 'B button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🆑',\n names: ['cl'],\n tags: [],\n description: 'CL button',\n category: 'Symbols'\n },\n {\n emoji: '🆒',\n names: ['cool'],\n tags: [],\n description: 'COOL button',\n category: 'Symbols'\n },\n {\n emoji: '🆓',\n names: ['free'],\n tags: [],\n description: 'FREE button',\n category: 'Symbols'\n },\n {\n emoji: 'ℹ️',\n names: ['information_source'],\n tags: [],\n description: 'information',\n category: 'Symbols'\n },\n {\n emoji: '🆔',\n names: ['id'],\n tags: [],\n description: 'ID button',\n category: 'Symbols'\n },\n {\n emoji: 'Ⓜ️',\n names: ['m'],\n tags: [],\n description: 'circled M',\n category: 'Symbols'\n },\n {\n emoji: '🆕',\n names: ['new'],\n tags: ['fresh'],\n description: 'NEW button',\n category: 'Symbols'\n },\n {\n emoji: '🆖',\n names: ['ng'],\n tags: [],\n description: 'NG button',\n category: 'Symbols'\n },\n {\n emoji: '🅾️',\n names: ['o2'],\n tags: [],\n description: 'O button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🆗',\n names: ['ok'],\n tags: ['yes'],\n description: 'OK button',\n category: 'Symbols'\n },\n {\n emoji: '🅿️',\n names: ['parking'],\n tags: [],\n description: 'P button',\n category: 'Symbols'\n },\n {\n emoji: '🆘',\n names: ['sos'],\n tags: ['help', 'emergency'],\n description: 'SOS button',\n category: 'Symbols'\n },\n {\n emoji: '🆙',\n names: ['up'],\n tags: [],\n description: 'UP! button',\n category: 'Symbols'\n },\n {\n emoji: '🆚',\n names: ['vs'],\n tags: [],\n description: 'VS button',\n category: 'Symbols'\n },\n {\n emoji: '🈁',\n names: ['koko'],\n tags: [],\n description: 'Japanese “here” button',\n category: 'Symbols'\n },\n {\n emoji: '🈂️',\n names: ['sa'],\n tags: [],\n description: 'Japanese “service charge” button',\n category: 'Symbols'\n },\n {\n emoji: '🈷️',\n names: ['u6708'],\n tags: [],\n description: 'Japanese “monthly amount” button',\n category: 'Symbols'\n },\n {\n emoji: '🈶',\n names: ['u6709'],\n tags: [],\n description: 'Japanese “not free of charge” button',\n category: 'Symbols'\n },\n {\n emoji: '🈯',\n names: ['u6307'],\n tags: [],\n description: 'Japanese “reserved” button',\n category: 'Symbols'\n },\n {\n emoji: '🉐',\n names: ['ideograph_advantage'],\n tags: [],\n description: 'Japanese “bargain” button',\n category: 'Symbols'\n },\n {\n emoji: '🈹',\n names: ['u5272'],\n tags: [],\n description: 'Japanese “discount” button',\n category: 'Symbols'\n },\n {\n emoji: '🈚',\n names: ['u7121'],\n tags: [],\n description: 'Japanese “free of charge” button',\n category: 'Symbols'\n },\n {\n emoji: '🈲',\n names: ['u7981'],\n tags: [],\n description: 'Japanese “prohibited” button',\n category: 'Symbols'\n },\n {\n emoji: '🉑',\n names: ['accept'],\n tags: [],\n description: 'Japanese “acceptable” button',\n category: 'Symbols'\n },\n {\n emoji: '🈸',\n names: ['u7533'],\n tags: [],\n description: 'Japanese “application” button',\n category: 'Symbols'\n },\n {\n emoji: '🈴',\n names: ['u5408'],\n tags: [],\n description: 'Japanese “passing grade” button',\n category: 'Symbols'\n },\n {\n emoji: '🈳',\n names: ['u7a7a'],\n tags: [],\n description: 'Japanese “vacancy” button',\n category: 'Symbols'\n },\n {\n emoji: '㊗️',\n names: ['congratulations'],\n tags: [],\n description: 'Japanese “congratulations” button',\n category: 'Symbols'\n },\n {\n emoji: '㊙️',\n names: ['secret'],\n tags: [],\n description: 'Japanese “secret” button',\n category: 'Symbols'\n },\n {\n emoji: '🈺',\n names: ['u55b6'],\n tags: [],\n description: 'Japanese “open for business” button',\n category: 'Symbols'\n },\n {\n emoji: '🈵',\n names: ['u6e80'],\n tags: [],\n description: 'Japanese “no vacancy” button',\n category: 'Symbols'\n },\n {\n emoji: '🔴',\n names: ['red_circle'],\n tags: [],\n description: 'red circle',\n category: 'Symbols'\n },\n {\n emoji: '🟠',\n names: ['orange_circle'],\n tags: [],\n description: 'orange circle',\n category: 'Symbols'\n },\n {\n emoji: '🟡',\n names: ['yellow_circle'],\n tags: [],\n description: 'yellow circle',\n category: 'Symbols'\n },\n {\n emoji: '🟢',\n names: ['green_circle'],\n tags: [],\n description: 'green circle',\n category: 'Symbols'\n },\n {\n emoji: '🔵',\n names: ['large_blue_circle'],\n tags: [],\n description: 'blue circle',\n category: 'Symbols'\n },\n {\n emoji: '🟣',\n names: ['purple_circle'],\n tags: [],\n description: 'purple circle',\n category: 'Symbols'\n },\n {\n emoji: '🟤',\n names: ['brown_circle'],\n tags: [],\n description: 'brown circle',\n category: 'Symbols'\n },\n {\n emoji: '⚫',\n names: ['black_circle'],\n tags: [],\n description: 'black circle',\n category: 'Symbols'\n },\n {\n emoji: '⚪',\n names: ['white_circle'],\n tags: [],\n description: 'white circle',\n category: 'Symbols'\n },\n {\n emoji: '🟥',\n names: ['red_square'],\n tags: [],\n description: 'red square',\n category: 'Symbols'\n },\n {\n emoji: '🟧',\n names: ['orange_square'],\n tags: [],\n description: 'orange square',\n category: 'Symbols'\n },\n {\n emoji: '🟨',\n names: ['yellow_square'],\n tags: [],\n description: 'yellow square',\n category: 'Symbols'\n },\n {\n emoji: '🟩',\n names: ['green_square'],\n tags: [],\n description: 'green square',\n category: 'Symbols'\n },\n {\n emoji: '🟦',\n names: ['blue_square'],\n tags: [],\n description: 'blue square',\n category: 'Symbols'\n },\n {\n emoji: '🟪',\n names: ['purple_square'],\n tags: [],\n description: 'purple square',\n category: 'Symbols'\n },\n {\n emoji: '🟫',\n names: ['brown_square'],\n tags: [],\n description: 'brown square',\n category: 'Symbols'\n },\n {\n emoji: '⬛',\n names: ['black_large_square'],\n tags: [],\n description: 'black large square',\n category: 'Symbols'\n },\n {\n emoji: '⬜',\n names: ['white_large_square'],\n tags: [],\n description: 'white large square',\n category: 'Symbols'\n },\n {\n emoji: '◼️',\n names: ['black_medium_square'],\n tags: [],\n description: 'black medium square',\n category: 'Symbols'\n },\n {\n emoji: '◻️',\n names: ['white_medium_square'],\n tags: [],\n description: 'white medium square',\n category: 'Symbols'\n },\n {\n emoji: '◾',\n names: ['black_medium_small_square'],\n tags: [],\n description: 'black medium-small square',\n category: 'Symbols'\n },\n {\n emoji: '◽',\n names: ['white_medium_small_square'],\n tags: [],\n description: 'white medium-small square',\n category: 'Symbols'\n },\n {\n emoji: '▪️',\n names: ['black_small_square'],\n tags: [],\n description: 'black small square',\n category: 'Symbols'\n },\n {\n emoji: '▫️',\n names: ['white_small_square'],\n tags: [],\n description: 'white small square',\n category: 'Symbols'\n },\n {\n emoji: '🔶',\n names: ['large_orange_diamond'],\n tags: [],\n description: 'large orange diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔷',\n names: ['large_blue_diamond'],\n tags: [],\n description: 'large blue diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔸',\n names: ['small_orange_diamond'],\n tags: [],\n description: 'small orange diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔹',\n names: ['small_blue_diamond'],\n tags: [],\n description: 'small blue diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔺',\n names: ['small_red_triangle'],\n tags: [],\n description: 'red triangle pointed up',\n category: 'Symbols'\n },\n {\n emoji: '🔻',\n names: ['small_red_triangle_down'],\n tags: [],\n description: 'red triangle pointed down',\n category: 'Symbols'\n },\n {\n emoji: '💠',\n names: ['diamond_shape_with_a_dot_inside'],\n tags: [],\n description: 'diamond with a dot',\n category: 'Symbols'\n },\n {\n emoji: '🔘',\n names: ['radio_button'],\n tags: [],\n description: 'radio button',\n category: 'Symbols'\n },\n {\n emoji: '🔳',\n names: ['white_square_button'],\n tags: [],\n description: 'white square button',\n category: 'Symbols'\n },\n {\n emoji: '🔲',\n names: ['black_square_button'],\n tags: [],\n description: 'black square button',\n category: 'Symbols'\n },\n {\n emoji: '🏁',\n names: ['checkered_flag'],\n tags: ['milestone', 'finish'],\n description: 'chequered flag',\n category: 'Flags'\n },\n {\n emoji: '🚩',\n names: ['triangular_flag_on_post'],\n tags: [],\n description: 'triangular flag',\n category: 'Flags'\n },\n {\n emoji: '🎌',\n names: ['crossed_flags'],\n tags: [],\n description: 'crossed flags',\n category: 'Flags'\n },\n {\n emoji: '🏴',\n names: ['black_flag'],\n tags: [],\n description: 'black flag',\n category: 'Flags'\n },\n {\n emoji: '🏳️',\n names: ['white_flag'],\n tags: [],\n description: 'white flag',\n category: 'Flags'\n },\n {\n emoji: '🏳️‍🌈',\n names: ['rainbow_flag'],\n tags: ['pride'],\n description: 'rainbow flag',\n category: 'Flags'\n },\n {\n emoji: '🏳️‍⚧️',\n names: ['transgender_flag'],\n tags: [],\n description: 'transgender flag',\n category: 'Flags'\n },\n {\n emoji: '🏴‍☠️',\n names: ['pirate_flag'],\n tags: [],\n description: 'pirate flag',\n category: 'Flags'\n },\n {\n emoji: '🇦🇨',\n names: ['ascension_island'],\n tags: [],\n description: 'flag: Ascension Island',\n category: 'Flags'\n },\n {\n emoji: '🇦🇩',\n names: ['andorra'],\n tags: [],\n description: 'flag: Andorra',\n category: 'Flags'\n },\n {\n emoji: '🇦🇪',\n names: ['united_arab_emirates'],\n tags: [],\n description: 'flag: United Arab Emirates',\n category: 'Flags'\n },\n {\n emoji: '🇦🇫',\n names: ['afghanistan'],\n tags: [],\n description: 'flag: Afghanistan',\n category: 'Flags'\n },\n {\n emoji: '🇦🇬',\n names: ['antigua_barbuda'],\n tags: [],\n description: 'flag: Antigua & Barbuda',\n category: 'Flags'\n },\n {\n emoji: '🇦🇮',\n names: ['anguilla'],\n tags: [],\n description: 'flag: Anguilla',\n category: 'Flags'\n },\n {\n emoji: '🇦🇱',\n names: ['albania'],\n tags: [],\n description: 'flag: Albania',\n category: 'Flags'\n },\n {\n emoji: '🇦🇲',\n names: ['armenia'],\n tags: [],\n description: 'flag: Armenia',\n category: 'Flags'\n },\n {\n emoji: '🇦🇴',\n names: ['angola'],\n tags: [],\n description: 'flag: Angola',\n category: 'Flags'\n },\n {\n emoji: '🇦🇶',\n names: ['antarctica'],\n tags: [],\n description: 'flag: Antarctica',\n category: 'Flags'\n },\n {\n emoji: '🇦🇷',\n names: ['argentina'],\n tags: [],\n description: 'flag: Argentina',\n category: 'Flags'\n },\n {\n emoji: '🇦🇸',\n names: ['american_samoa'],\n tags: [],\n description: 'flag: American Samoa',\n category: 'Flags'\n },\n {\n emoji: '🇦🇹',\n names: ['austria'],\n tags: [],\n description: 'flag: Austria',\n category: 'Flags'\n },\n {\n emoji: '🇦🇺',\n names: ['australia'],\n tags: [],\n description: 'flag: Australia',\n category: 'Flags'\n },\n {\n emoji: '🇦🇼',\n names: ['aruba'],\n tags: [],\n description: 'flag: Aruba',\n category: 'Flags'\n },\n {\n emoji: '🇦🇽',\n names: ['aland_islands'],\n tags: [],\n description: 'flag: Åland Islands',\n category: 'Flags'\n },\n {\n emoji: '🇦🇿',\n names: ['azerbaijan'],\n tags: [],\n description: 'flag: Azerbaijan',\n category: 'Flags'\n },\n {\n emoji: '🇧🇦',\n names: ['bosnia_herzegovina'],\n tags: [],\n description: 'flag: Bosnia & Herzegovina',\n category: 'Flags'\n },\n {\n emoji: '🇧🇧',\n names: ['barbados'],\n tags: [],\n description: 'flag: Barbados',\n category: 'Flags'\n },\n {\n emoji: '🇧🇩',\n names: ['bangladesh'],\n tags: [],\n description: 'flag: Bangladesh',\n category: 'Flags'\n },\n {\n emoji: '🇧🇪',\n names: ['belgium'],\n tags: [],\n description: 'flag: Belgium',\n category: 'Flags'\n },\n {\n emoji: '🇧🇫',\n names: ['burkina_faso'],\n tags: [],\n description: 'flag: Burkina Faso',\n category: 'Flags'\n },\n {\n emoji: '🇧🇬',\n names: ['bulgaria'],\n tags: [],\n description: 'flag: Bulgaria',\n category: 'Flags'\n },\n {\n emoji: '🇧🇭',\n names: ['bahrain'],\n tags: [],\n description: 'flag: Bahrain',\n category: 'Flags'\n },\n {\n emoji: '🇧🇮',\n names: ['burundi'],\n tags: [],\n description: 'flag: Burundi',\n category: 'Flags'\n },\n {\n emoji: '🇧🇯',\n names: ['benin'],\n tags: [],\n description: 'flag: Benin',\n category: 'Flags'\n },\n {\n emoji: '🇧🇱',\n names: ['st_barthelemy'],\n tags: [],\n description: 'flag: St. Barthélemy',\n category: 'Flags'\n },\n {\n emoji: '🇧🇲',\n names: ['bermuda'],\n tags: [],\n description: 'flag: Bermuda',\n category: 'Flags'\n },\n {\n emoji: '🇧🇳',\n names: ['brunei'],\n tags: [],\n description: 'flag: Brunei',\n category: 'Flags'\n },\n {\n emoji: '🇧🇴',\n names: ['bolivia'],\n tags: [],\n description: 'flag: Bolivia',\n category: 'Flags'\n },\n {\n emoji: '🇧🇶',\n names: ['caribbean_netherlands'],\n tags: [],\n description: 'flag: Caribbean Netherlands',\n category: 'Flags'\n },\n {\n emoji: '🇧🇷',\n names: ['brazil'],\n tags: [],\n description: 'flag: Brazil',\n category: 'Flags'\n },\n {\n emoji: '🇧🇸',\n names: ['bahamas'],\n tags: [],\n description: 'flag: Bahamas',\n category: 'Flags'\n },\n {\n emoji: '🇧🇹',\n names: ['bhutan'],\n tags: [],\n description: 'flag: Bhutan',\n category: 'Flags'\n },\n {\n emoji: '🇧🇻',\n names: ['bouvet_island'],\n tags: [],\n description: 'flag: Bouvet Island',\n category: 'Flags'\n },\n {\n emoji: '🇧🇼',\n names: ['botswana'],\n tags: [],\n description: 'flag: Botswana',\n category: 'Flags'\n },\n {\n emoji: '🇧🇾',\n names: ['belarus'],\n tags: [],\n description: 'flag: Belarus',\n category: 'Flags'\n },\n {\n emoji: '🇧🇿',\n names: ['belize'],\n tags: [],\n description: 'flag: Belize',\n category: 'Flags'\n },\n {\n emoji: '🇨🇦',\n names: ['canada'],\n tags: [],\n description: 'flag: Canada',\n category: 'Flags'\n },\n {\n emoji: '🇨🇨',\n names: ['cocos_islands'],\n tags: ['keeling'],\n description: 'flag: Cocos (Keeling) Islands',\n category: 'Flags'\n },\n {\n emoji: '🇨🇩',\n names: ['congo_kinshasa'],\n tags: [],\n description: 'flag: Congo - Kinshasa',\n category: 'Flags'\n },\n {\n emoji: '🇨🇫',\n names: ['central_african_republic'],\n tags: [],\n description: 'flag: Central African Republic',\n category: 'Flags'\n },\n {\n emoji: '🇨🇬',\n names: ['congo_brazzaville'],\n tags: [],\n description: 'flag: Congo - Brazzaville',\n category: 'Flags'\n },\n {\n emoji: '🇨🇭',\n names: ['switzerland'],\n tags: [],\n description: 'flag: Switzerland',\n category: 'Flags'\n },\n {\n emoji: '🇨🇮',\n names: ['cote_divoire'],\n tags: ['ivory'],\n description: 'flag: Côte d’Ivoire',\n category: 'Flags'\n },\n {\n emoji: '🇨🇰',\n names: ['cook_islands'],\n tags: [],\n description: 'flag: Cook Islands',\n category: 'Flags'\n },\n {\n emoji: '🇨🇱',\n names: ['chile'],\n tags: [],\n description: 'flag: Chile',\n category: 'Flags'\n },\n {\n emoji: '🇨🇲',\n names: ['cameroon'],\n tags: [],\n description: 'flag: Cameroon',\n category: 'Flags'\n },\n {\n emoji: '🇨🇳',\n names: ['cn'],\n tags: ['china'],\n description: 'flag: China',\n category: 'Flags'\n },\n {\n emoji: '🇨🇴',\n names: ['colombia'],\n tags: [],\n description: 'flag: Colombia',\n category: 'Flags'\n },\n {\n emoji: '🇨🇵',\n names: ['clipperton_island'],\n tags: [],\n description: 'flag: Clipperton Island',\n category: 'Flags'\n },\n {\n emoji: '🇨🇷',\n names: ['costa_rica'],\n tags: [],\n description: 'flag: Costa Rica',\n category: 'Flags'\n },\n {\n emoji: '🇨🇺',\n names: ['cuba'],\n tags: [],\n description: 'flag: Cuba',\n category: 'Flags'\n },\n {\n emoji: '🇨🇻',\n names: ['cape_verde'],\n tags: [],\n description: 'flag: Cape Verde',\n category: 'Flags'\n },\n {\n emoji: '🇨🇼',\n names: ['curacao'],\n tags: [],\n description: 'flag: Curaçao',\n category: 'Flags'\n },\n {\n emoji: '🇨🇽',\n names: ['christmas_island'],\n tags: [],\n description: 'flag: Christmas Island',\n category: 'Flags'\n },\n {\n emoji: '🇨🇾',\n names: ['cyprus'],\n tags: [],\n description: 'flag: Cyprus',\n category: 'Flags'\n },\n {\n emoji: '🇨🇿',\n names: ['czech_republic'],\n tags: [],\n description: 'flag: Czechia',\n category: 'Flags'\n },\n {\n emoji: '🇩🇪',\n names: ['de'],\n tags: ['flag', 'germany'],\n description: 'flag: Germany',\n category: 'Flags'\n },\n {\n emoji: '🇩🇬',\n names: ['diego_garcia'],\n tags: [],\n description: 'flag: Diego Garcia',\n category: 'Flags'\n },\n {\n emoji: '🇩🇯',\n names: ['djibouti'],\n tags: [],\n description: 'flag: Djibouti',\n category: 'Flags'\n },\n {\n emoji: '🇩🇰',\n names: ['denmark'],\n tags: [],\n description: 'flag: Denmark',\n category: 'Flags'\n },\n {\n emoji: '🇩🇲',\n names: ['dominica'],\n tags: [],\n description: 'flag: Dominica',\n category: 'Flags'\n },\n {\n emoji: '🇩🇴',\n names: ['dominican_republic'],\n tags: [],\n description: 'flag: Dominican Republic',\n category: 'Flags'\n },\n {\n emoji: '🇩🇿',\n names: ['algeria'],\n tags: [],\n description: 'flag: Algeria',\n category: 'Flags'\n },\n {\n emoji: '🇪🇦',\n names: ['ceuta_melilla'],\n tags: [],\n description: 'flag: Ceuta & Melilla',\n category: 'Flags'\n },\n {\n emoji: '🇪🇨',\n names: ['ecuador'],\n tags: [],\n description: 'flag: Ecuador',\n category: 'Flags'\n },\n {\n emoji: '🇪🇪',\n names: ['estonia'],\n tags: [],\n description: 'flag: Estonia',\n category: 'Flags'\n },\n {\n emoji: '🇪🇬',\n names: ['egypt'],\n tags: [],\n description: 'flag: Egypt',\n category: 'Flags'\n },\n {\n emoji: '🇪🇭',\n names: ['western_sahara'],\n tags: [],\n description: 'flag: Western Sahara',\n category: 'Flags'\n },\n {\n emoji: '🇪🇷',\n names: ['eritrea'],\n tags: [],\n description: 'flag: Eritrea',\n category: 'Flags'\n },\n {\n emoji: '🇪🇸',\n names: ['es'],\n tags: ['spain'],\n description: 'flag: Spain',\n category: 'Flags'\n },\n {\n emoji: '🇪🇹',\n names: ['ethiopia'],\n tags: [],\n description: 'flag: Ethiopia',\n category: 'Flags'\n },\n {\n emoji: '🇪🇺',\n names: ['eu', 'european_union'],\n tags: [],\n description: 'flag: European Union',\n category: 'Flags'\n },\n {\n emoji: '🇫🇮',\n names: ['finland'],\n tags: [],\n description: 'flag: Finland',\n category: 'Flags'\n },\n {\n emoji: '🇫🇯',\n names: ['fiji'],\n tags: [],\n description: 'flag: Fiji',\n category: 'Flags'\n },\n {\n emoji: '🇫🇰',\n names: ['falkland_islands'],\n tags: [],\n description: 'flag: Falkland Islands',\n category: 'Flags'\n },\n {\n emoji: '🇫🇲',\n names: ['micronesia'],\n tags: [],\n description: 'flag: Micronesia',\n category: 'Flags'\n },\n {\n emoji: '🇫🇴',\n names: ['faroe_islands'],\n tags: [],\n description: 'flag: Faroe Islands',\n category: 'Flags'\n },\n {\n emoji: '🇫🇷',\n names: ['fr'],\n tags: ['france', 'french'],\n description: 'flag: France',\n category: 'Flags'\n },\n {\n emoji: '🇬🇦',\n names: ['gabon'],\n tags: [],\n description: 'flag: Gabon',\n category: 'Flags'\n },\n {\n emoji: '🇬🇧',\n names: ['gb', 'uk'],\n tags: ['flag', 'british'],\n description: 'flag: United Kingdom',\n category: 'Flags'\n },\n {\n emoji: '🇬🇩',\n names: ['grenada'],\n tags: [],\n description: 'flag: Grenada',\n category: 'Flags'\n },\n {\n emoji: '🇬🇪',\n names: ['georgia'],\n tags: [],\n description: 'flag: Georgia',\n category: 'Flags'\n },\n {\n emoji: '🇬🇫',\n names: ['french_guiana'],\n tags: [],\n description: 'flag: French Guiana',\n category: 'Flags'\n },\n {\n emoji: '🇬🇬',\n names: ['guernsey'],\n tags: [],\n description: 'flag: Guernsey',\n category: 'Flags'\n },\n {\n emoji: '🇬🇭',\n names: ['ghana'],\n tags: [],\n description: 'flag: Ghana',\n category: 'Flags'\n },\n {\n emoji: '🇬🇮',\n names: ['gibraltar'],\n tags: [],\n description: 'flag: Gibraltar',\n category: 'Flags'\n },\n {\n emoji: '🇬🇱',\n names: ['greenland'],\n tags: [],\n description: 'flag: Greenland',\n category: 'Flags'\n },\n {\n emoji: '🇬🇲',\n names: ['gambia'],\n tags: [],\n description: 'flag: Gambia',\n category: 'Flags'\n },\n {\n emoji: '🇬🇳',\n names: ['guinea'],\n tags: [],\n description: 'flag: Guinea',\n category: 'Flags'\n },\n {\n emoji: '🇬🇵',\n names: ['guadeloupe'],\n tags: [],\n description: 'flag: Guadeloupe',\n category: 'Flags'\n },\n {\n emoji: '🇬🇶',\n names: ['equatorial_guinea'],\n tags: [],\n description: 'flag: Equatorial Guinea',\n category: 'Flags'\n },\n {\n emoji: '🇬🇷',\n names: ['greece'],\n tags: [],\n description: 'flag: Greece',\n category: 'Flags'\n },\n {\n emoji: '🇬🇸',\n names: ['south_georgia_south_sandwich_islands'],\n tags: [],\n description: 'flag: South Georgia & South Sandwich Islands',\n category: 'Flags'\n },\n {\n emoji: '🇬🇹',\n names: ['guatemala'],\n tags: [],\n description: 'flag: Guatemala',\n category: 'Flags'\n },\n {\n emoji: '🇬🇺',\n names: ['guam'],\n tags: [],\n description: 'flag: Guam',\n category: 'Flags'\n },\n {\n emoji: '🇬🇼',\n names: ['guinea_bissau'],\n tags: [],\n description: 'flag: Guinea-Bissau',\n category: 'Flags'\n },\n {\n emoji: '🇬🇾',\n names: ['guyana'],\n tags: [],\n description: 'flag: Guyana',\n category: 'Flags'\n },\n {\n emoji: '🇭🇰',\n names: ['hong_kong'],\n tags: [],\n description: 'flag: Hong Kong SAR China',\n category: 'Flags'\n },\n {\n emoji: '🇭🇲',\n names: ['heard_mcdonald_islands'],\n tags: [],\n description: 'flag: Heard & McDonald Islands',\n category: 'Flags'\n },\n {\n emoji: '🇭🇳',\n names: ['honduras'],\n tags: [],\n description: 'flag: Honduras',\n category: 'Flags'\n },\n {\n emoji: '🇭🇷',\n names: ['croatia'],\n tags: [],\n description: 'flag: Croatia',\n category: 'Flags'\n },\n {\n emoji: '🇭🇹',\n names: ['haiti'],\n tags: [],\n description: 'flag: Haiti',\n category: 'Flags'\n },\n {\n emoji: '🇭🇺',\n names: ['hungary'],\n tags: [],\n description: 'flag: Hungary',\n category: 'Flags'\n },\n {\n emoji: '🇮🇨',\n names: ['canary_islands'],\n tags: [],\n description: 'flag: Canary Islands',\n category: 'Flags'\n },\n {\n emoji: '🇮🇩',\n names: ['indonesia'],\n tags: [],\n description: 'flag: Indonesia',\n category: 'Flags'\n },\n {\n emoji: '🇮🇪',\n names: ['ireland'],\n tags: [],\n description: 'flag: Ireland',\n category: 'Flags'\n },\n {\n emoji: '🇮🇱',\n names: ['israel'],\n tags: [],\n description: 'flag: Israel',\n category: 'Flags'\n },\n {\n emoji: '🇮🇲',\n names: ['isle_of_man'],\n tags: [],\n description: 'flag: Isle of Man',\n category: 'Flags'\n },\n {\n emoji: '🇮🇳',\n names: ['india'],\n tags: [],\n description: 'flag: India',\n category: 'Flags'\n },\n {\n emoji: '🇮🇴',\n names: ['british_indian_ocean_territory'],\n tags: [],\n description: 'flag: British Indian Ocean Territory',\n category: 'Flags'\n },\n {\n emoji: '🇮🇶',\n names: ['iraq'],\n tags: [],\n description: 'flag: Iraq',\n category: 'Flags'\n },\n {\n emoji: '🇮🇷',\n names: ['iran'],\n tags: [],\n description: 'flag: Iran',\n category: 'Flags'\n },\n {\n emoji: '🇮🇸',\n names: ['iceland'],\n tags: [],\n description: 'flag: Iceland',\n category: 'Flags'\n },\n {\n emoji: '🇮🇹',\n names: ['it'],\n tags: ['italy'],\n description: 'flag: Italy',\n category: 'Flags'\n },\n {\n emoji: '🇯🇪',\n names: ['jersey'],\n tags: [],\n description: 'flag: Jersey',\n category: 'Flags'\n },\n {\n emoji: '🇯🇲',\n names: ['jamaica'],\n tags: [],\n description: 'flag: Jamaica',\n category: 'Flags'\n },\n {\n emoji: '🇯🇴',\n names: ['jordan'],\n tags: [],\n description: 'flag: Jordan',\n category: 'Flags'\n },\n {\n emoji: '🇯🇵',\n names: ['jp'],\n tags: ['japan'],\n description: 'flag: Japan',\n category: 'Flags'\n },\n {\n emoji: '🇰🇪',\n names: ['kenya'],\n tags: [],\n description: 'flag: Kenya',\n category: 'Flags'\n },\n {\n emoji: '🇰🇬',\n names: ['kyrgyzstan'],\n tags: [],\n description: 'flag: Kyrgyzstan',\n category: 'Flags'\n },\n {\n emoji: '🇰🇭',\n names: ['cambodia'],\n tags: [],\n description: 'flag: Cambodia',\n category: 'Flags'\n },\n {\n emoji: '🇰🇮',\n names: ['kiribati'],\n tags: [],\n description: 'flag: Kiribati',\n category: 'Flags'\n },\n {\n emoji: '🇰🇲',\n names: ['comoros'],\n tags: [],\n description: 'flag: Comoros',\n category: 'Flags'\n },\n {\n emoji: '🇰🇳',\n names: ['st_kitts_nevis'],\n tags: [],\n description: 'flag: St. Kitts & Nevis',\n category: 'Flags'\n },\n {\n emoji: '🇰🇵',\n names: ['north_korea'],\n tags: [],\n description: 'flag: North Korea',\n category: 'Flags'\n },\n {\n emoji: '🇰🇷',\n names: ['kr'],\n tags: ['korea'],\n description: 'flag: South Korea',\n category: 'Flags'\n },\n {\n emoji: '🇰🇼',\n names: ['kuwait'],\n tags: [],\n description: 'flag: Kuwait',\n category: 'Flags'\n },\n {\n emoji: '🇰🇾',\n names: ['cayman_islands'],\n tags: [],\n description: 'flag: Cayman Islands',\n category: 'Flags'\n },\n {\n emoji: '🇰🇿',\n names: ['kazakhstan'],\n tags: [],\n description: 'flag: Kazakhstan',\n category: 'Flags'\n },\n {\n emoji: '🇱🇦',\n names: ['laos'],\n tags: [],\n description: 'flag: Laos',\n category: 'Flags'\n },\n {\n emoji: '🇱🇧',\n names: ['lebanon'],\n tags: [],\n description: 'flag: Lebanon',\n category: 'Flags'\n },\n {\n emoji: '🇱🇨',\n names: ['st_lucia'],\n tags: [],\n description: 'flag: St. Lucia',\n category: 'Flags'\n },\n {\n emoji: '🇱🇮',\n names: ['liechtenstein'],\n tags: [],\n description: 'flag: Liechtenstein',\n category: 'Flags'\n },\n {\n emoji: '🇱🇰',\n names: ['sri_lanka'],\n tags: [],\n description: 'flag: Sri Lanka',\n category: 'Flags'\n },\n {\n emoji: '🇱🇷',\n names: ['liberia'],\n tags: [],\n description: 'flag: Liberia',\n category: 'Flags'\n },\n {\n emoji: '🇱🇸',\n names: ['lesotho'],\n tags: [],\n description: 'flag: Lesotho',\n category: 'Flags'\n },\n {\n emoji: '🇱🇹',\n names: ['lithuania'],\n tags: [],\n description: 'flag: Lithuania',\n category: 'Flags'\n },\n {\n emoji: '🇱🇺',\n names: ['luxembourg'],\n tags: [],\n description: 'flag: Luxembourg',\n category: 'Flags'\n },\n {\n emoji: '🇱🇻',\n names: ['latvia'],\n tags: [],\n description: 'flag: Latvia',\n category: 'Flags'\n },\n {\n emoji: '🇱🇾',\n names: ['libya'],\n tags: [],\n description: 'flag: Libya',\n category: 'Flags'\n },\n {\n emoji: '🇲🇦',\n names: ['morocco'],\n tags: [],\n description: 'flag: Morocco',\n category: 'Flags'\n },\n {\n emoji: '🇲🇨',\n names: ['monaco'],\n tags: [],\n description: 'flag: Monaco',\n category: 'Flags'\n },\n {\n emoji: '🇲🇩',\n names: ['moldova'],\n tags: [],\n description: 'flag: Moldova',\n category: 'Flags'\n },\n {\n emoji: '🇲🇪',\n names: ['montenegro'],\n tags: [],\n description: 'flag: Montenegro',\n category: 'Flags'\n },\n {\n emoji: '🇲🇫',\n names: ['st_martin'],\n tags: [],\n description: 'flag: St. Martin',\n category: 'Flags'\n },\n {\n emoji: '🇲🇬',\n names: ['madagascar'],\n tags: [],\n description: 'flag: Madagascar',\n category: 'Flags'\n },\n {\n emoji: '🇲🇭',\n names: ['marshall_islands'],\n tags: [],\n description: 'flag: Marshall Islands',\n category: 'Flags'\n },\n {\n emoji: '🇲🇰',\n names: ['macedonia'],\n tags: [],\n description: 'flag: North Macedonia',\n category: 'Flags'\n },\n {\n emoji: '🇲🇱',\n names: ['mali'],\n tags: [],\n description: 'flag: Mali',\n category: 'Flags'\n },\n {\n emoji: '🇲🇲',\n names: ['myanmar'],\n tags: ['burma'],\n description: 'flag: Myanmar (Burma)',\n category: 'Flags'\n },\n {\n emoji: '🇲🇳',\n names: ['mongolia'],\n tags: [],\n description: 'flag: Mongolia',\n category: 'Flags'\n },\n {\n emoji: '🇲🇴',\n names: ['macau'],\n tags: [],\n description: 'flag: Macao SAR China',\n category: 'Flags'\n },\n {\n emoji: '🇲🇵',\n names: ['northern_mariana_islands'],\n tags: [],\n description: 'flag: Northern Mariana Islands',\n category: 'Flags'\n },\n {\n emoji: '🇲🇶',\n names: ['martinique'],\n tags: [],\n description: 'flag: Martinique',\n category: 'Flags'\n },\n {\n emoji: '🇲🇷',\n names: ['mauritania'],\n tags: [],\n description: 'flag: Mauritania',\n category: 'Flags'\n },\n {\n emoji: '🇲🇸',\n names: ['montserrat'],\n tags: [],\n description: 'flag: Montserrat',\n category: 'Flags'\n },\n {\n emoji: '🇲🇹',\n names: ['malta'],\n tags: [],\n description: 'flag: Malta',\n category: 'Flags'\n },\n {\n emoji: '🇲🇺',\n names: ['mauritius'],\n tags: [],\n description: 'flag: Mauritius',\n category: 'Flags'\n },\n {\n emoji: '🇲🇻',\n names: ['maldives'],\n tags: [],\n description: 'flag: Maldives',\n category: 'Flags'\n },\n {\n emoji: '🇲🇼',\n names: ['malawi'],\n tags: [],\n description: 'flag: Malawi',\n category: 'Flags'\n },\n {\n emoji: '🇲🇽',\n names: ['mexico'],\n tags: [],\n description: 'flag: Mexico',\n category: 'Flags'\n },\n {\n emoji: '🇲🇾',\n names: ['malaysia'],\n tags: [],\n description: 'flag: Malaysia',\n category: 'Flags'\n },\n {\n emoji: '🇲🇿',\n names: ['mozambique'],\n tags: [],\n description: 'flag: Mozambique',\n category: 'Flags'\n },\n {\n emoji: '🇳🇦',\n names: ['namibia'],\n tags: [],\n description: 'flag: Namibia',\n category: 'Flags'\n },\n {\n emoji: '🇳🇨',\n names: ['new_caledonia'],\n tags: [],\n description: 'flag: New Caledonia',\n category: 'Flags'\n },\n {\n emoji: '🇳🇪',\n names: ['niger'],\n tags: [],\n description: 'flag: Niger',\n category: 'Flags'\n },\n {\n emoji: '🇳🇫',\n names: ['norfolk_island'],\n tags: [],\n description: 'flag: Norfolk Island',\n category: 'Flags'\n },\n {\n emoji: '🇳🇬',\n names: ['nigeria'],\n tags: [],\n description: 'flag: Nigeria',\n category: 'Flags'\n },\n {\n emoji: '🇳🇮',\n names: ['nicaragua'],\n tags: [],\n description: 'flag: Nicaragua',\n category: 'Flags'\n },\n {\n emoji: '🇳🇱',\n names: ['netherlands'],\n tags: [],\n description: 'flag: Netherlands',\n category: 'Flags'\n },\n {\n emoji: '🇳🇴',\n names: ['norway'],\n tags: [],\n description: 'flag: Norway',\n category: 'Flags'\n },\n {\n emoji: '🇳🇵',\n names: ['nepal'],\n tags: [],\n description: 'flag: Nepal',\n category: 'Flags'\n },\n {\n emoji: '🇳🇷',\n names: ['nauru'],\n tags: [],\n description: 'flag: Nauru',\n category: 'Flags'\n },\n {\n emoji: '🇳🇺',\n names: ['niue'],\n tags: [],\n description: 'flag: Niue',\n category: 'Flags'\n },\n {\n emoji: '🇳🇿',\n names: ['new_zealand'],\n tags: [],\n description: 'flag: New Zealand',\n category: 'Flags'\n },\n {\n emoji: '🇴🇲',\n names: ['oman'],\n tags: [],\n description: 'flag: Oman',\n category: 'Flags'\n },\n {\n emoji: '🇵🇦',\n names: ['panama'],\n tags: [],\n description: 'flag: Panama',\n category: 'Flags'\n },\n {\n emoji: '🇵🇪',\n names: ['peru'],\n tags: [],\n description: 'flag: Peru',\n category: 'Flags'\n },\n {\n emoji: '🇵🇫',\n names: ['french_polynesia'],\n tags: [],\n description: 'flag: French Polynesia',\n category: 'Flags'\n },\n {\n emoji: '🇵🇬',\n names: ['papua_new_guinea'],\n tags: [],\n description: 'flag: Papua New Guinea',\n category: 'Flags'\n },\n {\n emoji: '🇵🇭',\n names: ['philippines'],\n tags: [],\n description: 'flag: Philippines',\n category: 'Flags'\n },\n {\n emoji: '🇵🇰',\n names: ['pakistan'],\n tags: [],\n description: 'flag: Pakistan',\n category: 'Flags'\n },\n {\n emoji: '🇵🇱',\n names: ['poland'],\n tags: [],\n description: 'flag: Poland',\n category: 'Flags'\n },\n {\n emoji: '🇵🇲',\n names: ['st_pierre_miquelon'],\n tags: [],\n description: 'flag: St. Pierre & Miquelon',\n category: 'Flags'\n },\n {\n emoji: '🇵🇳',\n names: ['pitcairn_islands'],\n tags: [],\n description: 'flag: Pitcairn Islands',\n category: 'Flags'\n },\n {\n emoji: '🇵🇷',\n names: ['puerto_rico'],\n tags: [],\n description: 'flag: Puerto Rico',\n category: 'Flags'\n },\n {\n emoji: '🇵🇸',\n names: ['palestinian_territories'],\n tags: [],\n description: 'flag: Palestinian Territories',\n category: 'Flags'\n },\n {\n emoji: '🇵🇹',\n names: ['portugal'],\n tags: [],\n description: 'flag: Portugal',\n category: 'Flags'\n },\n {\n emoji: '🇵🇼',\n names: ['palau'],\n tags: [],\n description: 'flag: Palau',\n category: 'Flags'\n },\n {\n emoji: '🇵🇾',\n names: ['paraguay'],\n tags: [],\n description: 'flag: Paraguay',\n category: 'Flags'\n },\n {\n emoji: '🇶🇦',\n names: ['qatar'],\n tags: [],\n description: 'flag: Qatar',\n category: 'Flags'\n },\n {\n emoji: '🇷🇪',\n names: ['reunion'],\n tags: [],\n description: 'flag: Réunion',\n category: 'Flags'\n },\n {\n emoji: '🇷🇴',\n names: ['romania'],\n tags: [],\n description: 'flag: Romania',\n category: 'Flags'\n },\n {\n emoji: '🇷🇸',\n names: ['serbia'],\n tags: [],\n description: 'flag: Serbia',\n category: 'Flags'\n },\n {\n emoji: '🇷🇺',\n names: ['ru'],\n tags: ['russia'],\n description: 'flag: Russia',\n category: 'Flags'\n },\n {\n emoji: '🇷🇼',\n names: ['rwanda'],\n tags: [],\n description: 'flag: Rwanda',\n category: 'Flags'\n },\n {\n emoji: '🇸🇦',\n names: ['saudi_arabia'],\n tags: [],\n description: 'flag: Saudi Arabia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇧',\n names: ['solomon_islands'],\n tags: [],\n description: 'flag: Solomon Islands',\n category: 'Flags'\n },\n {\n emoji: '🇸🇨',\n names: ['seychelles'],\n tags: [],\n description: 'flag: Seychelles',\n category: 'Flags'\n },\n {\n emoji: '🇸🇩',\n names: ['sudan'],\n tags: [],\n description: 'flag: Sudan',\n category: 'Flags'\n },\n {\n emoji: '🇸🇪',\n names: ['sweden'],\n tags: [],\n description: 'flag: Sweden',\n category: 'Flags'\n },\n {\n emoji: '🇸🇬',\n names: ['singapore'],\n tags: [],\n description: 'flag: Singapore',\n category: 'Flags'\n },\n {\n emoji: '🇸🇭',\n names: ['st_helena'],\n tags: [],\n description: 'flag: St. Helena',\n category: 'Flags'\n },\n {\n emoji: '🇸🇮',\n names: ['slovenia'],\n tags: [],\n description: 'flag: Slovenia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇯',\n names: ['svalbard_jan_mayen'],\n tags: [],\n description: 'flag: Svalbard & Jan Mayen',\n category: 'Flags'\n },\n {\n emoji: '🇸🇰',\n names: ['slovakia'],\n tags: [],\n description: 'flag: Slovakia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇱',\n names: ['sierra_leone'],\n tags: [],\n description: 'flag: Sierra Leone',\n category: 'Flags'\n },\n {\n emoji: '🇸🇲',\n names: ['san_marino'],\n tags: [],\n description: 'flag: San Marino',\n category: 'Flags'\n },\n {\n emoji: '🇸🇳',\n names: ['senegal'],\n tags: [],\n description: 'flag: Senegal',\n category: 'Flags'\n },\n {\n emoji: '🇸🇴',\n names: ['somalia'],\n tags: [],\n description: 'flag: Somalia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇷',\n names: ['suriname'],\n tags: [],\n description: 'flag: Suriname',\n category: 'Flags'\n },\n {\n emoji: '🇸🇸',\n names: ['south_sudan'],\n tags: [],\n description: 'flag: South Sudan',\n category: 'Flags'\n },\n {\n emoji: '🇸🇹',\n names: ['sao_tome_principe'],\n tags: [],\n description: 'flag: São Tomé & Príncipe',\n category: 'Flags'\n },\n {\n emoji: '🇸🇻',\n names: ['el_salvador'],\n tags: [],\n description: 'flag: El Salvador',\n category: 'Flags'\n },\n {\n emoji: '🇸🇽',\n names: ['sint_maarten'],\n tags: [],\n description: 'flag: Sint Maarten',\n category: 'Flags'\n },\n {\n emoji: '🇸🇾',\n names: ['syria'],\n tags: [],\n description: 'flag: Syria',\n category: 'Flags'\n },\n {\n emoji: '🇸🇿',\n names: ['swaziland'],\n tags: [],\n description: 'flag: Eswatini',\n category: 'Flags'\n },\n {\n emoji: '🇹🇦',\n names: ['tristan_da_cunha'],\n tags: [],\n description: 'flag: Tristan da Cunha',\n category: 'Flags'\n },\n {\n emoji: '🇹🇨',\n names: ['turks_caicos_islands'],\n tags: [],\n description: 'flag: Turks & Caicos Islands',\n category: 'Flags'\n },\n {\n emoji: '🇹🇩',\n names: ['chad'],\n tags: [],\n description: 'flag: Chad',\n category: 'Flags'\n },\n {\n emoji: '🇹🇫',\n names: ['french_southern_territories'],\n tags: [],\n description: 'flag: French Southern Territories',\n category: 'Flags'\n },\n {\n emoji: '🇹🇬',\n names: ['togo'],\n tags: [],\n description: 'flag: Togo',\n category: 'Flags'\n },\n {\n emoji: '🇹🇭',\n names: ['thailand'],\n tags: [],\n description: 'flag: Thailand',\n category: 'Flags'\n },\n {\n emoji: '🇹🇯',\n names: ['tajikistan'],\n tags: [],\n description: 'flag: Tajikistan',\n category: 'Flags'\n },\n {\n emoji: '🇹🇰',\n names: ['tokelau'],\n tags: [],\n description: 'flag: Tokelau',\n category: 'Flags'\n },\n {\n emoji: '🇹🇱',\n names: ['timor_leste'],\n tags: [],\n description: 'flag: Timor-Leste',\n category: 'Flags'\n },\n {\n emoji: '🇹🇲',\n names: ['turkmenistan'],\n tags: [],\n description: 'flag: Turkmenistan',\n category: 'Flags'\n },\n {\n emoji: '🇹🇳',\n names: ['tunisia'],\n tags: [],\n description: 'flag: Tunisia',\n category: 'Flags'\n },\n {\n emoji: '🇹🇴',\n names: ['tonga'],\n tags: [],\n description: 'flag: Tonga',\n category: 'Flags'\n },\n {\n emoji: '🇹🇷',\n names: ['tr'],\n tags: ['turkey'],\n description: 'flag: Turkey',\n category: 'Flags'\n },\n {\n emoji: '🇹🇹',\n names: ['trinidad_tobago'],\n tags: [],\n description: 'flag: Trinidad & Tobago',\n category: 'Flags'\n },\n {\n emoji: '🇹🇻',\n names: ['tuvalu'],\n tags: [],\n description: 'flag: Tuvalu',\n category: 'Flags'\n },\n {\n emoji: '🇹🇼',\n names: ['taiwan'],\n tags: [],\n description: 'flag: Taiwan',\n category: 'Flags'\n },\n {\n emoji: '🇹🇿',\n names: ['tanzania'],\n tags: [],\n description: 'flag: Tanzania',\n category: 'Flags'\n },\n {\n emoji: '🇺🇦',\n names: ['ukraine'],\n tags: [],\n description: 'flag: Ukraine',\n category: 'Flags'\n },\n {\n emoji: '🇺🇬',\n names: ['uganda'],\n tags: [],\n description: 'flag: Uganda',\n category: 'Flags'\n },\n {\n emoji: '🇺🇲',\n names: ['us_outlying_islands'],\n tags: [],\n description: 'flag: U.S. Outlying Islands',\n category: 'Flags'\n },\n {\n emoji: '🇺🇳',\n names: ['united_nations'],\n tags: [],\n description: 'flag: United Nations',\n category: 'Flags'\n },\n {\n emoji: '🇺🇸',\n names: ['us'],\n tags: ['flag', 'united', 'america'],\n description: 'flag: United States',\n category: 'Flags'\n },\n {\n emoji: '🇺🇾',\n names: ['uruguay'],\n tags: [],\n description: 'flag: Uruguay',\n category: 'Flags'\n },\n {\n emoji: '🇺🇿',\n names: ['uzbekistan'],\n tags: [],\n description: 'flag: Uzbekistan',\n category: 'Flags'\n },\n {\n emoji: '🇻🇦',\n names: ['vatican_city'],\n tags: [],\n description: 'flag: Vatican City',\n category: 'Flags'\n },\n {\n emoji: '🇻🇨',\n names: ['st_vincent_grenadines'],\n tags: [],\n description: 'flag: St. Vincent & Grenadines',\n category: 'Flags'\n },\n {\n emoji: '🇻🇪',\n names: ['venezuela'],\n tags: [],\n description: 'flag: Venezuela',\n category: 'Flags'\n },\n {\n emoji: '🇻🇬',\n names: ['british_virgin_islands'],\n tags: [],\n description: 'flag: British Virgin Islands',\n category: 'Flags'\n },\n {\n emoji: '🇻🇮',\n names: ['us_virgin_islands'],\n tags: [],\n description: 'flag: U.S. Virgin Islands',\n category: 'Flags'\n },\n {\n emoji: '🇻🇳',\n names: ['vietnam'],\n tags: [],\n description: 'flag: Vietnam',\n category: 'Flags'\n },\n {\n emoji: '🇻🇺',\n names: ['vanuatu'],\n tags: [],\n description: 'flag: Vanuatu',\n category: 'Flags'\n },\n {\n emoji: '🇼🇫',\n names: ['wallis_futuna'],\n tags: [],\n description: 'flag: Wallis & Futuna',\n category: 'Flags'\n },\n {\n emoji: '🇼🇸',\n names: ['samoa'],\n tags: [],\n description: 'flag: Samoa',\n category: 'Flags'\n },\n {\n emoji: '🇽🇰',\n names: ['kosovo'],\n tags: [],\n description: 'flag: Kosovo',\n category: 'Flags'\n },\n {\n emoji: '🇾🇪',\n names: ['yemen'],\n tags: [],\n description: 'flag: Yemen',\n category: 'Flags'\n },\n {\n emoji: '🇾🇹',\n names: ['mayotte'],\n tags: [],\n description: 'flag: Mayotte',\n category: 'Flags'\n },\n {\n emoji: '🇿🇦',\n names: ['south_africa'],\n tags: [],\n description: 'flag: South Africa',\n category: 'Flags'\n },\n {\n emoji: '🇿🇲',\n names: ['zambia'],\n tags: [],\n description: 'flag: Zambia',\n category: 'Flags'\n },\n {\n emoji: '🇿🇼',\n names: ['zimbabwe'],\n tags: [],\n description: 'flag: Zimbabwe',\n category: 'Flags'\n },\n {\n emoji: '🏴󠁧󠁢󠁥󠁮󠁧󠁿',\n names: ['england'],\n tags: [],\n description: 'flag: England',\n category: 'Flags'\n },\n {\n emoji: '🏴󠁧󠁢󠁳󠁣󠁴󠁿',\n names: ['scotland'],\n tags: [],\n description: 'flag: Scotland',\n category: 'Flags'\n },\n {\n emoji: '🏴󠁧󠁢󠁷󠁬󠁳󠁿',\n names: ['wales'],\n tags: [],\n description: 'flag: Wales',\n category: 'Flags'\n }\n]\n\n/**\n * Map of names to emoji.\n *\n * @type {Record<string, string>}\n */\nexport const nameToEmoji = {\n 100: '💯',\n 1234: '🔢',\n grinning: '😀',\n smiley: '😃',\n smile: '😄',\n grin: '😁',\n laughing: '😆',\n satisfied: '😆',\n sweat_smile: '😅',\n rofl: '🤣',\n joy: '😂',\n slightly_smiling_face: '🙂',\n upside_down_face: '🙃',\n melting_face: '🫠',\n wink: '😉',\n blush: '😊',\n innocent: '😇',\n smiling_face_with_three_hearts: '🥰',\n heart_eyes: '😍',\n star_struck: '🤩',\n kissing_heart: '😘',\n kissing: '😗',\n relaxed: '☺️',\n kissing_closed_eyes: '😚',\n kissing_smiling_eyes: '😙',\n smiling_face_with_tear: '🥲',\n yum: '😋',\n stuck_out_tongue: '😛',\n stuck_out_tongue_winking_eye: '😜',\n zany_face: '🤪',\n stuck_out_tongue_closed_eyes: '😝',\n money_mouth_face: '🤑',\n hugs: '🤗',\n hand_over_mouth: '🤭',\n face_with_open_eyes_and_hand_over_mouth: '🫢',\n face_with_peeking_eye: '🫣',\n shushing_face: '🤫',\n thinking: '🤔',\n saluting_face: '🫡',\n zipper_mouth_face: '🤐',\n raised_eyebrow: '🤨',\n neutral_face: '😐',\n expressionless: '😑',\n no_mouth: '😶',\n dotted_line_face: '🫥',\n face_in_clouds: '😶‍🌫️',\n smirk: '😏',\n unamused: '😒',\n roll_eyes: '🙄',\n grimacing: '😬',\n face_exhaling: '😮‍💨',\n lying_face: '🤥',\n shaking_face: '🫨',\n relieved: '😌',\n pensive: '😔',\n sleepy: '😪',\n drooling_face: '🤤',\n sleeping: '😴',\n mask: '😷',\n face_with_thermometer: '🤒',\n face_with_head_bandage: '🤕',\n nauseated_face: '🤢',\n vomiting_face: '🤮',\n sneezing_face: '🤧',\n hot_face: '🥵',\n cold_face: '🥶',\n woozy_face: '🥴',\n dizzy_face: '😵',\n face_with_spiral_eyes: '😵‍💫',\n exploding_head: '🤯',\n cowboy_hat_face: '🤠',\n partying_face: '🥳',\n disguised_face: '🥸',\n sunglasses: '😎',\n nerd_face: '🤓',\n monocle_face: '🧐',\n confused: '😕',\n face_with_diagonal_mouth: '🫤',\n worried: '😟',\n slightly_frowning_face: '🙁',\n frowning_face: '☹️',\n open_mouth: '😮',\n hushed: '😯',\n astonished: '😲',\n flushed: '😳',\n pleading_face: '🥺',\n face_holding_back_tears: '🥹',\n frowning: '😦',\n anguished: '😧',\n fearful: '😨',\n cold_sweat: '😰',\n disappointed_relieved: '😥',\n cry: '😢',\n sob: '😭',\n scream: '😱',\n confounded: '😖',\n persevere: '😣',\n disappointed: '😞',\n sweat: '😓',\n weary: '😩',\n tired_face: '😫',\n yawning_face: '🥱',\n triumph: '😤',\n rage: '😡',\n pout: '😡',\n angry: '😠',\n cursing_face: '🤬',\n smiling_imp: '😈',\n imp: '👿',\n skull: '💀',\n skull_and_crossbones: '☠️',\n hankey: '💩',\n poop: '💩',\n shit: '💩',\n clown_face: '🤡',\n japanese_ogre: '👹',\n japanese_goblin: '👺',\n ghost: '👻',\n alien: '👽',\n space_invader: '👾',\n robot: '🤖',\n smiley_cat: '😺',\n smile_cat: '😸',\n joy_cat: '😹',\n heart_eyes_cat: '😻',\n smirk_cat: '😼',\n kissing_cat: '😽',\n scream_cat: '🙀',\n crying_cat_face: '😿',\n pouting_cat: '😾',\n see_no_evil: '🙈',\n hear_no_evil: '🙉',\n speak_no_evil: '🙊',\n love_letter: '💌',\n cupid: '💘',\n gift_heart: '💝',\n sparkling_heart: '💖',\n heartpulse: '💗',\n heartbeat: '💓',\n revolving_hearts: '💞',\n two_hearts: '💕',\n heart_decoration: '💟',\n heavy_heart_exclamation: '❣️',\n broken_heart: '💔',\n heart_on_fire: '❤️‍🔥',\n mending_heart: '❤️‍🩹',\n heart: '❤️',\n pink_heart: '🩷',\n orange_heart: '🧡',\n yellow_heart: '💛',\n green_heart: '💚',\n blue_heart: '💙',\n light_blue_heart: '🩵',\n purple_heart: '💜',\n brown_heart: '🤎',\n black_heart: '🖤',\n grey_heart: '🩶',\n white_heart: '🤍',\n kiss: '💋',\n anger: '💢',\n boom: '💥',\n collision: '💥',\n dizzy: '💫',\n sweat_drops: '💦',\n dash: '💨',\n hole: '🕳️',\n speech_balloon: '💬',\n eye_speech_bubble: '👁️‍🗨️',\n left_speech_bubble: '🗨️',\n right_anger_bubble: '🗯️',\n thought_balloon: '💭',\n zzz: '💤',\n wave: '👋',\n raised_back_of_hand: '🤚',\n raised_hand_with_fingers_splayed: '🖐️',\n hand: '✋',\n raised_hand: '✋',\n vulcan_salute: '🖖',\n rightwards_hand: '🫱',\n leftwards_hand: '🫲',\n palm_down_hand: '🫳',\n palm_up_hand: '🫴',\n leftwards_pushing_hand: '🫷',\n rightwards_pushing_hand: '🫸',\n ok_hand: '👌',\n pinched_fingers: '🤌',\n pinching_hand: '🤏',\n v: '✌️',\n crossed_fingers: '🤞',\n hand_with_index_finger_and_thumb_crossed: '🫰',\n love_you_gesture: '🤟',\n metal: '🤘',\n call_me_hand: '🤙',\n point_left: '👈',\n point_right: '👉',\n point_up_2: '👆',\n middle_finger: '🖕',\n fu: '🖕',\n point_down: '👇',\n point_up: '☝️',\n index_pointing_at_the_viewer: '🫵',\n '+1': '👍',\n thumbsup: '👍',\n '-1': '👎',\n thumbsdown: '👎',\n fist_raised: '✊',\n fist: '✊',\n fist_oncoming: '👊',\n facepunch: '👊',\n punch: '👊',\n fist_left: '🤛',\n fist_right: '🤜',\n clap: '👏',\n raised_hands: '🙌',\n heart_hands: '🫶',\n open_hands: '👐',\n palms_up_together: '🤲',\n handshake: '🤝',\n pray: '🙏',\n writing_hand: '✍️',\n nail_care: '💅',\n selfie: '🤳',\n muscle: '💪',\n mechanical_arm: '🦾',\n mechanical_leg: '🦿',\n leg: '🦵',\n foot: '🦶',\n ear: '👂',\n ear_with_hearing_aid: '🦻',\n nose: '👃',\n brain: '🧠',\n anatomical_heart: '🫀',\n lungs: '🫁',\n tooth: '🦷',\n bone: '🦴',\n eyes: '👀',\n eye: '👁️',\n tongue: '👅',\n lips: '👄',\n biting_lip: '🫦',\n baby: '👶',\n child: '🧒',\n boy: '👦',\n girl: '👧',\n adult: '🧑',\n blond_haired_person: '👱',\n man: '👨',\n bearded_person: '🧔',\n man_beard: '🧔‍♂️',\n woman_beard: '🧔‍♀️',\n red_haired_man: '👨‍🦰',\n curly_haired_man: '👨‍🦱',\n white_haired_man: '👨‍🦳',\n bald_man: '👨‍🦲',\n woman: '👩',\n red_haired_woman: '👩‍🦰',\n person_red_hair: '🧑‍🦰',\n curly_haired_woman: '👩‍🦱',\n person_curly_hair: '🧑‍🦱',\n white_haired_woman: '👩‍🦳',\n person_white_hair: '🧑‍🦳',\n bald_woman: '👩‍🦲',\n person_bald: '🧑‍🦲',\n blond_haired_woman: '👱‍♀️',\n blonde_woman: '👱‍♀️',\n blond_haired_man: '👱‍♂️',\n older_adult: '🧓',\n older_man: '👴',\n older_woman: '👵',\n frowning_person: '🙍',\n frowning_man: '🙍‍♂️',\n frowning_woman: '🙍‍♀️',\n pouting_face: '🙎',\n pouting_man: '🙎‍♂️',\n pouting_woman: '🙎‍♀️',\n no_good: '🙅',\n no_good_man: '🙅‍♂️',\n ng_man: '🙅‍♂️',\n no_good_woman: '🙅‍♀️',\n ng_woman: '🙅‍♀️',\n ok_person: '🙆',\n ok_man: '🙆‍♂️',\n ok_woman: '🙆‍♀️',\n tipping_hand_person: '💁',\n information_desk_person: '💁',\n tipping_hand_man: '💁‍♂️',\n sassy_man: '💁‍♂️',\n tipping_hand_woman: '💁‍♀️',\n sassy_woman: '💁‍♀️',\n raising_hand: '🙋',\n raising_hand_man: '🙋‍♂️',\n raising_hand_woman: '🙋‍♀️',\n deaf_person: '🧏',\n deaf_man: '🧏‍♂️',\n deaf_woman: '🧏‍♀️',\n bow: '🙇',\n bowing_man: '🙇‍♂️',\n bowing_woman: '🙇‍♀️',\n facepalm: '🤦',\n man_facepalming: '🤦‍♂️',\n woman_facepalming: '🤦‍♀️',\n shrug: '🤷',\n man_shrugging: '🤷‍♂️',\n woman_shrugging: '🤷‍♀️',\n health_worker: '🧑‍⚕️',\n man_health_worker: '👨‍⚕️',\n woman_health_worker: '👩‍⚕️',\n student: '🧑‍🎓',\n man_student: '👨‍🎓',\n woman_student: '👩‍🎓',\n teacher: '🧑‍🏫',\n man_teacher: '👨‍🏫',\n woman_teacher: '👩‍🏫',\n judge: '🧑‍⚖️',\n man_judge: '👨‍⚖️',\n woman_judge: '👩‍⚖️',\n farmer: '🧑‍🌾',\n man_farmer: '👨‍🌾',\n woman_farmer: '👩‍🌾',\n cook: '🧑‍🍳',\n man_cook: '👨‍🍳',\n woman_cook: '👩‍🍳',\n mechanic: '🧑‍🔧',\n man_mechanic: '👨‍🔧',\n woman_mechanic: '👩‍🔧',\n factory_worker: '🧑‍🏭',\n man_factory_worker: '👨‍🏭',\n woman_factory_worker: '👩‍🏭',\n office_worker: '🧑‍💼',\n man_office_worker: '👨‍💼',\n woman_office_worker: '👩‍💼',\n scientist: '🧑‍🔬',\n man_scientist: '👨‍🔬',\n woman_scientist: '👩‍🔬',\n technologist: '🧑‍💻',\n man_technologist: '👨‍💻',\n woman_technologist: '👩‍💻',\n singer: '🧑‍🎤',\n man_singer: '👨‍🎤',\n woman_singer: '👩‍🎤',\n artist: '🧑‍🎨',\n man_artist: '👨‍🎨',\n woman_artist: '👩‍🎨',\n pilot: '🧑‍✈️',\n man_pilot: '👨‍✈️',\n woman_pilot: '👩‍✈️',\n astronaut: '🧑‍🚀',\n man_astronaut: '👨‍🚀',\n woman_astronaut: '👩‍🚀',\n firefighter: '🧑‍🚒',\n man_firefighter: '👨‍🚒',\n woman_firefighter: '👩‍🚒',\n police_officer: '👮',\n cop: '👮',\n policeman: '👮‍♂️',\n policewoman: '👮‍♀️',\n detective: '🕵️',\n male_detective: '🕵️‍♂️',\n female_detective: '🕵️‍♀️',\n guard: '💂',\n guardsman: '💂‍♂️',\n guardswoman: '💂‍♀️',\n ninja: '🥷',\n construction_worker: '👷',\n construction_worker_man: '👷‍♂️',\n construction_worker_woman: '👷‍♀️',\n person_with_crown: '🫅',\n prince: '🤴',\n princess: '👸',\n person_with_turban: '👳',\n man_with_turban: '👳‍♂️',\n woman_with_turban: '👳‍♀️',\n man_with_gua_pi_mao: '👲',\n woman_with_headscarf: '🧕',\n person_in_tuxedo: '🤵',\n man_in_tuxedo: '🤵‍♂️',\n woman_in_tuxedo: '🤵‍♀️',\n person_with_veil: '👰',\n man_with_veil: '👰‍♂️',\n woman_with_veil: '👰‍♀️',\n bride_with_veil: '👰‍♀️',\n pregnant_woman: '🤰',\n pregnant_man: '🫃',\n pregnant_person: '🫄',\n breast_feeding: '🤱',\n woman_feeding_baby: '👩‍🍼',\n man_feeding_baby: '👨‍🍼',\n person_feeding_baby: '🧑‍🍼',\n angel: '👼',\n santa: '🎅',\n mrs_claus: '🤶',\n mx_claus: '🧑‍🎄',\n superhero: '🦸',\n superhero_man: '🦸‍♂️',\n superhero_woman: '🦸‍♀️',\n supervillain: '🦹',\n supervillain_man: '🦹‍♂️',\n supervillain_woman: '🦹‍♀️',\n mage: '🧙',\n mage_man: '🧙‍♂️',\n mage_woman: '🧙‍♀️',\n fairy: '🧚',\n fairy_man: '🧚‍♂️',\n fairy_woman: '🧚‍♀️',\n vampire: '🧛',\n vampire_man: '🧛‍♂️',\n vampire_woman: '🧛‍♀️',\n merperson: '🧜',\n merman: '🧜‍♂️',\n mermaid: '🧜‍♀️',\n elf: '🧝',\n elf_man: '🧝‍♂️',\n elf_woman: '🧝‍♀️',\n genie: '🧞',\n genie_man: '🧞‍♂️',\n genie_woman: '🧞‍♀️',\n zombie: '🧟',\n zombie_man: '🧟‍♂️',\n zombie_woman: '🧟‍♀️',\n troll: '🧌',\n massage: '💆',\n massage_man: '💆‍♂️',\n massage_woman: '💆‍♀️',\n haircut: '💇',\n haircut_man: '💇‍♂️',\n haircut_woman: '💇‍♀️',\n walking: '🚶',\n walking_man: '🚶‍♂️',\n walking_woman: '🚶‍♀️',\n standing_person: '🧍',\n standing_man: '🧍‍♂️',\n standing_woman: '🧍‍♀️',\n kneeling_person: '🧎',\n kneeling_man: '🧎‍♂️',\n kneeling_woman: '🧎‍♀️',\n person_with_probing_cane: '🧑‍🦯',\n man_with_probing_cane: '👨‍🦯',\n woman_with_probing_cane: '👩‍🦯',\n person_in_motorized_wheelchair: '🧑‍🦼',\n man_in_motorized_wheelchair: '👨‍🦼',\n woman_in_motorized_wheelchair: '👩‍🦼',\n person_in_manual_wheelchair: '🧑‍🦽',\n man_in_manual_wheelchair: '👨‍🦽',\n woman_in_manual_wheelchair: '👩‍🦽',\n runner: '🏃',\n running: '🏃',\n running_man: '🏃‍♂️',\n running_woman: '🏃‍♀️',\n woman_dancing: '💃',\n dancer: '💃',\n man_dancing: '🕺',\n business_suit_levitating: '🕴️',\n dancers: '👯',\n dancing_men: '👯‍♂️',\n dancing_women: '👯‍♀️',\n sauna_person: '🧖',\n sauna_man: '🧖‍♂️',\n sauna_woman: '🧖‍♀️',\n climbing: '🧗',\n climbing_man: '🧗‍♂️',\n climbing_woman: '🧗‍♀️',\n person_fencing: '🤺',\n horse_racing: '🏇',\n skier: '⛷️',\n snowboarder: '🏂',\n golfing: '🏌️',\n golfing_man: '🏌️‍♂️',\n golfing_woman: '🏌️‍♀️',\n surfer: '🏄',\n surfing_man: '🏄‍♂️',\n surfing_woman: '🏄‍♀️',\n rowboat: '🚣',\n rowing_man: '🚣‍♂️',\n rowing_woman: '🚣‍♀️',\n swimmer: '🏊',\n swimming_man: '🏊‍♂️',\n swimming_woman: '🏊‍♀️',\n bouncing_ball_person: '⛹️',\n bouncing_ball_man: '⛹️‍♂️',\n basketball_man: '⛹️‍♂️',\n bouncing_ball_woman: '⛹️‍♀️',\n basketball_woman: '⛹️‍♀️',\n weight_lifting: '🏋️',\n weight_lifting_man: '🏋️‍♂️',\n weight_lifting_woman: '🏋️‍♀️',\n bicyclist: '🚴',\n biking_man: '🚴‍♂️',\n biking_woman: '🚴‍♀️',\n mountain_bicyclist: '🚵',\n mountain_biking_man: '🚵‍♂️',\n mountain_biking_woman: '🚵‍♀️',\n cartwheeling: '🤸',\n man_cartwheeling: '🤸‍♂️',\n woman_cartwheeling: '🤸‍♀️',\n wrestling: '🤼',\n men_wrestling: '🤼‍♂️',\n women_wrestling: '🤼‍♀️',\n water_polo: '🤽',\n man_playing_water_polo: '🤽‍♂️',\n woman_playing_water_polo: '🤽‍♀️',\n handball_person: '🤾',\n man_playing_handball: '🤾‍♂️',\n woman_playing_handball: '🤾‍♀️',\n juggling_person: '🤹',\n man_juggling: '🤹‍♂️',\n woman_juggling: '🤹‍♀️',\n lotus_position: '🧘',\n lotus_position_man: '🧘‍♂️',\n lotus_position_woman: '🧘‍♀️',\n bath: '🛀',\n sleeping_bed: '🛌',\n people_holding_hands: '🧑‍🤝‍🧑',\n two_women_holding_hands: '👭',\n couple: '👫',\n two_men_holding_hands: '👬',\n couplekiss: '💏',\n couplekiss_man_woman: '👩‍❤️‍💋‍👨',\n couplekiss_man_man: '👨‍❤️‍💋‍👨',\n couplekiss_woman_woman: '👩‍❤️‍💋‍👩',\n couple_with_heart: '💑',\n couple_with_heart_woman_man: '👩‍❤️‍👨',\n couple_with_heart_man_man: '👨‍❤️‍👨',\n couple_with_heart_woman_woman: '👩‍❤️‍👩',\n family: '👪',\n family_man_woman_boy: '👨‍👩‍👦',\n family_man_woman_girl: '👨‍👩‍👧',\n family_man_woman_girl_boy: '👨‍👩‍👧‍👦',\n family_man_woman_boy_boy: '👨‍👩‍👦‍👦',\n family_man_woman_girl_girl: '👨‍👩‍👧‍👧',\n family_man_man_boy: '👨‍👨‍👦',\n family_man_man_girl: '👨‍👨‍👧',\n family_man_man_girl_boy: '👨‍👨‍👧‍👦',\n family_man_man_boy_boy: '👨‍👨‍👦‍👦',\n family_man_man_girl_girl: '👨‍👨‍👧‍👧',\n family_woman_woman_boy: '👩‍👩‍👦',\n family_woman_woman_girl: '👩‍👩‍👧',\n family_woman_woman_girl_boy: '👩‍👩‍👧‍👦',\n family_woman_woman_boy_boy: '👩‍👩‍👦‍👦',\n family_woman_woman_girl_girl: '👩‍👩‍👧‍👧',\n family_man_boy: '👨‍👦',\n family_man_boy_boy: '👨‍👦‍👦',\n family_man_girl: '👨‍👧',\n family_man_girl_boy: '👨‍👧‍👦',\n family_man_girl_girl: '👨‍👧‍👧',\n family_woman_boy: '👩‍👦',\n family_woman_boy_boy: '👩‍👦‍👦',\n family_woman_girl: '👩‍👧',\n family_woman_girl_boy: '👩‍👧‍👦',\n family_woman_girl_girl: '👩‍👧‍👧',\n speaking_head: '🗣️',\n bust_in_silhouette: '👤',\n busts_in_silhouette: '👥',\n people_hugging: '🫂',\n footprints: '👣',\n monkey_face: '🐵',\n monkey: '🐒',\n gorilla: '🦍',\n orangutan: '🦧',\n dog: '🐶',\n dog2: '🐕',\n guide_dog: '🦮',\n service_dog: '🐕‍🦺',\n poodle: '🐩',\n wolf: '🐺',\n fox_face: '🦊',\n raccoon: '🦝',\n cat: '🐱',\n cat2: '🐈',\n black_cat: '🐈‍⬛',\n lion: '🦁',\n tiger: '🐯',\n tiger2: '🐅',\n leopard: '🐆',\n horse: '🐴',\n moose: '🫎',\n donkey: '🫏',\n racehorse: '🐎',\n unicorn: '🦄',\n zebra: '🦓',\n deer: '🦌',\n bison: '🦬',\n cow: '🐮',\n ox: '🐂',\n water_buffalo: '🐃',\n cow2: '🐄',\n pig: '🐷',\n pig2: '🐖',\n boar: '🐗',\n pig_nose: '🐽',\n ram: '🐏',\n sheep: '🐑',\n goat: '🐐',\n dromedary_camel: '🐪',\n camel: '🐫',\n llama: '🦙',\n giraffe: '🦒',\n elephant: '🐘',\n mammoth: '🦣',\n rhinoceros: '🦏',\n hippopotamus: '🦛',\n mouse: '🐭',\n mouse2: '🐁',\n rat: '🐀',\n hamster: '🐹',\n rabbit: '🐰',\n rabbit2: '🐇',\n chipmunk: '🐿️',\n beaver: '🦫',\n hedgehog: '🦔',\n bat: '🦇',\n bear: '🐻',\n polar_bear: '🐻‍❄️',\n koala: '🐨',\n panda_face: '🐼',\n sloth: '🦥',\n otter: '🦦',\n skunk: '🦨',\n kangaroo: '🦘',\n badger: '🦡',\n feet: '🐾',\n paw_prints: '🐾',\n turkey: '🦃',\n chicken: '🐔',\n rooster: '🐓',\n hatching_chick: '🐣',\n baby_chick: '🐤',\n hatched_chick: '🐥',\n bird: '🐦',\n penguin: '🐧',\n dove: '🕊️',\n eagle: '🦅',\n duck: '🦆',\n swan: '🦢',\n owl: '🦉',\n dodo: '🦤',\n feather: '🪶',\n flamingo: '🦩',\n peacock: '🦚',\n parrot: '🦜',\n wing: '🪽',\n black_bird: '🐦‍⬛',\n goose: '🪿',\n frog: '🐸',\n crocodile: '🐊',\n turtle: '🐢',\n lizard: '🦎',\n snake: '🐍',\n dragon_face: '🐲',\n dragon: '🐉',\n sauropod: '🦕',\n 't-rex': '🦖',\n whale: '🐳',\n whale2: '🐋',\n dolphin: '🐬',\n flipper: '🐬',\n seal: '🦭',\n fish: '🐟',\n tropical_fish: '🐠',\n blowfish: '🐡',\n shark: '🦈',\n octopus: '🐙',\n shell: '🐚',\n coral: '🪸',\n jellyfish: '🪼',\n snail: '🐌',\n butterfly: '🦋',\n bug: '🐛',\n ant: '🐜',\n bee: '🐝',\n honeybee: '🐝',\n beetle: '🪲',\n lady_beetle: '🐞',\n cricket: '🦗',\n cockroach: '🪳',\n spider: '🕷️',\n spider_web: '🕸️',\n scorpion: '🦂',\n mosquito: '🦟',\n fly: '🪰',\n worm: '🪱',\n microbe: '🦠',\n bouquet: '💐',\n cherry_blossom: '🌸',\n white_flower: '💮',\n lotus: '🪷',\n rosette: '🏵️',\n rose: '🌹',\n wilted_flower: '🥀',\n hibiscus: '🌺',\n sunflower: '🌻',\n blossom: '🌼',\n tulip: '🌷',\n hyacinth: '🪻',\n seedling: '🌱',\n potted_plant: '🪴',\n evergreen_tree: '🌲',\n deciduous_tree: '🌳',\n palm_tree: '🌴',\n cactus: '🌵',\n ear_of_rice: '🌾',\n herb: '🌿',\n shamrock: '☘️',\n four_leaf_clover: '🍀',\n maple_leaf: '🍁',\n fallen_leaf: '🍂',\n leaves: '🍃',\n empty_nest: '🪹',\n nest_with_eggs: '🪺',\n mushroom: '🍄',\n grapes: '🍇',\n melon: '🍈',\n watermelon: '🍉',\n tangerine: '🍊',\n orange: '🍊',\n mandarin: '🍊',\n lemon: '🍋',\n banana: '🍌',\n pineapple: '🍍',\n mango: '🥭',\n apple: '🍎',\n green_apple: '🍏',\n pear: '🍐',\n peach: '🍑',\n cherries: '🍒',\n strawberry: '🍓',\n blueberries: '🫐',\n kiwi_fruit: '🥝',\n tomato: '🍅',\n olive: '🫒',\n coconut: '🥥',\n avocado: '🥑',\n eggplant: '🍆',\n potato: '🥔',\n carrot: '🥕',\n corn: '🌽',\n hot_pepper: '🌶️',\n bell_pepper: '🫑',\n cucumber: '🥒',\n leafy_green: '🥬',\n broccoli: '🥦',\n garlic: '🧄',\n onion: '🧅',\n peanuts: '🥜',\n beans: '🫘',\n chestnut: '🌰',\n ginger_root: '🫚',\n pea_pod: '🫛',\n bread: '🍞',\n croissant: '🥐',\n baguette_bread: '🥖',\n flatbread: '🫓',\n pretzel: '🥨',\n bagel: '🥯',\n pancakes: '🥞',\n waffle: '🧇',\n cheese: '🧀',\n meat_on_bone: '🍖',\n poultry_leg: '🍗',\n cut_of_meat: '🥩',\n bacon: '🥓',\n hamburger: '🍔',\n fries: '🍟',\n pizza: '🍕',\n hotdog: '🌭',\n sandwich: '🥪',\n taco: '🌮',\n burrito: '🌯',\n tamale: '🫔',\n stuffed_flatbread: '🥙',\n falafel: '🧆',\n egg: '🥚',\n fried_egg: '🍳',\n shallow_pan_of_food: '🥘',\n stew: '🍲',\n fondue: '🫕',\n bowl_with_spoon: '🥣',\n green_salad: '🥗',\n popcorn: '🍿',\n butter: '🧈',\n salt: '🧂',\n canned_food: '🥫',\n bento: '🍱',\n rice_cracker: '🍘',\n rice_ball: '🍙',\n rice: '🍚',\n curry: '🍛',\n ramen: '🍜',\n spaghetti: '🍝',\n sweet_potato: '🍠',\n oden: '🍢',\n sushi: '🍣',\n fried_shrimp: '🍤',\n fish_cake: '🍥',\n moon_cake: '🥮',\n dango: '🍡',\n dumpling: '🥟',\n fortune_cookie: '🥠',\n takeout_box: '🥡',\n crab: '🦀',\n lobster: '🦞',\n shrimp: '🦐',\n squid: '🦑',\n oyster: '🦪',\n icecream: '🍦',\n shaved_ice: '🍧',\n ice_cream: '🍨',\n doughnut: '🍩',\n cookie: '🍪',\n birthday: '🎂',\n cake: '🍰',\n cupcake: '🧁',\n pie: '🥧',\n chocolate_bar: '🍫',\n candy: '🍬',\n lollipop: '🍭',\n custard: '🍮',\n honey_pot: '🍯',\n baby_bottle: '🍼',\n milk_glass: '🥛',\n coffee: '☕',\n teapot: '🫖',\n tea: '🍵',\n sake: '🍶',\n champagne: '🍾',\n wine_glass: '🍷',\n cocktail: '🍸',\n tropical_drink: '🍹',\n beer: '🍺',\n beers: '🍻',\n clinking_glasses: '🥂',\n tumbler_glass: '🥃',\n pouring_liquid: '🫗',\n cup_with_straw: '🥤',\n bubble_tea: '🧋',\n beverage_box: '🧃',\n mate: '🧉',\n ice_cube: '🧊',\n chopsticks: '🥢',\n plate_with_cutlery: '🍽️',\n fork_and_knife: '🍴',\n spoon: '🥄',\n hocho: '🔪',\n knife: '🔪',\n jar: '🫙',\n amphora: '🏺',\n earth_africa: '🌍',\n earth_americas: '🌎',\n earth_asia: '🌏',\n globe_with_meridians: '🌐',\n world_map: '🗺️',\n japan: '🗾',\n compass: '🧭',\n mountain_snow: '🏔️',\n mountain: '⛰️',\n volcano: '🌋',\n mount_fuji: '🗻',\n camping: '🏕️',\n beach_umbrella: '🏖️',\n desert: '🏜️',\n desert_island: '🏝️',\n national_park: '🏞️',\n stadium: '🏟️',\n classical_building: '🏛️',\n building_construction: '🏗️',\n bricks: '🧱',\n rock: '🪨',\n wood: '🪵',\n hut: '🛖',\n houses: '🏘️',\n derelict_house: '🏚️',\n house: '🏠',\n house_with_garden: '🏡',\n office: '🏢',\n post_office: '🏣',\n european_post_office: '🏤',\n hospital: '🏥',\n bank: '🏦',\n hotel: '🏨',\n love_hotel: '🏩',\n convenience_store: '🏪',\n school: '🏫',\n department_store: '🏬',\n factory: '🏭',\n japanese_castle: '🏯',\n european_castle: '🏰',\n wedding: '💒',\n tokyo_tower: '🗼',\n statue_of_liberty: '🗽',\n church: '⛪',\n mosque: '🕌',\n hindu_temple: '🛕',\n synagogue: '🕍',\n shinto_shrine: '⛩️',\n kaaba: '🕋',\n fountain: '⛲',\n tent: '⛺',\n foggy: '🌁',\n night_with_stars: '🌃',\n cityscape: '🏙️',\n sunrise_over_mountains: '🌄',\n sunrise: '🌅',\n city_sunset: '🌆',\n city_sunrise: '🌇',\n bridge_at_night: '🌉',\n hotsprings: '♨️',\n carousel_horse: '🎠',\n playground_slide: '🛝',\n ferris_wheel: '🎡',\n roller_coaster: '🎢',\n barber: '💈',\n circus_tent: '🎪',\n steam_locomotive: '🚂',\n railway_car: '🚃',\n bullettrain_side: '🚄',\n bullettrain_front: '🚅',\n train2: '🚆',\n metro: '🚇',\n light_rail: '🚈',\n station: '🚉',\n tram: '🚊',\n monorail: '🚝',\n mountain_railway: '🚞',\n train: '🚋',\n bus: '🚌',\n oncoming_bus: '🚍',\n trolleybus: '🚎',\n minibus: '🚐',\n ambulance: '🚑',\n fire_engine: '🚒',\n police_car: '🚓',\n oncoming_police_car: '🚔',\n taxi: '🚕',\n oncoming_taxi: '🚖',\n car: '🚗',\n red_car: '🚗',\n oncoming_automobile: '🚘',\n blue_car: '🚙',\n pickup_truck: '🛻',\n truck: '🚚',\n articulated_lorry: '🚛',\n tractor: '🚜',\n racing_car: '🏎️',\n motorcycle: '🏍️',\n motor_scooter: '🛵',\n manual_wheelchair: '🦽',\n motorized_wheelchair: '🦼',\n auto_rickshaw: '🛺',\n bike: '🚲',\n kick_scooter: '🛴',\n skateboard: '🛹',\n roller_skate: '🛼',\n busstop: '🚏',\n motorway: '🛣️',\n railway_track: '🛤️',\n oil_drum: '🛢️',\n fuelpump: '⛽',\n wheel: '🛞',\n rotating_light: '🚨',\n traffic_light: '🚥',\n vertical_traffic_light: '🚦',\n stop_sign: '🛑',\n construction: '🚧',\n anchor: '⚓',\n ring_buoy: '🛟',\n boat: '⛵',\n sailboat: '⛵',\n canoe: '🛶',\n speedboat: '🚤',\n passenger_ship: '🛳️',\n ferry: '⛴️',\n motor_boat: '🛥️',\n ship: '🚢',\n airplane: '✈️',\n small_airplane: '🛩️',\n flight_departure: '🛫',\n flight_arrival: '🛬',\n parachute: '🪂',\n seat: '💺',\n helicopter: '🚁',\n suspension_railway: '🚟',\n mountain_cableway: '🚠',\n aerial_tramway: '🚡',\n artificial_satellite: '🛰️',\n rocket: '🚀',\n flying_saucer: '🛸',\n bellhop_bell: '🛎️',\n luggage: '🧳',\n hourglass: '⌛',\n hourglass_flowing_sand: '⏳',\n watch: '⌚',\n alarm_clock: '⏰',\n stopwatch: '⏱️',\n timer_clock: '⏲️',\n mantelpiece_clock: '🕰️',\n clock12: '🕛',\n clock1230: '🕧',\n clock1: '🕐',\n clock130: '🕜',\n clock2: '🕑',\n clock230: '🕝',\n clock3: '🕒',\n clock330: '🕞',\n clock4: '🕓',\n clock430: '🕟',\n clock5: '🕔',\n clock530: '🕠',\n clock6: '🕕',\n clock630: '🕡',\n clock7: '🕖',\n clock730: '🕢',\n clock8: '🕗',\n clock830: '🕣',\n clock9: '🕘',\n clock930: '🕤',\n clock10: '🕙',\n clock1030: '🕥',\n clock11: '🕚',\n clock1130: '🕦',\n new_moon: '🌑',\n waxing_crescent_moon: '🌒',\n first_quarter_moon: '🌓',\n moon: '🌔',\n waxing_gibbous_moon: '🌔',\n full_moon: '🌕',\n waning_gibbous_moon: '🌖',\n last_quarter_moon: '🌗',\n waning_crescent_moon: '🌘',\n crescent_moon: '🌙',\n new_moon_with_face: '🌚',\n first_quarter_moon_with_face: '🌛',\n last_quarter_moon_with_face: '🌜',\n thermometer: '🌡️',\n sunny: '☀️',\n full_moon_with_face: '🌝',\n sun_with_face: '🌞',\n ringed_planet: '🪐',\n star: '⭐',\n star2: '🌟',\n stars: '🌠',\n milky_way: '🌌',\n cloud: '☁️',\n partly_sunny: '⛅',\n cloud_with_lightning_and_rain: '⛈️',\n sun_behind_small_cloud: '🌤️',\n sun_behind_large_cloud: '🌥️',\n sun_behind_rain_cloud: '🌦️',\n cloud_with_rain: '🌧️',\n cloud_with_snow: '🌨️',\n cloud_with_lightning: '🌩️',\n tornado: '🌪️',\n fog: '🌫️',\n wind_face: '🌬️',\n cyclone: '🌀',\n rainbow: '🌈',\n closed_umbrella: '🌂',\n open_umbrella: '☂️',\n umbrella: '☔',\n parasol_on_ground: '⛱️',\n zap: '⚡',\n snowflake: '❄️',\n snowman_with_snow: '☃️',\n snowman: '⛄',\n comet: '☄️',\n fire: '🔥',\n droplet: '💧',\n ocean: '🌊',\n jack_o_lantern: '🎃',\n christmas_tree: '🎄',\n fireworks: '🎆',\n sparkler: '🎇',\n firecracker: '🧨',\n sparkles: '✨',\n balloon: '🎈',\n tada: '🎉',\n confetti_ball: '🎊',\n tanabata_tree: '🎋',\n bamboo: '🎍',\n dolls: '🎎',\n flags: '🎏',\n wind_chime: '🎐',\n rice_scene: '🎑',\n red_envelope: '🧧',\n ribbon: '🎀',\n gift: '🎁',\n reminder_ribbon: '🎗️',\n tickets: '🎟️',\n ticket: '🎫',\n medal_military: '🎖️',\n trophy: '🏆',\n medal_sports: '🏅',\n '1st_place_medal': '🥇',\n '2nd_place_medal': '🥈',\n '3rd_place_medal': '🥉',\n soccer: '⚽',\n baseball: '⚾',\n softball: '🥎',\n basketball: '🏀',\n volleyball: '🏐',\n football: '🏈',\n rugby_football: '🏉',\n tennis: '🎾',\n flying_disc: '🥏',\n bowling: '🎳',\n cricket_game: '🏏',\n field_hockey: '🏑',\n ice_hockey: '🏒',\n lacrosse: '🥍',\n ping_pong: '🏓',\n badminton: '🏸',\n boxing_glove: '🥊',\n martial_arts_uniform: '🥋',\n goal_net: '🥅',\n golf: '⛳',\n ice_skate: '⛸️',\n fishing_pole_and_fish: '🎣',\n diving_mask: '🤿',\n running_shirt_with_sash: '🎽',\n ski: '🎿',\n sled: '🛷',\n curling_stone: '🥌',\n dart: '🎯',\n yo_yo: '🪀',\n kite: '🪁',\n gun: '🔫',\n '8ball': '🎱',\n crystal_ball: '🔮',\n magic_wand: '🪄',\n video_game: '🎮',\n joystick: '🕹️',\n slot_machine: '🎰',\n game_die: '🎲',\n jigsaw: '🧩',\n teddy_bear: '🧸',\n pinata: '🪅',\n mirror_ball: '🪩',\n nesting_dolls: '🪆',\n spades: '♠️',\n hearts: '♥️',\n diamonds: '♦️',\n clubs: '♣️',\n chess_pawn: '♟️',\n black_joker: '🃏',\n mahjong: '🀄',\n flower_playing_cards: '🎴',\n performing_arts: '🎭',\n framed_picture: '🖼️',\n art: '🎨',\n thread: '🧵',\n sewing_needle: '🪡',\n yarn: '🧶',\n knot: '🪢',\n eyeglasses: '👓',\n dark_sunglasses: '🕶️',\n goggles: '🥽',\n lab_coat: '🥼',\n safety_vest: '🦺',\n necktie: '👔',\n shirt: '👕',\n tshirt: '👕',\n jeans: '👖',\n scarf: '🧣',\n gloves: '🧤',\n coat: '🧥',\n socks: '🧦',\n dress: '👗',\n kimono: '👘',\n sari: '🥻',\n one_piece_swimsuit: '🩱',\n swim_brief: '🩲',\n shorts: '🩳',\n bikini: '👙',\n womans_clothes: '👚',\n folding_hand_fan: '🪭',\n purse: '👛',\n handbag: '👜',\n pouch: '👝',\n shopping: '🛍️',\n school_satchel: '🎒',\n thong_sandal: '🩴',\n mans_shoe: '👞',\n shoe: '👞',\n athletic_shoe: '👟',\n hiking_boot: '🥾',\n flat_shoe: '🥿',\n high_heel: '👠',\n sandal: '👡',\n ballet_shoes: '🩰',\n boot: '👢',\n hair_pick: '🪮',\n crown: '👑',\n womans_hat: '👒',\n tophat: '🎩',\n mortar_board: '🎓',\n billed_cap: '🧢',\n military_helmet: '🪖',\n rescue_worker_helmet: '⛑️',\n prayer_beads: '📿',\n lipstick: '💄',\n ring: '💍',\n gem: '💎',\n mute: '🔇',\n speaker: '🔈',\n sound: '🔉',\n loud_sound: '🔊',\n loudspeaker: '📢',\n mega: '📣',\n postal_horn: '📯',\n bell: '🔔',\n no_bell: '🔕',\n musical_score: '🎼',\n musical_note: '🎵',\n notes: '🎶',\n studio_microphone: '🎙️',\n level_slider: '🎚️',\n control_knobs: '🎛️',\n microphone: '🎤',\n headphones: '🎧',\n radio: '📻',\n saxophone: '🎷',\n accordion: '🪗',\n guitar: '🎸',\n musical_keyboard: '🎹',\n trumpet: '🎺',\n violin: '🎻',\n banjo: '🪕',\n drum: '🥁',\n long_drum: '🪘',\n maracas: '🪇',\n flute: '🪈',\n iphone: '📱',\n calling: '📲',\n phone: '☎️',\n telephone: '☎️',\n telephone_receiver: '📞',\n pager: '📟',\n fax: '📠',\n battery: '🔋',\n low_battery: '🪫',\n electric_plug: '🔌',\n computer: '💻',\n desktop_computer: '🖥️',\n printer: '🖨️',\n keyboard: '⌨️',\n computer_mouse: '🖱️',\n trackball: '🖲️',\n minidisc: '💽',\n floppy_disk: '💾',\n cd: '💿',\n dvd: '📀',\n abacus: '🧮',\n movie_camera: '🎥',\n film_strip: '🎞️',\n film_projector: '📽️',\n clapper: '🎬',\n tv: '📺',\n camera: '📷',\n camera_flash: '📸',\n video_camera: '📹',\n vhs: '📼',\n mag: '🔍',\n mag_right: '🔎',\n candle: '🕯️',\n bulb: '💡',\n flashlight: '🔦',\n izakaya_lantern: '🏮',\n lantern: '🏮',\n diya_lamp: '🪔',\n notebook_with_decorative_cover: '📔',\n closed_book: '📕',\n book: '📖',\n open_book: '📖',\n green_book: '📗',\n blue_book: '📘',\n orange_book: '📙',\n books: '📚',\n notebook: '📓',\n ledger: '📒',\n page_with_curl: '📃',\n scroll: '📜',\n page_facing_up: '📄',\n newspaper: '📰',\n newspaper_roll: '🗞️',\n bookmark_tabs: '📑',\n bookmark: '🔖',\n label: '🏷️',\n moneybag: '💰',\n coin: '🪙',\n yen: '💴',\n dollar: '💵',\n euro: '💶',\n pound: '💷',\n money_with_wings: '💸',\n credit_card: '💳',\n receipt: '🧾',\n chart: '💹',\n envelope: '✉️',\n email: '📧',\n 'e-mail': '📧',\n incoming_envelope: '📨',\n envelope_with_arrow: '📩',\n outbox_tray: '📤',\n inbox_tray: '📥',\n package: '📦',\n mailbox: '📫',\n mailbox_closed: '📪',\n mailbox_with_mail: '📬',\n mailbox_with_no_mail: '📭',\n postbox: '📮',\n ballot_box: '🗳️',\n pencil2: '✏️',\n black_nib: '✒️',\n fountain_pen: '🖋️',\n pen: '🖊️',\n paintbrush: '🖌️',\n crayon: '🖍️',\n memo: '📝',\n pencil: '📝',\n briefcase: '💼',\n file_folder: '📁',\n open_file_folder: '📂',\n card_index_dividers: '🗂️',\n date: '📅',\n calendar: '📆',\n spiral_notepad: '🗒️',\n spiral_calendar: '🗓️',\n card_index: '📇',\n chart_with_upwards_trend: '📈',\n chart_with_downwards_trend: '📉',\n bar_chart: '📊',\n clipboard: '📋',\n pushpin: '📌',\n round_pushpin: '📍',\n paperclip: '📎',\n paperclips: '🖇️',\n straight_ruler: '📏',\n triangular_ruler: '📐',\n scissors: '✂️',\n card_file_box: '🗃️',\n file_cabinet: '🗄️',\n wastebasket: '🗑️',\n lock: '🔒',\n unlock: '🔓',\n lock_with_ink_pen: '🔏',\n closed_lock_with_key: '🔐',\n key: '🔑',\n old_key: '🗝️',\n hammer: '🔨',\n axe: '🪓',\n pick: '⛏️',\n hammer_and_pick: '⚒️',\n hammer_and_wrench: '🛠️',\n dagger: '🗡️',\n crossed_swords: '⚔️',\n bomb: '💣',\n boomerang: '🪃',\n bow_and_arrow: '🏹',\n shield: '🛡️',\n carpentry_saw: '🪚',\n wrench: '🔧',\n screwdriver: '🪛',\n nut_and_bolt: '🔩',\n gear: '⚙️',\n clamp: '🗜️',\n balance_scale: '⚖️',\n probing_cane: '🦯',\n link: '🔗',\n chains: '⛓️',\n hook: '🪝',\n toolbox: '🧰',\n magnet: '🧲',\n ladder: '🪜',\n alembic: '⚗️',\n test_tube: '🧪',\n petri_dish: '🧫',\n dna: '🧬',\n microscope: '🔬',\n telescope: '🔭',\n satellite: '📡',\n syringe: '💉',\n drop_of_blood: '🩸',\n pill: '💊',\n adhesive_bandage: '🩹',\n crutch: '🩼',\n stethoscope: '🩺',\n x_ray: '🩻',\n door: '🚪',\n elevator: '🛗',\n mirror: '🪞',\n window: '🪟',\n bed: '🛏️',\n couch_and_lamp: '🛋️',\n chair: '🪑',\n toilet: '🚽',\n plunger: '🪠',\n shower: '🚿',\n bathtub: '🛁',\n mouse_trap: '🪤',\n razor: '🪒',\n lotion_bottle: '🧴',\n safety_pin: '🧷',\n broom: '🧹',\n basket: '🧺',\n roll_of_paper: '🧻',\n bucket: '🪣',\n soap: '🧼',\n bubbles: '🫧',\n toothbrush: '🪥',\n sponge: '🧽',\n fire_extinguisher: '🧯',\n shopping_cart: '🛒',\n smoking: '🚬',\n coffin: '⚰️',\n headstone: '🪦',\n funeral_urn: '⚱️',\n nazar_amulet: '🧿',\n hamsa: '🪬',\n moyai: '🗿',\n placard: '🪧',\n identification_card: '🪪',\n atm: '🏧',\n put_litter_in_its_place: '🚮',\n potable_water: '🚰',\n wheelchair: '♿',\n mens: '🚹',\n womens: '🚺',\n restroom: '🚻',\n baby_symbol: '🚼',\n wc: '🚾',\n passport_control: '🛂',\n customs: '🛃',\n baggage_claim: '🛄',\n left_luggage: '🛅',\n warning: '⚠️',\n children_crossing: '🚸',\n no_entry: '⛔',\n no_entry_sign: '🚫',\n no_bicycles: '🚳',\n no_smoking: '🚭',\n do_not_litter: '🚯',\n 'non-potable_water': '🚱',\n no_pedestrians: '🚷',\n no_mobile_phones: '📵',\n underage: '🔞',\n radioactive: '☢️',\n biohazard: '☣️',\n arrow_up: '⬆️',\n arrow_upper_right: '↗️',\n arrow_right: '➡️',\n arrow_lower_right: '↘️',\n arrow_down: '⬇️',\n arrow_lower_left: '↙️',\n arrow_left: '⬅️',\n arrow_upper_left: '↖️',\n arrow_up_down: '↕️',\n left_right_arrow: '↔️',\n leftwards_arrow_with_hook: '↩️',\n arrow_right_hook: '↪️',\n arrow_heading_up: '⤴️',\n arrow_heading_down: '⤵️',\n arrows_clockwise: '🔃',\n arrows_counterclockwise: '🔄',\n back: '🔙',\n end: '🔚',\n on: '🔛',\n soon: '🔜',\n top: '🔝',\n place_of_worship: '🛐',\n atom_symbol: '⚛️',\n om: '🕉️',\n star_of_david: '✡️',\n wheel_of_dharma: '☸️',\n yin_yang: '☯️',\n latin_cross: '✝️',\n orthodox_cross: '☦️',\n star_and_crescent: '☪️',\n peace_symbol: '☮️',\n menorah: '🕎',\n six_pointed_star: '🔯',\n khanda: '🪯',\n aries: '♈',\n taurus: '♉',\n gemini: '♊',\n cancer: '♋',\n leo: '♌',\n virgo: '♍',\n libra: '♎',\n scorpius: '♏',\n sagittarius: '♐',\n capricorn: '♑',\n aquarius: '♒',\n pisces: '♓',\n ophiuchus: '⛎',\n twisted_rightwards_arrows: '🔀',\n repeat: '🔁',\n repeat_one: '🔂',\n arrow_forward: '▶️',\n fast_forward: '⏩',\n next_track_button: '⏭️',\n play_or_pause_button: '⏯️',\n arrow_backward: '◀️',\n rewind: '⏪',\n previous_track_button: '⏮️',\n arrow_up_small: '🔼',\n arrow_double_up: '⏫',\n arrow_down_small: '🔽',\n arrow_double_down: '⏬',\n pause_button: '⏸️',\n stop_button: '⏹️',\n record_button: '⏺️',\n eject_button: '⏏️',\n cinema: '🎦',\n low_brightness: '🔅',\n high_brightness: '🔆',\n signal_strength: '📶',\n wireless: '🛜',\n vibration_mode: '📳',\n mobile_phone_off: '📴',\n female_sign: '♀️',\n male_sign: '♂️',\n transgender_symbol: '⚧️',\n heavy_multiplication_x: '✖️',\n heavy_plus_sign: '➕',\n heavy_minus_sign: '➖',\n heavy_division_sign: '➗',\n heavy_equals_sign: '🟰',\n infinity: '♾️',\n bangbang: '‼️',\n interrobang: '⁉️',\n question: '❓',\n grey_question: '❔',\n grey_exclamation: '❕',\n exclamation: '❗',\n heavy_exclamation_mark: '❗',\n wavy_dash: '〰️',\n currency_exchange: '💱',\n heavy_dollar_sign: '💲',\n medical_symbol: '⚕️',\n recycle: '♻️',\n fleur_de_lis: '⚜️',\n trident: '🔱',\n name_badge: '📛',\n beginner: '🔰',\n o: '⭕',\n white_check_mark: '✅',\n ballot_box_with_check: '☑️',\n heavy_check_mark: '✔️',\n x: '❌',\n negative_squared_cross_mark: '❎',\n curly_loop: '➰',\n loop: '➿',\n part_alternation_mark: '〽️',\n eight_spoked_asterisk: '✳️',\n eight_pointed_black_star: '✴️',\n sparkle: '❇️',\n copyright: '©️',\n registered: '®️',\n tm: '™️',\n hash: '#️⃣',\n asterisk: '*️⃣',\n zero: '0️⃣',\n one: '1️⃣',\n two: '2️⃣',\n three: '3️⃣',\n four: '4️⃣',\n five: '5️⃣',\n six: '6️⃣',\n seven: '7️⃣',\n eight: '8️⃣',\n nine: '9️⃣',\n keycap_ten: '🔟',\n capital_abcd: '🔠',\n abcd: '🔡',\n symbols: '🔣',\n abc: '🔤',\n a: '🅰️',\n ab: '🆎',\n b: '🅱️',\n cl: '🆑',\n cool: '🆒',\n free: '🆓',\n information_source: 'ℹ️',\n id: '🆔',\n m: 'Ⓜ️',\n new: '🆕',\n ng: '🆖',\n o2: '🅾️',\n ok: '🆗',\n parking: '🅿️',\n sos: '🆘',\n up: '🆙',\n vs: '🆚',\n koko: '🈁',\n sa: '🈂️',\n u6708: '🈷️',\n u6709: '🈶',\n u6307: '🈯',\n ideograph_advantage: '🉐',\n u5272: '🈹',\n u7121: '🈚',\n u7981: '🈲',\n accept: '🉑',\n u7533: '🈸',\n u5408: '🈴',\n u7a7a: '🈳',\n congratulations: '㊗️',\n secret: '㊙️',\n u55b6: '🈺',\n u6e80: '🈵',\n red_circle: '🔴',\n orange_circle: '🟠',\n yellow_circle: '🟡',\n green_circle: '🟢',\n large_blue_circle: '🔵',\n purple_circle: '🟣',\n brown_circle: '🟤',\n black_circle: '⚫',\n white_circle: '⚪',\n red_square: '🟥',\n orange_square: '🟧',\n yellow_square: '🟨',\n green_square: '🟩',\n blue_square: '🟦',\n purple_square: '🟪',\n brown_square: '🟫',\n black_large_square: '⬛',\n white_large_square: '⬜',\n black_medium_square: '◼️',\n white_medium_square: '◻️',\n black_medium_small_square: '◾',\n white_medium_small_square: '◽',\n black_small_square: '▪️',\n white_small_square: '▫️',\n large_orange_diamond: '🔶',\n large_blue_diamond: '🔷',\n small_orange_diamond: '🔸',\n small_blue_diamond: '🔹',\n small_red_triangle: '🔺',\n small_red_triangle_down: '🔻',\n diamond_shape_with_a_dot_inside: '💠',\n radio_button: '🔘',\n white_square_button: '🔳',\n black_square_button: '🔲',\n checkered_flag: '🏁',\n triangular_flag_on_post: '🚩',\n crossed_flags: '🎌',\n black_flag: '🏴',\n white_flag: '🏳️',\n rainbow_flag: '🏳️‍🌈',\n transgender_flag: '🏳️‍⚧️',\n pirate_flag: '🏴‍☠️',\n ascension_island: '🇦🇨',\n andorra: '🇦🇩',\n united_arab_emirates: '🇦🇪',\n afghanistan: '🇦🇫',\n antigua_barbuda: '🇦🇬',\n anguilla: '🇦🇮',\n albania: '🇦🇱',\n armenia: '🇦🇲',\n angola: '🇦🇴',\n antarctica: '🇦🇶',\n argentina: '🇦🇷',\n american_samoa: '🇦🇸',\n austria: '🇦🇹',\n australia: '🇦🇺',\n aruba: '🇦🇼',\n aland_islands: '🇦🇽',\n azerbaijan: '🇦🇿',\n bosnia_herzegovina: '🇧🇦',\n barbados: '🇧🇧',\n bangladesh: '🇧🇩',\n belgium: '🇧🇪',\n burkina_faso: '🇧🇫',\n bulgaria: '🇧🇬',\n bahrain: '🇧🇭',\n burundi: '🇧🇮',\n benin: '🇧🇯',\n st_barthelemy: '🇧🇱',\n bermuda: '🇧🇲',\n brunei: '🇧🇳',\n bolivia: '🇧🇴',\n caribbean_netherlands: '🇧🇶',\n brazil: '🇧🇷',\n bahamas: '🇧🇸',\n bhutan: '🇧🇹',\n bouvet_island: '🇧🇻',\n botswana: '🇧🇼',\n belarus: '🇧🇾',\n belize: '🇧🇿',\n canada: '🇨🇦',\n cocos_islands: '🇨🇨',\n congo_kinshasa: '🇨🇩',\n central_african_republic: '🇨🇫',\n congo_brazzaville: '🇨🇬',\n switzerland: '🇨🇭',\n cote_divoire: '🇨🇮',\n cook_islands: '🇨🇰',\n chile: '🇨🇱',\n cameroon: '🇨🇲',\n cn: '🇨🇳',\n colombia: '🇨🇴',\n clipperton_island: '🇨🇵',\n costa_rica: '🇨🇷',\n cuba: '🇨🇺',\n cape_verde: '🇨🇻',\n curacao: '🇨🇼',\n christmas_island: '🇨🇽',\n cyprus: '🇨🇾',\n czech_republic: '🇨🇿',\n de: '🇩🇪',\n diego_garcia: '🇩🇬',\n djibouti: '🇩🇯',\n denmark: '🇩🇰',\n dominica: '🇩🇲',\n dominican_republic: '🇩🇴',\n algeria: '🇩🇿',\n ceuta_melilla: '🇪🇦',\n ecuador: '🇪🇨',\n estonia: '🇪🇪',\n egypt: '🇪🇬',\n western_sahara: '🇪🇭',\n eritrea: '🇪🇷',\n es: '🇪🇸',\n ethiopia: '🇪🇹',\n eu: '🇪🇺',\n european_union: '🇪🇺',\n finland: '🇫🇮',\n fiji: '🇫🇯',\n falkland_islands: '🇫🇰',\n micronesia: '🇫🇲',\n faroe_islands: '🇫🇴',\n fr: '🇫🇷',\n gabon: '🇬🇦',\n gb: '🇬🇧',\n uk: '🇬🇧',\n grenada: '🇬🇩',\n georgia: '🇬🇪',\n french_guiana: '🇬🇫',\n guernsey: '🇬🇬',\n ghana: '🇬🇭',\n gibraltar: '🇬🇮',\n greenland: '🇬🇱',\n gambia: '🇬🇲',\n guinea: '🇬🇳',\n guadeloupe: '🇬🇵',\n equatorial_guinea: '🇬🇶',\n greece: '🇬🇷',\n south_georgia_south_sandwich_islands: '🇬🇸',\n guatemala: '🇬🇹',\n guam: '🇬🇺',\n guinea_bissau: '🇬🇼',\n guyana: '🇬🇾',\n hong_kong: '🇭🇰',\n heard_mcdonald_islands: '🇭🇲',\n honduras: '🇭🇳',\n croatia: '🇭🇷',\n haiti: '🇭🇹',\n hungary: '🇭🇺',\n canary_islands: '🇮🇨',\n indonesia: '🇮🇩',\n ireland: '🇮🇪',\n israel: '🇮🇱',\n isle_of_man: '🇮🇲',\n india: '🇮🇳',\n british_indian_ocean_territory: '🇮🇴',\n iraq: '🇮🇶',\n iran: '🇮🇷',\n iceland: '🇮🇸',\n it: '🇮🇹',\n jersey: '🇯🇪',\n jamaica: '🇯🇲',\n jordan: '🇯🇴',\n jp: '🇯🇵',\n kenya: '🇰🇪',\n kyrgyzstan: '🇰🇬',\n cambodia: '🇰🇭',\n kiribati: '🇰🇮',\n comoros: '🇰🇲',\n st_kitts_nevis: '🇰🇳',\n north_korea: '🇰🇵',\n kr: '🇰🇷',\n kuwait: '🇰🇼',\n cayman_islands: '🇰🇾',\n kazakhstan: '🇰🇿',\n laos: '🇱🇦',\n lebanon: '🇱🇧',\n st_lucia: '🇱🇨',\n liechtenstein: '🇱🇮',\n sri_lanka: '🇱🇰',\n liberia: '🇱🇷',\n lesotho: '🇱🇸',\n lithuania: '🇱🇹',\n luxembourg: '🇱🇺',\n latvia: '🇱🇻',\n libya: '🇱🇾',\n morocco: '🇲🇦',\n monaco: '🇲🇨',\n moldova: '🇲🇩',\n montenegro: '🇲🇪',\n st_martin: '🇲🇫',\n madagascar: '🇲🇬',\n marshall_islands: '🇲🇭',\n macedonia: '🇲🇰',\n mali: '🇲🇱',\n myanmar: '🇲🇲',\n mongolia: '🇲🇳',\n macau: '🇲🇴',\n northern_mariana_islands: '🇲🇵',\n martinique: '🇲🇶',\n mauritania: '🇲🇷',\n montserrat: '🇲🇸',\n malta: '🇲🇹',\n mauritius: '🇲🇺',\n maldives: '🇲🇻',\n malawi: '🇲🇼',\n mexico: '🇲🇽',\n malaysia: '🇲🇾',\n mozambique: '🇲🇿',\n namibia: '🇳🇦',\n new_caledonia: '🇳🇨',\n niger: '🇳🇪',\n norfolk_island: '🇳🇫',\n nigeria: '🇳🇬',\n nicaragua: '🇳🇮',\n netherlands: '🇳🇱',\n norway: '🇳🇴',\n nepal: '🇳🇵',\n nauru: '🇳🇷',\n niue: '🇳🇺',\n new_zealand: '🇳🇿',\n oman: '🇴🇲',\n panama: '🇵🇦',\n peru: '🇵🇪',\n french_polynesia: '🇵🇫',\n papua_new_guinea: '🇵🇬',\n philippines: '🇵🇭',\n pakistan: '🇵🇰',\n poland: '🇵🇱',\n st_pierre_miquelon: '🇵🇲',\n pitcairn_islands: '🇵🇳',\n puerto_rico: '🇵🇷',\n palestinian_territories: '🇵🇸',\n portugal: '🇵🇹',\n palau: '🇵🇼',\n paraguay: '🇵🇾',\n qatar: '🇶🇦',\n reunion: '🇷🇪',\n romania: '🇷🇴',\n serbia: '🇷🇸',\n ru: '🇷🇺',\n rwanda: '🇷🇼',\n saudi_arabia: '🇸🇦',\n solomon_islands: '🇸🇧',\n seychelles: '🇸🇨',\n sudan: '🇸🇩',\n sweden: '🇸🇪',\n singapore: '🇸🇬',\n st_helena: '🇸🇭',\n slovenia: '🇸🇮',\n svalbard_jan_mayen: '🇸🇯',\n slovakia: '🇸🇰',\n sierra_leone: '🇸🇱',\n san_marino: '🇸🇲',\n senegal: '🇸🇳',\n somalia: '🇸🇴',\n suriname: '🇸🇷',\n south_sudan: '🇸🇸',\n sao_tome_principe: '🇸🇹',\n el_salvador: '🇸🇻',\n sint_maarten: '🇸🇽',\n syria: '🇸🇾',\n swaziland: '🇸🇿',\n tristan_da_cunha: '🇹🇦',\n turks_caicos_islands: '🇹🇨',\n chad: '🇹🇩',\n french_southern_territories: '🇹🇫',\n togo: '🇹🇬',\n thailand: '🇹🇭',\n tajikistan: '🇹🇯',\n tokelau: '🇹🇰',\n timor_leste: '🇹🇱',\n turkmenistan: '🇹🇲',\n tunisia: '🇹🇳',\n tonga: '🇹🇴',\n tr: '🇹🇷',\n trinidad_tobago: '🇹🇹',\n tuvalu: '🇹🇻',\n taiwan: '🇹🇼',\n tanzania: '🇹🇿',\n ukraine: '🇺🇦',\n uganda: '🇺🇬',\n us_outlying_islands: '🇺🇲',\n united_nations: '🇺🇳',\n us: '🇺🇸',\n uruguay: '🇺🇾',\n uzbekistan: '🇺🇿',\n vatican_city: '🇻🇦',\n st_vincent_grenadines: '🇻🇨',\n venezuela: '🇻🇪',\n british_virgin_islands: '🇻🇬',\n us_virgin_islands: '🇻🇮',\n vietnam: '🇻🇳',\n vanuatu: '🇻🇺',\n wallis_futuna: '🇼🇫',\n samoa: '🇼🇸',\n kosovo: '🇽🇰',\n yemen: '🇾🇪',\n mayotte: '🇾🇹',\n south_africa: '🇿🇦',\n zambia: '🇿🇲',\n zimbabwe: '🇿🇼',\n england: '🏴󠁧󠁢󠁥󠁮󠁧󠁿',\n scotland: '🏴󠁧󠁢󠁳󠁣󠁴󠁿',\n wales: '🏴󠁧󠁢󠁷󠁬󠁳󠁿'\n}\n\n/**\n * Map of emoji to primary name.\n *\n * @type {Record<string, string>}\n */\nexport const emojiToName = {\n '😀': 'grinning',\n '😃': 'smiley',\n '😄': 'smile',\n '😁': 'grin',\n '😆': 'laughing',\n '😅': 'sweat_smile',\n '🤣': 'rofl',\n '😂': 'joy',\n '🙂': 'slightly_smiling_face',\n '🙃': 'upside_down_face',\n '🫠': 'melting_face',\n '😉': 'wink',\n '😊': 'blush',\n '😇': 'innocent',\n '🥰': 'smiling_face_with_three_hearts',\n '😍': 'heart_eyes',\n '🤩': 'star_struck',\n '😘': 'kissing_heart',\n '😗': 'kissing',\n '☺️': 'relaxed',\n '😚': 'kissing_closed_eyes',\n '😙': 'kissing_smiling_eyes',\n '🥲': 'smiling_face_with_tear',\n '😋': 'yum',\n '😛': 'stuck_out_tongue',\n '😜': 'stuck_out_tongue_winking_eye',\n '🤪': 'zany_face',\n '😝': 'stuck_out_tongue_closed_eyes',\n '🤑': 'money_mouth_face',\n '🤗': 'hugs',\n '🤭': 'hand_over_mouth',\n '🫢': 'face_with_open_eyes_and_hand_over_mouth',\n '🫣': 'face_with_peeking_eye',\n '🤫': 'shushing_face',\n '🤔': 'thinking',\n '🫡': 'saluting_face',\n '🤐': 'zipper_mouth_face',\n '🤨': 'raised_eyebrow',\n '😐': 'neutral_face',\n '😑': 'expressionless',\n '😶': 'no_mouth',\n '🫥': 'dotted_line_face',\n '😶‍🌫️': 'face_in_clouds',\n '😏': 'smirk',\n '😒': 'unamused',\n '🙄': 'roll_eyes',\n '😬': 'grimacing',\n '😮‍💨': 'face_exhaling',\n '🤥': 'lying_face',\n '🫨': 'shaking_face',\n '😌': 'relieved',\n '😔': 'pensive',\n '😪': 'sleepy',\n '🤤': 'drooling_face',\n '😴': 'sleeping',\n '😷': 'mask',\n '🤒': 'face_with_thermometer',\n '🤕': 'face_with_head_bandage',\n '🤢': 'nauseated_face',\n '🤮': 'vomiting_face',\n '🤧': 'sneezing_face',\n '🥵': 'hot_face',\n '🥶': 'cold_face',\n '🥴': 'woozy_face',\n '😵': 'dizzy_face',\n '😵‍💫': 'face_with_spiral_eyes',\n '🤯': 'exploding_head',\n '🤠': 'cowboy_hat_face',\n '🥳': 'partying_face',\n '🥸': 'disguised_face',\n '😎': 'sunglasses',\n '🤓': 'nerd_face',\n '🧐': 'monocle_face',\n '😕': 'confused',\n '🫤': 'face_with_diagonal_mouth',\n '😟': 'worried',\n '🙁': 'slightly_frowning_face',\n '☹️': 'frowning_face',\n '😮': 'open_mouth',\n '😯': 'hushed',\n '😲': 'astonished',\n '😳': 'flushed',\n '🥺': 'pleading_face',\n '🥹': 'face_holding_back_tears',\n '😦': 'frowning',\n '😧': 'anguished',\n '😨': 'fearful',\n '😰': 'cold_sweat',\n '😥': 'disappointed_relieved',\n '😢': 'cry',\n '😭': 'sob',\n '😱': 'scream',\n '😖': 'confounded',\n '😣': 'persevere',\n '😞': 'disappointed',\n '😓': 'sweat',\n '😩': 'weary',\n '😫': 'tired_face',\n '🥱': 'yawning_face',\n '😤': 'triumph',\n '😡': 'rage',\n '😠': 'angry',\n '🤬': 'cursing_face',\n '😈': 'smiling_imp',\n '👿': 'imp',\n '💀': 'skull',\n '☠️': 'skull_and_crossbones',\n '💩': 'hankey',\n '🤡': 'clown_face',\n '👹': 'japanese_ogre',\n '👺': 'japanese_goblin',\n '👻': 'ghost',\n '👽': 'alien',\n '👾': 'space_invader',\n '🤖': 'robot',\n '😺': 'smiley_cat',\n '😸': 'smile_cat',\n '😹': 'joy_cat',\n '😻': 'heart_eyes_cat',\n '😼': 'smirk_cat',\n '😽': 'kissing_cat',\n '🙀': 'scream_cat',\n '😿': 'crying_cat_face',\n '😾': 'pouting_cat',\n '🙈': 'see_no_evil',\n '🙉': 'hear_no_evil',\n '🙊': 'speak_no_evil',\n '💌': 'love_letter',\n '💘': 'cupid',\n '💝': 'gift_heart',\n '💖': 'sparkling_heart',\n '💗': 'heartpulse',\n '💓': 'heartbeat',\n '💞': 'revolving_hearts',\n '💕': 'two_hearts',\n '💟': 'heart_decoration',\n '❣️': 'heavy_heart_exclamation',\n '💔': 'broken_heart',\n '❤️‍🔥': 'heart_on_fire',\n '❤️‍🩹': 'mending_heart',\n '❤️': 'heart',\n '🩷': 'pink_heart',\n '🧡': 'orange_heart',\n '💛': 'yellow_heart',\n '💚': 'green_heart',\n '💙': 'blue_heart',\n '🩵': 'light_blue_heart',\n '💜': 'purple_heart',\n '🤎': 'brown_heart',\n '🖤': 'black_heart',\n '🩶': 'grey_heart',\n '🤍': 'white_heart',\n '💋': 'kiss',\n '💯': '100',\n '💢': 'anger',\n '💥': 'boom',\n '💫': 'dizzy',\n '💦': 'sweat_drops',\n '💨': 'dash',\n '🕳️': 'hole',\n '💬': 'speech_balloon',\n '👁️‍🗨️': 'eye_speech_bubble',\n '🗨️': 'left_speech_bubble',\n '🗯️': 'right_anger_bubble',\n '💭': 'thought_balloon',\n '💤': 'zzz',\n '👋': 'wave',\n '🤚': 'raised_back_of_hand',\n '🖐️': 'raised_hand_with_fingers_splayed',\n '✋': 'hand',\n '🖖': 'vulcan_salute',\n '🫱': 'rightwards_hand',\n '🫲': 'leftwards_hand',\n '🫳': 'palm_down_hand',\n '🫴': 'palm_up_hand',\n '🫷': 'leftwards_pushing_hand',\n '🫸': 'rightwards_pushing_hand',\n '👌': 'ok_hand',\n '🤌': 'pinched_fingers',\n '🤏': 'pinching_hand',\n '✌️': 'v',\n '🤞': 'crossed_fingers',\n '🫰': 'hand_with_index_finger_and_thumb_crossed',\n '🤟': 'love_you_gesture',\n '🤘': 'metal',\n '🤙': 'call_me_hand',\n '👈': 'point_left',\n '👉': 'point_right',\n '👆': 'point_up_2',\n '🖕': 'middle_finger',\n '👇': 'point_down',\n '☝️': 'point_up',\n '🫵': 'index_pointing_at_the_viewer',\n '👍': '+1',\n '👎': '-1',\n '✊': 'fist_raised',\n '👊': 'fist_oncoming',\n '🤛': 'fist_left',\n '🤜': 'fist_right',\n '👏': 'clap',\n '🙌': 'raised_hands',\n '🫶': 'heart_hands',\n '👐': 'open_hands',\n '🤲': 'palms_up_together',\n '🤝': 'handshake',\n '🙏': 'pray',\n '✍️': 'writing_hand',\n '💅': 'nail_care',\n '🤳': 'selfie',\n '💪': 'muscle',\n '🦾': 'mechanical_arm',\n '🦿': 'mechanical_leg',\n '🦵': 'leg',\n '🦶': 'foot',\n '👂': 'ear',\n '🦻': 'ear_with_hearing_aid',\n '👃': 'nose',\n '🧠': 'brain',\n '🫀': 'anatomical_heart',\n '🫁': 'lungs',\n '🦷': 'tooth',\n '🦴': 'bone',\n '👀': 'eyes',\n '👁️': 'eye',\n '👅': 'tongue',\n '👄': 'lips',\n '🫦': 'biting_lip',\n '👶': 'baby',\n '🧒': 'child',\n '👦': 'boy',\n '👧': 'girl',\n '🧑': 'adult',\n '👱': 'blond_haired_person',\n '👨': 'man',\n '🧔': 'bearded_person',\n '🧔‍♂️': 'man_beard',\n '🧔‍♀️': 'woman_beard',\n '👨‍🦰': 'red_haired_man',\n '👨‍🦱': 'curly_haired_man',\n '👨‍🦳': 'white_haired_man',\n '👨‍🦲': 'bald_man',\n '👩': 'woman',\n '👩‍🦰': 'red_haired_woman',\n '🧑‍🦰': 'person_red_hair',\n '👩‍🦱': 'curly_haired_woman',\n '🧑‍🦱': 'person_curly_hair',\n '👩‍🦳': 'white_haired_woman',\n '🧑‍🦳': 'person_white_hair',\n '👩‍🦲': 'bald_woman',\n '🧑‍🦲': 'person_bald',\n '👱‍♀️': 'blond_haired_woman',\n '👱‍♂️': 'blond_haired_man',\n '🧓': 'older_adult',\n '👴': 'older_man',\n '👵': 'older_woman',\n '🙍': 'frowning_person',\n '🙍‍♂️': 'frowning_man',\n '🙍‍♀️': 'frowning_woman',\n '🙎': 'pouting_face',\n '🙎‍♂️': 'pouting_man',\n '🙎‍♀️': 'pouting_woman',\n '🙅': 'no_good',\n '🙅‍♂️': 'no_good_man',\n '🙅‍♀️': 'no_good_woman',\n '🙆': 'ok_person',\n '🙆‍♂️': 'ok_man',\n '🙆‍♀️': 'ok_woman',\n '💁': 'tipping_hand_person',\n '💁‍♂️': 'tipping_hand_man',\n '💁‍♀️': 'tipping_hand_woman',\n '🙋': 'raising_hand',\n '🙋‍♂️': 'raising_hand_man',\n '🙋‍♀️': 'raising_hand_woman',\n '🧏': 'deaf_person',\n '🧏‍♂️': 'deaf_man',\n '🧏‍♀️': 'deaf_woman',\n '🙇': 'bow',\n '🙇‍♂️': 'bowing_man',\n '🙇‍♀️': 'bowing_woman',\n '🤦': 'facepalm',\n '🤦‍♂️': 'man_facepalming',\n '🤦‍♀️': 'woman_facepalming',\n '🤷': 'shrug',\n '🤷‍♂️': 'man_shrugging',\n '🤷‍♀️': 'woman_shrugging',\n '🧑‍⚕️': 'health_worker',\n '👨‍⚕️': 'man_health_worker',\n '👩‍⚕️': 'woman_health_worker',\n '🧑‍🎓': 'student',\n '👨‍🎓': 'man_student',\n '👩‍🎓': 'woman_student',\n '🧑‍🏫': 'teacher',\n '👨‍🏫': 'man_teacher',\n '👩‍🏫': 'woman_teacher',\n '🧑‍⚖️': 'judge',\n '👨‍⚖️': 'man_judge',\n '👩‍⚖️': 'woman_judge',\n '🧑‍🌾': 'farmer',\n '👨‍🌾': 'man_farmer',\n '👩‍🌾': 'woman_farmer',\n '🧑‍🍳': 'cook',\n '👨‍🍳': 'man_cook',\n '👩‍🍳': 'woman_cook',\n '🧑‍🔧': 'mechanic',\n '👨‍🔧': 'man_mechanic',\n '👩‍🔧': 'woman_mechanic',\n '🧑‍🏭': 'factory_worker',\n '👨‍🏭': 'man_factory_worker',\n '👩‍🏭': 'woman_factory_worker',\n '🧑‍💼': 'office_worker',\n '👨‍💼': 'man_office_worker',\n '👩‍💼': 'woman_office_worker',\n '🧑‍🔬': 'scientist',\n '👨‍🔬': 'man_scientist',\n '👩‍🔬': 'woman_scientist',\n '🧑‍💻': 'technologist',\n '👨‍💻': 'man_technologist',\n '👩‍💻': 'woman_technologist',\n '🧑‍🎤': 'singer',\n '👨‍🎤': 'man_singer',\n '👩‍🎤': 'woman_singer',\n '🧑‍🎨': 'artist',\n '👨‍🎨': 'man_artist',\n '👩‍🎨': 'woman_artist',\n '🧑‍✈️': 'pilot',\n '👨‍✈️': 'man_pilot',\n '👩‍✈️': 'woman_pilot',\n '🧑‍🚀': 'astronaut',\n '👨‍🚀': 'man_astronaut',\n '👩‍🚀': 'woman_astronaut',\n '🧑‍🚒': 'firefighter',\n '👨‍🚒': 'man_firefighter',\n '👩‍🚒': 'woman_firefighter',\n '👮': 'police_officer',\n '👮‍♂️': 'policeman',\n '👮‍♀️': 'policewoman',\n '🕵️': 'detective',\n '🕵️‍♂️': 'male_detective',\n '🕵️‍♀️': 'female_detective',\n '💂': 'guard',\n '💂‍♂️': 'guardsman',\n '💂‍♀️': 'guardswoman',\n '🥷': 'ninja',\n '👷': 'construction_worker',\n '👷‍♂️': 'construction_worker_man',\n '👷‍♀️': 'construction_worker_woman',\n '🫅': 'person_with_crown',\n '🤴': 'prince',\n '👸': 'princess',\n '👳': 'person_with_turban',\n '👳‍♂️': 'man_with_turban',\n '👳‍♀️': 'woman_with_turban',\n '👲': 'man_with_gua_pi_mao',\n '🧕': 'woman_with_headscarf',\n '🤵': 'person_in_tuxedo',\n '🤵‍♂️': 'man_in_tuxedo',\n '🤵‍♀️': 'woman_in_tuxedo',\n '👰': 'person_with_veil',\n '👰‍♂️': 'man_with_veil',\n '👰‍♀️': 'woman_with_veil',\n '🤰': 'pregnant_woman',\n '🫃': 'pregnant_man',\n '🫄': 'pregnant_person',\n '🤱': 'breast_feeding',\n '👩‍🍼': 'woman_feeding_baby',\n '👨‍🍼': 'man_feeding_baby',\n '🧑‍🍼': 'person_feeding_baby',\n '👼': 'angel',\n '🎅': 'santa',\n '🤶': 'mrs_claus',\n '🧑‍🎄': 'mx_claus',\n '🦸': 'superhero',\n '🦸‍♂️': 'superhero_man',\n '🦸‍♀️': 'superhero_woman',\n '🦹': 'supervillain',\n '🦹‍♂️': 'supervillain_man',\n '🦹‍♀️': 'supervillain_woman',\n '🧙': 'mage',\n '🧙‍♂️': 'mage_man',\n '🧙‍♀️': 'mage_woman',\n '🧚': 'fairy',\n '🧚‍♂️': 'fairy_man',\n '🧚‍♀️': 'fairy_woman',\n '🧛': 'vampire',\n '🧛‍♂️': 'vampire_man',\n '🧛‍♀️': 'vampire_woman',\n '🧜': 'merperson',\n '🧜‍♂️': 'merman',\n '🧜‍♀️': 'mermaid',\n '🧝': 'elf',\n '🧝‍♂️': 'elf_man',\n '🧝‍♀️': 'elf_woman',\n '🧞': 'genie',\n '🧞‍♂️': 'genie_man',\n '🧞‍♀️': 'genie_woman',\n '🧟': 'zombie',\n '🧟‍♂️': 'zombie_man',\n '🧟‍♀️': 'zombie_woman',\n '🧌': 'troll',\n '💆': 'massage',\n '💆‍♂️': 'massage_man',\n '💆‍♀️': 'massage_woman',\n '💇': 'haircut',\n '💇‍♂️': 'haircut_man',\n '💇‍♀️': 'haircut_woman',\n '🚶': 'walking',\n '🚶‍♂️': 'walking_man',\n '🚶‍♀️': 'walking_woman',\n '🧍': 'standing_person',\n '🧍‍♂️': 'standing_man',\n '🧍‍♀️': 'standing_woman',\n '🧎': 'kneeling_person',\n '🧎‍♂️': 'kneeling_man',\n '🧎‍♀️': 'kneeling_woman',\n '🧑‍🦯': 'person_with_probing_cane',\n '👨‍🦯': 'man_with_probing_cane',\n '👩‍🦯': 'woman_with_probing_cane',\n '🧑‍🦼': 'person_in_motorized_wheelchair',\n '👨‍🦼': 'man_in_motorized_wheelchair',\n '👩‍🦼': 'woman_in_motorized_wheelchair',\n '🧑‍🦽': 'person_in_manual_wheelchair',\n '👨‍🦽': 'man_in_manual_wheelchair',\n '👩‍🦽': 'woman_in_manual_wheelchair',\n '🏃': 'runner',\n '🏃‍♂️': 'running_man',\n '🏃‍♀️': 'running_woman',\n '💃': 'woman_dancing',\n '🕺': 'man_dancing',\n '🕴️': 'business_suit_levitating',\n '👯': 'dancers',\n '👯‍♂️': 'dancing_men',\n '👯‍♀️': 'dancing_women',\n '🧖': 'sauna_person',\n '🧖‍♂️': 'sauna_man',\n '🧖‍♀️': 'sauna_woman',\n '🧗': 'climbing',\n '🧗‍♂️': 'climbing_man',\n '🧗‍♀️': 'climbing_woman',\n '🤺': 'person_fencing',\n '🏇': 'horse_racing',\n '⛷️': 'skier',\n '🏂': 'snowboarder',\n '🏌️': 'golfing',\n '🏌️‍♂️': 'golfing_man',\n '🏌️‍♀️': 'golfing_woman',\n '🏄': 'surfer',\n '🏄‍♂️': 'surfing_man',\n '🏄‍♀️': 'surfing_woman',\n '🚣': 'rowboat',\n '🚣‍♂️': 'rowing_man',\n '🚣‍♀️': 'rowing_woman',\n '🏊': 'swimmer',\n '🏊‍♂️': 'swimming_man',\n '🏊‍♀️': 'swimming_woman',\n '⛹️': 'bouncing_ball_person',\n '⛹️‍♂️': 'bouncing_ball_man',\n '⛹️‍♀️': 'bouncing_ball_woman',\n '🏋️': 'weight_lifting',\n '🏋️‍♂️': 'weight_lifting_man',\n '🏋️‍♀️': 'weight_lifting_woman',\n '🚴': 'bicyclist',\n '🚴‍♂️': 'biking_man',\n '🚴‍♀️': 'biking_woman',\n '🚵': 'mountain_bicyclist',\n '🚵‍♂️': 'mountain_biking_man',\n '🚵‍♀️': 'mountain_biking_woman',\n '🤸': 'cartwheeling',\n '🤸‍♂️': 'man_cartwheeling',\n '🤸‍♀️': 'woman_cartwheeling',\n '🤼': 'wrestling',\n '🤼‍♂️': 'men_wrestling',\n '🤼‍♀️': 'women_wrestling',\n '🤽': 'water_polo',\n '🤽‍♂️': 'man_playing_water_polo',\n '🤽‍♀️': 'woman_playing_water_polo',\n '🤾': 'handball_person',\n '🤾‍♂️': 'man_playing_handball',\n '🤾‍♀️': 'woman_playing_handball',\n '🤹': 'juggling_person',\n '🤹‍♂️': 'man_juggling',\n '🤹‍♀️': 'woman_juggling',\n '🧘': 'lotus_position',\n '🧘‍♂️': 'lotus_position_man',\n '🧘‍♀️': 'lotus_position_woman',\n '🛀': 'bath',\n '🛌': 'sleeping_bed',\n '🧑‍🤝‍🧑': 'people_holding_hands',\n '👭': 'two_women_holding_hands',\n '👫': 'couple',\n '👬': 'two_men_holding_hands',\n '💏': 'couplekiss',\n '👩‍❤️‍💋‍👨': 'couplekiss_man_woman',\n '👨‍❤️‍💋‍👨': 'couplekiss_man_man',\n '👩‍❤️‍💋‍👩': 'couplekiss_woman_woman',\n '💑': 'couple_with_heart',\n '👩‍❤️‍👨': 'couple_with_heart_woman_man',\n '👨‍❤️‍👨': 'couple_with_heart_man_man',\n '👩‍❤️‍👩': 'couple_with_heart_woman_woman',\n '👪': 'family',\n '👨‍👩‍👦': 'family_man_woman_boy',\n '👨‍👩‍👧': 'family_man_woman_girl',\n '👨‍👩‍👧‍👦': 'family_man_woman_girl_boy',\n '👨‍👩‍👦‍👦': 'family_man_woman_boy_boy',\n '👨‍👩‍👧‍👧': 'family_man_woman_girl_girl',\n '👨‍👨‍👦': 'family_man_man_boy',\n '👨‍👨‍👧': 'family_man_man_girl',\n '👨‍👨‍👧‍👦': 'family_man_man_girl_boy',\n '👨‍👨‍👦‍👦': 'family_man_man_boy_boy',\n '👨‍👨‍👧‍👧': 'family_man_man_girl_girl',\n '👩‍👩‍👦': 'family_woman_woman_boy',\n '👩‍👩‍👧': 'family_woman_woman_girl',\n '👩‍👩‍👧‍👦': 'family_woman_woman_girl_boy',\n '👩‍👩‍👦‍👦': 'family_woman_woman_boy_boy',\n '👩‍👩‍👧‍👧': 'family_woman_woman_girl_girl',\n '👨‍👦': 'family_man_boy',\n '👨‍👦‍👦': 'family_man_boy_boy',\n '👨‍👧': 'family_man_girl',\n '👨‍👧‍👦': 'family_man_girl_boy',\n '👨‍👧‍👧': 'family_man_girl_girl',\n '👩‍👦': 'family_woman_boy',\n '👩‍👦‍👦': 'family_woman_boy_boy',\n '👩‍👧': 'family_woman_girl',\n '👩‍👧‍👦': 'family_woman_girl_boy',\n '👩‍👧‍👧': 'family_woman_girl_girl',\n '🗣️': 'speaking_head',\n '👤': 'bust_in_silhouette',\n '👥': 'busts_in_silhouette',\n '🫂': 'people_hugging',\n '👣': 'footprints',\n '🐵': 'monkey_face',\n '🐒': 'monkey',\n '🦍': 'gorilla',\n '🦧': 'orangutan',\n '🐶': 'dog',\n '🐕': 'dog2',\n '🦮': 'guide_dog',\n '🐕‍🦺': 'service_dog',\n '🐩': 'poodle',\n '🐺': 'wolf',\n '🦊': 'fox_face',\n '🦝': 'raccoon',\n '🐱': 'cat',\n '🐈': 'cat2',\n '🐈‍⬛': 'black_cat',\n '🦁': 'lion',\n '🐯': 'tiger',\n '🐅': 'tiger2',\n '🐆': 'leopard',\n '🐴': 'horse',\n '🫎': 'moose',\n '🫏': 'donkey',\n '🐎': 'racehorse',\n '🦄': 'unicorn',\n '🦓': 'zebra',\n '🦌': 'deer',\n '🦬': 'bison',\n '🐮': 'cow',\n '🐂': 'ox',\n '🐃': 'water_buffalo',\n '🐄': 'cow2',\n '🐷': 'pig',\n '🐖': 'pig2',\n '🐗': 'boar',\n '🐽': 'pig_nose',\n '🐏': 'ram',\n '🐑': 'sheep',\n '🐐': 'goat',\n '🐪': 'dromedary_camel',\n '🐫': 'camel',\n '🦙': 'llama',\n '🦒': 'giraffe',\n '🐘': 'elephant',\n '🦣': 'mammoth',\n '🦏': 'rhinoceros',\n '🦛': 'hippopotamus',\n '🐭': 'mouse',\n '🐁': 'mouse2',\n '🐀': 'rat',\n '🐹': 'hamster',\n '🐰': 'rabbit',\n '🐇': 'rabbit2',\n '🐿️': 'chipmunk',\n '🦫': 'beaver',\n '🦔': 'hedgehog',\n '🦇': 'bat',\n '🐻': 'bear',\n '🐻‍❄️': 'polar_bear',\n '🐨': 'koala',\n '🐼': 'panda_face',\n '🦥': 'sloth',\n '🦦': 'otter',\n '🦨': 'skunk',\n '🦘': 'kangaroo',\n '🦡': 'badger',\n '🐾': 'feet',\n '🦃': 'turkey',\n '🐔': 'chicken',\n '🐓': 'rooster',\n '🐣': 'hatching_chick',\n '🐤': 'baby_chick',\n '🐥': 'hatched_chick',\n '🐦': 'bird',\n '🐧': 'penguin',\n '🕊️': 'dove',\n '🦅': 'eagle',\n '🦆': 'duck',\n '🦢': 'swan',\n '🦉': 'owl',\n '🦤': 'dodo',\n '🪶': 'feather',\n '🦩': 'flamingo',\n '🦚': 'peacock',\n '🦜': 'parrot',\n '🪽': 'wing',\n '🐦‍⬛': 'black_bird',\n '🪿': 'goose',\n '🐸': 'frog',\n '🐊': 'crocodile',\n '🐢': 'turtle',\n '🦎': 'lizard',\n '🐍': 'snake',\n '🐲': 'dragon_face',\n '🐉': 'dragon',\n '🦕': 'sauropod',\n '🦖': 't-rex',\n '🐳': 'whale',\n '🐋': 'whale2',\n '🐬': 'dolphin',\n '🦭': 'seal',\n '🐟': 'fish',\n '🐠': 'tropical_fish',\n '🐡': 'blowfish',\n '🦈': 'shark',\n '🐙': 'octopus',\n '🐚': 'shell',\n '🪸': 'coral',\n '🪼': 'jellyfish',\n '🐌': 'snail',\n '🦋': 'butterfly',\n '🐛': 'bug',\n '🐜': 'ant',\n '🐝': 'bee',\n '🪲': 'beetle',\n '🐞': 'lady_beetle',\n '🦗': 'cricket',\n '🪳': 'cockroach',\n '🕷️': 'spider',\n '🕸️': 'spider_web',\n '🦂': 'scorpion',\n '🦟': 'mosquito',\n '🪰': 'fly',\n '🪱': 'worm',\n '🦠': 'microbe',\n '💐': 'bouquet',\n '🌸': 'cherry_blossom',\n '💮': 'white_flower',\n '🪷': 'lotus',\n '🏵️': 'rosette',\n '🌹': 'rose',\n '🥀': 'wilted_flower',\n '🌺': 'hibiscus',\n '🌻': 'sunflower',\n '🌼': 'blossom',\n '🌷': 'tulip',\n '🪻': 'hyacinth',\n '🌱': 'seedling',\n '🪴': 'potted_plant',\n '🌲': 'evergreen_tree',\n '🌳': 'deciduous_tree',\n '🌴': 'palm_tree',\n '🌵': 'cactus',\n '🌾': 'ear_of_rice',\n '🌿': 'herb',\n '☘️': 'shamrock',\n '🍀': 'four_leaf_clover',\n '🍁': 'maple_leaf',\n '🍂': 'fallen_leaf',\n '🍃': 'leaves',\n '🪹': 'empty_nest',\n '🪺': 'nest_with_eggs',\n '🍄': 'mushroom',\n '🍇': 'grapes',\n '🍈': 'melon',\n '🍉': 'watermelon',\n '🍊': 'tangerine',\n '🍋': 'lemon',\n '🍌': 'banana',\n '🍍': 'pineapple',\n '🥭': 'mango',\n '🍎': 'apple',\n '🍏': 'green_apple',\n '🍐': 'pear',\n '🍑': 'peach',\n '🍒': 'cherries',\n '🍓': 'strawberry',\n '🫐': 'blueberries',\n '🥝': 'kiwi_fruit',\n '🍅': 'tomato',\n '🫒': 'olive',\n '🥥': 'coconut',\n '🥑': 'avocado',\n '🍆': 'eggplant',\n '🥔': 'potato',\n '🥕': 'carrot',\n '🌽': 'corn',\n '🌶️': 'hot_pepper',\n '🫑': 'bell_pepper',\n '🥒': 'cucumber',\n '🥬': 'leafy_green',\n '🥦': 'broccoli',\n '🧄': 'garlic',\n '🧅': 'onion',\n '🥜': 'peanuts',\n '🫘': 'beans',\n '🌰': 'chestnut',\n '🫚': 'ginger_root',\n '🫛': 'pea_pod',\n '🍞': 'bread',\n '🥐': 'croissant',\n '🥖': 'baguette_bread',\n '🫓': 'flatbread',\n '🥨': 'pretzel',\n '🥯': 'bagel',\n '🥞': 'pancakes',\n '🧇': 'waffle',\n '🧀': 'cheese',\n '🍖': 'meat_on_bone',\n '🍗': 'poultry_leg',\n '🥩': 'cut_of_meat',\n '🥓': 'bacon',\n '🍔': 'hamburger',\n '🍟': 'fries',\n '🍕': 'pizza',\n '🌭': 'hotdog',\n '🥪': 'sandwich',\n '🌮': 'taco',\n '🌯': 'burrito',\n '🫔': 'tamale',\n '🥙': 'stuffed_flatbread',\n '🧆': 'falafel',\n '🥚': 'egg',\n '🍳': 'fried_egg',\n '🥘': 'shallow_pan_of_food',\n '🍲': 'stew',\n '🫕': 'fondue',\n '🥣': 'bowl_with_spoon',\n '🥗': 'green_salad',\n '🍿': 'popcorn',\n '🧈': 'butter',\n '🧂': 'salt',\n '🥫': 'canned_food',\n '🍱': 'bento',\n '🍘': 'rice_cracker',\n '🍙': 'rice_ball',\n '🍚': 'rice',\n '🍛': 'curry',\n '🍜': 'ramen',\n '🍝': 'spaghetti',\n '🍠': 'sweet_potato',\n '🍢': 'oden',\n '🍣': 'sushi',\n '🍤': 'fried_shrimp',\n '🍥': 'fish_cake',\n '🥮': 'moon_cake',\n '🍡': 'dango',\n '🥟': 'dumpling',\n '🥠': 'fortune_cookie',\n '🥡': 'takeout_box',\n '🦀': 'crab',\n '🦞': 'lobster',\n '🦐': 'shrimp',\n '🦑': 'squid',\n '🦪': 'oyster',\n '🍦': 'icecream',\n '🍧': 'shaved_ice',\n '🍨': 'ice_cream',\n '🍩': 'doughnut',\n '🍪': 'cookie',\n '🎂': 'birthday',\n '🍰': 'cake',\n '🧁': 'cupcake',\n '🥧': 'pie',\n '🍫': 'chocolate_bar',\n '🍬': 'candy',\n '🍭': 'lollipop',\n '🍮': 'custard',\n '🍯': 'honey_pot',\n '🍼': 'baby_bottle',\n '🥛': 'milk_glass',\n '☕': 'coffee',\n '🫖': 'teapot',\n '🍵': 'tea',\n '🍶': 'sake',\n '🍾': 'champagne',\n '🍷': 'wine_glass',\n '🍸': 'cocktail',\n '🍹': 'tropical_drink',\n '🍺': 'beer',\n '🍻': 'beers',\n '🥂': 'clinking_glasses',\n '🥃': 'tumbler_glass',\n '🫗': 'pouring_liquid',\n '🥤': 'cup_with_straw',\n '🧋': 'bubble_tea',\n '🧃': 'beverage_box',\n '🧉': 'mate',\n '🧊': 'ice_cube',\n '🥢': 'chopsticks',\n '🍽️': 'plate_with_cutlery',\n '🍴': 'fork_and_knife',\n '🥄': 'spoon',\n '🔪': 'hocho',\n '🫙': 'jar',\n '🏺': 'amphora',\n '🌍': 'earth_africa',\n '🌎': 'earth_americas',\n '🌏': 'earth_asia',\n '🌐': 'globe_with_meridians',\n '🗺️': 'world_map',\n '🗾': 'japan',\n '🧭': 'compass',\n '🏔️': 'mountain_snow',\n '⛰️': 'mountain',\n '🌋': 'volcano',\n '🗻': 'mount_fuji',\n '🏕️': 'camping',\n '🏖️': 'beach_umbrella',\n '🏜️': 'desert',\n '🏝️': 'desert_island',\n '🏞️': 'national_park',\n '🏟️': 'stadium',\n '🏛️': 'classical_building',\n '🏗️': 'building_construction',\n '🧱': 'bricks',\n '🪨': 'rock',\n '🪵': 'wood',\n '🛖': 'hut',\n '🏘️': 'houses',\n '🏚️': 'derelict_house',\n '🏠': 'house',\n '🏡': 'house_with_garden',\n '🏢': 'office',\n '🏣': 'post_office',\n '🏤': 'european_post_office',\n '🏥': 'hospital',\n '🏦': 'bank',\n '🏨': 'hotel',\n '🏩': 'love_hotel',\n '🏪': 'convenience_store',\n '🏫': 'school',\n '🏬': 'department_store',\n '🏭': 'factory',\n '🏯': 'japanese_castle',\n '🏰': 'european_castle',\n '💒': 'wedding',\n '🗼': 'tokyo_tower',\n '🗽': 'statue_of_liberty',\n '⛪': 'church',\n '🕌': 'mosque',\n '🛕': 'hindu_temple',\n '🕍': 'synagogue',\n '⛩️': 'shinto_shrine',\n '🕋': 'kaaba',\n '⛲': 'fountain',\n '⛺': 'tent',\n '🌁': 'foggy',\n '🌃': 'night_with_stars',\n '🏙️': 'cityscape',\n '🌄': 'sunrise_over_mountains',\n '🌅': 'sunrise',\n '🌆': 'city_sunset',\n '🌇': 'city_sunrise',\n '🌉': 'bridge_at_night',\n '♨️': 'hotsprings',\n '🎠': 'carousel_horse',\n '🛝': 'playground_slide',\n '🎡': 'ferris_wheel',\n '🎢': 'roller_coaster',\n '💈': 'barber',\n '🎪': 'circus_tent',\n '🚂': 'steam_locomotive',\n '🚃': 'railway_car',\n '🚄': 'bullettrain_side',\n '🚅': 'bullettrain_front',\n '🚆': 'train2',\n '🚇': 'metro',\n '🚈': 'light_rail',\n '🚉': 'station',\n '🚊': 'tram',\n '🚝': 'monorail',\n '🚞': 'mountain_railway',\n '🚋': 'train',\n '🚌': 'bus',\n '🚍': 'oncoming_bus',\n '🚎': 'trolleybus',\n '🚐': 'minibus',\n '🚑': 'ambulance',\n '🚒': 'fire_engine',\n '🚓': 'police_car',\n '🚔': 'oncoming_police_car',\n '🚕': 'taxi',\n '🚖': 'oncoming_taxi',\n '🚗': 'car',\n '🚘': 'oncoming_automobile',\n '🚙': 'blue_car',\n '🛻': 'pickup_truck',\n '🚚': 'truck',\n '🚛': 'articulated_lorry',\n '🚜': 'tractor',\n '🏎️': 'racing_car',\n '🏍️': 'motorcycle',\n '🛵': 'motor_scooter',\n '🦽': 'manual_wheelchair',\n '🦼': 'motorized_wheelchair',\n '🛺': 'auto_rickshaw',\n '🚲': 'bike',\n '🛴': 'kick_scooter',\n '🛹': 'skateboard',\n '🛼': 'roller_skate',\n '🚏': 'busstop',\n '🛣️': 'motorway',\n '🛤️': 'railway_track',\n '🛢️': 'oil_drum',\n '⛽': 'fuelpump',\n '🛞': 'wheel',\n '🚨': 'rotating_light',\n '🚥': 'traffic_light',\n '🚦': 'vertical_traffic_light',\n '🛑': 'stop_sign',\n '🚧': 'construction',\n '⚓': 'anchor',\n '🛟': 'ring_buoy',\n '⛵': 'boat',\n '🛶': 'canoe',\n '🚤': 'speedboat',\n '🛳️': 'passenger_ship',\n '⛴️': 'ferry',\n '🛥️': 'motor_boat',\n '🚢': 'ship',\n '✈️': 'airplane',\n '🛩️': 'small_airplane',\n '🛫': 'flight_departure',\n '🛬': 'flight_arrival',\n '🪂': 'parachute',\n '💺': 'seat',\n '🚁': 'helicopter',\n '🚟': 'suspension_railway',\n '🚠': 'mountain_cableway',\n '🚡': 'aerial_tramway',\n '🛰️': 'artificial_satellite',\n '🚀': 'rocket',\n '🛸': 'flying_saucer',\n '🛎️': 'bellhop_bell',\n '🧳': 'luggage',\n '⌛': 'hourglass',\n '⏳': 'hourglass_flowing_sand',\n '⌚': 'watch',\n '⏰': 'alarm_clock',\n '⏱️': 'stopwatch',\n '⏲️': 'timer_clock',\n '🕰️': 'mantelpiece_clock',\n '🕛': 'clock12',\n '🕧': 'clock1230',\n '🕐': 'clock1',\n '🕜': 'clock130',\n '🕑': 'clock2',\n '🕝': 'clock230',\n '🕒': 'clock3',\n '🕞': 'clock330',\n '🕓': 'clock4',\n '🕟': 'clock430',\n '🕔': 'clock5',\n '🕠': 'clock530',\n '🕕': 'clock6',\n '🕡': 'clock630',\n '🕖': 'clock7',\n '🕢': 'clock730',\n '🕗': 'clock8',\n '🕣': 'clock830',\n '🕘': 'clock9',\n '🕤': 'clock930',\n '🕙': 'clock10',\n '🕥': 'clock1030',\n '🕚': 'clock11',\n '🕦': 'clock1130',\n '🌑': 'new_moon',\n '🌒': 'waxing_crescent_moon',\n '🌓': 'first_quarter_moon',\n '🌔': 'moon',\n '🌕': 'full_moon',\n '🌖': 'waning_gibbous_moon',\n '🌗': 'last_quarter_moon',\n '🌘': 'waning_crescent_moon',\n '🌙': 'crescent_moon',\n '🌚': 'new_moon_with_face',\n '🌛': 'first_quarter_moon_with_face',\n '🌜': 'last_quarter_moon_with_face',\n '🌡️': 'thermometer',\n '☀️': 'sunny',\n '🌝': 'full_moon_with_face',\n '🌞': 'sun_with_face',\n '🪐': 'ringed_planet',\n '⭐': 'star',\n '🌟': 'star2',\n '🌠': 'stars',\n '🌌': 'milky_way',\n '☁️': 'cloud',\n '⛅': 'partly_sunny',\n '⛈️': 'cloud_with_lightning_and_rain',\n '🌤️': 'sun_behind_small_cloud',\n '🌥️': 'sun_behind_large_cloud',\n '🌦️': 'sun_behind_rain_cloud',\n '🌧️': 'cloud_with_rain',\n '🌨️': 'cloud_with_snow',\n '🌩️': 'cloud_with_lightning',\n '🌪️': 'tornado',\n '🌫️': 'fog',\n '🌬️': 'wind_face',\n '🌀': 'cyclone',\n '🌈': 'rainbow',\n '🌂': 'closed_umbrella',\n '☂️': 'open_umbrella',\n '☔': 'umbrella',\n '⛱️': 'parasol_on_ground',\n '⚡': 'zap',\n '❄️': 'snowflake',\n '☃️': 'snowman_with_snow',\n '⛄': 'snowman',\n '☄️': 'comet',\n '🔥': 'fire',\n '💧': 'droplet',\n '🌊': 'ocean',\n '🎃': 'jack_o_lantern',\n '🎄': 'christmas_tree',\n '🎆': 'fireworks',\n '🎇': 'sparkler',\n '🧨': 'firecracker',\n '✨': 'sparkles',\n '🎈': 'balloon',\n '🎉': 'tada',\n '🎊': 'confetti_ball',\n '🎋': 'tanabata_tree',\n '🎍': 'bamboo',\n '🎎': 'dolls',\n '🎏': 'flags',\n '🎐': 'wind_chime',\n '🎑': 'rice_scene',\n '🧧': 'red_envelope',\n '🎀': 'ribbon',\n '🎁': 'gift',\n '🎗️': 'reminder_ribbon',\n '🎟️': 'tickets',\n '🎫': 'ticket',\n '🎖️': 'medal_military',\n '🏆': 'trophy',\n '🏅': 'medal_sports',\n '🥇': '1st_place_medal',\n '🥈': '2nd_place_medal',\n '🥉': '3rd_place_medal',\n '⚽': 'soccer',\n '⚾': 'baseball',\n '🥎': 'softball',\n '🏀': 'basketball',\n '🏐': 'volleyball',\n '🏈': 'football',\n '🏉': 'rugby_football',\n '🎾': 'tennis',\n '🥏': 'flying_disc',\n '🎳': 'bowling',\n '🏏': 'cricket_game',\n '🏑': 'field_hockey',\n '🏒': 'ice_hockey',\n '🥍': 'lacrosse',\n '🏓': 'ping_pong',\n '🏸': 'badminton',\n '🥊': 'boxing_glove',\n '🥋': 'martial_arts_uniform',\n '🥅': 'goal_net',\n '⛳': 'golf',\n '⛸️': 'ice_skate',\n '🎣': 'fishing_pole_and_fish',\n '🤿': 'diving_mask',\n '🎽': 'running_shirt_with_sash',\n '🎿': 'ski',\n '🛷': 'sled',\n '🥌': 'curling_stone',\n '🎯': 'dart',\n '🪀': 'yo_yo',\n '🪁': 'kite',\n '🔫': 'gun',\n '🎱': '8ball',\n '🔮': 'crystal_ball',\n '🪄': 'magic_wand',\n '🎮': 'video_game',\n '🕹️': 'joystick',\n '🎰': 'slot_machine',\n '🎲': 'game_die',\n '🧩': 'jigsaw',\n '🧸': 'teddy_bear',\n '🪅': 'pinata',\n '🪩': 'mirror_ball',\n '🪆': 'nesting_dolls',\n '♠️': 'spades',\n '♥️': 'hearts',\n '♦️': 'diamonds',\n '♣️': 'clubs',\n '♟️': 'chess_pawn',\n '🃏': 'black_joker',\n '🀄': 'mahjong',\n '🎴': 'flower_playing_cards',\n '🎭': 'performing_arts',\n '🖼️': 'framed_picture',\n '🎨': 'art',\n '🧵': 'thread',\n '🪡': 'sewing_needle',\n '🧶': 'yarn',\n '🪢': 'knot',\n '👓': 'eyeglasses',\n '🕶️': 'dark_sunglasses',\n '🥽': 'goggles',\n '🥼': 'lab_coat',\n '🦺': 'safety_vest',\n '👔': 'necktie',\n '👕': 'shirt',\n '👖': 'jeans',\n '🧣': 'scarf',\n '🧤': 'gloves',\n '🧥': 'coat',\n '🧦': 'socks',\n '👗': 'dress',\n '👘': 'kimono',\n '🥻': 'sari',\n '🩱': 'one_piece_swimsuit',\n '🩲': 'swim_brief',\n '🩳': 'shorts',\n '👙': 'bikini',\n '👚': 'womans_clothes',\n '🪭': 'folding_hand_fan',\n '👛': 'purse',\n '👜': 'handbag',\n '👝': 'pouch',\n '🛍️': 'shopping',\n '🎒': 'school_satchel',\n '🩴': 'thong_sandal',\n '👞': 'mans_shoe',\n '👟': 'athletic_shoe',\n '🥾': 'hiking_boot',\n '🥿': 'flat_shoe',\n '👠': 'high_heel',\n '👡': 'sandal',\n '🩰': 'ballet_shoes',\n '👢': 'boot',\n '🪮': 'hair_pick',\n '👑': 'crown',\n '👒': 'womans_hat',\n '🎩': 'tophat',\n '🎓': 'mortar_board',\n '🧢': 'billed_cap',\n '🪖': 'military_helmet',\n '⛑️': 'rescue_worker_helmet',\n '📿': 'prayer_beads',\n '💄': 'lipstick',\n '💍': 'ring',\n '💎': 'gem',\n '🔇': 'mute',\n '🔈': 'speaker',\n '🔉': 'sound',\n '🔊': 'loud_sound',\n '📢': 'loudspeaker',\n '📣': 'mega',\n '📯': 'postal_horn',\n '🔔': 'bell',\n '🔕': 'no_bell',\n '🎼': 'musical_score',\n '🎵': 'musical_note',\n '🎶': 'notes',\n '🎙️': 'studio_microphone',\n '🎚️': 'level_slider',\n '🎛️': 'control_knobs',\n '🎤': 'microphone',\n '🎧': 'headphones',\n '📻': 'radio',\n '🎷': 'saxophone',\n '🪗': 'accordion',\n '🎸': 'guitar',\n '🎹': 'musical_keyboard',\n '🎺': 'trumpet',\n '🎻': 'violin',\n '🪕': 'banjo',\n '🥁': 'drum',\n '🪘': 'long_drum',\n '🪇': 'maracas',\n '🪈': 'flute',\n '📱': 'iphone',\n '📲': 'calling',\n '☎️': 'phone',\n '📞': 'telephone_receiver',\n '📟': 'pager',\n '📠': 'fax',\n '🔋': 'battery',\n '🪫': 'low_battery',\n '🔌': 'electric_plug',\n '💻': 'computer',\n '🖥️': 'desktop_computer',\n '🖨️': 'printer',\n '⌨️': 'keyboard',\n '🖱️': 'computer_mouse',\n '🖲️': 'trackball',\n '💽': 'minidisc',\n '💾': 'floppy_disk',\n '💿': 'cd',\n '📀': 'dvd',\n '🧮': 'abacus',\n '🎥': 'movie_camera',\n '🎞️': 'film_strip',\n '📽️': 'film_projector',\n '🎬': 'clapper',\n '📺': 'tv',\n '📷': 'camera',\n '📸': 'camera_flash',\n '📹': 'video_camera',\n '📼': 'vhs',\n '🔍': 'mag',\n '🔎': 'mag_right',\n '🕯️': 'candle',\n '💡': 'bulb',\n '🔦': 'flashlight',\n '🏮': 'izakaya_lantern',\n '🪔': 'diya_lamp',\n '📔': 'notebook_with_decorative_cover',\n '📕': 'closed_book',\n '📖': 'book',\n '📗': 'green_book',\n '📘': 'blue_book',\n '📙': 'orange_book',\n '📚': 'books',\n '📓': 'notebook',\n '📒': 'ledger',\n '📃': 'page_with_curl',\n '📜': 'scroll',\n '📄': 'page_facing_up',\n '📰': 'newspaper',\n '🗞️': 'newspaper_roll',\n '📑': 'bookmark_tabs',\n '🔖': 'bookmark',\n '🏷️': 'label',\n '💰': 'moneybag',\n '🪙': 'coin',\n '💴': 'yen',\n '💵': 'dollar',\n '💶': 'euro',\n '💷': 'pound',\n '💸': 'money_with_wings',\n '💳': 'credit_card',\n '🧾': 'receipt',\n '💹': 'chart',\n '✉️': 'envelope',\n '📧': 'email',\n '📨': 'incoming_envelope',\n '📩': 'envelope_with_arrow',\n '📤': 'outbox_tray',\n '📥': 'inbox_tray',\n '📦': 'package',\n '📫': 'mailbox',\n '📪': 'mailbox_closed',\n '📬': 'mailbox_with_mail',\n '📭': 'mailbox_with_no_mail',\n '📮': 'postbox',\n '🗳️': 'ballot_box',\n '✏️': 'pencil2',\n '✒️': 'black_nib',\n '🖋️': 'fountain_pen',\n '🖊️': 'pen',\n '🖌️': 'paintbrush',\n '🖍️': 'crayon',\n '📝': 'memo',\n '💼': 'briefcase',\n '📁': 'file_folder',\n '📂': 'open_file_folder',\n '🗂️': 'card_index_dividers',\n '📅': 'date',\n '📆': 'calendar',\n '🗒️': 'spiral_notepad',\n '🗓️': 'spiral_calendar',\n '📇': 'card_index',\n '📈': 'chart_with_upwards_trend',\n '📉': 'chart_with_downwards_trend',\n '📊': 'bar_chart',\n '📋': 'clipboard',\n '📌': 'pushpin',\n '📍': 'round_pushpin',\n '📎': 'paperclip',\n '🖇️': 'paperclips',\n '📏': 'straight_ruler',\n '📐': 'triangular_ruler',\n '✂️': 'scissors',\n '🗃️': 'card_file_box',\n '🗄️': 'file_cabinet',\n '🗑️': 'wastebasket',\n '🔒': 'lock',\n '🔓': 'unlock',\n '🔏': 'lock_with_ink_pen',\n '🔐': 'closed_lock_with_key',\n '🔑': 'key',\n '🗝️': 'old_key',\n '🔨': 'hammer',\n '🪓': 'axe',\n '⛏️': 'pick',\n '⚒️': 'hammer_and_pick',\n '🛠️': 'hammer_and_wrench',\n '🗡️': 'dagger',\n '⚔️': 'crossed_swords',\n '💣': 'bomb',\n '🪃': 'boomerang',\n '🏹': 'bow_and_arrow',\n '🛡️': 'shield',\n '🪚': 'carpentry_saw',\n '🔧': 'wrench',\n '🪛': 'screwdriver',\n '🔩': 'nut_and_bolt',\n '⚙️': 'gear',\n '🗜️': 'clamp',\n '⚖️': 'balance_scale',\n '🦯': 'probing_cane',\n '🔗': 'link',\n '⛓️': 'chains',\n '🪝': 'hook',\n '🧰': 'toolbox',\n '🧲': 'magnet',\n '🪜': 'ladder',\n '⚗️': 'alembic',\n '🧪': 'test_tube',\n '🧫': 'petri_dish',\n '🧬': 'dna',\n '🔬': 'microscope',\n '🔭': 'telescope',\n '📡': 'satellite',\n '💉': 'syringe',\n '🩸': 'drop_of_blood',\n '💊': 'pill',\n '🩹': 'adhesive_bandage',\n '🩼': 'crutch',\n '🩺': 'stethoscope',\n '🩻': 'x_ray',\n '🚪': 'door',\n '🛗': 'elevator',\n '🪞': 'mirror',\n '🪟': 'window',\n '🛏️': 'bed',\n '🛋️': 'couch_and_lamp',\n '🪑': 'chair',\n '🚽': 'toilet',\n '🪠': 'plunger',\n '🚿': 'shower',\n '🛁': 'bathtub',\n '🪤': 'mouse_trap',\n '🪒': 'razor',\n '🧴': 'lotion_bottle',\n '🧷': 'safety_pin',\n '🧹': 'broom',\n '🧺': 'basket',\n '🧻': 'roll_of_paper',\n '🪣': 'bucket',\n '🧼': 'soap',\n '🫧': 'bubbles',\n '🪥': 'toothbrush',\n '🧽': 'sponge',\n '🧯': 'fire_extinguisher',\n '🛒': 'shopping_cart',\n '🚬': 'smoking',\n '⚰️': 'coffin',\n '🪦': 'headstone',\n '⚱️': 'funeral_urn',\n '🧿': 'nazar_amulet',\n '🪬': 'hamsa',\n '🗿': 'moyai',\n '🪧': 'placard',\n '🪪': 'identification_card',\n '🏧': 'atm',\n '🚮': 'put_litter_in_its_place',\n '🚰': 'potable_water',\n '♿': 'wheelchair',\n '🚹': 'mens',\n '🚺': 'womens',\n '🚻': 'restroom',\n '🚼': 'baby_symbol',\n '🚾': 'wc',\n '🛂': 'passport_control',\n '🛃': 'customs',\n '🛄': 'baggage_claim',\n '🛅': 'left_luggage',\n '⚠️': 'warning',\n '🚸': 'children_crossing',\n '⛔': 'no_entry',\n '🚫': 'no_entry_sign',\n '🚳': 'no_bicycles',\n '🚭': 'no_smoking',\n '🚯': 'do_not_litter',\n '🚱': 'non-potable_water',\n '🚷': 'no_pedestrians',\n '📵': 'no_mobile_phones',\n '🔞': 'underage',\n '☢️': 'radioactive',\n '☣️': 'biohazard',\n '⬆️': 'arrow_up',\n '↗️': 'arrow_upper_right',\n '➡️': 'arrow_right',\n '↘️': 'arrow_lower_right',\n '⬇️': 'arrow_down',\n '↙️': 'arrow_lower_left',\n '⬅️': 'arrow_left',\n '↖️': 'arrow_upper_left',\n '↕️': 'arrow_up_down',\n '↔️': 'left_right_arrow',\n '↩️': 'leftwards_arrow_with_hook',\n '↪️': 'arrow_right_hook',\n '⤴️': 'arrow_heading_up',\n '⤵️': 'arrow_heading_down',\n '🔃': 'arrows_clockwise',\n '🔄': 'arrows_counterclockwise',\n '🔙': 'back',\n '🔚': 'end',\n '🔛': 'on',\n '🔜': 'soon',\n '🔝': 'top',\n '🛐': 'place_of_worship',\n '⚛️': 'atom_symbol',\n '🕉️': 'om',\n '✡️': 'star_of_david',\n '☸️': 'wheel_of_dharma',\n '☯️': 'yin_yang',\n '✝️': 'latin_cross',\n '☦️': 'orthodox_cross',\n '☪️': 'star_and_crescent',\n '☮️': 'peace_symbol',\n '🕎': 'menorah',\n '🔯': 'six_pointed_star',\n '🪯': 'khanda',\n '♈': 'aries',\n '♉': 'taurus',\n '♊': 'gemini',\n '♋': 'cancer',\n '♌': 'leo',\n '♍': 'virgo',\n '♎': 'libra',\n '♏': 'scorpius',\n '♐': 'sagittarius',\n '♑': 'capricorn',\n '♒': 'aquarius',\n '♓': 'pisces',\n '⛎': 'ophiuchus',\n '🔀': 'twisted_rightwards_arrows',\n '🔁': 'repeat',\n '🔂': 'repeat_one',\n '▶️': 'arrow_forward',\n '⏩': 'fast_forward',\n '⏭️': 'next_track_button',\n '⏯️': 'play_or_pause_button',\n '◀️': 'arrow_backward',\n '⏪': 'rewind',\n '⏮️': 'previous_track_button',\n '🔼': 'arrow_up_small',\n '⏫': 'arrow_double_up',\n '🔽': 'arrow_down_small',\n '⏬': 'arrow_double_down',\n '⏸️': 'pause_button',\n '⏹️': 'stop_button',\n '⏺️': 'record_button',\n '⏏️': 'eject_button',\n '🎦': 'cinema',\n '🔅': 'low_brightness',\n '🔆': 'high_brightness',\n '📶': 'signal_strength',\n '🛜': 'wireless',\n '📳': 'vibration_mode',\n '📴': 'mobile_phone_off',\n '♀️': 'female_sign',\n '♂️': 'male_sign',\n '⚧️': 'transgender_symbol',\n '✖️': 'heavy_multiplication_x',\n '➕': 'heavy_plus_sign',\n '➖': 'heavy_minus_sign',\n '➗': 'heavy_division_sign',\n '🟰': 'heavy_equals_sign',\n '♾️': 'infinity',\n '‼️': 'bangbang',\n '⁉️': 'interrobang',\n '❓': 'question',\n '❔': 'grey_question',\n '❕': 'grey_exclamation',\n '❗': 'exclamation',\n '〰️': 'wavy_dash',\n '💱': 'currency_exchange',\n '💲': 'heavy_dollar_sign',\n '⚕️': 'medical_symbol',\n '♻️': 'recycle',\n '⚜️': 'fleur_de_lis',\n '🔱': 'trident',\n '📛': 'name_badge',\n '🔰': 'beginner',\n '⭕': 'o',\n '✅': 'white_check_mark',\n '☑️': 'ballot_box_with_check',\n '✔️': 'heavy_check_mark',\n '❌': 'x',\n '❎': 'negative_squared_cross_mark',\n '➰': 'curly_loop',\n '➿': 'loop',\n '〽️': 'part_alternation_mark',\n '✳️': 'eight_spoked_asterisk',\n '✴️': 'eight_pointed_black_star',\n '❇️': 'sparkle',\n '©️': 'copyright',\n '®️': 'registered',\n '™️': 'tm',\n '#️⃣': 'hash',\n '*️⃣': 'asterisk',\n '0️⃣': 'zero',\n '1️⃣': 'one',\n '2️⃣': 'two',\n '3️⃣': 'three',\n '4️⃣': 'four',\n '5️⃣': 'five',\n '6️⃣': 'six',\n '7️⃣': 'seven',\n '8️⃣': 'eight',\n '9️⃣': 'nine',\n '🔟': 'keycap_ten',\n '🔠': 'capital_abcd',\n '🔡': 'abcd',\n '🔢': '1234',\n '🔣': 'symbols',\n '🔤': 'abc',\n '🅰️': 'a',\n '🆎': 'ab',\n '🅱️': 'b',\n '🆑': 'cl',\n '🆒': 'cool',\n '🆓': 'free',\n ℹ️: 'information_source',\n '🆔': 'id',\n 'Ⓜ️': 'm',\n '🆕': 'new',\n '🆖': 'ng',\n '🅾️': 'o2',\n '🆗': 'ok',\n '🅿️': 'parking',\n '🆘': 'sos',\n '🆙': 'up',\n '🆚': 'vs',\n '🈁': 'koko',\n '🈂️': 'sa',\n '🈷️': 'u6708',\n '🈶': 'u6709',\n '🈯': 'u6307',\n '🉐': 'ideograph_advantage',\n '🈹': 'u5272',\n '🈚': 'u7121',\n '🈲': 'u7981',\n '🉑': 'accept',\n '🈸': 'u7533',\n '🈴': 'u5408',\n '🈳': 'u7a7a',\n '㊗️': 'congratulations',\n '㊙️': 'secret',\n '🈺': 'u55b6',\n '🈵': 'u6e80',\n '🔴': 'red_circle',\n '🟠': 'orange_circle',\n '🟡': 'yellow_circle',\n '🟢': 'green_circle',\n '🔵': 'large_blue_circle',\n '🟣': 'purple_circle',\n '🟤': 'brown_circle',\n '⚫': 'black_circle',\n '⚪': 'white_circle',\n '🟥': 'red_square',\n '🟧': 'orange_square',\n '🟨': 'yellow_square',\n '🟩': 'green_square',\n '🟦': 'blue_square',\n '🟪': 'purple_square',\n '🟫': 'brown_square',\n '⬛': 'black_large_square',\n '⬜': 'white_large_square',\n '◼️': 'black_medium_square',\n '◻️': 'white_medium_square',\n '◾': 'black_medium_small_square',\n '◽': 'white_medium_small_square',\n '▪️': 'black_small_square',\n '▫️': 'white_small_square',\n '🔶': 'large_orange_diamond',\n '🔷': 'large_blue_diamond',\n '🔸': 'small_orange_diamond',\n '🔹': 'small_blue_diamond',\n '🔺': 'small_red_triangle',\n '🔻': 'small_red_triangle_down',\n '💠': 'diamond_shape_with_a_dot_inside',\n '🔘': 'radio_button',\n '🔳': 'white_square_button',\n '🔲': 'black_square_button',\n '🏁': 'checkered_flag',\n '🚩': 'triangular_flag_on_post',\n '🎌': 'crossed_flags',\n '🏴': 'black_flag',\n '🏳️': 'white_flag',\n '🏳️‍🌈': 'rainbow_flag',\n '🏳️‍⚧️': 'transgender_flag',\n '🏴‍☠️': 'pirate_flag',\n '🇦🇨': 'ascension_island',\n '🇦🇩': 'andorra',\n '🇦🇪': 'united_arab_emirates',\n '🇦🇫': 'afghanistan',\n '🇦🇬': 'antigua_barbuda',\n '🇦🇮': 'anguilla',\n '🇦🇱': 'albania',\n '🇦🇲': 'armenia',\n '🇦🇴': 'angola',\n '🇦🇶': 'antarctica',\n '🇦🇷': 'argentina',\n '🇦🇸': 'american_samoa',\n '🇦🇹': 'austria',\n '🇦🇺': 'australia',\n '🇦🇼': 'aruba',\n '🇦🇽': 'aland_islands',\n '🇦🇿': 'azerbaijan',\n '🇧🇦': 'bosnia_herzegovina',\n '🇧🇧': 'barbados',\n '🇧🇩': 'bangladesh',\n '🇧🇪': 'belgium',\n '🇧🇫': 'burkina_faso',\n '🇧🇬': 'bulgaria',\n '🇧🇭': 'bahrain',\n '🇧🇮': 'burundi',\n '🇧🇯': 'benin',\n '🇧🇱': 'st_barthelemy',\n '🇧🇲': 'bermuda',\n '🇧🇳': 'brunei',\n '🇧🇴': 'bolivia',\n '🇧🇶': 'caribbean_netherlands',\n '🇧🇷': 'brazil',\n '🇧🇸': 'bahamas',\n '🇧🇹': 'bhutan',\n '🇧🇻': 'bouvet_island',\n '🇧🇼': 'botswana',\n '🇧🇾': 'belarus',\n '🇧🇿': 'belize',\n '🇨🇦': 'canada',\n '🇨🇨': 'cocos_islands',\n '🇨🇩': 'congo_kinshasa',\n '🇨🇫': 'central_african_republic',\n '🇨🇬': 'congo_brazzaville',\n '🇨🇭': 'switzerland',\n '🇨🇮': 'cote_divoire',\n '🇨🇰': 'cook_islands',\n '🇨🇱': 'chile',\n '🇨🇲': 'cameroon',\n '🇨🇳': 'cn',\n '🇨🇴': 'colombia',\n '🇨🇵': 'clipperton_island',\n '🇨🇷': 'costa_rica',\n '🇨🇺': 'cuba',\n '🇨🇻': 'cape_verde',\n '🇨🇼': 'curacao',\n '🇨🇽': 'christmas_island',\n '🇨🇾': 'cyprus',\n '🇨🇿': 'czech_republic',\n '🇩🇪': 'de',\n '🇩🇬': 'diego_garcia',\n '🇩🇯': 'djibouti',\n '🇩🇰': 'denmark',\n '🇩🇲': 'dominica',\n '🇩🇴': 'dominican_republic',\n '🇩🇿': 'algeria',\n '🇪🇦': 'ceuta_melilla',\n '🇪🇨': 'ecuador',\n '🇪🇪': 'estonia',\n '🇪🇬': 'egypt',\n '🇪🇭': 'western_sahara',\n '🇪🇷': 'eritrea',\n '🇪🇸': 'es',\n '🇪🇹': 'ethiopia',\n '🇪🇺': 'eu',\n '🇫🇮': 'finland',\n '🇫🇯': 'fiji',\n '🇫🇰': 'falkland_islands',\n '🇫🇲': 'micronesia',\n '🇫🇴': 'faroe_islands',\n '🇫🇷': 'fr',\n '🇬🇦': 'gabon',\n '🇬🇧': 'gb',\n '🇬🇩': 'grenada',\n '🇬🇪': 'georgia',\n '🇬🇫': 'french_guiana',\n '🇬🇬': 'guernsey',\n '🇬🇭': 'ghana',\n '🇬🇮': 'gibraltar',\n '🇬🇱': 'greenland',\n '🇬🇲': 'gambia',\n '🇬🇳': 'guinea',\n '🇬🇵': 'guadeloupe',\n '🇬🇶': 'equatorial_guinea',\n '🇬🇷': 'greece',\n '🇬🇸': 'south_georgia_south_sandwich_islands',\n '🇬🇹': 'guatemala',\n '🇬🇺': 'guam',\n '🇬🇼': 'guinea_bissau',\n '🇬🇾': 'guyana',\n '🇭🇰': 'hong_kong',\n '🇭🇲': 'heard_mcdonald_islands',\n '🇭🇳': 'honduras',\n '🇭🇷': 'croatia',\n '🇭🇹': 'haiti',\n '🇭🇺': 'hungary',\n '🇮🇨': 'canary_islands',\n '🇮🇩': 'indonesia',\n '🇮🇪': 'ireland',\n '🇮🇱': 'israel',\n '🇮🇲': 'isle_of_man',\n '🇮🇳': 'india',\n '🇮🇴': 'british_indian_ocean_territory',\n '🇮🇶': 'iraq',\n '🇮🇷': 'iran',\n '🇮🇸': 'iceland',\n '🇮🇹': 'it',\n '🇯🇪': 'jersey',\n '🇯🇲': 'jamaica',\n '🇯🇴': 'jordan',\n '🇯🇵': 'jp',\n '🇰🇪': 'kenya',\n '🇰🇬': 'kyrgyzstan',\n '🇰🇭': 'cambodia',\n '🇰🇮': 'kiribati',\n '🇰🇲': 'comoros',\n '🇰🇳': 'st_kitts_nevis',\n '🇰🇵': 'north_korea',\n '🇰🇷': 'kr',\n '🇰🇼': 'kuwait',\n '🇰🇾': 'cayman_islands',\n '🇰🇿': 'kazakhstan',\n '🇱🇦': 'laos',\n '🇱🇧': 'lebanon',\n '🇱🇨': 'st_lucia',\n '🇱🇮': 'liechtenstein',\n '🇱🇰': 'sri_lanka',\n '🇱🇷': 'liberia',\n '🇱🇸': 'lesotho',\n '🇱🇹': 'lithuania',\n '🇱🇺': 'luxembourg',\n '🇱🇻': 'latvia',\n '🇱🇾': 'libya',\n '🇲🇦': 'morocco',\n '🇲🇨': 'monaco',\n '🇲🇩': 'moldova',\n '🇲🇪': 'montenegro',\n '🇲🇫': 'st_martin',\n '🇲🇬': 'madagascar',\n '🇲🇭': 'marshall_islands',\n '🇲🇰': 'macedonia',\n '🇲🇱': 'mali',\n '🇲🇲': 'myanmar',\n '🇲🇳': 'mongolia',\n '🇲🇴': 'macau',\n '🇲🇵': 'northern_mariana_islands',\n '🇲🇶': 'martinique',\n '🇲🇷': 'mauritania',\n '🇲🇸': 'montserrat',\n '🇲🇹': 'malta',\n '🇲🇺': 'mauritius',\n '🇲🇻': 'maldives',\n '🇲🇼': 'malawi',\n '🇲🇽': 'mexico',\n '🇲🇾': 'malaysia',\n '🇲🇿': 'mozambique',\n '🇳🇦': 'namibia',\n '🇳🇨': 'new_caledonia',\n '🇳🇪': 'niger',\n '🇳🇫': 'norfolk_island',\n '🇳🇬': 'nigeria',\n '🇳🇮': 'nicaragua',\n '🇳🇱': 'netherlands',\n '🇳🇴': 'norway',\n '🇳🇵': 'nepal',\n '🇳🇷': 'nauru',\n '🇳🇺': 'niue',\n '🇳🇿': 'new_zealand',\n '🇴🇲': 'oman',\n '🇵🇦': 'panama',\n '🇵🇪': 'peru',\n '🇵🇫': 'french_polynesia',\n '🇵🇬': 'papua_new_guinea',\n '🇵🇭': 'philippines',\n '🇵🇰': 'pakistan',\n '🇵🇱': 'poland',\n '🇵🇲': 'st_pierre_miquelon',\n '🇵🇳': 'pitcairn_islands',\n '🇵🇷': 'puerto_rico',\n '🇵🇸': 'palestinian_territories',\n '🇵🇹': 'portugal',\n '🇵🇼': 'palau',\n '🇵🇾': 'paraguay',\n '🇶🇦': 'qatar',\n '🇷🇪': 'reunion',\n '🇷🇴': 'romania',\n '🇷🇸': 'serbia',\n '🇷🇺': 'ru',\n '🇷🇼': 'rwanda',\n '🇸🇦': 'saudi_arabia',\n '🇸🇧': 'solomon_islands',\n '🇸🇨': 'seychelles',\n '🇸🇩': 'sudan',\n '🇸🇪': 'sweden',\n '🇸🇬': 'singapore',\n '🇸🇭': 'st_helena',\n '🇸🇮': 'slovenia',\n '🇸🇯': 'svalbard_jan_mayen',\n '🇸🇰': 'slovakia',\n '🇸🇱': 'sierra_leone',\n '🇸🇲': 'san_marino',\n '🇸🇳': 'senegal',\n '🇸🇴': 'somalia',\n '🇸🇷': 'suriname',\n '🇸🇸': 'south_sudan',\n '🇸🇹': 'sao_tome_principe',\n '🇸🇻': 'el_salvador',\n '🇸🇽': 'sint_maarten',\n '🇸🇾': 'syria',\n '🇸🇿': 'swaziland',\n '🇹🇦': 'tristan_da_cunha',\n '🇹🇨': 'turks_caicos_islands',\n '🇹🇩': 'chad',\n '🇹🇫': 'french_southern_territories',\n '🇹🇬': 'togo',\n '🇹🇭': 'thailand',\n '🇹🇯': 'tajikistan',\n '🇹🇰': 'tokelau',\n '🇹🇱': 'timor_leste',\n '🇹🇲': 'turkmenistan',\n '🇹🇳': 'tunisia',\n '🇹🇴': 'tonga',\n '🇹🇷': 'tr',\n '🇹🇹': 'trinidad_tobago',\n '🇹🇻': 'tuvalu',\n '🇹🇼': 'taiwan',\n '🇹🇿': 'tanzania',\n '🇺🇦': 'ukraine',\n '🇺🇬': 'uganda',\n '🇺🇲': 'us_outlying_islands',\n '🇺🇳': 'united_nations',\n '🇺🇸': 'us',\n '🇺🇾': 'uruguay',\n '🇺🇿': 'uzbekistan',\n '🇻🇦': 'vatican_city',\n '🇻🇨': 'st_vincent_grenadines',\n '🇻🇪': 'venezuela',\n '🇻🇬': 'british_virgin_islands',\n '🇻🇮': 'us_virgin_islands',\n '🇻🇳': 'vietnam',\n '🇻🇺': 'vanuatu',\n '🇼🇫': 'wallis_futuna',\n '🇼🇸': 'samoa',\n '🇽🇰': 'kosovo',\n '🇾🇪': 'yemen',\n '🇾🇹': 'mayotte',\n '🇿🇦': 'south_africa',\n '🇿🇲': 'zambia',\n '🇿🇼': 'zimbabwe',\n '🏴󠁧󠁢󠁥󠁮󠁧󠁿': 'england',\n '🏴󠁧󠁢󠁳󠁣󠁴󠁿': 'scotland',\n '🏴󠁧󠁢󠁷󠁬󠁳󠁿': 'wales'\n}\n","<template>\n <button v-if=\"!isOpen\" class=\"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3\" title=\"Choose an emoji\" @click=\"isOpen = true\"><i class=\"fa fa-smile-o\" aria-hidden=\"true\" /></button>\n <aside v-else class=\"emojiPicker px-0\">\n <o-tabs>\n <o-tab-item v-for=\"category in categories\" :key=\"category\" :label=\"category\" class=\"is-full-height mb-5\">\n <div class=\"is-flex is-flex-wrap-wrap is-align-content-flex-start is-full-height-scrollable\">\n <a v-for=\"emoji in getEmojiByCategory(category)\" :key=\"emoji.emoji\" href=\"#\" :title=\"emoji.description\" class=\"emoji is-size-5 p-1\" @click.prevent=\"sendEmojiPicked(emoji)\">{{ emoji.emoji }}</a>\n </div>\n </o-tab-item>\n </o-tabs>\n </aside>\n</template>\n\n<script>\nimport { gemoji } from 'gemoji'\n\nexport default {\n name: 'EmojiPicker',\n emits: [\n 'emoji-picked',\n ],\n data () {\n return {\n isOpen: false,\n activeCategory: '',\n }\n },\n computed: {\n categories () {\n return gemoji.reduce(function (acc, emoji) {\n if (!acc.includes(emoji.category)) {\n acc.push(emoji.category)\n }\n return acc\n }, [])\n },\n },\n created () {\n document.addEventListener('keyup', this.keyUp)\n },\n beforeUnmount () {\n document.removeEventListener('keyup', this.keyUp)\n },\n methods: {\n getEmojiByCategory (category) {\n return gemoji\n .filter((emoji) => emoji.category === category)\n },\n sendEmojiPicked (emoji) {\n this.$emit('emoji-picked', emoji.emoji)\n this.isOpen = false\n },\n keyUp ({ key }) {\n if (this.isOpen && (key === 'Escape' || key === 'Esc')) {\n this.isOpen = false\n }\n },\n },\n}\n</script>\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.9.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/**\n * filesize\n *\n * @copyright 2024 Jason Mulligan <jason.mulligan@avoidwork.com>\n * @license BSD-3-Clause\n * @version 10.1.6\n */\nconst ARRAY = \"array\";\r\nconst BIT = \"bit\";\r\nconst BITS = \"bits\";\r\nconst BYTE = \"byte\";\r\nconst BYTES = \"bytes\";\r\nconst EMPTY = \"\";\r\nconst EXPONENT = \"exponent\";\r\nconst FUNCTION = \"function\";\r\nconst IEC = \"iec\";\r\nconst INVALID_NUMBER = \"Invalid number\";\r\nconst INVALID_ROUND = \"Invalid rounding method\";\r\nconst JEDEC = \"jedec\";\r\nconst OBJECT = \"object\";\r\nconst PERIOD = \".\";\r\nconst ROUND = \"round\";\r\nconst S = \"s\";\r\nconst SI = \"si\";\r\nconst SI_KBIT = \"kbit\";\r\nconst SI_KBYTE = \"kB\";\r\nconst SPACE = \" \";\r\nconst STRING = \"string\";\r\nconst ZERO = \"0\";\r\nconst STRINGS = {\r\n\tsymbol: {\r\n\t\tiec: {\r\n\t\t\tbits: [\"bit\", \"Kibit\", \"Mibit\", \"Gibit\", \"Tibit\", \"Pibit\", \"Eibit\", \"Zibit\", \"Yibit\"],\r\n\t\t\tbytes: [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\", \"EiB\", \"ZiB\", \"YiB\"]\r\n\t\t},\r\n\t\tjedec: {\r\n\t\t\tbits: [\"bit\", \"Kbit\", \"Mbit\", \"Gbit\", \"Tbit\", \"Pbit\", \"Ebit\", \"Zbit\", \"Ybit\"],\r\n\t\t\tbytes: [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"]\r\n\t\t}\r\n\t},\r\n\tfullform: {\r\n\t\tiec: [\"\", \"kibi\", \"mebi\", \"gibi\", \"tebi\", \"pebi\", \"exbi\", \"zebi\", \"yobi\"],\r\n\t\tjedec: [\"\", \"kilo\", \"mega\", \"giga\", \"tera\", \"peta\", \"exa\", \"zetta\", \"yotta\"]\r\n\t}\r\n};function filesize (arg, {\r\n\tbits = false,\r\n\tpad = false,\r\n\tbase = -1,\r\n\tround = 2,\r\n\tlocale = EMPTY,\r\n\tlocaleOptions = {},\r\n\tseparator = EMPTY,\r\n\tspacer = SPACE,\r\n\tsymbols = {},\r\n\tstandard = EMPTY,\r\n\toutput = STRING,\r\n\tfullform = false,\r\n\tfullforms = [],\r\n\texponent = -1,\r\n\troundingMethod = ROUND,\r\n\tprecision = 0\r\n} = {}) {\r\n\tlet e = exponent,\r\n\t\tnum = Number(arg),\r\n\t\tresult = [],\r\n\t\tval = 0,\r\n\t\tu = EMPTY;\r\n\r\n\t// Sync base & standard\r\n\tif (standard === SI) {\r\n\t\tbase = 10;\r\n\t\tstandard = JEDEC;\r\n\t} else if (standard === IEC || standard === JEDEC) {\r\n\t\tbase = 2;\r\n\t} else if (base === 2) {\r\n\t\tstandard = IEC;\r\n\t} else {\r\n\t\tbase = 10;\r\n\t\tstandard = JEDEC;\r\n\t}\r\n\r\n\tconst ceil = base === 10 ? 1000 : 1024,\r\n\t\tfull = fullform === true,\r\n\t\tneg = num < 0,\r\n\t\troundingFunc = Math[roundingMethod];\r\n\r\n\tif (typeof arg !== \"bigint\" && isNaN(arg)) {\r\n\t\tthrow new TypeError(INVALID_NUMBER);\r\n\t}\r\n\r\n\tif (typeof roundingFunc !== FUNCTION) {\r\n\t\tthrow new TypeError(INVALID_ROUND);\r\n\t}\r\n\r\n\t// Flipping a negative number to determine the size\r\n\tif (neg) {\r\n\t\tnum = -num;\r\n\t}\r\n\r\n\t// Determining the exponent\r\n\tif (e === -1 || isNaN(e)) {\r\n\t\te = Math.floor(Math.log(num) / Math.log(ceil));\r\n\r\n\t\tif (e < 0) {\r\n\t\t\te = 0;\r\n\t\t}\r\n\t}\r\n\r\n\t// Exceeding supported length, time to reduce & multiply\r\n\tif (e > 8) {\r\n\t\tif (precision > 0) {\r\n\t\t\tprecision += 8 - e;\r\n\t\t}\r\n\r\n\t\te = 8;\r\n\t}\r\n\r\n\tif (output === EXPONENT) {\r\n\t\treturn e;\r\n\t}\r\n\r\n\t// Zero is now a special case because bytes divide by 1\r\n\tif (num === 0) {\r\n\t\tresult[0] = 0;\r\n\t\tu = result[1] = STRINGS.symbol[standard][bits ? BITS : BYTES][e];\r\n\t} else {\r\n\t\tval = num / (base === 2 ? Math.pow(2, e * 10) : Math.pow(1000, e));\r\n\r\n\t\tif (bits) {\r\n\t\t\tval = val * 8;\r\n\r\n\t\t\tif (val >= ceil && e < 8) {\r\n\t\t\t\tval = val / ceil;\r\n\t\t\t\te++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst p = Math.pow(10, e > 0 ? round : 0);\r\n\t\tresult[0] = roundingFunc(val * p) / p;\r\n\r\n\t\tif (result[0] === ceil && e < 8 && exponent === -1) {\r\n\t\t\tresult[0] = 1;\r\n\t\t\te++;\r\n\t\t}\r\n\r\n\t\tu = result[1] = base === 10 && e === 1 ? bits ? SI_KBIT : SI_KBYTE : STRINGS.symbol[standard][bits ? BITS : BYTES][e];\r\n\t}\r\n\r\n\t// Decorating a 'diff'\r\n\tif (neg) {\r\n\t\tresult[0] = -result[0];\r\n\t}\r\n\r\n\t// Setting optional precision\r\n\tif (precision > 0) {\r\n\t\tresult[0] = result[0].toPrecision(precision);\r\n\t}\r\n\r\n\t// Applying custom symbol\r\n\tresult[1] = symbols[result[1]] || result[1];\r\n\r\n\tif (locale === true) {\r\n\t\tresult[0] = result[0].toLocaleString();\r\n\t} else if (locale.length > 0) {\r\n\t\tresult[0] = result[0].toLocaleString(locale, localeOptions);\r\n\t} else if (separator.length > 0) {\r\n\t\tresult[0] = result[0].toString().replace(PERIOD, separator);\r\n\t}\r\n\r\n\tif (pad && round > 0) {\r\n\t\tconst i = result[0].toString(),\r\n\t\t\tx = separator || ((i.match(/(\\D)/g) || []).pop() || PERIOD),\r\n\t\t\ttmp = i.toString().split(x),\r\n\t\t\ts = tmp[1] || EMPTY,\r\n\t\t\tl = s.length,\r\n\t\t\tn = round - l;\r\n\r\n\t\tresult[0] = `${tmp[0]}${x}${s.padEnd(l + n, ZERO)}`;\r\n\t}\r\n\r\n\tif (full) {\r\n\t\tresult[1] = fullforms[e] ? fullforms[e] : STRINGS.fullform[standard][e] + (bits ? BIT : BYTE) + (result[0] === 1 ? EMPTY : S);\r\n\t}\r\n\r\n\t// Returning Array, Object, or String (default)\r\n\treturn output === ARRAY ? result : output === OBJECT ? {\r\n\t\tvalue: result[0],\r\n\t\tsymbol: result[1],\r\n\t\texponent: e,\r\n\t\tunit: u\r\n\t} : result.join(spacer);\r\n}\r\n\r\n// Partial application for functional programming\r\nfunction partial ({\r\n\tbits = false,\r\n\tpad = false,\r\n\tbase = -1,\r\n\tround = 2,\r\n\tlocale = EMPTY,\r\n\tlocaleOptions = {},\r\n\tseparator = EMPTY,\r\n\tspacer = SPACE,\r\n\tsymbols = {},\r\n\tstandard = EMPTY,\r\n\toutput = STRING,\r\n\tfullform = false,\r\n\tfullforms = [],\r\n\texponent = -1,\r\n\troundingMethod = ROUND,\r\n\tprecision = 0\r\n} = {}) {\r\n\treturn arg => filesize(arg, {\r\n\t\tbits,\r\n\t\tpad,\r\n\t\tbase,\r\n\t\tround,\r\n\t\tlocale,\r\n\t\tlocaleOptions,\r\n\t\tseparator,\r\n\t\tspacer,\r\n\t\tsymbols,\r\n\t\tstandard,\r\n\t\toutput,\r\n\t\tfullform,\r\n\t\tfullforms,\r\n\t\texponent,\r\n\t\troundingMethod,\r\n\t\tprecision\r\n\t});\r\n}export{filesize,partial};","<template>\n <div class=\"sendbox has-border-top-shade-3\">\n <form @submit.prevent=\"sendMessage\">\n <div class=\"field is-flex is-align-items-center mr-3\">\n <div class=\"control is-flex-grow-1\">\n <textarea v-model=\"composingMessage\" class=\"textarea has-background-shade-4 is-shadowless has-placeholder-shade-1\" :placeholder=\"!file? 'Send message' : ''\" rows=\"2\" :disabled=\"fileThumbnail || fileIcon\" @keydown.ctrl.enter=\"sendMessage\" @keydown.exact.enter=\"handleEnterKey\" @input=\"onInput\" />\n <div v-if=\"fileThumbnail || fileIcon\" class=\"thumbnail-container\">\n <img v-if=\"fileThumbnail\" :src=\"fileThumbnail\" class=\"thumbnail\">\n <i v-if=\"fileIcon\" class=\"fa fa-2x\" :class=\"fileIcon\" />\n <button class=\"delete has-background-grey-light\" title=\"Remove file\" @click=\"removeFile\" />\n </div>\n </div>\n <emoji-picker @emoji-picked=\"addEmoji\" />\n <button v-if=\"composingMessage || file || !httpFileUploadMaxSize\" type=\"submit\" class=\"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3\" title=\"Send message\"><i class=\"fa fa-paper-plane\" aria-hidden=\"true\" /></button>\n <div v-else class=\"file has-no-border is-size-4\" title=\"Send a file\">\n <label class=\"file-label\">\n <input class=\"file-input\" type=\"file\" name=\"resume\" @change=\"onFileChange\">\n <span class=\"file-cta is-primary-ghost has-no-border is-size-4 px-3\">\n <span class=\"file-icon mr-0\">\n <i class=\"fa fa-paperclip is-primary-ghost is-size-4\" />\n </span>\n </span>\n </label>\n </div>\n </div>\n </form>\n </div>\n</template>\n\n<script>\nimport EmojiPicker from '../components/EmojiPicker.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport axios from 'axios'\nimport { filesize } from 'filesize'\n\nexport default {\n name: 'Sendbox',\n components: {\n EmojiPicker,\n },\n props: {\n isRoom: {\n type: Boolean,\n default: false,\n },\n },\n data () {\n return {\n composingMessage: '',\n file: null,\n fileThumbnail: null,\n fileIcon: null,\n chatState: null,\n pauseTimeoutId: null,\n }\n },\n computed: {\n userJid () {\n return this.$xmpp.fullJid\n },\n ...mapState(useStore, [\n 'activeChat',\n 'httpFileUploadMaxSize',\n 'isSendingTypingChatStates',\n ]),\n },\n methods: {\n async handleEnterKey (event) {\n if (window.config.hasSendingEnterKey) {\n await this.sendMessage()\n event.preventDefault()\n }\n },\n // send message\n async sendMessage () {\n try {\n if (this.file) {\n await this.postFile(this.file)\n return\n }\n if (this.composingMessage.trim() === '') {\n // do not send empty messages\n return\n }\n await this.$xmpp.sendMessage(this.activeChat, this.composingMessage, this.isRoom)\n this.composingMessage = ''\n } catch (error) {\n console.error('send error', error)\n }\n },\n async onInput () {\n if (!this.isSendingTypingChatStates) {\n // the user has opted out\n return\n }\n clearTimeout(this.pauseTimeoutId)\n if (this.composingMessage) {\n // prepare to go to paused after 15 seconds\n this.pauseTimeoutId = setTimeout(async () => {\n if (!this.userJid) {\n return\n }\n this.chatState = 'paused'\n try {\n await this.$xmpp.sendChatState(this.activeChat, this.isRoom, this.chatState)\n } catch (error) {\n console.warn(`Can not send state chat (${error.message}), are you still connected?`)\n }\n }, 15000)\n if (this.chatState === 'composing') {\n // do not send composing chat state if already done\n return\n }\n // user has started to typing something\n this.chatState = 'composing'\n } else {\n // user is not typing anything (or clear composing) but is active on chat\n this.chatState = 'active'\n }\n await this.$xmpp.sendChatState(this.activeChat, this.isRoom, this.chatState)\n },\n onFileChange (e) {\n const files = e.target.files || e.dataTransfer.files\n if (!files.length) {\n return\n }\n this.file = files[0]\n // check file size\n if (this.file.size > this.httpFileUploadMaxSize) {\n alert(`File is too big (${filesize(this.file.size)}, max is ${filesize(this.httpFileUploadMaxSize)})`)\n return\n }\n // handle thumbnail\n if (this.file.type.startsWith('image/')) {\n const reader = new FileReader()\n const vm = this\n reader.onload = (e) => {\n vm.fileThumbnail = e.target.result\n }\n reader.readAsDataURL(this.file)\n } else if (this.file.type.startsWith('audio/')) {\n this.fileIcon = 'fa-file-audio-o'\n } else if (this.file.type.startsWith('video/')) {\n this.fileIcon = 'fa-file-video-o'\n } else if (this.file.type.includes('pdf')) {\n this.fileIcon = 'fa-file-pdf-o'\n } else {\n this.fileIcon = 'fa-file-o'\n }\n },\n async postFile (file) {\n try {\n // reserve slot\n const httpUploadSlotResult = await this.$xmpp.getUploadSlot(null, {\n filename: file.name,\n size: file.size,\n 'content-type': file.type,\n })\n // upload file on returned slot\n await axios.put(httpUploadSlotResult.upload.url, file, {\n headers: {\n 'Content-Type': file.type,\n },\n })\n // upload is ok, send message\n await this.$xmpp.sendUrl(this.activeChat, httpUploadSlotResult.download, this.isRoom)\n this.file = null\n this.fileThumbnail = null\n this.fileIcon = null\n } catch (error) {\n console.error('httpUpload', error)\n }\n },\n removeFile () {\n this.file = null\n this.fileThumbnail = null\n this.fileIcon = null\n },\n addEmoji (emoji) {\n this.composingMessage += emoji\n },\n },\n}\n</script>\n","<template>\n <span>\n <span class=\"fa-stack\">\n <i class=\"fa fa-circle fa-stack-2x\" :class=\"backgroundClass\" />\n <i class=\"fa fa-stack-1x fa-inverse fa-fw\" :class=\"iconClass\" />\n </span>\n <span v-if=\"displayLabel\" class=\"ml-3\">{{ text }}</span>\n </span>\n</template>\n\n<script>\nexport default {\n name: 'Presence',\n props: {\n presence: {\n type: String,\n required: true,\n },\n displayLabel: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n backgroundClass () {\n switch (this.presence) {\n case 'dnd':\n return 'has-text-danger'\n case 'away':\n case 'xa':\n return 'has-text-warning'\n case 'off':\n return 'has-text-grey-light'\n default:\n return 'has-text-success'\n }\n },\n iconClass () {\n switch (this.presence) {\n case 'dnd':\n return 'fa-ban'\n case 'away':\n case 'xa':\n return 'fa-moon'\n case 'off':\n return 'fa-exclamation'\n default:\n return 'fa-comments-o'\n }\n },\n text () {\n switch (this.presence) {\n case 'dnd':\n return 'Do not disturb'\n case 'away':\n case 'xa':\n return 'Away'\n case 'off':\n return 'Disconnected'\n default:\n return 'Available'\n }\n },\n },\n}\n</script>\n","<template>\n <div v-if=\"isNotificationsSupported\">\n <o-switch v-model=\"hasNotificationsEnabledSwitch\" title=\"Allow the browser to send you notifications when you miss messages\" class=\"has-no-wrap\"><span class=\"icon mr-1\"><i class=\"fa fa-bell-ringing fa-fw\" aria-hidden=\"true\" /></span>Notifications</o-switch>\n </div>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'pinia'\nimport { useStore } from '@/store'\nimport { useWebNotification } from '@vueuse/core'\n\nconst lsNotificationKey = 'hasNotificationsEnabled'\n\nexport default {\n name: 'NotificationsSwitch',\n setup() {\n const { isSupported } = useWebNotification()\n return { isNotificationsSupported: isSupported }\n },\n computed: {\n ...mapState(useStore, [\n 'hasNotificationsEnabled',\n ]),\n hasNotificationsEnabledSwitch: {\n get() {\n return this.hasNotificationsEnabled\n },\n set(hasNotificationsEnabled) {\n if (hasNotificationsEnabled) {\n localStorage.setItem(lsNotificationKey, hasNotificationsEnabled)\n } else {\n localStorage.removeItem(lsNotificationKey)\n }\n this.setNotificationStatus(hasNotificationsEnabled)\n },\n },\n },\n mounted () {\n const hasNotificationsEnabled = localStorage.getItem(lsNotificationKey)\n if (hasNotificationsEnabled) {\n this.setNotificationStatus(hasNotificationsEnabled)\n }\n },\n methods: {\n ...mapActions(useStore, ['setNotificationStatus']),\n },\n}\n</script>\n","<template>\n <div class=\"is-hoverable\" :class=\"[{ 'is-right': isRight }, isNavbarItem ? 'navbar-item has-dropdown' : 'dropdown']\">\n <a :class=\"[isNavbarItem ? 'navbar-link is-arrowless' : 'dropdown-trigger']\">\n <presence v-if=\"isOnline\" :presence=\"presence\" :display-label=\"false\" />\n <presence v-else presence=\"off\" :display-label=\"false\" />\n </a>\n <div id=\"dropdown-menu\" :class=\"{ 'dropdown-menu': !isNavbarItem }\" role=\"menu\">\n <div v-if=\"isOnline\" :class=\"[isNavbarItem ? 'navbar-dropdown is-right' : 'dropdown-content']\">\n <a v-for=\"presenceOption in ['chat', 'away', 'dnd']\" :key=\"presenceOption\" :class=\"[{ 'is-active': presenceOption === presence }, isNavbarItem ? 'navbar-item' : 'dropdown-item']\" @click=\"setPresence(presenceOption)\"><presence :presence=\"presenceOption\" /></a>\n <hr :class=\"[isNavbarItem ? 'navbar-divider' : 'dropdown-divider']\">\n <div :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\">\n <o-switch v-model=\"isAutoPresence\" title=\"You will be seen away when the browser is not active\" class=\"has-no-wrap\" @change=\"setAutoPresence\"><span class=\"icon mr-1\"><i class=\"fa fa-moon-o fa-fw\" aria-hidden=\"true\" /></span>Set away when inactive</o-switch>\n </div>\n <notifications-switch :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\" />\n <div :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\">\n <o-switch v-model=\"isSendingTypingChatStatesSwitch\" title=\"Notify your partner(s) that you are typing or paused\" class=\"has-no-wrap\"><span class=\"icon mr-1\"><i class=\"fa fa-pencil-square-o fa-fw\" aria-hidden=\"true\" /></span>Send typing states</o-switch>\n </div>\n <div :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\">\n <o-switch v-model=\"isSendingInactiveChatStatesSwitch\" title=\"Notify your partner(s) that you are not looking the conversation\" class=\"has-no-wrap\"><span class=\"icon mr-1\"><i class=\"fa fa-eye-slash fa-fw\" aria-hidden=\"true\" /></span>Send inactive chat states</o-switch>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport presence from '../components/Presence.vue'\nimport NotificationsSwitch from '../components/NotificationsSwitch.vue'\nimport { mapState, mapWritableState } from 'pinia'\nimport { useStore } from '@/store'\n\nconst lsNotTypingChatStatesKey = 'isNotSendingTypingChatStates'\nconst lsInactiveChatStatesKey = 'isSendingInactiveChatStates'\n\nexport default {\n name: 'PresenceController',\n components: {\n presence,\n NotificationsSwitch,\n },\n props: {\n isNavbarItem: {\n type: Boolean,\n default: false,\n },\n isRight: {\n type: Boolean,\n default: false,\n },\n },\n data () {\n return {\n isAutoPresence: false,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'isOnline',\n 'presence',\n ]),\n ...mapWritableState(useStore, [\n 'isSendingTypingChatStates',\n 'isSendingInactiveChatStates',\n ]),\n isSendingTypingChatStatesSwitch: {\n get() {\n return this.isSendingTypingChatStates\n },\n set(isSendingTypingChatStates) {\n if (!isSendingTypingChatStates) {\n localStorage.setItem(lsNotTypingChatStatesKey, true)\n } else {\n localStorage.removeItem(lsNotTypingChatStatesKey)\n }\n this.isSendingTypingChatStates = isSendingTypingChatStates\n },\n },\n isSendingInactiveChatStatesSwitch: {\n get() {\n return this.isSendingInactiveChatStates\n },\n set(isSendingInactiveChatStates) {\n if (isSendingInactiveChatStates) {\n localStorage.setItem(lsInactiveChatStatesKey, true)\n } else {\n localStorage.removeItem(lsInactiveChatStatesKey)\n }\n this.isSendingInactiveChatStates = isSendingInactiveChatStates\n },\n },\n },\n mounted () {\n this.isSendingTypingChatStates = localStorage.getItem(lsNotTypingChatStatesKey) === null\n this.isSendingInactiveChatStates = localStorage.getItem(lsInactiveChatStatesKey) !== null\n },\n methods: {\n setPresence (presence) {\n this.$xmpp.sendPresence({ show: presence })\n },\n setAutoPresence () {\n if (this.isAutoPresence) {\n window.addEventListener('blur', this.sendAutoPresence)\n window.addEventListener('focus', this.sendAutoPresence)\n } else {\n window.removeEventListener('blur', this.sendAutoPresence)\n window.removeEventListener('focus', this.sendAutoPresence)\n }\n },\n sendAutoPresence (event) {\n if (this.$xmpp.client) {\n this.setPresence(event.type === 'blur' ? 'away' : 'chat')\n }\n },\n },\n}\n</script>\n","<template>\n <main class=\"is-flex is-flex-direction-column is-justify-content-space-between is-full-height has-background-shade-4 is-relative\">\n <div class=\"toolbar has-border-bottom-shade-3\">\n <router-link v-if=\"!$xmpp.isAnonymous\" :to=\"{ name: 'home' }\" class=\"button is-primary-ghost has-no-border is-shadowless\" :class=\"{ 'is-hidden-tablet': jid }\" title=\"Back to contacts\"><i class=\"fa fa-arrow-circle-left\" aria-hidden=\"true\" /></router-link>\n <router-link v-else :to=\"{ name: 'guestRooms', state: { nick: userNick } }\" class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Leave this room and go back to rooms list\"><i class=\"fa fa-arrow-circle-left\" aria-hidden=\"true\" /></router-link>\n <i class=\"fa fa-lg fa-pencil-square-o\" :class=\"chatStateClass\" aria-hidden=\"true\" />\n <span class=\"is-flex is-align-items-center\" style=\"min-width: 0;\">\n <room-occupants v-if=\"isRoom\" :room-jid=\"jid\" />\n <bookmark-button v-if=\"isRoom && !$xmpp.isAnonymous\" :jid=\"jid\" />\n <room-configuration-button v-if=\"isRoom && !$xmpp.isAnonymous\" :room-jid=\"jid\" />\n <invite-guest-button v-if=\"hasGuestInviteLink\" :room-jid=\"jid\" />\n <retrieve-history-button />\n <presence-controller v-if=\"$xmpp.isAnonymous\" :is-navbar-item=\"false\" :is-right=\"true\" class=\"px-2 mx-2\" />\n </span>\n </div>\n <div id=\"messages-container\" class=\"messages-container\">\n <room-subject v-if=\"isRoom\" :room-jid=\"jid\" />\n <TransitionGroup name=\"messages-list\">\n <div v-for=\"message in messagesWithJid\" :key=\"message.id\" class=\"mx-4 my-2 is-flex\" :class=\"{ 'is-flex-direction-row-reverse': isUser(message.from) }\">\n <avatar :jid=\"(isRoom && message.from.bare !== userJid.bare) ? message.from.full : message.from.bare\" :display-jid=\"false\" />\n <message :message=\"message\" :display-nick=\"isRoom\" />\n </div>\n </TransitionGroup>\n </div>\n <sendbox :is-room=\"isRoom\" />\n </main>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nimport message from '../components/Message.vue'\nimport InviteGuestButton from '../components/InviteGuestButton.vue'\nimport BookmarkButton from '../components/BookmarkButton.vue'\nimport RoomConfigurationButton from '../components/RoomConfigurationButton.vue'\nimport RetrieveHistoryButton from '../components/RetrieveHistoryButton.vue'\nimport RoomOccupants from '../components/RoomOccupants.vue'\nimport RoomSubject from '../components/RoomSubject.vue'\nimport Sendbox from '../components/Sendbox.vue'\nimport Modal from '../components/Modal.vue'\nimport PresenceController from '../components/PresenceController.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'Chat',\n components: {\n avatar,\n message,\n InviteGuestButton,\n BookmarkButton,\n RoomConfigurationButton,\n RetrieveHistoryButton,\n RoomOccupants,\n RoomSubject,\n Sendbox,\n PresenceController,\n },\n beforeRouteEnter (to, from, next) {\n next(vm => {\n vm.previousRoute = from\n })\n },\n props: {\n jid: {\n type: String,\n default: null,\n },\n isRoom: {\n type: Boolean,\n default: false,\n },\n },\n data () {\n return {\n previousRoute: null,\n }\n },\n computed: {\n userJid () {\n return this.$xmpp.fullJid\n },\n userNick () {\n return this.$xmpp.nick\n },\n messagesWithJid () {\n return this.messages.filter((message) => (message.from.bare === this.jid || message.to.bare === this.jid))\n },\n chatStateClass () {\n switch (this.$store.getChatState(this.isRoom, this.jid)) {\n case 'composing':\n return 'has-text-grey-light'\n case 'paused':\n return 'has-text-shade-3'\n default:\n return 'has-text-shade-4'\n }\n },\n ...mapState(useStore, [\n 'activeChat',\n 'messages',\n 'isSendingInactiveChatStates',\n ]),\n hasGuestInviteLink () {\n return window.config.hasGuestAccess && this.isRoom\n },\n },\n // watch route param to force component update\n watch: {\n jid: 'handleRoute',\n messagesWithJid: 'scrollToLastMessage',\n },\n mounted () {\n // handle route prop\n this.handleRoute()\n },\n async beforeUnmount () {\n if (!this.userJid) {\n // $xmpp is not loaded\n return\n }\n if (!this.isSendingInactiveChatStates) {\n // the user has not opted in\n return\n }\n // notify leaving discussion\n try {\n await this.$xmpp.sendChatState(this.jid, this.isRoom, 'inactive')\n } catch (error) {\n console.warn(error.message)\n }\n },\n methods: {\n // check if a jid is current user (including MUC nick)\n isUser (jid) {\n return jid.bare === this.userJid.bare || jid.resource === this.userJid.local || jid.resource === this.userNick\n },\n // handle route on mount (commit active chat, reset first message, join room if not already)\n async handleRoute () {\n if (!this.userJid) {\n // $xmpp is not loaded\n return\n }\n this.$store.setActiveChat({\n type: this.isRoom ? 'groupchat' : 'chat',\n activeChat: this.jid,\n })\n if (this.isRoom && !this.$store.isJoined(this.jid)) {\n // user was not in this room, he have to join before\n let room = this.$store.getRoom(this.jid)\n const options = { }\n if (!room || !room.jid) {\n // room is not known, request more info\n room = await this.$xmpp.getRoom(this.jid)\n if (!room.jid) {\n // handle room error\n await new Promise((resolve) =>\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Error',\n message: room.message || 'Unable to join room',\n type: 'is-danger',\n },\n onClose: () => resolve(false),\n }),\n )\n return this.abortChat()\n }\n }\n if (room.jid && room.isPasswordProtected) {\n // room is protected, asking password\n const result = await new Promise((resolve) =>\n this.$oruga.modal.open({\n rootClass: 'dialog',\n trapFocus: true,\n component: Modal,\n onCancel: () => resolve(false),\n props: {\n title: 'Room protected',\n message: '<span class=\"icon mr-2\"><i class=\"fa fa-key-modern\" /></i></span><span>Please enter password</span>',\n prompt: {\n placeholder: 'Password',\n type: 'password',\n value: room.password || '',\n },\n onPromptAnswered: resolve,\n },\n }),\n )\n options.muc = {\n password: result,\n }\n if (result === false) {\n return this.abortChat()\n }\n }\n const result = await this.$xmpp.joinRoom(this.jid, null, options, room)\n if (!result.isSuccess) {\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Error',\n message: result.message || 'Unable to join room',\n type: 'is-danger',\n },\n })\n return this.abortChat()\n }\n }\n if (!this.isRoom && this.messagesWithJid.length === 0) {\n // request history\n try {\n await this.$xmpp.searchHistory(this.activeChat, undefined)\n } catch (error) {\n console.warn('History was not loaded', error.message)\n }\n }\n this.scrollToLastMessage()\n },\n abortChat () {\n // choose valid path for navigation\n if (this.previousRoute && this.previousRoute.query.redirect === this.$route.fullPath) {\n if (this.$xmpp.isAnonymous) {\n return this.$router.push({ name: 'guest' })\n }\n return this.$router.push({ name: 'home' })\n }\n if (history.state && history.state.back) {\n return this.$router.replace({ path: history.state.back })\n }\n return this.$router.back()\n },\n // scroll to last message (called when messages changes)\n scrollToLastMessage () {\n this.$nextTick(() => {\n const messagesContainer = document.getElementById('messages-container')\n if (messagesContainer) {\n messagesContainer.scrollTop = messagesContainer.scrollHeight + 5000\n }\n })\n },\n },\n}\n</script>\n","<template>\n <nav class=\"navbar is-shade-2 is-fixed-top\">\n <div class=\"navbar-brand\">\n <router-link class=\"navbar-item\" :to=\"{ name: 'home' }\"><h1 class=\"has-text-weight-bold\"><i class=\"fa fa-xmpp fa-fw\" /><span class=\"ml-3 is-hidden-mobile\">Home</span></h1></router-link>\n <span class=\"navbar-item is-hidden-tablet\">{{ activeChat }}</span>\n <a id=\"navbar-burger\" role=\"button\" class=\"navbar-burger\" aria-label=\"menu\" aria-expanded=\"false\" @click=\"toggleMenu\">\n <span aria-hidden=\"true\" class=\"is-primary\" />\n <span aria-hidden=\"true\" />\n <span aria-hidden=\"true\" />\n </a>\n </div>\n <div id=\"navbar-menu\" class=\"navbar-menu\">\n <div class=\"navbar-end\">\n <presence-controller :is-navbar-item=\"true\" />\n <div class=\"navbar-item has-dropdown is-hoverable\">\n <a class=\"navbar-link is-arrowless\"><avatar :jid=\"userJid\" :display-jid=\"true\" :size=\"32\" /></a>\n <div class=\"navbar-dropdown is-right\">\n <router-link class=\"navbar-item\" :to=\"{ name: 'about' }\" active-class=\"is-active\"><i class=\"fa fa-info-circle fa-fw mr-3\" />About</router-link>\n <router-link class=\"navbar-item\" :to=\"{ name: 'profile' }\" active-class=\"is-active\"><i class=\"fa fa-user fa-fw mr-3\" />Profile</router-link>\n <a class=\"navbar-item\" :href=\"bugUrl\" target=\"_blank\" rel=\"noreferrer\"><i class=\"fa fa-bug fa-fw mr-3\" />Bug</a>\n <hr class=\"navbar-divider\">\n <a id=\"logout\" class=\"navbar-item\" @click=\"logout()\"><i class=\"fa fa-sign-out fa-fw mr-3\" />Logout</a>\n </div>\n </div>\n </div>\n </div>\n </nav>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nimport PresenceController from '../components/PresenceController.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport { bugs } from '../../package.json'\n\nexport default {\n name: 'Navbar',\n components: {\n avatar,\n PresenceController,\n },\n data () {\n return {\n userJid: localStorage.getItem('barejid'),\n bugUrl: bugs.url,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'activeChat',\n ]),\n },\n mounted () {\n document.body.classList.add('has-navbar-fixed-top')\n },\n methods: {\n toggleMenu (e) {\n e.target.classList.toggle('is-active')\n document.getElementById('navbar-menu').classList.toggle('is-active')\n },\n async logout () {\n await this.$xmpp.disconnect()\n this.$store.clear()\n localStorage.clear()\n sessionStorage.clear()\n this.$router.replace('/login')\n },\n },\n}\n</script>\n","<template>\n <span v-once class=\"is-block is-size-7 has-text-grey has-text-centered py-2\" style=\"opacity: 50%;\">\n <span><span class=\"mr-1\"><i class=\"fa fa-github\" aria-hidden=\"true\" /><span class=\"sr-only\">Code</span></span>Made with <i class=\"fa fa-heart has-text-danger\" aria-hidden=\"true\" /><span class=\"sr-only\">love</span> by <b><a :href=\"homepage\" target=\"_blank\" rel=\"noreferrer\" class=\"has-text-grey\">Nioc</a></b></span>\n <span class=\"ml-3\"><span class=\"mr-1\"><i class=\"fa fa-tag\" aria-hidden=\"true\" /><span class=\"sr-only\">Version</span></span><span :title=\"`${gitVersion} (${gitBranch})`\">{{ version }}</span></span>\n <span class=\"ml-3\"><span class=\"mr-1\"><i class=\"fa fa-balance-scale\" aria-hidden=\"true\" /><span class=\"sr-only\">License</span></span><span>{{ license }}</span></span>\n </span>\n</template>\n\n<script>\nimport { version, license, homepage } from '../../package.json'\n\nexport default {\n name: 'Version',\n data () {\n return {\n gitVersion: import.meta.env.VITE_GIT_VERSION,\n gitBranch: import.meta.env.VITE_GIT_BRANCH,\n homepage,\n license,\n version,\n }\n },\n}\n</script>\n","<template>\n <section class=\"hero is-fullheight\">\n <div class=\"hero-body\">\n <div class=\"container has-text-centered\">\n <div class=\"column is-4 is-offset-4\">\n <div class=\"box has-background-shade-3\">\n <form @submit.prevent=\"login\">\n <h3 class=\"title has-text-grey is-flex is-justify-content-center is-align-items-center\"><img class=\"image is-48x48 is-inline mr-2\" :src=\"logoSrc\">{{ appName }}</h3>\n <p class=\"subtitle has-text-grey\">Login</p>\n <div class=\"field\">\n <div class=\"control has-icons-left\">\n <input v-model=\"credentials.jid\" class=\"input is-medium\" type=\"text\" name=\"jid\" :placeholder=\"jidPlaceholder\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-user\" />\n </span>\n </div>\n </div>\n <div class=\"field\">\n <div class=\"control has-icons-left\">\n <input v-model=\"credentials.password\" class=\"input is-medium\" type=\"password\" name=\"password\" placeholder=\"Password\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-lock\" />\n </span>\n </div>\n </div>\n <div class=\"field has-text-left pl-3\">\n <o-checkbox v-model=\"credentials.remember\" variant=\"primary\" class=\"has-text-grey-light\">\n Store my password in browser\n </o-checkbox>\n </div>\n <o-collapse v-if=\"isTransportsUserAllowed\" class=\"card has-background-shade-3 mb-3\" :open=\"false\" aria-id=\"connection-settings\">\n <template #trigger=\"props\">\n <div role=\"button\" aria-controls=\"connection-settings\" class=\"card-header\">\n <p class=\"card-header-title has-text-grey-light\"><span class=\"fa fa-cog fa-fw mr-3\" aria-hidden=\"true\" />Connection settings</p>\n <a class=\"card-header-icon has-text-grey-light\">\n <span class=\"fa fa-fw mr-3\" :class=\"[props.open ? 'fa-caret-down': 'fa-caret-up']\" aria-hidden=\"true\" />\n </a>\n </div>\n </template>\n <div class=\"card-content\">\n <div class=\"field\">\n <div class=\"control\">\n <input v-model=\"transportsUser.websocket\" class=\"input\" type=\"url\" name=\"websocket\" placeholder=\"wss://chat.domain.ltd/xmpp-websocket\" title=\"Websocket url\">\n </div>\n </div>\n </div>\n </o-collapse>\n <div class=\"field\">\n <button type=\"submit\" class=\"button is-block is-primary is-medium is-fullwidth\" :class=\"{ 'is-loading': isLoading }\" :disabled=\"isDisabled\"><span class=\"fa fa-sign-in fa-fw mr-3\" aria-hidden=\"true\" />Login</button>\n </div>\n <div v-if=\"error\" class=\"message is-danger\">\n <div class=\"message-body has-text-danger\">{{ error }}</div>\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n <version />\n </section>\n</template>\n\n<script>\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport axios from 'axios'\nimport Version from '../components/Version.vue'\n\nexport default {\n name: 'Login',\n components: {\n Version,\n },\n data () {\n return {\n credentials: {\n jid: '',\n password: '',\n remember: false,\n },\n transportsUser: {\n websocket: window.config.transports.websocket,\n },\n isLoading: false,\n error: '',\n isTransportsUserAllowed: window.config.isTransportsUserAllowed,\n }\n },\n computed: {\n isDisabled () {\n return this.isLoading || !this.credentials.jid || !this.credentials.password || !this.hasNetwork\n },\n jidPlaceholder () {\n return (typeof window.config.defaultDomain === 'string' && window.config.defaultDomain !== '') ? `username@${window.config.defaultDomain}` : 'username@domain.ltd'\n },\n appName () {\n return (typeof window.config.name === 'string' && window.config.name !== '') ? window.config.name : 'XMPP webchat'\n },\n logoSrc () {\n return window.config.logoUrl || 'img/icons/android-chrome-192x192.png'\n },\n ...mapState(useStore, ['hasNetwork']),\n },\n async mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n // get auth by SSO\n if (window.config.sso && window.config.sso.endpoint && window.config.sso.jidHeader && window.config.sso.passwordHeader) {\n try {\n const ssoAuth = await axios.get(window.config.sso.endpoint)\n this.credentials.jid = ssoAuth.headers[window.config.sso.jidHeader]\n this.credentials.password = ssoAuth.headers[window.config.sso.passwordHeader]\n if (this.credentials.jid && this.credentials.password) {\n this.login()\n }\n } catch (error) {\n console.warn(`SSO login failed (${error.message})`)\n }\n }\n // get stored credentials\n const jid = localStorage.getItem('jid')\n if (jid) {\n this.credentials.jid = jid\n }\n const password = localStorage.getItem('p')\n if (password) {\n // auto login\n const reverse = (value) => value.split('').reverse().join('')\n this.credentials.password = reverse(atob(reverse(password)))\n this.login()\n }\n },\n methods: {\n async login () {\n this.error = ''\n const reverse = (value) => value.split('').reverse().join('')\n // check credentials are set\n if (this.credentials.jid === '' || this.credentials.password === '') {\n return\n }\n // call the auth service\n this.isLoading = true\n try {\n await this.$xmpp.create(this.credentials.jid, this.credentials.password, null, this.transportsUser, this)\n await this.$xmpp.connect()\n // authentication succeeded, route to requested page or default\n if (this.credentials.remember) {\n localStorage.setItem('p', reverse(btoa(reverse(this.credentials.password))))\n }\n if (this.$route.query.redirect !== undefined) {\n return this.$router.push(this.$route.query.redirect)\n }\n this.$router.push('/')\n } catch (error) {\n // authentication failed, display error\n this.error = error.message\n }\n // remove loading status\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <router-link :to=\"{ name: isRoom ? 'groupchat' : 'chat', params: { jid } }\" class=\"has-unread is-relative\" :title=\"title\" exact exact-active-class=\"is-active\">\n <!-- groupchat (room) -->\n <span v-if=\"isRoom\" class=\"is-flex is-align-items-center\">\n <avatar v-if=\"room.hasVCard\" class=\"mr-3\" :jid=\"jid\" :display-jid=\"false\" :size=\"24\" />\n <span v-show=\"isExpanded\" :class=\"{ 'is-italic has-text-grey': !isJoined }\">{{ roomName }}</span>\n <i v-if=\"room.isBookmarked\" v-show=\"isExpanded\" class=\"fa fa-star has-text-warning ml-3\" />\n <span v-show=\"isExpanded\" class=\"ml-3 room-attributes\" :class=\"isJoined ? 'has-text-grey-light': 'has-text-grey'\">\n <i v-if=\"room.isPasswordProtected\" class=\"fa fa-key-modern fa-fw\" title=\"Password protected\" />\n <i v-if=\"room.isModerated\" class=\"fa fa-shield fa-fw\" title=\"Is moderated\" />\n <i v-if=\"room.isAnonymous\" class=\"fa fa-user-secret fa-fw\" title=\"Allow anonymous (nick)\" />\n <i v-if=\"room.isMembersOnly\" class=\"fa fa-users fa-fw\" title=\"Restricted to members\" />\n <i v-if=\"room.isPublic\" class=\"fa fa-globe fa-fw\" title=\"Public room\" />\n </span>\n </span>\n <!-- chat -->\n <avatar v-else :jid=\"jid\" :name=\"name\" :display-jid=\"isExpanded\" :size=\"24\" :presence=\"presence\" :status=\"status\" />\n <!-- common -->\n <span v-if=\"unreadCount > 0\" class=\"tag is-rounded is-danger\" :class=\"isExpanded ? 'ml-3' : 'unread-count-attached'\">{{ unreadCount }}</span>\n </router-link>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\n\nexport default {\n name: 'Contact',\n components: {\n avatar,\n },\n props: {\n jid: {\n type: String,\n required: true,\n },\n name: {\n type: String,\n default: null,\n },\n presence: {\n type: String,\n default: null,\n },\n status: {\n type: String,\n default: null,\n },\n isRoom: {\n type: Boolean,\n default: false,\n },\n unreadCount: {\n type: Number,\n default: 0,\n },\n isExpanded: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n title () { return this.isRoom ? `${this.jid}\\n${this.room.name}` : this.status ? `${this.jid} / ${this.status}` : this.jid },\n roomName () { return this.room.name && this.room.name.length > 25 ? this.room.name.substring(0, 25) + '…' : this.room.name },\n room () { return this.isRoom ? this.$store.getRoom(this.jid) : null },\n isJoined () { return this.$store.isJoined(this.jid) },\n },\n}\n</script>\n\n<style scoped>\n.has-unread {\n display: flex;\n align-items: center;\n}\n.room-attributes {\n font-size: 0.8em;\n}\n.unread-count-attached {\n position: absolute;\n top: 4px;\n left: 30px;\n font-size: 0.5em;\n}\n</style>\n","<template>\n <div>\n <a class=\"is-flex is-align-items-center is-justify-content-space-between\" @click=\"isOpened = !isOpened\"><span>{{ group }}</span><i class=\"fa fa-fw\" :class=\"isOpened ? 'fa-caret-down' : 'fa-caret-up'\" /></a>\n <ul v-if=\"isOpened\">\n <li v-for=\"contact in contactsInGroup\" :key=\"contact.jid\">\n <contact :jid=\"contact.jid\" :is-room=\"false\" :name=\"contact.name\" :presence=\"contact.presence\" :status=\"contact.status\" :unread-count=\"contact.unreadCount\" />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport contact from '../components/Contact.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'Group',\n components: {\n contact,\n },\n props: {\n group: {\n type: String,\n required: true,\n },\n },\n data () {\n return {\n isOpened: false,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'contacts',\n ]),\n contactsInGroup () {\n return this.contacts\n .filter((contact) => contact.groups.includes(this.group))\n },\n },\n}\n</script>\n","<template>\n <aside class=\"section pb-2\" :class=\"isExpanded ? 'p-5' : 'py-5 px-1'\">\n <div class=\"menu\">\n <p v-if=\"groups.length > 0\" class=\"menu-label\"><i class=\"fa fa-user mr-3\" :class=\"isExpanded ? 'fa-lg' : 'fa-2x fa-fw pl-4'\" /><span v-show=\"isExpanded\">Contacts</span></p>\n <ul id=\"contactsList\" class=\"menu-list\">\n <li v-for=\"contact in contacts\" :key=\"contact.jid\">\n <contact :jid=\"contact.jid\" :is-room=\"false\" :name=\"contact.name\" :is-expanded=\"isExpanded\" :presence=\"contact.presence\" :status=\"contact.status\" :unread-count=\"contact.unreadCount\" />\n </li>\n </ul>\n <p v-if=\"groups.length > 0\" v-show=\"isExpanded\" class=\"menu-label\"><i class=\"fa fa-address-book mr-3\" :class=\"isExpanded ? 'fa-lg' : 'fa-2x fa-fw pl-4'\" /><span>Groups</span></p>\n <ul v-show=\"isExpanded\" id=\"groupsList\" class=\"menu-list\">\n <li v-for=\"group in groups\" :key=\"group\">\n <group :group=\"group\" />\n </li>\n </ul>\n <p class=\"menu-label\"><i class=\"fa fa-users mr-3\" :class=\"isExpanded ? 'fa-lg' : 'fa-2x fa-fw pl-3'\" /><span v-show=\"isExpanded\">Rooms</span></p>\n <ul id=\"roomsList\" class=\"menu-list\">\n <li v-for=\"room in displayedRooms\" :key=\"room.jid\">\n <contact :jid=\"room.jid\" :is-room=\"true\" :unread-count=\"room.unreadCount\" :is-expanded=\"isExpanded\" />\n </li>\n <li v-show=\"isExpanded\">\n <router-link active-class=\"is-active\" :to=\"{ name: 'public muc' }\" title=\"Join a room\"><i class=\"fa fa-sign-in fa-fw mr-3\" />Public rooms</router-link>\n </li>\n <li v-show=\"isExpanded\">\n <form class=\"field has-addons\" @submit.prevent=\"joinRoomByJid\">\n <div class=\"control is-flex-grow-1\">\n <input v-model=\"roomJid\" class=\"input is-dark\" type=\"text\" :placeholder=\"roomPlaceholder\" title=\"Enter a room jid for joining\">\n </div>\n <div class=\"control\" title=\"Join this room\">\n <button type=\"submit\" class=\"button is-dark\" :disabled=\"!isValidRoomJid\">\n <span class=\"icon\">\n <i class=\"fa fa-sign-in\" />\n </span>\n </button>\n </div>\n </form>\n </li>\n <li v-show=\"isExpanded\">\n <router-link :to=\"{ name: 'room creation' }\" class=\"button is-fullwidth is-dark\" title=\"Create a room\">\n <span class=\"icon\">\n <i class=\"fa fa-plus-square\" />\n </span>\n <span>Create a room</span>\n </router-link>\n </li>\n </ul>\n </div>\n </aside>\n</template>\n\n<script>\nimport contact from '../components/Contact.vue'\nimport group from '../components/Group.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'Contacts',\n components: {\n contact,\n group,\n },\n props: {\n isExpanded: {\n type: Boolean,\n default: true,\n },\n },\n data () {\n return {\n roomJid: '',\n }\n },\n computed: {\n ...mapState(useStore, [\n 'contacts',\n 'knownRooms',\n 'groups',\n ]),\n displayedRooms () {\n return this.knownRooms\n .filter((room) => room.isBookmarked || this.$store.isJoined(room.jid))\n },\n roomPlaceholder () { return this.$xmpp.defaultMuc ? `room@${this.$xmpp.defaultMuc}` : `room@conference.${this.$xmpp.defaultDomain}` },\n isValidRoomJid () { return this.$xmpp.defaultMuc ? this.roomJid.length > 2 : /\\S+@\\S+\\S+/.test(this.roomJid) },\n },\n methods: {\n joinRoomByJid () {\n if (this.roomJid === '') {\n return\n }\n if (!/\\S+@\\S+\\S+/.test(this.roomJid)) {\n if (!this.$xmpp.defaultMuc) {\n return\n }\n this.roomJid = this.roomJid + '@' + this.$xmpp.defaultMuc\n }\n if (this.$route.name !== 'groupchat' || (!this.$route.params.jid || this.$route.params.jid !== this.roomJid)) {\n this.$router.push({ name: 'groupchat', params: { jid: this.roomJid } })\n }\n this.roomJid = ''\n },\n },\n}\n</script>\n\n<style scoped>\n.menu-list a {\n min-height: 40px;\n}\n</style>\n","<template>\n <div v-if=\"hasAuthConfirmed\" class=\"is-flex-tablet is-block-mobile is-full-height\">\n <aside class=\"is-full-height-scrollable is-block-mobile is-flex-shrink-0 has-background-shade-3 is-flex is-flex-direction-column is-justify-content-space-between is-relative\" :class=\"{ 'is-hidden-mobile': !displayContact }\">\n <span style=\"position: absolute; top: 4px; right: 0px;\" class=\"is-clipped is-hidden-mobile\">\n <span style=\"position: relative; right: -20px;\">\n <button class=\"button is-rounded is-dark has-text-grey px-4 py-3\" :title=\"isExpanded ? 'Collapse' : 'Expand'\" @click=\"isExpanded = !isExpanded\">\n <span class=\"icon pr-3\"><i class=\"fa\" :class=\"isExpanded ? 'fa-angle-double-left' : 'fa-angle-double-right'\" /></span>\n </button>\n </span>\n </span>\n <contacts :is-expanded=\"isExpanded\" />\n <version v-if=\"isExpanded\" />\n </aside>\n <router-view :key=\"$route.fullPath\" class=\"is-flex-grow-1\" />\n </div>\n</template>\n\n<script>\nimport contacts from '../components/Contacts.vue'\nimport Version from '../components/Version.vue'\n\nexport default {\n name: 'Home',\n components: {\n contacts,\n Version,\n },\n props: {\n jid: {\n type: String,\n default: null,\n },\n },\n data () {\n return {\n hasAuthConfirmed: false,\n isExpanded: true,\n }\n },\n computed: {\n displayContact () {\n return this.$route.meta.displayContact\n },\n userJid () {\n return this.$xmpp.fullJid\n },\n },\n // watch network status for resuming session\n watch: {\n jid: function resetActiveChat () {\n if (this.jid === null) {\n this.$store.setActiveChat({\n activeChat: null,\n })\n }\n },\n },\n async beforeUnmount () {\n await this.$xmpp.disconnect()\n },\n created () {\n // check if user is connected\n if (this.userJid === null || this.$xmpp.isAnonymous) {\n // user not connected, return to login page\n localStorage.removeItem('auth')\n return this.$router.replace({ name: 'login', query: { redirect: this.$route.fullPath } })\n }\n this.hasAuthConfirmed = true\n // disconnect before leaving page\n window.addEventListener('beforeunload', async () => {\n await this.$xmpp.disconnect()\n })\n },\n}\n</script>\n","<template>\n <main class=\"section\">\n <h2 class=\"title\">Public rooms</h2>\n <table class=\"table is-hoverable is-fullwidth center-table\">\n <thead>\n <tr>\n <th style=\"width: 32px;\" />\n <th class=\"has-text-centered\">Room name</th>\n <th class=\"has-text-centered\">Occupants</th>\n <th class=\"has-text-centered\">Password protected</th>\n <th class=\"has-text-centered\">Moderated</th>\n <th class=\"has-text-centered\">Semi-Anonymous</th>\n <th class=\"has-text-centered\">Members-Only</th>\n <th class=\"has-text-centered\">Visibility</th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"room in publicRooms\" :key=\"room.jid\" class=\"is-clickable\" @click=\"openRoom(room.jid)\">\n <td><avatar v-if=\"room.hasVCard\" :jid=\"room.jid\" :size=\"32\" /></td>\n <td class=\"has-text-centered\" :title=\"getRoomTitle(room)\">{{ room.name }}</td>\n <td class=\"has-text-centered\">{{ room.occupantsCount }}</td>\n <td class=\"has-text-centered\"><i v-if=\"room.isPasswordProtected\" class=\"fa fa-key-modern fa-fw\" title=\"Password protected\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isModerated\" class=\"fa fa-shield fa-fw\" title=\"Is moderated\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isAnonymous\" class=\"fa fa-user-secret fa-fw\" title=\"Allow anonymous (nick)\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isMembersOnly\" class=\"fa fa-users fa-fw\" title=\"Restricted to members\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isPublic\" class=\"fa fa-globe fa-fw\" title=\"Public room\" /></td>\n </tr>\n </tbody>\n </table>\n </main>\n</template>\n\n<script>\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport avatar from '../components/Avatar.vue'\n\nexport default {\n name: 'RoomsList',\n components: {\n avatar,\n },\n computed: {\n ...mapState(useStore, ['publicRooms']),\n },\n async mounted () {\n try {\n await this.$xmpp.getPublicMuc()\n } catch (error) {\n console.error('getPublicMuc error', error)\n }\n },\n methods: {\n openRoom (jid) {\n this.$router.push({ name: 'groupchat', params: { jid } })\n },\n getRoomTitle (room) {\n let title = ''\n if (room.lang) {\n title = `[${room.lang}] `\n }\n if (room.description) {\n title = title + room.description\n }\n return title === '' ? null : title\n },\n },\n}\n</script>\n","<template>\n <main class=\"section\">\n <form class=\"field has-addons\" @submit.prevent=\"createRoom\">\n <div class=\"control has-icons-left is-flex-grow-1\">\n <input v-model=\"roomJid\" autofocus class=\"input\" type=\"text\" :placeholder=\"roomPlaceholder\" title=\"Enter room Jid\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-tag\" />\n </span>\n </div>\n <div class=\"control\">\n <button type=\"submit\" class=\"button is-primary\" :class=\"{ 'is-loading': isLoading }\" :disabled=\"!hasValidJid\">\n <span class=\"icon\">\n <i class=\"fa fa-plus-square\" /></span>\n <span>Create</span>\n </button>\n </div>\n </form>\n <div v-if=\"error\" class=\"message is-danger\">\n <div class=\"message-body has-text-danger\">{{ error }}</div>\n </div>\n </main>\n</template>\n\n<script>\nimport RoomConfiguration from '../components/RoomConfiguration.vue'\n\nexport default {\n name: 'RoomCreation',\n data () {\n return {\n error: '',\n roomJid: '',\n isLoading: false,\n }\n },\n computed: {\n roomPlaceholder () { return this.$xmpp.defaultMuc ? `room@${this.$xmpp.defaultMuc}` : `room@conference.${this.$xmpp.defaultDomain}` },\n hasValidJid () { return this.$xmpp.defaultMuc ? this.roomJid.length > 2 : /\\S+@\\S+\\S+/.test(this.roomJid) },\n },\n methods: {\n async createRoom () {\n if (!/\\S+@\\S+\\S+/.test(this.roomJid)) {\n if (!this.$xmpp.defaultMuc) {\n return\n }\n this.roomJid = this.roomJid + '@' + this.$xmpp.defaultMuc\n }\n this.isLoading = true\n try {\n this.error = ''\n const result = await this.$xmpp.createRoom(this.roomJid)\n if (result) {\n this.$oruga.modal.open({\n component: RoomConfiguration,\n trapFocus: true,\n props: {\n roomJid: this.roomJid,\n hasCancelButton: false,\n },\n onClose: () => {\n this.$router.push({ name: 'groupchat', params: { jid: this.roomJid } })\n },\n canCancel: false,\n })\n }\n } catch (error) {\n this.error = error.message\n }\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <main v-if=\"isLoaded\" class=\"is-full-height-scrollable section\">\n <label class=\"is-inline-block field is-relative is-clickable\" title=\"Click to edit your avatar\">\n <input ref=\"avatar\" class=\"file-input\" type=\"file\" accept=\"image/*\" @change=\"selectAvatar\">\n <span class=\"image is-128x128\">\n <img v-if=\"profile.PHOTO\" class=\"is-rounded\" :src=\"profile.PHOTO\">\n <img v-else class=\"is-rounded\" :src=\"defaultAvatar\">\n </span>\n </label>\n\n <div v-for=\"field in fields\" :key=\"field.id\" class=\"field\">\n <label class=\"label has-text-light\">{{ field.label }}</label>\n <div class=\"control\">\n <input v-model=\"profile[field.id]\" class=\"input\" type=\"text\" :placeholder=\"field.placeholder\">\n </div>\n </div>\n\n <div class=\"field\">\n <div class=\"control\">\n <button class=\"button is-primary\" :disabled=\"isProcessing\" @click=\"save\">\n <span class=\"icon\"><i class=\"fa fa-save\" /></span><span>Save</span>\n </button>\n </div>\n <p class=\"help is-danger\">{{ error }}</p>\n </div>\n </main>\n\n <main v-else class=\"is-relative section\">\n <o-loading class=\"is-full-height-scrollable section\" :active=\"true\" :full-page=\"false\" icon=\"circle-o-notch\" icon-size=\"large\" />\n </main>\n</template>\n\n<script>\nimport defaultAvatar from '../assets/defaultAvatar'\n\nexport default {\n name: 'Profile',\n components: {\n },\n data () {\n return {\n isLoaded: false,\n isProcessing: false,\n profile: {},\n fields: this.$xmpp.client.getVCardAttributes().filter(attribute => attribute.type === 'input'),\n defaultAvatar,\n error: null,\n }\n },\n computed: {\n },\n async created () {\n this.profile = await this.$xmpp.getProfile()\n this.isLoaded = true\n },\n methods: {\n async save() {\n this.error = null\n try {\n await this.$xmpp.updateProfile(this.profile)\n } catch (error) {\n this.error = `Error during profile update: ${error.message}`\n }\n },\n selectAvatar () {\n this.isProcessing = true\n const reader = new FileReader()\n reader.onload = () => {\n // check image\n const parts = reader.result.split(',')\n const type = /data:(.*);base64/.exec(parts[0])\n if (type && type.length > 1 && parts.length > 1) {\n this.profile.PHOTO = reader.result\n }\n this.isProcessing = false\n }\n try {\n reader.readAsDataURL(this.$refs.avatar.files[0])\n } catch (error) {\n console.error(error.message)\n }\n },\n },\n}\n</script>\n","'use strict';\nmodule.exports = require('./spdx.json');\n","export default \"__VITE_PUBLIC_ASSET__b6a1b491__\"","<template>\n <main class=\"section\">\n <div class=\"container\">\n <h2 class=\"title\">About</h2>\n <h3 class=\"subtitle is-5\">\n <a :href=\"homepage\" target=\"_blank\" rel=\"noreferrer\"><img class=\"image is-96x96\" src=\"/img/icons/android-chrome-192x192.png\">XMPP Web</a>\n </h3>\n <div class=\"content field is-grouped is-grouped-multiline\">\n <div class=\"control\">\n <div class=\"tags has-addons\">\n <span class=\"tag is-dark\">Installed version</span>\n <span class=\"tag\" :class=\"[isUpToDate ? 'is-success': 'is-danger']\" :title=\"`${gitVersion} (${gitBranch})`\">{{ version.installed }}</span>\n </div>\n </div>\n <div class=\"control\">\n <a v-if=\"!isUpToDate\" class=\"tags has-addons\" :href=\"version.latestLink\" target=\"_blank\" rel=\"noreferrer\">\n <span class=\"tag is-dark\">Latest version</span>\n <span class=\"tag is-info\">{{ version.latest }}</span>\n </a>\n </div>\n </div>\n <p class=\"content\">{{ description }}</p>\n <p v-if=\"license.name\" class=\"content\">This project is licensed under the <a :href=\"license.url\" target=\"_blank\" rel=\"noreferrer\">{{ license.name }}</a></p>\n </div>\n </main>\n</template>\n\n<script>\nimport { version, description, license, homepage, xmppWeb } from '../../package.json'\nimport axios from 'axios'\nimport spdxLicenseList from 'spdx-license-list'\n\nexport default {\n name: 'About',\n data () {\n return {\n version: {\n installed: version,\n latest: null,\n latestLink: null,\n },\n description,\n license: {\n id: license,\n name: null,\n url: null,\n },\n homepage,\n isUpToDate: true,\n gitVersion: import.meta.env.VITE_GIT_VERSION,\n gitBranch: import.meta.env.VITE_GIT_BRANCH,\n }\n },\n mounted () {\n this.getLastVersion()\n this.getLicense()\n },\n methods: {\n async getLastVersion () {\n try {\n const response = await axios.get(xmppWeb.latestReleaseUrl)\n this.version.latest = response.data.tag_name\n this.version.latestLink = response.data.html_url\n if (this.version.latest !== this.version.installed) {\n this.isUpToDate = false\n }\n } catch (error) {\n console.error('getLastVersion error', error)\n }\n },\n getLicense () {\n Object.assign(this.license, spdxLicenseList[license])\n },\n },\n}\n</script>\n","<template>\n <section class=\"hero is-full-height has-background-shade-4\">\n <div class=\"is-flex is-justify-content-center is-full-height\" style=\"overflow-y:auto;\">\n <!-- Guest access not allowed message -->\n <div v-if=\"server === null\" class=\"message is-danger is-light is-align-self-center\">\n <div class=\"message-body has-text-danger\">Anonymous access is not allowed<br>Please <router-link :to=\"{ name: 'login' }\">login</router-link></div>\n </div>\n <!-- User nickname form -->\n <div v-else class=\"is-align-self-center\">\n <div class=\"box has-background-shade-3 mx-1\" style=\"max-width: 420px;\">\n <form class=\"has-text-centered\" @submit.prevent=\"join\">\n <h3 class=\"title has-text-grey is-flex is-justify-content-center is-align-items-center\"><img class=\"image is-48x48 is-inline mr-2\" :src=\"logoSrc\">{{ appName }}</h3>\n <p class=\"subtitle has-text-grey\">Guest</p>\n <!-- eslint-disable-next-line vue/no-v-html -->\n <p v-if=\"description\" class=\"content has-text-grey is-size-7\" v-html=\"description\" />\n <div class=\"field\">\n <div class=\"control has-icons-left\">\n <input v-model=\"nick\" autofocus class=\"input is-medium\" type=\"text\" name=\"nick\" placeholder=\"Nickname\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-user\" />\n </span>\n </div>\n </div>\n <div class=\"field\">\n <button type=\"submit\" class=\"button is-medium is-block is-primary is-fullwidth\" :disabled=\"!hasValidNick\">\n <span class=\"icon\" aria-hidden=\"true\">\n <i class=\"fa fa-sign-in\" /></span>\n <span>Join</span>\n </button>\n </div>\n <div v-if=\"error\" class=\"message is-danger\">\n <div class=\"message-body has-text-danger\">{{ error }}</div>\n </div>\n </form>\n </div>\n </div>\n </div>\n <version />\n </section>\n</template>\n\n<script>\nimport sanitizeHtml from 'sanitize-html'\nimport Version from '../components/Version.vue'\n\nexport default {\n name: 'GuestHome',\n components: {\n Version,\n },\n props: {\n requestedJid: {\n type: String,\n default: null,\n },\n },\n data () {\n return {\n nick: '',\n isLoading: false,\n error: '',\n transportsUser: {\n websocket: window.config.transports.websocket,\n bosh: window.config.transports.bosh,\n },\n server: window.config.anonymousHost,\n }\n },\n computed: {\n hasValidNick () { return this.nick.length > 2 },\n requestedFullJid () {\n if (!this.requestedJid) {\n return null\n }\n if (/\\S+@\\S+\\S+/.test(this.requestedJid) || !this.$xmpp.defaultMuc) {\n return this.requestedJid\n }\n return `${this.requestedJid}@${this.$xmpp.defaultMuc}`\n },\n appName () {\n return (typeof window.config.name === 'string' && window.config.name !== '') ? window.config.name : 'XMPP webchat'\n },\n logoSrc () {\n return window.config.logoUrl || 'img/icons/android-chrome-192x192.png'\n },\n description () {\n return window.config.guestDescription ? sanitizeHtml(window.config.guestDescription) : null\n },\n },\n mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n },\n methods: {\n async join () {\n this.isLoading = true\n try {\n await this.$xmpp.create(null, null, this.server, this.transportsUser, this)\n this.$xmpp.setNick(this.nick)\n await this.$xmpp.connect()\n this.$router.push({ name: 'guestRooms', state: { nick: this.nick, requestedJid: this.requestedFullJid } })\n } catch (error) {\n this.error = error.message\n }\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <section class=\"is-full-height has-background-shade-3\">\n <div class=\"is-flex is-justify-content-center is-full-height\" style=\"overflow-y:auto;\">\n <div v-if=\"displayRoomsList\" class=\"container is-flex is-flex-direction-column\">\n <div class=\"field has-addons mt-5\">\n <div class=\"control is-expanded has-icons-left\">\n <input v-model=\"search.text\" class=\"input\" type=\"text\" name=\"room\" placeholder=\"Search a room\" title=\"Filter rooms by name or description\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-search\" />\n </span>\n </div>\n <div class=\"control has-icons-left\">\n <span class=\"select\">\n <select v-model=\"search.language\" title=\"Filter rooms by language\">\n <option value=\"\" />\n <option v-for=\"language in roomsLanguages\" :key=\"language\">{{ language }}</option>\n </select>\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-globe-e\" />\n </span>\n </span>\n </div>\n </div>\n <div class=\"is-flex is-justify-content-center is-flex-grow-1\">\n <ul class=\"is-align-self-center columns is-multiline\">\n <li v-for=\"room in filteredPublicRooms\" :key=\"room.jid\" class=\"column\">\n <div class=\"card is-width-min-400\">\n <header class=\"card-header\">\n <span class=\"card-header-title\">\n <span v-if=\"room.isPinned\" class=\"icon has-text-danger mr-2\" title=\"Pinned room\">\n <i class=\"fa fa-map-pin\" />\n </span>\n <span v-if=\"room.lang\" class=\"has-text-weight-light\" title=\"Language\">[{{ room.lang }}]</span>\n </span>\n <span class=\"px-4 py-3\">\n <span v-if=\"room.isPasswordProtected\" class=\"icon\" title=\"This room is password protected\">\n <i class=\"fa fa-key-modern\" />\n </span>\n <span v-if=\"room.occupantsCount\" title=\"Occupants\">\n <span class=\"icon mr-1 ml-2\">\n <i class=\"fa fa-users\" />\n </span>\n <span>{{ room.occupantsCount }}</span>\n </span>\n </span>\n </header>\n <div class=\"card-content\">\n <div class=\"media\">\n <avatar v-if=\"room.hasVCard\" class=\"media-left\" :jid=\"room.jid\" :display-jid=\"false\" :size=\"48\" />\n <div class=\"media-content\">\n <div class=\"title is-5\">{{ room.name }}</div>\n <div class=\"subtitle is-6\">{{ room.jid }}</div>\n </div>\n </div>\n <small class=\"content\">{{ room.description }}</small>\n </div>\n <footer class=\"card-footer\">\n <router-link :to=\"{ name: 'guestInRoom', params: { jid: room.jid } }\" class=\"card-footer-item\" title=\"Join the room\">\n <span class=\"icon\">\n <i class=\"fa fa-sign-in\" /></span>\n <span>Join</span>\n </router-link>\n </footer>\n </div>\n </li>\n </ul>\n </div>\n <version />\n </div>\n </div>\n </section>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nimport Modal from '../components/Modal.vue'\nimport Version from '../components/Version.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'GuestRooms',\n components: {\n avatar,\n Version,\n },\n data () {\n return {\n isLoading: false,\n search: {\n text: '',\n language: '',\n },\n transportsUser: {\n websocket: window.config.transports.websocket,\n bosh: window.config.transports.bosh,\n },\n server: window.config.anonymousHost,\n nick: null,\n requestedJid: null,\n }\n },\n computed: {\n displayRoomsList () { return !this.isLoading && this.publicRooms.length > 0 },\n roomsLanguages () {\n return [...new Set(this.publicRooms.map((room) => room.lang))]\n .filter(lang => lang !== '')\n },\n filteredPublicRooms () {\n const pinnedRooms = window.config.pinnedMucs || []\n const searchText = this.search.text.toLowerCase()\n const searchLanguage = this.search.language\n return this.publicRooms\n .filter((room) => (searchText === '' || room.name.toLowerCase().indexOf(searchText) > -1 || room.description.toLowerCase().indexOf(searchText) > -1) && (searchLanguage === '' || room.lang === searchLanguage))\n .map((room) => {\n return {\n ...room,\n isPinned: pinnedRooms.includes(room.jid),\n }\n })\n .sort((a, b) => {\n if (a.isPinned !== b.isPinned) {\n return a.isPinned ? -1 : 1\n }\n return a.name.toLowerCase() > b.name.toLowerCase()\n })\n },\n ...mapState(useStore, ['publicRooms']),\n },\n async created () {\n if (history.state) {\n this.requestedJid = history.state.requestedJid\n this.nick = history.state.nick\n }\n if (!this.nick || !this.$xmpp.jid) {\n // no nick or xmpp not initialized (may be refresh page / F5) return to guest home\n this.$router.push({ name: 'guest' })\n return\n }\n this.isLoading = true\n try {\n // get public rooms\n const rooms = await this.$xmpp.getPublicMuc()\n // if room jid provided, check if exists and join it\n if (this.requestedJid) {\n if (rooms.find((room) => room.jid === this.requestedJid)) {\n // join public room\n return this.openRoom(this.requestedJid)\n }\n // check if room exist as private\n const requestedRoom = await this.$xmpp.getRoom(this.requestedJid)\n if (requestedRoom.jid) {\n // join private room\n return this.openRoom(this.requestedJid)\n }\n if (requestedRoom.message) {\n await new Promise((resolve) =>\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Error',\n message: requestedRoom.message || 'Unable to join room',\n type: 'is-danger',\n },\n onClose: () => resolve(false),\n }),\n )\n }\n }\n } catch (error) {\n console.error(error.message)\n }\n this.isLoading = false\n },\n mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n },\n methods: {\n openRoom (jid) {\n this.$router.push({ name: 'guestInRoom', params: { jid } })\n },\n },\n}\n</script>\n","<template>\n <section class=\"is-full-height\">\n <div class=\"is-justify-content-center is-full-height\">\n <chat v-if=\"displayChat\" :jid=\"jid\" :is-room=\"true\" class=\"is-flex-grow-1\" />\n </div>\n </section>\n</template>\n\n<script>\nimport Chat from '../components/Chat.vue'\nexport default {\n name: 'Guest',\n components: {\n Chat,\n },\n props: {\n jid: {\n type: String,\n default: null,\n },\n },\n computed: {\n displayChat () { return this.jid !== null && this.$xmpp.nick !== null },\n },\n created () {\n if (this.$xmpp.nick === null) {\n this.$router.replace({ name: 'guest', query: { join: this.jid } })\n }\n },\n mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n },\n async beforeUnmount () {\n if (this.$xmpp.client) {\n await this.$xmpp.client.leaveRoom(this.jid, this.$xmpp.nick)\n }\n },\n}\n</script>\n","import { createRouter, createWebHashHistory } from 'vue-router'\nimport Chat from '../components/Chat.vue'\nimport Navbar from '../components/Navbar.vue'\nimport Login from '../components/Login.vue'\nimport Home from '../components/Home.vue'\nimport RoomsList from '../components/RoomsList.vue'\nimport RoomCreation from '../components/RoomCreation.vue'\nimport Profile from '../components/Profile.vue'\nimport About from '../components/About.vue'\nimport GuestHome from '../components/GuestHome.vue'\nimport GuestRooms from '../components/GuestRooms.vue'\nimport GuestChat from '../components/GuestChat.vue'\n\nconst routes = [\n {\n // redirect unknown path to homepage\n path: '/:pathMatch(.*)*',\n redirect: { name: 'home' },\n },\n]\n\nif (window.config.hasRegisteredAccess) {\n // set registered user routes\n routes.push(\n {\n // home page containing child components for chats and MUC\n name: 'home',\n path: '/',\n components: {\n navbar: Navbar,\n default: Home,\n },\n props: {\n default: true,\n navbar: false,\n },\n meta: {\n requiresAuth: true,\n displayContact: true,\n },\n children: [\n {\n // chat component\n name: 'chat',\n path: 'contacts/:jid',\n component: Chat,\n props: true,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // public MUC component\n name: 'public muc',\n path: 'rooms/discover',\n component: RoomsList,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // room creation\n name: 'room creation',\n path: 'rooms/new',\n component: RoomCreation,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // MUC component\n name: 'groupchat',\n path: 'rooms/:jid',\n component: Chat,\n props: (route) => ({\n jid: route.params.jid,\n isRoom: true,\n }),\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // profile component\n name: 'profile',\n path: 'profile',\n component: Profile,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // about component\n name: 'about',\n path: 'about',\n component: About,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n ],\n },\n {\n // login page\n name: 'login',\n path: '/login',\n component: Login,\n },\n )\n}\n\nif (window.config.hasGuestAccess) {\n // set guest user routes\n routes.push(\n {\n // guest home\n name: 'guest',\n path: '/guest',\n component: GuestHome,\n props: (route) => ({\n requestedJid: route.query.join,\n }),\n meta: {\n requiresAuth: false,\n },\n },\n {\n // guest rooms\n name: 'guestRooms',\n path: '/guest/rooms',\n component: GuestRooms,\n meta: {\n requiresAuth: false,\n },\n },\n {\n // guest access room\n name: 'guestInRoom',\n path: '/guest/:jid',\n component: GuestChat,\n props: (route) => ({\n jid: route.params.jid,\n }),\n meta: {\n requiresAuth: false,\n },\n },\n )\n if (!window.config.hasRegisteredAccess) {\n // set default home if registered access is disabled\n routes.push(\n {\n name: 'home',\n path: '/',\n component: GuestHome,\n props: (route) => ({\n requestedJid: route.query.join,\n }),\n meta: {\n requiresAuth: false,\n },\n },\n )\n }\n}\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes,\n})\n\nrouter.beforeEach((to) => {\n // check if route require authentication\n if (to.matched.some(record => record.meta.requiresAuth)) {\n if (localStorage.getItem('auth') === null) {\n // user is not authenticated, route to login page\n return {\n name: 'login',\n query: { redirect: to.fullPath },\n }\n }\n }\n})\n\nexport default router\n","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport Oruga from '@oruga-ui/oruga-next'\nimport { bulmaConfig } from '@oruga-ui/theme-bulma'\nimport '@oruga-ui/oruga-next/dist/oruga.css'\nimport './assets/styles.scss'\nimport 'fork-awesome/css/fork-awesome.min.css'\nimport dayjs from 'dayjs'\nimport relativeTime from 'dayjs/plugin/relativeTime'\nimport { useStore } from './store'\nimport xmppSocket from './services/XmppSocket'\nimport { registerSW } from 'virtual:pwa-register'\nimport router from './router'\n\nregisterSW({ immediate: true })\ndayjs.extend(relativeTime)\n\nconst pinia = createPinia()\nconst app = createApp(App)\n\napp.use(Oruga, { ...bulmaConfig, iconPack: 'fa' })\napp.config.globalProperties.$xmpp = xmppSocket\napp.config.globalProperties.$dayjs = dayjs\n\npinia.use(() => {\n return { $dayjs: dayjs }\n} )\napp.use(pinia)\napp.use(router)\n\nconst store = useStore()\napp.config.globalProperties.$store = store\n\napp.mount('#body')\n"],"file":"assets/index-126f0889.js"} \ No newline at end of file diff --git a/classes/assets/index-30c686e4.css b/classes/assets/index-30c686e4.css new file mode 100644 index 0000000..d933bd0 --- /dev/null +++ b/classes/assets/index-30c686e4.css @@ -0,0 +1,12 @@ +@charset "UTF-8";/*! Oruga v0.5.10 | MIT License | github.com/oruga-ui/oruga */@keyframes append-animate{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}*,:after,:before{box-sizing:inherit}.o-noscroll{position:fixed;overflow-y:hidden;width:100%;bottom:0;overflow-x:hidden;overflow-y:scroll}.o-clipped{overflow:hidden}.o-acp{position:relative}.o-acp__menu{display:block;width:100%;position:absolute;left:0;top:100%;overflow:auto;z-index:20;background-color:#fff}.o-acp__menu--top{top:auto;bottom:100%}.o-acp__item{display:block;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.o-acp__item-group-title,.o-acp__item--empty{pointer-events:none}.o-acp--expanded{width:100%}.o-btn{-moz-appearance:none;-webkit-appearance:none;position:relative;display:inline-flex;cursor:pointer;text-align:center;white-space:nowrap;align-items:center;justify-content:center;vertical-align:top;text-decoration:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#445e00;color:#fff}.o-btn__wrapper{margin-left:-.1875em;margin-right:-.1875em;display:inline-flex;align-items:center;justify-content:center;position:relative;width:100%}.o-btn__wrapper>*{margin-left:.1875em;margin-right:.1875em}.o-btn__label,.o-btn--expanded{width:100%}.o-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.o-btn--outlined{background-color:transparent;border-color:#445e00;color:#445e00}.o-btn--outlined:hover{border-color:transparent;background-color:#445e00;color:#fff}.o-btn--inverted{background-color:#fff;border-color:#fff;color:#445e00}.o-btn--inverted:hover{filter:brightness(95%)}.o-car{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;overflow:hidden;width:100%}.o-car__overlay{bottom:0;left:0;right:0;top:0;align-items:center;flex-direction:column;justify-content:center;display:flex;max-height:100vh;position:fixed;z-index:40}.o-car__scene{position:relative;width:100%}.o-car__items{display:flex;width:100%}.o-car__item{flex-shrink:0}.o-car__indicators{width:100%;display:flex;align-items:center;justify-content:center}.o-car__indicators--inside{position:absolute}.o-car__indicators--inside--bottom{bottom:0}.o-car__indicators--inside--top{top:0}.o-car__indicator__item{display:block;border:1px solid #445e00;background:#ffffff}.o-car__indicator__item--active,.o-car__indicator__item :hover{background:#445e00;border:1px solid #445e00}.o-car__indicator__item--boxes{width:10px;height:10px}.o-car__indicator__item--dots{border-radius:4px;width:10px;height:10px}.o-car__arrow__icon{cursor:pointer;background:#ffffff;color:#445e00;width:1.5rem;height:1.5rem}.o-car__arrow__icon-prev,.o-car__arrow__icon-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.o-car__arrow__icon-prev{left:1.5rem}.o-car__arrow__icon-next{right:1.5rem}.o-chk{display:inline-flex;align-items:center;cursor:pointer;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-chk__check{width:1rem;height:1rem;outline:none;margin:0;vertical-align:top;background-position:center;background-size:contain;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-shrink:0;cursor:pointer;background-repeat:no-repeat;border-color:#445e00;border-style:solid;transition-property:background}.o-chk__check--checked{background-color:#445e00;border-color:#445e00;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 234 225' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'%3E%3Cg transform='matrix(4.16667,0,0,4.16667,0,0)'%3E%3Cg transform='matrix(3.13817,0,0,3.13817,-69.2796,-49.5156)'%3E%3Cpath style='fill:%23ffffff' d='M22.504,26.219L28.637,32.386L39.494,18.284L37.348,16.379L28,27.725L24.46,24.196L22.504,26.219Z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.o-chk__check--indeterminate{background-color:#445e00;border-color:#445e00;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 417 417' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(4.16667,0,0,4.16667,0,0)'%3E%3Cg transform='matrix(6.96176,0,0,20.5682,-118.661,-806.753)'%3E%3Cpath style='fill:%23ffffff' d='M31.265,41.654C31.265,41.324 30.474,41.057 29.5,41.057L18.953,41.057C17.979,41.057 17.188,41.324 17.188,41.654C17.188,41.984 17.979,42.252 18.953,42.252L29.5,42.252C30.474,42.252 31.265,41.984 31.265,41.654Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.o-chk--disabled{opacity:.5}.o-clps__trigger{cursor:pointer}.o-clps__content{display:inherit}.o-dpck__dropdown{width:100%}.o-dpck__box{display:block;position:relative}.o-dpck__header__buttons{align-items:center;display:flex;justify-content:center;text-align:center}.o-dpck__header__previous,.o-dpck__header__next{justify-content:center;text-align:center;text-decoration:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;align-items:center;box-shadow:none;display:inline-flex;position:relative;vertical-align:top;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-color:#dbdbdb;color:#363636}.o-dpck__header__previous:hover,.o-dpck__header__next:hover{text-decoration:none}.o-dpck__header__previous{order:1}.o-dpck__header__next{order:3}.o-dpck__header__list{order:2;align-items:center;display:flex;justify-content:center;text-align:center;list-style:none;flex-wrap:wrap;margin:0;padding:0;margin-left:-.125rem;margin-right:-.125rem}.o-dpck__header__list>*{margin-left:.125rem;margin-right:.125rem}.o-dpck__table,.o-dpck__month{display:table;margin:0 auto}.o-dpck__table__head,.o-dpck__month__head{display:table-header-group}.o-dpck__table__body,.o-dpck__month__body{display:table-row-group}.o-dpck__table__row,.o-dpck__month__row{display:table-row}.o-dpck__table__cell,.o-dpck__month__cell{text-align:center;vertical-align:middle;display:table-cell;text-decoration:none}.o-dpck__table__cell--unselectable,.o-dpck__month__cell--unselectable{color:#b5b5b5}.o-dpck__table__cell--selectable,.o-dpck__month__cell--selectable{color:#4a4a4a}.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered{background-color:#7a7a7a;color:#dbdbdb}.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered{color:#dbdbdb}.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered{background-color:#7a7a7a;color:#dbdbdb}.o-dpck__table__cell--selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e00;color:#fff}.o-dpck__table__cell--first-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--first-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e00;color:#fff}.o-dpck__table__cell--within-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--within-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e0080}.o-dpck__table__cell--last-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--last-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e00;color:#fff}.o-dpck__table__cell--invisible,.o-dpck__month__cell--invisible{visibility:hidden}.o-dpck__table__cell--events,.o-dpck__month__cell--events{position:relative}.o-dpck__table__events,.o-dpck__month__events{display:flex;justify-content:center;position:absolute;width:100%;left:0;bottom:15%}.o-dpck__table__event,.o-dpck__month__event{background-color:#b5b5b5}.o-dpck__table__event--dots,.o-dpck__month__event--dots{border-radius:50%}.o-dpck__table__event--bars,.o-dpck__month__event--bars{width:100%}.o-dpck__month__table{display:inline-flex;flex-wrap:wrap;flex-direction:row;width:17rem}.o-dpck__month__cell{display:flex;align-items:center;justify-content:center;width:33.33%;height:2.5rem}.o-dpck--mobile .o-dpck__header__previous{order:1;flex-grow:1;flex-shrink:1}.o-dpck--mobile .o-dpck__header__next{order:3;flex-grow:1;flex-shrink:1}.o-dpck--mobile .o-dpck__header__list{order:2;flex-grow:1;flex-shrink:1}.o-dtpck__time{display:flex;justify-content:center;align-items:center}.o-drop{display:inline-flex;position:relative;vertical-align:top}.o-drop--inline{display:inline}.o-drop--inline .o-drop__menu{position:static;display:inline-block;padding:0}.o-drop__overlay{position:fixed;bottom:0;left:0;right:0;top:0;cursor:pointer;display:none;background-color:#000000db;z-index:40}.o-drop__trigger{width:100%}.o-drop__menu{position:absolute;left:0;top:100%;display:block;z-index:20;background-color:#fff}.o-drop__menu--top-left{top:auto;bottom:100%;right:0;left:auto}.o-drop__menu--bottom-left{right:0;left:auto}.o-drop__menu--top-right{top:auto;bottom:100%}.o-drop__item{display:block;position:relative;cursor:pointer}.o-drop__item--disabled{opacity:.5;pointer-events:none}.o-drop__item--active{background-color:#445e00;color:#fff}.o-drop--expanded,.o-drop--expanded .o-drop__menu{width:100%}.o-drop--disabled{opacity:.5;pointer-events:none}.o-drop--mobile>.o-drop__menu{position:fixed;top:25%;left:50%;bottom:auto;right:auto;transform:translate3d(-50%,-25%,0);overflow-y:auto;z-index:50}.o-drop--mobile>.o-drop__overlay{display:block}.o-field{flex-grow:1}.o-field__label,.o-field__message{display:block}.o-field--addons{display:flex;justify-content:flex-start}.o-field--addons>*:first-child:not(:only-child) button,.o-field--addons>button:first-child,.o-field--addons>*:first-child:not(:only-child) input,.o-field--addons>input:first-child,.o-field--addons>*:first-child:not(:only-child) select,.o-field--addons>select:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.o-field--addons>*:last-child:not(:only-child) button,.o-field--addons>button:last-child,.o-field--addons>*:last-child:not(:only-child) input,.o-field--addons>input:last-child,.o-field--addons>*:last-child:not(:only-child) select,.o-field--addons>select:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.o-field--addons>*:not(:first-child):not(:last-child) button,.o-field--addons>button:not(:first-child):not(:last-child),.o-field--addons>*:not(:first-child):not(:last-child) input,.o-field--addons>input:not(:first-child):not(:last-child),.o-field--addons>*:not(:first-child):not(:last-child) select,.o-field--addons>select:not(:first-child):not(:last-child){border-radius:0}.o-field--grouped{display:flex;margin-left:-.37rem;margin-right:-.37rem}.o-field--grouped>*{margin-left:.37rem;margin-right:.37rem}.o-field--grouped-multiline{flex-wrap:wrap}.o-field__horizontal-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1;margin-left:-.37rem;margin-right:-.37rem}.o-field__horizontal-body>*{margin-left:.37rem;margin-right:.37rem}.o-field--horizontal{display:flex}.o-field__horizontal-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin:0 1.5rem 0 0;text-align:right}.o-field--mobile .o-field__horizontal-body,.o-field--mobile.o-field--horizontal,.o-field--mobile .o-field__horizontal-label{all:unset}.o-icon{align-items:center;display:inline-flex;justify-content:center;transition:transform .15s ease-out,opacity .3s ease-out}.o-icon--clickable{pointer-events:auto;cursor:pointer}.o-icon--spin{animation-name:icon-spin;animation-iteration-count:infinite;animation-timing-function:linear;animation-duration:2s}.o-ctrl-input{display:block;position:relative}.o-ctrl-input--expanded{width:100%;flex-grow:1;flex-shrink:1}.o-input{-moz-appearance:none;-webkit-appearance:none;display:inline-flex;position:relative;vertical-align:top;width:100%}.o-input__textarea{display:block;max-width:100%;min-width:100%;height:auto;resize:vertical}.o-input__counter{display:block;float:right}.o-input__icon-left,.o-input__icon-right{position:absolute;top:0;height:100%}.o-input__icon-right{right:0}.o-input__icon-left{left:0}.o-inputit{display:block}.o-inputit__container{display:flex;align-items:center;justify-content:flex-start;position:relative;vertical-align:top;flex-wrap:wrap;border-color:#dbdbdb;border-style:solid;border-width:1px;color:#363636}.o-inputit__autocomplete{position:static;flex:1}.o-inputit__input{border:none;box-shadow:none}.o-inputit__input:focus{box-shadow:none}.o-inputit__item{display:inline-flex;justify-content:center;align-items:center;position:relative;margin-left:-.1875em;margin-right:-.1875em;background-color:#445e00;color:#fff}.o-inputit__item>*{margin-left:.1875em;margin-right:.1875em}.o-inputit__counter{display:block;float:right}.o-inputit--expanded{width:100%;flex-grow:1;flex-shrink:1}.o-load{position:absolute;bottom:0;left:0;right:0;top:0;align-items:center;display:flex;justify-content:center;overflow:hidden}.o-load--fullpage{position:fixed}.o-load__overlay{position:absolute;bottom:0;left:0;right:0;top:0}.o-menu-list .o-menu-list,.o-menu-list .o-menu-item__wrapper{list-style:none}.o-menu-label{text-transform:uppercase}.o-menu-item{display:block;list-style:none}.o-modal{display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;position:fixed;bottom:0;left:0;right:0;top:0;z-index:40}.o-modal__overlay{bottom:0;left:0;position:absolute;right:0;top:0;background-color:#0a0a0adb}.o-modal__content{overflow:auto;position:relative;background-color:#fff}.o-modal__content--full-screen{width:100%;height:100%;max-height:100vh;margin:0}.o-modal__close{background:none;position:fixed;border:none;display:inline-block;vertical-align:top;right:20px;top:20px}.o-modal--mobile .o-modal__content{width:100%}.o-notification{background-color:#445e00;color:#fff;position:relative;transform-origin:50% 0}.o-notification__content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit;overflow-y:hidden;overflow-x:auto}.o-notification__wrapper{align-items:flex-start;display:flex;text-align:inherit;padding-top:0;border:0}.o-notification__icon{flex-basis:auto;flex-grow:0;flex-shrink:0}.o-notification__close{position:absolute;border:none;cursor:pointer;pointer-events:auto;display:flex;justify-content:center;align-items:center;flex-grow:0;flex-shrink:0;vertical-align:top;right:.5rem;top:.5rem}.o-notices{position:fixed;display:flex;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;padding:2em;z-index:1000}.o-notices .o-notification{pointer-events:stroke;max-width:600px}.o-notices .o-notification--top,.o-notices .o-notification--bottom{align-self:center}.o-notices .o-notification--top-right,.o-notices .o-notification--bottom-right{align-self:flex-end}.o-notices .o-notification--top-left,.o-notices .o-notification--bottom-left{align-self:flex-start}.o-notices--top{flex-direction:column}.o-notices--bottom{flex-direction:column-reverse}.o-notices--bottom .o-notification{margin-bottom:0}.o-notices--bottom .o-notification:not(:first-child){margin-bottom:1.5rem}.o-notices__custom-container{position:absolute}.o-pag{align-items:center;display:flex;justify-content:center;text-align:center;justify-content:space-between}.o-pag__link{-moz-appearance:none;-webkit-appearance:none;align-items:center;box-shadow:none;display:inline-flex;position:relative;vertical-align:top;justify-content:center;text-align:center;text-decoration:none;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-pag__link:hover{text-decoration:none}.o-pag__link--disabled{pointer-events:none}.o-pag__link--current{pointer-events:none;background-color:#445e00;border-color:#445e00;color:#fff}.o-pag__ellipsis{justify-content:center;text-align:center;pointer-events:none}.o-pag--simple{justify-content:normal}.o-pag--centered{justify-content:center}.o-pag--centered .o-pag__previous{order:1}.o-pag--centered .o-pag__next{order:3}.o-pag--centered .o-pag__list{justify-content:center;order:2}.o-pag--right{justify-content:flex-end}.o-pag--right .o-pag__previous{order:1}.o-pag--right .o-pag__next{order:2}.o-pag--right .o-pag__list{justify-content:flex-end;order:2}.o-pag__next{order:3}.o-pag__previous{order:2}.o-pag__list{align-items:center;display:flex;justify-content:center;text-align:center;list-style:none;flex-wrap:wrap;margin:0;padding:0;flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.o-pag--mobile{justify-content:flex-start;flex-wrap:wrap}.o-pag--mobile .o-pag__link{flex-grow:1;flex-shrink:1}.o-pag--mobile .o-pag__previous,.o-pag--mobile .o-pag__next{flex-grow:1;flex-shrink:1;order:0}.o-pag--mobile .o-pag__ellipsis{flex-grow:1;flex-shrink:1}.o-pag--mobile .o-pag__list{order:0}.o-radio{display:inline-flex;align-items:center;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-radio__check{width:1rem;height:1rem;margin:0;vertical-align:top;background-position:center;background-size:contain;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:50%;cursor:pointer;background-repeat:no-repeat;transition-property:background;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 100 100' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(10.1032,0,0,10.1032,-255.068,-313.298)'%3E%3Ccircle cx='30.195' cy='35.959' r='4.85' style='fill:%23445e00;'/%3E%3C/g%3E%3C/svg%3E")}.o-radio__check--checked{background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 100 100' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(4.38544,0,0,4.38544,-94.4336,-58.9876)'%3E%3Cpath d='M32.935,13.679C39.102,13.679 44.108,18.685 44.108,24.852C44.108,31.019 39.102,36.025 32.935,36.025C26.768,36.025 21.761,31.019 21.761,24.852C21.761,18.685 26.768,13.679 32.935,13.679ZM32.798,17.05C37.105,17.05 40.601,20.546 40.601,24.852C40.601,29.158 37.105,32.655 32.798,32.655C28.492,32.655 24.996,29.158 24.996,24.852C24.996,20.546 28.492,17.05 32.798,17.05Z' style='fill:%23445e00;'/%3E%3Ccircle cx='32.84' cy='24.8' r='7.9' style='fill:transparent;'/%3E%3C/g%3E%3C/svg%3E")}.o-radio--disabled{opacity:.5}.o-ctrl-sel{display:inline-flex;position:relative}.o-ctrl-sel--expanded{width:100%;flex-grow:1;flex-shrink:1}.o-sel{-moz-appearance:none;-webkit-appearance:none;display:inline-block;position:relative;vertical-align:top;cursor:pointer;justify-content:flex-start;align-items:center}.o-sel-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:serif='http://www.serif.com/' width='100%25' height='100%25' viewBox='0 0 100 100' version='1.1' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'%3E%3Cg transform='matrix(5.70052,0,0,5.70052,-1329.79,-547.054)'%3E%3Cpath d='M233.451,101.749L235.617,99.422L242.013,105.565L248.463,99.422L250.642,101.749L242.013,110.052L233.451,101.749Z' style='fill:;stroke:white;stroke-width:0.18px;'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:1rem;background-position:calc(100% - .5rem) center;padding-right:2rem}.o-sel--multiple{height:auto;padding:0}.o-sel__icon-left,.o-sel__icon-right{position:absolute;top:0;height:100%}.o-sel__icon-right{right:0}.o-sel__icon-left{left:0}.o-sklt{display:inline-flex;flex-direction:column;vertical-align:middle;width:100%}.o-sklt__item{width:100%;background:linear-gradient(90deg,#dbdbdb 25%,rgba(219,219,219,.5) 50%,#dbdbdb 75%)}.o-sklt__item--animated{background-size:400% 100%;animation-name:skeleton-loading;animation-iteration-count:infinite;animation-duration:1.5s}.o-sklt__item:after{content:" "}.o-sklt--centered{align-items:center}.o-sklt--right{align-items:flex-end}.o-side__content{background-color:#dbdbdb;z-index:39}.o-side__content--fixed{position:fixed;left:0;top:0}.o-side__content--absolute{position:absolute;left:0;top:0}.o-side__content--right{left:auto;right:0}.o-side__content--mini-expand:hover{transition:width}.o-side__content--static{position:static}.o-side__content--absolute,.o-side__content--static{transition:width .15s ease-out}.o-side__content--fullwidth{width:100%;max-width:100%}.o-side__content--fullheight{height:100%;max-height:100%;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;align-content:stretch}.o-side__overlay{bottom:0;left:0;right:0;top:0;position:fixed;background:rgba(10,10,10,.86);z-index:38}.o-slide{background:transparent;width:100%}.o-slide__thumb{border:1px solid #b5b5b5;background:#ffffff}.o-slide__thumb--dragging{cursor:grabbing;filter:brightness(.8)}.o-slide__track{display:flex;align-items:center;position:relative;cursor:pointer;background:#dbdbdb}.o-slide__fill{position:absolute;height:100%;background:#445e00;top:50%;transform:translateY(-50%)}.o-slide .o-slide__track{height:.5rem}.o-slide .o-slide__thumb{height:1rem;width:1rem}.o-slide .o-slide__tick-label{position:absolute;left:50%;transform:translate(-50%)}.o-slide__tick{position:absolute;transform:translate(-50%,-50%);top:50%;width:3px;background:#445e00}.o-slide__tick--hidden{background:transparent}.o-slide__thumb-wrapper{display:inline-flex;align-items:center;position:absolute;cursor:grab;transform:translate(-50%,-50%);top:50%;flex-direction:column}.o-slide--disabled{cursor:not-allowed;pointer-events:none}.o-steps{display:flex;flex-wrap:wrap;margin:0;padding:0}.o-steps .o-steps__title{background-color:#fff;text-align:center;z-index:1}.o-steps .o-steps__wrapper-vertical .o-steps--label-left .o-steps__divider,.o-steps .o-steps__wrapper-vertical.o-steps__wrapper-position-right .o-steps--label-left .o-steps__divider{left:auto}.o-steps__nav-item{margin:0;padding:0;position:relative;flex-grow:1;flex-basis:1em}.o-steps__divider{background:linear-gradient(to left,#dbdbdb 50%,#445e00 50%);background-size:200% 100%;background-position:right bottom;content:" ";display:block;position:absolute;bottom:0;left:-50%;width:100%}.o-steps__content{position:relative;overflow:visible;display:flex;flex-direction:column}.o-steps__content-transitioning{overflow:hidden}.o-steps--animated .o-steps__divider{transition-property:background}.o-steps__link{display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;text-decoration:none}.o-steps__link-label-right{flex-direction:row}.o-steps__link-label-left{flex-direction:row-reverse}.o-steps__link:hover{text-decoration:none}.o-steps__link:not(.o-steps__link-clickable){cursor:not-allowed}.o-steps__marker{align-items:center;display:flex;justify-content:center;background:#b5b5b5;color:#fff;border:.2em solid #fff;z-index:1;overflow:hidden}.o-steps__details{background-color:#fff;text-align:center;z-index:1}.o-steps__nav-item-active .o-steps__link{cursor:default}.o-steps__nav-item-active .o-steps__marker{background-color:#fff;border-color:#445e00;color:#445e00}.o-steps__nav-item-active .o-steps__divider{background-position:left bottom}.o-steps__nav-item-previous .o-steps__marker{color:#fff;background-color:#445e00}.o-steps__nav-item-previous .o-steps__divider{background-position:left bottom}.o-steps__item{flex-shrink:0;flex-basis:auto}.o-steps__wrapper-vertical{display:flex;flex-direction:row;flex-wrap:wrap}.o-steps__wrapper-vertical .o-steps{height:100%;flex-direction:column}.o-steps__wrapper-vertical .o-steps__divider{height:100%;top:-50%;left:calc(50% - .1em)}.o-steps__wrapper-vertical .o-steps__item-active .o-steps__divider,.o-steps__wrapper-vertical .o-steps__item-previous .o-steps__divider{background-position:right top}.o-steps__wrapper-vertical .o-steps__nav-item{width:100%;display:flex;align-items:center;justify-content:center}.o-steps__wrapper-vertical .o-steps__content{flex-grow:1;flex-basis:70%}.o-steps__wrapper-vertical .o-steps__navigation{flex-basis:100%}.o-steps__wrapper-vertical.o-steps__wrapper-position-right{flex-direction:row-reverse}.o-steps--mobile .o-steps__title{display:none;padding:0}.o-switch{cursor:pointer;display:inline-flex;align-items:center;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-switch--left{flex-direction:row-reverse}.o-switch--left .o-switch__label{margin-left:0}.o-switch__check-switch{content:"";display:block;height:1.175em;width:1.175em;background:#f5f5f5;transition-property:transform;will-change:transform;transform-origin:left}.o-switch__check{display:flex;align-items:center;flex-shrink:0;width:2.75em;height:1.575em;padding:.2em;background:#b5b5b5;transition-property:background}.o-switch__check--checked{background:#445e00}.o-switch__check--checked .o-switch__check-switch{transform:translate3d(100%,0,0)}.o-switch__input{position:absolute;left:0;opacity:0;z-index:-1}.o-switch--rounded{border-radius:9999px}.o-switch--disabled{opacity:.5}.o-table{display:table;width:100%;border-collapse:separate;border-spacing:0}.o-table__root{position:relative}.o-table__wrapper{transition:opacity .3s ease-out;position:relative}.o-table__wrapper--sticky-header{overflow-y:auto}.o-table__wrapper--sticky-header th{position:-webkit-sticky;position:sticky;left:0;top:0}.o-table__wrapper--scrollable{-webkit-overflow-scrolling:touch;overflow-x:auto;max-width:100%}.o-table__wrapper--mobile{overflow-x:auto}.o-table__wrapper--mobile .o-table__mobile-sort{display:block}.o-table__wrapper--mobile .o-table{background-color:transparent}.o-table__wrapper--mobile thead tr{box-shadow:none;border-width:0}.o-table__wrapper--mobile thead tr th{display:none}.o-table__wrapper--mobile thead tr .o-table-th-checkbox{display:block;width:100%;text-align:right;border:0}.o-table__wrapper--mobile tfoot th{border:0;display:inherit}.o-table__wrapper--mobile tr{max-width:100%;position:relative;display:block}.o-table__wrapper--mobile tr td{border:0;display:inherit}.o-table__wrapper--mobile tr td:last-child{border-bottom:0}.o-table__wrapper--mobile tr:not(.o-table__tr--selected){background:inherit;background:#fff}.o-table__wrapper--mobile tr:not(.o-table__tr--selected):hover{background-color:inherit;background-color:#fff}.o-table__wrapper--mobile tr:not(.o-table--detailed):not(.o-table--empty):not(.o-table__footer) td{display:flex;width:auto;justify-content:space-between;text-align:right}.o-table__wrapper--mobile tr:not(.o-table--detailed):not(.o-table--empty):not(.o-table__footer) td:before{content:attr(data-label)}.o-table__mobile-sort{display:none}.o-table__th{vertical-align:top;text-align:left;position:relative}.o-table__th--centered{text-align:center}.o-table__th--right{text-align:right}.o-table__th__sort-icon{position:absolute;right:0}.o-table__th--sortable{cursor:pointer}.o-table__th--sticky{position:-webkit-sticky;position:sticky;left:0;top:0}.o-table__th--unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-table__td{vertical-align:top;text-align:left}.o-table__td--sticky{position:-webkit-sticky;position:sticky;left:0}.o-table__td--right{text-align:right}.o-table__td--centered{text-align:center}.o-table__td-chevron{vertical-align:middle}.o-table__tr--selected{background-color:#445e00;color:#fff}.o-table__pagination{align-items:center;justify-content:space-between;display:flex}.o-table__pagination>div:first-child{align-items:center;justify-content:flex-start}.o-table__pagination>div:last-child{align-items:center;justify-content:flex-end}.o-table__pagination>div:last-child>div{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.o-table__pagination>div{flex-basis:auto;flex-grow:0;flex-shrink:0}.o-tabs--fullwidth{width:100%}.o-tabs--fullwidth .o-tabs__nav-item-wrapper{flex-grow:1;flex-shrink:0}.o-tabs--fullwidth .o-tabs__nav-item-default,.o-tabs--fullwidth .o-tabs__nav-item-boxed,.o-tabs--fullwidth .o-tabs__nav-item-toggle{height:100%}.o-tabs--vertical{display:flex;flex-direction:row}.o-tabs--vertical .o-tabs__nav{flex-direction:column;align-items:stretch;flex-grow:0;border-bottom:none}.o-tabs--vertical .o-tabs__nav-item-boxed{border-bottom-color:transparent}.o-tabs--vertical .o-tabs__nav-item-boxed--active{border-right-color:transparent}.o-tabs--right{flex-direction:row-reverse}.o-tabs--right .o-tabs__nav-item-boxed{border-bottom-color:transparent;border-right-color:transparent}.o-tabs--right .o-tabs__nav-item-boxed--active{border-left-color:transparent}.o-tabs__nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0;align-items:center;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start;overflow-x:auto}.o-tabs__nav--centered{justify-content:center}.o-tabs__nav--right{justify-content:flex-end}.o-tabs__nav-item-default{-moz-appearance:none;-webkit-appearance:none;width:100%;margin:0 0 -1px;padding:0;border:1px solid transparent;background-color:transparent;align-items:center;line-height:1.5;color:#4a4a4a;display:flex;justify-content:center;vertical-align:top;cursor:pointer;text-decoration:none}.o-tabs__nav-item-default--active{border-bottom-color:#445e00;color:#445e00}.o-tabs__nav-item-default--disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.o-tabs__nav-item-boxed{-moz-appearance:none;-webkit-appearance:none;width:100%;margin:0 0 -1px;padding:0;border:1px solid transparent;background-color:transparent;align-items:center;line-height:1.5;color:#4a4a4a;display:flex;justify-content:center;vertical-align:top;cursor:pointer;text-decoration:none;border-bottom-color:transparent}.o-tabs__nav-item-boxed--active{border-bottom-color:#445e00;color:#445e00}.o-tabs__nav-item-boxed--disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.o-tabs__nav-item-toggle{-moz-appearance:none;-webkit-appearance:none;width:100%;margin:0;padding:0;border:1px solid transparent;background-color:transparent;align-items:center;line-height:1.5;color:#4a4a4a;display:flex;justify-content:center;vertical-align:top;cursor:pointer;text-decoration:none;position:relative}.o-tabs__nav-item-toggle--disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.o-tabs__content{position:relative;overflow:visible;display:flex;flex-direction:column;flex-grow:1}.o-tabs__content--transitioning{overflow:hidden}.o-tpck__dropdown{width:100%}.o-tpck__box{display:flex;justify-content:center;align-items:center}.o-tpck__select{-moz-appearance:none;-webkit-appearance:none;display:inline-block;position:relative;vertical-align:top;cursor:pointer;justify-content:flex-start;align-items:center;border:0;font-size:inherit}.o-tpck__select-placeholder{opacity:.5}.o-tip{position:relative;display:inline-flex}.o-tip__arrow--top{top:100%;right:auto;bottom:auto;left:50%;transform:translate(-50%);border-top-style:solid;border-top-width:5px;border-right-style:solid;border-right-color:transparent;border-left-style:solid;border-left-color:transparent;border-right-width:5px;border-left-width:5px}.o-tip__content--top{top:auto;right:auto;bottom:calc(7px + 100%);left:50%;transform:translate(-50%)}.o-tip__arrow--right{top:50%;right:100%;bottom:auto;left:auto;transform:translateY(-50%);border-right-style:solid;border-right-width:5px;border-top-style:solid;border-top-color:transparent;border-bottom-style:solid;border-bottom-color:transparent;border-top-width:5px;border-bottom-width:5px}.o-tip__content--right{top:50%;right:auto;bottom:auto;left:calc(7px + 100%);transform:translateY(-50%)}.o-tip__arrow--bottom{top:auto;right:auto;bottom:100%;left:50%;transform:translate(-50%);border-bottom-style:solid;border-bottom-width:5px;border-right-style:solid;border-right-color:transparent;border-left-style:solid;border-left-color:transparent;border-right-width:5px;border-left-width:5px}.o-tip__content--bottom{top:calc(7px + 100%);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.o-tip__arrow--left{top:50%;right:auto;bottom:auto;left:100%;transform:translateY(-50%);border-left-style:solid;border-left-width:5px;border-top-style:solid;border-top-color:transparent;border-bottom-style:solid;border-bottom-color:transparent;border-top-width:5px;border-bottom-width:5px}.o-tip__content--left{top:50%;right:calc(7px + 100%);bottom:auto;left:auto;transform:translateY(-50%)}.o-tip__arrow{position:absolute;content:"";pointer-events:none;z-index:38;color:#445e00}.o-tip__content{position:absolute;white-space:nowrap;z-index:38;background-color:#445e00}.o-tip__content--always{opacity:1;visibility:visible}.o-tip__content--multiline{text-align:center;white-space:normal}.o-tip__trigger{width:100%}.o-upl{position:relative;display:inline-flex}.o-upl--disabled{cursor:not-allowed}.o-upl--expanded{width:100%}.o-upl__draggable{cursor:pointer;width:100%}.o-upl input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:-1}.modal-close:before,.delete:before,.modal-close:after,.delete:after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}code,pre{border-radius:6px}.has-border-top-shade-3{border-top:2px solid #282e33!important}.has-border-left-shade-3{border-left:2px solid #282e33!important}.has-border-bottom-shade-3{border-bottom:2px solid #282e33!important}.has-border-right-shade-3{border-right:2px solid #282e33!important}/*! bulma.io v0.9.4 | MIT License | github.com/jgthms/bulma */.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.file-cta,.file-name,.select select,.taginput .taginput-container.is-focusable,.textarea,.input,.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(.5em - 1px);padding-left:calc(.75em - 1px);padding-right:calc(.75em - 1px);padding-top:calc(.5em - 1px);position:relative;vertical-align:top}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus,.pagination-ellipsis:focus,.file-cta:focus,.file-name:focus,.select select:focus,.taginput .taginput-container.is-focusable:focus,.textarea:focus,.input:focus,.button:focus,.is-focused.pagination-previous,.is-focused.pagination-next,.is-focused.pagination-link,.is-focused.pagination-ellipsis,.is-focused.file-cta,.is-focused.file-name,.select select.is-focused,.taginput .is-focused.taginput-container.is-focusable,.is-focused.textarea,.is-focused.input,.is-focused.button,.pagination-previous:active,.pagination-next:active,.pagination-link:active,.pagination-ellipsis:active,.file-cta:active,.file-name:active,.select select:active,.taginput .taginput-container.is-focusable:active,.textarea:active,.input:active,.button:active,.is-active.pagination-previous,.is-active.pagination-next,.is-active.pagination-link,.is-active.pagination-ellipsis,.is-active.file-cta,.is-active.file-name,.select select.is-active,.taginput .is-active.taginput-container.is-focusable,.is-active.textarea,.is-active.input,.is-active.button{outline:none}[disabled].pagination-previous,[disabled].pagination-next,[disabled].pagination-link,[disabled].pagination-ellipsis,[disabled].file-cta,[disabled].file-name,.select select[disabled],.taginput [disabled].taginput-container.is-focusable,[disabled].textarea,[disabled].input,[disabled].button,fieldset[disabled] .pagination-previous,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .taginput .taginput-container.is-focusable,.taginput fieldset[disabled] .taginput-container.is-focusable,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] .button{cursor:not-allowed}.carousel,.b-radio.radio,.b-checkbox.checkbox,.switch,.is-unselectable,.tabs,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.breadcrumb,.file,.button{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless):after,.select:not(.is-multiple):not(.is-loading):after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:.625em}.tabs:not(:last-child),.pagination:not(:last-child),.message:not(:last-child),.level:not(:last-child),.breadcrumb:not(:last-child),.block:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.progress:not(:last-child),.notification:not(:last-child),.content:not(:last-child),.box:not(:last-child){margin-bottom:1.5rem}.modal-close,.delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-moz-appearance:none;-webkit-appearance:none;background-color:#0a0a0a33;border:none;border-radius:9999px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.modal-close:before,.delete:before,.modal-close:after,.delete:after{background-color:#18191d;content:"";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.modal-close:before,.delete:before{height:2px;width:50%}.modal-close:after,.delete:after{height:50%;width:2px}.modal-close:hover,.delete:hover,.modal-close:focus,.delete:focus{background-color:#0a0a0a4d}.modal-close:active,.delete:active{background-color:#0a0a0a66}.is-small.modal-close,.is-small.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.modal-close,.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.modal-close,.is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.control.is-loading:after,.select.is-loading:after,.loader,.button.is-loading:after{animation:spinAround .5s infinite linear;border:2px solid hsl(0,0%,86%);border-radius:9999px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.is-overlay,.modal-background,.modal,.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio{bottom:0;left:0;position:absolute;right:0;top:0}.navbar-burger{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0}/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}html{background-color:#18191d;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,optgroup,select,textarea{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#fff;font-size:1em;font-weight:400;line-height:1.5}a{color:#2da192;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#39c8b5}code{background-color:#282e33;color:#ffedbd;font-size:.875em;font-weight:400;padding:.25em .5em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#f2f2f2;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#33393f;color:#fff;font-size:.875em;overflow-x:auto;padding:1rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:inherit}table th{color:#f2f2f2}@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.box{background-color:#18191d;border-radius:6px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;color:#fff;display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #2da192}a.box:active{box-shadow:inset 0 1px 2px #0a0a0a33,0 0 0 1px #2da192}.button{background-color:#18191d;border-color:#242424;border-width:1px;color:#f2f2f2;cursor:pointer;justify-content:center;padding-bottom:calc(.5em - 1px);padding-left:1em;padding-right:1em;padding-top:calc(.5em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-small,.button .icon.is-medium,.button .icon.is-large{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.5em - 1px);margin-right:calc(-.5em - 1px)}.button:hover,.button.is-hovered{border-color:#b5b5b5;color:#39c8b5}.button:focus,.button.is-focused{border-color:#2da192;color:#0a0a0a}.button:focus:not(:active),.button.is-focused:not(:active){box-shadow:0 0 0 .125em #2da19240}.button:active,.button.is-active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#fff;text-decoration:underline}.button.is-text:hover,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text.is-focused{background-color:#f5f5f5;color:#f2f2f2}.button.is-text:active,.button.is-text.is-active{background-color:#e8e8e8;color:#f2f2f2}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-ghost{background:none;border-color:transparent;color:#2da192;text-decoration:none}.button.is-ghost:hover,.button.is-ghost.is-hovered{color:#2da192;text-decoration:underline}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover,.button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white:focus,.button.is-white.is-focused{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active),.button.is-white.is-focused:not(:active){box-shadow:0 0 0 .125em #ffffff40}.button.is-white:active,.button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:#fff;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover,.button.is-white.is-inverted.is-hovered{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:hover,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-white.is-outlined.is-loading:hover:after,.button.is-white.is-outlined.is-loading.is-hovered:after,.button.is-white.is-outlined.is-loading:focus:after,.button.is-white.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:hover,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading:hover:after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-white.is-inverted.is-outlined.is-loading:focus:after,.button.is-white.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover,.button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus,.button.is-black.is-focused{border-color:transparent;color:#fff}.button.is-black:focus:not(:active),.button.is-black.is-focused:not(:active){box-shadow:0 0 0 .125em #0a0a0a40}.button.is-black:active,.button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:#0a0a0a;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover,.button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:hover,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-black.is-outlined.is-loading:hover:after,.button.is-black.is-outlined.is-loading.is-hovered:after,.button.is-black.is-outlined.is-loading:focus:after,.button.is-black.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:hover,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading:hover:after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-black.is-inverted.is-outlined.is-loading:focus:after,.button.is-black.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#000000b3}.button.is-light:hover,.button.is-light.is-hovered{background-color:#eee;border-color:transparent;color:#000000b3}.button.is-light:focus,.button.is-light.is-focused{border-color:transparent;color:#000000b3}.button.is-light:focus:not(:active),.button.is-light.is-focused:not(:active){box-shadow:0 0 0 .125em #f5f5f540}.button.is-light:active,.button.is-light.is-active{background-color:#e8e8e8;border-color:transparent;color:#000000b3}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none}.button.is-light.is-inverted{background-color:#000000b3;color:#f5f5f5}.button.is-light.is-inverted:hover,.button.is-light.is-inverted.is-hovered{background-color:#000000b3}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#000000b3;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:hover,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined.is-focused{background-color:#f5f5f5;border-color:#f5f5f5;color:#000000b3}.button.is-light.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,96%) hsl(0,0%,96%)!important}.button.is-light.is-outlined.is-loading:hover:after,.button.is-light.is-outlined.is-loading.is-hovered:after,.button.is-light.is-outlined.is-loading:focus:after,.button.is-light.is-outlined.is-loading.is-focused:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;color:#000000b3}.button.is-light.is-inverted.is-outlined:hover,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined.is-focused{background-color:#000000b3;color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading:hover:after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-light.is-inverted.is-outlined.is-loading:focus:after,.button.is-light.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,96%) hsl(0,0%,96%)!important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;box-shadow:none;color:#000000b3}.button.is-dark{background-color:#363636;border-color:transparent;color:#fff}.button.is-dark:hover,.button.is-dark.is-hovered{background-color:#2f2f2f;border-color:transparent;color:#fff}.button.is-dark:focus,.button.is-dark.is-focused{border-color:transparent;color:#fff}.button.is-dark:focus:not(:active),.button.is-dark.is-focused:not(:active){box-shadow:0 0 0 .125em #36363640}.button.is-dark:active,.button.is-dark.is-active{background-color:#292929;border-color:transparent;color:#fff}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:#363636;box-shadow:none}.button.is-dark.is-inverted{background-color:#fff;color:#363636}.button.is-dark.is-inverted:hover,.button.is-dark.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:hover,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined.is-focused{background-color:#363636;border-color:#363636;color:#fff}.button.is-dark.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,21%) hsl(0,0%,21%)!important}.button.is-dark.is-outlined.is-loading:hover:after,.button.is-dark.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-outlined.is-loading:focus:after,.button.is-dark.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-dark.is-inverted.is-outlined:hover,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined.is-focused{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading:hover:after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-inverted.is-outlined.is-loading:focus:after,.button.is-dark.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,21%) hsl(0,0%,21%)!important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary{background-color:#2da192;border-color:transparent;color:#fff}.button.is-primary:hover,.button.is-primary.is-hovered{background-color:#2a9789;border-color:transparent;color:#fff}.button.is-primary:focus,.button.is-primary.is-focused{border-color:transparent;color:#fff}.button.is-primary:focus:not(:active),.button.is-primary.is-focused:not(:active){box-shadow:0 0 0 .125em #2da19240}.button.is-primary:active,.button.is-primary.is-active{background-color:#278d80;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#2da192;border-color:#2da192;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#2da192}.button.is-primary.is-inverted:hover,.button.is-primary.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#2da192}.button.is-primary.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined{background-color:transparent;border-color:#2da192;color:#2da192}.button.is-primary.is-outlined:hover,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined.is-focused{background-color:#2da192;border-color:#2da192;color:#fff}.button.is-primary.is-outlined.is-loading:after{border-color:transparent transparent #2da192 #2da192!important}.button.is-primary.is-outlined.is-loading:hover:after,.button.is-primary.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-outlined.is-loading:focus:after,.button.is-primary.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#2da192;box-shadow:none;color:#2da192}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:hover,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined.is-focused{background-color:#fff;color:#2da192}.button.is-primary.is-inverted.is-outlined.is-loading:hover:after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-inverted.is-outlined.is-loading:focus:after,.button.is-primary.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #2da192 #2da192!important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#3e8ed0;border-color:transparent;color:#fff}.button.is-info:hover,.button.is-info.is-hovered{background-color:#3488ce;border-color:transparent;color:#fff}.button.is-info:focus,.button.is-info.is-focused{border-color:transparent;color:#fff}.button.is-info:focus:not(:active),.button.is-info.is-focused:not(:active){box-shadow:0 0 0 .125em #3e8ed040}.button.is-info:active,.button.is-info.is-active{background-color:#3082c5;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#3e8ed0;border-color:#3e8ed0;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#3e8ed0}.button.is-info.is-inverted:hover,.button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3e8ed0}.button.is-info.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined{background-color:transparent;border-color:#3e8ed0;color:#3e8ed0}.button.is-info.is-outlined:hover,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined.is-focused{background-color:#3e8ed0;border-color:#3e8ed0;color:#fff}.button.is-info.is-outlined.is-loading:after{border-color:transparent transparent hsl(207,61%,53%) hsl(207,61%,53%)!important}.button.is-info.is-outlined.is-loading:hover:after,.button.is-info.is-outlined.is-loading.is-hovered:after,.button.is-info.is-outlined.is-loading:focus:after,.button.is-info.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#3e8ed0;box-shadow:none;color:#3e8ed0}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:hover,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#3e8ed0}.button.is-info.is-inverted.is-outlined.is-loading:hover:after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-info.is-inverted.is-outlined.is-loading:focus:after,.button.is-info.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(207,61%,53%) hsl(207,61%,53%)!important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#48c78e;border-color:transparent;color:#fff}.button.is-success:hover,.button.is-success.is-hovered{background-color:#3ec487;border-color:transparent;color:#fff}.button.is-success:focus,.button.is-success.is-focused{border-color:transparent;color:#fff}.button.is-success:focus:not(:active),.button.is-success.is-focused:not(:active){box-shadow:0 0 0 .125em #48c78e40}.button.is-success:active,.button.is-success.is-active{background-color:#3abb81;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#48c78e;border-color:#48c78e;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#48c78e}.button.is-success.is-inverted:hover,.button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#48c78e}.button.is-success.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined{background-color:transparent;border-color:#48c78e;color:#48c78e}.button.is-success.is-outlined:hover,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined.is-focused{background-color:#48c78e;border-color:#48c78e;color:#fff}.button.is-success.is-outlined.is-loading:after{border-color:transparent transparent hsl(153,53%,53%) hsl(153,53%,53%)!important}.button.is-success.is-outlined.is-loading:hover:after,.button.is-success.is-outlined.is-loading.is-hovered:after,.button.is-success.is-outlined.is-loading:focus:after,.button.is-success.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#48c78e;box-shadow:none;color:#48c78e}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:hover,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#48c78e}.button.is-success.is-inverted.is-outlined.is-loading:hover:after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-success.is-inverted.is-outlined.is-loading:focus:after,.button.is-success.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(153,53%,53%) hsl(153,53%,53%)!important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffe08a;border-color:transparent;color:#000000b3}.button.is-warning:hover,.button.is-warning.is-hovered{background-color:#ffdc7d;border-color:transparent;color:#000000b3}.button.is-warning:focus,.button.is-warning.is-focused{border-color:transparent;color:#000000b3}.button.is-warning:focus:not(:active),.button.is-warning.is-focused:not(:active){box-shadow:0 0 0 .125em #ffe08a40}.button.is-warning:active,.button.is-warning.is-active{background-color:#ffd970;border-color:transparent;color:#000000b3}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffe08a;border-color:#ffe08a;box-shadow:none}.button.is-warning.is-inverted{background-color:#000000b3;color:#ffe08a}.button.is-warning.is-inverted:hover,.button.is-warning.is-inverted.is-hovered{background-color:#000000b3}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:#000000b3;border-color:transparent;box-shadow:none;color:#ffe08a}.button.is-warning.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;color:#ffe08a}.button.is-warning.is-outlined:hover,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined.is-focused{background-color:#ffe08a;border-color:#ffe08a;color:#000000b3}.button.is-warning.is-outlined.is-loading:after{border-color:transparent transparent hsl(44,100%,77%) hsl(44,100%,77%)!important}.button.is-warning.is-outlined.is-loading:hover:after,.button.is-warning.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-outlined.is-loading:focus:after,.button.is-warning.is-outlined.is-loading.is-focused:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;box-shadow:none;color:#ffe08a}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;color:#000000b3}.button.is-warning.is-inverted.is-outlined:hover,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined.is-focused{background-color:#000000b3;color:#ffe08a}.button.is-warning.is-inverted.is-outlined.is-loading:hover:after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-inverted.is-outlined.is-loading:focus:after,.button.is-warning.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(44,100%,77%) hsl(44,100%,77%)!important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;box-shadow:none;color:#000000b3}.button.is-danger{background-color:#f14668;border-color:transparent;color:#fff}.button.is-danger:hover,.button.is-danger.is-hovered{background-color:#f03a5f;border-color:transparent;color:#fff}.button.is-danger:focus,.button.is-danger.is-focused{border-color:transparent;color:#fff}.button.is-danger:focus:not(:active),.button.is-danger.is-focused:not(:active){box-shadow:0 0 0 .125em #f1466840}.button.is-danger:active,.button.is-danger.is-active{background-color:#ef2e55;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#f14668;border-color:#f14668;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#f14668}.button.is-danger.is-inverted:hover,.button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#f14668}.button.is-danger.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined{background-color:transparent;border-color:#f14668;color:#f14668}.button.is-danger.is-outlined:hover,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined.is-focused{background-color:#f14668;border-color:#f14668;color:#fff}.button.is-danger.is-outlined.is-loading:after{border-color:transparent transparent hsl(348,86%,61%) hsl(348,86%,61%)!important}.button.is-danger.is-outlined.is-loading:hover:after,.button.is-danger.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-outlined.is-loading:focus:after,.button.is-danger.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#f14668;box-shadow:none;color:#f14668}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:hover,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#f14668}.button.is-danger.is-inverted.is-outlined.is-loading:hover:after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-inverted.is-outlined.is-loading:focus:after,.button.is-danger.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(348,86%,61%) hsl(348,86%,61%)!important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-1{background-color:#3d444b;border-color:transparent;color:#fff}.button.is-shade-1:hover,.button.is-shade-1.is-hovered{background-color:#373e44;border-color:transparent;color:#fff}.button.is-shade-1:focus,.button.is-shade-1.is-focused{border-color:transparent;color:#fff}.button.is-shade-1:focus:not(:active),.button.is-shade-1.is-focused:not(:active){box-shadow:0 0 0 .125em #3d444b40}.button.is-shade-1:active,.button.is-shade-1.is-active{background-color:#32373d;border-color:transparent;color:#fff}.button.is-shade-1[disabled],fieldset[disabled] .button.is-shade-1{background-color:#3d444b;border-color:#3d444b;box-shadow:none}.button.is-shade-1.is-inverted{background-color:#fff;color:#3d444b}.button.is-shade-1.is-inverted:hover,.button.is-shade-1.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-1.is-inverted[disabled],fieldset[disabled] .button.is-shade-1.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3d444b}.button.is-shade-1.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-1.is-outlined{background-color:transparent;border-color:#3d444b;color:#3d444b}.button.is-shade-1.is-outlined:hover,.button.is-shade-1.is-outlined.is-hovered,.button.is-shade-1.is-outlined:focus,.button.is-shade-1.is-outlined.is-focused{background-color:#3d444b;border-color:#3d444b;color:#fff}.button.is-shade-1.is-outlined.is-loading:after{border-color:transparent transparent #3d444b #3d444b!important}.button.is-shade-1.is-outlined.is-loading:hover:after,.button.is-shade-1.is-outlined.is-loading.is-hovered:after,.button.is-shade-1.is-outlined.is-loading:focus:after,.button.is-shade-1.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-1.is-outlined[disabled],fieldset[disabled] .button.is-shade-1.is-outlined{background-color:transparent;border-color:#3d444b;box-shadow:none;color:#3d444b}.button.is-shade-1.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-1.is-inverted.is-outlined:hover,.button.is-shade-1.is-inverted.is-outlined.is-hovered,.button.is-shade-1.is-inverted.is-outlined:focus,.button.is-shade-1.is-inverted.is-outlined.is-focused{background-color:#fff;color:#3d444b}.button.is-shade-1.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-1.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-1.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-1.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #3d444b #3d444b!important}.button.is-shade-1.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-1.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-2{background-color:#33393f;border-color:transparent;color:#fff}.button.is-shade-2:hover,.button.is-shade-2.is-hovered{background-color:#2d3338;border-color:transparent;color:#fff}.button.is-shade-2:focus,.button.is-shade-2.is-focused{border-color:transparent;color:#fff}.button.is-shade-2:focus:not(:active),.button.is-shade-2.is-focused:not(:active){box-shadow:0 0 0 .125em #33393f40}.button.is-shade-2:active,.button.is-shade-2.is-active{background-color:#282c31;border-color:transparent;color:#fff}.button.is-shade-2[disabled],fieldset[disabled] .button.is-shade-2{background-color:#33393f;border-color:#33393f;box-shadow:none}.button.is-shade-2.is-inverted{background-color:#fff;color:#33393f}.button.is-shade-2.is-inverted:hover,.button.is-shade-2.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-2.is-inverted[disabled],fieldset[disabled] .button.is-shade-2.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#33393f}.button.is-shade-2.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-2.is-outlined{background-color:transparent;border-color:#33393f;color:#33393f}.button.is-shade-2.is-outlined:hover,.button.is-shade-2.is-outlined.is-hovered,.button.is-shade-2.is-outlined:focus,.button.is-shade-2.is-outlined.is-focused{background-color:#33393f;border-color:#33393f;color:#fff}.button.is-shade-2.is-outlined.is-loading:after{border-color:transparent transparent #33393f #33393f!important}.button.is-shade-2.is-outlined.is-loading:hover:after,.button.is-shade-2.is-outlined.is-loading.is-hovered:after,.button.is-shade-2.is-outlined.is-loading:focus:after,.button.is-shade-2.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-2.is-outlined[disabled],fieldset[disabled] .button.is-shade-2.is-outlined{background-color:transparent;border-color:#33393f;box-shadow:none;color:#33393f}.button.is-shade-2.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-2.is-inverted.is-outlined:hover,.button.is-shade-2.is-inverted.is-outlined.is-hovered,.button.is-shade-2.is-inverted.is-outlined:focus,.button.is-shade-2.is-inverted.is-outlined.is-focused{background-color:#fff;color:#33393f}.button.is-shade-2.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-2.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-2.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-2.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #33393f #33393f!important}.button.is-shade-2.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-2.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-3{background-color:#282e33;border-color:transparent;color:#fff}.button.is-shade-3:hover,.button.is-shade-3.is-hovered{background-color:#22282c;border-color:transparent;color:#fff}.button.is-shade-3:focus,.button.is-shade-3.is-focused{border-color:transparent;color:#fff}.button.is-shade-3:focus:not(:active),.button.is-shade-3.is-focused:not(:active){box-shadow:0 0 0 .125em #282e3340}.button.is-shade-3:active,.button.is-shade-3.is-active{background-color:#1d2125;border-color:transparent;color:#fff}.button.is-shade-3[disabled],fieldset[disabled] .button.is-shade-3{background-color:#282e33;border-color:#282e33;box-shadow:none}.button.is-shade-3.is-inverted{background-color:#fff;color:#282e33}.button.is-shade-3.is-inverted:hover,.button.is-shade-3.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-3.is-inverted[disabled],fieldset[disabled] .button.is-shade-3.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#282e33}.button.is-shade-3.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-3.is-outlined{background-color:transparent;border-color:#282e33;color:#282e33}.button.is-shade-3.is-outlined:hover,.button.is-shade-3.is-outlined.is-hovered,.button.is-shade-3.is-outlined:focus,.button.is-shade-3.is-outlined.is-focused{background-color:#282e33;border-color:#282e33;color:#fff}.button.is-shade-3.is-outlined.is-loading:after{border-color:transparent transparent #282e33 #282e33!important}.button.is-shade-3.is-outlined.is-loading:hover:after,.button.is-shade-3.is-outlined.is-loading.is-hovered:after,.button.is-shade-3.is-outlined.is-loading:focus:after,.button.is-shade-3.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-3.is-outlined[disabled],fieldset[disabled] .button.is-shade-3.is-outlined{background-color:transparent;border-color:#282e33;box-shadow:none;color:#282e33}.button.is-shade-3.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-3.is-inverted.is-outlined:hover,.button.is-shade-3.is-inverted.is-outlined.is-hovered,.button.is-shade-3.is-inverted.is-outlined:focus,.button.is-shade-3.is-inverted.is-outlined.is-focused{background-color:#fff;color:#282e33}.button.is-shade-3.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-3.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-3.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-3.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #282e33 #282e33!important}.button.is-shade-3.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-3.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-4{background-color:#18191d;border-color:transparent;color:#fff}.button.is-shade-4:hover,.button.is-shade-4.is-hovered{background-color:#121316;border-color:transparent;color:#fff}.button.is-shade-4:focus,.button.is-shade-4.is-focused{border-color:transparent;color:#fff}.button.is-shade-4:focus:not(:active),.button.is-shade-4.is-focused:not(:active){box-shadow:0 0 0 .125em #18191d40}.button.is-shade-4:active,.button.is-shade-4.is-active{background-color:#0c0d0f;border-color:transparent;color:#fff}.button.is-shade-4[disabled],fieldset[disabled] .button.is-shade-4{background-color:#18191d;border-color:#18191d;box-shadow:none}.button.is-shade-4.is-inverted{background-color:#fff;color:#18191d}.button.is-shade-4.is-inverted:hover,.button.is-shade-4.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-4.is-inverted[disabled],fieldset[disabled] .button.is-shade-4.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#18191d}.button.is-shade-4.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-4.is-outlined{background-color:transparent;border-color:#18191d;color:#18191d}.button.is-shade-4.is-outlined:hover,.button.is-shade-4.is-outlined.is-hovered,.button.is-shade-4.is-outlined:focus,.button.is-shade-4.is-outlined.is-focused{background-color:#18191d;border-color:#18191d;color:#fff}.button.is-shade-4.is-outlined.is-loading:after{border-color:transparent transparent #18191d #18191d!important}.button.is-shade-4.is-outlined.is-loading:hover:after,.button.is-shade-4.is-outlined.is-loading.is-hovered:after,.button.is-shade-4.is-outlined.is-loading:focus:after,.button.is-shade-4.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-4.is-outlined[disabled],fieldset[disabled] .button.is-shade-4.is-outlined{background-color:transparent;border-color:#18191d;box-shadow:none;color:#18191d}.button.is-shade-4.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-4.is-inverted.is-outlined:hover,.button.is-shade-4.is-inverted.is-outlined.is-hovered,.button.is-shade-4.is-inverted.is-outlined:focus,.button.is-shade-4.is-inverted.is-outlined.is-focused{background-color:#fff;color:#18191d}.button.is-shade-4.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-4.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-4.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-4.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #18191d #18191d!important}.button.is-shade-4.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-4.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small{font-size:.75rem}.button.is-small:not(.is-rounded){border-radius:2px}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#18191d;border-color:#242424;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent!important;pointer-events:none}.button.is-loading:after{position:absolute;left:calc(50% - .5em);top:calc(50% - .5em);position:absolute!important}.button.is-static{background-color:#f5f5f5;border-color:#242424;color:#fff;box-shadow:none;pointer-events:none}.button.is-rounded{border-radius:9999px;padding-left:1.25em;padding-right:1.25em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){font-size:.75rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded){border-radius:2px}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button:hover,.buttons.has-addons .button.is-hovered{z-index:2}.buttons.has-addons .button:focus,.buttons.has-addons .button.is-focused,.buttons.has-addons .button:active,.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-selected{z-index:3}.buttons.has-addons .button:focus:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-selected:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}@media screen and (max-width: 768px){.button.is-responsive.is-small{font-size:.5625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.65625rem}.button.is-responsive.is-medium{font-size:.75rem}.button.is-responsive.is-large{font-size:1rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.button.is-responsive.is-small{font-size:.65625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.75rem}.button.is-responsive.is-medium{font-size:1rem}.button.is-responsive.is-large{font-size:1.25rem}}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}.container.is-fluid{max-width:none!important;padding-left:32px;padding-right:32px;width:100%}@media screen and (min-width: 1024px){.container{max-width:960px}}@media screen and (max-width: 1215px){.container.is-widescreen:not(.is-max-desktop){max-width:1152px}}@media screen and (max-width: 1407px){.container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width: 1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width: 1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content p:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content ul:not(:last-child),.content blockquote:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#f2f2f2;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid hsl(0,0%,14%);padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1.25em 1.5em;white-space:pre;word-wrap:normal}.content sup,.content sub{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid hsl(0,0%,14%);border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.content table th{color:#f2f2f2}.content table th:not([align]){text-align:inherit}.content table thead td,.content table thead th{border-width:0 0 2px;color:#f2f2f2}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#f2f2f2}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-normal{font-size:1rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;line-height:1.5rem;vertical-align:top}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.25em}.icon-text .icon:not(:first-child){margin-left:.25em}div.icon-text{display:flex}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:9999px}.image.is-fullwidth{width:100%}.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio{height:100%;width:100%}.image.is-square,.image.is-1by1{padding-top:100%}.image.is-5by4{padding-top:80%}.image.is-4by3{padding-top:75%}.image.is-3by2{padding-top:66.6666%}.image.is-5by3{padding-top:60%}.image.is-16by9{padding-top:56.25%}.image.is-2by1{padding-top:50%}.image.is-3by1{padding-top:33.3333%}.image.is-4by5{padding-top:125%}.image.is-3by4{padding-top:133.3333%}.image.is-2by3{padding-top:150%}.image.is-3by5{padding-top:166.6666%}.image.is-9by16{padding-top:177.7777%}.image.is-1by2{padding-top:200%}.image.is-1by3{padding-top:300%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;position:relative;padding:1.25rem 2.5rem 1.25rem 1.5rem}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#18191d}.notification pre code{background:transparent}.notification>.delete{right:.5rem;position:absolute;top:.5rem}.notification .title,.notification .subtitle,.notification .content{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#000000b3}.notification.is-dark{background-color:#363636;color:#fff}.notification.is-primary{background-color:#2da192;color:#fff}.notification.is-info{background-color:#3e8ed0;color:#fff}.notification.is-success{background-color:#48c78e;color:#fff}.notification.is-warning{background-color:#ffe08a;color:#000000b3}.notification.is-danger{background-color:#f14668;color:#fff}.notification.is-shade-1{background-color:#3d444b;color:#fff}.notification.is-shade-2{background-color:#33393f;color:#fff}.notification.is-shade-3{background-color:#282e33;color:#fff}.notification.is-shade-4{background-color:#18191d;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#0a0a0a}.progress::-webkit-progress-value{background-color:#fff}.progress::-moz-progress-bar{background-color:#fff}.progress::-ms-fill{background-color:#fff;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,100%) 30%,hsl(0,0%,4%) 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,4%) 30%,hsl(0,0%,4%) 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,96%) 30%,hsl(0,0%,4%) 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,21%) 30%,hsl(0,0%,4%) 30%)}.progress.is-primary::-webkit-progress-value{background-color:#2da192}.progress.is-primary::-moz-progress-bar{background-color:#2da192}.progress.is-primary::-ms-fill{background-color:#2da192}.progress.is-primary:indeterminate{background-image:linear-gradient(to right,#2da192 30%,hsl(0,0%,4%) 30%)}.progress.is-info::-webkit-progress-value{background-color:#3e8ed0}.progress.is-info::-moz-progress-bar{background-color:#3e8ed0}.progress.is-info::-ms-fill{background-color:#3e8ed0}.progress.is-info:indeterminate{background-image:linear-gradient(to right,hsl(207,61%,53%) 30%,hsl(0,0%,4%) 30%)}.progress.is-success::-webkit-progress-value{background-color:#48c78e}.progress.is-success::-moz-progress-bar{background-color:#48c78e}.progress.is-success::-ms-fill{background-color:#48c78e}.progress.is-success:indeterminate{background-image:linear-gradient(to right,hsl(153,53%,53%) 30%,hsl(0,0%,4%) 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffe08a}.progress.is-warning::-moz-progress-bar{background-color:#ffe08a}.progress.is-warning::-ms-fill{background-color:#ffe08a}.progress.is-warning:indeterminate{background-image:linear-gradient(to right,hsl(44,100%,77%) 30%,hsl(0,0%,4%) 30%)}.progress.is-danger::-webkit-progress-value{background-color:#f14668}.progress.is-danger::-moz-progress-bar{background-color:#f14668}.progress.is-danger::-ms-fill{background-color:#f14668}.progress.is-danger:indeterminate{background-image:linear-gradient(to right,hsl(348,86%,61%) 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-1::-webkit-progress-value{background-color:#3d444b}.progress.is-shade-1::-moz-progress-bar{background-color:#3d444b}.progress.is-shade-1::-ms-fill{background-color:#3d444b}.progress.is-shade-1:indeterminate{background-image:linear-gradient(to right,#3d444b 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-2::-webkit-progress-value{background-color:#33393f}.progress.is-shade-2::-moz-progress-bar{background-color:#33393f}.progress.is-shade-2::-ms-fill{background-color:#33393f}.progress.is-shade-2:indeterminate{background-image:linear-gradient(to right,#33393f 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-3::-webkit-progress-value{background-color:#282e33}.progress.is-shade-3::-moz-progress-bar{background-color:#282e33}.progress.is-shade-3::-ms-fill{background-color:#282e33}.progress.is-shade-3:indeterminate{background-image:linear-gradient(to right,#282e33 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-4::-webkit-progress-value{background-color:#18191d}.progress.is-shade-4::-moz-progress-bar{background-color:#18191d}.progress.is-shade-4::-ms-fill{background-color:#18191d}.progress.is-shade-4:indeterminate{background-image:linear-gradient(to right,#18191d 30%,hsl(0,0%,4%) 30%)}.progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#0a0a0a;background-image:linear-gradient(to right,#fff 30%,hsl(0,0%,4%) 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#18191d;color:#f2f2f2}.table td,.table th{border:1px solid hsl(0,0%,14%);border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#000000b3}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#fff}.table td.is-primary,.table th.is-primary{background-color:#2da192;border-color:#2da192;color:#fff}.table td.is-info,.table th.is-info{background-color:#3e8ed0;border-color:#3e8ed0;color:#fff}.table td.is-success,.table th.is-success{background-color:#48c78e;border-color:#48c78e;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffe08a;border-color:#ffe08a;color:#000000b3}.table td.is-danger,.table th.is-danger{background-color:#f14668;border-color:#f14668;color:#fff}.table td.is-shade-1,.table th.is-shade-1{background-color:#3d444b;border-color:#3d444b;color:#fff}.table td.is-shade-2,.table th.is-shade-2{background-color:#33393f;border-color:#33393f;color:#fff}.table td.is-shade-3,.table th.is-shade-3{background-color:#282e33;border-color:#282e33;color:#fff}.table td.is-shade-4,.table th.is-shade-4{background-color:#18191d;border-color:#18191d;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#2da192;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:#f2f2f2}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#2da192;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#f2f2f2}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#f2f2f2}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#33393f}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#33393f}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(2n){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:#33393f}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:.5rem}.tags .tag:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:.25rem;margin-left:.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.tags.has-addons .tag:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#fff;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:#000000b3}.tag:not(body).is-dark{background-color:#363636;color:#fff}.tag:not(body).is-primary{background-color:#2da192;color:#fff}.tag:not(body).is-info{background-color:#3e8ed0;color:#fff}.tag:not(body).is-success{background-color:#48c78e;color:#fff}.tag:not(body).is-warning{background-color:#ffe08a;color:#000000b3}.tag:not(body).is-danger{background-color:#f14668;color:#fff}.tag:not(body).is-shade-1{background-color:#3d444b;color:#fff}.tag:not(body).is-shade-2{background-color:#33393f;color:#fff}.tag:not(body).is-shade-3{background-color:#282e33;color:#fff}.tag:not(body).is-shade-4{background-color:#18191d;color:#fff}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete:before,.tag:not(body).is-delete:after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag:not(body).is-delete:before{height:1px;width:50%}.tag:not(body).is-delete:after{height:50%;width:1px}.tag:not(body).is-delete:hover,.tag:not(body).is-delete:focus{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:9999px}a.tag:hover{text-decoration:underline}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sub,.subtitle sub,.title sup,.subtitle sup{font-size:.75em}.title .tag,.subtitle .tag{vertical-align:middle}.title{color:#f2f2f2;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#fff;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#f2f2f2;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.number{align-items:center;background-color:#f5f5f5;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.select select,.taginput .taginput-container.is-focusable,.textarea,.input{background-color:#3d444b;border-color:#242424;border-radius:4px;color:#f2f2f2}.select select::-moz-placeholder,.taginput .taginput-container.is-focusable::-moz-placeholder,.textarea::-moz-placeholder,.input::-moz-placeholder{color:#f2f2f24d}.select select::-webkit-input-placeholder,.taginput .taginput-container.is-focusable::-webkit-input-placeholder,.textarea::-webkit-input-placeholder,.input::-webkit-input-placeholder{color:#f2f2f24d}.select select:-moz-placeholder,.taginput .taginput-container.is-focusable:-moz-placeholder,.textarea:-moz-placeholder,.input:-moz-placeholder{color:#f2f2f24d}.select select:-ms-input-placeholder,.taginput .taginput-container.is-focusable:-ms-input-placeholder,.textarea:-ms-input-placeholder,.input:-ms-input-placeholder{color:#f2f2f24d}.select select:hover,.taginput .taginput-container.is-focusable:hover,.textarea:hover,.input:hover,.select select.is-hovered,.taginput .is-hovered.taginput-container.is-focusable,.is-hovered.textarea,.is-hovered.input{border-color:#121212}.select select:focus,.taginput .taginput-container.is-focusable:focus,.textarea:focus,.input:focus,.select select.is-focused,.taginput .is-focused.taginput-container.is-focusable,.is-focused.textarea,.is-focused.input,.select select:active,.taginput .taginput-container.is-focusable:active,.textarea:active,.input:active,.select select.is-active,.taginput .is-active.taginput-container.is-focusable,.is-active.textarea,.is-active.input{border-color:#2da192;box-shadow:0 0 0 .125em #2da19240}.select select[disabled],.taginput [disabled].taginput-container.is-focusable,[disabled].textarea,[disabled].input,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .taginput .taginput-container.is-focusable,.taginput fieldset[disabled] .taginput-container.is-focusable,fieldset[disabled] .textarea,fieldset[disabled] .input{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#fff}.select select[disabled]::-moz-placeholder,.taginput [disabled].taginput-container.is-focusable::-moz-placeholder,[disabled].textarea::-moz-placeholder,[disabled].input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable::-moz-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder{color:#ffffff4d}.select select[disabled]::-webkit-input-placeholder,.taginput [disabled].taginput-container.is-focusable::-webkit-input-placeholder,[disabled].textarea::-webkit-input-placeholder,[disabled].input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable::-webkit-input-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder{color:#ffffff4d}.select select[disabled]:-moz-placeholder,.taginput [disabled].taginput-container.is-focusable:-moz-placeholder,[disabled].textarea:-moz-placeholder,[disabled].input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable:-moz-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder{color:#ffffff4d}.select select[disabled]:-ms-input-placeholder,.taginput [disabled].taginput-container.is-focusable:-ms-input-placeholder,[disabled].textarea:-ms-input-placeholder,[disabled].input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable:-ms-input-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder{color:#ffffff4d}.taginput .taginput-container.is-focusable,.textarea,.input{box-shadow:inset 0 .0625em .125em #0a0a0a0d;max-width:100%;width:100%}.taginput [readonly].taginput-container.is-focusable,[readonly].textarea,[readonly].input{box-shadow:none}.taginput .is-white.taginput-container.is-focusable,.is-white.textarea,.is-white.input{border-color:#fff}.taginput .is-white.taginput-container.is-focusable:focus,.is-white.textarea:focus,.is-white.input:focus,.taginput .is-white.is-focused.taginput-container.is-focusable,.is-white.is-focused.textarea,.is-white.is-focused.input,.taginput .is-white.taginput-container.is-focusable:active,.is-white.textarea:active,.is-white.input:active,.taginput .is-white.is-active.taginput-container.is-focusable,.is-white.is-active.textarea,.is-white.is-active.input{box-shadow:0 0 0 .125em #ffffff40}.taginput .is-black.taginput-container.is-focusable,.is-black.textarea,.is-black.input{border-color:#0a0a0a}.taginput .is-black.taginput-container.is-focusable:focus,.is-black.textarea:focus,.is-black.input:focus,.taginput .is-black.is-focused.taginput-container.is-focusable,.is-black.is-focused.textarea,.is-black.is-focused.input,.taginput .is-black.taginput-container.is-focusable:active,.is-black.textarea:active,.is-black.input:active,.taginput .is-black.is-active.taginput-container.is-focusable,.is-black.is-active.textarea,.is-black.is-active.input{box-shadow:0 0 0 .125em #0a0a0a40}.taginput .is-light.taginput-container.is-focusable,.is-light.textarea,.is-light.input{border-color:#f5f5f5}.taginput .is-light.taginput-container.is-focusable:focus,.is-light.textarea:focus,.is-light.input:focus,.taginput .is-light.is-focused.taginput-container.is-focusable,.is-light.is-focused.textarea,.is-light.is-focused.input,.taginput .is-light.taginput-container.is-focusable:active,.is-light.textarea:active,.is-light.input:active,.taginput .is-light.is-active.taginput-container.is-focusable,.is-light.is-active.textarea,.is-light.is-active.input{box-shadow:0 0 0 .125em #f5f5f540}.taginput .is-dark.taginput-container.is-focusable,.is-dark.textarea,.is-dark.input{border-color:#363636}.taginput .is-dark.taginput-container.is-focusable:focus,.is-dark.textarea:focus,.is-dark.input:focus,.taginput .is-dark.is-focused.taginput-container.is-focusable,.is-dark.is-focused.textarea,.is-dark.is-focused.input,.taginput .is-dark.taginput-container.is-focusable:active,.is-dark.textarea:active,.is-dark.input:active,.taginput .is-dark.is-active.taginput-container.is-focusable,.is-dark.is-active.textarea,.is-dark.is-active.input{box-shadow:0 0 0 .125em #36363640}.taginput .is-primary.taginput-container.is-focusable,.is-primary.textarea,.is-primary.input{border-color:#2da192}.taginput .is-primary.taginput-container.is-focusable:focus,.is-primary.textarea:focus,.is-primary.input:focus,.taginput .is-primary.is-focused.taginput-container.is-focusable,.is-primary.is-focused.textarea,.is-primary.is-focused.input,.taginput .is-primary.taginput-container.is-focusable:active,.is-primary.textarea:active,.is-primary.input:active,.taginput .is-primary.is-active.taginput-container.is-focusable,.is-primary.is-active.textarea,.is-primary.is-active.input{box-shadow:0 0 0 .125em #2da19240}.taginput .is-info.taginput-container.is-focusable,.is-info.textarea,.is-info.input{border-color:#3e8ed0}.taginput .is-info.taginput-container.is-focusable:focus,.is-info.textarea:focus,.is-info.input:focus,.taginput .is-info.is-focused.taginput-container.is-focusable,.is-info.is-focused.textarea,.is-info.is-focused.input,.taginput .is-info.taginput-container.is-focusable:active,.is-info.textarea:active,.is-info.input:active,.taginput .is-info.is-active.taginput-container.is-focusable,.is-info.is-active.textarea,.is-info.is-active.input{box-shadow:0 0 0 .125em #3e8ed040}.taginput .is-success.taginput-container.is-focusable,.is-success.textarea,.is-success.input{border-color:#48c78e}.taginput .is-success.taginput-container.is-focusable:focus,.is-success.textarea:focus,.is-success.input:focus,.taginput .is-success.is-focused.taginput-container.is-focusable,.is-success.is-focused.textarea,.is-success.is-focused.input,.taginput .is-success.taginput-container.is-focusable:active,.is-success.textarea:active,.is-success.input:active,.taginput .is-success.is-active.taginput-container.is-focusable,.is-success.is-active.textarea,.is-success.is-active.input{box-shadow:0 0 0 .125em #48c78e40}.taginput .is-warning.taginput-container.is-focusable,.is-warning.textarea,.is-warning.input{border-color:#ffe08a}.taginput .is-warning.taginput-container.is-focusable:focus,.is-warning.textarea:focus,.is-warning.input:focus,.taginput .is-warning.is-focused.taginput-container.is-focusable,.is-warning.is-focused.textarea,.is-warning.is-focused.input,.taginput .is-warning.taginput-container.is-focusable:active,.is-warning.textarea:active,.is-warning.input:active,.taginput .is-warning.is-active.taginput-container.is-focusable,.is-warning.is-active.textarea,.is-warning.is-active.input{box-shadow:0 0 0 .125em #ffe08a40}.taginput .is-danger.taginput-container.is-focusable,.is-danger.textarea,.is-danger.input{border-color:#f14668}.taginput .is-danger.taginput-container.is-focusable:focus,.is-danger.textarea:focus,.is-danger.input:focus,.taginput .is-danger.is-focused.taginput-container.is-focusable,.is-danger.is-focused.textarea,.is-danger.is-focused.input,.taginput .is-danger.taginput-container.is-focusable:active,.is-danger.textarea:active,.is-danger.input:active,.taginput .is-danger.is-active.taginput-container.is-focusable,.is-danger.is-active.textarea,.is-danger.is-active.input{box-shadow:0 0 0 .125em #f1466840}.taginput .is-shade-1.taginput-container.is-focusable,.is-shade-1.textarea,.is-shade-1.input{border-color:#3d444b}.taginput .is-shade-1.taginput-container.is-focusable:focus,.is-shade-1.textarea:focus,.is-shade-1.input:focus,.taginput .is-shade-1.is-focused.taginput-container.is-focusable,.is-shade-1.is-focused.textarea,.is-shade-1.is-focused.input,.taginput .is-shade-1.taginput-container.is-focusable:active,.is-shade-1.textarea:active,.is-shade-1.input:active,.taginput .is-shade-1.is-active.taginput-container.is-focusable,.is-shade-1.is-active.textarea,.is-shade-1.is-active.input{box-shadow:0 0 0 .125em #3d444b40}.taginput .is-shade-2.taginput-container.is-focusable,.is-shade-2.textarea,.is-shade-2.input{border-color:#33393f}.taginput .is-shade-2.taginput-container.is-focusable:focus,.is-shade-2.textarea:focus,.is-shade-2.input:focus,.taginput .is-shade-2.is-focused.taginput-container.is-focusable,.is-shade-2.is-focused.textarea,.is-shade-2.is-focused.input,.taginput .is-shade-2.taginput-container.is-focusable:active,.is-shade-2.textarea:active,.is-shade-2.input:active,.taginput .is-shade-2.is-active.taginput-container.is-focusable,.is-shade-2.is-active.textarea,.is-shade-2.is-active.input{box-shadow:0 0 0 .125em #33393f40}.taginput .is-shade-3.taginput-container.is-focusable,.is-shade-3.textarea,.is-shade-3.input{border-color:#282e33}.taginput .is-shade-3.taginput-container.is-focusable:focus,.is-shade-3.textarea:focus,.is-shade-3.input:focus,.taginput .is-shade-3.is-focused.taginput-container.is-focusable,.is-shade-3.is-focused.textarea,.is-shade-3.is-focused.input,.taginput .is-shade-3.taginput-container.is-focusable:active,.is-shade-3.textarea:active,.is-shade-3.input:active,.taginput .is-shade-3.is-active.taginput-container.is-focusable,.is-shade-3.is-active.textarea,.is-shade-3.is-active.input{box-shadow:0 0 0 .125em #282e3340}.taginput .is-shade-4.taginput-container.is-focusable,.is-shade-4.textarea,.is-shade-4.input{border-color:#18191d}.taginput .is-shade-4.taginput-container.is-focusable:focus,.is-shade-4.textarea:focus,.is-shade-4.input:focus,.taginput .is-shade-4.is-focused.taginput-container.is-focusable,.is-shade-4.is-focused.textarea,.is-shade-4.is-focused.input,.taginput .is-shade-4.taginput-container.is-focusable:active,.is-shade-4.textarea:active,.is-shade-4.input:active,.taginput .is-shade-4.is-active.taginput-container.is-focusable,.is-shade-4.is-active.textarea,.is-shade-4.is-active.input{box-shadow:0 0 0 .125em #18191d40}.taginput .is-small.taginput-container.is-focusable,.is-small.textarea,.is-small.input{border-radius:2px;font-size:.75rem}.taginput .is-medium.taginput-container.is-focusable,.is-medium.textarea,.is-medium.input{font-size:1.25rem}.taginput .is-large.taginput-container.is-focusable,.is-large.textarea,.is-large.input{font-size:1.5rem}.taginput .is-fullwidth.taginput-container.is-focusable,.is-fullwidth.textarea,.is-fullwidth.input{display:block;width:100%}.taginput .is-inline.taginput-container.is-focusable,.is-inline.textarea,.is-inline.input{display:inline;width:auto}.input.is-rounded{border-radius:9999px;padding-left:calc(1.125em - 1px);padding-right:calc(1.125em - 1px)}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:calc(.75em - 1px);resize:vertical}.textarea:not([rows]){max-height:40em;min-height:8em}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.radio,.checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.radio input,.checkbox input{cursor:pointer}.radio:hover,.checkbox:hover{color:#f2f2f2}[disabled].radio,[disabled].checkbox,fieldset[disabled] .radio,fieldset[disabled] .checkbox,.radio input[disabled],.checkbox input[disabled]{color:#fff;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading):after{border-color:#2da192;right:1.125em;z-index:4}.select.is-rounded select{border-radius:9999px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#f2f2f2}.select.is-white:not(:hover):after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select:hover,.select.is-white select.is-hovered{border-color:#f2f2f2}.select.is-white select:focus,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select.is-active{box-shadow:0 0 0 .125em #ffffff40}.select.is-black:not(:hover):after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover,.select.is-black select.is-hovered{border-color:#000}.select.is-black select:focus,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select.is-active{box-shadow:0 0 0 .125em #0a0a0a40}.select.is-light:not(:hover):after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select:hover,.select.is-light select.is-hovered{border-color:#e8e8e8}.select.is-light select:focus,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select.is-active{box-shadow:0 0 0 .125em #f5f5f540}.select.is-dark:not(:hover):after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select:hover,.select.is-dark select.is-hovered{border-color:#292929}.select.is-dark select:focus,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select.is-active{box-shadow:0 0 0 .125em #36363640}.select.is-primary:not(:hover):after{border-color:#2da192}.select.is-primary select{border-color:#2da192}.select.is-primary select:hover,.select.is-primary select.is-hovered{border-color:#278d80}.select.is-primary select:focus,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select.is-active{box-shadow:0 0 0 .125em #2da19240}.select.is-info:not(:hover):after{border-color:#3e8ed0}.select.is-info select{border-color:#3e8ed0}.select.is-info select:hover,.select.is-info select.is-hovered{border-color:#3082c5}.select.is-info select:focus,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select.is-active{box-shadow:0 0 0 .125em #3e8ed040}.select.is-success:not(:hover):after{border-color:#48c78e}.select.is-success select{border-color:#48c78e}.select.is-success select:hover,.select.is-success select.is-hovered{border-color:#3abb81}.select.is-success select:focus,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select.is-active{box-shadow:0 0 0 .125em #48c78e40}.select.is-warning:not(:hover):after{border-color:#ffe08a}.select.is-warning select{border-color:#ffe08a}.select.is-warning select:hover,.select.is-warning select.is-hovered{border-color:#ffd970}.select.is-warning select:focus,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select.is-active{box-shadow:0 0 0 .125em #ffe08a40}.select.is-danger:not(:hover):after{border-color:#f14668}.select.is-danger select{border-color:#f14668}.select.is-danger select:hover,.select.is-danger select.is-hovered{border-color:#ef2e55}.select.is-danger select:focus,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select.is-active{box-shadow:0 0 0 .125em #f1466840}.select.is-shade-1:not(:hover):after{border-color:#3d444b}.select.is-shade-1 select{border-color:#3d444b}.select.is-shade-1 select:hover,.select.is-shade-1 select.is-hovered{border-color:#32373d}.select.is-shade-1 select:focus,.select.is-shade-1 select.is-focused,.select.is-shade-1 select:active,.select.is-shade-1 select.is-active{box-shadow:0 0 0 .125em #3d444b40}.select.is-shade-2:not(:hover):after{border-color:#33393f}.select.is-shade-2 select{border-color:#33393f}.select.is-shade-2 select:hover,.select.is-shade-2 select.is-hovered{border-color:#282c31}.select.is-shade-2 select:focus,.select.is-shade-2 select.is-focused,.select.is-shade-2 select:active,.select.is-shade-2 select.is-active{box-shadow:0 0 0 .125em #33393f40}.select.is-shade-3:not(:hover):after{border-color:#282e33}.select.is-shade-3 select{border-color:#282e33}.select.is-shade-3 select:hover,.select.is-shade-3 select.is-hovered{border-color:#1d2125}.select.is-shade-3 select:focus,.select.is-shade-3 select.is-focused,.select.is-shade-3 select:active,.select.is-shade-3 select.is-active{box-shadow:0 0 0 .125em #282e3340}.select.is-shade-4:not(:hover):after{border-color:#18191d}.select.is-shade-4 select{border-color:#18191d}.select.is-shade-4 select:hover,.select.is-shade-4 select.is-hovered{border-color:#0c0d0f}.select.is-shade-4 select:focus,.select.is-shade-4 select.is-focused,.select.is-shade-4 select:active,.select.is-shade-4 select.is-active{box-shadow:0 0 0 .125em #18191d40}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled:after{border-color:#fff!important;opacity:.5}.select.is-fullwidth,.select.is-fullwidth select{width:100%}.select.is-loading:after{margin-top:0;position:absolute;right:.625em;top:.625em;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white:hover .file-cta,.file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white:focus .file-cta,.file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #ffffff40;color:#0a0a0a}.file.is-white:active .file-cta,.file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black:hover .file-cta,.file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black:focus .file-cta,.file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #0a0a0a40;color:#fff}.file.is-black:active .file-cta,.file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#000000b3}.file.is-light:hover .file-cta,.file.is-light.is-hovered .file-cta{background-color:#eee;border-color:transparent;color:#000000b3}.file.is-light:focus .file-cta,.file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #f5f5f540;color:#000000b3}.file.is-light:active .file-cta,.file.is-light.is-active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#000000b3}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#fff}.file.is-dark:hover .file-cta,.file.is-dark.is-hovered .file-cta{background-color:#2f2f2f;border-color:transparent;color:#fff}.file.is-dark:focus .file-cta,.file.is-dark.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #36363640;color:#fff}.file.is-dark:active .file-cta,.file.is-dark.is-active .file-cta{background-color:#292929;border-color:transparent;color:#fff}.file.is-primary .file-cta{background-color:#2da192;border-color:transparent;color:#fff}.file.is-primary:hover .file-cta,.file.is-primary.is-hovered .file-cta{background-color:#2a9789;border-color:transparent;color:#fff}.file.is-primary:focus .file-cta,.file.is-primary.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #2da19240;color:#fff}.file.is-primary:active .file-cta,.file.is-primary.is-active .file-cta{background-color:#278d80;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#3e8ed0;border-color:transparent;color:#fff}.file.is-info:hover .file-cta,.file.is-info.is-hovered .file-cta{background-color:#3488ce;border-color:transparent;color:#fff}.file.is-info:focus .file-cta,.file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #3e8ed040;color:#fff}.file.is-info:active .file-cta,.file.is-info.is-active .file-cta{background-color:#3082c5;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#48c78e;border-color:transparent;color:#fff}.file.is-success:hover .file-cta,.file.is-success.is-hovered .file-cta{background-color:#3ec487;border-color:transparent;color:#fff}.file.is-success:focus .file-cta,.file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #48c78e40;color:#fff}.file.is-success:active .file-cta,.file.is-success.is-active .file-cta{background-color:#3abb81;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffe08a;border-color:transparent;color:#000000b3}.file.is-warning:hover .file-cta,.file.is-warning.is-hovered .file-cta{background-color:#ffdc7d;border-color:transparent;color:#000000b3}.file.is-warning:focus .file-cta,.file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #ffe08a40;color:#000000b3}.file.is-warning:active .file-cta,.file.is-warning.is-active .file-cta{background-color:#ffd970;border-color:transparent;color:#000000b3}.file.is-danger .file-cta{background-color:#f14668;border-color:transparent;color:#fff}.file.is-danger:hover .file-cta,.file.is-danger.is-hovered .file-cta{background-color:#f03a5f;border-color:transparent;color:#fff}.file.is-danger:focus .file-cta,.file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #f1466840;color:#fff}.file.is-danger:active .file-cta,.file.is-danger.is-active .file-cta{background-color:#ef2e55;border-color:transparent;color:#fff}.file.is-shade-1 .file-cta{background-color:#3d444b;border-color:transparent;color:#fff}.file.is-shade-1:hover .file-cta,.file.is-shade-1.is-hovered .file-cta{background-color:#373e44;border-color:transparent;color:#fff}.file.is-shade-1:focus .file-cta,.file.is-shade-1.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #3d444b40;color:#fff}.file.is-shade-1:active .file-cta,.file.is-shade-1.is-active .file-cta{background-color:#32373d;border-color:transparent;color:#fff}.file.is-shade-2 .file-cta{background-color:#33393f;border-color:transparent;color:#fff}.file.is-shade-2:hover .file-cta,.file.is-shade-2.is-hovered .file-cta{background-color:#2d3338;border-color:transparent;color:#fff}.file.is-shade-2:focus .file-cta,.file.is-shade-2.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #33393f40;color:#fff}.file.is-shade-2:active .file-cta,.file.is-shade-2.is-active .file-cta{background-color:#282c31;border-color:transparent;color:#fff}.file.is-shade-3 .file-cta{background-color:#282e33;border-color:transparent;color:#fff}.file.is-shade-3:hover .file-cta,.file.is-shade-3.is-hovered .file-cta{background-color:#22282c;border-color:transparent;color:#fff}.file.is-shade-3:focus .file-cta,.file.is-shade-3.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #282e3340;color:#fff}.file.is-shade-3:active .file-cta,.file.is-shade-3.is-active .file-cta{background-color:#1d2125;border-color:transparent;color:#fff}.file.is-shade-4 .file-cta{background-color:#18191d;border-color:transparent;color:#fff}.file.is-shade-4:hover .file-cta,.file.is-shade-4.is-hovered .file-cta{background-color:#121316;border-color:transparent;color:#fff}.file.is-shade-4:focus .file-cta,.file.is-shade-4.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #18191d40;color:#fff}.file.is-shade-4:active .file-cta,.file.is-shade-4.is-active .file-cta{background-color:#0c0d0f;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-normal{font-size:1rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#0000;color:#f2f2f2}.file-label:hover .file-name{border-color:#1d1d1d}.file-label:active .file-cta{background-color:#0000;color:#f2f2f2}.file-label:active .file-name{border-color:#171717}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#242424;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:transparent;color:#fff}.file-name{border-color:#242424;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#242424;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#2da192}.help.is-info{color:#3e8ed0}.help.is-success{color:#48c78e}.help.is-warning{color:#ffe08a}.help.is-danger{color:#f14668}.help.is-shade-1{color:#3d444b}.help.is-shade-2{color:#33393f}.help.is-shade-3{color:#282e33}.help.is-shade-4{color:#18191d}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered{z-index:2}.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]).is-active{z-index:3}.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width: 768px){.field-label{margin-bottom:.5rem}}@media screen and (min-width: 769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#fff}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#242424;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.5em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.5em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading:after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#2da192;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#39c8b5}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#f2f2f2;cursor:default;pointer-events:none}.breadcrumb li+li:before{color:#121212;content:"/"}.breadcrumb ul,.breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:.5em}.breadcrumb .icon:last-child{margin-left:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li:before{content:"→"}.breadcrumb.has-bullet-separator li+li:before{content:"•"}.breadcrumb.has-dot-separator li+li:before{content:"·"}.breadcrumb.has-succeeds-separator li+li:before{content:"≻"}.card{background-color:#18191d;border-radius:.25rem;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;color:#fff;max-width:100%;position:relative}.card-footer:first-child,.card-content:first-child,.card-header:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-footer:last-child,.card-content:last-child,.card-header:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-header{background-color:transparent;align-items:stretch;box-shadow:0 .125em .25em #0a0a0a1a;display:flex}.card-header-title{align-items:center;color:#f2f2f2;display:flex;flex-grow:1;font-weight:700;padding:.75rem 1rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0;align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem 1rem}.card-image{display:block;position:relative}.card-image:first-child img{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-image:last-child img{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-content{background-color:transparent;padding:1.5rem}.card-footer{background-color:transparent;border-top:1px solid hsl(0,0%,4%);align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid hsl(0,0%,4%)}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#18191d;border-radius:4px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;padding-bottom:.5rem;padding-top:.5rem}.dropdown-item,.dropdown .dropdown-menu .has-link a{color:#fff;display:block;font-size:.875rem;line-height:1.5;padding:.375rem 1rem;position:relative}a.dropdown-item,.dropdown .dropdown-menu .has-link a,button.dropdown-item{padding-right:3rem;text-align:inherit;white-space:nowrap;width:100%}a.dropdown-item:hover,.dropdown .dropdown-menu .has-link a:hover,button.dropdown-item:hover{background-color:#3d444b;color:#fff}a.dropdown-item.is-active,.dropdown .dropdown-menu .has-link a.is-active,button.dropdown-item.is-active{background-color:#33393f;color:#fff}.dropdown-divider{background-color:#282e33;border:none;display:block;height:1px;margin:.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile,.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .title,.level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{.level-right{display:flex}}.media{align-items:flex-start;display:flex;text-align:inherit}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(35.7,35.7,35.7,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid rgba(35.7,35.7,35.7,.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#fff;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#3d444b;color:#f2f2f2}.menu-list a.is-active{background-color:#2da192;color:#fff}.menu-list li ul{border-left:1px solid #3d444b;margin:.75em;padding-left:.75em}.menu-label{color:#ccc;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#000000b3}.message.is-light .message-body{border-color:#f5f5f5}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#fff}.message.is-dark .message-body{border-color:#363636}.message.is-primary{background-color:#f7fdfc}.message.is-primary .message-header{background-color:#2da192;color:#fff}.message.is-primary .message-body{border-color:#2da192}.message.is-info{background-color:#f7fafd}.message.is-info .message-header{background-color:#3e8ed0;color:#fff}.message.is-info .message-body{border-color:#3e8ed0}.message.is-success{background-color:#f7fdfa}.message.is-success .message-header{background-color:#48c78e;color:#fff}.message.is-success .message-body{border-color:#48c78e}.message.is-warning{background-color:#fffcf5}.message.is-warning .message-header{background-color:#ffe08a;color:#000000b3}.message.is-warning .message-body{border-color:#ffe08a}.message.is-danger{background-color:#fef6f7}.message.is-danger .message-header{background-color:#f14668;color:#fff}.message.is-danger .message-body{border-color:#f14668}.message.is-shade-1{background-color:#f9fafa}.message.is-shade-1 .message-header{background-color:#3d444b;color:#fff}.message.is-shade-1 .message-body{border-color:#3d444b}.message.is-shade-2{background-color:#f9fafa}.message.is-shade-2 .message-header{background-color:#33393f;color:#fff}.message.is-shade-2 .message-body{border-color:#33393f}.message.is-shade-3{background-color:#f9fafb}.message.is-shade-3 .message-header{background-color:#282e33;color:#fff}.message.is-shade-3 .message-body{border-color:#282e33}.message.is-shade-4{background-color:#f9fafa}.message.is-shade-4 .message-header{background-color:#18191d;color:#fff}.message.is-shade-4 .message-body{border-color:#18191d}.message-header{align-items:center;background-color:#fff;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#242424;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#fff;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#18191d}.message-body pre code{background-color:transparent}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:#0a0a0adb}.modal-content,.modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px){.modal-content,.modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-head,.modal-card-foot{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid hsl(0,0%,14%);border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#f2f2f2;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid hsl(0,0%,14%)}.modal-card-foot .button:not(:last-child){margin-right:.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#18191d;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#18191d;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link:after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1024px){.navbar.is-white .navbar-start>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-start .navbar-link:after,.navbar.is-white .navbar-end .navbar-link:after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item,.navbar.is-black .navbar-brand .navbar-link{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-black .navbar-start>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-end .navbar-link{color:#fff}.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-start .navbar-link:after,.navbar.is-black .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#000000b3}.navbar.is-light .navbar-brand>.navbar-item,.navbar.is-light .navbar-brand .navbar-link{color:#000000b3}.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#e8e8e8;color:#000000b3}.navbar.is-light .navbar-brand .navbar-link:after{border-color:#000000b3}.navbar.is-light .navbar-burger{color:#000000b3}@media screen and (min-width: 1024px){.navbar.is-light .navbar-start>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-end .navbar-link{color:#000000b3}.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end .navbar-link.is-active{background-color:#e8e8e8;color:#000000b3}.navbar.is-light .navbar-start .navbar-link:after,.navbar.is-light .navbar-end .navbar-link:after{border-color:#000000b3}.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#e8e8e8;color:#000000b3}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#000000b3}}.navbar.is-dark{background-color:#363636;color:#fff}.navbar.is-dark .navbar-brand>.navbar-item,.navbar.is-dark .navbar-brand .navbar-link{color:#fff}.navbar.is-dark .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand .navbar-link.is-active{background-color:#292929;color:#fff}.navbar.is-dark .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-dark .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-dark .navbar-start>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-end .navbar-link{color:#fff}.navbar.is-dark .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end .navbar-link.is-active{background-color:#292929;color:#fff}.navbar.is-dark .navbar-start .navbar-link:after,.navbar.is-dark .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link{background-color:#292929;color:#fff}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#fff}}.navbar.is-primary{background-color:#2da192;color:#fff}.navbar.is-primary .navbar-brand>.navbar-item,.navbar.is-primary .navbar-brand .navbar-link{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand .navbar-link.is-active{background-color:#278d80;color:#fff}.navbar.is-primary .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-primary .navbar-start>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-end .navbar-link{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end .navbar-link.is-active{background-color:#278d80;color:#fff}.navbar.is-primary .navbar-start .navbar-link:after,.navbar.is-primary .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link{background-color:#278d80;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#2da192;color:#fff}}.navbar.is-info{background-color:#3e8ed0;color:#fff}.navbar.is-info .navbar-brand>.navbar-item,.navbar.is-info .navbar-brand .navbar-link{color:#fff}.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-info .navbar-start>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-end .navbar-link{color:#fff}.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end .navbar-link.is-active{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-start .navbar-link:after,.navbar.is-info .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#3e8ed0;color:#fff}}.navbar.is-success{background-color:#48c78e;color:#fff}.navbar.is-success .navbar-brand>.navbar-item,.navbar.is-success .navbar-brand .navbar-link{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-success .navbar-start>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-end .navbar-link{color:#fff}.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end .navbar-link.is-active{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-start .navbar-link:after,.navbar.is-success .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#48c78e;color:#fff}}.navbar.is-warning{background-color:#ffe08a;color:#000000b3}.navbar.is-warning .navbar-brand>.navbar-item,.navbar.is-warning .navbar-brand .navbar-link{color:#000000b3}.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#ffd970;color:#000000b3}.navbar.is-warning .navbar-brand .navbar-link:after{border-color:#000000b3}.navbar.is-warning .navbar-burger{color:#000000b3}@media screen and (min-width: 1024px){.navbar.is-warning .navbar-start>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-end .navbar-link{color:#000000b3}.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#ffd970;color:#000000b3}.navbar.is-warning .navbar-start .navbar-link:after,.navbar.is-warning .navbar-end .navbar-link:after{border-color:#000000b3}.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ffd970;color:#000000b3}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffe08a;color:#000000b3}}.navbar.is-danger{background-color:#f14668;color:#fff}.navbar.is-danger .navbar-brand>.navbar-item,.navbar.is-danger .navbar-brand .navbar-link{color:#fff}.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-danger .navbar-start>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-end .navbar-link{color:#fff}.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-start .navbar-link:after,.navbar.is-danger .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#f14668;color:#fff}}.navbar.is-shade-1{background-color:#3d444b;color:#fff}.navbar.is-shade-1 .navbar-brand>.navbar-item,.navbar.is-shade-1 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-1 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-1 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-1 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-1 .navbar-brand .navbar-link:focus,.navbar.is-shade-1 .navbar-brand .navbar-link:hover,.navbar.is-shade-1 .navbar-brand .navbar-link.is-active{background-color:#32373d;color:#fff}.navbar.is-shade-1 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-1 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-1 .navbar-start>.navbar-item,.navbar.is-shade-1 .navbar-start .navbar-link,.navbar.is-shade-1 .navbar-end>.navbar-item,.navbar.is-shade-1 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-1 .navbar-start>a.navbar-item:focus,.navbar.is-shade-1 .navbar-start>a.navbar-item:hover,.navbar.is-shade-1 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-1 .navbar-start .navbar-link:focus,.navbar.is-shade-1 .navbar-start .navbar-link:hover,.navbar.is-shade-1 .navbar-start .navbar-link.is-active,.navbar.is-shade-1 .navbar-end>a.navbar-item:focus,.navbar.is-shade-1 .navbar-end>a.navbar-item:hover,.navbar.is-shade-1 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-1 .navbar-end .navbar-link:focus,.navbar.is-shade-1 .navbar-end .navbar-link:hover,.navbar.is-shade-1 .navbar-end .navbar-link.is-active{background-color:#32373d;color:#fff}.navbar.is-shade-1 .navbar-start .navbar-link:after,.navbar.is-shade-1 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-1 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-1 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-1 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#32373d;color:#fff}.navbar.is-shade-1 .navbar-dropdown a.navbar-item.is-active{background-color:#3d444b;color:#fff}}.navbar.is-shade-2{background-color:#33393f;color:#fff}.navbar.is-shade-2 .navbar-brand>.navbar-item,.navbar.is-shade-2 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-2 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-2 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-2 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-2 .navbar-brand .navbar-link:focus,.navbar.is-shade-2 .navbar-brand .navbar-link:hover,.navbar.is-shade-2 .navbar-brand .navbar-link.is-active{background-color:#282c31;color:#fff}.navbar.is-shade-2 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-2 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-2 .navbar-start>.navbar-item,.navbar.is-shade-2 .navbar-start .navbar-link,.navbar.is-shade-2 .navbar-end>.navbar-item,.navbar.is-shade-2 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-2 .navbar-start>a.navbar-item:focus,.navbar.is-shade-2 .navbar-start>a.navbar-item:hover,.navbar.is-shade-2 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-2 .navbar-start .navbar-link:focus,.navbar.is-shade-2 .navbar-start .navbar-link:hover,.navbar.is-shade-2 .navbar-start .navbar-link.is-active,.navbar.is-shade-2 .navbar-end>a.navbar-item:focus,.navbar.is-shade-2 .navbar-end>a.navbar-item:hover,.navbar.is-shade-2 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-2 .navbar-end .navbar-link:focus,.navbar.is-shade-2 .navbar-end .navbar-link:hover,.navbar.is-shade-2 .navbar-end .navbar-link.is-active{background-color:#282c31;color:#fff}.navbar.is-shade-2 .navbar-start .navbar-link:after,.navbar.is-shade-2 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-2 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-2 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-2 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#282c31;color:#fff}.navbar.is-shade-2 .navbar-dropdown a.navbar-item.is-active{background-color:#33393f;color:#fff}}.navbar.is-shade-3{background-color:#282e33;color:#fff}.navbar.is-shade-3 .navbar-brand>.navbar-item,.navbar.is-shade-3 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-3 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-3 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-3 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-3 .navbar-brand .navbar-link:focus,.navbar.is-shade-3 .navbar-brand .navbar-link:hover,.navbar.is-shade-3 .navbar-brand .navbar-link.is-active{background-color:#1d2125;color:#fff}.navbar.is-shade-3 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-3 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-3 .navbar-start>.navbar-item,.navbar.is-shade-3 .navbar-start .navbar-link,.navbar.is-shade-3 .navbar-end>.navbar-item,.navbar.is-shade-3 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-3 .navbar-start>a.navbar-item:focus,.navbar.is-shade-3 .navbar-start>a.navbar-item:hover,.navbar.is-shade-3 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-3 .navbar-start .navbar-link:focus,.navbar.is-shade-3 .navbar-start .navbar-link:hover,.navbar.is-shade-3 .navbar-start .navbar-link.is-active,.navbar.is-shade-3 .navbar-end>a.navbar-item:focus,.navbar.is-shade-3 .navbar-end>a.navbar-item:hover,.navbar.is-shade-3 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-3 .navbar-end .navbar-link:focus,.navbar.is-shade-3 .navbar-end .navbar-link:hover,.navbar.is-shade-3 .navbar-end .navbar-link.is-active{background-color:#1d2125;color:#fff}.navbar.is-shade-3 .navbar-start .navbar-link:after,.navbar.is-shade-3 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-3 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-3 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-3 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1d2125;color:#fff}.navbar.is-shade-3 .navbar-dropdown a.navbar-item.is-active{background-color:#282e33;color:#fff}}.navbar.is-shade-4{background-color:#18191d;color:#fff}.navbar.is-shade-4 .navbar-brand>.navbar-item,.navbar.is-shade-4 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-4 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-4 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-4 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-4 .navbar-brand .navbar-link:focus,.navbar.is-shade-4 .navbar-brand .navbar-link:hover,.navbar.is-shade-4 .navbar-brand .navbar-link.is-active{background-color:#0c0d0f;color:#fff}.navbar.is-shade-4 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-4 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-4 .navbar-start>.navbar-item,.navbar.is-shade-4 .navbar-start .navbar-link,.navbar.is-shade-4 .navbar-end>.navbar-item,.navbar.is-shade-4 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-4 .navbar-start>a.navbar-item:focus,.navbar.is-shade-4 .navbar-start>a.navbar-item:hover,.navbar.is-shade-4 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-4 .navbar-start .navbar-link:focus,.navbar.is-shade-4 .navbar-start .navbar-link:hover,.navbar.is-shade-4 .navbar-start .navbar-link.is-active,.navbar.is-shade-4 .navbar-end>a.navbar-item:focus,.navbar.is-shade-4 .navbar-end>a.navbar-item:hover,.navbar.is-shade-4 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-4 .navbar-end .navbar-link:focus,.navbar.is-shade-4 .navbar-end .navbar-link:hover,.navbar.is-shade-4 .navbar-end .navbar-link.is-active{background-color:#0c0d0f;color:#fff}.navbar.is-shade-4 .navbar-start .navbar-link:after,.navbar.is-shade-4 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-4 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-4 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-4 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#0c0d0f;color:#fff}.navbar.is-shade-4 .navbar-dropdown a.navbar-item.is-active{background-color:#18191d;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px #f5f5f5}.navbar.is-fixed-top{top:0}html.has-navbar-fixed-top,body.has-navbar-fixed-top{padding-top:3.25rem}html.has-navbar-fixed-bottom,body.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#fff;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:#0000000d}.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#fff;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}a.navbar-item,.navbar-link{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,.navbar-link.is-active{background-color:#33393f;color:#2da192}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:unset}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:transparent;border-bottom-color:#2da192}.navbar-item.is-tab.is-active{background-color:transparent;border-bottom-color:#2da192;border-bottom-style:solid;border-bottom-width:3px;color:#2da192;padding-bottom:calc(.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless):after{border-color:#2da192;margin-top:-.375em;right:1.125em}.navbar-dropdown{font-size:.875rem;padding-bottom:.5rem;padding-top:.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#282e33;border:none;display:none;height:2px;margin:.5rem 0}@media screen and (max-width: 1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link:after{display:none}.navbar-menu{background-color:#18191d;box-shadow:0 8px 16px #0a0a0a1a;padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px #0a0a0a1a}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}html.has-navbar-fixed-top-touch,body.has-navbar-fixed-top-touch{padding-top:3.25rem}html.has-navbar-fixed-bottom-touch,body.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width: 1024px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-start,.navbar.is-spaced .navbar-end{align-items:center}.navbar.is-spaced a.navbar-item,.navbar.is-spaced .navbar-link{border-radius:4px}.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent .navbar-link.is-active{background-color:transparent!important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent!important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#3d444b;color:#fff}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2da192}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link:after{transform:rotate(135deg) translate(.25em,-.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid hsl(0,0%,14%);border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px #0a0a0a1a;top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#18191d;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid hsl(0,0%,14%);box-shadow:0 8px 8px #0a0a0a1a;display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#3d444b;color:#fff}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2da192}.navbar.is-spaced .navbar-dropdown,.navbar-dropdown.is-boxed{border-radius:6px;border-top:none;box-shadow:0 8px 8px #0a0a0a1a,0 0 0 1px #0a0a0a1a;display:block;opacity:0;pointer-events:none;top:calc(100% - 4px);transform:translateY(-5px);transition-duration:86ms;transition-property:opacity,transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px #0a0a0a1a}.navbar.is-fixed-top-desktop{top:0}html.has-navbar-fixed-top-desktop,body.has-navbar-fixed-top-desktop{padding-top:3.25rem}html.has-navbar-fixed-bottom-desktop,body.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}html.has-spaced-navbar-fixed-top,body.has-spaced-navbar-fixed-top{padding-top:5.25rem}html.has-spaced-navbar-fixed-bottom,body.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}a.navbar-item.is-active,.navbar-link.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover),.navbar-link.is-active:not(:focus):not(:hover){background-color:transparent}.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link,.navbar-item.has-dropdown.is-active .navbar-link{background-color:#33393f}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-previous,.pagination.is-rounded .pagination-next{padding-left:1em;padding-right:1em;border-radius:9999px}.pagination.is-rounded .pagination-link{border-radius:9999px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-previous,.pagination-next,.pagination-link{border-color:#242424;color:#f2f2f2;min-width:2.5em}.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5;color:#39c8b5}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus{border-color:#2da192}.pagination-previous:active,.pagination-next:active,.pagination-link:active{box-shadow:inset 0 1px 2px #0a0a0a33}.pagination-previous[disabled],.pagination-previous.is-disabled,.pagination-next[disabled],.pagination-next.is-disabled,.pagination-link[disabled],.pagination-link.is-disabled{background-color:#242424;border-color:#242424;box-shadow:none;color:#fff;opacity:.5}.pagination-previous,.pagination-next{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#2da192;border-color:#2da192;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width: 768px){.pagination{flex-wrap:wrap}.pagination-previous,.pagination-next,.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{border-radius:6px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel.is-white .panel-heading{background-color:#fff;color:#0a0a0a}.panel.is-white .panel-tabs a.is-active{border-bottom-color:#fff}.panel.is-white .panel-block.is-active .panel-icon{color:#fff}.panel.is-black .panel-heading{background-color:#0a0a0a;color:#fff}.panel.is-black .panel-tabs a.is-active{border-bottom-color:#0a0a0a}.panel.is-black .panel-block.is-active .panel-icon{color:#0a0a0a}.panel.is-light .panel-heading{background-color:#f5f5f5;color:#000000b3}.panel.is-light .panel-tabs a.is-active{border-bottom-color:#f5f5f5}.panel.is-light .panel-block.is-active .panel-icon{color:#f5f5f5}.panel.is-dark .panel-heading{background-color:#363636;color:#fff}.panel.is-dark .panel-tabs a.is-active{border-bottom-color:#363636}.panel.is-dark .panel-block.is-active .panel-icon{color:#363636}.panel.is-primary .panel-heading{background-color:#2da192;color:#fff}.panel.is-primary .panel-tabs a.is-active{border-bottom-color:#2da192}.panel.is-primary .panel-block.is-active .panel-icon{color:#2da192}.panel.is-info .panel-heading{background-color:#3e8ed0;color:#fff}.panel.is-info .panel-tabs a.is-active{border-bottom-color:#3e8ed0}.panel.is-info .panel-block.is-active .panel-icon{color:#3e8ed0}.panel.is-success .panel-heading{background-color:#48c78e;color:#fff}.panel.is-success .panel-tabs a.is-active{border-bottom-color:#48c78e}.panel.is-success .panel-block.is-active .panel-icon{color:#48c78e}.panel.is-warning .panel-heading{background-color:#ffe08a;color:#000000b3}.panel.is-warning .panel-tabs a.is-active{border-bottom-color:#ffe08a}.panel.is-warning .panel-block.is-active .panel-icon{color:#ffe08a}.panel.is-danger .panel-heading{background-color:#f14668;color:#fff}.panel.is-danger .panel-tabs a.is-active{border-bottom-color:#f14668}.panel.is-danger .panel-block.is-active .panel-icon{color:#f14668}.panel.is-shade-1 .panel-heading{background-color:#3d444b;color:#fff}.panel.is-shade-1 .panel-tabs a.is-active{border-bottom-color:#3d444b}.panel.is-shade-1 .panel-block.is-active .panel-icon{color:#3d444b}.panel.is-shade-2 .panel-heading{background-color:#33393f;color:#fff}.panel.is-shade-2 .panel-tabs a.is-active{border-bottom-color:#33393f}.panel.is-shade-2 .panel-block.is-active .panel-icon{color:#33393f}.panel.is-shade-3 .panel-heading{background-color:#282e33;color:#fff}.panel.is-shade-3 .panel-tabs a.is-active{border-bottom-color:#282e33}.panel.is-shade-3 .panel-block.is-active .panel-icon{color:#282e33}.panel.is-shade-4 .panel-heading{background-color:#18191d;color:#fff}.panel.is-shade-4 .panel-tabs a.is-active{border-bottom-color:#18191d}.panel.is-shade-4 .panel-block.is-active .panel-icon{color:#18191d}.panel-tabs:not(:last-child),.panel-block:not(:last-child){border-bottom:1px solid hsl(0,0%,4%)}.panel-heading{background-color:#0a0a0a;border-radius:6px 6px 0 0;color:#f2f2f2;font-size:1.25em;font-weight:700;line-height:1.25;padding:.75em 1em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid hsl(0,0%,14%);margin-bottom:-1px;padding:.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#fff}.panel-list a:hover{color:#2da192}.panel-block{align-items:center;color:#f2f2f2;display:flex;justify-content:flex-start;padding:.5em .75em}.panel-block input[type=checkbox]{margin-right:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#2da192;color:#363636}.panel-block.is-active .panel-icon{color:#2da192}.panel-block:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#fff;margin-right:.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#242424;border-bottom-style:solid;border-bottom-width:1px;color:#fff;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#f2f2f2;color:#f2f2f2}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#2da192;color:#2da192}.tabs ul{align-items:center;border-bottom-color:#242424;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em;padding-right:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#242424}.tabs.is-boxed li.is-active a{background-color:#18191d;border-color:#242424;border-bottom-color:transparent!important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#242424;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#121212;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.tabs.is-toggle li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.tabs.is-toggle li.is-active a{background-color:#2da192;border-color:#2da192;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none;width:unset}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0%}.columns.is-mobile>.column.is-1{flex:none;width:8.33333337%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333337%}.columns.is-mobile>.column.is-2{flex:none;width:16.66666674%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66666674%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333337%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333337%}.columns.is-mobile>.column.is-5{flex:none;width:41.66666674%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66666674%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333337%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333337%}.columns.is-mobile>.column.is-8{flex:none;width:66.66666674%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66666674%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333337%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333337%}.columns.is-mobile>.column.is-11{flex:none;width:91.66666674%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66666674%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){.column.is-narrow-mobile{flex:none;width:unset}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0%}.column.is-1-mobile{flex:none;width:8.33333337%}.column.is-offset-1-mobile{margin-left:8.33333337%}.column.is-2-mobile{flex:none;width:16.66666674%}.column.is-offset-2-mobile{margin-left:16.66666674%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333337%}.column.is-offset-4-mobile{margin-left:33.33333337%}.column.is-5-mobile{flex:none;width:41.66666674%}.column.is-offset-5-mobile{margin-left:41.66666674%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333337%}.column.is-offset-7-mobile{margin-left:58.33333337%}.column.is-8-mobile{flex:none;width:66.66666674%}.column.is-offset-8-mobile{margin-left:66.66666674%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333337%}.column.is-offset-10-mobile{margin-left:83.33333337%}.column.is-11-mobile{flex:none;width:91.66666674%}.column.is-offset-11-mobile{margin-left:91.66666674%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none;width:unset}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0%}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333337%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333337%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66666674%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66666674%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333337%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333337%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66666674%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66666674%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333337%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333337%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66666674%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66666674%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333337%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333337%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66666674%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66666674%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1023px){.column.is-narrow-touch{flex:none;width:unset}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0%}.column.is-1-touch{flex:none;width:8.33333337%}.column.is-offset-1-touch{margin-left:8.33333337%}.column.is-2-touch{flex:none;width:16.66666674%}.column.is-offset-2-touch{margin-left:16.66666674%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333337%}.column.is-offset-4-touch{margin-left:33.33333337%}.column.is-5-touch{flex:none;width:41.66666674%}.column.is-offset-5-touch{margin-left:41.66666674%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333337%}.column.is-offset-7-touch{margin-left:58.33333337%}.column.is-8-touch{flex:none;width:66.66666674%}.column.is-offset-8-touch{margin-left:66.66666674%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333337%}.column.is-offset-10-touch{margin-left:83.33333337%}.column.is-11-touch{flex:none;width:91.66666674%}.column.is-offset-11-touch{margin-left:91.66666674%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1024px){.column.is-narrow-desktop{flex:none;width:unset}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0%}.column.is-1-desktop{flex:none;width:8.33333337%}.column.is-offset-1-desktop{margin-left:8.33333337%}.column.is-2-desktop{flex:none;width:16.66666674%}.column.is-offset-2-desktop{margin-left:16.66666674%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333337%}.column.is-offset-4-desktop{margin-left:33.33333337%}.column.is-5-desktop{flex:none;width:41.66666674%}.column.is-offset-5-desktop{margin-left:41.66666674%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333337%}.column.is-offset-7-desktop{margin-left:58.33333337%}.column.is-8-desktop{flex:none;width:66.66666674%}.column.is-offset-8-desktop{margin-left:66.66666674%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333337%}.column.is-offset-10-desktop{margin-left:83.33333337%}.column.is-11-desktop{flex:none;width:91.66666674%}.column.is-offset-11-desktop{margin-left:91.66666674%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){.column.is-narrow-widescreen{flex:none;width:unset}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0%}.column.is-1-widescreen{flex:none;width:8.33333337%}.column.is-offset-1-widescreen{margin-left:8.33333337%}.column.is-2-widescreen{flex:none;width:16.66666674%}.column.is-offset-2-widescreen{margin-left:16.66666674%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333337%}.column.is-offset-4-widescreen{margin-left:33.33333337%}.column.is-5-widescreen{flex:none;width:41.66666674%}.column.is-offset-5-widescreen{margin-left:41.66666674%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333337%}.column.is-offset-7-widescreen{margin-left:58.33333337%}.column.is-8-widescreen{flex:none;width:66.66666674%}.column.is-offset-8-widescreen{margin-left:66.66666674%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333337%}.column.is-offset-10-widescreen{margin-left:83.33333337%}.column.is-11-widescreen{flex:none;width:91.66666674%}.column.is-offset-11-widescreen{margin-left:91.66666674%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){.column.is-narrow-fullhd{flex:none;width:unset}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0%}.column.is-1-fullhd{flex:none;width:8.33333337%}.column.is-offset-1-fullhd{margin-left:8.33333337%}.column.is-2-fullhd{flex:none;width:16.66666674%}.column.is-offset-2-fullhd{margin-left:16.66666674%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333337%}.column.is-offset-4-fullhd{margin-left:33.33333337%}.column.is-5-fullhd{flex:none;width:41.66666674%}.column.is-offset-5-fullhd{margin-left:41.66666674%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333337%}.column.is-offset-7-fullhd{margin-left:58.33333337%}.column.is-8-fullhd{flex:none;width:66.66666674%}.column.is-offset-8-fullhd{margin-left:66.66666674%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333337%}.column.is-offset-10-fullhd{margin-left:83.33333337%}.column.is-11-fullhd{flex:none;width:91.66666674%}.column.is-offset-11-fullhd{margin-left:91.66666674%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:.75rem}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap: .75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){.columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-0-fullhd{--columnGap: 0rem}}.columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){.columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-1-fullhd{--columnGap: .25rem}}.columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){.columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-2-fullhd{--columnGap: .5rem}}.columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){.columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-3-fullhd{--columnGap: .75rem}}.columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){.columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-4-fullhd{--columnGap: 1rem}}.columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){.columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}.columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){.columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}.columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){.columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){.columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-8-fullhd{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media screen and (min-width: 769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333337%}.tile.is-2{flex:none;width:16.66666674%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333337%}.tile.is-5{flex:none;width:41.66666674%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333337%}.tile.is-8{flex:none;width:66.66666674%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333337%}.tile.is-11{flex:none;width:91.66666674%}.tile.is-12{flex:none;width:100%}}.has-text-white{color:#fff!important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black{color:#0a0a0a!important}a.has-text-black:hover,a.has-text-black:focus{color:#000!important}.has-background-black{background-color:#0a0a0a!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:hover,a.has-text-light:focus{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:hover,a.has-text-dark:focus{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#2da192!important}a.has-text-primary:hover,a.has-text-primary:focus{color:#22796e!important}.has-background-primary{background-color:#2da192!important}.has-text-info{color:#3e8ed0!important}a.has-text-info:hover,a.has-text-info:focus{color:#2b74b1!important}.has-background-info{background-color:#3e8ed0!important}.has-text-success{color:#48c78e!important}a.has-text-success:hover,a.has-text-success:focus{color:#34a873!important}.has-background-success{background-color:#48c78e!important}.has-text-warning{color:#ffe08a!important}a.has-text-warning:hover,a.has-text-warning:focus{color:#ffd257!important}.has-background-warning{background-color:#ffe08a!important}.has-text-danger{color:#f14668!important}a.has-text-danger:hover,a.has-text-danger:focus{color:#ee1742!important}.has-background-danger{background-color:#f14668!important}.has-text-shade-1{color:#3d444b!important}a.has-text-shade-1:hover,a.has-text-shade-1:focus{color:#262b2f!important}.has-background-shade-1{background-color:#3d444b!important}.has-text-shade-2{color:#33393f!important}a.has-text-shade-2:hover,a.has-text-shade-2:focus{color:#1c2023!important}.has-background-shade-2{background-color:#33393f!important}.has-text-shade-3{color:#282e33!important}a.has-text-shade-3:hover,a.has-text-shade-3:focus{color:#121416!important}.has-background-shade-3{background-color:#282e33!important}.has-text-shade-4{color:#18191d!important}a.has-text-shade-4:hover,a.has-text-shade-4:focus{color:#010101!important}.has-background-shade-4{background-color:#18191d!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.is-flex-direction-row{flex-direction:row!important}.is-flex-direction-row-reverse{flex-direction:row-reverse!important}.is-flex-direction-column{flex-direction:column!important}.is-flex-direction-column-reverse{flex-direction:column-reverse!important}.is-flex-wrap-nowrap{flex-wrap:nowrap!important}.is-flex-wrap-wrap{flex-wrap:wrap!important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse!important}.is-justify-content-flex-start{justify-content:flex-start!important}.is-justify-content-flex-end{justify-content:flex-end!important}.is-justify-content-center{justify-content:center!important}.is-justify-content-space-between{justify-content:space-between!important}.is-justify-content-space-around{justify-content:space-around!important}.is-justify-content-space-evenly{justify-content:space-evenly!important}.is-justify-content-start{justify-content:start!important}.is-justify-content-end{justify-content:end!important}.is-justify-content-left{justify-content:left!important}.is-justify-content-right{justify-content:right!important}.is-align-content-flex-start{align-content:flex-start!important}.is-align-content-flex-end{align-content:flex-end!important}.is-align-content-center{align-content:center!important}.is-align-content-space-between{align-content:space-between!important}.is-align-content-space-around{align-content:space-around!important}.is-align-content-space-evenly{align-content:space-evenly!important}.is-align-content-stretch{align-content:stretch!important}.is-align-content-start{align-content:start!important}.is-align-content-end{align-content:end!important}.is-align-content-baseline{align-content:baseline!important}.is-align-items-stretch{align-items:stretch!important}.is-align-items-flex-start{align-items:flex-start!important}.is-align-items-flex-end{align-items:flex-end!important}.is-align-items-center{align-items:center!important}.is-align-items-baseline{align-items:baseline!important}.is-align-items-start{align-items:start!important}.is-align-items-end{align-items:end!important}.is-align-items-self-start{align-items:self-start!important}.is-align-items-self-end{align-items:self-end!important}.is-align-self-auto{align-self:auto!important}.is-align-self-flex-start{align-self:flex-start!important}.is-align-self-flex-end{align-self:flex-end!important}.is-align-self-center{align-self:center!important}.is-align-self-baseline{align-self:baseline!important}.is-align-self-stretch{align-self:stretch!important}.is-flex-grow-0{flex-grow:0!important}.is-flex-grow-1{flex-grow:1!important}.is-flex-grow-2{flex-grow:2!important}.is-flex-grow-3{flex-grow:3!important}.is-flex-grow-4{flex-grow:4!important}.is-flex-grow-5{flex-grow:5!important}.is-flex-shrink-0{flex-shrink:0!important}.is-flex-shrink-1{flex-shrink:1!important}.is-flex-shrink-2{flex-shrink:2!important}.is-flex-shrink-3{flex-shrink:3!important}.is-flex-shrink-4{flex-shrink:4!important}.is-flex-shrink-5{flex-shrink:5!important}.is-clearfix:after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-clickable{cursor:pointer!important;pointer-events:all!important}.is-clipped{overflow:hidden!important}.is-relative{position:relative!important}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:.75rem!important}.mt-3{margin-top:.75rem!important}.mr-3{margin-right:.75rem!important}.mb-3{margin-bottom:.75rem!important}.ml-3{margin-left:.75rem!important}.mx-3{margin-left:.75rem!important;margin-right:.75rem!important}.my-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.m-4{margin:1rem!important}.mt-4{margin-top:1rem!important}.mr-4{margin-right:1rem!important}.mb-4{margin-bottom:1rem!important}.ml-4{margin-left:1rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}.my-4{margin-top:1rem!important;margin-bottom:1rem!important}.m-5{margin:1.5rem!important}.mt-5{margin-top:1.5rem!important}.mr-5{margin-right:1.5rem!important}.mb-5{margin-bottom:1.5rem!important}.ml-5{margin-left:1.5rem!important}.mx-5{margin-left:1.5rem!important;margin-right:1.5rem!important}.my-5{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-6{margin:3rem!important}.mt-6{margin-top:3rem!important}.mr-6{margin-right:3rem!important}.mb-6{margin-bottom:3rem!important}.ml-6{margin-left:3rem!important}.mx-6{margin-left:3rem!important;margin-right:3rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:.75rem!important}.pt-3{padding-top:.75rem!important}.pr-3{padding-right:.75rem!important}.pb-3{padding-bottom:.75rem!important}.pl-3{padding-left:.75rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.p-4{padding:1rem!important}.pt-4{padding-top:1rem!important}.pr-4{padding-right:1rem!important}.pb-4{padding-bottom:1rem!important}.pl-4{padding-left:1rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.p-5{padding:1.5rem!important}.pt-5{padding-top:1.5rem!important}.pr-5{padding-right:1.5rem!important}.pb-5{padding-bottom:1.5rem!important}.pl-5{padding-left:1.5rem!important}.px-5{padding-left:1.5rem!important;padding-right:1.5rem!important}.py-5{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-6{padding:3rem!important}.pt-6{padding-top:3rem!important}.pr-6{padding-right:3rem!important}.pb-6{padding-bottom:3rem!important}.pl-6{padding-left:3rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.p-auto{padding:auto!important}.pt-auto{padding-top:auto!important}.pr-auto{padding-right:auto!important}.pb-auto{padding-bottom:auto!important}.pl-auto{padding-left:auto!important}.px-auto{padding-left:auto!important;padding-right:auto!important}.py-auto{padding-top:auto!important;padding-bottom:auto!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width: 1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width: 1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center!important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width: 1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width: 1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify!important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width: 1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width: 1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left!important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width: 1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width: 1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right!important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width: 1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width: 1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.is-underlined{text-decoration:underline!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary,.is-family-secondary,.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif!important}.is-family-monospace,.is-family-code{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width: 768px){.is-block-mobile{display:block!important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-block-tablet-only{display:block!important}}@media screen and (max-width: 1023px){.is-block-touch{display:block!important}}@media screen and (min-width: 1024px){.is-block-desktop{display:block!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-block-desktop-only{display:block!important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex!important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width: 1023px){.is-flex-touch{display:flex!important}}@media screen and (min-width: 1024px){.is-flex-desktop{display:flex!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline!important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width: 1023px){.is-inline-touch{display:inline!important}}@media screen and (min-width: 1024px){.is-inline-desktop{display:inline!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block!important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width: 1023px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width: 1024px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex!important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width: 1023px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width: 1024px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{border:none!important;clip:rect(0,0,0,0)!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none!important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width: 1023px){.is-hidden-touch{display:none!important}}@media screen and (min-width: 1024px){.is-hidden-desktop{display:none!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden!important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width: 1023px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width: 1024px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden!important}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:#0a0a0ae6}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:#0a0a0ab3}.hero.is-white a.navbar-item:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white .navbar-link:hover,.hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{color:#fff!important;opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,hsl(350,10%,90%) 0%,hsl(0,0%,100%) 71%,hsl(10,5%,100%) 100%)}@media screen and (max-width: 768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(350,10%,90%) 0%,hsl(0,0%,100%) 71%,hsl(10,5%,100%) 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:#ffffffe6}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:#ffffffb3}.hero.is-black a.navbar-item:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black .navbar-link:hover,.hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{color:#0a0a0a!important;opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg,hsl(350,10%,0%) 0%,hsl(0,0%,4%) 71%,hsl(10,5%,9%) 100%)}@media screen and (max-width: 768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(350,10%,0%) 0%,hsl(0,0%,4%) 71%,hsl(10,5%,9%) 100%)}}.hero.is-light{background-color:#f5f5f5;color:#000000b3}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#000000b3}.hero.is-light .subtitle{color:#000000e6}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#000000b3}@media screen and (max-width: 1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:#000000b3}.hero.is-light a.navbar-item:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light .navbar-link:hover,.hero.is-light .navbar-link.is-active{background-color:#e8e8e8;color:#000000b3}.hero.is-light .tabs a{color:#000000b3;opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{color:#f5f5f5!important;opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#000000b3}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#000000b3;border-color:#000000b3;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,hsl(350,10%,86%) 0%,hsl(0,0%,96%) 71%,hsl(10,5%,100%) 100%)}@media screen and (max-width: 768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(350,10%,86%) 0%,hsl(0,0%,96%) 71%,hsl(10,5%,100%) 100%)}}.hero.is-dark{background-color:#363636;color:#fff}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#fff}.hero.is-dark .subtitle{color:#ffffffe6}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:#ffffffb3}.hero.is-dark a.navbar-item:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark .navbar-link.is-active{background-color:#292929;color:#fff}.hero.is-dark .tabs a{color:#fff;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{color:#363636!important;opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#fff}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,hsl(350,10%,11%) 0%,hsl(0,0%,21%) 71%,hsl(10,5%,26%) 100%)}@media screen and (max-width: 768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(350,10%,11%) 0%,hsl(0,0%,21%) 71%,hsl(10,5%,26%) 100%)}}.hero.is-primary{background-color:#2da192;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:#ffffffe6}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-primary .navbar-menu{background-color:#2da192}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:#ffffffb3}.hero.is-primary a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary .navbar-link.is-active{background-color:#278d80;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{color:#2da192!important;opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#2da192}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,rgb(26.109223301,128.890776699,98.4697996875) 0%,#2da192 71%,rgb(44.7828883495,181.4149711249,186.7171116505) 100%)}@media screen and (max-width: 768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,rgb(26.109223301,128.890776699,98.4697996875) 0%,#2da192 71%,rgb(44.7828883495,181.4149711249,186.7171116505) 100%)}}.hero.is-info{background-color:#3e8ed0;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:#ffffffe6}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-info .navbar-menu{background-color:#3e8ed0}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:#ffffffb3}.hero.is-info a.navbar-item:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info .navbar-link:hover,.hero.is-info .navbar-link.is-active{background-color:#3082c5;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{color:#3e8ed0!important;opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3e8ed0}.hero.is-info.is-bold{background-image:linear-gradient(141deg,hsl(197,71%,43%) 0%,hsl(207,61%,53%) 71%,hsl(217,66%,58%) 100%)}@media screen and (max-width: 768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(197,71%,43%) 0%,hsl(207,61%,53%) 71%,hsl(217,66%,58%) 100%)}}.hero.is-success{background-color:#48c78e;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:#ffffffe6}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-success .navbar-menu{background-color:#48c78e}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:#ffffffb3}.hero.is-success a.navbar-item:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success .navbar-link:hover,.hero.is-success .navbar-link.is-active{background-color:#3abb81;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{color:#48c78e!important;opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#48c78e}.hero.is-success.is-bold{background-image:linear-gradient(141deg,hsl(143,63%,43%) 0%,hsl(153,53%,53%) 71%,hsl(163,58%,58%) 100%)}@media screen and (max-width: 768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(143,63%,43%) 0%,hsl(153,53%,53%) 71%,hsl(163,58%,58%) 100%)}}.hero.is-warning{background-color:#ffe08a;color:#000000b3}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:#000000b3}.hero.is-warning .subtitle{color:#000000e6}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:#000000b3}@media screen and (max-width: 1023px){.hero.is-warning .navbar-menu{background-color:#ffe08a}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:#000000b3}.hero.is-warning a.navbar-item:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning .navbar-link.is-active{background-color:#ffd970;color:#000000b3}.hero.is-warning .tabs a{color:#000000b3;opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{color:#ffe08a!important;opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:#000000b3}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:#000000b3;border-color:#000000b3;color:#ffe08a}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,hsl(34,100%,67%) 0%,hsl(44,100%,77%) 71%,hsl(54,100%,82%) 100%)}@media screen and (max-width: 768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(34,100%,67%) 0%,hsl(44,100%,77%) 71%,hsl(54,100%,82%) 100%)}}.hero.is-danger{background-color:#f14668;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:#ffffffe6}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-danger .navbar-menu{background-color:#f14668}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:#ffffffb3}.hero.is-danger a.navbar-item:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger .navbar-link.is-active{background-color:#ef2e55;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{color:#f14668!important;opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#f14668}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,hsl(338,96%,51%) 0%,hsl(348,86%,61%) 71%,hsl(358,91%,66%) 100%)}@media screen and (max-width: 768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,hsl(338,96%,51%) 0%,hsl(348,86%,61%) 71%,hsl(358,91%,66%) 100%)}}.hero.is-shade-1{background-color:#3d444b;color:#fff}.hero.is-shade-1 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-1 strong{color:inherit}.hero.is-shade-1 .title{color:#fff}.hero.is-shade-1 .subtitle{color:#ffffffe6}.hero.is-shade-1 .subtitle a:not(.button),.hero.is-shade-1 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-1 .navbar-menu{background-color:#3d444b}}.hero.is-shade-1 .navbar-item,.hero.is-shade-1 .navbar-link{color:#ffffffb3}.hero.is-shade-1 a.navbar-item:hover,.hero.is-shade-1 a.navbar-item.is-active,.hero.is-shade-1 .navbar-link:hover,.hero.is-shade-1 .navbar-link.is-active{background-color:#32373d;color:#fff}.hero.is-shade-1 .tabs a{color:#fff;opacity:.9}.hero.is-shade-1 .tabs a:hover{opacity:1}.hero.is-shade-1 .tabs li.is-active a{color:#3d444b!important;opacity:1}.hero.is-shade-1 .tabs.is-boxed a,.hero.is-shade-1 .tabs.is-toggle a{color:#fff}.hero.is-shade-1 .tabs.is-boxed a:hover,.hero.is-shade-1 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-1 .tabs.is-boxed li.is-active a,.hero.is-shade-1 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-1 .tabs.is-toggle li.is-active a,.hero.is-shade-1 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3d444b}.hero.is-shade-1.is-bold{background-image:linear-gradient(141deg,rgb(33.875,45.375,51.125) 0%,#3d444b 71%,rgb(68.4,76.6333333333,93.1) 100%)}@media screen and (max-width: 768px){.hero.is-shade-1.is-bold .navbar-menu{background-image:linear-gradient(141deg,rgb(33.875,45.375,51.125) 0%,#3d444b 71%,rgb(68.4,76.6333333333,93.1) 100%)}}.hero.is-shade-2{background-color:#33393f;color:#fff}.hero.is-shade-2 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-2 strong{color:inherit}.hero.is-shade-2 .title{color:#fff}.hero.is-shade-2 .subtitle{color:#ffffffe6}.hero.is-shade-2 .subtitle a:not(.button),.hero.is-shade-2 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-2 .navbar-menu{background-color:#33393f}}.hero.is-shade-2 .navbar-item,.hero.is-shade-2 .navbar-link{color:#ffffffb3}.hero.is-shade-2 a.navbar-item:hover,.hero.is-shade-2 a.navbar-item.is-active,.hero.is-shade-2 .navbar-link:hover,.hero.is-shade-2 .navbar-link.is-active{background-color:#282c31;color:#fff}.hero.is-shade-2 .tabs a{color:#fff;opacity:.9}.hero.is-shade-2 .tabs a:hover{opacity:1}.hero.is-shade-2 .tabs li.is-active a{color:#33393f!important;opacity:1}.hero.is-shade-2 .tabs.is-boxed a,.hero.is-shade-2 .tabs.is-toggle a{color:#fff}.hero.is-shade-2 .tabs.is-boxed a:hover,.hero.is-shade-2 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-2 .tabs.is-boxed li.is-active a,.hero.is-shade-2 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-2 .tabs.is-toggle li.is-active a,.hero.is-shade-2 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#33393f}.hero.is-shade-2.is-bold{background-image:linear-gradient(141deg,rgb(25.0342105263,33.6552631579,37.9657894737) 0%,#33393f 71%,rgb(58.9203947368,66.1401315789,80.5796052632) 100%)}@media screen and (max-width: 768px){.hero.is-shade-2.is-bold .navbar-menu{background-image:linear-gradient(141deg,rgb(25.0342105263,33.6552631579,37.9657894737) 0%,#33393f 71%,rgb(58.9203947368,66.1401315789,80.5796052632) 100%)}}.hero.is-shade-3{background-color:#282e33;color:#fff}.hero.is-shade-3 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-3 strong{color:inherit}.hero.is-shade-3 .title{color:#fff}.hero.is-shade-3 .subtitle{color:#ffffffe6}.hero.is-shade-3 .subtitle a:not(.button),.hero.is-shade-3 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-3 .navbar-menu{background-color:#282e33}}.hero.is-shade-3 .navbar-item,.hero.is-shade-3 .navbar-link{color:#ffffffb3}.hero.is-shade-3 a.navbar-item:hover,.hero.is-shade-3 a.navbar-item.is-active,.hero.is-shade-3 .navbar-link:hover,.hero.is-shade-3 .navbar-link.is-active{background-color:#1d2125;color:#fff}.hero.is-shade-3 .tabs a{color:#fff;opacity:.9}.hero.is-shade-3 .tabs a:hover{opacity:1}.hero.is-shade-3 .tabs li.is-active a{color:#282e33!important;opacity:1}.hero.is-shade-3 .tabs.is-boxed a,.hero.is-shade-3 .tabs.is-toggle a{color:#fff}.hero.is-shade-3 .tabs.is-boxed a:hover,.hero.is-shade-3 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-3 .tabs.is-boxed li.is-active a,.hero.is-shade-3 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-3 .tabs.is-toggle li.is-active a,.hero.is-shade-3 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#282e33}.hero.is-shade-3.is-bold{background-image:linear-gradient(141deg,rgb(15.5824175824,21.8741258741,24.4175824176) 0%,#282e33 71%,rgb(48.2962912088,55.836979687,68.2037087912) 100%)}@media screen and (max-width: 768px){.hero.is-shade-3.is-bold .navbar-menu{background-image:linear-gradient(141deg,rgb(15.5824175824,21.8741258741,24.4175824176) 0%,#282e33 71%,rgb(48.2962912088,55.836979687,68.2037087912) 100%)}}.hero.is-shade-4{background-color:#18191d;color:#fff}.hero.is-shade-4 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-4 strong{color:inherit}.hero.is-shade-4 .title{color:#fff}.hero.is-shade-4 .subtitle{color:#ffffffe6}.hero.is-shade-4 .subtitle a:not(.button),.hero.is-shade-4 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-4 .navbar-menu{background-color:#18191d}}.hero.is-shade-4 .navbar-item,.hero.is-shade-4 .navbar-link{color:#ffffffb3}.hero.is-shade-4 a.navbar-item:hover,.hero.is-shade-4 a.navbar-item.is-active,.hero.is-shade-4 .navbar-link:hover,.hero.is-shade-4 .navbar-link.is-active{background-color:#0c0d0f;color:#fff}.hero.is-shade-4 .tabs a{color:#fff;opacity:.9}.hero.is-shade-4 .tabs a:hover{opacity:1}.hero.is-shade-4 .tabs li.is-active a{color:#18191d!important;opacity:1}.hero.is-shade-4 .tabs.is-boxed a,.hero.is-shade-4 .tabs.is-toggle a{color:#fff}.hero.is-shade-4 .tabs.is-boxed a:hover,.hero.is-shade-4 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-4 .tabs.is-boxed li.is-active a,.hero.is-shade-4 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-4 .tabs.is-toggle li.is-active a,.hero.is-shade-4 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#18191d}.hero.is-shade-4.is-bold{background-image:linear-gradient(141deg,rgb(.8056603774,.9481761006,1.1943396226) 0%,#18191d 71%,rgb(33.5846698113,33.9623584906,44.9153301887) 100%)}@media screen and (max-width: 768px){.hero.is-shade-4.is-bold .navbar-menu{background-image:linear-gradient(141deg,rgb(.8056603774,.9481761006,1.1943396226) 0%,#18191d 71%,rgb(33.5846698113,33.9623584906,44.9153301887) 100%)}}.hero.is-small .hero-body{padding:1.5rem}@media screen and (min-width: 769px),print{.hero.is-medium .hero-body{padding:9rem 4.5rem}}@media screen and (min-width: 769px),print{.hero.is-large .hero-body{padding:18rem 6rem}}.hero.is-halfheight .hero-body,.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}.hero.is-halfheight .hero-body>.container,.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width: 768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media screen and (min-width: 769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-head,.hero-foot{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media screen and (min-width: 769px),print{.hero-body{padding:3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width: 1024px){.section{padding:3rem}.section.is-medium{padding:9rem 4.5rem}.section.is-large{padding:18rem 6rem}}.footer{background-color:#33393f;padding:3rem 1.5rem 6rem}.is-noscroll{position:fixed;overflow-y:hidden;width:100%;bottom:0}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{animation-name:fadeOut}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{animation-name:fadeOutDown}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{animation-name:fadeOutUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}.fadeInDown{animation-name:fadeInDown}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}.fadeInUp{animation-name:fadeInUp}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease-out}.fade-enter,.fade-enter-from,.fade-leave-to{opacity:0}.zoom-in-enter-active,.zoom-in-leave-active{transition:opacity .15s ease-out}.zoom-in-enter-active .animation-content,.zoom-in-leave-active .animation-content{transition:transform .15s ease-out}.zoom-in-enter,.zoom-in-enter-from,.zoom-in-leave-active{opacity:0}.zoom-in-enter .animation-content,.zoom-in-enter-from .animation-content,.zoom-in-leave-active .animation-content{transform:scale(.95)}.zoom-out-enter-active,.zoom-out-leave-active{transition:opacity .15s ease-out}.zoom-out-enter-active .animation-content,.zoom-out-leave-active .animation-content{transition:transform .15s ease-out}.zoom-out-enter,.zoom-out-enter-from,.zoom-out-leave-active{opacity:0}.zoom-out-enter .animation-content,.zoom-out-enter-from .animation-content,.zoom-out-leave-active .animation-content{transform:scale(1.05)}.slide-next-enter-active,.slide-next-leave-active,.slide-prev-enter-active,.slide-prev-leave-active{transition:transform .25s cubic-bezier(.785,.135,.15,.86)}.slide-prev-leave-to,.slide-next-enter,.slide-next-enter-from{transform:translate3d(-100%,0,0);position:absolute;width:100%}.slide-prev-enter,.slide-prev-enter-from,.slide-next-leave-to{transform:translate3d(100%,0,0);position:absolute;width:100%}.slide-down-enter-active,.slide-down-leave-active,.slide-up-enter-active,.slide-up-leave-active{transition:transform .25s cubic-bezier(.785,.135,.15,.86)}.slide-down-enter,.slide-up-leave-to,.slide-down-enter-from{transform:translate3d(0,-100%,0);position:absolute;height:100%}.slide-up-enter,.slide-up-enter-from,.slide-down-leave-to{transform:translate3d(0,100%,0);position:absolute;height:100%}.slide-enter-active{transition:.15s ease-out}.slide-leave-active{transition:.15s ease-out;transition-timing-function:cubic-bezier(0,1,.5,1)}.slide-leave,.slide-enter-to,.slide-leave-from{max-height:100px;overflow:hidden}.slide-enter,.slide-enter-from,.slide-leave-to{overflow:hidden;max-height:0}.autocomplete{position:relative}.autocomplete .dropdown-menu{display:block;width:100%}.autocomplete .dropdown-menu.is-opened-top{top:auto;bottom:100%}.autocomplete .dropdown-content{overflow:auto;max-height:200px}.autocomplete .dropdown-item,.autocomplete .dropdown .dropdown-menu .has-link a,.dropdown .dropdown-menu .has-link .autocomplete a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.autocomplete .dropdown-item.is-hovered,.autocomplete .dropdown .dropdown-menu .has-link a.is-hovered,.dropdown .dropdown-menu .has-link .autocomplete a.is-hovered,.autocomplete .dropdown-item:hover,.autocomplete .dropdown .dropdown-menu .has-link a:hover,.dropdown .dropdown-menu .has-link .autocomplete a:hover{background:#3d444b;color:#fff}.autocomplete .dropdown-item.is-disabled,.autocomplete .dropdown .dropdown-menu .has-link a.is-disabled,.dropdown .dropdown-menu .has-link .autocomplete a.is-disabled{opacity:.5;cursor:not-allowed}.field.is-grouped>:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped.is-grouped-multiline>:not(:last-child){margin-bottom:.75rem}.field.is-grouped .field{flex-shrink:0}.field.is-grouped .field:not(:last-child){margin-right:.75rem}.field.is-grouped .field.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .select:not(:last-child) select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .select:not(:first-child) select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .dropdown:not(:last-child) .button{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .dropdown:not(:first-child) .button{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .datepicker:not(:last-child) .input{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .datepicker:not(:first-child) .input{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control:first-child .control .button,.field.has-addons .control:first-child .control .input,.field.has-addons .control:first-child .control .select select{border-bottom-left-radius:4px;border-top-left-radius:4px}.field.has-addons .control:last-child .control .button,.field.has-addons .control:last-child .control .input,.field.has-addons .control:last-child .control .select select{border-bottom-right-radius:4px;border-top-right-radius:4px}.field.has-addons .control .control .button,.field.has-addons .control .control .input,.field.has-addons .control .control .select select{border-radius:0}.field.has-addons .b-numberinput:not(:first-child) .control:first-child .button,.field.has-addons .b-numberinput:not(:first-child) .control:first-child .input,.field.has-addons .b-numberinput:not(:first-child) .control:first-child .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .b-numberinput:not(:last-child) .control:last-child .button,.field.has-addons .b-numberinput:not(:last-child) .control:last-child .input,.field.has-addons .b-numberinput:not(:last-child) .control:last-child .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons.b-numberinput .control{margin-right:unset}.field.is-floating-label,.field.is-floating-in-label{position:relative}.field.is-floating-label .label,.field.is-floating-in-label .label{position:absolute;left:1em;font-size:.75rem;background-color:transparent;z-index:5;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 2em);overflow:hidden}.field.is-floating-label .label.is-small,.field.is-floating-in-label .label.is-small{font-size:.5625rem}.field.is-floating-label .label.is-medium,.field.is-floating-in-label .label.is-medium{font-size:.9375rem}.field.is-floating-label .label.is-large,.field.is-floating-in-label .label.is-large{font-size:1.125rem}.field.is-floating-label .taginput .counter,.field.is-floating-in-label .taginput .counter{float:none;text-align:right}.field.is-floating-label.has-addons>.label+.control .button,.field.is-floating-label.has-addons>.label+.control .input,.field.is-floating-label.has-addons>.label+.control .select select,.field.is-floating-in-label.has-addons>.label+.control .button,.field.is-floating-in-label.has-addons>.label+.control .input,.field.is-floating-in-label.has-addons>.label+.control .select select{border-bottom-left-radius:4px;border-top-left-radius:4px}.field.is-floating-label .label{top:-.775em;padding-left:.125em;padding-right:.125em}.field.is-floating-label .label:before{content:"";display:block;position:absolute;top:.775em;left:0;right:0;height:.375em;background-color:#3d444b;z-index:-1}.field.is-floating-label .input:focus,.field.is-floating-label .textarea:focus,.field.is-floating-label .select select:focus{box-shadow:none}.field.is-floating-label .taginput .taginput-container{padding-top:.475em}.field.is-floating-label .taginput .taginput-container.is-focused{box-shadow:none}.field.is-floating-in-label>.label{top:.25em}.field.is-floating-in-label>.label+.control.datepicker .input,.field.is-floating-in-label>.label+.control.timepicker .input{padding-top:calc(1.625em - .5625rem);padding-bottom:1px;height:3.25em}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .input,.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .textarea,.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) select{padding-top:calc(1.625em - .5625rem);padding-bottom:1px;height:3.25em}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .select:not(multiple){height:3.25em}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .select:not(multiple).is-loading:after{margin-top:calc(1.625em - .5625rem)}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .select:not(multiple):after{margin-top:1px}.field.is-floating-in-label>.label+.control.taginput .taginput-container{padding-top:calc(1.9em - .5625rem - 1px)}.field.is-floating-in-label>.label+.control:not(.taginput) .is-left.icon,.field.is-floating-in-label>.label+.control:not(.taginput) .is-right.icon{height:3.25em}.field.is-floating-in-label>.label+.control:not(.taginput) .is-left.icon{padding-top:calc(1.625em - .5625rem)}.field.is-floating-in-label>.label+.control.is-loading:after{margin-top:calc(1.625em - .5625rem)}.field.is-floating-in-label>.label+.field-body>.is-grouped .control .input,.field.is-floating-in-label>.label+.field-body>.is-grouped .control .textarea,.field.is-floating-in-label>.label+.field-body>.is-grouped .control select,.field.is-floating-in-label>.label+.field-body>.has-addons .control .input,.field.is-floating-in-label>.label+.field-body>.has-addons .control .textarea,.field.is-floating-in-label>.label+.field-body>.has-addons .control select{padding-top:calc(1.625em - .5625rem);padding-bottom:1px}.field.is-floating-in-label>.label+.field-body>.is-grouped .control .input,.field.is-floating-in-label>.label+.field-body>.is-grouped .control .textarea,.field.is-floating-in-label>.label+.field-body>.is-grouped .control select,.field.is-floating-in-label>.label+.field-body>.is-grouped .control .button,.field.is-floating-in-label>.label+.field-body>.has-addons .control .input,.field.is-floating-in-label>.label+.field-body>.has-addons .control .textarea,.field.is-floating-in-label>.label+.field-body>.has-addons .control select,.field.is-floating-in-label>.label+.field-body>.has-addons .control .button{height:3.25em}.field.is-floating-in-label.has-numberinput .b-numberinput .control .input,.field.is-floating-in-label.has-numberinput .b-numberinput .control .button{height:3.25em}.field.is-floating-label.has-numberinput .label,.field.is-floating-in-label.has-numberinput .label{margin-left:3rem}.field.is-floating-label.has-numberinput.has-numberinput-is-small .label,.field.is-floating-in-label.has-numberinput.has-numberinput-is-small .label{margin-left:2.25rem}.field.is-floating-label.has-numberinput.has-numberinput-is-medium .label,.field.is-floating-in-label.has-numberinput.has-numberinput-is-medium .label{margin-left:3.75rem}.field.is-floating-label.has-numberinput.has-numberinput-is-large .label,.field.is-floating-in-label.has-numberinput.has-numberinput-is-large .label{margin-left:4.5rem}.field.is-floating-label.has-numberinput-compact .label,.field.is-floating-in-label.has-numberinput-compact .label{margin-left:2.25rem}.field.is-floating-label.has-numberinput-compact.has-numberinput-is-small .label,.field.is-floating-in-label.has-numberinput-compact.has-numberinput-is-small .label{margin-left:1.6875rem}.field.is-floating-label.has-numberinput-compact.has-numberinput-is-medium .label,.field.is-floating-in-label.has-numberinput-compact.has-numberinput-is-medium .label{margin-left:2.8125rem}.field.is-floating-label.has-numberinput-compact.has-numberinput-is-large .label,.field.is-floating-in-label.has-numberinput-compact.has-numberinput-is-large .label{margin-left:3.375rem}.field.is-grouped-right.is-floating-in-label .label,.field.has-addons-right.is-floating-in-label .label,.field.is-grouped-right.is-floating-label .label,.field.has-addons-right.is-floating-label .label{position:relative;left:5.25em}.control .help.counter{float:right;margin-left:.5em}.control .icon.is-clickable{pointer-events:auto;cursor:pointer}.control.is-loading:after{top:calc(50% - .5em);right:.75em}.taginput .taginput-container{display:flex}.taginput .taginput-container.is-focusable{padding-bottom:0;padding-top:calc(.275em - 1px);padding-left:0;padding-right:0;align-items:center;flex-wrap:wrap;justify-content:flex-start;height:auto;cursor:text}.taginput .taginput-container:not(.is-focusable){align-items:center;flex-wrap:wrap;justify-content:flex-start;height:auto}.taginput .taginput-container:not(.is-focusable).is-small{border-radius:2px;font-size:.75rem}.taginput .taginput-container:not(.is-focusable).is-medium{font-size:1.25rem}.taginput .taginput-container:not(.is-focusable).is-large{font-size:1.5rem}.taginput .taginput-container>.tag,.taginput .taginput-container>.tags{margin-left:.275rem;margin-bottom:calc(.275em - 1px);font-size:.9em;height:calc(2em - 1px)}.taginput .taginput-container>.tag .tag,.taginput .taginput-container>.tags .tag{margin-bottom:0;font-size:.9em;height:calc(2em - 1px)}.taginput .taginput-container>.tag .tag.is-delete,.taginput .taginput-container>.tags .tag.is-delete{width:calc(2em - 1px)}.taginput .taginput-container .tag:not(body) .icon.delete{margin-left:.275rem;margin-bottom:calc(.275em - 1px)}.taginput .taginput-container .autocomplete{position:static;flex:1}.taginput .taginput-container .autocomplete input{height:calc(2em - 1px);margin-bottom:calc(.275em - 1px);padding-top:0;padding-bottom:0;border:none;box-shadow:none;min-width:8em}.taginput .taginput-container .autocomplete input:focus{box-shadow:none!important}.taginput .taginput-container .autocomplete .icon{height:calc(2em - 1px)}.taginput .taginput-container .autocomplete>.control.is-loading:after{top:.375em}.switch{cursor:pointer;display:inline-flex;align-items:center;position:relative;margin-right:.5em}.switch+.switch:last-child{margin-right:0}.switch input[type=checkbox]{position:absolute;left:0;opacity:0;outline:none;z-index:-1}.switch input[type=checkbox]+.check{display:flex;align-items:center;flex-shrink:0;width:2.75em;height:1.575em;padding:.2em;background:hsl(0,0%,71%);border-radius:4px;transition:background .15s ease-out,box-shadow .15s ease-out}.switch input[type=checkbox]+.check.is-white-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,100%)}.switch input[type=checkbox]+.check.is-black-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,4%)}.switch input[type=checkbox]+.check.is-light-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,96%)}.switch input[type=checkbox]+.check.is-dark-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,21%)}.switch input[type=checkbox]+.check.is-primary-passive,.switch input[type=checkbox]+.check:hover{background:#2da192}.switch input[type=checkbox]+.check.is-info-passive,.switch input[type=checkbox]+.check:hover{background:hsl(207,61%,53%)}.switch input[type=checkbox]+.check.is-success-passive,.switch input[type=checkbox]+.check:hover{background:hsl(153,53%,53%)}.switch input[type=checkbox]+.check.is-warning-passive,.switch input[type=checkbox]+.check:hover{background:hsl(44,100%,77%)}.switch input[type=checkbox]+.check.is-danger-passive,.switch input[type=checkbox]+.check:hover{background:hsl(348,86%,61%)}.switch input[type=checkbox]+.check.is-shade-1-passive,.switch input[type=checkbox]+.check:hover{background:#3d444b}.switch input[type=checkbox]+.check.is-shade-2-passive,.switch input[type=checkbox]+.check:hover{background:#33393f}.switch input[type=checkbox]+.check.is-shade-3-passive,.switch input[type=checkbox]+.check:hover{background:#282e33}.switch input[type=checkbox]+.check.is-shade-4-passive,.switch input[type=checkbox]+.check:hover{background:#18191d}.switch input[type=checkbox]+.check.input[type=checkbox]+.switch input[type=checkbox]+.check.check{background:"pink"}.switch input[type=checkbox]+.check:before{content:"";display:block;border-radius:4px;width:1.175em;height:1.175em;background:hsl(0,0%,96%);box-shadow:0 3px 1px #0000000d,0 2px 2px #0000001a,0 3px 3px #0000000d;transition:transform .15s ease-out;will-change:transform;transform-origin:left}.switch input[type=checkbox]+.check.is-elastic:before{transform:scaleX(1.5);border-radius:4px}.switch input[type=checkbox]:checked+.check{background:#2da192}.switch input[type=checkbox]:checked+.check.is-white{background:hsl(0,0%,100%)}.switch input[type=checkbox]:checked+.check.is-black{background:hsl(0,0%,4%)}.switch input[type=checkbox]:checked+.check.is-light{background:hsl(0,0%,96%)}.switch input[type=checkbox]:checked+.check.is-dark{background:hsl(0,0%,21%)}.switch input[type=checkbox]:checked+.check.is-primary{background:#2da192}.switch input[type=checkbox]:checked+.check.is-info{background:hsl(207,61%,53%)}.switch input[type=checkbox]:checked+.check.is-success{background:hsl(153,53%,53%)}.switch input[type=checkbox]:checked+.check.is-warning{background:hsl(44,100%,77%)}.switch input[type=checkbox]:checked+.check.is-danger{background:hsl(348,86%,61%)}.switch input[type=checkbox]:checked+.check.is-shade-1{background:#3d444b}.switch input[type=checkbox]:checked+.check.is-shade-2{background:#33393f}.switch input[type=checkbox]:checked+.check.is-shade-3{background:#282e33}.switch input[type=checkbox]:checked+.check.is-shade-4{background:#18191d}.switch input[type=checkbox]:checked+.check:before{transform:translate3d(100%,0,0)}.switch input[type=checkbox]:checked+.check.is-elastic:before{transform:translate3d(50%,0,0) scaleX(1.5)}.switch input[type=checkbox]:focus,.switch input[type=checkbox]:active{outline:none}.switch input[type=checkbox]:focus+.check,.switch input[type=checkbox]:active+.check{box-shadow:0 0 .5em #7a7a7a99}.switch input[type=checkbox]:focus+.check.is-white-passive,.switch input[type=checkbox]:active+.check.is-white-passive{box-shadow:0 0 .5em #fffc}.switch input[type=checkbox]:focus+.check.is-black-passive,.switch input[type=checkbox]:active+.check.is-black-passive{box-shadow:0 0 .5em #0a0a0acc}.switch input[type=checkbox]:focus+.check.is-light-passive,.switch input[type=checkbox]:active+.check.is-light-passive{box-shadow:0 0 .5em #f5f5f5cc}.switch input[type=checkbox]:focus+.check.is-dark-passive,.switch input[type=checkbox]:active+.check.is-dark-passive{box-shadow:0 0 .5em #363636cc}.switch input[type=checkbox]:focus+.check.is-primary-passive,.switch input[type=checkbox]:active+.check.is-primary-passive{box-shadow:0 0 .5em #2da192cc}.switch input[type=checkbox]:focus+.check.is-info-passive,.switch input[type=checkbox]:active+.check.is-info-passive{box-shadow:0 0 .5em #3e8ed0cc}.switch input[type=checkbox]:focus+.check.is-success-passive,.switch input[type=checkbox]:active+.check.is-success-passive{box-shadow:0 0 .5em #48c78ecc}.switch input[type=checkbox]:focus+.check.is-warning-passive,.switch input[type=checkbox]:active+.check.is-warning-passive{box-shadow:0 0 .5em #ffe08acc}.switch input[type=checkbox]:focus+.check.is-danger-passive,.switch input[type=checkbox]:active+.check.is-danger-passive{box-shadow:0 0 .5em #f14668cc}.switch input[type=checkbox]:focus+.check.is-shade-1-passive,.switch input[type=checkbox]:active+.check.is-shade-1-passive{box-shadow:0 0 .5em #3d444bcc}.switch input[type=checkbox]:focus+.check.is-shade-2-passive,.switch input[type=checkbox]:active+.check.is-shade-2-passive{box-shadow:0 0 .5em #33393fcc}.switch input[type=checkbox]:focus+.check.is-shade-3-passive,.switch input[type=checkbox]:active+.check.is-shade-3-passive{box-shadow:0 0 .5em #282e33cc}.switch input[type=checkbox]:focus+.check.is-shade-4-passive,.switch input[type=checkbox]:active+.check.is-shade-4-passive{box-shadow:0 0 .5em #18191dcc}.switch input[type=checkbox]:focus:checked+.check,.switch input[type=checkbox]:active:checked+.check{box-shadow:0 0 .5em #2da192cc}.switch input[type=checkbox]:focus:checked+.check.is-white,.switch input[type=checkbox]:active:checked+.check.is-white{box-shadow:0 0 .5em #fffc}.switch input[type=checkbox]:focus:checked+.check.is-black,.switch input[type=checkbox]:active:checked+.check.is-black{box-shadow:0 0 .5em #0a0a0acc}.switch input[type=checkbox]:focus:checked+.check.is-light,.switch input[type=checkbox]:active:checked+.check.is-light{box-shadow:0 0 .5em #f5f5f5cc}.switch input[type=checkbox]:focus:checked+.check.is-dark,.switch input[type=checkbox]:active:checked+.check.is-dark{box-shadow:0 0 .5em #363636cc}.switch input[type=checkbox]:focus:checked+.check.is-primary,.switch input[type=checkbox]:active:checked+.check.is-primary{box-shadow:0 0 .5em #2da192cc}.switch input[type=checkbox]:focus:checked+.check.is-info,.switch input[type=checkbox]:active:checked+.check.is-info{box-shadow:0 0 .5em #3e8ed0cc}.switch input[type=checkbox]:focus:checked+.check.is-success,.switch input[type=checkbox]:active:checked+.check.is-success{box-shadow:0 0 .5em #48c78ecc}.switch input[type=checkbox]:focus:checked+.check.is-warning,.switch input[type=checkbox]:active:checked+.check.is-warning{box-shadow:0 0 .5em #ffe08acc}.switch input[type=checkbox]:focus:checked+.check.is-danger,.switch input[type=checkbox]:active:checked+.check.is-danger{box-shadow:0 0 .5em #f14668cc}.switch input[type=checkbox]:focus:checked+.check.is-shade-1,.switch input[type=checkbox]:active:checked+.check.is-shade-1{box-shadow:0 0 .5em #3d444bcc}.switch input[type=checkbox]:focus:checked+.check.is-shade-2,.switch input[type=checkbox]:active:checked+.check.is-shade-2{box-shadow:0 0 .5em #33393fcc}.switch input[type=checkbox]:focus:checked+.check.is-shade-3,.switch input[type=checkbox]:active:checked+.check.is-shade-3{box-shadow:0 0 .5em #282e33cc}.switch input[type=checkbox]:focus:checked+.check.is-shade-4,.switch input[type=checkbox]:active:checked+.check.is-shade-4{box-shadow:0 0 .5em #18191dcc}.switch.has-left-label{flex-direction:row-reverse}.switch.has-left-label .control-label{padding-right:calc(.75em - 1px)}.switch:not(.has-left-label) .control-label{padding-left:calc(.75em - 1px)}.switch:hover input[type=checkbox]+.check{background:rgba(181.05,181.05,181.05,.9)}.switch:hover input[type=checkbox]+.check.is-white-passive{background:rgba(255,255,255,.9)}.switch:hover input[type=checkbox]+.check.is-black-passive{background:rgba(10.2,10.2,10.2,.9)}.switch:hover input[type=checkbox]+.check.is-light-passive{background:rgba(244.8,244.8,244.8,.9)}.switch:hover input[type=checkbox]+.check.is-dark-passive{background:rgba(53.55,53.55,53.55,.9)}.switch:hover input[type=checkbox]+.check.is-primary-passive{background:rgba(45,161,146,.9)}.switch:hover input[type=checkbox]+.check.is-info-passive{background:rgba(62.0415,142.46085,208.2585,.9)}.switch:hover input[type=checkbox]+.check.is-success-passive{background:rgba(71.6295,198.6705,141.50205,.9)}.switch:hover input[type=checkbox]+.check.is-warning-passive{background:rgba(255,223.72,137.7,.9)}.switch:hover input[type=checkbox]+.check.is-danger-passive{background:rgba(241.077,70.023,104.2338,.9)}.switch:hover input[type=checkbox]+.check.is-shade-1-passive{background:rgba(61,68,75,.9)}.switch:hover input[type=checkbox]+.check.is-shade-2-passive{background:rgba(51,57,63,.9)}.switch:hover input[type=checkbox]+.check.is-shade-3-passive{background:rgba(40,46,51,.9)}.switch:hover input[type=checkbox]+.check.is-shade-4-passive{background:rgba(24,25,29,.9)}.switch:hover input[type=checkbox]:checked+.check{background:rgba(45,161,146,.9)}.switch:hover input[type=checkbox]:checked+.check.is-white{background:rgba(255,255,255,.9)}.switch:hover input[type=checkbox]:checked+.check.is-black{background:rgba(10.2,10.2,10.2,.9)}.switch:hover input[type=checkbox]:checked+.check.is-light{background:rgba(244.8,244.8,244.8,.9)}.switch:hover input[type=checkbox]:checked+.check.is-dark{background:rgba(53.55,53.55,53.55,.9)}.switch:hover input[type=checkbox]:checked+.check.is-primary{background:rgba(45,161,146,.9)}.switch:hover input[type=checkbox]:checked+.check.is-info{background:rgba(62.0415,142.46085,208.2585,.9)}.switch:hover input[type=checkbox]:checked+.check.is-success{background:rgba(71.6295,198.6705,141.50205,.9)}.switch:hover input[type=checkbox]:checked+.check.is-warning{background:rgba(255,223.72,137.7,.9)}.switch:hover input[type=checkbox]:checked+.check.is-danger{background:rgba(241.077,70.023,104.2338,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-1{background:rgba(61,68,75,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-2{background:rgba(51,57,63,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-3{background:rgba(40,46,51,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-4{background:rgba(24,25,29,.9)}.switch.is-rounded input[type=checkbox]+.check{border-radius:9999px}.switch.is-rounded input[type=checkbox]+.check:before{border-radius:9999px}.switch.is-rounded input[type=checkbox].is-elastic:before{transform:scaleX(1.5);border-radius:9999px}.switch.is-outlined input[type=checkbox]+.check{background:transparent;border:.1rem solid hsl(0,0%,71%)}.switch.is-outlined input[type=checkbox]+.check.is-white-passive{border:.1rem solid rgba(255,255,255,.9)}.switch.is-outlined input[type=checkbox]+.check.is-white-passive:before{background:hsl(0,0%,100%)}.switch.is-outlined input[type=checkbox]+.check.is-white-passive:hover{border-color:#ffffffe6}.switch.is-outlined input[type=checkbox]+.check.is-black-passive{border:.1rem solid rgba(10.2,10.2,10.2,.9)}.switch.is-outlined input[type=checkbox]+.check.is-black-passive:before{background:hsl(0,0%,4%)}.switch.is-outlined input[type=checkbox]+.check.is-black-passive:hover{border-color:#0a0a0ae6}.switch.is-outlined input[type=checkbox]+.check.is-light-passive{border:.1rem solid rgba(244.8,244.8,244.8,.9)}.switch.is-outlined input[type=checkbox]+.check.is-light-passive:before{background:hsl(0,0%,96%)}.switch.is-outlined input[type=checkbox]+.check.is-light-passive:hover{border-color:#f5f5f5e6}.switch.is-outlined input[type=checkbox]+.check.is-dark-passive{border:.1rem solid rgba(53.55,53.55,53.55,.9)}.switch.is-outlined input[type=checkbox]+.check.is-dark-passive:before{background:hsl(0,0%,21%)}.switch.is-outlined input[type=checkbox]+.check.is-dark-passive:hover{border-color:#363636e6}.switch.is-outlined input[type=checkbox]+.check.is-primary-passive{border:.1rem solid rgba(45,161,146,.9)}.switch.is-outlined input[type=checkbox]+.check.is-primary-passive:before{background:#2da192}.switch.is-outlined input[type=checkbox]+.check.is-primary-passive:hover{border-color:#2da192e6}.switch.is-outlined input[type=checkbox]+.check.is-info-passive{border:.1rem solid rgba(62.0415,142.46085,208.2585,.9)}.switch.is-outlined input[type=checkbox]+.check.is-info-passive:before{background:hsl(207,61%,53%)}.switch.is-outlined input[type=checkbox]+.check.is-info-passive:hover{border-color:#3e8ed0e6}.switch.is-outlined input[type=checkbox]+.check.is-success-passive{border:.1rem solid rgba(71.6295,198.6705,141.50205,.9)}.switch.is-outlined input[type=checkbox]+.check.is-success-passive:before{background:hsl(153,53%,53%)}.switch.is-outlined input[type=checkbox]+.check.is-success-passive:hover{border-color:#48c78ee6}.switch.is-outlined input[type=checkbox]+.check.is-warning-passive{border:.1rem solid rgba(255,223.72,137.7,.9)}.switch.is-outlined input[type=checkbox]+.check.is-warning-passive:before{background:hsl(44,100%,77%)}.switch.is-outlined input[type=checkbox]+.check.is-warning-passive:hover{border-color:#ffe08ae6}.switch.is-outlined input[type=checkbox]+.check.is-danger-passive{border:.1rem solid rgba(241.077,70.023,104.2338,.9)}.switch.is-outlined input[type=checkbox]+.check.is-danger-passive:before{background:hsl(348,86%,61%)}.switch.is-outlined input[type=checkbox]+.check.is-danger-passive:hover{border-color:#f14668e6}.switch.is-outlined input[type=checkbox]+.check.is-shade-1-passive{border:.1rem solid rgba(61,68,75,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-1-passive:before{background:#3d444b}.switch.is-outlined input[type=checkbox]+.check.is-shade-1-passive:hover{border-color:#3d444be6}.switch.is-outlined input[type=checkbox]+.check.is-shade-2-passive{border:.1rem solid rgba(51,57,63,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-2-passive:before{background:#33393f}.switch.is-outlined input[type=checkbox]+.check.is-shade-2-passive:hover{border-color:#33393fe6}.switch.is-outlined input[type=checkbox]+.check.is-shade-3-passive{border:.1rem solid rgba(40,46,51,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-3-passive:before{background:#282e33}.switch.is-outlined input[type=checkbox]+.check.is-shade-3-passive:hover{border-color:#282e33e6}.switch.is-outlined input[type=checkbox]+.check.is-shade-4-passive{border:.1rem solid rgba(24,25,29,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-4-passive:before{background:#18191d}.switch.is-outlined input[type=checkbox]+.check.is-shade-4-passive:hover{border-color:#18191de6}.switch.is-outlined input[type=checkbox]+.check:before{background:hsl(0,0%,71%)}.switch.is-outlined input[type=checkbox]:checked+.check{border-color:#2da192}.switch.is-outlined input[type=checkbox]:checked+.check.is-white{background:transparent;border-color:#fff}.switch.is-outlined input[type=checkbox]:checked+.check.is-white:before{background:hsl(0,0%,100%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-black{background:transparent;border-color:#0a0a0a}.switch.is-outlined input[type=checkbox]:checked+.check.is-black:before{background:hsl(0,0%,4%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-light{background:transparent;border-color:#f5f5f5}.switch.is-outlined input[type=checkbox]:checked+.check.is-light:before{background:hsl(0,0%,96%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-dark{background:transparent;border-color:#363636}.switch.is-outlined input[type=checkbox]:checked+.check.is-dark:before{background:hsl(0,0%,21%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-primary{background:transparent;border-color:#2da192}.switch.is-outlined input[type=checkbox]:checked+.check.is-primary:before{background:#2da192}.switch.is-outlined input[type=checkbox]:checked+.check.is-info{background:transparent;border-color:#3e8ed0}.switch.is-outlined input[type=checkbox]:checked+.check.is-info:before{background:hsl(207,61%,53%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-success{background:transparent;border-color:#48c78e}.switch.is-outlined input[type=checkbox]:checked+.check.is-success:before{background:hsl(153,53%,53%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-warning{background:transparent;border-color:#ffe08a}.switch.is-outlined input[type=checkbox]:checked+.check.is-warning:before{background:hsl(44,100%,77%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-danger{background:transparent;border-color:#f14668}.switch.is-outlined input[type=checkbox]:checked+.check.is-danger:before{background:hsl(348,86%,61%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-1{background:transparent;border-color:#3d444b}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-1:before{background:#3d444b}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-2{background:transparent;border-color:#33393f}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-2:before{background:#33393f}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-3{background:transparent;border-color:#282e33}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-3:before{background:#282e33}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-4{background:transparent;border-color:#18191d}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-4:before{background:#18191d}.switch.is-outlined input[type=checkbox]:checked+.check:before{background:#2da192}.switch.is-outlined:hover input[type=checkbox]+.check{background:transparent;border-color:#b5b5b5e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check{background:transparent;border-color:#2da192e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-white{border-color:#ffffffe6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-black{border-color:#0a0a0ae6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-light{border-color:#f5f5f5e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-dark{border-color:#363636e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-primary{border-color:#2da192e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-info{border-color:#3e8ed0e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-success{border-color:#48c78ee6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-warning{border-color:#ffe08ae6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-danger{border-color:#f14668e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-1{border-color:#3d444be6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-2{border-color:#33393fe6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-3{border-color:#282e33e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-4{border-color:#18191de6}.switch.is-small{border-radius:2px;font-size:.75rem}.switch.is-medium{font-size:1.25rem}.switch.is-large{font-size:1.5rem}.switch.is-disabled{opacity:.5;cursor:not-allowed;color:#7a7a7a}.pagination .pagination-next,.pagination .pagination-previous{padding-left:.75em;padding-right:.75em}.pagination .pagination-next.is-disabled,.pagination .pagination-previous.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.pagination.is-simple{justify-content:normal}.pagination.is-simple.is-centered{justify-content:center}.pagination.is-simple.is-right{justify-content:flex-end}.pagination .is-current{pointer-events:none;cursor:not-allowed}.table-wrapper{position:relative}.table-wrapper .table{margin-bottom:0}.table-wrapper:not(:last-child){margin-bottom:1.5rem}@media screen and (max-width: 1023px){.table-wrapper{overflow-x:auto}}.b-table{transition:opacity 86ms ease-out}@media screen and (min-width: 769px),print{.b-table .table-mobile-sort{display:none}}.b-table .table-mobile-sort .button{background-color:#2da192;color:#fff}.b-table .icon{transition:transform .15s ease-out,opacity 86ms ease-out}.b-table .icon.is-desc{transform:rotate(180deg)}.b-table .icon.is-expanded{transform:rotate(90deg)}.b-table .sort-icon.icon.is-desc{transform:rotate(180deg) translateY(-50%)!important}.b-table .table{width:100%;border:1px solid transparent;border-radius:4px;border-collapse:separate}.b-table .table th{font-weight:600}.b-table .table th .th-wrap{display:flex;align-items:center}.b-table .table th .th-wrap .icon{margin-left:.5rem;margin-right:0;font-size:1rem}.b-table .table th.is-right{flex-direction:row-reverse;text-align:right}.b-table .table th.is-right .icon{margin-left:0;margin-right:.5rem}.b-table .table th.is-centered{justify-content:center;text-align:center}.b-table .table th.is-current-sort{border-color:#7a7a7a;font-weight:700}.b-table .table th.is-sortable:hover{border-color:#7a7a7a}.b-table .table th.is-sortable{cursor:pointer}.b-table .table th.is-sortable>span{position:relative}.b-table .table th .sort-icon,.b-table .table th .multi-sort-cancel-icon{position:absolute;bottom:50%;left:100%;transform:translateY(50%)}.b-table .table th .multi-sort-cancel-icon{margin-left:10px}.b-table .table th.is-sticky{position:-webkit-sticky;position:sticky;left:0;z-index:3!important;background:transparent}.b-table .table th.th-checkbox,.b-table .table th.th-chevron-cell{width:40px}.b-table .table tr.is-selected .checkbox input:checked+.check{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%232da192' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-table .table tr.is-selected .checkbox input+.check{border-color:#fff}.b-table .table tr.is-empty:hover{background-color:transparent}.b-table .table .chevron-cell{vertical-align:middle}.b-table .table .chevron-cell>.icon{color:#2da192!important}.b-table .table .checkbox-cell{width:40px}.b-table .table .checkbox-cell .checkbox{vertical-align:middle}.b-table .table .checkbox-cell .checkbox .check{transition:none}.b-table .table tr.detail{box-shadow:inset 0 1px 3px #dbdbdb;background:#33393f}.b-table .table tr.detail .detail-container{padding:1rem}.b-table .table:focus{border-color:#2da192;box-shadow:0 0 0 .125em #2da19240}.b-table .table.is-bordered th.is-current-sort,.b-table .table.is-bordered th.is-sortable:hover{border-color:#dbdbdb;background:hsl(0,0%,96%)}.b-table .table td.is-sticky{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:#18191d}.b-table .table.is-striped tbody tr:not(.is-selected):nth-child(2n) td.is-sticky{background:#33393f}.b-table .level>div{flex-basis:auto;flex-grow:0;flex-shrink:0;align-items:center}@media screen and (min-width: 769px),print{.b-table .level>div{display:flex}}.b-table .level>div>div{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.b-table .level>div:first-child{justify-content:flex-start}.b-table .level>div:last-child{justify-content:flex-end}.b-table .level.is-mobile>div{display:flex}.b-table .table-wrapper.has-sticky-header{height:300px;overflow-y:auto}@media screen and (max-width: 768px){.b-table .table-wrapper.has-sticky-header.is-mobile{height:initial!important;overflow-y:initial!important}}.b-table .table-wrapper.has-sticky-header tr:first-child th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#18191d}@media screen and (max-width: 768px){.b-table .table-wrapper.is-mobile .table{background-color:transparent}.b-table .table-wrapper.is-mobile thead tr{box-shadow:none;border-width:0}.b-table .table-wrapper.is-mobile thead tr th{display:none}.b-table .table-wrapper.is-mobile thead tr .checkbox-cell{display:block;width:100%;text-align:right;margin-bottom:1rem;border:0}.b-table .table-wrapper.is-mobile tfoot th{border:0;display:inherit}.b-table .table-wrapper.is-mobile tr{box-shadow:0 2px 3px #0a0a0a1a,0 0 0 1px #0a0a0a1a;max-width:100%;position:relative;display:block}.b-table .table-wrapper.is-mobile tr td{border:0;display:inherit}.b-table .table-wrapper.is-mobile tr td:last-child{border-bottom:0}.b-table .table-wrapper.is-mobile tr:not(:last-child){margin-bottom:1rem}.b-table .table-wrapper.is-mobile tr:not([class*=is-]){background:#18191d}.b-table .table-wrapper.is-mobile tr:not([class*=is-]):hover{background-color:#18191d}.b-table .table-wrapper.is-mobile tr.detail{margin-top:-1rem}.b-table .table-wrapper.is-mobile tr:not(.detail):not(.is-empty):not(.table-footer) td{display:flex;width:auto;justify-content:space-between;text-align:right;border-bottom:1px solid hsl(0,0%,96%)}.b-table .table-wrapper.is-mobile tr:not(.detail):not(.is-empty):not(.table-footer) td:before{content:attr(data-label);font-weight:600;padding-right:.5em;text-align:left}}.b-table .table-wrapper.is-card-list .table{background-color:transparent}.b-table .table-wrapper.is-card-list thead tr{box-shadow:none;border-width:0}.b-table .table-wrapper.is-card-list thead tr th{display:none}.b-table .table-wrapper.is-card-list thead tr .checkbox-cell{display:block;width:100%;text-align:right;margin-bottom:1rem;border:0}.b-table .table-wrapper.is-card-list tfoot th{border:0;display:inherit}.b-table .table-wrapper.is-card-list tr{box-shadow:0 2px 3px #0a0a0a1a,0 0 0 1px #0a0a0a1a;max-width:100%;position:relative;display:block}.b-table .table-wrapper.is-card-list tr td{border:0;display:inherit}.b-table .table-wrapper.is-card-list tr td:last-child{border-bottom:0}.b-table .table-wrapper.is-card-list tr:not(:last-child){margin-bottom:1rem}.b-table .table-wrapper.is-card-list tr:not([class*=is-]){background:#18191d}.b-table .table-wrapper.is-card-list tr:not([class*=is-]):hover{background-color:#18191d}.b-table .table-wrapper.is-card-list tr.detail{margin-top:-1rem}.b-table .table-wrapper.is-card-list tr:not(.detail):not(.is-empty):not(.table-footer) td{display:flex;width:auto;justify-content:space-between;text-align:right;border-bottom:1px solid hsl(0,0%,96%)}.b-table .table-wrapper.is-card-list tr:not(.detail):not(.is-empty):not(.table-footer) td:before{content:attr(data-label);font-weight:600;padding-right:.5em;text-align:left}.b-tabs .tabs{margin-bottom:0;flex-shrink:0}.b-tabs .tabs div a:focus{outline:none;border-bottom-color:#2da192}.b-tabs .tabs div a:not(.is-active):focus{border-bottom-color:#f2f2f2}.b-tabs .tabs div a.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.b-tabs .tabs.is-boxed div a:focus{background-color:#18191d;border-bottom-color:transparent}.b-tabs .tabs.is-boxed div a:not(.is-active):focus{background-color:#f5f5f5;border-bottom-color:#242424}.b-tabs .tabs.is-toggle div a:focus{background-color:#2da192;border-color:#2da192}.b-tabs .tabs.is-toggle div a:not(.is-active):focus{background-color:#f5f5f5;border-color:#121212}.b-tabs .tab-content{position:relative;overflow:visible;display:flex;flex-direction:column;padding:1rem}.b-tabs .tab-content .tab-item{flex-shrink:0;flex-basis:auto}.b-tabs .tab-content .tab-item:focus{outline:none}.b-tabs .tab-content.is-transitioning{overflow:hidden}.b-tabs:not(:last-child){margin-bottom:1.5rem}.b-tabs.is-fullwidth{width:100%}.b-tabs.is-vertical{display:flex;flex-direction:row;flex-wrap:wrap}.b-tabs.is-vertical>.tabs{flex-direction:column;border-bottom-color:transparent}.b-tabs.is-vertical>.tabs div{width:100%}.b-tabs.is-vertical>.tabs div a{justify-content:left}.b-tabs.is-vertical>.tabs.is-boxed div a{border-bottom-color:transparent!important;border-right-color:#242424!important;border-radius:4px 0 0 4px}.b-tabs.is-vertical>.tabs.is-boxed div a.is-active{border-bottom-color:#242424!important;border-right-color:transparent!important}.b-tabs.is-vertical>.tabs.is-toggle div+div{margin-left:0}.b-tabs.is-vertical>.tabs.is-toggle div:first-child a{border-radius:4px 4px 0 0}.b-tabs.is-vertical>.tabs.is-toggle div:last-child a{border-radius:0 0 4px 4px}.b-tabs.is-vertical>.tabs.is-fullwidth div a{height:100%}.b-tabs.is-vertical>.tab-content{flex-grow:1}.b-tabs.is-vertical.is-right{flex-direction:row-reverse}.b-tabs.is-vertical.is-right>.tabs a{flex-direction:row-reverse}.b-tabs.is-vertical.is-right>.tabs a .icon:first-child{margin-right:0;margin-left:.5em}.b-tabs.is-vertical.is-right>.tabs.is-boxed div a{border-bottom-color:transparent!important;border-right-color:transparent!important;border-left-color:#242424!important;border-radius:0 4px 4px 0}.b-tabs.is-vertical.is-right>.tabs.is-boxed div a.is-active{border-bottom-color:#242424!important;border-right-color:#242424!important;border-left-color:transparent!important}.b-tabs.is-multiline>.tabs{flex-wrap:wrap;flex-shrink:1}.b-tabs .tabs{display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.b-tabs .tabs div a{height:100%}.b-tabs .tabs div a.is-active{border-bottom-color:#2da192;color:#2da192}.b-tabs .tabs:not(.is-toggle),.b-tabs .tabs:not(.is-toggle-rounded){border-bottom-color:#242424;border-bottom-style:solid;border-bottom-width:1px}.b-tabs .tabs.is-toggle a,.b-tabs .tabs.is-toggle-rounded a{border-color:#242424;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.b-tabs .tabs.is-toggle a:hover,.b-tabs .tabs.is-toggle-rounded a:hover{background-color:#f5f5f5;border-color:#121212;z-index:2}.b-tabs .tabs.is-toggle div+div,.b-tabs .tabs.is-toggle-rounded div+div{margin-left:-1px}.b-tabs .tabs.is-toggle div:first-child a,.b-tabs .tabs.is-toggle-rounded div:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.b-tabs .tabs.is-toggle div:last-child a,.b-tabs .tabs.is-toggle-rounded div:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.b-tabs .tabs.is-toggle div a.is-active,.b-tabs .tabs.is-toggle-rounded div a.is-active{background-color:#2da192;border-color:#2da192;color:#fff;z-index:1}.b-tabs .tabs.is-toggle-rounded div:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.b-tabs .tabs.is-toggle-rounded div:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.b-tabs .tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.b-tabs .tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#242424}.b-tabs .tabs.is-boxed div a.is-active{background-color:#18191d;border-color:#242424;border-bottom-color:transparent!important}.b-slider{margin:1em 0;background:transparent;width:100%}.b-slider .b-slider-track{display:flex;align-items:center;position:relative;cursor:pointer;background:hsl(0,0%,86%);border-radius:4px}.b-slider .b-slider-fill{position:absolute;height:100%;box-shadow:0 0 #7a7a7a;background:#2da192;border-radius:4px;border:0px solid hsl(0,0%,48%);top:50%;transform:translateY(-50%)}.b-slider .b-slider-thumb-wrapper{display:inline-flex;align-items:center;position:absolute;cursor:grab;transform:translate(-50%,-50%);top:50%;flex-direction:column}.b-slider .b-slider-thumb-wrapper .b-slider-thumb{box-shadow:none;border:1px solid hsl(0,0%,71%);border-radius:4px;background:#18191d}.b-slider .b-slider-thumb-wrapper .b-slider-thumb:focus{transform:scale(1.25)}.b-slider .b-slider-thumb-wrapper.is-dragging{cursor:grabbing}.b-slider .b-slider-thumb-wrapper.is-dragging .b-slider-thumb{transform:scale(1.25)}.b-slider .b-slider-thumb-wrapper.has-indicator .b-slider-thumb{padding:16px 10px;display:flex;align-items:center;width:auto}.b-slider.slider-focus{padding-top:20px;padding-bottom:20px;margin-top:-20px;margin-bottom:-20px;cursor:pointer}.b-slider.is-rounded .b-slider-thumb{border-radius:9999px}.b-slider.is-disabled .b-slider-track{cursor:not-allowed;opacity:.5}.b-slider.is-disabled .b-slider-thumb-wrapper{cursor:not-allowed}.b-slider.is-disabled .b-slider-thumb-wrapper .b-slider-thumb{transform:scale(1)}.b-slider .b-slider-track{height:.5rem}.b-slider .b-slider-thumb{height:1rem;width:1rem}.b-slider .b-slider-tick{height:.25rem}.b-slider .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.25rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-small .b-slider-track{height:.375rem}.b-slider.is-small .b-slider-thumb{height:.75rem;width:.75rem}.b-slider.is-small .b-slider-tick{height:.1875rem}.b-slider.is-small .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.1875rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-medium .b-slider-track{height:.625rem}.b-slider.is-medium .b-slider-thumb{height:1.25rem;width:1.25rem}.b-slider.is-medium .b-slider-tick{height:.3125rem}.b-slider.is-medium .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.3125rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-large .b-slider-track{height:.75rem}.b-slider.is-large .b-slider-thumb{height:1.5rem;width:1.5rem}.b-slider.is-large .b-slider-tick{height:.375rem}.b-slider.is-large .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.375rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-white .b-slider-fill{background:hsl(0,0%,100%)!important}.b-slider.is-black .b-slider-fill{background:hsl(0,0%,4%)!important}.b-slider.is-light .b-slider-fill{background:hsl(0,0%,96%)!important}.b-slider.is-dark .b-slider-fill{background:hsl(0,0%,21%)!important}.b-slider.is-primary .b-slider-fill{background:#2da192!important}.b-slider.is-info .b-slider-fill{background:hsl(207,61%,53%)!important}.b-slider.is-success .b-slider-fill{background:hsl(153,53%,53%)!important}.b-slider.is-warning .b-slider-fill{background:hsl(44,100%,77%)!important}.b-slider.is-danger .b-slider-fill{background:hsl(348,86%,61%)!important}.b-slider.is-shade-1 .b-slider-fill{background:#3d444b!important}.b-slider.is-shade-2 .b-slider-fill{background:#33393f!important}.b-slider.is-shade-3 .b-slider-fill{background:#282e33!important}.b-slider.is-shade-4 .b-slider-fill{background:#18191d!important}.b-slider .b-slider-tick{position:absolute;width:3px;transform:translate(-50%,-50%);top:50%;background:hsl(0,0%,71%);border-radius:4px}.b-slider .b-slider-tick.is-tick-hidden{background:transparent}.b-tooltip{position:relative;display:inline-flex}.b-tooltip.is-top .tooltip-content{top:auto;right:auto;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.b-tooltip.is-top .tooltip-content:before{top:100%;right:auto;bottom:auto;left:50%;transform:translate(-50%);border-top:5px solid #2da192;border-right:5px solid transparent;border-left:5px solid transparent}.b-tooltip.is-top.is-white .tooltip-content:before{border-top-color:#fff}.b-tooltip.is-top.is-black .tooltip-content:before{border-top-color:#0a0a0a}.b-tooltip.is-top.is-light .tooltip-content:before{border-top-color:#f5f5f5}.b-tooltip.is-top.is-dark .tooltip-content:before{border-top-color:#363636}.b-tooltip.is-top.is-primary .tooltip-content:before{border-top-color:#2da192}.b-tooltip.is-top.is-info .tooltip-content:before{border-top-color:#3e8ed0}.b-tooltip.is-top.is-success .tooltip-content:before{border-top-color:#48c78e}.b-tooltip.is-top.is-warning .tooltip-content:before{border-top-color:#ffe08a}.b-tooltip.is-top.is-danger .tooltip-content:before{border-top-color:#f14668}.b-tooltip.is-top.is-shade-1 .tooltip-content:before{border-top-color:#3d444b}.b-tooltip.is-top.is-shade-2 .tooltip-content:before{border-top-color:#33393f}.b-tooltip.is-top.is-shade-3 .tooltip-content:before{border-top-color:#282e33}.b-tooltip.is-top.is-shade-4 .tooltip-content:before{border-top-color:#18191d}.b-tooltip.is-right .tooltip-content{top:50%;right:auto;bottom:auto;left:calc(100% + 7px);transform:translateY(-50%)}.b-tooltip.is-right .tooltip-content:before{top:50%;right:100%;bottom:auto;left:auto;transform:translateY(-50%);border-top:5px solid transparent;border-right:5px solid #2da192;border-bottom:5px solid transparent}.b-tooltip.is-right.is-white .tooltip-content:before{border-right-color:#fff}.b-tooltip.is-right.is-black .tooltip-content:before{border-right-color:#0a0a0a}.b-tooltip.is-right.is-light .tooltip-content:before{border-right-color:#f5f5f5}.b-tooltip.is-right.is-dark .tooltip-content:before{border-right-color:#363636}.b-tooltip.is-right.is-primary .tooltip-content:before{border-right-color:#2da192}.b-tooltip.is-right.is-info .tooltip-content:before{border-right-color:#3e8ed0}.b-tooltip.is-right.is-success .tooltip-content:before{border-right-color:#48c78e}.b-tooltip.is-right.is-warning .tooltip-content:before{border-right-color:#ffe08a}.b-tooltip.is-right.is-danger .tooltip-content:before{border-right-color:#f14668}.b-tooltip.is-right.is-shade-1 .tooltip-content:before{border-right-color:#3d444b}.b-tooltip.is-right.is-shade-2 .tooltip-content:before{border-right-color:#33393f}.b-tooltip.is-right.is-shade-3 .tooltip-content:before{border-right-color:#282e33}.b-tooltip.is-right.is-shade-4 .tooltip-content:before{border-right-color:#18191d}.b-tooltip.is-bottom .tooltip-content{top:calc(100% + 7px);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.b-tooltip.is-bottom .tooltip-content:before{top:auto;right:auto;bottom:100%;left:50%;transform:translate(-50%);border-right:5px solid transparent;border-bottom:5px solid #2da192;border-left:5px solid transparent}.b-tooltip.is-bottom.is-white .tooltip-content:before{border-bottom-color:#fff}.b-tooltip.is-bottom.is-black .tooltip-content:before{border-bottom-color:#0a0a0a}.b-tooltip.is-bottom.is-light .tooltip-content:before{border-bottom-color:#f5f5f5}.b-tooltip.is-bottom.is-dark .tooltip-content:before{border-bottom-color:#363636}.b-tooltip.is-bottom.is-primary .tooltip-content:before{border-bottom-color:#2da192}.b-tooltip.is-bottom.is-info .tooltip-content:before{border-bottom-color:#3e8ed0}.b-tooltip.is-bottom.is-success .tooltip-content:before{border-bottom-color:#48c78e}.b-tooltip.is-bottom.is-warning .tooltip-content:before{border-bottom-color:#ffe08a}.b-tooltip.is-bottom.is-danger .tooltip-content:before{border-bottom-color:#f14668}.b-tooltip.is-bottom.is-shade-1 .tooltip-content:before{border-bottom-color:#3d444b}.b-tooltip.is-bottom.is-shade-2 .tooltip-content:before{border-bottom-color:#33393f}.b-tooltip.is-bottom.is-shade-3 .tooltip-content:before{border-bottom-color:#282e33}.b-tooltip.is-bottom.is-shade-4 .tooltip-content:before{border-bottom-color:#18191d}.b-tooltip.is-left .tooltip-content{top:50%;right:calc(100% + 7px);bottom:auto;left:auto;transform:translateY(-50%)}.b-tooltip.is-left .tooltip-content:before{top:50%;right:auto;bottom:auto;left:100%;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #2da192}.b-tooltip.is-left.is-white .tooltip-content:before{border-left-color:#fff}.b-tooltip.is-left.is-black .tooltip-content:before{border-left-color:#0a0a0a}.b-tooltip.is-left.is-light .tooltip-content:before{border-left-color:#f5f5f5}.b-tooltip.is-left.is-dark .tooltip-content:before{border-left-color:#363636}.b-tooltip.is-left.is-primary .tooltip-content:before{border-left-color:#2da192}.b-tooltip.is-left.is-info .tooltip-content:before{border-left-color:#3e8ed0}.b-tooltip.is-left.is-success .tooltip-content:before{border-left-color:#48c78e}.b-tooltip.is-left.is-warning .tooltip-content:before{border-left-color:#ffe08a}.b-tooltip.is-left.is-danger .tooltip-content:before{border-left-color:#f14668}.b-tooltip.is-left.is-shade-1 .tooltip-content:before{border-left-color:#3d444b}.b-tooltip.is-left.is-shade-2 .tooltip-content:before{border-left-color:#33393f}.b-tooltip.is-left.is-shade-3 .tooltip-content:before{border-left-color:#282e33}.b-tooltip.is-left.is-shade-4 .tooltip-content:before{border-left-color:#18191d}.b-tooltip .tooltip-content{width:auto;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:400;box-shadow:0 1px 2px 1px #00010033;z-index:38;white-space:nowrap;position:absolute}.b-tooltip .tooltip-content:before{position:absolute;content:"";pointer-events:none;z-index:38}.b-tooltip .tooltip-trigger{width:100%}.b-tooltip.is-white .tooltip-content{background:hsl(0,0%,100%);color:#0a0a0a}.b-tooltip.is-black .tooltip-content{background:hsl(0,0%,4%);color:#fff}.b-tooltip.is-light .tooltip-content{background:hsl(0,0%,96%);color:#000000b3}.b-tooltip.is-dark .tooltip-content{background:hsl(0,0%,21%);color:#fff}.b-tooltip.is-primary .tooltip-content{background:#2da192;color:#fff}.b-tooltip.is-info .tooltip-content{background:hsl(207,61%,53%);color:#fff}.b-tooltip.is-success .tooltip-content{background:hsl(153,53%,53%);color:#fff}.b-tooltip.is-warning .tooltip-content{background:hsl(44,100%,77%);color:#000000b3}.b-tooltip.is-danger .tooltip-content{background:hsl(348,86%,61%);color:#fff}.b-tooltip.is-shade-1 .tooltip-content{background:#3d444b;color:#fff}.b-tooltip.is-shade-2 .tooltip-content{background:#33393f;color:#fff}.b-tooltip.is-shade-3 .tooltip-content{background:#282e33;color:#fff}.b-tooltip.is-shade-4 .tooltip-content{background:#18191d;color:#fff}.b-tooltip .tooltip-content.is-always{opacity:1;visibility:visible}.b-tooltip .tooltip-content.is-multiline{text-align:center;white-space:normal;width:300px}.b-tooltip.is-dashed .tooltip-trigger{border-bottom:1px dashed hsl(0,0%,71%);cursor:default}.b-tooltip.is-square .tooltip-content{border-radius:0}.b-steps .steps{display:flex;flex-wrap:wrap}.b-steps .steps .step-item{margin-top:0;position:relative;flex-grow:1;flex-basis:1em}.b-steps .steps .step-item .step-link{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff}.b-steps .steps .step-item .step-link:not(.is-clickable){cursor:not-allowed}.b-steps .steps .step-item .step-marker{align-items:center;display:flex;border-radius:4px;font-weight:700;justify-content:center;background:hsl(0,0%,71%);color:#18191d;border:.2em solid #fff;z-index:1;overflow:hidden}.b-steps .steps .step-item.is-white:before,.b-steps .steps .step-item.is-white:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,100%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-white.is-active .step-marker{background-color:#18191d;border-color:#fff;color:#fff}.b-steps .steps .step-item.is-white.is-active:before,.b-steps .steps .step-item.is-white.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-white.is-previous .step-marker{color:#0a0a0a;background-color:#fff}.b-steps .steps .step-item.is-white.is-previous:before,.b-steps .steps .step-item.is-white.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-black:before,.b-steps .steps .step-item.is-black:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,4%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-black.is-active .step-marker{background-color:#18191d;border-color:#0a0a0a;color:#0a0a0a}.b-steps .steps .step-item.is-black.is-active:before,.b-steps .steps .step-item.is-black.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-black.is-previous .step-marker{color:#fff;background-color:#0a0a0a}.b-steps .steps .step-item.is-black.is-previous:before,.b-steps .steps .step-item.is-black.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-light:before,.b-steps .steps .step-item.is-light:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,96%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-light.is-active .step-marker{background-color:#18191d;border-color:#f5f5f5;color:#f5f5f5}.b-steps .steps .step-item.is-light.is-active:before,.b-steps .steps .step-item.is-light.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-light.is-previous .step-marker{color:#000000b3;background-color:#f5f5f5}.b-steps .steps .step-item.is-light.is-previous:before,.b-steps .steps .step-item.is-light.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-dark:before,.b-steps .steps .step-item.is-dark:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,21%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-dark.is-active .step-marker{background-color:#18191d;border-color:#363636;color:#363636}.b-steps .steps .step-item.is-dark.is-active:before,.b-steps .steps .step-item.is-dark.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-dark.is-previous .step-marker{color:#fff;background-color:#363636}.b-steps .steps .step-item.is-dark.is-previous:before,.b-steps .steps .step-item.is-dark.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-primary:before,.b-steps .steps .step-item.is-primary:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#2da192 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-primary.is-active .step-marker{background-color:#18191d;border-color:#2da192;color:#2da192}.b-steps .steps .step-item.is-primary.is-active:before,.b-steps .steps .step-item.is-primary.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-primary.is-previous .step-marker{color:#fff;background-color:#2da192}.b-steps .steps .step-item.is-primary.is-previous:before,.b-steps .steps .step-item.is-primary.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-info:before,.b-steps .steps .step-item.is-info:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(207,61%,53%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-info.is-active .step-marker{background-color:#18191d;border-color:#3e8ed0;color:#3e8ed0}.b-steps .steps .step-item.is-info.is-active:before,.b-steps .steps .step-item.is-info.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-info.is-previous .step-marker{color:#fff;background-color:#3e8ed0}.b-steps .steps .step-item.is-info.is-previous:before,.b-steps .steps .step-item.is-info.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-success:before,.b-steps .steps .step-item.is-success:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(153,53%,53%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-success.is-active .step-marker{background-color:#18191d;border-color:#48c78e;color:#48c78e}.b-steps .steps .step-item.is-success.is-active:before,.b-steps .steps .step-item.is-success.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-success.is-previous .step-marker{color:#fff;background-color:#48c78e}.b-steps .steps .step-item.is-success.is-previous:before,.b-steps .steps .step-item.is-success.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-warning:before,.b-steps .steps .step-item.is-warning:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(44,100%,77%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-warning.is-active .step-marker{background-color:#18191d;border-color:#ffe08a;color:#ffe08a}.b-steps .steps .step-item.is-warning.is-active:before,.b-steps .steps .step-item.is-warning.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-warning.is-previous .step-marker{color:#000000b3;background-color:#ffe08a}.b-steps .steps .step-item.is-warning.is-previous:before,.b-steps .steps .step-item.is-warning.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-danger:before,.b-steps .steps .step-item.is-danger:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(348,86%,61%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-danger.is-active .step-marker{background-color:#18191d;border-color:#f14668;color:#f14668}.b-steps .steps .step-item.is-danger.is-active:before,.b-steps .steps .step-item.is-danger.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-danger.is-previous .step-marker{color:#fff;background-color:#f14668}.b-steps .steps .step-item.is-danger.is-previous:before,.b-steps .steps .step-item.is-danger.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-1:before,.b-steps .steps .step-item.is-shade-1:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#3d444b 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-1.is-active .step-marker{background-color:#18191d;border-color:#3d444b;color:#3d444b}.b-steps .steps .step-item.is-shade-1.is-active:before,.b-steps .steps .step-item.is-shade-1.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-1.is-previous .step-marker{color:#fff;background-color:#3d444b}.b-steps .steps .step-item.is-shade-1.is-previous:before,.b-steps .steps .step-item.is-shade-1.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-2:before,.b-steps .steps .step-item.is-shade-2:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#33393f 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-2.is-active .step-marker{background-color:#18191d;border-color:#33393f;color:#33393f}.b-steps .steps .step-item.is-shade-2.is-active:before,.b-steps .steps .step-item.is-shade-2.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-2.is-previous .step-marker{color:#fff;background-color:#33393f}.b-steps .steps .step-item.is-shade-2.is-previous:before,.b-steps .steps .step-item.is-shade-2.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-3:before,.b-steps .steps .step-item.is-shade-3:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#282e33 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-3.is-active .step-marker{background-color:#18191d;border-color:#282e33;color:#282e33}.b-steps .steps .step-item.is-shade-3.is-active:before,.b-steps .steps .step-item.is-shade-3.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-3.is-previous .step-marker{color:#fff;background-color:#282e33}.b-steps .steps .step-item.is-shade-3.is-previous:before,.b-steps .steps .step-item.is-shade-3.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-4:before,.b-steps .steps .step-item.is-shade-4:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#18191d 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-4.is-active .step-marker{background-color:#18191d;border-color:#18191d;color:#18191d}.b-steps .steps .step-item.is-shade-4.is-active:before,.b-steps .steps .step-item.is-shade-4.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-4.is-previous .step-marker{color:#fff;background-color:#18191d}.b-steps .steps .step-item.is-shade-4.is-previous:before,.b-steps .steps .step-item.is-shade-4.is-previous:after{background-position:left bottom}.b-steps .steps .step-item .step-marker{color:#18191d}.b-steps .steps .step-item .step-title{text-align:center;z-index:1}.b-steps .steps .step-item:not(:first-child),.b-steps .steps .step-item:only-child{flex-shrink:1}.b-steps .steps .step-item:not(:first-child):before,.b-steps .steps .step-item:only-child:before{content:" ";display:block;position:absolute;width:100%;bottom:0;left:-50%}.b-steps .steps .step-item:only-child:after{content:" ";display:block;position:absolute;height:.2em;bottom:0}.b-steps .steps .step-item:only-child:before,.b-steps .steps .step-item:only-child:after{width:25%;left:50%}.b-steps .steps .step-item:only-child:before{right:50%;left:auto}.b-steps .steps .step-item:before,.b-steps .steps .step-item:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#2da192 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-active .step-link{cursor:default}.b-steps .steps .step-item.is-active .step-marker{background-color:#18191d;border-color:#2da192;color:#2da192}.b-steps .steps .step-item.is-active:before,.b-steps .steps .step-item.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-previous .step-marker{color:#18191d;background-color:#2da192}.b-steps .steps .step-item.is-previous:before,.b-steps .steps .step-item.is-previous:after{background-position:left bottom}.b-steps .steps+.step-content{position:relative;overflow:visible;display:flex;flex-direction:column;padding:1rem}.b-steps .steps+.step-content .step-item{flex-shrink:0;flex-basis:auto}.b-steps .steps+.step-content .step-item:focus{outline:none}.b-steps .steps+.step-content.is-transitioning{overflow:hidden}.b-steps .steps.is-rounded .step-item .step-marker{border-radius:9999px}.b-steps .steps.is-animated .step-item:not(:first-child):before,.b-steps .steps.is-animated .step-item:only-child:before{transition:background .15s ease-out}.b-steps .steps.has-label-right .step-item .step-link,.b-steps .steps.has-label-left .step-item .step-link{flex-direction:row}.b-steps .steps.has-label-right .step-item .step-link>.step-title,.b-steps .steps.has-label-left .step-item .step-link>.step-title{background-color:#18191d;padding:.2em}.b-steps .steps.has-label-left .step-item .step-link{flex-direction:row-reverse}.b-steps .steps{font-size:1rem;min-height:2rem}.b-steps .steps .step-item .step-marker{height:2rem;width:2rem}.b-steps .steps .step-item .step-marker .icon *,.b-steps .steps .step-item .step-marker .icon *:before{font-size:1rem}.b-steps .steps .step-item .step-title{font-size:1.2rem;font-weight:600;line-height:1rem}.b-steps .steps .step-item:not(:first-child):before,.b-steps .steps .step-item:only-child:before{height:.2em;top:1rem}.b-steps .steps .step-item:only-child:after{top:1rem}@media screen and (max-width: 768px){.b-steps .steps .step-item:before,.b-steps .steps .step-item:after,.b-steps .steps .step-item:not(:first-child):before{top:1rem}}.b-steps.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(1rem - .1em)}.b-steps.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1rem - .1em)}.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(1rem - .1em)}.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1rem - .1em)}.b-steps.is-small .steps{font-size:.75rem;min-height:1.5rem}.b-steps.is-small .steps .step-item .step-marker{height:1.5rem;width:1.5rem}.b-steps.is-small .steps .step-item .step-marker .icon *,.b-steps.is-small .steps .step-item .step-marker .icon *:before{font-size:.75rem}.b-steps.is-small .steps .step-item .step-title{font-size:.9rem;font-weight:600;line-height:.75rem}.b-steps.is-small .steps .step-item:not(:first-child):before,.b-steps.is-small .steps .step-item:only-child:before{height:.2em;top:.75rem}.b-steps.is-small .steps .step-item:only-child:after{top:.75rem}@media screen and (max-width: 768px){.b-steps.is-small .steps .step-item:before,.b-steps.is-small .steps .step-item:after,.b-steps.is-small .steps .step-item:not(:first-child):before{top:.75rem}}.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(.75rem - .1em)}.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(.75rem - .1em)}.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(.75rem - .1em)}.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(.75rem - .1em)}.b-steps.is-medium .steps{font-size:1.25rem;min-height:2.5rem}.b-steps.is-medium .steps .step-item .step-marker{height:2.5rem;width:2.5rem}.b-steps.is-medium .steps .step-item .step-marker .icon *,.b-steps.is-medium .steps .step-item .step-marker .icon *:before{font-size:1.25rem}.b-steps.is-medium .steps .step-item .step-title{font-size:1.5rem;font-weight:600;line-height:1.25rem}.b-steps.is-medium .steps .step-item:not(:first-child):before,.b-steps.is-medium .steps .step-item:only-child:before{height:.2em;top:1.25rem}.b-steps.is-medium .steps .step-item:only-child:after{top:1.25rem}@media screen and (max-width: 768px){.b-steps.is-medium .steps .step-item:before,.b-steps.is-medium .steps .step-item:after,.b-steps.is-medium .steps .step-item:not(:first-child):before{top:1.25rem}}.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(1.25rem - .1em)}.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.25rem - .1em)}.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(1.25rem - .1em)}.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.25rem - .1em)}.b-steps.is-large .steps{font-size:1.5rem;min-height:3rem}.b-steps.is-large .steps .step-item .step-marker{height:3rem;width:3rem}.b-steps.is-large .steps .step-item .step-marker .icon *,.b-steps.is-large .steps .step-item .step-marker .icon *:before{font-size:1.5rem}.b-steps.is-large .steps .step-item .step-title{font-size:1.8rem;font-weight:600;line-height:1.5rem}.b-steps.is-large .steps .step-item:not(:first-child):before,.b-steps.is-large .steps .step-item:only-child:before{height:.2em;top:1.5rem}.b-steps.is-large .steps .step-item:only-child:after{top:1.5rem}@media screen and (max-width: 768px){.b-steps.is-large .steps .step-item:before,.b-steps.is-large .steps .step-item:after,.b-steps.is-large .steps .step-item:not(:first-child):before{top:1.5rem}}.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(1.5rem - .1em)}.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.5rem - .1em)}.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(1.5rem - .1em)}.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.5rem - .1em)}.b-steps.is-vertical{display:flex;flex-direction:row;flex-wrap:wrap}.b-steps.is-vertical>.steps{height:100%;flex-direction:column;border-bottom-color:transparent}.b-steps.is-vertical>.steps .step-item{width:100%;display:flex;align-items:center;justify-content:center;padding:1em 0}.b-steps.is-vertical>.steps .step-item:before,.b-steps.is-vertical>.steps .step-item:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#2da192 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-white:before,.b-steps.is-vertical>.steps .step-item.is-white:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,100%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-black:before,.b-steps.is-vertical>.steps .step-item.is-black:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,4%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-light:before,.b-steps.is-vertical>.steps .step-item.is-light:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,96%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-dark:before,.b-steps.is-vertical>.steps .step-item.is-dark:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,21%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-primary:before,.b-steps.is-vertical>.steps .step-item.is-primary:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#2da192 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-info:before,.b-steps.is-vertical>.steps .step-item.is-info:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(207,61%,53%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-success:before,.b-steps.is-vertical>.steps .step-item.is-success:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(153,53%,53%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-warning:before,.b-steps.is-vertical>.steps .step-item.is-warning:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(44,100%,77%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-danger:before,.b-steps.is-vertical>.steps .step-item.is-danger:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(348,86%,61%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-1:before,.b-steps.is-vertical>.steps .step-item.is-shade-1:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#3d444b 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-2:before,.b-steps.is-vertical>.steps .step-item.is-shade-2:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#33393f 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-3:before,.b-steps.is-vertical>.steps .step-item.is-shade-3:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#282e33 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-4:before,.b-steps.is-vertical>.steps .step-item.is-shade-4:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#18191d 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item:not(:first-child):before,.b-steps.is-vertical>.steps .step-item:only-child:before{height:100%;width:.2em;top:-50%;left:calc(50% - .1em)}.b-steps.is-vertical>.steps .step-item.is-active:before,.b-steps.is-vertical>.steps .step-item.is-active:after,.b-steps.is-vertical>.steps .step-item.is-previous:before,.b-steps.is-vertical>.steps .step-item.is-previous:after{background-position:right top}.b-steps.is-vertical>.steps .step-item:only-child:before{top:50%}.b-steps.is-vertical>.steps .step-item:only-child:after{width:.2em;top:auto;bottom:50%}.b-steps.is-vertical>.steps .step-item:only-child:before,.b-steps.is-vertical>.steps .step-item:only-child:after{height:25%}.b-steps.is-vertical>.steps.has-label-right .step-item{justify-content:flex-start}.b-steps.is-vertical>.steps.has-label-left .step-item{justify-content:flex-end}.b-steps.is-vertical>.steps:not(.has-label-right):not(.has-label-left) .step-item .step-link>.step-title{background-color:#18191d}.b-steps.is-vertical>.step-content{flex-grow:1}.b-steps.is-vertical>.step-navigation{flex-basis:100%}.b-steps.is-vertical.is-right{flex-direction:row-reverse}@media screen and (max-width: 768px){.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:not(.is-active){display:none}.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:before,.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:after,.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:not(:first-child):before{content:" ";display:block;position:absolute;height:.2em;width:25%;bottom:0;left:50%}.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:before,.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:not(:first-child):before{right:50%;left:auto}.b-steps:not(.is-vertical) .steps.mobile-compact .step-item:not(.is-active) .step-title{display:none}}.b-skeleton{display:inline-flex;flex-direction:column;vertical-align:middle;width:100%}.b-skeleton>.b-skeleton-item{background:linear-gradient(90deg,hsl(0,0%,86%) 25%,rgba(219.3,219.3,219.3,.5) 50%,hsl(0,0%,86%) 75%);background-size:400% 100%;width:100%}.b-skeleton>.b-skeleton-item.is-rounded{border-radius:4px}.b-skeleton>.b-skeleton-item:after{content:" "}.b-skeleton>.b-skeleton-item+.b-skeleton-item{margin-top:.5rem}.b-skeleton.is-animated>.b-skeleton-item{animation:skeleton-loading 1.5s infinite}.b-skeleton.is-centered{align-items:center}.b-skeleton.is-right{align-items:flex-end}.b-skeleton+.b-skeleton{margin-top:.5rem}.b-skeleton>.b-skeleton-item{line-height:1rem}.b-skeleton.is-small>.b-skeleton-item{line-height:.75rem}.b-skeleton.is-medium>.b-skeleton-item{line-height:1.25rem}.b-skeleton.is-large>.b-skeleton-item{line-height:1.5rem}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.dropdown+.dropdown{margin-left:.5em}.dropdown .background{bottom:0;left:0;position:absolute;right:0;top:0;position:fixed;background-color:#0a0a0adb;z-index:40;cursor:pointer}@media screen and (min-width: 1024px){.dropdown .background{display:none}}.dropdown.dropdown-menu-animation .dropdown-menu{display:block}.dropdown .dropdown-menu .dropdown-item.is-disabled,.dropdown .dropdown-menu .has-link a.is-disabled{cursor:not-allowed}.dropdown .dropdown-menu .dropdown-item.is-disabled:hover,.dropdown .dropdown-menu .has-link a.is-disabled:hover{background:inherit;color:inherit}.dropdown .dropdown-menu .has-link a{padding-right:3rem;white-space:nowrap}.dropdown.is-hoverable:not(.is-active) .dropdown-menu{display:none}.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-expanded,.dropdown.is-expanded .dropdown-trigger,.dropdown.is-expanded .dropdown-menu{width:100%}.dropdown.is-expanded.is-mobile-modal .dropdown-menu{max-width:100%}.dropdown:not(.is-disabled) .dropdown-menu .dropdown-item.is-disabled,.dropdown:not(.is-disabled) .dropdown-menu .has-link a.is-disabled{opacity:.5}.dropdown .navbar-item{height:100%}.dropdown.is-disabled{opacity:.5;cursor:not-allowed}.dropdown.is-disabled .dropdown-trigger{pointer-events:none}.dropdown.is-inline .dropdown-menu{position:static;display:inline-block;padding:0}.dropdown.is-top-right .dropdown-menu{top:auto;bottom:100%}.dropdown.is-top-left .dropdown-menu{top:auto;bottom:100%;right:0;left:auto}.dropdown.is-bottom-left .dropdown-menu{right:0;left:auto}@media screen and (max-width: 1023px){.dropdown.is-mobile-modal>.dropdown-menu{position:fixed!important;width:calc(100vw - 40px);max-width:460px;max-height:calc(100vh - 120px);top:25%!important;left:50%!important;bottom:auto!important;right:auto!important;transform:translate3d(-50%,-25%,0);white-space:normal;overflow-y:auto;z-index:50!important}.dropdown.is-mobile-modal>.dropdown-menu>.dropdown-item,.dropdown .dropdown-menu .has-link .dropdown.is-mobile-modal>.dropdown-menu>a,.dropdown.is-mobile-modal>.dropdown-menu>.has-link a{padding:1rem 1.5rem}}.datepicker{font-size:.875rem}.datepicker .dropdown,.datepicker .dropdown-trigger{width:100%}.datepicker .dropdown .input[readonly],.datepicker .dropdown-trigger .input[readonly]{cursor:pointer;box-shadow:inset 0 .0625em .125em #0a0a0a0d}.datepicker .dropdown .input[readonly]:focus,.datepicker .dropdown .input[readonly].is-focused,.datepicker .dropdown .input[readonly]:active,.datepicker .dropdown .input[readonly].is-active,.datepicker .dropdown-trigger .input[readonly]:focus,.datepicker .dropdown-trigger .input[readonly].is-focused,.datepicker .dropdown-trigger .input[readonly]:active,.datepicker .dropdown-trigger .input[readonly].is-active{box-shadow:0 0 0 .125em #2da19240}.datepicker .dropdown.is-disabled{opacity:1}.datepicker .dropdown-menu{background-color:#18191d;border-radius:4px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05}.datepicker .dropdown-item,.datepicker .dropdown .dropdown-menu .has-link a,.dropdown .dropdown-menu .has-link .datepicker a{font-size:inherit}.datepicker .dropdown-item:hover,.datepicker .dropdown .dropdown-menu .has-link a:hover,.dropdown .dropdown-menu .has-link .datepicker a:hover{background-color:unset;color:unset}.datepicker .datepicker-header{padding-bottom:.875rem;margin-bottom:.875rem;border-bottom:1px solid hsl(0,0%,86%)}.datepicker .datepicker-footer{margin-top:.875rem;padding-top:.875rem;border-top:1px solid hsl(0,0%,86%)}.datepicker .datepicker-table{display:table;margin:0 auto}.datepicker .datepicker-table .datepicker-cell{text-align:center;vertical-align:middle;display:table-cell;border-radius:4px;padding:.5rem .75rem}.datepicker .datepicker-table .datepicker-header{display:table-header-group}.datepicker .datepicker-table .datepicker-header .datepicker-cell{color:#7a7a7a;font-weight:600}.datepicker .datepicker-table .datepicker-body{display:table-row-group}.datepicker .datepicker-table .datepicker-body .datepicker-row{display:table-row}.datepicker .datepicker-table .datepicker-body .datepicker-months{display:inline-flex;flex-wrap:wrap;flex-direction:row;width:17rem}.datepicker .datepicker-table .datepicker-body .datepicker-months .datepicker-cell{display:flex;align-items:center;justify-content:center;width:33.33%;height:2.5rem}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-unselectable{color:#b5b5b5}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-today{border:solid 1px rgba(45,161,146,.5)}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable{color:#4a4a4a}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable:hover:not(.is-selected):not(.is-first-hovered):not(.is-last-hovered),.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable:focus:not(.is-selected):not(.is-first-hovered):not(.is-last-hovered){background-color:#f5f5f5;color:#0a0a0a;cursor:pointer}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable.is-first-hovered{background-color:#7a7a7a;color:#dbdbdb;border-bottom-right-radius:0;border-top-right-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable.is-within-hovered{background-color:#f5f5f5;color:#0a0a0a;border-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable.is-last-hovered{background-color:#7a7a7a;color:#dbdbdb;border-bottom-left-radius:0;border-top-left-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da192;color:#fff}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered).is-first-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da192;color:#fff;border-bottom-right-radius:0;border-top-right-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered).is-within-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da19280;border-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered).is-last-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da192;color:#fff;border-bottom-left-radius:0;border-top-left-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-nearby:not(.is-selected){color:#b5b5b5}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-week-number{cursor:default}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell{padding:.3rem .75rem .75rem}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event{position:relative}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events{bottom:.425rem;display:flex;justify-content:center;left:0;padding:0 .35rem;position:absolute;width:100%}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event{background-color:#b5b5b5}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-white{background-color:#fff}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-black{background-color:#0a0a0a}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-light{background-color:#f5f5f5}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-dark{background-color:#363636}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-primary{background-color:#2da192}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-info{background-color:#3e8ed0}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-success{background-color:#48c78e}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-warning{background-color:#ffe08a}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-danger{background-color:#f14668}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-1{background-color:#3d444b}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-2{background-color:#33393f}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-3{background-color:#282e33}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-4{background-color:#18191d}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event.dots .event{border-radius:50%;height:.35em;margin:0 .1em;width:.35em}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event.bars .event{height:.25em;width:100%}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.is-selected{overflow:hidden}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.is-selected .events .event.is-primary{background-color:#4dcdbd}.datepicker.is-small{border-radius:2px;font-size:.75rem}.datepicker.is-medium{font-size:1.25rem}.datepicker.is-large{font-size:1.5rem}@media screen and (min-width: 1024px){.datepicker .footer-horizontal-timepicker{border:none;padding-left:10px;margin-left:5px;display:flex}.datepicker .dropdown-horizonal-timepicker{display:flex}.datepicker .content-horizonal-timepicker{border-right:1px solid #dbdbdb}}.datepicker .pagination-list{flex-wrap:nowrap}.datepicker .pagination-list .select{margin-left:.125rem;margin-right:.125rem}.modal>.animation-content.is-full-screen,.modal>.animation-content.is-full-screen>.modal-card{width:100%;height:100%;max-height:100vh;margin:0;background-color:#f5f5f5}.modal .animation-content{margin:0 20px}.modal .animation-content .modal-card{margin:0}@media screen and (max-width: 768px){.modal .animation-content{width:100%}}.modal .modal-content{width:100%}.b-checkbox.checkbox{outline:none;display:inline-flex;align-items:center}.b-checkbox.checkbox:not(.button){margin-right:.5em}.b-checkbox.checkbox:not(.button)+.checkbox:last-child{margin-right:0}.b-checkbox.checkbox .check{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:inherit;width:1.25em;height:1.25em;flex-shrink:0;border-radius:4px;border:2px solid hsl(0,0%,48%);transition:background .15s ease-out;background:transparent}.b-checkbox.checkbox .check:checked{background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center;border-color:#2da192}.b-checkbox.checkbox .check:indeterminate{background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#2da192}.b-checkbox.checkbox .check:hover:not(:disabled){border-color:#2da192}.b-checkbox.checkbox .check:focus.check{box-shadow:0 0 .5em #7a7a7acc}.b-checkbox.checkbox .check:focus:checked.check{box-shadow:0 0 .5em #2da192cc}.b-checkbox.checkbox .control-label{padding-left:calc(.75em - 1px)}.b-checkbox.checkbox.button{display:flex}.b-checkbox.checkbox.is-disabled{opacity:.5;cursor:not-allowed}.b-checkbox.checkbox.is-small{border-radius:2px;font-size:.75rem}.b-checkbox.checkbox.is-medium{font-size:1.25rem}.b-checkbox.checkbox.is-large{font-size:1.5rem}.b-checkbox.checkbox.is-white .check:hover:not(:disabled){border-color:#fff}.b-checkbox.checkbox.is-white .check:checked{border-color:#fff;background:hsl(0,0%,100%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:hsl(0, 0%25, 4%25)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-white .check:checked:focus{box-shadow:0 0 .5em #fffc}.b-checkbox.checkbox.is-white .check:indeterminate{background:hsl(0,0%,100%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:hsl(0, 0%25, 4%25)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#fff}.b-checkbox.checkbox.is-black .check:hover:not(:disabled){border-color:#0a0a0a}.b-checkbox.checkbox.is-black .check:checked{border-color:#0a0a0a;background:hsl(0,0%,4%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:hsl(0, 0%25, 100%25)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-black .check:checked:focus{box-shadow:0 0 .5em #0a0a0acc}.b-checkbox.checkbox.is-black .check:indeterminate{background:hsl(0,0%,4%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:hsl(0, 0%25, 100%25)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#0a0a0a}.b-checkbox.checkbox.is-light .check:hover:not(:disabled){border-color:#f5f5f5}.b-checkbox.checkbox.is-light .check:checked{border-color:#f5f5f5;background:hsl(0,0%,96%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:rgba(0, 0, 0, 0.7)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-light .check:checked:focus{box-shadow:0 0 .5em #f5f5f5cc}.b-checkbox.checkbox.is-light .check:indeterminate{background:hsl(0,0%,96%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:rgba(0, 0, 0, 0.7)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#f5f5f5}.b-checkbox.checkbox.is-dark .check:hover:not(:disabled){border-color:#363636}.b-checkbox.checkbox.is-dark .check:checked{border-color:#363636;background:hsl(0,0%,21%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-dark .check:checked:focus{box-shadow:0 0 .5em #363636cc}.b-checkbox.checkbox.is-dark .check:indeterminate{background:hsl(0,0%,21%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#363636}.b-checkbox.checkbox.is-primary .check:hover:not(:disabled){border-color:#2da192}.b-checkbox.checkbox.is-primary .check:checked{border-color:#2da192;background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-primary .check:checked:focus{box-shadow:0 0 .5em #2da192cc}.b-checkbox.checkbox.is-primary .check:indeterminate{background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#2da192}.b-checkbox.checkbox.is-info .check:hover:not(:disabled){border-color:#3e8ed0}.b-checkbox.checkbox.is-info .check:checked{border-color:#3e8ed0;background:hsl(207,61%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-info .check:checked:focus{box-shadow:0 0 .5em #3e8ed0cc}.b-checkbox.checkbox.is-info .check:indeterminate{background:hsl(207,61%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#3e8ed0}.b-checkbox.checkbox.is-success .check:hover:not(:disabled){border-color:#48c78e}.b-checkbox.checkbox.is-success .check:checked{border-color:#48c78e;background:hsl(153,53%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-success .check:checked:focus{box-shadow:0 0 .5em #48c78ecc}.b-checkbox.checkbox.is-success .check:indeterminate{background:hsl(153,53%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#48c78e}.b-checkbox.checkbox.is-warning .check:hover:not(:disabled){border-color:#ffe08a}.b-checkbox.checkbox.is-warning .check:checked{border-color:#ffe08a;background:hsl(44,100%,77%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:rgba(0, 0, 0, 0.7)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-warning .check:checked:focus{box-shadow:0 0 .5em #ffe08acc}.b-checkbox.checkbox.is-warning .check:indeterminate{background:hsl(44,100%,77%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:rgba(0, 0, 0, 0.7)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#ffe08a}.b-checkbox.checkbox.is-danger .check:hover:not(:disabled){border-color:#f14668}.b-checkbox.checkbox.is-danger .check:checked{border-color:#f14668;background:hsl(348,86%,61%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-danger .check:checked:focus{box-shadow:0 0 .5em #f14668cc}.b-checkbox.checkbox.is-danger .check:indeterminate{background:hsl(348,86%,61%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#f14668}.b-checkbox.checkbox.is-shade-1 .check:hover:not(:disabled){border-color:#3d444b}.b-checkbox.checkbox.is-shade-1 .check:checked{border-color:#3d444b;background:#3d444b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-1 .check:checked:focus{box-shadow:0 0 .5em #3d444bcc}.b-checkbox.checkbox.is-shade-1 .check:indeterminate{background:#3d444b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#3d444b}.b-checkbox.checkbox.is-shade-2 .check:hover:not(:disabled){border-color:#33393f}.b-checkbox.checkbox.is-shade-2 .check:checked{border-color:#33393f;background:#33393f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-2 .check:checked:focus{box-shadow:0 0 .5em #33393fcc}.b-checkbox.checkbox.is-shade-2 .check:indeterminate{background:#33393f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#33393f}.b-checkbox.checkbox.is-shade-3 .check:hover:not(:disabled){border-color:#282e33}.b-checkbox.checkbox.is-shade-3 .check:checked{border-color:#282e33;background:#282e33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-3 .check:checked:focus{box-shadow:0 0 .5em #282e33cc}.b-checkbox.checkbox.is-shade-3 .check:indeterminate{background:#282e33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#282e33}.b-checkbox.checkbox.is-shade-4 .check:hover:not(:disabled){border-color:#18191d}.b-checkbox.checkbox.is-shade-4 .check:checked{border-color:#18191d;background:#18191d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-4 .check:checked:focus{box-shadow:0 0 .5em #18191dcc}.b-checkbox.checkbox.is-shade-4 .check:indeterminate{background:#18191d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#18191d}.b-sidebar .sidebar-content{background-color:#f5f5f5;box-shadow:5px 0 13px 3px #0a0a0a1a;width:260px;z-index:39}.b-sidebar .sidebar-content.is-white{background-color:#fff}.b-sidebar .sidebar-content.is-black{background-color:#0a0a0a}.b-sidebar .sidebar-content.is-light{background-color:#f5f5f5}.b-sidebar .sidebar-content.is-dark{background-color:#363636}.b-sidebar .sidebar-content.is-primary{background-color:#2da192}.b-sidebar .sidebar-content.is-info{background-color:#3e8ed0}.b-sidebar .sidebar-content.is-success{background-color:#48c78e}.b-sidebar .sidebar-content.is-warning{background-color:#ffe08a}.b-sidebar .sidebar-content.is-danger{background-color:#f14668}.b-sidebar .sidebar-content.is-shade-1{background-color:#3d444b}.b-sidebar .sidebar-content.is-shade-2{background-color:#33393f}.b-sidebar .sidebar-content.is-shade-3{background-color:#282e33}.b-sidebar .sidebar-content.is-shade-4{background-color:#18191d}.b-sidebar .sidebar-content.is-fixed{position:fixed;left:0;top:0}.b-sidebar .sidebar-content.is-fixed.is-right{left:auto;right:0}.b-sidebar .sidebar-content.is-absolute{position:absolute;left:0;top:0}.b-sidebar .sidebar-content.is-absolute.is-right{left:auto;right:0}.b-sidebar .sidebar-content.is-mini{width:80px}.b-sidebar .sidebar-content.is-mini.is-mini-expand:hover:not(.is-mini-delayed){transition:width .15s ease-out}.b-sidebar .sidebar-content.is-mini.is-mini-expand:hover:not(.is-mini-delayed):not(.is-fullwidth){width:260px}.b-sidebar .sidebar-content.is-mini.is-mini-expand:hover:not(.is-mini-delayed):not(.is-fullwidth).is-mini-expand-fixed{position:fixed}.b-sidebar .sidebar-content.is-static{position:static}.b-sidebar .sidebar-content.is-absolute,.b-sidebar .sidebar-content.is-static{transition:width .15s ease-out}.b-sidebar .sidebar-content.is-fullwidth{width:100%;max-width:100%}.b-sidebar .sidebar-content.is-fullheight{height:100%;max-height:100%;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;align-content:stretch}@media screen and (max-width: 768px){.b-sidebar .sidebar-content.is-mini-mobile{width:80px}.b-sidebar .sidebar-content.is-mini-mobile.is-mini-expand:hover:not(.is-fullwidth-mobile){width:260px}.b-sidebar .sidebar-content.is-mini-mobile.is-mini-expand:hover:not(.is-fullwidth-mobile).is-mini-expand-fixed{position:fixed}.b-sidebar .sidebar-content.is-hidden-mobile{width:0;height:0;overflow:hidden}.b-sidebar .sidebar-content.is-fullwidth-mobile{width:100%;max-width:100%}}.b-sidebar .sidebar-background{bottom:0;left:0;position:absolute;right:0;top:0;background:rgba(10.2,10.2,10.2,.86);position:fixed;z-index:38}.loading{bottom:0;left:0;position:absolute;right:0;top:0;align-items:center;justify-content:center;display:flex;overflow:hidden;z-index:29}.loading.is-full-page{position:fixed;z-index:999}.loading.is-full-page .icon{width:5em;height:5em}.loading .loading-overlay{bottom:0;left:0;position:absolute;right:0;top:0;background:rgba(24,25,29,.2)}.loading .icon{animation:spinAround 1s infinite linear;position:absolute;width:3em;height:3em}.timepicker .dropdown-menu{min-width:0}.timepicker .dropdown,.timepicker .dropdown-trigger{width:100%}.timepicker .dropdown .input[readonly],.timepicker .dropdown-trigger .input[readonly]{cursor:pointer;box-shadow:inset 0 .0625em .125em #0a0a0a0d}.timepicker .dropdown .input[readonly]:focus,.timepicker .dropdown .input[readonly].is-focused,.timepicker .dropdown .input[readonly]:active,.timepicker .dropdown .input[readonly].is-active,.timepicker .dropdown-trigger .input[readonly]:focus,.timepicker .dropdown-trigger .input[readonly].is-focused,.timepicker .dropdown-trigger .input[readonly]:active,.timepicker .dropdown-trigger .input[readonly].is-active{box-shadow:0 0 0 .125em #2da19240}.timepicker .dropdown.is-disabled{opacity:1}.timepicker .dropdown-item,.timepicker .dropdown .dropdown-menu .has-link a,.dropdown .dropdown-menu .has-link .timepicker a{font-size:inherit;padding:0;justify-content:center;display:flex}.timepicker .timepicker-footer{padding:0 .5rem}.timepicker .dropdown-content .control{font-size:1.25em;margin-right:0!important}.timepicker .dropdown-content .control.select{margin:0 .125em}.timepicker .dropdown-content .control.select select{font-weight:600;padding-right:calc(.75em - 1px);border:0}.timepicker .dropdown-content .control.select select option:disabled{color:#7a7a7ab3}.timepicker .dropdown-content .control.select:after{display:none}.timepicker .dropdown-content .control.is-colon{font-size:1.7em;line-height:1.7em}.timepicker.is-small{border-radius:2px;font-size:.75rem}.timepicker.is-medium{font-size:1.25rem}.timepicker.is-large{font-size:1.5rem}.b-radio.radio{outline:none;display:inline-flex;align-items:center}.b-radio.radio:not(.button){margin-right:.5em}.b-radio.radio:not(.button)+.radio:last-child{margin-right:0}.b-radio.radio+.radio{margin-left:0}.b-radio.radio .check{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:inherit;width:1.25em;height:1.25em;flex-shrink:0;border-radius:50%;border:2px solid hsl(0,0%,48%);transition:background .15s ease-out}.b-radio.radio .check:hover:not(:disabled){border-color:#2da192}.b-radio.radio .check:before{content:"";display:flex;position:absolute;left:.625em;margin-left:-.625em;bottom:50%;margin-bottom:-.625em;width:1.25em;height:1.25em;transition:transform .15s ease-out;border-radius:50%;transform:scale(0);background:#2da192}.b-radio.radio .check:checked{border-color:#2da192}.b-radio.radio .check:checked:before{transform:scale(.5)}.b-radio.radio .check:focus{box-shadow:0 0 .5em #7a7a7acc}.b-radio.radio .check:focus:checked{box-shadow:0 0 .5em #2da192cc}.b-radio.radio .control-label{padding-left:calc(.75em - 1px)}.b-radio.radio.button{display:flex}.b-radio.radio.button.is-selected{z-index:1}.b-radio.radio.is-disabled{opacity:.5}.b-radio.radio.is-small{border-radius:2px;font-size:.75rem}.b-radio.radio.is-medium{font-size:1.25rem}.b-radio.radio.is-large{font-size:1.5rem}.b-radio.radio.is-white .check:before{background:hsl(0,0%,100%)}.b-radio.radio.is-white .check:before:hover:not(:disabled){border-color:#fff}.b-radio.radio.is-white .check:checked{border-color:#fff}.b-radio.radio.is-white .check:checked:focus{box-shadow:0 0 .5em #fffc}.b-radio.radio.is-white .check:hover:not(:disabled){border-color:#fff}.b-radio.radio.is-black .check:before{background:hsl(0,0%,4%)}.b-radio.radio.is-black .check:before:hover:not(:disabled){border-color:#0a0a0a}.b-radio.radio.is-black .check:checked{border-color:#0a0a0a}.b-radio.radio.is-black .check:checked:focus{box-shadow:0 0 .5em #0a0a0acc}.b-radio.radio.is-black .check:hover:not(:disabled){border-color:#0a0a0a}.b-radio.radio.is-light .check:before{background:hsl(0,0%,96%)}.b-radio.radio.is-light .check:before:hover:not(:disabled){border-color:#f5f5f5}.b-radio.radio.is-light .check:checked{border-color:#f5f5f5}.b-radio.radio.is-light .check:checked:focus{box-shadow:0 0 .5em #f5f5f5cc}.b-radio.radio.is-light .check:hover:not(:disabled){border-color:#f5f5f5}.b-radio.radio.is-dark .check:before{background:hsl(0,0%,21%)}.b-radio.radio.is-dark .check:before:hover:not(:disabled){border-color:#363636}.b-radio.radio.is-dark .check:checked{border-color:#363636}.b-radio.radio.is-dark .check:checked:focus{box-shadow:0 0 .5em #363636cc}.b-radio.radio.is-dark .check:hover:not(:disabled){border-color:#363636}.b-radio.radio.is-primary .check:before{background:#2da192}.b-radio.radio.is-primary .check:before:hover:not(:disabled){border-color:#2da192}.b-radio.radio.is-primary .check:checked{border-color:#2da192}.b-radio.radio.is-primary .check:checked:focus{box-shadow:0 0 .5em #2da192cc}.b-radio.radio.is-primary .check:hover:not(:disabled){border-color:#2da192}.b-radio.radio.is-info .check:before{background:hsl(207,61%,53%)}.b-radio.radio.is-info .check:before:hover:not(:disabled){border-color:#3e8ed0}.b-radio.radio.is-info .check:checked{border-color:#3e8ed0}.b-radio.radio.is-info .check:checked:focus{box-shadow:0 0 .5em #3e8ed0cc}.b-radio.radio.is-info .check:hover:not(:disabled){border-color:#3e8ed0}.b-radio.radio.is-success .check:before{background:hsl(153,53%,53%)}.b-radio.radio.is-success .check:before:hover:not(:disabled){border-color:#48c78e}.b-radio.radio.is-success .check:checked{border-color:#48c78e}.b-radio.radio.is-success .check:checked:focus{box-shadow:0 0 .5em #48c78ecc}.b-radio.radio.is-success .check:hover:not(:disabled){border-color:#48c78e}.b-radio.radio.is-warning .check:before{background:hsl(44,100%,77%)}.b-radio.radio.is-warning .check:before:hover:not(:disabled){border-color:#ffe08a}.b-radio.radio.is-warning .check:checked{border-color:#ffe08a}.b-radio.radio.is-warning .check:checked:focus{box-shadow:0 0 .5em #ffe08acc}.b-radio.radio.is-warning .check:hover:not(:disabled){border-color:#ffe08a}.b-radio.radio.is-danger .check:before{background:hsl(348,86%,61%)}.b-radio.radio.is-danger .check:before:hover:not(:disabled){border-color:#f14668}.b-radio.radio.is-danger .check:checked{border-color:#f14668}.b-radio.radio.is-danger .check:checked:focus{box-shadow:0 0 .5em #f14668cc}.b-radio.radio.is-danger .check:hover:not(:disabled){border-color:#f14668}.b-radio.radio.is-shade-1 .check:before{background:#3d444b}.b-radio.radio.is-shade-1 .check:before:hover:not(:disabled){border-color:#3d444b}.b-radio.radio.is-shade-1 .check:checked{border-color:#3d444b}.b-radio.radio.is-shade-1 .check:checked:focus{box-shadow:0 0 .5em #3d444bcc}.b-radio.radio.is-shade-1 .check:hover:not(:disabled){border-color:#3d444b}.b-radio.radio.is-shade-2 .check:before{background:#33393f}.b-radio.radio.is-shade-2 .check:before:hover:not(:disabled){border-color:#33393f}.b-radio.radio.is-shade-2 .check:checked{border-color:#33393f}.b-radio.radio.is-shade-2 .check:checked:focus{box-shadow:0 0 .5em #33393fcc}.b-radio.radio.is-shade-2 .check:hover:not(:disabled){border-color:#33393f}.b-radio.radio.is-shade-3 .check:before{background:#282e33}.b-radio.radio.is-shade-3 .check:before:hover:not(:disabled){border-color:#282e33}.b-radio.radio.is-shade-3 .check:checked{border-color:#282e33}.b-radio.radio.is-shade-3 .check:checked:focus{box-shadow:0 0 .5em #282e33cc}.b-radio.radio.is-shade-3 .check:hover:not(:disabled){border-color:#282e33}.b-radio.radio.is-shade-4 .check:before{background:#18191d}.b-radio.radio.is-shade-4 .check:before:hover:not(:disabled){border-color:#18191d}.b-radio.radio.is-shade-4 .check:checked{border-color:#18191d}.b-radio.radio.is-shade-4 .check:checked:focus{box-shadow:0 0 .5em #18191dcc}.b-radio.radio.is-shade-4 .check:hover:not(:disabled){border-color:#18191d}.button .button-wrapper{display:inline-flex;justify-content:center}@keyframes icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.icon.is-spin{animation-name:icon-spin;animation-iteration-count:infinite;animation-timing-function:linear;animation-duration:2s}.select select option{color:#4a4a4a;padding:calc(.5em - 1px) calc(.75em - 1px)}.select select option:disabled{cursor:not-allowed;opacity:.5}.select select optgroup{color:#b5b5b5;font-weight:400;font-style:normal;padding:.25em 0}.select select.is-empty{color:#7a7a7ab3}.select{display:table}.select .icon{color:#242424;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.select.has-icons-left select{padding-left:2.5em}.select.has-icons-left .icon.is-left{left:0}.select .has-icons-right{padding-right:2.5em}.select .has-icons-right .icon.is-right{right:0}.b-notices{position:fixed;display:flex;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;padding:2em;z-index:1000}.b-notices .notification{pointer-events:auto;max-width:600px}.b-notices .notification.is-top,.b-notices .notification.is-bottom{align-self:center}.b-notices .notification.is-top-right,.b-notices .notification.is-bottom-right{align-self:flex-end}.b-notices .notification.is-top-left,.b-notices .notification.is-bottom-left{align-self:flex-start}.b-notices.is-top{flex-direction:column}.b-notices.is-bottom{flex-direction:column-reverse}.b-notices.is-bottom .notification{margin-bottom:0}.b-notices.is-bottom .notification:not(:first-child){margin-bottom:1.5rem}.b-notices.has-custom-container{position:absolute}.carousel{position:relative;overflow:hidden;width:100%}.carousel.is-overlay{background-color:#0a0a0adb;align-items:center;flex-direction:column;justify-content:center;display:flex;max-height:100vh;position:fixed;z-index:40}.carousel.is-overlay .carousel-item img{cursor:default}.carousel.is-overlay .carousel-indicator.has-background{background:transparent}.carousel .carousel-scene{width:100%;position:relative}.carousel .carousel-scene .carousel-items{display:flex}@media screen and (min-width: 769px),print{.carousel .carousel-scene .carousel-items:hover .carousel-arrow.is-hovered{opacity:1}}.carousel .carousel-scene .carousel-items:not(.is-dragging){transition:all .25s ease-out 0s}.carousel .carousel-scene .carousel-items .carousel-item{flex-shrink:0;width:100%;border:2px solid transparent}.carousel .carousel-indicator{width:100%;padding:.5rem;display:flex;align-items:center;justify-content:center}.carousel .carousel-indicator.has-background{background:rgba(10.2,10.2,10.2,.5)}.carousel .carousel-indicator.has-custom{flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;overflow:hidden;overflow-x:auto}.carousel .carousel-indicator.has-custom.is-small .indicator-item{flex:1 0 10%}.carousel .carousel-indicator.has-custom.is-medium .indicator-item{flex:1 0 16.66667%}.carousel .carousel-indicator.is-inside{position:absolute}.carousel .carousel-indicator.is-inside.is-bottom{bottom:0}.carousel .carousel-indicator.is-inside.is-top{top:0}.carousel .carousel-indicator .indicator-item:not(:last-child){margin-right:.5rem}.carousel .carousel-indicator .indicator-item .indicator-style.is-active,.carousel .carousel-indicator .indicator-item .indicator-style.is-active:hover{background:#2da192;border:1px solid #18191d}.carousel .carousel-indicator .indicator-item .indicator-style{display:block;border:1px solid #2da192;background:#18191d;outline:none;transition:.15s ease-out}.carousel .carousel-indicator .indicator-item .indicator-style.is-boxes{height:10px;width:10px}.carousel .carousel-indicator .indicator-item .indicator-style.is-dots{border-radius:9999px;height:10px;width:10px}.carousel .carousel-indicator .indicator-item .indicator-style.is-lines{height:5px;width:25px}.carousel-arrow{transition:.15s ease-out}.carousel-arrow.is-hovered{opacity:0}.carousel-arrow.icon{background:#18191d;color:#2da192;cursor:pointer;border:1px solid #18191d;border-radius:9999px;outline:0}.carousel-arrow.icon:hover{border:1px solid #2da192;opacity:1}.carousel-arrow.icon.has-icons-left,.carousel-arrow.icon.has-icons-right{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-arrow.icon.has-icons-left{left:1.5rem}.carousel-arrow.icon.has-icons-right{right:1.5rem}.upload{position:relative;display:inline-flex}.upload input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;outline:none;cursor:pointer;z-index:-1}.upload .upload-draggable{cursor:pointer;padding:.25em;border:1px dashed hsl(0,0%,71%);border-radius:6px}.upload .upload-draggable:hover.is-white,.upload .upload-draggable.is-hovered.is-white{border-color:#fff;background:rgba(255,255,255,.05)}.upload .upload-draggable:hover.is-black,.upload .upload-draggable.is-hovered.is-black{border-color:#0a0a0a;background:rgba(10.2,10.2,10.2,.05)}.upload .upload-draggable:hover.is-light,.upload .upload-draggable.is-hovered.is-light{border-color:#f5f5f5;background:rgba(244.8,244.8,244.8,.05)}.upload .upload-draggable:hover.is-dark,.upload .upload-draggable.is-hovered.is-dark{border-color:#363636;background:rgba(53.55,53.55,53.55,.05)}.upload .upload-draggable:hover.is-primary,.upload .upload-draggable.is-hovered.is-primary{border-color:#2da192;background:rgba(45,161,146,.05)}.upload .upload-draggable:hover.is-info,.upload .upload-draggable.is-hovered.is-info{border-color:#3e8ed0;background:rgba(62.0415,142.46085,208.2585,.05)}.upload .upload-draggable:hover.is-success,.upload .upload-draggable.is-hovered.is-success{border-color:#48c78e;background:rgba(71.6295,198.6705,141.50205,.05)}.upload .upload-draggable:hover.is-warning,.upload .upload-draggable.is-hovered.is-warning{border-color:#ffe08a;background:rgba(255,223.72,137.7,.05)}.upload .upload-draggable:hover.is-danger,.upload .upload-draggable.is-hovered.is-danger{border-color:#f14668;background:rgba(241.077,70.023,104.2338,.05)}.upload .upload-draggable:hover.is-shade-1,.upload .upload-draggable.is-hovered.is-shade-1{border-color:#3d444b;background:rgba(61,68,75,.05)}.upload .upload-draggable:hover.is-shade-2,.upload .upload-draggable.is-hovered.is-shade-2{border-color:#33393f;background:rgba(51,57,63,.05)}.upload .upload-draggable:hover.is-shade-3,.upload .upload-draggable.is-hovered.is-shade-3{border-color:#282e33;background:rgba(40,46,51,.05)}.upload .upload-draggable:hover.is-shade-4,.upload .upload-draggable.is-hovered.is-shade-4{border-color:#18191d;background:rgba(24,25,29,.05)}.upload.is-expanded,.upload.is-expanded .upload-draggable{width:100%}.upload.is-disabled{opacity:.5;cursor:not-allowed}.upload.is-rounded{border-radius:9999px}.upload.is-rounded .file-name{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.divider{position:relative;display:flex;align-items:center;text-transform:uppercase;color:#7a7a7a;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:25px 0}.divider:after,.divider:before{content:"";display:block;flex:1;height:1px;background-color:#242424}.divider:not(.is-right):after{margin-left:10px}.divider:not(.is-left):before{margin-right:10px}.divider.is-left:before{display:none}.divider.is-right:after{display:none}.divider.is-vertical{flex-direction:column;margin:0 25px}.divider.is-vertical:after,.divider.is-vertical:before{height:auto;width:1px}.divider.is-vertical:after{margin-left:0;margin-top:10px}.divider.is-vertical:before{margin-right:0;margin-bottom:10px}.divider.is-white:after,.divider.is-white:before{background-color:#fff}.divider.is-black:after,.divider.is-black:before{background-color:#0a0a0a}.divider.is-light:after,.divider.is-light:before{background-color:#f5f5f5}.divider.is-dark:after,.divider.is-dark:before{background-color:#363636}.divider.is-primary:after,.divider.is-primary:before{background-color:#2da192}.divider.is-info:after,.divider.is-info:before{background-color:#3e8ed0}.divider.is-success:after,.divider.is-success:before{background-color:#48c78e}.divider.is-warning:after,.divider.is-warning:before{background-color:#ffe08a}.divider.is-danger:after,.divider.is-danger:before{background-color:#f14668}.divider.is-shade-1:after,.divider.is-shade-1:before{background-color:#3d444b}.divider.is-shade-2:after,.divider.is-shade-2:before{background-color:#33393f}.divider.is-shade-3:after,.divider.is-shade-3:before{background-color:#282e33}.divider.is-shade-4:after,.divider.is-shade-4:before{background-color:#18191d}html,body,.is-full-height{height:100%;overflow-y:hidden}.is-full-height-scrollable{height:100%;overflow-y:auto}.has-no-border{border:none}.has-no-border:focus{border:none}.has-placeholder-shade-1::placeholder{color:#3d444b}.modal-close:before,.modal-close:after{background-color:#fff}.modal-card-head,.modal-card-foot{background-color:#282e33}.dialog .modal-card{max-width:460px;min-width:320px;width:auto}.table td{vertical-align:middle}.is-width-min-400{min-width:400px}.is-primary-ghost{background-color:transparent;color:#2da192}.is-primary-ghost:hover,.is-primary-ghost:focus{background-color:transparent;color:#39c8b5}.is-warning-ghost{background-color:transparent;color:#ffe08a}.is-warning-ghost:hover,.is-warning-ghost:focus{color:#ffedbd}.menu-list li{margin:2px 0}.is-select-all{user-select:text;-webkit-user-select:text;-webkit-touch-callout:all;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:text;user-select:all}.has-no-wrap{white-space:nowrap}.messages-container{overflow-y:auto;scroll-behavior:smooth;flex-grow:1}.toolbar{position:relative;padding:.5em .3em;height:3em;display:flex;align-items:center;justify-content:space-between}.message-text{white-space:pre-wrap;border-radius:3px 9px 9px!important;padding:.25em .75em;margin:0 .75em}.messages-list-enter-active{transition:opacity .3s ease-out}.messages-list-enter-from{opacity:0}.is-flex-direction-row-reverse .message-text{border-radius:9px 3px 9px 9px!important}.is-msg-moderated{opacity:30%}.sendbox textarea{resize:none;border:none}.sendbox .thumbnail-container{position:absolute;top:1em;left:1em}.sendbox .thumbnail{max-height:2.5em}.sendbox .delete{margin-left:-7px;margin-top:-13px}.emojiPicker .b-tabs,.emojiPicker .tab-content{height:100%;overflow-y:hidden;padding:0}.emojiPicker{position:absolute;left:0;right:0;top:0;bottom:0;z-index:1;background-color:#18191d}.emoji{width:2.5rem;text-align:center}/*! +Fork Awesome 1.2.0 +License - https://forkaweso.me/Fork-Awesome/license + +Copyright 2018 Dave Gandy & Fork Awesome + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */@font-face{font-family:ForkAwesome;src:url(./forkawesome-webfont-62c52951.eot?v=1.2.0);src:url(./forkawesome-webfont-62c52951.eot?#iefix&v=1.2.0) format("embedded-opentype"),url(./forkawesome-webfont-8810ba34.woff2?v=1.2.0) format("woff2"),url(./forkawesome-webfont-006708d6.woff?v=1.2.0) format("woff"),url(./forkawesome-webfont-4f319287.ttf?v=1.2.0) format("truetype"),url(./forkawesome-webfont-d491dbcb.svg?v=1.2.0#forkawesomeregular) format("svg");font-weight:400;font-style:normal;font-display:block}.fa{display:inline-block;font: 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before,.fa-sync:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell-o:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-globe-e:before{content:""}.fa-globe-w:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-community:before,.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus-g:before,.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before,.fa-pound:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-desc:before,.fa-sort-alpha-up:before{content:""}.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-sort-amount-desc:before,.fa-sort-amount-up:before{content:""}.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-desc:before,.fa-sort-numeric-up:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before,.fa-closed-captioning:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before,.fa-gem:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-medium-square:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo-v:before,.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.fa-mastodon:before{content:""}.fa-mastodon-alt:before{content:""}.fa-fork-awesome:before,.fa-fork-circle:before{content:""}.fa-peertube:before{content:""}.fa-diaspora:before{content:""}.fa-friendica:before{content:""}.fa-gnu-social:before{content:""}.fa-liberapay-square:before{content:""}.fa-liberapay:before{content:""}.fa-scuttlebutt:before,.fa-ssb:before{content:""}.fa-hubzilla:before{content:""}.fa-social-home:before{content:""}.fa-artstation:before{content:""}.fa-discord:before{content:""}.fa-discord-alt:before{content:""}.fa-patreon:before{content:""}.fa-snowdrift:before{content:""}.fa-activitypub:before{content:""}.fa-ethereum:before{content:""}.fa-keybase:before{content:""}.fa-shaarli:before{content:""}.fa-shaarli-o:before{content:""}.fa-cut-key:before,.fa-key-modern:before{content:""}.fa-xmpp:before{content:""}.fa-archive-org:before{content:""}.fa-freedombox:before{content:""}.fa-facebook-messenger:before{content:""}.fa-debian:before{content:""}.fa-mastodon-square:before{content:""}.fa-tipeee:before{content:""}.fa-react:before{content:""}.fa-dogmazic:before{content:""}.fa-zotero:before{content:""}.fa-nodejs:before{content:""}.fa-nextcloud:before{content:""}.fa-nextcloud-square:before{content:""}.fa-hackaday:before{content:""}.fa-laravel:before{content:""}.fa-signalapp:before{content:""}.fa-gnupg:before{content:""}.fa-php:before{content:""}.fa-ffmpeg:before{content:""}.fa-joplin:before{content:""}.fa-syncthing:before{content:""}.fa-inkscape:before{content:""}.fa-matrix-org:before{content:""}.fa-pixelfed:before{content:""}.fa-bootstrap:before{content:""}.fa-dev-to:before{content:""}.fa-hashnode:before{content:""}.fa-jirafeau:before{content:""}.fa-emby:before{content:""}.fa-wikidata:before{content:""}.fa-gimp:before{content:""}.fa-c:before{content:""}.fa-digitalocean:before{content:""}.fa-att:before{content:""}.fa-gitea:before{content:""}.fa-file-epub:before{content:""}.fa-python:before{content:""}.fa-archlinux:before{content:""}.fa-pleroma:before{content:""}.fa-unsplash:before{content:""}.fa-hackster:before{content:""}.fa-spell-check:before{content:""}.fa-moon:before{content:""}.fa-sun:before{content:""}.fa-f-droid:before{content:""}.fa-biometric:before{content:""}.fa-wire:before{content:""}.fa-tor-onion:before{content:""}.fa-volume-mute:before{content:""}.fa-bell-ringing:before{content:""}.fa-bell-ringing-o:before{content:""}.fa-hal:before{content:""}.fa-jupyter:before{content:""}.fa-julia:before{content:""}.fa-classicpress:before{content:""}.fa-classicpress-circle:before{content:""}.fa-open-collective:before{content:""}.fa-orcid:before{content:""}.fa-researchgate:before{content:""}.fa-funkwhale:before{content:""}.fa-askfm:before{content:""}.fa-blockstack:before{content:""}.fa-boardgamegeek:before{content:""}.fa-bunny:before{content:""}.fa-buymeacoffee:before{content:""}.fa-cc-by:before{content:""}.fa-cc-cc:before,.fa-creative-commons-alt:before{content:""}.fa-cc-nc-eu:before{content:""}.fa-cc-nc-jp:before{content:""}.fa-cc-nc:before{content:""}.fa-cc-nd:before{content:""}.fa-cc-pd:before{content:""}.fa-cc-remix:before{content:""}.fa-cc-sa:before{content:""}.fa-cc-share:before{content:""}.fa-cc-zero:before{content:""}.fa-conway-glider:before,.fa-conway-hacker:before{content:""}.fa-csharp:before{content:""}.fa-email-bulk:before{content:""}.fa-email-bulk-o:before{content:""}.fa-gnu:before{content:""}.fa-google-play:before{content:""}.fa-heroku:before{content:""}.fa-hassio:before,.fa-home-assistant:before{content:""}.fa-java:before{content:""}.fa-mariadb:before{content:""}.fa-markdown:before{content:""}.fa-mysql:before{content:""}.fa-nordcast:before{content:""}.fa-plume:before{content:""}.fa-postgresql:before{content:""}.fa-sass-alt:before{content:""}.fa-sass:before{content:""}.fa-skate:before{content:""}.fa-sketchfab:before{content:""}.fa-tex:before{content:""}.fa-textpattern:before{content:""}.fa-unity:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.has-jid{display:flex;align-items:center}.presence-icon{font-size:.7em!important;position:absolute;right:-2px;bottom:-4px}.thumbnail[data-v-63e2154b]{max-height:8em}.image-container[data-v-63e2154b]{display:flex;justify-content:center;align-items:center}.has-unread[data-v-a1b25128]{display:flex;align-items:center}.room-attributes[data-v-a1b25128]{font-size:.8em}.unread-count-attached[data-v-a1b25128]{position:absolute;top:4px;left:30px;font-size:.5em}.menu-list a[data-v-443cd60f]{min-height:40px} diff --git a/classes/assets/index-375456c0.js b/classes/assets/index-375456c0.js deleted file mode 100644 index af38e61..0000000 --- a/classes/assets/index-375456c0.js +++ /dev/null @@ -1,88 +0,0 @@ -(function(){const C=document.createElement("link").relList;if(C&&C.supports&&C.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))n(t);new MutationObserver(t=>{for(const i of t)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function e(t){const i={};return t.integrity&&(i.integrity=t.integrity),t.referrerPolicy&&(i.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?i.credentials="include":t.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(t){if(t.ep)return;t.ep=!0;const i=e(t);fetch(t.href,i)}})();/** -* @vue/shared v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function ka(A,C){const e=new Set(A.split(","));return C?n=>e.has(n.toLowerCase()):n=>e.has(n)}const jC={},Ct=[],re=()=>{},Nf=()=>!1,Ao=A=>A.charCodeAt(0)===111&&A.charCodeAt(1)===110&&(A.charCodeAt(2)>122||A.charCodeAt(2)<97),_a=A=>A.startsWith("onUpdate:"),DC=Object.assign,xa=(A,C)=>{const e=A.indexOf(C);e>-1&&A.splice(e,1)},$f=Object.prototype.hasOwnProperty,rC=(A,C)=>$f.call(A,C),FA=Array.isArray,et=A=>gi(A)==="[object Map]",ht=A=>gi(A)==="[object Set]",ic=A=>gi(A)==="[object Date]",qA=A=>typeof A=="function",PC=A=>typeof A=="string",Qe=A=>typeof A=="symbol",BC=A=>A!==null&&typeof A=="object",Zm=A=>(BC(A)||qA(A))&&qA(A.then)&&qA(A.catch),Ad=Object.prototype.toString,gi=A=>Ad.call(A),Rf=A=>gi(A).slice(8,-1),Cd=A=>gi(A)==="[object Object]",ja=A=>PC(A)&&A!=="NaN"&&A[0]!=="-"&&""+parseInt(A,10)===A,Ot=ka(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Co=A=>{const C=Object.create(null);return e=>C[e]||(C[e]=A(e))},Gf=/-(\w)/g,Le=Co(A=>A.replace(Gf,(C,e)=>e?e.toUpperCase():"")),Uf=/\B([A-Z])/g,Qn=Co(A=>A.replace(Uf,"-$1").toLowerCase()),bi=Co(A=>A.charAt(0).toUpperCase()+A.slice(1)),ns=Co(A=>A?`on${bi(A)}`:""),dn=(A,C)=>!Object.is(A,C),ts=(A,C)=>{for(let e=0;e<A.length;e++)A[e](C)},ed=(A,C,e,n=!1)=>{Object.defineProperty(A,C,{configurable:!0,enumerable:!1,writable:n,value:e})},vs=A=>{const C=parseFloat(A);return isNaN(C)?A:C},Qf=A=>{const C=PC(A)?Number(A):NaN;return isNaN(C)?A:C};let sc;const nd=()=>sc||(sc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function eo(A){if(FA(A)){const C={};for(let e=0;e<A.length;e++){const n=A[e],t=PC(n)?qf(n):eo(n);if(t)for(const i in t)C[i]=t[i]}return C}else if(PC(A)||BC(A))return A}const Hf=/;(?![^(]*\))/g,Vf=/:([^]+)/,zf=/\/\*[^]*?\*\//g;function qf(A){const C={};return A.replace(zf,"").split(Hf).forEach(e=>{if(e){const n=e.split(Vf);n.length>1&&(C[n[0].trim()]=n[1].trim())}}),C}function zA(A){let C="";if(PC(A))C=A;else if(FA(A))for(let e=0;e<A.length;e++){const n=zA(A[e]);n&&(C+=n+" ")}else if(BC(A))for(const e in A)A[e]&&(C+=e+" ");return C.trim()}const Wf="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Yf=ka(Wf);function td(A){return!!A||A===""}function Jf(A,C){if(A.length!==C.length)return!1;let e=!0;for(let n=0;e&&n<A.length;n++)e=Kn(A[n],C[n]);return e}function Kn(A,C){if(A===C)return!0;let e=ic(A),n=ic(C);if(e||n)return e&&n?A.getTime()===C.getTime():!1;if(e=Qe(A),n=Qe(C),e||n)return A===C;if(e=FA(A),n=FA(C),e||n)return e&&n?Jf(A,C):!1;if(e=BC(A),n=BC(C),e||n){if(!e||!n)return!1;const t=Object.keys(A).length,i=Object.keys(C).length;if(t!==i)return!1;for(const s in A){const o=A.hasOwnProperty(s),l=C.hasOwnProperty(s);if(o&&!l||!o&&l||!Kn(A[s],C[s]))return!1}}return String(A)===String(C)}function Ia(A,C){return A.findIndex(e=>Kn(e,C))}const sA=A=>PC(A)?A:A==null?"":FA(A)||BC(A)&&(A.toString===Ad||!qA(A.toString))?JSON.stringify(A,id,2):String(A),id=(A,C)=>C&&C.__v_isRef?id(A,C.value):et(C)?{[`Map(${C.size})`]:[...C.entries()].reduce((e,[n,t],i)=>(e[Qo(n,i)+" =>"]=t,e),{})}:ht(C)?{[`Set(${C.size})`]:[...C.values()].map(e=>Qo(e))}:Qe(C)?Qo(C):BC(C)&&!FA(C)&&!Cd(C)?String(C):C,Qo=(A,C="")=>{var e;return Qe(A)?`Symbol(${(e=A.description)!=null?e:C})`:A};/** -* @vue/reactivity v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let se;class sd{constructor(C=!1){this.detached=C,this._active=!0,this.effects=[],this.cleanups=[],this.parent=se,!C&&se&&(this.index=(se.scopes||(se.scopes=[])).push(this)-1)}get active(){return this._active}run(C){if(this._active){const e=se;try{return se=this,C()}finally{se=e}}}on(){se=this}off(){se=this.parent}stop(C){if(this._active){let e,n;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].stop();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(!this.detached&&this.parent&&!C){const t=this.parent.scopes.pop();t&&t!==this&&(this.parent.scopes[this.index]=t,t.index=this.index)}this.parent=void 0,this._active=!1}}}function od(A){return new sd(A)}function Xf(A,C=se){C&&C.active&&C.effects.push(A)}function Ma(){return se}function ld(A){se&&se.cleanups.push(A)}let Dn;class Da{constructor(C,e,n,t){this.fn=C,this.trigger=e,this.scheduler=n,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,Xf(this,t)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,hn();for(let C=0;C<this._depsLength;C++){const e=this.deps[C];if(e.computed&&(Zf(e.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),gn()}return this._dirtyLevel>=4}set dirty(C){this._dirtyLevel=C?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let C=un,e=Dn;try{return un=!0,Dn=this,this._runnings++,oc(this),this.fn()}finally{lc(this),this._runnings--,Dn=e,un=C}}stop(){this.active&&(oc(this),lc(this),this.onStop&&this.onStop(),this.active=!1)}}function Zf(A){return A.value}function oc(A){A._trackId++,A._depsLength=0}function lc(A){if(A.deps.length>A._depsLength){for(let C=A._depsLength;C<A.deps.length;C++)ad(A.deps[C],A);A.deps.length=A._depsLength}}function ad(A,C){const e=A.get(C);e!==void 0&&C._trackId!==e&&(A.delete(C),A.size===0&&A.cleanup())}let un=!0,xl=0;const rd=[];function hn(){rd.push(un),un=!1}function gn(){const A=rd.pop();un=A===void 0?!0:A}function Pa(){xl++}function Oa(){for(xl--;!xl&&jl.length;)jl.shift()()}function cd(A,C,e){if(C.get(A)!==A._trackId){C.set(A,A._trackId);const n=A.deps[A._depsLength];n!==C?(n&&ad(n,A),A.deps[A._depsLength++]=C):A._depsLength++}}const jl=[];function ud(A,C,e){Pa();for(const n of A.keys()){let t;n._dirtyLevel<C&&(t??(t=A.get(n)===n._trackId))&&(n._shouldSchedule||(n._shouldSchedule=n._dirtyLevel===0),n._dirtyLevel=C),n._shouldSchedule&&(t??(t=A.get(n)===n._trackId))&&(n.trigger(),(!n._runnings||n.allowRecurse)&&n._dirtyLevel!==2&&(n._shouldSchedule=!1,n.scheduler&&jl.push(n.scheduler)))}Oa()}const md=(A,C)=>{const e=new Map;return e.cleanup=A,e.computed=C,e},ws=new WeakMap,Pn=Symbol(""),Il=Symbol("");function ee(A,C,e){if(un&&Dn){let n=ws.get(A);n||ws.set(A,n=new Map);let t=n.get(e);t||n.set(e,t=md(()=>n.delete(e))),cd(Dn,t)}}function Ue(A,C,e,n,t,i){const s=ws.get(A);if(!s)return;let o=[];if(C==="clear")o=[...s.values()];else if(e==="length"&&FA(A)){const l=Number(n);s.forEach((a,r)=>{(r==="length"||!Qe(r)&&r>=l)&&o.push(a)})}else switch(e!==void 0&&o.push(s.get(e)),C){case"add":FA(A)?ja(e)&&o.push(s.get("length")):(o.push(s.get(Pn)),et(A)&&o.push(s.get(Il)));break;case"delete":FA(A)||(o.push(s.get(Pn)),et(A)&&o.push(s.get(Il)));break;case"set":et(A)&&o.push(s.get(Pn));break}Pa();for(const l of o)l&&ud(l,4);Oa()}function Ah(A,C){const e=ws.get(A);return e&&e.get(C)}const Ch=ka("__proto__,__v_isRef,__isVue"),dd=new Set(Object.getOwnPropertyNames(Symbol).filter(A=>A!=="arguments"&&A!=="caller").map(A=>Symbol[A]).filter(Qe)),ac=eh();function eh(){const A={};return["includes","indexOf","lastIndexOf"].forEach(C=>{A[C]=function(...e){const n=aC(this);for(let i=0,s=this.length;i<s;i++)ee(n,"get",i+"");const t=n[C](...e);return t===-1||t===!1?n[C](...e.map(aC)):t}}),["push","pop","shift","unshift","splice"].forEach(C=>{A[C]=function(...e){hn(),Pa();const n=aC(this)[C].apply(this,e);return Oa(),gn(),n}}),A}function nh(A){Qe(A)||(A=String(A));const C=aC(this);return ee(C,"has",A),C.hasOwnProperty(A)}class pd{constructor(C=!1,e=!1){this._isReadonly=C,this._isShallow=e}get(C,e,n){const t=this._isReadonly,i=this._isShallow;if(e==="__v_isReactive")return!t;if(e==="__v_isReadonly")return t;if(e==="__v_isShallow")return i;if(e==="__v_raw")return n===(t?i?fh:bd:i?gd:hd).get(C)||Object.getPrototypeOf(C)===Object.getPrototypeOf(n)?C:void 0;const s=FA(C);if(!t){if(s&&rC(ac,e))return Reflect.get(ac,e,n);if(e==="hasOwnProperty")return nh}const o=Reflect.get(C,e,n);return(Qe(e)?dd.has(e):Ch(e))||(t||ee(C,"get",e),i)?o:FC(o)?s&&ja(e)?o:o.value:BC(o)?t?yd(o):Ei(o):o}}class fd extends pd{constructor(C=!1){super(!1,C)}set(C,e,n,t){let i=C[e];if(!this._isShallow){const l=Ht(i);if(!Bs(n)&&!Ht(n)&&(i=aC(i),n=aC(n)),!FA(C)&&FC(i)&&!FC(n))return l?!1:(i.value=n,!0)}const s=FA(C)&&ja(e)?Number(e)<C.length:rC(C,e),o=Reflect.set(C,e,n,t);return C===aC(t)&&(s?dn(n,i)&&Ue(C,"set",e,n):Ue(C,"add",e,n)),o}deleteProperty(C,e){const n=rC(C,e);C[e];const t=Reflect.deleteProperty(C,e);return t&&n&&Ue(C,"delete",e,void 0),t}has(C,e){const n=Reflect.has(C,e);return(!Qe(e)||!dd.has(e))&&ee(C,"has",e),n}ownKeys(C){return ee(C,"iterate",FA(C)?"length":Pn),Reflect.ownKeys(C)}}class th extends pd{constructor(C=!1){super(!0,C)}set(C,e){return!0}deleteProperty(C,e){return!0}}const ih=new fd,sh=new th,oh=new fd(!0);const La=A=>A,no=A=>Reflect.getPrototypeOf(A);function Mi(A,C,e=!1,n=!1){A=A.__v_raw;const t=aC(A),i=aC(C);e||(dn(C,i)&&ee(t,"get",C),ee(t,"get",i));const{has:s}=no(t),o=n?La:e?Na:Vt;if(s.call(t,C))return o(A.get(C));if(s.call(t,i))return o(A.get(i));A!==t&&A.get(C)}function Di(A,C=!1){const e=this.__v_raw,n=aC(e),t=aC(A);return C||(dn(A,t)&&ee(n,"has",A),ee(n,"has",t)),A===t?e.has(A):e.has(A)||e.has(t)}function Pi(A,C=!1){return A=A.__v_raw,!C&&ee(aC(A),"iterate",Pn),Reflect.get(A,"size",A)}function rc(A){A=aC(A);const C=aC(this);return no(C).has.call(C,A)||(C.add(A),Ue(C,"add",A,A)),this}function cc(A,C){C=aC(C);const e=aC(this),{has:n,get:t}=no(e);let i=n.call(e,A);i||(A=aC(A),i=n.call(e,A));const s=t.call(e,A);return e.set(A,C),i?dn(C,s)&&Ue(e,"set",A,C):Ue(e,"add",A,C),this}function uc(A){const C=aC(this),{has:e,get:n}=no(C);let t=e.call(C,A);t||(A=aC(A),t=e.call(C,A)),n&&n.call(C,A);const i=C.delete(A);return t&&Ue(C,"delete",A,void 0),i}function mc(){const A=aC(this),C=A.size!==0,e=A.clear();return C&&Ue(A,"clear",void 0,void 0),e}function Oi(A,C){return function(n,t){const i=this,s=i.__v_raw,o=aC(s),l=C?La:A?Na:Vt;return!A&&ee(o,"iterate",Pn),s.forEach((a,r)=>n.call(t,l(a),l(r),i))}}function Li(A,C,e){return function(...n){const t=this.__v_raw,i=aC(t),s=et(i),o=A==="entries"||A===Symbol.iterator&&s,l=A==="keys"&&s,a=t[A](...n),r=e?La:C?Na:Vt;return!C&&ee(i,"iterate",l?Il:Pn),{next(){const{value:p,done:d}=a.next();return d?{value:p,done:d}:{value:o?[r(p[0]),r(p[1])]:r(p),done:d}},[Symbol.iterator](){return this}}}}function Xe(A){return function(...C){return A==="delete"?!1:A==="clear"?void 0:this}}function lh(){const A={get(i){return Mi(this,i)},get size(){return Pi(this)},has:Di,add:rc,set:cc,delete:uc,clear:mc,forEach:Oi(!1,!1)},C={get(i){return Mi(this,i,!1,!0)},get size(){return Pi(this)},has:Di,add:rc,set:cc,delete:uc,clear:mc,forEach:Oi(!1,!0)},e={get(i){return Mi(this,i,!0)},get size(){return Pi(this,!0)},has(i){return Di.call(this,i,!0)},add:Xe("add"),set:Xe("set"),delete:Xe("delete"),clear:Xe("clear"),forEach:Oi(!0,!1)},n={get(i){return Mi(this,i,!0,!0)},get size(){return Pi(this,!0)},has(i){return Di.call(this,i,!0)},add:Xe("add"),set:Xe("set"),delete:Xe("delete"),clear:Xe("clear"),forEach:Oi(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{A[i]=Li(i,!1,!1),e[i]=Li(i,!0,!1),C[i]=Li(i,!1,!0),n[i]=Li(i,!0,!0)}),[A,e,C,n]}const[ah,rh,ch,uh]=lh();function Ka(A,C){const e=C?A?uh:ch:A?rh:ah;return(n,t,i)=>t==="__v_isReactive"?!A:t==="__v_isReadonly"?A:t==="__v_raw"?n:Reflect.get(rC(e,t)&&t in n?e:n,t,i)}const mh={get:Ka(!1,!1)},dh={get:Ka(!1,!0)},ph={get:Ka(!0,!1)};const hd=new WeakMap,gd=new WeakMap,bd=new WeakMap,fh=new WeakMap;function hh(A){switch(A){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function gh(A){return A.__v_skip||!Object.isExtensible(A)?0:hh(Rf(A))}function Ei(A){return Ht(A)?A:Fa(A,!1,ih,mh,hd)}function Ed(A){return Fa(A,!1,oh,dh,gd)}function yd(A){return Fa(A,!0,sh,ph,bd)}function Fa(A,C,e,n,t){if(!BC(A)||A.__v_raw&&!(C&&A.__v_isReactive))return A;const i=t.get(A);if(i)return i;const s=gh(A);if(s===0)return A;const o=new Proxy(A,s===2?n:e);return t.set(A,o),o}function On(A){return Ht(A)?On(A.__v_raw):!!(A&&A.__v_isReactive)}function Ht(A){return!!(A&&A.__v_isReadonly)}function Bs(A){return!!(A&&A.__v_isShallow)}function vd(A){return A?!!A.__v_raw:!1}function aC(A){const C=A&&A.__v_raw;return C?aC(C):A}function Ta(A){return Object.isExtensible(A)&&ed(A,"__v_skip",!0),A}const Vt=A=>BC(A)?Ei(A):A,Na=A=>BC(A)?yd(A):A;class wd{constructor(C,e,n,t){this.getter=C,this._setter=e,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Da(()=>C(this._value),()=>is(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!t,this.__v_isReadonly=n}get value(){const C=aC(this);return(!C._cacheable||C.effect.dirty)&&dn(C._value,C._value=C.effect.run())&&is(C,4),Bd(C),C.effect._dirtyLevel>=2&&is(C,2),C._value}set value(C){this._setter(C)}get _dirty(){return this.effect.dirty}set _dirty(C){this.effect.dirty=C}}function bh(A,C,e=!1){let n,t;const i=qA(A);return i?(n=A,t=re):(n=A.get,t=A.set),new wd(n,t,i||!t,e)}function Bd(A){var C;un&&Dn&&(A=aC(A),cd(Dn,(C=A.dep)!=null?C:A.dep=md(()=>A.dep=void 0,A instanceof wd?A:void 0)))}function is(A,C=4,e){A=aC(A);const n=A.dep;n&&ud(n,C)}function FC(A){return!!(A&&A.__v_isRef===!0)}function Fn(A){return Sd(A,!1)}function Eh(A){return Sd(A,!0)}function Sd(A,C){return FC(A)?A:new yh(A,C)}class yh{constructor(C,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?C:aC(C),this._value=e?C:Vt(C)}get value(){return Bd(this),this._value}set value(C){const e=this.__v_isShallow||Bs(C)||Ht(C);C=e?C:aC(C),dn(C,this._rawValue)&&(this._rawValue=C,this._value=e?C:Vt(C),is(this,4))}}function Ln(A){return FC(A)?A.value:A}const vh={get:(A,C,e)=>Ln(Reflect.get(A,C,e)),set:(A,C,e,n)=>{const t=A[C];return FC(t)&&!FC(e)?(t.value=e,!0):Reflect.set(A,C,e,n)}};function kd(A){return On(A)?A:new Proxy(A,vh)}function wh(A){const C=FA(A)?new Array(A.length):{};for(const e in A)C[e]=Sh(A,e);return C}class Bh{constructor(C,e,n){this._object=C,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const C=this._object[this._key];return C===void 0?this._defaultValue:C}set value(C){this._object[this._key]=C}get dep(){return Ah(aC(this._object),this._key)}}function Sh(A,C,e){const n=A[C];return FC(n)?n:new Bh(A,C,e)}/** -* @vue/runtime-core v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function mn(A,C,e,n){try{return n?A(...n):A()}catch(t){to(t,C,e)}}function me(A,C,e,n){if(qA(A)){const t=mn(A,C,e,n);return t&&Zm(t)&&t.catch(i=>{to(i,C,e)}),t}if(FA(A)){const t=[];for(let i=0;i<A.length;i++)t.push(me(A[i],C,e,n));return t}}function to(A,C,e,n=!0){const t=C?C.vnode:null;if(C){let i=C.parent;const s=C.proxy,o=`https://vuejs.org/error-reference/#runtime-${e}`;for(;i;){const a=i.ec;if(a){for(let r=0;r<a.length;r++)if(a[r](A,s,o)===!1)return}i=i.parent}const l=C.appContext.config.errorHandler;if(l){hn(),mn(l,null,10,[A,s,o]),gn();return}}kh(A,e,t,n)}function kh(A,C,e,n=!0){console.error(A)}let zt=!1,Ml=!1;const QC=[];let Me=0;const nt=[];let tn=null,xn=0;const _d=Promise.resolve();let $a=null;function gt(A){const C=$a||_d;return A?C.then(this?A.bind(this):A):C}function _h(A){let C=Me+1,e=QC.length;for(;C<e;){const n=C+e>>>1,t=QC[n],i=qt(t);i<A||i===A&&t.pre?C=n+1:e=n}return C}function Ra(A){(!QC.length||!QC.includes(A,zt&&A.allowRecurse?Me+1:Me))&&(A.id==null?QC.push(A):QC.splice(_h(A.id),0,A),xd())}function xd(){!zt&&!Ml&&(Ml=!0,$a=_d.then(Id))}function xh(A){const C=QC.indexOf(A);C>Me&&QC.splice(C,1)}function jh(A){FA(A)?nt.push(...A):(!tn||!tn.includes(A,A.allowRecurse?xn+1:xn))&&nt.push(A),xd()}function dc(A,C,e=zt?Me+1:0){for(;e<QC.length;e++){const n=QC[e];if(n&&n.pre){if(A&&n.id!==A.uid)continue;QC.splice(e,1),e--,n()}}}function jd(A){if(nt.length){const C=[...new Set(nt)].sort((e,n)=>qt(e)-qt(n));if(nt.length=0,tn){tn.push(...C);return}for(tn=C,xn=0;xn<tn.length;xn++)tn[xn]();tn=null,xn=0}}const qt=A=>A.id==null?1/0:A.id,Ih=(A,C)=>{const e=qt(A)-qt(C);if(e===0){if(A.pre&&!C.pre)return-1;if(C.pre&&!A.pre)return 1}return e};function Id(A){Ml=!1,zt=!0,QC.sort(Ih);const C=re;try{for(Me=0;Me<QC.length;Me++){const e=QC[Me];e&&e.active!==!1&&mn(e,null,14)}}finally{Me=0,QC.length=0,jd(),zt=!1,$a=null,(QC.length||nt.length)&&Id()}}function Mh(A,C,...e){if(A.isUnmounted)return;const n=A.vnode.props||jC;let t=e;const i=C.startsWith("update:"),s=i&&C.slice(7);if(s&&s in n){const r=`${s==="modelValue"?"model":s}Modifiers`,{number:p,trim:d}=n[r]||jC;d&&(t=e.map(m=>PC(m)?m.trim():m)),p&&(t=e.map(vs))}let o,l=n[o=ns(C)]||n[o=ns(Le(C))];!l&&i&&(l=n[o=ns(Qn(C))]),l&&me(l,A,6,t);const a=n[o+"Once"];if(a){if(!A.emitted)A.emitted={};else if(A.emitted[o])return;A.emitted[o]=!0,me(a,A,6,t)}}function Md(A,C,e=!1){const n=C.emitsCache,t=n.get(A);if(t!==void 0)return t;const i=A.emits;let s={},o=!1;if(!qA(A)){const l=a=>{const r=Md(a,C,!0);r&&(o=!0,DC(s,r))};!e&&C.mixins.length&&C.mixins.forEach(l),A.extends&&l(A.extends),A.mixins&&A.mixins.forEach(l)}return!i&&!o?(BC(A)&&n.set(A,null),null):(FA(i)?i.forEach(l=>s[l]=null):DC(s,i),BC(A)&&n.set(A,s),s)}function io(A,C){return!A||!Ao(C)?!1:(C=C.slice(2).replace(/Once$/,""),rC(A,C[0].toLowerCase()+C.slice(1))||rC(A,Qn(C))||rC(A,C))}let OC=null,so=null;function Ss(A){const C=OC;return OC=A,so=A&&A.type.__scopeId||null,C}function Dd(A){so=A}function Pd(){so=null}function _A(A,C=OC,e){if(!C||A._n)return A;const n=(...t)=>{n._d&&_s(-1);const i=Ss(C);let s;try{s=A(...t)}finally{Ss(i),n._d&&_s(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Ho(A){const{type:C,vnode:e,proxy:n,withProxy:t,propsOptions:[i],slots:s,attrs:o,emit:l,render:a,renderCache:r,props:p,data:d,setupState:m,ctx:g,inheritAttrs:y}=A,k=Ss(A);let _,R;try{if(e.shapeFlag&4){const J=t||n,nA=J;_=Ie(a.call(nA,J,r,p,m,d,g)),R=o}else{const J=C;_=Ie(J.length>1?J(p,{attrs:o,slots:s,emit:l}):J(p,null)),R=C.props?o:Dh(o)}}catch(J){Ft.length=0,to(J,A,1),_=S(Ae)}let F=_;if(R&&y!==!1){const J=Object.keys(R),{shapeFlag:nA}=F;J.length&&nA&7&&(i&&J.some(_a)&&(R=Ph(R,i)),F=pn(F,R,!1,!0))}return e.dirs&&(F=pn(F,null,!1,!0),F.dirs=F.dirs?F.dirs.concat(e.dirs):e.dirs),e.transition&&(F.transition=e.transition),_=F,Ss(k),_}const Dh=A=>{let C;for(const e in A)(e==="class"||e==="style"||Ao(e))&&((C||(C={}))[e]=A[e]);return C},Ph=(A,C)=>{const e={};for(const n in A)(!_a(n)||!(n.slice(9)in C))&&(e[n]=A[n]);return e};function Oh(A,C,e){const{props:n,children:t,component:i}=A,{props:s,children:o,patchFlag:l}=C,a=i.emitsOptions;if(C.dirs||C.transition)return!0;if(e&&l>=0){if(l&1024)return!0;if(l&16)return n?pc(n,s,a):!!s;if(l&8){const r=C.dynamicProps;for(let p=0;p<r.length;p++){const d=r[p];if(s[d]!==n[d]&&!io(a,d))return!0}}}else return(t||o)&&(!o||!o.$stable)?!0:n===s?!1:n?s?pc(n,s,a):!0:!!s;return!1}function pc(A,C,e){const n=Object.keys(C);if(n.length!==Object.keys(A).length)return!0;for(let t=0;t<n.length;t++){const i=n[t];if(C[i]!==A[i]&&!io(e,i))return!0}return!1}function Lh({vnode:A,parent:C},e){for(;C;){const n=C.subTree;if(n.suspense&&n.suspense.activeBranch===A&&(n.el=A.el),n===A)(A=C.vnode).el=e,C=C.parent;else break}}const Ga="components",Kh="directives";function AA(A,C){return Ua(Ga,A,!0,C)||A}const Od=Symbol.for("v-ndc");function bn(A){return PC(A)?Ua(Ga,A,!1)||A:A||Od}function Ld(A){return Ua(Kh,A)}function Ua(A,C,e=!0,n=!1){const t=OC||RC;if(t){const i=t.type;if(A===Ga){const o=xg(i,!1);if(o&&(o===C||o===Le(C)||o===bi(Le(C))))return i}const s=fc(t[A]||i[A],C)||fc(t.appContext[A],C);return!s&&n?i:s}}function fc(A,C){return A&&(A[C]||A[Le(C)]||A[bi(Le(C))])}const Fh=A=>A.__isSuspense;function Th(A,C){C&&C.pendingBranch?FA(A)?C.effects.push(...A):C.effects.push(A):jh(A)}const Nh=Symbol.for("v-scx"),$h=()=>De(Nh),Ki={};function tt(A,C,e){return Kd(A,C,e)}function Kd(A,C,{immediate:e,deep:n,flush:t,once:i,onTrack:s,onTrigger:o}=jC){if(C&&i){const CA=C;C=(...LA)=>{CA(...LA),nA()}}const l=RC,a=CA=>n===!0?CA:Mn(CA,n===!1?1:void 0);let r,p=!1,d=!1;if(FC(A)?(r=()=>A.value,p=Bs(A)):On(A)?(r=()=>a(A),p=!0):FA(A)?(d=!0,p=A.some(CA=>On(CA)||Bs(CA)),r=()=>A.map(CA=>{if(FC(CA))return CA.value;if(On(CA))return a(CA);if(qA(CA))return mn(CA,l,2)})):qA(A)?C?r=()=>mn(A,l,2):r=()=>(m&&m(),me(A,l,3,[g])):r=re,C&&n){const CA=r;r=()=>Mn(CA())}let m,g=CA=>{m=F.onStop=()=>{mn(CA,l,4),m=F.onStop=void 0}},y;if(ao)if(g=re,C?e&&me(C,l,3,[r(),d?[]:void 0,g]):r(),t==="sync"){const CA=$h();y=CA.__watcherHandles||(CA.__watcherHandles=[])}else return re;let k=d?new Array(A.length).fill(Ki):Ki;const _=()=>{if(!(!F.active||!F.dirty))if(C){const CA=F.run();(n||p||(d?CA.some((LA,X)=>dn(LA,k[X])):dn(CA,k)))&&(m&&m(),me(C,l,3,[CA,k===Ki?void 0:d&&k[0]===Ki?[]:k,g]),k=CA)}else F.run()};_.allowRecurse=!!C;let R;t==="sync"?R=_:t==="post"?R=()=>YC(_,l&&l.suspense):(_.pre=!0,l&&(_.id=l.uid),R=()=>Ra(_));const F=new Da(r,re,R),J=Ma(),nA=()=>{F.stop(),J&&xa(J.effects,F)};return C?e?_():k=F.run():t==="post"?YC(F.run.bind(F),l&&l.suspense):F.run(),y&&y.push(nA),nA}function Rh(A,C,e){const n=this.proxy,t=PC(A)?A.includes(".")?Fd(n,A):()=>n[A]:A.bind(n,n);let i;qA(C)?i=C:(i=C.handler,e=C);const s=vi(this),o=Kd(t,i.bind(n),e);return s(),o}function Fd(A,C){const e=C.split(".");return()=>{let n=A;for(let t=0;t<e.length&&n;t++)n=n[e[t]];return n}}function Mn(A,C=1/0,e){if(C<=0||!BC(A)||A.__v_skip||(e=e||new Set,e.has(A)))return A;if(e.add(A),C--,FC(A))Mn(A.value,C,e);else if(FA(A))for(let n=0;n<A.length;n++)Mn(A[n],C,e);else if(ht(A)||et(A))A.forEach(n=>{Mn(n,C,e)});else if(Cd(A))for(const n in A)Mn(A[n],C,e);return A}function QA(A,C){if(OC===null)return A;const e=ro(OC)||OC.proxy,n=A.dirs||(A.dirs=[]);for(let t=0;t<C.length;t++){let[i,s,o,l=jC]=C[t];i&&(qA(i)&&(i={mounted:i,updated:i}),i.deep&&Mn(s),n.push({dir:i,instance:e,value:s,oldValue:void 0,arg:o,modifiers:l}))}return A}function wn(A,C,e,n){const t=A.dirs,i=C&&C.dirs;for(let s=0;s<t.length;s++){const o=t[s];i&&(o.oldValue=i[s].value);let l=o.dir[n];l&&(hn(),me(l,e,8,[A.el,o,A,C]),gn())}}const sn=Symbol("_leaveCb"),Fi=Symbol("_enterCb");function Td(){const A={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ha(()=>{A.isMounted=!0}),Ud(()=>{A.isUnmounting=!0}),A}const ce=[Function,Array],Nd={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ce,onEnter:ce,onAfterEnter:ce,onEnterCancelled:ce,onBeforeLeave:ce,onLeave:ce,onAfterLeave:ce,onLeaveCancelled:ce,onBeforeAppear:ce,onAppear:ce,onAfterAppear:ce,onAppearCancelled:ce},Gh={name:"BaseTransition",props:Nd,setup(A,{slots:C}){const e=Ya(),n=Td();return()=>{const t=C.default&&Qa(C.default(),!0);if(!t||!t.length)return;let i=t[0];if(t.length>1){for(const d of t)if(d.type!==Ae){i=d;break}}const s=aC(A),{mode:o}=s;if(n.isLeaving)return Vo(i);const l=hc(i);if(!l)return Vo(i);const a=Wt(l,s,n,e);Yt(l,a);const r=e.subTree,p=r&&hc(r);if(p&&p.type!==Ae&&!jn(l,p)){const d=Wt(p,s,n,e);if(Yt(p,d),o==="out-in"&&l.type!==Ae)return n.isLeaving=!0,d.afterLeave=()=>{n.isLeaving=!1,e.update.active!==!1&&(e.effect.dirty=!0,e.update())},Vo(i);o==="in-out"&&l.type!==Ae&&(d.delayLeave=(m,g,y)=>{const k=$d(n,p);k[String(p.key)]=p,m[sn]=()=>{g(),m[sn]=void 0,delete a.delayedLeave},a.delayedLeave=y})}return i}}},Uh=Gh;function $d(A,C){const{leavingVNodes:e}=A;let n=e.get(C.type);return n||(n=Object.create(null),e.set(C.type,n)),n}function Wt(A,C,e,n){const{appear:t,mode:i,persisted:s=!1,onBeforeEnter:o,onEnter:l,onAfterEnter:a,onEnterCancelled:r,onBeforeLeave:p,onLeave:d,onAfterLeave:m,onLeaveCancelled:g,onBeforeAppear:y,onAppear:k,onAfterAppear:_,onAppearCancelled:R}=C,F=String(A.key),J=$d(e,A),nA=(X,pA)=>{X&&me(X,n,9,pA)},CA=(X,pA)=>{const uA=pA[1];nA(X,pA),FA(X)?X.every(I=>I.length<=1)&&uA():X.length<=1&&uA()},LA={mode:i,persisted:s,beforeEnter(X){let pA=o;if(!e.isMounted)if(t)pA=y||o;else return;X[sn]&&X[sn](!0);const uA=J[F];uA&&jn(A,uA)&&uA.el[sn]&&uA.el[sn](),nA(pA,[X])},enter(X){let pA=l,uA=a,I=r;if(!e.isMounted)if(t)pA=k||l,uA=_||a,I=R||r;else return;let O=!1;const q=X[Fi]=z=>{O||(O=!0,z?nA(I,[X]):nA(uA,[X]),LA.delayedLeave&&LA.delayedLeave(),X[Fi]=void 0)};pA?CA(pA,[X,q]):q()},leave(X,pA){const uA=String(A.key);if(X[Fi]&&X[Fi](!0),e.isUnmounting)return pA();nA(p,[X]);let I=!1;const O=X[sn]=q=>{I||(I=!0,pA(),q?nA(g,[X]):nA(m,[X]),X[sn]=void 0,J[uA]===A&&delete J[uA])};J[uA]=A,d?CA(d,[X,O]):O()},clone(X){return Wt(X,C,e,n)}};return LA}function Vo(A){if(oo(A))return A=pn(A),A.children=null,A}function hc(A){if(!oo(A))return A;const{shapeFlag:C,children:e}=A;if(e){if(C&16)return e[0];if(C&32&&qA(e.default))return e.default()}}function Yt(A,C){A.shapeFlag&6&&A.component?Yt(A.component.subTree,C):A.shapeFlag&128?(A.ssContent.transition=C.clone(A.ssContent),A.ssFallback.transition=C.clone(A.ssFallback)):A.transition=C}function Qa(A,C=!1,e){let n=[],t=0;for(let i=0;i<A.length;i++){let s=A[i];const o=e==null?s.key:String(e)+String(s.key!=null?s.key:i);s.type===hA?(s.patchFlag&128&&t++,n=n.concat(Qa(s.children,C,o))):(C||s.type!==Ae)&&n.push(o!=null?pn(s,{key:o}):s)}if(t>1)for(let i=0;i<n.length;i++)n[i].patchFlag=-2;return n}/*! #__NO_SIDE_EFFECTS__ */function TA(A,C){return qA(A)?(()=>DC({name:A.name},C,{setup:A}))():A}const Lt=A=>!!A.type.__asyncLoader,oo=A=>A.type.__isKeepAlive;function Qh(A,C){Rd(A,"a",C)}function Hh(A,C){Rd(A,"da",C)}function Rd(A,C,e=RC){const n=A.__wdc||(A.__wdc=()=>{let t=e;for(;t;){if(t.isDeactivated)return;t=t.parent}return A()});if(lo(C,n,e),e){let t=e.parent;for(;t&&t.parent;)oo(t.parent.vnode)&&Vh(n,C,e,t),t=t.parent}}function Vh(A,C,e,n){const t=lo(C,A,n,!0);Qd(()=>{xa(n[C],t)},e)}function lo(A,C,e=RC,n=!1){if(e){const t=e[A]||(e[A]=[]),i=C.__weh||(C.__weh=(...s)=>{if(e.isUnmounted)return;hn();const o=vi(e),l=me(C,e,A,s);return o(),gn(),l});return n?t.unshift(i):t.push(i),i}}const We=A=>(C,e=RC)=>(!ao||A==="sp")&&lo(A,(...n)=>C(...n),e),zh=We("bm"),Ha=We("m"),qh=We("bu"),Gd=We("u"),Ud=We("bum"),Qd=We("um"),Wh=We("sp"),Yh=We("rtg"),Jh=We("rtc");function Xh(A,C=RC){lo("ec",A,C)}function XA(A,C,e,n){let t;const i=e&&e[n];if(FA(A)||PC(A)){t=new Array(A.length);for(let s=0,o=A.length;s<o;s++)t[s]=C(A[s],s,void 0,i&&i[s])}else if(typeof A=="number"){t=new Array(A);for(let s=0;s<A;s++)t[s]=C(s+1,s,void 0,i&&i[s])}else if(BC(A))if(A[Symbol.iterator])t=Array.from(A,(s,o)=>C(s,o,void 0,i&&i[o]));else{const s=Object.keys(A);t=new Array(s.length);for(let o=0,l=s.length;o<l;o++){const a=s[o];t[o]=C(A[a],a,o,i&&i[o])}}else t=[];return e&&(e[n]=t),t}function Va(A,C){for(let e=0;e<C.length;e++){const n=C[e];if(FA(n))for(let t=0;t<n.length;t++)A[n[t].name]=n[t].fn;else n&&(A[n.name]=n.key?(...t)=>{const i=n.fn(...t);return i&&(i.key=n.key),i}:n.fn)}return A}function dA(A,C,e={},n,t){if(OC.isCE||OC.parent&&Lt(OC.parent)&&OC.parent.isCE)return C!=="default"&&(e.name=C),S("slot",e,n&&n());let i=A[C];i&&i._c&&(i._d=!1),h();const s=i&&Hd(i(e)),o=B(hA,{key:e.key||s&&s.key||`_${C}`},s||(n?n():[]),s&&A._===1?64:-2);return!t&&o.scopeId&&(o.slotScopeIds=[o.scopeId+"-s"]),i&&i._c&&(i._d=!0),o}function Hd(A){return A.some(C=>xs(C)?!(C.type===Ae||C.type===hA&&!Hd(C.children)):!0)?A:null}function Vd(A,C){const e={};for(const n in A)e[C&&/[A-Z]/.test(n)?`on:${n}`:ns(n)]=A[n];return e}const Dl=A=>A?op(A)?ro(A)||A.proxy:Dl(A.parent):null,Kt=DC(Object.create(null),{$:A=>A,$el:A=>A.vnode.el,$data:A=>A.data,$props:A=>A.props,$attrs:A=>A.attrs,$slots:A=>A.slots,$refs:A=>A.refs,$parent:A=>Dl(A.parent),$root:A=>Dl(A.root),$emit:A=>A.emit,$options:A=>za(A),$forceUpdate:A=>A.f||(A.f=()=>{A.effect.dirty=!0,Ra(A.update)}),$nextTick:A=>A.n||(A.n=gt.bind(A.proxy)),$watch:A=>Rh.bind(A)}),zo=(A,C)=>A!==jC&&!A.__isScriptSetup&&rC(A,C),Zh={get({_:A},C){if(C==="__v_skip")return!0;const{ctx:e,setupState:n,data:t,props:i,accessCache:s,type:o,appContext:l}=A;let a;if(C[0]!=="$"){const m=s[C];if(m!==void 0)switch(m){case 1:return n[C];case 2:return t[C];case 4:return e[C];case 3:return i[C]}else{if(zo(n,C))return s[C]=1,n[C];if(t!==jC&&rC(t,C))return s[C]=2,t[C];if((a=A.propsOptions[0])&&rC(a,C))return s[C]=3,i[C];if(e!==jC&&rC(e,C))return s[C]=4,e[C];Pl&&(s[C]=0)}}const r=Kt[C];let p,d;if(r)return C==="$attrs"&&ee(A.attrs,"get",""),r(A);if((p=o.__cssModules)&&(p=p[C]))return p;if(e!==jC&&rC(e,C))return s[C]=4,e[C];if(d=l.config.globalProperties,rC(d,C))return d[C]},set({_:A},C,e){const{data:n,setupState:t,ctx:i}=A;return zo(t,C)?(t[C]=e,!0):n!==jC&&rC(n,C)?(n[C]=e,!0):rC(A.props,C)||C[0]==="$"&&C.slice(1)in A?!1:(i[C]=e,!0)},has({_:{data:A,setupState:C,accessCache:e,ctx:n,appContext:t,propsOptions:i}},s){let o;return!!e[s]||A!==jC&&rC(A,s)||zo(C,s)||(o=i[0])&&rC(o,s)||rC(n,s)||rC(Kt,s)||rC(t.config.globalProperties,s)},defineProperty(A,C,e){return e.get!=null?A._.accessCache[C]=0:rC(e,"value")&&this.set(A,C,e.value,null),Reflect.defineProperty(A,C,e)}};function gc(A){return FA(A)?A.reduce((C,e)=>(C[e]=null,C),{}):A}let Pl=!0;function Ag(A){const C=za(A),e=A.proxy,n=A.ctx;Pl=!1,C.beforeCreate&&bc(C.beforeCreate,A,"bc");const{data:t,computed:i,methods:s,watch:o,provide:l,inject:a,created:r,beforeMount:p,mounted:d,beforeUpdate:m,updated:g,activated:y,deactivated:k,beforeDestroy:_,beforeUnmount:R,destroyed:F,unmounted:J,render:nA,renderTracked:CA,renderTriggered:LA,errorCaptured:X,serverPrefetch:pA,expose:uA,inheritAttrs:I,components:O,directives:q,filters:z}=C;if(a&&Cg(a,n,null),s)for(const D in s){const L=s[D];qA(L)&&(n[D]=L.bind(e))}if(t){const D=t.call(e,e);BC(D)&&(A.data=Ei(D))}if(Pl=!0,i)for(const D in i){const L=i[D],gA=qA(L)?L.bind(e,e):qA(L.get)?L.get.bind(e,e):re,bA=!qA(L)&&qA(L.set)?L.set.bind(e):re,SA=ue({get:gA,set:bA});Object.defineProperty(n,D,{enumerable:!0,configurable:!0,get:()=>SA.value,set:BA=>SA.value=BA})}if(o)for(const D in o)zd(o[D],n,e,D);if(l){const D=qA(l)?l.call(e):l;Reflect.ownKeys(D).forEach(L=>{ss(L,D[L])})}r&&bc(r,A,"c");function x(D,L){FA(L)?L.forEach(gA=>D(gA.bind(e))):L&&D(L.bind(e))}if(x(zh,p),x(Ha,d),x(qh,m),x(Gd,g),x(Qh,y),x(Hh,k),x(Xh,X),x(Jh,CA),x(Yh,LA),x(Ud,R),x(Qd,J),x(Wh,pA),FA(uA))if(uA.length){const D=A.exposed||(A.exposed={});uA.forEach(L=>{Object.defineProperty(D,L,{get:()=>e[L],set:gA=>e[L]=gA})})}else A.exposed||(A.exposed={});nA&&A.render===re&&(A.render=nA),I!=null&&(A.inheritAttrs=I),O&&(A.components=O),q&&(A.directives=q)}function Cg(A,C,e=re){FA(A)&&(A=Ol(A));for(const n in A){const t=A[n];let i;BC(t)?"default"in t?i=De(t.from||n,t.default,!0):i=De(t.from||n):i=De(t),FC(i)?Object.defineProperty(C,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:s=>i.value=s}):C[n]=i}}function bc(A,C,e){me(FA(A)?A.map(n=>n.bind(C.proxy)):A.bind(C.proxy),C,e)}function zd(A,C,e,n){const t=n.includes(".")?Fd(e,n):()=>e[n];if(PC(A)){const i=C[A];qA(i)&&tt(t,i)}else if(qA(A))tt(t,A.bind(e));else if(BC(A))if(FA(A))A.forEach(i=>zd(i,C,e,n));else{const i=qA(A.handler)?A.handler.bind(e):C[A.handler];qA(i)&&tt(t,i,A)}}function za(A){const C=A.type,{mixins:e,extends:n}=C,{mixins:t,optionsCache:i,config:{optionMergeStrategies:s}}=A.appContext,o=i.get(C);let l;return o?l=o:!t.length&&!e&&!n?l=C:(l={},t.length&&t.forEach(a=>ks(l,a,s,!0)),ks(l,C,s)),BC(C)&&i.set(C,l),l}function ks(A,C,e,n=!1){const{mixins:t,extends:i}=C;i&&ks(A,i,e,!0),t&&t.forEach(s=>ks(A,s,e,!0));for(const s in C)if(!(n&&s==="expose")){const o=eg[s]||e&&e[s];A[s]=o?o(A[s],C[s]):C[s]}return A}const eg={data:Ec,props:yc,emits:yc,methods:Dt,computed:Dt,beforeCreate:zC,created:zC,beforeMount:zC,mounted:zC,beforeUpdate:zC,updated:zC,beforeDestroy:zC,beforeUnmount:zC,destroyed:zC,unmounted:zC,activated:zC,deactivated:zC,errorCaptured:zC,serverPrefetch:zC,components:Dt,directives:Dt,watch:tg,provide:Ec,inject:ng};function Ec(A,C){return C?A?function(){return DC(qA(A)?A.call(this,this):A,qA(C)?C.call(this,this):C)}:C:A}function ng(A,C){return Dt(Ol(A),Ol(C))}function Ol(A){if(FA(A)){const C={};for(let e=0;e<A.length;e++)C[A[e]]=A[e];return C}return A}function zC(A,C){return A?[...new Set([].concat(A,C))]:C}function Dt(A,C){return A?DC(Object.create(null),A,C):C}function yc(A,C){return A?FA(A)&&FA(C)?[...new Set([...A,...C])]:DC(Object.create(null),gc(A),gc(C??{})):C}function tg(A,C){if(!A)return C;if(!C)return A;const e=DC(Object.create(null),A);for(const n in C)e[n]=zC(A[n],C[n]);return e}function qd(){return{app:null,config:{isNativeTag:Nf,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let ig=0;function sg(A,C){return function(n,t=null){qA(n)||(n=DC({},n)),t!=null&&!BC(t)&&(t=null);const i=qd(),s=new WeakSet;let o=!1;const l=i.app={_uid:ig++,_component:n,_props:t,_container:null,_context:i,_instance:null,version:Ig,get config(){return i.config},set config(a){},use(a,...r){return s.has(a)||(a&&qA(a.install)?(s.add(a),a.install(l,...r)):qA(a)&&(s.add(a),a(l,...r))),l},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),l},component(a,r){return r?(i.components[a]=r,l):i.components[a]},directive(a,r){return r?(i.directives[a]=r,l):i.directives[a]},mount(a,r,p){if(!o){const d=S(n,t);return d.appContext=i,p===!0?p="svg":p===!1&&(p=void 0),r&&C?C(d,a):A(d,a,p),o=!0,l._container=a,a.__vue_app__=l,ro(d.component)||d.component.proxy}},unmount(){o&&(A(null,l._container),delete l._container.__vue_app__)},provide(a,r){return i.provides[a]=r,l},runWithContext(a){const r=it;it=l;try{return a()}finally{it=r}}};return l}}let it=null;function ss(A,C){if(RC){let e=RC.provides;const n=RC.parent&&RC.parent.provides;n===e&&(e=RC.provides=Object.create(n)),e[A]=C}}function De(A,C,e=!1){const n=RC||OC;if(n||it){const t=n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:it._context.provides;if(t&&A in t)return t[A];if(arguments.length>1)return e&&qA(C)?C.call(n&&n.proxy):C}}function og(){return!!(RC||OC||it)}const Wd={},Yd=()=>Object.create(Wd),Jd=A=>Object.getPrototypeOf(A)===Wd;function lg(A,C,e,n=!1){const t={},i=Yd();A.propsDefaults=Object.create(null),Xd(A,C,t,i);for(const s in A.propsOptions[0])s in t||(t[s]=void 0);e?A.props=n?t:Ed(t):A.type.props?A.props=t:A.props=i,A.attrs=i}function ag(A,C,e,n){const{props:t,attrs:i,vnode:{patchFlag:s}}=A,o=aC(t),[l]=A.propsOptions;let a=!1;if((n||s>0)&&!(s&16)){if(s&8){const r=A.vnode.dynamicProps;for(let p=0;p<r.length;p++){let d=r[p];if(io(A.emitsOptions,d))continue;const m=C[d];if(l)if(rC(i,d))m!==i[d]&&(i[d]=m,a=!0);else{const g=Le(d);t[g]=Ll(l,o,g,m,A,!1)}else m!==i[d]&&(i[d]=m,a=!0)}}}else{Xd(A,C,t,i)&&(a=!0);let r;for(const p in o)(!C||!rC(C,p)&&((r=Qn(p))===p||!rC(C,r)))&&(l?e&&(e[p]!==void 0||e[r]!==void 0)&&(t[p]=Ll(l,o,p,void 0,A,!0)):delete t[p]);if(i!==o)for(const p in i)(!C||!rC(C,p))&&(delete i[p],a=!0)}a&&Ue(A.attrs,"set","")}function Xd(A,C,e,n){const[t,i]=A.propsOptions;let s=!1,o;if(C)for(let l in C){if(Ot(l))continue;const a=C[l];let r;t&&rC(t,r=Le(l))?!i||!i.includes(r)?e[r]=a:(o||(o={}))[r]=a:io(A.emitsOptions,l)||(!(l in n)||a!==n[l])&&(n[l]=a,s=!0)}if(i){const l=aC(e),a=o||jC;for(let r=0;r<i.length;r++){const p=i[r];e[p]=Ll(t,l,p,a[p],A,!rC(a,p))}}return s}function Ll(A,C,e,n,t,i){const s=A[e];if(s!=null){const o=rC(s,"default");if(o&&n===void 0){const l=s.default;if(s.type!==Function&&!s.skipFactory&&qA(l)){const{propsDefaults:a}=t;if(e in a)n=a[e];else{const r=vi(t);n=a[e]=l.call(null,C),r()}}else n=l}s[0]&&(i&&!o?n=!1:s[1]&&(n===""||n===Qn(e))&&(n=!0))}return n}function Zd(A,C,e=!1){const n=C.propsCache,t=n.get(A);if(t)return t;const i=A.props,s={},o=[];let l=!1;if(!qA(A)){const r=p=>{l=!0;const[d,m]=Zd(p,C,!0);DC(s,d),m&&o.push(...m)};!e&&C.mixins.length&&C.mixins.forEach(r),A.extends&&r(A.extends),A.mixins&&A.mixins.forEach(r)}if(!i&&!l)return BC(A)&&n.set(A,Ct),Ct;if(FA(i))for(let r=0;r<i.length;r++){const p=Le(i[r]);vc(p)&&(s[p]=jC)}else if(i)for(const r in i){const p=Le(r);if(vc(p)){const d=i[r],m=s[p]=FA(d)||qA(d)?{type:d}:DC({},d);if(m){const g=Sc(Boolean,m.type),y=Sc(String,m.type);m[0]=g>-1,m[1]=y<0||g<y,(g>-1||rC(m,"default"))&&o.push(p)}}}const a=[s,o];return BC(A)&&n.set(A,a),a}function vc(A){return A[0]!=="$"&&!Ot(A)}function wc(A){return A===null?"null":typeof A=="function"?A.name||"":typeof A=="object"&&A.constructor&&A.constructor.name||""}function Bc(A,C){return wc(A)===wc(C)}function Sc(A,C){return FA(C)?C.findIndex(e=>Bc(e,A)):qA(C)&&Bc(C,A)?0:-1}const Ap=A=>A[0]==="_"||A==="$stable",qa=A=>FA(A)?A.map(Ie):[Ie(A)],rg=(A,C,e)=>{if(C._n)return C;const n=_A((...t)=>qa(C(...t)),e);return n._c=!1,n},Cp=(A,C,e)=>{const n=A._ctx;for(const t in A){if(Ap(t))continue;const i=A[t];if(qA(i))C[t]=rg(t,i,n);else if(i!=null){const s=qa(i);C[t]=()=>s}}},ep=(A,C)=>{const e=qa(C);A.slots.default=()=>e},cg=(A,C)=>{const e=A.slots=Yd();if(A.vnode.shapeFlag&32){const n=C._;n?(DC(e,C),ed(e,"_",n,!0)):Cp(C,e)}else C&&ep(A,C)},ug=(A,C,e)=>{const{vnode:n,slots:t}=A;let i=!0,s=jC;if(n.shapeFlag&32){const o=C._;o?e&&o===1?i=!1:(DC(t,C),!e&&o===1&&delete t._):(i=!C.$stable,Cp(C,t)),s=C}else C&&(ep(A,C),s={default:1});if(i)for(const o in t)!Ap(o)&&s[o]==null&&delete t[o]};function Kl(A,C,e,n,t=!1){if(FA(A)){A.forEach((d,m)=>Kl(d,C&&(FA(C)?C[m]:C),e,n,t));return}if(Lt(n)&&!t)return;const i=n.shapeFlag&4?ro(n.component)||n.component.proxy:n.el,s=t?null:i,{i:o,r:l}=A,a=C&&C.r,r=o.refs===jC?o.refs={}:o.refs,p=o.setupState;if(a!=null&&a!==l&&(PC(a)?(r[a]=null,rC(p,a)&&(p[a]=null)):FC(a)&&(a.value=null)),qA(l))mn(l,o,12,[s,r]);else{const d=PC(l),m=FC(l);if(d||m){const g=()=>{if(A.f){const y=d?rC(p,l)?p[l]:r[l]:l.value;t?FA(y)&&xa(y,i):FA(y)?y.includes(i)||y.push(i):d?(r[l]=[i],rC(p,l)&&(p[l]=r[l])):(l.value=[i],A.k&&(r[A.k]=l.value))}else d?(r[l]=s,rC(p,l)&&(p[l]=s)):m&&(l.value=s,A.k&&(r[A.k]=s))};s?(g.id=-1,YC(g,e)):g()}}}const YC=Th;function mg(A){return dg(A)}function dg(A,C){const e=nd();e.__VUE__=!0;const{insert:n,remove:t,patchProp:i,createElement:s,createText:o,createComment:l,setText:a,setElementText:r,parentNode:p,nextSibling:d,setScopeId:m=re,insertStaticContent:g}=A,y=(E,v,T,W=null,H=null,cA=null,EA=void 0,lA=null,mA=!!v.dynamicChildren)=>{if(E===v)return;E&&!jn(E,v)&&(W=U(E),BA(E,H,cA,!0),E=null),v.patchFlag===-2&&(mA=!1,v.dynamicChildren=null);const{type:eA,ref:wA,shapeFlag:RA}=v;switch(eA){case yi:k(E,v,T,W);break;case Ae:_(E,v,T,W);break;case Wo:E==null&&R(v,T,W,EA);break;case hA:O(E,v,T,W,H,cA,EA,lA,mA);break;default:RA&1?nA(E,v,T,W,H,cA,EA,lA,mA):RA&6?q(E,v,T,W,H,cA,EA,lA,mA):(RA&64||RA&128)&&eA.process(E,v,T,W,H,cA,EA,lA,mA,fA)}wA!=null&&H&&Kl(wA,E&&E.ref,cA,v||E,!v)},k=(E,v,T,W)=>{if(E==null)n(v.el=o(v.children),T,W);else{const H=v.el=E.el;v.children!==E.children&&a(H,v.children)}},_=(E,v,T,W)=>{E==null?n(v.el=l(v.children||""),T,W):v.el=E.el},R=(E,v,T,W)=>{[E.el,E.anchor]=g(E.children,v,T,W,E.el,E.anchor)},F=({el:E,anchor:v},T,W)=>{let H;for(;E&&E!==v;)H=d(E),n(E,T,W),E=H;n(v,T,W)},J=({el:E,anchor:v})=>{let T;for(;E&&E!==v;)T=d(E),t(E),E=T;t(v)},nA=(E,v,T,W,H,cA,EA,lA,mA)=>{v.type==="svg"?EA="svg":v.type==="math"&&(EA="mathml"),E==null?CA(v,T,W,H,cA,EA,lA,mA):pA(E,v,H,cA,EA,lA,mA)},CA=(E,v,T,W,H,cA,EA,lA)=>{let mA,eA;const{props:wA,shapeFlag:RA,transition:NA,dirs:VA}=E;if(mA=E.el=s(E.type,cA,wA&&wA.is,wA),RA&8?r(mA,E.children):RA&16&&X(E.children,mA,null,W,H,qo(E,cA),EA,lA),VA&&wn(E,null,W,"created"),LA(mA,E,E.scopeId,EA,W),wA){for(const yC in wA)yC!=="value"&&!Ot(yC)&&i(mA,yC,null,wA[yC],cA,E.children,W,H,dC);"value"in wA&&i(mA,"value",null,wA.value,cA),(eA=wA.onVnodeBeforeMount)&&xe(eA,W,E)}VA&&wn(E,null,W,"beforeMount");const nC=pg(H,NA);nC&&NA.beforeEnter(mA),n(mA,v,T),((eA=wA&&wA.onVnodeMounted)||nC||VA)&&YC(()=>{eA&&xe(eA,W,E),nC&&NA.enter(mA),VA&&wn(E,null,W,"mounted")},H)},LA=(E,v,T,W,H)=>{if(T&&m(E,T),W)for(let cA=0;cA<W.length;cA++)m(E,W[cA]);if(H){let cA=H.subTree;if(v===cA){const EA=H.vnode;LA(E,EA,EA.scopeId,EA.slotScopeIds,H.parent)}}},X=(E,v,T,W,H,cA,EA,lA,mA=0)=>{for(let eA=mA;eA<E.length;eA++){const wA=E[eA]=lA?on(E[eA]):Ie(E[eA]);y(null,wA,v,T,W,H,cA,EA,lA)}},pA=(E,v,T,W,H,cA,EA)=>{const lA=v.el=E.el;let{patchFlag:mA,dynamicChildren:eA,dirs:wA}=v;mA|=E.patchFlag&16;const RA=E.props||jC,NA=v.props||jC;let VA;if(T&&Bn(T,!1),(VA=NA.onVnodeBeforeUpdate)&&xe(VA,T,v,E),wA&&wn(v,E,T,"beforeUpdate"),T&&Bn(T,!0),eA?uA(E.dynamicChildren,eA,lA,T,W,qo(v,H),cA):EA||L(E,v,lA,null,T,W,qo(v,H),cA,!1),mA>0){if(mA&16)I(lA,v,RA,NA,T,W,H);else if(mA&2&&RA.class!==NA.class&&i(lA,"class",null,NA.class,H),mA&4&&i(lA,"style",RA.style,NA.style,H),mA&8){const nC=v.dynamicProps;for(let yC=0;yC<nC.length;yC++){const IC=nC[yC],TC=RA[IC],fe=NA[IC];(fe!==TC||IC==="value")&&i(lA,IC,TC,fe,H,E.children,T,W,dC)}}mA&1&&E.children!==v.children&&r(lA,v.children)}else!EA&&eA==null&&I(lA,v,RA,NA,T,W,H);((VA=NA.onVnodeUpdated)||wA)&&YC(()=>{VA&&xe(VA,T,v,E),wA&&wn(v,E,T,"updated")},W)},uA=(E,v,T,W,H,cA,EA)=>{for(let lA=0;lA<v.length;lA++){const mA=E[lA],eA=v[lA],wA=mA.el&&(mA.type===hA||!jn(mA,eA)||mA.shapeFlag&70)?p(mA.el):T;y(mA,eA,wA,null,W,H,cA,EA,!0)}},I=(E,v,T,W,H,cA,EA)=>{if(T!==W){if(T!==jC)for(const lA in T)!Ot(lA)&&!(lA in W)&&i(E,lA,T[lA],null,EA,v.children,H,cA,dC);for(const lA in W){if(Ot(lA))continue;const mA=W[lA],eA=T[lA];mA!==eA&&lA!=="value"&&i(E,lA,eA,mA,EA,v.children,H,cA,dC)}"value"in W&&i(E,"value",T.value,W.value,EA)}},O=(E,v,T,W,H,cA,EA,lA,mA)=>{const eA=v.el=E?E.el:o(""),wA=v.anchor=E?E.anchor:o("");let{patchFlag:RA,dynamicChildren:NA,slotScopeIds:VA}=v;VA&&(lA=lA?lA.concat(VA):VA),E==null?(n(eA,T,W),n(wA,T,W),X(v.children||[],T,wA,H,cA,EA,lA,mA)):RA>0&&RA&64&&NA&&E.dynamicChildren?(uA(E.dynamicChildren,NA,T,H,cA,EA,lA),(v.key!=null||H&&v===H.subTree)&&np(E,v,!0)):L(E,v,T,wA,H,cA,EA,lA,mA)},q=(E,v,T,W,H,cA,EA,lA,mA)=>{v.slotScopeIds=lA,E==null?v.shapeFlag&512?H.ctx.activate(v,T,W,EA,mA):z(v,T,W,H,cA,EA,mA):w(E,v,mA)},z=(E,v,T,W,H,cA,EA)=>{const lA=E.component=wg(E,W,H);if(oo(E)&&(lA.ctx.renderer=fA),Bg(lA),lA.asyncDep){if(H&&H.registerDep(lA,x),!E.el){const mA=lA.subTree=S(Ae);_(null,mA,v,T)}}else x(lA,E,v,T,H,cA,EA)},w=(E,v,T)=>{const W=v.component=E.component;if(Oh(E,v,T))if(W.asyncDep&&!W.asyncResolved){D(W,v,T);return}else W.next=v,xh(W.update),W.effect.dirty=!0,W.update();else v.el=E.el,W.vnode=v},x=(E,v,T,W,H,cA,EA)=>{const lA=()=>{if(E.isMounted){let{next:wA,bu:RA,u:NA,parent:VA,vnode:nC}=E;{const qn=tp(E);if(qn){wA&&(wA.el=nC.el,D(E,wA,EA)),qn.asyncDep.then(()=>{E.isUnmounted||lA()});return}}let yC=wA,IC;Bn(E,!1),wA?(wA.el=nC.el,D(E,wA,EA)):wA=nC,RA&&ts(RA),(IC=wA.props&&wA.props.onVnodeBeforeUpdate)&&xe(IC,VA,wA,nC),Bn(E,!0);const TC=Ho(E),fe=E.subTree;E.subTree=TC,y(fe,TC,p(fe.el),U(fe),E,H,cA),wA.el=TC.el,yC===null&&Lh(E,TC.el),NA&&YC(NA,H),(IC=wA.props&&wA.props.onVnodeUpdated)&&YC(()=>xe(IC,VA,wA,nC),H)}else{let wA;const{el:RA,props:NA}=v,{bm:VA,m:nC,parent:yC}=E,IC=Lt(v);if(Bn(E,!1),VA&&ts(VA),!IC&&(wA=NA&&NA.onVnodeBeforeMount)&&xe(wA,yC,v),Bn(E,!0),RA&&fC){const TC=()=>{E.subTree=Ho(E),fC(RA,E.subTree,E,H,null)};IC?v.type.__asyncLoader().then(()=>!E.isUnmounted&&TC()):TC()}else{const TC=E.subTree=Ho(E);y(null,TC,T,W,E,H,cA),v.el=TC.el}if(nC&&YC(nC,H),!IC&&(wA=NA&&NA.onVnodeMounted)){const TC=v;YC(()=>xe(wA,yC,TC),H)}(v.shapeFlag&256||yC&&Lt(yC.vnode)&&yC.vnode.shapeFlag&256)&&E.a&&YC(E.a,H),E.isMounted=!0,v=T=W=null}},mA=E.effect=new Da(lA,re,()=>Ra(eA),E.scope),eA=E.update=()=>{mA.dirty&&mA.run()};eA.id=E.uid,Bn(E,!0),eA()},D=(E,v,T)=>{v.component=E;const W=E.vnode.props;E.vnode=v,E.next=null,ag(E,v.props,W,T),ug(E,v.children,T),hn(),dc(E),gn()},L=(E,v,T,W,H,cA,EA,lA,mA=!1)=>{const eA=E&&E.children,wA=E?E.shapeFlag:0,RA=v.children,{patchFlag:NA,shapeFlag:VA}=v;if(NA>0){if(NA&128){bA(eA,RA,T,W,H,cA,EA,lA,mA);return}else if(NA&256){gA(eA,RA,T,W,H,cA,EA,lA,mA);return}}VA&8?(wA&16&&dC(eA,H,cA),RA!==eA&&r(T,RA)):wA&16?VA&16?bA(eA,RA,T,W,H,cA,EA,lA,mA):dC(eA,H,cA,!0):(wA&8&&r(T,""),VA&16&&X(RA,T,W,H,cA,EA,lA,mA))},gA=(E,v,T,W,H,cA,EA,lA,mA)=>{E=E||Ct,v=v||Ct;const eA=E.length,wA=v.length,RA=Math.min(eA,wA);let NA;for(NA=0;NA<RA;NA++){const VA=v[NA]=mA?on(v[NA]):Ie(v[NA]);y(E[NA],VA,T,null,H,cA,EA,lA,mA)}eA>wA?dC(E,H,cA,!0,!1,RA):X(v,T,W,H,cA,EA,lA,mA,RA)},bA=(E,v,T,W,H,cA,EA,lA,mA)=>{let eA=0;const wA=v.length;let RA=E.length-1,NA=wA-1;for(;eA<=RA&&eA<=NA;){const VA=E[eA],nC=v[eA]=mA?on(v[eA]):Ie(v[eA]);if(jn(VA,nC))y(VA,nC,T,null,H,cA,EA,lA,mA);else break;eA++}for(;eA<=RA&&eA<=NA;){const VA=E[RA],nC=v[NA]=mA?on(v[NA]):Ie(v[NA]);if(jn(VA,nC))y(VA,nC,T,null,H,cA,EA,lA,mA);else break;RA--,NA--}if(eA>RA){if(eA<=NA){const VA=NA+1,nC=VA<wA?v[VA].el:W;for(;eA<=NA;)y(null,v[eA]=mA?on(v[eA]):Ie(v[eA]),T,nC,H,cA,EA,lA,mA),eA++}}else if(eA>NA)for(;eA<=RA;)BA(E[eA],H,cA,!0),eA++;else{const VA=eA,nC=eA,yC=new Map;for(eA=nC;eA<=NA;eA++){const ie=v[eA]=mA?on(v[eA]):Ie(v[eA]);ie.key!=null&&yC.set(ie.key,eA)}let IC,TC=0;const fe=NA-nC+1;let qn=!1,ec=0;const St=new Array(fe);for(eA=0;eA<fe;eA++)St[eA]=0;for(eA=VA;eA<=RA;eA++){const ie=E[eA];if(TC>=fe){BA(ie,H,cA,!0);continue}let _e;if(ie.key!=null)_e=yC.get(ie.key);else for(IC=nC;IC<=NA;IC++)if(St[IC-nC]===0&&jn(ie,v[IC])){_e=IC;break}_e===void 0?BA(ie,H,cA,!0):(St[_e-nC]=eA+1,_e>=ec?ec=_e:qn=!0,y(ie,v[_e],T,null,H,cA,EA,lA,mA),TC++)}const nc=qn?fg(St):Ct;for(IC=nc.length-1,eA=fe-1;eA>=0;eA--){const ie=nC+eA,_e=v[ie],tc=ie+1<wA?v[ie+1].el:W;St[eA]===0?y(null,_e,T,tc,H,cA,EA,lA,mA):qn&&(IC<0||eA!==nc[IC]?SA(_e,T,tc,2):IC--)}}},SA=(E,v,T,W,H=null)=>{const{el:cA,type:EA,transition:lA,children:mA,shapeFlag:eA}=E;if(eA&6){SA(E.component.subTree,v,T,W);return}if(eA&128){E.suspense.move(v,T,W);return}if(eA&64){EA.move(E,v,T,fA);return}if(EA===hA){n(cA,v,T);for(let RA=0;RA<mA.length;RA++)SA(mA[RA],v,T,W);n(E.anchor,v,T);return}if(EA===Wo){F(E,v,T);return}if(W!==2&&eA&1&&lA)if(W===0)lA.beforeEnter(cA),n(cA,v,T),YC(()=>lA.enter(cA),H);else{const{leave:RA,delayLeave:NA,afterLeave:VA}=lA,nC=()=>n(cA,v,T),yC=()=>{RA(cA,()=>{nC(),VA&&VA()})};NA?NA(cA,nC,yC):yC()}else n(cA,v,T)},BA=(E,v,T,W=!1,H=!1)=>{const{type:cA,props:EA,ref:lA,children:mA,dynamicChildren:eA,shapeFlag:wA,patchFlag:RA,dirs:NA}=E;if(lA!=null&&Kl(lA,null,T,E,!0),wA&256){v.ctx.deactivate(E);return}const VA=wA&1&&NA,nC=!Lt(E);let yC;if(nC&&(yC=EA&&EA.onVnodeBeforeUnmount)&&xe(yC,v,E),wA&6)UA(E.component,T,W);else{if(wA&128){E.suspense.unmount(T,W);return}VA&&wn(E,null,v,"beforeUnmount"),wA&64?E.type.remove(E,v,T,H,fA,W):eA&&(cA!==hA||RA>0&&RA&64)?dC(eA,v,T,!1,!0):(cA===hA&&RA&384||!H&&wA&16)&&dC(mA,v,T),W&&hC(E)}(nC&&(yC=EA&&EA.onVnodeUnmounted)||VA)&&YC(()=>{yC&&xe(yC,v,E),VA&&wn(E,null,v,"unmounted")},T)},hC=E=>{const{type:v,el:T,anchor:W,transition:H}=E;if(v===hA){$A(T,W);return}if(v===Wo){J(E);return}const cA=()=>{t(T),H&&!H.persisted&&H.afterLeave&&H.afterLeave()};if(E.shapeFlag&1&&H&&!H.persisted){const{leave:EA,delayLeave:lA}=H,mA=()=>EA(T,cA);lA?lA(E.el,cA,mA):mA()}else cA()},$A=(E,v)=>{let T;for(;E!==v;)T=d(E),t(E),E=T;t(v)},UA=(E,v,T)=>{const{bum:W,scope:H,update:cA,subTree:EA,um:lA}=E;W&&ts(W),H.stop(),cA&&(cA.active=!1,BA(EA,E,v,T)),lA&&YC(lA,v),YC(()=>{E.isUnmounted=!0},v),v&&v.pendingBranch&&!v.isUnmounted&&E.asyncDep&&!E.asyncResolved&&E.suspenseId===v.pendingId&&(v.deps--,v.deps===0&&v.resolve())},dC=(E,v,T,W=!1,H=!1,cA=0)=>{for(let EA=cA;EA<E.length;EA++)BA(E[EA],v,T,W,H)},U=E=>E.shapeFlag&6?U(E.component.subTree):E.shapeFlag&128?E.suspense.next():d(E.anchor||E.el);let aA=!1;const rA=(E,v,T)=>{E==null?v._vnode&&BA(v._vnode,null,null,!0):y(v._vnode||null,E,v,null,null,null,T),aA||(aA=!0,dc(),jd(),aA=!1),v._vnode=E},fA={p:y,um:BA,m:SA,r:hC,mt:z,mc:X,pc:L,pbc:uA,n:U,o:A};let AC,fC;return C&&([AC,fC]=C(fA)),{render:rA,hydrate:AC,createApp:sg(rA,AC)}}function qo({type:A,props:C},e){return e==="svg"&&A==="foreignObject"||e==="mathml"&&A==="annotation-xml"&&C&&C.encoding&&C.encoding.includes("html")?void 0:e}function Bn({effect:A,update:C},e){A.allowRecurse=C.allowRecurse=e}function pg(A,C){return(!A||A&&!A.pendingBranch)&&C&&!C.persisted}function np(A,C,e=!1){const n=A.children,t=C.children;if(FA(n)&&FA(t))for(let i=0;i<n.length;i++){const s=n[i];let o=t[i];o.shapeFlag&1&&!o.dynamicChildren&&((o.patchFlag<=0||o.patchFlag===32)&&(o=t[i]=on(t[i]),o.el=s.el),e||np(s,o)),o.type===yi&&(o.el=s.el)}}function fg(A){const C=A.slice(),e=[0];let n,t,i,s,o;const l=A.length;for(n=0;n<l;n++){const a=A[n];if(a!==0){if(t=e[e.length-1],A[t]<a){C[n]=t,e.push(n);continue}for(i=0,s=e.length-1;i<s;)o=i+s>>1,A[e[o]]<a?i=o+1:s=o;a<A[e[i]]&&(i>0&&(C[n]=e[i-1]),e[i]=n)}}for(i=e.length,s=e[i-1];i-- >0;)e[i]=s,s=C[s];return e}function tp(A){const C=A.subTree.component;if(C)return C.asyncDep&&!C.asyncResolved?C:tp(C)}const hg=A=>A.__isTeleport,hA=Symbol.for("v-fgt"),yi=Symbol.for("v-txt"),Ae=Symbol.for("v-cmt"),Wo=Symbol.for("v-stc"),Ft=[];let ge=null;function h(A=!1){Ft.push(ge=A?null:[])}function gg(){Ft.pop(),ge=Ft[Ft.length-1]||null}let Jt=1;function _s(A){Jt+=A}function ip(A){return A.dynamicChildren=Jt>0?ge||Ct:null,gg(),Jt>0&&ge&&ge.push(A),A}function Q(A,C,e,n,t,i){return ip(b(A,C,e,n,t,i,!0))}function B(A,C,e,n,t){return ip(S(A,C,e,n,t,!0))}function xs(A){return A?A.__v_isVNode===!0:!1}function jn(A,C){return A.type===C.type&&A.key===C.key}const sp=({key:A})=>A??null,os=({ref:A,ref_key:C,ref_for:e})=>(typeof A=="number"&&(A=""+A),A!=null?PC(A)||FC(A)||qA(A)?{i:OC,r:A,k:C,f:!!e}:A:null);function b(A,C=null,e=null,n=0,t=null,i=A===hA?0:1,s=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:A,props:C,key:C&&sp(C),ref:C&&os(C),scopeId:so,slotScopeIds:null,children:e,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:t,dynamicChildren:null,appContext:null,ctx:OC};return o?(Wa(l,e),i&128&&A.normalize(l)):e&&(l.shapeFlag|=PC(e)?8:16),Jt>0&&!s&&ge&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&ge.push(l),l}const S=bg;function bg(A,C=null,e=null,n=0,t=null,i=!1){if((!A||A===Od)&&(A=Ae),xs(A)){const o=pn(A,C,!0);return e&&Wa(o,e),Jt>0&&!i&&ge&&(o.shapeFlag&6?ge[ge.indexOf(A)]=o:ge.push(o)),o.patchFlag|=-2,o}if(jg(A)&&(A=A.__vccOpts),C){C=Eg(C);let{class:o,style:l}=C;o&&!PC(o)&&(C.class=zA(o)),BC(l)&&(vd(l)&&!FA(l)&&(l=DC({},l)),C.style=eo(l))}const s=PC(A)?1:Fh(A)?128:hg(A)?64:BC(A)?4:qA(A)?2:0;return b(A,C,e,n,t,s,i,!0)}function Eg(A){return A?vd(A)||Jd(A)?DC({},A):A:null}function pn(A,C,e=!1,n=!1){const{props:t,ref:i,patchFlag:s,children:o,transition:l}=A,a=C?lC(t||{},C):t,r={__v_isVNode:!0,__v_skip:!0,type:A.type,props:a,key:a&&sp(a),ref:C&&C.ref?e&&i?FA(i)?i.concat(os(C)):[i,os(C)]:os(C):i,scopeId:A.scopeId,slotScopeIds:A.slotScopeIds,children:o,target:A.target,targetAnchor:A.targetAnchor,staticCount:A.staticCount,shapeFlag:A.shapeFlag,patchFlag:C&&A.type!==hA?s===-1?16:s|16:s,dynamicProps:A.dynamicProps,dynamicChildren:A.dynamicChildren,appContext:A.appContext,dirs:A.dirs,transition:l,component:A.component,suspense:A.suspense,ssContent:A.ssContent&&pn(A.ssContent),ssFallback:A.ssFallback&&pn(A.ssFallback),el:A.el,anchor:A.anchor,ctx:A.ctx,ce:A.ce};return l&&n&&(r.transition=l.clone(r)),r}function tC(A=" ",C=0){return S(yi,null,A,C)}function P(A="",C=!1){return C?(h(),B(Ae,null,A)):S(Ae,null,A)}function Ie(A){return A==null||typeof A=="boolean"?S(Ae):FA(A)?S(hA,null,A.slice()):typeof A=="object"?on(A):S(yi,null,String(A))}function on(A){return A.el===null&&A.patchFlag!==-1||A.memo?A:pn(A)}function Wa(A,C){let e=0;const{shapeFlag:n}=A;if(C==null)C=null;else if(FA(C))e=16;else if(typeof C=="object")if(n&65){const t=C.default;t&&(t._c&&(t._d=!1),Wa(A,t()),t._c&&(t._d=!0));return}else{e=32;const t=C._;!t&&!Jd(C)?C._ctx=OC:t===3&&OC&&(OC.slots._===1?C._=1:(C._=2,A.patchFlag|=1024))}else qA(C)?(C={default:C,_ctx:OC},e=32):(C=String(C),n&64?(e=16,C=[tC(C)]):e=8);A.children=C,A.shapeFlag|=e}function lC(...A){const C={};for(let e=0;e<A.length;e++){const n=A[e];for(const t in n)if(t==="class")C.class!==n.class&&(C.class=zA([C.class,n.class]));else if(t==="style")C.style=eo([C.style,n.style]);else if(Ao(t)){const i=C[t],s=n[t];s&&i!==s&&!(FA(i)&&i.includes(s))&&(C[t]=i?[].concat(i,s):s)}else t!==""&&(C[t]=n[t])}return C}function xe(A,C,e,n=null){me(A,C,7,[e,n])}const yg=qd();let vg=0;function wg(A,C,e){const n=A.type,t=(C?C.appContext:A.appContext)||yg,i={uid:vg++,vnode:A,type:n,parent:C,appContext:t,root:null,next:null,subTree:null,effect:null,update:null,scope:new sd(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:C?C.provides:Object.create(t.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Zd(n,t),emitsOptions:Md(n,t),emit:null,emitted:null,propsDefaults:jC,inheritAttrs:n.inheritAttrs,ctx:jC,data:jC,props:jC,attrs:jC,slots:jC,refs:jC,setupState:jC,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:e,suspenseId:e?e.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=C?C.root:i,i.emit=Mh.bind(null,i),A.ce&&A.ce(i),i}let RC=null;const Ya=()=>RC||OC;let js,Fl;{const A=nd(),C=(e,n)=>{let t;return(t=A[e])||(t=A[e]=[]),t.push(n),i=>{t.length>1?t.forEach(s=>s(i)):t[0](i)}};js=C("__VUE_INSTANCE_SETTERS__",e=>RC=e),Fl=C("__VUE_SSR_SETTERS__",e=>ao=e)}const vi=A=>{const C=RC;return js(A),A.scope.on(),()=>{A.scope.off(),js(C)}},kc=()=>{RC&&RC.scope.off(),js(null)};function op(A){return A.vnode.shapeFlag&4}let ao=!1;function Bg(A,C=!1){C&&Fl(C);const{props:e,children:n}=A.vnode,t=op(A);lg(A,e,t,C),cg(A,n);const i=t?Sg(A,C):void 0;return C&&Fl(!1),i}function Sg(A,C){const e=A.type;A.accessCache=Object.create(null),A.proxy=new Proxy(A.ctx,Zh);const{setup:n}=e;if(n){const t=A.setupContext=n.length>1?_g(A):null,i=vi(A);hn();const s=mn(n,A,0,[A.props,t]);if(gn(),i(),Zm(s)){if(s.then(kc,kc),C)return s.then(o=>{_c(A,o,C)}).catch(o=>{to(o,A,0)});A.asyncDep=s}else _c(A,s,C)}else lp(A,C)}function _c(A,C,e){qA(C)?A.type.__ssrInlineRender?A.ssrRender=C:A.render=C:BC(C)&&(A.setupState=kd(C)),lp(A,e)}let xc;function lp(A,C,e){const n=A.type;if(!A.render){if(!C&&xc&&!n.render){const t=n.template||za(A).template;if(t){const{isCustomElement:i,compilerOptions:s}=A.appContext.config,{delimiters:o,compilerOptions:l}=n,a=DC(DC({isCustomElement:i,delimiters:o},s),l);n.render=xc(t,a)}}A.render=n.render||re}{const t=vi(A);hn();try{Ag(A)}finally{gn(),t()}}}const kg={get(A,C){return ee(A,"get",""),A[C]}};function _g(A){const C=e=>{A.exposed=e||{}};return{attrs:new Proxy(A.attrs,kg),slots:A.slots,emit:A.emit,expose:C}}function ro(A){if(A.exposed)return A.exposeProxy||(A.exposeProxy=new Proxy(kd(Ta(A.exposed)),{get(C,e){if(e in C)return C[e];if(e in Kt)return Kt[e](A)},has(C,e){return e in C||e in Kt}}))}function xg(A,C=!0){return qA(A)?A.displayName||A.name:A.name||C&&A.__name}function jg(A){return qA(A)&&"__vccOpts"in A}const ue=(A,C)=>bh(A,C,ao);function HC(A,C,e){const n=arguments.length;return n===2?BC(C)&&!FA(C)?xs(C)?S(A,null,[C]):S(A,C):S(A,null,C):(n>3?e=Array.prototype.slice.call(arguments,2):n===3&&xs(e)&&(e=[e]),S(A,C,e))}const Ig="3.4.27";/** -* @vue/runtime-dom v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Mg="http://www.w3.org/2000/svg",Dg="http://www.w3.org/1998/Math/MathML",ln=typeof document<"u"?document:null,jc=ln&&ln.createElement("template"),Pg={insert:(A,C,e)=>{C.insertBefore(A,e||null)},remove:A=>{const C=A.parentNode;C&&C.removeChild(A)},createElement:(A,C,e,n)=>{const t=C==="svg"?ln.createElementNS(Mg,A):C==="mathml"?ln.createElementNS(Dg,A):ln.createElement(A,e?{is:e}:void 0);return A==="select"&&n&&n.multiple!=null&&t.setAttribute("multiple",n.multiple),t},createText:A=>ln.createTextNode(A),createComment:A=>ln.createComment(A),setText:(A,C)=>{A.nodeValue=C},setElementText:(A,C)=>{A.textContent=C},parentNode:A=>A.parentNode,nextSibling:A=>A.nextSibling,querySelector:A=>ln.querySelector(A),setScopeId(A,C){A.setAttribute(C,"")},insertStaticContent(A,C,e,n,t,i){const s=e?e.previousSibling:C.lastChild;if(t&&(t===i||t.nextSibling))for(;C.insertBefore(t.cloneNode(!0),e),!(t===i||!(t=t.nextSibling)););else{jc.innerHTML=n==="svg"?`<svg>${A}</svg>`:n==="mathml"?`<math>${A}</math>`:A;const o=jc.content;if(n==="svg"||n==="mathml"){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}C.insertBefore(o,e)}return[s?s.nextSibling:C.firstChild,e?e.previousSibling:C.lastChild]}},Ze="transition",kt="animation",ot=Symbol("_vtc"),ne=(A,{slots:C})=>HC(Uh,rp(A),C);ne.displayName="Transition";const ap={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Og=ne.props=DC({},Nd,ap),Sn=(A,C=[])=>{FA(A)?A.forEach(e=>e(...C)):A&&A(...C)},Ic=A=>A?FA(A)?A.some(C=>C.length>1):A.length>1:!1;function rp(A){const C={};for(const O in A)O in ap||(C[O]=A[O]);if(A.css===!1)return C;const{name:e="v",type:n,duration:t,enterFromClass:i=`${e}-enter-from`,enterActiveClass:s=`${e}-enter-active`,enterToClass:o=`${e}-enter-to`,appearFromClass:l=i,appearActiveClass:a=s,appearToClass:r=o,leaveFromClass:p=`${e}-leave-from`,leaveActiveClass:d=`${e}-leave-active`,leaveToClass:m=`${e}-leave-to`}=A,g=Lg(t),y=g&&g[0],k=g&&g[1],{onBeforeEnter:_,onEnter:R,onEnterCancelled:F,onLeave:J,onLeaveCancelled:nA,onBeforeAppear:CA=_,onAppear:LA=R,onAppearCancelled:X=F}=C,pA=(O,q,z)=>{en(O,q?r:o),en(O,q?a:s),z&&z()},uA=(O,q)=>{O._isLeaving=!1,en(O,p),en(O,m),en(O,d),q&&q()},I=O=>(q,z)=>{const w=O?LA:R,x=()=>pA(q,O,z);Sn(w,[q,x]),Mc(()=>{en(q,O?l:i),Ne(q,O?r:o),Ic(w)||Dc(q,n,y,x)})};return DC(C,{onBeforeEnter(O){Sn(_,[O]),Ne(O,i),Ne(O,s)},onBeforeAppear(O){Sn(CA,[O]),Ne(O,l),Ne(O,a)},onEnter:I(!1),onAppear:I(!0),onLeave(O,q){O._isLeaving=!0;const z=()=>uA(O,q);Ne(O,p),Ne(O,d),up(),Mc(()=>{O._isLeaving&&(en(O,p),Ne(O,m),Ic(J)||Dc(O,n,k,z))}),Sn(J,[O,z])},onEnterCancelled(O){pA(O,!1),Sn(F,[O])},onAppearCancelled(O){pA(O,!0),Sn(X,[O])},onLeaveCancelled(O){uA(O),Sn(nA,[O])}})}function Lg(A){if(A==null)return null;if(BC(A))return[Yo(A.enter),Yo(A.leave)];{const C=Yo(A);return[C,C]}}function Yo(A){return Qf(A)}function Ne(A,C){C.split(/\s+/).forEach(e=>e&&A.classList.add(e)),(A[ot]||(A[ot]=new Set)).add(C)}function en(A,C){C.split(/\s+/).forEach(n=>n&&A.classList.remove(n));const e=A[ot];e&&(e.delete(C),e.size||(A[ot]=void 0))}function Mc(A){requestAnimationFrame(()=>{requestAnimationFrame(A)})}let Kg=0;function Dc(A,C,e,n){const t=A._endId=++Kg,i=()=>{t===A._endId&&n()};if(e)return setTimeout(i,e);const{type:s,timeout:o,propCount:l}=cp(A,C);if(!s)return n();const a=s+"end";let r=0;const p=()=>{A.removeEventListener(a,d),i()},d=m=>{m.target===A&&++r>=l&&p()};setTimeout(()=>{r<l&&p()},o+1),A.addEventListener(a,d)}function cp(A,C){const e=window.getComputedStyle(A),n=g=>(e[g]||"").split(", "),t=n(`${Ze}Delay`),i=n(`${Ze}Duration`),s=Pc(t,i),o=n(`${kt}Delay`),l=n(`${kt}Duration`),a=Pc(o,l);let r=null,p=0,d=0;C===Ze?s>0&&(r=Ze,p=s,d=i.length):C===kt?a>0&&(r=kt,p=a,d=l.length):(p=Math.max(s,a),r=p>0?s>a?Ze:kt:null,d=r?r===Ze?i.length:l.length:0);const m=r===Ze&&/\b(transform|all)(,|$)/.test(n(`${Ze}Property`).toString());return{type:r,timeout:p,propCount:d,hasTransform:m}}function Pc(A,C){for(;A.length<C.length;)A=A.concat(A);return Math.max(...C.map((e,n)=>Oc(e)+Oc(A[n])))}function Oc(A){return A==="auto"?0:Number(A.slice(0,-1).replace(",","."))*1e3}function up(){return document.body.offsetHeight}function Fg(A,C,e){const n=A[ot];n&&(C=(C?[C,...n]:[...n]).join(" ")),C==null?A.removeAttribute("class"):e?A.setAttribute("class",C):A.className=C}const Is=Symbol("_vod"),mp=Symbol("_vsh"),pC={beforeMount(A,{value:C},{transition:e}){A[Is]=A.style.display==="none"?"":A.style.display,e&&C?e.beforeEnter(A):_t(A,C)},mounted(A,{value:C},{transition:e}){e&&C&&e.enter(A)},updated(A,{value:C,oldValue:e},{transition:n}){!C!=!e&&(n?C?(n.beforeEnter(A),_t(A,!0),n.enter(A)):n.leave(A,()=>{_t(A,!1)}):_t(A,C))},beforeUnmount(A,{value:C}){_t(A,C)}};function _t(A,C){A.style.display=C?A[Is]:"none",A[mp]=!C}const Tg=Symbol(""),Ng=/(^|;)\s*display\s*:/;function $g(A,C,e){const n=A.style,t=PC(e);let i=!1;if(e&&!t){if(C)if(PC(C))for(const s of C.split(";")){const o=s.slice(0,s.indexOf(":")).trim();e[o]==null&&ls(n,o,"")}else for(const s in C)e[s]==null&&ls(n,s,"");for(const s in e)s==="display"&&(i=!0),ls(n,s,e[s])}else if(t){if(C!==e){const s=n[Tg];s&&(e+=";"+s),n.cssText=e,i=Ng.test(e)}}else C&&A.removeAttribute("style");Is in A&&(A[Is]=i?n.display:"",A[mp]&&(n.display="none"))}const Lc=/\s*!important$/;function ls(A,C,e){if(FA(e))e.forEach(n=>ls(A,C,n));else if(e==null&&(e=""),C.startsWith("--"))A.setProperty(C,e);else{const n=Rg(A,C);Lc.test(e)?A.setProperty(Qn(n),e.replace(Lc,""),"important"):A[n]=e}}const Kc=["Webkit","Moz","ms"],Jo={};function Rg(A,C){const e=Jo[C];if(e)return e;let n=Le(C);if(n!=="filter"&&n in A)return Jo[C]=n;n=bi(n);for(let t=0;t<Kc.length;t++){const i=Kc[t]+n;if(i in A)return Jo[C]=i}return C}const Fc="http://www.w3.org/1999/xlink";function Gg(A,C,e,n,t){if(n&&C.startsWith("xlink:"))e==null?A.removeAttributeNS(Fc,C.slice(6,C.length)):A.setAttributeNS(Fc,C,e);else{const i=Yf(C);e==null||i&&!td(e)?A.removeAttribute(C):A.setAttribute(C,i?"":e)}}function Ug(A,C,e,n,t,i,s){if(C==="innerHTML"||C==="textContent"){n&&s(n,t,i),A[C]=e??"";return}const o=A.tagName;if(C==="value"&&o!=="PROGRESS"&&!o.includes("-")){const a=o==="OPTION"?A.getAttribute("value")||"":A.value,r=e??"";(a!==r||!("_value"in A))&&(A.value=r),e==null&&A.removeAttribute(C),A._value=e;return}let l=!1;if(e===""||e==null){const a=typeof A[C];a==="boolean"?e=td(e):e==null&&a==="string"?(e="",l=!0):a==="number"&&(e=0,l=!0)}try{A[C]=e}catch{}l&&A.removeAttribute(C)}function Re(A,C,e,n){A.addEventListener(C,e,n)}function Qg(A,C,e,n){A.removeEventListener(C,e,n)}const Tc=Symbol("_vei");function Hg(A,C,e,n,t=null){const i=A[Tc]||(A[Tc]={}),s=i[C];if(n&&s)s.value=n;else{const[o,l]=Vg(C);if(n){const a=i[C]=Wg(n,t);Re(A,o,a,l)}else s&&(Qg(A,o,s,l),i[C]=void 0)}}const Nc=/(?:Once|Passive|Capture)$/;function Vg(A){let C;if(Nc.test(A)){C={};let n;for(;n=A.match(Nc);)A=A.slice(0,A.length-n[0].length),C[n[0].toLowerCase()]=!0}return[A[2]===":"?A.slice(3):Qn(A.slice(2)),C]}let Xo=0;const zg=Promise.resolve(),qg=()=>Xo||(zg.then(()=>Xo=0),Xo=Date.now());function Wg(A,C){const e=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=e.attached)return;me(Yg(n,e.value),C,5,[n])};return e.value=A,e.attached=qg(),e}function Yg(A,C){if(FA(C)){const e=A.stopImmediatePropagation;return A.stopImmediatePropagation=()=>{e.call(A),A._stopped=!0},C.map(n=>t=>!t._stopped&&n&&n(t))}else return C}const $c=A=>A.charCodeAt(0)===111&&A.charCodeAt(1)===110&&A.charCodeAt(2)>96&&A.charCodeAt(2)<123,Jg=(A,C,e,n,t,i,s,o,l)=>{const a=t==="svg";C==="class"?Fg(A,n,a):C==="style"?$g(A,e,n):Ao(C)?_a(C)||Hg(A,C,e,n,s):(C[0]==="."?(C=C.slice(1),!0):C[0]==="^"?(C=C.slice(1),!1):Xg(A,C,n,a))?Ug(A,C,n,i,s,o,l):(C==="true-value"?A._trueValue=n:C==="false-value"&&(A._falseValue=n),Gg(A,C,n,a))};function Xg(A,C,e,n){if(n)return!!(C==="innerHTML"||C==="textContent"||C in A&&$c(C)&&qA(e));if(C==="spellcheck"||C==="draggable"||C==="translate"||C==="form"||C==="list"&&A.tagName==="INPUT"||C==="type"&&A.tagName==="TEXTAREA")return!1;if(C==="width"||C==="height"){const t=A.tagName;if(t==="IMG"||t==="VIDEO"||t==="CANVAS"||t==="SOURCE")return!1}return $c(C)&&PC(e)?!1:C in A}const dp=new WeakMap,pp=new WeakMap,Ms=Symbol("_moveCb"),Rc=Symbol("_enterCb"),fp={name:"TransitionGroup",props:DC({},Og,{tag:String,moveClass:String}),setup(A,{slots:C}){const e=Ya(),n=Td();let t,i;return Gd(()=>{if(!t.length)return;const s=A.moveClass||`${A.name||"v"}-move`;if(!t2(t[0].el,e.vnode.el,s))return;t.forEach(C2),t.forEach(e2);const o=t.filter(n2);up(),o.forEach(l=>{const a=l.el,r=a.style;Ne(a,s),r.transform=r.webkitTransform=r.transitionDuration="";const p=a[Ms]=d=>{d&&d.target!==a||(!d||/transform$/.test(d.propertyName))&&(a.removeEventListener("transitionend",p),a[Ms]=null,en(a,s))};a.addEventListener("transitionend",p)})}),()=>{const s=aC(A),o=rp(s);let l=s.tag||hA;if(t=[],i)for(let a=0;a<i.length;a++){const r=i[a];r.el&&r.el instanceof Element&&(t.push(r),Yt(r,Wt(r,o,n,e)),dp.set(r,r.el.getBoundingClientRect()))}i=C.default?Qa(C.default()):[];for(let a=0;a<i.length;a++){const r=i[a];r.key!=null&&Yt(r,Wt(r,o,n,e))}return S(l,null,i)}}},Zg=A=>delete A.mode;fp.props;const A2=fp;function C2(A){const C=A.el;C[Ms]&&C[Ms](),C[Rc]&&C[Rc]()}function e2(A){pp.set(A,A.el.getBoundingClientRect())}function n2(A){const C=dp.get(A),e=pp.get(A),n=C.left-e.left,t=C.top-e.top;if(n||t){const i=A.el.style;return i.transform=i.webkitTransform=`translate(${n}px,${t}px)`,i.transitionDuration="0s",A}}function t2(A,C,e){const n=A.cloneNode(),t=A[ot];t&&t.forEach(o=>{o.split(/\s+/).forEach(l=>l&&n.classList.remove(l))}),e.split(/\s+/).forEach(o=>o&&n.classList.add(o)),n.style.display="none";const i=C.nodeType===1?C:C.parentNode;i.appendChild(n);const{hasTransform:s}=cp(n);return i.removeChild(n),s}const fn=A=>{const C=A.props["onUpdate:modelValue"]||!1;return FA(C)?e=>ts(C,e):C};function i2(A){A.target.composing=!0}function Gc(A){const C=A.target;C.composing&&(C.composing=!1,C.dispatchEvent(new Event("input")))}const de=Symbol("_assign"),be={created(A,{modifiers:{lazy:C,trim:e,number:n}},t){A[de]=fn(t);const i=n||t.props&&t.props.type==="number";Re(A,C?"change":"input",s=>{if(s.target.composing)return;let o=A.value;e&&(o=o.trim()),i&&(o=vs(o)),A[de](o)}),e&&Re(A,"change",()=>{A.value=A.value.trim()}),C||(Re(A,"compositionstart",i2),Re(A,"compositionend",Gc),Re(A,"change",Gc))},mounted(A,{value:C}){A.value=C??""},beforeUpdate(A,{value:C,modifiers:{lazy:e,trim:n,number:t}},i){if(A[de]=fn(i),A.composing)return;const s=(t||A.type==="number")&&!/^0\d/.test(A.value)?vs(A.value):A.value,o=C??"";s!==o&&(document.activeElement===A&&A.type!=="range"&&(e||n&&A.value.trim()===o)||(A.value=o))}},Ja={deep:!0,created(A,C,e){A[de]=fn(e),Re(A,"change",()=>{const n=A._modelValue,t=lt(A),i=A.checked,s=A[de];if(FA(n)){const o=Ia(n,t),l=o!==-1;if(i&&!l)s(n.concat(t));else if(!i&&l){const a=[...n];a.splice(o,1),s(a)}}else if(ht(n)){const o=new Set(n);i?o.add(t):o.delete(t),s(o)}else s(gp(A,i))})},mounted:Uc,beforeUpdate(A,C,e){A[de]=fn(e),Uc(A,C,e)}};function Uc(A,{value:C,oldValue:e},n){A._modelValue=C,FA(C)?A.checked=Ia(C,n.props.value)>-1:ht(C)?A.checked=C.has(n.props.value):C!==e&&(A.checked=Kn(C,gp(A,!0)))}const hp={created(A,{value:C},e){A.checked=Kn(C,e.props.value),A[de]=fn(e),Re(A,"change",()=>{A[de](lt(A))})},beforeUpdate(A,{value:C,oldValue:e},n){A[de]=fn(n),C!==e&&(A.checked=Kn(C,n.props.value))}},Xa={deep:!0,created(A,{value:C,modifiers:{number:e}},n){const t=ht(C);Re(A,"change",()=>{const i=Array.prototype.filter.call(A.options,s=>s.selected).map(s=>e?vs(lt(s)):lt(s));A[de](A.multiple?t?new Set(i):i:i[0]),A._assigning=!0,gt(()=>{A._assigning=!1})}),A[de]=fn(n)},mounted(A,{value:C,modifiers:{number:e}}){Qc(A,C)},beforeUpdate(A,C,e){A[de]=fn(e)},updated(A,{value:C,modifiers:{number:e}}){A._assigning||Qc(A,C)}};function Qc(A,C,e){const n=A.multiple,t=FA(C);if(!(n&&!t&&!ht(C))){for(let i=0,s=A.options.length;i<s;i++){const o=A.options[i],l=lt(o);if(n)if(t){const a=typeof l;a==="string"||a==="number"?o.selected=C.some(r=>String(r)===String(l)):o.selected=Ia(C,l)>-1}else o.selected=C.has(l);else if(Kn(lt(o),C)){A.selectedIndex!==i&&(A.selectedIndex=i);return}}!n&&A.selectedIndex!==-1&&(A.selectedIndex=-1)}}function lt(A){return"_value"in A?A._value:A.value}function gp(A,C){const e=C?"_trueValue":"_falseValue";return e in A?A[e]:C}const bp={created(A,C,e){Ti(A,C,e,null,"created")},mounted(A,C,e){Ti(A,C,e,null,"mounted")},beforeUpdate(A,C,e,n){Ti(A,C,e,n,"beforeUpdate")},updated(A,C,e,n){Ti(A,C,e,n,"updated")}};function s2(A,C){switch(A){case"SELECT":return Xa;case"TEXTAREA":return be;default:switch(C){case"checkbox":return Ja;case"radio":return hp;default:return be}}}function Ti(A,C,e,n,t){const s=s2(A.tagName,e.props&&e.props.type)[t];s&&s(A,C,e,n)}const o2=["ctrl","shift","alt","meta"],l2={stop:A=>A.stopPropagation(),prevent:A=>A.preventDefault(),self:A=>A.target!==A.currentTarget,ctrl:A=>!A.ctrlKey,shift:A=>!A.shiftKey,alt:A=>!A.altKey,meta:A=>!A.metaKey,left:A=>"button"in A&&A.button!==0,middle:A=>"button"in A&&A.button!==1,right:A=>"button"in A&&A.button!==2,exact:(A,C)=>o2.some(e=>A[`${e}Key`]&&!C.includes(e))},MA=(A,C)=>{const e=A._withMods||(A._withMods={}),n=C.join(".");return e[n]||(e[n]=(t,...i)=>{for(let s=0;s<C.length;s++){const o=l2[C[s]];if(o&&o(t,C))return}return A(t,...i)})},a2={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},cC=(A,C)=>{const e=A._withKeys||(A._withKeys={}),n=C.join(".");return e[n]||(e[n]=t=>{if(!("key"in t))return;const i=Qn(t.key);if(C.some(s=>s===i||a2[s]===i))return A(t)})},r2=DC({patchProp:Jg},Pg);let Hc;function Ep(){return Hc||(Hc=mg(r2))}const Za=(...A)=>{Ep().render(...A)},yp=(...A)=>{const C=Ep().createApp(...A),{mount:e}=C;return C.mount=n=>{const t=u2(n);if(!t)return;const i=C._component;!qA(i)&&!i.render&&!i.template&&(i.template=t.innerHTML),t.innerHTML="";const s=e(t,!1,c2(t));return t instanceof Element&&(t.removeAttribute("v-cloak"),t.setAttribute("data-v-app","")),s},C};function c2(A){if(A instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&A instanceof MathMLElement)return"mathml"}function u2(A){return PC(A)?document.querySelector(A):A}var m2=!1;/*! - * pinia v2.1.7 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */let vp;const co=A=>vp=A,wp=Symbol();function Tl(A){return A&&typeof A=="object"&&Object.prototype.toString.call(A)==="[object Object]"&&typeof A.toJSON!="function"}var Tt;(function(A){A.direct="direct",A.patchObject="patch object",A.patchFunction="patch function"})(Tt||(Tt={}));function d2(){const A=od(!0),C=A.run(()=>Fn({}));let e=[],n=[];const t=Ta({install(i){co(t),t._a=i,i.provide(wp,t),i.config.globalProperties.$pinia=t,n.forEach(s=>e.push(s)),n=[]},use(i){return!this._a&&!m2?n.push(i):e.push(i),this},_p:e,_a:null,_e:A,_s:new Map,state:C});return t}const Bp=()=>{};function Vc(A,C,e,n=Bp){A.push(C);const t=()=>{const i=A.indexOf(C);i>-1&&(A.splice(i,1),n())};return!e&&Ma()&&ld(t),t}function Wn(A,...C){A.slice().forEach(e=>{e(...C)})}const p2=A=>A();function Nl(A,C){A instanceof Map&&C instanceof Map&&C.forEach((e,n)=>A.set(n,e)),A instanceof Set&&C instanceof Set&&C.forEach(A.add,A);for(const e in C){if(!C.hasOwnProperty(e))continue;const n=C[e],t=A[e];Tl(t)&&Tl(n)&&A.hasOwnProperty(e)&&!FC(n)&&!On(n)?A[e]=Nl(t,n):A[e]=n}return A}const f2=Symbol();function h2(A){return!Tl(A)||!A.hasOwnProperty(f2)}const{assign:nn}=Object;function g2(A){return!!(FC(A)&&A.effect)}function b2(A,C,e,n){const{state:t,actions:i,getters:s}=C,o=e.state.value[A];let l;function a(){o||(e.state.value[A]=t?t():{});const r=wh(e.state.value[A]);return nn(r,i,Object.keys(s||{}).reduce((p,d)=>(p[d]=Ta(ue(()=>{co(e);const m=e._s.get(A);return s[d].call(m,m)})),p),{}))}return l=Sp(A,a,C,e,n,!0),l}function Sp(A,C,e={},n,t,i){let s;const o=nn({actions:{}},e),l={deep:!0};let a,r,p=[],d=[],m;const g=n.state.value[A];!i&&!g&&(n.state.value[A]={}),Fn({});let y;function k(X){let pA;a=r=!1,typeof X=="function"?(X(n.state.value[A]),pA={type:Tt.patchFunction,storeId:A,events:m}):(Nl(n.state.value[A],X),pA={type:Tt.patchObject,payload:X,storeId:A,events:m});const uA=y=Symbol();gt().then(()=>{y===uA&&(a=!0)}),r=!0,Wn(p,pA,n.state.value[A])}const _=i?function(){const{state:pA}=e,uA=pA?pA():{};this.$patch(I=>{nn(I,uA)})}:Bp;function R(){s.stop(),p=[],d=[],n._s.delete(A)}function F(X,pA){return function(){co(n);const uA=Array.from(arguments),I=[],O=[];function q(x){I.push(x)}function z(x){O.push(x)}Wn(d,{args:uA,name:X,store:nA,after:q,onError:z});let w;try{w=pA.apply(this&&this.$id===A?this:nA,uA)}catch(x){throw Wn(O,x),x}return w instanceof Promise?w.then(x=>(Wn(I,x),x)).catch(x=>(Wn(O,x),Promise.reject(x))):(Wn(I,w),w)}}const J={_p:n,$id:A,$onAction:Vc.bind(null,d),$patch:k,$reset:_,$subscribe(X,pA={}){const uA=Vc(p,X,pA.detached,()=>I()),I=s.run(()=>tt(()=>n.state.value[A],O=>{(pA.flush==="sync"?r:a)&&X({storeId:A,type:Tt.direct,events:m},O)},nn({},l,pA)));return uA},$dispose:R},nA=Ei(J);n._s.set(A,nA);const LA=(n._a&&n._a.runWithContext||p2)(()=>n._e.run(()=>(s=od()).run(C)));for(const X in LA){const pA=LA[X];if(FC(pA)&&!g2(pA)||On(pA))i||(g&&h2(pA)&&(FC(pA)?pA.value=g[X]:Nl(pA,g[X])),n.state.value[A][X]=pA);else if(typeof pA=="function"){const uA=F(X,pA);LA[X]=uA,o.actions[X]=pA}}return nn(nA,LA),nn(aC(nA),LA),Object.defineProperty(nA,"$state",{get:()=>n.state.value[A],set:X=>{k(pA=>{nn(pA,X)})}}),n._p.forEach(X=>{nn(nA,s.run(()=>X({store:nA,app:n._a,pinia:n,options:o})))}),g&&i&&e.hydrate&&e.hydrate(nA.$state,g),a=!0,r=!0,nA}function E2(A,C,e){let n,t;const i=typeof C=="function";typeof A=="string"?(n=A,t=i?e:C):(t=A,n=A.id);function s(o,l){const a=og();return o=o||(a?De(wp,null):null),o&&co(o),o=vp,o._s.has(n)||(i?Sp(n,C,t,o):b2(n,t,o)),o._s.get(n)}return s.$id=n,s}function Be(A,C){return Array.isArray(C)?C.reduce((e,n)=>(e[n]=function(){return A(this.$pinia)[n]},e),{}):Object.keys(C).reduce((e,n)=>(e[n]=function(){const t=A(this.$pinia),i=C[n];return typeof i=="function"?i.call(this,t):t[i]},e),{})}function kp(A,C){return Array.isArray(C)?C.reduce((e,n)=>(e[n]=function(...t){return A(this.$pinia)[n](...t)},e),{}):Object.keys(C).reduce((e,n)=>(e[n]=function(...t){return A(this.$pinia)[C[n]](...t)},e),{})}function y2(A,C){return Array.isArray(C)?C.reduce((e,n)=>(e[n]={get(){return A(this.$pinia)[n]},set(t){return A(this.$pinia)[n]=t}},e),{}):Object.keys(C).reduce((e,n)=>(e[n]={get(){return A(this.$pinia)[C[n]]},set(t){return A(this.$pinia)[C[n]]=t}},e),{})}var zc;const Ar=typeof window<"u",v2=A=>typeof A=="string",w2=()=>{};Ar&&((zc=window==null?void 0:window.navigator)!=null&&zc.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function _p(A){return typeof A=="function"?A():Ln(A)}function B2(A){return A}function Cr(A){return Ma()?(ld(A),!0):!1}function Ni(){const A=[],C=t=>{const i=A.indexOf(t);i!==-1&&A.splice(i,1)};return{on:t=>{A.push(t);const i=()=>C(t);return Cr(i),{off:i}},off:C,trigger:t=>{A.forEach(i=>i(t))}}}function xp(A,C=!0){Ya()?Ha(A):C?A():gt(A)}function S2(A){var C;const e=_p(A);return(C=e==null?void 0:e.$el)!=null?C:e}const jp=Ar?window:void 0,k2=Ar?window.document:void 0;function Ip(...A){let C,e,n,t;if(v2(A[0])||Array.isArray(A[0])?([e,n,t]=A,C=jp):[C,e,n,t]=A,!C)return w2;Array.isArray(e)||(e=[e]),Array.isArray(n)||(n=[n]);const i=[],s=()=>{i.forEach(r=>r()),i.length=0},o=(r,p,d,m)=>(r.addEventListener(p,d,m),()=>r.removeEventListener(p,d,m)),l=tt(()=>[S2(C),_p(t)],([r,p])=>{s(),r&&i.push(...e.flatMap(d=>n.map(m=>o(r,d,m,p))))},{immediate:!0,flush:"post"}),a=()=>{l(),s()};return Cr(a),a}function _2(A,C=!1){const e=Fn(),n=()=>e.value=!!A();return n(),xp(n,C),e}const qc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Wc="__vueuse_ssr_handlers__";qc[Wc]=qc[Wc]||{};function x2({document:A=k2}={}){if(!A)return Fn("visible");const C=Fn(A.visibilityState);return Ip(A,"visibilitychange",()=>{C.value=A.visibilityState}),C}var Yc;(function(A){A.UP="UP",A.RIGHT="RIGHT",A.DOWN="DOWN",A.LEFT="LEFT",A.NONE="NONE"})(Yc||(Yc={}));var j2=Object.defineProperty,Jc=Object.getOwnPropertySymbols,I2=Object.prototype.hasOwnProperty,M2=Object.prototype.propertyIsEnumerable,Xc=(A,C,e)=>C in A?j2(A,C,{enumerable:!0,configurable:!0,writable:!0,value:e}):A[C]=e,D2=(A,C)=>{for(var e in C||(C={}))I2.call(C,e)&&Xc(A,e,C[e]);if(Jc)for(var e of Jc(C))M2.call(C,e)&&Xc(A,e,C[e]);return A};const P2={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};D2({linear:B2},P2);const Mp=(A={})=>{const{window:C=jp}=A,e=_2(()=>!!C&&"Notification"in C),n=Fn(null),t=async()=>{e.value&&"permission"in Notification&&Notification.permission!=="denied"&&await Notification.requestPermission()},i=Ni(),s=Ni(),o=Ni(),l=Ni(),a=async p=>{if(!e.value)return;await t();const d=Object.assign({},A,p);return n.value=new Notification(d.title||"",d),n.value.onclick=m=>i.trigger(m),n.value.onshow=m=>s.trigger(m),n.value.onerror=m=>o.trigger(m),n.value.onclose=m=>l.trigger(m),n.value},r=()=>{n.value&&n.value.close(),n.value=null};if(xp(async()=>{e.value&&await t()}),Cr(r),e.value&&C){const p=C.document;Ip(p,"visibilitychange",d=>{d.preventDefault(),p.visibilityState==="visible"&&r()})}return{isSupported:e,notification:n,show:a,close:r,onClick:i,onShow:s,onError:o,onClose:l}};function f(){var A="/home/runner/work/xmpp-web/xmpp-web/src/store/index.js",C="b79a4dda7ac2020dc4d2361ca7398e4ecf534171",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/store/index.js",statementMap:{0:{start:{line:4,column:23},end:{line:4,column:27}},1:{start:{line:6,column:24},end:{line:22,column:1}},2:{start:{line:7,column:2},end:{line:21,column:3}},3:{start:{line:24,column:24},end:{line:376,column:2}},4:{start:{line:26,column:4},end:{line:29,column:5}},5:{start:{line:35,column:6},end:{line:35,column:61}},6:{start:{line:35,column:47},end:{line:35,column:60}},7:{start:{line:39,column:6},end:{line:39,column:65}},8:{start:{line:39,column:47},end:{line:39,column:64}},9:{start:{line:42,column:24},end:{line:44,column:5}},10:{start:{line:43,column:6},end:{line:43,column:68}},11:{start:{line:43,column:45},end:{line:43,column:61}},12:{start:{line:46,column:29},end:{line:48,column:5}},13:{start:{line:47,column:6},end:{line:47,column:83}},14:{start:{line:47,column:45},end:{line:47,column:82}},15:{start:{line:50,column:25},end:{line:52,column:5}},16:{start:{line:51,column:6},end:{line:51,column:77}},17:{start:{line:51,column:55},end:{line:51,column:76}},18:{start:{line:54,column:33},end:{line:60,column:5}},19:{start:{line:55,column:28},end:{line:55,column:103}},20:{start:{line:55,column:73},end:{line:55,column:102}},21:{start:{line:56,column:6},end:{line:58,column:7}},22:{start:{line:57,column:8},end:{line:57,column:38}},23:{start:{line:59,column:6},end:{line:59,column:15}},24:{start:{line:62,column:31},end:{line:65,column:5}},25:{start:{line:63,column:19},end:{line:63,column:68}},26:{start:{line:63,column:51},end:{line:63,column:67}},27:{start:{line:64,column:6},end:{line:64,column:57}},28:{start:{line:67,column:29},end:{line:82,column:5}},29:{start:{line:68,column:6},end:{line:79,column:7}},30:{start:{line:69,column:30},end:{line:69,column:105}},31:{start:{line:69,column:75},end:{line:69,column:104}},32:{start:{line:70,column:8},end:{line:77,column:9}},33:{start:{line:71,column:10},end:{line:73,column:11}},34:{start:{line:71,column:55},end:{line:71,column:89}},35:{start:{line:72,column:12},end:{line:72,column:30}},36:{start:{line:74,column:10},end:{line:76,column:11}},37:{start:{line:74,column:55},end:{line:74,column:86}},38:{start:{line:75,column:12},end:{line:75,column:27}},39:{start:{line:78,column:8},end:{line:78,column:25}},40:{start:{line:80,column:22},end:{line:80,column:75}},41:{start:{line:80,column:55},end:{line:80,column:74}},42:{start:{line:81,column:6},end:{line:81,column:53}},43:{start:{line:89,column:6},end:{line:89,column:34}},44:{start:{line:94,column:6},end:{line:94,column:30}},45:{start:{line:99,column:6},end:{line:99,column:30}},46:{start:{line:104,column:6},end:{line:104,column:42}},47:{start:{line:107,column:21},end:{line:107,column:40}},48:{start:{line:108,column:22},end:{line:108,column:79}},49:{start:{line:108,column:47},end:{line:108,column:78}},50:{start:{line:109,column:8},end:{line:111,column:9}},51:{start:{line:110,column:10},end:{line:110,column:37}},52:{start:{line:112,column:8},end:{line:112,column:19}},53:{start:{line:114,column:6},end:{line:121,column:7}},54:{start:{line:116,column:10},end:{line:116,column:57}},55:{start:{line:117,column:10},end:{line:117,column:15}},56:{start:{line:119,column:10},end:{line:119,column:61}},57:{start:{line:120,column:10},end:{line:120,column:15}},58:{start:{line:126,column:6},end:{line:126,column:30}},59:{start:{line:127,column:6},end:{line:135,column:8}},60:{start:{line:128,column:8},end:{line:134,column:9}},61:{start:{line:129,column:10},end:{line:133,column:12}},62:{start:{line:130,column:12},end:{line:132,column:13}},63:{start:{line:131,column:14},end:{line:131,column:37}},64:{start:{line:140,column:20},end:{line:140,column:44}},65:{start:{line:141,column:20},end:{line:141,column:78}},66:{start:{line:141,column:51},end:{line:141,column:77}},67:{start:{line:142,column:6},end:{line:146,column:7}},68:{start:{line:144,column:8},end:{line:144,column:34}},69:{start:{line:145,column:8},end:{line:145,column:14}},70:{start:{line:148,column:6},end:{line:153,column:7}},71:{start:{line:149,column:8},end:{line:151,column:9}},72:{start:{line:150,column:10},end:{line:150,column:18}},73:{start:{line:152,column:8},end:{line:152,column:37}},74:{start:{line:154,column:6},end:{line:154,column:29}},75:{start:{line:159,column:19},end:{line:159,column:40}},76:{start:{line:160,column:6},end:{line:168,column:7}},77:{start:{line:161,column:8},end:{line:167,column:10}},78:{start:{line:173,column:20},end:{line:173,column:90}},79:{start:{line:173,column:65},end:{line:173,column:89}},80:{start:{line:174,column:6},end:{line:176,column:7}},81:{start:{line:175,column:8},end:{line:175,column:38}},82:{start:{line:180,column:6},end:{line:180,column:90}},83:{start:{line:180,column:65},end:{line:180,column:89}},84:{start:{line:185,column:20},end:{line:185,column:93}},85:{start:{line:185,column:57},end:{line:185,column:92}},86:{start:{line:186,column:6},end:{line:189,column:7}},87:{start:{line:187,column:8},end:{line:187,column:64}},88:{start:{line:188,column:8},end:{line:188,column:60}},89:{start:{line:194,column:6},end:{line:203,column:7}},90:{start:{line:195,column:25},end:{line:195,column:47}},91:{start:{line:196,column:22},end:{line:196,column:98}},92:{start:{line:196,column:59},end:{line:196,column:97}},93:{start:{line:197,column:8},end:{line:202,column:9}},94:{start:{line:199,column:10},end:{line:199,column:43}},95:{start:{line:200,column:10},end:{line:200,column:34}},96:{start:{line:201,column:10},end:{line:201,column:16}},97:{start:{line:204,column:6},end:{line:213,column:7}},98:{start:{line:205,column:25},end:{line:205,column:47}},99:{start:{line:206,column:22},end:{line:206,column:110}},100:{start:{line:206,column:59},end:{line:206,column:109}},101:{start:{line:207,column:8},end:{line:212,column:9}},102:{start:{line:209,column:10},end:{line:209,column:43}},103:{start:{line:210,column:10},end:{line:210,column:34}},104:{start:{line:211,column:10},end:{line:211,column:16}},105:{start:{line:215,column:6},end:{line:224,column:8}},106:{start:{line:227,column:23},end:{line:227,column:45}},107:{start:{line:228,column:20},end:{line:228,column:31}},108:{start:{line:229,column:6},end:{line:231,column:8}},109:{start:{line:230,column:8},end:{line:230,column:53}},110:{start:{line:232,column:6},end:{line:232,column:30}},111:{start:{line:236,column:21},end:{line:236,column:40}},112:{start:{line:237,column:22},end:{line:237,column:86}},113:{start:{line:237,column:47},end:{line:237,column:85}},114:{start:{line:238,column:8},end:{line:244,column:9}},115:{start:{line:239,column:10},end:{line:243,column:11}},116:{start:{line:240,column:12},end:{line:240,column:39}},117:{start:{line:242,column:12},end:{line:242,column:37}},118:{start:{line:245,column:8},end:{line:245,column:19}},119:{start:{line:247,column:6},end:{line:256,column:7}},120:{start:{line:248,column:27},end:{line:248,column:50}},121:{start:{line:249,column:8},end:{line:255,column:9}},122:{start:{line:250,column:10},end:{line:254,column:12}},123:{start:{line:257,column:6},end:{line:260,column:7}},124:{start:{line:259,column:8},end:{line:259,column:14}},125:{start:{line:261,column:6},end:{line:268,column:7}},126:{start:{line:263,column:10},end:{line:263,column:55}},127:{start:{line:264,column:10},end:{line:264,column:15}},128:{start:{line:266,column:10},end:{line:266,column:59}},129:{start:{line:267,column:10},end:{line:267,column:15}},130:{start:{line:272,column:6},end:{line:274,column:7}},131:{start:{line:273,column:8},end:{line:273,column:14}},132:{start:{line:275,column:20},end:{line:275,column:105}},133:{start:{line:275,column:62},end:{line:275,column:104}},134:{start:{line:276,column:6},end:{line:278,column:7}},135:{start:{line:277,column:8},end:{line:277,column:14}},136:{start:{line:279,column:6},end:{line:282,column:7}},137:{start:{line:286,column:20},end:{line:286,column:85}},138:{start:{line:286,column:62},end:{line:286,column:84}},139:{start:{line:287,column:6},end:{line:292,column:7}},140:{start:{line:288,column:8},end:{line:291,column:9}},141:{start:{line:297,column:6},end:{line:297,column:56}},142:{start:{line:301,column:6},end:{line:307,column:7}},143:{start:{line:301,column:55},end:{line:301,column:88}},144:{start:{line:303,column:8},end:{line:306,column:10}},145:{start:{line:308,column:24},end:{line:308,column:107}},146:{start:{line:308,column:73},end:{line:308,column:106}},147:{start:{line:309,column:23},end:{line:312,column:7}},148:{start:{line:313,column:28},end:{line:313,column:114}},149:{start:{line:313,column:93},end:{line:313,column:113}},150:{start:{line:314,column:6},end:{line:318,column:7}},151:{start:{line:316,column:8},end:{line:316,column:74}},152:{start:{line:317,column:8},end:{line:317,column:14}},153:{start:{line:320,column:6},end:{line:320,column:61}},154:{start:{line:324,column:24},end:{line:324,column:107}},155:{start:{line:324,column:73},end:{line:324,column:106}},156:{start:{line:325,column:6},end:{line:327,column:7}},157:{start:{line:326,column:8},end:{line:326,column:14}},158:{start:{line:328,column:20},end:{line:328,column:106}},159:{start:{line:328,column:85},end:{line:328,column:105}},160:{start:{line:329,column:6},end:{line:331,column:7}},161:{start:{line:330,column:8},end:{line:330,column:65}},162:{start:{line:336,column:6},end:{line:342,column:7}},163:{start:{line:337,column:22},end:{line:337,column:84}},164:{start:{line:337,column:59},end:{line:337,column:83}},165:{start:{line:338,column:8},end:{line:340,column:9}},166:{start:{line:339,column:10},end:{line:339,column:52}},167:{start:{line:341,column:8},end:{line:341,column:14}},168:{start:{line:343,column:6},end:{line:352,column:7}},169:{start:{line:344,column:26},end:{line:344,column:110}},170:{start:{line:344,column:75},end:{line:344,column:109}},171:{start:{line:345,column:8},end:{line:347,column:9}},172:{start:{line:346,column:10},end:{line:346,column:16}},173:{start:{line:348,column:22},end:{line:348,column:113}},174:{start:{line:348,column:87},end:{line:348,column:112}},175:{start:{line:349,column:8},end:{line:351,column:9}},176:{start:{line:350,column:10},end:{line:350,column:79}},177:{start:{line:356,column:6},end:{line:356,column:60}},178:{start:{line:357,column:6},end:{line:365,column:7}},179:{start:{line:359,column:8},end:{line:364,column:11}},180:{start:{line:370,column:27},end:{line:370,column:44}},181:{start:{line:371,column:6},end:{line:373,column:8}},182:{start:{line:372,column:8},end:{line:372,column:37}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:24},end:{line:6,column:25}},loc:{start:{line:6,column:30},end:{line:22,column:1}},line:6},1:{name:"(anonymous_1)",decl:{start:{line:25,column:9},end:{line:25,column:10}},loc:{start:{line:25,column:15},end:{line:30,column:3}},line:25},2:{name:"(anonymous_2)",decl:{start:{line:34,column:17},end:{line:34,column:18}},loc:{start:{line:34,column:28},end:{line:36,column:5}},line:34},3:{name:"(anonymous_3)",decl:{start:{line:35,column:37},end:{line:35,column:38}},loc:{start:{line:35,column:47},end:{line:35,column:60}},line:35},4:{name:"(anonymous_4)",decl:{start:{line:38,column:21},end:{line:38,column:22}},loc:{start:{line:38,column:32},end:{line:40,column:5}},line:38},5:{name:"(anonymous_5)",decl:{start:{line:39,column:37},end:{line:39,column:38}},loc:{start:{line:39,column:47},end:{line:39,column:64}},line:39},6:{name:"(anonymous_6)",decl:{start:{line:42,column:13},end:{line:42,column:14}},loc:{start:{line:42,column:24},end:{line:44,column:5}},line:42},7:{name:"(anonymous_7)",decl:{start:{line:42,column:24},end:{line:42,column:25}},loc:{start:{line:42,column:33},end:{line:44,column:5}},line:42},8:{name:"(anonymous_8)",decl:{start:{line:43,column:35},end:{line:43,column:36}},loc:{start:{line:43,column:45},end:{line:43,column:61}},line:43},9:{name:"(anonymous_9)",decl:{start:{line:46,column:18},end:{line:46,column:19}},loc:{start:{line:46,column:29},end:{line:48,column:5}},line:46},10:{name:"(anonymous_10)",decl:{start:{line:46,column:29},end:{line:46,column:30}},loc:{start:{line:46,column:38},end:{line:48,column:5}},line:46},11:{name:"(anonymous_11)",decl:{start:{line:47,column:35},end:{line:47,column:36}},loc:{start:{line:47,column:45},end:{line:47,column:82}},line:47},12:{name:"(anonymous_12)",decl:{start:{line:50,column:14},end:{line:50,column:15}},loc:{start:{line:50,column:25},end:{line:52,column:5}},line:50},13:{name:"(anonymous_13)",decl:{start:{line:50,column:25},end:{line:50,column:26}},loc:{start:{line:50,column:34},end:{line:52,column:5}},line:50},14:{name:"(anonymous_14)",decl:{start:{line:51,column:36},end:{line:51,column:37}},loc:{start:{line:51,column:55},end:{line:51,column:76}},line:51},15:{name:"(anonymous_15)",decl:{start:{line:54,column:22},end:{line:54,column:23}},loc:{start:{line:54,column:33},end:{line:60,column:5}},line:54},16:{name:"(anonymous_16)",decl:{start:{line:54,column:33},end:{line:54,column:34}},loc:{start:{line:54,column:42},end:{line:60,column:5}},line:54},17:{name:"(anonymous_17)",decl:{start:{line:55,column:54},end:{line:55,column:55}},loc:{start:{line:55,column:73},end:{line:55,column:102}},line:55},18:{name:"(anonymous_18)",decl:{start:{line:62,column:20},end:{line:62,column:21}},loc:{start:{line:62,column:31},end:{line:65,column:5}},line:62},19:{name:"(anonymous_19)",decl:{start:{line:62,column:31},end:{line:62,column:32}},loc:{start:{line:62,column:40},end:{line:65,column:5}},line:62},20:{name:"(anonymous_20)",decl:{start:{line:63,column:41},end:{line:63,column:42}},loc:{start:{line:63,column:51},end:{line:63,column:67}},line:63},21:{name:"(anonymous_21)",decl:{start:{line:67,column:18},end:{line:67,column:19}},loc:{start:{line:67,column:29},end:{line:82,column:5}},line:67},22:{name:"(anonymous_22)",decl:{start:{line:67,column:29},end:{line:67,column:30}},loc:{start:{line:67,column:46},end:{line:82,column:5}},line:67},23:{name:"(anonymous_23)",decl:{start:{line:69,column:56},end:{line:69,column:57}},loc:{start:{line:69,column:75},end:{line:69,column:104}},line:69},24:{name:"(anonymous_24)",decl:{start:{line:71,column:43},end:{line:71,column:44}},loc:{start:{line:71,column:55},end:{line:71,column:89}},line:71},25:{name:"(anonymous_25)",decl:{start:{line:74,column:43},end:{line:74,column:44}},loc:{start:{line:74,column:55},end:{line:74,column:86}},line:74},26:{name:"(anonymous_26)",decl:{start:{line:80,column:42},end:{line:80,column:43}},loc:{start:{line:80,column:55},end:{line:80,column:74}},line:80},27:{name:"(anonymous_27)",decl:{start:{line:88,column:4},end:{line:88,column:5}},loc:{start:{line:88,column:34},end:{line:90,column:5}},line:88},28:{name:"(anonymous_28)",decl:{start:{line:93,column:4},end:{line:93,column:5}},loc:{start:{line:93,column:25},end:{line:95,column:5}},line:93},29:{name:"(anonymous_29)",decl:{start:{line:98,column:4},end:{line:98,column:5}},loc:{start:{line:98,column:27},end:{line:100,column:5}},line:98},30:{name:"(anonymous_30)",decl:{start:{line:103,column:4},end:{line:103,column:5}},loc:{start:{line:103,column:28},end:{line:122,column:5}},line:103},31:{name:"resetUnreadCount",decl:{start:{line:106,column:15},end:{line:106,column:31}},loc:{start:{line:106,column:45},end:{line:113,column:7}},line:106},32:{name:"(anonymous_32)",decl:{start:{line:108,column:37},end:{line:108,column:38}},loc:{start:{line:108,column:47},end:{line:108,column:78}},line:108},33:{name:"(anonymous_33)",decl:{start:{line:125,column:4},end:{line:125,column:5}},loc:{start:{line:125,column:25},end:{line:136,column:5}},line:125},34:{name:"(anonymous_34)",decl:{start:{line:127,column:23},end:{line:127,column:24}},loc:{start:{line:127,column:34},end:{line:135,column:7}},line:127},35:{name:"(anonymous_35)",decl:{start:{line:129,column:33},end:{line:129,column:34}},loc:{start:{line:129,column:42},end:{line:133,column:11}},line:129},36:{name:"(anonymous_36)",decl:{start:{line:139,column:4},end:{line:139,column:5}},loc:{start:{line:139,column:24},end:{line:155,column:5}},line:139},37:{name:"(anonymous_37)",decl:{start:{line:141,column:36},end:{line:141,column:37}},loc:{start:{line:141,column:51},end:{line:141,column:77}},line:141},38:{name:"(anonymous_38)",decl:{start:{line:158,column:4},end:{line:158,column:5}},loc:{start:{line:158,column:46},end:{line:169,column:5}},line:158},39:{name:"(anonymous_39)",decl:{start:{line:172,column:4},end:{line:172,column:5}},loc:{start:{line:172,column:28},end:{line:177,column:5}},line:172},40:{name:"(anonymous_40)",decl:{start:{line:173,column:47},end:{line:173,column:48}},loc:{start:{line:173,column:65},end:{line:173,column:89}},line:173},41:{name:"(anonymous_41)",decl:{start:{line:179,column:4},end:{line:179,column:5}},loc:{start:{line:179,column:31},end:{line:181,column:5}},line:179},42:{name:"(anonymous_42)",decl:{start:{line:180,column:49},end:{line:180,column:50}},loc:{start:{line:180,column:65},end:{line:180,column:89}},line:180},43:{name:"(anonymous_43)",decl:{start:{line:184,column:4},end:{line:184,column:5}},loc:{start:{line:184,column:41},end:{line:190,column:5}},line:184},44:{name:"(anonymous_44)",decl:{start:{line:185,column:44},end:{line:185,column:45}},loc:{start:{line:185,column:57},end:{line:185,column:92}},line:185},45:{name:"(anonymous_45)",decl:{start:{line:193,column:4},end:{line:193,column:5}},loc:{start:{line:193,column:27},end:{line:269,column:5}},line:193},46:{name:"(anonymous_46)",decl:{start:{line:196,column:41},end:{line:196,column:42}},loc:{start:{line:196,column:59},end:{line:196,column:97}},line:196},47:{name:"(anonymous_47)",decl:{start:{line:206,column:41},end:{line:206,column:42}},loc:{start:{line:206,column:59},end:{line:206,column:109}},line:206},48:{name:"(anonymous_48)",decl:{start:{line:229,column:20},end:{line:229,column:21}},loc:{start:{line:229,column:30},end:{line:231,column:7}},line:229},49:{name:"addUnreadCount",decl:{start:{line:235,column:15},end:{line:235,column:29}},loc:{start:{line:235,column:43},end:{line:246,column:7}},line:235},50:{name:"(anonymous_50)",decl:{start:{line:237,column:37},end:{line:237,column:38}},loc:{start:{line:237,column:47},end:{line:237,column:85}},line:237},51:{name:"(anonymous_51)",decl:{start:{line:271,column:4},end:{line:271,column:5}},loc:{start:{line:271,column:28},end:{line:283,column:5}},line:271},52:{name:"(anonymous_52)",decl:{start:{line:275,column:44},end:{line:275,column:45}},loc:{start:{line:275,column:62},end:{line:275,column:104}},line:275},53:{name:"(anonymous_53)",decl:{start:{line:285,column:4},end:{line:285,column:5}},loc:{start:{line:285,column:41},end:{line:293,column:5}},line:285},54:{name:"(anonymous_54)",decl:{start:{line:286,column:44},end:{line:286,column:45}},loc:{start:{line:286,column:62},end:{line:286,column:84}},line:286},55:{name:"(anonymous_55)",decl:{start:{line:296,column:4},end:{line:296,column:5}},loc:{start:{line:296,column:53},end:{line:298,column:5}},line:296},56:{name:"(anonymous_56)",decl:{start:{line:300,column:4},end:{line:300,column:5}},loc:{start:{line:300,column:49},end:{line:321,column:5}},line:300},57:{name:"(anonymous_57)",decl:{start:{line:301,column:36},end:{line:301,column:37}},loc:{start:{line:301,column:55},end:{line:301,column:88}},line:301},58:{name:"(anonymous_58)",decl:{start:{line:308,column:54},end:{line:308,column:55}},loc:{start:{line:308,column:73},end:{line:308,column:106}},line:308},59:{name:"(anonymous_59)",decl:{start:{line:313,column:79},end:{line:313,column:80}},loc:{start:{line:313,column:93},end:{line:313,column:113}},line:313},60:{name:"(anonymous_60)",decl:{start:{line:323,column:4},end:{line:323,column:5}},loc:{start:{line:323,column:42},end:{line:332,column:5}},line:323},61:{name:"(anonymous_61)",decl:{start:{line:324,column:54},end:{line:324,column:55}},loc:{start:{line:324,column:73},end:{line:324,column:106}},line:324},62:{name:"(anonymous_62)",decl:{start:{line:328,column:71},end:{line:328,column:72}},loc:{start:{line:328,column:85},end:{line:328,column:105}},line:328},63:{name:"(anonymous_63)",decl:{start:{line:335,column:4},end:{line:335,column:5}},loc:{start:{line:335,column:44},end:{line:353,column:5}},line:335},64:{name:"(anonymous_64)",decl:{start:{line:337,column:46},end:{line:337,column:47}},loc:{start:{line:337,column:59},end:{line:337,column:83}},line:337},65:{name:"(anonymous_65)",decl:{start:{line:344,column:56},end:{line:344,column:57}},loc:{start:{line:344,column:75},end:{line:344,column:109}},line:344},66:{name:"(anonymous_66)",decl:{start:{line:348,column:73},end:{line:348,column:74}},loc:{start:{line:348,column:87},end:{line:348,column:112}},line:348},67:{name:"(anonymous_67)",decl:{start:{line:355,column:4},end:{line:355,column:5}},loc:{start:{line:355,column:52},end:{line:366,column:5}},line:355},68:{name:"(anonymous_68)",decl:{start:{line:369,column:4},end:{line:369,column:5}},loc:{start:{line:369,column:13},end:{line:374,column:5}},line:369},69:{name:"(anonymous_69)",decl:{start:{line:371,column:40},end:{line:371,column:41}},loc:{start:{line:371,column:49},end:{line:373,column:7}},line:371}},branchMap:{0:{loc:{start:{line:43,column:13},end:{line:43,column:68}},type:"binary-expr",locations:[{start:{line:43,column:13},end:{line:43,column:62}},{start:{line:43,column:66},end:{line:43,column:68}}],line:43},1:{loc:{start:{line:47,column:45},end:{line:47,column:82}},type:"binary-expr",locations:[{start:{line:47,column:45},end:{line:47,column:61}},{start:{line:47,column:65},end:{line:47,column:82}}],line:47},2:{loc:{start:{line:56,column:6},end:{line:58,column:7}},type:"if",locations:[{start:{line:56,column:6},end:{line:58,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:56},3:{loc:{start:{line:64,column:13},end:{line:64,column:57}},type:"cond-expr",locations:[{start:{line:64,column:38},end:{line:64,column:50}},{start:{line:64,column:53},end:{line:64,column:57}}],line:64},4:{loc:{start:{line:64,column:14},end:{line:64,column:34}},type:"binary-expr",locations:[{start:{line:64,column:14},end:{line:64,column:18}},{start:{line:64,column:22},end:{line:64,column:34}}],line:64},5:{loc:{start:{line:68,column:6},end:{line:79,column:7}},type:"if",locations:[{start:{line:68,column:6},end:{line:79,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:68},6:{loc:{start:{line:70,column:8},end:{line:77,column:9}},type:"if",locations:[{start:{line:70,column:8},end:{line:77,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:70},7:{loc:{start:{line:71,column:10},end:{line:73,column:11}},type:"if",locations:[{start:{line:71,column:10},end:{line:73,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:71},8:{loc:{start:{line:74,column:10},end:{line:76,column:11}},type:"if",locations:[{start:{line:74,column:10},end:{line:76,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:74},9:{loc:{start:{line:81,column:13},end:{line:81,column:53}},type:"cond-expr",locations:[{start:{line:81,column:23},end:{line:81,column:40}},{start:{line:81,column:43},end:{line:81,column:53}}],line:81},10:{loc:{start:{line:109,column:8},end:{line:111,column:9}},type:"if",locations:[{start:{line:109,column:8},end:{line:111,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:109},11:{loc:{start:{line:114,column:6},end:{line:121,column:7}},type:"switch",locations:[{start:{line:115,column:8},end:{line:117,column:15}},{start:{line:118,column:8},end:{line:120,column:15}}],line:114},12:{loc:{start:{line:128,column:8},end:{line:134,column:9}},type:"if",locations:[{start:{line:128,column:8},end:{line:134,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:128},13:{loc:{start:{line:130,column:12},end:{line:132,column:13}},type:"if",locations:[{start:{line:130,column:12},end:{line:132,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:130},14:{loc:{start:{line:142,column:6},end:{line:146,column:7}},type:"if",locations:[{start:{line:142,column:6},end:{line:146,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:142},15:{loc:{start:{line:149,column:8},end:{line:151,column:9}},type:"if",locations:[{start:{line:149,column:8},end:{line:151,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:149},16:{loc:{start:{line:149,column:12},end:{line:149,column:60}},type:"binary-expr",locations:[{start:{line:149,column:12},end:{line:149,column:30}},{start:{line:149,column:34},end:{line:149,column:60}}],line:149},17:{loc:{start:{line:160,column:6},end:{line:168,column:7}},type:"if",locations:[{start:{line:160,column:6},end:{line:168,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:160},18:{loc:{start:{line:174,column:6},end:{line:176,column:7}},type:"if",locations:[{start:{line:174,column:6},end:{line:176,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:174},19:{loc:{start:{line:186,column:6},end:{line:189,column:7}},type:"if",locations:[{start:{line:186,column:6},end:{line:189,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:186},20:{loc:{start:{line:194,column:6},end:{line:203,column:7}},type:"if",locations:[{start:{line:194,column:6},end:{line:203,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:194},21:{loc:{start:{line:197,column:8},end:{line:202,column:9}},type:"if",locations:[{start:{line:197,column:8},end:{line:202,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:197},22:{loc:{start:{line:204,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:204,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:204},23:{loc:{start:{line:207,column:8},end:{line:212,column:9}},type:"if",locations:[{start:{line:207,column:8},end:{line:212,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},24:{loc:{start:{line:221,column:15},end:{line:221,column:44}},type:"binary-expr",locations:[{start:{line:221,column:15},end:{line:221,column:36}},{start:{line:221,column:40},end:{line:221,column:44}}],line:221},25:{loc:{start:{line:222,column:15},end:{line:222,column:44}},type:"binary-expr",locations:[{start:{line:222,column:15},end:{line:222,column:36}},{start:{line:222,column:40},end:{line:222,column:44}}],line:222},26:{loc:{start:{line:238,column:8},end:{line:244,column:9}},type:"if",locations:[{start:{line:238,column:8},end:{line:244,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:238},27:{loc:{start:{line:239,column:10},end:{line:243,column:11}},type:"if",locations:[{start:{line:239,column:10},end:{line:243,column:11}},{start:{line:241,column:17},end:{line:243,column:11}}],line:239},28:{loc:{start:{line:239,column:14},end:{line:239,column:87}},type:"binary-expr",locations:[{start:{line:239,column:14},end:{line:239,column:51}},{start:{line:239,column:55},end:{line:239,column:87}}],line:239},29:{loc:{start:{line:247,column:6},end:{line:256,column:7}},type:"if",locations:[{start:{line:247,column:6},end:{line:256,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:247},30:{loc:{start:{line:249,column:8},end:{line:255,column:9}},type:"if",locations:[{start:{line:249,column:8},end:{line:255,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:249},31:{loc:{start:{line:249,column:12},end:{line:249,column:70}},type:"binary-expr",locations:[{start:{line:249,column:12},end:{line:249,column:41}},{start:{line:249,column:45},end:{line:249,column:70}}],line:249},32:{loc:{start:{line:257,column:6},end:{line:260,column:7}},type:"if",locations:[{start:{line:257,column:6},end:{line:260,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:257},33:{loc:{start:{line:261,column:6},end:{line:268,column:7}},type:"switch",locations:[{start:{line:262,column:8},end:{line:264,column:15}},{start:{line:265,column:8},end:{line:267,column:15}}],line:261},34:{loc:{start:{line:272,column:6},end:{line:274,column:7}},type:"if",locations:[{start:{line:272,column:6},end:{line:274,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:272},35:{loc:{start:{line:276,column:6},end:{line:278,column:7}},type:"if",locations:[{start:{line:276,column:6},end:{line:278,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:276},36:{loc:{start:{line:287,column:6},end:{line:292,column:7}},type:"if",locations:[{start:{line:287,column:6},end:{line:292,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:287},37:{loc:{start:{line:301,column:6},end:{line:307,column:7}},type:"if",locations:[{start:{line:301,column:6},end:{line:307,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:301},38:{loc:{start:{line:314,column:6},end:{line:318,column:7}},type:"if",locations:[{start:{line:314,column:6},end:{line:318,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:314},39:{loc:{start:{line:325,column:6},end:{line:327,column:7}},type:"if",locations:[{start:{line:325,column:6},end:{line:327,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:325},40:{loc:{start:{line:329,column:6},end:{line:331,column:7}},type:"if",locations:[{start:{line:329,column:6},end:{line:331,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:329},41:{loc:{start:{line:336,column:6},end:{line:342,column:7}},type:"if",locations:[{start:{line:336,column:6},end:{line:342,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:336},42:{loc:{start:{line:338,column:8},end:{line:340,column:9}},type:"if",locations:[{start:{line:338,column:8},end:{line:340,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:338},43:{loc:{start:{line:343,column:6},end:{line:352,column:7}},type:"if",locations:[{start:{line:343,column:6},end:{line:352,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:343},44:{loc:{start:{line:345,column:8},end:{line:347,column:9}},type:"if",locations:[{start:{line:345,column:8},end:{line:347,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:345},45:{loc:{start:{line:349,column:8},end:{line:351,column:9}},type:"if",locations:[{start:{line:349,column:8},end:{line:351,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:349},46:{loc:{start:{line:357,column:6},end:{line:365,column:7}},type:"if",locations:[{start:{line:357,column:6},end:{line:365,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:357},47:{loc:{start:{line:357,column:10},end:{line:357,column:62}},type:"binary-expr",locations:[{start:{line:357,column:10},end:{line:357,column:33}},{start:{line:357,column:37},end:{line:357,column:62}}],line:357}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0,164:0,165:0,166:0,167:0,168:0,169:0,170:0,171:0,172:0,173:0,174:0,175:0,176:0,177:0,178:0,179:0,180:0,181:0,182:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0,0],38:[0,0],39:[0,0],40:[0,0],41:[0,0],42:[0,0],43:[0,0],44:[0,0],45:[0,0],46:[0,0],47:[0,0]},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/store/index.js"],names:[],mappings:"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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,C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AAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"b79a4dda7ac2020dc4d2361ca7398e4ecf534171"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return f=function(){return s},s}f();let $i=(f().s[0]++,null);f().s[1]++;const Zc=()=>(f().f[0]++,f().s[2]++,{activeChat:null,messages:[],contacts:[],groups:[],joinedRooms:[],knownRooms:[],roomsOccupants:[],httpFileUploadMaxSize:null,isOnline:!1,presence:"chat",hasNotificationsEnabled:!1,isSendingTypingChatStates:!0,isSendingInactiveChatStates:!1}),WC=(f().s[3]++,E2("main",{state:()=>(f().f[1]++,f().s[4]++,{hasNetwork:null,...Zc()}),getters:{publicRooms:A=>(f().f[2]++,f().s[5]++,A.knownRooms.filter(C=>(f().f[3]++,f().s[6]++,C.isPublic))),bookmarkedRooms:A=>(f().f[4]++,f().s[7]++,A.knownRooms.filter(C=>(f().f[5]++,f().s[8]++,C.isBookmarked))),getRoom:A=>(f().f[6]++,f().s[9]++,C=>(f().f[7]++,f().s[10]++,f().b[0][0]++,A.knownRooms.find(e=>(f().f[8]++,f().s[11]++,e.jid===C))||(f().b[0][1]++,{}))),isBookmarked:A=>(f().f[9]++,f().s[12]++,C=>(f().f[10]++,f().s[13]++,A.knownRooms.some(e=>(f().f[11]++,f().s[14]++,f().b[1][0]++,e.jid===C&&(f().b[1][1]++,e.isBookmarked))))),isJoined:A=>(f().f[12]++,f().s[15]++,C=>(f().f[13]++,f().s[16]++,A.joinedRooms.some(e=>(f().f[14]++,f().s[17]++,e===C)))),getRoomOccupants:A=>(f().f[15]++,f().s[18]++,C=>{f().f[16]++;const e=(f().s[19]++,A.roomsOccupants.find(n=>(f().f[17]++,f().s[20]++,n.roomJid===C)));return f().s[21]++,e?(f().b[2][0]++,f().s[22]++,e.occupants):(f().b[2][1]++,f().s[23]++,[])}),getRoomSubject:A=>(f().f[18]++,f().s[24]++,C=>{f().f[19]++;const e=(f().s[25]++,A.knownRooms.find(n=>(f().f[20]++,f().s[26]++,n.jid===C)));return f().s[27]++,f().b[4][0]++,e&&(f().b[4][1]++,e.subject)?(f().b[3][0]++,e.subject):(f().b[3][1]++,null)}),getChatState:A=>(f().f[21]++,f().s[28]++,(C,e)=>{if(f().f[22]++,f().s[29]++,C){f().b[5][0]++;const t=(f().s[30]++,A.roomsOccupants.find(i=>(f().f[23]++,f().s[31]++,i.roomJid===e)));if(f().s[32]++,t){if(f().b[6][0]++,f().s[33]++,t.occupants.some(i=>(f().f[24]++,f().s[34]++,i.chatState==="composing")))return f().b[7][0]++,f().s[35]++,"composing";if(f().b[7][1]++,f().s[36]++,t.occupants.some(i=>(f().f[25]++,f().s[37]++,i.chatState==="paused")))return f().b[8][0]++,f().s[38]++,"paused";f().b[8][1]++}else f().b[6][1]++;return f().s[39]++,"inactive"}else f().b[5][1]++;const n=(f().s[40]++,A.contacts.find(t=>(f().f[26]++,f().s[41]++,t.jid===e)));return f().s[42]++,n?(f().b[9][0]++,n.chatState):(f().b[9][1]++,"inactive")})},actions:{setNetworkStatus(A){f().f[27]++,f().s[43]++,this.hasNetwork=A},setOnline(A){f().f[28]++,f().s[44]++,this.isOnline=A},setPresence(A){f().f[29]++,f().s[45]++,this.presence=A},setActiveChat(A){f().f[30]++,f().s[46]++,this.activeChat=A.activeChat;function C(e){f().f[31]++;const n=(f().s[47]++,e.slice(0)),t=(f().s[48]++,n.findIndex(i=>(f().f[32]++,f().s[49]++,i.jid===A.activeChat)));return f().s[50]++,t!==-1?(f().b[10][0]++,f().s[51]++,n[t].unreadCount=0):f().b[10][1]++,f().s[52]++,n}switch(f().s[53]++,A.type){case"chat":f().b[11][0]++,f().s[54]++,this.contacts=C(this.contacts),f().s[55]++;break;case"groupchat":f().b[11][1]++,f().s[56]++,this.knownRooms=C(this.knownRooms),f().s[57]++;break}},setRoster(A){f().f[33]++,f().s[58]++,this.contacts=A,f().s[59]++,A.forEach(C=>{f().f[34]++,f().s[60]++,C.groups?(f().b[12][0]++,f().s[61]++,C.groups.forEach(e=>{f().f[35]++,f().s[62]++,this.groups.includes(e)?f().b[13][1]++:(f().b[13][0]++,f().s[63]++,this.groups.push(e))})):f().b[12][1]++})},setKnownRoom(A){f().f[36]++;const C=(f().s[64]++,this.knownRooms.slice(0)),e=(f().s[65]++,C.findIndex(n=>(f().f[37]++,f().s[66]++,n.jid===A.jid)));if(f().s[67]++,e===-1){f().b[14][0]++,f().s[68]++,this.knownRooms.push(A),f().s[69]++;return}else f().b[14][1]++;f().s[70]++;for(const n in A){if(f().s[71]++,f().b[16][0]++,A[n]===null&&(f().b[16][1]++,C[e][n]!==null)){f().b[15][0]++,f().s[72]++;continue}else f().b[15][1]++;f().s[73]++,C[e][n]=A[n]}f().s[74]++,this.knownRooms=C},setRoomSubject(A,C,e){f().f[38]++;const n=(f().s[75]++,this.getRoom(A));f().s[76]++,n.jid?(f().b[17][0]++,f().s[77]++,this.setKnownRoom({...n,subject:{author:C,subject:e}})):f().b[17][1]++},setJoinedRoom(A){f().f[39]++;const C=(f().s[78]++,this.joinedRooms.findIndex(e=>(f().f[40]++,f().s[79]++,e===A)));f().s[80]++,C===-1?(f().b[18][0]++,f().s[81]++,this.joinedRooms.push(A)):f().b[18][1]++},removeJoinedRoom(A){f().f[41]++,f().s[82]++,this.joinedRooms=this.joinedRooms.filter(C=>(f().f[42]++,f().s[83]++,C!==A))},setContactPresence(A){f().f[43]++;const C=(f().s[84]++,this.contacts.findIndex(e=>(f().f[44]++,f().s[85]++,e.jid===A.jid)));f().s[86]++,C!==-1?(f().b[19][0]++,f().s[87]++,this.contacts[C].presence=A.presence,f().s[88]++,this.contacts[C].status=A.status):f().b[19][1]++},storeMessage(A){if(f().f[45]++,f().s[89]++,A.message.id){f().b[20][0]++;const t=(f().s[90]++,this.messages.slice(0)),i=(f().s[91]++,t.findIndex(s=>(f().f[46]++,f().s[92]++,s.id===A.message.id)));if(f().s[93]++,i!==-1){f().b[21][0]++,f().s[94]++,t[i]=A.message,f().s[95]++,this.messages=t,f().s[96]++;return}else f().b[21][1]++}else f().b[20][1]++;if(f().s[97]++,A.message.stanzaId){f().b[22][0]++;const t=(f().s[98]++,this.messages.slice(0)),i=(f().s[99]++,t.findIndex(s=>(f().f[47]++,f().s[100]++,s.stanzaId===A.message.stanzaId)));if(f().s[101]++,i!==-1){f().b[23][0]++,f().s[102]++,t[i]=A.message,f().s[103]++,this.messages=t,f().s[104]++;return}else f().b[23][1]++}else f().b[22][1]++;f().s[105]++,this.messages.push({id:A.message.id,stanzaId:A.message.stanzaId,from:A.message.from,to:A.message.to,body:A.message.body,delay:(f().b[24][0]++,A.message.delay||(f().b[24][1]++,null)),links:(f().b[25][0]++,A.message.links||(f().b[25][1]++,null)),status:null});const C=(f().s[106]++,this.messages.slice(0)),e=(f().s[107]++,this.$dayjs);f().s[108]++,C.sort((t,i)=>(f().f[48]++,f().s[109]++,e(t.delay).isAfter(e(i.delay)))),f().s[110]++,this.messages=C;function n(t){f().f[49]++;const i=(f().s[111]++,t.slice(0)),s=(f().s[112]++,i.findIndex(o=>(f().f[50]++,f().s[113]++,o.jid===A.message.from.bare)));return f().s[114]++,s!==-1?(f().b[26][0]++,f().s[115]++,f().b[28][0]++,i[s].unreadCount===void 0||(f().b[28][1]++,i[s].unreadCount===null)?(f().b[27][0]++,f().s[116]++,i[s].unreadCount=1):(f().b[27][1]++,f().s[117]++,i[s].unreadCount++)):f().b[26][1]++,f().s[118]++,i}if(f().s[119]++,this.hasNotificationsEnabled){f().b[29][0]++;const t=(f().s[120]++,x2());f().s[121]++,f().b[31][0]++,t.value==="hidden"&&(f().b[31][1]++,$i!==null)?(f().b[30][0]++,f().s[122]++,$i({body:"You have received new message",renotify:!1,tag:"unread"})):f().b[30][1]++}else f().b[29][1]++;if(f().s[123]++,A.message.from.bare===this.activeChat){f().b[32][0]++,f().s[124]++;return}else f().b[32][1]++;switch(f().s[125]++,A.type){case"chat":f().b[33][0]++,f().s[126]++,this.contacts=n(this.contacts),f().s[127]++;break;case"groupchat":f().b[33][1]++,f().s[128]++,this.knownRooms=n(this.knownRooms),f().s[129]++;break}},updateMessage(A){if(f().f[51]++,f().s[130]++,A.stanzaId)f().b[34][1]++;else{f().b[34][0]++,f().s[131]++;return}const C=(f().s[132]++,this.messages.findIndex(e=>(f().f[52]++,f().s[133]++,e.stanzaId===A.stanzaId)));if(f().s[134]++,C===-1){f().b[35][0]++,f().s[135]++;return}else f().b[35][1]++;f().s[136]++,this.messages[C]={...this.messages[C],...A}},setMessageStatus(A,C,e){f().f[53]++;const n=(f().s[137]++,this.messages.findIndex(t=>(f().f[54]++,f().s[138]++,t.id===A)));f().s[139]++,n!==-1?(f().b[36][0]++,f().s[140]++,this.messages[n].status={code:C,message:e}):f().b[36][1]++},setHttpFileUploadMaxSize(A){f().f[55]++,f().s[141]++,this.httpFileUploadMaxSize=A},setRoomOccupant({roomJid:A,jid:C,presence:e}){f().f[56]++,f().s[142]++,this.roomsOccupants.find(s=>(f().f[57]++,f().s[143]++,s.roomJid===A))?f().b[37][1]++:(f().b[37][0]++,f().s[144]++,this.roomsOccupants.push({roomJid:A,occupants:[]}));const n=(f().s[145]++,this.roomsOccupants.findIndex(s=>(f().f[58]++,f().s[146]++,s.roomJid===A))),t=(f().s[147]++,{jid:C,presence:e}),i=(f().s[148]++,this.roomsOccupants[n].occupants.findIndex(s=>(f().f[59]++,f().s[149]++,s.jid===C)));if(f().s[150]++,i!==-1){f().b[38][0]++,f().s[151]++,this.roomsOccupants[n].occupants[i]=t,f().s[152]++;return}else f().b[38][1]++;f().s[153]++,this.roomsOccupants[n].occupants.push(t)},removeRoomOccupant({roomJid:A,jid:C}){f().f[60]++;const e=(f().s[154]++,this.roomsOccupants.findIndex(t=>(f().f[61]++,f().s[155]++,t.roomJid===A)));if(f().s[156]++,e===-1){f().b[39][0]++,f().s[157]++;return}else f().b[39][1]++;const n=(f().s[158]++,this.roomsOccupants[e].occupants.findIndex(t=>(f().f[62]++,f().s[159]++,t.jid===C)));f().s[160]++,n!==-1?(f().b[40][0]++,f().s[161]++,this.roomsOccupants[e].occupants.splice(n,1)):f().b[40][1]++},setChatState({jid:A,type:C,chatState:e}){if(f().f[63]++,f().s[162]++,C==="chat"){f().b[41][0]++;const n=(f().s[163]++,this.contacts.findIndex(t=>(f().f[64]++,f().s[164]++,t.jid===A.bare)));f().s[165]++,n!==-1?(f().b[42][0]++,f().s[166]++,this.contacts[n].chatState=e):f().b[42][1]++,f().s[167]++;return}else f().b[41][1]++;if(f().s[168]++,C==="groupchat"){f().b[43][0]++;const n=(f().s[169]++,this.roomsOccupants.findIndex(i=>(f().f[65]++,f().s[170]++,i.roomJid===A.bare)));if(f().s[171]++,n===-1){f().b[44][0]++,f().s[172]++;return}else f().b[44][1]++;const t=(f().s[173]++,this.roomsOccupants[n].occupants.findIndex(i=>(f().f[66]++,f().s[174]++,i.jid===A.full)));f().s[175]++,t!==-1?(f().b[45][0]++,f().s[176]++,this.roomsOccupants[n].occupants[t].chatState=e):f().b[45][1]++}else f().b[43][1]++},setNotificationStatus(A){f().f[67]++,f().s[177]++,this.hasNotificationsEnabled=A,f().s[178]++,f().b[47][0]++,A&&(f().b[47][1]++,$i===null)?(f().b[46][0]++,f().s[179]++,{show:$i}=Mp({title:window.config.name,icon:"/img/icons/android-chrome-192x192.png",dir:"auto",lang:"en"})):f().b[46][1]++},clear(){f().f[68]++;const A=(f().s[180]++,Zc());f().s[181]++,Object.keys(A).forEach(C=>{f().f[69]++,f().s[182]++,this[C]=A[C]})}}})),mC=(A,C)=>{const e=A.__vccOpts||A;for(const[n,t]of C)e[n]=t;return e};function KC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/App.vue",C="2049132f829ca2adc424f4f1dd47a146f6415531",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/App.vue",statementMap:{0:{start:{line:6,column:18},end:{line:23,column:1}},1:{start:{line:9,column:4},end:{line:11,column:5}},2:{start:{line:10,column:6},end:{line:10,column:41}},3:{start:{line:13,column:4},end:{line:13,column:50}},4:{start:{line:14,column:4},end:{line:14,column:63}},5:{start:{line:15,column:4},end:{line:15,column:62}},6:{start:{line:20,column:6},end:{line:20,column:52}},7:{start:{line:27,column:19},end:{line:30,column:1}},8:{start:{line:33,column:33},end:{line:33,column:65}},9:{start:{line:35,column:2},end:{line:38,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:8,column:2},end:{line:8,column:3}},loc:{start:{line:8,column:13},end:{line:16,column:3}},line:8},1:{name:"(anonymous_1)",decl:{start:{line:19,column:4},end:{line:19,column:5}},loc:{start:{line:19,column:31},end:{line:21,column:5}},line:19},2:{name:"_sfc_render",decl:{start:{line:32,column:9},end:{line:32,column:20}},loc:{start:{line:32,column:68},end:{line:39,column:1}},line:32}},branchMap:{0:{loc:{start:{line:9,column:4},end:{line:11,column:5}},type:"if",locations:[{start:{line:9,column:4},end:{line:11,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:9},1:{loc:{start:{line:9,column:8},end:{line:9,column:75}},type:"binary-expr",locations:[{start:{line:9,column:8},end:{line:9,column:46}},{start:{line:9,column:50},end:{line:9,column:75}}],line:9}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},f:{0:0,1:0,2:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/App.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"2049132f829ca2adc424f4f1dd47a146f6415531"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return KC=function(){return s},s}KC();const O2=(KC().s[0]++,{name:"App",mounted(){KC().f[0]++,KC().s[1]++,KC().b[1][0]++,typeof window.config.name=="string"&&(KC().b[1][1]++,window.config.name!=="")?(KC().b[0][0]++,KC().s[2]++,document.title=window.config.name):KC().b[0][1]++,KC().s[3]++,this.setNetworkStatus(window.navigator.onLine),KC().s[4]++,window.addEventListener("offline",this.notifyConnectivity),KC().s[5]++,window.addEventListener("online",this.notifyConnectivity)},methods:{...kp(WC,["setNetworkStatus"]),notifyConnectivity(A){KC().f[1]++,KC().s[6]++,this.setNetworkStatus(A.type==="online")}}}),L2=(KC().s[7]++,{id:"app",class:"is-full-height"});function K2(A,C,e,n,t,i){KC().f[2]++;const s=(KC().s[8]++,AA("router-view"));return KC().s[9]++,h(),Q("div",L2,[S(s,{name:"navbar"}),S(s)])}const F2=mC(O2,[["render",K2]]);function T2(A){return A<0?-1:A>0?1:0}const N2=Math.sign||T2;function Ds(A,C){return(A&C)===C}function as(A,C){return(A%C+C)%C}function Au(A,C,e){return Math.max(C,Math.min(e,A))}function $(A,C,e=void 0){const n=C.split(".").reduce((t,i)=>typeof t<"u"?t[i]:void 0,A);return typeof n<"u"?n:e}function Zo(A,C,e){if(!A)return-1;if(!e||typeof e!="function")return A.indexOf(C);for(let n=0;n<A.length;n++)if(e(A[n],C))return n;return-1}const Cu=A=>typeof A=="object"&&!Array.isArray(A),Dp=(A,C,e=!1)=>{if(e||!Object.assign){const n=i=>Cu(C[i])&&A!==null&&Object.prototype.hasOwnProperty.call(A,i)&&Cu(A[i]);let t;return C===null||typeof C>"u"?t=!1:t=Object.getOwnPropertyNames(C).map(i=>({[i]:n(i)?Dp(A[i],C[i],e):C[i]})).reduce((i,s)=>({...i,...s}),{}),{...A,...t}}else return Object.assign(A,C)},bt=Dp,rn={Android:function(){return typeof window<"u"&&window.navigator.userAgent.match(/Android/i)},BlackBerry:function(){return typeof window<"u"&&window.navigator.userAgent.match(/BlackBerry/i)},iOS:function(){return typeof window<"u"&&window.navigator.userAgent.match(/iPhone|iPad|iPod/i)},Opera:function(){return typeof window<"u"&&window.navigator.userAgent.match(/Opera Mini/i)},Windows:function(){return typeof window<"u"&&window.navigator.userAgent.match(/IEMobile/i)},any:function(){return rn.Android()||rn.BlackBerry()||rn.iOS()||rn.Opera()||rn.Windows()}};function $2(){return typeof window<"u"&&window.navigator.userAgent.indexOf("AppleWebKit/")!==-1&&window.navigator.userAgent.indexOf("Chrome/")===-1}function Hn(A){typeof A.remove<"u"?A.remove():typeof A.parentNode<"u"&&A.parentNode!==null&&A.parentNode.removeChild(A)}function er(A){const C=document.createElement("div");C.style.position="absolute",C.style.left="0px",C.style.top="0px";const e=document.createElement("div");return C.appendChild(e),e.appendChild(A),document.body.appendChild(C),C}function R2(A){return A&&A.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function Tn(A){return A===void 0?null:isNaN(A)?A:A+"px"}function $l(A){return typeof A<"u"&&A!==null?A:""}function G2(A,C){return typeof A<"u"&&A!==null?A:C}function U2(A=void 0,C="long"){const e=[];for(let t=0;t<12;t++)e.push(new Date(2e3,t,15));const n=new Intl.DateTimeFormat(A,{month:C});return e.map(t=>n.format(t))}function Q2(A=void 0,C=0,e="narrow"){const n=[];for(let i=1,s=0;s<7;i++){const o=new Date(2e3,0,i);(o.getDay()===C||s>0)&&(n.push(o),s++)}const t=new Intl.DateTimeFormat(A,{weekday:e});return n.map(i=>t.format(i))}function nr(A,C){const e=C.match(A);return A.toString().match(/<(.+?)>/g).map(n=>{const t=n.match(/<(.+)>/);return!t||t.length<=0?null:n.match(/<(.+)>/)[1]}).reduce((n,t,i)=>(e&&e.length>i?n[t]=e[i+1]:n[t]=null,n),{})}function Pp(A,C,e){let n;return function(){const t=this,i=arguments,s=function(){n=null,e||A.apply(t,i)},o=e&&!n;clearTimeout(n),n=setTimeout(s,C),o&&A.apply(t,i)}}function H2(A,C){return A.indexOf(C,A.length-C.length)!==-1}const eu=A=>A!==void 0;function nu(A){return A&&A.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}let Op={iconPack:"mdi",useHtml5Validation:!0,statusIcon:!0,transformClasses:void 0};const Lp=A=>{Op=A},V=()=>Op;let uo;const V2=A=>{uo=A},z2={getOptions:V,setOptions(A){Lp(bt(V(),A,!0))}},tu=(A,C)=>$l(A).split(" ").filter(e=>e.length>0).map(e=>e+C).join(" "),iu=A=>{const e=(A.$options.computed?Object.keys(A.$options.computed):[]).filter(n=>!H2(n,"Classes")).reduce((n,t)=>(n[t]=A[t],n),{});return{props:A.$props,data:A.$data,computed:e}};var ZA=TA({isOruga:!0,props:{override:Boolean},methods:{computedClass(A,C,e=""){const n=this.$props.override===!0?{}:V(),t=this.$props.override||$(n,`${this.$options.configField}.override`,!1),i=$(n,`${this.$options.configField}.${A}.override`,t),s=$(n,"transformClasses",void 0),o=$(n,`${this.$options.configField}.transformClasses`,void 0);let l=$(n,`${this.$options.configField}.${A}.class`,"")||$(n,`${this.$options.configField}.${A}`,""),a=$(this.$props,A);Array.isArray(a)&&(a=a.join(" ")),C.search("{*}")!==-1?C=C.replace(/\{\*\}/g,e):C=C+e;let r=null;typeof a=="function"?(r=iu(this),a=a(e,r)):a=tu(a,e),typeof l=="function"?l=l(e,r||iu(this)):l=tu(l,e);let p=`${t&&!i||!t&&!i?C:""} ${$l(l)} ${$l(a)}`.trim().replace(/\s\s+/g," ");return o&&(p=o(p)),s&&(p=s(p)),p}}});const Kp={};function q2(A,C){Kp[A]=C}function W2(){return{oruga:Kp,addProgrammatic:q2}}const Y2=(A,C)=>{A.use(C)},CC=(A,C)=>{A.component(C.name,C)},mo=(A,C,e)=>{const{oruga:n,addProgrammatic:t}=W2();t(C,e),A._context.provides&&A._context.provides.oruga||A.provide("oruga",n),A.config.globalProperties.$oruga||(A.config.globalProperties.$oruga=n)},J2={sizes:{default:"mdi-24px",small:null,medium:"mdi-36px",large:"mdi-48px"},iconPrefix:"mdi-"},Yn=()=>{const C=$(V(),"iconComponent")?"":"fa-";return{sizes:{default:null,small:null,medium:C+"lg",large:C+"2x"},iconPrefix:C,internalIcons:{check:"check",information:"info-circle",alert:"exclamation-triangle","alert-circle":"exclamation-circle","arrow-up":"arrow-up","chevron-right":"angle-right","chevron-left":"angle-left","chevron-down":"angle-down","chevron-up":"angle-up",eye:"eye","eye-off":"eye-slash","caret-down":"caret-down","caret-up":"caret-up","close-circle":"times-circle",close:"times",loading:"circle-notch"}}},X2=()=>{let A={mdi:J2,fa:Yn(),fas:Yn(),far:Yn(),fad:Yn(),fab:Yn(),fal:Yn()};const C=$(V(),"customIconPacks");return C&&(A=bt(A,C,!0)),A};var uC=TA({name:"OIcon",mixins:[ZA],configField:"icon",props:{variant:[String,Object],component:String,pack:String,icon:String,size:String,customSize:String,customClass:String,clickable:Boolean,spin:Boolean,rotation:[Number,String],both:Boolean,rootClass:[String,Function,Array],clickableClass:[String,Function,Array],spinClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-icon"),{[this.computedClass("clickableClass","o-icon--clickable")]:this.clickable},{[this.computedClass("spinClass","o-icon--spin")]:this.spin},{[this.computedClass("sizeClass","o-icon--",this.size)]:this.size},{[this.computedClass("variantClass","o-icon--",this.newVariant)]:this.newVariant}]},rootStyle(){const A={};return this.rotation&&(A.transform=`rotate(${this.rotation}deg)`),A},iconConfig(){return X2()[this.newPack]},iconPrefix(){return this.iconConfig&&this.iconConfig.iconPrefix?this.iconConfig.iconPrefix:""},newIcon(){return`${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`},newPack(){return this.pack||$(V(),"iconPack","mdi")},newVariant(){if(!this.variant)return;let A="";return typeof this.variant=="string"?A=this.variant:A=Object.keys(this.variant).filter(C=>this.variant[C])[0],A},newCustomSize(){return this.customSize||this.customSizeByPack},customSizeByPack(){if(this.iconConfig&&this.iconConfig.sizes){if(this.size&&this.iconConfig.sizes[this.size]!==void 0)return this.iconConfig.sizes[this.size];if(this.iconConfig.sizes.default)return this.iconConfig.sizes.default}return null},useIconComponent(){if(this.component)return this.component;const A=$(V(),"iconComponent");return A||null}},methods:{getEquivalentIconOf(A){return this.both&&this.iconConfig&&this.iconConfig.internalIcons&&this.iconConfig.internalIcons[A]?this.iconConfig.internalIcons[A]:A}}});function Z2(A,C,e,n,t,i){return h(),B("span",{class:A.rootClasses,style:A.rootStyle},[A.useIconComponent?(h(),B(hA,{key:1},[P(" custom icon component "),(h(),B(bn(A.useIconComponent),{icon:[A.newPack,A.newIcon],size:A.newCustomSize,class:[A.customClass]},null,8,["icon","size","class"]))],64)):(h(),B("i",{key:0,class:[A.newPack,A.newIcon,A.newCustomSize,A.customClass]},null,2))],6)}uC.render=Z2;uC.__file="src/components/icon/Icon.vue";var En=TA({inject:{$field:{from:"$field",default:!1}},emits:["blur","focus"],props:{expanded:Boolean,rounded:Boolean,icon:String,iconPack:String,autocomplete:String,maxlength:[Number,String],useHtml5Validation:{type:Boolean,default:()=>$(V(),"useHtml5Validation",!0)},statusIcon:{type:Boolean,default:()=>$(V(),"statusIcon",!0)},validationMessage:String},data(){return{isValid:!0,isFocused:!1,newIconPack:this.iconPack}},computed:{parentField(){return this.$field},statusVariant(){if(this.parentField&&this.parentField.newVariant){if(typeof this.parentField.newVariant=="string")return this.parentField.newVariant;for(const A in this.parentField.newVariant)if(this.parentField.newVariant[A])return A}},statusMessage(){if(this.parentField)return this.parentField.newMessage||this.parentField.hasMessageSlot},statusVariantIcon(){return $(V(),"statusVariantIcon",{success:"check",danger:"alert-circle",info:"information",warning:"alert"})[this.statusVariant]||""}},methods:{focus(){const A=this.getElement();A&&this.$nextTick(()=>{A&&A.focus()})},onBlur(A){this.isFocused=!1,this.parentField&&(this.parentField.isFocused=!1),this.$emit("blur",A),this.checkHtml5Validity()},onFocus(A){this.isFocused=!0,this.parentField&&(this.parentField.isFocused=!0),this.$emit("focus",A)},getElement(){let A=this.$refs[this.$elementRef];for(;A&&A.$elementRef;)A=A.$refs[A.$elementRef];return A},setInvalid(){const A="danger",C=this.validationMessage||this.getElement().validationMessage;this.setValidity(A,C)},setValidity(A,C){this.$nextTick(()=>{this.parentField&&(this.parentField.variant||(this.parentField.newVariant=A),this.parentField.message||(this.parentField.newMessage=C))})},checkHtml5Validity(){if(!this.useHtml5Validation)return;const A=this.getElement();if(A)return A.checkValidity()?(this.setValidity(null,null),this.isValid=!0):(this.setInvalid(),this.isValid=!1),this.isValid},syncFilled(A){this.parentField&&(this.parentField.isFilled=!!A)}}}),ve=TA({name:"OInput",components:{[uC.name]:uC},mixins:[ZA,En],configField:"input",inheritAttrs:!1,emits:["update:modelValue","icon-click","icon-right-click"],props:{modelValue:[Number,String],autocomplete:String,type:{type:String,default:"text"},size:String,variant:String,passwordReveal:Boolean,iconClickable:Boolean,hasCounter:{type:Boolean,default:()=>$(V(),"input.counter",!1)},autosize:{type:Boolean,default:!1},iconRight:String,iconRightClickable:Boolean,iconRightVariant:String,clearable:{type:Boolean,default:()=>$(V(),"input.clearable",!1)},rootClass:[String,Function,Array],expandedClass:[String,Function,Array],iconLeftSpaceClass:[String,Function,Array],iconRightSpaceClass:[String,Function,Array],inputClass:[String,Function,Array],roundedClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],counterClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},data(){return{newValue:this.modelValue,newType:this.type,newAutocomplete:this.autocomplete||$(V(),"input.autocompletete","off"),isPasswordVisible:!1,height:"auto"}},computed:{rootClasses(){return[this.computedClass("rootClass","o-ctrl-input"),{[this.computedClass("expandedClass","o-ctrl-input--expanded")]:this.expanded}]},inputClasses(){return[this.computedClass("inputClass","o-input"),{[this.computedClass("roundedClass","o-input--rounded")]:this.rounded},{[this.computedClass("sizeClass","o-input--",this.size)]:this.size},{[this.computedClass("variantClass","o-input--",this.statusVariant||this.variant)]:this.statusVariant||this.variant},{[this.computedClass("textareaClass","o-input__textarea")]:this.type==="textarea"},{[this.computedClass("iconLeftSpaceClass","o-input-iconspace-left")]:this.icon},{[this.computedClass("iconRightSpaceClass","o-input-iconspace-right")]:this.hasIconRight}]},iconLeftClasses(){return[this.computedClass("iconLeftClass","o-input__icon-left")]},iconRightClasses(){return[this.computedClass("iconRightClass","o-input__icon-right")]},counterClasses(){return[this.computedClass("counterClass","o-input__counter")]},computedValue:{get(){return this.newValue},set(A){this.newValue=A,this.$emit("update:modelValue",this.newValue),this.syncFilled(this.newValue),!this.isValid&&this.checkHtml5Validity()}},hasIconRight(){return this.passwordReveal||this.statusIcon&&this.statusVariantIcon||this.clearable&&this.newValue||this.iconRight},rightIcon(){return this.passwordReveal?this.passwordVisibleIcon:this.clearable&&this.newValue?"close-circle":this.iconRight?this.iconRight:this.statusVariantIcon},rightIconVariant(){return this.passwordReveal||this.iconRight?this.iconRightVariant||this.variant||null:this.statusVariant},hasMessage(){return!!this.statusMessage},passwordVisibleIcon(){return this.isPasswordVisible?"eye-off":"eye"},valueLength(){return typeof this.computedValue=="string"?this.computedValue.length:typeof this.computedValue=="number"?this.computedValue.toString().length:0},computedStyles(){return this.autosize?{resize:"none",height:this.height,overflow:"hidden"}:{}},$elementRef(){return this.type==="textarea"?"textarea":"input"}},watch:{modelValue:{immediate:!0,handler(A){this.newValue=A,this.syncFilled(this.newValue),this.autosize&&this.resize()}},type(A){this.newType=A}},methods:{togglePasswordVisibility(){this.isPasswordVisible=!this.isPasswordVisible,this.newType=this.isPasswordVisible?"text":"password",this.$nextTick(()=>{this.focus()})},iconClick(A,C){this.$emit(A,C),this.$nextTick(()=>{this.focus()})},rightIconClick(A){this.passwordReveal?this.togglePasswordVisibility():this.clearable?this.computedValue="":this.iconRightClickable&&this.iconClick("icon-right-click",A)},resize(){this.height="auto",this.$nextTick(()=>{const A=this.$refs.textarea.scrollHeight;this.height=A+"px"})}}});function Ab(A,C,e,n,t,i){const s=AA("o-icon");return h(),B("div",{class:A.rootClasses},[A.type!=="textarea"?(h(),B("input",lC({key:0},A.$attrs,{ref:"input",class:A.inputClasses,type:A.newType,autocomplete:A.newAutocomplete,maxlength:A.maxlength,value:A.computedValue,onInput:C[1]||(C[1]=o=>A.computedValue=o.target.value),onBlur:C[2]||(C[2]=(...o)=>A.onBlur(...o)),onFocus:C[3]||(C[3]=(...o)=>A.onFocus(...o))}),null,16,["type","autocomplete","maxlength","value"])):(h(),B("textarea",lC({key:1},A.$attrs,{ref:"textarea",class:A.inputClasses,maxlength:A.maxlength,value:A.computedValue,onInput:C[4]||(C[4]=o=>A.computedValue=o.target.value),onBlur:C[5]||(C[5]=(...o)=>A.onBlur(...o)),onFocus:C[6]||(C[6]=(...o)=>A.onFocus(...o)),style:A.computedStyles}),null,16,["maxlength","value"])),A.icon?S(s,{key:2,class:A.iconLeftClasses,clickable:A.iconClickable,icon:A.icon,pack:A.iconPack,size:A.size,onClick:C[7]||(C[7]=o=>A.iconClick("icon-click",o))},null,8,["class","clickable","icon","pack","size"]):P("v-if",!0),A.hasIconRight?S(s,{key:3,class:A.iconRightClasses,clickable:A.passwordReveal||A.clearable||A.iconRightClickable,icon:A.rightIcon,pack:A.iconPack,size:A.size,variant:A.rightIconVariant,both:"",onClick:A.rightIconClick},null,8,["class","clickable","icon","pack","size","variant","onClick"]):P("v-if",!0),A.maxlength&&A.hasCounter&&A.isFocused&&A.type!=="number"?(h(),B("small",{key:4,class:A.counterClasses},sA(A.valueLength)+" / "+sA(A.maxlength),3)):P("v-if",!0)],2)}ve.render=Ab;ve.__file="src/components/input/Input.vue";var Xt=TA({name:"OAutocomplete",configField:"autocomplete",components:{[ve.name]:ve},mixins:[ZA,En],inheritAttrs:!1,emits:["update:modelValue","select","infinite-scroll","typing","focus","blur","icon-click","icon-right-click"],props:{modelValue:[Number,String],data:{type:Array,default:()=>[]},autocomplete:String,size:String,field:{type:String,default:"value"},keepFirst:Boolean,clearOnSelect:Boolean,openOnFocus:Boolean,customFormatter:Function,checkInfiniteScroll:Boolean,keepOpen:Boolean,clearable:Boolean,maxHeight:[String,Number],menuPosition:{type:String,default:"auto"},animation:{type:String,default:()=>$(V(),"autocomplete.animation","fade")},groupField:String,groupOptions:String,debounceTyping:Number,iconRight:String,iconRightClickable:Boolean,appendToBody:Boolean,confirmKeys:{type:Array,default:()=>["Tab","Enter"]},type:{type:String,default:"text"},menuTag:{type:String,default:()=>$(V(),"autocomplete.menuTag","div")},itemTag:{type:String,default:()=>$(V(),"autocomplete.itemTag","div")},selectOnClickOutside:Boolean,selectableHeader:Boolean,selectableFooter:Boolean,rootClass:[String,Function,Array],menuClass:[String,Function,Array],expandedClass:[String,Function,Array],menuPositionClass:[String,Function,Array],itemClass:[String,Function,Array],itemHoverClass:[String,Function,Array],itemGroupTitleClass:[String,Function,Array],itemEmptyClass:[String,Function,Array],itemHeaderClass:[String,Function,Array],itemFooterClass:[String,Function,Array],inputClasses:{type:Object,default:()=>$(V(),"autocomplete.inputClasses",{})}},data(){return{selected:null,hovered:null,headerHovered:null,footerHovered:null,isActive:!1,newValue:this.modelValue,ariaAutocomplete:this.keepFirst?"both":"list",newAutocomplete:this.autocomplete||"off",isListInViewportVertically:!0,hasFocus:!1,itemRefs:[],width:void 0,bodyEl:void 0}},computed:{rootClasses(){return[this.computedClass("rootClass","o-acp"),{[this.computedClass("expandedClass","o-acp--expanded")]:this.expanded}]},menuClasses(){return[this.computedClass("menuClass","o-acp__menu"),{[this.computedClass("menuPositionClass","o-acp__menu--",this.newDropdownPosition)]:!this.appendToBody}]},itemClasses(){return[this.computedClass("itemClass","o-acp__item")]},itemEmptyClasses(){return[...this.itemClasses,this.computedClass("itemEmptyClass","o-acp__item--empty")]},itemGroupClasses(){return[...this.itemClasses,this.computedClass("itemGroupTitleClass","o-acp__item-group-title")]},itemHeaderClasses(){return[...this.itemClasses,this.computedClass("itemHeaderClass","o-acp__item-header"),{[this.computedClass("itemHoverClass","o-acp__item--hover")]:this.headerHovered}]},itemFooterClasses(){return[...this.itemClasses,this.computedClass("itemFooterClass","o-acp__item-footer"),{[this.computedClass("itemHoverClass","o-acp__item--hover")]:this.footerHovered}]},inputBind(){return{...this.$attrs,...this.inputClasses}},computedData(){if(this.groupField)if(this.groupOptions){const A=[];return this.data.forEach(C=>{const e=$(C,this.groupField),n=$(C,this.groupOptions);A.push({group:e,items:n})}),A}else{const A={};this.data.forEach(e=>{const n=$(e,this.groupField);A[n]||(A[n]=[]),A[n].push(e)});const C=[];return Object.keys(this.data).forEach(e=>{C.push({group:e,items:this.data[e]})}),C}return[{items:this.data}]},isEmpty(){return this.computedData?!this.computedData.some(A=>A.items&&A.items.length):!0},whiteList(){const A=[];if(A.push(this.$refs.input.$el.querySelector("input")),A.push(this.$refs.dropdown),this.$refs.dropdown!==void 0){const C=this.$refs.dropdown.querySelectorAll("*");for(const e of C)A.push(e)}return A},newDropdownPosition(){return this.menuPosition==="top"||this.menuPosition==="auto"&&!this.isListInViewportVertically?"top":"bottom"},newIconRight(){return this.clearable&&this.newValue?"close-circle":this.iconRight},newIconRightClickable(){return this.clearable?!0:this.iconRightClickable},menuStyle(){return{maxHeight:Tn(this.maxHeight)}},$elementRef(){return"input"}},watch:{modelValue(A){this.newValue=A},isActive(A){this.menuPosition==="auto"&&(A?this.calcDropdownInViewportVertical():setTimeout(()=>{this.calcDropdownInViewportVertical()},100))},newValue(A){this.$emit("update:modelValue",A);const C=this.getValue(this.selected);C&&C!==A&&this.setSelected(null,!1),this.hasFocus&&(!this.openOnFocus||A)&&(this.isActive=!!A)},data(){if(this.keepFirst)this.$nextTick(()=>{this.isActive?this.selectFirstOption(this.computedData):this.setHovered(null)});else if(this.hovered){const A=this.getValue(this.hovered);this.computedData.map(e=>e.items).reduce((e,n)=>[...e,...n],[]).some(e=>this.getValue(e)===A)||this.setHovered(null)}},debounceTyping:{handler(A){this.debouncedEmitTyping=Pp(this.emitTyping,A)},immediate:!0}},methods:{itemOptionClasses(A){return[...this.itemClasses,{[this.computedClass("itemHoverClass","o-acp__item--hover")]:A===this.hovered}]},setHovered(A){A!==void 0&&(this.hovered=A)},setSelected(A,C=!0,e=void 0){if(A!==void 0){if(this.selected=A,this.$emit("select",this.selected,e),this.selected!==null){if(this.clearOnSelect){const n=this.$refs.input;n.newValue="",n.$refs.input.value=""}else this.newValue=this.getValue(this.selected);this.setHovered(null)}C&&this.$nextTick(()=>{this.isActive=!1}),this.checkValidity()}},selectFirstOption(A){this.$nextTick(()=>{const C=A.filter(e=>e.items&&e.items.length);if(C.length){const e=C[0].items[0];this.setHovered(e)}else this.setHovered(null)})},keydown(A){const{key:C}=A;if(C==="Enter"&&A.preventDefault(),(C==="Escape"||C==="Tab")&&(this.isActive=!1),this.confirmKeys.indexOf(C)>=0){C===","&&A.preventDefault();const e=!this.keepOpen||C==="Tab";if(this.hovered===null){this.checkIfHeaderOrFooterSelected(A,null,e);return}this.setSelected(this.hovered,e,A)}},selectHeaderOrFoterByClick(A,C){this.checkIfHeaderOrFooterSelected(A,{origin:C})},checkIfHeaderOrFooterSelected(A,C,e=!0){this.selectableHeader&&(this.headerHovered||C&&C.origin==="header")&&(this.$emit("select-header",A),this.headerHovered=!1,C&&this.setHovered(null),e&&(this.isActive=!1)),this.selectableFooter&&(this.footerHovered||C&&C.origin==="header")&&(this.$emit("select-footer",A),this.footerHovered=!1,C&&this.setHovered(null),e&&(this.isActive=!1))},clickedOutside(A){!this.hasFocus&&this.whiteList.indexOf(A.target)<0&&(this.keepFirst&&this.hovered&&this.selectOnClickOutside?this.setSelected(this.hovered,!0):this.isActive=!1)},getValue(A){if(A!==null)return typeof this.customFormatter<"u"?this.customFormatter(A):typeof A=="object"?$(A,this.field):A},checkIfReachedTheEndOfScroll(){const A=this.$refs.dropdown,C=this.$slots.footer?this.$refs.footer.clientHeight:0;A.clientHeight!==A.scrollHeight&&A.scrollTop+A.clientHeight+C>=A.scrollHeight&&this.$emit("infinite-scroll")},calcDropdownInViewportVertical(){this.$nextTick(()=>{if(!this.$refs.dropdown)return;const A=this.$refs.dropdown.getBoundingClientRect();this.isListInViewportVertically=A.top>=0&&A.bottom<=(window.innerHeight||document.documentElement.clientHeight),this.appendToBody&&this.updateAppendToBody()})},keyArrows(A){const C=A==="down"?1:-1;if(this.isActive){const e=this.computedData.map(a=>a.items).reduce((a,r)=>[...a,...r],[]);this.$slots.header&&this.selectableHeader&&e.unshift(void 0),this.$slots.footer&&this.selectableFooter&&e.push(void 0);let n;this.headerHovered?n=0+C:this.footerHovered?n=e.length-1+C:n=e.indexOf(this.hovered)+C,n=n>e.length-1?e.length-1:n,n=n<0?0:n,this.footerHovered=!1,this.headerHovered=!1,this.setHovered(e[n]!==void 0?e[n]:null),this.$slots.footer&&this.selectableFooter&&n===e.length-1&&(this.footerHovered=!0),this.$slots.header&&this.selectableHeader&&n===0&&(this.headerHovered=!0);const t=this.$refs.dropdown;let i=this.itemRefs||[];this.$slots.header&&this.selectableHeader&&(i=[this.$refs.header,...i]),this.$slots.footer&&this.selectableFooter&&(i=[...i,this.$refs.footer]);const s=i[n];if(!s)return;const o=t.scrollTop,l=t.scrollTop+t.clientHeight-s.clientHeight;s.offsetTop<o?t.scrollTop=s.offsetTop:s.offsetTop>=l&&(t.scrollTop=s.offsetTop-t.clientHeight+s.clientHeight)}else this.isActive=!0},focused(A){this.getValue(this.selected)===this.newValue&&this.$el.querySelector("input").select(),this.openOnFocus&&(this.isActive=!0,this.keepFirst&&this.selectFirstOption(this.computedData)),this.hasFocus=!0,this.$emit("focus",A)},onBlur(A){this.hasFocus=!1,this.$emit("blur",A)},onInput(){const A=this.getValue(this.selected);A&&A===this.newValue||(this.debounceTyping?this.debouncedEmitTyping():this.emitTyping())},emitTyping(){this.$emit("typing",this.newValue),this.checkValidity()},rightIconClick(A){this.clearable?(this.newValue="",this.setSelected(null,!1),this.openOnFocus&&this.$refs.input.$el.focus()):this.$emit("icon-right-click",A)},checkValidity(){this.useHtml5Validation&&this.$nextTick(()=>{this.checkHtml5Validity()})},setItemRef(A){A&&this.itemRefs.push(A)},updateAppendToBody(){const A=this.$refs.dropdown,C=this.$refs.input.$el;if(A&&C){const e=this.$data.bodyEl;e.classList.forEach(s=>e.classList.remove(...s.split(" "))),this.rootClasses.forEach(s=>{s&&(typeof s=="object"?Object.keys(s).filter(o=>o&&s[o]).forEach(o=>e.classList.add(o)):e.classList.add(...s.split(" ")))});const n=C.getBoundingClientRect();let t=n.top+window.scrollY;const i=n.left+window.scrollX;this.newDropdownPosition!=="top"?t+=C.clientHeight:t-=A.clientHeight,A.style.position="absolute",A.style.top=`${t}px`,A.style.left=`${i}px`,A.style.width=`${C.clientWidth}px`,A.style.maxWidth=`${C.clientWidth}px`,A.style.zIndex="9999"}}},created(){typeof window<"u"&&(document.addEventListener("click",this.clickedOutside),this.menuPosition==="auto"&&window.addEventListener("resize",this.calcDropdownInViewportVertical))},mounted(){const A=this.$refs.dropdown;this.checkInfiniteScroll&&A&&A.addEventListener("scroll",this.checkIfReachedTheEndOfScroll),this.appendToBody&&(this.$data.bodyEl=er(A),this.updateAppendToBody())},beforeUpdate(){this.width=this.$refs.input?this.$refs.input.$el.clientWidth:void 0,this.itemRefs=[]},beforeUnmount(){typeof window<"u"&&(document.removeEventListener("click",this.clickedOutside),this.menuPosition==="auto"&&window.removeEventListener("resize",this.calcDropdownInViewportVertical)),this.checkInfiniteScroll&&this.$refs.dropdown&&this.$refs.dropdown.removeEventListener("scroll",this.checkIfReachedTheEndOfScroll),this.appendToBody&&Hn(this.$data.bodyEl)}});const Cb={key:1},eb={key:1};function nb(A,C,e,n,t,i){const s=AA("o-input");return h(),B("div",{class:A.rootClasses},[S(s,lC(A.inputBind,{modelValue:A.newValue,"onUpdate:modelValue":[C[1]||(C[1]=o=>A.newValue=o),A.onInput],ref:"input",type:A.type,size:A.size,rounded:A.rounded,icon:A.icon,"icon-right":A.newIconRight,"icon-right-clickable":A.newIconRightClickable,"icon-pack":A.iconPack,maxlength:A.maxlength,autocomplete:A.newAutocomplete,"use-html5-validation":!1,"aria-autocomplete":A.ariaAutocomplete,expanded:A.expanded,onFocus:A.focused,onBlur:A.onBlur,onKeydown:[A.keydown,C[2]||(C[2]=cC(MA(o=>A.keyArrows("up"),["prevent"]),["up"])),C[3]||(C[3]=cC(MA(o=>A.keyArrows("down"),["prevent"]),["down"]))],"onIcon-right-click":A.rightIconClick,"onIcon-click":C[4]||(C[4]=o=>A.$emit("icon-click",o))}),null,16,["modelValue","type","size","rounded","icon","icon-right","icon-right-clickable","icon-pack","maxlength","autocomplete","aria-autocomplete","expanded","onUpdate:modelValue","onFocus","onBlur","onKeydown","onIcon-right-click"]),S(ne,{name:A.animation},{default:_A(()=>[QA(S("div",{class:A.menuClasses,is:A.menuTag,style:A.menuStyle,ref:"dropdown"},[A.$slots.header?(h(),B("div",{key:0,is:A.itemTag,ref:"header",role:"button",tabindex:0,onClick:C[5]||(C[5]=o=>A.selectHeaderOrFoterByClick(o,"header")),class:A.itemHeaderClasses},[dA(A.$slots,"header")],10,["is"])):P("v-if",!0),(h(!0),B(hA,null,XA(A.computedData,(o,l)=>(h(),B(hA,null,[o.group?(h(),B("div",{is:A.itemTag,key:l+"group",class:A.itemGroupClasses},[A.$slots.group?dA(A.$slots,"group",{key:0,group:o.group,index:l}):(h(),B("span",Cb,sA(o.group),1))],10,["is"])):P("v-if",!0),(h(!0),B(hA,null,XA(o.items,(a,r)=>(h(),B("div",{key:l+":"+r,is:A.itemTag,class:A.itemOptionClasses(a),onClick:MA(p=>A.setSelected(a,!A.keepOpen,p),["stop"]),ref:A.setItemRef},[A.$slots.default?dA(A.$slots,"default",{key:0,option:a,index:r}):(h(),B("span",eb,sA(A.getValue(a)),1))],10,["is","onClick"]))),128))],64))),256)),A.isEmpty&&A.$slots.empty?(h(),B("div",{key:1,is:A.itemTag,class:A.itemEmptyClasses},[dA(A.$slots,"empty")],10,["is"])):P("v-if",!0),A.$slots.footer?(h(),B("div",{key:2,is:A.itemTag,ref:"footer",role:"button",tabindex:0,onClick:C[6]||(C[6]=o=>A.selectHeaderOrFoterByClick(o,"footer")),class:A.itemFooterClasses},[dA(A.$slots,"footer")],10,["is"])):P("v-if",!0)],14,["is"]),[[pC,A.isActive&&(!A.isEmpty||A.$slots.empty||A.$slots.header||A.$slots.footer)]])]),_:1},8,["name"])],2)}Xt.render=nb;Xt.__file="src/components/autocomplete/Autocomplete.vue";var tb={install(A){CC(A,Xt)}};const ib=tb;var He=TA({name:"OButton",components:{[uC.name]:uC},configField:"button",mixins:[ZA],inheritAttrs:!1,props:{variant:String,size:String,label:String,iconPack:String,iconLeft:String,iconRight:String,rounded:{type:Boolean,default:()=>$(V(),"button.rounded",!1)},outlined:Boolean,expanded:Boolean,inverted:Boolean,nativeType:{type:String,default:"button",validator:A=>["button","submit","reset"].indexOf(A)>=0},tag:{type:String,default:"button"},disabled:Boolean,iconBoth:Boolean,elementsWrapperClass:[String,Function,Array],rootClass:[String,Function,Array],outlinedClass:[String,Function,Array],invertedClass:[String,Function,Array],expandedClass:[String,Function,Array],roundedClass:[String,Function,Array],disabledClass:[String,Function,Array],iconClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-btn"),{[this.computedClass("sizeClass","o-btn--",this.size)]:this.size},{[this.computedClass("variantClass","o-btn--",this.variant)]:this.variant},{[this.computedClass("outlinedClass","o-btn--outlined")]:this.outlined&&!this.variant},{[this.computedClass("invertedClass","o-btn--inverted")]:this.inverted&&!this.variant},{[this.computedClass("outlinedClass","o-btn--outlined-",this.variant)]:this.outlined&&this.variant},{[this.computedClass("invertedClass","o-btn--inverted-",this.variant)]:this.inverted&&this.variant},{[this.computedClass("expandedClass","o-btn--expanded")]:this.expanded},{[this.computedClass("roundedClass","o-btn--rounded")]:this.rounded},{[this.computedClass("disabledClass","o-btn--disabled")]:this.disabled}]},labelClasses(){return[this.computedClass("labelClass","o-btn__label")]},iconClasses(){return[this.computedClass("iconClass","o-btn__icon")]},iconLeftClasses(){return[...this.iconClasses,this.computedClass("iconLeftClass","o-btn__icon-left")]},iconRightClasses(){return[...this.iconClasses,this.computedClass("iconRightClass","o-btn__icon-right")]},elementsWrapperClasses(){return[this.computedClass("elementsWrapperClass","o-btn__wrapper")]},computedTag(){return typeof this.disabled<"u"&&this.disabled!==!1?"button":this.tag},computedNativeType(){return this.tag==="button"||this.tag==="input"?this.nativeType:null},computedDisabled(){return this.disabled?!0:null}}});function sb(A,C,e,n,t,i){const s=AA("o-icon");return h(),B(bn(A.computedTag),lC(A.$attrs,{disabled:A.computedDisabled,type:A.computedNativeType,class:A.rootClasses}),{default:_A(()=>[S("span",{class:A.elementsWrapperClasses},[A.iconLeft?S(s,{key:0,pack:A.iconPack,icon:A.iconLeft,size:A.size,both:A.iconBoth,class:A.iconLeftClasses},null,8,["pack","icon","size","both","class"]):P("v-if",!0),A.label||A.$slots.default?(h(),B("span",{key:1,class:A.labelClasses},[dA(A.$slots,"default",{},()=>[tC(sA(A.label),1)])],2)):P("v-if",!0),A.iconRight?S(s,{key:2,pack:A.iconPack,icon:A.iconRight,size:A.size,both:A.iconBoth,class:A.iconRightClasses},null,8,["pack","icon","size","both","class"]):P("v-if",!0)],2)]),_:1},16,["disabled","type","class"])}He.render=sb;He.__file="src/components/button/Button.vue";var ob={install(A){CC(A,He)}};const lb=ob,ab=1,Fp=3,Tp=Fp;var Np=(A,C=0)=>{const e=TA({provide(){return{["o"+A]:this}}});return Ds(C,ab)&&(e.data=function(){return{childItems:[],sequence:1}},e.methods={_registerItem(n){n.index=this.childItems.length,this.childItems.push(n),this.$el&&this.$nextTick(()=>{const t=this.childItems.map(s=>`[data-id="${A}-${s.newValue}"]`).join(","),i=Array.from(this.$el.querySelectorAll(t)).map(s=>s.getAttribute("data-id").replace(`${A}-`,""));this.childItems.forEach(s=>s.index=i.indexOf(`${s.newValue}`))})},_unregisterItem(n){this.childItems=this.childItems.filter(t=>t!==n)},_nextSequence(){return this.sequence++}},Ds(C,Fp)&&(e.computed={sortedItems(){return this.childItems.slice().sort((n,t)=>n.index-t.index)}})),e};const $p=1,rb=2,Rp=$p;var Gp=(A,C=0)=>{const e=TA({inject:{parent:{from:"o"+A}},created(){if(this.newValue=G2(this.value,this.parent&&this.parent._nextSequence()),this.parent)this.parent._registerItem(this);else if(!Ds(C,rb))throw new Error("You should wrap "+this.$options.name+" in a "+A)},beforeUnmount(){this.parent&&this.parent._unregisterItem(this)}});return Ds(C,$p)&&(e.data=()=>({index:null})),e},tr=TA({name:"OCarousel",components:{[uC.name]:uC},configField:"carousel",mixins:[Np("carousel",Tp),ZA],emits:["update:modelValue","scroll","click"],props:{modelValue:{type:Number,default:0},interval:{type:Number,default:()=>$(V(),"carousel.interval",3500)},hasDrag:{type:Boolean,default:!0},autoplay:{type:Boolean,default:!1},pauseHover:{type:Boolean,default:!1},repeat:{type:Boolean,default:!1},indicator:{type:Boolean,default:!0},indicatorInside:{type:Boolean,default:!1},indicatorMode:{type:String,default:"click"},indicatorPosition:{type:String,default:"bottom"},indicatorStyle:{type:String,default:"dots"},overlay:Boolean,itemsToShow:{type:Number,default:1},itemsToList:{type:Number,default:1},asIndicator:Boolean,arrow:{type:Boolean,default:!0},arrowHover:{type:Boolean,default:!0},iconPack:String,iconSize:String,iconPrev:{type:String,default:()=>$(V(),"carousel.iconPrev","chevron-left")},iconNext:{type:String,default:()=>$(V(),"carousel.iconNext","chevron-right")},breakpoints:{type:Object,default:()=>({})},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],sceneClass:[String,Function,Array],itemsClass:[String,Function,Array],itemsDraggingClass:[String,Function,Array],arrowIconClass:[String,Function,Array],arrowIconPrevClass:[String,Function,Array],arrowIconNextClass:[String,Function,Array],indicatorsClass:[String,Function,Array],indicatorsInsideClass:[String,Function,Array],indicatorsInsidePositionClass:[String,Function,Array],indicatorItemClass:[String,Function,Array],indicatorItemActiveClass:[String,Function,Array],indicatorItemStyleClass:[String,Function,Array]},data(){return{activeIndex:this.modelValue,scrollIndex:this.modelValue,delta:0,dragX:!1,hold:0,windowWidth:0,touch:!1,observer:null,refresh_:0,itemsHovered:!1,isPause:!1,timer:null}},computed:{rootClasses(){return[this.computedClass("rootClass","o-car"),{[this.computedClass("overlayClass","o-car__overlay")]:this.overlay}]},sceneClasses(){return[this.computedClass("sceneClass","o-car__scene")]},itemsClasses(){return[this.computedClass("itemsClass","o-car__items"),{[this.computedClass("itemsDraggingClass","o-car__items--dragging")]:this.dragging}]},arrowIconClasses(){return[this.computedClass("arrowIconClass","o-car__arrow__icon")]},arrowIconPrevClasses(){return[...this.arrowIconClasses,this.computedClass("arrowIconPrevClass","o-car__arrow__icon-prev")]},arrowIconNextClasses(){return[...this.arrowIconClasses,this.computedClass("arrowIconNextClass","o-car__arrow__icon-next")]},indicatorsClasses(){return[this.computedClass("indicatorsClass","o-car__indicators"),{[this.computedClass("indicatorsInsideClass","o-car__indicators--inside")]:this.indicatorInside},{[this.computedClass("indicatorsInsidePositionClass","o-car__indicators--inside--",this.indicatorPosition)]:this.indicatorInside&&this.indicatorPosition}]},indicatorClasses(){return[this.computedClass("indicatorClass","o-car__indicator")]},dragging(){return this.dragX!==!1},itemStyle(){return`width: ${this.itemWidth}px;`},translation(){return-Au(this.delta+this.scrollIndex*this.itemWidth,0,(this.childItems.length-this.settings.itemsToShow)*this.itemWidth)},total(){return this.childItems.length-this.settings.itemsToShow},indicatorCount(){return Math.ceil(this.total/this.settings.itemsToList)+1},indicatorIndex(){return Math.ceil(this.scrollIndex/this.settings.itemsToList)},hasArrows(){return this.settings.arrowHover&&this.itemsHovered||!this.settings.arrowHover},hasPrev(){return(this.settings.repeat||this.scrollIndex>0)&&this.hasArrows},hasNext(){return(this.settings.repeat||this.scrollIndex<this.total)&&this.hasArrows},breakpointKeys(){return Object.keys(this.breakpoints).map(Number).sort((C,e)=>e-C)},settings(){let A=this.breakpointKeys.filter(C=>{if(this.windowWidth>=C)return!0})[0];return A?{...this.$props,...this.breakpoints[A]}:this.$props},itemWidth(){return this.windowWidth?(this.refresh_,this.$el.getBoundingClientRect().width/this.settings.itemsToShow):0}},watch:{modelValue(A){A<=this.childItems.length-1&&(this.activeIndex=A,this.switchTo(A*this.settings.itemsToList,!0))},autoplay(A){A?this.startTimer():this.pauseTimer()},repeat(A){A&&this.startTimer()}},methods:{indicatorItemClasses(A){return[this.computedClass("indicatorItemClass","o-car__indicator__item"),{[this.computedClass("indicatorItemActiveClass","o-car__indicator__item--active")]:this.indicatorIndex===A},{[this.computedClass("indicatorItemStyleClass","o-car__indicator__item--",this.indicatorStyle)]:this.indicatorStyle}]},onMouseEnter(){this.itemsHovered=!0,this.checkPause()},onMouseLeave(){this.itemsHovered=!1,this.startTimer()},startTimer(){!this.autoplay||this.timer||(this.isPause=!1,this.timer=setInterval(()=>{!this.repeat&&this.activeIndex>=this.childItems.length-1?this.pauseTimer():this.next()},this.interval))},pauseTimer(){this.isPause=!0,this.timer&&(clearInterval(this.timer),this.timer=null)},restartTimer(){this.pauseTimer(),this.startTimer()},checkPause(){this.pauseHover&&this.autoplay&&this.pauseTimer()},modeChange(A,C){if(this.indicatorMode===A)return this.switchTo(C*this.settings.itemsToList)},resized(){this.windowWidth=window.innerWidth},switchTo(A,C=this.asIndicator){this.settings.repeat&&(A=as(A,this.total+1)),A=Au(A,0,this.total),this.scrollIndex=A,this.$emit("scroll",this.indicatorIndex),C||(this.activeIndex=Math.ceil(A/this.settings.itemsToList),this.modelValue!==this.activeIndex&&this.$emit("update:modelValue",this.activeIndex))},next(){this.switchTo(this.scrollIndex+this.settings.itemsToList)},prev(){this.switchTo(this.scrollIndex-this.settings.itemsToList)},dragStart(A){this.dragging||!this.settings.hasDrag||A.button!==0&&A.type!=="touchstart"||(this.hold=Date.now(),this.touch=!!A.touches,this.dragX=this.touch?A.touches[0].clientX:A.clientX,this.touch&&this.pauseTimer(),window.addEventListener(this.touch?"touchmove":"mousemove",this.dragMove),window.addEventListener(this.touch?"touchend":"mouseup",this.dragEnd))},dragMove(A){if(!this.dragging)return;const C=A.touches?(A.changedTouches[0]||A.touches[0]).clientX:A.clientX;this.delta=this.dragX-C,A.touches||A.preventDefault()},dragEnd(A){if(!(!this.dragging&&!this.hold)){if(this.hold){const C=N2(this.delta),e=Math.round(Math.abs(this.delta/this.itemWidth)+.15);this.switchTo(this.scrollIndex+C*e)}this.delta=0,this.dragX=!1,A&&A.touches&&this.startTimer(),window.removeEventListener(this.touch?"touchmove":"mousemove",this.dragMove),window.removeEventListener(this.touch?"touchend":"mouseup",this.dragEnd)}},refresh(){this.$nextTick(()=>{this.refresh_++})}},mounted(){if(typeof window<"u"&&(window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.refresh),this.observer.observe(this.$el)),window.addEventListener("resize",this.resized),document.addEventListener("animationend",this.refresh),document.addEventListener("transitionend",this.refresh),document.addEventListener("transitionstart",this.refresh),this.resized(),this.startTimer()),this.$attrs.config)throw new Error("The config prop was removed, you need to use v-bind instead")},beforeUnmount(){typeof window<"u"&&(window.ResizeObserver&&this.observer.disconnect(),window.removeEventListener("resize",this.resized),document.removeEventListener("animationend",this.refresh),document.removeEventListener("transitionend",this.refresh),document.removeEventListener("transitionstart",this.refresh),this.dragEnd(),this.pauseTimer())}});function cb(A,C,e,n,t,i){const s=AA("o-icon");return h(),B("div",{class:A.rootClasses,onMouseenter:C[3]||(C[3]=(...o)=>A.onMouseEnter(...o)),onMouseleave:C[4]||(C[4]=(...o)=>A.onMouseLeave(...o))},[S("div",{class:A.sceneClasses},[S("div",{onMousedown:C[1]||(C[1]=(...o)=>A.dragStart(...o)),onTouchstart:C[2]||(C[2]=(...o)=>A.dragStart(...o)),class:A.itemsClasses,style:"transform:translateX("+A.translation+"px)"},[dA(A.$slots,"default")],38),dA(A.$slots,"arrow",{hasPrev:A.hasPrev,prev:A.prev,hasNext:A.hasNext,next:A.next},()=>[A.arrow?(h(),B(hA,{key:0},[QA(S(s,{class:A.arrowIconPrevClasses,onClick:A.prev,pack:A.iconPack,icon:A.iconPrev,size:A.iconSize,both:""},null,8,["class","onClick","pack","icon","size"]),[[pC,A.hasPrev]]),QA(S(s,{class:A.arrowIconNextClasses,onClick:A.next,pack:A.iconPack,icon:A.iconNext,size:A.iconSize,both:""},null,8,["class","onClick","pack","icon","size"]),[[pC,A.hasNext]])],64)):P("v-if",!0)])],2),dA(A.$slots,"indicators",{active:A.activeIndex,switchTo:A.switchTo,indicatorIndex:A.indicatorIndex},()=>[A.childItems.length?(h(),B(hA,{key:0},[A.indicator&&!A.asIndicator?(h(),B("div",{key:0,class:A.indicatorsClasses},[(h(!0),B(hA,null,XA(A.indicatorCount,(o,l)=>(h(),B("a",{class:A.indicatorClasses,onMouseover:a=>A.modeChange("hover",l),onClick:a=>A.modeChange("click",l),key:l},[dA(A.$slots,"indicator",{i:l},()=>[S("span",{class:A.indicatorItemClasses(l)},null,2)])],42,["onMouseover","onClick"]))),128))],2)):P("v-if",!0)],64)):P("v-if",!0)]),A.overlay?dA(A.$slots,"overlay",{key:0}):P("v-if",!0)],34)}tr.render=cb;tr.__file="src/components/carousel/Carousel.vue";var ir=TA({name:"OCarouselItem",configField:"carousel",mixins:[Gp("carousel",Rp),ZA],props:{itemClass:[String,Function,Array],itemActiveClass:[String,Function,Array]},computed:{itemClasses(){return[this.computedClass("itemClass","o-car__item"),{[this.computedClass("itemActiveClass","o-car__item--active")]:this.isActive}]},itemStyle(){return`width: ${this.parent.itemWidth}px;`},isActive(){return this.parent.activeIndex===this.index}},methods:{onClick(A){this.isActive&&this.parent.$emit("click",A),this.parent.asIndicator&&(this.parent.activeIndex=this.index,this.parent.$emit("update:modelValue",this.index))}}});function ub(A,C,e,n,t,i){return h(),B("div",{class:A.itemClasses,onClick:C[1]||(C[1]=(...s)=>A.onClick(...s)),style:A.itemStyle},[dA(A.$slots,"default")],6)}ir.render=ub;ir.__file="src/components/carousel/CarouselItem.vue";var mb={install(A){CC(A,tr),CC(A,ir)}};const db=mb;var Up=TA({emits:["update:modelValue"],props:{modelValue:[String,Number,Boolean,Array],nativeValue:[String,Number,Boolean,Array],variant:String,disabled:Boolean,required:Boolean,name:String,size:String},data(){return{newValue:this.modelValue}},computed:{computedValue:{get(){return this.newValue},set(A){this.newValue=A,this.$emit("update:modelValue",this.newValue)}}},watch:{modelValue(A){this.newValue=A}},methods:{focus(){this.$refs.input.focus()}}}),Zt=TA({name:"OCheckbox",mixins:[ZA,Up],configField:"checkbox",emits:["input"],props:{indeterminate:{type:Boolean,default:!1},trueValue:{type:[String,Number,Boolean],default:!0},falseValue:{type:[String,Number,Boolean],default:!1},ariaLabelledby:String,autocomplete:String,rootClass:[String,Function,Array],disabledClass:[String,Function,Array],checkClass:[String,Function,Array],checkCheckedClass:[String,Function,Array],checkIndeterminateClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},watch:{indeterminate:{handler(A){this.isIndeterminate=A},immediate:!0}},computed:{isChecked(){return this.computedValue===this.trueValue||Array.isArray(this.computedValue)&&this.computedValue.indexOf(this.nativeValue)!==-1},rootClasses(){return[this.computedClass("rootClass","o-chk"),{[this.computedClass("checkedClass","o-chk--checked")]:this.isChecked},{[this.computedClass("sizeClass","o-chk--",this.size)]:this.size},{[this.computedClass("disabledClass","o-chk--disabled")]:this.disabled},{[this.computedClass("variantClass","o-chk--",this.variant)]:this.variant}]},checkClasses(){return[this.computedClass("checkClass","o-chk__check"),{[this.computedClass("checkCheckedClass","o-chk__check--checked")]:this.isChecked},{[this.computedClass("checkIndeterminateClass","o-chk__check--indeterminate")]:this.isIndeterminate}]},labelClasses(){return[this.computedClass("labelClass","o-chk__label")]}}});function pb(A,C,e,n,t,i){return h(),B("label",{class:A.rootClasses,ref:"label",onClick:C[3]||(C[3]=MA((...s)=>A.focus(...s),["stop"])),onKeydown:C[4]||(C[4]=cC(MA(s=>A.$refs.label.click(),["prevent"]),["enter"]))},[QA(S("input",lC({"onUpdate:modelValue":C[1]||(C[1]=s=>A.computedValue=s),type:"checkbox"},A.$attrs,{ref:"input",onClick:C[2]||(C[2]=MA(()=>{},["stop"])),class:A.checkClasses,disabled:A.disabled,required:A.required,name:A.name,autocomplete:A.autocomplete,value:A.nativeValue,indeterminate:A.indeterminate,"true-value":A.trueValue,"false-value":A.falseValue,"aria-labelledby":A.ariaLabelledby}),null,16,["disabled","required","name","autocomplete","value","indeterminate","true-value","false-value","aria-labelledby"]),[[Ja,A.computedValue]]),S("span",{id:A.ariaLabelledby,class:A.labelClasses},[dA(A.$slots,"default")],10,["id"])],34)}Zt.render=pb;Zt.__file="src/components/checkbox/Checkbox.vue";var fb={install(A){CC(A,Zt)}};const hb=fb;var Qp=TA({name:"OCollapse",mixins:[ZA],configField:"collapse",emits:["update:open","open","close"],props:{open:{type:Boolean,default:!0},animation:{type:String,default:()=>$(V(),"collapse.animation","fade")},ariaId:{type:String,default:""},position:{type:String,default:"top",validator:A=>["top","bottom"].indexOf(A)>-1},rootClass:[String,Function,Array],triggerClass:[String,Function,Array],contentClass:[String,Function,Array]},data(){return{isOpen:this.open}},watch:{open(A){this.isOpen=A}},methods:{toggle(){this.isOpen=!this.isOpen,this.$emit("update:open",this.isOpen),this.$emit(this.isOpen?"open":"close")}},render(){const A=HC("div",{class:this.computedClass("triggerClass","o-clps__trigger"),onClick:this.toggle},this.$slots.trigger({open:this.isOpen})),C=HC(ne,{name:this.animation},()=>QA(HC("div",{class:this.computedClass("contentClass","o-clps__content"),id:this.ariaId},this.$slots.default()),[[pC,this.isOpen]]));return HC("div",{class:this.computedClass("rootClass","o-clps")},this.position==="top"?[A,C]:[C,A])}});Qp.__file="src/components/collapse/Collapse.vue";var gb={install(A){CC(A,Qp)}};const bb=gb;var Ye=TA({props:{mobileBreakpoint:String},data(){return{matchMediaRef:void 0,isMatchMedia:void 0}},methods:{onMatchMedia(A){this.isMatchMedia=A.matches}},created(){if(typeof window<"u"){let A=this.mobileBreakpoint;if(!A){const C=V(),e=$(C,"mobileBreakpoint","1023px");A=$(C,`${this.$options.configField}.mobileBreakpoint`,e)}this.matchMediaRef=window.matchMedia(`(max-width: ${A})`),this.matchMediaRef?(this.isMatchMedia=this.matchMediaRef.matches,this.matchMediaRef.addListener(this.onMatchMedia,!1)):this.isMatchMedia=!1}},beforeUnmount(){typeof window<"u"&&this.matchMediaRef&&this.matchMediaRef.removeListener(this.checkMatchMedia)}});const Ri=(A,C=!1)=>A?C?A.querySelectorAll('*[tabindex="-1"]'):A.querySelectorAll(`a[href]:not([tabindex="-1"]), - area[href], - input:not([disabled]), - select:not([disabled]), - textarea:not([disabled]), - button:not([disabled]), - iframe, - object, - embed, - *[tabindex]:not([tabindex="-1"]), - *[contenteditable]`):null;let Rl;const Eb=(A,{value:C=!0})=>{if(C){let e=Ri(A),n=Ri(A,!0);e&&e.length>0&&(Rl=t=>{e=Ri(A),n=Ri(A,!0);const i=e[0],s=e[e.length-1];t.target===i&&t.shiftKey&&t.key==="Tab"?(t.preventDefault(),s.focus()):(t.target===s||Array.from(n).indexOf(t.target)>=0)&&!t.shiftKey&&t.key==="Tab"&&(t.preventDefault(),i.focus())},A.addEventListener("keydown",Rl))}},yb=A=>{A.removeEventListener("keydown",Rl)},Hp={beforeMount:Eb,beforeUnmount:yb};var Nn=TA({name:"ODropdown",directives:{trapFocus:Hp},configField:"dropdown",mixins:[ZA,Ye],provide(){return{$dropdown:this}},emits:["update:modelValue","active-change","change"],props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:null},disabled:Boolean,inline:Boolean,scrollable:Boolean,maxHeight:{type:[String,Number],default:()=>$(V(),"dropdown.maxHeight",200)},position:{type:String,validator:A=>["top-right","top-left","bottom-left","bottom-right"].indexOf(A)>-1},mobileModal:{type:Boolean,default:()=>$(V(),"dropdown.mobileModal",!0)},ariaRole:{type:String,validator:A=>["menu","list","dialog"].indexOf(A)>-1,default:null},animation:{type:String,default:()=>$(V(),"dropdown.animation","fade")},multiple:Boolean,trapFocus:{type:Boolean,default:()=>$(V(),"dropdown.trapFocus",!0)},closeOnClick:{type:Boolean,default:!0},canClose:{type:[Array,Boolean],default:!0},expanded:Boolean,triggers:{type:Array,default:()=>["click"]},menuTag:{type:String,default:()=>$(V(),"dropdown.menuTag","div")},triggerTabindex:{type:Number,default:0},appendToBody:Boolean,appendToBodyCopyParent:Boolean,rootClass:[String,Function,Array],triggerClass:[String,Function,Array],inlineClass:[String,Function,Array],menuMobileOverlayClass:[String,Function,Array],menuClass:[String,Function,Array],menuPositionClass:[String,Function,Array],menuActiveClass:[String,Function,Array],mobileClass:[String,Function,Array],disabledClass:[String,Function,Array],expandedClass:[String,Function,Array]},data(){return{selected:this.modelValue,isActive:!1,isHoverable:!1,bodyEl:void 0}},computed:{rootClasses(){return[this.computedClass("rootClass","o-drop"),{[this.computedClass("disabledClass","o-drop--disabled")]:this.disabled},{[this.computedClass("expandedClass","o-drop--expanded")]:this.expanded},{[this.computedClass("inlineClass","o-drop--inline")]:this.inline},{[this.computedClass("mobileClass","o-drop--mobile")]:this.isMobileModal&&this.isMatchMedia&&!this.hoverable}]},triggerClasses(){return[this.computedClass("triggerClass","o-drop__trigger")]},menuMobileOverlayClasses(){return[this.computedClass("menuMobileOverlayClass","o-drop__overlay")]},menuClasses(){return[this.computedClass("menuClass","o-drop__menu"),{[this.computedClass("menuPositionClass","o-drop__menu--",this.position)]:this.position},{[this.computedClass("menuActiveClass","o-drop__menu--active")]:this.isActive||this.inline}]},isMobileModal(){return this.mobileModal&&!this.inline},cancelOptions(){return typeof this.canClose=="boolean"?this.canClose?["escape","outside"]:[]:this.canClose},menuStyle(){return{maxHeight:this.scrollable?Tn(this.maxHeight):null,overflow:this.scrollable?"auto":null}},hoverable(){return this.triggers.indexOf("hover")>=0}},watch:{modelValue(A){this.selected=A},isActive(A){this.$emit("active-change",A),this.appendToBody&&this.$nextTick(()=>{this.updateAppendToBody()})}},methods:{selectItem(A){this.multiple?(this.selected?this.selected.indexOf(A)===-1?this.selected=[...this.selected,A]:this.selected=this.selected.filter(C=>C!==A):this.selected=[A],this.$emit("change",this.selected)):this.selected!==A&&(this.selected=A,this.$emit("change",this.selected)),this.$emit("update:modelValue",this.selected),this.multiple||(this.isActive=!this.closeOnClick,this.hoverable&&this.closeOnClick&&(this.isHoverable=!1))},isInWhiteList(A){if(A===this.$refs.dropdownMenu||A===this.$refs.trigger)return!0;if(this.$refs.dropdownMenu!==void 0){const C=this.$refs.dropdownMenu.querySelectorAll("*");for(const e of C)if(A===e)return!0}if(this.$refs.trigger!==void 0){const C=this.$refs.trigger.querySelectorAll("*");for(const e of C)if(A===e)return!0}return!1},clickedOutside(A){this.cancelOptions.indexOf("outside")<0||this.inline||this.isInWhiteList(A.target)||(this.isActive=!1)},keyPress({key:A}){if(this.isActive&&(A==="Escape"||A==="Esc")){if(this.cancelOptions.indexOf("escape")<0)return;this.isActive=!1}},onClick(){this.triggers.indexOf("click")<0||this.toggle()},onContextMenu(){this.triggers.indexOf("contextmenu")<0||this.toggle()},onHover(){this.triggers.indexOf("hover")<0||(this.isHoverable=!0)},onFocus(){this.triggers.indexOf("focus")<0||this.toggle()},toggle(){this.disabled||(this.isActive?this.isActive=!this.isActive:this.$nextTick(()=>{const A=!this.isActive;this.isActive=A,setTimeout(()=>this.isActive=A)}))},updateAppendToBody(){const A=this.$refs.dropdownMenu,C=this.$refs.trigger;if(A&&C){const e=this.$data.bodyEl.children[0];if(e.classList.forEach(s=>e.classList.remove(...s.split(" "))),this.rootClasses.forEach(s=>{s&&(typeof s=="object"?Object.keys(s).filter(o=>o&&s[o]).forEach(o=>e.classList.add(o)):e.classList.add(...s.split(" ")))}),this.appendToBodyCopyParent){const s=this.$refs.dropdown.parentNode,o=this.$data.bodyEl;o.classList.forEach(l=>o.classList.remove(...l.split(" "))),s.classList.forEach(l=>o.classList.add(...l.split(" ")))}const n=C.getBoundingClientRect();let t=n.top+window.scrollY,i=n.left+window.scrollX;!this.position||this.position.indexOf("bottom")>=0?t+=C.clientHeight:t-=A.clientHeight,this.position&&this.position.indexOf("left")>=0&&(i-=A.clientWidth-C.clientWidth),A.style.position="absolute",A.style.top=`${t}px`,A.style.left=`${i}px`,A.style.zIndex="9999"}}},mounted(){this.appendToBody&&(this.$data.bodyEl=er(this.$refs.dropdownMenu),this.updateAppendToBody())},created(){typeof window<"u"&&(document.addEventListener("click",this.clickedOutside),document.addEventListener("keyup",this.keyPress))},beforeUnmount(){typeof window<"u"&&(document.removeEventListener("click",this.clickedOutside),document.removeEventListener("keyup",this.keyPress)),this.appendToBody&&Hn(this.$data.bodyEl)}});function vb(A,C,e,n,t,i){const s=Ld("trap-focus");return h(),B("div",{ref:"dropdown",class:A.rootClasses,onMouseleave:C[5]||(C[5]=o=>A.isHoverable=!1)},[A.inline?P("v-if",!0):(h(),B("div",{key:0,tabindex:A.disabled?null:A.triggerTabindex,ref:"trigger",class:A.triggerClasses,onClick:C[1]||(C[1]=(...o)=>A.onClick(...o)),onContextmenu:C[2]||(C[2]=MA((...o)=>A.onContextMenu(...o),["prevent"])),onMouseenter:C[3]||(C[3]=(...o)=>A.onHover(...o)),onFocusCapture:C[4]||(C[4]=(...o)=>A.onFocus(...o)),"aria-haspopup":"true"},[dA(A.$slots,"trigger",{active:A.isActive})],42,["tabindex"])),S(ne,{name:A.animation},{default:_A(()=>[A.isMobileModal?QA((h(),B("div",{key:0,class:A.menuMobileOverlayClasses,"aria-hidden":!A.isActive},null,10,["aria-hidden"])),[[pC,A.isActive]]):P("v-if",!0)]),_:1},8,["name"]),S(ne,{name:A.animation},{default:_A(()=>[QA(S("div",{ref:"dropdownMenu",is:A.menuTag,class:A.menuClasses,"aria-hidden":!A.isActive,role:A.ariaRole,"aria-modal":!A.inline,style:A.menuStyle},[dA(A.$slots,"default")],14,["is","aria-hidden","role","aria-modal"]),[[pC,!A.disabled&&(A.isActive||A.isHoverable)||A.inline],[s,A.trapFocus]])]),_:3},8,["name"])],34)}Nn.render=vb;Nn.__file="src/components/dropdown/Dropdown.vue";var $n=TA({name:"ODropdownItem",mixins:[ZA],configField:"dropdown",inject:["$dropdown"],emits:["click"],props:{value:{type:[String,Number,Boolean,Object,Array]},disabled:Boolean,clickable:{type:Boolean,default:!0},tag:{type:String,default:()=>$(V(),"dropdown.itemTag","div")},tabindex:{type:[Number,String],default:0},ariaRole:{type:String,default:""},itemClass:[String,Function,Array],itemActiveClass:[String,Function,Array],itemDisabledClass:[String,Function,Array]},computed:{parent(){return this.$dropdown},rootClasses(){return[this.computedClass("itemClass","o-drop__item"),{[this.computedClass("itemDisabledClass","o-drop__item--disabled")]:this.parent.disabled||this.disabled},{[this.computedClass("itemActiveClass","o-drop__item--active")]:this.isActive}]},ariaRoleItem(){return this.ariaRole==="menuitem"||this.ariaRole==="listitem"?this.ariaRole:null},isClickable(){return!this.parent.disabled&&!this.disabled&&this.clickable},isActive(){return this.parent.selected===null?!1:this.parent.multiple?this.parent.selected.indexOf(this.value)>=0:this.value===this.parent.selected}},methods:{selectItem(){this.isClickable&&(this.parent.selectItem(this.value),this.$emit("click"))}},created(){if(!this.parent)throw new Error("You should wrap oDropdownItem on a oDropdown")}});function wb(A,C,e,n,t,i){return h(),B(bn(A.tag),{class:A.rootClasses,onClick:A.selectItem,role:A.ariaRoleItem,tabindex:A.tabindex},{default:_A(()=>[dA(A.$slots,"default")]),_:3},8,["class","onClick","role","tabindex"])}$n.render=wb;$n.__file="src/components/dropdown/DropdownItem.vue";var Gl=TA({name:"OFieldBody",inject:["$field"],configField:"field",computed:{parent(){return this.$field}},render(){let A=!0;const C=this.$slots.default(),e=C.length===1&&Array.isArray(C[0].children)?C[0].children:C;return HC("div",{class:this.parent.bodyHorizontalClasses},e.map(n=>{let t;return n.type===Ae||n.type===yi?n:(A&&(t=this.parent.newMessage,A=!1),HC(AA("OField"),{variant:this.parent.newVariant,message:t},()=>[n]))}))}});Gl.__file="src/components/field/FieldBody.vue";var Rn=TA({name:"OField",components:{[Gl.name]:Gl},configField:"field",mixins:[ZA,Ye],provide(){return{$field:this}},inject:{$field:{from:"$field",default:!1}},props:{variant:String,label:String,labelFor:String,message:String,grouped:Boolean,groupMultiline:Boolean,horizontal:Boolean,addons:{type:Boolean,default:!0},labelSize:String,rootClass:[String,Function,Array],horizontalClass:[String,Function,Array],groupedClass:[String,Function,Array],groupMultilineClass:[String,Function,Array],labelClass:[String,Function,Array],labelSizeClass:[String,Function,Array],labelHorizontalClass:[String,Function,Array],bodyClass:[String,Function,Array],bodyHorizontalClass:[String,Function,Array],addonsClass:[String,Function,Array],messageClass:[String,Function,Array],variantMessageClass:[String,Function,Array],variantLabelClass:[String,Function,Array],mobileClass:[String,Function,Array],focusedClass:[String,Function,Array],filledClass:[String,Function,Array]},data(){return{newVariant:this.variant,newMessage:this.message,isFocused:!1,isFilled:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-field"),{[this.computedClass("horizontalClass","o-field--horizontal")]:this.horizontal},{[this.computedClass("mobileClass","o-field--mobile")]:this.isMatchMedia},{[this.computedClass("focusedClass","o-field--focused")]:this.isFocused},{[this.computedClass("filledClass","o-field--filled")]:this.isFilled}]},messageClasses(){return[this.computedClass("messageClass","o-field__message"),{[this.computedClass("variantMessageClass","o-field__message-",this.newVariant)]:this.newVariant}]},labelClasses(){return[this.computedClass("labelClass","o-field__label"),{[this.computedClass("labelSizeClass","o-field__label-",this.labelSize)]:this.labelSize},{[this.computedClass("variantLabelClass","o-field__label-",this.newVariant)]:this.newVariant}]},labelHorizontalClasses(){return[this.computedClass("labelHorizontalClass","o-field__horizontal-label")]},bodyClasses(){return[this.computedClass("bodyClass","o-field__body")]},bodyHorizontalClasses(){return[this.computedClass("bodyHorizontalClass","o-field__horizontal-body")]},innerFieldClasses(){return[this.computedClass("rootClass","o-field"),{[this.computedClass("groupMultilineClass","o-field--grouped-multiline")]:this.groupMultiline},{[this.computedClass("groupedClass","o-field--grouped")]:this.grouped},{[this.computedClass("addonsClass","o-field--addons")]:!this.grouped&&this.hasAddons()}]},parent(){return this.$field},hasLabelSlot(){return this.$slots.label},hasMessageSlot(){return this.$slots.message},hasLabel(){return this.label||this.hasLabelSlot},hasMessage(){return(!this.parent||!this.parent.hasInnerField)&&this.newMessage||this.hasMessageSlot},hasInnerField(){return this.grouped||this.groupMultiline||this.hasAddons()}},watch:{variant(A){this.newVariant=A},message(A){this.newMessage=A},newMessage(A){this.parent&&this.parent.hasInnerField&&(this.parent.variant||(this.parent.newVariant=this.newVariant),this.parent.message||(this.parent.newMessage=A))}},methods:{hasAddons(){let A=0;const C=this.$slots.default();return C&&(A=(C.length===1&&Array.isArray(C[0].children)?C[0].children:C).reduce((n,t)=>t?n+1:n,0)),A>1&&this.addons&&!this.horizontal}}});function Bb(A,C,e,n,t,i){const s=AA("o-field-body");return h(),B("div",{class:A.rootClasses},[A.horizontal?(h(),B("div",{key:0,class:A.labelHorizontalClasses},[A.hasLabel?(h(),B("label",{key:0,for:A.labelFor,class:A.labelClasses},[A.hasLabelSlot?dA(A.$slots,"label",{key:0}):(h(),B(hA,{key:1},[tC(sA(A.label),1)],64))],10,["for"])):P("v-if",!0)],2)):(h(),B(hA,{key:1},[A.hasLabel?(h(),B("label",{key:0,for:A.labelFor,class:A.labelClasses},[A.hasLabelSlot?dA(A.$slots,"label",{key:0}):(h(),B(hA,{key:1},[tC(sA(A.label),1)],64))],10,["for"])):P("v-if",!0)],64)),A.horizontal?S(s,{key:2},{default:_A(()=>[dA(A.$slots,"default")]),_:3}):A.hasInnerField?(h(),B("div",{key:3,class:A.bodyClasses},[S("div",{class:A.innerFieldClasses},[dA(A.$slots,"default")],2)],2)):dA(A.$slots,"default",{key:4}),A.hasMessage&&!A.horizontal?(h(),B("p",{key:5,class:A.messageClasses},[A.hasMessageSlot?dA(A.$slots,"message",{key:0}):(h(),B(hA,{key:1},[tC(sA(A.newMessage),1)],64))],2)):P("v-if",!0)],2)}Rn.render=Bb;Rn.__file="src/components/field/Field.vue";var Ve=TA({name:"OSelect",components:{[uC.name]:uC},mixins:[ZA,En],configField:"select",inheritAttrs:!1,emits:["update:modelValue","focus","blur"],props:{modelValue:{type:[String,Number,Boolean,Object,Array],default:null},size:String,variant:String,iconPack:{type:String,default:()=>$(V(),"select.iconPack",void 0)},iconRight:{type:String,default:()=>$(V(),"select.iconRight",void 0)},placeholder:String,multiple:Boolean,nativeSize:[String,Number],rootClass:[String,Function,Array],selectClass:[String,Function,Array],iconLeftSpaceClass:[String,Function,Array],iconRightSpaceClass:[String,Function,Array],roundedClass:[String,Function,Array],multipleClass:[String,Function,Array],expandedClass:[String,Function,Array],iconLeftClass:[String,Function,Array],iconRightClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array],placeholderClass:[String,Function,Array],arrowClass:[String,Function,Array]},data(){return{selected:this.modelValue}},computed:{rootClasses(){return[this.computedClass("rootClass","o-ctrl-sel"),{[this.computedClass("expandedClass","o-ctrl-sel--expanded")]:this.expanded}]},selectClasses(){return[this.computedClass("selectClass","o-sel"),{[this.computedClass("roundedClass","o-sel--rounded")]:this.rounded},{[this.computedClass("multipleClass","o-sel--multiple")]:this.multiple},{[this.computedClass("sizeClass","o-sel--",this.size)]:this.size},{[this.computedClass("variantClass","o-sel--",this.statusVariant||this.variant)]:this.statusVariant||this.variant},{[this.computedClass("iconLeftSpaceClass","o-sel-iconspace-left")]:this.icon},{[this.computedClass("iconRightSpaceClass","o-sel-iconspace-right")]:this.iconRight},{[this.computedClass("placeholderClass","o-sel--placeholder")]:this.placeholderVisible},{[this.computedClass("arrowClass","o-sel-arrow")]:!this.iconRight&&!this.multiple}]},iconLeftClasses(){return[this.computedClass("iconLeftClass","o-sel__icon-left")]},iconRightClasses(){return[this.computedClass("iconRightClass","o-sel__icon-right")]},placeholderVisible(){return this.computedValue===null},computedValue:{get(){return this.selected},set(A){this.selected=A,this.$emit("update:modelValue",A),this.syncFilled(this.selected),!this.isValid&&this.checkHtml5Validity()}},$elementRef(){return"select"}},watch:{modelValue(A){this.selected=A,this.syncFilled(this.selected),!this.isValid&&this.checkHtml5Validity()}}});const Sb={key:0,value:null,disabled:"",hidden:""};function kb(A,C,e,n,t,i){const s=AA("o-icon");return h(),B("div",{class:A.rootClasses},[QA(S("select",lC(A.$attrs,{"onUpdate:modelValue":C[1]||(C[1]=o=>A.computedValue=o),class:A.selectClasses,ref:"select",autocomplete:A.autocomplete,multiple:A.multiple,size:A.nativeSize,onBlur:C[2]||(C[2]=(...o)=>A.onBlur(...o)),onFocus:C[3]||(C[3]=(...o)=>A.onFocus(...o))}),[A.placeholder?(h(),B(hA,{key:0},[A.placeholderVisible?(h(),B("option",Sb,sA(A.placeholder),1)):P("v-if",!0)],64)):P("v-if",!0),dA(A.$slots,"default")],16,["autocomplete","multiple","size"]),[[Xa,A.computedValue]]),A.icon?S(s,{key:0,class:A.iconLeftClasses,icon:A.icon,pack:A.iconPack,size:A.size},null,8,["class","icon","pack","size"]):P("v-if",!0),A.iconRight&&!A.multiple?S(s,{key:1,class:A.iconRightClasses,icon:A.iconRight,pack:A.iconPack,size:A.size},null,8,["class","icon","pack","size"]):P("v-if",!0)],2)}Ve.render=kb;Ve.__file="src/components/select/Select.vue";var Ps=TA({name:"ODatepickerTableRow",mixins:[ZA],configField:"datepicker",inject:{$datepicker:{from:"$datepicker",default:!1}},emits:["select","rangeHoverEndDate","change-focus"],props:{selectedDate:{type:[Date,Array]},hoveredDateRange:Array,day:{type:Number},week:{type:Array,required:!0},month:{type:Number,required:!0},showWeekNumber:Boolean,minDate:Date,maxDate:Date,disabled:Boolean,unselectableDates:Array,unselectableDaysOfWeek:Array,selectableDates:Array,events:Array,indicators:String,dateCreator:Function,nearbyMonthDays:Boolean,nearbySelectableMonthDays:Boolean,weekNumberClickable:Boolean,range:Boolean,multiple:Boolean,rulesForFirstWeek:Number,firstDayOfWeek:Number,tableRowClass:[String,Function,Array],tableCellClass:[String,Function,Array],tableCellSelectedClass:[String,Function,Array],tableCellFirstSelectedClass:[String,Function,Array],tableCellWithinSelectedClass:[String,Function,Array],tableCellLastSelectedClass:[String,Function,Array],tableCellFirstHoveredClass:[String,Function,Array],tableCellInvisibleClass:[String,Function,Array],tableCellWithinHoveredClass:[String,Function,Array],tableCellLastHoveredClass:[String,Function,Array],tableCellTodayClass:[String,Function,Array],tableCellSelectableClass:[String,Function,Array],tableCellUnselectableClass:[String,Function,Array],tableCellNearbyClass:[String,Function,Array],tableCellEventsClass:[String,Function,Array],tableEventClass:[String,Function,Array],tableEventIndicatorsClass:[String,Function,Array],tableEventsClass:[String,Function,Array],tableEventVariantClass:[String,Function,Array]},computed:{tableRowClasses(){return[this.computedClass("tableRowClass","o-dpck__table__row")]},tableCellClasses(){return[this.computedClass("tableCellClass","o-dpck__table__cell")]},tableEventsClasses(){return[this.computedClass("tableEventsClass","o-dpck__table__events")]},hasEvents(){return this.events&&this.events.length}},watch:{day(A){const C=`day-${this.month}-${A}`;this.$nextTick(()=>{this.$refs[C]&&this.$refs[C].length>0&&this.$refs[C][0]&&this.$refs[C][0].focus()})}},methods:{firstWeekOffset(A,C,e){const n=7+C-e;return-((7+new Date(A,0,n).getDay()-C)%7)+n-1},daysInYear(A){return this.isLeapYear(A)?366:365},isLeapYear(A){return A%4===0&&A%100!==0||A%400===0},getSetDayOfYear(A){return Math.round((A.getTime()-new Date(A.getFullYear(),0,1).getTime())/864e5)+1},weeksInYear(A,C,e){const n=this.firstWeekOffset(A,C,e),t=this.firstWeekOffset(A+1,C,e);return(this.daysInYear(A)-n+t)/7},getWeekNumber(A){const C=this.firstDayOfWeek,e=this.rulesForFirstWeek,n=this.firstWeekOffset(A.getFullYear(),C,e),t=Math.floor((this.getSetDayOfYear(A)-n-1)/7)+1;let i,s;return t<1?(s=A.getFullYear()-1,i=t+this.weeksInYear(s,C,e)):t>this.weeksInYear(A.getFullYear(),C,e)?(i=t-this.weeksInYear(A.getFullYear(),C,e),s=A.getFullYear()+1):(s=A.getFullYear(),i=t),i},clickWeekNumber(A){this.weekNumberClickable&&this.$datepicker.$emit("week-number-click",A)},selectableDate(A){const C=[];if(this.minDate&&C.push(A>=this.minDate),this.maxDate&&C.push(A<=this.maxDate),this.nearbyMonthDays&&!this.nearbySelectableMonthDays&&C.push(A.getMonth()===this.month),this.selectableDates)for(let e=0;e<this.selectableDates.length;e++){const n=this.selectableDates[e];if(A.getDate()===n.getDate()&&A.getFullYear()===n.getFullYear()&&A.getMonth()===n.getMonth())return!0;C.push(!1)}if(this.unselectableDates)for(let e=0;e<this.unselectableDates.length;e++){const n=this.unselectableDates[e];C.push(A.getDate()!==n.getDate()||A.getFullYear()!==n.getFullYear()||A.getMonth()!==n.getMonth())}if(this.unselectableDaysOfWeek)for(let e=0;e<this.unselectableDaysOfWeek.length;e++){const n=this.unselectableDaysOfWeek[e];C.push(A.getDay()!==n)}return C.indexOf(!1)<0},emitChosenDate(A){this.disabled||this.selectableDate(A)&&this.$emit("select",A)},eventsDateMatch(A){if(!this.events||!this.events.length)return!1;const C=[];for(let e=0;e<this.events.length;e++)this.events[e].date.getDay()===A.getDay()&&C.push(this.events[e]);return C.length?C:!1},cellClasses(A){function C(n,t,i=!1){return!n||!t||i?!1:Array.isArray(t)?t.some(s=>n.getDate()===s.getDate()&&n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()):n.getDate()===t.getDate()&&n.getFullYear()===t.getFullYear()&&n.getMonth()===t.getMonth()}function e(n,t,i=!1){return!Array.isArray(t)||i?!1:n>t[0]&&n<t[1]}return[...this.tableCellClasses,{[this.computedClass("tableCellSelectedClass","o-dpck__table__cell--selected")]:C(A,this.selectedDate)||e(A,this.selectedDate,this.multiple)},{[this.computedClass("tableCellFirstSelectedClass","o-dpck__table__cell--first-selected")]:C(A,Array.isArray(this.selectedDate)&&this.selectedDate[0],this.multiple)},{[this.computedClass("tableCellWithinSelectedClass","o-dpck__table__cell--within-selected")]:e(A,this.selectedDate,this.multiple)},{[this.computedClass("tableCellLastSelectedClass","o-dpck__table__cell--last-selected")]:C(A,Array.isArray(this.selectedDate)&&this.selectedDate[1],this.multiple)},{[this.computedClass("tableCellFirstHoveredClass","o-dpck__table__cell--first-hovered")]:C(A,Array.isArray(this.hoveredDateRange)&&this.hoveredDateRange[0])},{[this.computedClass("tableCellWithinHoveredClass","o-dpck__table__cell--within-hovered")]:e(A,this.hoveredDateRange)},{[this.computedClass("tableCellLastHoveredClass","o-dpck__table__cell--last-hovered")]:C(A,Array.isArray(this.hoveredDateRange)&&this.hoveredDateRange[1])},{[this.computedClass("tableCellTodayClass","o-dpck__table__cell--today")]:C(A,this.dateCreator())},{[this.computedClass("tableCellSelectableClass","o-dpck__table__cell--selectable")]:this.selectableDate(A)&&!this.disabled},{[this.computedClass("tableCellUnselectableClass","o-dpck__table__cell--unselectable")]:!this.selectableDate(A)||this.disabled},{[this.computedClass("tableCellInvisibleClass","o-dpck__table__cell--invisible")]:!this.nearbyMonthDays&&A.getMonth()!==this.month},{[this.computedClass("tableCellNearbyClass","o-dpck__table__cell--nearby")]:this.nearbySelectableMonthDays&&A.getMonth()!==this.month},{[this.computedClass("tableCellEventsClass","o-dpck__table__cell--events")]:this.hasEvents},{[this.computedClass("tableCellTodayClass","o-dpck__table__cell--today")]:C(A,this.dateCreator())}]},eventClasses(A){return[this.computedClass("tableEventClass","o-dpck__table__event"),{[this.computedClass("tableEventVariantClass","o-dpck__table__event--",A.type)]:A.type},{[this.computedClass("tableEventIndicatorsClass","o-dpck__table__event--",this.indicators)]:this.indicators}]},setRangeHoverEndDate(A){this.range&&this.$emit("rangeHoverEndDate",A)},manageKeydown(A,C){const{key:e}=A;let n=!0;switch(e){case"Tab":{n=!1;break}case" ":case"Space":case"Spacebar":case"Enter":{this.emitChosenDate(C);break}case"ArrowLeft":case"Left":{this.changeFocus(C,-1);break}case"ArrowRight":case"Right":{this.changeFocus(C,1);break}case"ArrowUp":case"Up":{this.changeFocus(C,-7);break}case"ArrowDown":case"Down":{this.changeFocus(C,7);break}}n&&A.preventDefault()},changeFocus(A,C){const e=new Date(A.getTime());for(e.setDate(A.getDate()+C);(!this.minDate||e>this.minDate)&&(!this.maxDate||e<this.maxDate)&&!this.selectableDate(e);)e.setDate(A.getDate()+Math.sign(C));this.setRangeHoverEndDate(e),this.$emit("change-focus",e)}}});function _b(A,C,e,n,t,i){return h(),B("div",{class:A.tableRowClasses},[A.showWeekNumber?(h(),B("a",{key:0,class:A.tableCellClasses,style:{"cursor: pointer":A.weekNumberClickable},onClick:C[1]||(C[1]=MA(s=>A.clickWeekNumber(A.getWeekNumber(A.week[6])),["prevent"]))},[S("span",null,sA(A.getWeekNumber(A.week[6])),1)],6)):P("v-if",!0),(h(!0),B(hA,null,XA(A.week,(s,o)=>(h(),B(hA,{key:o},[A.selectableDate(s)&&!A.disabled?(h(),B("a",{key:0,ref:`day-${s.getMonth()}-${s.getDate()}`,class:A.cellClasses(s),role:"button",href:"#",disabled:A.disabled,onClick:MA(l=>A.emitChosenDate(s),["prevent"]),onMouseenter:l=>A.setRangeHoverEndDate(s),onKeydown:l=>A.manageKeydown(l,s),tabindex:A.day===s.getDate()&&A.month===s.getMonth()?null:-1},[S("span",null,sA(s.getDate()),1),A.eventsDateMatch(s)?(h(),B("div",{key:0,class:A.tableEventsClasses},[(h(!0),B(hA,null,XA(A.eventsDateMatch(s),(l,a)=>(h(),B("div",{class:A.eventClasses(l),key:a},null,2))),128))],2)):P("v-if",!0)],42,["disabled","onClick","onMouseenter","onKeydown","tabindex"])):(h(),B("div",{key:o,class:A.cellClasses(s)},[S("span",null,sA(s.getDate()),1)],2))],64))),128))],2)}Ps.render=_b;Ps.__file="src/components/datepicker/DatepickerTableRow.vue";var Os=TA({name:"ODatepickerTable",mixins:[ZA],configField:"datepicker",components:{[Ps.name]:Ps},emits:["update:modelValue","range-start","range-end","update:focused"],props:{modelValue:{type:[Date,Array]},dayNames:Array,monthNames:Array,firstDayOfWeek:Number,events:Array,indicators:String,minDate:Date,maxDate:Date,focused:Object,disabled:Boolean,dateCreator:Function,unselectableDates:Array,unselectableDaysOfWeek:Array,selectableDates:Array,nearbyMonthDays:Boolean,nearbySelectableMonthDays:Boolean,showWeekNumber:Boolean,weekNumberClickable:Boolean,rulesForFirstWeek:Number,range:Boolean,multiple:Boolean,tableClass:[String,Function,Array],tableHeadClass:[String,Function,Array],tableHeadCellClass:[String,Function,Array],tableBodyClass:[String,Function,Array],tableRowClass:[String,Function,Array],tableCellClass:[String,Function,Array],tableCellSelectedClass:[String,Function,Array],tableCellFirstSelectedClass:[String,Function,Array],tableCellInvisibleClass:[String,Function,Array],tableCellWithinSelectedClass:[String,Function,Array],tableCellLastSelectedClass:[String,Function,Array],tableCellFirstHoveredClass:[String,Function,Array],tableCellWithinHoveredClass:[String,Function,Array],tableCellLastHoveredClass:[String,Function,Array],tableCellTodayClass:[String,Function,Array],tableCellSelectableClass:[String,Function,Array],tableCellUnselectableClass:[String,Function,Array],tableCellNearbyClass:[String,Function,Array],tableCellEventsClass:[String,Function,Array],tableEventClass:[String,Function,Array],tableEventIndicatorsClass:[String,Function,Array],tableEventsClass:[String,Function,Array],tableEventVariantClass:[String,Function,Array]},data(){return{selectedBeginDate:void 0,selectedEndDate:void 0,hoveredEndDate:void 0}},computed:{tableClasses(){return[this.computedClass("tableClass","o-dpck__table")]},tableHeadClasses(){return[this.computedClass("tableHeadClass","o-dpck__table__head")]},tableHeadCellClasses(){return[this.computedClass("tableHeadCellClass","o-dpck__table__head-cell"),...this.tableCellClasses]},tableBodyClasses(){return[this.computedClass("tableBodyClass","o-dpck__table__body")]},tableCellClasses(){return[this.computedClass("tableCellClass","o-dpck__table__cell")]},visibleDayNames(){const A=[];let C=this.firstDayOfWeek;for(;A.length<this.dayNames.length;){const e=this.dayNames[C%this.dayNames.length];A.push(e),C++}return this.showWeekNumber&&A.unshift(""),A},eventsInThisMonth(){if(!this.events)return[];const A=[];for(let C=0;C<this.events.length;C++){let e=this.events[C];Object.prototype.hasOwnProperty.call(e,"date")||(e={date:e}),e.date.getMonth()===this.focused.month&&e.date.getFullYear()===this.focused.year&&A.push(e)}return A},weeksInThisMonth(){this.validateFocusedDay();const A=this.focused.month,C=this.focused.year,e=[];let n=1;for(;e.length<6;){const t=this.weekBuilder(n,A,C);e.push(t),n+=7}return e},hoveredDateRange(){return this.range?isNaN(this.selectedEndDate)?this.hoveredEndDate<this.selectedBeginDate?[this.hoveredEndDate,this.selectedBeginDate].filter(A=>A!==void 0):[this.selectedBeginDate,this.hoveredEndDate].filter(A=>A!==void 0):[]:[]}},methods:{updateSelectedDate(A){!this.range&&!this.multiple?this.$emit("update:modelValue",A):this.range?this.handleSelectRangeDate(A):this.multiple&&this.handleSelectMultipleDates(A)},handleSelectRangeDate(A){this.selectedBeginDate&&this.selectedEndDate?(this.selectedBeginDate=A,this.selectedEndDate=void 0,this.$emit("range-start",A)):this.selectedBeginDate&&!this.selectedEndDate?(this.selectedBeginDate>A?(this.selectedEndDate=this.selectedBeginDate,this.selectedBeginDate=A):this.selectedEndDate=A,this.$emit("range-end",A),this.$emit("update:modelValue",[this.selectedBeginDate,this.selectedEndDate])):(this.selectedBeginDate=A,this.$emit("range-start",A))},handleSelectMultipleDates(A){let C=this.modelValue;C.filter(n=>n.getDate()===A.getDate()&&n.getFullYear()===A.getFullYear()&&n.getMonth()===A.getMonth()).length?C=C.filter(n=>n.getDate()!==A.getDate()||n.getFullYear()!==A.getFullYear()||n.getMonth()!==A.getMonth()):C=[...C,A],this.$emit("update:modelValue",C)},weekBuilder(A,C,e){const n=new Date(e,C),t=[],i=new Date(e,C,A).getDay(),s=i>=this.firstDayOfWeek?i-this.firstDayOfWeek:7-this.firstDayOfWeek+i;let o=1;for(let a=0;a<s;a++)t.unshift(new Date(n.getFullYear(),n.getMonth(),A-o)),o++;t.push(new Date(e,C,A));let l=1;for(;t.length<7;)t.push(new Date(e,C,A+l)),l++;return t},validateFocusedDay(){const A=new Date(this.focused.year,this.focused.month,this.focused.day);if(this.selectableDate(A))return;let C=0;const e=new Date(this.focused.year,this.focused.month+1,0).getDate();let n=null;for(;!n&&++C<e;){const t=new Date(this.focused.year,this.focused.month,C);if(this.selectableDate(t)){n=A;const i={day:t.getDate(),month:t.getMonth(),year:t.getFullYear()};this.$emit("update:focused",i)}}},selectableDate(A){const C=[];if(this.minDate&&C.push(A>=this.minDate),this.maxDate&&C.push(A<=this.maxDate),this.nearbyMonthDays&&!this.nearbySelectableMonthDays&&C.push(A.getMonth()===this.focused.month),this.selectableDates)for(let e=0;e<this.selectableDates.length;e++){const n=this.selectableDates[e];if(A.getDate()===n.getDate()&&A.getFullYear()===n.getFullYear()&&A.getMonth()===n.getMonth())return!0;C.push(!1)}if(this.unselectableDates)for(let e=0;e<this.unselectableDates.length;e++){const n=this.unselectableDates[e];C.push(A.getDate()!==n.getDate()||A.getFullYear()!==n.getFullYear()||A.getMonth()!==n.getMonth())}if(this.unselectableDaysOfWeek)for(let e=0;e<this.unselectableDaysOfWeek.length;e++){const n=this.unselectableDaysOfWeek[e];C.push(A.getDay()!==n)}return C.indexOf(!1)<0},eventsInThisWeek(A){return this.eventsInThisMonth.filter(C=>{const e=new Date(Date.parse(C.date));e.setHours(0,0,0,0);const n=e.getTime();return A.some(t=>t.getTime()===n)})},setRangeHoverEndDate(A){this.hoveredEndDate=A},changeFocus(A){const C={day:A.getDate(),month:A.getMonth(),year:A.getFullYear()};this.$emit("update:focused",C)}}});function xb(A,C,e,n,t,i){const s=AA("o-datepicker-table-row");return h(),B("section",{class:A.tableClasses},[S("header",{class:A.tableHeadClasses},[(h(!0),B(hA,null,XA(A.visibleDayNames,(o,l)=>(h(),B("div",{key:l,class:A.tableHeadCellClasses},[S("span",null,sA(o),1)],2))),128))],2),S("div",{class:A.tableBodyClasses},[(h(!0),B(hA,null,XA(A.weeksInThisMonth,(o,l)=>(h(),B(s,{key:l,"selected-date":A.modelValue,day:A.focused.day,week:o,month:A.focused.month,"min-date":A.minDate,"max-date":A.maxDate,disabled:A.disabled,"unselectable-dates":A.unselectableDates,"unselectable-days-of-week":A.unselectableDaysOfWeek,"selectable-dates":A.selectableDates,events:A.eventsInThisWeek(o),indicators:A.indicators,"date-creator":A.dateCreator,"nearby-month-days":A.nearbyMonthDays,"nearby-selectable-month-days":A.nearbySelectableMonthDays,"show-week-number":A.showWeekNumber,"week-number-clickable":A.weekNumberClickable,"first-day-of-week":A.firstDayOfWeek,"rules-for-first-week":A.rulesForFirstWeek,range:A.range,"hovered-date-range":A.hoveredDateRange,multiple:A.multiple,"table-row-class":A.tableRowClass,"table-cell-class":A.tableCellClass,"table-cell-selected-class":A.tableCellSelectedClass,"table-cell-first-selected-class":A.tableCellFirstSelectedClass,"table-cell-invisible-class":A.tableCellInvisibleClass,"table-cell-within-selected-class":A.tableCellWithinSelectedClass,"table-cell-last-selected-class":A.tableCellLastSelectedClass,"table-cell-first-hovered-class":A.tableCellFirstHoveredClass,"table-cell-within-hovered-class":A.tableCellWithinHoveredClass,"table-cell-last-hovered-class":A.tableCellLastHoveredClass,"table-cell-today-class":A.tableCellTodayClass,"table-cell-selectable-class":A.tableCellSelectableClass,"table-cell-unselectable-class":A.tableCellUnselectableClass,"table-cell-nearby-class":A.tableCellNearbyClass,"table-cell-events-class":A.tableCellEventsClass,"table-events-class":A.tableEventsClass,"table-event-variant-class":A.tableEventVariantClass,"table-event-class":A.tableEventClass,"table-event-indicators-class":A.tableEventIndicatorsClass,onSelect:A.updateSelectedDate,onRangeHoverEndDate:A.setRangeHoverEndDate,"onChange-focus":A.changeFocus},null,8,["selected-date","day","week","month","min-date","max-date","disabled","unselectable-dates","unselectable-days-of-week","selectable-dates","events","indicators","date-creator","nearby-month-days","nearby-selectable-month-days","show-week-number","week-number-clickable","first-day-of-week","rules-for-first-week","range","hovered-date-range","multiple","table-row-class","table-cell-class","table-cell-selected-class","table-cell-first-selected-class","table-cell-invisible-class","table-cell-within-selected-class","table-cell-last-selected-class","table-cell-first-hovered-class","table-cell-within-hovered-class","table-cell-last-hovered-class","table-cell-today-class","table-cell-selectable-class","table-cell-unselectable-class","table-cell-nearby-class","table-cell-events-class","table-events-class","table-event-variant-class","table-event-class","table-event-indicators-class","onSelect","onRangeHoverEndDate","onChange-focus"]))),128))],2)],2)}Os.render=xb;Os.__file="src/components/datepicker/DatepickerTable.vue";var jb={methods:{manageKeydown(A,C){const{key:e}=A;let n=!0;switch(e){case"Tab":{n=!1;break}case" ":case"Space":case"Spacebar":case"Enter":{this.emitChosenDate(C);break}case"ArrowLeft":case"Left":{this.changeFocus(C,-1);break}case"ArrowRight":case"Right":{this.changeFocus(C,1);break}case"ArrowUp":case"Up":{this.changeFocus(C,-7);break}case"ArrowDown":case"Down":{this.changeFocus(C,7);break}}n&&A.preventDefault()}}},Ls={name:"ODatepickerMonth",mixins:[ZA,jb],configField:"datepicker",emits:["update:modelValue","range-start","range-end","updated:focused"],props:{modelValue:{type:[Date,Array]},monthNames:Array,events:Array,indicators:String,minDate:Date,maxDate:Date,focused:Object,disabled:Boolean,dateCreator:Function,unselectableDates:[Array,Function],unselectableDaysOfWeek:Array,selectableDates:[Array,Function],range:Boolean,multiple:Boolean,monthClass:[String,Function,Array],monthBodyClass:[String,Function,Array],monthTableClass:[String,Function,Array],monthCellClass:[String,Function,Array],monthCellSelectedClass:[String,Function,Array],monthCellFirstSelectedClass:[String,Function,Array],monthCellWithinSelectedClass:[String,Function,Array],monthCellLastSelectedClass:[String,Function,Array],monthCellWithinHoveredRangeClass:[String,Function,Array],monthCellFirstHoveredClass:[String,Function,Array],monthCellWithinHoveredClass:[String,Function,Array],monthCellLastHoveredClass:[String,Function,Array],monthCellTodayClass:[String,Function,Array],monthCellSelectableClass:[String,Function,Array],monthCellUnselectableClass:[String,Function,Array],monthCellEventsClass:[String,Function,Array]},data(){return{selectedBeginDate:void 0,selectedEndDate:void 0,hoveredEndDate:void 0,multipleSelectedDates:this.multiple&&this.modelValue?this.modelValue:[]}},computed:{monthClasses(){return[this.computedClass("monthClass","o-dpck__month")]},monthBodyClasses(){return[this.computedClass("monthBodyClass","o-dpck__month__body")]},monthTableClasses(){return[this.computedClass("monthTableClass","o-dpck__month__table")]},monthCellClasses(){return[this.computedClass("monthCellClass","o-dpck__month__cell")]},hasEvents(){return this.events&&this.events.length},eventsInThisYear(){if(!this.events)return[];const A=[];for(let C=0;C<this.events.length;C++){let e=this.events[C];Object.prototype.hasOwnProperty.call(e,"date")||(e={date:e}),Object.prototype.hasOwnProperty.call(e,"type")||(e.type="is-primary"),e.date.getFullYear()===this.focused.year&&A.push(e)}return A},monthDates(){const A=this.focused.year,C=[];for(let e=0;e<12;e++){const n=new Date(A,e,1);n.setHours(0,0,0,0),C.push(n)}return C},focusedMonth(){return this.focused.month},hoveredDateRange(){return this.range?isNaN(this.selectedEndDate)?this.hoveredEndDate<this.selectedBeginDate?[this.hoveredEndDate,this.selectedBeginDate].filter(eu):[this.selectedBeginDate,this.hoveredEndDate].filter(eu):[]:[]}},watch:{focusedMonth(A){const C=`month-${A}`;this.$refs[C]&&this.$refs[C].length>0&&this.$nextTick(()=>{this.$refs[C][0]&&this.$refs[C][0].focus()})}},methods:{selectMultipleDates(A){this.multipleSelectedDates.filter(e=>e.getDate()===A.getDate()&&e.getFullYear()===A.getFullYear()&&e.getMonth()===A.getMonth()).length?this.multipleSelectedDates=this.multipleSelectedDates.filter(e=>e.getDate()!==A.getDate()||e.getFullYear()!==A.getFullYear()||e.getMonth()!==A.getMonth()):this.multipleSelectedDates.push(A),this.$emit("update:modelValue",this.multipleSelectedDates)},selectableDate(A){const C=[];if(this.minDate&&C.push(A>=this.minDate),this.maxDate&&C.push(A<=this.maxDate),C.push(A.getFullYear()===this.focused.year),this.selectableDates)if(typeof this.selectableDates=="function"){if(this.selectableDates(A))return!0;C.push(!1)}else for(let e=0;e<this.selectableDates.length;e++){const n=this.selectableDates[e];if(A.getFullYear()===n.getFullYear()&&A.getMonth()===n.getMonth())return!0;C.push(!1)}if(this.unselectableDates)if(typeof this.unselectableDates=="function")C.push(!this.unselectableDates(A));else for(let e=0;e<this.unselectableDates.length;e++){const n=this.unselectableDates[e];C.push(A.getFullYear()!==n.getFullYear()||A.getMonth()!==n.getMonth())}if(this.unselectableDaysOfWeek)for(let e=0;e<this.unselectableDaysOfWeek.length;e++){const n=this.unselectableDaysOfWeek[e];C.push(A.getDay()!==n)}return C.indexOf(!1)<0},eventsDateMatch(A){if(!this.eventsInThisYear.length)return!1;const C=[];for(let e=0;e<this.eventsInThisYear.length;e++)this.eventsInThisYear[e].date.getMonth()===A.getMonth()&&C.push(this.events[e]);return C.length?C:!1},cellClasses(A){function C(t,i,s=!1){return!t||!i||s?!1:Array.isArray(i)?i.some(o=>t.getFullYear()===o.getFullYear()&&t.getMonth()===o.getMonth()):t.getFullYear()===i.getFullYear()&&t.getMonth()===i.getMonth()}function e(t,i,s=!1){return!Array.isArray(i)||s?!1:t>i[0]&&t<i[1]}function n(t,i,s=!1){return!Array.isArray(i)||!s?!1:i.some(o=>t.getDate()===o.getDate()&&t.getFullYear()===o.getFullYear()&&t.getMonth()===o.getMonth())}return[...this.monthCellClasses,{[this.computedClass("monthCellSelectedClass","o-dpck__month__cell--selected")]:C(A,this.modelValue,this.multiple)||e(A,this.modelValue,this.multiple)||n(A,this.multipleSelectedDates,this.multiple)},{[this.computedClass("monthCellFirstSelectedClass","o-dpck__month__cell--first-selected")]:C(A,Array.isArray(this.modelValue)&&this.modelValue[0],this.multiple)},{[this.computedClass("monthCellWithinSelectedClass","o-dpck__month__cell--within-selected")]:e(A,this.modelValue,this.multiple)},{[this.computedClass("monthCellLastSelectedClass","o-dpck__month__cell--last-selected")]:C(A,Array.isArray(this.modelValue)&&this.modelValue[1],this.multiple)},{[this.computedClass("monthCellWithinHoveredRangeClass","o-dpck__month__cell--within-hovered-range")]:this.hoveredDateRange&&this.hoveredDateRange.length===2&&(C(A,this.hoveredDateRange)||e(A,this.hoveredDateRange))},{[this.computedClass("monthCellFirstHoveredClass","o-dpck__month__cell--first-hovered")]:C(A,Array.isArray(this.hoveredDateRange)&&this.hoveredDateRange[0])},{[this.computedClass("monthCellWithinHoveredClass","o-dpck__month__cell--within-hovered")]:e(A,this.hoveredDateRange)},{[this.computedClass("monthCellLastHoveredClass","o-dpck__month__cell--last-hovered")]:C(A,Array.isArray(this.hoveredDateRange)&&this.hoveredDateRange[1])},{[this.computedClass("monthCellTodayClass","o-dpck__month__cell--today")]:C(A,this.dateCreator())},{[this.computedClass("monthCellSelectableclass","o-dpck__month__cell--selectable")]:this.selectableDate(A)&&!this.disabled},{[this.computedClass("monthCellUnselectableClass","o-dpck__month__cell--unselectable")]:!this.selectableDate(A)||this.disabled},{[this.computedClass("monthCellEventsClass","o-dpck__month__cell--events")]:this.hasEvents}]},updateSelectedDate(A){!this.range&&!this.multiple?this.emitChosenDate(A):this.range?this.handleSelectRangeDate(A):this.multiple&&this.selectMultipleDates(A)},emitChosenDate(A){this.disabled||(this.multiple?this.selectMultipleDates(A):this.selectableDate(A)&&this.$emit("update:modelValue",A))},handleSelectRangeDate(A){this.disabled||(this.selectedBeginDate&&this.selectedEndDate?(this.selectedBeginDate=A,this.selectedEndDate=void 0,this.$emit("range-start",A)):this.selectedBeginDate&&!this.selectedEndDate?(this.selectedBeginDate>A?(this.selectedEndDate=this.selectedBeginDate,this.selectedBeginDate=A):this.selectedEndDate=A,this.$emit("range-end",A),this.$emit("update:modelValue",[this.selectedBeginDate,this.selectedEndDate])):(this.selectedBeginDate=A,this.$emit("range-start",A)))},setRangeHoverEndDate(A){this.range&&(this.hoveredEndDate=A)},changeFocus(A,C){const e=A;e.setMonth(A.getMonth()+C),this.$emit("update:focused",e)}}};const Ib={key:0,class:"events"};function Mb(A,C,e,n,t,i){return h(),B("section",{class:i.monthClasses},[S("div",{class:i.monthBodyClasses},[S("div",{class:i.monthTableClasses},[(h(!0),B(hA,null,XA(i.monthDates,(s,o)=>(h(),B(hA,{key:o},[i.selectableDate(s)&&!e.disabled?(h(),B("a",{key:0,ref:`month-${s.getMonth()}`,class:i.cellClasses(s),role:"button",href:"#",disabled:e.disabled,onClick:MA(l=>i.updateSelectedDate(s),["prevent"]),onMouseenter:l=>i.setRangeHoverEndDate(s),onKeydown:MA(l=>A.manageKeydown(l,s),["prevent"]),tabindex:e.focused.month===s.getMonth()?null:-1},[tC(sA(e.monthNames[s.getMonth()])+" ",1),i.eventsDateMatch(s)?(h(),B("div",Ib,[(h(!0),B(hA,null,XA(i.eventsDateMatch(s),(l,a)=>(h(),B("div",{class:["event",l.type],key:a},null,2))),128))])):P("v-if",!0)],42,["disabled","onClick","onMouseenter","onKeydown","tabindex"])):(h(),B("div",{key:1,class:i.cellClasses(s)},sA(e.monthNames[s.getMonth()]),3))],64))),128))],2)],2)],2)}Ls.render=Mb;Ls.__file="src/components/datepicker/DatepickerMonth.vue";const Db=(A,C)=>{const n=(Array.isArray(A)?A:[A]).map(t=>{const i=new Date(t.getFullYear(),t.getMonth(),t.getDate(),12);return C.isTypeMonth?C.dtfMonth.format(i):C.dtf.format(i)});return C.multiple?n.join(", "):n.join(" - ")},Pb=(A,C)=>{if(C.dtf.formatToParts&&typeof C.dtf.formatToParts=="function"){const e=(C.isTypeMonth?C.dtfMonth:C.dtf).formatToParts(new Date(2e3,11,25)).map(t=>t.type==="literal"?t.value:`((?!=<${t.type}>)\\d+)`).join(""),n=nr(e,A);if(n.year&&n.year.length===4&&n.month&&n.month<=12){if(C.isTypeMonth)return new Date(n.year,n.month-1);if(n.day&&n.day<=31)return new Date(n.year,n.month-1,n.day,12)}}if(!C.isTypeMonth)return new Date(Date.parse(A));if(A){const e=A.split("/"),n=e[0].length===4?e[0]:e[1],t=e[0].length===2?e[0]:e[1];if(n&&t)return new Date(parseInt(n,10),parseInt(t,10)-1,1,0,0,0,0)}return null};var Ai=TA({name:"ODatepicker",components:{[Os.name]:Os,[Ls.name]:Ls,[Rn.name]:Rn,[ve.name]:ve,[Ve.name]:Ve,[uC.name]:uC,[Nn.name]:Nn,[$n.name]:$n},configField:"datepicker",mixins:[ZA,En,Ye],inheritAttrs:!1,provide(){return{$datepicker:this}},emits:["update:modelValue","focus","blur","change-month","change-year","range-start","range-end","active-change","icon-right-click"],props:{modelValue:{type:[Date,Array]},dayNames:{type:Array,default:()=>$(V(),"datepicker.dayNames",void 0)},monthNames:{type:Array,default:()=>$(V(),"datepicker.monthNames",void 0)},firstDayOfWeek:{type:Number,default:()=>$(V(),"datepicker.firstDayOfWeek",0)},size:String,inline:Boolean,minDate:Date,maxDate:Date,focusedDate:Date,placeholder:String,editable:Boolean,disabled:Boolean,unselectableDates:[Array,Function],unselectableDaysOfWeek:{type:Array,default:()=>$(V(),"datepicker.unselectableDaysOfWeek",void 0)},selectableDates:[Array,Function],dateFormatter:{type:Function,default:(A,C)=>{const e=$(V(),"datepicker.dateFormatter",void 0);return typeof e=="function"?e(A):Db(A,C)}},dateParser:{type:Function,default:(A,C)=>{const e=$(V(),"datepicker.dateParser",void 0);return typeof e=="function"?e(A):Pb(A,C)}},dateCreator:{type:Function,default:()=>{const A=$(V(),"datepicker.dateCreator",void 0);return typeof A=="function"?A():new Date}},mobileNative:{type:Boolean,default:()=>$(V(),"datepicker.mobileNative",!0)},position:String,iconRight:String,iconRightClickable:Boolean,events:Array,indicators:{type:String,default:"dots"},openOnFocus:Boolean,iconPrev:{type:String,default:()=>$(V(),"datepicker.iconPrev","chevron-left")},iconNext:{type:String,default:()=>$(V(),"datepicker.iconNext","chevron-right")},yearsRange:{type:Array,default:()=>$(V(),"datepicker.yearsRange",[-100,10])},type:{type:String,validator:A=>["month"].indexOf(A)>=0},nearbyMonthDays:{type:Boolean,default:()=>$(V(),"datepicker.nearbyMonthDays",!0)},nearbySelectableMonthDays:{type:Boolean,default:()=>$(V(),"datepicker.nearbySelectableMonthDays",!1)},showWeekNumber:{type:Boolean,default:()=>$(V(),"datepicker.showWeekNumber",!1)},weekNumberClickable:{type:Boolean,default:()=>$(V(),"datepicker.weekNumberClickable",!1)},rulesForFirstWeek:{type:Number,default:()=>4},range:{type:Boolean,default:!1},closeOnClick:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},mobileModal:{type:Boolean,default:()=>$(V(),"datepicker.mobileModal",!0)},trapFocus:{type:Boolean,default:()=>$(V(),"datepicker.trapFocus",!0)},locale:{type:[String,Array],default:()=>$(V(),"locale")},appendToBody:Boolean,ariaNextLabel:String,ariaPreviousLabel:String,rootClass:[String,Function,Array],sizeClass:[String,Function,Array],boxClass:[String,Function,Array],headerClass:[String,Function,Array],headerButtonsClass:[String,Function,Array],headerButtonsSizeClass:[String,Function,Array],prevBtnClass:[String,Function,Array],nextBtnClass:[String,Function,Array],listsClass:[String,Function,Array],footerClass:[String,Function,Array],tableClass:[String,Function,Array],tableHeadClass:[String,Function,Array],tableHeadCellClass:[String,Function,Array],tableBodyClass:[String,Function,Array],tableRowClass:[String,Function,Array],tableCellClass:[String,Function,Array],tableCellSelectedClass:[String,Function,Array],tableCellFirstSelectedClass:[String,Function,Array],tableCellInvisibleClass:[String,Function,Array],tableCellWithinSelectedClass:[String,Function,Array],tableCellLastSelectedClass:[String,Function,Array],tableCellFirstHoveredClass:[String,Function,Array],tableCellWithinHoveredClass:[String,Function,Array],tableCellLastHoveredClass:[String,Function,Array],tableCellTodayClass:[String,Function,Array],tableCellSelectableClass:[String,Function,Array],tableCellUnselectableClass:[String,Function,Array],tableCellNearbyClass:[String,Function,Array],tableCellEventsClass:[String,Function,Array],tableEventsClass:[String,Function,Array],tableEventVariantClass:[String,Function,Array],tableEventClass:[String,Function,Array],tableEventIndicatorsClass:[String,Function,Array],mobileClass:[String,Function,Array],monthClass:[String,Function,Array],monthBodyClass:[String,Function,Array],monthTableClass:[String,Function,Array],monthCellClass:[String,Function,Array],monthCellSelectedClass:[String,Function,Array],monthCellFirstSelectedClass:[String,Function,Array],monthCellWithinSelectedClass:[String,Function,Array],monthCellLastSelectedClass:[String,Function,Array],monthCellWithinHoveredRangeClass:[String,Function,Array],monthCellFirstHoveredClass:[String,Function,Array],monthCellWithinHoveredClass:[String,Function,Array],monthCellLastHoveredClass:[String,Function,Array],monthCellTodayClass:[String,Function,Array],monthCellSelectableClass:[String,Function,Array],monthCellUnselectableClass:[String,Function,Array],monthCellEventsClass:[String,Function,Array],inputClasses:{type:Object,default:()=>$(V(),"datepicker.inputClasses",{})},dropdownClasses:{type:Object,default:()=>$(V(),"datepicker.dropdownClasses",{})},selectListClasses:Object},data(){const A=(Array.isArray(this.modelValue)?this.modelValue[0]:this.modelValue)||this.focusedDate||this.dateCreator();return!this.modelValue&&this.maxDate&&this.maxDate.getFullYear()<A.getFullYear()&&A.setFullYear(this.maxDate.getFullYear()),{dateSelected:this.modelValue,focusedDateData:{day:A.getDate(),month:A.getMonth(),year:A.getFullYear()}}},computed:{inputBind(){return{...this.$attrs,...this.inputClasses}},dropdownBind(){return{"root-class":this.computedClass("dropdownClasses.rootClass","o-dpck__dropdown"),...this.dropdownClasses}},selectListBind(){return{...this.selectListClasses}},rootClasses(){return[this.computedClass("rootClass","o-dpck"),{[this.computedClass("sizeClass","o-dpck--",this.size)]:this.size},{[this.computedClass("mobileClass","o-dpck--mobile")]:this.isMatchMedia}]},boxClasses(){return[this.computedClass("boxClass","o-dpck__box")]},headerClasses(){return[this.computedClass("headerClass","o-dpck__header")]},headerButtonsClasses(){return[this.computedClass("headerButtonsClass","o-dpck__header__buttons"),{[this.computedClass("headerButtonsSizeClass","o-dpck__header__buttons--",this.size)]:this.size}]},prevBtnClasses(){return[this.computedClass("prevBtnClass","o-dpck__header__previous")]},nextBtnClasses(){return[this.computedClass("nextBtnClass","o-dpck__header__next")]},listsClasses(){return[this.computedClass("listsClass","o-dpck__header__list")]},footerClasses(){return[this.computedClass("footerClass","o-dpck__footer")]},computedValue:{get(){return this.dateSelected},set(A){this.updateInternalState(A),this.multiple||this.togglePicker(!1),this.$emit("update:modelValue",A),this.useHtml5Validation&&this.$nextTick(()=>{this.checkHtml5Validity()})}},formattedValue(){return this.formatValue(this.computedValue)},localeOptions(){return new Intl.DateTimeFormat(this.locale,{year:"numeric",month:"numeric"}).resolvedOptions()},dtf(){return new Intl.DateTimeFormat(this.locale)},dtfMonth(){return new Intl.DateTimeFormat(this.locale,{year:this.localeOptions.year||"numeric",month:this.localeOptions.month||"2-digit"})},newMonthNames(){return Array.isArray(this.monthNames)?this.monthNames:U2(this.locale)},newDayNames(){return Array.isArray(this.dayNames)?this.dayNames:Q2(this.locale)},listOfMonths(){let A=0,C=12;return this.minDate&&this.focusedDateData.year===this.minDate.getFullYear()&&(A=this.minDate.getMonth()),this.maxDate&&this.focusedDateData.year===this.maxDate.getFullYear()&&(C=this.maxDate.getMonth()),this.newMonthNames.map((e,n)=>({name:e,index:n,disabled:n<A||n>C}))},listOfYears(){let A=this.focusedDateData.year+this.yearsRange[1];this.maxDate&&this.maxDate.getFullYear()<A&&(A=Math.max(this.maxDate.getFullYear(),this.focusedDateData.year));let C=this.focusedDateData.year+this.yearsRange[0];this.minDate&&this.minDate.getFullYear()>C&&(C=Math.min(this.minDate.getFullYear(),this.focusedDateData.year));const e=[];for(let n=C;n<=A;n++)e.push(n);return e.reverse()},showPrev(){if(!this.minDate)return!1;if(this.isTypeMonth)return this.focusedDateData.year<=this.minDate.getFullYear();const A=new Date(this.focusedDateData.year,this.focusedDateData.month),C=new Date(this.minDate.getFullYear(),this.minDate.getMonth());return A<=C},showNext(){if(!this.maxDate)return!1;if(this.isTypeMonth)return this.focusedDateData.year>=this.maxDate.getFullYear();const A=new Date(this.focusedDateData.year,this.focusedDateData.month),C=new Date(this.maxDate.getFullYear(),this.maxDate.getMonth());return A>=C},isMobile(){return this.mobileNative&&rn.any()},isTypeMonth(){return this.type==="month"},ariaRole(){return this.inline?void 0:"dialog"},$elementRef(){return"input"}},watch:{modelValue(A){this.updateInternalState(A),this.multiple||this.togglePicker(!1)},focusedDate(A){A&&(this.focusedDateData={day:A.getDate(),month:A.getMonth(),year:A.getFullYear()})},"focusedDateData.month"(A){this.$emit("change-month",A)},"focusedDateData.year"(A){this.$emit("change-year",A)}},methods:{onChange(A){const C=this.dateParser(A,this);C&&(!isNaN(C)||Array.isArray(C)&&C.length===2&&!isNaN(C[0])&&!isNaN(C[1]))?this.computedValue=C:(this.computedValue=null,this.$refs.input&&(this.$refs.input.newValue=this.computedValue))},formatValue(A){return Array.isArray(A)?Array.isArray(A)&&A.every(e=>!isNaN(e))?this.dateFormatter([...A],this):null:A&&!isNaN(A)?this.dateFormatter(A,this):null},prev(){this.disabled||(this.isTypeMonth?this.focusedDateData.year-=1:this.focusedDateData.month>0?this.focusedDateData.month-=1:(this.focusedDateData.month=11,this.focusedDateData.year-=1))},next(){this.disabled||(this.isTypeMonth?this.focusedDateData.year+=1:this.focusedDateData.month<11?this.focusedDateData.month+=1:(this.focusedDateData.month=0,this.focusedDateData.year+=1))},formatNative(A){return this.isTypeMonth?this.formatYYYYMM(A):this.formatYYYYMMDD(A)},formatYYYYMMDD(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getFullYear(),n=C.getMonth()+1,t=C.getDate();return e+"-"+((n<10?"0":"")+n)+"-"+((t<10?"0":"")+t)}return""},formatYYYYMM(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getFullYear(),n=C.getMonth()+1;return e+"-"+((n<10?"0":"")+n)}return""},onChangeNativePicker(A){const C=A.target.value,e=C?C.split("-"):[];if(e.length===3){const n=parseInt(e[0],10),t=parseInt(e[1])-1,i=parseInt(e[2]);this.computedValue=new Date(n,t,i)}else this.computedValue=null},updateInternalState(A){if(this.dateSelected===A)return;const C=Array.isArray(A),e=C?A.length?A[A.length-1]:this.dateCreator():A||this.dateCreator();(!C||C&&this.dateSelected&&A.length>this.dateSelected.length)&&(this.focusedDateData={day:e.getDate(),month:e.getMonth(),year:e.getFullYear()}),this.dateSelected=A},togglePicker(A){if(this.$refs.dropdown){const C=typeof A=="boolean"?A:!this.$refs.dropdown.isActive;C?this.$refs.dropdown.isActive=C:this.closeOnClick&&(this.$refs.dropdown.isActive=C)}},handleOnFocus(A){this.onFocus(A),this.openOnFocus&&this.togglePicker(!0)},toggle(){if(this.mobileNative&&this.isMobile){const A=this.$refs.input.$refs.input;A.focus(),A.click();return}this.$refs.dropdown.toggle()},onInputClick(A){this.$refs.dropdown.isActive&&A.stopPropagation()},keyPress({key:A}){this.$refs.dropdown&&this.$refs.dropdown.isActive&&(A==="Escape"||A==="Esc")&&this.togglePicker(!1)},onActiveChange(A){A||this.onBlur(),this.$emit("active-change",A)},changeFocus(A){this.focusedDateData={day:A.getDate(),month:A.getMonth(),year:A.getFullYear()}}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},beforeUnmount(){typeof window<"u"&&document.removeEventListener("keyup",this.keyPress)}});function Ob(A,C,e,n,t,i){const s=AA("o-input"),o=AA("o-icon"),l=AA("o-select"),a=AA("o-datepicker-table"),r=AA("o-datepicker-month"),p=AA("o-dropdown-item"),d=AA("o-dropdown");return h(),B("div",{class:A.rootClasses},[!A.isMobile||A.inline?S(d,lC({key:0,ref:"dropdown"},A.dropdownBind,{position:A.position,disabled:A.disabled,inline:A.inline,"mobile-modal":A.mobileModal,"trap-focus":A.trapFocus,"aria-role":A.ariaRole,"aria-modal":!A.inline,"trigger-tabindex":-1,"append-to-body":A.appendToBody,"append-to-body-copy-parent":"","onActive-change":A.onActiveChange}),Va({default:_A(()=>[S(p,{override:"",tag:"div","item-class":A.boxClasses,disabled:A.disabled,clickable:!1},{default:_A(()=>[S("header",{class:A.headerClasses},[dA(A.$slots,"header",{},()=>[S("div",{class:A.headerButtonsClasses},[QA(S("a",{class:A.prevBtnClasses,role:"button",href:"#","aria-label":A.ariaPreviousLabel,onClick:C[4]||(C[4]=MA((...m)=>A.prev(...m),["prevent"])),onKeydown:[C[5]||(C[5]=cC(MA((...m)=>A.prev(...m),["prevent"]),["enter"])),C[6]||(C[6]=cC(MA((...m)=>A.prev(...m),["prevent"]),["space"]))]},[S(o,{icon:A.iconPrev,pack:A.iconPack,both:"",clickable:""},null,8,["icon","pack"])],42,["aria-label"]),[[pC,!A.showPrev&&!A.disabled]]),QA(S("a",{class:A.nextBtnClasses,role:"button",href:"#","aria-label":A.ariaNextLabel,onClick:C[7]||(C[7]=MA((...m)=>A.next(...m),["prevent"])),onKeydown:[C[8]||(C[8]=cC(MA((...m)=>A.next(...m),["prevent"]),["enter"])),C[9]||(C[9]=cC(MA((...m)=>A.next(...m),["prevent"]),["space"]))]},[S(o,{icon:A.iconNext,pack:A.iconPack,both:"",clickable:""},null,8,["icon","pack"])],42,["aria-label"]),[[pC,!A.showNext&&!A.disabled]]),S("div",{class:A.listsClasses},[A.isTypeMonth?P("v-if",!0):S(l,lC({key:0,modelValue:A.focusedDateData.month,"onUpdate:modelValue":C[10]||(C[10]=m=>A.focusedDateData.month=m),disabled:A.disabled,size:A.size},A.selectListBind),{default:_A(()=>[(h(!0),B(hA,null,XA(A.listOfMonths,m=>(h(),B("option",{value:m.index,key:m.name,disabled:m.disabled},sA(m.name),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled","size"]),S(l,lC({modelValue:A.focusedDateData.year,"onUpdate:modelValue":C[11]||(C[11]=m=>A.focusedDateData.year=m),disabled:A.disabled,size:A.size},A.selectListBind),{default:_A(()=>[(h(!0),B(hA,null,XA(A.listOfYears,m=>(h(),B("option",{value:m,key:m},sA(m),9,["value"]))),128))]),_:1},16,["modelValue","disabled","size"])],2)],2)])],2),dA(A.$slots,"table",{},()=>[A.isTypeMonth?P("v-if",!0):S(a,{key:0,modelValue:A.computedValue,"onUpdate:modelValue":C[12]||(C[12]=m=>A.computedValue=m),"day-names":A.newDayNames,"month-names":A.newMonthNames,"first-day-of-week":A.firstDayOfWeek,"rules-for-first-week":A.rulesForFirstWeek,"min-date":A.minDate,"max-date":A.maxDate,focused:A.focusedDateData,disabled:A.disabled,"unselectable-dates":A.unselectableDates,"unselectable-days-of-week":A.unselectableDaysOfWeek,"selectable-dates":A.selectableDates,events:A.events,indicators:A.indicators,"date-creator":A.dateCreator,"type-month":A.isTypeMonth,"nearby-month-days":A.nearbyMonthDays,"nearby-selectable-month-days":A.nearbySelectableMonthDays,"show-week-number":A.showWeekNumber,"week-number-clickable":A.weekNumberClickable,range:A.range,multiple:A.multiple,"table-class":A.tableClass,"table-head-class":A.tableHeadClass,"table-head-cell-class":A.tableHeadCellClass,"table-body-class":A.tableBodyClass,"table-row-class":A.tableRowClass,"table-cell-class":A.tableCellClass,"table-cell-selected-class":A.tableCellSelectedClass,"table-cell-first-selected-class":A.tableCellFirstSelectedClass,"table-cell-invisible-class":A.tableCellInvisibleClass,"table-cell-within-selected-class":A.tableCellWithinSelectedClass,"table-cell-last-selected-class":A.tableCellLastSelectedClass,"table-cell-first-hovered-class":A.tableCellFirstHoveredClass,"table-cell-within-hovered-class":A.tableCellWithinHoveredClass,"table-cell-last-hovered-class":A.tableCellLastHoveredClass,"table-cell-today-class":A.tableCellTodayClass,"table-cell-selectable-class":A.tableCellSelectableClass,"table-cell-unselectable-class":A.tableCellUnselectableClass,"table-cell-nearby-class":A.tableCellNearbyClass,"table-cell-events-class":A.tableCellEventsClass,"table-events-class":A.tableEventsClass,"table-event-variant-class":A.tableEventVariantClass,"table-event-class":A.tableEventClass,"table-event-indicators-class":A.tableEventIndicatorsClass,"onRange-start":C[13]||(C[13]=m=>A.$emit("range-start",m)),"onRange-end":C[14]||(C[14]=m=>A.$emit("range-end",m)),onClose:C[15]||(C[15]=m=>A.togglePicker(!1)),"onUpdate:focused":C[16]||(C[16]=m=>A.focusedDateData=m)},null,8,["modelValue","day-names","month-names","first-day-of-week","rules-for-first-week","min-date","max-date","focused","disabled","unselectable-dates","unselectable-days-of-week","selectable-dates","events","indicators","date-creator","type-month","nearby-month-days","nearby-selectable-month-days","show-week-number","week-number-clickable","range","multiple","table-class","table-head-class","table-head-cell-class","table-body-class","table-row-class","table-cell-class","table-cell-selected-class","table-cell-first-selected-class","table-cell-invisible-class","table-cell-within-selected-class","table-cell-last-selected-class","table-cell-first-hovered-class","table-cell-within-hovered-class","table-cell-last-hovered-class","table-cell-today-class","table-cell-selectable-class","table-cell-unselectable-class","table-cell-nearby-class","table-cell-events-class","table-events-class","table-event-variant-class","table-event-class","table-event-indicators-class"]),A.isTypeMonth?S(r,{key:1,modelValue:A.computedValue,"onUpdate:modelValue":C[17]||(C[17]=m=>A.computedValue=m),"month-names":A.newMonthNames,"min-date":A.minDate,"max-date":A.maxDate,focused:A.focusedDateData,disabled:A.disabled,"unselectable-dates":A.unselectableDates,"unselectable-days-of-week":A.unselectableDaysOfWeek,"selectable-dates":A.selectableDates,events:A.events,indicators:A.indicators,"date-creator":A.dateCreator,range:A.range,multiple:A.multiple,"month-class":A.monthClass,"month-body-class":A.monthBodyClass,"month-table-class":A.monthTableClass,"month-cell-class":A.monthCellClass,"month-cell-selected-class":A.monthCellSelectedClass,"month-cell-first-selected-class":A.monthCellFirstSelectedClass,"month-cell-within-selected-class":A.monthCellWithinSelectedClass,"month-cell-last-selected-class":A.monthCellLastSelectedClass,"month-cell-within-hovered-range-class":A.monthCellWithinHoveredRangeClass,"month-cell-first-hovered-class":A.monthCellFirstHoveredClass,"month-cell-within-hovered-class":A.monthCellWithinHoveredClass,"month-cell-last-hovered-class":A.monthCellLastHoveredClass,"month-cell-today-class":A.monthCellTodayClass,"month-cell-selectable-class":A.monthCellSelectableClass,"month-cell-unselectable-class":A.monthCellUnselectableClass,"month-cell-events-class":A.monthCellEventsClass,"onRange-start":C[18]||(C[18]=m=>A.$emit("range-start",m)),"onRange-end":C[19]||(C[19]=m=>A.$emit("range-end",m)),onClose:C[20]||(C[20]=m=>A.togglePicker(!1)),"onChange-focus":A.changeFocus,"onUpdate:focused":C[21]||(C[21]=m=>A.focusedDateData=m)},null,8,["modelValue","month-names","min-date","max-date","focused","disabled","unselectable-dates","unselectable-days-of-week","selectable-dates","events","indicators","date-creator","range","multiple","month-class","month-body-class","month-table-class","month-cell-class","month-cell-selected-class","month-cell-first-selected-class","month-cell-within-selected-class","month-cell-last-selected-class","month-cell-within-hovered-range-class","month-cell-first-hovered-class","month-cell-within-hovered-class","month-cell-last-hovered-class","month-cell-today-class","month-cell-selectable-class","month-cell-unselectable-class","month-cell-events-class","onChange-focus"]):P("v-if",!0)]),A.$slots.footer!==void 0?(h(),B("footer",{key:0,class:A.footerClasses},[dA(A.$slots,"footer")],2)):P("v-if",!0)]),_:3},8,["item-class","disabled"])]),_:2},[A.inline?void 0:{name:"trigger",fn:_A(()=>[dA(A.$slots,"trigger",{},()=>[S(s,lC({ref:"input",autocomplete:"off","model-value":A.formattedValue,expanded:A.expanded,placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-right":A.iconRight,"icon-right-clickable":A.iconRightClickable,"icon-pack":A.iconPack,rounded:A.rounded,disabled:A.disabled,readonly:!A.editable},A.inputBind,{"use-html5-validation":!1,onClick:A.onInputClick,"onIcon-right-click":C[1]||(C[1]=m=>A.$emit("icon-right-click")),onKeyup:C[2]||(C[2]=cC(m=>A.togglePicker(!0),["enter"])),onChange:C[3]||(C[3]=m=>A.onChange(m.target.value)),onFocus:A.handleOnFocus}),null,16,["model-value","expanded","placeholder","size","icon","icon-right","icon-right-clickable","icon-pack","rounded","disabled","readonly","onClick","onFocus"])])])}]),1040,["position","disabled","inline","mobile-modal","trap-focus","aria-role","aria-modal","append-to-body","onActive-change"]):S(s,lC({key:1,ref:"input",type:A.isTypeMonth?"month":"date",autocomplete:"off",value:A.formatNative(A.computedValue),placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-pack":A.iconPack,rounded:A.rounded,max:A.formatNative(A.maxDate),min:A.formatNative(A.minDate),disabled:A.disabled,readonly:!1},A.$attrs,{"use-html5-validation":!1,onChange:A.onChangeNativePicker,onFocus:A.onFocus,onBlur:A.onBlur}),null,16,["type","value","placeholder","size","icon","icon-pack","rounded","max","min","disabled","onChange","onFocus","onBlur"])],2)}Ai.render=Ob;Ai.__file="src/components/datepicker/Datepicker.vue";var Lb={install(A){CC(A,Ai)}};const Kb=Lb,rs="AM",cs="PM",su="24",us="12",Fb=(A,C)=>C.dtf.format(A),Tb=(A,C)=>{if(A){let e=null;if(C.computedValue&&!isNaN(C.computedValue)?e=new Date(C.computedValue):(e=C.timeCreator(),e.setMilliseconds(0)),C.dtf.formatToParts&&typeof C.dtf.formatToParts=="function"){const l=C.dtf.formatToParts(e).map(r=>r.type==="literal"?r.value.replace(/ /g,"\\s?"):r.type==="dayPeriod"?`((?!=<${r.type}>)(${C.amString}|${C.pmString}|${rs}|${cs}|${rs.toLowerCase()}|${cs.toLowerCase()})?)`:`((?!=<${r.type}>)\\d+)`).join(""),a=nr(l,A);if(a.hour=a.hour?parseInt(a.hour,10):null,a.minute=a.minute?parseInt(a.minute,10):null,a.second=a.second?parseInt(a.second,10):null,a.hour&&a.hour>=0&&a.hour<24&&a.minute&&a.minute>=0&&a.minute<59)return a.dayPeriod&&(a.dayPeriod.toLowerCase()===C.pmString.toLowerCase()||a.dayPeriod.toLowerCase()===cs.toLowerCase())&&a.hour<12&&(a.hour+=12),e.setHours(a.hour),e.setMinutes(a.minute),e.setSeconds(a.second||0),e}let n=!1;if(C.hourFormat===us){const l=A.split(" ");A=l[0],n=l[1]===C.amString||l[1]===rs}const t=A.split(":");let i=parseInt(t[0],10);const s=parseInt(t[1],10),o=C.enableSeconds?parseInt(t[2],10):0;return isNaN(i)||i<0||i>23||C.hourFormat===us&&(i<1||i>12)||isNaN(s)||s<0||s>59?null:(e.setSeconds(o),e.setMinutes(s),C.hourFormat===us&&(n&&i===12?i=0:!n&&i!==12&&(i+=12)),e.setHours(i),new Date(e.getTime()))}return null};var Nb=TA({mixins:[En],inheritAttrs:!1,emits:["update:modelValue"],props:{modelValue:Date,inline:Boolean,minTime:Date,maxTime:Date,placeholder:String,editable:Boolean,disabled:Boolean,size:String,hourFormat:{type:String},incrementHours:{type:Number,default:1},incrementMinutes:{type:Number,default:1},incrementSeconds:{type:Number,default:1},timeFormatter:{type:Function,default:(A,C)=>{const e=$(V(),"timepicker.timeFormatter",void 0);return typeof e=="function"?e(A):Fb(A,C)}},timeParser:{type:Function,default:(A,C)=>{const e=$(V(),"timepicker.timeParser",void 0);return typeof e=="function"?e(A):Tb(A,C)}},mobileNative:{type:Boolean,default:()=>$(V(),"timepicker.mobileNative",!0)},timeCreator:{type:Function,default:()=>{const A=$(V(),"timepicker.timeCreator",void 0);return typeof A=="function"?A():new Date}},position:String,unselectableTimes:Array,openOnFocus:Boolean,enableSeconds:Boolean,defaultMinutes:Number,defaultSeconds:Number,appendToBody:Boolean,resetOnMeridianChange:{type:Boolean,default:!1}},data(){return{dateSelected:this.modelValue,hoursSelected:null,minutesSelected:null,secondsSelected:null,meridienSelected:null,_elementRef:"input"}},computed:{computedValue:{get(){return this.dateSelected},set(A){this.dateSelected=A,this.$emit("update:modelValue",this.dateSelected)}},localeOptions(){return new Intl.DateTimeFormat(this.locale,{hour:"numeric",minute:"numeric",second:this.enableSeconds?"numeric":void 0}).resolvedOptions()},dtf(){return new Intl.DateTimeFormat(this.locale,{hour:this.localeOptions.hour||"numeric",minute:this.localeOptions.minute||"numeric",second:this.enableSeconds?this.localeOptions.second||"numeric":void 0,hourCycle:this.isHourFormat24?"h23":"h12"})},newHourFormat(){return this.hourFormat||(this.localeOptions.hour12?us:su)},sampleTime(){let A=this.timeCreator();return A.setHours(10),A.setSeconds(0),A.setMinutes(0),A.setMilliseconds(0),A},hourLiteral(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;const C=this.dtf.formatToParts(A),e=C.find((n,t)=>t>0&&C[t-1].type==="hour");if(e)return e.value}return":"},minuteLiteral(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;const C=this.dtf.formatToParts(A),e=C.find((n,t)=>t>0&&C[t-1].type==="minute");if(e)return e.value}return":"},secondLiteral(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;const C=this.dtf.formatToParts(A),e=C.find((n,t)=>t>0&&C[t-1].type==="second");if(e)return e.value}},amString(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;A.setHours(10);const C=this.dtf.formatToParts(A).find(e=>e.type==="dayPeriod");if(C)return C.value}return rs},pmString(){if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let A=this.sampleTime;A.setHours(20);const C=this.dtf.formatToParts(A).find(e=>e.type==="dayPeriod");if(C)return C.value}return cs},hours(){if(!this.incrementHours||this.incrementHours<1)throw new Error("Hour increment cannot be null or less than 1.");const A=[],C=this.isHourFormat24?24:12;for(let e=0;e<C;e+=this.incrementHours){let n=e,t=n;this.isHourFormat24||(n=e+1,t=n,this.meridienSelected===this.amString?n===12&&(n=0):this.meridienSelected===this.pmString&&n!==12&&(n+=12)),A.push({label:this.formatNumber(t),value:n})}return A},minutes(){if(!this.incrementMinutes||this.incrementMinutes<1)throw new Error("Minute increment cannot be null or less than 1.");const A=[];for(let C=0;C<60;C+=this.incrementMinutes)A.push({label:this.formatNumber(C,!0),value:C});return A},seconds(){if(!this.incrementSeconds||this.incrementSeconds<1)throw new Error("Second increment cannot be null or less than 1.");const A=[];for(let C=0;C<60;C+=this.incrementSeconds)A.push({label:this.formatNumber(C,!0),value:C});return A},meridiens(){return[this.amString,this.pmString]},isMobile(){return this.mobileNative&&rn.any()},isHourFormat24(){return this.newHourFormat===su}},watch:{hourFormat(){this.hoursSelected!==null&&(this.meridienSelected=this.hoursSelected>=12?this.pmString:this.amString)},locale(){this.value||(this.meridienSelected=this.amString)},modelValue:{handler(A){this.updateInternalState(A),!this.isValid&&this.$refs.input.checkHtml5Validity()},immediate:!0}},methods:{onMeridienChange(A){this.hoursSelected!==null&&this.resetOnMeridianChange?(this.hoursSelected=null,this.minutesSelected=null,this.secondsSelected=null,this.computedValue=null):this.hoursSelected!==null&&(A===this.pmString?this.hoursSelected+=12:A===this.amString&&(this.hoursSelected-=12)),this.updateDateSelected(this.hoursSelected,this.minutesSelected,this.enableSeconds?this.secondsSelected:0,A)},onHoursChange(A){!this.minutesSelected&&typeof this.defaultMinutes<"u"&&(this.minutesSelected=this.defaultMinutes),!this.secondsSelected&&typeof this.defaultSeconds<"u"&&(this.secondsSelected=this.defaultSeconds),this.updateDateSelected(parseInt(A,10),this.minutesSelected,this.enableSeconds?this.secondsSelected:0,this.meridienSelected)},onMinutesChange(A){!this.secondsSelected&&this.defaultSeconds&&(this.secondsSelected=this.defaultSeconds),this.updateDateSelected(this.hoursSelected,parseInt(A,10),this.enableSeconds?this.secondsSelected:0,this.meridienSelected)},onSecondsChange(A){this.updateDateSelected(this.hoursSelected,this.minutesSelected,parseInt(A,10),this.meridienSelected)},updateDateSelected(A,C,e,n){if(A!=null&&C!=null&&(!this.isHourFormat24&&n!==null||this.isHourFormat24)){let t=null;this.computedValue&&!isNaN(this.computedValue)?t=new Date(this.computedValue):(t=this.timeCreator(),t.setMilliseconds(0)),t.setHours(A),t.setMinutes(C),t.setSeconds(e),isNaN(t.getTime())||(this.computedValue=new Date(t.getTime()))}},updateInternalState(A){A?(this.hoursSelected=A.getHours(),this.minutesSelected=A.getMinutes(),this.secondsSelected=A.getSeconds(),this.meridienSelected=A.getHours()>=12?this.pmString:this.amString):(this.hoursSelected=null,this.minutesSelected=null,this.secondsSelected=null,this.meridienSelected=this.amString),this.dateSelected=A},isHourDisabled(A){let C=!1;if(this.minTime){const e=this.minTime.getHours(),n=this.minutes.every(t=>this.isMinuteDisabledForHour(A,t.value));C=A<e||n}if(this.maxTime&&!C){const e=this.maxTime.getHours();C=A>e}return this.unselectableTimes&&(C||(this.unselectableTimes.filter(n=>this.enableSeconds&&this.secondsSelected!==null?n.getHours()===A&&n.getMinutes()===this.minutesSelected&&n.getSeconds()===this.secondsSelected:this.minutesSelected!==null?n.getHours()===A&&n.getMinutes()===this.minutesSelected:!1).length>0?C=!0:C=this.minutes.every(n=>this.unselectableTimes.filter(t=>t.getHours()===A&&t.getMinutes()===n.value).length>0))),C},isMinuteDisabledForHour(A,C){let e=!1;if(this.minTime){const n=this.minTime.getHours(),t=this.minTime.getMinutes();e=A===n&&C<t}if(this.maxTime&&!e){const n=this.maxTime.getHours(),t=this.maxTime.getMinutes();e=A===n&&C>t}return e},isMinuteDisabled(A){let C=!1;return this.hoursSelected!==null&&(this.isHourDisabled(this.hoursSelected)?C=!0:C=this.isMinuteDisabledForHour(this.hoursSelected,A),this.unselectableTimes&&(C||(C=this.unselectableTimes.filter(n=>this.enableSeconds&&this.secondsSelected!==null?n.getHours()===this.hoursSelected&&n.getMinutes()===A&&n.getSeconds()===this.secondsSelected:n.getHours()===this.hoursSelected&&n.getMinutes()===A).length>0))),C},isSecondDisabled(A){let C=!1;if(this.minutesSelected!==null){if(this.isMinuteDisabled(this.minutesSelected))C=!0;else{if(this.minTime){const e=this.minTime.getHours(),n=this.minTime.getMinutes(),t=this.minTime.getSeconds();C=this.hoursSelected===e&&this.minutesSelected===n&&A<t}if(this.maxTime&&!C){const e=this.maxTime.getHours(),n=this.maxTime.getMinutes(),t=this.maxTime.getSeconds();C=this.hoursSelected===e&&this.minutesSelected===n&&A>t}}this.unselectableTimes&&(C||(C=this.unselectableTimes.filter(n=>n.getHours()===this.hoursSelected&&n.getMinutes()===this.minutesSelected&&n.getSeconds()===A).length>0))}return C},isMeridienDisabled(A){const C=A=="AM"?0:12;for(let e=0;e<12;e++)if(!this.isHourDisabled(e+C))return!1;return!0},onChange(A){const C=this.timeParser(A,this);this.updateInternalState(C),C&&!isNaN(C)?this.computedValue=C:(this.computedValue=null,this.$refs.input.newValue=this.computedValue)},toggle(A){this.$refs.dropdown&&(this.$refs.dropdown.isActive=typeof A=="boolean"?A:!this.$refs.dropdown.isActive)},close(){this.toggle(!1)},handleOnFocus(){this.onFocus(),this.openOnFocus&&this.toggle(!0)},formatHHMMSS(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getHours(),n=C.getMinutes(),t=C.getSeconds();return this.formatNumber(e,!0)+":"+this.formatNumber(n,!0)+":"+this.formatNumber(t,!0)}return""},onChangeNativePicker(A){const C=A.target.value;if(C){let e=null;this.computedValue&&!isNaN(this.computedValue)?e=new Date(this.computedValue):(e=new Date,e.setMilliseconds(0));const n=C.split(":");e.setHours(parseInt(n[0],10)),e.setMinutes(parseInt(n[1],10)),e.setSeconds(n[2]?parseInt(n[2],10):0),this.computedValue=new Date(e.getTime())}else this.computedValue=null},formatNumber(A,C){return this.isHourFormat24||C?this.pad(A):A},pad(A){return(A<10?"0":"")+A},formatValue(A){return A&&!isNaN(A)?this.timeFormatter(A,this):null},keyPress({key:A}){this.$refs.dropdown&&this.$refs.dropdown.isActive&&(A==="Escape"||A==="Esc")&&this.toggle(!1)},onActiveChange(A){A||this.onBlur()}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},beforeUnmount(){typeof window<"u"&&document.removeEventListener("keyup",this.keyPress)}}),Ci=TA({name:"OTimepicker",components:{[ve.name]:ve,[Ve.name]:Ve,[uC.name]:uC,[Nn.name]:Nn,[$n.name]:$n},configField:"timepicker",mixins:[ZA,Nb,Ye],inheritAttrs:!1,props:{rootClass:[String,Function,Array],sizeClass:[String,Function,Array],boxClass:[String,Function,Array],separatorClass:[String,Function,Array],footerClass:[String,Function,Array],inputClasses:{type:Object,default:()=>$(V(),"timepicker.inputClasses",{})},dropdownClasses:{type:Object,default:()=>$(V(),"timepicker.dropdownClasses",{})},selectClasses:{type:Object,default:()=>$(V(),"timepicker.selectClasses",{})}},computed:{inputBind(){return{...this.$attrs,...this.inputClasses}},dropdownBind(){return{"root-class":this.computedClass("dropdownClasses.rootClass","o-tpck__dropdown"),...this.dropdownClasses}},selectBind(){return{"select-class":this.computedClass("selectClasses.selectClass","o-tpck__select"),"placeholder-class":this.computedClass("selectClasses.placeholderClass","o-tpck__select-placeholder"),...this.selectClasses}},rootClasses(){return[this.computedClass("rootClass","o-tpck"),{[this.computedClass("sizeClass","o-tpck--",this.size)]:this.size},{[this.computedClass("mobileClass","o-tpck--mobile")]:this.isMatchMedia}]},boxClasses(){return[this.computedClass("boxClass","o-tpck__box")]},separatorClasses(){return[this.computedClass("separatorClass","o-tpck__separator")]},footerClasses(){return[this.computedClass("footerClass","o-tpck__footer")]},nativeStep(){return this.enableSeconds?"1":null}}});function $b(A,C,e,n,t,i){const s=AA("o-input"),o=AA("o-select"),l=AA("o-dropdown-item"),a=AA("o-dropdown");return h(),B("div",{class:A.rootClasses},[!A.isMobile||A.inline?S(a,lC({key:0,ref:"dropdown"},A.dropdownBind,{position:A.position,disabled:A.disabled,inline:A.inline,"append-to-body":A.appendToBody,"append-to-body-copy-parent":"","onActive-change":A.onActiveChange}),Va({default:_A(()=>[S(l,{override:"",tag:"div","item-class":A.boxClasses,disabled:A.disabled,clickable:!1},{default:_A(()=>[S(o,lC({override:""},A.selectBind,{modelValue:A.hoursSelected,"onUpdate:modelValue":C[3]||(C[3]=r=>A.hoursSelected=r),onChange:C[4]||(C[4]=r=>A.onHoursChange(r.target.value)),disabled:A.disabled,placeholder:"00"}),{default:_A(()=>[(h(!0),B(hA,null,XA(A.hours,r=>(h(),B("option",{value:r.value,key:r.value,disabled:A.isHourDisabled(r.value)},sA(r.label),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),S("span",{class:A.separatorClasses},sA(A.hourLiteral),3),S(o,lC({override:""},A.selectBind,{modelValue:A.minutesSelected,"onUpdate:modelValue":C[5]||(C[5]=r=>A.minutesSelected=r),onChange:C[6]||(C[6]=r=>A.onMinutesChange(r.target.value)),disabled:A.disabled,placeholder:"00"}),{default:_A(()=>[(h(!0),B(hA,null,XA(A.minutes,r=>(h(),B("option",{value:r.value,key:r.value,disabled:A.isMinuteDisabled(r.value)},sA(r.label),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),A.enableSeconds?(h(),B(hA,{key:0},[S("span",{class:A.separatorClasses},sA(A.minuteLiteral),3),S(o,lC({override:""},A.selectBind,{modelValue:A.secondsSelected,"onUpdate:modelValue":C[7]||(C[7]=r=>A.secondsSelected=r),onChange:C[8]||(C[8]=r=>A.onSecondsChange(r.target.value)),disabled:A.disabled,placeholder:"00"}),{default:_A(()=>[(h(!0),B(hA,null,XA(A.seconds,r=>(h(),B("option",{value:r.value,key:r.value,disabled:A.isSecondDisabled(r.value)},sA(r.label),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),S("span",{class:A.separatorClasses},sA(A.secondLiteral),3)],64)):P("v-if",!0),A.isHourFormat24?P("v-if",!0):S(o,lC({key:1,override:""},A.selectBind,{modelValue:A.meridienSelected,"onUpdate:modelValue":C[9]||(C[9]=r=>A.meridienSelected=r),onChange:C[10]||(C[10]=r=>A.onMeridienChange(r.target.value)),disabled:A.disabled}),{default:_A(()=>[(h(!0),B(hA,null,XA(A.meridiens,r=>(h(),B("option",{value:r,key:r,disabled:A.isMeridienDisabled(r)},sA(r),9,["value","disabled"]))),128))]),_:1},16,["modelValue","disabled"]),A.$slots.default!==void 0?(h(),B("footer",{key:2,class:A.footerClasses},[dA(A.$slots,"default")],2)):P("v-if",!0)]),_:1},8,["item-class","disabled"])]),_:2},[A.inline?void 0:{name:"trigger",fn:_A(()=>[dA(A.$slots,"trigger",{},()=>[S(s,lC({ref:"input","model-value":A.formatValue(A.computedValue),autocomplete:"off",placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-pack":A.iconPack,disabled:A.disabled,readonly:!A.editable,rounded:A.rounded},A.inputBind,{"use-html5-validation":A.useHtml5Validation,onKeyup:C[1]||(C[1]=cC(r=>A.toggle(!0),["enter"])),onChange:C[2]||(C[2]=r=>A.onChange(r.target.value)),onFocus:A.handleOnFocus}),null,16,["model-value","placeholder","size","icon","icon-pack","disabled","readonly","rounded","use-html5-validation","onFocus"])])])}]),1040,["position","disabled","inline","append-to-body","onActive-change"]):S(s,lC({key:1,ref:"input"},A.inputBind,{type:"time",step:A.nativeStep,autocomplete:"off",value:A.formatHHMMSS(A.computedValue),placeholder:A.placeholder,size:A.size,icon:A.icon,"icon-pack":A.iconPack,rounded:A.rounded,max:A.formatHHMMSS(A.maxTime),min:A.formatHHMMSS(A.minTime),disabled:A.disabled,readonly:!1,"use-html5-validation":A.useHtml5Validation,onChange:C[11]||(C[11]=r=>A.onChange(r.target.value)),onFocus:A.handleOnFocus,onBlur:C[12]||(C[12]=r=>A.onBlur()&&A.checkHtml5Validity())}),null,16,["step","value","placeholder","size","icon","icon-pack","rounded","max","min","disabled","use-html5-validation","onFocus"])],2)}Ci.render=$b;Ci.__file="src/components/timepicker/Timepicker.vue";const ou="AM",lu="PM";var sr=TA({name:"ODatetimepicker",components:{[Ai.name]:Ai,[Ci.name]:Ci},configField:"datetimepicker",mixins:[En,ZA],inheritAttrs:!1,emits:["update:modelValue","change-year","change-month","icon-right-click","active-change"],props:{modelValue:{type:Date},editable:{type:Boolean,default:!1},size:String,placeholder:String,disabled:Boolean,iconRight:String,iconRightClickable:Boolean,inline:Boolean,openOnFocus:Boolean,position:String,mobileNative:{type:Boolean,default:!0},minDatetime:Date,maxDatetime:Date,datetimeFormatter:{type:Function},datetimeParser:{type:Function},datetimeCreator:{type:Function,default:A=>{const C=$(V(),"datetimepicker.datetimeCreator",void 0);return typeof C=="function"?C(A):A}},datepicker:Object,timepicker:Object,locale:{type:[String,Array],default:()=>$(V(),"locale")},appendToBody:Boolean,datepickerWrapperClass:[String,Function,Array],timepickerWrapperClass:[String,Function,Array]},data(){return{newValue:this.modelValue}},computed:{datepickerWrapperClasses(){return[this.computedClass("datepickerWrapperClass","o-dtpck__date")]},timepickerWrapperClasses(){return[this.computedClass("timepickerWrapperClass","o-dtpck__time")]},computedValue:{get(){return this.newValue},set(A){if(A){let C=new Date(A.getTime());this.newValue?(A.getDate()!==this.newValue.getDate()||A.getMonth()!==this.newValue.getMonth()||A.getFullYear()!==this.newValue.getFullYear())&&A.getHours()===0&&A.getMinutes()===0&&A.getSeconds()===0&&C.setHours(this.newValue.getHours(),this.newValue.getMinutes(),this.newValue.getSeconds(),0):C=this.datetimeCreator(A),this.minDatetime&&C<this.minDatetime?C=this.minDatetime:this.maxDatetime&&C>this.maxDatetime&&(C=this.maxDatetime),this.newValue=new Date(C.getTime())}else this.newValue=A;this.$emit("update:modelValue",this.newValue)}},localeOptions(){return new Intl.DateTimeFormat(this.locale,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:this.enableSeconds()?"numeric":void 0}).resolvedOptions()},dtf(){return new Intl.DateTimeFormat(this.locale,{year:this.localeOptions.year||"numeric",month:this.localeOptions.month||"numeric",day:this.localeOptions.day||"numeric",hour:this.localeOptions.hour||"numeric",minute:this.localeOptions.minute||"numeric",second:this.enableSeconds()?this.localeOptions.second||"numeric":void 0,hourCycle:this.isHourFormat24()?"h23":"h12"})},isMobileNative(){return this.mobileNative},isMobile(){return this.isMobileNative&&rn.any()},minDate(){return this.minDatetime?new Date(this.minDatetime.getFullYear(),this.minDatetime.getMonth(),this.minDatetime.getDate(),0,0,0,0):this.datepicker?this.datepicker.minDate:null},maxDate(){return this.maxDatetime?new Date(this.maxDatetime.getFullYear(),this.maxDatetime.getMonth(),this.maxDatetime.getDate(),0,0,0,0):this.datepicker?this.datepicker.maxDate:null},minTime(){return!this.minDatetime||this.newValue===null||typeof this.newValue>"u"||this.newValue.getFullYear()!=this.minDatetime.getFullYear()||this.newValue.getMonth()!=this.minDatetime.getMonth()||this.newValue.getDate()!=this.minDatetime.getDate()?this.timepicker?this.timepicker.minTime:null:this.minDatetime},maxTime(){return!this.maxDatetime||this.newValue===null||typeof this.newValue>"u"||this.newValue.getFullYear()!=this.maxDatetime.getFullYear()||this.newValue.getMonth()!=this.maxDatetime.getMonth()||this.newValue.getDate()!=this.maxDatetime.getDate()?this.timepicker?this.timepicker.maxTime:null:this.maxDatetime},datepickerSize(){return this.datepicker&&this.datepicker.size?this.datepicker.size:this.size},timepickerSize(){return this.timepicker&&this.timepicker.size?this.timepicker.size:this.size},timepickerDisabled(){return this.timepicker&&this.timepicker.disabled?this.timepicker.disabled:this.disabled}},watch:{modelValue(A){this.newValue=A}},methods:{enableSeconds(){return this.$refs.timepicker?this.$refs.timepicker.enableSeconds:!1},isHourFormat24(){return this.$refs.timepicker?this.$refs.timepicker.isHourFormat24:!this.localeOptions.hour12},defaultDatetimeParser(A){const C=$(V(),"datetimepicker.datetimeParser",void 0);if(typeof this.datetimeParser=="function")return this.datetimeParser(A);if(typeof C=="function")return C(A);if(this.dtf.formatToParts&&typeof this.dtf.formatToParts=="function"){let e=[ou,lu,ou.toLowerCase(),lu.toLowerCase()];this.$refs.timepicker&&(e.push(this.$refs.timepicker.amString),e.push(this.$refs.timepicker.pmString));const n=this.dtf.formatToParts(new Date),t=n.map((s,o)=>s.type==="literal"?o+1<n.length&&n[o+1].type==="hour"?"[^\\d]+":s.value.replace(/ /g,"\\s?"):s.type==="dayPeriod"?`((?!=<${s.type}>)(${e.join("|")})?)`:`((?!=<${s.type}>)\\d+)`).join(""),i=nr(t,A);if(i.year&&i.year.length===4&&i.month&&i.month<=12&&i.day&&i.day<=31&&i.hour&&i.hour>=0&&i.hour<24&&i.minute&&i.minute>=0&&i.minute<=59)return new Date(i.year,i.month-1,i.day,i.hour,i.minute,i.second||0)}return new Date(Date.parse(A))},defaultDatetimeFormatter(A){const C=$(V(),"datetimepicker.datetimeFormatter",void 0);return typeof this.datetimeFormatter=="function"?this.datetimeFormatter(A):typeof C=="function"?C(A):this.dtf.format(A)},onChangeNativePicker(A){const C=A.target.value,e=C?C.split(/\D/):[];if(e.length>=5){const n=parseInt(e[0],10),t=parseInt(e[1],10)-1,i=parseInt(e[2],10),s=parseInt(e[3],10),o=parseInt(e[4],10);this.computedValue=new Date(n,t,i,s,o)}else this.computedValue=null},formatNative(A){const C=new Date(A);if(A&&!isNaN(C.getTime())){const e=C.getFullYear(),n=C.getMonth()+1,t=C.getDate(),i=C.getHours(),s=C.getMinutes(),o=C.getSeconds();return e+"-"+((n<10?"0":"")+n)+"-"+((t<10?"0":"")+t)+"T"+((i<10?"0":"")+i)+":"+((s<10?"0":"")+s)+":"+((o<10?"0":"")+o)}return""},toggle(){this.$refs.datepicker.toggle()}},mounted(){(!this.isMobile||this.inline)&&this.newValue&&this.$refs.datepicker.$forceUpdate()}});function Rb(A,C,e,n,t,i){const s=AA("o-timepicker"),o=AA("o-datepicker"),l=AA("o-input");return!A.isMobile||A.inline?S(o,lC({key:0,ref:"datepicker",modelValue:A.computedValue,"onUpdate:modelValue":C[2]||(C[2]=a=>A.computedValue=a)},A.datepicker,{class:A.datepickerWrapperClasses,rounded:A.rounded,"open-on-focus":A.openOnFocus,position:A.position,inline:A.inline,editable:A.editable,expanded:A.expanded,"close-on-click":!1,"date-formatter":A.defaultDatetimeFormatter,"date-parser":A.defaultDatetimeParser,"min-date":A.minDate,"max-date":A.maxDate,icon:A.icon,"icon-right":A.iconRight,"icon-right-clickable":A.iconRightClickable,"icon-pack":A.iconPack,size:A.datepickerSize,placeholder:A.placeholder,range:!1,disabled:A.disabled,"mobile-native":A.isMobileNative,locale:A.locale,"append-to-body":A.appendToBody,onFocus:A.onFocus,onBlur:A.onBlur,"onActive-change":C[3]||(C[3]=a=>A.$emit("active-change",a)),"onIcon-right-click":C[4]||(C[4]=a=>A.$emit("icon-right-click")),"onChange-month":C[5]||(C[5]=a=>A.$emit("change-month",a)),"onChange-year":C[6]||(C[6]=a=>A.$emit("change-year",a))}),{footer:_A(()=>[S("div",{class:A.timepickerWrapperClasses},[S(s,lC({ref:"timepicker"},A.timepicker,{modelValue:A.computedValue,"onUpdate:modelValue":C[1]||(C[1]=a=>A.computedValue=a),inline:"",editable:A.editable,"min-time":A.minTime,"max-time":A.maxTime,size:A.timepickerSize,disabled:A.timepickerDisabled,"mobile-native":A.isMobileNative,locale:A.locale}),null,16,["modelValue","editable","min-time","max-time","size","disabled","mobile-native","locale"])],2),A.$slots.footer!==void 0?dA(A.$slots,"footer",{key:0}):P("v-if",!0)]),_:1},16,["modelValue","class","rounded","open-on-focus","position","inline","editable","expanded","date-formatter","date-parser","min-date","max-date","icon","icon-right","icon-right-clickable","icon-pack","size","placeholder","disabled","mobile-native","locale","append-to-body","onFocus","onBlur"]):S(l,lC({key:1,ref:"input",type:"datetime-local",autocomplete:"off",value:A.formatNative(A.computedValue),placeholder:A.placeholder,size:A.datepickerSize,icon:A.icon,"icon-pack":A.iconPack,rounded:A.rounded,max:A.formatNative(A.maxDate),min:A.formatNative(A.minDate),disabled:A.disabled,readonly:!1},A.$attrs,{"use-html5-validation":A.useHtml5Validation,onChange:A.onChangeNativePicker,onFocus:A.onFocus,onBlur:A.onBlur}),null,16,["value","placeholder","size","icon","icon-pack","rounded","max","min","disabled","use-html5-validation","onChange","onFocus","onBlur"])}sr.render=Rb;sr.__file="src/components/datetimepicker/Datetimepicker.vue";var Gb={install(A){CC(A,sr)}};const Ub=Gb;var Qb={install(A){CC(A,Nn),CC(A,$n)}};const Hb=Qb;var Vb={install(A){CC(A,Rn)}};const zb=Vb;var qb={install(A){CC(A,uC)}};const Wb=qb;var Yb={install(A){CC(A,ve)}};const Jb=Yb;var or=TA({name:"OInputitems",components:{[Xt.name]:Xt,[uC.name]:uC},mixins:[En,ZA],inheritAttrs:!1,configField:"inputitems",emits:["update:modelValue","focus","blur","add","remove","typing","infinite-scroll","icon-right-click"],props:{modelValue:{type:Array,default:()=>[]},size:String,data:{type:Array,default:()=>[]},variant:String,maxitems:{type:[Number,String],required:!1},hasCounter:{type:Boolean,default:()=>$(V(),"inputitems.hasCounter",!0)},field:{type:String,default:"value"},autocomplete:Boolean,groupField:String,groupOptions:String,nativeAutocomplete:String,openOnFocus:Boolean,disabled:Boolean,closable:{type:Boolean,default:()=>$(V(),"inputitems.closable",!0)},confirmKeys:{type:Array,default:()=>$(V(),"inputitems.confirmKeys",[",","Tab","Enter"])},removeOnKeys:{type:Array,default:()=>$(V(),"inputitems.removeOnKeys",["Backspace"])},allowNew:Boolean,onPasteSeparators:{type:Array,default:()=>$(V(),"inputitems.onPasteSeparators",[","])},beforeAdding:{type:Function,default:()=>!0},allowDuplicates:{type:Boolean,default:!1},checkInfiniteScroll:{type:Boolean,default:!1},createItem:{type:Function,default:A=>A},closeIcon:{type:String,default:()=>$(V(),"inputitems.closeIcon","close")},keepFirst:Boolean,ariaCloseLabel:String,appendToBody:Boolean,rootClass:[String,Array,Function],expandedClass:[String,Array,Function],variantClass:[String,Array,Function],closeClass:[String,Array,Function],itemClass:[String,Array,Function],counterClass:[String,Array,Function],autocompleteClasses:{type:Object,default:()=>$(V(),"inputitems.autocompleteClasses",{})}},data(){return{items:Array.isArray(this.modelValue)?this.modelValue.slice(0):this.modelValue||[],newItem:"",isComposing:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-inputit"),{[this.computedClass("expandedClass","o-inputit--expanded")]:this.expanded}]},containerClasses(){return[this.computedClass("containerClass","o-inputit__container"),{[this.computedClass("sizeClass","o-inputit__container--",this.size)]:this.size}]},itemClasses(){return[this.computedClass("itemClass","o-inputit__item"),{[this.computedClass("variantClass","o-inputit__item--",this.variant)]:this.variant}]},closeClasses(){return[this.computedClass("closeClass","o-inputit__item__close")]},counterClasses(){return[this.computedClass("counterClass","o-inputit__counter")]},autocompleteBind(){return{...this.$attrs,"root-class":this.computedClass("autocompleteClasses.rootClass","o-inputit__autocomplete"),"input-classes":{"input-class":this.computedClass("autocompleteClasses.inputClasses.inputClass","o-inputit__input")},...this.autocompleteClasses}},valueLength(){return this.newItem.trim().length},hasDefaultSlot(){return!!this.$slots.default},hasEmptySlot(){return!!this.$slots.empty},hasHeaderSlot(){return!!this.$slots.header},hasFooterSlot(){return!!this.$slots.footer},hasInput(){return this.maxitems==null||this.itemsLength<this.maxitems},itemsLength(){return this.items.length},separatorsAsRegExp(){const A=this.onPasteSeparators;return A.length?new RegExp(A.map(C=>C?C.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"):null).join("|"),"g"):null},$elementRef(){return"autocomplete"}},watch:{modelValue(A){this.items=Array.isArray(A)?A.slice(0):A||[]},hasInput(){this.hasInput||this.onBlur()}},methods:{addItem(A){const C=A||this.newItem.trim();if(C){if(!this.autocomplete){const n=this.separatorsAsRegExp;if(n&&C.match(n)){C.split(n).map(t=>t.trim()).filter(t=>t.length!==0).map(this.addItem);return}}(this.allowDuplicates?!0:this.items.indexOf(this.createItem(C))===-1)&&this.beforeAdding(C)&&(this.items.push(this.createItem(C)),this.$emit("update:modelValue",this.items),this.$emit("add",C))}requestAnimationFrame(()=>{this.newItem="",this.$emit("typing","")})},getNormalizedItemText(A){return typeof A=="object"&&(A=$(A,this.field)),`${A}`},customOnBlur(A){this.autocomplete||this.addItem(),this.onBlur(A)},onSelect(A){A&&(this.addItem(A),this.$nextTick(()=>{this.newItem=""}))},removeItem(A,C){const e=this.items.splice(A,1)[0];return this.$emit("update:modelValue",this.items),this.$emit("remove",e),C&&C.stopPropagation(),this.openOnFocus&&this.$refs.autocomplete&&this.$refs.autocomplete.focus(),e},removeLastItem(){this.itemsLength>0&&this.removeItem(this.itemsLength-1)},keydown(A){const{key:C}=A;if(this.removeOnKeys.indexOf(C)!==-1&&!this.newItem.length&&this.removeLastItem(),!(this.autocomplete&&!this.allowNew)&&this.confirmKeys.indexOf(C)>=0){if(C!=="Tab"&&A.preventDefault(),C==="Enter"&&this.isComposing)return;this.addItem()}},onTyping(A){this.$emit("typing",A.trim())}}});function Xb(A,C,e,n,t,i){const s=AA("o-icon"),o=AA("o-autocomplete");return h(),B("div",{class:A.rootClasses},[S("div",{class:A.containerClasses,onClick:C[6]||(C[6]=l=>A.hasInput&&A.focus(l))},[dA(A.$slots,"selected",{items:A.items},()=>[(h(!0),B(hA,null,XA(A.items,(l,a)=>(h(),B("span",{key:A.getNormalizedItemText(l)+a,class:A.itemClasses},[S("span",null,sA(A.getNormalizedItemText(l)),1),A.closable?S(s,{key:0,class:A.closeClasses,clickable:"",both:"",icon:A.closeIcon,onClick:r=>A.removeItem(a,r),"aria-label":A.ariaCloseLabel},null,8,["class","icon","onClick","aria-label"]):P("v-if",!0)],2))),128))]),A.hasInput?S(o,lC({key:0,ref:"autocomplete",modelValue:A.newItem,"onUpdate:modelValue":C[1]||(C[1]=l=>A.newItem=l)},A.autocompleteBind,{data:A.data,field:A.field,icon:A.icon,"icon-pack":A.iconPack,maxlength:A.maxlength,"has-counter":!1,size:A.size,disabled:A.disabled,autocomplete:A.nativeAutocomplete,"open-on-focus":A.openOnFocus,"keep-first":A.keepFirst,"keep-open":A.openOnFocus,"group-field":A.groupField,"group-options":A.groupOptions,"use-html5-validation":A.useHtml5Validation,"check-infinite-scroll":A.checkInfiniteScroll,"append-to-body":A.appendToBody,"confirm-keys":A.confirmKeys,onTyping:A.onTyping,onFocus:A.onFocus,onBlur:A.customOnBlur,onKeydown:A.keydown,onCompositionstart:C[2]||(C[2]=l=>A.isComposing=!0),onCompositionend:C[3]||(C[3]=l=>A.isComposing=!1),onSelect:A.onSelect,"onInfinite-scroll":C[4]||(C[4]=l=>A.$emit("infinite-scroll",l)),"onIcon-right-click":C[5]||(C[5]=l=>A.$emit("icon-right-click",l))}),Va({_:2},[A.hasHeaderSlot?{name:"header",fn:_A(()=>[dA(A.$slots,"header")])}:void 0,A.hasDefaultSlot?{name:"default",fn:_A(l=>[dA(A.$slots,"default",{option:l.option,index:l.index})])}:void 0,A.hasEmptySlot?{name:"empty",fn:_A(()=>[dA(A.$slots,"empty")])}:void 0,A.hasFooterSlot?{name:"footer",fn:_A(()=>[dA(A.$slots,"footer")])}:void 0]),1040,["modelValue","data","field","icon","icon-pack","maxlength","size","disabled","autocomplete","open-on-focus","keep-first","keep-open","group-field","group-options","use-html5-validation","check-infinite-scroll","append-to-body","confirm-keys","onTyping","onFocus","onBlur","onKeydown","onSelect"]):P("v-if",!0)],2),A.hasCounter&&(A.maxitems||A.maxlength)?(h(),B("small",{key:0,class:A.counterClasses},[A.maxlength&&A.valueLength>0?(h(),B(hA,{key:0},[tC(sA(A.valueLength)+" / "+sA(A.maxlength),1)],64)):A.maxitems?(h(),B(hA,{key:1},[tC(sA(A.itemsLength)+" / "+sA(A.maxitems),1)],64)):P("v-if",!0)],2)):P("v-if",!0)],2)}or.render=Xb;or.__file="src/components/inputitems/Inputitems.vue";var Zb={install(A){CC(A,or)}};const A3=Zb,Vp=typeof window>"u",C3=Vp?Object:window.HTMLElement,e3=Vp?Object:window.File;var at=TA({name:"OLoading",components:{[uC.name]:uC},mixins:[ZA],configField:"loading",emits:["update:active","close","update:full-page"],props:{active:Boolean,programmatic:Object,promise:Promise,container:[Object,Function,C3],fullPage:{type:Boolean,default:!0},animation:{type:String,default:()=>$(V(),"loading.animation","fade")},canCancel:{type:Boolean,default:!1},onCancel:{type:Function,default:()=>{}},icon:{type:String,default:()=>$(V(),"loading.icon","loading")},iconSpin:{type:Boolean,default:!0},iconSize:{type:String,default:"medium"},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],iconClass:[String,Function,Array],fullPageClass:[String,Function,Array]},data(){return{isActive:this.active||!1,displayInFullPage:this.fullPage}},watch:{active(A){this.isActive=A},fullPage(A){this.displayInFullPage=A}},computed:{rootClasses(){return[this.computedClass("rootClass","o-load"),{[this.computedClass("fullPageClass","o-load--fullpage")]:this.displayInFullPage}]},overlayClasses(){return[this.computedClass("overlayClass","o-load__overlay")]},iconClasses(){return[this.computedClass("iconClass","o-load__icon")]}},methods:{cancel(A){!this.canCancel||!this.isActive||this.close({action:"cancel",method:A})},close(){this.onCancel.apply(null,arguments),this.$emit("close"),this.$emit("update:active",!1),this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.remove(this),this.programmatic.resolve&&this.programmatic.resolve.apply(null,arguments),this.isActive=!1,window.requestAnimationFrame(()=>{Hn(this.$el)}))},keyPress({key:A}){(A==="Escape"||A==="Esc")&&this.cancel("escape")}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},mounted(){this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.add(this),this.container?(this.displayInFullPage=!1,this.$emit("update:full-page",!1),this.container.appendChild(this.$el)):document.body.appendChild(this.$el),this.isActive=!0)},beforeUnmount(){typeof window<"u"&&document.removeEventListener("keyup",this.keyPress)}});function n3(A,C,e,n,t,i){const s=AA("o-icon");return h(),B(ne,{name:A.animation},{default:_A(()=>[A.isActive?(h(),B("div",{key:0,class:A.rootClasses},[S("div",{class:A.overlayClasses,onClick:C[1]||(C[1]=o=>A.cancel("outside"))},null,2),dA(A.$slots,"default",{},()=>[S(s,{icon:A.icon,spin:A.iconSpin,size:A.iconSize,class:A.iconClasses,both:""},null,8,["icon","spin","size","class"])])],2)):P("v-if",!0)]),_:1},8,["name"])}at.render=n3;at.__file="src/components/loading/Loading.vue";class lr{constructor(){this.entries=[]}add(C){this.entries.push(C)}remove(C){let e=this.entries.indexOf(C);this.entries.splice(e,1)}walk(C){this.entries=[...this.entries].filter(e=>C(e)!==!0)}}let zp,au=new lr;const t3={open(A){const e=bt({programmatic:{instances:au}},A);e.promise=new Promise((i,s)=>{e.programmatic.resolve=i,e.programmatic.reject=s});const n=zp||uo,t=S(at,e);return t.appContext=n._context,Za(t,document.createElement("div")),t.component.proxy},closeAll(){au.walk(A=>{A.close(...arguments)})}};var i3={install(A){zp=A,CC(A,at),mo(A,"loading",t3)}};const s3=i3;var ar=TA({name:"OMenu",configField:"menu",mixins:[ZA],props:{accordion:{type:Boolean,default:!0},activable:{type:Boolean,default:!0},rootClass:[String,Array,Function]},data(){return{menuItems:[]}},computed:{rootClasses(){return this.computedClass("rootClass","o-menu")}},methods:{registerMenuItem(A){this.menuItems.push(A)},resetMenu(A=[]){this.menuItems.forEach(C=>{A.includes(C)||C.reset()})}},provide(){return{registerMenuItem:this.registerMenuItem,resetMenu:this.resetMenu,accordion:()=>this.accordion,activable:()=>this.activable}}});function o3(A,C,e,n,t,i){return h(),B("div",{class:A.rootClasses},[dA(A.$slots,"default")],2)}ar.render=o3;ar.__file="src/components/menu/Menu.vue";var rr=TA({name:"OMenuList",configField:"menu",mixins:[ZA],props:{ariaRole:String,label:String,icon:String,iconPack:String,size:String,listClass:[String,Array,Function],listLabelClass:[String,Array,Function]},computed:{listClasses(){return this.computedClass("listClass","o-menu-list")},labelClasses(){return this.computedClass("listLabelClass","o-menu-label")},computedAriaRole(){return this.ariaRole==="menu"?this.ariaRole:null}}});const l3={key:1};function a3(A,C,e,n,t,i){const s=AA("o-icon");return h(),B("div",null,[A.label||A.$slots.label?(h(),B("div",{key:0,class:A.labelClasses},[A.label&&A.icon?S(s,{key:0,icon:A.icon,pack:A.iconPack,size:A.size},null,8,["icon","pack","size"]):P("v-if",!0),A.label?(h(),B("span",l3,sA(A.label),1)):dA(A.$slots,"label",{key:2})],2)):P("v-if",!0),S("ul",{class:A.listClasses,role:A.computedAriaRole},[dA(A.$slots,"default")],10,["role"])])}rr.render=a3;rr.__file="src/components/menu/MenuList.vue";var cr=TA({name:"OMenuItem",mixins:[ZA],configField:"menu",inheritAttrs:!1,props:{label:String,active:Boolean,expanded:Boolean,disabled:Boolean,iconPack:String,icon:String,animation:{type:String,default:"slide"},tag:{type:String,default:"a"},ariaRole:{type:String,default:""},size:String,itemClass:[String,Array,Function],itemActiveClass:[String,Array,Function],itemDisabledClass:[String,Array,Function],itemIconTextClass:[String,Array,Function],itemSubmenuClass:[String,Array,Function],itemWrapperClass:[String,Array,Function]},data(){return{newActive:this.active,newExpanded:this.expanded}},computed:{ariaRoleMenu(){return this.ariaRole==="menuitem"?this.ariaRole:null},itemClasses(){return{[this.computedClass("itemClass","o-menu-item")]:!0,[this.computedClass("itemActiveClass","o-menu-item--active")]:this.newActive,[this.computedClass("itemDisabledClass","o-menu-item--disabled")]:this.disabled,[this.computedClass("itemIconTextClass","o-menu-item--icon-text")]:this.icon}},submenuClasses(){return this.computedClass("itemSubmenuClass","o-menu-item__submenu")},wrapperClasses(){return this.computedClass("itemWrapperClass","o-menu-item__wrapper")}},watch:{active(A){this.newActive=A},expanded(A){this.newExpanded=A}},methods:{handleClick(){this.disabled||(this.triggerReset(),this.newExpanded=this.$props.expanded||!this.newExpanded,this.$emit("update:expanded",this.newExpanded),this.activable&&(this.newActive=!0,this.$emit("update:active",this.newActive)))},triggerReset(A){this.triggerParentReset?this.triggerParentReset(this):this.resetMenu&&this.resetMenu([this,A])},reset(){(!this.$parent.$data.isMenu||this.$parent.$data.isMenu&&this.accordion)&&(this.newExpanded=!1,this.$emit("update:expanded",this.newExpanded)),this.activable&&(this.newActive=!1,this.$emit("update:active",this.newActive))}},mounted(){this.registerMenuItem&&this.registerMenuItem(this)},provide(){return{triggerParentReset:this.triggerReset}},inject:{registerMenuItem:{default:!1},resetMenu:{default:!1},triggerParentReset:{default:!1},accordion:{default:!1},activable:{default:!1}}});const r3={key:1};function c3(A,C,e,n,t,i){const s=AA("o-icon");return h(),B("li",{role:A.ariaRoleMenu,class:A.wrapperClasses},[(h(),B(bn(A.tag),lC(A.$attrs,{class:A.itemClasses,onClick:C[1]||(C[1]=o=>A.handleClick())}),{default:_A(()=>[A.icon?S(s,{key:0,icon:A.icon,pack:A.iconPack,size:A.size},null,8,["icon","pack","size"]):P("v-if",!0),A.label?(h(),B("span",r3,sA(A.label),1)):dA(A.$slots,"label",{key:2,expanded:A.newExpanded,active:A.newActive})]),_:1},16,["class"])),P(" sub menu items "),A.$slots.default?S(ne,{key:0,name:A.animation},{default:_A(()=>[QA(S("ul",{class:A.submenuClasses},[dA(A.$slots,"default")],2),[[pC,A.newExpanded]])]),_:3},8,["name"]):P("v-if",!0)],10,["role"])}cr.render=c3;cr.__file="src/components/menu/MenuItem.vue";var u3={install(A){CC(A,ar),CC(A,rr),CC(A,cr)}};const m3=u3;var po=TA({name:"OModal",components:{[uC.name]:uC},configField:"modal",directives:{trapFocus:Hp},mixins:[ZA,Ye],emits:["update:active","close"],props:{active:Boolean,component:[Object,Function],content:String,programmatic:Object,promise:Promise,props:Object,events:Object,width:{type:[String,Number],default:()=>$(V(),"modal.width",960)},animation:{type:String,default:()=>$(V(),"modal.animation","zoom-out")},canCancel:{type:[Array,Boolean],default:()=>$(V(),"modal.canCancel",["escape","x","outside","button"])},onCancel:{type:Function,default:()=>{}},onClose:{type:Function,default:()=>{}},scroll:{type:String,default:()=>$(V(),"modal.scroll","keep")},fullScreen:Boolean,trapFocus:{type:Boolean,default:()=>$(V(),"modal.trapFocus",!0)},ariaRole:{type:String,validator:A=>["dialog","alertdialog"].indexOf(A)>=0},ariaModal:Boolean,ariaLabel:String,destroyOnHide:{type:Boolean,default:()=>$(V(),"modal.destroyOnHide",!0)},autoFocus:{type:Boolean,default:()=>$(V(),"modal.autoFocus",!0)},closeIcon:{type:String,default:()=>$(V(),"modal.closeIcon","close")},closeIconSize:{type:String,default:"medium"},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],contentClass:[String,Function,Array],closeClass:[String,Function,Array],fullScreenClass:[String,Function,Array],mobileClass:[String,Function,Array],scrollClipClass:[String,Function,Array],noScrollClass:[String,Function,Array]},data(){return{isActive:this.active||!1,savedScrollTop:null,newWidth:Tn(this.width),animating:!this.active,destroyed:!this.active}},computed:{rootClasses(){return[this.computedClass("rootClass","o-modal"),{[this.computedClass("mobileClass","o-modal--mobile")]:this.isMatchMedia}]},overlayClasses(){return[this.computedClass("overlayClass","o-modal__overlay")]},contentClasses(){return[this.computedClass("contentClass","o-modal__content"),{[this.computedClass("fullScreenClass","o-modal__content--full-screen")]:this.fullScreen}]},closeClasses(){return[this.computedClass("closeClass","o-modal__close")]},scrollClass(){return this.scroll==="clip"?this.computedClass("scrollClipClass","o-clipped"):this.computedClass("noScrollClass","o-noscroll")},cancelOptions(){return typeof this.canCancel=="boolean"?this.canCancel?$(V(),"modal.canCancel",["escape","x","outside","button"]):[]:this.canCancel},showX(){return this.cancelOptions.indexOf("x")>=0},customStyle(){return this.fullScreen?null:{maxWidth:this.newWidth}}},watch:{active(A){this.isActive=A},isActive(A){A&&(this.destroyed=!1),this.handleScroll(),this.$nextTick(()=>{A&&this.$el&&this.$el.focus&&this.autoFocus&&this.$el.focus()})}},methods:{handleScroll(){if(!(typeof window>"u")){if(this.scroll==="clip"&&this.scrollClass){this.isActive?document.documentElement.classList.add(this.scrollClass):document.documentElement.classList.remove(this.scrollClass);return}if(this.savedScrollTop=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop,this.scrollClass&&(this.isActive?document.body.classList.add(this.scrollClass):document.body.classList.remove(this.scrollClass)),this.isActive){document.body.style.top=`-${this.savedScrollTop}px`;return}document.documentElement.scrollTop=this.savedScrollTop,document.body.style.top=null,this.savedScrollTop=null}},cancel(A){this.cancelOptions.indexOf(A)<0||(this.onCancel.apply(null,arguments),this.close({action:"cancel",method:A}))},close(){this.isActive=!1,this.destroyOnHide&&(this.destroyed=!0),this.$emit("update:active",!1),this.onClose.apply(null,arguments),this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.remove(this),this.programmatic.resolve&&this.programmatic.resolve.apply(null,arguments),window.requestAnimationFrame(()=>{Hn(this.$el)}))},keyPress({key:A}){this.isActive&&(A==="Escape"||A==="Esc")&&this.cancel("escape")},afterEnter(){this.animating=!1},beforeLeave(){this.animating=!0}},created(){typeof window<"u"&&document.addEventListener("keyup",this.keyPress)},mounted(){this.programmatic?(this.programmatic.instances&&this.programmatic.instances.add(this),document.body.appendChild(this.$el),this.isActive=!0):this.isActive&&this.handleScroll()},beforeUnmount(){if(typeof window<"u"){document.removeEventListener("keyup",this.keyPress);const A=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop;this.scrollClass&&(document.body.classList.remove(this.scrollClass),document.documentElement.classList.remove(this.scrollClass)),document.documentElement.scrollTop=A,document.body.style.top=null}}});const d3={key:1};function p3(A,C,e,n,t,i){const s=AA("o-icon"),o=Ld("trap-focus");return h(),B(ne,{name:A.animation,"onAfter-enter":A.afterEnter,"onBefore-leave":A.beforeLeave},{default:_A(()=>[A.destroyed?P("v-if",!0):QA((h(),B("div",{key:0,class:A.rootClasses,tabindex:-1,role:A.ariaRole,"aria-label":A.ariaLabel,"aria-modal":A.ariaModal},[S("div",{class:A.overlayClasses,onClick:C[1]||(C[1]=l=>A.cancel("outside"))},null,2),S("div",{class:A.contentClasses,style:A.customStyle},[A.component?(h(),B(bn(A.component),lC({key:0},A.props,Vd(A.events||{}),{onClose:A.close}),null,16,["onClose"])):A.content?(h(),B("div",d3,sA(A.content),1)):dA(A.$slots,"default",{key:2}),A.showX?QA(S(s,{key:3,clickable:"",both:"",class:A.closeClasses,icon:A.closeIcon,size:A.closeIconSize,onClick:C[2]||(C[2]=l=>A.cancel("x"))},null,8,["class","icon","size"]),[[pC,!A.animating]]):P("v-if",!0)],6)],10,["role","aria-label","aria-modal"])),[[pC,A.isActive],[o,A.trapFocus]])]),_:1},8,["name","onAfter-enter","onBefore-leave"])}po.render=p3;po.__file="src/components/modal/Modal.vue";let qp,Al=new lr;const f3={open(A){let C;typeof A=="string"?C={content:A}:C=A;const e={programmatic:{instances:Al}};let n;Array.isArray(C.content)&&(n=C.content,delete C.content);const t=bt(e,C);t.promise=new Promise((l,a)=>{t.programmatic.resolve=l,t.programmatic.reject=a});const i=qp||uo,o=S(po,t,()=>n);return o.appContext=i._context,Za(o,document.createElement("div")),o.component.proxy},closeAll(){console.log(Al),Al.walk(A=>{A.close(...arguments)})}};var h3={install(A){qp=A,CC(A,po),mo(A,"modal",f3)}};const g3=h3;var b3={components:{[uC.name]:uC},props:{active:{type:Boolean,default:!0},closable:{type:Boolean,default:!1},message:String,type:String,hasIcon:Boolean,icon:String,iconPack:String,iconSize:{type:String,default:"large"},autoClose:{type:Boolean,default:!1},duration:{type:Number,default:2e3}},data(){return{isActive:this.active}},watch:{active(A){this.isActive=A},isActive(A){A?this.setAutoClose():this.timer&&clearTimeout(this.timer)}},computed:{computedIcon(){if(this.icon)return this.icon;switch(this.type){case"info":return"information";case"success":return"check-circle";case"warning":return"alert";case"danger":return"alert-circle";default:return null}}},methods:{close(){this.isActive=!1,this.$emit("close",...arguments),this.$emit("update:active",!1)},setAutoClose(){this.autoClose&&(this.timer=setTimeout(()=>{this.isActive&&this.close({action:"close",method:"timeout"})},this.duration))}},mounted(){this.setAutoClose()}},ur={name:"ONotification",configField:"notification",mixins:[ZA,b3],emits:["update:active","close"],props:{position:String,variant:[String,Object],ariaCloseLabel:String,closeIconSize:{type:String,default:"small"},animation:{type:String,default:"fade"},component:[Object,Function],props:Object,events:{type:Object,default:()=>({})},closeIcon:{type:String,default:()=>$(V(),"notification.closeIcon","close")},rootClass:[String,Function,Array],closeClass:[String,Function,Array],contentClass:[String,Function,Array],iconClass:[String,Function,Array],positionClass:[String,Function,Array],variantClass:[String,Function,Array],wrapperClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-notification"),{[this.computedClass("variantClass","o-notification--",this.variant)]:this.variant},{[this.computedClass("positionClass","o-notification--",this.position)]:this.position}]},wrapperClasses(){return[this.computedClass("wrapperClass","o-notification__wrapper")]},iconClasses(){return[this.computedClass("iconClass","o-notification__icon")]},contentClasses(){return[this.computedClass("contentClass","o-notification__content")]},closeClasses(){return[this.computedClass("closeClass","o-notification__close")]}}};function E3(A,C,e,n,t,i){const s=AA("o-icon");return h(),B(ne,{name:e.animation},{default:_A(()=>[QA(S("article",{class:i.rootClasses},[A.closable?(h(),B("button",{key:0,class:i.closeClasses,type:"button",onClick:C[1]||(C[1]=o=>A.close({action:"close",method:"x"})),"aria-label":e.ariaCloseLabel},[S(s,{clickable:"",pack:A.iconPack,both:"",icon:e.closeIcon,size:e.closeIconSize},null,8,["pack","icon","size"])],10,["aria-label"])):P("v-if",!0),e.component?(h(),B(bn(e.component),lC({key:1},e.props,Vd(e.events),{onClose:A.close}),null,16,["onClose"])):P("v-if",!0),A.$slots.default||A.message?(h(),B("div",{key:2,class:i.wrapperClasses},[A.computedIcon?S(s,{key:0,icon:A.computedIcon,pack:A.iconPack,class:i.iconClasses,both:"",size:A.iconSize,"aria-hidden":""},null,8,["icon","pack","class","size"]):P("v-if",!0),S("div",{class:i.contentClasses},[A.message?(h(),B("span",{key:0,innerHTML:A.message},null,8,["innerHTML"])):dA(A.$slots,"default",{key:1,closeNotification:A.close})],2)],2)):P("v-if",!0)],2),[[pC,A.isActive]])]),_:1},8,["name"])}ur.render=E3;ur.__file="src/components/notification/Notification.vue";var y3={props:{type:{type:String},message:[String,Array],duration:{type:Number,default:()=>$(V(),"notification.duration",1e3)},queue:{type:Boolean,default:()=>$(V(),"notification.noticeQueue",void 0)},indefinite:{type:Boolean,default:!1},position:{type:String,default:"top",validator(A){return["top-right","top","top-left","bottom-right","bottom","bottom-left"].indexOf(A)>-1}},container:{type:String,default:()=>$(V(),"notification.containerElement",void 0)},programmatic:Object,promise:Promise,onClose:{type:Function,default:()=>{}}},data(){return{isActive:!1,parentTop:null,parentBottom:null,newDuration:this.duration,newContainer:this.container}},computed:{correctParent(){switch(this.position){case"top-right":case"top":case"top-left":return this.parentTop;case"bottom-right":case"bottom":case"bottom-left":return this.parentBottom}},transition(){switch(this.position){case"top-right":case"top":case"top-left":return{enter:"fadeInDown",leave:"fadeOut"};case"bottom-right":case"bottom":case"bottom-left":return{enter:"fadeInUp",leave:"fadeOut"}}}},methods:{shouldQueue(){return this.queue?this.parentTop.childElementCount>0||this.parentBottom.childElementCount>0:!1},close(){clearTimeout(this.timer),this.$emit("close"),this.onClose.apply(null,arguments),this.programmatic&&(this.programmatic.instances&&this.programmatic.instances.remove(this),this.programmatic.resolve&&this.programmatic.resolve.apply(null,arguments)),setTimeout(()=>{this.isActive=!1,Hn(this.$el)},150)},showNotice(){this.shouldQueue()&&(this.correctParent.innerHTML=""),this.correctParent.insertAdjacentElement("afterbegin",this.$el),this.isActive=!0,this.indefinite||(this.timer=setTimeout(()=>this.timeoutCallback(),this.newDuration))},setupContainer(){if(this.rootClasses()&&this.positionClasses("top")&&this.positionClasses("bottom")){if(this.parentTop=document.querySelector((this.newContainer?this.newContainer:"body")+`>.${this.rootClasses().join(".")}.${this.positionClasses("top").join(".")}`),this.parentBottom=document.querySelector((this.newContainer?this.newContainer:"body")+`>.${this.rootClasses().join(".")}.${this.positionClasses("bottom").join(".")}`),this.parentTop&&this.parentBottom)return;this.parentTop||(this.parentTop=document.createElement("div"),this.parentTop.className=`${this.rootClasses().join(" ")} ${this.positionClasses("top").join(" ")}`),this.parentBottom||(this.parentBottom=document.createElement("div"),this.parentBottom.className=`${this.rootClasses().join(" ")} ${this.positionClasses("bottom").join(" ")}`);const A=document.querySelector(this.newContainer)||document.body;if(A.appendChild(this.parentTop),A.appendChild(this.parentBottom),this.newContainer){const C=this.noticeCustomContainerClasses();C&&C.length&&C.filter(e=>!!e).forEach(e=>{this.parentTop.classList.add(e),this.parentBottom.classList.add(e)})}}},timeoutCallback(){return this.close({action:"close",method:"timeout"})}},beforeMount(){this.setupContainer()},mounted(){this.programmatic&&this.programmatic.instances&&this.programmatic.instances.add(this),this.showNotice()}},mr=TA({name:"ONotificationNotice",configField:"notification",mixins:[ZA,y3],props:{propsNotification:Object,noticeClass:[String,Function,Array],noticePositionClass:[String,Function,Array],noticeCustomContainerClass:[String,Function,Array]},emits:["update:active","close"],methods:{rootClasses(){return[this.computedClass("noticeClass","o-notices")]},positionClasses(A){return[this.computedClass("noticePositionClass","o-notices--",A)]},noticeCustomContainerClasses(){return[this.computedClass("noticeCustomContainerClass","o-notices__custom-container")]},timeoutCallback(){return this.$refs.notification.close({action:"close",method:"timeout"})}}});function v3(A,C,e,n,t,i){const s=AA("o-notification");return h(),B(s,lC(A.propsNotification,{ref:"notification",onClose:A.close}),{default:_A(()=>[dA(A.$slots,"default")]),_:3},16,["onClose"])}mr.render=v3;mr.__file="src/components/notification/NotificationNotice.vue";let Wp,ru=new lr;const w3={open(A){let C;typeof A=="string"?C={message:A}:C=A;const e={programmatic:{instances:ru},position:$(V(),"notification.position","top-right"),closable:A.closable||$(V(),"notification.closable",!1)};let n;Array.isArray(C.message)&&(n=C.message,delete C.message),C.active=!0;const t=bt(e,C);t.promise=new Promise((l,a)=>{t.programmatic.resolve=l,t.programmatic.reject=a});const i=Wp||uo;t.propsNotification=Object.assign({},t),t.propsNotification.isActive=!0;const o=S(mr,t,()=>n);return o.appContext=i._context,Za(o,document.createElement("div")),o.component.proxy},closeAll(){ru.walk(A=>{A.close(...arguments)})}};var B3={install(A){Wp=A,CC(A,ur),mo(A,"notification",w3)}};const S3=B3;var ei=TA({name:"OPaginationButton",inject:["$pagination"],configField:"pagination",props:{page:{type:Object,required:!0},tag:{type:String,default:"a",validator:A=>$(V(),"linkTags",["a","button","input","router-link","nuxt-link"]).indexOf(A)>=0},disabled:{type:Boolean,default:!1},linkClass:[String,Array,Object],linkCurrentClass:[String,Array,Object]},computed:{linkClasses(){return[this.linkClass||[...this.$pagination.linkClasses],this.page.class,{[this.linkCurrentClass||this.$pagination.linkCurrentClasses]:this.page.isCurrent}]},href(){return this.tag==="a"?"#":""},isDisabled(){return this.tag==="a"?null:this.disabled||this.page.disabled}}});function k3(A,C,e,n,t,i){return h(),B(bn(A.tag),lC({role:"button",href:A.href,disabled:A.isDisabled,class:A.linkClasses},A.$attrs,{onClick:MA(A.page.click,["prevent"]),"aria-label":A.page["aria-label"],"aria-current":A.page.isCurrent}),{default:_A(()=>[dA(A.$slots,"default",{},()=>[tC(sA(A.page.number),1)])]),_:3},16,["href","disabled","class","onClick","aria-label","aria-current"])}ei.render=k3;ei.__file="src/components/pagination/PaginationButton.vue";var ni=TA({name:"OPagination",components:{[uC.name]:uC,[ei.name]:ei},configField:"pagination",mixins:[ZA,Ye],provide(){return{$pagination:this}},emits:["update:active","change","update:current"],props:{total:[Number,String],perPage:{type:[Number,String],default:()=>$(V(),"pagination.perPage",20)},current:{type:[Number,String],default:1},rangeBefore:{type:[Number,String],default:1},rangeAfter:{type:[Number,String],default:1},size:String,simple:Boolean,rounded:Boolean,order:{type:String,default:()=>$(V(),"pagination.order","right")},iconPack:String,iconPrev:{type:String,default:()=>$(V(),"pagination.iconPrev","chevron-left")},iconNext:{type:String,default:()=>$(V(),"pagination.iconNext","chevron-right")},ariaNextLabel:String,ariaPreviousLabel:String,ariaPageLabel:String,ariaCurrentLabel:String,rootClass:[String,Function,Array],prevBtnClass:[String,Function,Array],nextBtnClass:[String,Function,Array],listClass:[String,Function,Array],linkClass:[String,Function,Array],linkCurrentClass:[String,Function,Array],ellipsisClass:[String,Function,Array],infoClass:[String,Function,Array],orderClass:[String,Function,Array],simpleClass:[String,Function,Array],roundedClass:[String,Function,Array],linkDisabledClass:[String,Function,Array],sizeClass:[String,Function,Array],mobileClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-pag"),{[this.computedClass("orderClass","o-pag--",this.order)]:this.order},{[this.computedClass("sizeClass","o-pag--",this.size)]:this.size},{[this.computedClass("simpleClass","o-pag--simple")]:this.simple},{[this.computedClass("mobileClass","o-pag--mobile")]:this.isMatchMedia}]},prevBtnClasses(){return[this.computedClass("prevBtnClass","o-pag__previous"),{[this.computedClass("linkDisabledClass","o-pag__link--disabled")]:!this.hasPrev}]},nextBtnClasses(){return[this.computedClass("nextBtnClass","o-pag__next"),{[this.computedClass("linkDisabledClass","o-pag__link--disabled")]:!this.hasNext}]},infoClasses(){return[this.computedClass("infoClass","o-pag__info")]},ellipsisClasses(){return[this.computedClass("ellipsisClass","o-pag__ellipsis")]},listClasses(){return[this.computedClass("listClass","o-pag__list")]},linkClasses(){return[this.computedClass("linkClass","o-pag__link"),{[this.computedClass("roundedClass","o-pag__link--rounded")]:this.rounded}]},linkCurrentClasses(){return[this.computedClass("linkCurrentClass","o-pag__link--current")]},beforeCurrent(){return parseInt(this.rangeBefore)},afterCurrent(){return parseInt(this.rangeAfter)},pageCount(){return Math.ceil(this.total/this.perPage)},firstItem(){const A=this.current*this.perPage-this.perPage+1;return A>=0?A:0},hasPrev(){return this.current>1},hasFirst(){return this.current>=2+this.beforeCurrent},hasFirstEllipsis(){return this.current>=this.beforeCurrent+4},hasLast(){return this.current<=this.pageCount-(1+this.afterCurrent)},hasLastEllipsis(){return this.current<this.pageCount-(2+this.afterCurrent)},hasNext(){return this.current<this.pageCount},pagesInRange(){if(this.simple)return;let A=Math.max(1,this.current-this.beforeCurrent);A-1===2&&A--;let C=Math.min(this.current+this.afterCurrent,this.pageCount);this.pageCount-C===2&&C++;const e=[];for(let n=A;n<=C;n++)e.push(this.getPage(n));return e},hasDefaultSlot(){return this.$slots.default},hasPreviousSlot(){return this.$slots.previous},hasNextSlot(){return this.$slots.next}},watch:{pageCount(A){this.current>A&&this.last()}},methods:{prev(A){this.changePage(this.current-1,A)},next(A){this.changePage(this.current+1,A)},first(A){this.changePage(1,A)},last(A){this.changePage(this.pageCount,A)},changePage(A,C){this.current===A||A<1||A>this.pageCount||(this.$emit("change",A),this.$emit("update:current",A),C&&C.target&&this.$nextTick(()=>C.target.focus()))},getPage(A,C={}){return{number:A,isCurrent:this.current===A,click:e=>this.changePage(A,e),disabled:C.disabled||!1,class:C.class||"","aria-label":C["aria-label"]||this.getAriaPageLabel(A,this.current===A)}},getAriaPageLabel(A,C){return this.ariaPageLabel&&(!C||!this.ariaCurrentLabel)?this.ariaPageLabel+" "+A+".":this.ariaPageLabel&&C&&this.ariaCurrentLabel?this.ariaCurrentLabel+", "+this.ariaPageLabel+" "+A+".":null}}});const _3={key:0},x3={key:1},j3={key:2},I3={key:3};function M3(A,C,e,n,t,i){const s=AA("o-icon"),o=AA("o-pagination-button");return h(),B("nav",{class:A.rootClasses},[A.hasPreviousSlot?dA(A.$slots,"previous",{key:0,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current-1,{class:A.prevBtnClasses,"aria-label":A.ariaPreviousLabel})},()=>[S(s,{icon:A.iconPrev,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]):S(o,{key:1,class:A.prevBtnClasses,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current-1)},{default:_A(()=>[S(s,{icon:A.iconPrev,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]),_:1},8,["class","linkClass","linkCurrentClass","page"]),A.hasNextSlot?dA(A.$slots,"next",{key:2,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current+1,{class:A.nextBtnClasses,"aria-label":A.ariaNextLabel})},()=>[S(s,{icon:A.iconNext,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]):S(o,{key:3,class:A.nextBtnClasses,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.current+1)},{default:_A(()=>[S(s,{icon:A.iconNext,pack:A.iconPack,both:"","aria-hidden":"true"},null,8,["icon","pack"])]),_:1},8,["class","linkClass","linkCurrentClass","page"]),A.simple?(h(),B("small",{key:4,class:A.infoClasses},[A.perPage==1?(h(),B(hA,{key:0},[tC(sA(A.firstItem)+" / "+sA(A.total),1)],64)):(h(),B(hA,{key:1},[tC(sA(A.firstItem)+"-"+sA(Math.min(A.current*A.perPage,A.total))+" / "+sA(A.total),1)],64))],2)):(h(),B("ul",{key:5,class:A.listClasses},[P("First"),A.hasFirst?(h(),B("li",_3,[A.hasDefaultSlot?dA(A.$slots,"default",{key:0,page:A.getPage(1),linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses}):S(o,{key:1,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(1)},null,8,["linkClass","linkCurrentClass","page"])])):P("v-if",!0),A.hasFirstEllipsis?(h(),B("li",x3,[S("span",{class:A.ellipsisClasses},"…",2)])):P("v-if",!0),P("Pages"),(h(!0),B(hA,null,XA(A.pagesInRange,l=>(h(),B("li",{key:l.number},[A.hasDefaultSlot?dA(A.$slots,"default",{key:0,page:l,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses}):S(o,{key:1,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:l},null,8,["linkClass","linkCurrentClass","page"])]))),128)),P("Last"),A.hasLastEllipsis?(h(),B("li",j3,[S("span",{class:A.ellipsisClasses},"…",2)])):P("v-if",!0),A.hasLast?(h(),B("li",I3,[A.hasDefaultSlot?dA(A.$slots,"default",{key:0,page:A.getPage(A.pageCount),linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses}):S(o,{key:1,linkClass:A.linkClasses,linkCurrentClass:A.linkCurrentClasses,page:A.getPage(A.pageCount)},null,8,["linkClass","linkCurrentClass","page"])])):P("v-if",!0)],2))],2)}ni.render=M3;ni.__file="src/components/pagination/Pagination.vue";var D3={install(A){CC(A,ni),CC(A,ei)}};const P3=D3;var dr=TA({name:"ORadio",mixins:[ZA,Up],configField:"radio",emits:["input"],props:{rootClass:[String,Function,Array],disabledClass:[String,Function,Array],checkCheckedClass:[String,Function,Array],checkClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array]},computed:{isChecked(){return this.modelValue===this.nativeValue},rootClasses(){return[this.computedClass("rootClass","o-radio"),{[this.computedClass("checkedClass","o-radio--checked")]:this.isChecked},{[this.computedClass("sizeClass","o-radio--",this.size)]:this.size},{[this.computedClass("disabledClass","o-radio--disabled")]:this.disabled},{[this.computedClass("variantClass","o-radio--",this.variant)]:this.variant}]},checkClasses(){return[this.computedClass("checkClass","o-radio__check"),{[this.computedClass("checkCheckedClass","o-radio__check--checked")]:this.isChecked}]},labelClasses(){return[this.computedClass("labelClass","o-radio__label")]}}});function O3(A,C,e,n,t,i){return h(),B("label",{class:A.rootClasses,ref:"label",onClick:C[3]||(C[3]=MA((...s)=>A.focus(...s),["stop"])),onKeydown:C[4]||(C[4]=cC(MA(s=>A.$refs.label.click(),["prevent"]),["enter"]))},[QA(S("input",{"onUpdate:modelValue":C[1]||(C[1]=s=>A.computedValue=s),type:"radio",ref:"input",onClick:C[2]||(C[2]=MA(()=>{},["stop"])),class:A.checkClasses,disabled:A.disabled,required:A.required,name:A.name,value:A.nativeValue},null,10,["disabled","required","name","value"]),[[hp,A.computedValue]]),S("span",{class:A.labelClasses},[dA(A.$slots,"default")],2)],34)}dr.render=O3;dr.__file="src/components/radio/Radio.vue";var L3={install(A){CC(A,dr)}};const K3=L3;var F3={install(A){CC(A,Ve)}};const T3=F3;var Yp=TA({name:"OSkeleton",mixins:[ZA],configField:"skeleton",props:{active:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},width:[Number,String],height:[Number,String],circle:Boolean,rounded:{type:Boolean,default:!0},count:{type:Number,default:1},position:{type:String,default:"left",validator(A){return["left","centered","right"].indexOf(A)>-1}},size:String,rootClass:[String,Function,Array],animationClass:[String,Function,Array],positionClass:[String,Function,Array],itemClass:[String,Function,Array],itemRoundedClass:[String,Function,Array],sizeClass:[String,Function,Array]},render(){if(!this.active)return;const A=[],C=this.width,e=this.height;for(let n=0;n<this.count;n++)A.push(HC("div",{class:[this.computedClass("itemClass","o-sklt__item"),{[this.computedClass("itemRoundedClass","o-sklt__item--rounded")]:this.rounded},{[this.computedClass("animationClass","o-sklt__item--animated")]:this.animated},{[this.computedClass("sizeClass","o-sklt__item--",this.size)]:this.size}],key:n,style:{height:Tn(e),width:Tn(C),borderRadius:this.circle?"50%":null}}));return HC("div",{class:[this.computedClass("rootClass","o-sklt"),{[this.computedClass("positionClass","o-sklt--",this.position)]:this.position}]},A)}});Yp.__file="src/components/skeleton/Skeleton.vue";var N3={install(A){CC(A,Yp)}};const $3=N3;var pr=TA({name:"OSidebar",mixins:[ZA,Ye],configField:"sidebar",emits:["update:open","close"],props:{open:Boolean,variant:[String,Object],overlay:Boolean,position:{type:String,default:()=>$(V(),"sidebar.position","fixed"),validator:A=>["fixed","absolute","static"].indexOf(A)>=0},fullheight:Boolean,fullwidth:Boolean,right:Boolean,mobile:{type:String,validator:A=>["","fullwidth","reduced","hidden"].indexOf(A)>=0},reduce:Boolean,expandOnHover:Boolean,expandOnHoverFixed:Boolean,canCancel:{type:[Array,Boolean],default:()=>$(V(),"sidebar.canCancel",["escape","outside"])},onCancel:{type:Function,default:()=>{}},scroll:{type:String,default:()=>$(V(),"sidebar.scroll","clip"),validator:A=>["clip","keep"].indexOf(A)>=0},rootClass:[String,Function,Array],overlayClass:[String,Function,Array],contentClass:[String,Function,Array],fixedClass:[String,Function,Array],staticClass:[String,Function,Array],absoluteClass:[String,Function,Array],fullheightClass:[String,Function,Array],fullwidthClass:[String,Function,Array],rightClass:[String,Function,Array],reduceClass:[String,Function,Array],expandOnHoverClass:[String,Function,Array],expandOnHoverFixedClass:[String,Function,Array],variantClass:[String,Function,Array],mobileClass:[String,Function,Array],scrollClipClass:[String,Function,Array],noScrollClass:[String,Function,Array],hiddenClass:[String,Function,Array],visibleClass:[String,Function,Array]},data(){return{isOpen:this.open,transitionName:null,animating:!0,savedScrollTop:null}},computed:{rootClasses(){return[this.computedClass("rootClass","o-side"),{[this.computedClass("mobileClass","o-side--mobile")]:this.isMatchMedia}]},overlayClasses(){return[this.computedClass("overlayClass","o-side__overlay")]},contentClasses(){return[this.computedClass("contentClass","o-side__content"),{[this.computedClass("variantClass","o-side__content--",this.variant)]:this.variant},{[this.computedClass("fixedClass","o-side__content--fixed")]:this.isFixed},{[this.computedClass("staticClass","o-side__content--static")]:this.isStatic},{[this.computedClass("absoluteClass","o-side__content--absolute")]:this.isAbsolute},{[this.computedClass("fullheightClass","o-side__content--fullheight")]:this.fullheight},{[this.computedClass("fullwidthClass","o-side__content--fullwidth")]:this.fullwidth||this.mobile==="fullwidth"&&this.isMatchMedia},{[this.computedClass("rightClass","o-side__content--right")]:this.right},{[this.computedClass("reduceClass","o-side__content--mini")]:this.reduce||this.mobile==="reduced"&&this.isMatchMedia},{[this.computedClass("expandOnHoverClass","o-side__content--mini-expand")]:this.expandOnHover&&this.mobile!=="fullwidth"},{[this.computedClass("expandOnHoverFixedClass","o-side__content--expand-mini-hover-fixed")]:this.expandOnHover&&this.expandOnHoverFixed&&this.mobile!=="fullwidth"},{[this.computedClass("visibleClass","o-side__content--visible")]:this.isOpen},{[this.computedClass("hiddenClass","o-side__content--hidden")]:!this.isOpen}]},scrollClass(){return this.scroll==="clip"?this.computedClass("scrollClipClass","o-clipped"):this.computedClass("noScrollClass","o-noscroll")},cancelOptions(){return typeof this.canCancel=="boolean"?this.canCancel?$(V(),"sidebar.canCancel",["escape","outside"]):[]:this.canCancel},isStatic(){return this.position==="static"},isFixed(){return this.position==="fixed"},isAbsolute(){return this.position==="absolute"},hideOnMobile(){return this.mobile==="hidden"&&this.isMatchMedia}},watch:{open:{handler(A){this.isOpen=A,this.overlay&&this.handleScroll();const C=this.right?!A:A;this.transitionName=C?"slide-next":"slide-prev"},immediate:!0}},methods:{keyPress({key:A}){this.isFixed&&this.isOpen&&(A==="Escape"||A==="Esc")&&this.cancel("escape")},cancel(A){this.cancelOptions.indexOf(A)<0||this.isStatic||(this.onCancel.apply(null,arguments),this.close())},close(){this.isOpen=!1,this.$emit("close"),this.$emit("update:open",!1)},clickedOutside(A){!this.isFixed||!this.isOpen||this.animating||A.composedPath().includes(this.$refs.sidebarContent)||this.cancel("outside")},beforeEnter(){this.animating=!0},afterEnter(){this.animating=!1},handleScroll(){if(!(typeof window>"u")){if(this.scroll==="clip"&&this.scrollClass){this.open?document.documentElement.classList.add(this.scrollClass):document.documentElement.classList.remove(this.scrollClass);return}if(this.savedScrollTop=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop,this.scrollClass&&(this.open?document.body.classList.add(this.scrollClass):document.body.classList.remove(this.scrollClass)),this.open){document.body.style.top=`-${this.savedScrollTop}px`;return}document.documentElement.scrollTop=this.savedScrollTop,document.body.style.top=null,this.savedScrollTop=null}}},created(){typeof window<"u"&&(document.addEventListener("keyup",this.keyPress),document.addEventListener("click",this.clickedOutside))},mounted(){typeof window<"u"&&(this.isFixed&&document.body.appendChild(this.$el),this.overlay&&this.open&&this.handleScroll())},beforeUnmount(){if(typeof window<"u"&&(document.removeEventListener("keyup",this.keyPress),document.removeEventListener("click",this.clickedOutside),this.overlay)){const A=this.savedScrollTop?this.savedScrollTop:document.documentElement.scrollTop;this.scrollClass&&(document.body.classList.remove(this.scrollClass),document.documentElement.classList.remove(this.scrollClass)),document.documentElement.scrollTop=A,document.body.style.top=null}this.isFixed&&Hn(this.$el)}});function R3(A,C,e,n,t,i){return QA((h(),B("div",{class:A.rootClasses},[A.overlay&&A.isOpen?(h(),B("div",{key:0,class:A.overlayClasses},null,2)):P("v-if",!0),S(ne,{name:A.transitionName,"onBefore-enter":A.beforeEnter,"onAfter-enter":A.afterEnter},{default:_A(()=>[QA(S("div",{ref:"sidebarContent",class:A.contentClasses},[dA(A.$slots,"default")],2),[[pC,A.isOpen]])]),_:3},8,["name","onBefore-enter","onAfter-enter"])],2)),[[pC,!A.hideOnMobile]])}pr.render=R3;pr.__file="src/components/sidebar/Sidebar.vue";var G3={install(A){CC(A,pr)}};const U3=G3,Cl={top:"bottom",bottom:"top",right:"left",left:"right"};function Q3(A,C){const e=Math.max(A.left,C.left),n=Math.min(A.right,C.right),t=Math.max(A.top,C.top),i=Math.min(A.bottom,C.bottom);return Math.max(n-e,0)*Math.max(i-t,0)}const cu=A=>({top:{x:(A.left+A.right)*.5,y:A.top},bottom:{x:(A.left+A.right)*.5,y:A.bottom},left:{x:A.left,y:(A.top+A.bottom)*.5},right:{x:A.right,y:(A.top+A.bottom)*.5}});var ti=TA({name:"OTooltip",mixins:[ZA],configField:"tooltip",emits:["open","close"],props:{active:{type:Boolean,default:!0},label:String,delay:Number,position:{type:String,default:()=>$(V(),"tooltip.position","top"),validator:A=>["top","bottom","left","right","auto"].indexOf(A)>-1},triggers:{type:Array,default:()=>$(V(),"tooltip.triggers",["hover"])},always:Boolean,animated:{type:Boolean,default:!0},animation:{type:String,default:()=>$(V(),"tooltip.animation","fade")},autoClose:{type:[Array,Boolean],default:!0},multiline:Boolean,appendToBody:Boolean,variant:[String,Function,Array],rootClass:[String,Function,Array],contentClass:[String,Function,Array],orderClass:[String,Function,Array],triggerClass:[String,Function,Array],multilineClass:[String,Function,Array],alwaysClass:[String,Function,Array],variantClass:[String,Function,Array],arrowClass:[String,Function,Array],arrowOrderClass:[String,Function,Array]},data(){return{isActive:!1,triggerStyle:{},bodyEl:void 0,metrics:null}},computed:{rootClasses(){return[this.computedClass("rootClass","o-tip")]},triggerClasses(){return[this.computedClass("triggerClass","o-tip__trigger")]},arrowClasses(){return[this.computedClass("arrowClass","o-tip__arrow"),{[this.computedClass("arrowOrderClass","o-tip__arrow--",this.newPosition)]:this.newPosition},{[this.computedClass("variantArrowClass","o-tip__arrow--",this.variant)]:this.variant}]},contentClasses(){return[this.computedClass("contentClass","o-tip__content"),{[this.computedClass("orderClass","o-tip__content--",this.newPosition)]:this.newPosition},{[this.computedClass("variantClass","o-tip__content--",this.variant)]:this.variant},{[this.computedClass("multilineClass","o-tip__content--multiline")]:this.multiline},{[this.computedClass("alwaysClass","o-tip__content--always")]:this.always}]},newAnimation(){return this.animated?this.animation:void 0},newPosition(){if(this.position!=="auto")return this.position;const A=$(V(),"tooltip.position","top");let C=A;if(this.metrics!=null){let e;const n=window.visualViewport;n!=null?$2()?e=new DOMRect(0,0,n.width,n.height):e=new DOMRect(n.offsetLeft,n.offsetTop,n.width,n.height):e=new DOMRect(0,0,document.documentElement.clientWidth,document.documentElement.clientHeight);const t=cu(this.metrics.trigger),i=this.metrics.content,s=cu(i),o=m=>{const g=t[m],y=s[Cl[m]];return new DOMRect(i.x+(g.x-y.x),i.y+(g.y-y.y),i.width,i.height)},l=Cl[A],a=A==="top"||A==="bottom"?"left":"top",r=Cl[a],p=[A,l,a,r];let d=0;for(const m of p){const g=Q3(e,o(m));g>d&&(d=g,C=m)}}return C}},watch:{isActive(A){this.$emit(A?"open":"close"),A&&this.position==="auto"&&this.$nextTick(()=>{this.metrics={content:this.$refs.content.getBoundingClientRect(),trigger:this.$refs.trigger.getBoundingClientRect()}}),A&&this.appendToBody&&this.updateAppendToBody()}},methods:{updateAppendToBody(){const A=this.$refs.tooltip,C=this.$refs.trigger;if(A&&C){const e=this.$data.bodyEl.children[0];e.classList.forEach(o=>e.classList.remove(...o.split(" "))),this.$vnode&&this.$vnode.data&&this.$vnode.data.staticClass&&e.classList.add(this.$vnode.data.staticClass),this.rootClasses.forEach(o=>{typeof o=="object"?Object.keys(o).filter(l=>l&&o[l]).forEach(l=>e.classList.add(l)):e.classList.add(...o.split(" "))}),e.style.width=`${C.clientWidth}px`,e.style.height=`${C.clientHeight}px`;const n=C.getBoundingClientRect(),t=n.top+window.scrollY,i=n.left+window.scrollX,s=this.$data.bodyEl;s.style.position="absolute",s.style.top=`${t}px`,s.style.left=`${i}px`,s.style.zIndex=this.isActive||this.always?"99":"-1",this.triggerStyle={zIndex:this.isActive||this.always?"100":void 0}}},onClick(){this.triggers.indexOf("click")<0||this.$nextTick(()=>{setTimeout(()=>this.open())})},onHover(){this.triggers.indexOf("hover")<0||this.open()},onFocus(){this.triggers.indexOf("focus")<0||this.open()},onContextMenu(A){this.triggers.indexOf("contextmenu")<0||(A.preventDefault(),this.open())},open(){this.delay?this.timer=setTimeout(()=>{this.isActive=!0,this.timer=null},this.delay):this.isActive=!0},close(){typeof this.autoClose=="boolean"&&(this.isActive=!this.autoClose),this.autoClose&&this.timer&&clearTimeout(this.timer)},clickedOutside(A){this.isActive&&Array.isArray(this.autoClose)&&(this.autoClose.indexOf("outside")>=0&&(this.isInWhiteList(A.target)||(this.isActive=!1)),this.autoClose.indexOf("inside")>=0&&this.isInWhiteList(A.target)&&(this.isActive=!1))},keyPress({key:A}){this.isActive&&(A==="Escape"||A==="Esc")&&Array.isArray(this.autoClose)&&this.autoClose.indexOf("escape")>=0&&(this.isActive=!1)},isInWhiteList(A){if(A===this.$refs.content)return!0;if(this.$refs.content!==void 0){const C=this.$refs.content.querySelectorAll("*");for(const e of C)if(A===e)return!0}return!1}},mounted(){this.appendToBody&&(this.$data.bodyEl=er(this.$refs.content),this.updateAppendToBody())},created(){typeof window<"u"&&(document.addEventListener("click",this.clickedOutside),document.addEventListener("keyup",this.keyPress))},beforeUnmount(){typeof window<"u"&&(document.removeEventListener("click",this.clickedOutside),document.removeEventListener("keyup",this.keyPress)),this.appendToBody&&Hn(this.$data.bodyEl)}});function H3(A,C,e,n,t,i){return h(),B("div",{ref:"tooltip",class:A.rootClasses},[S(ne,{name:A.newAnimation,"onAfter-leave":C[1]||(C[1]=s=>A.metrics=null),"onEnter-cancelled":C[2]||(C[2]=s=>A.metrics=null)},{default:_A(()=>[QA(S("div",{ref:"content",class:A.contentClasses},[S("span",{class:A.arrowClasses},null,2),A.label?(h(),B(hA,{key:0},[tC(sA(A.label),1)],64)):A.$slots.default?dA(A.$slots,"content",{key:1}):P("v-if",!0)],2),[[pC,A.active&&(A.isActive||A.always)]])]),_:1},8,["name"]),S("div",{ref:"trigger",class:A.triggerClasses,style:A.triggerStyle,onClick:C[3]||(C[3]=(...s)=>A.onClick(...s)),onContextmenu:C[4]||(C[4]=(...s)=>A.onContextMenu(...s)),onMouseenter:C[5]||(C[5]=(...s)=>A.onHover(...s)),onFocusCapture:C[6]||(C[6]=(...s)=>A.onFocus(...s)),onBlurCapture:C[7]||(C[7]=(...s)=>A.close(...s)),onMouseleave:C[8]||(C[8]=(...s)=>A.close(...s))},[dA(A.$slots,"default",{ref:"slot"})],38)],2)}ti.render=H3;ti.__file="src/components/tooltip/Tooltip.vue";var Ks=TA({name:"OSliderThumb",components:{[ti.name]:ti},configField:"slider",inheritAttrs:!1,inject:["$slider"],emits:["update:modelValue","dragstart","dragend"],props:{modelValue:{type:Number,default:0},variant:{type:String,default:""},tooltip:{type:Boolean,default:!0},indicator:{type:Boolean,default:!1},customFormatter:Function,format:{type:String,default:"raw",validator:A=>["raw","percent"].indexOf(A)>=0},locale:{type:[String,Array],default:()=>$(V(),"locale")},tooltipAlways:{type:Boolean,default:!1}},data(){return{isFocused:!1,dragging:!1,startX:0,startPosition:0,newPosition:null,oldValue:this.modelValue}},computed:{disabled(){return this.$parent.disabled},max(){return this.$parent.max},min(){return this.$parent.min},step(){return this.$parent.step},precision(){return this.$parent.precision},currentPosition(){return`${(this.modelValue-this.min)/(this.max-this.min)*100}%`},wrapperStyle(){return{left:this.currentPosition}},formattedValue(){return typeof this.customFormatter<"u"?this.customFormatter(this.modelValue):this.format==="percent"?new Intl.NumberFormat(this.locale,{style:"percent"}).format((this.modelValue-this.min)/(this.max-this.min)):new Intl.NumberFormat(this.locale).format(this.modelValue)}},methods:{onFocus(){this.isFocused=!0},onBlur(){this.isFocused=!1},onButtonDown(A){this.disabled||(A.preventDefault(),this.onDragStart(A),typeof window<"u"&&(document.addEventListener("mousemove",this.onDragging),document.addEventListener("touchmove",this.onDragging),document.addEventListener("mouseup",this.onDragEnd),document.addEventListener("touchend",this.onDragEnd),document.addEventListener("contextmenu",this.onDragEnd)))},onLeftKeyDown(){this.disabled||this.modelvalue===this.min||(this.newPosition=parseFloat(this.currentPosition)-this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onRightKeyDown(){this.disabled||this.modelvalue===this.max||(this.newPosition=parseFloat(this.currentPosition)+this.step/(this.max-this.min)*100,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onHomeKeyDown(){this.disabled||this.modelvalue===this.min||(this.newPosition=0,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onEndKeyDown(){this.disabled||this.modelvalue===this.max||(this.newPosition=100,this.setPosition(this.newPosition),this.$parent.emitValue("change"))},onDragStart(A){this.dragging=!0,this.$emit("dragstart"),A.type==="touchstart"&&(A.clientX=A.touches[0].clientX),this.startX=A.clientX,this.startPosition=parseFloat(this.currentPosition),this.newPosition=this.startPosition},onDragging(A){if(this.dragging){A.type==="touchmove"&&(A.clientX=A.touches[0].clientX);const C=(A.clientX-this.startX)/this.$parent.sliderSize()*100;this.newPosition=this.startPosition+C,this.setPosition(this.newPosition)}},onDragEnd(){this.dragging=!1,this.$emit("dragend"),this.modelvalue!==this.oldValue&&this.$parent.emitValue("change"),this.setPosition(this.newPosition),typeof window<"u"&&(document.removeEventListener("mousemove",this.onDragging),document.removeEventListener("touchmove",this.onDragging),document.removeEventListener("mouseup",this.onDragEnd),document.removeEventListener("touchend",this.onDragEnd),document.removeEventListener("contextmenu",this.onDragEnd))},setPosition(A){if(A===null||isNaN(A))return;A<0?A=0:A>100&&(A=100);const C=100/((this.max-this.min)/this.step);let n=Math.round(A/C)*C/100*(this.max-this.min)+this.min;n=parseFloat(n.toFixed(this.precision)),this.$emit("update:modelValue",n),!this.dragging&&n!==this.oldValue&&(this.oldValue=n)}}});const V3={key:0};function z3(A,C,e,n,t,i){const s=AA("o-tooltip");return h(),B("div",{class:A.$slider.thumbWrapperClasses,style:A.wrapperStyle},[S(s,{label:A.formattedValue,variant:A.variant,always:A.dragging||A.isFocused||A.tooltipAlways,active:!A.disabled&&A.tooltip},{default:_A(()=>[S("div",lC(A.$attrs,{class:A.$slider.thumbClasses,tabindex:A.disabled?!1:0,onMousedown:C[1]||(C[1]=(...o)=>A.onButtonDown(...o)),onTouchstart:C[2]||(C[2]=(...o)=>A.onButtonDown(...o)),onFocus:C[3]||(C[3]=(...o)=>A.onFocus(...o)),onBlur:C[4]||(C[4]=(...o)=>A.onBlur(...o)),onKeydown:[C[5]||(C[5]=cC(MA((...o)=>A.onLeftKeyDown(...o),["prevent"]),["left"])),C[6]||(C[6]=cC(MA((...o)=>A.onRightKeyDown(...o),["prevent"]),["right"])),C[7]||(C[7]=cC(MA((...o)=>A.onLeftKeyDown(...o),["prevent"]),["down"])),C[8]||(C[8]=cC(MA((...o)=>A.onRightKeyDown(...o),["prevent"]),["up"])),C[9]||(C[9]=cC(MA((...o)=>A.onHomeKeyDown(...o),["prevent"]),["home"])),C[10]||(C[10]=cC(MA((...o)=>A.onEndKeyDown(...o),["prevent"]),["end"]))]}),[A.indicator?(h(),B("span",V3,sA(A.formattedValue),1)):P("v-if",!0)],16,["tabindex"])]),_:1},8,["label","variant","always","active"])],6)}Ks.render=z3;Ks.__file="src/components/slider/SliderThumb.vue";var ii=TA({name:"OSliderTick",mixins:[ZA],configField:"slider",inject:["$slider"],props:{value:{variant:Number,default:0},tickClass:[String,Function,Array],tickHiddenClass:[String,Function,Array],tickLabelClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("tickClass","o-slide__tick"),{[this.computedClass("tickHiddenClass","o-slide__tick--hidden")]:this.hidden}]},tickLabelClasses(){return[this.computedClass("tickLabelClass","o-slide__tick-label")]},position(){const A=(this.value-this.$parent.min)/(this.$parent.max-this.$parent.min)*100;return A>=0&&A<=100?A:0},hidden(){return this.value===this.$parent.min||this.value===this.$parent.max},tickStyle(){return{left:this.position+"%"}}},created(){if(!this.$slider)throw new Error("You should wrap oSliderTick on a oSlider")}});function q3(A,C,e,n,t,i){return h(),B("div",{class:A.rootClasses,style:A.tickStyle},[A.$slots.default?(h(),B("span",{key:0,class:A.tickLabelClasses},[dA(A.$slots,"default")],2)):P("v-if",!0)],6)}ii.render=q3;ii.__file="src/components/slider/SliderTick.vue";var fr=TA({name:"OSlider",components:{[Ks.name]:Ks,[ii.name]:ii},configField:"slider",mixins:[ZA],provide(){return{$slider:this}},emits:["update:modelValue","change","dragging","dragstart","dragend"],props:{modelValue:{type:[Number,Array],default:0},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},variant:{type:String},size:String,ticks:{type:Boolean,default:!1},tooltip:{type:Boolean,default:()=>$(V(),"slider.tooltip",!0)},tooltipVariant:String,rounded:{type:Boolean,default:()=>$(V(),"slider.rounded",!1)},disabled:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1},customFormatter:Function,ariaLabel:[String,Array],biggerSliderFocus:{type:Boolean,default:!1},indicator:{type:Boolean,default:!1},format:{type:String,default:"raw",validator:A=>["raw","percent"].indexOf(A)>=0},locale:{type:[String,Array],default:()=>$(V(),"locale")},tooltipAlways:{type:Boolean,default:!1},rootClass:[String,Function,Array],sizeClass:[String,Function,Array],trackClass:[String,Function,Array],fillClass:[String,Function,Array],thumbRoundedClass:[String,Function,Array],thumbDraggingClass:[String,Function,Array],disabledClass:[String,Function,Array],thumbWrapperClass:[String,Function,Array],thumbClass:[String,Function,Array],variantClass:[String,Function,Array]},data(){return{value1:null,value2:null,dragging:!1,isRange:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-slide"),{[this.computedClass("sizeClass","o-slide--",this.size)]:this.size},{[this.computedClass("disabledClass","o-slide--disabled")]:this.disabled}]},trackClasses(){return[this.computedClass("trackClass","o-slide__track")]},fillClasses(){return[this.computedClass("fillClass","o-slide__fill"),{[this.computedClass("variantClass","o-slide__fill--",this.variant)]:this.variant}]},thumbClasses(){return[this.computedClass("thumbClass","o-slide__thumb"),{[this.computedClass("thumbDraggingClass","o-slide__thumb--dragging")]:this.dragging},{[this.computedClass("thumbRoundedClass","o-slide__thumb--rounded")]:this.rounded}]},thumbWrapperClasses(){return[this.computedClass("thumbWrapperClass","o-slide__thumb-wrapper")]},newTooltipVariant(){return this.tooltipVariant?this.tooltipVariant:this.variant},tickValues(){if(!this.ticks||this.min>this.max||this.step===0)return[];const A=[];for(let C=this.min+this.step;C<this.max;C=C+this.step)A.push(C);return A},minValue(){return Math.min(this.value1,this.value2)},maxValue(){return Math.max(this.value1,this.value2)},barSize(){return this.isRange?`${100*(this.maxValue-this.minValue)/(this.max-this.min)}%`:`${100*(this.value1-this.min)/(this.max-this.min)}%`},barStart(){return this.isRange?`${100*(this.minValue-this.min)/(this.max-this.min)}%`:"0%"},precision(){const A=[this.min,this.max,this.step].map(C=>{const e=(""+C).split(".")[1];return e?e.length:0});return Math.max(...A)},barStyle(){return{width:this.barSize,left:this.barStart}}},watch:{value1(){this.onInternalValueUpdate()},value2(){this.onInternalValueUpdate()},min(){this.setValues(this.value)},max(){this.setValues(this.value)},modelValue(A){this.setValues(A)}},methods:{setValues(A){if(!(this.min>this.max))if(Array.isArray(A)){this.isRange=!0;const C=typeof A[0]!="number"||isNaN(A[0])?this.min:Math.min(Math.max(this.min,A[0]),this.max),e=typeof A[1]!="number"||isNaN(A[1])?this.max:Math.max(Math.min(this.max,A[1]),this.min);this.value1=this.isThumbReversed?e:C,this.value2=this.isThumbReversed?C:e}else this.isRange=!1,this.value1=isNaN(A)?this.min:Math.min(this.max,Math.max(this.min,A)),this.value2=null},onInternalValueUpdate(){this.isRange&&(this.isThumbReversed=this.value1>this.value2),(!this.lazy||!this.dragging)&&this.emitValue("update:modelValue"),this.dragging&&this.emitValue("dragging")},sliderSize(){return this.$refs.slider.getBoundingClientRect().width},onSliderClick(A){if(this.disabled||this.isTrackClickDisabled)return;const C=this.$refs.slider.getBoundingClientRect().left,e=(A.clientX-C)/this.sliderSize()*100,n=this.min+e*(this.max-this.min)/100,t=Math.abs(n-this.value1);if(this.isRange){const i=Math.abs(n-this.value2);if(t<=i){if(t<this.step/2)return;this.$refs.button1.setPosition(e)}else{if(i<this.step/2)return;this.$refs.button2.setPosition(e)}}else{if(t<this.step/2)return;this.$refs.button1.setPosition(e)}this.emitValue("change")},onDragStart(){this.dragging=!0,this.$emit("dragstart")},onDragEnd(){this.isTrackClickDisabled=!0,setTimeout(()=>{this.isTrackClickDisabled=!1},0),this.dragging=!1,this.$emit("dragend"),this.lazy&&this.emitValue("update:modelValue")},emitValue(A){const C=this.isRange?[this.minValue,this.maxValue]:this.value1;this.$emit(A,C)}},created(){this.isThumbReversed=!1,this.isTrackClickDisabled=!1,this.setValues(this.modelValue)}});function W3(A,C,e,n,t,i){const s=AA("o-slider-tick"),o=AA("o-slider-thumb");return h(),B("div",{onClick:C[3]||(C[3]=(...l)=>A.onSliderClick(...l)),class:A.rootClasses},[S("div",{class:A.trackClasses,ref:"slider"},[S("div",{class:A.fillClasses,style:A.barStyle},null,6),A.ticks?(h(!0),B(hA,{key:0},XA(A.tickValues,(l,a)=>(h(),B(s,{key:a,value:l},null,8,["value"]))),128)):P("v-if",!0),dA(A.$slots,"default"),S(o,{modelValue:A.value1,"onUpdate:modelValue":C[1]||(C[1]=l=>A.value1=l),variant:A.newTooltipVariant,tooltip:A.tooltip,"custom-formatter":A.customFormatter,indicator:A.indicator,ref:"button1",role:"slider",format:A.format,locale:A.locale,"tooltip-always":A.tooltipAlways,"aria-valuenow":A.value1,"aria-valuemin":A.min,"aria-valuemax":A.max,"aria-orientation":"horizontal","aria-label":Array.isArray(A.ariaLabel)?A.ariaLabel[0]:A.ariaLabel,"aria-disabled":A.disabled,onDragstart:A.onDragStart,onDragend:A.onDragEnd},null,8,["modelValue","variant","tooltip","custom-formatter","indicator","format","locale","tooltip-always","aria-valuenow","aria-valuemin","aria-valuemax","aria-label","aria-disabled","onDragstart","onDragend"]),A.isRange?S(o,{key:1,modelValue:A.value2,"onUpdate:modelValue":C[2]||(C[2]=l=>A.value2=l),variant:A.newTooltipVariant,tooltip:A.tooltip,"custom-formatter":A.customFormatter,indicator:A.indicator,ref:"button2",role:"slider",format:A.format,locale:A.locale,"tooltip-always":A.tooltipAlways,"aria-valuenow":A.value2,"aria-valuemin":A.min,"aria-valuemax":A.max,"aria-orientation":"horizontal","aria-label":Array.isArray(A.ariaLabel)?A.ariaLabel[1]:"","aria-disabled":A.disabled,onDragstart:A.onDragStart,onDragend:A.onDragEnd},null,8,["modelValue","variant","tooltip","custom-formatter","indicator","format","locale","tooltip-always","aria-valuenow","aria-valuemin","aria-valuemax","aria-label","aria-disabled","onDragstart","onDragend"]):P("v-if",!0)],2)],2)}fr.render=W3;fr.__file="src/components/slider/Slider.vue";var Y3={install(A){CC(A,fr),CC(A,ii)}};const J3=Y3;var Fs=TA({name:"OSlotComponent",props:{component:{type:Object,required:!0},name:{type:String,default:"default"},props:{type:Object},tag:{type:String,default:"div"}},render(){const A=this.component.$slots[this.name](this.props);return HC(this.tag,{},A)}}),Jp=A=>TA({mixins:[Np(A,Tp)],components:{[uC.name]:uC,[Fs.name]:Fs},emits:["update:modelValue"],props:{modelValue:[String,Number],variant:[String,Object],size:String,animated:{type:Boolean,default:!0},vertical:{type:Boolean,default:!1},position:String,destroyOnHide:{type:Boolean,default:!1}},data(){return{activeId:this.modelValue,contentHeight:0,isTransitioning:!1}},computed:{activeItem(){return this.activeId!==void 0&&this.activeId!==null?this.childItems.filter(C=>C.newValue===this.activeId)[0]:this.items[0]},activeIndex(){return this.childItems.findIndex(C=>C.newValue===this.activeId)},items(){return this.sortedItems}},watch:{modelValue(C){this.activeId!==C&&this.performAction(C)}},methods:{childClick(C){this.activeId!==C.newValue&&(this.performAction(C.newValue),this.$emit("update:modelValue",this.activeId))},clickFirstViableChild(C,e){let n=e?1:-1,t=C;for(;t!==this.activeIndex&&!(this.childItems[t].visible&&!this.childItems[t].disabled);t=as(t+n,this.childItems.length));this.childClick(this.childItems[t])},next(){let C=as(this.activeIndex+1,this.childItems.length);this.clickFirstViableChild(C,!0)},prev(){let C=as(this.activeIndex-1,this.childItems.length);this.clickFirstViableChild(C,!1)},homePressed(){this.childItems.length<1||this.clickFirstViableChild(0,!0)},endPressed(){this.childItems.length<1||this.clickFirstViableChild(this.childItems.length-1,!1)},performAction(C){const e=this.activeId,n=e!=null?this.childItems.filter(t=>t.newValue===e)[0]:this.items[0];this.activeId=C,n&&this.activeItem&&(n.deactivate(this.activeItem.index),this.activeItem.activate(n.index))}}}),Xp=A=>TA({mixins:[Gp(A,Rp)],props:{value:[String,Number],label:String,icon:String,iconPack:String,visible:{type:Boolean,default:!0},headerClass:[String,Array,Object]},data(){return{transitionName:void 0,newValue:this.value}},computed:{isActive(){return this.parent.activeItem===this},elementClasses(){return[]}},methods:{activate(C){this.transitionName=this.index<C?this.parent.vertical?"slide-down":"slide-next":this.parent.vertical?"slide-up":"slide-prev",this.$emit("activate")},deactivate(C){this.transitionName=C<this.index?this.parent.vertical?"slide-down":"slide-next":this.parent.vertical?"slide-up":"slide-prev"}},render(){if(this.parent.destroyOnHide&&(!this.isActive||!this.visible))return;const C=this.$slots.default?this.$slots.default():[],e=QA(HC("div",{class:this.elementClasses,"data-id":`${A}-${this.newValue}`,tabindex:this.isActive?0:-1},C),[[pC,this.isActive&&this.visible]]);return this.parent.animated?HC(ne,{name:this.transitionName,onBeforeEnter:()=>{this.parent.isTransitioning=!0},onAfterEnter:()=>{this.parent.isTransitioning=!1}},()=>[e]):e}}),hr=TA({name:"OSteps",components:{[He.name]:He,[uC.name]:uC},configField:"steps",mixins:[ZA,Ye,Jp("step")],props:{iconPack:String,iconPrev:{type:String,default:()=>$(V(),"steps.iconPrev","chevron-left")},iconNext:{type:String,default:()=>$(V(),"steps.iconNext","chevron-right")},hasNavigation:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},labelPosition:{type:String,validator(A){return["bottom","right","left"].indexOf(A)>-1},default:"bottom"},rounded:{type:Boolean,default:!0},ariaNextLabel:String,ariaPreviousLabel:String,rootClass:[String,Function,Array],sizeClass:[String,Function,Array],verticalClass:[String,Function,Array],positionClass:[String,Function,Array],stepsClass:[String,Function,Array],animatedClass:[String,Function,Array],stepMarkerRoundedClass:[String,Function,Array],stepDividerClass:[String,Function,Array],stepMarkerClass:[String,Function,Array],stepContentClass:[String,Function,Array],stepContentTransitioningClass:[String,Function,Array],stepNavigationClass:[String,Function,Array],stepLinkClass:[String,Function,Array],stepLinkClickableClass:[String,Function,Array],stepLinkLabelClass:[String,Function,Array],stepLinkLabelPositionClass:[String,Function,Array],mobileClass:[String,Function,Array]},computed:{wrapperClasses(){return[this.computedClass("rootClass","o-steps__wrapper"),{[this.computedClass("sizeClass","o-steps--",this.size)]:this.size},{[this.computedClass("verticalClass","o-steps__wrapper-vertical")]:this.vertical},{[this.computedClass("positionClass","o-steps__wrapper-position-",this.position)]:this.position&&this.vertical},{[this.computedClass("mobileClass","o-steps--mobile")]:this.isMatchMedia}]},mainClasses(){return[this.computedClass("stepsClass","o-steps"),{[this.computedClass("animatedClass","o-steps--animated")]:this.animated}]},stepDividerClasses(){return[this.computedClass("stepDividerClass","o-steps__divider")]},stepMarkerClasses(){return[this.computedClass("stepMarkerClass","o-steps__marker"),{[this.computedClass("stepMarkerRoundedClass","o-steps__marker--rounded")]:this.rounded}]},stepContentClasses(){return[this.computedClass("stepContentClass","o-steps__content"),{[this.computedClass("stepContentTransitioningClass","o-steps__content-transitioning")]:this.isTransitioning}]},stepNavigationClasses(){return[this.computedClass("stepNavigationClass","o-steps__navigation")]},stepLinkLabelClasses(){return[this.computedClass("stepLinkLabelClass","o-steps__title")]},activeItem(){return this.childItems.filter(A=>A.newValue===this.activeId)[0]||this.items[0]},hasPrev(){return!!this.prevItem},nextItem(){let A=null,C=this.activeItem?this.items.indexOf(this.activeItem)+1:0;for(;C<this.items.length;C++)if(this.items[C].visible){A=this.items[C];break}return A},prevItem(){if(!this.activeItem)return null;let A=null;for(let C=this.items.indexOf(this.activeItem)-1;C>=0;C--)if(this.items[C].visible){A=this.items[C];break}return A},hasNext(){return!!this.nextItem},navigationProps(){return{previous:{disabled:!this.hasPrev,action:this.prev},next:{disabled:!this.hasNext,action:this.next}}}},methods:{stepLinkClasses(A){return[this.computedClass("stepLinkClass","o-steps__link"),{[this.computedClass("stepLinkLabelPositionClass","o-steps__link-label-",this.labelPosition)]:this.labelPosition},{[this.computedClass("stepLinkClickableClass","o-steps__link-clickable")]:this.isItemClickable(A)}]},isItemClickable(A){return A.clickable===void 0?A.index<this.activeItem.index:A.clickable},prev(){this.hasPrev&&this.childClick(this.prevItem)},next(){this.hasNext&&this.childClick(this.nextItem)}}});const X3={key:1};function Z3(A,C,e,n,t,i){const s=AA("o-icon"),o=AA("o-button");return h(),B("div",{class:A.wrapperClasses},[S("nav",{class:A.mainClasses},[(h(!0),B(hA,null,XA(A.items,(l,a)=>QA((h(),B("div",{key:l.newValue,class:l.itemClasses},[a>0?(h(),B("span",{key:0,class:A.stepDividerClasses},null,2)):P("v-if",!0),S("a",{class:A.stepLinkClasses(l),onClick:r=>A.isItemClickable(l)&&A.childClick(l)},[S("div",{class:A.stepMarkerClasses},[l.icon?S(s,{key:0,icon:l.icon,pack:l.iconPack,size:A.size},null,8,["icon","pack","size"]):l.step?(h(),B("span",X3,sA(l.step),1)):P("v-if",!0)],2),S("div",{class:A.stepLinkLabelClasses},sA(l.label),3)],10,["onClick"])],2)),[[pC,l.visible]])),128))],2),S("section",{class:A.stepContentClasses},[dA(A.$slots,"default")],2),dA(A.$slots,"navigation",{previous:A.navigationProps.previous,next:A.navigationProps.next},()=>[A.hasNavigation?(h(),B("nav",{key:0,class:A.stepNavigationClasses},[S(o,{role:"button","icon-left":A.iconPrev,"icon-pack":A.iconPack,"icon-both":"",disabled:A.navigationProps.previous.disabled,onClick:MA(A.navigationProps.previous.action,["prevent"]),"aria-label":A.ariaPreviousLabel},null,8,["icon-left","icon-pack","disabled","onClick","aria-label"]),S(o,{role:"button","icon-left":A.iconNext,"icon-pack":A.iconPack,"icon-both":"",disabled:A.navigationProps.next.disabled,onClick:MA(A.navigationProps.next.action,["prevent"]),"aria-label":A.ariaNextLabel},null,8,["icon-left","icon-pack","disabled","onClick","aria-label"])],2)):P("v-if",!0)])],2)}hr.render=Z3;hr.__file="src/components/steps/Steps.vue";var Zp=TA({name:"OStepItem",mixins:[ZA,Xp("step")],configField:"steps",props:{step:[String,Number],variant:[String,Object],clickable:{type:Boolean,default:void 0},itemClass:[String,Function,Array],itemHeaderClass:[String,Function,Array],itemHeaderActiveClass:[String,Function,Array],itemHeaderPreviousClass:[String,Function,Array],itemHeaderVariantClass:[String,Function,Array]},computed:{elementClasses(){return[this.computedClass("itemClass","o-steps__item")]},itemClasses(){return[this.headerClass,this.computedClass("itemHeaderClass","o-steps__nav-item"),{[this.computedClass("itemHeaderVariantClass","o-steps__nav-item--",this.variant||this.parent.variant)]:this.variant||this.parent.variant},{[this.computedClass("itemHeaderActiveClass","o-steps__nav-item-active")]:this.isActive},{[this.computedClass("itemHeaderPreviousClass","o-steps__nav-item-previous")]:this.parent.activeItem.index>this.index}]}}});Zp.__file="src/components/steps/StepItem.vue";var AE={install(A){CC(A,hr),CC(A,Zp)}};const CE=AE;var gr=TA({name:"OSwitch",mixins:[ZA],configField:"switch",emits:["update:modelValue"],props:{modelValue:[String,Number,Boolean],nativeValue:[String,Number,Boolean],disabled:Boolean,variant:String,passiveVariant:String,name:String,required:Boolean,size:String,trueValue:{type:[String,Number,Boolean],default:!0},falseValue:{type:[String,Number,Boolean],default:!1},rounded:{type:Boolean,default:!0},position:{type:String,default:"right"},ariaLabelledby:String,rootClass:[String,Function,Array],disabledClass:[String,Function,Array],checkClass:[String,Function,Array],checkCheckedClass:[String,Function,Array],checkSwitchClass:[String,Function,Array],roundedClass:[String,Function,Array],labelClass:[String,Function,Array],sizeClass:[String,Function,Array],variantClass:[String,Function,Array],elementsWrapperClass:[String,Function,Array],passiveVariantClass:[String,Function,Array],positionClass:[String,Function,Array],inputClass:[String,Function,Array]},data(){return{newValue:this.modelValue,isMouseDown:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-switch"),{[this.computedClass("sizeClass","o-switch--",this.size)]:this.size},{[this.computedClass("disabledClass","o-switch--disabled")]:this.disabled},{[this.computedClass("variantClass","o-switch--",this.variant)]:this.variant},{[this.computedClass("positionClass","o-switch--",this.position)]:this.position},{[this.computedClass("passiveVariantClass","o-switch--",this.passiveVariant+"-passive")]:this.passiveVariant}]},inputClasses(){return[this.computedClass("inputClass","o-switch__input")]},checkClasses(){return[this.computedClass("checkClass","o-switch__check"),{[this.computedClass("checkCheckedClass","o-switch__check--checked")]:this.newValue===this.trueValue},{[this.computedClass("roundedClass","o-switch--rounded")]:this.rounded}]},checkSwitchClasses(){return[this.computedClass("checkSwitchClass","o-switch__check-switch"),{[this.computedClass("roundedClass","o-switch--rounded")]:this.rounded}]},labelClasses(){return[this.computedClass("labelClass","o-switch__label")]},computedValue:{get(){return this.newValue},set(A){this.newValue=A,this.$emit("update:modelValue",this.newValue)}}},watch:{modelValue(A){this.newValue=A}},methods:{focus(){this.$refs.input.focus()}}});function eE(A,C,e,n,t,i){return h(),B("label",{class:A.rootClasses,ref:"label",onClick:C[3]||(C[3]=(...s)=>A.focus(...s)),onKeydown:C[4]||(C[4]=cC(MA(s=>A.$refs.label.click(),["prevent"]),["enter"])),onMousedown:C[5]||(C[5]=s=>A.isMouseDown=!0),onMouseup:C[6]||(C[6]=s=>A.isMouseDown=!1),onMouseout:C[7]||(C[7]=s=>A.isMouseDown=!1),onBlur:C[8]||(C[8]=s=>A.isMouseDown=!1)},[QA(S("input",{"onUpdate:modelValue":C[1]||(C[1]=s=>A.computedValue=s),type:"checkbox",ref:"input",class:A.inputClasses,onClick:C[2]||(C[2]=MA(()=>{},["stop"])),disabled:A.disabled,name:A.name,required:A.required,value:A.nativeValue,"true-value":A.trueValue,"false-value":A.falseValue,"aria-labelledby":A.ariaLabelledby},null,10,["disabled","name","required","value","true-value","false-value","aria-labelledby"]),[[Ja,A.computedValue]]),S("span",{class:A.checkClasses},[S("span",{class:A.checkSwitchClasses},null,2)],2),S("span",{id:A.ariaLabelledby,class:A.labelClasses},[dA(A.$slots,"default")],10,["id"])],34)}gr.render=eE;gr.__file="src/components/switch/Switch.vue";var nE={install(A){CC(A,gr)}};const tE=nE;var Ts=TA({name:"OTableMobileSort",components:{[He.name]:He,[Ve.name]:Ve,[uC.name]:uC,[Rn.name]:Rn},inject:["$table"],emits:["sort"],props:{currentSortColumn:Object,columns:Array,placeholder:String,iconPack:String,sortIcon:{type:String,default:"arrow-up"},sortIconSize:{type:String,default:"small"},isAsc:Boolean},data(){return{mobileSort:$(this.currentSortColumn,"newKey"),defaultEvent:{shiftKey:!0,altKey:!0,ctrlKey:!0},ignoreSort:!1}},computed:{showPlaceholder(){return!this.columns||!this.columns.some(A=>$(A,"newKey")===this.mobileSort)},sortableColumns(){return this.columns?this.columns.filter(A=>A.sortable):[]},isCurrentSort(){return $(this.currentSortColumn,"newKey")===this.mobileSort}},watch:{mobileSort(A){if(this.currentSortColumn.newKey===A)return;const C=this.sortableColumns.filter(e=>$(e,"newKey")===A)[0];this.$emit("sort",C,this.defaultEvent)},currentSortColumn(A){this.mobileSort=$(A,"newKey")}},methods:{sort(){const A=this.sortableColumns.filter(C=>$(C,"newKey")===this.mobileSort)[0];this.$emit("sort",A,this.defaultEvent)}}});function iE(A,C,e,n,t,i){const s=AA("o-select"),o=AA("o-icon"),l=AA("o-button"),a=AA("o-field");return h(),B("div",{class:A.$table.mobileSortClasses},[S(a,null,{default:_A(()=>[S(s,{modelValue:A.mobileSort,"onUpdate:modelValue":C[1]||(C[1]=r=>A.mobileSort=r),expanded:""},{default:_A(()=>[A.placeholder?QA((h(),B("option",{key:0,value:{},selected:"",disabled:"",hidden:""},sA(A.placeholder),513)),[[pC,A.showPlaceholder]]):P("v-if",!0),(h(!0),B(hA,null,XA(A.sortableColumns,(r,p)=>(h(),B("option",{key:p,value:r.newKey},sA(r.label),9,["value"]))),128))]),_:1},8,["modelValue"]),S(l,{onClick:A.sort},{default:_A(()=>[QA(S(o,{icon:A.sortIcon,pack:A.iconPack,size:A.sortIconSize,both:"",rotation:A.isAsc?0:180},null,8,["icon","pack","size","rotation"]),[[pC,A.isCurrentSort]])]),_:1},8,["onClick"])]),_:1})],2)}Ts.render=iE;Ts.__file="src/components/table/TableMobileSort.vue";var Nt=TA({name:"OTableColumn",inject:["$table"],props:{label:String,customKey:[String,Number],field:String,meta:[String,Number,Boolean,Function,Object,Array],width:[Number,String],numeric:Boolean,position:{type:String,validator(A){return["left","centered","right"].indexOf(A)>-1}},searchable:Boolean,sortable:Boolean,visible:{type:Boolean,default:!0},customSort:Function,customSearch:Function,sticky:Boolean,headerSelectable:Boolean,thAttrs:{type:Function,default:()=>({})},tdAttrs:{type:Function,default:()=>({})},subheading:String},data(){return{newKey:void 0,thAttrsData:{},tdAttrsData:[]}},computed:{style(){return{width:Tn(this.width)}},hasDefaultSlot(){return this.$slots.default},hasSearchableSlot(){return this.$slots.searchable},hasHeaderSlot(){return this.$slots.header},isHeaderUnselectable(){return!this.headerSelectable&&this.sortable}},created(){if(!this.$table)throw new Error("You should wrap oTableColumn on a oTable");this.newKey=this.$table._nextSequence(),this.$table._addColumn(this)},beforeMount(){typeof this.thAttrs<"u"&&(this.thAttrsData=this.thAttrs(this))},beforeUnmount(){this.$table._removeColumn(this)},render(){return HC("span",{"data-id":this.newKey},this.label)}});Nt.__file="src/components/table/TableColumn.vue";var Ns=TA({name:"OTablePagination",components:{[ni.name]:ni},emits:["update:currentPage","page-change"],props:{paginated:Boolean,total:[Number,String],perPage:[Number,String],currentPage:[Number,String],paginationSimple:Boolean,paginationSize:String,rounded:Boolean,iconPack:String,rootClass:[String,Array,Object],ariaNextLabel:String,ariaPreviousLabel:String,ariaPageLabel:String,ariaCurrentLabel:String},data(){return{newCurrentPage:this.currentPage}},watch:{currentPage(A){this.newCurrentPage=A}},methods:{pageChanged(A){this.newCurrentPage=A>0?A:1,this.$emit("update:currentPage",this.newCurrentPage),this.$emit("page-change",this.newCurrentPage)}}});const sE={key:0};function oE(A,C,e,n,t,i){const s=AA("o-pagination");return h(),B("div",{class:A.rootClass},[S("div",null,[dA(A.$slots,"default")]),S("div",null,[A.paginated?(h(),B("div",sE,[S(s,{"icon-pack":A.iconPack,total:A.total,"per-page":A.perPage,simple:A.paginationSimple,size:A.paginationSize,current:A.newCurrentPage,rounded:A.rounded,onChange:A.pageChanged,"aria-next-label":A.ariaNextLabel,"aria-previous-label":A.ariaPreviousLabel,"aria-page-label":A.ariaPageLabel,"aria-current-label":A.ariaCurrentLabel},null,8,["icon-pack","total","per-page","simple","size","current","rounded","onChange","aria-next-label","aria-previous-label","aria-page-label","aria-current-label"])])):P("v-if",!0)])],2)}Ns.render=oE;Ns.__file="src/components/table/TablePagination.vue";var br=TA({name:"OTable",components:{[He.name]:He,[Zt.name]:Zt,[uC.name]:uC,[ve.name]:ve,[at.name]:at,[Fs.name]:Fs,[Ts.name]:Ts,[Nt.name]:Nt,[Ns.name]:Ns},mixins:[ZA,Ye],configField:"table",inheritAttrs:!1,provide(){return{$table:this}},emits:["page-change","click","dblclick","contextmenu","check","check-all","update:checkedRows","select","update:selected","filters-change","details-open","details-close","update:openedDetailed","mouseenter","mouseleave","sort","sorting-priority-removed","dragstart","dragend","drop","dragleave","dragover","cell-click","columndragstart","columndragend","columndrop","columndragleave","columndragover","update:currentPage"],props:{data:{type:Array,default:()=>[]},columns:{type:Array,default:()=>[]},bordered:Boolean,striped:Boolean,narrowed:Boolean,hoverable:Boolean,loading:Boolean,detailed:Boolean,checkable:Boolean,headerCheckable:{type:Boolean,default:!0},checkboxPosition:{type:String,default:"left",validator:A=>["left","right"].indexOf(A)>=0},selected:Object,isRowSelectable:{type:Function,default:()=>!0},focusable:Boolean,customIsChecked:Function,isRowCheckable:{type:Function,default:()=>!0},checkedRows:{type:Array,default:()=>[]},mobileCards:{type:Boolean,default:()=>$(V(),"table.mobileCards",!0)},defaultSort:[String,Array],defaultSortDirection:{type:String,default:"asc"},sortIcon:{type:String,default:()=>$(V(),"table.sortIcon","arrow-up")},sortIconSize:{type:String,default:()=>$(V(),"table.sortIconSize","small")},paginated:Boolean,currentPage:{type:Number,default:1},perPage:{type:[Number,String],default:()=>$(V(),"table.perPage",20)},showDetailIcon:{type:Boolean,default:!0},detailIcon:{type:String,default:"chevron-right"},paginationPosition:{type:String,default:()=>$(V(),"table.paginationPosition","bottom"),validator:A=>["bottom","top","both"].indexOf(A)>=0},backendSorting:Boolean,backendFiltering:Boolean,rowClass:{type:Function,default:()=>""},openedDetailed:{type:Array,default:()=>[]},hasDetailedVisible:{type:Function,default:()=>!0},detailKey:{type:String,default:""},customDetailRow:{type:Boolean,default:!1},detailTransition:{type:String,default:""},backendPagination:Boolean,total:{type:[Number,String],default:0},iconPack:String,mobileSortPlaceholder:String,customRowKey:String,draggable:{type:Boolean,default:!1},draggableColumn:{type:Boolean,default:!1},scrollable:Boolean,ariaNextLabel:String,ariaPreviousLabel:String,ariaPageLabel:String,ariaCurrentLabel:String,stickyHeader:Boolean,height:[Number,String],filtersEvent:{type:String,default:""},debounceSearch:Number,showHeader:{type:Boolean,default:()=>$(V(),"table.showHeader",!0)},stickyCheckbox:{type:Boolean,default:!1},paginationRounded:Boolean,rootClass:[String,Function,Array],tableClass:[String,Function,Array],wrapperClass:[String,Function,Array],footerClass:[String,Function,Array],emptyClass:[String,Function,Array],detailedClass:[String,Function,Array],borderedClass:[String,Function,Array],stripedClass:[String,Function,Array],narrowedClass:[String,Function,Array],hoverableClass:[String,Function,Array],thClass:[String,Function,Array],tdClass:[String,Function,Array],thPositionClass:[String,Function,Array],thStickyClass:[String,Function,Array],thCheckboxClass:[String,Function,Array],thCurrentSortClass:[String,Function,Array],thSortableClass:[String,Function,Array],thUnselectableClass:[String,Function,Array],thSortIconClass:[String,Function,Array],thDetailedClass:[String,Function,Array],tdPositionClass:[String,Function,Array],tdStickyClass:[String,Function,Array],tdCheckboxClass:[String,Function,Array],tdDetailedChevronClass:[String,Function,Array],trSelectedClass:[String,Function,Array],stickyHeaderClass:[String,Function,Array],scrollableClass:[String,Function,Array],mobileSortClass:[String,Function,Array],paginationWrapperClass:[String,Function,Array],mobileClass:[String,Function,Array],thSubheadingClass:[String,Function,Array]},data(){return{visibleDetailRows:this.openedDetailed,newData:this.data,newDataTotal:this.backendPagination?this.total:this.data.length,newCheckedRows:[...this.checkedRows],lastCheckedRowIndex:null,newCurrentPage:this.currentPage,currentSortColumn:{},isAsc:!0,filters:{},defaultSlots:[],firstTimeSort:!0,sequence:1,isDraggingRow:!1,isDraggingColumn:!1}},mounted(){this.$nextTick(()=>{this.checkSort()})},computed:{rootClasses(){return[this.computedClass("rootClass","o-table__root"),{[this.computedClass("mobileClass","o-table__wrapper--mobile")]:this.isMobile}]},tableClasses(){return[this.computedClass("tableClass","o-table"),{[this.computedClass("borderedClass","o-table--bordered")]:this.bordered},{[this.computedClass("stripedClass","o-table--striped")]:this.striped},{[this.computedClass("narrowedClass","o-table--narrowed")]:this.narrowed},{[this.computedClass("hoverableClass","o-table--hoverable")]:(this.hoverable||this.focusable)&&this.visibleData.length},{[this.computedClass("emptyClass","o-table--table__empty")]:!this.visibleData.length}]},tableWrapperClasses(){return[this.computedClass("wrapperClass","o-table__wrapper"),{[this.computedClass("stickyHeaderClass","o-table__wrapper--sticky-header")]:this.stickyHeader},{[this.computedClass("scrollableClass","o-table__wrapper--scrollable")]:this.isScrollable},{[this.computedClass("mobileClass","o-table__wrapper--mobile")]:this.isMobile}]},footerClasses(){return[this.computedClass("footerClass","o-table__footer")]},thBaseClasses(){return[this.computedClass("thClass","o-table__th")]},tdBaseClasses(){return[this.computedClass("tdClass","o-table__td")]},thCheckboxClasses(){return[...this.thBaseClasses,this.computedClass("thCheckboxClass","o-table__th-checkbox")]},thDetailedClasses(){return[...this.thBaseClasses,this.computedClass("thDetailedClass","o-table__th--detailed")]},thSubheadingClasses(){return[...this.thBaseClasses,this.computedClass("thSubheadingClass","o-table__th")]},tdCheckboxClasses(){return[...this.tdBaseClasses,this.computedClass("tdCheckboxClass","o-table__td-checkbox"),...this.thStickyClasses({sticky:this.stickyCheckbox})]},detailedClasses(){return[this.computedClass("detailedClass","o-table__detail")]},tdDetailedChevronClasses(){return[...this.tdBaseClasses,this.computedClass("tdDetailedChevronClass","o-table__td-chevron")]},mobileSortClasses(){return[this.computedClass("mobileSortClass","o-table__mobile-sort")]},paginationWrapperClasses(){return[this.computedClass("paginationWrapperClass","o-table__pagination")]},tableWrapperStyle(){return{height:Tn(this.height)}},visibleData(){if(!this.paginated)return this.newData;const A=this.newCurrentPage,C=this.perPage;if(this.newData.length<=C)return this.newData;{const e=(A-1)*C,n=e+parseInt(C,10);return this.newData.slice(e,n)}},visibleColumns(){return this.newColumns?this.newColumns.filter(A=>A.visible||A.visible===void 0):this.newColumns},isAllChecked(){const A=this.visibleData.filter(e=>this.isRowCheckable(e));return A.length===0?!1:!A.some(e=>Zo(this.newCheckedRows,e,this.customIsChecked)<0)},isAllUncheckable(){return this.visibleData.filter(C=>this.isRowCheckable(C)).length===0},hasSortablenewColumns(){return this.newColumns.some(A=>A.sortable)},hasSearchablenewColumns(){return this.newColumns.some(A=>A.searchable)},columnCount(){let A=this.visibleColumns.length;return A+=this.checkable?1:0,A+=this.detailed&&this.showDetailIcon?1:0,A},showDetailRowIcon(){return this.detailed&&this.showDetailIcon},isScrollable(){return this.scrollable?!0:this.newColumns?this.newColumns.some(A=>A.sticky):!1},newColumns(){return this.columns&&this.columns.length?this.columns.map(A=>{const C=S(Nt,A,e=>[HC("span",{},$(e.row,A.field))]);return yp(C).provide("$table",this).mount(document.createElement("div"))}):this.defaultSlots},isMobile(){return this.mobileCards&&this.isMatchMedia},hasCustomSubheadings(){return this.$slots.subheading?!0:this.newColumns.some(A=>A.subheading||A.$slots.subheading)},canDragRow(){return this.draggable&&!this.isDraggingColumn},canDragColumn(){return this.draggableColumn&&!this.isDraggingRow}},watch:{data:{handler(A){this.newData=A,this.backendFiltering||(this.newData=A.filter(C=>this.isRowFiltered(C))),this.backendSorting||this.sort(this.currentSortColumn,!0),this.backendPagination||(this.newDataTotal=this.newData.length)},deep:!0},visibleColumns:{handler(){this.processTdAttrs()}},visibleData:{handler(){this.processTdAttrs()}},total(A){this.backendPagination&&(this.newDataTotal=A)},currentPage(A){this.newCurrentPage=A},checkedRows:{handler(A){this.newCheckedRows=[...A]},deep:!0},debounceSearch:{handler(A){this.debouncedHandleFiltersChange=Pp(this.handleFiltersChange,A)},immediate:!0},filters:{handler(A){this.debounceSearch?this.debouncedHandleFiltersChange(A):this.handleFiltersChange(A)},deep:!0},openedDetailed(A){this.visibleDetailRows=A},newCurrentPage(A){this.$emit("update:currentPage",A)}},methods:{thClasses(A){return[...this.thBaseClasses,...this.thStickyClasses(A),{[this.computedClass("thCurrentSortClass","o-table__th-current-sort")]:this.currentSortColumn===A},{[this.computedClass("thSortableClass","o-table__th--sortable")]:A.sortable},{[this.computedClass("thUnselectableClass","o-table__th--unselectable")]:A.isHeaderUnselectable},{[this.computedClass("thPositionClass","o-table__th--",A.position)]:A.position}]},thStickyClasses(A){return[{[this.computedClass("thStickyClass","o-table__th--sticky")]:A.sticky}]},rowClasses(A,C){return[this.rowClass(A,C),{[this.computedClass("trSelectedClass","o-table__tr--selected")]:this.isRowSelected(A,this.selected)}]},thSortIconClasses(){return[this.computedClass("thSortIconClass","o-table__th__sort-icon")]},tdClasses(A,C){return[...this.tdBaseClasses,{[this.computedClass("tdPositionClass","o-table__td--",C.position)]:C.position},{[this.computedClass("tdStickyClass","o-table__td--sticky")]:C.sticky}]},onFiltersEvent(A){this.$emit(`filters-event-${this.filtersEvent}`,{event:A,filters:this.filters})},handleFiltersChange(A){this.backendFiltering?this.$emit("filters-change",A):(this.newData=this.data.filter(C=>this.isRowFiltered(C)),this.backendPagination||(this.newDataTotal=this.newData.length),this.backendSorting||Object.keys(this.currentSortColumn).length>0&&this.doSortSingleColumn(this.currentSortColumn))},sortBy(A,C,e,n){let t=[];return e&&typeof e=="function"?t=[...A].sort((i,s)=>e(i,s,n)):t=[...A].sort((i,s)=>{let o=$(i,C),l=$(s,C);return typeof o=="boolean"&&typeof l=="boolean"?n?o>l?1:-1:o>l?-1:1:!o&&o!==0?1:!l&&l!==0?-1:o===l?0:(o=typeof o=="string"?o.toUpperCase():o,l=typeof l=="string"?l.toUpperCase():l,n?o>l?1:-1:o>l?-1:1)}),t},sort(A,C=!1,e=null){!A||!A.sortable||(C||(this.isAsc=A===this.currentSortColumn?!this.isAsc:this.defaultSortDirection.toLowerCase()!=="desc"),this.firstTimeSort||this.$emit("sort",A.field,this.isAsc?"asc":"desc",e),this.backendSorting||this.doSortSingleColumn(A),this.currentSortColumn=A)},doSortSingleColumn(A){this.newData=this.sortBy(this.newData,A.field,A.customSort,this.isAsc)},isRowSelected(A,C){return C?this.customRowKey?A[this.customRowKey]===C[this.customRowKey]:A===C:!1},isRowChecked(A){return Zo(this.newCheckedRows,A,this.customIsChecked)>=0},removeCheckedRow(A){const C=Zo(this.newCheckedRows,A,this.customIsChecked);C>=0&&this.newCheckedRows.splice(C,1)},checkAll(){const A=this.isAllChecked;this.visibleData.forEach(C=>{this.isRowCheckable(C)&&this.removeCheckedRow(C),A||this.isRowCheckable(C)&&this.newCheckedRows.push(C)}),this.$emit("check",this.newCheckedRows),this.$emit("check-all",this.newCheckedRows),this.$emit("update:checkedRows",this.newCheckedRows)},checkRow(A,C,e){if(!this.isRowCheckable(A))return;const n=this.lastCheckedRowIndex;this.lastCheckedRowIndex=C,e.shiftKey&&n!==null&&C!==n?this.shiftCheckRow(A,C,n):this.isRowChecked(A)?this.removeCheckedRow(A):this.newCheckedRows.push(A),this.$emit("check",this.newCheckedRows,A),this.$emit("update:checkedRows",this.newCheckedRows)},shiftCheckRow(A,C,e){const n=this.visibleData.slice(Math.min(C,e),Math.max(C,e)+1),t=!this.isRowChecked(A);n.forEach(i=>{this.removeCheckedRow(i),t&&this.isRowCheckable(i)&&this.newCheckedRows.push(i)})},selectRow(A,C){this.$emit("click",A,C),this.selected!==A&&this.isRowSelectable(A)&&(this.$emit("select",A,this.selected),this.$emit("update:selected",A))},toggleDetails(A){this.isVisibleDetailRow(A)?(this.closeDetailRow(A),this.$emit("details-close",A)):(this.openDetailRow(A),this.$emit("details-open",A)),this.$emit("update:openedDetailed",this.visibleDetailRows)},openDetailRow(A){const C=this.handleDetailKey(A);this.visibleDetailRows.push(C)},closeDetailRow(A){const C=this.handleDetailKey(A),e=this.visibleDetailRows.indexOf(C);e>=0&&this.visibleDetailRows.splice(e,1)},isVisibleDetailRow(A){const C=this.handleDetailKey(A);return this.visibleDetailRows.indexOf(C)>=0},isActiveDetailRow(A){return this.detailed&&!this.customDetailRow&&this.isVisibleDetailRow(A)},isActiveCustomDetailRow(A){return this.detailed&&this.customDetailRow&&this.isVisibleDetailRow(A)},isRowFiltered(A){for(const C in this.filters){if(!this.filters[C])continue;const e=this.filters[C],n=this.newColumns.filter(t=>t.field===C)[0];if(n&&n.customSearch&&typeof n.customSearch=="function"){if(!n.customSearch(A,e))return!1}else{const t=$(A,C);if(t==null)return!1;if(Number.isInteger(t)){if(t!==Number(e))return!1}else{const i=new RegExp(R2(e),"i");if(Array.isArray(t)){if(!t.some(o=>i.test(nu(o))||i.test(o)))return!1}else if(!i.test(nu(t))&&!i.test(t))return!1}}}return!0},handleDetailKey(A){const C=this.detailKey;return!C.length||!A?A:A[C]},checkSort(){if(this.newColumns.length&&this.firstTimeSort)this.initSort(),this.firstTimeSort=!1;else if(this.newColumns.length&&Object.keys(this.currentSortColumn).length>0){for(let A=0;A<this.newColumns.length;A++)if(this.newColumns[A].field===this.currentSortColumn.field){this.currentSortColumn=this.newColumns[A];break}}},hasCustomFooterSlot(){if(this.$slots.footer){const A=this.$slots.footer();if(A.length>1)return!0;const C=A[0].tag;if(C!=="th"&&C!=="td")return!1}return!0},pressedArrow(A){if(!this.visibleData.length)return;let C=this.visibleData.indexOf(this.selected)+A;C=C<0?0:C>this.visibleData.length-1?this.visibleData.length-1:C;const e=this.visibleData[C];if(this.isRowSelectable(e))this.selectRow(e);else{let n=null;if(A>0)for(let t=C;t<this.visibleData.length&&n===null;t++)this.isRowSelectable(this.visibleData[t])&&(n=t);else for(let t=C;t>=0&&n===null;t--)this.isRowSelectable(this.visibleData[t])&&(n=t);n>=0&&this.selectRow(this.visibleData[n])}},focus(){this.focusable&&this.$el.querySelector("table").focus()},initSort(){if(!this.defaultSort)return;let A="",C=this.defaultSortDirection;Array.isArray(this.defaultSort)?(A=this.defaultSort[0],this.defaultSort[1]&&(C=this.defaultSort[1])):A=this.defaultSort;const e=this.newColumns.filter(n=>n.field===A)[0];e&&(this.isAsc=C.toLowerCase()!=="desc",this.sort(e,!0))},handleDragStart(A,C,e){this.draggable&&this.$emit("dragstart",{event:A,row:C,index:e})},handleDragEnd(A,C,e){this.draggable&&this.$emit("dragend",{event:A,row:C,index:e})},handleDrop(A,C,e){this.draggable&&this.$emit("drop",{event:A,row:C,index:e})},handleDragOver(A,C,e){this.draggable&&this.$emit("dragover",{event:A,row:C,index:e})},handleDragLeave(A,C,e){this.draggable&&this.$emit("dragleave",{event:A,row:C,index:e})},handleColumnDragStart(A,C,e){this.canDragColumn&&(this.isDraggingColumn=!0,this.$emit("columndragstart",{event:A,column:C,index:e}))},handleColumnDragEnd(A,C,e){this.canDragColumn&&(this.isDraggingColumn=!1,this.$emit("columndragend",{event:A,column:C,index:e}))},handleColumnDrop(A,C,e){this.canDragColumn&&this.$emit("columndrop",{event:A,column:C,index:e})},handleColumnDragOver(A,C,e){this.canDragColumn&&this.$emit("columndragover",{event:A,column:C,index:e})},handleColumnDragLeave(A,C,e){this.canDragColumn&&this.$emit("columndragleave",{event:A,column:C,index:e})},emitEventForRow(A,C,e){return this.$attrs[A]?this.$emit(A,e,C):null},processTdAttrs(){if(this.visibleColumns.length&&this.visibleData.length)for(let A=0;A<this.visibleColumns.length;A++){const C=this.visibleColumns[A];typeof C.tdAttrs<"u"&&this.visibleData.forEach((e,n)=>{C.tdAttrsData[n]=C.tdAttrs(e,C)})}},_addColumn(A){this.defaultSlots.push(A);const C=this.$refs.slot;C&&C.children&&this.$nextTick(()=>{const e=this.defaultSlots.map(t=>`[data-id="${t.newKey}"]`).join(","),n=Array.from(C.querySelectorAll(e)).map(t=>t.getAttribute("data-id"));this.defaultSlots=this.defaultSlots.sort((t,i)=>n.indexOf(`${t.newKey}`)-n.indexOf(`${i.newKey}`))})},_removeColumn(A){this.defaultSlots=this.defaultSlots.filter(C=>C.newKey!==A.newKey)},_nextSequence(){return this.sequence++}}});const lE={ref:"slot",style:{display:"none"}},aE={key:0},rE={key:1},cE={key:1},uE={key:0},mE={key:1},dE={key:2},pE={key:1},fE={key:1},hE={key:2},gE={key:0},bE={key:2};function EE(A,C,e,n,t,i){const s=AA("o-table-mobile-sort"),o=AA("o-table-pagination"),l=AA("o-checkbox"),a=AA("o-slot-component"),r=AA("o-icon"),p=AA("o-input"),d=AA("o-loading");return h(),B("div",{class:A.rootClasses},[S("div",lE,[dA(A.$slots,"default")],512),A.isMobile&&A.hasSortablenewColumns?S(s,{key:0,"current-sort-column":A.currentSortColumn,columns:A.newColumns,placeholder:A.mobileSortPlaceholder,"icon-pack":A.iconPack,"sort-icon":A.sortIcon,"sort-icon-size":A.sortIconSize,"is-asc":A.isAsc,onSort:C[1]||(C[1]=(m,g)=>A.sort(m,null,g))},null,8,["current-sort-column","columns","placeholder","icon-pack","sort-icon","sort-icon-size","is-asc"]):P("v-if",!0),A.paginated&&(A.paginationPosition==="top"||A.paginationPosition==="both")?dA(A.$slots,"pagination",{key:1},()=>[S(o,lC(A.$attrs,{"per-page":A.perPage,paginated:A.paginated,total:A.newDataTotal,"current-page":A.newCurrentPage,"onUpdate:currentPage":C[2]||(C[2]=m=>A.newCurrentPage=m),"root-class":A.paginationWrapperClasses,"icon-pack":A.iconPack,rounded:A.paginationRounded,"onPage-change":C[3]||(C[3]=m=>A.$emit("page-change",m)),"aria-next-label":A.ariaNextLabel,"aria-previous-label":A.ariaPreviousLabel,"aria-page-label":A.ariaPageLabel,"aria-current-label":A.ariaCurrentLabel}),{default:_A(()=>[dA(A.$slots,"top-left")]),_:3},16,["per-page","paginated","total","current-page","root-class","icon-pack","rounded","aria-next-label","aria-previous-label","aria-page-label","aria-current-label"])]):P("v-if",!0),S("div",{class:A.tableWrapperClasses,style:A.tableWrapperStyle},[S("table",{class:A.tableClasses,tabindex:A.focusable?0:!1,onKeydown:[C[4]||(C[4]=cC(MA(m=>A.pressedArrow(-1),["self","prevent"]),["up"])),C[5]||(C[5]=cC(MA(m=>A.pressedArrow(1),["self","prevent"]),["down"]))]},[A.$slots.caption?(h(),B("caption",aE,[dA(A.$slots,"caption")])):P("v-if",!0),A.newColumns.length&&A.showHeader?(h(),B("thead",rE,[S("tr",null,[A.showDetailRowIcon?(h(),B("th",{key:0,class:A.thDetailedClasses},null,2)):P("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),B("th",{key:1,class:A.thCheckboxClasses},[A.headerCheckable?S(l,{key:0,autocomplete:"off",modelValue:A.isAllChecked,disabled:A.isAllUncheckable,"onUpdate:modelValue":A.checkAll},null,8,["modelValue","disabled","onUpdate:modelValue"]):P("v-if",!0)],2)):P("v-if",!0),(h(!0),B(hA,null,XA(A.visibleColumns,(m,g)=>(h(),B("th",lC({key:m.newKey+":"+g+"header"},m.thAttrsData,{class:A.thClasses(m),style:A.isMobile?{}:m.style,onClick:MA(y=>A.sort(m,null,y),["stop"]),draggable:A.canDragColumn,onDragstart:y=>A.handleColumnDragStart(y,m,g),onDragend:y=>A.handleColumnDragEnd(y,m,g),onDrop:y=>A.handleColumnDrop(y,m,g),onDragover:y=>A.handleColumnDragOver(y,m,g),onDragleave:y=>A.handleColumnDragLeave(y,m,g)}),[m.hasHeaderSlot?S(a,{key:0,component:m,name:"header",tag:"span",props:{column:m,index:g}},null,8,["component","props"]):(h(),B("span",cE,[tC(sA(m.label)+" ",1),QA(S("span",{class:A.thSortIconClasses()},[S(r,{icon:A.sortIcon,pack:A.iconPack,both:"",size:A.sortIconSize,rotation:A.isAsc?0:180},null,8,["icon","pack","size","rotation"])],2),[[pC,m.sortable&&A.currentSortColumn===m]])]))],16,["onClick","draggable","onDragstart","onDragend","onDrop","onDragover","onDragleave"]))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),B("th",{key:2,class:A.thCheckboxClasses},[A.headerCheckable?S(l,{key:0,autocomplete:"off",modelValue:A.isAllChecked,disabled:A.isAllUncheckable,"onUpdate:modelValue":A.checkAll},null,8,["modelValue","disabled","onUpdate:modelValue"]):P("v-if",!0)],2)):P("v-if",!0)]),A.hasSearchablenewColumns?(h(),B("tr",uE,[A.showDetailRowIcon?(h(),B("th",{key:0,class:A.thDetailedClasses},null,2)):P("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),B("th",mE)):P("v-if",!0),(h(!0),B(hA,null,XA(A.visibleColumns,(m,g)=>(h(),B("th",lC({key:m.newKey+":"+g+"searchable"},m.thAttrsData,{class:A.thClasses(m),style:A.isMobile?{}:m.style}),[m.searchable?(h(),B(hA,{key:0},[m.hasSearchableSlot?S(a,{key:0,component:m,name:"searchable",tag:"span",props:{column:m,filters:A.filters}},null,8,["component","props"]):S(p,{key:1,["on"+bi(A.filtersEvent)]:A.onFiltersEvent,modelValue:A.filters[m.field],"onUpdate:modelValue":y=>A.filters[m.field]=y,type:m.numeric?"number":"text"},null,16,["modelValue","onUpdate:modelValue","type"])],64)):P("v-if",!0)],16))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),B("th",dE)):P("v-if",!0)])):P("v-if",!0),A.hasCustomSubheadings?(h(),B("tr",pE,[A.showDetailRowIcon?(h(),B("th",{key:0,class:A.thDetailedClasses},null,2)):P("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),B("th",fE)):P("v-if",!0),(h(!0),B(hA,null,XA(A.visibleColumns,(m,g)=>(h(),B("th",{key:m.newKey+":"+g+"subheading",style:A.isMobile?{}:m.style,class:A.thSubheadingClasses},[m.$slots&&m.$slots.subheading?S(a,{key:0,component:m,name:"subheading",tag:"span",props:{column:m,index:g}},null,8,["component","props"]):(h(),B(hA,{key:1},[tC(sA(m.subheading),1)],64))],6))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),B("th",hE)):P("v-if",!0)])):P("v-if",!0)])):P("v-if",!0),S("tbody",null,[(h(!0),B(hA,null,XA(A.visibleData,(m,g)=>(h(),B(hA,{key:this.customRowKey?m[this.customRowKey]:g},[S("tr",{class:A.rowClasses(m,g),onClick:y=>A.selectRow(m,g),onDblclick:y=>A.$emit("dblclick",m),onMouseenter:y=>A.emitEventForRow("mouseenter",y,m),onMouseleave:y=>A.emitEventForRow("mouseleave",y,m),onContextmenu:y=>A.$emit("contextmenu",m,y),draggable:A.canDragRow,onDragstart:y=>A.handleDragStart(y,m,g),onDragend:y=>A.handleDragEnd(y,m,g),onDrop:y=>A.handleDrop(y,m,g),onDragover:y=>A.handleDragOver(y,m,g),onDragleave:y=>A.handleDragLeave(y,m,g)},[A.showDetailRowIcon?(h(),B("td",{key:0,class:A.tdDetailedChevronClasses},[A.hasDetailedVisible(m)?S(r,{key:0,icon:A.detailIcon,pack:A.iconPack,rotation:A.isVisibleDetailRow(m)?90:0,role:"button",onClick:MA(y=>A.toggleDetails(m),["stop"]),clickable:"",both:""},null,8,["icon","pack","rotation","onClick"]):P("v-if",!0)],2)):P("v-if",!0),A.checkable&&A.checkboxPosition==="left"?(h(),B("td",{key:1,class:A.tdCheckboxClasses},[S(l,{autocomplete:"off",disabled:!A.isRowCheckable(m),modelValue:A.isRowChecked(m),"onUpdate:modelValue":y=>A.checkRow(m,g,y)},null,8,["disabled","modelValue","onUpdate:modelValue"])],2)):P("v-if",!0),(h(!0),B(hA,null,XA(A.visibleColumns,(y,k)=>(h(),B(a,lC({key:y.newKey+g+":"+k},y.tdAttrsData[g],{component:y,name:"default",tag:"td",class:A.tdClasses(m,y),style:A.isMobile?{}:y.style,"data-label":y.label,props:{row:m,column:y,index:g,colindex:k,toggleDetails:A.toggleDetails},onClick:_=>A.$emit("cell-click",m,y,g,k,_)}),null,16,["component","class","style","data-label","props","onClick"]))),128)),A.checkable&&A.checkboxPosition==="right"?(h(),B("td",{key:2,class:A.tdCheckboxClasses},[S(l,{autocomplete:"off",disabled:!A.isRowCheckable(m),modelValue:A.isRowChecked(m),"onUpdate:modelValue":y=>A.checkRow(m,g,y)},null,8,["disabled","modelValue","onUpdate:modelValue"])],2)):P("v-if",!0)],42,["onClick","onDblclick","onMouseenter","onMouseleave","onContextmenu","draggable","onDragstart","onDragend","onDrop","onDragover","onDragleave"]),S(ne,{name:A.detailTransition},{default:_A(()=>[A.isActiveDetailRow(m)?(h(),B("tr",{key:(A.customRowKey?m[A.customRowKey]:g)+"detail",class:A.detailedClasses},[S("td",{colspan:A.columnCount},[dA(A.$slots,"detail",{row:m,index:g})],8,["colspan"])],2)):P("v-if",!0)]),_:2},1032,["name"]),A.isActiveCustomDetailRow(m)?dA(A.$slots,"detail",{key:0,row:m,index:g}):P("v-if",!0)],64))),128)),A.visibleData.length?P("v-if",!0):(h(),B("tr",gE,[S("td",{colspan:A.columnCount},[dA(A.$slots,"empty")],8,["colspan"])]))]),A.$slots.footer?(h(),B("tfoot",bE,[S("tr",{class:A.footerClasses},[A.hasCustomFooterSlot()?dA(A.$slots,"footer",{key:0}):(h(),B("th",{key:1,colspan:A.columnCount},[dA(A.$slots,"footer")],8,["colspan"]))],2)])):P("v-if",!0)],42,["tabindex"]),dA(A.$slots,"loading",{},()=>[S(d,{"full-page":!1,active:A.loading},null,8,["active"])])],6),A.checkable&&A.$slots["bottom-left"]||A.paginated&&(A.paginationPosition==="bottom"||A.paginationPosition==="both")?dA(A.$slots,"pagination",{key:2},()=>[S(o,lC(A.$attrs,{"per-page":A.perPage,paginated:A.paginated,total:A.newDataTotal,"current-page":A.newCurrentPage,"onUpdate:currentPage":C[6]||(C[6]=m=>A.newCurrentPage=m),"root-class":A.paginationWrapperClasses,"icon-pack":A.iconPack,rounded:A.paginationRounded,"onPage-change":C[7]||(C[7]=m=>A.$emit("page-change",m)),"aria-next-label":A.ariaNextLabel,"aria-previous-label":A.ariaPreviousLabel,"aria-page-label":A.ariaPageLabel,"aria-current-label":A.ariaCurrentLabel}),{default:_A(()=>[dA(A.$slots,"bottom-left")]),_:3},16,["per-page","paginated","total","current-page","root-class","icon-pack","rounded","aria-next-label","aria-previous-label","aria-page-label","aria-current-label"])]):P("v-if",!0)],2)}br.render=EE;br.__file="src/components/table/Table.vue";var yE={install(A){CC(A,br),CC(A,Nt)}};const vE=yE;var Er=TA({name:"OTabs",mixins:[ZA,Jp("tab")],configField:"tabs",props:{type:{type:String,default:"default"},expanded:Boolean,animated:{type:Boolean,default:()=>$(V(),"tabs.animated",!0)},multiline:Boolean,rootClass:[String,Function,Array],positionClass:[String,Function,Array],expandedClass:[String,Function,Array],verticalClass:[String,Function,Array],multilineClass:[String,Function,Array],navTabsClass:[String,Function,Array],navSizeClass:[String,Function,Array],navPositionClass:[String,Function,Array],navTypeClass:[String,Function,Array],contentClass:[String,Function,Array],transitioningClass:[String,Function,Array],tabItemWrapperClass:[String,Function,Array]},computed:{rootClasses(){return[this.computedClass("rootClass","o-tabs"),{[this.computedClass("positionClass","o-tabs--",this.position)]:this.position&&this.vertical},{[this.computedClass("expandedClass","o-tabs--fullwidth")]:this.expanded},{[this.computedClass("verticalClass","o-tabs--vertical")]:this.vertical},{[this.computedClass("multilineClass","o-tabs--multiline")]:this.multiline}]},itemWrapperClasses(){return[this.computedClass("tabItemWrapperClass","o-tabs__nav-item-wrapper")]},navClasses(){return[this.computedClass("navTabsClass","o-tabs__nav"),{[this.computedClass("navSizeClass","o-tabs__nav--",this.size)]:this.size},{[this.computedClass("navPositionClass","o-tabs__nav--",this.position)]:this.position&&!this.vertical},{[this.computedClass("navTypeClass","o-tabs__nav--",this.type)]:this.type}]},contentClasses(){return[this.computedClass("contentClass","o-tabs__content"),{[this.computedClass("transitioningClass","o-tabs__content--transitioning")]:this.isTransitioning}]}}});function wE(A,C,e,n,t,i){const s=AA("o-slot-component"),o=AA("o-icon");return h(),B("div",{class:A.rootClasses},[S("nav",{class:A.navClasses,role:"tablist","aria-orientation":A.vertical?"vertical":"horizontal"},[dA(A.$slots,"start"),(h(!0),B(hA,null,XA(A.items,l=>QA((h(),B("div",{key:l.newValue,onKeydown:[C[1]||(C[1]=cC(MA((...a)=>A.prev(...a),["prevent"]),["left"])),C[2]||(C[2]=cC(MA((...a)=>A.next(...a),["prevent"]),["right"])),C[3]||(C[3]=cC(MA((...a)=>A.prev(...a),["prevent"]),["up"])),C[4]||(C[4]=cC(MA((...a)=>A.next(...a),["prevent"]),["down"])),C[5]||(C[5]=cC(MA((...a)=>A.homePressed(...a),["prevent"]),["home"])),C[6]||(C[6]=cC(MA((...a)=>A.endPressed(...a),["prevent"]),["end"]))],class:A.itemWrapperClasses,role:"tab","aria-controls":`${l.value}-content`,"aria-selected":`${l.isActive}`},[l.$slots.header?S(s,{key:0,component:l,tag:l.tag,name:"header",onClick:a=>A.childClick(l),onKeydown:[cC(MA(A.prev,["prevent"]),["left"]),cC(MA(A.next,["prevent"]),["right"]),cC(MA(A.prev,["prevent"]),["up"]),cC(MA(A.next,["prevent"]),["down"]),cC(MA(A.homePressed,["prevent"]),["home"]),cC(MA(A.endPressed,["prevent"]),["end"])],class:l.headerClasses},null,8,["component","tag","onClick","onKeydown","class"]):(h(),B(bn(l.tag),{key:1,onClick:a=>A.childClick(l),class:l.headerClasses},{default:_A(()=>[l.icon?S(o,{key:0,rootClass:l.headerIconClasses,icon:l.icon,pack:l.iconPack,size:A.size},null,8,["rootClass","icon","pack","size"]):P("v-if",!0),S("span",{class:l.headerTextClasses},sA(l.label),3)]),_:2},1032,["onClick","class"]))],42,["aria-controls","aria-selected"])),[[pC,l.visible]])),128)),dA(A.$slots,"end")],10,["aria-orientation"]),S("section",{class:A.contentClasses},[dA(A.$slots,"default")],2)],2)}Er.render=wE;Er.__file="src/components/tabs/Tabs.vue";var A0=TA({name:"OTabItem",mixins:[ZA,Xp("tab")],configField:"tabs",props:{disabled:Boolean,tag:{type:String,default:()=>$(V(),"tabs.itemTag","button")},itemClass:[String,Function,Array],itemHeaderClass:[String,Function,Array],itemHeaderActiveClass:[String,Function,Array],itemHeaderDisabledClass:[String,Function,Array],itemHeaderTypeClass:[String,Function,Array],itemHeaderIconClass:[String,Function,Array],itemHeaderTextClass:[String,Function,Array]},computed:{elementClasses(){return[this.computedClass("itemClass","o-tab-item__content")]},headerClasses(){return[this.computedClass("itemHeaderClass","o-tabs__nav-item"),{[this.computedClass("itemHeaderActiveClass","o-tabs__nav-item-{*}--active",this.parent.type)]:this.isActive},{[this.computedClass("itemHeaderDisabledClass","o-tabs__nav-item-{*}--disabled",this.parent.type)]:this.disabled},{[this.computedClass("itemHeaderTypeClass","o-tabs__nav-item-",this.parent.type)]:this.parent.type}]},headerIconClasses(){return[this.computedClass("itemHeaderIconClass","o-tabs__nav-item-icon")]},headerTextClasses(){return[this.computedClass("itemHeaderTextClass","o-tabs__nav-item-text")]}}});A0.__file="src/components/tabs/TabItem.vue";var BE={install(A){CC(A,Er),CC(A,A0)}};const SE=BE;var kE={install(A){CC(A,Ci)}};const _E=kE;var xE={install(A){CC(A,ti)}};const jE=xE;var yr=TA({name:"OUpload",mixins:[ZA,En],configField:"upload",inheritAttrs:!1,emits:["update:modelValue"],props:{modelValue:[Object,e3,Array],multiple:Boolean,disabled:Boolean,accept:String,dragDrop:Boolean,variant:{type:String},native:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1},rootClass:[String,Function,Array],draggableClass:[String,Function,Array],variantClass:[String,Function,Array],expandedClass:[String,Function,Array],disabledClass:[String,Function,Array],hoveredClass:[String,Function,Array]},data(){return{newValue:this.modelValue,dragDropFocus:!1}},computed:{rootClasses(){return[this.computedClass("rootClass","o-upl"),{[this.computedClass("expandedClass","o-upl--expanded")]:this.expanded},{[this.computedClass("disabledClass","o-upl--disabled")]:this.disabled}]},draggableClasses(){return[this.computedClass("draggableClass","o-upl__draggable"),{[this.computedClass("hoveredClass","o-upl__draggable--hovered")]:!this.variant&&this.dragDropFocus},{[this.computedClass("variantClass","o-upl__draggable--hovered-",this.variant)]:this.variant&&this.dragDropFocus}]},$elementRef(){return"input"}},watch:{modelValue(A){this.newValue=A,(!A||Array.isArray(A)&&A.length===0)&&(this.$refs.input.value=null),!this.isValid&&!this.dragDrop&&this.checkHtml5Validity()}},methods:{onFileChange(A){if(this.disabled)return;this.dragDrop&&this.updateDragDropFocus(!1);const C=A.target.files||A.dataTransfer.files;if(C.length===0){if(!this.newValue)return;this.native&&(this.newValue=null)}else if(this.multiple){let e=!1;(this.native||!this.newValue)&&(this.newValue=[],e=!0);for(let n=0;n<C.length;n++){const t=C[n];this.checkType(t)&&(this.newValue.push(t),e=!0)}if(!e)return}else{if(this.dragDrop&&C.length!==1)return;{const e=C[0];if(this.checkType(e))this.newValue=e;else if(this.newValue)this.newValue=null,this.clearInput();else{this.clearInput(),this.checkHtml5Validity();return}}}this.$emit("update:modelValue",this.newValue),!this.dragDrop&&this.checkHtml5Validity()},clearInput(){this.$refs.input.value=null},updateDragDropFocus(A){this.disabled||(this.dragDropFocus=A)},checkType(A){if(!this.accept)return!0;const C=this.accept.split(",");if(C.length===0)return!0;for(let e=0;e<C.length;e++){const n=C[e].trim();if(n){if(n.substring(0,1)==="."){if(A.name.toLowerCase().slice(-n.length)===n.toLowerCase())return!0}else if(A.type.match(n))return!0}}return!1}}});function IE(A,C,e,n,t,i){return h(),B("label",{class:A.rootClasses},[A.dragDrop?(h(),B("div",{key:1,class:A.draggableClasses,onMouseenter:C[1]||(C[1]=s=>A.updateDragDropFocus(!0)),onMouseleave:C[2]||(C[2]=s=>A.updateDragDropFocus(!1)),onDragover:C[3]||(C[3]=MA(s=>A.updateDragDropFocus(!0),["prevent"])),onDragleave:C[4]||(C[4]=MA(s=>A.updateDragDropFocus(!1),["prevent"])),onDragenter:C[5]||(C[5]=MA(s=>A.updateDragDropFocus(!0),["prevent"])),onDrop:C[6]||(C[6]=MA((...s)=>A.onFileChange(...s),["prevent"]))},[dA(A.$slots,"default")],34)):dA(A.$slots,"default",{key:0}),S("input",lC({ref:"input",type:"file"},A.$attrs,{multiple:A.multiple,accept:A.accept,disabled:A.disabled,onChange:C[7]||(C[7]=(...s)=>A.onFileChange(...s))}),null,16,["multiple","accept","disabled"])],2)}yr.render=IE;yr.__file="src/components/upload/Upload.vue";var ME={install(A){CC(A,yr)}};const DE=ME;var uu=Object.freeze({__proto__:null,Autocomplete:ib,Button:lb,Carousel:db,Checkbox:hb,Collapse:bb,Datepicker:Kb,Datetimepicker:Ub,Dropdown:Hb,Field:zb,Icon:Wb,Input:Jb,Inputitems:A3,Loading:s3,Menu:m3,Modal:g3,Notification:S3,Pagination:P3,Radio:K3,Select:T3,Skeleton:$3,Sidebar:U3,Slider:J3,Steps:CE,Switch:tE,Table:vE,Tabs:SE,Timepicker:_E,Tooltip:jE,Upload:DE});const PE={install(A,C={}){V2(A);const e=V();Lp(bt(e,C,!0));for(const n in uu)Y2(A,uu[n]);mo(A,"config",z2)}},OE=PE,LE={field:{override:!0,rootClass:"field",labelClass:"label",labelSizeClass:"is-",messageClass:"help",variantMessageClass:"is-",addonsClass:"has-addons",groupedClass:"is-grouped",groupMultilineClass:"is-grouped-multiline",horizontalClass:"is-horizontal",labelHorizontalClass:"field-label",bodyHorizontalClass:"field-body",bodyClass:"control"},input:{override:!0,rootClass:(A,{props:C,computed:e})=>{const n=["control"];return C.icon&&n.push("has-icons-left"),e.hasIconRight&&n.push("has-icons-right"),n.join(" ").trim()},inputClass:"input",textareaClass:"textarea",roundedClass:"is-rounded",variantClass:"is-",sizeClass:"is-",expandedClass:"is-expanded",iconLeftClass:"is-left",iconRightClass:"is-right",counterClass:"help counter"},select:{override:!0,rootClass:(A,{props:C,computed:e})=>{const n=["control","select"];return C.size&&n.push(`is-${C.size}`),C.rounded&&n.push("is-rounded"),e.statusVariant&&n.push(`is-${e.statusVariant}`),C.multiple&&n.push("is-multiple"),C.icon&&n.push("has-icons-left"),C.iconRight&&n.push("has-icons-right"),n.join(" ").trim()},expandedClass:"is-fullwidth",iconLeftClass:"is-left",iconRightClass:"is-right",placeholderClass:"is-empty"},icon:{override:!0,rootClass:"icon",variantClass:"has-text-",sizeClass:"is-",clickableClass:"is-clickable",spinClass:"is-spin"},checkbox:{override:!0,rootClass:"b-checkbox checkbox",disabledClass:"is-disabled",checkClass:"check",labelClass:"control-label",variantClass:"is-",sizeClass:"is-"},radio:{override:!0,rootClass:"b-radio radio",disabledClass:"is-disabled",checkClass:"check",labelClass:"control-label",variantClass:"is-",sizeClass:"is-"},switch:{override:!0,rootClass:(A,{props:C})=>{const e=["switch"];return C.rounded&&e.push("is-rounded"),C.position==="left"&&e.push("has-left-label"),e.join(" ")},checkClass:(A,{props:C})=>{const e=["check"];return C.variant&&e.push(`is-${C.variant}`),C.passiveVariant&&e.push(`is-${C.passiveVariant}-passive`),e.join(" ")},labelClass:"control-label",sizeClass:"is-",disabledClass:"is-disabled"},autocomplete:{override:!0,rootClass:"autocomplete control",menuClass:"dropdown-menu dropdown-content",menuPositionClass:"is-opened-",itemClass:"dropdown-item",itemHoverClass:"is-hovered",itemEmptyClasses:"is-disabled",itemGroupTitleClass:"has-text-weight-bold"},inputitems:{override:!0,rootClass:"taginput control",containerClass:"taginput-container is-focusable",itemClass:"tag",closeClass:"delete is-small"},pagination:{override:!0,rootClass:(A,{props:C})=>{const e=["pagination"];return C.rounded&&e.push("is-rounded"),e.join(" ")},sizeClass:"is-",simpleClass:"is-simple",orderClass:"is-",listClass:"pagination-list",linkClass:"pagination-link",linkCurrentClass:"is-current",linkDisabledClass:"is-disabled",nextBtnClass:"pagination-next",prevBtnClass:"pagination-previous",infoClass:"info"},slider:{override:!0,rootClass:(A,{props:C})=>{const e=["b-slider"];return C.variant&&e.push(`is-${C.variant}`),C.rounded&&e.push("is-rounded"),e.join(" ")},disabledClass:"is-disabled",trackClass:"b-slider-track",fillClass:"b-slider-fill",thumbWrapperClass:(A,{data:C})=>{const e=["b-slider-thumb-wrapper"];return C.dragging&&e.push("is-dragging"),e.join(" ")},sizeClass:"is-",thumbClass:"b-slider-thumb",tickLabelClass:"b-slider-tick-label",tickHiddenClass:"is-tick-hidden",tickClass:"b-slider-tick"},tabs:{override:!0,itemTag:"a",rootClass:"b-tabs",contentClass:"tab-content",multilineClass:"is-multiline",navTabsClass:(A,{props:C})=>{const e=["tabs"];return C.type&&e.push(`is-${C.type}`),e.join(" ")},expandedClass:"is-fullwidth",verticalClass:"is-vertical",positionClass:"is-",navSizeClass:"is-",navPositionClass:"is-",transitioningClass:"is-transitioning",itemClass:"tab-item",itemHeaderActiveClass:()=>"is-active",itemHeaderDisabledClass:()=>"is-disabled"},table:{override:!0,rootClass:"b-table",wrapperClass:"table-wrapper",tableClass:"table",borderedClass:"is-bordered",stripedClass:"is-striped",narrowedClass:"is-narrow",hoverableClass:"is-hoverable",emptyClass:"is-empty",detailedClass:"detail",footerClass:"table-footer",paginationWrapperClass:"level",scrollableClass:"table-container",trSelectedClass:"is-selected",thSortableClass:"is-sortable",thCurrentSortClass:"is-current-sort",thSortIconClass:"th-wrap sort-icon",thUnselectableClass:"is-unselectable",thStickyClass:"is-sticky",thCheckboxClass:"th-checkbox",thDetailedClass:"th-chevron-cell",tdDetailedChevronClass:"chevron-cell",thPositionClass:A=>{if(A==="centered")return"is-centered";if(A==="right")return"is-right"},tdPositionClass:A=>{if(A==="centered")return"has-text-centered";if(A==="right")return"has-text-right"},mobileClass:"is-mobile",mobileSortClass:"table-mobile-sort field"},tooltip:{override:!0,rootClass:(A,{props:C})=>{const e=["b-tooltip"];return C.variant?e.push(`is-${C.variant}`):e.push("is-primary"),C.position&&e.push(`is-${C.position}`),e.join(" ")},contentClass:"tooltip-content",triggerClass:"tooltip-trigger",alwaysClass:"is-always",multilineClass:"is-multiline",variantClass:"is-",orderClass:"is-"},steps:{override:!0,rootClass:(A,{props:C})=>{const e=["b-steps"];return C.variant&&e.push(`is-${C.variant}`),C.disables&&e.push("is-disabled"),e.join(" ")},stepsClass:(A,{props:C})=>{const e=["steps"];return C.animated&&e.push("is-animated"),C.rounded&&e.push("is-rounded"),C.labelPosition==="left"&&e.push("has-label-left"),C.labelPosition==="right"&&e.push("has-label-right"),e.join(" ")},itemClass:"step-link",itemHeaderClass:"step-item",itemHeaderVariantClass:"is-",itemHeaderActiveClass:"is-active",itemHeaderPreviousClass:"is-previous",stepLinkClass:"step-link",stepLinkLabelClass:"step-title",stepLinkClickableClass:"is-clickable",stepMarkerClass:"step-marker",stepNavigationClass:"step-navigation",stepContentClass:"step-content",verticalClass:"is-vertical",positionClass:"is-",stepContentTransitioningClass:"is-transitioning",sizeClass:"is-",variantClass:"is-"},button:{override:!0,rootClass:"button",sizeClass:"is-",variantClass:"is-",roundedClass:"is-rounded",expandedClass:"is-fullwidth",loadingClass:"is-loading",outlinedClass:()=>"is-outlined",invertedClass:()=>"is-inverted",elementsWrapperClass:"button-wrapper"},menu:{override:!0,rootClass:"menu",listClass:"menu-list",listLabelClass:"menu-label"},skeleton:{override:!0,rootClass:(A,{props:C})=>{const e=["b-skeleton"];return C.animated&&e.push("is-animated"),e.join(" ")},itemClass:"b-skeleton-item",itemRoundedClass:"is-rounded"},notification:{override:!0,rootClass:(A,{props:C})=>{const e=["notification"];return C.variant&&e.push(`is-${C.variant}`),e.join(" ")},wrapperClass:"media",contentClass:"media-content",iconClass:"media-left",closeClass:"delete",positionClass:"is-",noticeClass:"b-notices",noticePositionClass:"is-"},dropdown:{override:!0,itemTag:"a",rootClass:(A,{props:C,data:e,computed:n})=>{const t=["dropdown","dropdown-menu-animation"];return(e.isActive||C.inline)&&t.push("is-active"),n.hoverable&&t.push("is-hoverable"),C.position&&t.push(`is-${C.position}`),t.join(" ")},triggerClass:"dropdown-trigger",menuClass:"dropdown-content dropdown-menu",disabledClass:"is-disabled",expandedClass:"is-expanded",inlineClass:"is-inline",itemClass:"dropdown-item",itemActiveClass:"is-active",itemDisabledClass:"is-disabled",mobileClass:"is-mobile-modal",menuMobileOverlayClass:"background"},datepicker:{override:!0,rootClass:"datepicker",headerClass:"datepicker-header",footerClass:"datepicker-footer",boxClass:"dropdown-item",tableClass:"datepicker-table",tableHeadClass:"datepicker-header",tableHeadCellClass:"datepicker-cell",headerButtonsClass:"pagination field is-centered",prevBtnClass:"pagination-previous",nextBtnClass:"pagination-next",listsClass:"pagination-list",tableBodyClass:(A,{props:C})=>{const e=["datepicker-body"];return C.events&&e.push("has-events"),e.join(" ")},tableRowClass:"datepicker-row",tableCellClass:"datepicker-cell",tableCellSelectableClass:"is-selectable",tableCellUnselectableClass:"is-unselectable",tableCellTodayClass:"is-today",tableCellSelectedClass:"is-selected",tableCellWithinHoveredClass:"is-within-hovered",tableCellFirstHoveredClass:"is-first-hovered",tableCellLastHoveredClass:"is-last-hovered",tableCellFirstSelectedClass:"is-first-selected",tableCellLastSelectedClass:"is-last-selected",tableCellWithinSelectedClass:"is-within-selected",tableCellInvisibleClass:"",tableCellNearbyClass:"is-nearby",tableCellEventsClass:(A,{props:C})=>{const e=["has-event"];return C.indicators&&e.push(`${C.indicators}`),e.join(" ")},tableEventVariantClass:"is-",tableEventsClass:"events",tableEventClass:"event",monthBodyClass:"datepicker-body",monthCellClass:"datepicker-cell",monthCellFirstHoveredClass:"is-first-hovered",monthCellFirstSelectedClass:"is-first-selected",monthCellLastHoveredClass:"is-last-hovered",monthCellLastSelectedClass:"is-last-selected",monthCellNearbyClass:"is-nearby",monthCellSelectableClass:"is-selectable",monthCellSelectedClass:"is-selected",monthCellTodayClass:"is-today",monthCellUnselectableClass:"is-unselectable",monthCellWithinHoveredClass:"is-within-hovered",monthCellWithinSelectedClass:"is-within-selected",monthClass:"datepicker-table",monthEventsClass:"events",monthTableClass:"datepicker-months"},modal:{override:!0,rootClass:(A,{props:C})=>{const e=["modal"];return(C.active||C.programmatic)&&e.push("is-active"),e.join(" ")},overlayClass:"modal-background",contentClass:"modal-content animation-content",closeClass:"modal-close is-large",fullScreenClass:"is-full-screen",scrollClipClass:"is-clipped"},sidebar:{override:!0,rootClass:"b-sidebar",variantClass:"is-",contentClass:"sidebar-content",staticClass:"is-static",absoluteClass:"is-absolute",fixedClass:"is-fixed",expandOnHoverClass:"is-mini-expand",expandOnHoverFixedClass:"is-mini-expand",fullheightClass:"is-fullheight",fullwidthClass:"is-fullwidth",mobileClass:(A,{props:C})=>{if(C.mobile&&C.mobile!=="reduce")return`is-${C.mobile}-mobile`},overlayClass:"sidebar-background",reduceClass:"is-mini-mobile",rightClass:"is-right"},loading:{fullPageClass:"is-full-page",overlayClass:"loading-overlay",iconClass:"icon",rootClass:"loading"},timepicker:{override:!0,rootClass:"timepicker control",boxClass:"dropdown-item",selectClasses:{rootClass:"select control"},separatorClass:"is-colon control",footerClass:"timepicker-footer",sizeClass:"is-"},carousel:{override:!0,rootClass:"carousel",overlayClass:"is-overlay",sceneClass:"carousel-scene",itemsClass:"carousel-items",itemsDraggingClass:"is-dragging",arrowIconClass:"carousel-arrow",arrowIconPrevClass:"has-icons-left",arrowIconNextClass:"has-icons-right",indicatorsClass:"carousel-indicator",indicatorClass:"indicator-item",indicatorsInsideClass:"is-inside",indicatorsInsidePositionClass:"is-",indicatorItemClass:"indicator-style",indicatorItemActiveClass:"is-active",indicatorItemStyleClass:"is-",itemClass:"carousel-item",itemActiveClass:"is-active"},upload:{override:!0,rootClass:"upload control",draggableClass:"upload-draggable",variantClass:"is-",expandedClass:"is-expanded",disabledClass:"is-disabled",hoveredClass:"is-hovered"}};var DA=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Et(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}function KE(A){if(A.__esModule)return A;var C=A.default;if(typeof C=="function"){var e=function n(){return this instanceof n?Reflect.construct(C,arguments,this.constructor):C.apply(this,arguments)};e.prototype=C.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(A).forEach(function(n){var t=Object.getOwnPropertyDescriptor(A,n);Object.defineProperty(e,n,t.get?t:{enumerable:!0,get:function(){return A[n]}})}),e}var C0={exports:{}};(function(A,C){(function(e,n){A.exports=n()})(DA,function(){var e=1e3,n=6e4,t=36e5,i="millisecond",s="second",o="minute",l="hour",a="day",r="week",p="month",d="quarter",m="year",g="date",y="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,_=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,R={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(z){var w=["th","st","nd","rd"],x=z%100;return"["+z+(w[(x-20)%10]||w[x]||w[0])+"]"}},F=function(z,w,x){var D=String(z);return!D||D.length>=w?z:""+Array(w+1-D.length).join(x)+z},J={s:F,z:function(z){var w=-z.utcOffset(),x=Math.abs(w),D=Math.floor(x/60),L=x%60;return(w<=0?"+":"-")+F(D,2,"0")+":"+F(L,2,"0")},m:function z(w,x){if(w.date()<x.date())return-z(x,w);var D=12*(x.year()-w.year())+(x.month()-w.month()),L=w.clone().add(D,p),gA=x-L<0,bA=w.clone().add(D+(gA?-1:1),p);return+(-(D+(x-L)/(gA?L-bA:bA-L))||0)},a:function(z){return z<0?Math.ceil(z)||0:Math.floor(z)},p:function(z){return{M:p,y:m,w:r,d:a,D:g,h:l,m:o,s,ms:i,Q:d}[z]||String(z||"").toLowerCase().replace(/s$/,"")},u:function(z){return z===void 0}},nA="en",CA={};CA[nA]=R;var LA="$isDayjsObject",X=function(z){return z instanceof O||!(!z||!z[LA])},pA=function z(w,x,D){var L;if(!w)return nA;if(typeof w=="string"){var gA=w.toLowerCase();CA[gA]&&(L=gA),x&&(CA[gA]=x,L=gA);var bA=w.split("-");if(!L&&bA.length>1)return z(bA[0])}else{var SA=w.name;CA[SA]=w,L=SA}return!D&&L&&(nA=L),L||!D&&nA},uA=function(z,w){if(X(z))return z.clone();var x=typeof w=="object"?w:{};return x.date=z,x.args=arguments,new O(x)},I=J;I.l=pA,I.i=X,I.w=function(z,w){return uA(z,{locale:w.$L,utc:w.$u,x:w.$x,$offset:w.$offset})};var O=function(){function z(x){this.$L=pA(x.locale,null,!0),this.parse(x),this.$x=this.$x||x.x||{},this[LA]=!0}var w=z.prototype;return w.parse=function(x){this.$d=function(D){var L=D.date,gA=D.utc;if(L===null)return new Date(NaN);if(I.u(L))return new Date;if(L instanceof Date)return new Date(L);if(typeof L=="string"&&!/Z$/i.test(L)){var bA=L.match(k);if(bA){var SA=bA[2]-1||0,BA=(bA[7]||"0").substring(0,3);return gA?new Date(Date.UTC(bA[1],SA,bA[3]||1,bA[4]||0,bA[5]||0,bA[6]||0,BA)):new Date(bA[1],SA,bA[3]||1,bA[4]||0,bA[5]||0,bA[6]||0,BA)}}return new Date(L)}(x),this.init()},w.init=function(){var x=this.$d;this.$y=x.getFullYear(),this.$M=x.getMonth(),this.$D=x.getDate(),this.$W=x.getDay(),this.$H=x.getHours(),this.$m=x.getMinutes(),this.$s=x.getSeconds(),this.$ms=x.getMilliseconds()},w.$utils=function(){return I},w.isValid=function(){return this.$d.toString()!==y},w.isSame=function(x,D){var L=uA(x);return this.startOf(D)<=L&&L<=this.endOf(D)},w.isAfter=function(x,D){return uA(x)<this.startOf(D)},w.isBefore=function(x,D){return this.endOf(D)<uA(x)},w.$g=function(x,D,L){return I.u(x)?this[D]:this.set(L,x)},w.unix=function(){return Math.floor(this.valueOf()/1e3)},w.valueOf=function(){return this.$d.getTime()},w.startOf=function(x,D){var L=this,gA=!!I.u(D)||D,bA=I.p(x),SA=function(rA,fA){var AC=I.w(L.$u?Date.UTC(L.$y,fA,rA):new Date(L.$y,fA,rA),L);return gA?AC:AC.endOf(a)},BA=function(rA,fA){return I.w(L.toDate()[rA].apply(L.toDate("s"),(gA?[0,0,0,0]:[23,59,59,999]).slice(fA)),L)},hC=this.$W,$A=this.$M,UA=this.$D,dC="set"+(this.$u?"UTC":"");switch(bA){case m:return gA?SA(1,0):SA(31,11);case p:return gA?SA(1,$A):SA(0,$A+1);case r:var U=this.$locale().weekStart||0,aA=(hC<U?hC+7:hC)-U;return SA(gA?UA-aA:UA+(6-aA),$A);case a:case g:return BA(dC+"Hours",0);case l:return BA(dC+"Minutes",1);case o:return BA(dC+"Seconds",2);case s:return BA(dC+"Milliseconds",3);default:return this.clone()}},w.endOf=function(x){return this.startOf(x,!1)},w.$set=function(x,D){var L,gA=I.p(x),bA="set"+(this.$u?"UTC":""),SA=(L={},L[a]=bA+"Date",L[g]=bA+"Date",L[p]=bA+"Month",L[m]=bA+"FullYear",L[l]=bA+"Hours",L[o]=bA+"Minutes",L[s]=bA+"Seconds",L[i]=bA+"Milliseconds",L)[gA],BA=gA===a?this.$D+(D-this.$W):D;if(gA===p||gA===m){var hC=this.clone().set(g,1);hC.$d[SA](BA),hC.init(),this.$d=hC.set(g,Math.min(this.$D,hC.daysInMonth())).$d}else SA&&this.$d[SA](BA);return this.init(),this},w.set=function(x,D){return this.clone().$set(x,D)},w.get=function(x){return this[I.p(x)]()},w.add=function(x,D){var L,gA=this;x=Number(x);var bA=I.p(D),SA=function($A){var UA=uA(gA);return I.w(UA.date(UA.date()+Math.round($A*x)),gA)};if(bA===p)return this.set(p,this.$M+x);if(bA===m)return this.set(m,this.$y+x);if(bA===a)return SA(1);if(bA===r)return SA(7);var BA=(L={},L[o]=n,L[l]=t,L[s]=e,L)[bA]||1,hC=this.$d.getTime()+x*BA;return I.w(hC,this)},w.subtract=function(x,D){return this.add(-1*x,D)},w.format=function(x){var D=this,L=this.$locale();if(!this.isValid())return L.invalidDate||y;var gA=x||"YYYY-MM-DDTHH:mm:ssZ",bA=I.z(this),SA=this.$H,BA=this.$m,hC=this.$M,$A=L.weekdays,UA=L.months,dC=L.meridiem,U=function(fA,AC,fC,E){return fA&&(fA[AC]||fA(D,gA))||fC[AC].slice(0,E)},aA=function(fA){return I.s(SA%12||12,fA,"0")},rA=dC||function(fA,AC,fC){var E=fA<12?"AM":"PM";return fC?E.toLowerCase():E};return gA.replace(_,function(fA,AC){return AC||function(fC){switch(fC){case"YY":return String(D.$y).slice(-2);case"YYYY":return I.s(D.$y,4,"0");case"M":return hC+1;case"MM":return I.s(hC+1,2,"0");case"MMM":return U(L.monthsShort,hC,UA,3);case"MMMM":return U(UA,hC);case"D":return D.$D;case"DD":return I.s(D.$D,2,"0");case"d":return String(D.$W);case"dd":return U(L.weekdaysMin,D.$W,$A,2);case"ddd":return U(L.weekdaysShort,D.$W,$A,3);case"dddd":return $A[D.$W];case"H":return String(SA);case"HH":return I.s(SA,2,"0");case"h":return aA(1);case"hh":return aA(2);case"a":return rA(SA,BA,!0);case"A":return rA(SA,BA,!1);case"m":return String(BA);case"mm":return I.s(BA,2,"0");case"s":return String(D.$s);case"ss":return I.s(D.$s,2,"0");case"SSS":return I.s(D.$ms,3,"0");case"Z":return bA}return null}(fA)||bA.replace(":","")})},w.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},w.diff=function(x,D,L){var gA,bA=this,SA=I.p(D),BA=uA(x),hC=(BA.utcOffset()-this.utcOffset())*n,$A=this-BA,UA=function(){return I.m(bA,BA)};switch(SA){case m:gA=UA()/12;break;case p:gA=UA();break;case d:gA=UA()/3;break;case r:gA=($A-hC)/6048e5;break;case a:gA=($A-hC)/864e5;break;case l:gA=$A/t;break;case o:gA=$A/n;break;case s:gA=$A/e;break;default:gA=$A}return L?gA:I.a(gA)},w.daysInMonth=function(){return this.endOf(p).$D},w.$locale=function(){return CA[this.$L]},w.locale=function(x,D){if(!x)return this.$L;var L=this.clone(),gA=pA(x,D,!0);return gA&&(L.$L=gA),L},w.clone=function(){return I.w(this.$d,this)},w.toDate=function(){return new Date(this.valueOf())},w.toJSON=function(){return this.isValid()?this.toISOString():null},w.toISOString=function(){return this.$d.toISOString()},w.toString=function(){return this.$d.toUTCString()},z}(),q=O.prototype;return uA.prototype=q,[["$ms",i],["$s",s],["$m",o],["$H",l],["$W",a],["$M",p],["$y",m],["$D",g]].forEach(function(z){q[z[1]]=function(w){return this.$g(w,z[0],z[1])}}),uA.extend=function(z,w){return z.$i||(z(w,O,uA),z.$i=!0),uA},uA.locale=pA,uA.isDayjs=X,uA.unix=function(z){return uA(1e3*z)},uA.en=CA[nA],uA.Ls=CA,uA.p={},uA})})(C0);var FE=C0.exports;const vr=Et(FE);var e0={exports:{}};(function(A,C){(function(e,n){A.exports=n()})(DA,function(){return function(e,n,t){e=e||{};var i=n.prototype,s={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function o(a,r,p,d){return i.fromToBase(a,r,p,d)}t.en.relativeTime=s,i.fromToBase=function(a,r,p,d,m){for(var g,y,k,_=p.$locale().relativeTime||s,R=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],F=R.length,J=0;J<F;J+=1){var nA=R[J];nA.d&&(g=d?t(a).diff(p,nA.d,!0):p.diff(a,nA.d,!0));var CA=(e.rounding||Math.round)(Math.abs(g));if(k=g>0,CA<=nA.r||!nA.r){CA<=1&&J>0&&(nA=R[J-1]);var LA=_[nA.l];m&&(CA=m(""+CA)),y=typeof LA=="string"?LA.replace("%d",CA):LA(CA,r,nA.l,k);break}}if(r)return y;var X=k?_.future:_.past;return typeof X=="function"?X(y):X.replace("%s",y)},i.to=function(a,r){return o(a,r,this,!0)},i.from=function(a,r){return o(a,r,this)};var l=function(a){return a.$u?t.utc():t()};i.toNow=function(a){return this.to(l(this),a)},i.fromNow=function(a){return this.from(l(this),a)}}})})(e0);var TE=e0.exports;const NE=Et(TE);var fo={},Se={},wr=class extends Error{constructor(C){super(C),this.name="TimeoutError"}},n0=function(C){let e;const n=new Promise(t=>{e=setTimeout(t,C)});return n.timeout=e,n};const $E=wr,RE=n0;var GE=function(C,e){const n=RE(e);function t(){clearTimeout(n.timeout)}return Promise.race([C.finally(t),n.then(()=>{throw new $E})])};const UE=wr;var QE=function(C,e,n="error",t){return new Promise((i,s)=>{let o;const l=()=>{clearTimeout(o),C.removeListener(e,r),C.removeListener(n,a)};function a(p){s(p),l()}function r(p){i(p),l()}C.once(e,r),n&&C.once(n,a),t&&(o=setTimeout(()=>{l(),s(new UE)},t))})},Br={exports:{}},st=typeof Reflect=="object"?Reflect:null,mu=st&&typeof st.apply=="function"?st.apply:function(C,e,n){return Function.prototype.apply.call(C,e,n)},ms;st&&typeof st.ownKeys=="function"?ms=st.ownKeys:Object.getOwnPropertySymbols?ms=function(C){return Object.getOwnPropertyNames(C).concat(Object.getOwnPropertySymbols(C))}:ms=function(C){return Object.getOwnPropertyNames(C)};function HE(A){console&&console.warn&&console.warn(A)}var t0=Number.isNaN||function(C){return C!==C};function wC(){wC.init.call(this)}Br.exports=wC;Br.exports.once=WE;wC.EventEmitter=wC;wC.prototype._events=void 0;wC.prototype._eventsCount=0;wC.prototype._maxListeners=void 0;var du=10;function ho(A){if(typeof A!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof A)}Object.defineProperty(wC,"defaultMaxListeners",{enumerable:!0,get:function(){return du},set:function(A){if(typeof A!="number"||A<0||t0(A))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+A+".");du=A}});wC.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};wC.prototype.setMaxListeners=function(C){if(typeof C!="number"||C<0||t0(C))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+C+".");return this._maxListeners=C,this};function i0(A){return A._maxListeners===void 0?wC.defaultMaxListeners:A._maxListeners}wC.prototype.getMaxListeners=function(){return i0(this)};wC.prototype.emit=function(C){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var t=C==="error",i=this._events;if(i!==void 0)t=t&&i.error===void 0;else if(!t)return!1;if(t){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var l=i[C];if(l===void 0)return!1;if(typeof l=="function")mu(l,this,e);else for(var a=l.length,r=r0(l,a),n=0;n<a;++n)mu(r[n],this,e);return!0};function s0(A,C,e,n){var t,i,s;if(ho(e),i=A._events,i===void 0?(i=A._events=Object.create(null),A._eventsCount=0):(i.newListener!==void 0&&(A.emit("newListener",C,e.listener?e.listener:e),i=A._events),s=i[C]),s===void 0)s=i[C]=e,++A._eventsCount;else if(typeof s=="function"?s=i[C]=n?[e,s]:[s,e]:n?s.unshift(e):s.push(e),t=i0(A),t>0&&s.length>t&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(C)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=A,o.type=C,o.count=s.length,HE(o)}return A}wC.prototype.addListener=function(C,e){return s0(this,C,e,!1)};wC.prototype.on=wC.prototype.addListener;wC.prototype.prependListener=function(C,e){return s0(this,C,e,!0)};function VE(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function o0(A,C,e){var n={fired:!1,wrapFn:void 0,target:A,type:C,listener:e},t=VE.bind(n);return t.listener=e,n.wrapFn=t,t}wC.prototype.once=function(C,e){return ho(e),this.on(C,o0(this,C,e)),this};wC.prototype.prependOnceListener=function(C,e){return ho(e),this.prependListener(C,o0(this,C,e)),this};wC.prototype.removeListener=function(C,e){var n,t,i,s,o;if(ho(e),t=this._events,t===void 0)return this;if(n=t[C],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete t[C],t.removeListener&&this.emit("removeListener",C,n.listener||e));else if(typeof n!="function"){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===e||n[s].listener===e){o=n[s].listener,i=s;break}if(i<0)return this;i===0?n.shift():zE(n,i),n.length===1&&(t[C]=n[0]),t.removeListener!==void 0&&this.emit("removeListener",C,o||e)}return this};wC.prototype.off=wC.prototype.removeListener;wC.prototype.removeAllListeners=function(C){var e,n,t;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[C]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[C]),this;if(arguments.length===0){var i=Object.keys(n),s;for(t=0;t<i.length;++t)s=i[t],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=n[C],typeof e=="function")this.removeListener(C,e);else if(e!==void 0)for(t=e.length-1;t>=0;t--)this.removeListener(C,e[t]);return this};function l0(A,C,e){var n=A._events;if(n===void 0)return[];var t=n[C];return t===void 0?[]:typeof t=="function"?e?[t.listener||t]:[t]:e?qE(t):r0(t,t.length)}wC.prototype.listeners=function(C){return l0(this,C,!0)};wC.prototype.rawListeners=function(C){return l0(this,C,!1)};wC.listenerCount=function(A,C){return typeof A.listenerCount=="function"?A.listenerCount(C):a0.call(A,C)};wC.prototype.listenerCount=a0;function a0(A){var C=this._events;if(C!==void 0){var e=C[A];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}wC.prototype.eventNames=function(){return this._eventsCount>0?ms(this._events):[]};function r0(A,C){for(var e=new Array(C),n=0;n<C;++n)e[n]=A[n];return e}function zE(A,C){for(;C+1<A.length;C++)A[C]=A[C+1];A.pop()}function qE(A){for(var C=new Array(A.length),e=0;e<C.length;++e)C[e]=A[e].listener||A[e];return C}function WE(A,C){return new Promise(function(e,n){function t(s){A.removeListener(C,i),n(s)}function i(){typeof A.removeListener=="function"&&A.removeListener("error",t),e([].slice.call(arguments))}c0(A,C,i,{once:!0}),C!=="error"&&YE(A,t,{once:!0})})}function YE(A,C,e){typeof A.on=="function"&&c0(A,"error",C,e)}function c0(A,C,e,n){if(typeof A.on=="function")n.once?A.once(C,e):A.on(C,e);else if(typeof A.addEventListener=="function")A.addEventListener(C,function t(i){n.once&&A.removeEventListener(C,t),e(i)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof A)}var go=Br.exports,JE=function(){this.promise=new Promise((C,e)=>{this.resolve=C,this.reject=e})};const XE=GE,ZE=n0,Ay=wr,Cy=QE,ey=go,ny=JE;Se.EventEmitter=ey;Se.timeout=XE;Se.delay=ZE;Se.TimeoutError=Ay;Se.promise=Cy;Se.Deferred=ny;var Je={exports:{}},wi={};wi.detect=function(C){return!(!C||C.replace(/\\20/g,"").replace(/\\22/g,"").replace(/\\26/g,"").replace(/\\27/g,"").replace(/\\2f/g,"").replace(/\\3a/g,"").replace(/\\3c/g,"").replace(/\\3e/g,"").replace(/\\40/g,"").replace(/\\5c/g,"").search(/[ "&'/:<>@\\]/g)===-1)};wi.escape=function(C){return C===null?null:C.replace(/^\s+|\s+$/g,"").replace(/\\/g,"\\5c").replace(/ /g,"\\20").replace(/"/g,"\\22").replace(/&/g,"\\26").replace(/'/g,"\\27").replace(/\//g,"\\2f").replace(/:/g,"\\3a").replace(/</g,"\\3c").replace(/>/g,"\\3e").replace(/@/g,"\\40")};wi.unescape=function(C){return C===null?null:C.replace(/\\20/g," ").replace(/\\22/g,'"').replace(/\\26/g,"&").replace(/\\27/g,"'").replace(/\\2f/g,"/").replace(/\\3a/g,":").replace(/\\3c/g,"<").replace(/\\3e/g,">").replace(/\\40/g,"@").replace(/\\5c/g,"\\")};const el=wi;let Pe=class u0{constructor(C,e,n){if(typeof e!="string"||!e)throw new TypeError("Invalid domain.");this.setDomain(e),this.setLocal(typeof C=="string"?C:""),this.setResource(typeof n=="string"?n:"")}[Symbol.toPrimitive](C){return C==="number"?NaN:this.toString()}toString(C){let e=this._domain;return this._local&&(e=this.getLocal(C)+"@"+e),this._resource&&(e=e+"/"+this._resource),e}bare(){return this._resource?new u0(this._local,this._domain,null):this}equals(C){return this._local===C._local&&this._domain===C._domain&&this._resource===C._resource}setLocal(C,e){return e=e||el.detect(C),e&&(C=el.escape(C)),this._local=C&&C.toLowerCase(),this}getLocal(C=!1){let e=null;return e=C?el.unescape(this._local):this._local,e}setDomain(C){return this._domain=C.toLowerCase(),this}getDomain(){return this._domain}setResource(C){return this._resource=C,this}getResource(){return this._resource}};Object.defineProperty(Pe.prototype,"local",{get:Pe.prototype.getLocal,set:Pe.prototype.setLocal});Object.defineProperty(Pe.prototype,"domain",{get:Pe.prototype.getDomain,set:Pe.prototype.setDomain});Object.defineProperty(Pe.prototype,"resource",{get:Pe.prototype.getResource,set:Pe.prototype.setResource});var m0=Pe;const ty=m0;var iy=function(C){let e,n;const t=C.indexOf("/");t!==-1&&(n=C.slice(t+1),C=C.slice(0,t));const i=C.indexOf("@");return i!==-1&&(e=C.slice(0,i),C=C.slice(i+1)),new ty(e,C,n)};const d0=m0,Sr=wi,p0=iy;function f0(...A){return!A[1]&&!A[2]?p0(...A):new d0(...A)}Je.exports=f0.bind();Je.exports.jid=f0;Je.exports.JID=d0;Je.exports.equal=function(C,e){return C.equals(e)};Je.exports.detectEscape=Sr.detect;Je.exports.escapeLocal=Sr.escape;Je.exports.unescapeLocal=Sr.unescape;Je.exports.parse=p0;var bo=Je.exports,h0={exports:{}},yn={};Object.defineProperty(yn,"__esModule",{value:!0});const sy={"&":"&","<":"<",">":">",'"':""","'":"'"};function g0(A){return sy[A]}const pu={"&":"&","<":"<",">":">",""":'"',"'":"'"};function b0(A){if(A[1]==="#"){const C=A[2]==="x"?parseInt(A.slice(3),16):parseInt(A.slice(2),10);if(C===9||C===10||C===13||C>=32&&C<=55295||C>=57344&&C<=65533||C>=65536&&C<=1114111)return String.fromCodePoint(C);throw new Error("Illegal XML character 0x"+C.toString(16))}if(pu[A])return pu[A]||A;throw new Error("Illegal XML entity "+A)}function oy(A){return A.replace(/["&'<>]/g,g0)}function ly(A){let C="",e=-1,n=-1,t=0;for(;(e=A.indexOf("&",t))!==-1&&(n=A.indexOf(";",e+1))!==-1;)C=C+A.slice(t,e)+b0(A.slice(e,n+1)),t=n+1;return t===0?A:(C=C+A.substring(t),C)}function ay(A){return A.replace(/[&<>]/g,g0)}function ry(A){return A.replace(/&(amp|#38|lt|#60|gt|#62);/g,b0)}yn.escapeXML=oy;yn.escapeXMLText=ay;yn.unescapeXML=ly;yn.unescapeXMLText=ry;var nl=yn;let Ul=class Ql{constructor(C,e){this.name=C,this.parent=null,this.children=[],this.attrs={},this.setAttrs(e)}is(C,e){return this.getName()===C&&(!e||this.getNS()===e)}getName(){const C=this.name.indexOf(":");return C>=0?this.name.slice(C+1):this.name}getNS(){const C=this.name.indexOf(":");if(C>=0){const e=this.name.slice(0,C);return this.findNS(e)}return this.findNS()}findNS(C){if(C){const e="xmlns:"+C;if(this.attrs[e])return this.attrs[e];if(this.parent)return this.parent.findNS(C)}else{if(this.attrs.xmlns)return this.attrs.xmlns;if(this.parent)return this.parent.findNS()}}getXmlns(){let C={};this.parent&&(C=this.parent.getXmlns());for(const e in this.attrs){const n=e.match("xmlns:?(.*)");this.attrs.hasOwnProperty(e)&&n&&(C[this.attrs[e]]=n[1])}return C}setAttrs(C){typeof C=="string"?this.attrs.xmlns=C:C&&Object.assign(this.attrs,C)}getAttr(C,e){if(!e)return this.attrs[C];const n=this.getXmlns();return n[e]?this.attrs[[n[e],C].join(":")]:null}getChild(C,e){return this.getChildren(C,e)[0]}getChildren(C,e){const n=[];for(const t of this.children)t.getName&&t.getName()===C&&(!e||t.getNS()===e)&&n.push(t);return n}getChildByAttr(C,e,n,t){return this.getChildrenByAttr(C,e,n,t)[0]}getChildrenByAttr(C,e,n,t){let i=[];for(const s of this.children)s.attrs&&s.attrs[C]===e&&(!n||s.getNS()===n)&&i.push(s),t&&s.getChildrenByAttr&&i.push(s.getChildrenByAttr(C,e,n,!0));return t&&(i=i.flat()),i}getChildrenByFilter(C,e){let n=[];for(const t of this.children)C(t)&&n.push(t),e&&t.getChildrenByFilter&&n.push(t.getChildrenByFilter(C,!0));return e&&(n=n.flat()),n}getText(){let C="";for(const e of this.children)(typeof e=="string"||typeof e=="number")&&(C+=e);return C}getChildText(C,e){const n=this.getChild(C,e);return n?n.getText():null}getChildElements(){return this.getChildrenByFilter(C=>C instanceof Ql)}root(){return this.parent?this.parent.root():this}up(){return this.parent?this.parent:this}c(C,e){return this.cnode(new Ql(C,e))}cnode(C){return this.children.push(C),typeof C=="object"&&(C.parent=this),C}append(...C){for(const e of C)this.children.push(e),typeof e=="object"&&(e.parent=this)}prepend(...C){for(const e of C)this.children.unshift(e),typeof e=="object"&&(e.parent=this)}t(C){return this.children.push(C),this}remove(C,e){const n=typeof C=="string"?t=>!(t.is&&t.is(C,e)):t=>t!==C;return this.children=this.children.filter(n),this}text(C){return C&&this.children.length===1?(this.children[0]=C,this):this.getText()}attr(C,e){return typeof e<"u"||e===null?(this.attrs||(this.attrs={}),this.attrs[C]=e,this):this.attrs[C]}toString(){let C="";return this.write(e=>{C+=e}),C}_addChildren(C){C(">");for(const e of this.children)e!=null&&(e.write?e.write(C):typeof e=="string"?C(nl.escapeXMLText(e)):e.toString&&C(nl.escapeXMLText(e.toString(10))));C("</"),C(this.name),C(">")}write(C){C("<"),C(this.name);for(const e in this.attrs){const n=this.attrs[e];n!=null&&(C(" "),C(e),C('="'),C(nl.escapeXML(typeof n=="string"?n:n.toString(10))),C('"'))}this.children.length===0?C("/>"):this._addChildren(C)}};Ul.prototype.tree=Ul.prototype.root;var kr=Ul,cy=kr;function E0(A,C){if(Array.isArray(C)){for(const e of C)E0(A,e);return}C===""||C==null||C===!0||C===!1||A.cnode(C)}function uy(A,C,...e){if(typeof C=="object"&&C!==null){delete C.__source,delete C.__self;for(const[t,i]of Object.entries(C))i==null?delete C[t]:C[t]=i.toString(10)}const n=new cy(A,C);for(const t of e)E0(n,t);return n}var my=uy,dy=go,fu=yn;const kn=0,tl=1,hu=2,gu=3,il=4,bu=5,Eu=6,yu=7,sl=8,vu=9,py=10;class fy extends dy.EventEmitter{constructor(){super();let C=kn,e,n,t,i,s,o,l,a,r=0,p;this._handleTagOpening=function(m,g,y){m?this.emit("endElement",g):(this.emit("startElement",g,y),o&&this.emit("endElement",g))},this.write=function(m){typeof m!="string"&&(m=m.toString());let g=0;e&&(m=e+m,g+=n?0:e.length,n=!1,e=null);function y(){if(typeof r=="number"){const k=m.slice(r,g);return r=void 0,k}}for(;g<m.length;g++){switch(C){case kn:{const _=m.indexOf("<",g);_!==-1&&g!==_&&(g=_);break}case sl:{const _=m.indexOf(a,g);_!==-1&&(g=_);break}case tl:{const _=m.indexOf("-->",g);_!==-1&&(g=_+2);break}case py:{const _=m.indexOf("]]>",g);_!==-1&&(g=_+2);break}}const k=m.charCodeAt(g);switch(C){case kn:if(k===60){const _=y();_&&this.emit("text",fu.unescapeXML(_)),C=gu,r=g+1,i={}}break;case vu:if(k===93)if(m.substr(g+1,2)==="]>"){const _=y();_&&this.emit("text",_),C=kn}else m.length<g+2&&(n=!0,g=m.length);break;case gu:k===47&&r===g?(r=g+1,s=!0):k===33?m.substr(g+1,7)==="[CDATA["?(r=g+8,C=vu):m.length<g+8&&"[CDATA[".startsWith(m.slice(g+1))?(n=!0,g=m.length):(r=void 0,C=tl):k===63?(r=void 0,C=hu):(k<=32||k===47||k===62)&&(t=y(),g--,C=il);break;case tl:if(k===62){const _=m.charCodeAt(g-1),R=m.charCodeAt(g-2);(_===45&&R===45||_===93&&R===93)&&(C=kn)}break;case hu:k===62&&m.charCodeAt(g-1)===63&&(C=kn);break;case il:k===62?(this._handleTagOpening(s,t,i),t=void 0,i=void 0,s=void 0,o=void 0,C=kn,r=g+1):k===47?o=!0:k>32&&(r=g,C=bu);break;case bu:(k<=32||k===61)&&(p=y(),g--,C=Eu);break;case Eu:k===61&&(C=yu);break;case yu:(k===34||k===39)&&(l=k,a=k===34?'"':"'",C=sl,r=g+1);break;case sl:if(k===l){const _=fu.unescapeXML(y());i[p]=_,p=void 0,C=il}break}}typeof r=="number"&&r<=m.length&&(e=m.slice(r),r=0)}}end(C){C&&this.write(C),this.write=function(){}}}var hy=fy,y0=class extends Error{constructor(...C){super(...C),this.name="XMLError"}};const gy=hy,by=kr,Ey=go,Hl=y0;let v0=class extends Ey{constructor(){super();const C=new gy;this.root=null,this.cursor=null,C.on("startElement",this.onStartElement.bind(this)),C.on("endElement",this.onEndElement.bind(this)),C.on("text",this.onText.bind(this)),this.parser=C}onStartElement(C,e){const n=new by(C,e),{root:t,cursor:i}=this;t?i!==t&&i.append(n):(this.root=n,this.emit("start",n)),this.cursor=n}onEndElement(C){const{root:e,cursor:n}=this;if(C!==n.name){this.emit("error",new Hl(`${n.name} must be closed.`));return}if(n===e){this.emit("end",e);return}if(!n.parent){n.parent=e,this.emit("element",n),this.cursor=e;return}this.cursor=n.parent}onText(C){const{cursor:e}=this;if(!e){this.emit("error",new Hl(`${C} must be a child.`));return}e.t(C)}write(C){this.parser.write(C)}end(C){C&&this.parser.write(C)}};v0.XMLError=Hl;var w0=v0;(function(A){const C=kr,e=my,n=w0,{escapeXML:t,unescapeXML:i,escapeXMLText:s,unescapeXMLText:o}=yn,l=y0;function a(...r){return e(...r)}A.exports=a,Object.assign(A.exports,{Element:C,createElement:e,Parser:n,escapeXML:t,unescapeXML:i,escapeXMLText:s,unescapeXMLText:o,XMLError:l})})(h0);var Ke=h0.exports;let yy=class extends Error{constructor(C,e,n){super(C+(e?` - ${e}`:"")),this.name="XMPPError",this.condition=C,this.text=e,this.application=n}static fromElement(C){const[e,n,t]=C.children;let i,s;n&&(n.is("text")?i=n:n&&(s=n),t&&(s=t));const o=new this(e.name,i?i.text():"",s);return o.element=C,o}};var Eo=yy;const vy=Et(Eo),wy=Eo;let By=class extends wy{constructor(...C){super(...C),this.name="StreamError"}};var Sy=By,B0={exports:{}};(function(A){function C(t){let{port:i,hostname:s,protocol:o}=new URL(t);return s==="[::1]"&&(s="::1"),{port:i,hostname:s,protocol:o}}function e(t){const{port:i,hostname:s}=C(`http://${t}`);return{port:i,hostname:s}}function n(t){return t.includes("://")?C(t):e(t)}Object.assign(A.exports,{parseURI:C,parseHost:e,parseService:n})})(B0);var ky=B0.exports;const{EventEmitter:_y,promise:_n}=Se,xy=bo,ol=Ke,jy=Sy,{parseHost:Iy,parseService:My}=ky,Dy="urn:ietf:params:xml:ns:xmpp-streams",Py="http://etherx.jabber.org/streams";let yo=class extends _y{constructor(C={}){super(),this.jid=null,this.timeout=2e3,this.options=C,this.socketListeners=Object.create(null),this.parserListeners=Object.create(null),this.status="offline",this.socket=null,this.parser=null,this.root=null}_reset(){this.jid=null,this.status="offline",this._detachSocket(),this._detachParser()}async _streamError(C,e){try{await this.send(ol("stream:error",{},[ol(C,{xmlns:Dy},e)]))}catch{}return this._end()}_onData(C){const e=C.toString("utf8");this.emit("input",e),this.parser.write(e)}_onParserError(C){this._streamError("bad-format"),this._detachParser(),this.emit("error",C)}_attachSocket(C){this.socket=C;const e=this.socketListeners;e.data=this._onData.bind(this),e.close=(n,t)=>{this._reset(),this._status("disconnect",{clean:!n,event:t})},e.connect=()=>{this._status("connect")},e.error=n=>{this.emit("error",n)},this.socket.on("close",e.close),this.socket.on("data",e.data),this.socket.on("error",e.error),this.socket.on("connect",e.connect)}_detachSocket(){const{socketListeners:C,socket:e}=this;for(const n of Object.getOwnPropertyNames(C))e.removeListener(n,C[n]),delete C[n];return this.socket=null,e}_onElement(C){const e=C.is("error",Py);e&&this._onStreamError(C),this.emit("element",C),this.emit(this.isStanza(C)?"stanza":"nonza",C),e&&this._end()}_onStreamError(C){const e=jy.fromElement(C);if(e.condition==="see-other-host")return this._onSeeOtherHost(e);this.emit("error",e)}async _onSeeOtherHost(C){const{protocol:e}=My(this.options.service),n=C.element.getChildText("see-other-host"),{port:t}=Iy(n);let i;i=t?`${e||"xmpp:"}//${n}`:(e?`${e}//`:"")+n;try{await _n(this,"disconnect");const{domain:s,lang:o}=this.options;await this.connect(i),await this.open({domain:s,lang:o})}catch(s){this.emit("error",s)}}_attachParser(C){this.parser=C;const e=this.parserListeners;e.element=this._onElement.bind(this),e.error=this._onParserError.bind(this),e.end=n=>{this._detachParser(),this._status("close",n)},e.start=n=>{this._status("open",n)},this.parser.on("error",e.error),this.parser.on("element",e.element),this.parser.on("end",e.end),this.parser.on("start",e.start)}_detachParser(){const C=this.parserListeners;for(const e of Object.getOwnPropertyNames(C))this.parser.removeListener(e,C[e]),delete C[e];this.parser=null}_jid(C){return this.jid=xy(C),this.jid}_status(C,...e){this.status=C,this.emit("status",C,...e),this.emit(C,...e)}async _end(){let C;try{C=await this.close()}catch{}try{await this.disconnect()}catch{}return C}async start(){if(this.status!=="offline")throw new Error("Connection is not offline");const{service:C,domain:e,lang:n}=this.options;await this.connect(C);const t=_n(this,"online");return await this.open({domain:e,lang:n}),t}async connect(C){this._status("connecting",C);const e=new this.Socket;return this._attachSocket(e),e.connect(this.socketParameters(C)),_n(e,"connect")}async disconnect(C=this.timeout){this.socket&&this._status("disconnecting"),this.socket.end(),await _n(this.socket,"close","error",C)}async open(C){this._status("opening"),typeof C=="string"&&(C={domain:C});const{domain:e,lang:n,timeout:t=this.timeout}=C,i=this.headerElement();return i.attrs.to=e,i.attrs["xml:lang"]=n,this.root=i,this._attachParser(new this.Parser),await this.write(this.header(i)),_n(this,"open","error",t)}async stop(){const C=await this._end();return this.status!=="offline"&&this._status("offline",C),C}async close(C=this.timeout){const e=this.footer(this.footerElement()),n=Promise.all([_n(this.parser,"end","error",C),this.write(e)]);this.parser&&this.socket&&this._status("closing");const[t]=await n;return this.root=null,t}async restart(){this._detachParser();const{domain:C,lang:e}=this.options;return this.open({domain:C,lang:e})}async send(C){C.parent=this.root,await this.write(C.toString()),this.emit("send",C)}sendReceive(C,e=this.timeout){return Promise.all([this.send(C),_n(this,"element","error",e)]).then(([,n])=>n)}write(C){return new Promise((e,n)=>{if(this.status==="closing"){n(new Error("Connection is closing"));return}this.socket.write(C,t=>{if(t)return n(t);this.emit("output",C),e()})})}isStanza(C){const{name:e}=C;return e==="iq"||e==="message"||e==="presence"}isNonza(C){return!this.isStanza(C)}header(C){return C.toString()}headerElement(){return new ol.Element("",{version:"1.0",xmlns:this.NS})}footer(C){return C.toString()}footerElement(){}socketParameters(){}};yo.prototype.NS="";yo.prototype.Socket=null;yo.prototype.Parser=null;var S0=yo;const Oy=S0;let k0=class extends Oy{constructor(C){super(C),this.transports=[]}send(C,...e){return this.Transport.prototype.send.call(this,C,...e)}sendMany(...C){return this.Transport.prototype.sendMany.call(this,...C)}_findTransport(C){return this.transports.find(e=>{try{return e.prototype.socketParameters(C)!==void 0}catch{return!1}})}connect(C){const e=this._findTransport(C);if(!e)throw new Error("No compatible connection method found.");return this.Transport=e,this.Socket=e.prototype.Socket,this.Parser=e.prototype.Parser,super.connect(C)}socketParameters(...C){return this.Transport.prototype.socketParameters(...C)}header(...C){return this.Transport.prototype.header(...C)}headerElement(...C){return this.Transport.prototype.headerElement(...C)}footer(...C){return this.Transport.prototype.footer(...C)}footerElement(...C){return this.Transport.prototype.footerElement(...C)}};k0.prototype.NS="jabber:client";var Ly=k0;const Ky=Ly,Fy=Ke,Ty=bo;fo.Client=Ky;fo.xml=Fy;fo.jid=Ty;var Ny=function(C){return(C.split("://")[1]||C).split(":")[0].split("/")[0]};const{EventEmitter:$y}=Se;class Ry extends $y{constructor(C){super(),this.delay=1e3,this.entity=C,this._timeout=null}scheduleReconnect(){const{entity:C,delay:e,_timeout:n}=this;clearTimeout(n),this._timeout=setTimeout(async()=>{if(C.status==="disconnect")try{await this.reconnect()}catch{}},e)}async reconnect(){const{entity:C}=this;this.emit("reconnecting");const{service:e,domain:n,lang:t}=C.options;await C.connect(e),await C.open({domain:n,lang:t}),this.emit("reconnected")}start(){const{entity:C}=this,e={};e.disconnect=()=>{this.scheduleReconnect()},this.listeners=e,C.on("disconnect",e.disconnect)}stop(){const{entity:C,listeners:e,_timeout:n}=this;C.removeListener("disconnect",e.disconnect),clearTimeout(n)}}var Gy=function({entity:C}){const e=new Ry(C);return e.start(),e};const Uy={},Qy=Object.freeze(Object.defineProperty({__proto__:null,default:Uy},Symbol.toStringTag,{value:"Module"})),te=KE(Qy),_0=te,wu=DA.WebSocket||_0,Hy=go,ll="ECONNERROR";let Vy=class extends Hy{constructor(){super(),this.listeners=Object.create(null)}connect(C){this.url=C,this._attachSocket(new wu(C,["xmpp"]))}_attachSocket(C){this.socket=C;const{listeners:e}=this;e.open=()=>{this.emit("connect")},e.message=({data:n})=>this.emit("data",n),e.error=n=>{const{url:t}=this;let{error:i}=n;i||(i=new Error(`WebSocket ${ll} ${t}`),i.errno=ll,i.code=ll),i.event=n,i.url=t,this.emit("error",i)},e.close=n=>{this._detachSocket(),this.emit("close",!n.wasClean,n)},this.socket.addEventListener("open",e.open),this.socket.addEventListener("message",e.message),this.socket.addEventListener("error",e.error),this.socket.addEventListener("close",e.close)}_detachSocket(){delete this.url;const{socket:C,listeners:e}=this;for(const n of Object.getOwnPropertyNames(e))C.removeEventListener(n,e[n]),delete e[n];delete this.socket}end(){this.socket.close()}write(C,e){wu===_0?this.socket.send(C,e):(this.socket.send(C),e())}};var zy=Vy;const{Parser:qy,Element:Wy,XMLError:Yy}=Ke;var Jy=class extends qy{onStartElement(C,e){const n=new Wy(C,e),{cursor:t}=this;t&&t.append(n),this.cursor=n}onEndElement(C){const{cursor:e}=this;if(C!==e.name){this.emit("error",new Yy(`${e.name} must be closed.`));return}if(e.parent){this.cursor=e.parent;return}e.is("open","urn:ietf:params:xml:ns:xmpp-framing")?this.emit("start",e):e.is("close","urn:ietf:params:xml:ns:xmpp-framing")?this.emit("end",e):this.emit("element",e),this.cursor=null}};const Xy=zy,Zy=S0,A4=Ke,C4=Jy,Bu="urn:ietf:params:xml:ns:xmpp-framing";let vo=class extends Zy{send(C,...e){return!C.attrs.xmlns&&super.isStanza(C)&&(C.attrs.xmlns="jabber:client"),super.send(C,...e)}async sendMany(C){for(const e of C)await this.send(e)}footerElement(){return new A4.Element("close",{xmlns:Bu})}headerElement(){const C=super.headerElement();return C.name="open",C.attrs.xmlns=Bu,C}socketParameters(C){return/^wss?:\/\//.test(C)?C:void 0}};vo.prototype.Socket=Xy;vo.prototype.NS="jabber:client";vo.prototype.Parser=C4;var e4=vo;const n4=e4;var t4=function({entity:C}){C.transports.push(n4)},i4=s4;function s4(A){if(!Array.isArray(A))throw new TypeError("Middleware stack must be an array!");for(const C of A)if(typeof C!="function")throw new TypeError("Middleware must be composed of functions!");return function(C,e){let n=-1;return t(0);function t(i){if(i<=n)return Promise.reject(new Error("next() called multiple times"));n=i;let s=A[i];if(i===A.length&&(s=e),!s)return Promise.resolve();try{return Promise.resolve(s(C,t.bind(null,i+1)))}catch(o){return Promise.reject(o)}}}}var x0=class{constructor(C,e){this.stanza=e,this.entity=C;const{name:n,attrs:t}=e,{type:i,id:s}=t;this.name=n,this.id=s||"",n==="message"?this.type=i||"normal":n==="presence"?this.type=i||"available":this.type=i||"",this.from=null,this.to=null,this.local="",this.domain="",this.resource=""}};const o4=x0,Su=bo;var l4=class extends o4{constructor(C,e){super(C,e);const{jid:n,domain:t}=C,i=e.attrs.to||n&&n.toString(),s=e.attrs.from||t;i&&(this.to=new Su(i)),s&&(this.from=new Su(s),this.local=this.from.local,this.domain=this.from.domain,this.resource=this.from.resource)}};const a4=x0,ku=bo;var r4=class extends a4{constructor(C,e){super(C,e);const{jid:n,domain:t}=C,i=e.attrs.from||n&&n.toString(),s=e.attrs.to||t;i&&(this.from=new ku(i)),s&&(this.to=new ku(s),this.local=this.to.local,this.domain=this.to.domain,this.resource=this.to.resource)}};const c4=i4,u4=l4,m4=r4;function _u(A,C,e){return n=>{const t=new e(A,n);return c4(C)(t)}}function d4(A){return(C,e)=>{e().then(n=>n&&A.send(n)).catch(n=>A.emit("error",n))}}var p4=function({entity:C}){const e=[d4(C)],n=[],t=_u(C,e,u4),i=_u(C,n,m4);return C.on("element",t),C.hookOutgoing=i,{use(s){return e.push(s),s},filter(s){return n.push(s),s}}},f4=function(){return async({stanza:C,entity:e},n)=>{if(!C.is("features","http://etherx.jabber.org/streams"))return n();!await n()&&e.jid&&e._status("online",e.jid)}};const h4=f4;var g4=function({middleware:C}){C.use(h4());function e(n,t,i){return C.use((s,o)=>{const{stanza:l}=s;if(!l.is("features","http://etherx.jabber.org/streams"))return o();const a=l.getChild(n,t);return a?i(s,o,a):o()})}return{use:e}},b4=function(){let C;for(;!C;)C=Math.random().toString(36).slice(2,12);return C};const E4=Eo;let y4=class extends E4{constructor(C,e,n,t){super(C,e,n),this.type=t,this.name="StanzaError"}static fromElement(C){const e=super.fromElement(C);return e.type=C.attrs.type,e}};var v4=y4;const w4=b4,B4=v4,{Deferred:S4}=Se,k4=Se.timeout,_4=Ke;function x4({name:A,type:C}){return!(A!=="iq"||C!=="error"&&C!=="result")}class j4{constructor({entity:C,middleware:e}){this.handlers=new Map,this.entity=C,this.middleware=e}start(){this.middleware.use(this._route.bind(this))}_route({type:C,name:e,id:n,stanza:t},i){if(!x4({name:e,type:C}))return i();const s=this.handlers.get(n);if(!s)return i();C==="error"?s.reject(B4.fromElement(t.getChild("error"))):s.resolve(t),this.handlers.delete(n)}async request(C,e=30*1e3){C.attrs.id||(C.attrs.id=w4());const n=new S4;this.handlers.set(C.attrs.id,n);try{await this.entity.send(C),await k4(n.promise,e)}catch(t){throw this.handlers.delete(C.attrs.id),t}return n.promise}_childRequest(C,e,n,...t){const{name:i,attrs:{xmlns:s}}=e;return this.request(_4("iq",{type:C,to:n},e),...t).then(o=>o.getChild(i,s))}async get(...C){return this._childRequest("get",...C)}async set(...C){return this._childRequest("set",...C)}}var I4=function(...C){const e=new j4(...C);return e.start(),e};const si=Ke,M4="urn:ietf:params:xml:ns:xmpp-stanzas";function D4({name:A,type:C}){return!(A!=="iq"||C==="error"||C==="result")}function P4({type:A},C,e){return!(A!=="get"&&A!=="set"||C.length!==1||!e)}function j0({stanza:A}){return si("iq",{to:A.attrs.from,from:A.attrs.to,id:A.attrs.id})}function O4(A,C){const e=j0(A);return e.attrs.type="result",C&&e.append(C),e}function xu(A,C,e){const n=j0(A);return n.attrs.type="error",e&&n.append(e),n.append(C),n}function al(A,C){return si("error",{type:A},si(C,M4))}function L4(A){return async function(e,n){if(!D4(e))return n();const{stanza:t}=e,i=t.getChildElements(),[s]=i;if(!P4(e,i,s))return xu(e,al("modify","bad-request"),s);e.element=s;let o;try{o=await n()}catch(l){A.emit("error",l),o=al("cancel","internal-server-error")}return o||(o=al("cancel","service-unavailable")),o instanceof si.Element&&o.is("error")?xu(e,o,s):O4(e,o instanceof si.Element?o:void 0)}}function ju(A,C,e,n){return(t,i)=>t.type!==A|!t.element||!t.element.is(e,C)?i():n(t,i)}var K4=function({middleware:C,entity:e}){return C.use(L4(e)),{get(n,t,i){C.use(ju("get",n,t,i))},set(n,t,i){C.use(ju("set",n,t,i))}}},wo={exports:{}},I0={};const F4=w0;var T4=function(C){const e=new F4;let n=null,t=null;if(e.on("start",i=>{n=i}),e.on("element",i=>{n.append(i)}),e.on("error",i=>{t=i}),e.write(C),e.end(),t)throw t;return n},M0={};function Gi(A){return A.startsWith("https")||A.startsWith("wss")}M0.compare=function(C,e){let n;if(Gi(C.uri)&&!Gi(e.uri)?n=-1:!Gi(C.uri)&&Gi(e.uri)?n=1:n=0,n!==0)return n;let t;return C.method===e.method?t=0:C.method==="websocket"?t=-1:e.method==="websocket"?t=1:C.method==="xbosh"?t=-1:e.method==="xbosh"?t=1:C.method==="httppoll"?t=-1:e.method==="httppoll"?t=1:t=0,t!==0?t:0};const N4=DA.fetch||te,$4=T4,R4=M0.compare;function G4(A){return N4(`https://${A}/.well-known/host-meta`).then(C=>C.text()).then(C=>$4(C).getChildren("Link").filter(e=>["urn:xmpp:alt-connections:websocket","urn:xmpp:alt-connections:httppoll","urn:xmpp:alt-connections:xbosh"].includes(e.attrs.rel)).map(({attrs:e})=>({rel:e.rel,href:e.href,method:e.rel.split(":").pop(),uri:e.href})).sort(R4)).catch(()=>[])}I0.resolve=G4;const $s=te,D0=I0;wo.exports=function(...C){return Promise.all([$s.resolve?$s.resolve(...C):Promise.resolve([]),D0.resolve(...C)]).then(([e,n])=>[...e,...n])};$s.resolve&&(wo.exports.dns=$s);wo.exports.http=D0;var U4=wo.exports;const Q4=U4,{promise:H4}=Se;async function V4(A){const C=await Q4(A,{srv:[{service:"xmpps-client",protocol:"tcp"},{service:"xmpp-client",protocol:"tcp"}]});return[...new Set(C.map(e=>e.uri))]}function z4(A,C){return C.filter(e=>A._findTransport(e))}async function Vl(A,C){if(C.length===0)throw new Error("Couldn't connect");const e=C.shift(),n=A._findTransport(e);if(!n)return Vl(A,C);A._status("connecting",e);const t=n.prototype.socketParameters(e),i=new n.prototype.Socket;try{i.connect(t),await H4(i,"connect")}catch{return Vl(A,C)}A._attachSocket(i),i.emit("connect"),A.Transport=n,A.Socket=n.prototype.Socket,A.Parser=n.prototype.Parser}var q4=function({entity:C}){const e=C.connect;C.connect=async function(t){if(!t||/:\/\//.test(t))return e.call(this,t);const i=z4(C,await V4(t));if(i.length===0)throw new Error("No compatible transport found.");try{await Vl(C,i)}catch(s){throw C._reset(),C._status("disconnect"),s}}},_r={};_r.encode=function(C){return DA.btoa(C)};_r.decode=function(C){return DA.atob(C)};const W4=Eo;let Y4=class extends W4{constructor(...C){super(...C),this.name="SASLError"}};var J4=Y4,zl={exports:{}},Ui={exports:{}},Iu;function X4(){return Iu||(Iu=1,function(A,C){(function(e,n){n(C,A)})(DA,function(e,n){function t(){this._mechs=[]}t.prototype.use=function(i,s){return s||(s=i,i=s.prototype.name),this._mechs.push({name:i,mech:s}),this},t.prototype.create=function(i){for(var s=0,o=this._mechs.length;s<o;s++)for(var l=0,a=i.length;l<a;l++){var r=this._mechs[s];if(r.name==i[l])return new r.mech}return null},n.exports=t})}(Ui,Ui.exports)),Ui.exports}(function(A,C){(function(e,n){n(C,A,X4())})(DA,function(e,n,t){e=n.exports=t,e.Factory=t})})(zl,zl.exports);var Z4=zl.exports;const{encode:Mu,decode:A6}=_r,C6=J4,Du=Ke,e6=Z4,$t="urn:ietf:params:xml:ns:xmpp-sasl";function n6(A){return A.getChild("mechanisms",$t).children.map(C=>C.text())}async function Pu(A,C,e,n){const t=A.create([e]);if(!t)throw new Error("No compatible mechanism");const{domain:i}=C.options,s={username:null,password:null,server:i,host:i,realm:i,serviceType:"xmpp",serviceName:i,...n};return new Promise((o,l)=>{const a=r=>{if(r.attrs.xmlns===$t){if(r.name==="challenge"){t.challenge(A6(r.text()));const p=t.response(s);C.send(Du("response",{xmlns:$t,mechanism:t.name},typeof p=="string"?Mu(p):""));return}r.name==="failure"?l(C6.fromElement(r)):r.name==="success"&&o(),C.removeListener("nonza",a)}};C.on("nonza",a),t.clientFirst&&C.send(Du("auth",{xmlns:$t,mechanism:t.name},Mu(t.response(s))))})}var t6=function({streamFeatures:C},e){const n=new e6;return C.use("mechanisms",$t,async({stanza:t,entity:i})=>{const s=n6(t);let a=n._mechs.map(({name:r})=>r).filter(r=>s.includes(r))[0];typeof e=="function"?await e(r=>Pu(n,i,a,r),a):(!e.username&&!e.password&&(a="ANONYMOUS"),await Pu(n,i,a,e)),await i.restart()}),{use(...t){return n.use(...t)}}};const Ou=Ke,P0="urn:ietf:params:xml:ns:xmpp-bind";function i6(A){return Ou("bind",{xmlns:P0},A&&Ou("resource",{},A))}async function Lu(A,C,e){const t=(await C.set(i6(e))).getChildText("jid");return A._jid(t),t}function s6({iqCaller:A},C){return async({entity:e},n)=>{await(typeof C=="function"?C(t=>Lu(e,A,t)):Lu(e,A,C)),n()}}var o6=function({streamFeatures:C,iqCaller:e},n){C.use("bind",P0,s6({iqCaller:e},n))};const l6=Ke,Ku="urn:ietf:params:xml:ns:xmpp-session";var a6=function({iqCaller:C,streamFeatures:e}){e.use("session",Ku,async(n,t,i)=>(i.getChild("optional")||await C.set(l6("session",Ku)),t()))};const xr=Ke,Ge="urn:xmpp:sm:3";async function r6(A,C,e){return A.send(xr("enable",{xmlns:Ge,max:e,resume:C?"true":void 0})),new Promise((n,t)=>{function i(s){if(s.is("enabled",Ge))n(s);else if(s.is("failed",Ge))t(s);else return;A.removeListener("nonza",i)}A.on("nonza",i)})}async function c6(A,C,e){const n=await A.sendReceive(xr("resume",{xmlns:Ge,h:C,previd:e}));if(!n.is("resumed",Ge))throw n;return n}var u6=function({streamFeatures:C,entity:e,middleware:n}){let t=null;const i={allowResume:!0,preferredMaximum:null,enabled:!1,id:"",outbound:0,inbound:0,max:null};return e.on("online",s=>{t=s,i.outbound=0,i.inbound=0}),e.on("offline",()=>{i.outbound=0,i.inbound=0,i.enabled=!1,i.id=""}),n.use((s,o)=>{const{stanza:l}=s;return["presence","message","iq"].includes(l.name)?i.inbound+=1:l.is("r",Ge)?e.send(xr("a",{xmlns:Ge,h:i.inbound})).catch(()=>{}):l.is("a",Ge)&&(i.outbound=l.attrs.h),o()}),C.use("sm",Ge,async(s,o)=>{if(i.id)try{return await c6(e,i.inbound,i.id),i.enabled=!0,e.jid=t,e.status="online",!0}catch{i.id="",i.enabled=!1,i.outbound=0}await o();const l=r6(e,i.allowResume,i.preferredMaximum);i.outbound=0;try{const a=await l;i.enabled=!0,i.id=a.attrs.id,i.max=a.attrs.max}catch{i.enabled=!1}i.inbound=0}),i},ql={exports:{}},Qi={exports:{}},Fu;function m6(){return Fu||(Fu=1,function(A,C){(function(e,n){n(C,A)})(DA,function(e,n){function t(){}t.prototype.name="ANONYMOUS",t.prototype.clientFirst=!0,t.prototype.response=function(i){return i.trace||""},t.prototype.challenge=function(i){},n.exports=t})}(Qi,Qi.exports)),Qi.exports}(function(A,C){(function(e,n){n(C,A,m6())})(DA,function(e,n,t){e=n.exports=t,e.Mechanism=t})})(ql,ql.exports);var d6=ql.exports;const p6=d6;var f6=function(C){C.use(p6)},Wl={exports:{}},Hi={exports:{}},Tu;function h6(){return Tu||(Tu=1,function(A,C){(function(e,n){n(C,A)})(DA,function(e,n){function t(){}t.prototype.name="PLAIN",t.prototype.clientFirst=!0,t.prototype.response=function(i){var s="";return s+=i.authzid||"",s+="\0",s+=i.username,s+="\0",s+=i.password,s},t.prototype.challenge=function(i){return this},n.exports=t})}(Hi,Hi.exports)),Hi.exports}(function(A,C){(function(e,n){n(C,A,h6())})(DA,function(e,n,t){e=n.exports=t,e.Mechanism=t})})(Wl,Wl.exports);var g6=Wl.exports;const b6=g6;var E6=function(C){C.use(b6)};const{xml:y6,jid:v6,Client:w6}=fo,B6=Ny,S6=Gy,k6=t4,_6=p4,x6=g4,j6=I4,I6=K4,M6=q4,D6=t6,P6=o6,O6=a6,L6=u6,K6=f6,F6=E6;function T6(A={}){const{resource:C,credentials:e,username:n,password:t,...i}=A,{domain:s,service:o}=i;!s&&o&&(i.domain=B6(o));const l=new w6(i),a=S6({entity:l}),r=k6({entity:l}),p=_6({entity:l}),d=x6({middleware:p}),m=j6({middleware:p,entity:l}),g=I6({middleware:p,entity:l}),y=M6({entity:l}),k=D6({streamFeatures:d},e||{username:n,password:t}),_=L6({streamFeatures:d,entity:l,middleware:p}),R=P6({iqCaller:m,streamFeatures:d},C),F=O6({iqCaller:m,streamFeatures:d}),J=Object.entries({plain:F6,anonymous:K6}).map(([nA,CA])=>({[nA]:CA(k)}));return Object.assign(l,{entity:l,reconnect:a,websocket:r,middleware:p,streamFeatures:d,iqCaller:m,iqCallee:g,resolve:y,sasl:k,resourceBinding:R,sessionEstablishment:F,streamManagement:_,mechanisms:J})}var xA=y6,N6=v6,$6=T6;let Nu=(A=21)=>crypto.getRandomValues(new Uint8Array(A)).reduce((C,e)=>(e&=63,e<36?C+=e.toString(36):e<62?C+=(e-26).toString(36).toUpperCase():e>62?C+="-":C+="_",C),"");function c(){var A="/home/runner/work/xmpp-web/xmpp-web/src/services/XmppClient.js",C="3d1f8403a5ae8fa0e7beb6e0ae682a34050ed052",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/services/XmppClient.js",statementMap:{0:{start:{line:5,column:17},end:{line:5,column:21}},1:{start:{line:6,column:21},end:{line:6,column:25}},2:{start:{line:8,column:11},end:{line:49,column:1}},3:{start:{line:51,column:17},end:{line:51,column:21}},4:{start:{line:52,column:21},end:{line:52,column:23}},5:{start:{line:56,column:4},end:{line:58,column:5}},6:{start:{line:57,column:6},end:{line:57,column:29}},7:{start:{line:59,column:4},end:{line:59,column:24}},8:{start:{line:61,column:4},end:{line:72,column:5}},9:{start:{line:73,column:4},end:{line:73,column:17}},10:{start:{line:74,column:4},end:{line:74,column:29}},11:{start:{line:75,column:4},end:{line:81,column:6}},12:{start:{line:82,column:4},end:{line:82,column:21}},13:{start:{line:84,column:4},end:{line:88,column:5}},14:{start:{line:85,column:6},end:{line:85,column:73}},15:{start:{line:85,column:39},end:{line:85,column:72}},16:{start:{line:86,column:6},end:{line:86,column:69}},17:{start:{line:86,column:37},end:{line:86,column:68}},18:{start:{line:87,column:6},end:{line:87,column:73}},19:{start:{line:87,column:39},end:{line:87,column:72}},20:{start:{line:89,column:4},end:{line:89,column:44}},21:{start:{line:93,column:15},end:{line:93,column:18}},22:{start:{line:94,column:4},end:{line:96,column:5}},23:{start:{line:95,column:6},end:{line:95,column:27}},24:{start:{line:97,column:4},end:{line:103,column:5}},25:{start:{line:107,column:4},end:{line:182,column:5}},26:{start:{line:108,column:6},end:{line:136,column:7}},27:{start:{line:110,column:8},end:{line:123,column:9}},28:{start:{line:112,column:23},end:{line:112,column:46}},29:{start:{line:113,column:10},end:{line:115,column:11}},30:{start:{line:114,column:12},end:{line:114,column:48}},31:{start:{line:116,column:10},end:{line:122,column:11}},32:{start:{line:117,column:28},end:{line:117,column:76}},33:{start:{line:118,column:12},end:{line:120,column:13}},34:{start:{line:119,column:14},end:{line:119,column:49}},35:{start:{line:121,column:12},end:{line:121,column:28}},36:{start:{line:124,column:8},end:{line:124,column:39}},37:{start:{line:126,column:23},end:{line:126,column:48}},38:{start:{line:127,column:8},end:{line:132,column:9}},39:{start:{line:129,column:28},end:{line:129,column:56}},40:{start:{line:130,column:26},end:{line:130,column:55}},41:{start:{line:131,column:10},end:{line:131,column:42}},42:{start:{line:133,column:8},end:{line:135,column:9}},43:{start:{line:134,column:10},end:{line:134,column:41}},44:{start:{line:137,column:11},end:{line:182,column:5}},45:{start:{line:138,column:23},end:{line:142,column:7}},46:{start:{line:143,column:6},end:{line:143,column:60}},47:{start:{line:144,column:6},end:{line:150,column:7}},48:{start:{line:145,column:8},end:{line:145,column:29}},49:{start:{line:146,column:8},end:{line:146,column:33}},50:{start:{line:148,column:8},end:{line:148,column:61}},51:{start:{line:149,column:8},end:{line:149,column:55}},52:{start:{line:152,column:26},end:{line:152,column:59}},53:{start:{line:153,column:6},end:{line:176,column:7}},54:{start:{line:154,column:8},end:{line:154,column:29}},55:{start:{line:155,column:8},end:{line:165,column:10}},56:{start:{line:156,column:10},end:{line:158,column:11}},57:{start:{line:157,column:12},end:{line:157,column:43}},58:{start:{line:159,column:10},end:{line:161,column:11}},59:{start:{line:160,column:12},end:{line:160,column:57}},60:{start:{line:162,column:10},end:{line:164,column:11}},61:{start:{line:163,column:12},end:{line:163,column:41}},62:{start:{line:166,column:8},end:{line:170,column:10}},63:{start:{line:167,column:10},end:{line:169,column:11}},64:{start:{line:168,column:12},end:{line:168,column:34}},65:{start:{line:171,column:8},end:{line:175,column:10}},66:{start:{line:172,column:10},end:{line:174,column:11}},67:{start:{line:173,column:12},end:{line:173,column:85}},68:{start:{line:173,column:66},end:{line:173,column:84}},69:{start:{line:177,column:6},end:{line:179,column:7}},70:{start:{line:178,column:8},end:{line:178,column:58}},71:{start:{line:180,column:6},end:{line:180,column:77}},72:{start:{line:180,column:58},end:{line:180,column:76}},73:{start:{line:186,column:20},end:{line:186,column:22}},74:{start:{line:187,column:17},end:{line:187,column:40}},75:{start:{line:188,column:4},end:{line:231,column:5}},76:{start:{line:189,column:6},end:{line:191,column:7}},77:{start:{line:190,column:8},end:{line:190,column:42}},78:{start:{line:192,column:6},end:{line:192,column:35}},79:{start:{line:193,column:6},end:{line:193,column:59}},80:{start:{line:194,column:6},end:{line:194,column:73}},81:{start:{line:195,column:6},end:{line:195,column:34}},82:{start:{line:196,column:6},end:{line:196,column:38}},83:{start:{line:197,column:27},end:{line:197,column:55}},84:{start:{line:198,column:6},end:{line:200,column:7}},85:{start:{line:199,column:8},end:{line:199,column:48}},86:{start:{line:203,column:25},end:{line:203,column:48}},87:{start:{line:204,column:6},end:{line:213,column:7}},88:{start:{line:205,column:8},end:{line:212,column:10}},89:{start:{line:206,column:10},end:{line:211,column:11}},90:{start:{line:207,column:12},end:{line:209,column:13}},91:{start:{line:208,column:14},end:{line:208,column:32}},92:{start:{line:210,column:12},end:{line:210,column:70}},93:{start:{line:216,column:21},end:{line:216,column:34}},94:{start:{line:217,column:6},end:{line:225,column:7}},95:{start:{line:218,column:22},end:{line:218,column:46}},96:{start:{line:219,column:8},end:{line:219,column:56}},97:{start:{line:221,column:22},end:{line:221,column:46}},98:{start:{line:222,column:8},end:{line:224,column:9}},99:{start:{line:223,column:10},end:{line:223,column:58}},100:{start:{line:226,column:6},end:{line:228,column:7}},101:{start:{line:227,column:8},end:{line:227,column:48}},102:{start:{line:230,column:6},end:{line:230,column:72}},103:{start:{line:230,column:54},end:{line:230,column:71}},104:{start:{line:234,column:19},end:{line:234,column:113}},105:{start:{line:234,column:55},end:{line:234,column:112}},106:{start:{line:235,column:4},end:{line:251,column:5}},107:{start:{line:237,column:25},end:{line:237,column:123}},108:{start:{line:237,column:64},end:{line:237,column:122}},109:{start:{line:238,column:6},end:{line:250,column:7}},110:{start:{line:239,column:24},end:{line:239,column:125}},111:{start:{line:239,column:67},end:{line:239,column:124}},112:{start:{line:240,column:8},end:{line:249,column:9}},113:{start:{line:241,column:29},end:{line:241,column:61}},114:{start:{line:242,column:28},end:{line:247,column:11}},115:{start:{line:248,column:10},end:{line:248,column:90}},116:{start:{line:248,column:70},end:{line:248,column:89}},117:{start:{line:254,column:24},end:{line:254,column:50}},118:{start:{line:255,column:4},end:{line:261,column:5}},119:{start:{line:256,column:22},end:{line:259,column:7}},120:{start:{line:260,column:6},end:{line:260,column:81}},121:{start:{line:260,column:63},end:{line:260,column:80}},122:{start:{line:264,column:22},end:{line:264,column:46}},123:{start:{line:265,column:4},end:{line:274,column:5}},124:{start:{line:266,column:20},end:{line:272,column:7}},125:{start:{line:269,column:56},end:{line:269,column:108}},126:{start:{line:270,column:24},end:{line:270,column:34}},127:{start:{line:273,column:6},end:{line:273,column:82}},128:{start:{line:273,column:66},end:{line:273,column:81}},129:{start:{line:277,column:27},end:{line:277,column:114}},130:{start:{line:277,column:63},end:{line:277,column:113}},131:{start:{line:278,column:4},end:{line:285,column:5}},132:{start:{line:279,column:24},end:{line:283,column:7}},133:{start:{line:284,column:6},end:{line:284,column:79}},134:{start:{line:284,column:59},end:{line:284,column:78}},135:{start:{line:287,column:4},end:{line:289,column:5}},136:{start:{line:288,column:6},end:{line:288,column:48}},137:{start:{line:293,column:4},end:{line:296,column:5}},138:{start:{line:294,column:6},end:{line:294,column:55}},139:{start:{line:295,column:6},end:{line:295,column:82}},140:{start:{line:295,column:63},end:{line:295,column:81}},141:{start:{line:297,column:4},end:{line:297,column:19}},142:{start:{line:301,column:4},end:{line:301,column:20}},143:{start:{line:305,column:4},end:{line:307,column:5}},144:{start:{line:306,column:6},end:{line:306,column:45}},145:{start:{line:308,column:4},end:{line:312,column:5}},146:{start:{line:310,column:6},end:{line:310,column:41}},147:{start:{line:311,column:6},end:{line:311,column:12}},148:{start:{line:314,column:4},end:{line:314,column:32}},149:{start:{line:319,column:6},end:{line:324,column:7}},150:{start:{line:325,column:19},end:{line:325,column:66}},151:{start:{line:326,column:4},end:{line:333,column:8}},152:{start:{line:329,column:8},end:{line:332,column:9}},153:{start:{line:331,column:53},end:{line:331,column:61}},154:{start:{line:337,column:28},end:{line:348,column:5}},155:{start:{line:349,column:4},end:{line:349,column:41}},156:{start:{line:353,column:4},end:{line:355,column:5}},157:{start:{line:354,column:6},end:{line:354,column:12}},158:{start:{line:356,column:19},end:{line:362,column:5}},159:{start:{line:363,column:4},end:{line:365,column:5}},160:{start:{line:364,column:6},end:{line:364,column:12}},161:{start:{line:366,column:4},end:{line:373,column:6}},162:{start:{line:377,column:15},end:{line:377,column:23}},163:{start:{line:378,column:4},end:{line:403,column:6}},164:{start:{line:404,column:24},end:{line:411,column:5}},165:{start:{line:412,column:4},end:{line:414,column:5}},166:{start:{line:413,column:6},end:{line:413,column:35}},167:{start:{line:415,column:4},end:{line:417,column:5}},168:{start:{line:416,column:6},end:{line:416,column:50}},169:{start:{line:418,column:4},end:{line:418,column:81}},170:{start:{line:418,column:59},end:{line:418,column:80}},171:{start:{line:424,column:6},end:{line:429,column:7}},172:{start:{line:430,column:19},end:{line:430,column:67}},173:{start:{line:431,column:4},end:{line:431,column:41}},174:{start:{line:437,column:4},end:{line:445,column:5}},175:{start:{line:446,column:19},end:{line:446,column:68}},176:{start:{line:447,column:22},end:{line:447,column:24}},177:{start:{line:448,column:4},end:{line:472,column:7}},178:{start:{line:449,column:20},end:{line:471,column:9}},179:{start:{line:450,column:22},end:{line:470,column:12}},180:{start:{line:452,column:29},end:{line:452,column:45}},181:{start:{line:453,column:12},end:{line:457,column:13}},182:{start:{line:454,column:14},end:{line:456,column:16}},183:{start:{line:455,column:16},end:{line:455,column:54}},184:{start:{line:458,column:12},end:{line:460,column:13}},185:{start:{line:459,column:14},end:{line:459,column:62}},186:{start:{line:461,column:25},end:{line:461,column:56}},187:{start:{line:462,column:12},end:{line:464,column:13}},188:{start:{line:463,column:14},end:{line:463,column:34}},189:{start:{line:465,column:29},end:{line:465,column:64}},190:{start:{line:466,column:12},end:{line:468,column:13}},191:{start:{line:467,column:14},end:{line:467,column:42}},192:{start:{line:469,column:12},end:{line:469,column:36}},193:{start:{line:473,column:4},end:{line:473,column:20}},194:{start:{line:478,column:4},end:{line:500,column:5}},195:{start:{line:484,column:29},end:{line:496,column:11}},196:{start:{line:501,column:4},end:{line:501,column:56}},197:{start:{line:505,column:22},end:{line:505,column:47}},198:{start:{line:506,column:4},end:{line:512,column:6}},199:{start:{line:513,column:4},end:{line:513,column:38}},200:{start:{line:517,column:22},end:{line:518,column:47}},201:{start:{line:518,column:26},end:{line:518,column:46}},202:{start:{line:519,column:4},end:{line:519,column:38}},203:{start:{line:524,column:4},end:{line:526,column:5}},204:{start:{line:525,column:6},end:{line:525,column:26}},205:{start:{line:527,column:4},end:{line:529,column:5}},206:{start:{line:528,column:6},end:{line:528,column:31}},207:{start:{line:531,column:6},end:{line:536,column:7}},208:{start:{line:537,column:19},end:{line:537,column:69}},209:{start:{line:540,column:22},end:{line:553,column:5}},210:{start:{line:541,column:83},end:{line:541,column:97}},211:{start:{line:542,column:79},end:{line:542,column:96}},212:{start:{line:544,column:8},end:{line:551,column:12}},213:{start:{line:545,column:10},end:{line:550,column:11}},214:{start:{line:554,column:4},end:{line:556,column:5}},215:{start:{line:555,column:6},end:{line:555,column:60}},216:{start:{line:558,column:4},end:{line:558,column:34}},217:{start:{line:559,column:4},end:{line:559,column:20}},218:{start:{line:563,column:4},end:{line:565,column:5}},219:{start:{line:564,column:6},end:{line:564,column:26}},220:{start:{line:567,column:6},end:{line:572,column:7}},221:{start:{line:573,column:19},end:{line:573,column:70}},222:{start:{line:574,column:4},end:{line:576,column:5}},223:{start:{line:575,column:6},end:{line:575,column:50}},224:{start:{line:577,column:4},end:{line:579,column:5}},225:{start:{line:578,column:67},end:{line:578,column:74}},226:{start:{line:585,column:4},end:{line:585,column:40}},227:{start:{line:586,column:22},end:{line:586,column:47}},228:{start:{line:587,column:18},end:{line:587,column:48}},229:{start:{line:588,column:4},end:{line:603,column:5}},230:{start:{line:590,column:25},end:{line:590,column:51}},231:{start:{line:591,column:6},end:{line:602,column:7}},232:{start:{line:591,column:19},end:{line:591,column:20}},233:{start:{line:592,column:8},end:{line:601,column:9}},234:{start:{line:593,column:28},end:{line:593,column:76}},235:{start:{line:594,column:10},end:{line:594,column:50}},236:{start:{line:595,column:10},end:{line:598,column:11}},237:{start:{line:596,column:12},end:{line:596,column:56}},238:{start:{line:597,column:12},end:{line:597,column:17}},239:{start:{line:600,column:10},end:{line:600,column:37}},240:{start:{line:604,column:4},end:{line:606,column:5}},241:{start:{line:610,column:4},end:{line:620,column:5}},242:{start:{line:611,column:6},end:{line:619,column:7}},243:{start:{line:611,column:19},end:{line:611,column:20}},244:{start:{line:612,column:26},end:{line:612,column:49}},245:{start:{line:613,column:8},end:{line:618,column:9}},246:{start:{line:613,column:42},end:{line:613,column:53}},247:{start:{line:614,column:35},end:{line:614,column:99}},248:{start:{line:614,column:68},end:{line:614,column:98}},249:{start:{line:615,column:10},end:{line:617,column:11}},250:{start:{line:616,column:12},end:{line:616,column:58}},251:{start:{line:621,column:4},end:{line:621,column:20}},252:{start:{line:625,column:4},end:{line:627,column:5}},253:{start:{line:626,column:6},end:{line:626,column:29}},254:{start:{line:629,column:6},end:{line:634,column:7}},255:{start:{line:635,column:19},end:{line:635,column:71}},256:{start:{line:636,column:19},end:{line:638,column:5}},257:{start:{line:637,column:47},end:{line:637,column:67}},258:{start:{line:639,column:21},end:{line:639,column:97}},259:{start:{line:639,column:57},end:{line:639,column:77}},260:{start:{line:640,column:4},end:{line:643,column:5}},261:{start:{line:648,column:4},end:{line:691,column:5}},262:{start:{line:696,column:4},end:{line:701,column:5}},263:{start:{line:702,column:19},end:{line:702,column:68}},264:{start:{line:703,column:23},end:{line:707,column:12}},265:{start:{line:705,column:8},end:{line:705,column:44}},266:{start:{line:706,column:8},end:{line:706,column:25}},267:{start:{line:708,column:20},end:{line:726,column:6}},268:{start:{line:709,column:16},end:{line:711,column:7}},269:{start:{line:712,column:23},end:{line:712,column:84}},270:{start:{line:713,column:6},end:{line:724,column:7}},271:{start:{line:715,column:10},end:{line:715,column:91}},272:{start:{line:716,column:10},end:{line:716,column:99}},273:{start:{line:717,column:10},end:{line:717,column:15}},274:{start:{line:719,column:10},end:{line:719,column:36}},275:{start:{line:720,column:10},end:{line:720,column:15}},276:{start:{line:722,column:10},end:{line:722,column:34}},277:{start:{line:723,column:10},end:{line:723,column:15}},278:{start:{line:725,column:6},end:{line:725,column:14}},279:{start:{line:727,column:4},end:{line:727,column:22}},280:{start:{line:733,column:4},end:{line:738,column:5}},281:{start:{line:739,column:18},end:{line:739,column:87}},282:{start:{line:742,column:15},end:{line:742,column:19}},283:{start:{line:743,column:17},end:{line:743,column:21}},284:{start:{line:744,column:4},end:{line:748,column:5}},285:{start:{line:745,column:20},end:{line:745,column:45}},286:{start:{line:746,column:6},end:{line:746,column:49}},287:{start:{line:747,column:6},end:{line:747,column:23}},288:{start:{line:749,column:27},end:{line:767,column:5}},289:{start:{line:761,column:29},end:{line:761,column:53}},290:{start:{line:763,column:10},end:{line:765,column:11}},291:{start:{line:768,column:30},end:{line:769,column:37}},292:{start:{line:769,column:24},end:{line:769,column:36}},293:{start:{line:770,column:4},end:{line:774,column:29}},294:{start:{line:772,column:24},end:{line:772,column:64}},295:{start:{line:777,column:4},end:{line:782,column:5}},296:{start:{line:783,column:19},end:{line:783,column:68}},297:{start:{line:784,column:4},end:{line:786,column:5}},298:{start:{line:785,column:6},end:{line:785,column:50}},299:{start:{line:792,column:4},end:{line:809,column:5}},300:{start:{line:810,column:19},end:{line:810,column:72}},301:{start:{line:811,column:19},end:{line:811,column:21}},302:{start:{line:812,column:4},end:{line:817,column:5}},303:{start:{line:813,column:18},end:{line:813,column:56}},304:{start:{line:814,column:6},end:{line:814,column:46}},305:{start:{line:815,column:6},end:{line:815,column:44}},306:{start:{line:816,column:6},end:{line:816,column:46}},307:{start:{line:818,column:4},end:{line:820,column:5}},308:{start:{line:825,column:4},end:{line:827,column:5}},309:{start:{line:826,column:6},end:{line:826,column:33}},310:{start:{line:828,column:32},end:{line:838,column:5}},311:{start:{line:840,column:28},end:{line:840,column:32}},312:{start:{line:841,column:20},end:{line:841,column:24}},313:{start:{line:842,column:27},end:{line:847,column:6}},314:{start:{line:843,column:6},end:{line:846,column:25}},315:{start:{line:844,column:8},end:{line:844,column:31}},316:{start:{line:845,column:8},end:{line:845,column:47}},317:{start:{line:848,column:24},end:{line:879,column:6}},318:{start:{line:850,column:8},end:{line:852,column:9}},319:{start:{line:851,column:10},end:{line:851,column:57}},320:{start:{line:853,column:8},end:{line:874,column:9}},321:{start:{line:855,column:30},end:{line:855,column:63}},322:{start:{line:856,column:10},end:{line:858,column:11}},323:{start:{line:857,column:12},end:{line:857,column:68}},324:{start:{line:859,column:10},end:{line:867,column:11}},325:{start:{line:860,column:12},end:{line:866,column:13}},326:{start:{line:860,column:65},end:{line:860,column:92}},327:{start:{line:862,column:14},end:{line:862,column:56}},328:{start:{line:863,column:14},end:{line:863,column:37}},329:{start:{line:864,column:14},end:{line:864,column:29}},330:{start:{line:865,column:14},end:{line:865,column:20}},331:{start:{line:868,column:10},end:{line:873,column:11}},332:{start:{line:870,column:12},end:{line:870,column:54}},333:{start:{line:871,column:12},end:{line:871,column:35}},334:{start:{line:872,column:12},end:{line:872,column:67}},335:{start:{line:876,column:6},end:{line:876,column:41}},336:{start:{line:877,column:6},end:{line:878,column:22}},337:{start:{line:880,column:4},end:{line:883,column:6}},338:{start:{line:887,column:28},end:{line:892,column:5}},339:{start:{line:893,column:4},end:{line:893,column:41}},340:{start:{line:898,column:4},end:{line:906,column:5}},341:{start:{line:907,column:19},end:{line:907,column:73}},342:{start:{line:908,column:17},end:{line:908,column:55}},343:{start:{line:909,column:19},end:{line:935,column:5}},344:{start:{line:913,column:18},end:{line:919,column:9}},345:{start:{line:920,column:8},end:{line:932,column:9}},346:{start:{line:922,column:12},end:{line:922,column:37}},347:{start:{line:923,column:12},end:{line:923,column:17}},348:{start:{line:925,column:12},end:{line:930,column:14}},349:{start:{line:926,column:14},end:{line:929,column:15}},350:{start:{line:931,column:12},end:{line:931,column:17}},351:{start:{line:933,column:8},end:{line:933,column:16}},352:{start:{line:936,column:4},end:{line:938,column:5}},353:{start:{line:937,column:6},end:{line:937,column:65}},354:{start:{line:939,column:4},end:{line:939,column:17}},355:{start:{line:944,column:4},end:{line:963,column:5}},356:{start:{line:954,column:12},end:{line:959,column:13}},357:{start:{line:964,column:4},end:{line:964,column:58}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:55,column:2},end:{line:55,column:3}},loc:{start:{line:55,column:22},end:{line:90,column:3}},line:55},1:{name:"(anonymous_1)",decl:{start:{line:85,column:29},end:{line:85,column:30}},loc:{start:{line:85,column:39},end:{line:85,column:72}},line:85},2:{name:"(anonymous_2)",decl:{start:{line:86,column:28},end:{line:86,column:29}},loc:{start:{line:86,column:37},end:{line:86,column:68}},line:86},3:{name:"(anonymous_3)",decl:{start:{line:87,column:29},end:{line:87,column:30}},loc:{start:{line:87,column:39},end:{line:87,column:72}},line:87},4:{name:"(anonymous_4)",decl:{start:{line:92,column:2},end:{line:92,column:3}},loc:{start:{line:92,column:17},end:{line:104,column:3}},line:92},5:{name:"(anonymous_5)",decl:{start:{line:106,column:2},end:{line:106,column:3}},loc:{start:{line:106,column:23},end:{line:183,column:3}},line:106},6:{name:"(anonymous_6)",decl:{start:{line:155,column:44},end:{line:155,column:45}},loc:{start:{line:155,column:49},end:{line:165,column:9}},line:155},7:{name:"(anonymous_7)",decl:{start:{line:166,column:46},end:{line:166,column:47}},loc:{start:{line:166,column:56},end:{line:170,column:9}},line:166},8:{name:"(anonymous_8)",decl:{start:{line:171,column:46},end:{line:171,column:47}},loc:{start:{line:171,column:56},end:{line:175,column:9}},line:171},9:{name:"(anonymous_9)",decl:{start:{line:173,column:52},end:{line:173,column:53}},loc:{start:{line:173,column:66},end:{line:173,column:84}},line:173},10:{name:"(anonymous_10)",decl:{start:{line:180,column:44},end:{line:180,column:45}},loc:{start:{line:180,column:58},end:{line:180,column:76}},line:180},11:{name:"(anonymous_11)",decl:{start:{line:185,column:2},end:{line:185,column:3}},loc:{start:{line:185,column:24},end:{line:290,column:3}},line:185},12:{name:"(anonymous_12)",decl:{start:{line:205,column:27},end:{line:205,column:28}},loc:{start:{line:205,column:40},end:{line:212,column:9}},line:205},13:{name:"(anonymous_13)",decl:{start:{line:230,column:40},end:{line:230,column:41}},loc:{start:{line:230,column:54},end:{line:230,column:71}},line:230},14:{name:"(anonymous_14)",decl:{start:{line:234,column:46},end:{line:234,column:47}},loc:{start:{line:234,column:55},end:{line:234,column:112}},line:234},15:{name:"(anonymous_15)",decl:{start:{line:237,column:55},end:{line:237,column:56}},loc:{start:{line:237,column:64},end:{line:237,column:122}},line:237},16:{name:"(anonymous_16)",decl:{start:{line:239,column:58},end:{line:239,column:59}},loc:{start:{line:239,column:67},end:{line:239,column:124}},line:239},17:{name:"(anonymous_17)",decl:{start:{line:248,column:56},end:{line:248,column:57}},loc:{start:{line:248,column:70},end:{line:248,column:89}},line:248},18:{name:"(anonymous_18)",decl:{start:{line:260,column:49},end:{line:260,column:50}},loc:{start:{line:260,column:63},end:{line:260,column:80}},line:260},19:{name:"(anonymous_19)",decl:{start:{line:269,column:47},end:{line:269,column:48}},loc:{start:{line:269,column:56},end:{line:269,column:108}},line:269},20:{name:"(anonymous_20)",decl:{start:{line:270,column:15},end:{line:270,column:16}},loc:{start:{line:270,column:24},end:{line:270,column:34}},line:270},21:{name:"(anonymous_21)",decl:{start:{line:273,column:52},end:{line:273,column:53}},loc:{start:{line:273,column:66},end:{line:273,column:81}},line:273},22:{name:"(anonymous_22)",decl:{start:{line:277,column:54},end:{line:277,column:55}},loc:{start:{line:277,column:63},end:{line:277,column:113}},line:277},23:{name:"(anonymous_23)",decl:{start:{line:284,column:45},end:{line:284,column:46}},loc:{start:{line:284,column:59},end:{line:284,column:78}},line:284},24:{name:"(anonymous_24)",decl:{start:{line:292,column:2},end:{line:292,column:3}},loc:{start:{line:292,column:18},end:{line:298,column:3}},line:292},25:{name:"(anonymous_25)",decl:{start:{line:295,column:49},end:{line:295,column:50}},loc:{start:{line:295,column:63},end:{line:295,column:81}},line:295},26:{name:"(anonymous_26)",decl:{start:{line:300,column:2},end:{line:300,column:3}},loc:{start:{line:300,column:21},end:{line:302,column:3}},line:300},27:{name:"(anonymous_27)",decl:{start:{line:304,column:2},end:{line:304,column:3}},loc:{start:{line:304,column:21},end:{line:315,column:3}},line:304},28:{name:"(anonymous_28)",decl:{start:{line:317,column:2},end:{line:317,column:3}},loc:{start:{line:317,column:23},end:{line:334,column:3}},line:317},29:{name:"(anonymous_29)",decl:{start:{line:328,column:11},end:{line:328,column:12}},loc:{start:{line:328,column:19},end:{line:333,column:7}},line:328},30:{name:"(anonymous_30)",decl:{start:{line:331,column:48},end:{line:331,column:49}},loc:{start:{line:331,column:53},end:{line:331,column:61}},line:331},31:{name:"(anonymous_31)",decl:{start:{line:336,column:2},end:{line:336,column:3}},loc:{start:{line:336,column:39},end:{line:350,column:3}},line:336},32:{name:"(anonymous_32)",decl:{start:{line:352,column:2},end:{line:352,column:3}},loc:{start:{line:352,column:44},end:{line:374,column:3}},line:352},33:{name:"(anonymous_33)",decl:{start:{line:376,column:2},end:{line:376,column:3}},loc:{start:{line:376,column:54},end:{line:419,column:3}},line:376},34:{name:"(anonymous_34)",decl:{start:{line:418,column:45},end:{line:418,column:46}},loc:{start:{line:418,column:59},end:{line:418,column:80}},line:418},35:{name:"(anonymous_35)",decl:{start:{line:422,column:2},end:{line:422,column:3}},loc:{start:{line:422,column:25},end:{line:432,column:3}},line:422},36:{name:"(anonymous_36)",decl:{start:{line:435,column:2},end:{line:435,column:3}},loc:{start:{line:435,column:23},end:{line:474,column:3}},line:435},37:{name:"(anonymous_37)",decl:{start:{line:449,column:15},end:{line:449,column:16}},loc:{start:{line:449,column:20},end:{line:471,column:9}},line:449},38:{name:"(anonymous_38)",decl:{start:{line:450,column:17},end:{line:450,column:18}},loc:{start:{line:450,column:22},end:{line:470,column:12}},line:450},39:{name:"(anonymous_39)",decl:{start:{line:451,column:19},end:{line:451,column:20}},loc:{start:{line:451,column:33},end:{line:470,column:11}},line:451},40:{name:"(anonymous_40)",decl:{start:{line:454,column:42},end:{line:454,column:43}},loc:{start:{line:454,column:50},end:{line:456,column:15}},line:454},41:{name:"(anonymous_41)",decl:{start:{line:476,column:2},end:{line:476,column:3}},loc:{start:{line:476,column:32},end:{line:502,column:3}},line:476},42:{name:"(anonymous_42)",decl:{start:{line:484,column:24},end:{line:484,column:25}},loc:{start:{line:484,column:29},end:{line:496,column:11}},line:484},43:{name:"(anonymous_43)",decl:{start:{line:504,column:2},end:{line:504,column:3}},loc:{start:{line:504,column:30},end:{line:514,column:3}},line:504},44:{name:"(anonymous_44)",decl:{start:{line:516,column:2},end:{line:516,column:3}},loc:{start:{line:516,column:28},end:{line:520,column:3}},line:516},45:{name:"(anonymous_45)",decl:{start:{line:518,column:14},end:{line:518,column:15}},loc:{start:{line:518,column:26},end:{line:518,column:46}},line:518},46:{name:"(anonymous_46)",decl:{start:{line:523,column:2},end:{line:523,column:3}},loc:{start:{line:523,column:25},end:{line:560,column:3}},line:523},47:{name:"(anonymous_47)",decl:{start:{line:541,column:71},end:{line:541,column:72}},loc:{start:{line:541,column:83},end:{line:541,column:97}},line:541},48:{name:"(anonymous_48)",decl:{start:{line:542,column:68},end:{line:542,column:69}},loc:{start:{line:542,column:79},end:{line:542,column:96}},line:542},49:{name:"(anonymous_49)",decl:{start:{line:543,column:64},end:{line:543,column:65}},loc:{start:{line:543,column:69},end:{line:552,column:7}},line:543},50:{name:"(anonymous_50)",decl:{start:{line:544,column:52},end:{line:544,column:53}},loc:{start:{line:544,column:61},end:{line:551,column:9}},line:544},51:{name:"(anonymous_51)",decl:{start:{line:562,column:2},end:{line:562,column:3}},loc:{start:{line:562,column:26},end:{line:580,column:3}},line:562},52:{name:"(anonymous_52)",decl:{start:{line:578,column:62},end:{line:578,column:63}},loc:{start:{line:578,column:67},end:{line:578,column:74}},line:578},53:{name:"(anonymous_53)",decl:{start:{line:583,column:2},end:{line:583,column:3}},loc:{start:{line:583,column:27},end:{line:607,column:3}},line:583},54:{name:"(anonymous_54)",decl:{start:{line:609,column:2},end:{line:609,column:3}},loc:{start:{line:609,column:29},end:{line:622,column:3}},line:609},55:{name:"(anonymous_55)",decl:{start:{line:613,column:33},end:{line:613,column:34}},loc:{start:{line:613,column:42},end:{line:613,column:53}},line:613},56:{name:"(anonymous_56)",decl:{start:{line:614,column:59},end:{line:614,column:60}},loc:{start:{line:614,column:68},end:{line:614,column:98}},line:614},57:{name:"(anonymous_57)",decl:{start:{line:624,column:2},end:{line:624,column:3}},loc:{start:{line:624,column:35},end:{line:644,column:3}},line:624},58:{name:"(anonymous_58)",decl:{start:{line:637,column:38},end:{line:637,column:39}},loc:{start:{line:637,column:47},end:{line:637,column:67}},line:637},59:{name:"(anonymous_59)",decl:{start:{line:639,column:48},end:{line:639,column:49}},loc:{start:{line:639,column:57},end:{line:639,column:77}},line:639},60:{name:"(anonymous_60)",decl:{start:{line:647,column:2},end:{line:647,column:3}},loc:{start:{line:647,column:24},end:{line:692,column:3}},line:647},61:{name:"(anonymous_61)",decl:{start:{line:694,column:2},end:{line:694,column:3}},loc:{start:{line:694,column:21},end:{line:728,column:3}},line:694},62:{name:"(anonymous_62)",decl:{start:{line:704,column:14},end:{line:704,column:15}},loc:{start:{line:704,column:41},end:{line:707,column:7}},line:704},63:{name:"(anonymous_63)",decl:{start:{line:708,column:58},end:{line:708,column:59}},loc:{start:{line:708,column:68},end:{line:726,column:5}},line:708},64:{name:"(anonymous_64)",decl:{start:{line:730,column:2},end:{line:730,column:3}},loc:{start:{line:730,column:28},end:{line:787,column:3}},line:730},65:{name:"(anonymous_65)",decl:{start:{line:761,column:16},end:{line:761,column:17}},loc:{start:{line:761,column:29},end:{line:761,column:53}},line:761},66:{name:"(anonymous_66)",decl:{start:{line:762,column:13},end:{line:762,column:14}},loc:{start:{line:762,column:26},end:{line:766,column:9}},line:762},67:{name:"(anonymous_67)",decl:{start:{line:769,column:11},end:{line:769,column:12}},loc:{start:{line:769,column:24},end:{line:769,column:36}},line:769},68:{name:"(anonymous_68)",decl:{start:{line:772,column:14},end:{line:772,column:15}},loc:{start:{line:772,column:24},end:{line:772,column:64}},line:772},69:{name:"(anonymous_69)",decl:{start:{line:790,column:2},end:{line:790,column:3}},loc:{start:{line:790,column:43},end:{line:821,column:3}},line:790},70:{name:"(anonymous_70)",decl:{start:{line:824,column:2},end:{line:824,column:3}},loc:{start:{line:824,column:34},end:{line:884,column:3}},line:824},71:{name:"(anonymous_71)",decl:{start:{line:842,column:39},end:{line:842,column:40}},loc:{start:{line:842,column:60},end:{line:847,column:5}},line:842},72:{name:"(anonymous_72)",decl:{start:{line:843,column:29},end:{line:843,column:30}},loc:{start:{line:843,column:35},end:{line:846,column:7}},line:843},73:{name:"(anonymous_73)",decl:{start:{line:848,column:36},end:{line:848,column:37}},loc:{start:{line:848,column:57},end:{line:879,column:5}},line:848},74:{name:"roomJoinAck",decl:{start:{line:849,column:15},end:{line:849,column:26}},loc:{start:{line:849,column:36},end:{line:875,column:7}},line:849},75:{name:"(anonymous_75)",decl:{start:{line:860,column:55},end:{line:860,column:56}},loc:{start:{line:860,column:65},end:{line:860,column:92}},line:860},76:{name:"(anonymous_76)",decl:{start:{line:886,column:2},end:{line:886,column:3}},loc:{start:{line:886,column:29},end:{line:894,column:3}},line:886},77:{name:"(anonymous_77)",decl:{start:{line:896,column:2},end:{line:896,column:3}},loc:{start:{line:896,column:31},end:{line:940,column:3}},line:896},78:{name:"(anonymous_78)",decl:{start:{line:912,column:44},end:{line:912,column:45}},loc:{start:{line:912,column:53},end:{line:934,column:7}},line:912},79:{name:"(anonymous_79)",decl:{start:{line:925,column:56},end:{line:925,column:57}},loc:{start:{line:925,column:66},end:{line:930,column:13}},line:925},80:{name:"(anonymous_80)",decl:{start:{line:942,column:2},end:{line:942,column:3}},loc:{start:{line:942,column:37},end:{line:965,column:3}},line:942},81:{name:"(anonymous_81)",decl:{start:{line:953,column:26},end:{line:953,column:27}},loc:{start:{line:953,column:35},end:{line:960,column:11}},line:953}},branchMap:{0:{loc:{start:{line:56,column:4},end:{line:58,column:5}},type:"if",locations:[{start:{line:56,column:4},end:{line:58,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:56},1:{loc:{start:{line:76,column:15},end:{line:76,column:69}},type:"binary-expr",locations:[{start:{line:76,column:15},end:{line:76,column:29}},{start:{line:76,column:33},end:{line:76,column:69}}],line:76},2:{loc:{start:{line:77,column:14},end:{line:77,column:42}},type:"binary-expr",locations:[{start:{line:77,column:14},end:{line:77,column:27}},{start:{line:77,column:31},end:{line:77,column:42}}],line:77},3:{loc:{start:{line:78,column:17},end:{line:78,column:46}},type:"binary-expr",locations:[{start:{line:78,column:17},end:{line:78,column:32}},{start:{line:78,column:36},end:{line:78,column:46}}],line:78},4:{loc:{start:{line:84,column:4},end:{line:88,column:5}},type:"if",locations:[{start:{line:84,column:4},end:{line:88,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:84},5:{loc:{start:{line:84,column:8},end:{line:84,column:25}},type:"binary-expr",locations:[{start:{line:84,column:8},end:{line:84,column:13}},{start:{line:84,column:17},end:{line:84,column:25}}],line:84},6:{loc:{start:{line:94,column:4},end:{line:96,column:5}},type:"if",locations:[{start:{line:94,column:4},end:{line:96,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:94},7:{loc:{start:{line:107,column:4},end:{line:182,column:5}},type:"if",locations:[{start:{line:107,column:4},end:{line:182,column:5}},{start:{line:137,column:11},end:{line:182,column:5}}],line:107},8:{loc:{start:{line:108,column:6},end:{line:136,column:7}},type:"if",locations:[{start:{line:108,column:6},end:{line:136,column:7}},{start:{line:125,column:13},end:{line:136,column:7}}],line:108},9:{loc:{start:{line:108,column:10},end:{line:108,column:75}},type:"binary-expr",locations:[{start:{line:108,column:10},end:{line:108,column:38}},{start:{line:108,column:42},end:{line:108,column:75}}],line:108},10:{loc:{start:{line:110,column:8},end:{line:123,column:9}},type:"if",locations:[{start:{line:110,column:8},end:{line:123,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:110},11:{loc:{start:{line:110,column:12},end:{line:110,column:96}},type:"binary-expr",locations:[{start:{line:110,column:12},end:{line:110,column:53}},{start:{line:110,column:57},end:{line:110,column:96}}],line:110},12:{loc:{start:{line:113,column:10},end:{line:115,column:11}},type:"if",locations:[{start:{line:113,column:10},end:{line:115,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:113},13:{loc:{start:{line:116,column:10},end:{line:122,column:11}},type:"if",locations:[{start:{line:116,column:10},end:{line:122,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:116},14:{loc:{start:{line:118,column:12},end:{line:120,column:13}},type:"if",locations:[{start:{line:118,column:12},end:{line:120,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:118},15:{loc:{start:{line:118,column:16},end:{line:118,column:33}},type:"binary-expr",locations:[{start:{line:118,column:16},end:{line:118,column:21}},{start:{line:118,column:25},end:{line:118,column:33}}],line:118},16:{loc:{start:{line:127,column:8},end:{line:132,column:9}},type:"if",locations:[{start:{line:127,column:8},end:{line:132,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:127},17:{loc:{start:{line:133,column:8},end:{line:135,column:9}},type:"if",locations:[{start:{line:133,column:8},end:{line:135,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:133},18:{loc:{start:{line:137,column:11},end:{line:182,column:5}},type:"if",locations:[{start:{line:137,column:11},end:{line:182,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:137},19:{loc:{start:{line:144,column:6},end:{line:150,column:7}},type:"if",locations:[{start:{line:144,column:6},end:{line:150,column:7}},{start:{line:147,column:13},end:{line:150,column:7}}],line:144},20:{loc:{start:{line:148,column:24},end:{line:148,column:61}},type:"binary-expr",locations:[{start:{line:148,column:24},end:{line:148,column:51}},{start:{line:148,column:55},end:{line:148,column:61}}],line:148},21:{loc:{start:{line:153,column:6},end:{line:176,column:7}},type:"if",locations:[{start:{line:153,column:6},end:{line:176,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:153},22:{loc:{start:{line:156,column:10},end:{line:158,column:11}},type:"if",locations:[{start:{line:156,column:10},end:{line:158,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:156},23:{loc:{start:{line:159,column:10},end:{line:161,column:11}},type:"if",locations:[{start:{line:159,column:10},end:{line:161,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:159},24:{loc:{start:{line:162,column:10},end:{line:164,column:11}},type:"if",locations:[{start:{line:162,column:10},end:{line:164,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:162},25:{loc:{start:{line:167,column:10},end:{line:169,column:11}},type:"if",locations:[{start:{line:167,column:10},end:{line:169,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:167},26:{loc:{start:{line:172,column:10},end:{line:174,column:11}},type:"if",locations:[{start:{line:172,column:10},end:{line:174,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:172},27:{loc:{start:{line:177,column:6},end:{line:179,column:7}},type:"if",locations:[{start:{line:177,column:6},end:{line:179,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:177},28:{loc:{start:{line:177,column:10},end:{line:177,column:27}},type:"binary-expr",locations:[{start:{line:177,column:10},end:{line:177,column:15}},{start:{line:177,column:19},end:{line:177,column:27}}],line:177},29:{loc:{start:{line:188,column:4},end:{line:231,column:5}},type:"if",locations:[{start:{line:188,column:4},end:{line:231,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:188},30:{loc:{start:{line:189,column:6},end:{line:191,column:7}},type:"if",locations:[{start:{line:189,column:6},end:{line:191,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:189},31:{loc:{start:{line:189,column:10},end:{line:189,column:27}},type:"binary-expr",locations:[{start:{line:189,column:10},end:{line:189,column:15}},{start:{line:189,column:19},end:{line:189,column:27}}],line:189},32:{loc:{start:{line:194,column:39},end:{line:194,column:72}},type:"binary-expr",locations:[{start:{line:194,column:39},end:{line:194,column:54}},{start:{line:194,column:58},end:{line:194,column:72}}],line:194},33:{loc:{start:{line:198,column:6},end:{line:200,column:7}},type:"if",locations:[{start:{line:198,column:6},end:{line:200,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:198},34:{loc:{start:{line:204,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:204,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:204},35:{loc:{start:{line:206,column:10},end:{line:211,column:11}},type:"if",locations:[{start:{line:206,column:10},end:{line:211,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:206},36:{loc:{start:{line:206,column:14},end:{line:206,column:78}},type:"binary-expr",locations:[{start:{line:206,column:14},end:{line:206,column:29}},{start:{line:206,column:33},end:{line:206,column:78}}],line:206},37:{loc:{start:{line:207,column:12},end:{line:209,column:13}},type:"if",locations:[{start:{line:207,column:12},end:{line:209,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},38:{loc:{start:{line:217,column:6},end:{line:225,column:7}},type:"if",locations:[{start:{line:217,column:6},end:{line:225,column:7}},{start:{line:220,column:13},end:{line:225,column:7}}],line:217},39:{loc:{start:{line:217,column:10},end:{line:217,column:47}},type:"binary-expr",locations:[{start:{line:217,column:10},end:{line:217,column:16}},{start:{line:217,column:20},end:{line:217,column:47}}],line:217},40:{loc:{start:{line:219,column:24},end:{line:219,column:56}},type:"cond-expr",locations:[{start:{line:219,column:32},end:{line:219,column:49}},{start:{line:219,column:52},end:{line:219,column:56}}],line:219},41:{loc:{start:{line:222,column:8},end:{line:224,column:9}},type:"if",locations:[{start:{line:222,column:8},end:{line:224,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:222},42:{loc:{start:{line:223,column:26},end:{line:223,column:58}},type:"cond-expr",locations:[{start:{line:223,column:34},end:{line:223,column:51}},{start:{line:223,column:54},end:{line:223,column:58}}],line:223},43:{loc:{start:{line:226,column:6},end:{line:228,column:7}},type:"if",locations:[{start:{line:226,column:6},end:{line:228,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:226},44:{loc:{start:{line:234,column:55},end:{line:234,column:112}},type:"binary-expr",locations:[{start:{line:234,column:55},end:{line:234,column:66}},{start:{line:234,column:70},end:{line:234,column:112}}],line:234},45:{loc:{start:{line:235,column:4},end:{line:251,column:5}},type:"if",locations:[{start:{line:235,column:4},end:{line:251,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:235},46:{loc:{start:{line:237,column:64},end:{line:237,column:122}},type:"binary-expr",locations:[{start:{line:237,column:64},end:{line:237,column:75}},{start:{line:237,column:79},end:{line:237,column:122}}],line:237},47:{loc:{start:{line:238,column:6},end:{line:250,column:7}},type:"if",locations:[{start:{line:238,column:6},end:{line:250,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:238},48:{loc:{start:{line:239,column:67},end:{line:239,column:124}},type:"binary-expr",locations:[{start:{line:239,column:67},end:{line:239,column:78}},{start:{line:239,column:82},end:{line:239,column:124}}],line:239},49:{loc:{start:{line:240,column:8},end:{line:249,column:9}},type:"if",locations:[{start:{line:240,column:8},end:{line:249,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:240},50:{loc:{start:{line:245,column:20},end:{line:245,column:60}},type:"cond-expr",locations:[{start:{line:245,column:33},end:{line:245,column:53}},{start:{line:245,column:56},end:{line:245,column:60}}],line:245},51:{loc:{start:{line:255,column:4},end:{line:261,column:5}},type:"if",locations:[{start:{line:255,column:4},end:{line:261,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:255},52:{loc:{start:{line:265,column:4},end:{line:274,column:5}},type:"if",locations:[{start:{line:265,column:4},end:{line:274,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:265},53:{loc:{start:{line:269,column:56},end:{line:269,column:108}},type:"binary-expr",locations:[{start:{line:269,column:56},end:{line:269,column:67}},{start:{line:269,column:71},end:{line:269,column:108}}],line:269},54:{loc:{start:{line:277,column:63},end:{line:277,column:113}},type:"binary-expr",locations:[{start:{line:277,column:63},end:{line:277,column:74}},{start:{line:277,column:78},end:{line:277,column:113}}],line:277},55:{loc:{start:{line:278,column:4},end:{line:285,column:5}},type:"if",locations:[{start:{line:278,column:4},end:{line:285,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:278},56:{loc:{start:{line:287,column:4},end:{line:289,column:5}},type:"if",locations:[{start:{line:287,column:4},end:{line:289,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:287},57:{loc:{start:{line:287,column:8},end:{line:287,column:25}},type:"binary-expr",locations:[{start:{line:287,column:8},end:{line:287,column:13}},{start:{line:287,column:17},end:{line:287,column:25}}],line:287},58:{loc:{start:{line:293,column:4},end:{line:296,column:5}},type:"if",locations:[{start:{line:293,column:4},end:{line:296,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:293},59:{loc:{start:{line:305,column:4},end:{line:307,column:5}},type:"if",locations:[{start:{line:305,column:4},end:{line:307,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:305},60:{loc:{start:{line:305,column:8},end:{line:305,column:25}},type:"binary-expr",locations:[{start:{line:305,column:8},end:{line:305,column:13}},{start:{line:305,column:17},end:{line:305,column:25}}],line:305},61:{loc:{start:{line:308,column:4},end:{line:312,column:5}},type:"if",locations:[{start:{line:308,column:4},end:{line:312,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:308},62:{loc:{start:{line:345,column:6},end:{line:347,column:14}},type:"cond-expr",locations:[{start:{line:345,column:15},end:{line:347,column:7}},{start:{line:347,column:10},end:{line:347,column:14}}],line:345},63:{loc:{start:{line:353,column:4},end:{line:355,column:5}},type:"if",locations:[{start:{line:353,column:4},end:{line:355,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:353},64:{loc:{start:{line:363,column:4},end:{line:365,column:5}},type:"if",locations:[{start:{line:363,column:4},end:{line:365,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:363},65:{loc:{start:{line:376,column:37},end:{line:376,column:52}},type:"default-arg",locations:[{start:{line:376,column:43},end:{line:376,column:52}}],line:376},66:{loc:{start:{line:387,column:8},end:{line:387,column:24}},type:"cond-expr",locations:[{start:{line:387,column:14},end:{line:387,column:17}},{start:{line:387,column:20},end:{line:387,column:24}}],line:387},67:{loc:{start:{line:389,column:6},end:{line:389,column:67}},type:"cond-expr",locations:[{start:{line:389,column:21},end:{line:389,column:60}},{start:{line:389,column:63},end:{line:389,column:67}}],line:389},68:{loc:{start:{line:390,column:6},end:{line:396,column:14}},type:"cond-expr",locations:[{start:{line:390,column:12},end:{line:396,column:7}},{start:{line:396,column:10},end:{line:396,column:14}}],line:390},69:{loc:{start:{line:412,column:4},end:{line:414,column:5}},type:"if",locations:[{start:{line:412,column:4},end:{line:414,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:412},70:{loc:{start:{line:415,column:4},end:{line:417,column:5}},type:"if",locations:[{start:{line:415,column:4},end:{line:417,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:415},71:{loc:{start:{line:415,column:8},end:{line:415,column:25}},type:"binary-expr",locations:[{start:{line:415,column:8},end:{line:415,column:13}},{start:{line:415,column:17},end:{line:415,column:25}}],line:415},72:{loc:{start:{line:453,column:12},end:{line:457,column:13}},type:"if",locations:[{start:{line:453,column:12},end:{line:457,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:453},73:{loc:{start:{line:458,column:12},end:{line:460,column:13}},type:"if",locations:[{start:{line:458,column:12},end:{line:460,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:458},74:{loc:{start:{line:462,column:12},end:{line:464,column:13}},type:"if",locations:[{start:{line:462,column:12},end:{line:464,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:462},75:{loc:{start:{line:466,column:12},end:{line:468,column:13}},type:"if",locations:[{start:{line:466,column:12},end:{line:468,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:466},76:{loc:{start:{line:490,column:12},end:{line:492,column:20}},type:"cond-expr",locations:[{start:{line:490,column:21},end:{line:492,column:13}},{start:{line:492,column:16},end:{line:492,column:20}}],line:490},77:{loc:{start:{line:493,column:12},end:{line:495,column:20}},type:"cond-expr",locations:[{start:{line:493,column:25},end:{line:495,column:13}},{start:{line:495,column:16},end:{line:495,column:20}}],line:493},78:{loc:{start:{line:524,column:4},end:{line:526,column:5}},type:"if",locations:[{start:{line:524,column:4},end:{line:526,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:524},79:{loc:{start:{line:527,column:4},end:{line:529,column:5}},type:"if",locations:[{start:{line:527,column:4},end:{line:529,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:527},80:{loc:{start:{line:554,column:4},end:{line:556,column:5}},type:"if",locations:[{start:{line:554,column:4},end:{line:556,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:554},81:{loc:{start:{line:554,column:8},end:{line:554,column:25}},type:"binary-expr",locations:[{start:{line:554,column:8},end:{line:554,column:13}},{start:{line:554,column:17},end:{line:554,column:25}}],line:554},82:{loc:{start:{line:563,column:4},end:{line:565,column:5}},type:"if",locations:[{start:{line:563,column:4},end:{line:565,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:563},83:{loc:{start:{line:574,column:4},end:{line:576,column:5}},type:"if",locations:[{start:{line:574,column:4},end:{line:576,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:574},84:{loc:{start:{line:574,column:8},end:{line:574,column:25}},type:"binary-expr",locations:[{start:{line:574,column:8},end:{line:574,column:13}},{start:{line:574,column:17},end:{line:574,column:25}}],line:574},85:{loc:{start:{line:588,column:4},end:{line:603,column:5}},type:"if",locations:[{start:{line:588,column:4},end:{line:603,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:588},86:{loc:{start:{line:595,column:10},end:{line:598,column:11}},type:"if",locations:[{start:{line:595,column:10},end:{line:598,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:595},87:{loc:{start:{line:610,column:4},end:{line:620,column:5}},type:"if",locations:[{start:{line:610,column:4},end:{line:620,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:610},88:{loc:{start:{line:613,column:8},end:{line:618,column:9}},type:"if",locations:[{start:{line:613,column:8},end:{line:618,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:613},89:{loc:{start:{line:615,column:10},end:{line:617,column:11}},type:"if",locations:[{start:{line:615,column:10},end:{line:617,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:615},90:{loc:{start:{line:625,column:4},end:{line:627,column:5}},type:"if",locations:[{start:{line:625,column:4},end:{line:627,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:625},91:{loc:{start:{line:625,column:8},end:{line:625,column:39}},type:"binary-expr",locations:[{start:{line:625,column:8},end:{line:625,column:24}},{start:{line:625,column:28},end:{line:625,column:39}}],line:625},92:{loc:{start:{line:712,column:23},end:{line:712,column:84}},type:"cond-expr",locations:[{start:{line:712,column:49},end:{line:712,column:77}},{start:{line:712,column:80},end:{line:712,column:84}}],line:712},93:{loc:{start:{line:713,column:6},end:{line:724,column:7}},type:"switch",locations:[{start:{line:714,column:8},end:{line:717,column:15}},{start:{line:718,column:8},end:{line:720,column:15}},{start:{line:721,column:8},end:{line:723,column:15}}],line:713},94:{loc:{start:{line:715,column:19},end:{line:715,column:91}},type:"cond-expr",locations:[{start:{line:715,column:47},end:{line:715,column:84}},{start:{line:715,column:87},end:{line:715,column:91}}],line:715},95:{loc:{start:{line:716,column:24},end:{line:716,column:99}},type:"cond-expr",locations:[{start:{line:716,column:50},end:{line:716,column:85}},{start:{line:716,column:88},end:{line:716,column:99}}],line:716},96:{loc:{start:{line:744,column:4},end:{line:748,column:5}},type:"if",locations:[{start:{line:744,column:4},end:{line:748,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:744},97:{loc:{start:{line:784,column:4},end:{line:786,column:5}},type:"if",locations:[{start:{line:784,column:4},end:{line:786,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:784},98:{loc:{start:{line:790,column:33},end:{line:790,column:41}},type:"default-arg",locations:[{start:{line:790,column:39},end:{line:790,column:41}}],line:790},99:{loc:{start:{line:812,column:4},end:{line:817,column:5}},type:"if",locations:[{start:{line:812,column:4},end:{line:817,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:812},100:{loc:{start:{line:825,column:4},end:{line:827,column:5}},type:"if",locations:[{start:{line:825,column:4},end:{line:827,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:825},101:{loc:{start:{line:834,column:8},end:{line:836,column:16}},type:"cond-expr",locations:[{start:{line:834,column:48},end:{line:836,column:9}},{start:{line:836,column:12},end:{line:836,column:16}}],line:834},102:{loc:{start:{line:834,column:8},end:{line:834,column:45}},type:"binary-expr",locations:[{start:{line:834,column:8},end:{line:834,column:12}},{start:{line:834,column:16},end:{line:834,column:24}},{start:{line:834,column:28},end:{line:834,column:45}}],line:834},103:{loc:{start:{line:850,column:8},end:{line:852,column:9}},type:"if",locations:[{start:{line:850,column:8},end:{line:852,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:850},104:{loc:{start:{line:850,column:12},end:{line:850,column:29}},type:"binary-expr",locations:[{start:{line:850,column:12},end:{line:850,column:17}},{start:{line:850,column:21},end:{line:850,column:29}}],line:850},105:{loc:{start:{line:853,column:8},end:{line:874,column:9}},type:"if",locations:[{start:{line:853,column:8},end:{line:874,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:853},106:{loc:{start:{line:853,column:12},end:{line:853,column:75}},type:"binary-expr",locations:[{start:{line:853,column:12},end:{line:853,column:33}},{start:{line:853,column:37},end:{line:853,column:75}}],line:853},107:{loc:{start:{line:856,column:10},end:{line:858,column:11}},type:"if",locations:[{start:{line:856,column:10},end:{line:858,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:856},108:{loc:{start:{line:856,column:14},end:{line:856,column:31}},type:"binary-expr",locations:[{start:{line:856,column:14},end:{line:856,column:19}},{start:{line:856,column:23},end:{line:856,column:31}}],line:856},109:{loc:{start:{line:859,column:10},end:{line:867,column:11}},type:"if",locations:[{start:{line:859,column:10},end:{line:867,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:859},110:{loc:{start:{line:860,column:12},end:{line:866,column:13}},type:"if",locations:[{start:{line:860,column:12},end:{line:866,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:860},111:{loc:{start:{line:868,column:10},end:{line:873,column:11}},type:"if",locations:[{start:{line:868,column:10},end:{line:873,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:868},112:{loc:{start:{line:920,column:8},end:{line:932,column:9}},type:"switch",locations:[{start:{line:921,column:10},end:{line:923,column:17}},{start:{line:924,column:10},end:{line:931,column:17}}],line:920},113:{loc:{start:{line:936,column:4},end:{line:938,column:5}},type:"if",locations:[{start:{line:936,column:4},end:{line:938,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:936},114:{loc:{start:{line:936,column:8},end:{line:936,column:25}},type:"binary-expr",locations:[{start:{line:936,column:8},end:{line:936,column:13}},{start:{line:936,column:17},end:{line:936,column:25}}],line:936},115:{loc:{start:{line:958,column:31},end:{line:958,column:95}},type:"cond-expr",locations:[{start:{line:958,column:58},end:{line:958,column:81}},{start:{line:958,column:84},end:{line:958,column:95}}],line:958},116:{loc:{start:{line:958,column:58},end:{line:958,column:81}},type:"cond-expr",locations:[{start:{line:958,column:72},end:{line:958,column:75}},{start:{line:958,column:78},end:{line:958,column:81}}],line:958}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0,164:0,165:0,166:0,167:0,168:0,169:0,170:0,171:0,172:0,173:0,174:0,175:0,176:0,177:0,178:0,179:0,180:0,181:0,182:0,183:0,184:0,185:0,186:0,187:0,188:0,189:0,190:0,191:0,192:0,193:0,194:0,195:0,196:0,197:0,198:0,199:0,200:0,201:0,202:0,203:0,204:0,205:0,206:0,207:0,208:0,209:0,210:0,211:0,212:0,213:0,214:0,215:0,216:0,217:0,218:0,219:0,220:0,221:0,222:0,223:0,224:0,225:0,226:0,227:0,228:0,229:0,230:0,231:0,232:0,233:0,234:0,235:0,236:0,237:0,238:0,239:0,240:0,241:0,242:0,243:0,244:0,245:0,246:0,247:0,248:0,249:0,250:0,251:0,252:0,253:0,254:0,255:0,256:0,257:0,258:0,259:0,260:0,261:0,262:0,263:0,264:0,265:0,266:0,267:0,268:0,269:0,270:0,271:0,272:0,273:0,274:0,275:0,276:0,277:0,278:0,279:0,280:0,281:0,282:0,283:0,284:0,285:0,286:0,287:0,288:0,289:0,290:0,291:0,292:0,293:0,294:0,295:0,296:0,297:0,298:0,299:0,300:0,301:0,302:0,303:0,304:0,305:0,306:0,307:0,308:0,309:0,310:0,311:0,312:0,313:0,314:0,315:0,316:0,317:0,318:0,319:0,320:0,321:0,322:0,323:0,324:0,325:0,326:0,327:0,328:0,329:0,330:0,331:0,332:0,333:0,334:0,335:0,336:0,337:0,338:0,339:0,340:0,341:0,342:0,343:0,344:0,345:0,346:0,347:0,348:0,349:0,350:0,351:0,352:0,353:0,354:0,355:0,356:0,357:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0,0],38:[0,0],39:[0,0],40:[0,0],41:[0,0],42:[0,0],43:[0,0],44:[0,0],45:[0,0],46:[0,0],47:[0,0],48:[0,0],49:[0,0],50:[0,0],51:[0,0],52:[0,0],53:[0,0],54:[0,0],55:[0,0],56:[0,0],57:[0,0],58:[0,0],59:[0,0],60:[0,0],61:[0,0],62:[0,0],63:[0,0],64:[0,0],65:[0],66:[0,0],67:[0,0],68:[0,0],69:[0,0],70:[0,0],71:[0,0],72:[0,0],73:[0,0],74:[0,0],75:[0,0],76:[0,0],77:[0,0],78:[0,0],79:[0,0],80:[0,0],81:[0,0],82:[0,0],83:[0,0],84:[0,0],85:[0,0],86:[0,0],87:[0,0],88:[0,0],89:[0,0],90:[0,0],91:[0,0],92:[0,0],93:[0,0,0],94:[0,0],95:[0,0],96:[0,0],97:[0,0],98:[0],99:[0,0],100:[0,0],101:[0,0],102:[0,0,0],103:[0,0],104:[0,0],105:[0,0],106:[0,0],107:[0,0],108:[0,0],109:[0,0],110:[0,0],111:[0,0],112:[0,0],113:[0,0],114:[0,0],115:[0,0],116:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/services/XmppClient.js"],names:[],mappings:"AAAA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAC5D,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAC/B;AACA,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;AACrB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;AACzB;AACA,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;AACZ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;AACZ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI;AACb,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG;AACZ,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG;AACZ,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AACD;AACA,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;AACrB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB;AACA,KAAK,CAAC,UAAU,CAAC,CAAC;AAClB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS;AACtC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;AAC7B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS;AAC/B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AAC5C,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;AAClB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC;AACjH,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC;AAC3H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC;AAC7H,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK;AAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC;AAC7G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;AACvB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;AAClH,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;AACnB,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ;AAC3B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AACzC,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzC,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;AACpB,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;AACxD,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AACtC,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AACtC,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACjC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACrE;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;AACvC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;AAClC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;AACpB,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7C,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;AAChC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;AACxC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AAC9E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;AACpB,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACxF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;AACjG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1B,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;AACpF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;AAC3F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACnG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ;AACnB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM;AACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;AACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;AACrB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO;AAClC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1C,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC;AACxE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAC/B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;AAChC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;AACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;AACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AACzC,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;AACjB,CAAC,CAAC,CAAC;AACH;AACA,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;AAC1D,CAAC,CAAC,CAAC;AACH;AACA,CAAC;AACD;AACA,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3d1f8403a5ae8fa0e7beb6e0ae682a34050ed052"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return c=function(){return s},s}c();c().s[0]++;c().s[1]++;const iC=(c().s[2]++,{ROSTER:"jabber:iq:roster",STANZA_ERROR:"urn:ietf:params:xml:ns:xmpp-stanzas",MUC:"http://jabber.org/protocol/muc",MUC_USER:"http://jabber.org/protocol/muc#user",MUC_OWNER:"http://jabber.org/protocol/muc#owner",DISCO_INFO:"http://jabber.org/protocol/disco#info",DISCO_ITEMS:"http://jabber.org/protocol/disco#items",FORM:"jabber:x:data",HTTP_UPLOAD:"urn:xmpp:http:upload:0",MAM:"urn:xmpp:mam:2",RSM:"http://jabber.org/protocol/rsm",CARBONS:"urn:xmpp:carbons:2",CHAT_STATE:"http://jabber.org/protocol/chatstates",VCARD:"vcard-temp",PRIVATE:"jabber:iq:private",BOOKMARKS:"storage:bookmarks",OUT_OF_BAND_DATA:"jabber:x:oob",UNIQUE_ID:"urn:xmpp:sid:0",DISCO_CONNECTION:"urn:xmpp:alt-connections:websocket",MESSAGE_FASTENING:"urn:xmpp:fasten:0",MESSAGE_MODERATION:"urn:xmpp:message-moderate:0",MESSAGE_RETRACTED:"urn:xmpp:message-retract:0"});let gC=(c().s[3]++,null),rl=(c().s[4]++,[]);class R6{constructor(C){c().f[0]++,c().s[5]++,gC?(c().b[0][0]++,c().s[6]++,gC.disconnect()):c().b[0][1]++,c().s[7]++,this.config=C,c().s[8]++,this.callbacks={chat:[],groupchat:[],messageSent:[],messageSentError:[],messageRetracted:[],presence:[],authenticated:[],mucCreated:[],chatState:[],subjectChange:[]},c().s[9]++,this.jid={},c().s[10]++,this.uploadService=null,c().s[11]++,this.xmpp=$6({service:(c().b[1][0]++,C.service||(c().b[1][1]++,"ws://localhost:5280/xmpp-websocket")),domain:(c().b[2][0]++,C.domain||(c().b[2][1]++,"localhost")),resource:(c().b[3][0]++,(C.resource||(c().b[3][1]++,"Web XMPP"))+" "+Nu(5)),username:C.jid,password:C.password}),c().s[12]++,gC=this,c().s[13]++,c().b[5][0]++,c().b[4][1]++,c().s[20]++,this.xmpp.on("stanza",this.parseStanza)}parseJid(C){c().f[4]++;let e=(c().s[21]++,C);return c().s[22]++,typeof C=="string"?(c().b[6][0]++,c().s[23]++,e=N6(C)):c().b[6][1]++,c().s[24]++,{resource:e.getResource(),local:e.getLocal(),domain:e.getDomain(),bare:e.bare().toString(),full:e.toString()}}parseStanza(C){if(c().f[5]++,c().s[25]++,C.is("message"))if(c().b[7][0]++,c().s[26]++,c().b[9][0]++,C.attrs.type==="chat"||(c().b[9][1]++,C.attrs.type==="groupchat")){if(c().b[8][0]++,c().s[27]++,c().b[11][0]++,C.attrs.from===gC.jid.bare&&(c().b[11][1]++,C.attrs.to===gC.jid.full)){c().b[10][0]++;let e=(c().s[28]++,C.getChild("sent"));if(c().s[29]++,e?c().b[12][1]++:(c().b[12][0]++,c().s[30]++,e=C.getChild("received")),c().s[31]++,e){c().b[13][0]++;const n=(c().s[32]++,e.getChild("forwarded").getChild("message"));c().s[33]++,c().b[15][0]++,c().b[14][1]++,c().s[35]++,C=n}else c().b[13][1]++}else c().b[10][1]++;c().s[36]++,gC.parseMessage(C)}else{c().b[8][1]++;const e=(c().s[37]++,C.getChild("result"));if(c().s[38]++,e){c().b[16][0]++;const n=(c().s[39]++,e.getChild("forwarded")),t=(c().s[40]++,n.getChild("message"));c().s[41]++,gC.parseMessage(t)}else c().b[16][1]++;c().s[42]++,C.attrs.type==="error"?(c().b[17][0]++,c().s[43]++,gC.parseMessage(C)):c().b[17][1]++}else if(c().b[7][1]++,c().s[44]++,C.is("presence")){c().b[18][0]++;const e=(c().s[45]++,{isMuc:!1,isSelf:!1,type:C.attrs.type});c().s[46]++,e.from=gC.parseJid(C.attrs.from),c().s[47]++,C.attrs.type==="unavailable"?(c().b[19][0]++,c().s[48]++,e.show="off",c().s[49]++,e.show=void 0):(c().b[19][1]++,c().s[50]++,e.show=(c().b[20][0]++,C.getChildText("show")||(c().b[20][1]++,"chat")),c().s[51]++,e.status=C.getChildText("status"));const n=(c().s[52]++,C.getChild("x",iC.MUC_USER));c().s[53]++,n?(c().b[21][0]++,c().s[54]++,e.isMuc=!0,c().s[55]++,n.getChildren("item").map(t=>{c().f[6]++,c().s[56]++,t.attrs.role?(c().b[22][0]++,c().s[57]++,e.mucRole=t.attrs.role):c().b[22][1]++,c().s[58]++,t.attrs.affiliation?(c().b[23][0]++,c().s[59]++,e.mucAffiliation=t.attrs.affiliation):c().b[23][1]++,c().s[60]++,t.attrs.jid?(c().b[24][0]++,c().s[61]++,e.mucJid=t.attrs.jid):c().b[24][1]++}),c().s[62]++,n.getChildren("status").map(t=>{c().f[7]++,c().s[63]++,t.attrs.code==="110"?(c().b[25][0]++,c().s[64]++,e.isSelf=!0):c().b[25][1]++}),c().s[65]++,n.getChildren("status").map(t=>{c().f[8]++,c().s[66]++,t.attrs.code==="201"?(c().b[26][0]++,c().s[67]++,gC.callbacks.mucCreated.forEach(i=>(c().f[9]++,c().s[68]++,i(e)))):c().b[26][1]++})):c().b[21][1]++,c().s[69]++,c().b[28][0]++,c().b[27][1]++,c().s[71]++,gC.callbacks.presence.forEach(t=>(c().f[10]++,c().s[72]++,t(e)))}else c().b[18][1]++}parseMessage(C){c().f[11]++;const e=(c().s[73]++,{}),n=(c().s[74]++,C.getChild("body"));if(c().s[75]++,n){c().b[29][0]++,c().s[76]++,c().b[31][0]++,c().b[30][1]++,c().s[78]++,e.body=n.getText(),c().s[79]++,e.from=gC.parseJid(C.attrs.from),c().s[80]++,e.to=gC.parseJid((c().b[32][0]++,C.attrs.to||(c().b[32][1]++,gC.jid))),c().s[81]++,e.id=C.attrs.id,c().s[82]++,e.type=C.attrs.type;const l=(c().s[83]++,C.getChild("stanza-id"));c().s[84]++,l?(c().b[33][0]++,c().s[85]++,e.stanzaId=l.attrs.id):c().b[33][1]++;const a=(c().s[86]++,C.getChildren("x"));c().s[87]++,a.length>0?(c().b[34][0]++,c().s[88]++,a.forEach(p=>{c().f[12]++,c().s[89]++,c().b[36][0]++,p.attrs&&(c().b[36][1]++,p.attrs.xmlns===iC.OUT_OF_BAND_DATA)?(c().b[35][0]++,c().s[90]++,e.links?c().b[37][1]++:(c().b[37][0]++,c().s[91]++,e.links=[]),c().s[92]++,e.links.push({url:p.getChildText("url")})):c().b[35][1]++})):c().b[34][1]++;const r=(c().s[93]++,C.parent);if(c().s[94]++,c().b[39][0]++,r&&(c().b[39][1]++,r.name==="forwarded")){c().b[38][0]++;const p=(c().s[95]++,r.getChild("delay"));c().s[96]++,e.delay=p?(c().b[40][0]++,p.attrs.stamp):(c().b[40][1]++,null)}else{c().b[38][1]++;const p=(c().s[97]++,C.getChild("delay"));c().s[98]++,p?(c().b[41][0]++,c().s[99]++,e.delay=p?(c().b[42][0]++,p.attrs.stamp):(c().b[42][1]++,null)):c().b[41][1]++}c().s[100]++,e.delay?c().b[43][1]++:(c().b[43][0]++,c().s[101]++,e.delay=new Date().toISOString()),c().s[102]++,gC.callbacks.chat.forEach(p=>(c().f[13]++,c().s[103]++,p(e)))}else c().b[29][1]++;const t=(c().s[104]++,C.getChildrenByFilter(l=>(c().f[14]++,c().s[105]++,c().b[44][0]++,l.attrs&&(c().b[44][1]++,l.attrs.xmlns===iC.MESSAGE_FASTENING))));if(c().s[106]++,t.length>0){c().b[45][0]++;const l=(c().s[107]++,t[0].getChildrenByFilter(a=>(c().f[15]++,c().s[108]++,c().b[46][0]++,a.attrs&&(c().b[46][1]++,a.attrs.xmlns===iC.MESSAGE_MODERATION))));if(c().s[109]++,l.length>0){c().b[47][0]++;const a=(c().s[110]++,l[0].getChildrenByFilter(r=>(c().f[16]++,c().s[111]++,c().b[48][0]++,r.attrs&&(c().b[48][1]++,r.attrs.xmlns===iC.MESSAGE_RETRACTED))));if(c().s[112]++,a.length>0){c().b[49][0]++;const r=(c().s[113]++,l[0].getChild("reason")),p=(c().s[114]++,{stanzaId:t[0].attrs.id,from:C.attrs.from,reason:r?(c().b[50][0]++,r.getText()):(c().b[50][1]++,null),by:this.parseJid(l[0].attrs.by)});c().s[115]++,gC.callbacks.messageRetracted.forEach(d=>(c().f[17]++,c().s[116]++,d(p)))}else c().b[49][1]++}else c().b[47][1]++}else c().b[45][1]++;const i=(c().s[117]++,C.getChild("subject"));if(c().s[118]++,i){c().b[51][0]++;const l=(c().s[119]++,{from:gC.parseJid(C.attrs.from),subject:i.getText()});c().s[120]++,gC.callbacks.subjectChange.forEach(a=>(c().f[18]++,c().s[121]++,a(l)))}else c().b[51][1]++;const s=(c().s[122]++,C.getChild("error"));if(c().s[123]++,s){c().b[52][0]++;const l=(c().s[124]++,{messageId:C.attrs.id,type:s.attrs.type,message:s.getChildrenByFilter(a=>(c().f[19]++,c().s[125]++,c().b[53][0]++,a.attrs&&(c().b[53][1]++,a.attrs.xmlns===iC.STANZA_ERROR))).map(a=>(c().f[20]++,c().s[126]++,a.name)).join(", ")});c().s[127]++,gC.callbacks.messageSentError.forEach(a=>(c().f[21]++,c().s[128]++,a(l)))}else c().b[52][1]++;const o=(c().s[129]++,C.getChildrenByFilter(l=>(c().f[22]++,c().s[130]++,c().b[54][0]++,l.attrs&&(c().b[54][1]++,l.attrs.xmlns===iC.CHAT_STATE))));if(c().s[131]++,o.length>0){c().b[55][0]++;const l=(c().s[132]++,{jid:gC.parseJid(C.attrs.from),type:C.attrs.type,chatState:o[0].getName()});c().s[133]++,gC.callbacks.chatState.forEach(a=>(c().f[23]++,c().s[134]++,a(l)))}else c().b[55][1]++;c().s[135]++,c().b[57][0]++,c().b[56][1]++}async connect(){return c().f[24]++,c().s[137]++,this.xmpp.status==="offline"?(c().b[58][0]++,c().s[138]++,this.jid=this.parseJid(await this.xmpp.start()),c().s[139]++,gC.callbacks.authenticated.forEach(C=>(c().f[25]++,c().s[140]++,C(this.jid)))):c().b[58][1]++,c().s[141]++,this.jid}async disconnect(){c().f[26]++,c().s[142]++,this.xmpp.stop()}on(C,e){if(c().f[27]++,c().s[143]++,c().b[60][0]++,c().b[59][1]++,c().s[145]++,this.callbacks[C]){c().b[61][0]++,c().s[146]++,this.callbacks[C].push(e),c().s[147]++;return}else c().b[61][1]++;c().s[148]++,this.xmpp.on(C,e)}async getRoster(C){c().f[28]++;const e=(c().s[149]++,xA("iq",{type:"get"},xA("query",{xmlns:iC.ROSTER,ver:C}))),n=(c().s[150]++,await this.xmpp.iqCaller.request(e));return c().s[151]++,n.getChild("query").getChildren("item").map(t=>(c().f[29]++,c().s[152]++,{...t.attrs,groups:t.getChildren("group").map(i=>(c().f[30]++,c().s[153]++,i.text()))}))}async sendPresence(C,e,n){c().f[31]++;const t=(c().s[154]++,xA("presence",{to:n},xA("show",{},C),e?(c().b[62][0]++,xA("status",{},e)):(c().b[62][1]++,null)));c().s[155]++,await this.xmpp.send(t)}async sendChatState(C,e,n){c().f[32]++,c().s[156]++,c().b[63][1]++;const t=(c().s[158]++,["active","composing","paused","inactive","gone"]);if(c().s[159]++,t.includes(n))c().b[64][1]++;else{c().b[64][0]++,c().s[160]++;return}c().s[161]++,await this.xmpp.send(xA("message",{type:e,to:C,from:this.jid.full},xA(n,{xmlns:iC.CHAT_STATE})))}async sendMessage(C,e,n,t=(c().b[65][0]++,void 0)){c().f[33]++;const i=(c().s[162]++,Nu());c().s[163]++,await this.xmpp.send(xA("message",{type:e,to:C,from:this.jid.full,id:i},xA("body",{},t?(c().b[66][0]++,t):(c().b[66][1]++,n)),(c().b[67][0]++,xA("active",{xmlns:iC.CHAT_STATE})),t?(c().b[68][0]++,xA("x",{xmlns:iC.OUT_OF_BAND_DATA},xA("url",{},t))):(c().b[68][1]++,null),xA("origin-id",{xmlns:iC.UNIQUE_ID,id:i})));const s=(c().s[164]++,{type:e,to:this.parseJid(C),from:this.jid,id:i,body:n,delay:new Date().toISOString()});c().s[165]++,t?(c().b[69][0]++,c().s[166]++,s.links=[{url:t}]):c().b[69][1]++,c().s[167]++,c().b[71][0]++,c().b[70][1]++,c().s[169]++,gC.callbacks.messageSent.forEach(o=>(c().f[34]++,c().s[170]++,o(s)))}async enableCarbons(){c().f[35]++;const C=(c().s[171]++,xA("iq",{type:"set"},xA("enable",{xmlns:iC.CARBONS}))),e=(c().s[172]++,await this.xmpp.iqCaller.request(C));return c().s[173]++,e.attrs.type==="result"}async getBookmarks(){c().f[36]++;const C=(c().s[174]++,xA("iq",{type:"get"},xA("query",{xmlns:iC.PRIVATE},xA("storage",{xmlns:iC.BOOKMARKS})))),e=(c().s[175]++,await this.xmpp.iqCaller.request(C)),n=(c().s[176]++,[]);return c().s[177]++,e.getChildren("query").forEach(t=>(c().f[37]++,c().s[178]++,t.getChildren("storage").forEach(i=>(c().f[38]++,c().s[179]++,i.getChildren("conference").forEach(s=>{c().f[39]++;const o=(c().s[180]++,s.attrs);c().s[181]++,s.children?(c().b[72][0]++,c().s[182]++,s.children.forEach(r=>{c().f[40]++,c().s[183]++,o[r.name]=r.children[0]})):c().b[72][1]++,c().s[184]++,typeof o.autojoin!="boolean"?(c().b[73][0]++,c().s[185]++,o.autojoin=o.autojoin==="true"):c().b[73][1]++;const l=(c().s[186]++,s.getChildText("nick"));c().s[187]++,l?(c().b[74][0]++,c().s[188]++,o.nick=l):c().b[74][1]++;const a=(c().s[189]++,s.getChildText("password"));c().s[190]++,a?(c().b[75][0]++,c().s[191]++,o.password=a):c().b[75][1]++,c().s[192]++,n.push(o)}))))),c().s[193]++,n}async setBookmarks(C){c().f[41]++;const e=(c().s[194]++,xA("iq",{type:"set"},xA("query",{xmlns:iC.PRIVATE},xA("storage",{xmlns:iC.BOOKMARKS},C.map(n=>(c().f[42]++,c().s[195]++,xA("conference",{jid:n.jid,autojoin:n.autojoin,name:n.name},n.nick?(c().b[76][0]++,xA("nick",{},n.nick)):(c().b[76][1]++,null),n.password?(c().b[77][0]++,xA("password",{},n.password)):(c().b[77][1]++,null))))))));c().s[196]++,await this.xmpp.iqCaller.request(e)}async addBookmark(C){c().f[43]++;const e=(c().s[197]++,await this.getBookmarks());c().s[198]++,e.push({jid:C.jid,autojoin:C.autojoin,name:C.name,nick:C.nick,password:C.password}),c().s[199]++,await this.setBookmarks(e)}async removeBookmark(C){c().f[44]++;const e=(c().s[200]++,(await this.getBookmarks()).filter(n=>(c().f[45]++,c().s[201]++,n.jid!==C)));c().s[202]++,await this.setBookmarks(e)}async getDiscoInfo(C){if(c().f[46]++,c().s[203]++,C===void 0?(c().b[78][0]++,c().s[204]++,C=this.jid.domain):c().b[78][1]++,c().s[205]++,Object.hasOwnProperty.call(rl,C))return c().b[79][0]++,c().s[206]++,rl[C];c().b[79][1]++;const e=(c().s[207]++,xA("iq",{type:"get",from:gC.jid.full,to:C},xA("query",{xmlns:iC.DISCO_INFO}))),n=(c().s[208]++,await this.xmpp.iqCaller.request(e)),t=(c().s[209]++,{identities:n.getChild("query").getChildren("identity").map(i=>(c().f[47]++,c().s[210]++,i.attrs)),features:n.getChild("query").getChildren("feature").map(i=>(c().f[48]++,c().s[211]++,i.attrs.var)),extensions:n.getChild("query").getChildren("x").map(i=>(c().f[49]++,c().s[212]++,{fields:i.getChildren("field").map(s=>(c().f[50]++,c().s[213]++,{name:s.attrs.var,label:s.attrs.label,type:s.attrs.type,value:s.getChildText("value")}))}))});return c().s[214]++,c().b[81][0]++,c().b[80][1]++,c().s[216]++,rl[C]=t,c().s[217]++,t}async getDiscoItems(C){c().f[51]++,c().s[218]++,C===void 0?(c().b[82][0]++,c().s[219]++,C=this.jid.domain):c().b[82][1]++;const e=(c().s[220]++,xA("iq",{type:"get",from:gC.jid.full,to:C},xA("query",{xmlns:iC.DISCO_ITEMS}))),n=(c().s[221]++,await this.xmpp.iqCaller.request(e));return c().s[222]++,c().b[84][0]++,c().b[83][1]++,c().s[224]++,{items:n.getChild("query").getChildren("item").map(t=>(c().f[52]++,c().s[225]++,t.attrs))}}async getUploadService(){c().f[53]++,c().s[226]++,this.uploadService=this.jid.domain;const C=(c().s[227]++,await this.getDiscoInfo());let e=(c().s[228]++,this.getMaxFileSize(C));if(c().s[229]++,e===void 0){c().b[85][0]++;const n=(c().s[230]++,await this.getDiscoItems());c().s[231]++;for(let t=(c().s[232]++,0);t<n.items.length;t++){c().s[233]++;try{const i=(c().s[234]++,await this.getDiscoInfo(n.items[t].jid));if(c().s[235]++,e=this.getMaxFileSize(i),c().s[236]++,e){c().b[86][0]++,c().s[237]++,this.uploadService=n.items[t].jid,c().s[238]++;break}else c().b[86][1]++}catch(i){c().s[239]++,console.warn(i.message)}}}else c().b[85][1]++;return c().s[240]++,{maxSize:e}}getMaxFileSize(C){if(c().f[54]++,c().s[241]++,C.features.includes(iC.HTTP_UPLOAD)){c().b[87][0]++,c().s[242]++;for(let e=(c().s[243]++,0);e<C.extensions.length;e++){const n=(c().s[244]++,C.extensions[e]);if(c().s[245]++,n.fields.map(t=>(c().f[55]++,c().s[246]++,t.value)).includes(iC.HTTP_UPLOAD)){c().b[88][0]++;const t=(c().s[247]++,n.fields.filter(i=>(c().f[56]++,c().s[248]++,i.name==="max-file-size")));if(c().s[249]++,t.length>0)return c().b[89][0]++,c().s[250]++,parseInt(t[0].value,10);c().b[89][1]++}else c().b[88][1]++}}else c().b[87][1]++;c().s[251]++}async getUploadSlot(C,e){c().f[57]++,c().s[252]++,c().b[91][0]++,C===void 0||(c().b[91][1]++,C===null)?(c().b[90][0]++,c().s[253]++,C=this.uploadService):c().b[90][1]++;const n=(c().s[254]++,xA("iq",{type:"get",from:gC.jid.full,to:C},xA("request",{xmlns:iC.HTTP_UPLOAD,...e}))),t=(c().s[255]++,await this.xmpp.iqCaller.request(n)),i=(c().s[256]++,{url:t.getChildrenByFilter(o=>(c().f[58]++,c().s[257]++,o.name==="put"),!0)[0].attrs.url}),s=(c().s[258]++,t.getChildrenByFilter(o=>(c().f[59]++,c().s[259]++,o.name==="get"),!0)[0].attrs.url);return c().s[260]++,{upload:i,download:s}}getVCardAttributes(){return c().f[60]++,c().s[261]++,[{id:"PHOTO",label:"",placeholder:"",type:"avatar"},{id:"FN",label:"Full name",placeholder:"John Doe",type:"input"},{id:"NICKNAME",label:"Nickname",placeholder:"Jo",type:"input"},{id:"URL",label:"URL",placeholder:"https://mywebsite.ltd",type:"input"},{id:"BDAY",label:"Birthday",placeholder:"1986-08-23",type:"input"},{id:"ROLE",label:"Role",placeholder:"Executive",type:"input"},{id:"TITLE",label:"Title",placeholder:"V.P. Research and Development",type:"input"}]}async getVCard(C){c().f[61]++;const e=(c().s[262]++,xA("iq",{type:"get",from:gC.jid.full,to:C},xA("vCard",{xmlns:iC.VCARD}))),n=(c().s[263]++,await this.xmpp.iqCaller.request(e)),t=(c().s[264]++,this.getVCardAttributes().reduce((s,o)=>(c().f[62]++,c().s[265]++,s[o.id]=o,c().s[266]++,s),{})),i=(c().s[267]++,n.getChild("vCard").children.map(s=>{c().f[63]++;const o=(c().s[268]++,{name:s.name}),l=(c().s[269]++,t[s.name]?(c().b[92][0]++,t[s.name].type):(c().b[92][1]++,null));switch(c().s[270]++,l){case"avatar":c().b[93][0]++,c().s[271]++,o.data=s.getChild("BINVAL")?(c().b[94][0]++,s.getChild("BINVAL").children[0]):(c().b[94][1]++,null),c().s[272]++,o.mediaType=s.getChild("TYPE")?(c().b[95][0]++,s.getChild("TYPE").children[0]):(c().b[95][1]++,"image/png"),c().s[273]++;break;case"input":c().b[93][1]++,c().s[274]++,o.value=s.getText(),c().s[275]++;break;default:c().b[93][2]++,c().s[276]++,Object.assign(o,s),c().s[277]++;break}return c().s[278]++,o}));return c().s[279]++,{records:i}}async setVCard(C){c().f[64]++;const e=(c().s[280]++,xA("iq",{type:"get",from:gC.jid.full},xA("vCard",{xmlns:iC.VCARD}))),n=(c().s[281]++,(await this.xmpp.iqCaller.request(e)).getChild("vCard"));let t=(c().s[282]++,null),i=(c().s[283]++,null);if(c().s[284]++,C.PHOTO){c().b[96][0]++;const r=(c().s[285]++,C.PHOTO.split(","));c().s[286]++,t=/data:(.*);base64/.exec(r[0])[1],c().s[287]++,i=r[1]}else c().b[96][1]++;const s=(c().s[288]++,[xA("PHOTO",{},xA("TYPE",{},t),xA("BINVAL",{},i)),...this.getVCardAttributes().filter(r=>(c().f[65]++,c().s[289]++,r.id!=="PHOTO")).map(r=>(c().f[66]++,c().s[290]++,xA(r.id,{},C[r.id])))]),o=(c().s[291]++,this.getVCardAttributes().map(r=>(c().f[67]++,c().s[292]++,r.id)));c().s[293]++,n.children=n.children.filter(r=>(c().f[68]++,c().s[294]++,!o.includes(r.name))).concat(s);const l=(c().s[295]++,xA("iq",{type:"set"},n)),a=(c().s[296]++,await this.xmpp.iqCaller.request(l));if(c().s[297]++,a.attrs.type!=="result")throw c().b[97][0]++,c().s[298]++,new Error("Error during vCard update");c().b[97][1]++}async searchHistory(C,e,n=(c().b[98][0]++,50)){c().f[69]++;const t=(c().s[299]++,xA("iq",{type:"set"},xA("query",{xmlns:iC.MAM},xA("x",{xmlns:iC.FORM,type:"submit"},xA("field",{var:"FORM_TYPE",type:"hidden"},xA("value",{},iC.MAM)),xA("field",{var:"with"},xA("value",{},C))),xA("set",{xmlns:iC.RSM},xA("max",{},n),xA("before",{},e))))),i=(c().s[300]++,await this.xmpp.iqCaller.request(t)),s=(c().s[301]++,{});if(c().s[302]++,i.attrs.type==="result"){c().b[99][0]++;const o=(c().s[303]++,i.getChild("fin").getChild("set"));c().s[304]++,s.first=o.getChildText("first"),c().s[305]++,s.last=o.getChildText("last"),c().s[306]++,s.count=o.getChildText("count")}else c().b[99][1]++;return c().s[307]++,{paging:s}}async joinRoom(C,e,n){c().f[70]++,c().s[308]++,e===null?(c().b[100][0]++,c().s[309]++,e=gC.jid.local):c().b[100][1]++;const t=(c().s[310]++,xA("presence",{to:`${C}/${e}`},xA("x",{xmlns:iC.MUC},(c().b[102][0]++,n&&(c().b[102][1]++,n.muc)&&(c().b[102][2]++,n.muc.password)?(c().b[101][0]++,xA("password",null,n.muc.password)):(c().b[101][1]++,null))))),i=(c().s[311]++,2e3);let s=(c().s[312]++,null);const o=(c().s[313]++,new Promise((a,r)=>{c().f[71]++,c().s[314]++,s=setTimeout(()=>{c().f[72]++,c().s[315]++,clearTimeout(s),c().s[316]++,r(new Error("Server unreachable"))},i)})),l=(c().s[317]++,new Promise((a,r)=>{c().f[73]++;function p(d){if(c().f[74]++,c().s[318]++,c().b[104][0]++,c().b[103][1]++,c().s[320]++,c().b[106][0]++,d.is("presence")&&(c().b[106][1]++,d.attrs.from===`${C}/${e}`)){c().b[105][0]++;const m=(c().s[321]++,d.getChild("x",iC.MUC_USER));if(c().s[322]++,c().b[108][0]++,c().b[107][1]++,c().s[324]++,m)if(c().b[109][0]++,c().s[325]++,m.getChildren("status").some(g=>(c().f[75]++,c().s[326]++,g.attrs.code==="110"))){c().b[110][0]++,c().s[327]++,this.removeListener("stanza",p),c().s[328]++,clearTimeout(s),c().s[329]++,a(d),c().s[330]++;return}else c().b[110][1]++;else c().b[109][1]++;c().s[331]++,d.attrs.type==="error"?(c().b[111][0]++,c().s[332]++,this.removeListener("stanza",p),c().s[333]++,clearTimeout(s),c().s[334]++,r(vy.fromElement(d.getChild("error")))):c().b[111][1]++}else c().b[105][1]++}c().s[335]++,this.xmpp.on("stanza",p),c().s[336]++,this.xmpp.send(t).catch(r)}));return c().s[337]++,Promise.race([l,o])}async leaveRoom(C,e){c().f[76]++;const n=(c().s[338]++,xA("presence",{to:`${C}/${e}`,type:"unavailable"}));c().s[339]++,await this.xmpp.send(n)}async getRoomConfig(C){c().f[77]++;const e=(c().s[340]++,xA("iq",{type:"get",to:C},xA("query",{xmlns:iC.MUC_OWNER}))),n=(c().s[341]++,await this.xmpp.iqCaller.request(e)),t=(c().s[342]++,n.getChild("query").getChild("x")),i=(c().s[343]++,{title:t.getChildText("title"),instructions:t.getChildText("instructions"),fields:t.getChildren("field").map(s=>{c().f[78]++;const o=(c().s[344]++,{name:s.attrs.var,label:s.attrs.label,type:s.attrs.type,value:s.getChildText("value"),description:s.getChildText("desc")});switch(c().s[345]++,o.type){case"boolean":c().b[112][0]++,c().s[346]++,o.value=o.value==="1",c().s[347]++;break;case"list-single":c().b[112][1]++,c().s[348]++,o.options=s.getChildren("option").map(l=>(c().f[79]++,c().s[349]++,{value:l.getChildText("value"),label:l.attrs.label})),c().s[350]++;break}return c().s[351]++,o})});return c().s[352]++,c().b[114][0]++,c().b[113][1]++,c().s[354]++,i}async configureRoom(C,e){c().f[80]++;const n=(c().s[355]++,xA("iq",{type:"set",to:C},xA("query",{xmlns:iC.MUC_OWNER},xA("x",{xmlns:iC.FORM,type:"submit"},e.fields.map(t=>(c().f[81]++,c().s[356]++,xA("field",{var:t.name},xA("value",{},t.type==="boolean"?(c().b[115][0]++,t.value?(c().b[116][0]++,"1"):(c().b[116][1]++,"0")):(c().b[115][1]++,t.value)))))))));c().s[357]++,await this.xmpp.iqCaller.request(n)}}function O0(){var A="/home/runner/work/xmpp-web/xmpp-web/src/assets/defaultAvatar.js",C="02b1f33c27dcbc2e9525003b82f024d61859d70e",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/assets/defaultAvatar.js",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/assets/defaultAvatar.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"02b1f33c27dcbc2e9525003b82f024d61859d70e"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return O0=function(){return s},s}O0();const ds='data:image/svg+xml,%3Csvg width="334.26" height="334.26" enable-background="new 0 0 351.333 351.333" version="1.1" viewBox="0 0 334.26 334.26" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"%3E%3Crect width="334.26" height="334.26" rx="0" ry="0" fill="%23edeef2" style="paint-order:markers stroke fill"/%3E%3Cpath d="m100.08 147.42s-6.6224-89.335 52.581-89.102c0 0 10.703-6.0401 50.676 3.0283 0 0 43.286 11.448 33.836 85.726 0 0 3.604 7.3651 3.565 19.255-0.024 7.19-0.43831 21.357-11.744 30.151 0 0-2.5163 23.071-23.849 40.404 0 0-4.9206 23.395 2.667 30 34.161 22.063 104.19 17.426 104.95 67.379h-295.53c0.48993-50.872 87.364-50.653 108.01-69.05 0 0 6.0062-10.573 2.7826-28.53 0 0-20.492-23.204-20.638-41.944 0 0-11.264-8.356-11.887-23.424-0.25-6.058-1.0857-16.903 4.5823-23.894z" fill="%237e8dc8"/%3E%3C/svg%3E%0A';function u(){var A="/home/runner/work/xmpp-web/xmpp-web/src/services/XmppSocket.js",C="f70b81af5d5520e89466dc2c4e43d5e04155e896",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/services/XmppSocket.js",statementMap:{0:{start:{line:4,column:19},end:{line:4,column:43}},1:{start:{line:5,column:17},end:{line:5,column:39}},2:{start:{line:6,column:22},end:{line:6,column:49}},3:{start:{line:7,column:19},end:{line:7,column:43}},4:{start:{line:8,column:23},end:{line:8,column:51}},5:{start:{line:11,column:15},end:{line:11,column:55}},6:{start:{line:12,column:2},end:{line:15,column:3}},7:{start:{line:13,column:4},end:{line:13,column:76}},8:{start:{line:13,column:51},end:{line:13,column:74}},9:{start:{line:14,column:4},end:{line:14,column:10}},10:{start:{line:16,column:2},end:{line:20,column:3}},11:{start:{line:17,column:4},end:{line:17,column:26}},12:{start:{line:19,column:4},end:{line:19,column:25}},13:{start:{line:37,column:4},end:{line:37,column:20}},14:{start:{line:38,column:4},end:{line:38,column:23}},15:{start:{line:39,column:4},end:{line:39,column:19}},16:{start:{line:40,column:4},end:{line:40,column:26}},17:{start:{line:41,column:4},end:{line:41,column:21}},18:{start:{line:44,column:4},end:{line:49,column:5}},19:{start:{line:45,column:6},end:{line:45,column:30}},20:{start:{line:47,column:6},end:{line:47,column:29}},21:{start:{line:48,column:6},end:{line:48,column:18}},22:{start:{line:52,column:21},end:{line:52,column:35}},23:{start:{line:53,column:4},end:{line:56,column:5}},24:{start:{line:54,column:6},end:{line:54,column:23}},25:{start:{line:55,column:6},end:{line:55,column:26}},26:{start:{line:57,column:4},end:{line:59,column:5}},27:{start:{line:58,column:6},end:{line:58,column:28}},28:{start:{line:61,column:4},end:{line:61,column:18}},29:{start:{line:64,column:4},end:{line:66,column:5}},30:{start:{line:65,column:6},end:{line:65,column:53}},31:{start:{line:69,column:4},end:{line:75,column:6}},32:{start:{line:81,column:28},end:{line:81,column:50}},33:{start:{line:82,column:20},end:{line:82,column:24}},34:{start:{line:83,column:27},end:{line:88,column:6}},35:{start:{line:84,column:6},end:{line:87,column:25}},36:{start:{line:85,column:8},end:{line:85,column:31}},37:{start:{line:86,column:8},end:{line:86,column:47}},38:{start:{line:90,column:27},end:{line:121,column:6}},39:{start:{line:93,column:6},end:{line:95,column:8}},40:{start:{line:94,column:8},end:{line:94,column:50}},41:{start:{line:98,column:6},end:{line:110,column:8}},42:{start:{line:99,column:8},end:{line:103,column:9}},43:{start:{line:100,column:10},end:{line:100,column:51}},44:{start:{line:101,column:10},end:{line:101,column:47}},45:{start:{line:102,column:10},end:{line:102,column:44}},46:{start:{line:105,column:8},end:{line:105,column:31}},47:{start:{line:106,column:8},end:{line:106,column:26}},48:{start:{line:107,column:8},end:{line:107,column:43}},49:{start:{line:108,column:8},end:{line:108,column:21}},50:{start:{line:109,column:8},end:{line:109,column:17}},51:{start:{line:112,column:6},end:{line:120,column:10}},52:{start:{line:115,column:10},end:{line:118,column:11}},53:{start:{line:116,column:12},end:{line:116,column:35}},54:{start:{line:117,column:12},end:{line:117,column:62}},55:{start:{line:119,column:10},end:{line:119,column:49}},56:{start:{line:123,column:4},end:{line:126,column:6}},57:{start:{line:133,column:6},end:{line:137,column:7}},58:{start:{line:134,column:8},end:{line:136,column:9}},59:{start:{line:134,column:41},end:{line:134,column:66}},60:{start:{line:135,column:10},end:{line:135,column:27}},61:{start:{line:138,column:6},end:{line:141,column:8}},62:{start:{line:146,column:4},end:{line:149,column:6}},63:{start:{line:147,column:6},end:{line:147,column:33}},64:{start:{line:148,column:6},end:{line:148,column:41}},65:{start:{line:150,column:4},end:{line:157,column:6}},66:{start:{line:151,column:6},end:{line:156,column:7}},67:{start:{line:152,column:8},end:{line:155,column:9}},68:{start:{line:153,column:10},end:{line:153,column:51}},69:{start:{line:154,column:10},end:{line:154,column:46}},70:{start:{line:160,column:4},end:{line:167,column:108}},71:{start:{line:162,column:8},end:{line:162,column:51}},72:{start:{line:165,column:8},end:{line:165,column:34}},73:{start:{line:167,column:30},end:{line:167,column:107}},74:{start:{line:169,column:4},end:{line:170,column:123}},75:{start:{line:170,column:33},end:{line:170,column:122}},76:{start:{line:173,column:4},end:{line:174,column:81}},77:{start:{line:174,column:24},end:{line:174,column:80}},78:{start:{line:177,column:4},end:{line:202,column:87}},79:{start:{line:179,column:8},end:{line:190,column:10}},80:{start:{line:180,column:23},end:{line:180,column:84}},81:{start:{line:181,column:10},end:{line:181,column:34}},82:{start:{line:182,column:10},end:{line:182,column:35}},83:{start:{line:183,column:10},end:{line:183,column:43}},84:{start:{line:185,column:10},end:{line:185,column:48}},85:{start:{line:186,column:10},end:{line:189,column:11}},86:{start:{line:188,column:12},end:{line:188,column:87}},87:{start:{line:192,column:8},end:{line:200,column:10}},88:{start:{line:193,column:10},end:{line:199,column:106}},89:{start:{line:195,column:27},end:{line:195,column:92}},90:{start:{line:196,column:14},end:{line:196,column:38}},91:{start:{line:197,column:14},end:{line:197,column:52}},92:{start:{line:199,column:30},end:{line:199,column:105}},93:{start:{line:202,column:24},end:{line:202,column:86}},94:{start:{line:205,column:4},end:{line:213,column:8}},95:{start:{line:207,column:8},end:{line:209,column:9}},96:{start:{line:208,column:10},end:{line:208,column:83}},97:{start:{line:212,column:8},end:{line:212,column:35}},98:{start:{line:216,column:4},end:{line:218,column:6}},99:{start:{line:217,column:6},end:{line:217,column:63}},100:{start:{line:221,column:4},end:{line:227,column:6}},101:{start:{line:222,column:6},end:{line:225,column:7}},102:{start:{line:224,column:8},end:{line:224,column:14}},103:{start:{line:226,column:6},end:{line:226,column:47}},104:{start:{line:230,column:4},end:{line:232,column:6}},105:{start:{line:231,column:6},end:{line:231,column:49}},106:{start:{line:235,column:4},end:{line:248,column:6}},107:{start:{line:236,column:17},end:{line:238,column:7}},108:{start:{line:239,column:6},end:{line:239,column:44}},109:{start:{line:241,column:6},end:{line:247,column:7}},110:{start:{line:242,column:35},end:{line:242,column:75}},111:{start:{line:243,column:8},end:{line:243,column:73}},112:{start:{line:244,column:8},end:{line:244,column:46}},113:{start:{line:246,column:8},end:{line:246,column:79}},114:{start:{line:251,column:4},end:{line:291,column:6}},115:{start:{line:252,column:22},end:{line:252,column:35}},116:{start:{line:253,column:6},end:{line:260,column:7}},117:{start:{line:255,column:8},end:{line:258,column:9}},118:{start:{line:257,column:10},end:{line:257,column:56}},119:{start:{line:259,column:8},end:{line:259,column:14}},120:{start:{line:262,column:6},end:{line:288,column:7}},121:{start:{line:263,column:8},end:{line:266,column:9}},122:{start:{line:265,column:10},end:{line:265,column:16}},123:{start:{line:267,column:8},end:{line:273,column:9}},124:{start:{line:268,column:10},end:{line:272,column:11}},125:{start:{line:269,column:12},end:{line:269,column:62}},126:{start:{line:271,column:12},end:{line:271,column:59}},127:{start:{line:274,column:8},end:{line:281,column:9}},128:{start:{line:276,column:10},end:{line:279,column:12}},129:{start:{line:280,column:10},end:{line:280,column:16}},130:{start:{line:282,column:8},end:{line:286,column:10}},131:{start:{line:287,column:8},end:{line:287,column:14}},132:{start:{line:290,column:6},end:{line:290,column:117}},133:{start:{line:294,column:4},end:{line:310,column:6}},134:{start:{line:295,column:20},end:{line:295,column:152}},135:{start:{line:295,column:72},end:{line:295,column:151}},136:{start:{line:296,column:6},end:{line:299,column:7}},137:{start:{line:298,column:8},end:{line:298,column:14}},138:{start:{line:300,column:6},end:{line:309,column:8}},139:{start:{line:313,column:4},end:{line:317,column:6}},140:{start:{line:314,column:6},end:{line:316,column:7}},141:{start:{line:315,column:8},end:{line:315,column:120}},142:{start:{line:320,column:4},end:{line:326,column:6}},143:{start:{line:321,column:6},end:{line:325,column:7}},144:{start:{line:323,column:10},end:{line:323,column:87}},145:{start:{line:324,column:10},end:{line:324,column:15}},146:{start:{line:330,column:4},end:{line:337,column:5}},147:{start:{line:331,column:6},end:{line:336,column:7}},148:{start:{line:332,column:8},end:{line:332,column:38}},149:{start:{line:333,column:8},end:{line:333,column:35}},150:{start:{line:335,column:8},end:{line:335,column:74}},151:{start:{line:341,column:4},end:{line:341,column:77}},152:{start:{line:345,column:4},end:{line:345,column:73}},153:{start:{line:349,column:4},end:{line:349,column:80}},154:{start:{line:353,column:17},end:{line:369,column:5}},155:{start:{line:370,column:4},end:{line:448,column:5}},156:{start:{line:372,column:6},end:{line:378,column:7}},157:{start:{line:377,column:8},end:{line:377,column:57}},158:{start:{line:380,column:6},end:{line:401,column:7}},159:{start:{line:384,column:23},end:{line:384,column:62}},160:{start:{line:386,column:28},end:{line:386,column:93}},161:{start:{line:386,column:51},end:{line:386,column:92}},162:{start:{line:387,column:8},end:{line:389,column:9}},163:{start:{line:388,column:10},end:{line:388,column:46}},164:{start:{line:391,column:21},end:{line:391,column:79}},165:{start:{line:391,column:44},end:{line:391,column:78}},166:{start:{line:392,column:8},end:{line:394,column:9}},167:{start:{line:393,column:10},end:{line:393,column:32}},168:{start:{line:396,column:31},end:{line:396,column:94}},169:{start:{line:396,column:54},end:{line:396,column:93}},170:{start:{line:397,column:8},end:{line:400,column:9}},171:{start:{line:398,column:10},end:{line:398,column:62}},172:{start:{line:399,column:10},end:{line:399,column:103}},173:{start:{line:403,column:6},end:{line:405,column:7}},174:{start:{line:404,column:8},end:{line:404,column:28}},175:{start:{line:406,column:6},end:{line:408,column:7}},176:{start:{line:407,column:8},end:{line:407,column:29}},177:{start:{line:410,column:6},end:{line:412,column:7}},178:{start:{line:411,column:8},end:{line:411,column:32}},179:{start:{line:413,column:6},end:{line:415,column:7}},180:{start:{line:414,column:8},end:{line:414,column:33}},181:{start:{line:417,column:6},end:{line:419,column:7}},182:{start:{line:418,column:8},end:{line:418,column:39}},183:{start:{line:420,column:6},end:{line:422,column:7}},184:{start:{line:421,column:8},end:{line:421,column:40}},185:{start:{line:424,column:6},end:{line:426,column:7}},186:{start:{line:425,column:8},end:{line:425,column:33}},187:{start:{line:427,column:6},end:{line:429,column:7}},188:{start:{line:428,column:8},end:{line:428,column:34}},189:{start:{line:431,column:6},end:{line:433,column:7}},190:{start:{line:432,column:8},end:{line:432,column:31}},191:{start:{line:434,column:6},end:{line:436,column:7}},192:{start:{line:435,column:8},end:{line:435,column:32}},193:{start:{line:438,column:6},end:{line:440,column:7}},194:{start:{line:439,column:8},end:{line:439,column:31}},195:{start:{line:441,column:6},end:{line:443,column:7}},196:{start:{line:442,column:8},end:{line:442,column:32}},197:{start:{line:445,column:6},end:{line:447,column:7}},198:{start:{line:446,column:8},end:{line:446,column:28}},199:{start:{line:449,column:4},end:{line:449,column:15}},200:{start:{line:453,column:4},end:{line:473,column:5}},201:{start:{line:454,column:18},end:{line:454,column:57}},202:{start:{line:455,column:6},end:{line:457,column:7}},203:{start:{line:456,column:8},end:{line:456,column:40}},204:{start:{line:458,column:6},end:{line:460,column:7}},205:{start:{line:459,column:8},end:{line:459,column:54}},206:{start:{line:461,column:20},end:{line:461,column:51}},207:{start:{line:462,column:6},end:{line:464,column:7}},208:{start:{line:463,column:8},end:{line:463,column:54}},209:{start:{line:465,column:21},end:{line:465,column:76}},210:{start:{line:465,column:52},end:{line:465,column:75}},211:{start:{line:466,column:6},end:{line:470,column:7}},212:{start:{line:467,column:20},end:{line:467,column:73}},213:{start:{line:468,column:8},end:{line:468,column:52}},214:{start:{line:469,column:8},end:{line:469,column:40}},215:{start:{line:472,column:6},end:{line:472,column:71}},216:{start:{line:474,column:4},end:{line:474,column:50}},217:{start:{line:478,column:4},end:{line:500,column:5}},218:{start:{line:479,column:20},end:{line:479,column:48}},219:{start:{line:480,column:6},end:{line:482,column:7}},220:{start:{line:481,column:8},end:{line:481,column:18}},221:{start:{line:483,column:6},end:{line:496,column:14}},222:{start:{line:486,column:24},end:{line:486,column:112}},223:{start:{line:487,column:10},end:{line:490,column:11}},224:{start:{line:494,column:10},end:{line:494,column:35}},225:{start:{line:495,column:10},end:{line:495,column:20}},226:{start:{line:498,column:6},end:{line:498,column:64}},227:{start:{line:499,column:6},end:{line:499,column:15}},228:{start:{line:504,column:4},end:{line:504,column:39}},229:{start:{line:505,column:4},end:{line:507,column:5}},230:{start:{line:506,column:6},end:{line:506,column:74}},231:{start:{line:508,column:4},end:{line:508,column:10}},232:{start:{line:512,column:4},end:{line:521,column:5}},233:{start:{line:514,column:6},end:{line:514,column:51}},234:{start:{line:516,column:6},end:{line:518,column:8}},235:{start:{line:517,column:8},end:{line:517,column:67}},236:{start:{line:520,column:6},end:{line:520,column:74}},237:{start:{line:525,column:4},end:{line:530,column:5}},238:{start:{line:526,column:22},end:{line:526,column:68}},239:{start:{line:527,column:6},end:{line:527,column:27}},240:{start:{line:529,column:6},end:{line:529,column:75}},241:{start:{line:534,column:4},end:{line:539,column:5}},242:{start:{line:535,column:6},end:{line:538,column:7}},243:{start:{line:540,column:4},end:{line:546,column:5}},244:{start:{line:541,column:6},end:{line:545,column:7}},245:{start:{line:542,column:8},end:{line:542,column:24}},246:{start:{line:544,column:8},end:{line:544,column:33}},247:{start:{line:547,column:4},end:{line:565,column:5}},248:{start:{line:548,column:6},end:{line:548,column:49}},249:{start:{line:549,column:6},end:{line:555,column:7}},250:{start:{line:550,column:21},end:{line:550,column:45}},251:{start:{line:551,column:8},end:{line:553,column:9}},252:{start:{line:552,column:10},end:{line:552,column:43}},253:{start:{line:554,column:8},end:{line:554,column:46}},254:{start:{line:556,column:6},end:{line:558,column:7}},255:{start:{line:560,column:6},end:{line:560,column:64}},256:{start:{line:561,column:6},end:{line:564,column:7}},257:{start:{line:569,column:4},end:{line:571,column:5}},258:{start:{line:570,column:6},end:{line:570,column:15}},259:{start:{line:572,column:18},end:{line:572,column:20}},260:{start:{line:575,column:4},end:{line:610,column:5}},261:{start:{line:576,column:37},end:{line:576,column:89}},262:{start:{line:577,column:6},end:{line:580,column:7}},263:{start:{line:578,column:8},end:{line:578,column:47}},264:{start:{line:579,column:8},end:{line:579,column:17}},265:{start:{line:583,column:6},end:{line:607,column:7}},266:{start:{line:584,column:8},end:{line:606,column:9}},267:{start:{line:585,column:41},end:{line:585,column:92}},268:{start:{line:587,column:10},end:{line:603,column:11}},269:{start:{line:589,column:12},end:{line:602,column:13}},270:{start:{line:590,column:42},end:{line:590,column:94}},271:{start:{line:593,column:14},end:{line:599,column:15}},272:{start:{line:594,column:29},end:{line:594,column:65}},273:{start:{line:595,column:16},end:{line:598,column:17}},274:{start:{line:596,column:18},end:{line:596,column:56}},275:{start:{line:597,column:18},end:{line:597,column:34}},276:{start:{line:601,column:14},end:{line:601,column:103}},277:{start:{line:605,column:10},end:{line:605,column:106}},278:{start:{line:609,column:6},end:{line:609,column:85}},279:{start:{line:611,column:4},end:{line:611,column:16}},280:{start:{line:615,column:4},end:{line:619,column:5}},281:{start:{line:616,column:6},end:{line:618,column:7}},282:{start:{line:620,column:4},end:{line:630,column:5}},283:{start:{line:621,column:33},end:{line:621,column:68}},284:{start:{line:622,column:6},end:{line:625,column:7}},285:{start:{line:623,column:21},end:{line:623,column:68}},286:{start:{line:624,column:8},end:{line:624,column:19}},287:{start:{line:627,column:6},end:{line:629,column:7}},288:{start:{line:631,column:4},end:{line:633,column:5}},289:{start:{line:637,column:4},end:{line:656,column:5}},290:{start:{line:638,column:6},end:{line:655,column:7}},291:{start:{line:640,column:10},end:{line:640,column:63}},292:{start:{line:642,column:10},end:{line:642,column:54}},293:{start:{line:644,column:10},end:{line:644,column:43}},294:{start:{line:646,column:10},end:{line:646,column:46}},295:{start:{line:648,column:10},end:{line:648,column:49}},296:{start:{line:650,column:10},end:{line:650,column:67}},297:{start:{line:652,column:10},end:{line:652,column:61}},298:{start:{line:654,column:10},end:{line:654,column:72}},299:{start:{line:657,column:4},end:{line:657,column:32}},300:{start:{line:662,column:4},end:{line:667,column:5}},301:{start:{line:663,column:6},end:{line:663,column:68}},302:{start:{line:665,column:6},end:{line:665,column:75}},303:{start:{line:666,column:6},end:{line:666,column:17}},304:{start:{line:671,column:4},end:{line:704,column:5}},305:{start:{line:672,column:19},end:{line:672,column:51}},306:{start:{line:673,column:6},end:{line:694,column:7}},307:{start:{line:675,column:25},end:{line:679,column:9}},308:{start:{line:680,column:8},end:{line:682,column:9}},309:{start:{line:681,column:10},end:{line:681,column:43}},310:{start:{line:683,column:8},end:{line:687,column:9}},311:{start:{line:684,column:10},end:{line:684,column:30}},312:{start:{line:685,column:15},end:{line:687,column:9}},313:{start:{line:686,column:10},end:{line:686,column:35}},314:{start:{line:688,column:8},end:{line:688,column:47}},315:{start:{line:689,column:8},end:{line:692,column:10}},316:{start:{line:693,column:8},end:{line:693,column:19}},317:{start:{line:696,column:6},end:{line:696,column:43}},318:{start:{line:697,column:6},end:{line:700,column:8}},319:{start:{line:701,column:6},end:{line:701,column:17}},320:{start:{line:703,column:6},end:{line:703,column:18}},321:{start:{line:708,column:4},end:{line:708,column:64}},322:{start:{line:712,column:4},end:{line:712,column:45}},323:{start:{line:716,column:4},end:{line:716,column:51}},324:{start:{line:721,column:4},end:{line:721,column:20}}},fnMap:{0:{name:"logError",decl:{start:{line:10,column:9},end:{line:10,column:17}},loc:{start:{line:10,column:40},end:{line:21,column:1}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:13,column:44},end:{line:13,column:45}},loc:{start:{line:13,column:51},end:{line:13,column:74}},line:13},2:{name:"(anonymous_2)",decl:{start:{line:35,column:2},end:{line:35,column:3}},loc:{start:{line:35,column:64},end:{line:77,column:3}},line:35},3:{name:"(anonymous_3)",decl:{start:{line:80,column:2},end:{line:80,column:3}},loc:{start:{line:80,column:13},end:{line:127,column:3}},line:80},4:{name:"(anonymous_4)",decl:{start:{line:83,column:39},end:{line:83,column:40}},loc:{start:{line:83,column:60},end:{line:88,column:5}},line:83},5:{name:"(anonymous_5)",decl:{start:{line:84,column:29},end:{line:84,column:30}},loc:{start:{line:84,column:35},end:{line:87,column:7}},line:84},6:{name:"(anonymous_6)",decl:{start:{line:90,column:39},end:{line:90,column:40}},loc:{start:{line:90,column:60},end:{line:121,column:5}},line:90},7:{name:"(anonymous_7)",decl:{start:{line:93,column:30},end:{line:93,column:31}},loc:{start:{line:93,column:41},end:{line:95,column:7}},line:93},8:{name:"(anonymous_8)",decl:{start:{line:98,column:38},end:{line:98,column:39}},loc:{start:{line:98,column:47},end:{line:110,column:7}},line:98},9:{name:"(anonymous_9)",decl:{start:{line:113,column:15},end:{line:113,column:16}},loc:{start:{line:113,column:26},end:{line:120,column:9}},line:113},10:{name:"(anonymous_10)",decl:{start:{line:130,column:2},end:{line:130,column:3}},loc:{start:{line:130,column:12},end:{line:327,column:3}},line:130},11:{name:"storeMessage",decl:{start:{line:131,column:13},end:{line:131,column:25}},loc:{start:{line:131,column:54},end:{line:142,column:5}},line:131},12:{name:"(anonymous_12)",decl:{start:{line:134,column:31},end:{line:134,column:32}},loc:{start:{line:134,column:41},end:{line:134,column:66}},line:134},13:{name:"(anonymous_13)",decl:{start:{line:146,column:29},end:{line:146,column:30}},loc:{start:{line:146,column:35},end:{line:149,column:5}},line:146},14:{name:"(anonymous_14)",decl:{start:{line:150,column:29},end:{line:150,column:30}},loc:{start:{line:150,column:41},end:{line:157,column:5}},line:150},15:{name:"(anonymous_15)",decl:{start:{line:161,column:12},end:{line:161,column:13}},loc:{start:{line:161,column:30},end:{line:166,column:7}},line:161},16:{name:"(anonymous_16)",decl:{start:{line:167,column:13},end:{line:167,column:14}},loc:{start:{line:167,column:30},end:{line:167,column:107}},line:167},17:{name:"(anonymous_17)",decl:{start:{line:170,column:13},end:{line:170,column:14}},loc:{start:{line:170,column:33},end:{line:170,column:122}},line:170},18:{name:"(anonymous_18)",decl:{start:{line:174,column:13},end:{line:174,column:14}},loc:{start:{line:174,column:24},end:{line:174,column:80}},line:174},19:{name:"(anonymous_19)",decl:{start:{line:178,column:12},end:{line:178,column:13}},loc:{start:{line:178,column:30},end:{line:201,column:7}},line:178},20:{name:"(anonymous_20)",decl:{start:{line:179,column:29},end:{line:179,column:30}},loc:{start:{line:179,column:43},end:{line:190,column:9}},line:179},21:{name:"(anonymous_21)",decl:{start:{line:192,column:29},end:{line:192,column:30}},loc:{start:{line:192,column:38},end:{line:200,column:9}},line:192},22:{name:"(anonymous_22)",decl:{start:{line:194,column:18},end:{line:194,column:19}},loc:{start:{line:194,column:42},end:{line:198,column:13}},line:194},23:{name:"(anonymous_23)",decl:{start:{line:199,column:19},end:{line:199,column:20}},loc:{start:{line:199,column:30},end:{line:199,column:105}},line:199},24:{name:"(anonymous_24)",decl:{start:{line:202,column:13},end:{line:202,column:14}},loc:{start:{line:202,column:24},end:{line:202,column:86}},line:202},25:{name:"(anonymous_25)",decl:{start:{line:206,column:12},end:{line:206,column:13}},loc:{start:{line:206,column:37},end:{line:210,column:7}},line:206},26:{name:"(anonymous_26)",decl:{start:{line:211,column:13},end:{line:211,column:14}},loc:{start:{line:211,column:24},end:{line:213,column:7}},line:211},27:{name:"(anonymous_27)",decl:{start:{line:216,column:27},end:{line:216,column:28}},loc:{start:{line:216,column:48},end:{line:218,column:5}},line:216},28:{name:"(anonymous_28)",decl:{start:{line:221,column:34},end:{line:221,column:35}},loc:{start:{line:221,column:47},end:{line:227,column:5}},line:221},29:{name:"(anonymous_29)",decl:{start:{line:230,column:32},end:{line:230,column:33}},loc:{start:{line:230,column:45},end:{line:232,column:5}},line:230},30:{name:"(anonymous_30)",decl:{start:{line:235,column:33},end:{line:235,column:34}},loc:{start:{line:235,column:53},end:{line:248,column:5}},line:235},31:{name:"(anonymous_31)",decl:{start:{line:251,column:31},end:{line:251,column:32}},loc:{start:{line:251,column:51},end:{line:291,column:5}},line:251},32:{name:"(anonymous_32)",decl:{start:{line:294,column:39},end:{line:294,column:40}},loc:{start:{line:294,column:54},end:{line:310,column:5}},line:294},33:{name:"(anonymous_33)",decl:{start:{line:295,column:59},end:{line:295,column:60}},loc:{start:{line:295,column:72},end:{line:295,column:151}},line:295},34:{name:"(anonymous_34)",decl:{start:{line:313,column:36},end:{line:313,column:37}},loc:{start:{line:313,column:55},end:{line:317,column:5}},line:313},35:{name:"(anonymous_35)",decl:{start:{line:320,column:39},end:{line:320,column:40}},loc:{start:{line:320,column:50},end:{line:326,column:5}},line:320},36:{name:"(anonymous_36)",decl:{start:{line:329,column:2},end:{line:329,column:3}},loc:{start:{line:329,column:22},end:{line:338,column:3}},line:329},37:{name:"(anonymous_37)",decl:{start:{line:340,column:2},end:{line:340,column:3}},loc:{start:{line:340,column:33},end:{line:342,column:3}},line:340},38:{name:"(anonymous_38)",decl:{start:{line:344,column:2},end:{line:344,column:3}},loc:{start:{line:344,column:38},end:{line:346,column:3}},line:344},39:{name:"(anonymous_39)",decl:{start:{line:348,column:2},end:{line:348,column:3}},loc:{start:{line:348,column:45},end:{line:350,column:3}},line:348},40:{name:"(anonymous_40)",decl:{start:{line:352,column:2},end:{line:352,column:3}},loc:{start:{line:352,column:63},end:{line:450,column:3}},line:352},41:{name:"(anonymous_41)",decl:{start:{line:386,column:40},end:{line:386,column:41}},loc:{start:{line:386,column:51},end:{line:386,column:92}},line:386},42:{name:"(anonymous_42)",decl:{start:{line:391,column:33},end:{line:391,column:34}},loc:{start:{line:391,column:44},end:{line:391,column:78}},line:391},43:{name:"(anonymous_43)",decl:{start:{line:396,column:43},end:{line:396,column:44}},loc:{start:{line:396,column:54},end:{line:396,column:93}},line:396},44:{name:"(anonymous_44)",decl:{start:{line:452,column:2},end:{line:452,column:3}},loc:{start:{line:452,column:27},end:{line:475,column:3}},line:452},45:{name:"(anonymous_45)",decl:{start:{line:465,column:40},end:{line:465,column:41}},loc:{start:{line:465,column:52},end:{line:465,column:75}},line:465},46:{name:"(anonymous_46)",decl:{start:{line:477,column:2},end:{line:477,column:3}},loc:{start:{line:477,column:22},end:{line:501,column:3}},line:477},47:{name:"(anonymous_47)",decl:{start:{line:485,column:13},end:{line:485,column:14}},loc:{start:{line:485,column:21},end:{line:491,column:9}},line:485},48:{name:"(anonymous_48)",decl:{start:{line:493,column:16},end:{line:493,column:17}},loc:{start:{line:493,column:30},end:{line:496,column:9}},line:493},49:{name:"(anonymous_49)",decl:{start:{line:503,column:2},end:{line:503,column:3}},loc:{start:{line:503,column:32},end:{line:509,column:3}},line:503},50:{name:"(anonymous_50)",decl:{start:{line:511,column:2},end:{line:511,column:3}},loc:{start:{line:511,column:32},end:{line:522,column:3}},line:511},51:{name:"(anonymous_51)",decl:{start:{line:516,column:46},end:{line:516,column:47}},loc:{start:{line:516,column:59},end:{line:518,column:7}},line:516},52:{name:"(anonymous_52)",decl:{start:{line:524,column:2},end:{line:524,column:3}},loc:{start:{line:524,column:41},end:{line:531,column:3}},line:524},53:{name:"(anonymous_53)",decl:{start:{line:533,column:2},end:{line:533,column:3}},loc:{start:{line:533,column:59},end:{line:566,column:3}},line:533},54:{name:"(anonymous_54)",decl:{start:{line:568,column:2},end:{line:568,column:3}},loc:{start:{line:568,column:24},end:{line:612,column:3}},line:568},55:{name:"(anonymous_55)",decl:{start:{line:614,column:2},end:{line:614,column:3}},loc:{start:{line:614,column:22},end:{line:634,column:3}},line:614},56:{name:"(anonymous_56)",decl:{start:{line:636,column:2},end:{line:636,column:3}},loc:{start:{line:636,column:23},end:{line:658,column:3}},line:636},57:{name:"(anonymous_57)",decl:{start:{line:661,column:2},end:{line:661,column:3}},loc:{start:{line:661,column:53},end:{line:668,column:3}},line:661},58:{name:"(anonymous_58)",decl:{start:{line:670,column:2},end:{line:670,column:3}},loc:{start:{line:670,column:64},end:{line:705,column:3}},line:670},59:{name:"(anonymous_59)",decl:{start:{line:707,column:2},end:{line:707,column:3}},loc:{start:{line:707,column:29},end:{line:709,column:3}},line:707},60:{name:"(anonymous_60)",decl:{start:{line:711,column:2},end:{line:711,column:3}},loc:{start:{line:711,column:32},end:{line:713,column:3}},line:711},61:{name:"(anonymous_61)",decl:{start:{line:715,column:2},end:{line:715,column:3}},loc:{start:{line:715,column:38},end:{line:717,column:3}},line:715},62:{name:"(anonymous_62)",decl:{start:{line:720,column:2},end:{line:720,column:3}},loc:{start:{line:720,column:17},end:{line:722,column:3}},line:720}},branchMap:{0:{loc:{start:{line:12,column:2},end:{line:15,column:3}},type:"if",locations:[{start:{line:12,column:2},end:{line:15,column:3}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:12},1:{loc:{start:{line:16,column:2},end:{line:20,column:3}},type:"if",locations:[{start:{line:16,column:2},end:{line:20,column:3}},{start:{line:18,column:9},end:{line:20,column:3}}],line:16},2:{loc:{start:{line:44,column:4},end:{line:49,column:5}},type:"if",locations:[{start:{line:44,column:4},end:{line:49,column:5}},{start:{line:46,column:11},end:{line:49,column:5}}],line:44},3:{loc:{start:{line:53,column:4},end:{line:56,column:5}},type:"if",locations:[{start:{line:53,column:4},end:{line:56,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:53},4:{loc:{start:{line:57,column:4},end:{line:59,column:5}},type:"if",locations:[{start:{line:57,column:4},end:{line:59,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:57},5:{loc:{start:{line:64,column:4},end:{line:66,column:5}},type:"if",locations:[{start:{line:64,column:4},end:{line:66,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},6:{loc:{start:{line:72,column:16},end:{line:72,column:38}},type:"binary-expr",locations:[{start:{line:72,column:16},end:{line:72,column:24}},{start:{line:72,column:28},end:{line:72,column:38}}],line:72},7:{loc:{start:{line:81,column:28},end:{line:81,column:50}},type:"binary-expr",locations:[{start:{line:81,column:28},end:{line:81,column:42}},{start:{line:81,column:46},end:{line:81,column:50}}],line:81},8:{loc:{start:{line:99,column:8},end:{line:103,column:9}},type:"if",locations:[{start:{line:99,column:8},end:{line:103,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:99},9:{loc:{start:{line:115,column:10},end:{line:118,column:11}},type:"if",locations:[{start:{line:115,column:10},end:{line:118,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:115},10:{loc:{start:{line:133,column:6},end:{line:137,column:7}},type:"if",locations:[{start:{line:133,column:6},end:{line:137,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:133},11:{loc:{start:{line:134,column:8},end:{line:136,column:9}},type:"if",locations:[{start:{line:134,column:8},end:{line:136,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:134},12:{loc:{start:{line:151,column:6},end:{line:156,column:7}},type:"if",locations:[{start:{line:151,column:6},end:{line:156,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:151},13:{loc:{start:{line:151,column:10},end:{line:151,column:55}},type:"binary-expr",locations:[{start:{line:151,column:10},end:{line:151,column:28}},{start:{line:151,column:32},end:{line:151,column:55}}],line:151},14:{loc:{start:{line:152,column:8},end:{line:155,column:9}},type:"if",locations:[{start:{line:152,column:8},end:{line:155,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:152},15:{loc:{start:{line:186,column:10},end:{line:189,column:11}},type:"if",locations:[{start:{line:186,column:10},end:{line:189,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:186},16:{loc:{start:{line:207,column:8},end:{line:209,column:9}},type:"if",locations:[{start:{line:207,column:8},end:{line:209,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:207},17:{loc:{start:{line:222,column:6},end:{line:225,column:7}},type:"if",locations:[{start:{line:222,column:6},end:{line:225,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:222},18:{loc:{start:{line:222,column:10},end:{line:222,column:39}},type:"binary-expr",locations:[{start:{line:222,column:10},end:{line:222,column:23}},{start:{line:222,column:27},end:{line:222,column:39}}],line:222},19:{loc:{start:{line:253,column:6},end:{line:260,column:7}},type:"if",locations:[{start:{line:253,column:6},end:{line:260,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:253},20:{loc:{start:{line:255,column:8},end:{line:258,column:9}},type:"if",locations:[{start:{line:255,column:8},end:{line:258,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:255},21:{loc:{start:{line:262,column:6},end:{line:288,column:7}},type:"if",locations:[{start:{line:262,column:6},end:{line:288,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:262},22:{loc:{start:{line:263,column:8},end:{line:266,column:9}},type:"if",locations:[{start:{line:263,column:8},end:{line:266,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:263},23:{loc:{start:{line:267,column:8},end:{line:273,column:9}},type:"if",locations:[{start:{line:267,column:8},end:{line:273,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:267},24:{loc:{start:{line:268,column:10},end:{line:272,column:11}},type:"if",locations:[{start:{line:268,column:10},end:{line:272,column:11}},{start:{line:270,column:17},end:{line:272,column:11}}],line:268},25:{loc:{start:{line:274,column:8},end:{line:281,column:9}},type:"if",locations:[{start:{line:274,column:8},end:{line:281,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:274},26:{loc:{start:{line:295,column:72},end:{line:295,column:151}},type:"binary-expr",locations:[{start:{line:295,column:72},end:{line:295,column:108}},{start:{line:295,column:112},end:{line:295,column:151}}],line:295},27:{loc:{start:{line:296,column:6},end:{line:299,column:7}},type:"if",locations:[{start:{line:296,column:6},end:{line:299,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:296},28:{loc:{start:{line:303,column:57},end:{line:303,column:105}},type:"cond-expr",locations:[{start:{line:303,column:76},end:{line:303,column:100}},{start:{line:303,column:103},end:{line:303,column:105}}],line:303},29:{loc:{start:{line:314,column:6},end:{line:316,column:7}},type:"if",locations:[{start:{line:314,column:6},end:{line:316,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:314},30:{loc:{start:{line:314,column:10},end:{line:314,column:80}},type:"binary-expr",locations:[{start:{line:314,column:10},end:{line:314,column:28}},{start:{line:314,column:32},end:{line:314,column:55}},{start:{line:314,column:59},end:{line:314,column:80}}],line:314},31:{loc:{start:{line:321,column:6},end:{line:325,column:7}},type:"switch",locations:[{start:{line:322,column:8},end:{line:324,column:15}}],line:321},32:{loc:{start:{line:330,column:4},end:{line:337,column:5}},type:"if",locations:[{start:{line:330,column:4},end:{line:337,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:330},33:{loc:{start:{line:330,column:8},end:{line:330,column:35}},type:"binary-expr",locations:[{start:{line:330,column:8},end:{line:330,column:20}},{start:{line:330,column:24},end:{line:330,column:35}}],line:330},34:{loc:{start:{line:341,column:38},end:{line:341,column:66}},type:"cond-expr",locations:[{start:{line:341,column:46},end:{line:341,column:57}},{start:{line:341,column:60},end:{line:341,column:66}}],line:341},35:{loc:{start:{line:345,column:38},end:{line:345,column:66}},type:"cond-expr",locations:[{start:{line:345,column:46},end:{line:345,column:57}},{start:{line:345,column:60},end:{line:345,column:66}}],line:345},36:{loc:{start:{line:349,column:40},end:{line:349,column:68}},type:"cond-expr",locations:[{start:{line:349,column:48},end:{line:349,column:59}},{start:{line:349,column:62},end:{line:349,column:68}}],line:349},37:{loc:{start:{line:352,column:46},end:{line:352,column:61}},type:"default-arg",locations:[{start:{line:352,column:57},end:{line:352,column:61}}],line:352},38:{loc:{start:{line:370,column:4},end:{line:448,column:5}},type:"if",locations:[{start:{line:370,column:4},end:{line:448,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:370},39:{loc:{start:{line:372,column:6},end:{line:378,column:7}},type:"if",locations:[{start:{line:372,column:6},end:{line:378,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:372},40:{loc:{start:{line:373,column:8},end:{line:375,column:86}},type:"binary-expr",locations:[{start:{line:373,column:8},end:{line:373,column:78}},{start:{line:374,column:8},end:{line:374,column:48}},{start:{line:375,column:8},end:{line:375,column:86}}],line:373},41:{loc:{start:{line:380,column:6},end:{line:401,column:7}},type:"if",locations:[{start:{line:380,column:6},end:{line:401,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:380},42:{loc:{start:{line:381,column:8},end:{line:382,column:88}},type:"binary-expr",locations:[{start:{line:381,column:8},end:{line:381,column:48}},{start:{line:382,column:8},end:{line:382,column:88}}],line:381},43:{loc:{start:{line:387,column:8},end:{line:389,column:9}},type:"if",locations:[{start:{line:387,column:8},end:{line:389,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:387},44:{loc:{start:{line:392,column:8},end:{line:394,column:9}},type:"if",locations:[{start:{line:392,column:8},end:{line:394,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:392},45:{loc:{start:{line:397,column:8},end:{line:400,column:9}},type:"if",locations:[{start:{line:397,column:8},end:{line:400,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:397},46:{loc:{start:{line:399,column:32},end:{line:399,column:103}},type:"cond-expr",locations:[{start:{line:399,column:61},end:{line:399,column:81}},{start:{line:399,column:84},end:{line:399,column:103}}],line:399},47:{loc:{start:{line:403,column:6},end:{line:405,column:7}},type:"if",locations:[{start:{line:403,column:6},end:{line:405,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:403},48:{loc:{start:{line:406,column:6},end:{line:408,column:7}},type:"if",locations:[{start:{line:406,column:6},end:{line:408,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:406},49:{loc:{start:{line:410,column:6},end:{line:412,column:7}},type:"if",locations:[{start:{line:410,column:6},end:{line:412,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:410},50:{loc:{start:{line:413,column:6},end:{line:415,column:7}},type:"if",locations:[{start:{line:413,column:6},end:{line:415,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:413},51:{loc:{start:{line:417,column:6},end:{line:419,column:7}},type:"if",locations:[{start:{line:417,column:6},end:{line:419,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:417},52:{loc:{start:{line:420,column:6},end:{line:422,column:7}},type:"if",locations:[{start:{line:420,column:6},end:{line:422,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:420},53:{loc:{start:{line:424,column:6},end:{line:426,column:7}},type:"if",locations:[{start:{line:424,column:6},end:{line:426,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:424},54:{loc:{start:{line:427,column:6},end:{line:429,column:7}},type:"if",locations:[{start:{line:427,column:6},end:{line:429,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:427},55:{loc:{start:{line:431,column:6},end:{line:433,column:7}},type:"if",locations:[{start:{line:431,column:6},end:{line:433,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:431},56:{loc:{start:{line:434,column:6},end:{line:436,column:7}},type:"if",locations:[{start:{line:434,column:6},end:{line:436,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:434},57:{loc:{start:{line:438,column:6},end:{line:440,column:7}},type:"if",locations:[{start:{line:438,column:6},end:{line:440,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:438},58:{loc:{start:{line:441,column:6},end:{line:443,column:7}},type:"if",locations:[{start:{line:441,column:6},end:{line:443,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:441},59:{loc:{start:{line:445,column:6},end:{line:447,column:7}},type:"if",locations:[{start:{line:445,column:6},end:{line:447,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:445},60:{loc:{start:{line:455,column:6},end:{line:457,column:7}},type:"if",locations:[{start:{line:455,column:6},end:{line:457,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:455},61:{loc:{start:{line:458,column:6},end:{line:460,column:7}},type:"if",locations:[{start:{line:458,column:6},end:{line:460,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:458},62:{loc:{start:{line:462,column:6},end:{line:464,column:7}},type:"if",locations:[{start:{line:462,column:6},end:{line:464,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:462},63:{loc:{start:{line:466,column:6},end:{line:470,column:7}},type:"if",locations:[{start:{line:466,column:6},end:{line:470,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:466},64:{loc:{start:{line:466,column:10},end:{line:466,column:31}},type:"binary-expr",locations:[{start:{line:466,column:10},end:{line:466,column:16}},{start:{line:466,column:20},end:{line:466,column:31}}],line:466},65:{loc:{start:{line:480,column:6},end:{line:482,column:7}},type:"if",locations:[{start:{line:480,column:6},end:{line:482,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:480},66:{loc:{start:{line:486,column:24},end:{line:486,column:112}},type:"cond-expr",locations:[{start:{line:486,column:50},end:{line:486,column:99}},{start:{line:486,column:102},end:{line:486,column:112}}],line:486},67:{loc:{start:{line:505,column:4},end:{line:507,column:5}},type:"if",locations:[{start:{line:505,column:4},end:{line:507,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:505},68:{loc:{start:{line:524,column:28},end:{line:524,column:39}},type:"default-arg",locations:[{start:{line:524,column:35},end:{line:524,column:39}}],line:524},69:{loc:{start:{line:533,column:23},end:{line:533,column:34}},type:"default-arg",locations:[{start:{line:533,column:30},end:{line:533,column:34}}],line:533},70:{loc:{start:{line:533,column:36},end:{line:533,column:45}},type:"default-arg",locations:[{start:{line:533,column:43},end:{line:533,column:45}}],line:533},71:{loc:{start:{line:533,column:47},end:{line:533,column:57}},type:"default-arg",locations:[{start:{line:533,column:55},end:{line:533,column:57}}],line:533},72:{loc:{start:{line:534,column:4},end:{line:539,column:5}},type:"if",locations:[{start:{line:534,column:4},end:{line:539,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:534},73:{loc:{start:{line:540,column:4},end:{line:546,column:5}},type:"if",locations:[{start:{line:540,column:4},end:{line:546,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:540},74:{loc:{start:{line:541,column:6},end:{line:545,column:7}},type:"if",locations:[{start:{line:541,column:6},end:{line:545,column:7}},{start:{line:543,column:13},end:{line:545,column:7}}],line:541},75:{loc:{start:{line:549,column:6},end:{line:555,column:7}},type:"if",locations:[{start:{line:549,column:6},end:{line:555,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:549},76:{loc:{start:{line:551,column:8},end:{line:553,column:9}},type:"if",locations:[{start:{line:551,column:8},end:{line:553,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:551},77:{loc:{start:{line:551,column:12},end:{line:551,column:49}},type:"binary-expr",locations:[{start:{line:551,column:12},end:{line:551,column:16}},{start:{line:551,column:20},end:{line:551,column:28}},{start:{line:551,column:32},end:{line:551,column:49}}],line:551},78:{loc:{start:{line:569,column:4},end:{line:571,column:5}},type:"if",locations:[{start:{line:569,column:4},end:{line:571,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:569},79:{loc:{start:{line:577,column:6},end:{line:580,column:7}},type:"if",locations:[{start:{line:577,column:6},end:{line:580,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:577},80:{loc:{start:{line:587,column:10},end:{line:603,column:11}},type:"if",locations:[{start:{line:587,column:10},end:{line:603,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:587},81:{loc:{start:{line:595,column:16},end:{line:598,column:17}},type:"if",locations:[{start:{line:595,column:16},end:{line:598,column:17}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:595},82:{loc:{start:{line:595,column:20},end:{line:595,column:64}},type:"binary-expr",locations:[{start:{line:595,column:20},end:{line:595,column:28}},{start:{line:595,column:32},end:{line:595,column:64}}],line:595},83:{loc:{start:{line:615,column:4},end:{line:619,column:5}},type:"if",locations:[{start:{line:615,column:4},end:{line:619,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:615},84:{loc:{start:{line:622,column:6},end:{line:625,column:7}},type:"if",locations:[{start:{line:622,column:6},end:{line:625,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:622},85:{loc:{start:{line:637,column:4},end:{line:656,column:5}},type:"if",locations:[{start:{line:637,column:4},end:{line:656,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:637},86:{loc:{start:{line:638,column:6},end:{line:655,column:7}},type:"switch",locations:[{start:{line:639,column:8},end:{line:640,column:63}},{start:{line:641,column:8},end:{line:642,column:54}},{start:{line:643,column:8},end:{line:644,column:43}},{start:{line:645,column:8},end:{line:646,column:46}},{start:{line:647,column:8},end:{line:648,column:49}},{start:{line:649,column:8},end:{line:650,column:67}},{start:{line:651,column:8},end:{line:652,column:61}},{start:{line:653,column:8},end:{line:654,column:72}}],line:638},87:{loc:{start:{line:670,column:34},end:{line:670,column:49}},type:"default-arg",locations:[{start:{line:670,column:45},end:{line:670,column:49}}],line:670},88:{loc:{start:{line:670,column:51},end:{line:670,column:62}},type:"default-arg",locations:[{start:{line:670,column:58},end:{line:670,column:62}}],line:670},89:{loc:{start:{line:673,column:6},end:{line:694,column:7}},type:"if",locations:[{start:{line:673,column:6},end:{line:694,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:673},90:{loc:{start:{line:680,column:8},end:{line:682,column:9}},type:"if",locations:[{start:{line:680,column:8},end:{line:682,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:680},91:{loc:{start:{line:683,column:8},end:{line:687,column:9}},type:"if",locations:[{start:{line:683,column:8},end:{line:687,column:9}},{start:{line:685,column:15},end:{line:687,column:9}}],line:683},92:{loc:{start:{line:685,column:15},end:{line:687,column:9}},type:"if",locations:[{start:{line:685,column:15},end:{line:687,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:685}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0,164:0,165:0,166:0,167:0,168:0,169:0,170:0,171:0,172:0,173:0,174:0,175:0,176:0,177:0,178:0,179:0,180:0,181:0,182:0,183:0,184:0,185:0,186:0,187:0,188:0,189:0,190:0,191:0,192:0,193:0,194:0,195:0,196:0,197:0,198:0,199:0,200:0,201:0,202:0,203:0,204:0,205:0,206:0,207:0,208:0,209:0,210:0,211:0,212:0,213:0,214:0,215:0,216:0,217:0,218:0,219:0,220:0,221:0,222:0,223:0,224:0,225:0,226:0,227:0,228:0,229:0,230:0,231:0,232:0,233:0,234:0,235:0,236:0,237:0,238:0,239:0,240:0,241:0,242:0,243:0,244:0,245:0,246:0,247:0,248:0,249:0,250:0,251:0,252:0,253:0,254:0,255:0,256:0,257:0,258:0,259:0,260:0,261:0,262:0,263:0,264:0,265:0,266:0,267:0,268:0,269:0,270:0,271:0,272:0,273:0,274:0,275:0,276:0,277:0,278:0,279:0,280:0,281:0,282:0,283:0,284:0,285:0,286:0,287:0,288:0,289:0,290:0,291:0,292:0,293:0,294:0,295:0,296:0,297:0,298:0,299:0,300:0,301:0,302:0,303:0,304:0,305:0,306:0,307:0,308:0,309:0,310:0,311:0,312:0,313:0,314:0,315:0,316:0,317:0,318:0,319:0,320:0,321:0,322:0,323:0,324:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0,0],31:[0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0],38:[0,0],39:[0,0],40:[0,0,0],41:[0,0],42:[0,0],43:[0,0],44:[0,0],45:[0,0],46:[0,0],47:[0,0],48:[0,0],49:[0,0],50:[0,0],51:[0,0],52:[0,0],53:[0,0],54:[0,0],55:[0,0],56:[0,0],57:[0,0],58:[0,0],59:[0,0],60:[0,0],61:[0,0],62:[0,0],63:[0,0],64:[0,0],65:[0,0],66:[0,0],67:[0,0],68:[0],69:[0],70:[0],71:[0],72:[0,0],73:[0,0],74:[0,0],75:[0,0],76:[0,0],77:[0,0,0],78:[0,0],79:[0,0],80:[0,0],81:[0,0],82:[0,0],83:[0,0],84:[0,0],85:[0,0],86:[0,0,0,0,0,0,0,0],87:[0],88:[0],89:[0,0],90:[0,0],91:[0,0],92:[0,0]},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/services/XmppSocket.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AACH,CAAC;AACD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC;AACL;AACA;AACA;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5G;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3H;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxJ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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AC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5F;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC;AACJ;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f70b81af5d5520e89466dc2c4e43d5e04155e896"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return u=function(){return s},s}u();const $u=(u().s[0]++,window.config.transports),G6=(u().s[1]++,window.config.resource),Ru=(u().s[2]++,window.config.defaultDomain),U6=(u().s[3]++,window.config.defaultMuc),Q6=(u().s[4]++,window.config.connectTimeout);function VC(A,C){u().f[0]++;const e=(u().s[5]++,Array.prototype.slice.call(arguments,2));if(u().s[6]++,["XMPPError","StanzaError"].includes(A.name)){u().b[0][0]++,u().s[7]++,console.warn(A.name,...e.filter(n=>(u().f[1]++,u().s[8]++,!(n instanceof Error)))),u().s[9]++;return}else u().b[0][1]++;u().s[10]++,C==="error"?(u().b[1][0]++,u().s[11]++,console.error(...e)):(u().b[1][1]++,u().s[12]++,console.warn(...e))}const H6={jid:null,fullJid:null,context:null,client:null,nick:null,isAnonymous:!0,defaultDomain:Ru,defaultMuc:U6,async create(A,C,e,n,t){u().f[2]++,u().s[13]++,this.nick=null,u().s[14]++,this.fullJid=null,u().s[15]++,this.jid=null,u().s[16]++,this.context=t,u().s[17]++,this.disconnect(),u().s[18]++,A?(u().b[2][0]++,u().s[19]++,this.isAnonymous=!1):(u().b[2][1]++,u().s[20]++,this.isAnonymous=!0,u().s[21]++,A="anon");const i=(u().s[22]++,A.split("@"));u().s[23]++,i.length>1?(u().b[3][0]++,u().s[24]++,A=i[0],u().s[25]++,e=i[1]):u().b[3][1]++,u().s[26]++,e?u().b[4][1]++:(u().b[4][0]++,u().s[27]++,e=Ru),u().s[28]++,this.jid=A,u().s[29]++,n.websocket?(u().b[5][0]++,u().s[30]++,$u.websocket=n.websocket):u().b[5][1]++,u().s[31]++,this.client=new R6({service:$u.websocket,domain:e,resource:(u().b[6][0]++,G6||(u().b[6][1]++,"Web XMPP")),jid:A,password:C})},connect(){u().f[3]++;const A=(u().s[32]++,u().b[7][0]++,Q6||(u().b[7][1]++,5e3));let C=(u().s[33]++,null);const e=(u().s[34]++,new Promise((t,i)=>{u().f[4]++,u().s[35]++,C=setTimeout(()=>{u().f[5]++,u().s[36]++,clearTimeout(C),u().s[37]++,i(new Error("Server unreachable"))},A)})),n=(u().s[38]++,new Promise((t,i)=>{u().f[6]++,u().s[39]++,this.client.on("error",s=>{u().f[7]++,u().s[40]++,console.error("XMPP error",s.message)}),u().s[41]++,this.client.on("authenticated",s=>{u().f[8]++,u().s[42]++,this.isAnonymous?u().b[8][1]++:(u().b[8][0]++,u().s[43]++,localStorage.setItem("barejid",s.bare),u().s[44]++,localStorage.setItem("jid",this.jid),u().s[45]++,localStorage.setItem("auth",!0)),u().s[46]++,clearTimeout(C),u().s[47]++,this.fullJid=s,u().s[48]++,this.context.$store.setOnline(!0),u().s[49]++,this.listen(),u().s[50]++,t()}),u().s[51]++,this.client.connect().catch(s=>{if(u().f[9]++,u().s[52]++,s.name==="SASLError")return u().b[9][0]++,u().s[53]++,clearTimeout(C),u().s[54]++,i(new Error("Check your credentials"));u().b[9][1]++,u().s[55]++,i(new Error("Error during login"))})}));return u().s[56]++,Promise.race([n,e])},listen(){u().f[10]++;function A(C,e,n){u().f[11]++,u().s[57]++,n.links?(u().b[10][0]++,u().s[58]++,n.links.some(t=>(u().f[12]++,u().s[59]++,t.url===n.body))?(u().b[11][0]++,u().s[60]++,n.body=""):u().b[11][1]++):u().b[10][1]++,u().s[61]++,C.context.$store.storeMessage({type:e,message:n})}u().s[62]++,this.client.on("online",()=>{u().f[13]++,u().s[63]++,console.info("XMPP online"),u().s[64]++,this.context.$store.setOnline(!0)}),u().s[65]++,this.client.on("status",C=>{u().f[14]++,u().s[66]++,u().b[13][0]++,C==="close"||(u().b[13][1]++,C==="disconnect")?(u().b[12][0]++,u().s[67]++,this.context.$store.isOnline?(u().b[14][0]++,u().s[68]++,console.warn("XMPP connection is closed"),u().s[69]++,this.context.$store.setOnline(!1)):u().b[14][1]++):u().b[12][1]++}),u().s[70]++,this.client.getRoster().then(C=>{u().f[15]++,u().s[71]++,this.context.$store.setRoster(C),u().s[72]++,this.client.sendPresence()}).catch(C=>(u().f[16]++,u().s[73]++,VC(C,"error","getRoster",C.message,C))),u().s[74]++,this.client.getDiscoInfo().catch(C=>(u().f[17]++,u().s[75]++,VC(C,"error","getDiscoInfo",C.message,C))),u().s[76]++,this.client.enableCarbons().catch(C=>(u().f[18]++,u().s[77]++,VC(C,"error","carbon",C.message,C))),u().s[78]++,this.client.getBookmarks().then(C=>{u().f[19]++,u().s[79]++,C.forEach(e=>{u().f[20]++;const n=(u().s[80]++,this.setRoomAttributes(e.jid,null,e.password));u().s[81]++,n.isBookmarked=!0,u().s[82]++,n.name=e.name,u().s[83]++,n.autojoin=e.autojoin,u().s[84]++,this.context.$store.setKnownRoom(n),u().s[85]++,e.autojoin?(u().b[15][0]++,u().s[86]++,this.joinRoom(e.jid,null,{muc:{password:e.password}})):u().b[15][1]++}),u().s[87]++,C.forEach(e=>{u().f[21]++,u().s[88]++,this.client.getDiscoInfo(e.jid).then(n=>{u().f[22]++;const t=(u().s[89]++,this.setRoomAttributes(e.jid,n,e.password));u().s[90]++,t.isBookmarked=!0,u().s[91]++,this.context.$store.setKnownRoom(t)}).catch(n=>(u().f[23]++,u().s[92]++,VC(n,"error","getBookmarks/getDiscoInfo",n.message,n)))})}).catch(C=>(u().f[24]++,u().s[93]++,VC(C,"error","getBookmarks",C.message,C))),u().s[94]++,this.client.getUploadService().then(C=>{u().f[25]++,u().s[95]++,C.maxSize?(u().b[16][0]++,u().s[96]++,this.context.$store.setHttpFileUploadMaxSize(C.maxSize)):u().b[16][1]++}).catch(C=>{u().f[26]++,u().s[97]++,console.warn(C.message)}),u().s[98]++,this.client.on("chat",C=>{u().f[27]++,u().s[99]++,A(this,C.type,C)}),u().s[100]++,this.client.on("messageSent",C=>{if(u().f[28]++,u().s[101]++,u().b[18][0]++,!C.body&&(u().b[18][1]++,!C.url)){u().b[17][0]++,u().s[102]++;return}else u().b[17][1]++;u().s[103]++,A(this,C.type,C)}),u().s[104]++,this.client.on("chatState",C=>{u().f[29]++,u().s[105]++,this.context.$store.setChatState(C)}),u().s[106]++,this.client.on("mucCreated",async C=>{u().f[30]++;let e=(u().s[107]++,{jid:C.from.bare});u().s[108]++,this.context.$store.setKnownRoom(e),u().s[109]++;try{const n=(u().s[110]++,await this.client.getDiscoInfo(e.jid));u().s[111]++,e=this.setRoomAttributes(e.jid,n,null),u().s[112]++,this.context.$store.setKnownRoom(e)}catch(n){u().s[113]++,VC(n,"error","presence/getDiscoInfo",n.message,n)}}),u().s[114]++,this.client.on("presence",async C=>{u().f[31]++;const e=(u().s[115]++,C.from);if(u().s[116]++,e.bare===this.fullJid.bare){u().b[19][0]++,u().s[117]++,e.full===this.fullJid.full?(u().b[20][0]++,u().s[118]++,this.context.$store.setPresence(C.show)):u().b[20][1]++,u().s[119]++;return}else u().b[19][1]++;if(u().s[120]++,C.isMuc){if(u().b[21][0]++,u().s[121]++,e.resource===""){u().b[22][0]++,u().s[122]++;return}else u().b[22][1]++;if(u().s[123]++,C.isSelf?(u().b[23][0]++,u().s[124]++,C.type==="unavailable"?(u().b[24][0]++,u().s[125]++,this.context.$store.removeJoinedRoom(e.bare)):(u().b[24][1]++,u().s[126]++,this.context.$store.setJoinedRoom(e.bare))):u().b[23][1]++,u().s[127]++,C.type==="unavailable"){u().b[25][0]++,u().s[128]++,this.context.$store.removeRoomOccupant({roomJid:e.bare,jid:e.full}),u().s[129]++;return}else u().b[25][1]++;u().s[130]++,this.context.$store.setRoomOccupant({roomJid:e.bare,jid:e.full,presence:C.show}),u().s[131]++;return}else u().b[21][1]++;u().s[132]++,this.context.$store.setContactPresence({jid:e.bare,presence:C.show,status:C.status})}),u().s[133]++,this.client.on("messageRetracted",C=>{u().f[32]++;const e=(u().s[134]++,this.context.$store.messages.findIndex(n=>(u().f[33]++,u().s[135]++,u().b[26][0]++,n.from.bare===C.from&&(u().b[26][1]++,n.stanzaId===C.stanzaId))));if(u().s[136]++,e===-1){u().b[27][0]++,u().s[137]++;return}else u().b[27][1]++;u().s[138]++,this.context.$store.updateMessage({stanzaId:C.stanzaId,body:`Moderated by ${C.by.resource}`+(C.reason?(u().b[28][0]++,` (${C.reason})`):(u().b[28][1]++,"")),links:[],status:{code:"moderated",message:C.reason}})}),u().s[139]++,this.client.on("subjectChange",C=>{u().f[34]++,u().s[140]++,u().b[30][0]++,C.from&&(u().b[30][1]++,C.from.bare)&&(u().b[30][2]++,C.subject)?(u().b[29][0]++,u().s[141]++,this.context.$store.setRoomSubject(C.from.bare,C.from.resource,C.subject)):u().b[29][1]++}),u().s[142]++,this.client.on("messageSentError",C=>{switch(u().f[35]++,u().s[143]++,C.type){case"cancel":u().b[31][0]++,u().s[144]++,this.context.$store.setMessageStatus(C.messageId,"error",C.message),u().s[145]++;break}})},async disconnect(){if(u().f[36]++,u().s[146]++,u().b[33][0]++,this.context&&(u().b[33][1]++,this.client)){u().b[32][0]++,u().s[147]++;try{u().s[148]++,await this.client.disconnect(),u().s[149]++,this.context.$store.clear()}catch(A){u().s[150]++,VC(A,"error","disconnect error",A.message,A)}}else u().b[32][1]++},async sendUrl(A,C,e){u().f[37]++,u().s[151]++,await this.client.sendMessage(A,e?(u().b[34][0]++,"groupchat"):(u().b[34][1]++,"chat"),C,C)},async sendMessage(A,C,e){u().f[38]++,u().s[152]++,await this.client.sendMessage(A,e?(u().b[35][0]++,"groupchat"):(u().b[35][1]++,"chat"),C)},async sendChatState(A,C,e){u().f[39]++,u().s[153]++,await this.client.sendChatState(A,C?(u().b[36][0]++,"groupchat"):(u().b[36][1]++,"chat"),e)},setRoomAttributes(A,C,e=(u().b[37][0]++,null)){u().f[40]++;const n=(u().s[154]++,{jid:A,name:A,description:null,lang:null,occupantsCount:null,password:e,isPublic:null,isPersistent:null,isPasswordProtected:null,isMembersOnly:null,isAnonymous:null,isModerated:null,isBookmarked:null,hasVCard:null,unreadCount:null});if(u().s[155]++,C){if(u().b[38][0]++,u().s[156]++,u().b[40][0]++,Object.prototype.hasOwnProperty.call(C,"identities")&&(u().b[40][1]++,C.identities.length>0)&&(u().b[40][2]++,Object.prototype.hasOwnProperty.call(C.identities[0],"name"))?(u().b[39][0]++,u().s[157]++,n.name=C.identities[0].name):u().b[39][1]++,u().s[158]++,u().b[42][0]++,C.extensions.length>0&&(u().b[42][1]++,Object.prototype.hasOwnProperty.call(C.extensions[0],"fields"))){u().b[41][0]++;const t=(u().s[159]++,C.extensions[0].fields),i=(u().s[160]++,t.find(l=>(u().f[41]++,u().s[161]++,l.name==="muc#roominfo_description")));u().s[162]++,i?(u().b[43][0]++,u().s[163]++,n.description=i.value):u().b[43][1]++;const s=(u().s[164]++,t.find(l=>(u().f[42]++,u().s[165]++,l.name==="muc#roominfo_lang")));u().s[166]++,s?(u().b[44][0]++,u().s[167]++,n.lang=s.value):u().b[44][1]++;const o=(u().s[168]++,t.find(l=>(u().f[43]++,u().s[169]++,l.name==="muc#roominfo_occupants")));u().s[170]++,o?(u().b[45][0]++,u().s[171]++,n.occupantsCount=parseInt(o.value),u().s[172]++,n.occupantsCount=isNaN(n.occupantsCount)?(u().b[46][0]++,o.value):(u().b[46][1]++,n.occupantsCount)):u().b[45][1]++}else u().b[41][1]++;u().s[173]++,C.features.includes("muc_public")?(u().b[47][0]++,u().s[174]++,n.isPublic=!0):u().b[47][1]++,u().s[175]++,C.features.includes("muc_hidden")?(u().b[48][0]++,u().s[176]++,n.isPublic=!1):u().b[48][1]++,u().s[177]++,C.features.includes("muc_persistent")?(u().b[49][0]++,u().s[178]++,n.isPersistent=!0):u().b[49][1]++,u().s[179]++,C.features.includes("muc_temporary")?(u().b[50][0]++,u().s[180]++,n.isPersistent=!1):u().b[50][1]++,u().s[181]++,C.features.includes("muc_passwordprotected")?(u().b[51][0]++,u().s[182]++,n.isPasswordProtected=!0):u().b[51][1]++,u().s[183]++,C.features.includes("muc_unsecured")?(u().b[52][0]++,u().s[184]++,n.isPasswordProtected=!1):u().b[52][1]++,u().s[185]++,C.features.includes("muc_membersonly")?(u().b[53][0]++,u().s[186]++,n.isMembersOnly=!0):u().b[53][1]++,u().s[187]++,C.features.includes("muc_open")?(u().b[54][0]++,u().s[188]++,n.isMembersOnly=!1):u().b[54][1]++,u().s[189]++,C.features.includes("muc_semianonymous")?(u().b[55][0]++,u().s[190]++,n.isAnonymous=!0):u().b[55][1]++,u().s[191]++,C.features.includes("muc_nonanonymous")?(u().b[56][0]++,u().s[192]++,n.isAnonymous=!1):u().b[56][1]++,u().s[193]++,C.features.includes("muc_moderated")?(u().b[57][0]++,u().s[194]++,n.isModerated=!0):u().b[57][1]++,u().s[195]++,C.features.includes("muc_unmoderated")?(u().b[58][0]++,u().s[196]++,n.isModerated=!1):u().b[58][1]++,u().s[197]++,C.features.includes("vcard-temp")?(u().b[59][0]++,u().s[198]++,n.hasVCard=!0):u().b[59][1]++}else u().b[38][1]++;return u().s[199]++,n},async getJidAvatar(A){u().f[44]++,u().s[200]++;try{const C=(u().s[201]++,sessionStorage.getItem("avatar-"+A));if(u().s[202]++,C)return u().b[60][0]++,u().s[203]++,{uri:C,isDefault:!1};if(u().b[60][1]++,u().s[204]++,this.client)u().b[61][1]++;else return u().b[61][0]++,u().s[205]++,{uri:ds,isDefault:!0};const e=(u().s[206]++,await this.client.getVCard(A));if(u().s[207]++,e.records)u().b[62][1]++;else return u().b[62][0]++,u().s[208]++,{uri:ds,isDefault:!0};const n=(u().s[209]++,e.records.find(t=>(u().f[45]++,u().s[210]++,t.name==="PHOTO")));if(u().s[211]++,u().b[64][0]++,n&&(u().b[64][1]++,n.data)){u().b[63][0]++;const t=(u().s[212]++,"data:"+n.mediaType+";base64,"+n.data);return u().s[213]++,sessionStorage.setItem("avatar-"+A,t),u().s[214]++,{uri:t,isDefault:!1}}else u().b[63][1]++}catch(C){u().s[215]++,VC(C,"warn","getJidAvatar error",A,C.message)}return u().s[216]++,{uri:ds,isDefault:!0}},async getProfile(){u().f[46]++,u().s[217]++;try{const A=(u().s[218]++,await this.client.getVCard());if(u().s[219]++,A.records)u().b[65][1]++;else return u().b[65][0]++,u().s[220]++,{};return u().s[221]++,A.records.map(C=>{u().f[47]++;const e=(u().s[222]++,C.name==="PHOTO"?(u().b[66][0]++,"data:"+C.mediaType+";base64,"+C.data):(u().b[66][1]++,C.value));return u().s[223]++,{name:C.name,value:e}}).reduce((C,e)=>(u().f[48]++,u().s[224]++,C[e.name]=e.value,u().s[225]++,C),{})}catch(A){return u().s[226]++,VC(A,"warn","getProfile error",A.message),u().s[227]++,{}}},async updateProfile(A){u().f[49]++,u().s[228]++,await this.client.setVCard(A),u().s[229]++,A.PHOTO?(u().b[67][0]++,u().s[230]++,sessionStorage.setItem("avatar-"+this.fullJid.bare,A.PHOTO)):u().b[67][1]++,u().s[231]++},async sendPresence(A){u().f[50]++,u().s[232]++;try{u().s[233]++,await this.client.sendPresence(A.show),u().s[234]++,this.context.$store.joinedRooms.forEach(C=>{u().f[51]++,u().s[235]++,this.client.sendPresence(A.show,void 0,C)})}catch(C){u().s[236]++,VC(C,"error","sendPresence error",C.message,C)}},async searchHistory(A,C=(u().b[68][0]++,!0)){u().f[52]++,u().s[237]++;try{const e=(u().s[238]++,await this.client.searchHistory(A,C,10));return u().s[239]++,e.paging}catch(e){u().s[240]++,VC(e,"error","searchHistory error",e.message,e)}},async joinRoom(A,C=(u().b[69][0]++,null),e=(u().b[70][0]++,{}),n=(u().b[71][0]++,{})){if(u().f[53]++,u().s[241]++,this.fullJid)u().b[72][1]++;else return u().b[72][0]++,u().s[242]++,{isSuccess:!1,message:"User Jid is missing"};u().s[243]++,C===null?(u().b[73][0]++,u().s[244]++,this.nick!==null?(u().b[74][0]++,u().s[245]++,C=this.nick):(u().b[74][1]++,u().s[246]++,C=this.fullJid.local)):u().b[73][1]++,u().s[247]++;try{if(u().s[248]++,await this.client.joinRoom(A,C,e),u().s[249]++,n.jid){u().b[75][0]++;const t=(u().s[250]++,Object.assign({},n));u().s[251]++,u().b[77][0]++,e&&(u().b[77][1]++,e.muc)&&(u().b[77][2]++,e.muc.password)?(u().b[76][0]++,u().s[252]++,t.password=e.muc.password):u().b[76][1]++,u().s[253]++,this.context.$store.setKnownRoom(t)}else u().b[75][1]++;return u().s[254]++,{isSuccess:!0}}catch(t){return u().s[255]++,VC(t,"error","joinRoom",t.message,t),u().s[256]++,{isSuccess:!1,message:this.getRoomError(t)}}},async getPublicMuc(){if(u().f[54]++,u().s[257]++,this.context)u().b[78][1]++;else return u().b[78][0]++,u().s[258]++,[];const A=(u().s[259]++,[]);u().s[260]++;try{const C=(u().s[261]++,await this.client.getDiscoItems(this.fullJid.domain));if(u().s[262]++,C.items.length===0)return u().b[79][0]++,u().s[263]++,console.info("There is no MUC service"),u().s[264]++,[];u().b[79][1]++,u().s[265]++;for(const e of C.items){u().s[266]++;try{const n=(u().s[267]++,await this.client.getDiscoInfo(e.jid));if(u().s[268]++,n.features.includes(iC.MUC)){u().b[80][0]++,u().s[269]++;try{const t=(u().s[270]++,await this.client.getDiscoItems(e.jid));u().s[271]++;for(const i of t.items){const s=(u().s[272]++,await this.getRoom(i.jid));u().s[273]++,u().b[82][0]++,s.jid&&(u().b[82][1]++,s.jid!==e.jid)?(u().b[81][0]++,u().s[274]++,this.context.$store.setKnownRoom(s),u().s[275]++,A.push(s)):u().b[81][1]++}}catch(t){u().s[276]++,console.warn(`getDiscoItems on MUC service ${e.jid} error:`,t.message)}}else u().b[80][1]++}catch(n){u().s[277]++,VC(n,"warn",`getDiscoInfo on service ${e.jid} error: `,n.message)}}}catch(C){u().s[278]++,VC(C,"error","getDiscoItems on server error",C.message,C)}return u().s[279]++,A},async getRoom(A){if(u().f[55]++,u().s[280]++,this.context)u().b[83][1]++;else return u().b[83][0]++,u().s[281]++,{message:"Missing context"};u().s[282]++;try{const C=(u().s[283]++,await this.client.getDiscoInfo(A));if(u().s[284]++,C.features.includes(iC.MUC)){u().b[84][0]++;const e=(u().s[285]++,this.setRoomAttributes(A,C));return u().s[286]++,e}else u().b[84][1]++}catch(C){return u().s[287]++,{message:this.getRoomError(C)}}return u().s[288]++,{message:"Not a valid room"}},getRoomError(A){if(u().f[56]++,u().s[289]++,Object.prototype.hasOwnProperty.call(A,"message"))switch(u().b[85][0]++,u().s[290]++,A.message){case"not-authorized":return u().b[86][0]++,u().s[291]++,"Valid password is required to join this room";case"forbidden":return u().b[86][1]++,u().s[292]++,"You have been banned from this room";case"item-not-found":return u().b[86][2]++,u().s[293]++,"This room does not exist";case"not-allowed":return u().b[86][3]++,u().s[294]++,"Room creation is restricted";case"not-acceptable":return u().b[86][4]++,u().s[295]++,"Reserved roomnick must be used";case"registration-required":return u().b[86][5]++,u().s[296]++,"You must be on the member list to join this room";case"conflict":return u().b[86][6]++,u().s[297]++,"Your nickname is already used in this room";case"service-unavailable":return u().b[86][7]++,u().s[298]++,"Maximum number of users has been reached in this room"}else u().b[85][1]++;return u().s[299]++,"Unable to join room"},async getUploadSlot(A,C){u().f[57]++,u().s[300]++;try{return u().s[301]++,this.client.getUploadSlot(A,C)}catch(e){throw u().s[302]++,VC(e,"error","getUploadSlot error",e.message,e),u().s[303]++,e}},async bookmarkRoom(A,C,e=(u().b[87][0]++,!0),n=(u().b[88][0]++,null)){u().f[58]++,u().s[304]++;try{const t=(u().s[305]++,this.context.$store.getRoom(C));if(u().s[306]++,A){u().b[89][0]++;const i=(u().s[307]++,{jid:C,name:t.name,autojoin:e});return u().s[308]++,t.password?(u().b[90][0]++,u().s[309]++,i.password=t.password):u().b[90][1]++,u().s[310]++,n?(u().b[91][0]++,u().s[311]++,i.nick=n):(u().b[91][1]++,u().s[312]++,this.nick?(u().b[92][0]++,u().s[313]++,i.nick=this.nick):u().b[92][1]++),u().s[314]++,await this.client.addBookmark(i),u().s[315]++,this.context.$store.setKnownRoom({jid:C,isBookmarked:!0}),u().s[316]++,!0}else u().b[89][1]++;return u().s[317]++,await this.client.removeBookmark(C),u().s[318]++,this.context.$store.setKnownRoom({jid:C,isBookmarked:!1}),u().s[319]++,!0}catch{return u().s[320]++,!1}},async createRoom(A){return u().f[59]++,u().s[321]++,this.client.joinRoom(A,this.fullJid.local,{})},async getRoomConfig(A){return u().f[60]++,u().s[322]++,this.client.getRoomConfig(A)},async setRoomConfig(A,C){return u().f[61]++,u().s[323]++,this.client.configureRoom(A,C)},setNick(A){u().f[62]++,u().s[324]++,this.nick=A}},V6="modulepreload",z6=function(A,C){return new URL(A,C).href},Gu={},q6=function(C,e,n){if(!e||e.length===0)return C();const t=document.getElementsByTagName("link");return Promise.all(e.map(i=>{if(i=z6(i,n),i in Gu)return;Gu[i]=!0;const s=i.endsWith(".css"),o=s?'[rel="stylesheet"]':"";if(!!n)for(let r=t.length-1;r>=0;r--){const p=t[r];if(p.href===i&&(!s||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${o}`))return;const a=document.createElement("link");if(a.rel=s?"stylesheet":V6,s||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),s)return new Promise((r,p)=>{a.addEventListener("load",r),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>C()).catch(i=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=i,window.dispatchEvent(s),!s.defaultPrevented)throw i})};function W6(A={}){const{immediate:C=!1,onNeedRefresh:e,onOfflineReady:n,onRegistered:t,onRegisteredSW:i,onRegisterError:s}=A;let o,l;const a=async(p=!0)=>{await l};async function r(){if("serviceWorker"in navigator){const{Workbox:p}=await q6(()=>import("./workbox-window.prod.es5-08b2315b.js"),[],import.meta.url);o=new p("./sw.js",{scope:"./",type:"classic"}),o.addEventListener("activated",d=>{(d.isUpdate||d.isExternal)&&window.location.reload()}),o.addEventListener("installed",d=>{d.isUpdate||n==null||n()}),o.register({immediate:C}).then(d=>{i?i("./sw.js",d):t==null||t(d)}).catch(d=>{s==null||s(d)})}}return l=r(),a}/*! - * vue-router v4.3.2 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const Zn=typeof document<"u";function Y6(A){return A.__esModule||A[Symbol.toStringTag]==="Module"}const bC=Object.assign;function cl(A,C){const e={};for(const n in C){const t=C[n];e[n]=we(t)?t.map(A):A(t)}return e}const Rt=()=>{},we=Array.isArray,L0=/#/g,J6=/&/g,X6=/\//g,Z6=/=/g,Av=/\?/g,K0=/\+/g,Cv=/%5B/g,ev=/%5D/g,F0=/%5E/g,nv=/%60/g,T0=/%7B/g,tv=/%7C/g,N0=/%7D/g,iv=/%20/g;function jr(A){return encodeURI(""+A).replace(tv,"|").replace(Cv,"[").replace(ev,"]")}function sv(A){return jr(A).replace(T0,"{").replace(N0,"}").replace(F0,"^")}function Yl(A){return jr(A).replace(K0,"%2B").replace(iv,"+").replace(L0,"%23").replace(J6,"%26").replace(nv,"`").replace(T0,"{").replace(N0,"}").replace(F0,"^")}function ov(A){return Yl(A).replace(Z6,"%3D")}function lv(A){return jr(A).replace(L0,"%23").replace(Av,"%3F")}function av(A){return A==null?"":lv(A).replace(X6,"%2F")}function oi(A){try{return decodeURIComponent(""+A)}catch{}return""+A}const rv=/\/$/,cv=A=>A.replace(rv,"");function ul(A,C,e="/"){let n,t={},i="",s="";const o=C.indexOf("#");let l=C.indexOf("?");return o<l&&o>=0&&(l=-1),l>-1&&(n=C.slice(0,l),i=C.slice(l+1,o>-1?o:C.length),t=A(i)),o>-1&&(n=n||C.slice(0,o),s=C.slice(o,C.length)),n=pv(n??C,e),{fullPath:n+(i&&"?")+i+s,path:n,query:t,hash:oi(s)}}function uv(A,C){const e=C.query?A(C.query):"";return C.path+(e&&"?")+e+(C.hash||"")}function Uu(A,C){return!C||!A.toLowerCase().startsWith(C.toLowerCase())?A:A.slice(C.length)||"/"}function mv(A,C,e){const n=C.matched.length-1,t=e.matched.length-1;return n>-1&&n===t&&rt(C.matched[n],e.matched[t])&&$0(C.params,e.params)&&A(C.query)===A(e.query)&&C.hash===e.hash}function rt(A,C){return(A.aliasOf||A)===(C.aliasOf||C)}function $0(A,C){if(Object.keys(A).length!==Object.keys(C).length)return!1;for(const e in A)if(!dv(A[e],C[e]))return!1;return!0}function dv(A,C){return we(A)?Qu(A,C):we(C)?Qu(C,A):A===C}function Qu(A,C){return we(C)?A.length===C.length&&A.every((e,n)=>e===C[n]):A.length===1&&A[0]===C}function pv(A,C){if(A.startsWith("/"))return A;if(!A)return C;const e=C.split("/"),n=A.split("/"),t=n[n.length-1];(t===".."||t===".")&&n.push("");let i=e.length-1,s,o;for(s=0;s<n.length;s++)if(o=n[s],o!==".")if(o==="..")i>1&&i--;else break;return e.slice(0,i).join("/")+"/"+n.slice(s).join("/")}var li;(function(A){A.pop="pop",A.push="push"})(li||(li={}));var Gt;(function(A){A.back="back",A.forward="forward",A.unknown=""})(Gt||(Gt={}));function fv(A){if(!A)if(Zn){const C=document.querySelector("base");A=C&&C.getAttribute("href")||"/",A=A.replace(/^\w+:\/\/[^\/]+/,"")}else A="/";return A[0]!=="/"&&A[0]!=="#"&&(A="/"+A),cv(A)}const hv=/^[^#]+#/;function gv(A,C){return A.replace(hv,"#")+C}function bv(A,C){const e=document.documentElement.getBoundingClientRect(),n=A.getBoundingClientRect();return{behavior:C.behavior,left:n.left-e.left-(C.left||0),top:n.top-e.top-(C.top||0)}}const Bo=()=>({left:window.scrollX,top:window.scrollY});function Ev(A){let C;if("el"in A){const e=A.el,n=typeof e=="string"&&e.startsWith("#"),t=typeof e=="string"?n?document.getElementById(e.slice(1)):document.querySelector(e):e;if(!t)return;C=bv(t,A)}else C=A;"scrollBehavior"in document.documentElement.style?window.scrollTo(C):window.scrollTo(C.left!=null?C.left:window.scrollX,C.top!=null?C.top:window.scrollY)}function Hu(A,C){return(history.state?history.state.position-C:-1)+A}const Jl=new Map;function yv(A,C){Jl.set(A,C)}function vv(A){const C=Jl.get(A);return Jl.delete(A),C}let wv=()=>location.protocol+"//"+location.host;function R0(A,C){const{pathname:e,search:n,hash:t}=C,i=A.indexOf("#");if(i>-1){let o=t.includes(A.slice(i))?A.slice(i).length:1,l=t.slice(o);return l[0]!=="/"&&(l="/"+l),Uu(l,"")}return Uu(e,A)+n+t}function Bv(A,C,e,n){let t=[],i=[],s=null;const o=({state:d})=>{const m=R0(A,location),g=e.value,y=C.value;let k=0;if(d){if(e.value=m,C.value=d,s&&s===g){s=null;return}k=y?d.position-y.position:0}else n(m);t.forEach(_=>{_(e.value,g,{delta:k,type:li.pop,direction:k?k>0?Gt.forward:Gt.back:Gt.unknown})})};function l(){s=e.value}function a(d){t.push(d);const m=()=>{const g=t.indexOf(d);g>-1&&t.splice(g,1)};return i.push(m),m}function r(){const{history:d}=window;d.state&&d.replaceState(bC({},d.state,{scroll:Bo()}),"")}function p(){for(const d of i)d();i=[],window.removeEventListener("popstate",o),window.removeEventListener("beforeunload",r)}return window.addEventListener("popstate",o),window.addEventListener("beforeunload",r,{passive:!0}),{pauseListeners:l,listen:a,destroy:p}}function Vu(A,C,e,n=!1,t=!1){return{back:A,current:C,forward:e,replaced:n,position:window.history.length,scroll:t?Bo():null}}function Sv(A){const{history:C,location:e}=window,n={value:R0(A,e)},t={value:C.state};t.value||i(n.value,{back:null,current:n.value,forward:null,position:C.length-1,replaced:!0,scroll:null},!0);function i(l,a,r){const p=A.indexOf("#"),d=p>-1?(e.host&&document.querySelector("base")?A:A.slice(p))+l:wv()+A+l;try{C[r?"replaceState":"pushState"](a,"",d),t.value=a}catch(m){console.error(m),e[r?"replace":"assign"](d)}}function s(l,a){const r=bC({},C.state,Vu(t.value.back,l,t.value.forward,!0),a,{position:t.value.position});i(l,r,!0),n.value=l}function o(l,a){const r=bC({},t.value,C.state,{forward:l,scroll:Bo()});i(r.current,r,!0);const p=bC({},Vu(n.value,l,null),{position:r.position+1},a);i(l,p,!1),n.value=l}return{location:n,state:t,push:o,replace:s}}function kv(A){A=fv(A);const C=Sv(A),e=Bv(A,C.state,C.location,C.replace);function n(i,s=!0){s||e.pauseListeners(),history.go(i)}const t=bC({location:"",base:A,go:n,createHref:gv.bind(null,A)},C,e);return Object.defineProperty(t,"location",{enumerable:!0,get:()=>C.location.value}),Object.defineProperty(t,"state",{enumerable:!0,get:()=>C.state.value}),t}function _v(A){return A=location.host?A||location.pathname+location.search:"",A.includes("#")||(A+="#"),kv(A)}function xv(A){return typeof A=="string"||A&&typeof A=="object"}function G0(A){return typeof A=="string"||typeof A=="symbol"}const An={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},U0=Symbol("");var zu;(function(A){A[A.aborted=4]="aborted",A[A.cancelled=8]="cancelled",A[A.duplicated=16]="duplicated"})(zu||(zu={}));function ct(A,C){return bC(new Error,{type:A,[U0]:!0},C)}function Fe(A,C){return A instanceof Error&&U0 in A&&(C==null||!!(A.type&C))}const qu="[^/]+?",jv={sensitive:!1,strict:!1,start:!0,end:!0},Iv=/[.+*?^${}()[\]/\\]/g;function Mv(A,C){const e=bC({},jv,C),n=[];let t=e.start?"^":"";const i=[];for(const a of A){const r=a.length?[]:[90];e.strict&&!a.length&&(t+="/");for(let p=0;p<a.length;p++){const d=a[p];let m=40+(e.sensitive?.25:0);if(d.type===0)p||(t+="/"),t+=d.value.replace(Iv,"\\$&"),m+=40;else if(d.type===1){const{value:g,repeatable:y,optional:k,regexp:_}=d;i.push({name:g,repeatable:y,optional:k});const R=_||qu;if(R!==qu){m+=10;try{new RegExp(`(${R})`)}catch(J){throw new Error(`Invalid custom RegExp for param "${g}" (${R}): `+J.message)}}let F=y?`((?:${R})(?:/(?:${R}))*)`:`(${R})`;p||(F=k&&a.length<2?`(?:/${F})`:"/"+F),k&&(F+="?"),t+=F,m+=20,k&&(m+=-8),y&&(m+=-20),R===".*"&&(m+=-50)}r.push(m)}n.push(r)}if(e.strict&&e.end){const a=n.length-1;n[a][n[a].length-1]+=.7000000000000001}e.strict||(t+="/?"),e.end?t+="$":e.strict&&(t+="(?:/|$)");const s=new RegExp(t,e.sensitive?"":"i");function o(a){const r=a.match(s),p={};if(!r)return null;for(let d=1;d<r.length;d++){const m=r[d]||"",g=i[d-1];p[g.name]=m&&g.repeatable?m.split("/"):m}return p}function l(a){let r="",p=!1;for(const d of A){(!p||!r.endsWith("/"))&&(r+="/"),p=!1;for(const m of d)if(m.type===0)r+=m.value;else if(m.type===1){const{value:g,repeatable:y,optional:k}=m,_=g in a?a[g]:"";if(we(_)&&!y)throw new Error(`Provided param "${g}" is an array but it is not repeatable (* or + modifiers)`);const R=we(_)?_.join("/"):_;if(!R)if(k)d.length<2&&(r.endsWith("/")?r=r.slice(0,-1):p=!0);else throw new Error(`Missing required param "${g}"`);r+=R}}return r||"/"}return{re:s,score:n,keys:i,parse:o,stringify:l}}function Dv(A,C){let e=0;for(;e<A.length&&e<C.length;){const n=C[e]-A[e];if(n)return n;e++}return A.length<C.length?A.length===1&&A[0]===40+40?-1:1:A.length>C.length?C.length===1&&C[0]===40+40?1:-1:0}function Pv(A,C){let e=0;const n=A.score,t=C.score;for(;e<n.length&&e<t.length;){const i=Dv(n[e],t[e]);if(i)return i;e++}if(Math.abs(t.length-n.length)===1){if(Wu(n))return 1;if(Wu(t))return-1}return t.length-n.length}function Wu(A){const C=A[A.length-1];return A.length>0&&C[C.length-1]<0}const Ov={type:0,value:""},Lv=/[a-zA-Z0-9_]/;function Kv(A){if(!A)return[[]];if(A==="/")return[[Ov]];if(!A.startsWith("/"))throw new Error(`Invalid path "${A}"`);function C(m){throw new Error(`ERR (${e})/"${a}": ${m}`)}let e=0,n=e;const t=[];let i;function s(){i&&t.push(i),i=[]}let o=0,l,a="",r="";function p(){a&&(e===0?i.push({type:0,value:a}):e===1||e===2||e===3?(i.length>1&&(l==="*"||l==="+")&&C(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:a,regexp:r,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):C("Invalid state to consume buffer"),a="")}function d(){a+=l}for(;o<A.length;){if(l=A[o++],l==="\\"&&e!==2){n=e,e=4;continue}switch(e){case 0:l==="/"?(a&&p(),s()):l===":"?(p(),e=1):d();break;case 4:d(),e=n;break;case 1:l==="("?e=2:Lv.test(l)?d():(p(),e=0,l!=="*"&&l!=="?"&&l!=="+"&&o--);break;case 2:l===")"?r[r.length-1]=="\\"?r=r.slice(0,-1)+l:e=3:r+=l;break;case 3:p(),e=0,l!=="*"&&l!=="?"&&l!=="+"&&o--,r="";break;default:C("Unknown state");break}}return e===2&&C(`Unfinished custom RegExp for param "${a}"`),p(),s(),t}function Fv(A,C,e){const n=Mv(Kv(A.path),e),t=bC(n,{record:A,parent:C,children:[],alias:[]});return C&&!t.record.aliasOf==!C.record.aliasOf&&C.children.push(t),t}function Tv(A,C){const e=[],n=new Map;C=Xu({strict:!1,end:!0,sensitive:!1},C);function t(r){return n.get(r)}function i(r,p,d){const m=!d,g=Nv(r);g.aliasOf=d&&d.record;const y=Xu(C,r),k=[g];if("alias"in r){const F=typeof r.alias=="string"?[r.alias]:r.alias;for(const J of F)k.push(bC({},g,{components:d?d.record.components:g.components,path:J,aliasOf:d?d.record:g}))}let _,R;for(const F of k){const{path:J}=F;if(p&&J[0]!=="/"){const nA=p.record.path,CA=nA[nA.length-1]==="/"?"":"/";F.path=p.record.path+(J&&CA+J)}if(_=Fv(F,p,y),d?d.alias.push(_):(R=R||_,R!==_&&R.alias.push(_),m&&r.name&&!Ju(_)&&s(r.name)),g.children){const nA=g.children;for(let CA=0;CA<nA.length;CA++)i(nA[CA],_,d&&d.children[CA])}d=d||_,(_.record.components&&Object.keys(_.record.components).length||_.record.name||_.record.redirect)&&l(_)}return R?()=>{s(R)}:Rt}function s(r){if(G0(r)){const p=n.get(r);p&&(n.delete(r),e.splice(e.indexOf(p),1),p.children.forEach(s),p.alias.forEach(s))}else{const p=e.indexOf(r);p>-1&&(e.splice(p,1),r.record.name&&n.delete(r.record.name),r.children.forEach(s),r.alias.forEach(s))}}function o(){return e}function l(r){let p=0;for(;p<e.length&&Pv(r,e[p])>=0&&(r.record.path!==e[p].record.path||!Q0(r,e[p]));)p++;e.splice(p,0,r),r.record.name&&!Ju(r)&&n.set(r.record.name,r)}function a(r,p){let d,m={},g,y;if("name"in r&&r.name){if(d=n.get(r.name),!d)throw ct(1,{location:r});y=d.record.name,m=bC(Yu(p.params,d.keys.filter(R=>!R.optional).concat(d.parent?d.parent.keys.filter(R=>R.optional):[]).map(R=>R.name)),r.params&&Yu(r.params,d.keys.map(R=>R.name))),g=d.stringify(m)}else if(r.path!=null)g=r.path,d=e.find(R=>R.re.test(g)),d&&(m=d.parse(g),y=d.record.name);else{if(d=p.name?n.get(p.name):e.find(R=>R.re.test(p.path)),!d)throw ct(1,{location:r,currentLocation:p});y=d.record.name,m=bC({},p.params,r.params),g=d.stringify(m)}const k=[];let _=d;for(;_;)k.unshift(_.record),_=_.parent;return{name:y,path:g,params:m,matched:k,meta:Rv(k)}}return A.forEach(r=>i(r)),{addRoute:i,resolve:a,removeRoute:s,getRoutes:o,getRecordMatcher:t}}function Yu(A,C){const e={};for(const n of C)n in A&&(e[n]=A[n]);return e}function Nv(A){return{path:A.path,redirect:A.redirect,name:A.name,meta:A.meta||{},aliasOf:void 0,beforeEnter:A.beforeEnter,props:$v(A),children:A.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in A?A.components||null:A.component&&{default:A.component}}}function $v(A){const C={},e=A.props||!1;if("component"in A)C.default=e;else for(const n in A.components)C[n]=typeof e=="object"?e[n]:e;return C}function Ju(A){for(;A;){if(A.record.aliasOf)return!0;A=A.parent}return!1}function Rv(A){return A.reduce((C,e)=>bC(C,e.meta),{})}function Xu(A,C){const e={};for(const n in A)e[n]=n in C?C[n]:A[n];return e}function Q0(A,C){return C.children.some(e=>e===A||Q0(A,e))}function Gv(A){const C={};if(A===""||A==="?")return C;const n=(A[0]==="?"?A.slice(1):A).split("&");for(let t=0;t<n.length;++t){const i=n[t].replace(K0," "),s=i.indexOf("="),o=oi(s<0?i:i.slice(0,s)),l=s<0?null:oi(i.slice(s+1));if(o in C){let a=C[o];we(a)||(a=C[o]=[a]),a.push(l)}else C[o]=l}return C}function Zu(A){let C="";for(let e in A){const n=A[e];if(e=ov(e),n==null){n!==void 0&&(C+=(C.length?"&":"")+e);continue}(we(n)?n.map(i=>i&&Yl(i)):[n&&Yl(n)]).forEach(i=>{i!==void 0&&(C+=(C.length?"&":"")+e,i!=null&&(C+="="+i))})}return C}function Uv(A){const C={};for(const e in A){const n=A[e];n!==void 0&&(C[e]=we(n)?n.map(t=>t==null?null:""+t):n==null?n:""+n)}return C}const Qv=Symbol(""),Am=Symbol(""),Ir=Symbol(""),H0=Symbol(""),Xl=Symbol("");function xt(){let A=[];function C(n){return A.push(n),()=>{const t=A.indexOf(n);t>-1&&A.splice(t,1)}}function e(){A=[]}return{add:C,list:()=>A.slice(),reset:e}}function an(A,C,e,n,t,i=s=>s()){const s=n&&(n.enterCallbacks[t]=n.enterCallbacks[t]||[]);return()=>new Promise((o,l)=>{const a=d=>{d===!1?l(ct(4,{from:e,to:C})):d instanceof Error?l(d):xv(d)?l(ct(2,{from:C,to:d})):(s&&n.enterCallbacks[t]===s&&typeof d=="function"&&s.push(d),o())},r=i(()=>A.call(n&&n.instances[t],C,e,a));let p=Promise.resolve(r);A.length<3&&(p=p.then(a)),p.catch(d=>l(d))})}function ml(A,C,e,n,t=i=>i()){const i=[];for(const s of A)for(const o in s.components){let l=s.components[o];if(!(C!=="beforeRouteEnter"&&!s.instances[o]))if(Hv(l)){const r=(l.__vccOpts||l)[C];r&&i.push(an(r,e,n,s,o,t))}else{let a=l();i.push(()=>a.then(r=>{if(!r)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${s.path}"`));const p=Y6(r)?r.default:r;s.components[o]=p;const m=(p.__vccOpts||p)[C];return m&&an(m,e,n,s,o,t)()}))}}return i}function Hv(A){return typeof A=="object"||"displayName"in A||"props"in A||"__vccOpts"in A}function Cm(A){const C=De(Ir),e=De(H0),n=ue(()=>{const l=Ln(A.to);return C.resolve(l)}),t=ue(()=>{const{matched:l}=n.value,{length:a}=l,r=l[a-1],p=e.matched;if(!r||!p.length)return-1;const d=p.findIndex(rt.bind(null,r));if(d>-1)return d;const m=em(l[a-2]);return a>1&&em(r)===m&&p[p.length-1].path!==m?p.findIndex(rt.bind(null,l[a-2])):d}),i=ue(()=>t.value>-1&&Wv(e.params,n.value.params)),s=ue(()=>t.value>-1&&t.value===e.matched.length-1&&$0(e.params,n.value.params));function o(l={}){return qv(l)?C[Ln(A.replace)?"replace":"push"](Ln(A.to)).catch(Rt):Promise.resolve()}return{route:n,href:ue(()=>n.value.href),isActive:i,isExactActive:s,navigate:o}}const Vv=TA({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Cm,setup(A,{slots:C}){const e=Ei(Cm(A)),{options:n}=De(Ir),t=ue(()=>({[nm(A.activeClass,n.linkActiveClass,"router-link-active")]:e.isActive,[nm(A.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:e.isExactActive}));return()=>{const i=C.default&&C.default(e);return A.custom?i:HC("a",{"aria-current":e.isExactActive?A.ariaCurrentValue:null,href:e.href,onClick:e.navigate,class:t.value},i)}}}),zv=Vv;function qv(A){if(!(A.metaKey||A.altKey||A.ctrlKey||A.shiftKey)&&!A.defaultPrevented&&!(A.button!==void 0&&A.button!==0)){if(A.currentTarget&&A.currentTarget.getAttribute){const C=A.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(C))return}return A.preventDefault&&A.preventDefault(),!0}}function Wv(A,C){for(const e in C){const n=C[e],t=A[e];if(typeof n=="string"){if(n!==t)return!1}else if(!we(t)||t.length!==n.length||n.some((i,s)=>i!==t[s]))return!1}return!0}function em(A){return A?A.aliasOf?A.aliasOf.path:A.path:""}const nm=(A,C,e)=>A??C??e,Yv=TA({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(A,{attrs:C,slots:e}){const n=De(Xl),t=ue(()=>A.route||n.value),i=De(Am,0),s=ue(()=>{let a=Ln(i);const{matched:r}=t.value;let p;for(;(p=r[a])&&!p.components;)a++;return a}),o=ue(()=>t.value.matched[s.value]);ss(Am,ue(()=>s.value+1)),ss(Qv,o),ss(Xl,t);const l=Fn();return tt(()=>[l.value,o.value,A.name],([a,r,p],[d,m,g])=>{r&&(r.instances[p]=a,m&&m!==r&&a&&a===d&&(r.leaveGuards.size||(r.leaveGuards=m.leaveGuards),r.updateGuards.size||(r.updateGuards=m.updateGuards))),a&&r&&(!m||!rt(r,m)||!d)&&(r.enterCallbacks[p]||[]).forEach(y=>y(a))},{flush:"post"}),()=>{const a=t.value,r=A.name,p=o.value,d=p&&p.components[r];if(!d)return tm(e.default,{Component:d,route:a});const m=p.props[r],g=m?m===!0?a.params:typeof m=="function"?m(a):m:null,k=HC(d,bC({},g,C,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(p.instances[r]=null)},ref:l}));return tm(e.default,{Component:k,route:a})||k}}});function tm(A,C){if(!A)return null;const e=A(C);return e.length===1?e[0]:e}const Jv=Yv;function Xv(A){const C=Tv(A.routes,A),e=A.parseQuery||Gv,n=A.stringifyQuery||Zu,t=A.history,i=xt(),s=xt(),o=xt(),l=Eh(An);let a=An;Zn&&A.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const r=cl.bind(null,U=>""+U),p=cl.bind(null,av),d=cl.bind(null,oi);function m(U,aA){let rA,fA;return G0(U)?(rA=C.getRecordMatcher(U),fA=aA):fA=U,C.addRoute(fA,rA)}function g(U){const aA=C.getRecordMatcher(U);aA&&C.removeRoute(aA)}function y(){return C.getRoutes().map(U=>U.record)}function k(U){return!!C.getRecordMatcher(U)}function _(U,aA){if(aA=bC({},aA||l.value),typeof U=="string"){const v=ul(e,U,aA.path),T=C.resolve({path:v.path},aA),W=t.createHref(v.fullPath);return bC(v,T,{params:d(T.params),hash:oi(v.hash),redirectedFrom:void 0,href:W})}let rA;if(U.path!=null)rA=bC({},U,{path:ul(e,U.path,aA.path).path});else{const v=bC({},U.params);for(const T in v)v[T]==null&&delete v[T];rA=bC({},U,{params:p(v)}),aA.params=p(aA.params)}const fA=C.resolve(rA,aA),AC=U.hash||"";fA.params=r(d(fA.params));const fC=uv(n,bC({},U,{hash:sv(AC),path:fA.path})),E=t.createHref(fC);return bC({fullPath:fC,hash:AC,query:n===Zu?Uv(U.query):U.query||{}},fA,{redirectedFrom:void 0,href:E})}function R(U){return typeof U=="string"?ul(e,U,l.value.path):bC({},U)}function F(U,aA){if(a!==U)return ct(8,{from:aA,to:U})}function J(U){return LA(U)}function nA(U){return J(bC(R(U),{replace:!0}))}function CA(U){const aA=U.matched[U.matched.length-1];if(aA&&aA.redirect){const{redirect:rA}=aA;let fA=typeof rA=="function"?rA(U):rA;return typeof fA=="string"&&(fA=fA.includes("?")||fA.includes("#")?fA=R(fA):{path:fA},fA.params={}),bC({query:U.query,hash:U.hash,params:fA.path!=null?{}:U.params},fA)}}function LA(U,aA){const rA=a=_(U),fA=l.value,AC=U.state,fC=U.force,E=U.replace===!0,v=CA(rA);if(v)return LA(bC(R(v),{state:typeof v=="object"?bC({},AC,v.state):AC,force:fC,replace:E}),aA||rA);const T=rA;T.redirectedFrom=aA;let W;return!fC&&mv(n,fA,rA)&&(W=ct(16,{to:T,from:fA}),SA(fA,fA,!0,!1)),(W?Promise.resolve(W):uA(T,fA)).catch(H=>Fe(H)?Fe(H,2)?H:bA(H):L(H,T,fA)).then(H=>{if(H){if(Fe(H,2))return LA(bC({replace:E},R(H.to),{state:typeof H.to=="object"?bC({},AC,H.to.state):AC,force:fC}),aA||T)}else H=O(T,fA,!0,E,AC);return I(T,fA,H),H})}function X(U,aA){const rA=F(U,aA);return rA?Promise.reject(rA):Promise.resolve()}function pA(U){const aA=$A.values().next().value;return aA&&typeof aA.runWithContext=="function"?aA.runWithContext(U):U()}function uA(U,aA){let rA;const[fA,AC,fC]=Zv(U,aA);rA=ml(fA.reverse(),"beforeRouteLeave",U,aA);for(const v of fA)v.leaveGuards.forEach(T=>{rA.push(an(T,U,aA))});const E=X.bind(null,U,aA);return rA.push(E),dC(rA).then(()=>{rA=[];for(const v of i.list())rA.push(an(v,U,aA));return rA.push(E),dC(rA)}).then(()=>{rA=ml(AC,"beforeRouteUpdate",U,aA);for(const v of AC)v.updateGuards.forEach(T=>{rA.push(an(T,U,aA))});return rA.push(E),dC(rA)}).then(()=>{rA=[];for(const v of fC)if(v.beforeEnter)if(we(v.beforeEnter))for(const T of v.beforeEnter)rA.push(an(T,U,aA));else rA.push(an(v.beforeEnter,U,aA));return rA.push(E),dC(rA)}).then(()=>(U.matched.forEach(v=>v.enterCallbacks={}),rA=ml(fC,"beforeRouteEnter",U,aA,pA),rA.push(E),dC(rA))).then(()=>{rA=[];for(const v of s.list())rA.push(an(v,U,aA));return rA.push(E),dC(rA)}).catch(v=>Fe(v,8)?v:Promise.reject(v))}function I(U,aA,rA){o.list().forEach(fA=>pA(()=>fA(U,aA,rA)))}function O(U,aA,rA,fA,AC){const fC=F(U,aA);if(fC)return fC;const E=aA===An,v=Zn?history.state:{};rA&&(fA||E?t.replace(U.fullPath,bC({scroll:E&&v&&v.scroll},AC)):t.push(U.fullPath,AC)),l.value=U,SA(U,aA,rA,E),bA()}let q;function z(){q||(q=t.listen((U,aA,rA)=>{if(!UA.listening)return;const fA=_(U),AC=CA(fA);if(AC){LA(bC(AC,{replace:!0}),fA).catch(Rt);return}a=fA;const fC=l.value;Zn&&yv(Hu(fC.fullPath,rA.delta),Bo()),uA(fA,fC).catch(E=>Fe(E,12)?E:Fe(E,2)?(LA(E.to,fA).then(v=>{Fe(v,20)&&!rA.delta&&rA.type===li.pop&&t.go(-1,!1)}).catch(Rt),Promise.reject()):(rA.delta&&t.go(-rA.delta,!1),L(E,fA,fC))).then(E=>{E=E||O(fA,fC,!1),E&&(rA.delta&&!Fe(E,8)?t.go(-rA.delta,!1):rA.type===li.pop&&Fe(E,20)&&t.go(-1,!1)),I(fA,fC,E)}).catch(Rt)}))}let w=xt(),x=xt(),D;function L(U,aA,rA){bA(U);const fA=x.list();return fA.length?fA.forEach(AC=>AC(U,aA,rA)):console.error(U),Promise.reject(U)}function gA(){return D&&l.value!==An?Promise.resolve():new Promise((U,aA)=>{w.add([U,aA])})}function bA(U){return D||(D=!U,z(),w.list().forEach(([aA,rA])=>U?rA(U):aA()),w.reset()),U}function SA(U,aA,rA,fA){const{scrollBehavior:AC}=A;if(!Zn||!AC)return Promise.resolve();const fC=!rA&&vv(Hu(U.fullPath,0))||(fA||!rA)&&history.state&&history.state.scroll||null;return gt().then(()=>AC(U,aA,fC)).then(E=>E&&Ev(E)).catch(E=>L(E,U,aA))}const BA=U=>t.go(U);let hC;const $A=new Set,UA={currentRoute:l,listening:!0,addRoute:m,removeRoute:g,hasRoute:k,getRoutes:y,resolve:_,options:A,push:J,replace:nA,go:BA,back:()=>BA(-1),forward:()=>BA(1),beforeEach:i.add,beforeResolve:s.add,afterEach:o.add,onError:x.add,isReady:gA,install(U){const aA=this;U.component("RouterLink",zv),U.component("RouterView",Jv),U.config.globalProperties.$router=aA,Object.defineProperty(U.config.globalProperties,"$route",{enumerable:!0,get:()=>Ln(l)}),Zn&&!hC&&l.value===An&&(hC=!0,J(t.location).catch(AC=>{}));const rA={};for(const AC in An)Object.defineProperty(rA,AC,{get:()=>l.value[AC],enumerable:!0});U.provide(Ir,aA),U.provide(H0,Ed(rA)),U.provide(Xl,l);const fA=U.unmount;$A.add(U),U.unmount=function(){$A.delete(U),$A.size<1&&(a=An,q&&q(),q=null,l.value=An,hC=!1,D=!1),fA()}}};function dC(U){return U.reduce((aA,rA)=>aA.then(()=>pA(rA)),Promise.resolve())}return UA}function Zv(A,C){const e=[],n=[],t=[],i=Math.max(C.matched.length,A.matched.length);for(let s=0;s<i;s++){const o=C.matched[s];o&&(A.matched.find(a=>rt(a,o))?n.push(o):e.push(o));const l=A.matched[s];l&&(C.matched.find(a=>rt(a,l))||t.push(l))}return[e,n,t]}function V0(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",C="d74a315ffb8992eaa4bea36c0dccdb31595c1798",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d74a315ffb8992eaa4bea36c0dccdb31595c1798"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return V0=function(){return s},s}V0();function YA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",C="a74f1a48298f1ad152af1d80f5cfd040d64a6168",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue",statementMap:{0:{start:{line:2,column:18},end:{line:75,column:1}},1:{start:{line:31,column:4},end:{line:34,column:5}},2:{start:{line:38,column:6},end:{line:46,column:7}},3:{start:{line:40,column:10},end:{line:40,column:34}},4:{start:{line:43,column:10},end:{line:43,column:35}},5:{start:{line:45,column:10},end:{line:45,column:35}},6:{start:{line:49,column:6},end:{line:51,column:7}},7:{start:{line:50,column:8},end:{line:50,column:45}},8:{start:{line:52,column:6},end:{line:52,column:21}},9:{start:{line:59,column:4},end:{line:59,column:23}},10:{start:{line:63,column:21},end:{line:63,column:60}},11:{start:{line:64,column:6},end:{line:64,column:27}},12:{start:{line:65,column:6},end:{line:72,column:7}},13:{start:{line:66,column:22},end:{line:70,column:21}},14:{start:{line:69,column:12},end:{line:69,column:45}},15:{start:{line:71,column:8},end:{line:71,column:55}},16:{start:{line:79,column:19},end:{line:79,column:35}},17:{start:{line:80,column:19},end:{line:83,column:1}},18:{start:{line:86,column:2},end:{line:108,column:8}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:30,column:2},end:{line:30,column:3}},loc:{start:{line:30,column:10},end:{line:35,column:3}},line:30},1:{name:"(anonymous_1)",decl:{start:{line:37,column:4},end:{line:37,column:5}},loc:{start:{line:37,column:21},end:{line:47,column:5}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:48,column:4},end:{line:48,column:5}},loc:{start:{line:48,column:13},end:{line:53,column:5}},line:48},3:{name:"(anonymous_3)",decl:{start:{line:58,column:2},end:{line:58,column:3}},loc:{start:{line:58,column:13},end:{line:60,column:3}},line:58},4:{name:"(anonymous_4)",decl:{start:{line:62,column:4},end:{line:62,column:5}},loc:{start:{line:62,column:26},end:{line:73,column:5}},line:62},5:{name:"(anonymous_5)",decl:{start:{line:68,column:18},end:{line:68,column:19}},loc:{start:{line:68,column:35},end:{line:70,column:11}},line:68},6:{name:"_sfc_render",decl:{start:{line:85,column:9},end:{line:85,column:20}},loc:{start:{line:85,column:68},end:{line:109,column:1}},line:85}},branchMap:{0:{loc:{start:{line:38,column:6},end:{line:46,column:7}},type:"switch",locations:[{start:{line:39,column:8},end:{line:40,column:34}},{start:{line:41,column:8},end:{line:41,column:20}},{start:{line:42,column:8},end:{line:43,column:35}},{start:{line:44,column:8},end:{line:45,column:35}}],line:38},1:{loc:{start:{line:49,column:6},end:{line:51,column:7}},type:"if",locations:[{start:{line:49,column:6},end:{line:51,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:49},2:{loc:{start:{line:65,column:6},end:{line:72,column:7}},type:"if",locations:[{start:{line:65,column:6},end:{line:72,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:65},3:{loc:{start:{line:98,column:6},end:{line:103,column:39}},type:"cond-expr",locations:[{start:{line:99,column:11},end:{line:102,column:21}},{start:{line:103,column:10},end:{line:103,column:39}}],line:98},4:{loc:{start:{line:105,column:4},end:{line:107,column:37}},type:"cond-expr",locations:[{start:{line:106,column:9},end:{line:106,column:123}},{start:{line:107,column:8},end:{line:107,column:37}}],line:105},5:{loc:{start:{line:106,column:80},end:{line:106,column:118}},type:"cond-expr",locations:[{start:{line:106,column:94},end:{line:106,column:105}},{start:{line:106,column:108},end:{line:106,column:118}}],line:106}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0,0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Avatar.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"a74f1a48298f1ad152af1d80f5cfd040d64a6168"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return YA=function(){return s},s}YA();const A5=(YA().s[0]++,{name:"Avatar",props:{jid:{type:String,required:!0},name:{type:String,default:null},displayJid:{type:Boolean,default:!1},presence:{type:String,default:null},status:{type:String,default:null},size:{type:Number,default:32}},data(){return YA().f[0]++,YA().s[1]++,{uri:null,style:null}},computed:{presenceClass(){switch(YA().f[1]++,YA().s[2]++,this.presence){case"dnd":return YA().b[0][0]++,YA().s[3]++,"has-text-danger";case"away":YA().b[0][1]++;case"xa":return YA().b[0][2]++,YA().s[4]++,"has-text-warning";default:return YA().b[0][3]++,YA().s[5]++,"has-text-success"}},title(){return YA().f[2]++,YA().s[6]++,this.status!==null?(YA().b[1][0]++,YA().s[7]++,`${this.jid} / ${this.status}`):(YA().b[1][1]++,YA().s[8]++,this.jid)}},watch:{jid:"getJidAvatar"},created(){YA().f[3]++,YA().s[9]++,this.getJidAvatar()},methods:{async getJidAvatar(){YA().f[4]++;const A=(YA().s[10]++,await this.$xmpp.getJidAvatar(this.jid));if(YA().s[11]++,this.uri=A.uri,YA().s[12]++,A.isDefault){YA().b[2][0]++;const C=(YA().s[13]++,this.jid.split("").reduce((e,n)=>(YA().f[5]++,YA().s[14]++,e+n.charCodeAt(0)),0)%360);YA().s[15]++,this.style=`filter: hue-rotate(${C}deg);`}else YA().b[2][1]++}}}),C5=(YA().s[16]++,["src","title"]),e5=(YA().s[17]++,{key:0,class:"ml-3"});function n5(A,C,e,n,t,i){return YA().f[6]++,YA().s[18]++,h(),Q("span",{class:zA({"has-jid":e.displayJid})},[b("figure",{class:zA("image is-"+e.size+"x"+e.size)},[b("img",{class:"is-rounded",style:eo(t.style),src:t.uri,title:i.title},null,12,C5),e.presence?(YA().b[3][0]++,h(),Q("i",{key:0,class:zA(["fa fa-circle presence-icon",i.presenceClass])},null,2)):(YA().b[3][1]++,P("",!0))],2),e.displayJid?(YA().b[4][0]++,h(),Q("span",e5,sA(e.name?(YA().b[5][0]++,e.name):(YA().b[5][1]++,e.jid)),1)):(YA().b[4][1]++,P("",!0))],2)}const yt=mC(A5,[["render",n5]]);function So(){this._types=Object.create(null),this._extensions=Object.create(null);for(let A=0;A<arguments.length;A++)this.define(arguments[A]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}So.prototype.define=function(A,C){for(let e in A){let n=A[e].map(function(t){return t.toLowerCase()});e=e.toLowerCase();for(let t=0;t<n.length;t++){const i=n[t];if(i[0]!=="*"){if(!C&&i in this._types)throw new Error('Attempt to change mapping for "'+i+'" extension from "'+this._types[i]+'" to "'+e+'". Pass `force=true` to allow this, otherwise remove "'+i+'" from the list of extensions for "'+e+'".');this._types[i]=e}}if(C||!this._extensions[e]){const t=n[0];this._extensions[e]=t[0]!=="*"?t:t.substr(1)}}};So.prototype.getType=function(A){A=String(A);let C=A.replace(/^.*[/\\]/,"").toLowerCase(),e=C.replace(/^.*\./,"").toLowerCase(),n=C.length<A.length;return(e.length<C.length-1||!n)&&this._types[e]||null};So.prototype.getExtension=function(A){return A=/^\s*([^;\s]*)/.test(A)&&RegExp.$1,A&&this._extensions[A.toLowerCase()]||null};var t5=So,i5={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]},s5={"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.sap.vds":["vds"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};let o5=t5;var l5=new o5(i5,s5);const a5=Et(l5);function z0(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",C="7670b88e626bf7f27e51d4d456524ca97efcfa0d",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7670b88e626bf7f27e51d4d456524ca97efcfa0d"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return z0=function(){return s},s}z0();function kA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",C="0c2442bfb34f29ac67e3c43f3580fd49543cfe78",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue",statementMap:{0:{start:{line:4,column:18},end:{line:50,column:1}},1:{start:{line:13,column:4},end:{line:18,column:5}},2:{start:{line:22,column:6},end:{line:22,column:35}},3:{start:{line:26,column:4},end:{line:48,column:5}},4:{start:{line:31,column:8},end:{line:31,column:27}},5:{start:{line:32,column:8},end:{line:32,column:13}},6:{start:{line:39,column:8},end:{line:39,column:27}},7:{start:{line:40,column:8},end:{line:40,column:13}},8:{start:{line:46,column:8},end:{line:46,column:27}},9:{start:{line:47,column:8},end:{line:47,column:13}},10:{start:{line:54,column:21},end:{line:54,column:81}},11:{start:{line:54,column:27},end:{line:54,column:80}},12:{start:{line:55,column:19},end:{line:55,column:26}},13:{start:{line:56,column:19},end:{line:56,column:26}},14:{start:{line:57,column:19},end:{line:57,column:26}},15:{start:{line:58,column:19},end:{line:58,column:27}},16:{start:{line:59,column:33},end:{line:61,column:7}},17:{start:{line:59,column:65},end:{line:61,column:6}},18:{start:{line:62,column:19},end:{line:62,column:61}},19:{start:{line:63,column:19},end:{line:63,column:26}},20:{start:{line:66,column:2},end:{line:119,column:5}},21:{start:{line:72,column:56},end:{line:72,column:81}},22:{start:{line:103,column:58},end:{line:103,column:84}},23:{start:{line:115,column:58},end:{line:115,column:84}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:2},end:{line:12,column:3}},loc:{start:{line:12,column:10},end:{line:19,column:3}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:21,column:4},end:{line:21,column:5}},loc:{start:{line:21,column:19},end:{line:23,column:5}},line:21},2:{name:"(anonymous_2)",decl:{start:{line:25,column:2},end:{line:25,column:3}},loc:{start:{line:25,column:13},end:{line:49,column:3}},line:25},3:{name:"(anonymous_3)",decl:{start:{line:54,column:21},end:{line:54,column:22}},loc:{start:{line:54,column:27},end:{line:54,column:80}},line:54},4:{name:"(anonymous_4)",decl:{start:{line:59,column:46},end:{line:59,column:47}},loc:{start:{line:59,column:65},end:{line:61,column:6}},line:59},5:{name:"_sfc_render",decl:{start:{line:65,column:9},end:{line:65,column:20}},loc:{start:{line:65,column:68},end:{line:120,column:1}},line:65},6:{name:"(anonymous_6)",decl:{start:{line:72,column:45},end:{line:72,column:46}},loc:{start:{line:72,column:56},end:{line:72,column:81}},line:72},7:{name:"(anonymous_7)",decl:{start:{line:103,column:47},end:{line:103,column:48}},loc:{start:{line:103,column:58},end:{line:103,column:84}},line:103},8:{name:"(anonymous_8)",decl:{start:{line:115,column:47},end:{line:115,column:48}},loc:{start:{line:115,column:58},end:{line:115,column:84}},line:115}},branchMap:{0:{loc:{start:{line:26,column:4},end:{line:48,column:5}},type:"switch",locations:[{start:{line:27,column:6},end:{line:27,column:24}},{start:{line:28,column:6},end:{line:28,column:23}},{start:{line:29,column:6},end:{line:29,column:23}},{start:{line:30,column:6},end:{line:32,column:13}},{start:{line:33,column:6},end:{line:33,column:24}},{start:{line:34,column:6},end:{line:34,column:23}},{start:{line:35,column:6},end:{line:35,column:23}},{start:{line:36,column:6},end:{line:36,column:25}},{start:{line:37,column:6},end:{line:37,column:24}},{start:{line:38,column:6},end:{line:40,column:13}},{start:{line:41,column:6},end:{line:41,column:24}},{start:{line:42,column:6},end:{line:42,column:23}},{start:{line:43,column:6},end:{line:43,column:29}},{start:{line:44,column:6},end:{line:44,column:28}},{start:{line:45,column:6},end:{line:47,column:13}}],line:26},1:{loc:{start:{line:67,column:4},end:{line:95,column:30}},type:"cond-expr",locations:[{start:{line:68,column:9},end:{line:73,column:31}},{start:{line:74,column:8},end:{line:95,column:30}}],line:67},2:{loc:{start:{line:72,column:19},end:{line:72,column:83}},type:"binary-expr",locations:[{start:{line:72,column:19},end:{line:72,column:28}},{start:{line:72,column:33},end:{line:72,column:82}}],line:72},3:{loc:{start:{line:74,column:8},end:{line:95,column:30}},type:"cond-expr",locations:[{start:{line:75,column:11},end:{line:79,column:33}},{start:{line:80,column:10},end:{line:95,column:30}}],line:74},4:{loc:{start:{line:80,column:10},end:{line:95,column:30}},type:"cond-expr",locations:[{start:{line:81,column:13},end:{line:86,column:35}},{start:{line:87,column:13},end:{line:95,column:29}}],line:80},5:{loc:{start:{line:96,column:4},end:{line:118,column:37}},type:"cond-expr",locations:[{start:{line:97,column:9},end:{line:117,column:13}},{start:{line:118,column:8},end:{line:118,column:37}}],line:96},6:{loc:{start:{line:103,column:21},end:{line:103,column:86}},type:"binary-expr",locations:[{start:{line:103,column:21},end:{line:103,column:30}},{start:{line:103,column:35},end:{line:103,column:85}}],line:103},7:{loc:{start:{line:115,column:21},end:{line:115,column:86}},type:"binary-expr",locations:[{start:{line:115,column:21},end:{line:115,column:30}},{start:{line:115,column:35},end:{line:115,column:85}}],line:115}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/MessageLink.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"0c2442bfb34f29ac67e3c43f3580fd49543cfe78"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return kA=function(){return s},s}kA();const r5=(kA().s[0]++,{name:"MessageLink",props:{url:{type:String,required:!0}},data(){return kA().f[0]++,kA().s[1]++,{isImage:!1,isAudio:!1,isVideo:!1,displayModal:!1}},computed:{contentType(){return kA().f[1]++,kA().s[2]++,a5.getType(this.url)}},mounted(){switch(kA().f[2]++,kA().s[3]++,this.contentType){case"image/jpeg":kA().b[0][0]++;case"image/gif":kA().b[0][1]++;case"image/png":kA().b[0][2]++;case"image/tiff":kA().b[0][3]++,kA().s[4]++,this.isImage=!0,kA().s[5]++;break;case"audio/mpeg":kA().b[0][4]++;case"audio/mp3":kA().b[0][5]++;case"audio/mp4":kA().b[0][6]++;case"audio/x-wav":kA().b[0][7]++;case"audio/wave":kA().b[0][8]++;case"audio/wav":kA().b[0][9]++,kA().s[6]++,this.isAudio=!0,kA().s[7]++;break;case"video/mpeg":kA().b[0][10]++;case"video/mp4":kA().b[0][11]++;case"video/quicktime":kA().b[0][12]++;case"video/x-ms-wmv":kA().b[0][13]++;case"video/x-msvideo":kA().b[0][14]++,kA().s[8]++,this.isVideo=!0,kA().s[9]++;break}}});kA().s[10]++;const c5=A=>(kA().f[3]++,kA().s[11]++,Dd("data-v-63e2154b"),A=A(),Pd(),A),u5=(kA().s[12]++,["src"]),m5=(kA().s[13]++,["src"]),d5=(kA().s[14]++,["src"]),p5=(kA().s[15]++,["href"]),f5=(kA().s[16]++,c5(()=>(kA().f[4]++,kA().s[17]++,b("span",{class:"icon is-small"},[b("i",{class:"fa fa-download"})],-1)))),h5=(kA().s[18]++,{class:"modal-content image-container"}),g5=(kA().s[19]++,["src"]);function b5(A,C,e,n,t,i){return kA().f[5]++,kA().s[20]++,h(),Q("div",null,[t.isImage?(kA().b[1][0]++,h(),Q("img",{key:0,src:e.url,class:"thumbnail",onClick:(kA().b[2][0]++,C[0]||(kA().b[2][1]++,C[0]=s=>(kA().f[6]++,kA().s[21]++,t.displayModal=!0)))},null,8,u5)):(kA().b[1][1]++,t.isAudio?(kA().b[3][0]++,h(),Q("audio",{key:1,src:e.url,controls:""},null,8,m5)):(kA().b[3][1]++,t.isVideo?(kA().b[4][0]++,h(),Q("video",{key:2,src:e.url,controls:"",width:"300"},null,8,d5)):(kA().b[4][1]++,h(),Q("a",{key:3,class:"button is-light is-small",href:e.url,target:"_blank"},[f5,b("span",null,"Download file ("+sA(i.contentType)+")",1)],8,p5)))),t.isImage?(kA().b[5][0]++,h(),Q("div",{key:4,class:zA(["modal",{"is-active":t.displayModal}])},[b("div",{class:"modal-background",onClick:(kA().b[6][0]++,C[1]||(kA().b[6][1]++,C[1]=s=>(kA().f[7]++,kA().s[22]++,t.displayModal=!1)))}),b("div",h5,[b("img",{src:e.url,alt:""},null,8,g5)]),b("button",{class:"modal-close is-large","aria-label":"close",title:"Close",onClick:(kA().b[7][0]++,C[2]||(kA().b[7][1]++,C[2]=s=>(kA().f[8]++,kA().s[23]++,t.displayModal=!1)))})],2)):(kA().b[5][1]++,P("",!0))])}const E5=mC(r5,[["render",b5],["__scopeId","data-v-63e2154b"]]);var q0={},ai={},Mr={},ri={},Dr={};Object.defineProperty(Dr,"__esModule",{value:!0});Dr.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(function(A){return A.charCodeAt(0)}));var Pr={};Object.defineProperty(Pr,"__esModule",{value:!0});Pr.default=new Uint16Array("Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(function(A){return A.charCodeAt(0)}));var Zl={};(function(A){var C;Object.defineProperty(A,"__esModule",{value:!0}),A.replaceCodePoint=A.fromCodePoint=void 0;var e=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);A.fromCodePoint=(C=String.fromCodePoint)!==null&&C!==void 0?C:function(i){var s="";return i>65535&&(i-=65536,s+=String.fromCharCode(i>>>10&1023|55296),i=56320|i&1023),s+=String.fromCharCode(i),s};function n(i){var s;return i>=55296&&i<=57343||i>1114111?65533:(s=e.get(i))!==null&&s!==void 0?s:i}A.replaceCodePoint=n;function t(i){return(0,A.fromCodePoint)(n(i))}A.default=t})(Zl);(function(A){var C=DA&&DA.__createBinding||(Object.create?function(I,O,q,z){z===void 0&&(z=q);var w=Object.getOwnPropertyDescriptor(O,q);(!w||("get"in w?!O.__esModule:w.writable||w.configurable))&&(w={enumerable:!0,get:function(){return O[q]}}),Object.defineProperty(I,z,w)}:function(I,O,q,z){z===void 0&&(z=q),I[z]=O[q]}),e=DA&&DA.__setModuleDefault||(Object.create?function(I,O){Object.defineProperty(I,"default",{enumerable:!0,value:O})}:function(I,O){I.default=O}),n=DA&&DA.__importStar||function(I){if(I&&I.__esModule)return I;var O={};if(I!=null)for(var q in I)q!=="default"&&Object.prototype.hasOwnProperty.call(I,q)&&C(O,I,q);return e(O,I),O},t=DA&&DA.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(A,"__esModule",{value:!0}),A.decodeXML=A.decodeHTMLStrict=A.decodeHTMLAttribute=A.decodeHTML=A.determineBranch=A.EntityDecoder=A.DecodingMode=A.BinTrieFlags=A.fromCodePoint=A.replaceCodePoint=A.decodeCodePoint=A.xmlDecodeTree=A.htmlDecodeTree=void 0;var i=t(Dr);A.htmlDecodeTree=i.default;var s=t(Pr);A.xmlDecodeTree=s.default;var o=n(Zl);A.decodeCodePoint=o.default;var l=Zl;Object.defineProperty(A,"replaceCodePoint",{enumerable:!0,get:function(){return l.replaceCodePoint}}),Object.defineProperty(A,"fromCodePoint",{enumerable:!0,get:function(){return l.fromCodePoint}});var a;(function(I){I[I.NUM=35]="NUM",I[I.SEMI=59]="SEMI",I[I.EQUALS=61]="EQUALS",I[I.ZERO=48]="ZERO",I[I.NINE=57]="NINE",I[I.LOWER_A=97]="LOWER_A",I[I.LOWER_F=102]="LOWER_F",I[I.LOWER_X=120]="LOWER_X",I[I.LOWER_Z=122]="LOWER_Z",I[I.UPPER_A=65]="UPPER_A",I[I.UPPER_F=70]="UPPER_F",I[I.UPPER_Z=90]="UPPER_Z"})(a||(a={}));var r=32,p;(function(I){I[I.VALUE_LENGTH=49152]="VALUE_LENGTH",I[I.BRANCH_LENGTH=16256]="BRANCH_LENGTH",I[I.JUMP_TABLE=127]="JUMP_TABLE"})(p=A.BinTrieFlags||(A.BinTrieFlags={}));function d(I){return I>=a.ZERO&&I<=a.NINE}function m(I){return I>=a.UPPER_A&&I<=a.UPPER_F||I>=a.LOWER_A&&I<=a.LOWER_F}function g(I){return I>=a.UPPER_A&&I<=a.UPPER_Z||I>=a.LOWER_A&&I<=a.LOWER_Z||d(I)}function y(I){return I===a.EQUALS||g(I)}var k;(function(I){I[I.EntityStart=0]="EntityStart",I[I.NumericStart=1]="NumericStart",I[I.NumericDecimal=2]="NumericDecimal",I[I.NumericHex=3]="NumericHex",I[I.NamedEntity=4]="NamedEntity"})(k||(k={}));var _;(function(I){I[I.Legacy=0]="Legacy",I[I.Strict=1]="Strict",I[I.Attribute=2]="Attribute"})(_=A.DecodingMode||(A.DecodingMode={}));var R=function(){function I(O,q,z){this.decodeTree=O,this.emitCodePoint=q,this.errors=z,this.state=k.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=_.Strict}return I.prototype.startEntity=function(O){this.decodeMode=O,this.state=k.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},I.prototype.write=function(O,q){switch(this.state){case k.EntityStart:return O.charCodeAt(q)===a.NUM?(this.state=k.NumericStart,this.consumed+=1,this.stateNumericStart(O,q+1)):(this.state=k.NamedEntity,this.stateNamedEntity(O,q));case k.NumericStart:return this.stateNumericStart(O,q);case k.NumericDecimal:return this.stateNumericDecimal(O,q);case k.NumericHex:return this.stateNumericHex(O,q);case k.NamedEntity:return this.stateNamedEntity(O,q)}},I.prototype.stateNumericStart=function(O,q){return q>=O.length?-1:(O.charCodeAt(q)|r)===a.LOWER_X?(this.state=k.NumericHex,this.consumed+=1,this.stateNumericHex(O,q+1)):(this.state=k.NumericDecimal,this.stateNumericDecimal(O,q))},I.prototype.addToNumericResult=function(O,q,z,w){if(q!==z){var x=z-q;this.result=this.result*Math.pow(w,x)+parseInt(O.substr(q,x),w),this.consumed+=x}},I.prototype.stateNumericHex=function(O,q){for(var z=q;q<O.length;){var w=O.charCodeAt(q);if(d(w)||m(w))q+=1;else return this.addToNumericResult(O,z,q,16),this.emitNumericEntity(w,3)}return this.addToNumericResult(O,z,q,16),-1},I.prototype.stateNumericDecimal=function(O,q){for(var z=q;q<O.length;){var w=O.charCodeAt(q);if(d(w))q+=1;else return this.addToNumericResult(O,z,q,10),this.emitNumericEntity(w,2)}return this.addToNumericResult(O,z,q,10),-1},I.prototype.emitNumericEntity=function(O,q){var z;if(this.consumed<=q)return(z=this.errors)===null||z===void 0||z.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(O===a.SEMI)this.consumed+=1;else if(this.decodeMode===_.Strict)return 0;return this.emitCodePoint((0,o.replaceCodePoint)(this.result),this.consumed),this.errors&&(O!==a.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed},I.prototype.stateNamedEntity=function(O,q){for(var z=this.decodeTree,w=z[this.treeIndex],x=(w&p.VALUE_LENGTH)>>14;q<O.length;q++,this.excess++){var D=O.charCodeAt(q);if(this.treeIndex=J(z,w,this.treeIndex+Math.max(1,x),D),this.treeIndex<0)return this.result===0||this.decodeMode===_.Attribute&&(x===0||y(D))?0:this.emitNotTerminatedNamedEntity();if(w=z[this.treeIndex],x=(w&p.VALUE_LENGTH)>>14,x!==0){if(D===a.SEMI)return this.emitNamedEntityData(this.treeIndex,x,this.consumed+this.excess);this.decodeMode!==_.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1},I.prototype.emitNotTerminatedNamedEntity=function(){var O,q=this,z=q.result,w=q.decodeTree,x=(w[z]&p.VALUE_LENGTH)>>14;return this.emitNamedEntityData(z,x,this.consumed),(O=this.errors)===null||O===void 0||O.missingSemicolonAfterCharacterReference(),this.consumed},I.prototype.emitNamedEntityData=function(O,q,z){var w=this.decodeTree;return this.emitCodePoint(q===1?w[O]&~p.VALUE_LENGTH:w[O+1],z),q===3&&this.emitCodePoint(w[O+2],z),z},I.prototype.end=function(){var O;switch(this.state){case k.NamedEntity:return this.result!==0&&(this.decodeMode!==_.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case k.NumericDecimal:return this.emitNumericEntity(0,2);case k.NumericHex:return this.emitNumericEntity(0,3);case k.NumericStart:return(O=this.errors)===null||O===void 0||O.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case k.EntityStart:return 0}},I}();A.EntityDecoder=R;function F(I){var O="",q=new R(I,function(z){return O+=(0,o.fromCodePoint)(z)});return function(w,x){for(var D=0,L=0;(L=w.indexOf("&",L))>=0;){O+=w.slice(D,L),q.startEntity(x);var gA=q.write(w,L+1);if(gA<0){D=L+q.end();break}D=L+gA,L=gA===0?D+1:D}var bA=O+w.slice(D);return O="",bA}}function J(I,O,q,z){var w=(O&p.BRANCH_LENGTH)>>7,x=O&p.JUMP_TABLE;if(w===0)return x!==0&&z===x?q:-1;if(x){var D=z-x;return D<0||D>=w?-1:I[q+D]-1}for(var L=q,gA=L+w-1;L<=gA;){var bA=L+gA>>>1,SA=I[bA];if(SA<z)L=bA+1;else if(SA>z)gA=bA-1;else return I[bA+w]}return-1}A.determineBranch=J;var nA=F(i.default),CA=F(s.default);function LA(I,O){return O===void 0&&(O=_.Legacy),nA(I,O)}A.decodeHTML=LA;function X(I){return nA(I,_.Attribute)}A.decodeHTMLAttribute=X;function pA(I){return nA(I,_.Strict)}A.decodeHTMLStrict=pA;function uA(I){return CA(I,_.Strict)}A.decodeXML=uA})(ri);(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.QuoteType=void 0;var C=ri,e;(function(d){d[d.Tab=9]="Tab",d[d.NewLine=10]="NewLine",d[d.FormFeed=12]="FormFeed",d[d.CarriageReturn=13]="CarriageReturn",d[d.Space=32]="Space",d[d.ExclamationMark=33]="ExclamationMark",d[d.Number=35]="Number",d[d.Amp=38]="Amp",d[d.SingleQuote=39]="SingleQuote",d[d.DoubleQuote=34]="DoubleQuote",d[d.Dash=45]="Dash",d[d.Slash=47]="Slash",d[d.Zero=48]="Zero",d[d.Nine=57]="Nine",d[d.Semi=59]="Semi",d[d.Lt=60]="Lt",d[d.Eq=61]="Eq",d[d.Gt=62]="Gt",d[d.Questionmark=63]="Questionmark",d[d.UpperA=65]="UpperA",d[d.LowerA=97]="LowerA",d[d.UpperF=70]="UpperF",d[d.LowerF=102]="LowerF",d[d.UpperZ=90]="UpperZ",d[d.LowerZ=122]="LowerZ",d[d.LowerX=120]="LowerX",d[d.OpeningSquareBracket=91]="OpeningSquareBracket"})(e||(e={}));var n;(function(d){d[d.Text=1]="Text",d[d.BeforeTagName=2]="BeforeTagName",d[d.InTagName=3]="InTagName",d[d.InSelfClosingTag=4]="InSelfClosingTag",d[d.BeforeClosingTagName=5]="BeforeClosingTagName",d[d.InClosingTagName=6]="InClosingTagName",d[d.AfterClosingTagName=7]="AfterClosingTagName",d[d.BeforeAttributeName=8]="BeforeAttributeName",d[d.InAttributeName=9]="InAttributeName",d[d.AfterAttributeName=10]="AfterAttributeName",d[d.BeforeAttributeValue=11]="BeforeAttributeValue",d[d.InAttributeValueDq=12]="InAttributeValueDq",d[d.InAttributeValueSq=13]="InAttributeValueSq",d[d.InAttributeValueNq=14]="InAttributeValueNq",d[d.BeforeDeclaration=15]="BeforeDeclaration",d[d.InDeclaration=16]="InDeclaration",d[d.InProcessingInstruction=17]="InProcessingInstruction",d[d.BeforeComment=18]="BeforeComment",d[d.CDATASequence=19]="CDATASequence",d[d.InSpecialComment=20]="InSpecialComment",d[d.InCommentLike=21]="InCommentLike",d[d.BeforeSpecialS=22]="BeforeSpecialS",d[d.SpecialStartSequence=23]="SpecialStartSequence",d[d.InSpecialTag=24]="InSpecialTag",d[d.BeforeEntity=25]="BeforeEntity",d[d.BeforeNumericEntity=26]="BeforeNumericEntity",d[d.InNamedEntity=27]="InNamedEntity",d[d.InNumericEntity=28]="InNumericEntity",d[d.InHexEntity=29]="InHexEntity"})(n||(n={}));function t(d){return d===e.Space||d===e.NewLine||d===e.Tab||d===e.FormFeed||d===e.CarriageReturn}function i(d){return d===e.Slash||d===e.Gt||t(d)}function s(d){return d>=e.Zero&&d<=e.Nine}function o(d){return d>=e.LowerA&&d<=e.LowerZ||d>=e.UpperA&&d<=e.UpperZ}function l(d){return d>=e.UpperA&&d<=e.UpperF||d>=e.LowerA&&d<=e.LowerF}var a;(function(d){d[d.NoValue=0]="NoValue",d[d.Unquoted=1]="Unquoted",d[d.Single=2]="Single",d[d.Double=3]="Double"})(a=A.QuoteType||(A.QuoteType={}));var r={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])},p=function(){function d(m,g){var y=m.xmlMode,k=y===void 0?!1:y,_=m.decodeEntities,R=_===void 0?!0:_;this.cbs=g,this.state=n.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=n.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=k,this.decodeEntities=R,this.entityTrie=k?C.xmlDecodeTree:C.htmlDecodeTree}return d.prototype.reset=function(){this.state=n.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=n.Text,this.currentSequence=void 0,this.running=!0,this.offset=0},d.prototype.write=function(m){this.offset+=this.buffer.length,this.buffer=m,this.parse()},d.prototype.end=function(){this.running&&this.finish()},d.prototype.pause=function(){this.running=!1},d.prototype.resume=function(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()},d.prototype.getIndex=function(){return this.index},d.prototype.getSectionStart=function(){return this.sectionStart},d.prototype.stateText=function(m){m===e.Lt||!this.decodeEntities&&this.fastForwardTo(e.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=n.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&m===e.Amp&&(this.state=n.BeforeEntity)},d.prototype.stateSpecialStartSequence=function(m){var g=this.sequenceIndex===this.currentSequence.length,y=g?i(m):(m|32)===this.currentSequence[this.sequenceIndex];if(!y)this.isSpecial=!1;else if(!g){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=n.InTagName,this.stateInTagName(m)},d.prototype.stateInSpecialTag=function(m){if(this.sequenceIndex===this.currentSequence.length){if(m===e.Gt||t(m)){var g=this.index-this.currentSequence.length;if(this.sectionStart<g){var y=this.index;this.index=g,this.cbs.ontext(this.sectionStart,g),this.index=y}this.isSpecial=!1,this.sectionStart=g+2,this.stateInClosingTagName(m);return}this.sequenceIndex=0}(m|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===r.TitleEnd?this.decodeEntities&&m===e.Amp&&(this.state=n.BeforeEntity):this.fastForwardTo(e.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=+(m===e.Lt)},d.prototype.stateCDATASequence=function(m){m===r.Cdata[this.sequenceIndex]?++this.sequenceIndex===r.Cdata.length&&(this.state=n.InCommentLike,this.currentSequence=r.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=n.InDeclaration,this.stateInDeclaration(m))},d.prototype.fastForwardTo=function(m){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===m)return!0;return this.index=this.buffer.length+this.offset-1,!1},d.prototype.stateInCommentLike=function(m){m===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===r.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=n.Text):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):m!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)},d.prototype.isTagStartChar=function(m){return this.xmlMode?!i(m):o(m)},d.prototype.startSpecial=function(m,g){this.isSpecial=!0,this.currentSequence=m,this.sequenceIndex=g,this.state=n.SpecialStartSequence},d.prototype.stateBeforeTagName=function(m){if(m===e.ExclamationMark)this.state=n.BeforeDeclaration,this.sectionStart=this.index+1;else if(m===e.Questionmark)this.state=n.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(m)){var g=m|32;this.sectionStart=this.index,!this.xmlMode&&g===r.TitleEnd[2]?this.startSpecial(r.TitleEnd,3):this.state=!this.xmlMode&&g===r.ScriptEnd[2]?n.BeforeSpecialS:n.InTagName}else m===e.Slash?this.state=n.BeforeClosingTagName:(this.state=n.Text,this.stateText(m))},d.prototype.stateInTagName=function(m){i(m)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=n.BeforeAttributeName,this.stateBeforeAttributeName(m))},d.prototype.stateBeforeClosingTagName=function(m){t(m)||(m===e.Gt?this.state=n.Text:(this.state=this.isTagStartChar(m)?n.InClosingTagName:n.InSpecialComment,this.sectionStart=this.index))},d.prototype.stateInClosingTagName=function(m){(m===e.Gt||t(m))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=n.AfterClosingTagName,this.stateAfterClosingTagName(m))},d.prototype.stateAfterClosingTagName=function(m){(m===e.Gt||this.fastForwardTo(e.Gt))&&(this.state=n.Text,this.baseState=n.Text,this.sectionStart=this.index+1)},d.prototype.stateBeforeAttributeName=function(m){m===e.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=n.InSpecialTag,this.sequenceIndex=0):this.state=n.Text,this.baseState=this.state,this.sectionStart=this.index+1):m===e.Slash?this.state=n.InSelfClosingTag:t(m)||(this.state=n.InAttributeName,this.sectionStart=this.index)},d.prototype.stateInSelfClosingTag=function(m){m===e.Gt?(this.cbs.onselfclosingtag(this.index),this.state=n.Text,this.baseState=n.Text,this.sectionStart=this.index+1,this.isSpecial=!1):t(m)||(this.state=n.BeforeAttributeName,this.stateBeforeAttributeName(m))},d.prototype.stateInAttributeName=function(m){(m===e.Eq||i(m))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=n.AfterAttributeName,this.stateAfterAttributeName(m))},d.prototype.stateAfterAttributeName=function(m){m===e.Eq?this.state=n.BeforeAttributeValue:m===e.Slash||m===e.Gt?(this.cbs.onattribend(a.NoValue,this.index),this.state=n.BeforeAttributeName,this.stateBeforeAttributeName(m)):t(m)||(this.cbs.onattribend(a.NoValue,this.index),this.state=n.InAttributeName,this.sectionStart=this.index)},d.prototype.stateBeforeAttributeValue=function(m){m===e.DoubleQuote?(this.state=n.InAttributeValueDq,this.sectionStart=this.index+1):m===e.SingleQuote?(this.state=n.InAttributeValueSq,this.sectionStart=this.index+1):t(m)||(this.sectionStart=this.index,this.state=n.InAttributeValueNq,this.stateInAttributeValueNoQuotes(m))},d.prototype.handleInAttributeValue=function(m,g){m===g||!this.decodeEntities&&this.fastForwardTo(g)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(g===e.DoubleQuote?a.Double:a.Single,this.index),this.state=n.BeforeAttributeName):this.decodeEntities&&m===e.Amp&&(this.baseState=this.state,this.state=n.BeforeEntity)},d.prototype.stateInAttributeValueDoubleQuotes=function(m){this.handleInAttributeValue(m,e.DoubleQuote)},d.prototype.stateInAttributeValueSingleQuotes=function(m){this.handleInAttributeValue(m,e.SingleQuote)},d.prototype.stateInAttributeValueNoQuotes=function(m){t(m)||m===e.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(a.Unquoted,this.index),this.state=n.BeforeAttributeName,this.stateBeforeAttributeName(m)):this.decodeEntities&&m===e.Amp&&(this.baseState=this.state,this.state=n.BeforeEntity)},d.prototype.stateBeforeDeclaration=function(m){m===e.OpeningSquareBracket?(this.state=n.CDATASequence,this.sequenceIndex=0):this.state=m===e.Dash?n.BeforeComment:n.InDeclaration},d.prototype.stateInDeclaration=function(m){(m===e.Gt||this.fastForwardTo(e.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=n.Text,this.sectionStart=this.index+1)},d.prototype.stateInProcessingInstruction=function(m){(m===e.Gt||this.fastForwardTo(e.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=n.Text,this.sectionStart=this.index+1)},d.prototype.stateBeforeComment=function(m){m===e.Dash?(this.state=n.InCommentLike,this.currentSequence=r.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=n.InDeclaration},d.prototype.stateInSpecialComment=function(m){(m===e.Gt||this.fastForwardTo(e.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=n.Text,this.sectionStart=this.index+1)},d.prototype.stateBeforeSpecialS=function(m){var g=m|32;g===r.ScriptEnd[3]?this.startSpecial(r.ScriptEnd,4):g===r.StyleEnd[3]?this.startSpecial(r.StyleEnd,4):(this.state=n.InTagName,this.stateInTagName(m))},d.prototype.stateBeforeEntity=function(m){this.entityExcess=1,this.entityResult=0,m===e.Number?this.state=n.BeforeNumericEntity:m===e.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=n.InNamedEntity,this.stateInNamedEntity(m))},d.prototype.stateInNamedEntity=function(m){if(this.entityExcess+=1,this.trieIndex=(0,C.determineBranch)(this.entityTrie,this.trieCurrent,this.trieIndex+1,m),this.trieIndex<0){this.emitNamedEntity(),this.index--;return}this.trieCurrent=this.entityTrie[this.trieIndex];var g=this.trieCurrent&C.BinTrieFlags.VALUE_LENGTH;if(g){var y=(g>>14)-1;if(!this.allowLegacyEntity()&&m!==e.Semi)this.trieIndex+=y;else{var k=this.index-this.entityExcess+1;k>this.sectionStart&&this.emitPartial(this.sectionStart,k),this.entityResult=this.trieIndex,this.trieIndex+=y,this.entityExcess=0,this.sectionStart=this.index+1,y===0&&this.emitNamedEntity()}}},d.prototype.emitNamedEntity=function(){if(this.state=this.baseState,this.entityResult!==0){var m=(this.entityTrie[this.entityResult]&C.BinTrieFlags.VALUE_LENGTH)>>14;switch(m){case 1:{this.emitCodePoint(this.entityTrie[this.entityResult]&~C.BinTrieFlags.VALUE_LENGTH);break}case 2:{this.emitCodePoint(this.entityTrie[this.entityResult+1]);break}case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}},d.prototype.stateBeforeNumericEntity=function(m){(m|32)===e.LowerX?(this.entityExcess++,this.state=n.InHexEntity):(this.state=n.InNumericEntity,this.stateInNumericEntity(m))},d.prototype.emitNumericEntity=function(m){var g=this.index-this.entityExcess-1,y=g+2+ +(this.state===n.InHexEntity);y!==this.index&&(g>this.sectionStart&&this.emitPartial(this.sectionStart,g),this.sectionStart=this.index+Number(m),this.emitCodePoint((0,C.replaceCodePoint)(this.entityResult))),this.state=this.baseState},d.prototype.stateInNumericEntity=function(m){m===e.Semi?this.emitNumericEntity(!0):s(m)?(this.entityResult=this.entityResult*10+(m-e.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},d.prototype.stateInHexEntity=function(m){m===e.Semi?this.emitNumericEntity(!0):s(m)?(this.entityResult=this.entityResult*16+(m-e.Zero),this.entityExcess++):l(m)?(this.entityResult=this.entityResult*16+((m|32)-e.LowerA+10),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)},d.prototype.allowLegacyEntity=function(){return!this.xmlMode&&(this.baseState===n.Text||this.baseState===n.InSpecialTag)},d.prototype.cleanup=function(){this.running&&this.sectionStart!==this.index&&(this.state===n.Text||this.state===n.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===n.InAttributeValueDq||this.state===n.InAttributeValueSq||this.state===n.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))},d.prototype.shouldContinue=function(){return this.index<this.buffer.length+this.offset&&this.running},d.prototype.parse=function(){for(;this.shouldContinue();){var m=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case n.Text:{this.stateText(m);break}case n.SpecialStartSequence:{this.stateSpecialStartSequence(m);break}case n.InSpecialTag:{this.stateInSpecialTag(m);break}case n.CDATASequence:{this.stateCDATASequence(m);break}case n.InAttributeValueDq:{this.stateInAttributeValueDoubleQuotes(m);break}case n.InAttributeName:{this.stateInAttributeName(m);break}case n.InCommentLike:{this.stateInCommentLike(m);break}case n.InSpecialComment:{this.stateInSpecialComment(m);break}case n.BeforeAttributeName:{this.stateBeforeAttributeName(m);break}case n.InTagName:{this.stateInTagName(m);break}case n.InClosingTagName:{this.stateInClosingTagName(m);break}case n.BeforeTagName:{this.stateBeforeTagName(m);break}case n.AfterAttributeName:{this.stateAfterAttributeName(m);break}case n.InAttributeValueSq:{this.stateInAttributeValueSingleQuotes(m);break}case n.BeforeAttributeValue:{this.stateBeforeAttributeValue(m);break}case n.BeforeClosingTagName:{this.stateBeforeClosingTagName(m);break}case n.AfterClosingTagName:{this.stateAfterClosingTagName(m);break}case n.BeforeSpecialS:{this.stateBeforeSpecialS(m);break}case n.InAttributeValueNq:{this.stateInAttributeValueNoQuotes(m);break}case n.InSelfClosingTag:{this.stateInSelfClosingTag(m);break}case n.InDeclaration:{this.stateInDeclaration(m);break}case n.BeforeDeclaration:{this.stateBeforeDeclaration(m);break}case n.BeforeComment:{this.stateBeforeComment(m);break}case n.InProcessingInstruction:{this.stateInProcessingInstruction(m);break}case n.InNamedEntity:{this.stateInNamedEntity(m);break}case n.BeforeEntity:{this.stateBeforeEntity(m);break}case n.InHexEntity:{this.stateInHexEntity(m);break}case n.InNumericEntity:{this.stateInNumericEntity(m);break}default:this.stateBeforeNumericEntity(m)}this.index++}this.cleanup()},d.prototype.finish=function(){this.state===n.InNamedEntity&&this.emitNamedEntity(),this.sectionStart<this.index&&this.handleTrailingData(),this.cbs.onend()},d.prototype.handleTrailingData=function(){var m=this.buffer.length+this.offset;this.state===n.InCommentLike?this.currentSequence===r.CdataEnd?this.cbs.oncdata(this.sectionStart,m,0):this.cbs.oncomment(this.sectionStart,m,0):this.state===n.InNumericEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===n.InHexEntity&&this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state===n.InTagName||this.state===n.BeforeAttributeName||this.state===n.BeforeAttributeValue||this.state===n.AfterAttributeName||this.state===n.InAttributeName||this.state===n.InAttributeValueSq||this.state===n.InAttributeValueDq||this.state===n.InAttributeValueNq||this.state===n.InClosingTagName||this.cbs.ontext(this.sectionStart,m)},d.prototype.emitPartial=function(m,g){this.baseState!==n.Text&&this.baseState!==n.InSpecialTag?this.cbs.onattribdata(m,g):this.cbs.ontext(m,g)},d.prototype.emitCodePoint=function(m){this.baseState!==n.Text&&this.baseState!==n.InSpecialTag?this.cbs.onattribentity(m):this.cbs.ontextentity(m)},d}();A.default=p})(Mr);var y5=DA&&DA.__createBinding||(Object.create?function(A,C,e,n){n===void 0&&(n=e);var t=Object.getOwnPropertyDescriptor(C,e);(!t||("get"in t?!C.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return C[e]}}),Object.defineProperty(A,n,t)}:function(A,C,e,n){n===void 0&&(n=e),A[n]=C[e]}),v5=DA&&DA.__setModuleDefault||(Object.create?function(A,C){Object.defineProperty(A,"default",{enumerable:!0,value:C})}:function(A,C){A.default=C}),w5=DA&&DA.__importStar||function(A){if(A&&A.__esModule)return A;var C={};if(A!=null)for(var e in A)e!=="default"&&Object.prototype.hasOwnProperty.call(A,e)&&y5(C,A,e);return v5(C,A),C};Object.defineProperty(ai,"__esModule",{value:!0});ai.Parser=void 0;var Vi=w5(Mr),im=ri,Jn=new Set(["input","option","optgroup","select","button","datalist","textarea"]),vC=new Set(["p"]),sm=new Set(["thead","tbody"]),om=new Set(["dd","dt"]),lm=new Set(["rt","rp"]),B5=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",vC],["h1",vC],["h2",vC],["h3",vC],["h4",vC],["h5",vC],["h6",vC],["select",Jn],["input",Jn],["output",Jn],["button",Jn],["datalist",Jn],["textarea",Jn],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",om],["dt",om],["address",vC],["article",vC],["aside",vC],["blockquote",vC],["details",vC],["div",vC],["dl",vC],["fieldset",vC],["figcaption",vC],["figure",vC],["footer",vC],["form",vC],["header",vC],["hr",vC],["main",vC],["nav",vC],["ol",vC],["pre",vC],["section",vC],["table",vC],["ul",vC],["rt",lm],["rp",lm],["tbody",sm],["tfoot",sm]]),S5=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),am=new Set(["math","svg"]),rm=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),k5=/\s|\//,_5=function(){function A(C,e){e===void 0&&(e={});var n,t,i,s,o;this.options=e,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.foreignContext=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=C??{},this.lowerCaseTagNames=(n=e.lowerCaseTags)!==null&&n!==void 0?n:!e.xmlMode,this.lowerCaseAttributeNames=(t=e.lowerCaseAttributeNames)!==null&&t!==void 0?t:!e.xmlMode,this.tokenizer=new((i=e.Tokenizer)!==null&&i!==void 0?i:Vi.default)(this.options,this),(o=(s=this.cbs).onparserinit)===null||o===void 0||o.call(s,this)}return A.prototype.ontext=function(C,e){var n,t,i=this.getSlice(C,e);this.endIndex=e-1,(t=(n=this.cbs).ontext)===null||t===void 0||t.call(n,i),this.startIndex=e},A.prototype.ontextentity=function(C){var e,n,t=this.tokenizer.getSectionStart();this.endIndex=t-1,(n=(e=this.cbs).ontext)===null||n===void 0||n.call(e,(0,im.fromCodePoint)(C)),this.startIndex=t},A.prototype.isVoidElement=function(C){return!this.options.xmlMode&&S5.has(C)},A.prototype.onopentagname=function(C,e){this.endIndex=e;var n=this.getSlice(C,e);this.lowerCaseTagNames&&(n=n.toLowerCase()),this.emitOpenTag(n)},A.prototype.emitOpenTag=function(C){var e,n,t,i;this.openTagStart=this.startIndex,this.tagname=C;var s=!this.options.xmlMode&&B5.get(C);if(s)for(;this.stack.length>0&&s.has(this.stack[this.stack.length-1]);){var o=this.stack.pop();(n=(e=this.cbs).onclosetag)===null||n===void 0||n.call(e,o,!0)}this.isVoidElement(C)||(this.stack.push(C),am.has(C)?this.foreignContext.push(!0):rm.has(C)&&this.foreignContext.push(!1)),(i=(t=this.cbs).onopentagname)===null||i===void 0||i.call(t,C),this.cbs.onopentag&&(this.attribs={})},A.prototype.endOpenTag=function(C){var e,n;this.startIndex=this.openTagStart,this.attribs&&((n=(e=this.cbs).onopentag)===null||n===void 0||n.call(e,this.tagname,this.attribs,C),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""},A.prototype.onopentagend=function(C){this.endIndex=C,this.endOpenTag(!1),this.startIndex=C+1},A.prototype.onclosetag=function(C,e){var n,t,i,s,o,l;this.endIndex=e;var a=this.getSlice(C,e);if(this.lowerCaseTagNames&&(a=a.toLowerCase()),(am.has(a)||rm.has(a))&&this.foreignContext.pop(),this.isVoidElement(a))!this.options.xmlMode&&a==="br"&&((t=(n=this.cbs).onopentagname)===null||t===void 0||t.call(n,"br"),(s=(i=this.cbs).onopentag)===null||s===void 0||s.call(i,"br",{},!0),(l=(o=this.cbs).onclosetag)===null||l===void 0||l.call(o,"br",!1));else{var r=this.stack.lastIndexOf(a);if(r!==-1)if(this.cbs.onclosetag)for(var p=this.stack.length-r;p--;)this.cbs.onclosetag(this.stack.pop(),p!==0);else this.stack.length=r;else!this.options.xmlMode&&a==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=e+1},A.prototype.onselfclosingtag=function(C){this.endIndex=C,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=C+1):this.onopentagend(C)},A.prototype.closeCurrentTag=function(C){var e,n,t=this.tagname;this.endOpenTag(C),this.stack[this.stack.length-1]===t&&((n=(e=this.cbs).onclosetag)===null||n===void 0||n.call(e,t,!C),this.stack.pop())},A.prototype.onattribname=function(C,e){this.startIndex=C;var n=this.getSlice(C,e);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n},A.prototype.onattribdata=function(C,e){this.attribvalue+=this.getSlice(C,e)},A.prototype.onattribentity=function(C){this.attribvalue+=(0,im.fromCodePoint)(C)},A.prototype.onattribend=function(C,e){var n,t;this.endIndex=e,(t=(n=this.cbs).onattribute)===null||t===void 0||t.call(n,this.attribname,this.attribvalue,C===Vi.QuoteType.Double?'"':C===Vi.QuoteType.Single?"'":C===Vi.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""},A.prototype.getInstructionName=function(C){var e=C.search(k5),n=e<0?C:C.substr(0,e);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n},A.prototype.ondeclaration=function(C,e){this.endIndex=e;var n=this.getSlice(C,e);if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(n);this.cbs.onprocessinginstruction("!".concat(t),"!".concat(n))}this.startIndex=e+1},A.prototype.onprocessinginstruction=function(C,e){this.endIndex=e;var n=this.getSlice(C,e);if(this.cbs.onprocessinginstruction){var t=this.getInstructionName(n);this.cbs.onprocessinginstruction("?".concat(t),"?".concat(n))}this.startIndex=e+1},A.prototype.oncomment=function(C,e,n){var t,i,s,o;this.endIndex=e,(i=(t=this.cbs).oncomment)===null||i===void 0||i.call(t,this.getSlice(C,e-n)),(o=(s=this.cbs).oncommentend)===null||o===void 0||o.call(s),this.startIndex=e+1},A.prototype.oncdata=function(C,e,n){var t,i,s,o,l,a,r,p,d,m;this.endIndex=e;var g=this.getSlice(C,e-n);this.options.xmlMode||this.options.recognizeCDATA?((i=(t=this.cbs).oncdatastart)===null||i===void 0||i.call(t),(o=(s=this.cbs).ontext)===null||o===void 0||o.call(s,g),(a=(l=this.cbs).oncdataend)===null||a===void 0||a.call(l)):((p=(r=this.cbs).oncomment)===null||p===void 0||p.call(r,"[CDATA[".concat(g,"]]")),(m=(d=this.cbs).oncommentend)===null||m===void 0||m.call(d)),this.startIndex=e+1},A.prototype.onend=function(){var C,e;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(var n=this.stack.length;n>0;this.cbs.onclosetag(this.stack[--n],!0));}(e=(C=this.cbs).onend)===null||e===void 0||e.call(C)},A.prototype.reset=function(){var C,e,n,t;(e=(C=this.cbs).onreset)===null||e===void 0||e.call(C),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(t=(n=this.cbs).onparserinit)===null||t===void 0||t.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1},A.prototype.parseComplete=function(C){this.reset(),this.end(C)},A.prototype.getSlice=function(C,e){for(;C-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();for(var n=this.buffers[0].slice(C-this.bufferOffset,e-this.bufferOffset);e-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,e-this.bufferOffset);return n},A.prototype.shiftBuffer=function(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()},A.prototype.write=function(C){var e,n;if(this.ended){(n=(e=this.cbs).onerror)===null||n===void 0||n.call(e,new Error(".write() after done!"));return}this.buffers.push(C),this.tokenizer.running&&(this.tokenizer.write(C),this.writeIndex++)},A.prototype.end=function(C){var e,n;if(this.ended){(n=(e=this.cbs).onerror)===null||n===void 0||n.call(e,new Error(".end() after done!"));return}C&&this.write(C),this.ended=!0,this.tokenizer.end()},A.prototype.pause=function(){this.tokenizer.pause()},A.prototype.resume=function(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()},A.prototype.parseChunk=function(C){this.write(C)},A.prototype.done=function(C){this.end(C)},A}();ai.Parser=_5;var ze={},vt={};(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.Doctype=A.CDATA=A.Tag=A.Style=A.Script=A.Comment=A.Directive=A.Text=A.Root=A.isTag=A.ElementType=void 0;var C;(function(n){n.Root="root",n.Text="text",n.Directive="directive",n.Comment="comment",n.Script="script",n.Style="style",n.Tag="tag",n.CDATA="cdata",n.Doctype="doctype"})(C=A.ElementType||(A.ElementType={}));function e(n){return n.type===C.Tag||n.type===C.Script||n.type===C.Style}A.isTag=e,A.Root=C.Root,A.Text=C.Text,A.Directive=C.Directive,A.Comment=C.Comment,A.Script=C.Script,A.Style=C.Style,A.Tag=C.Tag,A.CDATA=C.CDATA,A.Doctype=C.Doctype})(vt);var eC={},vn=DA&&DA.__extends||function(){var A=function(C,e){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]=t[i])},A(C,e)};return function(C,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");A(C,e);function n(){this.constructor=C}C.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),Ut=DA&&DA.__assign||function(){return Ut=Object.assign||function(A){for(var C,e=1,n=arguments.length;e<n;e++){C=arguments[e];for(var t in C)Object.prototype.hasOwnProperty.call(C,t)&&(A[t]=C[t])}return A},Ut.apply(this,arguments)};Object.defineProperty(eC,"__esModule",{value:!0});eC.cloneNode=eC.hasChildren=eC.isDocument=eC.isDirective=eC.isComment=eC.isText=eC.isCDATA=eC.isTag=eC.Element=eC.Document=eC.CDATA=eC.NodeWithChildren=eC.ProcessingInstruction=eC.Comment=eC.Text=eC.DataNode=eC.Node=void 0;var Ce=vt,Or=function(){function A(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}return Object.defineProperty(A.prototype,"parentNode",{get:function(){return this.parent},set:function(C){this.parent=C},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"previousSibling",{get:function(){return this.prev},set:function(C){this.prev=C},enumerable:!1,configurable:!0}),Object.defineProperty(A.prototype,"nextSibling",{get:function(){return this.next},set:function(C){this.next=C},enumerable:!1,configurable:!0}),A.prototype.cloneNode=function(C){return C===void 0&&(C=!1),Lr(this,C)},A}();eC.Node=Or;var ko=function(A){vn(C,A);function C(e){var n=A.call(this)||this;return n.data=e,n}return Object.defineProperty(C.prototype,"nodeValue",{get:function(){return this.data},set:function(e){this.data=e},enumerable:!1,configurable:!0}),C}(Or);eC.DataNode=ko;var W0=function(A){vn(C,A);function C(){var e=A!==null&&A.apply(this,arguments)||this;return e.type=Ce.ElementType.Text,e}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 3},enumerable:!1,configurable:!0}),C}(ko);eC.Text=W0;var Y0=function(A){vn(C,A);function C(){var e=A!==null&&A.apply(this,arguments)||this;return e.type=Ce.ElementType.Comment,e}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 8},enumerable:!1,configurable:!0}),C}(ko);eC.Comment=Y0;var J0=function(A){vn(C,A);function C(e,n){var t=A.call(this,n)||this;return t.name=e,t.type=Ce.ElementType.Directive,t}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),C}(ko);eC.ProcessingInstruction=J0;var _o=function(A){vn(C,A);function C(e){var n=A.call(this)||this;return n.children=e,n}return Object.defineProperty(C.prototype,"firstChild",{get:function(){var e;return(e=this.children[0])!==null&&e!==void 0?e:null},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"lastChild",{get:function(){return this.children.length>0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),C}(Or);eC.NodeWithChildren=_o;var X0=function(A){vn(C,A);function C(){var e=A!==null&&A.apply(this,arguments)||this;return e.type=Ce.ElementType.CDATA,e}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),C}(_o);eC.CDATA=X0;var Z0=function(A){vn(C,A);function C(){var e=A!==null&&A.apply(this,arguments)||this;return e.type=Ce.ElementType.Root,e}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),C}(_o);eC.Document=Z0;var A1=function(A){vn(C,A);function C(e,n,t,i){t===void 0&&(t=[]),i===void 0&&(i=e==="script"?Ce.ElementType.Script:e==="style"?Ce.ElementType.Style:Ce.ElementType.Tag);var s=A.call(this,t)||this;return s.name=e,s.attribs=n,s.type=i,s}return Object.defineProperty(C.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(C.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map(function(n){var t,i;return{name:n,value:e.attribs[n],namespace:(t=e["x-attribsNamespace"])===null||t===void 0?void 0:t[n],prefix:(i=e["x-attribsPrefix"])===null||i===void 0?void 0:i[n]}})},enumerable:!1,configurable:!0}),C}(_o);eC.Element=A1;function C1(A){return(0,Ce.isTag)(A)}eC.isTag=C1;function e1(A){return A.type===Ce.ElementType.CDATA}eC.isCDATA=e1;function n1(A){return A.type===Ce.ElementType.Text}eC.isText=n1;function t1(A){return A.type===Ce.ElementType.Comment}eC.isComment=t1;function i1(A){return A.type===Ce.ElementType.Directive}eC.isDirective=i1;function s1(A){return A.type===Ce.ElementType.Root}eC.isDocument=s1;function x5(A){return Object.prototype.hasOwnProperty.call(A,"children")}eC.hasChildren=x5;function Lr(A,C){C===void 0&&(C=!1);var e;if(n1(A))e=new W0(A.data);else if(t1(A))e=new Y0(A.data);else if(C1(A)){var n=C?dl(A.children):[],t=new A1(A.name,Ut({},A.attribs),n);n.forEach(function(l){return l.parent=t}),A.namespace!=null&&(t.namespace=A.namespace),A["x-attribsNamespace"]&&(t["x-attribsNamespace"]=Ut({},A["x-attribsNamespace"])),A["x-attribsPrefix"]&&(t["x-attribsPrefix"]=Ut({},A["x-attribsPrefix"])),e=t}else if(e1(A)){var n=C?dl(A.children):[],i=new X0(n);n.forEach(function(a){return a.parent=i}),e=i}else if(s1(A)){var n=C?dl(A.children):[],s=new Z0(n);n.forEach(function(a){return a.parent=s}),A["x-mode"]&&(s["x-mode"]=A["x-mode"]),e=s}else if(i1(A)){var o=new J0(A.name,A.data);A["x-name"]!=null&&(o["x-name"]=A["x-name"],o["x-publicId"]=A["x-publicId"],o["x-systemId"]=A["x-systemId"]),e=o}else throw new Error("Not implemented yet: ".concat(A.type));return e.startIndex=A.startIndex,e.endIndex=A.endIndex,A.sourceCodeLocation!=null&&(e.sourceCodeLocation=A.sourceCodeLocation),e}eC.cloneNode=Lr;function dl(A){for(var C=A.map(function(n){return Lr(n,!0)}),e=1;e<C.length;e++)C[e].prev=C[e-1],C[e-1].next=C[e];return C}(function(A){var C=DA&&DA.__createBinding||(Object.create?function(o,l,a,r){r===void 0&&(r=a);var p=Object.getOwnPropertyDescriptor(l,a);(!p||("get"in p?!l.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return l[a]}}),Object.defineProperty(o,r,p)}:function(o,l,a,r){r===void 0&&(r=a),o[r]=l[a]}),e=DA&&DA.__exportStar||function(o,l){for(var a in o)a!=="default"&&!Object.prototype.hasOwnProperty.call(l,a)&&C(l,o,a)};Object.defineProperty(A,"__esModule",{value:!0}),A.DomHandler=void 0;var n=vt,t=eC;e(eC,A);var i={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},s=function(){function o(l,a,r){this.dom=[],this.root=new t.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof a=="function"&&(r=a,a=i),typeof l=="object"&&(a=l,l=void 0),this.callback=l??null,this.options=a??i,this.elementCB=r??null}return o.prototype.onparserinit=function(l){this.parser=l},o.prototype.onreset=function(){this.dom=[],this.root=new t.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},o.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},o.prototype.onerror=function(l){this.handleCallback(l)},o.prototype.onclosetag=function(){this.lastNode=null;var l=this.tagStack.pop();this.options.withEndIndices&&(l.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(l)},o.prototype.onopentag=function(l,a){var r=this.options.xmlMode?n.ElementType.Tag:void 0,p=new t.Element(l,a,void 0,r);this.addNode(p),this.tagStack.push(p)},o.prototype.ontext=function(l){var a=this.lastNode;if(a&&a.type===n.ElementType.Text)a.data+=l,this.options.withEndIndices&&(a.endIndex=this.parser.endIndex);else{var r=new t.Text(l);this.addNode(r),this.lastNode=r}},o.prototype.oncomment=function(l){if(this.lastNode&&this.lastNode.type===n.ElementType.Comment){this.lastNode.data+=l;return}var a=new t.Comment(l);this.addNode(a),this.lastNode=a},o.prototype.oncommentend=function(){this.lastNode=null},o.prototype.oncdatastart=function(){var l=new t.Text(""),a=new t.CDATA([l]);this.addNode(a),l.parent=a,this.lastNode=l},o.prototype.oncdataend=function(){this.lastNode=null},o.prototype.onprocessinginstruction=function(l,a){var r=new t.ProcessingInstruction(l,a);this.addNode(r)},o.prototype.handleCallback=function(l){if(typeof this.callback=="function")this.callback(l,this.dom);else if(l)throw l},o.prototype.addNode=function(l){var a=this.tagStack[this.tagStack.length-1],r=a.children[a.children.length-1];this.options.withStartIndices&&(l.startIndex=this.parser.startIndex),this.options.withEndIndices&&(l.endIndex=this.parser.endIndex),a.children.push(l),r&&(l.prev=r,r.next=l),l.parent=a,this.lastNode=null},o}();A.DomHandler=s,A.default=s})(ze);var ps={},le={},Bi={},o1={},Gn={},Kr={};Object.defineProperty(Kr,"__esModule",{value:!0});function zi(A){for(var C=1;C<A.length;C++)A[C][0]+=A[C-1][0]+1;return A}Kr.default=new Map(zi([[9," "],[0," "],[22,"!"],[0,"""],[0,"#"],[0,"$"],[0,"%"],[0,"&"],[0,"'"],[0,"("],[0,")"],[0,"*"],[0,"+"],[0,","],[1,"."],[0,"/"],[10,":"],[0,";"],[0,{v:"<",n:8402,o:"<⃒"}],[0,{v:"=",n:8421,o:"=⃥"}],[0,{v:">",n:8402,o:">⃒"}],[0,"?"],[0,"@"],[26,"["],[0,"\"],[0,"]"],[0,"^"],[0,"_"],[0,"`"],[5,{n:106,o:"fj"}],[20,"{"],[0,"|"],[0,"}"],[34," "],[0,"¡"],[0,"¢"],[0,"£"],[0,"¤"],[0,"¥"],[0,"¦"],[0,"§"],[0,"¨"],[0,"©"],[0,"ª"],[0,"«"],[0,"¬"],[0,"­"],[0,"®"],[0,"¯"],[0,"°"],[0,"±"],[0,"²"],[0,"³"],[0,"´"],[0,"µ"],[0,"¶"],[0,"·"],[0,"¸"],[0,"¹"],[0,"º"],[0,"»"],[0,"¼"],[0,"½"],[0,"¾"],[0,"¿"],[0,"À"],[0,"Á"],[0,"Â"],[0,"Ã"],[0,"Ä"],[0,"Å"],[0,"Æ"],[0,"Ç"],[0,"È"],[0,"É"],[0,"Ê"],[0,"Ë"],[0,"Ì"],[0,"Í"],[0,"Î"],[0,"Ï"],[0,"Ð"],[0,"Ñ"],[0,"Ò"],[0,"Ó"],[0,"Ô"],[0,"Õ"],[0,"Ö"],[0,"×"],[0,"Ø"],[0,"Ù"],[0,"Ú"],[0,"Û"],[0,"Ü"],[0,"Ý"],[0,"Þ"],[0,"ß"],[0,"à"],[0,"á"],[0,"â"],[0,"ã"],[0,"ä"],[0,"å"],[0,"æ"],[0,"ç"],[0,"è"],[0,"é"],[0,"ê"],[0,"ë"],[0,"ì"],[0,"í"],[0,"î"],[0,"ï"],[0,"ð"],[0,"ñ"],[0,"ò"],[0,"ó"],[0,"ô"],[0,"õ"],[0,"ö"],[0,"÷"],[0,"ø"],[0,"ù"],[0,"ú"],[0,"û"],[0,"ü"],[0,"ý"],[0,"þ"],[0,"ÿ"],[0,"Ā"],[0,"ā"],[0,"Ă"],[0,"ă"],[0,"Ą"],[0,"ą"],[0,"Ć"],[0,"ć"],[0,"Ĉ"],[0,"ĉ"],[0,"Ċ"],[0,"ċ"],[0,"Č"],[0,"č"],[0,"Ď"],[0,"ď"],[0,"Đ"],[0,"đ"],[0,"Ē"],[0,"ē"],[2,"Ė"],[0,"ė"],[0,"Ę"],[0,"ę"],[0,"Ě"],[0,"ě"],[0,"Ĝ"],[0,"ĝ"],[0,"Ğ"],[0,"ğ"],[0,"Ġ"],[0,"ġ"],[0,"Ģ"],[1,"Ĥ"],[0,"ĥ"],[0,"Ħ"],[0,"ħ"],[0,"Ĩ"],[0,"ĩ"],[0,"Ī"],[0,"ī"],[2,"Į"],[0,"į"],[0,"İ"],[0,"ı"],[0,"IJ"],[0,"ij"],[0,"Ĵ"],[0,"ĵ"],[0,"Ķ"],[0,"ķ"],[0,"ĸ"],[0,"Ĺ"],[0,"ĺ"],[0,"Ļ"],[0,"ļ"],[0,"Ľ"],[0,"ľ"],[0,"Ŀ"],[0,"ŀ"],[0,"Ł"],[0,"ł"],[0,"Ń"],[0,"ń"],[0,"Ņ"],[0,"ņ"],[0,"Ň"],[0,"ň"],[0,"ʼn"],[0,"Ŋ"],[0,"ŋ"],[0,"Ō"],[0,"ō"],[2,"Ő"],[0,"ő"],[0,"Œ"],[0,"œ"],[0,"Ŕ"],[0,"ŕ"],[0,"Ŗ"],[0,"ŗ"],[0,"Ř"],[0,"ř"],[0,"Ś"],[0,"ś"],[0,"Ŝ"],[0,"ŝ"],[0,"Ş"],[0,"ş"],[0,"Š"],[0,"š"],[0,"Ţ"],[0,"ţ"],[0,"Ť"],[0,"ť"],[0,"Ŧ"],[0,"ŧ"],[0,"Ũ"],[0,"ũ"],[0,"Ū"],[0,"ū"],[0,"Ŭ"],[0,"ŭ"],[0,"Ů"],[0,"ů"],[0,"Ű"],[0,"ű"],[0,"Ų"],[0,"ų"],[0,"Ŵ"],[0,"ŵ"],[0,"Ŷ"],[0,"ŷ"],[0,"Ÿ"],[0,"Ź"],[0,"ź"],[0,"Ż"],[0,"ż"],[0,"Ž"],[0,"ž"],[19,"ƒ"],[34,"Ƶ"],[63,"ǵ"],[65,"ȷ"],[142,"ˆ"],[0,"ˇ"],[16,"˘"],[0,"˙"],[0,"˚"],[0,"˛"],[0,"˜"],[0,"˝"],[51,"̑"],[127,"Α"],[0,"Β"],[0,"Γ"],[0,"Δ"],[0,"Ε"],[0,"Ζ"],[0,"Η"],[0,"Θ"],[0,"Ι"],[0,"Κ"],[0,"Λ"],[0,"Μ"],[0,"Ν"],[0,"Ξ"],[0,"Ο"],[0,"Π"],[0,"Ρ"],[1,"Σ"],[0,"Τ"],[0,"Υ"],[0,"Φ"],[0,"Χ"],[0,"Ψ"],[0,"Ω"],[7,"α"],[0,"β"],[0,"γ"],[0,"δ"],[0,"ε"],[0,"ζ"],[0,"η"],[0,"θ"],[0,"ι"],[0,"κ"],[0,"λ"],[0,"μ"],[0,"ν"],[0,"ξ"],[0,"ο"],[0,"π"],[0,"ρ"],[0,"ς"],[0,"σ"],[0,"τ"],[0,"υ"],[0,"φ"],[0,"χ"],[0,"ψ"],[0,"ω"],[7,"ϑ"],[0,"ϒ"],[2,"ϕ"],[0,"ϖ"],[5,"Ϝ"],[0,"ϝ"],[18,"ϰ"],[0,"ϱ"],[3,"ϵ"],[0,"϶"],[10,"Ё"],[0,"Ђ"],[0,"Ѓ"],[0,"Є"],[0,"Ѕ"],[0,"І"],[0,"Ї"],[0,"Ј"],[0,"Љ"],[0,"Њ"],[0,"Ћ"],[0,"Ќ"],[1,"Ў"],[0,"Џ"],[0,"А"],[0,"Б"],[0,"В"],[0,"Г"],[0,"Д"],[0,"Е"],[0,"Ж"],[0,"З"],[0,"И"],[0,"Й"],[0,"К"],[0,"Л"],[0,"М"],[0,"Н"],[0,"О"],[0,"П"],[0,"Р"],[0,"С"],[0,"Т"],[0,"У"],[0,"Ф"],[0,"Х"],[0,"Ц"],[0,"Ч"],[0,"Ш"],[0,"Щ"],[0,"Ъ"],[0,"Ы"],[0,"Ь"],[0,"Э"],[0,"Ю"],[0,"Я"],[0,"а"],[0,"б"],[0,"в"],[0,"г"],[0,"д"],[0,"е"],[0,"ж"],[0,"з"],[0,"и"],[0,"й"],[0,"к"],[0,"л"],[0,"м"],[0,"н"],[0,"о"],[0,"п"],[0,"р"],[0,"с"],[0,"т"],[0,"у"],[0,"ф"],[0,"х"],[0,"ц"],[0,"ч"],[0,"ш"],[0,"щ"],[0,"ъ"],[0,"ы"],[0,"ь"],[0,"э"],[0,"ю"],[0,"я"],[1,"ё"],[0,"ђ"],[0,"ѓ"],[0,"є"],[0,"ѕ"],[0,"і"],[0,"ї"],[0,"ј"],[0,"љ"],[0,"њ"],[0,"ћ"],[0,"ќ"],[1,"ў"],[0,"џ"],[7074," "],[0," "],[0," "],[0," "],[1," "],[0," "],[0," "],[0," "],[0,"​"],[0,"‌"],[0,"‍"],[0,"‎"],[0,"‏"],[0,"‐"],[2,"–"],[0,"—"],[0,"―"],[0,"‖"],[1,"‘"],[0,"’"],[0,"‚"],[1,"“"],[0,"”"],[0,"„"],[1,"†"],[0,"‡"],[0,"•"],[2,"‥"],[0,"…"],[9,"‰"],[0,"‱"],[0,"′"],[0,"″"],[0,"‴"],[0,"‵"],[3,"‹"],[0,"›"],[3,"‾"],[2,"⁁"],[1,"⁃"],[0,"⁄"],[10,"⁏"],[7,"⁗"],[7,{v:" ",n:8202,o:"  "}],[0,"⁠"],[0,"⁡"],[0,"⁢"],[0,"⁣"],[72,"€"],[46,"⃛"],[0,"⃜"],[37,"ℂ"],[2,"℅"],[4,"ℊ"],[0,"ℋ"],[0,"ℌ"],[0,"ℍ"],[0,"ℎ"],[0,"ℏ"],[0,"ℐ"],[0,"ℑ"],[0,"ℒ"],[0,"ℓ"],[1,"ℕ"],[0,"№"],[0,"℗"],[0,"℘"],[0,"ℙ"],[0,"ℚ"],[0,"ℛ"],[0,"ℜ"],[0,"ℝ"],[0,"℞"],[3,"™"],[1,"ℤ"],[2,"℧"],[0,"ℨ"],[0,"℩"],[2,"ℬ"],[0,"ℭ"],[1,"ℯ"],[0,"ℰ"],[0,"ℱ"],[1,"ℳ"],[0,"ℴ"],[0,"ℵ"],[0,"ℶ"],[0,"ℷ"],[0,"ℸ"],[12,"ⅅ"],[0,"ⅆ"],[0,"ⅇ"],[0,"ⅈ"],[10,"⅓"],[0,"⅔"],[0,"⅕"],[0,"⅖"],[0,"⅗"],[0,"⅘"],[0,"⅙"],[0,"⅚"],[0,"⅛"],[0,"⅜"],[0,"⅝"],[0,"⅞"],[49,"←"],[0,"↑"],[0,"→"],[0,"↓"],[0,"↔"],[0,"↕"],[0,"↖"],[0,"↗"],[0,"↘"],[0,"↙"],[0,"↚"],[0,"↛"],[1,{v:"↝",n:824,o:"↝̸"}],[0,"↞"],[0,"↟"],[0,"↠"],[0,"↡"],[0,"↢"],[0,"↣"],[0,"↤"],[0,"↥"],[0,"↦"],[0,"↧"],[1,"↩"],[0,"↪"],[0,"↫"],[0,"↬"],[0,"↭"],[0,"↮"],[1,"↰"],[0,"↱"],[0,"↲"],[0,"↳"],[1,"↵"],[0,"↶"],[0,"↷"],[2,"↺"],[0,"↻"],[0,"↼"],[0,"↽"],[0,"↾"],[0,"↿"],[0,"⇀"],[0,"⇁"],[0,"⇂"],[0,"⇃"],[0,"⇄"],[0,"⇅"],[0,"⇆"],[0,"⇇"],[0,"⇈"],[0,"⇉"],[0,"⇊"],[0,"⇋"],[0,"⇌"],[0,"⇍"],[0,"⇎"],[0,"⇏"],[0,"⇐"],[0,"⇑"],[0,"⇒"],[0,"⇓"],[0,"⇔"],[0,"⇕"],[0,"⇖"],[0,"⇗"],[0,"⇘"],[0,"⇙"],[0,"⇚"],[0,"⇛"],[1,"⇝"],[6,"⇤"],[0,"⇥"],[15,"⇵"],[7,"⇽"],[0,"⇾"],[0,"⇿"],[0,"∀"],[0,"∁"],[0,{v:"∂",n:824,o:"∂̸"}],[0,"∃"],[0,"∄"],[0,"∅"],[1,"∇"],[0,"∈"],[0,"∉"],[1,"∋"],[0,"∌"],[2,"∏"],[0,"∐"],[0,"∑"],[0,"−"],[0,"∓"],[0,"∔"],[1,"∖"],[0,"∗"],[0,"∘"],[1,"√"],[2,"∝"],[0,"∞"],[0,"∟"],[0,{v:"∠",n:8402,o:"∠⃒"}],[0,"∡"],[0,"∢"],[0,"∣"],[0,"∤"],[0,"∥"],[0,"∦"],[0,"∧"],[0,"∨"],[0,{v:"∩",n:65024,o:"∩︀"}],[0,{v:"∪",n:65024,o:"∪︀"}],[0,"∫"],[0,"∬"],[0,"∭"],[0,"∮"],[0,"∯"],[0,"∰"],[0,"∱"],[0,"∲"],[0,"∳"],[0,"∴"],[0,"∵"],[0,"∶"],[0,"∷"],[0,"∸"],[1,"∺"],[0,"∻"],[0,{v:"∼",n:8402,o:"∼⃒"}],[0,{v:"∽",n:817,o:"∽̱"}],[0,{v:"∾",n:819,o:"∾̳"}],[0,"∿"],[0,"≀"],[0,"≁"],[0,{v:"≂",n:824,o:"≂̸"}],[0,"≃"],[0,"≄"],[0,"≅"],[0,"≆"],[0,"≇"],[0,"≈"],[0,"≉"],[0,"≊"],[0,{v:"≋",n:824,o:"≋̸"}],[0,"≌"],[0,{v:"≍",n:8402,o:"≍⃒"}],[0,{v:"≎",n:824,o:"≎̸"}],[0,{v:"≏",n:824,o:"≏̸"}],[0,{v:"≐",n:824,o:"≐̸"}],[0,"≑"],[0,"≒"],[0,"≓"],[0,"≔"],[0,"≕"],[0,"≖"],[0,"≗"],[1,"≙"],[0,"≚"],[1,"≜"],[2,"≟"],[0,"≠"],[0,{v:"≡",n:8421,o:"≡⃥"}],[0,"≢"],[1,{v:"≤",n:8402,o:"≤⃒"}],[0,{v:"≥",n:8402,o:"≥⃒"}],[0,{v:"≦",n:824,o:"≦̸"}],[0,{v:"≧",n:824,o:"≧̸"}],[0,{v:"≨",n:65024,o:"≨︀"}],[0,{v:"≩",n:65024,o:"≩︀"}],[0,{v:"≪",n:new Map(zi([[824,"≪̸"],[7577,"≪⃒"]]))}],[0,{v:"≫",n:new Map(zi([[824,"≫̸"],[7577,"≫⃒"]]))}],[0,"≬"],[0,"≭"],[0,"≮"],[0,"≯"],[0,"≰"],[0,"≱"],[0,"≲"],[0,"≳"],[0,"≴"],[0,"≵"],[0,"≶"],[0,"≷"],[0,"≸"],[0,"≹"],[0,"≺"],[0,"≻"],[0,"≼"],[0,"≽"],[0,"≾"],[0,{v:"≿",n:824,o:"≿̸"}],[0,"⊀"],[0,"⊁"],[0,{v:"⊂",n:8402,o:"⊂⃒"}],[0,{v:"⊃",n:8402,o:"⊃⃒"}],[0,"⊄"],[0,"⊅"],[0,"⊆"],[0,"⊇"],[0,"⊈"],[0,"⊉"],[0,{v:"⊊",n:65024,o:"⊊︀"}],[0,{v:"⊋",n:65024,o:"⊋︀"}],[1,"⊍"],[0,"⊎"],[0,{v:"⊏",n:824,o:"⊏̸"}],[0,{v:"⊐",n:824,o:"⊐̸"}],[0,"⊑"],[0,"⊒"],[0,{v:"⊓",n:65024,o:"⊓︀"}],[0,{v:"⊔",n:65024,o:"⊔︀"}],[0,"⊕"],[0,"⊖"],[0,"⊗"],[0,"⊘"],[0,"⊙"],[0,"⊚"],[0,"⊛"],[1,"⊝"],[0,"⊞"],[0,"⊟"],[0,"⊠"],[0,"⊡"],[0,"⊢"],[0,"⊣"],[0,"⊤"],[0,"⊥"],[1,"⊧"],[0,"⊨"],[0,"⊩"],[0,"⊪"],[0,"⊫"],[0,"⊬"],[0,"⊭"],[0,"⊮"],[0,"⊯"],[0,"⊰"],[1,"⊲"],[0,"⊳"],[0,{v:"⊴",n:8402,o:"⊴⃒"}],[0,{v:"⊵",n:8402,o:"⊵⃒"}],[0,"⊶"],[0,"⊷"],[0,"⊸"],[0,"⊹"],[0,"⊺"],[0,"⊻"],[1,"⊽"],[0,"⊾"],[0,"⊿"],[0,"⋀"],[0,"⋁"],[0,"⋂"],[0,"⋃"],[0,"⋄"],[0,"⋅"],[0,"⋆"],[0,"⋇"],[0,"⋈"],[0,"⋉"],[0,"⋊"],[0,"⋋"],[0,"⋌"],[0,"⋍"],[0,"⋎"],[0,"⋏"],[0,"⋐"],[0,"⋑"],[0,"⋒"],[0,"⋓"],[0,"⋔"],[0,"⋕"],[0,"⋖"],[0,"⋗"],[0,{v:"⋘",n:824,o:"⋘̸"}],[0,{v:"⋙",n:824,o:"⋙̸"}],[0,{v:"⋚",n:65024,o:"⋚︀"}],[0,{v:"⋛",n:65024,o:"⋛︀"}],[2,"⋞"],[0,"⋟"],[0,"⋠"],[0,"⋡"],[0,"⋢"],[0,"⋣"],[2,"⋦"],[0,"⋧"],[0,"⋨"],[0,"⋩"],[0,"⋪"],[0,"⋫"],[0,"⋬"],[0,"⋭"],[0,"⋮"],[0,"⋯"],[0,"⋰"],[0,"⋱"],[0,"⋲"],[0,"⋳"],[0,"⋴"],[0,{v:"⋵",n:824,o:"⋵̸"}],[0,"⋶"],[0,"⋷"],[1,{v:"⋹",n:824,o:"⋹̸"}],[0,"⋺"],[0,"⋻"],[0,"⋼"],[0,"⋽"],[0,"⋾"],[6,"⌅"],[0,"⌆"],[1,"⌈"],[0,"⌉"],[0,"⌊"],[0,"⌋"],[0,"⌌"],[0,"⌍"],[0,"⌎"],[0,"⌏"],[0,"⌐"],[1,"⌒"],[0,"⌓"],[1,"⌕"],[0,"⌖"],[5,"⌜"],[0,"⌝"],[0,"⌞"],[0,"⌟"],[2,"⌢"],[0,"⌣"],[9,"⌭"],[0,"⌮"],[7,"⌶"],[6,"⌽"],[1,"⌿"],[60,"⍼"],[51,"⎰"],[0,"⎱"],[2,"⎴"],[0,"⎵"],[0,"⎶"],[37,"⏜"],[0,"⏝"],[0,"⏞"],[0,"⏟"],[2,"⏢"],[4,"⏧"],[59,"␣"],[164,"Ⓢ"],[55,"─"],[1,"│"],[9,"┌"],[3,"┐"],[3,"└"],[3,"┘"],[3,"├"],[7,"┤"],[7,"┬"],[7,"┴"],[7,"┼"],[19,"═"],[0,"║"],[0,"╒"],[0,"╓"],[0,"╔"],[0,"╕"],[0,"╖"],[0,"╗"],[0,"╘"],[0,"╙"],[0,"╚"],[0,"╛"],[0,"╜"],[0,"╝"],[0,"╞"],[0,"╟"],[0,"╠"],[0,"╡"],[0,"╢"],[0,"╣"],[0,"╤"],[0,"╥"],[0,"╦"],[0,"╧"],[0,"╨"],[0,"╩"],[0,"╪"],[0,"╫"],[0,"╬"],[19,"▀"],[3,"▄"],[3,"█"],[8,"░"],[0,"▒"],[0,"▓"],[13,"□"],[8,"▪"],[0,"▫"],[1,"▭"],[0,"▮"],[2,"▱"],[1,"△"],[0,"▴"],[0,"▵"],[2,"▸"],[0,"▹"],[3,"▽"],[0,"▾"],[0,"▿"],[2,"◂"],[0,"◃"],[6,"◊"],[0,"○"],[32,"◬"],[2,"◯"],[8,"◸"],[0,"◹"],[0,"◺"],[0,"◻"],[0,"◼"],[8,"★"],[0,"☆"],[7,"☎"],[49,"♀"],[1,"♂"],[29,"♠"],[2,"♣"],[1,"♥"],[0,"♦"],[3,"♪"],[2,"♭"],[0,"♮"],[0,"♯"],[163,"✓"],[3,"✗"],[8,"✠"],[21,"✶"],[33,"❘"],[25,"❲"],[0,"❳"],[84,"⟈"],[0,"⟉"],[28,"⟦"],[0,"⟧"],[0,"⟨"],[0,"⟩"],[0,"⟪"],[0,"⟫"],[0,"⟬"],[0,"⟭"],[7,"⟵"],[0,"⟶"],[0,"⟷"],[0,"⟸"],[0,"⟹"],[0,"⟺"],[1,"⟼"],[2,"⟿"],[258,"⤂"],[0,"⤃"],[0,"⤄"],[0,"⤅"],[6,"⤌"],[0,"⤍"],[0,"⤎"],[0,"⤏"],[0,"⤐"],[0,"⤑"],[0,"⤒"],[0,"⤓"],[2,"⤖"],[2,"⤙"],[0,"⤚"],[0,"⤛"],[0,"⤜"],[0,"⤝"],[0,"⤞"],[0,"⤟"],[0,"⤠"],[2,"⤣"],[0,"⤤"],[0,"⤥"],[0,"⤦"],[0,"⤧"],[0,"⤨"],[0,"⤩"],[0,"⤪"],[8,{v:"⤳",n:824,o:"⤳̸"}],[1,"⤵"],[0,"⤶"],[0,"⤷"],[0,"⤸"],[0,"⤹"],[2,"⤼"],[0,"⤽"],[7,"⥅"],[2,"⥈"],[0,"⥉"],[0,"⥊"],[0,"⥋"],[2,"⥎"],[0,"⥏"],[0,"⥐"],[0,"⥑"],[0,"⥒"],[0,"⥓"],[0,"⥔"],[0,"⥕"],[0,"⥖"],[0,"⥗"],[0,"⥘"],[0,"⥙"],[0,"⥚"],[0,"⥛"],[0,"⥜"],[0,"⥝"],[0,"⥞"],[0,"⥟"],[0,"⥠"],[0,"⥡"],[0,"⥢"],[0,"⥣"],[0,"⥤"],[0,"⥥"],[0,"⥦"],[0,"⥧"],[0,"⥨"],[0,"⥩"],[0,"⥪"],[0,"⥫"],[0,"⥬"],[0,"⥭"],[0,"⥮"],[0,"⥯"],[0,"⥰"],[0,"⥱"],[0,"⥲"],[0,"⥳"],[0,"⥴"],[0,"⥵"],[0,"⥶"],[1,"⥸"],[0,"⥹"],[1,"⥻"],[0,"⥼"],[0,"⥽"],[0,"⥾"],[0,"⥿"],[5,"⦅"],[0,"⦆"],[4,"⦋"],[0,"⦌"],[0,"⦍"],[0,"⦎"],[0,"⦏"],[0,"⦐"],[0,"⦑"],[0,"⦒"],[0,"⦓"],[0,"⦔"],[0,"⦕"],[0,"⦖"],[3,"⦚"],[1,"⦜"],[0,"⦝"],[6,"⦤"],[0,"⦥"],[0,"⦦"],[0,"⦧"],[0,"⦨"],[0,"⦩"],[0,"⦪"],[0,"⦫"],[0,"⦬"],[0,"⦭"],[0,"⦮"],[0,"⦯"],[0,"⦰"],[0,"⦱"],[0,"⦲"],[0,"⦳"],[0,"⦴"],[0,"⦵"],[0,"⦶"],[0,"⦷"],[1,"⦹"],[1,"⦻"],[0,"⦼"],[1,"⦾"],[0,"⦿"],[0,"⧀"],[0,"⧁"],[0,"⧂"],[0,"⧃"],[0,"⧄"],[0,"⧅"],[3,"⧉"],[3,"⧍"],[0,"⧎"],[0,{v:"⧏",n:824,o:"⧏̸"}],[0,{v:"⧐",n:824,o:"⧐̸"}],[11,"⧜"],[0,"⧝"],[0,"⧞"],[4,"⧣"],[0,"⧤"],[0,"⧥"],[5,"⧫"],[8,"⧴"],[1,"⧶"],[9,"⨀"],[0,"⨁"],[0,"⨂"],[1,"⨄"],[1,"⨆"],[5,"⨌"],[0,"⨍"],[2,"⨐"],[0,"⨑"],[0,"⨒"],[0,"⨓"],[0,"⨔"],[0,"⨕"],[0,"⨖"],[0,"⨗"],[10,"⨢"],[0,"⨣"],[0,"⨤"],[0,"⨥"],[0,"⨦"],[0,"⨧"],[1,"⨩"],[0,"⨪"],[2,"⨭"],[0,"⨮"],[0,"⨯"],[0,"⨰"],[0,"⨱"],[1,"⨳"],[0,"⨴"],[0,"⨵"],[0,"⨶"],[0,"⨷"],[0,"⨸"],[0,"⨹"],[0,"⨺"],[0,"⨻"],[0,"⨼"],[2,"⨿"],[0,"⩀"],[1,"⩂"],[0,"⩃"],[0,"⩄"],[0,"⩅"],[0,"⩆"],[0,"⩇"],[0,"⩈"],[0,"⩉"],[0,"⩊"],[0,"⩋"],[0,"⩌"],[0,"⩍"],[2,"⩐"],[2,"⩓"],[0,"⩔"],[0,"⩕"],[0,"⩖"],[0,"⩗"],[0,"⩘"],[1,"⩚"],[0,"⩛"],[0,"⩜"],[0,"⩝"],[1,"⩟"],[6,"⩦"],[3,"⩪"],[2,{v:"⩭",n:824,o:"⩭̸"}],[0,"⩮"],[0,"⩯"],[0,{v:"⩰",n:824,o:"⩰̸"}],[0,"⩱"],[0,"⩲"],[0,"⩳"],[0,"⩴"],[0,"⩵"],[1,"⩷"],[0,"⩸"],[0,"⩹"],[0,"⩺"],[0,"⩻"],[0,"⩼"],[0,{v:"⩽",n:824,o:"⩽̸"}],[0,{v:"⩾",n:824,o:"⩾̸"}],[0,"⩿"],[0,"⪀"],[0,"⪁"],[0,"⪂"],[0,"⪃"],[0,"⪄"],[0,"⪅"],[0,"⪆"],[0,"⪇"],[0,"⪈"],[0,"⪉"],[0,"⪊"],[0,"⪋"],[0,"⪌"],[0,"⪍"],[0,"⪎"],[0,"⪏"],[0,"⪐"],[0,"⪑"],[0,"⪒"],[0,"⪓"],[0,"⪔"],[0,"⪕"],[0,"⪖"],[0,"⪗"],[0,"⪘"],[0,"⪙"],[0,"⪚"],[2,"⪝"],[0,"⪞"],[0,"⪟"],[0,"⪠"],[0,{v:"⪡",n:824,o:"⪡̸"}],[0,{v:"⪢",n:824,o:"⪢̸"}],[1,"⪤"],[0,"⪥"],[0,"⪦"],[0,"⪧"],[0,"⪨"],[0,"⪩"],[0,"⪪"],[0,"⪫"],[0,{v:"⪬",n:65024,o:"⪬︀"}],[0,{v:"⪭",n:65024,o:"⪭︀"}],[0,"⪮"],[0,{v:"⪯",n:824,o:"⪯̸"}],[0,{v:"⪰",n:824,o:"⪰̸"}],[2,"⪳"],[0,"⪴"],[0,"⪵"],[0,"⪶"],[0,"⪷"],[0,"⪸"],[0,"⪹"],[0,"⪺"],[0,"⪻"],[0,"⪼"],[0,"⪽"],[0,"⪾"],[0,"⪿"],[0,"⫀"],[0,"⫁"],[0,"⫂"],[0,"⫃"],[0,"⫄"],[0,{v:"⫅",n:824,o:"⫅̸"}],[0,{v:"⫆",n:824,o:"⫆̸"}],[0,"⫇"],[0,"⫈"],[2,{v:"⫋",n:65024,o:"⫋︀"}],[0,{v:"⫌",n:65024,o:"⫌︀"}],[2,"⫏"],[0,"⫐"],[0,"⫑"],[0,"⫒"],[0,"⫓"],[0,"⫔"],[0,"⫕"],[0,"⫖"],[0,"⫗"],[0,"⫘"],[0,"⫙"],[0,"⫚"],[0,"⫛"],[8,"⫤"],[1,"⫦"],[0,"⫧"],[0,"⫨"],[0,"⫩"],[1,"⫫"],[0,"⫬"],[0,"⫭"],[0,"⫮"],[0,"⫯"],[0,"⫰"],[0,"⫱"],[0,"⫲"],[0,"⫳"],[9,{v:"⫽",n:8421,o:"⫽⃥"}],[44343,{n:new Map(zi([[56476,"𝒜"],[1,"𝒞"],[0,"𝒟"],[2,"𝒢"],[2,"𝒥"],[0,"𝒦"],[2,"𝒩"],[0,"𝒪"],[0,"𝒫"],[0,"𝒬"],[1,"𝒮"],[0,"𝒯"],[0,"𝒰"],[0,"𝒱"],[0,"𝒲"],[0,"𝒳"],[0,"𝒴"],[0,"𝒵"],[0,"𝒶"],[0,"𝒷"],[0,"𝒸"],[0,"𝒹"],[1,"𝒻"],[1,"𝒽"],[0,"𝒾"],[0,"𝒿"],[0,"𝓀"],[0,"𝓁"],[0,"𝓂"],[0,"𝓃"],[1,"𝓅"],[0,"𝓆"],[0,"𝓇"],[0,"𝓈"],[0,"𝓉"],[0,"𝓊"],[0,"𝓋"],[0,"𝓌"],[0,"𝓍"],[0,"𝓎"],[0,"𝓏"],[52,"𝔄"],[0,"𝔅"],[1,"𝔇"],[0,"𝔈"],[0,"𝔉"],[0,"𝔊"],[2,"𝔍"],[0,"𝔎"],[0,"𝔏"],[0,"𝔐"],[0,"𝔑"],[0,"𝔒"],[0,"𝔓"],[0,"𝔔"],[1,"𝔖"],[0,"𝔗"],[0,"𝔘"],[0,"𝔙"],[0,"𝔚"],[0,"𝔛"],[0,"𝔜"],[1,"𝔞"],[0,"𝔟"],[0,"𝔠"],[0,"𝔡"],[0,"𝔢"],[0,"𝔣"],[0,"𝔤"],[0,"𝔥"],[0,"𝔦"],[0,"𝔧"],[0,"𝔨"],[0,"𝔩"],[0,"𝔪"],[0,"𝔫"],[0,"𝔬"],[0,"𝔭"],[0,"𝔮"],[0,"𝔯"],[0,"𝔰"],[0,"𝔱"],[0,"𝔲"],[0,"𝔳"],[0,"𝔴"],[0,"𝔵"],[0,"𝔶"],[0,"𝔷"],[0,"𝔸"],[0,"𝔹"],[1,"𝔻"],[0,"𝔼"],[0,"𝔽"],[0,"𝔾"],[1,"𝕀"],[0,"𝕁"],[0,"𝕂"],[0,"𝕃"],[0,"𝕄"],[1,"𝕆"],[3,"𝕊"],[0,"𝕋"],[0,"𝕌"],[0,"𝕍"],[0,"𝕎"],[0,"𝕏"],[0,"𝕐"],[1,"𝕒"],[0,"𝕓"],[0,"𝕔"],[0,"𝕕"],[0,"𝕖"],[0,"𝕗"],[0,"𝕘"],[0,"𝕙"],[0,"𝕚"],[0,"𝕛"],[0,"𝕜"],[0,"𝕝"],[0,"𝕞"],[0,"𝕟"],[0,"𝕠"],[0,"𝕡"],[0,"𝕢"],[0,"𝕣"],[0,"𝕤"],[0,"𝕥"],[0,"𝕦"],[0,"𝕧"],[0,"𝕨"],[0,"𝕩"],[0,"𝕪"],[0,"𝕫"]]))}],[8906,"ff"],[0,"fi"],[0,"fl"],[0,"ffi"],[0,"ffl"]]));var Rs={};(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.escapeText=A.escapeAttribute=A.escapeUTF8=A.escape=A.encodeXML=A.getCodePoint=A.xmlReplacer=void 0,A.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var C=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);A.getCodePoint=String.prototype.codePointAt!=null?function(t,i){return t.codePointAt(i)}:function(t,i){return(t.charCodeAt(i)&64512)===55296?(t.charCodeAt(i)-55296)*1024+t.charCodeAt(i+1)-56320+65536:t.charCodeAt(i)};function e(t){for(var i="",s=0,o;(o=A.xmlReplacer.exec(t))!==null;){var l=o.index,a=t.charCodeAt(l),r=C.get(a);r!==void 0?(i+=t.substring(s,l)+r,s=l+1):(i+="".concat(t.substring(s,l),"&#x").concat((0,A.getCodePoint)(t,l).toString(16),";"),s=A.xmlReplacer.lastIndex+=+((a&64512)===55296))}return i+t.substr(s)}A.encodeXML=e,A.escape=e;function n(t,i){return function(o){for(var l,a=0,r="";l=t.exec(o);)a!==l.index&&(r+=o.substring(a,l.index)),r+=i.get(l[0].charCodeAt(0)),a=l.index+1;return r+o.substring(a)}}A.escapeUTF8=n(/[&<>'"]/g,C),A.escapeAttribute=n(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),A.escapeText=n(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))})(Rs);var j5=DA&&DA.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(Gn,"__esModule",{value:!0});Gn.encodeNonAsciiHTML=Gn.encodeHTML=void 0;var I5=j5(Kr),l1=Rs,M5=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function D5(A){return a1(M5,A)}Gn.encodeHTML=D5;function P5(A){return a1(l1.xmlReplacer,A)}Gn.encodeNonAsciiHTML=P5;function a1(A,C){for(var e="",n=0,t;(t=A.exec(C))!==null;){var i=t.index;e+=C.substring(n,i);var s=C.charCodeAt(i),o=I5.default.get(s);if(typeof o=="object"){if(i+1<C.length){var l=C.charCodeAt(i+1),a=typeof o.n=="number"?o.n===l?o.o:void 0:o.n.get(l);if(a!==void 0){e+=a,n=A.lastIndex+=1;continue}}o=o.v}if(o!==void 0)e+=o,n=i+1;else{var r=(0,l1.getCodePoint)(C,i);e+="&#x".concat(r.toString(16),";"),n=A.lastIndex+=+(r!==s)}}return e+C.substr(n)}(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.decodeXMLStrict=A.decodeHTML5Strict=A.decodeHTML4Strict=A.decodeHTML5=A.decodeHTML4=A.decodeHTMLAttribute=A.decodeHTMLStrict=A.decodeHTML=A.decodeXML=A.DecodingMode=A.EntityDecoder=A.encodeHTML5=A.encodeHTML4=A.encodeNonAsciiHTML=A.encodeHTML=A.escapeText=A.escapeAttribute=A.escapeUTF8=A.escape=A.encodeXML=A.encode=A.decodeStrict=A.decode=A.EncodingMode=A.EntityLevel=void 0;var C=ri,e=Gn,n=Rs,t;(function(d){d[d.XML=0]="XML",d[d.HTML=1]="HTML"})(t=A.EntityLevel||(A.EntityLevel={}));var i;(function(d){d[d.UTF8=0]="UTF8",d[d.ASCII=1]="ASCII",d[d.Extensive=2]="Extensive",d[d.Attribute=3]="Attribute",d[d.Text=4]="Text"})(i=A.EncodingMode||(A.EncodingMode={}));function s(d,m){m===void 0&&(m=t.XML);var g=typeof m=="number"?m:m.level;if(g===t.HTML){var y=typeof m=="object"?m.mode:void 0;return(0,C.decodeHTML)(d,y)}return(0,C.decodeXML)(d)}A.decode=s;function o(d,m){var g;m===void 0&&(m=t.XML);var y=typeof m=="number"?{level:m}:m;return(g=y.mode)!==null&&g!==void 0||(y.mode=C.DecodingMode.Strict),s(d,y)}A.decodeStrict=o;function l(d,m){m===void 0&&(m=t.XML);var g=typeof m=="number"?{level:m}:m;return g.mode===i.UTF8?(0,n.escapeUTF8)(d):g.mode===i.Attribute?(0,n.escapeAttribute)(d):g.mode===i.Text?(0,n.escapeText)(d):g.level===t.HTML?g.mode===i.ASCII?(0,e.encodeNonAsciiHTML)(d):(0,e.encodeHTML)(d):(0,n.encodeXML)(d)}A.encode=l;var a=Rs;Object.defineProperty(A,"encodeXML",{enumerable:!0,get:function(){return a.encodeXML}}),Object.defineProperty(A,"escape",{enumerable:!0,get:function(){return a.escape}}),Object.defineProperty(A,"escapeUTF8",{enumerable:!0,get:function(){return a.escapeUTF8}}),Object.defineProperty(A,"escapeAttribute",{enumerable:!0,get:function(){return a.escapeAttribute}}),Object.defineProperty(A,"escapeText",{enumerable:!0,get:function(){return a.escapeText}});var r=Gn;Object.defineProperty(A,"encodeHTML",{enumerable:!0,get:function(){return r.encodeHTML}}),Object.defineProperty(A,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return r.encodeNonAsciiHTML}}),Object.defineProperty(A,"encodeHTML4",{enumerable:!0,get:function(){return r.encodeHTML}}),Object.defineProperty(A,"encodeHTML5",{enumerable:!0,get:function(){return r.encodeHTML}});var p=ri;Object.defineProperty(A,"EntityDecoder",{enumerable:!0,get:function(){return p.EntityDecoder}}),Object.defineProperty(A,"DecodingMode",{enumerable:!0,get:function(){return p.DecodingMode}}),Object.defineProperty(A,"decodeXML",{enumerable:!0,get:function(){return p.decodeXML}}),Object.defineProperty(A,"decodeHTML",{enumerable:!0,get:function(){return p.decodeHTML}}),Object.defineProperty(A,"decodeHTMLStrict",{enumerable:!0,get:function(){return p.decodeHTMLStrict}}),Object.defineProperty(A,"decodeHTMLAttribute",{enumerable:!0,get:function(){return p.decodeHTMLAttribute}}),Object.defineProperty(A,"decodeHTML4",{enumerable:!0,get:function(){return p.decodeHTML}}),Object.defineProperty(A,"decodeHTML5",{enumerable:!0,get:function(){return p.decodeHTML}}),Object.defineProperty(A,"decodeHTML4Strict",{enumerable:!0,get:function(){return p.decodeHTMLStrict}}),Object.defineProperty(A,"decodeHTML5Strict",{enumerable:!0,get:function(){return p.decodeHTMLStrict}}),Object.defineProperty(A,"decodeXMLStrict",{enumerable:!0,get:function(){return p.decodeXML}})})(o1);var ut={};Object.defineProperty(ut,"__esModule",{value:!0});ut.attributeNames=ut.elementNames=void 0;ut.elementNames=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(function(A){return[A.toLowerCase(),A]}));ut.attributeNames=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(function(A){return[A.toLowerCase(),A]}));var At=DA&&DA.__assign||function(){return At=Object.assign||function(A){for(var C,e=1,n=arguments.length;e<n;e++){C=arguments[e];for(var t in C)Object.prototype.hasOwnProperty.call(C,t)&&(A[t]=C[t])}return A},At.apply(this,arguments)},O5=DA&&DA.__createBinding||(Object.create?function(A,C,e,n){n===void 0&&(n=e);var t=Object.getOwnPropertyDescriptor(C,e);(!t||("get"in t?!C.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return C[e]}}),Object.defineProperty(A,n,t)}:function(A,C,e,n){n===void 0&&(n=e),A[n]=C[e]}),L5=DA&&DA.__setModuleDefault||(Object.create?function(A,C){Object.defineProperty(A,"default",{enumerable:!0,value:C})}:function(A,C){A.default=C}),K5=DA&&DA.__importStar||function(A){if(A&&A.__esModule)return A;var C={};if(A!=null)for(var e in A)e!=="default"&&Object.prototype.hasOwnProperty.call(A,e)&&O5(C,A,e);return L5(C,A),C};Object.defineProperty(Bi,"__esModule",{value:!0});Bi.render=void 0;var Te=K5(vt),Gs=o1,r1=ut,F5=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function T5(A){return A.replace(/"/g,""")}function N5(A,C){var e;if(A){var n=((e=C.encodeEntities)!==null&&e!==void 0?e:C.decodeEntities)===!1?T5:C.xmlMode||C.encodeEntities!=="utf8"?Gs.encodeXML:Gs.escapeAttribute;return Object.keys(A).map(function(t){var i,s,o=(i=A[t])!==null&&i!==void 0?i:"";return C.xmlMode==="foreign"&&(t=(s=r1.attributeNames.get(t))!==null&&s!==void 0?s:t),!C.emptyAttrs&&!C.xmlMode&&o===""?t:"".concat(t,'="').concat(n(o),'"')}).join(" ")}}var cm=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function xo(A,C){C===void 0&&(C={});for(var e=("length"in A)?A:[A],n="",t=0;t<e.length;t++)n+=$5(e[t],C);return n}Bi.render=xo;Bi.default=xo;function $5(A,C){switch(A.type){case Te.Root:return xo(A.children,C);case Te.Doctype:case Te.Directive:return Q5(A);case Te.Comment:return z5(A);case Te.CDATA:return V5(A);case Te.Script:case Te.Style:case Te.Tag:return U5(A,C);case Te.Text:return H5(A,C)}}var R5=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),G5=new Set(["svg","math"]);function U5(A,C){var e;C.xmlMode==="foreign"&&(A.name=(e=r1.elementNames.get(A.name))!==null&&e!==void 0?e:A.name,A.parent&&R5.has(A.parent.name)&&(C=At(At({},C),{xmlMode:!1}))),!C.xmlMode&&G5.has(A.name)&&(C=At(At({},C),{xmlMode:"foreign"}));var n="<".concat(A.name),t=N5(A.attribs,C);return t&&(n+=" ".concat(t)),A.children.length===0&&(C.xmlMode?C.selfClosingTags!==!1:C.selfClosingTags&&cm.has(A.name))?(C.xmlMode||(n+=" "),n+="/>"):(n+=">",A.children.length>0&&(n+=xo(A.children,C)),(C.xmlMode||!cm.has(A.name))&&(n+="</".concat(A.name,">"))),n}function Q5(A){return"<".concat(A.data,">")}function H5(A,C){var e,n=A.data||"";return((e=C.encodeEntities)!==null&&e!==void 0?e:C.decodeEntities)!==!1&&!(!C.xmlMode&&A.parent&&F5.has(A.parent.name))&&(n=C.xmlMode||C.encodeEntities!=="utf8"?(0,Gs.encodeXML)(n):(0,Gs.escapeText)(n)),n}function V5(A){return"<![CDATA[".concat(A.children[0].data,"]]>")}function z5(A){return"<!--".concat(A.data,"-->")}var q5=DA&&DA.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(le,"__esModule",{value:!0});le.innerText=le.textContent=le.getText=le.getInnerHTML=le.getOuterHTML=void 0;var Oe=ze,W5=q5(Bi),Y5=vt;function c1(A,C){return(0,W5.default)(A,C)}le.getOuterHTML=c1;function J5(A,C){return(0,Oe.hasChildren)(A)?A.children.map(function(e){return c1(e,C)}).join(""):""}le.getInnerHTML=J5;function fs(A){return Array.isArray(A)?A.map(fs).join(""):(0,Oe.isTag)(A)?A.name==="br"?` -`:fs(A.children):(0,Oe.isCDATA)(A)?fs(A.children):(0,Oe.isText)(A)?A.data:""}le.getText=fs;function Aa(A){return Array.isArray(A)?A.map(Aa).join(""):(0,Oe.hasChildren)(A)&&!(0,Oe.isComment)(A)?Aa(A.children):(0,Oe.isText)(A)?A.data:""}le.textContent=Aa;function Ca(A){return Array.isArray(A)?A.map(Ca).join(""):(0,Oe.hasChildren)(A)&&(A.type===Y5.ElementType.Tag||(0,Oe.isCDATA)(A))?Ca(A.children):(0,Oe.isText)(A)?A.data:""}le.innerText=Ca;var $C={};Object.defineProperty($C,"__esModule",{value:!0});$C.prevElementSibling=$C.nextElementSibling=$C.getName=$C.hasAttrib=$C.getAttributeValue=$C.getSiblings=$C.getParent=$C.getChildren=void 0;var Fr=ze;function u1(A){return(0,Fr.hasChildren)(A)?A.children:[]}$C.getChildren=u1;function m1(A){return A.parent||null}$C.getParent=m1;function X5(A){var C,e,n=m1(A);if(n!=null)return u1(n);for(var t=[A],i=A.prev,s=A.next;i!=null;)t.unshift(i),C=i,i=C.prev;for(;s!=null;)t.push(s),e=s,s=e.next;return t}$C.getSiblings=X5;function Z5(A,C){var e;return(e=A.attribs)===null||e===void 0?void 0:e[C]}$C.getAttributeValue=Z5;function A8(A,C){return A.attribs!=null&&Object.prototype.hasOwnProperty.call(A.attribs,C)&&A.attribs[C]!=null}$C.hasAttrib=A8;function C8(A){return A.name}$C.getName=C8;function e8(A){for(var C,e=A.next;e!==null&&!(0,Fr.isTag)(e);)C=e,e=C.next;return e}$C.nextElementSibling=e8;function n8(A){for(var C,e=A.prev;e!==null&&!(0,Fr.isTag)(e);)C=e,e=C.prev;return e}$C.prevElementSibling=n8;var XC={};Object.defineProperty(XC,"__esModule",{value:!0});XC.prepend=XC.prependChild=XC.append=XC.appendChild=XC.replaceElement=XC.removeElement=void 0;function Si(A){if(A.prev&&(A.prev.next=A.next),A.next&&(A.next.prev=A.prev),A.parent){var C=A.parent.children,e=C.lastIndexOf(A);e>=0&&C.splice(e,1)}A.next=null,A.prev=null,A.parent=null}XC.removeElement=Si;function t8(A,C){var e=C.prev=A.prev;e&&(e.next=C);var n=C.next=A.next;n&&(n.prev=C);var t=C.parent=A.parent;if(t){var i=t.children;i[i.lastIndexOf(A)]=C,A.parent=null}}XC.replaceElement=t8;function i8(A,C){if(Si(C),C.next=null,C.parent=A,A.children.push(C)>1){var e=A.children[A.children.length-2];e.next=C,C.prev=e}else C.prev=null}XC.appendChild=i8;function s8(A,C){Si(C);var e=A.parent,n=A.next;if(C.next=n,C.prev=A,A.next=C,C.parent=e,n){if(n.prev=C,e){var t=e.children;t.splice(t.lastIndexOf(n),0,C)}}else e&&e.children.push(C)}XC.append=s8;function o8(A,C){if(Si(C),C.parent=A,C.prev=null,A.children.unshift(C)!==1){var e=A.children[1];e.prev=C,C.next=e}else C.next=null}XC.prependChild=o8;function l8(A,C){Si(C);var e=A.parent;if(e){var n=e.children;n.splice(n.indexOf(A),0,C)}A.prev&&(A.prev.next=C),C.parent=e,C.prev=A.prev,C.next=A,A.prev=C}XC.prepend=l8;var qC={};Object.defineProperty(qC,"__esModule",{value:!0});qC.findAll=qC.existsOne=qC.findOne=qC.findOneChild=qC.find=qC.filter=void 0;var jo=ze;function a8(A,C,e,n){return e===void 0&&(e=!0),n===void 0&&(n=1/0),d1(A,Array.isArray(C)?C:[C],e,n)}qC.filter=a8;function d1(A,C,e,n){for(var t=[],i=[C],s=[0];;){if(s[0]>=i[0].length){if(s.length===1)return t;i.shift(),s.shift();continue}var o=i[0][s[0]++];if(A(o)&&(t.push(o),--n<=0))return t;e&&(0,jo.hasChildren)(o)&&o.children.length>0&&(s.unshift(0),i.unshift(o.children))}}qC.find=d1;function r8(A,C){return C.find(A)}qC.findOneChild=r8;function p1(A,C,e){e===void 0&&(e=!0);for(var n=null,t=0;t<C.length&&!n;t++){var i=C[t];if((0,jo.isTag)(i))A(i)?n=i:e&&i.children.length>0&&(n=p1(A,i.children,!0));else continue}return n}qC.findOne=p1;function f1(A,C){return C.some(function(e){return(0,jo.isTag)(e)&&(A(e)||f1(A,e.children))})}qC.existsOne=f1;function c8(A,C){for(var e=[],n=[C],t=[0];;){if(t[0]>=n[0].length){if(n.length===1)return e;n.shift(),t.shift();continue}var i=n[0][t[0]++];(0,jo.isTag)(i)&&(A(i)&&e.push(i),i.children.length>0&&(t.unshift(0),n.unshift(i.children)))}}qC.findAll=c8;var ae={};Object.defineProperty(ae,"__esModule",{value:!0});ae.getElementsByTagType=ae.getElementsByTagName=ae.getElementById=ae.getElements=ae.testElement=void 0;var In=ze,Io=qC,Us={tag_name:function(A){return typeof A=="function"?function(C){return(0,In.isTag)(C)&&A(C.name)}:A==="*"?In.isTag:function(C){return(0,In.isTag)(C)&&C.name===A}},tag_type:function(A){return typeof A=="function"?function(C){return A(C.type)}:function(C){return C.type===A}},tag_contains:function(A){return typeof A=="function"?function(C){return(0,In.isText)(C)&&A(C.data)}:function(C){return(0,In.isText)(C)&&C.data===A}}};function h1(A,C){return typeof C=="function"?function(e){return(0,In.isTag)(e)&&C(e.attribs[A])}:function(e){return(0,In.isTag)(e)&&e.attribs[A]===C}}function u8(A,C){return function(e){return A(e)||C(e)}}function g1(A){var C=Object.keys(A).map(function(e){var n=A[e];return Object.prototype.hasOwnProperty.call(Us,e)?Us[e](n):h1(e,n)});return C.length===0?null:C.reduce(u8)}function m8(A,C){var e=g1(A);return e?e(C):!0}ae.testElement=m8;function d8(A,C,e,n){n===void 0&&(n=1/0);var t=g1(A);return t?(0,Io.filter)(t,C,e,n):[]}ae.getElements=d8;function p8(A,C,e){return e===void 0&&(e=!0),Array.isArray(C)||(C=[C]),(0,Io.findOne)(h1("id",A),C,e)}ae.getElementById=p8;function f8(A,C,e,n){return e===void 0&&(e=!0),n===void 0&&(n=1/0),(0,Io.filter)(Us.tag_name(A),C,e,n)}ae.getElementsByTagName=f8;function h8(A,C,e,n){return e===void 0&&(e=!0),n===void 0&&(n=1/0),(0,Io.filter)(Us.tag_type(A),C,e,n)}ae.getElementsByTagType=h8;var b1={};(function(A){Object.defineProperty(A,"__esModule",{value:!0}),A.uniqueSort=A.compareDocumentPosition=A.DocumentPosition=A.removeSubsets=void 0;var C=ze;function e(s){for(var o=s.length;--o>=0;){var l=s[o];if(o>0&&s.lastIndexOf(l,o-1)>=0){s.splice(o,1);continue}for(var a=l.parent;a;a=a.parent)if(s.includes(a)){s.splice(o,1);break}}return s}A.removeSubsets=e;var n;(function(s){s[s.DISCONNECTED=1]="DISCONNECTED",s[s.PRECEDING=2]="PRECEDING",s[s.FOLLOWING=4]="FOLLOWING",s[s.CONTAINS=8]="CONTAINS",s[s.CONTAINED_BY=16]="CONTAINED_BY"})(n=A.DocumentPosition||(A.DocumentPosition={}));function t(s,o){var l=[],a=[];if(s===o)return 0;for(var r=(0,C.hasChildren)(s)?s:s.parent;r;)l.unshift(r),r=r.parent;for(r=(0,C.hasChildren)(o)?o:o.parent;r;)a.unshift(r),r=r.parent;for(var p=Math.min(l.length,a.length),d=0;d<p&&l[d]===a[d];)d++;if(d===0)return n.DISCONNECTED;var m=l[d-1],g=m.children,y=l[d],k=a[d];return g.indexOf(y)>g.indexOf(k)?m===o?n.FOLLOWING|n.CONTAINED_BY:n.FOLLOWING:m===s?n.PRECEDING|n.CONTAINS:n.PRECEDING}A.compareDocumentPosition=t;function i(s){return s=s.filter(function(o,l,a){return!a.includes(o,l+1)}),s.sort(function(o,l){var a=t(o,l);return a&n.PRECEDING?-1:a&n.FOLLOWING?1:0}),s}A.uniqueSort=i})(b1);var Mo={};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.getFeed=void 0;var g8=le,ki=ae;function b8(A){var C=Qs(B8,A);return C?C.name==="feed"?E8(C):y8(C):null}Mo.getFeed=b8;function E8(A){var C,e=A.children,n={type:"atom",items:(0,ki.getElementsByTagName)("entry",e).map(function(s){var o,l=s.children,a={media:E1(l)};JC(a,"id","id",l),JC(a,"title","title",l);var r=(o=Qs("link",l))===null||o===void 0?void 0:o.attribs.href;r&&(a.link=r);var p=cn("summary",l)||cn("content",l);p&&(a.description=p);var d=cn("updated",l);return d&&(a.pubDate=new Date(d)),a})};JC(n,"id","id",e),JC(n,"title","title",e);var t=(C=Qs("link",e))===null||C===void 0?void 0:C.attribs.href;t&&(n.link=t),JC(n,"description","subtitle",e);var i=cn("updated",e);return i&&(n.updated=new Date(i)),JC(n,"author","email",e,!0),n}function y8(A){var C,e,n=(e=(C=Qs("channel",A.children))===null||C===void 0?void 0:C.children)!==null&&e!==void 0?e:[],t={type:A.name.substr(0,3),id:"",items:(0,ki.getElementsByTagName)("item",A.children).map(function(s){var o=s.children,l={media:E1(o)};JC(l,"id","guid",o),JC(l,"title","title",o),JC(l,"link","link",o),JC(l,"description","description",o);var a=cn("pubDate",o)||cn("dc:date",o);return a&&(l.pubDate=new Date(a)),l})};JC(t,"title","title",n),JC(t,"link","link",n),JC(t,"description","description",n);var i=cn("lastBuildDate",n);return i&&(t.updated=new Date(i)),JC(t,"author","managingEditor",n,!0),t}var v8=["url","type","lang"],w8=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function E1(A){return(0,ki.getElementsByTagName)("media:content",A).map(function(C){for(var e=C.attribs,n={medium:e.medium,isDefault:!!e.isDefault},t=0,i=v8;t<i.length;t++){var s=i[t];e[s]&&(n[s]=e[s])}for(var o=0,l=w8;o<l.length;o++){var s=l[o];e[s]&&(n[s]=parseInt(e[s],10))}return e.expression&&(n.expression=e.expression),n})}function Qs(A,C){return(0,ki.getElementsByTagName)(A,C,!0,1)[0]}function cn(A,C,e){return e===void 0&&(e=!1),(0,g8.textContent)((0,ki.getElementsByTagName)(A,C,e,1)).trim()}function JC(A,C,e,n,t){t===void 0&&(t=!1);var i=cn(e,n,t);i&&(A[C]=i)}function B8(A){return A==="rss"||A==="feed"||A==="rdf:RDF"}(function(A){var C=DA&&DA.__createBinding||(Object.create?function(t,i,s,o){o===void 0&&(o=s);var l=Object.getOwnPropertyDescriptor(i,s);(!l||("get"in l?!i.__esModule:l.writable||l.configurable))&&(l={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(t,o,l)}:function(t,i,s,o){o===void 0&&(o=s),t[o]=i[s]}),e=DA&&DA.__exportStar||function(t,i){for(var s in t)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&C(i,t,s)};Object.defineProperty(A,"__esModule",{value:!0}),A.hasChildren=A.isDocument=A.isComment=A.isText=A.isCDATA=A.isTag=void 0,e(le,A),e($C,A),e(XC,A),e(qC,A),e(ae,A),e(b1,A),e(Mo,A);var n=ze;Object.defineProperty(A,"isTag",{enumerable:!0,get:function(){return n.isTag}}),Object.defineProperty(A,"isCDATA",{enumerable:!0,get:function(){return n.isCDATA}}),Object.defineProperty(A,"isText",{enumerable:!0,get:function(){return n.isText}}),Object.defineProperty(A,"isComment",{enumerable:!0,get:function(){return n.isComment}}),Object.defineProperty(A,"isDocument",{enumerable:!0,get:function(){return n.isDocument}}),Object.defineProperty(A,"hasChildren",{enumerable:!0,get:function(){return n.hasChildren}})})(ps);(function(A){var C=DA&&DA.__createBinding||(Object.create?function(_,R,F,J){J===void 0&&(J=F);var nA=Object.getOwnPropertyDescriptor(R,F);(!nA||("get"in nA?!R.__esModule:nA.writable||nA.configurable))&&(nA={enumerable:!0,get:function(){return R[F]}}),Object.defineProperty(_,J,nA)}:function(_,R,F,J){J===void 0&&(J=F),_[J]=R[F]}),e=DA&&DA.__setModuleDefault||(Object.create?function(_,R){Object.defineProperty(_,"default",{enumerable:!0,value:R})}:function(_,R){_.default=R}),n=DA&&DA.__importStar||function(_){if(_&&_.__esModule)return _;var R={};if(_!=null)for(var F in _)F!=="default"&&Object.prototype.hasOwnProperty.call(_,F)&&C(R,_,F);return e(R,_),R},t=DA&&DA.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};Object.defineProperty(A,"__esModule",{value:!0}),A.DomUtils=A.parseFeed=A.getFeed=A.ElementType=A.Tokenizer=A.createDomStream=A.parseDOM=A.parseDocument=A.DefaultHandler=A.DomHandler=A.Parser=void 0;var i=ai,s=ai;Object.defineProperty(A,"Parser",{enumerable:!0,get:function(){return s.Parser}});var o=ze,l=ze;Object.defineProperty(A,"DomHandler",{enumerable:!0,get:function(){return l.DomHandler}}),Object.defineProperty(A,"DefaultHandler",{enumerable:!0,get:function(){return l.DomHandler}});function a(_,R){var F=new o.DomHandler(void 0,R);return new i.Parser(F,R).end(_),F.root}A.parseDocument=a;function r(_,R){return a(_,R).children}A.parseDOM=r;function p(_,R,F){var J=new o.DomHandler(_,R,F);return new i.Parser(J,R)}A.createDomStream=p;var d=Mr;Object.defineProperty(A,"Tokenizer",{enumerable:!0,get:function(){return t(d).default}}),A.ElementType=n(vt);var m=ps,g=ps;Object.defineProperty(A,"getFeed",{enumerable:!0,get:function(){return g.getFeed}});var y={xmlMode:!0};function k(_,R){return R===void 0&&(R=y),(0,m.getFeed)(r(_,R))}A.parseFeed=k,A.DomUtils=n(ps)})(q0);var S8=A=>{if(typeof A!="string")throw new TypeError("Expected a string");return A.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")},Tr={};Object.defineProperty(Tr,"__esModule",{value:!0});/*! - * is-plain-object <https://github.com/jonschlinkert/is-plain-object> - * - * Copyright (c) 2014-2017, Jon Schlinkert. - * Released under the MIT License. - */function um(A){return Object.prototype.toString.call(A)==="[object Object]"}function k8(A){var C,e;return um(A)===!1?!1:(C=A.constructor,C===void 0?!0:(e=C.prototype,!(um(e)===!1||e.hasOwnProperty("isPrototypeOf")===!1)))}Tr.isPlainObject=k8;var _8=function(C){return x8(C)&&!j8(C)};function x8(A){return!!A&&typeof A=="object"}function j8(A){var C=Object.prototype.toString.call(A);return C==="[object RegExp]"||C==="[object Date]"||D8(A)}var I8=typeof Symbol=="function"&&Symbol.for,M8=I8?Symbol.for("react.element"):60103;function D8(A){return A.$$typeof===M8}function P8(A){return Array.isArray(A)?[]:{}}function ci(A,C){return C.clone!==!1&&C.isMergeableObject(A)?mt(P8(A),A,C):A}function O8(A,C,e){return A.concat(C).map(function(n){return ci(n,e)})}function L8(A,C){if(!C.customMerge)return mt;var e=C.customMerge(A);return typeof e=="function"?e:mt}function K8(A){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(A).filter(function(C){return Object.propertyIsEnumerable.call(A,C)}):[]}function mm(A){return Object.keys(A).concat(K8(A))}function y1(A,C){try{return C in A}catch{return!1}}function F8(A,C){return y1(A,C)&&!(Object.hasOwnProperty.call(A,C)&&Object.propertyIsEnumerable.call(A,C))}function T8(A,C,e){var n={};return e.isMergeableObject(A)&&mm(A).forEach(function(t){n[t]=ci(A[t],e)}),mm(C).forEach(function(t){F8(A,t)||(y1(A,t)&&e.isMergeableObject(C[t])?n[t]=L8(t,e)(A[t],C[t],e):n[t]=ci(C[t],e))}),n}function mt(A,C,e){e=e||{},e.arrayMerge=e.arrayMerge||O8,e.isMergeableObject=e.isMergeableObject||_8,e.cloneUnlessOtherwiseSpecified=ci;var n=Array.isArray(C),t=Array.isArray(A),i=n===t;return i?n?e.arrayMerge(A,C,e):T8(A,C,e):ci(C,e)}mt.all=function(C,e){if(!Array.isArray(C))throw new Error("first argument should be an array");return C.reduce(function(n,t){return mt(n,t,e)},{})};var N8=mt,$8=N8,v1={exports:{}};(function(A){(function(C,e){A.exports?A.exports=e():C.parseSrcset=e()})(DA,function(){return function(C){function e(J){return J===" "||J===" "||J===` -`||J==="\f"||J==="\r"}function n(J){var nA,CA=J.exec(C.substring(k));if(CA)return nA=CA[0],k+=nA.length,nA}for(var t=C.length,i=/^[ \t\n\r\u000c]+/,s=/^[, \t\n\r\u000c]+/,o=/^[^ \t\n\r\u000c]+/,l=/[,]+$/,a=/^\d+$/,r=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,p,d,m,g,y,k=0,_=[];;){if(n(s),k>=t)return _;p=n(o),d=[],p.slice(-1)===","?(p=p.replace(l,""),F()):R()}function R(){for(n(i),m="",g="in descriptor";;){if(y=C.charAt(k),g==="in descriptor")if(e(y))m&&(d.push(m),m="",g="after descriptor");else if(y===","){k+=1,m&&d.push(m),F();return}else if(y==="(")m=m+y,g="in parens";else if(y===""){m&&d.push(m),F();return}else m=m+y;else if(g==="in parens")if(y===")")m=m+y,g="in descriptor";else if(y===""){d.push(m),F();return}else m=m+y;else if(g==="after descriptor"&&!e(y))if(y===""){F();return}else g="in descriptor",k-=1;k+=1}}function F(){var J=!1,nA,CA,LA,X,pA={},uA,I,O,q,z;for(X=0;X<d.length;X++)uA=d[X],I=uA[uA.length-1],O=uA.substring(0,uA.length-1),q=parseInt(O,10),z=parseFloat(O),a.test(O)&&I==="w"?((nA||CA)&&(J=!0),q===0?J=!0:nA=q):r.test(O)&&I==="x"?((nA||CA||LA)&&(J=!0),z<0?J=!0:CA=z):a.test(O)&&I==="h"?((LA||CA)&&(J=!0),q===0?J=!0:LA=q):J=!0;J?console&&console.log&&console.log("Invalid srcset descriptor found in '"+C+"' at '"+uA+"'."):(pA.url=p,nA&&(pA.w=nA),CA&&(pA.d=CA),LA&&(pA.h=LA),_.push(pA))}}})})(v1);var R8=v1.exports,Nr={exports:{}},xC=String,w1=function(){return{isColorSupported:!1,reset:xC,bold:xC,dim:xC,italic:xC,underline:xC,inverse:xC,hidden:xC,strikethrough:xC,black:xC,red:xC,green:xC,yellow:xC,blue:xC,magenta:xC,cyan:xC,white:xC,gray:xC,bgBlack:xC,bgRed:xC,bgGreen:xC,bgYellow:xC,bgBlue:xC,bgMagenta:xC,bgCyan:xC,bgWhite:xC}};Nr.exports=w1();Nr.exports.createColors=w1;var G8=Nr.exports;let dm=G8,pm=te,ea=class B1 extends Error{constructor(C,e,n,t,i,s){super(C),this.name="CssSyntaxError",this.reason=C,i&&(this.file=i),t&&(this.source=t),s&&(this.plugin=s),typeof e<"u"&&typeof n<"u"&&(typeof e=="number"?(this.line=e,this.column=n):(this.line=e.line,this.column=e.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,B1)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(C){if(!this.source)return"";let e=this.source;C==null&&(C=dm.isColorSupported),pm&&C&&(e=pm(e));let n=e.split(/\r?\n/),t=Math.max(this.line-3,0),i=Math.min(this.line+2,n.length),s=String(i).length,o,l;if(C){let{bold:a,gray:r,red:p}=dm.createColors(!0);o=d=>a(p(d)),l=d=>r(d)}else o=l=a=>a;return n.slice(t,i).map((a,r)=>{let p=t+1+r,d=" "+(" "+p).slice(-s)+" | ";if(p===this.line){let m=l(d.replace(/\d/g," "))+a.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+l(d)+a+` - `+m+o("^")}return" "+l(d)+a}).join(` -`)}toString(){let C=this.showSourceCode();return C&&(C=` - -`+C+` -`),this.name+": "+this.message+C}};var $r=ea;ea.default=ea;var _i={};_i.isClean=Symbol("isClean");_i.my=Symbol("my");const fm={after:` -`,beforeClose:` -`,beforeComment:` -`,beforeDecl:` -`,beforeOpen:" ",beforeRule:` -`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function U8(A){return A[0].toUpperCase()+A.slice(1)}let na=class{constructor(C){this.builder=C}atrule(C,e){let n="@"+C.name,t=C.params?this.rawValue(C,"params"):"";if(typeof C.raws.afterName<"u"?n+=C.raws.afterName:t&&(n+=" "),C.nodes)this.block(C,n+t);else{let i=(C.raws.between||"")+(e?";":"");this.builder(n+t+i,C)}}beforeAfter(C,e){let n;C.type==="decl"?n=this.raw(C,null,"beforeDecl"):C.type==="comment"?n=this.raw(C,null,"beforeComment"):e==="before"?n=this.raw(C,null,"beforeRule"):n=this.raw(C,null,"beforeClose");let t=C.parent,i=0;for(;t&&t.type!=="root";)i+=1,t=t.parent;if(n.includes(` -`)){let s=this.raw(C,null,"indent");if(s.length)for(let o=0;o<i;o++)n+=s}return n}block(C,e){let n=this.raw(C,"between","beforeOpen");this.builder(e+n+"{",C,"start");let t;C.nodes&&C.nodes.length?(this.body(C),t=this.raw(C,"after")):t=this.raw(C,"after","emptyBody"),t&&this.builder(t),this.builder("}",C,"end")}body(C){let e=C.nodes.length-1;for(;e>0&&C.nodes[e].type==="comment";)e-=1;let n=this.raw(C,"semicolon");for(let t=0;t<C.nodes.length;t++){let i=C.nodes[t],s=this.raw(i,"before");s&&this.builder(s),this.stringify(i,e!==t||n)}}comment(C){let e=this.raw(C,"left","commentLeft"),n=this.raw(C,"right","commentRight");this.builder("/*"+e+C.text+n+"*/",C)}decl(C,e){let n=this.raw(C,"between","colon"),t=C.prop+n+this.rawValue(C,"value");C.important&&(t+=C.raws.important||" !important"),e&&(t+=";"),this.builder(t,C)}document(C){this.body(C)}raw(C,e,n){let t;if(n||(n=e),e&&(t=C.raws[e],typeof t<"u"))return t;let i=C.parent;if(n==="before"&&(!i||i.type==="root"&&i.first===C||i&&i.type==="document"))return"";if(!i)return fm[n];let s=C.root();if(s.rawCache||(s.rawCache={}),typeof s.rawCache[n]<"u")return s.rawCache[n];if(n==="before"||n==="after")return this.beforeAfter(C,n);{let o="raw"+U8(n);this[o]?t=this[o](s,C):s.walk(l=>{if(t=l.raws[e],typeof t<"u")return!1})}return typeof t>"u"&&(t=fm[n]),s.rawCache[n]=t,t}rawBeforeClose(C){let e;return C.walk(n=>{if(n.nodes&&n.nodes.length>0&&typeof n.raws.after<"u")return e=n.raws.after,e.includes(` -`)&&(e=e.replace(/[^\n]+$/,"")),!1}),e&&(e=e.replace(/\S/g,"")),e}rawBeforeComment(C,e){let n;return C.walkComments(t=>{if(typeof t.raws.before<"u")return n=t.raws.before,n.includes(` -`)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(e,null,"beforeDecl"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeDecl(C,e){let n;return C.walkDecls(t=>{if(typeof t.raws.before<"u")return n=t.raws.before,n.includes(` -`)&&(n=n.replace(/[^\n]+$/,"")),!1}),typeof n>"u"?n=this.raw(e,null,"beforeRule"):n&&(n=n.replace(/\S/g,"")),n}rawBeforeOpen(C){let e;return C.walk(n=>{if(n.type!=="decl"&&(e=n.raws.between,typeof e<"u"))return!1}),e}rawBeforeRule(C){let e;return C.walk(n=>{if(n.nodes&&(n.parent!==C||C.first!==n)&&typeof n.raws.before<"u")return e=n.raws.before,e.includes(` -`)&&(e=e.replace(/[^\n]+$/,"")),!1}),e&&(e=e.replace(/\S/g,"")),e}rawColon(C){let e;return C.walkDecls(n=>{if(typeof n.raws.between<"u")return e=n.raws.between.replace(/[^\s:]/g,""),!1}),e}rawEmptyBody(C){let e;return C.walk(n=>{if(n.nodes&&n.nodes.length===0&&(e=n.raws.after,typeof e<"u"))return!1}),e}rawIndent(C){if(C.raws.indent)return C.raws.indent;let e;return C.walk(n=>{let t=n.parent;if(t&&t!==C&&t.parent&&t.parent===C&&typeof n.raws.before<"u"){let i=n.raws.before.split(` -`);return e=i[i.length-1],e=e.replace(/\S/g,""),!1}}),e}rawSemicolon(C){let e;return C.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(e=n.raws.semicolon,typeof e<"u"))return!1}),e}rawValue(C,e){let n=C[e],t=C.raws[e];return t&&t.value===n?t.raw:n}root(C){this.body(C),C.raws.after&&this.builder(C.raws.after)}rule(C){this.block(C,this.rawValue(C,"selector")),C.raws.ownSemicolon&&this.builder(C.raws.ownSemicolon,C,"end")}stringify(C,e){if(!this[C.type])throw new Error("Unknown AST node type "+C.type+". Maybe you need to change PostCSS stringifier.");this[C.type](C,e)}};var S1=na;na.default=na;let Q8=S1;function ta(A,C){new Q8(C).stringify(A)}var Do=ta;ta.default=ta;let{isClean:qi,my:H8}=_i,V8=$r,z8=S1,q8=Do;function ia(A,C){let e=new A.constructor;for(let n in A){if(!Object.prototype.hasOwnProperty.call(A,n)||n==="proxyCache")continue;let t=A[n],i=typeof t;n==="parent"&&i==="object"?C&&(e[n]=C):n==="source"?e[n]=t:Array.isArray(t)?e[n]=t.map(s=>ia(s,e)):(i==="object"&&t!==null&&(t=ia(t)),e[n]=t)}return e}let sa=class{constructor(C={}){this.raws={},this[qi]=!1,this[H8]=!0;for(let e in C)if(e==="nodes"){this.nodes=[];for(let n of C[e])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[e]=C[e]}addToError(C){if(C.postcssNode=this,C.stack&&this.source&&/\n\s{4}at /.test(C.stack)){let e=this.source;C.stack=C.stack.replace(/\n\s{4}at /,`$&${e.input.from}:${e.start.line}:${e.start.column}$&`)}return C}after(C){return this.parent.insertAfter(this,C),this}assign(C={}){for(let e in C)this[e]=C[e];return this}before(C){return this.parent.insertBefore(this,C),this}cleanRaws(C){delete this.raws.before,delete this.raws.after,C||delete this.raws.between}clone(C={}){let e=ia(this);for(let n in C)e[n]=C[n];return e}cloneAfter(C={}){let e=this.clone(C);return this.parent.insertAfter(this,e),e}cloneBefore(C={}){let e=this.clone(C);return this.parent.insertBefore(this,e),e}error(C,e={}){if(this.source){let{end:n,start:t}=this.rangeBy(e);return this.source.input.error(C,{column:t.column,line:t.line},{column:n.column,line:n.line},e)}return new V8(C)}getProxyProcessor(){return{get(C,e){return e==="proxyOf"?C:e==="root"?()=>C.root().toProxy():C[e]},set(C,e,n){return C[e]===n||(C[e]=n,(e==="prop"||e==="value"||e==="name"||e==="params"||e==="important"||e==="text")&&C.markDirty()),!0}}}markDirty(){if(this[qi]){this[qi]=!1;let C=this;for(;C=C.parent;)C[qi]=!1}}next(){if(!this.parent)return;let C=this.parent.index(this);return this.parent.nodes[C+1]}positionBy(C,e){let n=this.source.start;if(C.index)n=this.positionInside(C.index,e);else if(C.word){e=this.toString();let t=e.indexOf(C.word);t!==-1&&(n=this.positionInside(t,e))}return n}positionInside(C,e){let n=e||this.toString(),t=this.source.start.column,i=this.source.start.line;for(let s=0;s<C;s++)n[s]===` -`?(t=1,i+=1):t+=1;return{column:t,line:i}}prev(){if(!this.parent)return;let C=this.parent.index(this);return this.parent.nodes[C-1]}rangeBy(C){let e={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:e.column+1,line:e.line};if(C.word){let t=this.toString(),i=t.indexOf(C.word);i!==-1&&(e=this.positionInside(i,t),n=this.positionInside(i+C.word.length,t))}else C.start?e={column:C.start.column,line:C.start.line}:C.index&&(e=this.positionInside(C.index)),C.end?n={column:C.end.column,line:C.end.line}:typeof C.endIndex=="number"?n=this.positionInside(C.endIndex):C.index&&(n=this.positionInside(C.index+1));return(n.line<e.line||n.line===e.line&&n.column<=e.column)&&(n={column:e.column+1,line:e.line}),{end:n,start:e}}raw(C,e){return new z8().raw(this,C,e)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...C){if(this.parent){let e=this,n=!1;for(let t of C)t===this?n=!0:n?(this.parent.insertAfter(e,t),e=t):this.parent.insertBefore(e,t);n||this.remove()}return this}root(){let C=this;for(;C.parent&&C.parent.type!=="document";)C=C.parent;return C}toJSON(C,e){let n={},t=e==null;e=e||new Map;let i=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let o=this[s];if(Array.isArray(o))n[s]=o.map(l=>typeof l=="object"&&l.toJSON?l.toJSON(null,e):l);else if(typeof o=="object"&&o.toJSON)n[s]=o.toJSON(null,e);else if(s==="source"){let l=e.get(o.input);l==null&&(l=i,e.set(o.input,i),i++),n[s]={end:o.end,inputId:l,start:o.start}}else n[s]=o}return t&&(n.inputs=[...e.keys()].map(s=>s.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(C=q8){C.stringify&&(C=C.stringify);let e="";return C(this,n=>{e+=n}),e}warn(C,e,n){let t={node:this};for(let i in n)t[i]=n[i];return C.warn(e,t)}get proxyOf(){return this}};var Po=sa;sa.default=sa;let W8=Po,oa=class extends W8{constructor(C){C&&typeof C.value<"u"&&typeof C.value!="string"&&(C={...C,value:String(C.value)}),super(C),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}};var Oo=oa;oa.default=oa;let Y8="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",J8=(A,C=21)=>(e=C)=>{let n="",t=e;for(;t--;)n+=A[Math.random()*A.length|0];return n},X8=(A=21)=>{let C="",e=A;for(;e--;)C+=Y8[Math.random()*64|0];return C};var Z8={nanoid:X8,customAlphabet:J8};let{SourceMapConsumer:hm,SourceMapGenerator:gm}=te,{existsSync:A7,readFileSync:C7}=te,{dirname:pl,join:e7}=te;function n7(A){return Buffer?Buffer.from(A,"base64").toString():window.atob(A)}let la=class{constructor(C,e){if(e.map===!1)return;this.loadAnnotation(C),this.inline=this.startWith(this.annotation,"data:");let n=e.map?e.map.prev:void 0,t=this.loadMap(e.from,n);!this.mapFile&&e.from&&(this.mapFile=e.from),this.mapFile&&(this.root=pl(this.mapFile)),t&&(this.text=t)}consumer(){return this.consumerCache||(this.consumerCache=new hm(this.text)),this.consumerCache}decodeInline(C){let e=/^data:application\/json;charset=utf-?8;base64,/,n=/^data:application\/json;base64,/,t=/^data:application\/json;charset=utf-?8,/,i=/^data:application\/json,/;if(t.test(C)||i.test(C))return decodeURIComponent(C.substr(RegExp.lastMatch.length));if(e.test(C)||n.test(C))return n7(C.substr(RegExp.lastMatch.length));let s=C.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+s)}getAnnotationURL(C){return C.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(C){return typeof C!="object"?!1:typeof C.mappings=="string"||typeof C._mappings=="string"||Array.isArray(C.sections)}loadAnnotation(C){let e=C.match(/\/\*\s*# sourceMappingURL=/gm);if(!e)return;let n=C.lastIndexOf(e.pop()),t=C.indexOf("*/",n);n>-1&&t>-1&&(this.annotation=this.getAnnotationURL(C.substring(n,t)))}loadFile(C){if(this.root=pl(C),A7(C))return this.mapFile=C,C7(C,"utf-8").toString().trim()}loadMap(C,e){if(e===!1)return!1;if(e){if(typeof e=="string")return e;if(typeof e=="function"){let n=e(C);if(n){let t=this.loadFile(n);if(!t)throw new Error("Unable to load previous source map: "+n.toString());return t}}else{if(e instanceof hm)return gm.fromSourceMap(e).toString();if(e instanceof gm)return e.toString();if(this.isMap(e))return JSON.stringify(e);throw new Error("Unsupported previous source map format: "+e.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let n=this.annotation;return C&&(n=e7(pl(C),n)),this.loadFile(n)}}}startWith(C,e){return C?C.substr(0,e.length)===e:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};var k1=la;la.default=la;let{SourceMapConsumer:t7,SourceMapGenerator:i7}=te,{fileURLToPath:bm,pathToFileURL:Wi}=te,{isAbsolute:aa,resolve:ra}=te,{nanoid:s7}=Z8,fl=te,Em=$r,o7=k1,hl=Symbol("fromOffsetCache"),l7=!!(t7&&i7),ym=!!(ra&&aa),Hs=class{constructor(C,e={}){if(C===null||typeof C>"u"||typeof C=="object"&&!C.toString)throw new Error(`PostCSS received ${C} instead of CSS string`);if(this.css=C.toString(),this.css[0]==="\uFEFF"||this.css[0]==="￾"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,e.from&&(!ym||/^\w+:\/\//.test(e.from)||aa(e.from)?this.file=e.from:this.file=ra(e.from)),ym&&l7){let n=new o7(this.css,e);if(n.text){this.map=n;let t=n.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id="<input css "+s7(6)+">"),this.map&&(this.map.file=this.from)}error(C,e,n,t={}){let i,s,o;if(e&&typeof e=="object"){let a=e,r=n;if(typeof a.offset=="number"){let p=this.fromOffset(a.offset);e=p.line,n=p.col}else e=a.line,n=a.column;if(typeof r.offset=="number"){let p=this.fromOffset(r.offset);s=p.line,o=p.col}else s=r.line,o=r.column}else if(!n){let a=this.fromOffset(e);e=a.line,n=a.col}let l=this.origin(e,n,s,o);return l?i=new Em(C,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,t.plugin):i=new Em(C,s===void 0?e:{column:n,line:e},s===void 0?n:{column:o,line:s},this.css,this.file,t.plugin),i.input={column:n,endColumn:o,endLine:s,line:e,source:this.css},this.file&&(Wi&&(i.input.url=Wi(this.file).toString()),i.input.file=this.file),i}fromOffset(C){let e,n;if(this[hl])n=this[hl];else{let i=this.css.split(` -`);n=new Array(i.length);let s=0;for(let o=0,l=i.length;o<l;o++)n[o]=s,s+=i[o].length+1;this[hl]=n}e=n[n.length-1];let t=0;if(C>=e)t=n.length-1;else{let i=n.length-2,s;for(;t<i;)if(s=t+(i-t>>1),C<n[s])i=s-1;else if(C>=n[s+1])t=s+1;else{t=s;break}}return{col:C-n[t]+1,line:t+1}}mapResolve(C){return/^\w+:\/\//.test(C)?C:ra(this.map.consumer().sourceRoot||this.map.root||".",C)}origin(C,e,n,t){if(!this.map)return!1;let i=this.map.consumer(),s=i.originalPositionFor({column:e,line:C});if(!s.source)return!1;let o;typeof n=="number"&&(o=i.originalPositionFor({column:t,line:n}));let l;aa(s.source)?l=Wi(s.source):l=new URL(s.source,this.map.consumer().sourceRoot||Wi(this.map.mapFile));let a={column:s.column,endColumn:o&&o.column,endLine:o&&o.line,line:s.line,url:l.toString()};if(l.protocol==="file:")if(bm)a.file=bm(l);else throw new Error("file: protocol is not available in this PostCSS build");let r=i.sourceContentFor(s.source);return r&&(a.source=r),a}toJSON(){let C={};for(let e of["hasBOM","css","file","id"])this[e]!=null&&(C[e]=this[e]);return this.map&&(C.map={...this.map},C.map.consumerCache&&(C.map.consumerCache=void 0)),C}get from(){return this.file||this.id}};var Lo=Hs;Hs.default=Hs;fl&&fl.registerInput&&fl.registerInput(Hs);let{SourceMapConsumer:_1,SourceMapGenerator:hs}=te,{dirname:gs,relative:x1,resolve:j1,sep:I1}=te,{pathToFileURL:vm}=te,a7=Lo,r7=!!(_1&&hs),c7=!!(gs&&j1&&x1&&I1),u7=class{constructor(C,e,n,t){this.stringify=C,this.mapOpts=n.map||{},this.root=e,this.opts=n,this.css=t,this.originalCSS=t,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let C;this.isInline()?C="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?C=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?C=this.mapOpts.annotation(this.opts.to,this.root):C=this.outputFile()+".map";let e=` -`;this.css.includes(`\r -`)&&(e=`\r -`),this.css+=e+"/*# sourceMappingURL="+C+" */"}applyPrevMaps(){for(let C of this.previous()){let e=this.toUrl(this.path(C.file)),n=C.root||gs(C.file),t;this.mapOpts.sourcesContent===!1?(t=new _1(C.text),t.sourcesContent&&(t.sourcesContent=null)):t=C.consumer(),this.map.applySourceMap(t,e,this.toUrl(this.path(n)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let C;for(let e=this.root.nodes.length-1;e>=0;e--)C=this.root.nodes[e],C.type==="comment"&&C.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(e)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c7&&r7&&this.isMap())return this.generateMap();{let C="";return this.stringify(this.root,e=>{C+=e}),[C]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let C=this.previous()[0].consumer();C.file=this.outputFile(),this.map=hs.fromSourceMap(C,{ignoreInvalidMapping:!0})}else this.map=new hs({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new hs({file:this.outputFile(),ignoreInvalidMapping:!0});let C=1,e=1,n="<no source>",t={generated:{column:0,line:0},original:{column:0,line:0},source:""},i,s;this.stringify(this.root,(o,l,a)=>{if(this.css+=o,l&&a!=="end"&&(t.generated.line=C,t.generated.column=e-1,l.source&&l.source.start?(t.source=this.sourcePath(l),t.original.line=l.source.start.line,t.original.column=l.source.start.column-1,this.map.addMapping(t)):(t.source=n,t.original.line=1,t.original.column=0,this.map.addMapping(t))),i=o.match(/\n/g),i?(C+=i.length,s=o.lastIndexOf(` -`),e=o.length-s):e+=o.length,l&&a!=="start"){let r=l.parent||{raws:{}};(!(l.type==="decl"||l.type==="atrule"&&!l.nodes)||l!==r.last||r.raws.semicolon)&&(l.source&&l.source.end?(t.source=this.sourcePath(l),t.original.line=l.source.end.line,t.original.column=l.source.end.column-1,t.generated.line=C,t.generated.column=e-2,this.map.addMapping(t)):(t.source=n,t.original.line=1,t.original.column=0,t.generated.line=C,t.generated.column=e-1,this.map.addMapping(t)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(C=>C.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let C=this.mapOpts.annotation;return typeof C<"u"&&C!==!0?!1:this.previous().length?this.previous().some(e=>e.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(C=>C.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(C){if(this.mapOpts.absolute||C.charCodeAt(0)===60||/^\w+:\/\//.test(C))return C;let e=this.memoizedPaths.get(C);if(e)return e;let n=this.opts.to?gs(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(n=gs(j1(n,this.mapOpts.annotation)));let t=x1(n,C);return this.memoizedPaths.set(C,t),t}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(C=>{if(C.source&&C.source.input.map){let e=C.source.input.map;this.previousMaps.includes(e)||this.previousMaps.push(e)}});else{let C=new a7(this.originalCSS,this.opts);C.map&&this.previousMaps.push(C.map)}return this.previousMaps}setSourcesContent(){let C={};if(this.root)this.root.walk(e=>{if(e.source){let n=e.source.input.from;if(n&&!C[n]){C[n]=!0;let t=this.usesFileUrls?this.toFileUrl(n):this.toUrl(this.path(n));this.map.setSourceContent(t,e.source.input.css)}}});else if(this.css){let e=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(e,this.css)}}sourcePath(C){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(C.source.input.from):this.toUrl(this.path(C.source.input.from))}toBase64(C){return Buffer?Buffer.from(C).toString("base64"):window.btoa(unescape(encodeURIComponent(C)))}toFileUrl(C){let e=this.memoizedFileURLs.get(C);if(e)return e;if(vm){let n=vm(C).toString();return this.memoizedFileURLs.set(C,n),n}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(C){let e=this.memoizedURLs.get(C);if(e)return e;I1==="\\"&&(C=C.replace(/\\/g,"/"));let n=encodeURI(C).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(C,n),n}};var M1=u7;let m7=Po,ca=class extends m7{constructor(C){super(C),this.type="comment"}};var Ko=ca;ca.default=ca;let{isClean:D1,my:P1}=_i,O1=Oo,L1=Ko,d7=Po,K1,Rr,Gr,F1;function T1(A){return A.map(C=>(C.nodes&&(C.nodes=T1(C.nodes)),delete C.source,C))}function N1(A){if(A[D1]=!1,A.proxyOf.nodes)for(let C of A.proxyOf.nodes)N1(C)}let qe=class $1 extends d7{append(...C){for(let e of C){let n=this.normalize(e,this.last);for(let t of n)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(C){if(super.cleanRaws(C),this.nodes)for(let e of this.nodes)e.cleanRaws(C)}each(C){if(!this.proxyOf.nodes)return;let e=this.getIterator(),n,t;for(;this.indexes[e]<this.proxyOf.nodes.length&&(n=this.indexes[e],t=C(this.proxyOf.nodes[n],n),t!==!1);)this.indexes[e]+=1;return delete this.indexes[e],t}every(C){return this.nodes.every(C)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let C=this.lastEach;return this.indexes[C]=0,C}getProxyProcessor(){return{get(C,e){return e==="proxyOf"?C:C[e]?e==="each"||typeof e=="string"&&e.startsWith("walk")?(...n)=>C[e](...n.map(t=>typeof t=="function"?(i,s)=>t(i.toProxy(),s):t)):e==="every"||e==="some"?n=>C[e]((t,...i)=>n(t.toProxy(),...i)):e==="root"?()=>C.root().toProxy():e==="nodes"?C.nodes.map(n=>n.toProxy()):e==="first"||e==="last"?C[e].toProxy():C[e]:C[e]},set(C,e,n){return C[e]===n||(C[e]=n,(e==="name"||e==="params"||e==="selector")&&C.markDirty()),!0}}}index(C){return typeof C=="number"?C:(C.proxyOf&&(C=C.proxyOf),this.proxyOf.nodes.indexOf(C))}insertAfter(C,e){let n=this.index(C),t=this.normalize(e,this.proxyOf.nodes[n]).reverse();n=this.index(C);for(let s of t)this.proxyOf.nodes.splice(n+1,0,s);let i;for(let s in this.indexes)i=this.indexes[s],n<i&&(this.indexes[s]=i+t.length);return this.markDirty(),this}insertBefore(C,e){let n=this.index(C),t=n===0?"prepend":!1,i=this.normalize(e,this.proxyOf.nodes[n],t).reverse();n=this.index(C);for(let o of i)this.proxyOf.nodes.splice(n,0,o);let s;for(let o in this.indexes)s=this.indexes[o],n<=s&&(this.indexes[o]=s+i.length);return this.markDirty(),this}normalize(C,e){if(typeof C=="string")C=T1(K1(C).nodes);else if(typeof C>"u")C=[];else if(Array.isArray(C)){C=C.slice(0);for(let t of C)t.parent&&t.parent.removeChild(t,"ignore")}else if(C.type==="root"&&this.type!=="document"){C=C.nodes.slice(0);for(let t of C)t.parent&&t.parent.removeChild(t,"ignore")}else if(C.type)C=[C];else if(C.prop){if(typeof C.value>"u")throw new Error("Value field is missed in node creation");typeof C.value!="string"&&(C.value=String(C.value)),C=[new O1(C)]}else if(C.selector)C=[new Rr(C)];else if(C.name)C=[new Gr(C)];else if(C.text)C=[new L1(C)];else throw new Error("Unknown node type in node creation");return C.map(t=>(t[P1]||$1.rebuild(t),t=t.proxyOf,t.parent&&t.parent.removeChild(t),t[D1]&&N1(t),typeof t.raws.before>"u"&&e&&typeof e.raws.before<"u"&&(t.raws.before=e.raws.before.replace(/\S/g,"")),t.parent=this.proxyOf,t))}prepend(...C){C=C.reverse();for(let e of C){let n=this.normalize(e,this.first,"prepend").reverse();for(let t of n)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+n.length}return this.markDirty(),this}push(C){return C.parent=this,this.proxyOf.nodes.push(C),this}removeAll(){for(let C of this.proxyOf.nodes)C.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(C){C=this.index(C),this.proxyOf.nodes[C].parent=void 0,this.proxyOf.nodes.splice(C,1);let e;for(let n in this.indexes)e=this.indexes[n],e>=C&&(this.indexes[n]=e-1);return this.markDirty(),this}replaceValues(C,e,n){return n||(n=e,e={}),this.walkDecls(t=>{e.props&&!e.props.includes(t.prop)||e.fast&&!t.value.includes(e.fast)||(t.value=t.value.replace(C,n))}),this.markDirty(),this}some(C){return this.nodes.some(C)}walk(C){return this.each((e,n)=>{let t;try{t=C(e,n)}catch(i){throw e.addToError(i)}return t!==!1&&e.walk&&(t=e.walk(C)),t})}walkAtRules(C,e){return e?C instanceof RegExp?this.walk((n,t)=>{if(n.type==="atrule"&&C.test(n.name))return e(n,t)}):this.walk((n,t)=>{if(n.type==="atrule"&&n.name===C)return e(n,t)}):(e=C,this.walk((n,t)=>{if(n.type==="atrule")return e(n,t)}))}walkComments(C){return this.walk((e,n)=>{if(e.type==="comment")return C(e,n)})}walkDecls(C,e){return e?C instanceof RegExp?this.walk((n,t)=>{if(n.type==="decl"&&C.test(n.prop))return e(n,t)}):this.walk((n,t)=>{if(n.type==="decl"&&n.prop===C)return e(n,t)}):(e=C,this.walk((n,t)=>{if(n.type==="decl")return e(n,t)}))}walkRules(C,e){return e?C instanceof RegExp?this.walk((n,t)=>{if(n.type==="rule"&&C.test(n.selector))return e(n,t)}):this.walk((n,t)=>{if(n.type==="rule"&&n.selector===C)return e(n,t)}):(e=C,this.walk((n,t)=>{if(n.type==="rule")return e(n,t)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};qe.registerParse=A=>{K1=A};qe.registerRule=A=>{Rr=A};qe.registerAtRule=A=>{Gr=A};qe.registerRoot=A=>{F1=A};var Vn=qe;qe.default=qe;qe.rebuild=A=>{A.type==="atrule"?Object.setPrototypeOf(A,Gr.prototype):A.type==="rule"?Object.setPrototypeOf(A,Rr.prototype):A.type==="decl"?Object.setPrototypeOf(A,O1.prototype):A.type==="comment"?Object.setPrototypeOf(A,L1.prototype):A.type==="root"&&Object.setPrototypeOf(A,F1.prototype),A[P1]=!0,A.nodes&&A.nodes.forEach(C=>{qe.rebuild(C)})};let p7=Vn,R1,G1,ui=class extends p7{constructor(C){super({type:"document",...C}),this.nodes||(this.nodes=[])}toResult(C={}){return new R1(new G1,this,C).stringify()}};ui.registerLazyResult=A=>{R1=A};ui.registerProcessor=A=>{G1=A};var Ur=ui;ui.default=ui;let ua=class{constructor(C,e={}){if(this.type="warning",this.text=C,e.node&&e.node.source){let n=e.node.rangeBy(e);this.line=n.start.line,this.column=n.start.column,this.endLine=n.end.line,this.endColumn=n.end.column}for(let n in e)this[n]=e[n]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};var U1=ua;ua.default=ua;let f7=U1,ma=class{constructor(C,e,n){this.processor=C,this.messages=[],this.root=e,this.opts=n,this.css=void 0,this.map=void 0}toString(){return this.css}warn(C,e={}){e.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(e.plugin=this.lastPlugin.postcssPlugin);let n=new f7(C,e);return this.messages.push(n),n}warnings(){return this.messages.filter(C=>C.type==="warning")}get content(){return this.css}};var Qr=ma;ma.default=ma;const gl="'".charCodeAt(0),wm='"'.charCodeAt(0),Yi="\\".charCodeAt(0),Bm="/".charCodeAt(0),Ji=` -`.charCodeAt(0),jt=" ".charCodeAt(0),Xi="\f".charCodeAt(0),Zi=" ".charCodeAt(0),As="\r".charCodeAt(0),h7="[".charCodeAt(0),g7="]".charCodeAt(0),b7="(".charCodeAt(0),E7=")".charCodeAt(0),y7="{".charCodeAt(0),v7="}".charCodeAt(0),w7=";".charCodeAt(0),B7="*".charCodeAt(0),S7=":".charCodeAt(0),k7="@".charCodeAt(0),Cs=/[\t\n\f\r "#'()/;[\\\]{}]/g,es=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,_7=/.[\r\n"'(/\\]/,Sm=/[\da-f]/i;var x7=function(C,e={}){let n=C.css.valueOf(),t=e.ignoreErrors,i,s,o,l,a,r,p,d,m,g,y=n.length,k=0,_=[],R=[];function F(){return k}function J(X){throw C.error("Unclosed "+X,k)}function nA(){return R.length===0&&k>=y}function CA(X){if(R.length)return R.pop();if(k>=y)return;let pA=X?X.ignoreUnclosed:!1;switch(i=n.charCodeAt(k),i){case Ji:case jt:case Zi:case As:case Xi:{s=k;do s+=1,i=n.charCodeAt(s);while(i===jt||i===Ji||i===Zi||i===As||i===Xi);g=["space",n.slice(k,s)],k=s-1;break}case h7:case g7:case y7:case v7:case S7:case w7:case E7:{let uA=String.fromCharCode(i);g=[uA,uA,k];break}case b7:{if(d=_.length?_.pop()[1]:"",m=n.charCodeAt(k+1),d==="url"&&m!==gl&&m!==wm&&m!==jt&&m!==Ji&&m!==Zi&&m!==Xi&&m!==As){s=k;do{if(r=!1,s=n.indexOf(")",s+1),s===-1)if(t||pA){s=k;break}else J("bracket");for(p=s;n.charCodeAt(p-1)===Yi;)p-=1,r=!r}while(r);g=["brackets",n.slice(k,s+1),k,s],k=s}else s=n.indexOf(")",k+1),l=n.slice(k,s+1),s===-1||_7.test(l)?g=["(","(",k]:(g=["brackets",l,k,s],k=s);break}case gl:case wm:{o=i===gl?"'":'"',s=k;do{if(r=!1,s=n.indexOf(o,s+1),s===-1)if(t||pA){s=k+1;break}else J("string");for(p=s;n.charCodeAt(p-1)===Yi;)p-=1,r=!r}while(r);g=["string",n.slice(k,s+1),k,s],k=s;break}case k7:{Cs.lastIndex=k+1,Cs.test(n),Cs.lastIndex===0?s=n.length-1:s=Cs.lastIndex-2,g=["at-word",n.slice(k,s+1),k,s],k=s;break}case Yi:{for(s=k,a=!0;n.charCodeAt(s+1)===Yi;)s+=1,a=!a;if(i=n.charCodeAt(s+1),a&&i!==Bm&&i!==jt&&i!==Ji&&i!==Zi&&i!==As&&i!==Xi&&(s+=1,Sm.test(n.charAt(s)))){for(;Sm.test(n.charAt(s+1));)s+=1;n.charCodeAt(s+1)===jt&&(s+=1)}g=["word",n.slice(k,s+1),k,s],k=s;break}default:{i===Bm&&n.charCodeAt(k+1)===B7?(s=n.indexOf("*/",k+2)+1,s===0&&(t||pA?s=n.length:J("comment")),g=["comment",n.slice(k,s+1),k,s],k=s):(es.lastIndex=k+1,es.test(n),es.lastIndex===0?s=n.length-1:s=es.lastIndex-2,g=["word",n.slice(k,s+1),k,s],_.push(g),k=s);break}}return k++,g}function LA(X){R.push(X)}return{back:LA,endOfFile:nA,nextToken:CA,position:F}};let Q1=Vn,Vs=class extends Q1{constructor(C){super(C),this.type="atrule"}append(...C){return this.proxyOf.nodes||(this.nodes=[]),super.append(...C)}prepend(...C){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...C)}};var Hr=Vs;Vs.default=Vs;Q1.registerAtRule(Vs);let H1=Vn,V1,z1,dt=class extends H1{constructor(C){super(C),this.type="root",this.nodes||(this.nodes=[])}normalize(C,e,n){let t=super.normalize(C);if(e){if(n==="prepend")this.nodes.length>1?e.raws.before=this.nodes[1].raws.before:delete e.raws.before;else if(this.first!==e)for(let i of t)i.raws.before=e.raws.before}return t}removeChild(C,e){let n=this.index(C);return!e&&n===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[n].raws.before),super.removeChild(C)}toResult(C={}){return new V1(new z1,this,C).stringify()}};dt.registerLazyResult=A=>{V1=A};dt.registerProcessor=A=>{z1=A};var xi=dt;dt.default=dt;H1.registerRoot(dt);let mi={comma(A){return mi.split(A,[","],!0)},space(A){let C=[" ",` -`," "];return mi.split(A,C)},split(A,C,e){let n=[],t="",i=!1,s=0,o=!1,l="",a=!1;for(let r of A)a?a=!1:r==="\\"?a=!0:o?r===l&&(o=!1):r==='"'||r==="'"?(o=!0,l=r):r==="("?s+=1:r===")"?s>0&&(s-=1):s===0&&C.includes(r)&&(i=!0),i?(t!==""&&n.push(t.trim()),t="",i=!1):t+=r;return(e||t!=="")&&n.push(t.trim()),n}};var q1=mi;mi.default=mi;let W1=Vn,j7=q1,zs=class extends W1{constructor(C){super(C),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return j7.comma(this.selector)}set selectors(C){let e=this.selector?this.selector.match(/,\s*/):null,n=e?e[0]:","+this.raw("between","beforeOpen");this.selector=C.join(n)}};var Vr=zs;zs.default=zs;W1.registerRule(zs);let I7=Oo,M7=x7,D7=Ko,P7=Hr,O7=xi,km=Vr;const _m={empty:!0,space:!0};function L7(A){for(let C=A.length-1;C>=0;C--){let e=A[C],n=e[3]||e[2];if(n)return n}}let K7=class{constructor(C){this.input=C,this.root=new O7,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:C,start:{column:1,line:1,offset:0}}}atrule(C){let e=new P7;e.name=C[1].slice(1),e.name===""&&this.unnamedAtrule(e,C),this.init(e,C[2]);let n,t,i,s=!1,o=!1,l=[],a=[];for(;!this.tokenizer.endOfFile();){if(C=this.tokenizer.nextToken(),n=C[0],n==="("||n==="["?a.push(n==="("?")":"]"):n==="{"&&a.length>0?a.push("}"):n===a[a.length-1]&&a.pop(),a.length===0)if(n===";"){e.source.end=this.getPosition(C[2]),e.source.end.offset++,this.semicolon=!0;break}else if(n==="{"){o=!0;break}else if(n==="}"){if(l.length>0){for(i=l.length-1,t=l[i];t&&t[0]==="space";)t=l[--i];t&&(e.source.end=this.getPosition(t[3]||t[2]),e.source.end.offset++)}this.end(C);break}else l.push(C);else l.push(C);if(this.tokenizer.endOfFile()){s=!0;break}}e.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(e.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(e,"params",l),s&&(C=l[l.length-1],e.source.end=this.getPosition(C[3]||C[2]),e.source.end.offset++,this.spaces=e.raws.between,e.raws.between="")):(e.raws.afterName="",e.params=""),o&&(e.nodes=[],this.current=e)}checkMissedSemicolon(C){let e=this.colon(C);if(e===!1)return;let n=0,t;for(let i=e-1;i>=0&&(t=C[i],!(t[0]!=="space"&&(n+=1,n===2)));i--);throw this.input.error("Missed semicolon",t[0]==="word"?t[3]+1:t[2])}colon(C){let e=0,n,t,i;for(let[s,o]of C.entries()){if(n=o,t=n[0],t==="("&&(e+=1),t===")"&&(e-=1),e===0&&t===":")if(!i)this.doubleColon(n);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=n}return!1}comment(C){let e=new D7;this.init(e,C[2]),e.source.end=this.getPosition(C[3]||C[2]),e.source.end.offset++;let n=C[1].slice(2,-2);if(/^\s*$/.test(n))e.text="",e.raws.left=n,e.raws.right="";else{let t=n.match(/^(\s*)([^]*\S)(\s*)$/);e.text=t[2],e.raws.left=t[1],e.raws.right=t[3]}}createTokenizer(){this.tokenizer=M7(this.input)}decl(C,e){let n=new I7;this.init(n,C[0][2]);let t=C[C.length-1];for(t[0]===";"&&(this.semicolon=!0,C.pop()),n.source.end=this.getPosition(t[3]||t[2]||L7(C)),n.source.end.offset++;C[0][0]!=="word";)C.length===1&&this.unknownWord(C),n.raws.before+=C.shift()[1];for(n.source.start=this.getPosition(C[0][2]),n.prop="";C.length;){let a=C[0][0];if(a===":"||a==="space"||a==="comment")break;n.prop+=C.shift()[1]}n.raws.between="";let i;for(;C.length;)if(i=C.shift(),i[0]===":"){n.raws.between+=i[1];break}else i[0]==="word"&&/\w/.test(i[1])&&this.unknownWord([i]),n.raws.between+=i[1];(n.prop[0]==="_"||n.prop[0]==="*")&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1));let s=[],o;for(;C.length&&(o=C[0][0],!(o!=="space"&&o!=="comment"));)s.push(C.shift());this.precheckMissedSemicolon(C);for(let a=C.length-1;a>=0;a--){if(i=C[a],i[1].toLowerCase()==="!important"){n.important=!0;let r=this.stringFrom(C,a);r=this.spacesFromEnd(C)+r,r!==" !important"&&(n.raws.important=r);break}else if(i[1].toLowerCase()==="important"){let r=C.slice(0),p="";for(let d=a;d>0;d--){let m=r[d][0];if(p.trim().indexOf("!")===0&&m!=="space")break;p=r.pop()[1]+p}p.trim().indexOf("!")===0&&(n.important=!0,n.raws.important=p,C=r)}if(i[0]!=="space"&&i[0]!=="comment")break}C.some(a=>a[0]!=="space"&&a[0]!=="comment")&&(n.raws.between+=s.map(a=>a[1]).join(""),s=[]),this.raw(n,"value",s.concat(C),e),n.value.includes(":")&&!e&&this.checkMissedSemicolon(C)}doubleColon(C){throw this.input.error("Double colon",{offset:C[2]},{offset:C[2]+C[1].length})}emptyRule(C){let e=new km;this.init(e,C[2]),e.selector="",e.raws.between="",this.current=e}end(C){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(C[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(C)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(C){if(this.spaces+=C[1],this.current.nodes){let e=this.current.nodes[this.current.nodes.length-1];e&&e.type==="rule"&&!e.raws.ownSemicolon&&(e.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(C){let e=this.input.fromOffset(C);return{column:e.col,line:e.line,offset:C}}init(C,e){this.current.push(C),C.source={input:this.input,start:this.getPosition(e)},C.raws.before=this.spaces,this.spaces="",C.type!=="comment"&&(this.semicolon=!1)}other(C){let e=!1,n=null,t=!1,i=null,s=[],o=C[1].startsWith("--"),l=[],a=C;for(;a;){if(n=a[0],l.push(a),n==="("||n==="[")i||(i=a),s.push(n==="("?")":"]");else if(o&&t&&n==="{")i||(i=a),s.push("}");else if(s.length===0)if(n===";")if(t){this.decl(l,o);return}else break;else if(n==="{"){this.rule(l);return}else if(n==="}"){this.tokenizer.back(l.pop()),e=!0;break}else n===":"&&(t=!0);else n===s[s.length-1]&&(s.pop(),s.length===0&&(i=null));a=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(e=!0),s.length>0&&this.unclosedBracket(i),e&&t){if(!o)for(;l.length&&(a=l[l.length-1][0],!(a!=="space"&&a!=="comment"));)this.tokenizer.back(l.pop());this.decl(l,o)}else this.unknownWord(l)}parse(){let C;for(;!this.tokenizer.endOfFile();)switch(C=this.tokenizer.nextToken(),C[0]){case"space":this.spaces+=C[1];break;case";":this.freeSemicolon(C);break;case"}":this.end(C);break;case"comment":this.comment(C);break;case"at-word":this.atrule(C);break;case"{":this.emptyRule(C);break;default:this.other(C);break}this.endFile()}precheckMissedSemicolon(){}raw(C,e,n,t){let i,s,o=n.length,l="",a=!0,r,p;for(let d=0;d<o;d+=1)i=n[d],s=i[0],s==="space"&&d===o-1&&!t?a=!1:s==="comment"?(p=n[d-1]?n[d-1][0]:"empty",r=n[d+1]?n[d+1][0]:"empty",!_m[p]&&!_m[r]?l.slice(-1)===","?a=!1:l+=i[1]:a=!1):l+=i[1];if(!a){let d=n.reduce((m,g)=>m+g[1],"");C.raws[e]={raw:d,value:l}}C[e]=l}rule(C){C.pop();let e=new km;this.init(e,C[0][2]),e.raws.between=this.spacesAndCommentsFromEnd(C),this.raw(e,"selector",C),this.current=e}spacesAndCommentsFromEnd(C){let e,n="";for(;C.length&&(e=C[C.length-1][0],!(e!=="space"&&e!=="comment"));)n=C.pop()[1]+n;return n}spacesAndCommentsFromStart(C){let e,n="";for(;C.length&&(e=C[0][0],!(e!=="space"&&e!=="comment"));)n+=C.shift()[1];return n}spacesFromEnd(C){let e,n="";for(;C.length&&(e=C[C.length-1][0],e==="space");)n=C.pop()[1]+n;return n}stringFrom(C,e){let n="";for(let t=e;t<C.length;t++)n+=C[t][1];return C.splice(e,C.length-e),n}unclosedBlock(){let C=this.current.source.start;throw this.input.error("Unclosed block",C.line,C.column)}unclosedBracket(C){throw this.input.error("Unclosed bracket",{offset:C[2]},{offset:C[2]+1})}unexpectedClose(C){throw this.input.error("Unexpected }",{offset:C[2]},{offset:C[2]+1})}unknownWord(C){throw this.input.error("Unknown word",{offset:C[0][2]},{offset:C[0][2]+C[0][1].length})}unnamedAtrule(C,e){throw this.input.error("At-rule without name",{offset:e[2]},{offset:e[2]+e[1].length})}};var F7=K7;let T7=Vn,N7=F7,$7=Lo;function qs(A,C){let e=new $7(A,C),n=new N7(e);try{n.parse()}catch(t){throw t}return n.root}var zr=qs;qs.default=qs;T7.registerParse(qs);let{isClean:je,my:R7}=_i,G7=M1,U7=Do,Q7=Vn,H7=Ur,xm=Qr,V7=zr,z7=xi;const q7={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},W7={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Y7={Once:!0,postcssPlugin:!0,prepare:!0},pt=0;function It(A){return typeof A=="object"&&typeof A.then=="function"}function Y1(A){let C=!1,e=q7[A.type];return A.type==="decl"?C=A.prop.toLowerCase():A.type==="atrule"&&(C=A.name.toLowerCase()),C&&A.append?[e,e+"-"+C,pt,e+"Exit",e+"Exit-"+C]:C?[e,e+"-"+C,e+"Exit",e+"Exit-"+C]:A.append?[e,pt,e+"Exit"]:[e,e+"Exit"]}function jm(A){let C;return A.type==="document"?C=["Document",pt,"DocumentExit"]:A.type==="root"?C=["Root",pt,"RootExit"]:C=Y1(A),{eventIndex:0,events:C,iterator:0,node:A,visitorIndex:0,visitors:[]}}function da(A){return A[je]=!1,A.nodes&&A.nodes.forEach(C=>da(C)),A}let pa={},ft=class J1{constructor(C,e,n){this.stringified=!1,this.processed=!1;let t;if(typeof e=="object"&&e!==null&&(e.type==="root"||e.type==="document"))t=da(e);else if(e instanceof J1||e instanceof xm)t=da(e.root),e.map&&(typeof n.map>"u"&&(n.map={}),n.map.inline||(n.map.inline=!1),n.map.prev=e.map);else{let i=V7;n.syntax&&(i=n.syntax.parse),n.parser&&(i=n.parser),i.parse&&(i=i.parse);try{t=i(e,n)}catch(s){this.processed=!0,this.error=s}t&&!t[R7]&&Q7.rebuild(t)}this.result=new xm(C,t,n),this.helpers={...pa,postcss:pa,result:this.result},this.plugins=this.processor.plugins.map(i=>typeof i=="object"&&i.prepare?{...i,...i.prepare(this.result)}:i)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(C){return this.async().catch(C)}finally(C){return this.async().then(C,C)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(C,e){let n=this.result.lastPlugin;try{e&&e.addToError(C),this.error=C,C.name==="CssSyntaxError"&&!C.plugin?(C.plugin=n.postcssPlugin,C.setMessage()):n.postcssVersion}catch(t){console&&console.error&&console.error(t)}return C}prepareVisitors(){this.listeners={};let C=(e,n,t)=>{this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push([e,t])};for(let e of this.plugins)if(typeof e=="object")for(let n in e){if(!W7[n]&&/^[A-Z]/.test(n))throw new Error(`Unknown event ${n} in ${e.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Y7[n])if(typeof e[n]=="object")for(let t in e[n])t==="*"?C(e,n,e[n][t]):C(e,n+"-"+t.toLowerCase(),e[n][t]);else typeof e[n]=="function"&&C(e,n,e[n])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let C=0;C<this.plugins.length;C++){let e=this.plugins[C],n=this.runOnRoot(e);if(It(n))try{await n}catch(t){throw this.handleError(t)}}if(this.prepareVisitors(),this.hasListener){let C=this.result.root;for(;!C[je];){C[je]=!0;let e=[jm(C)];for(;e.length>0;){let n=this.visitTick(e);if(It(n))try{await n}catch(t){let i=e[e.length-1].node;throw this.handleError(t,i)}}}if(this.listeners.OnceExit)for(let[e,n]of this.listeners.OnceExit){this.result.lastPlugin=e;try{if(C.type==="document"){let t=C.nodes.map(i=>n(i,this.helpers));await Promise.all(t)}else await n(C,this.helpers)}catch(t){throw this.handleError(t)}}}return this.processed=!0,this.stringify()}runOnRoot(C){this.result.lastPlugin=C;try{if(typeof C=="object"&&C.Once){if(this.result.root.type==="document"){let e=this.result.root.nodes.map(n=>C.Once(n,this.helpers));return It(e[0])?Promise.all(e):e}return C.Once(this.result.root,this.helpers)}else if(typeof C=="function")return C(this.result.root,this.result)}catch(e){throw this.handleError(e)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let C=this.result.opts,e=U7;C.syntax&&(e=C.syntax.stringify),C.stringifier&&(e=C.stringifier),e.stringify&&(e=e.stringify);let t=new G7(e,this.result.root,this.result.opts).generate();return this.result.css=t[0],this.result.map=t[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let C of this.plugins){let e=this.runOnRoot(C);if(It(e))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let C=this.result.root;for(;!C[je];)C[je]=!0,this.walkSync(C);if(this.listeners.OnceExit)if(C.type==="document")for(let e of C.nodes)this.visitSync(this.listeners.OnceExit,e);else this.visitSync(this.listeners.OnceExit,C)}return this.result}then(C,e){return this.async().then(C,e)}toString(){return this.css}visitSync(C,e){for(let[n,t]of C){this.result.lastPlugin=n;let i;try{i=t(e,this.helpers)}catch(s){throw this.handleError(s,e.proxyOf)}if(e.type!=="root"&&e.type!=="document"&&!e.parent)return!0;if(It(i))throw this.getAsyncError()}}visitTick(C){let e=C[C.length-1],{node:n,visitors:t}=e;if(n.type!=="root"&&n.type!=="document"&&!n.parent){C.pop();return}if(t.length>0&&e.visitorIndex<t.length){let[s,o]=t[e.visitorIndex];e.visitorIndex+=1,e.visitorIndex===t.length&&(e.visitors=[],e.visitorIndex=0),this.result.lastPlugin=s;try{return o(n.toProxy(),this.helpers)}catch(l){throw this.handleError(l,n)}}if(e.iterator!==0){let s=e.iterator,o;for(;o=n.nodes[n.indexes[s]];)if(n.indexes[s]+=1,!o[je]){o[je]=!0,C.push(jm(o));return}e.iterator=0,delete n.indexes[s]}let i=e.events;for(;e.eventIndex<i.length;){let s=i[e.eventIndex];if(e.eventIndex+=1,s===pt){n.nodes&&n.nodes.length&&(n[je]=!0,e.iterator=n.getIterator());return}else if(this.listeners[s]){e.visitors=this.listeners[s];return}}C.pop()}walkSync(C){C[je]=!0;let e=Y1(C);for(let n of e)if(n===pt)C.nodes&&C.each(t=>{t[je]||this.walkSync(t)});else{let t=this.listeners[n];if(t&&this.visitSync(t,C.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};ft.registerPostcss=A=>{pa=A};var X1=ft;ft.default=ft;z7.registerLazyResult(ft);H7.registerLazyResult(ft);let J7=M1,X7=Do,Z7=zr;const Aw=Qr;let fa=class{constructor(C,e,n){e=e.toString(),this.stringified=!1,this._processor=C,this._css=e,this._opts=n,this._map=void 0;let t,i=X7;this.result=new Aw(this._processor,t,this._opts),this.result.css=e;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let o=new J7(i,t,this._opts,e);if(o.isMap()){let[l,a]=o.generate();l&&(this.result.css=l),a&&(this.result.map=a)}else o.clearAnnotation(),this.result.css=o.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(C){return this.async().catch(C)}finally(C){return this.async().then(C,C)}sync(){if(this.error)throw this.error;return this.result}then(C,e){return this.async().then(C,e)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let C,e=Z7;try{C=e(this._css,this._opts)}catch(n){this.error=n}if(this.error)throw this.error;return this._root=C,C}get[Symbol.toStringTag](){return"NoWorkResult"}};var Cw=fa;fa.default=fa;let ew=Cw,nw=X1,tw=Ur,iw=xi,di=class{constructor(C=[]){this.version="8.4.38",this.plugins=this.normalize(C)}normalize(C){let e=[];for(let n of C)if(n.postcss===!0?n=n():n.postcss&&(n=n.postcss),typeof n=="object"&&Array.isArray(n.plugins))e=e.concat(n.plugins);else if(typeof n=="object"&&n.postcssPlugin)e.push(n);else if(typeof n=="function")e.push(n);else if(!(typeof n=="object"&&(n.parse||n.stringify)))throw new Error(n+" is not a PostCSS plugin");return e}process(C,e={}){return!this.plugins.length&&!e.parser&&!e.stringifier&&!e.syntax?new ew(this,C,e):new nw(this,C,e)}use(C){return this.plugins=this.plugins.concat(this.normalize([C])),this}};var sw=di;di.default=di;iw.registerProcessor(di);tw.registerProcessor(di);let ow=Oo,lw=k1,aw=Ko,rw=Hr,cw=Lo,uw=xi,mw=Vr;function pi(A,C){if(Array.isArray(A))return A.map(t=>pi(t));let{inputs:e,...n}=A;if(e){C=[];for(let t of e){let i={...t,__proto__:cw.prototype};i.map&&(i.map={...i.map,__proto__:lw.prototype}),C.push(i)}}if(n.nodes&&(n.nodes=A.nodes.map(t=>pi(t,C))),n.source){let{inputId:t,...i}=n.source;n.source=i,t!=null&&(n.source.input=C[t])}if(n.type==="root")return new uw(n);if(n.type==="decl")return new ow(n);if(n.type==="rule")return new mw(n);if(n.type==="comment")return new aw(n);if(n.type==="atrule")return new rw(n);throw new Error("Unknown node type: "+A.type)}var dw=pi;pi.default=pi;let pw=$r,Z1=Oo,fw=X1,hw=Vn,qr=sw,gw=Do,bw=dw,Af=Ur,Ew=U1,Cf=Ko,ef=Hr,yw=Qr,vw=Lo,ww=zr,Bw=q1,nf=Vr,tf=xi,Sw=Po;function EC(...A){return A.length===1&&Array.isArray(A[0])&&(A=A[0]),new qr(A)}EC.plugin=function(C,e){let n=!1;function t(...s){console&&console.warn&&!n&&(n=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide: -https://evilmartians.com/chronicles/postcss-8-plugin-migration`),{}.LANG&&{}.LANG.startsWith("cn")&&console.warn(C+`: 里面 postcss.plugin 被弃用. 迁移指南: -https://www.w3ctech.com/topic/2226`));let o=e(...s);return o.postcssPlugin=C,o.postcssVersion=new qr().version,o}let i;return Object.defineProperty(t,"postcss",{get(){return i||(i=t()),i}}),t.process=function(s,o,l){return EC([t(l)]).process(s,o)},t};EC.stringify=gw;EC.parse=ww;EC.fromJSON=bw;EC.list=Bw;EC.comment=A=>new Cf(A);EC.atRule=A=>new ef(A);EC.decl=A=>new Z1(A);EC.rule=A=>new nf(A);EC.root=A=>new tf(A);EC.document=A=>new Af(A);EC.CssSyntaxError=pw;EC.Declaration=Z1;EC.Container=hw;EC.Processor=qr;EC.Document=Af;EC.Comment=Cf;EC.Warning=Ew;EC.AtRule=ef;EC.Result=yw;EC.Input=vw;EC.Rule=nf;EC.Root=tf;EC.Node=Sw;fw.registerPostcss(EC);var kw=EC;EC.default=EC;const _w=q0,Im=S8,{isPlainObject:xw}=Tr,Mm=$8,jw=R8,{parse:Iw}=kw,Mw=["img","audio","video","picture","svg","object","map","iframe","embed"],Dw=["script","style"];function Pt(A,C){A&&Object.keys(A).forEach(function(e){C(A[e],e)})}function $e(A,C){return{}.hasOwnProperty.call(A,C)}function Dm(A,C){const e=[];return Pt(A,function(n){C(n)&&e.push(n)}),e}function Pw(A){for(const C in A)if($e(A,C))return!1;return!0}function Ow(A){return A.map(function(C){if(!C.url)throw new Error("URL missing");return C.url+(C.w?` ${C.w}w`:"")+(C.h?` ${C.h}h`:"")+(C.d?` ${C.d}x`:"")}).join(", ")}var Lw=fi;const Kw=/^[^\0\t\n\f\r /<=>]+$/;function fi(A,C,e){if(A==null)return"";typeof A=="number"&&(A=A.toString());let n="",t="";function i(w,x){const D=this;this.tag=w,this.attribs=x||{},this.tagPosition=n.length,this.text="",this.mediaChildren=[],this.updateParentNodeText=function(){if(k.length){const L=k[k.length-1];L.text+=D.text}},this.updateParentNodeMediaChildren=function(){k.length&&Mw.includes(this.tag)&&k[k.length-1].mediaChildren.push(this.tag)}}C=Object.assign({},fi.defaults,C),C.parser=Object.assign({},Fw,C.parser);const s=function(w){return C.allowedTags===!1||(C.allowedTags||[]).indexOf(w)>-1};Dw.forEach(function(w){s(w)&&!C.allowVulnerableTags&&console.warn(` - -⚠️ Your \`allowedTags\` option includes, \`${w}\`, which is inherently -vulnerable to XSS attacks. Please remove it from \`allowedTags\`. -Or, to disable this warning, add the \`allowVulnerableTags\` option -and ensure you are accounting for this risk. - -`)});const o=C.nonTextTags||["script","style","textarea","option"];let l,a;C.allowedAttributes&&(l={},a={},Pt(C.allowedAttributes,function(w,x){l[x]=[];const D=[];w.forEach(function(L){typeof L=="string"&&L.indexOf("*")>=0?D.push(Im(L).replace(/\\\*/g,".*")):l[x].push(L)}),D.length&&(a[x]=new RegExp("^("+D.join("|")+")$"))}));const r={},p={},d={};Pt(C.allowedClasses,function(w,x){if(l&&($e(l,x)||(l[x]=[]),l[x].push("class")),r[x]=w,Array.isArray(w)){const D=[];r[x]=[],d[x]=[],w.forEach(function(L){typeof L=="string"&&L.indexOf("*")>=0?D.push(Im(L).replace(/\\\*/g,".*")):L instanceof RegExp?d[x].push(L):r[x].push(L)}),D.length&&(p[x]=new RegExp("^("+D.join("|")+")$"))}});const m={};let g;Pt(C.transformTags,function(w,x){let D;typeof w=="function"?D=w:typeof w=="string"&&(D=fi.simpleTransform(w)),x==="*"?g=D:m[x]=D});let y,k,_,R,F,J,nA=!1;LA();const CA=new _w.Parser({onopentag:function(w,x){if(C.enforceHtmlBoundary&&w==="html"&&LA(),F){J++;return}const D=new i(w,x);k.push(D);let L=!1;const gA=!!D.text;let bA;if($e(m,w)&&(bA=m[w](w,x),D.attribs=x=bA.attribs,bA.text!==void 0&&(D.innerText=bA.text),w!==bA.tagName&&(D.name=w=bA.tagName,R[y]=bA.tagName)),g&&(bA=g(w,x),D.attribs=x=bA.attribs,w!==bA.tagName&&(D.name=w=bA.tagName,R[y]=bA.tagName)),(!s(w)||C.disallowedTagsMode==="recursiveEscape"&&!Pw(_)||C.nestingLimit!=null&&y>=C.nestingLimit)&&(L=!0,_[y]=!0,(C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard")&&o.indexOf(w)!==-1&&(F=!0,J=1),_[y]=!0),y++,L){if(C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard")return;t=n,n=""}n+="<"+w,w==="script"&&(C.allowedScriptHostnames||C.allowedScriptDomains)&&(D.innerText=""),(!l||$e(l,w)||l["*"])&&Pt(x,function(SA,BA){if(!Kw.test(BA)){delete D.attribs[BA];return}if(SA===""&&!C.allowedEmptyAttributes.includes(BA)&&(C.nonBooleanAttributes.includes(BA)||C.nonBooleanAttributes.includes("*"))){delete D.attribs[BA];return}let hC=!1;if(!l||$e(l,w)&&l[w].indexOf(BA)!==-1||l["*"]&&l["*"].indexOf(BA)!==-1||$e(a,w)&&a[w].test(BA)||a["*"]&&a["*"].test(BA))hC=!0;else if(l&&l[w]){for(const $A of l[w])if(xw($A)&&$A.name&&$A.name===BA){hC=!0;let UA="";if($A.multiple===!0){const dC=SA.split(" ");for(const U of dC)$A.values.indexOf(U)!==-1&&(UA===""?UA=U:UA+=" "+U)}else $A.values.indexOf(SA)>=0&&(UA=SA);SA=UA}}if(hC){if(C.allowedSchemesAppliedToAttributes.indexOf(BA)!==-1&&pA(w,SA)){delete D.attribs[BA];return}if(w==="script"&&BA==="src"){let $A=!0;try{const UA=uA(SA);if(C.allowedScriptHostnames||C.allowedScriptDomains){const dC=(C.allowedScriptHostnames||[]).find(function(aA){return aA===UA.url.hostname}),U=(C.allowedScriptDomains||[]).find(function(aA){return UA.url.hostname===aA||UA.url.hostname.endsWith(`.${aA}`)});$A=dC||U}}catch{$A=!1}if(!$A){delete D.attribs[BA];return}}if(w==="iframe"&&BA==="src"){let $A=!0;try{const UA=uA(SA);if(UA.isRelativeUrl)$A=$e(C,"allowIframeRelativeUrls")?C.allowIframeRelativeUrls:!C.allowedIframeHostnames&&!C.allowedIframeDomains;else if(C.allowedIframeHostnames||C.allowedIframeDomains){const dC=(C.allowedIframeHostnames||[]).find(function(aA){return aA===UA.url.hostname}),U=(C.allowedIframeDomains||[]).find(function(aA){return UA.url.hostname===aA||UA.url.hostname.endsWith(`.${aA}`)});$A=dC||U}}catch{$A=!1}if(!$A){delete D.attribs[BA];return}}if(BA==="srcset")try{let $A=jw(SA);if($A.forEach(function(UA){pA("srcset",UA.url)&&(UA.evil=!0)}),$A=Dm($A,function(UA){return!UA.evil}),$A.length)SA=Ow(Dm($A,function(UA){return!UA.evil})),D.attribs[BA]=SA;else{delete D.attribs[BA];return}}catch{delete D.attribs[BA];return}if(BA==="class"){const $A=r[w],UA=r["*"],dC=p[w],U=d[w],aA=p["*"],rA=[dC,aA].concat(U).filter(function(fA){return fA});if($A&&UA?SA=z(SA,Mm($A,UA),rA):SA=z(SA,$A||UA,rA),!SA.length){delete D.attribs[BA];return}}if(BA==="style"){if(C.parseStyleAttributes)try{const $A=Iw(w+" {"+SA+"}",{map:!1}),UA=I($A,C.allowedStyles);if(SA=O(UA),SA.length===0){delete D.attribs[BA];return}}catch{typeof window<"u"&&console.warn('Failed to parse "'+w+" {"+SA+`}", If you're running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547`),delete D.attribs[BA];return}else if(C.allowedStyles)throw new Error("allowedStyles option cannot be used together with parseStyleAttributes: false.")}n+=" "+BA,SA&&SA.length?n+='="'+X(SA,!0)+'"':C.allowedEmptyAttributes.includes(BA)&&(n+='=""')}else delete D.attribs[BA]}),C.selfClosing.indexOf(w)!==-1?n+=" />":(n+=">",D.innerText&&!gA&&!C.textFilter&&(n+=X(D.innerText),nA=!0)),L&&(n=t+X(n),t="")},ontext:function(w){if(F)return;const x=k[k.length-1];let D;if(x&&(D=x.tag,w=x.innerText!==void 0?x.innerText:w),C.disallowedTagsMode==="completelyDiscard"&&!s(D))w="";else if((C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard")&&(D==="script"||D==="style"))n+=w;else{const L=X(w,!1);C.textFilter&&!nA?n+=C.textFilter(L,D):nA||(n+=L)}if(k.length){const L=k[k.length-1];L.text+=w}},onclosetag:function(w,x){if(F)if(J--,!J)F=!1;else return;const D=k.pop();if(!D)return;if(D.tag!==w){k.push(D);return}F=C.enforceHtmlBoundary?w==="html":!1,y--;const L=_[y];if(L){if(delete _[y],C.disallowedTagsMode==="discard"||C.disallowedTagsMode==="completelyDiscard"){D.updateParentNodeText();return}t=n,n=""}if(R[y]&&(w=R[y],delete R[y]),C.exclusiveFilter&&C.exclusiveFilter(D)){n=n.substr(0,D.tagPosition);return}if(D.updateParentNodeMediaChildren(),D.updateParentNodeText(),C.selfClosing.indexOf(w)!==-1||x&&!s(w)&&["escape","recursiveEscape"].indexOf(C.disallowedTagsMode)>=0){L&&(n=t,t="");return}n+="</"+w+">",L&&(n=t+X(n),t=""),nA=!1}},C.parser);return CA.write(A),CA.end(),n;function LA(){n="",y=0,k=[],_={},R={},F=!1,J=0}function X(w,x){return typeof w!="string"&&(w=w+""),C.parser.decodeEntities&&(w=w.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),x&&(w=w.replace(/"/g,"""))),w=w.replace(/&(?![a-zA-Z0-9#]{1,20};)/g,"&").replace(/</g,"<").replace(/>/g,">"),x&&(w=w.replace(/"/g,""")),w}function pA(w,x){for(x=x.replace(/[\x00-\x20]+/g,"");;){const gA=x.indexOf("<!--");if(gA===-1)break;const bA=x.indexOf("-->",gA+4);if(bA===-1)break;x=x.substring(0,gA)+x.substring(bA+3)}const D=x.match(/^([a-zA-Z][a-zA-Z0-9.\-+]*):/);if(!D)return x.match(/^[/\\]{2}/)?!C.allowProtocolRelative:!1;const L=D[1].toLowerCase();return $e(C.allowedSchemesByTag,w)?C.allowedSchemesByTag[w].indexOf(L)===-1:!C.allowedSchemes||C.allowedSchemes.indexOf(L)===-1}function uA(w){if(w=w.replace(/^(\w+:)?\s*[\\/]\s*[\\/]/,"$1//"),w.startsWith("relative:"))throw new Error("relative: exploit attempt");let x="relative://relative-site";for(let gA=0;gA<100;gA++)x+=`/${gA}`;const D=new URL(w,x);return{isRelativeUrl:D&&D.hostname==="relative-site"&&D.protocol==="relative:",url:D}}function I(w,x){if(!x)return w;const D=w.nodes[0];let L;return x[D.selector]&&x["*"]?L=Mm(x[D.selector],x["*"]):L=x[D.selector]||x["*"],L&&(w.nodes[0].nodes=D.nodes.reduce(q(L),[])),w}function O(w){return w.nodes[0].nodes.reduce(function(x,D){return x.push(`${D.prop}:${D.value}${D.important?" !important":""}`),x},[]).join(";")}function q(w){return function(x,D){return $e(w,D.prop)&&w[D.prop].some(function(gA){return gA.test(D.value)})&&x.push(D),x}}function z(w,x,D){return x?(w=w.split(/\s+/),w.filter(function(L){return x.indexOf(L)!==-1||D.some(function(gA){return gA.test(L)})}).join(" ")):w}}const Fw={decodeEntities:!0};fi.defaults={allowedTags:["address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","hgroup","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","main","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rb","rp","rt","rtc","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr"],nonBooleanAttributes:["abbr","accept","accept-charset","accesskey","action","allow","alt","as","autocapitalize","autocomplete","blocking","charset","cite","class","color","cols","colspan","content","contenteditable","coords","crossorigin","data","datetime","decoding","dir","dirname","download","draggable","enctype","enterkeyhint","fetchpriority","for","form","formaction","formenctype","formmethod","formtarget","headers","height","hidden","high","href","hreflang","http-equiv","id","imagesizes","imagesrcset","inputmode","integrity","is","itemid","itemprop","itemref","itemtype","kind","label","lang","list","loading","low","max","maxlength","media","method","min","minlength","name","nonce","optimum","pattern","ping","placeholder","popover","popovertarget","popovertargetaction","poster","preload","referrerpolicy","rel","rows","rowspan","sandbox","scope","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","start","step","style","tabindex","target","title","translate","type","usemap","value","width","wrap","onauxclick","onafterprint","onbeforematch","onbeforeprint","onbeforeunload","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onformdata","onhashchange","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onlanguagechange","onload","onloadeddata","onloadedmetadata","onloadstart","onmessage","onmessageerror","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onoffline","ononline","onpagehide","onpageshow","onpaste","onpause","onplay","onplaying","onpopstate","onprogress","onratechange","onreset","onresize","onrejectionhandled","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onslotchange","onstalled","onstorage","onsubmit","onsuspend","ontimeupdate","ontoggle","onunhandledrejection","onunload","onvolumechange","onwaiting","onwheel"],disallowedTagsMode:"discard",allowedAttributes:{a:["href","name","target"],img:["src","srcset","alt","title","width","height","loading"]},allowedEmptyAttributes:["alt"],selfClosing:["img","br","hr","area","base","basefont","input","link","meta"],allowedSchemes:["http","https","ftp","mailto","tel"],allowedSchemesByTag:{},allowedSchemesAppliedToAttributes:["href","src","cite"],allowProtocolRelative:!0,enforceHtmlBoundary:!1,parseStyleAttributes:!0};fi.simpleTransform=function(A,C,e){return e=e===void 0?!0:e,C=C||{},function(n,t){let i;if(e)for(i in C)t[i]=C[i];else t=C;return{tagName:A,attribs:t}}};const Ws=Et(Lw);function tA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Message.vue",C="aa094c90f6c5ce8f0f45097d3e5adef5212c5b42",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Message.vue",statementMap:{0:{start:{line:5,column:18},end:{line:111,column:1}},1:{start:{line:22,column:6},end:{line:22,column:39}},2:{start:{line:25,column:6},end:{line:30,column:7}},3:{start:{line:26,column:8},end:{line:29,column:10}},4:{start:{line:32,column:31},end:{line:32,column:35}},5:{start:{line:33,column:29},end:{line:33,column:33}},6:{start:{line:34,column:6},end:{line:105,column:19}},7:{start:{line:40,column:10},end:{line:62,column:11}},8:{start:{line:42,column:12},end:{line:49,column:13}},9:{start:{line:43,column:14},end:{line:46,column:15}},10:{start:{line:45,column:16},end:{line:45,column:61}},11:{start:{line:48,column:14},end:{line:48,column:41}},12:{start:{line:50,column:12},end:{line:53,column:13}},13:{start:{line:52,column:14},end:{line:52,column:43}},14:{start:{line:54,column:12},end:{line:59,column:13}},15:{start:{line:56,column:14},end:{line:56,column:39}},16:{start:{line:57,column:14},end:{line:57,column:37}},17:{start:{line:58,column:14},end:{line:58,column:25}},18:{start:{line:61,column:12},end:{line:61,column:23}},19:{start:{line:64,column:10},end:{line:75,column:11}},20:{start:{line:66,column:41},end:{line:68,column:64}},21:{start:{line:68,column:41},end:{line:68,column:63}},22:{start:{line:69,column:12},end:{line:74,column:13}},23:{start:{line:71,column:14},end:{line:71,column:44}},24:{start:{line:72,column:14},end:{line:72,column:65}},25:{start:{line:73,column:14},end:{line:73,column:25}},26:{start:{line:79,column:21},end:{line:79,column:47}},27:{start:{line:81,column:24},end:{line:81,column:26}},28:{start:{line:82,column:25},end:{line:82,column:27}},29:{start:{line:83,column:10},end:{line:86,column:11}},30:{start:{line:84,column:12},end:{line:84,column:41}},31:{start:{line:85,column:12},end:{line:85,column:71}},32:{start:{line:87,column:10},end:{line:89,column:11}},33:{start:{line:88,column:12},end:{line:88,column:27}},34:{start:{line:91,column:10},end:{line:91,column:149}},35:{start:{line:93,column:10},end:{line:93,column:86}},36:{start:{line:95,column:10},end:{line:95,column:74}},37:{start:{line:97,column:10},end:{line:97,column:84}},38:{start:{line:99,column:10},end:{line:101,column:11}},39:{start:{line:100,column:12},end:{line:100,column:111}},40:{start:{line:102,column:10},end:{line:102,column:21}},41:{start:{line:104,column:26},end:{line:104,column:39}},42:{start:{line:108,column:6},end:{line:108,column:66}},43:{start:{line:115,column:19},end:{line:115,column:32}},44:{start:{line:116,column:19},end:{line:119,column:1}},45:{start:{line:120,column:19},end:{line:123,column:1}},46:{start:{line:124,column:19},end:{line:124,column:40}},47:{start:{line:125,column:19},end:{line:125,column:28}},48:{start:{line:126,column:19},end:{line:126,column:28}},49:{start:{line:129,column:34},end:{line:129,column:67}},50:{start:{line:131,column:2},end:{line:171,column:8}},51:{start:{line:141,column:6},end:{line:145,column:27}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:21,column:4},end:{line:21,column:5}},loc:{start:{line:21,column:12},end:{line:23,column:5}},line:21},1:{name:"(anonymous_1)",decl:{start:{line:24,column:4},end:{line:24,column:5}},loc:{start:{line:24,column:12},end:{line:106,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:39,column:13},end:{line:39,column:14}},loc:{start:{line:39,column:37},end:{line:103,column:9}},line:39},3:{name:"(anonymous_3)",decl:{start:{line:68,column:25},end:{line:68,column:26}},loc:{start:{line:68,column:41},end:{line:68,column:63}},line:68},4:{name:"(anonymous_4)",decl:{start:{line:104,column:16},end:{line:104,column:17}},loc:{start:{line:104,column:26},end:{line:104,column:39}},line:104},5:{name:"(anonymous_5)",decl:{start:{line:107,column:4},end:{line:107,column:5}},loc:{start:{line:107,column:18},end:{line:109,column:5}},line:107},6:{name:"_sfc_render",decl:{start:{line:128,column:9},end:{line:128,column:20}},loc:{start:{line:128,column:68},end:{line:172,column:1}},line:128},7:{name:"(anonymous_7)",decl:{start:{line:140,column:94},end:{line:140,column:95}},loc:{start:{line:140,column:104},end:{line:146,column:5}},line:140}},branchMap:{0:{loc:{start:{line:25,column:6},end:{line:30,column:7}},type:"if",locations:[{start:{line:25,column:6},end:{line:30,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:25},1:{loc:{start:{line:40,column:10},end:{line:62,column:11}},type:"if",locations:[{start:{line:40,column:10},end:{line:62,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:40},2:{loc:{start:{line:42,column:12},end:{line:49,column:13}},type:"if",locations:[{start:{line:42,column:12},end:{line:49,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:42},3:{loc:{start:{line:43,column:14},end:{line:46,column:15}},type:"if",locations:[{start:{line:43,column:14},end:{line:46,column:15}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:43},4:{loc:{start:{line:50,column:12},end:{line:53,column:13}},type:"if",locations:[{start:{line:50,column:12},end:{line:53,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:50},5:{loc:{start:{line:54,column:12},end:{line:59,column:13}},type:"if",locations:[{start:{line:54,column:12},end:{line:59,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:54},6:{loc:{start:{line:64,column:10},end:{line:75,column:11}},type:"if",locations:[{start:{line:64,column:10},end:{line:75,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},7:{loc:{start:{line:69,column:12},end:{line:74,column:13}},type:"if",locations:[{start:{line:69,column:12},end:{line:74,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:69},8:{loc:{start:{line:87,column:10},end:{line:89,column:11}},type:"if",locations:[{start:{line:87,column:10},end:{line:89,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:87},9:{loc:{start:{line:108,column:13},end:{line:108,column:66}},type:"cond-expr",locations:[{start:{line:108,column:35},end:{line:108,column:59}},{start:{line:108,column:62},end:{line:108,column:66}}],line:108},10:{loc:{start:{line:134,column:4},end:{line:139,column:37}},type:"cond-expr",locations:[{start:{line:135,column:9},end:{line:138,column:31}},{start:{line:139,column:8},end:{line:139,column:37}}],line:134},11:{loc:{start:{line:147,column:4},end:{line:170,column:37}},type:"cond-expr",locations:[{start:{line:148,column:9},end:{line:169,column:10}},{start:{line:170,column:8},end:{line:170,column:37}}],line:147},12:{loc:{start:{line:149,column:10},end:{line:151,column:43}},type:"cond-expr",locations:[{start:{line:150,column:15},end:{line:150,column:101}},{start:{line:151,column:14},end:{line:151,column:43}}],line:149},13:{loc:{start:{line:156,column:10},end:{line:168,column:45}},type:"cond-expr",locations:[{start:{line:157,column:15},end:{line:161,column:37}},{start:{line:162,column:14},end:{line:168,column:45}}],line:156},14:{loc:{start:{line:162,column:14},end:{line:168,column:45}},type:"cond-expr",locations:[{start:{line:163,column:17},end:{line:167,column:39}},{start:{line:168,column:16},end:{line:168,column:45}}],line:162}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Message.vue"],names:[],mappings:"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AC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;YACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC5D;UACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACnB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAChB;UACA,CAAC,EAAE,CAAC,CAAC,CAAC;UACN,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC1I,CAAC,EAAE,CAAC,CAAC,CAAC;UACN,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC3E,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACR,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UAC/D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACT,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACzE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UAClE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;UACpG;UACA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;EACH,CAAC;AACH;;;;mBA5HA;;EAAA,KAAA;EAK8B,KAAK,EAAC,kDAAkD;;;EALtF,KAAA;EAM4B,KAAK,EAAC,MAAM;;mBANxC;mBAAA;mBAAA;;;;;wBACE,oBAUO;IAVD,KAAK,EADb,iBACc,qCAAqC,wBAA+B,mBAAU;;KAE5E,cAAO,CAAC,IAAI;uBAAxB,oBAA0C;UAH9C,KAAA;UAG8B,SAAa,EAAL,aAAI;oBAH1C;QAAA;uBAII,oBAAmG,iBAJvG,YAIiC,cAAO,CAAC,KAAK,EAJ9C,CAIyB,IAAI;4BAAzB,aAAmG;QAAtD,GAAG,EAAE,IAAI,CAAC,GAAG;QAAG,GAAG,EAAE,IAAI,CAAC,GAAG;QAAE,KAAK,EAAC,cAAc;;;KACrF,cAAO,CAAC,KAAK;uBAAxB,oBAKM,OALN,UAKM;WAJK,kBAAW;6BAApB,oBAAiD,KAAjD,UAAiD,mBAAX,aAAI;cANhD;UAOM,oBAAqI;YAA9H,QAAQ,EAAE,WAAM,CAAC,cAAO,CAAC,KAAK,EAAE,MAAM;YAAK,KAAK,EAAE,WAAM,CAAC,cAAO,CAAC,KAAK,EAAE,MAAM;8BAAO,WAAM,CAAC,cAAO,CAAC,KAAK,EAAE,OAAO,QAP/H;WAQe,mBAAU;6BAAnB,oBAA4G;gBARlH,KAAA;gBAQuC,KAAK,EAAC,kCAAkC;gBAAE,KAAK,EAAE,cAAO,CAAC,MAAM,CAAC,OAAO;0BAR9G;eASoB,mBAAU;+BAAxB,oBAAmH;kBATzH,KAAA;kBASgD,KAAK,EAAC,gCAAgC;kBAAE,KAAK,EAAE,cAAO,CAAC,MAAM,CAAC,OAAO;4BATrH;gBAAA;;QAAA"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"aa094c90f6c5ce8f0f45097d3e5adef5212c5b42"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return tA=function(){return s},s}tA();const Tw=(tA().s[0]++,{name:"Message",components:{MessageLink:E5},props:{message:{type:Object,required:!0},displayNick:{type:Boolean,default:!1}},computed:{nick(){return tA().f[0]++,tA().s[1]++,this.message.from.resource},body(){if(tA().f[1]++,tA().s[2]++,window.config.isStylingDisabled)return tA().b[0][0]++,tA().s[3]++,Ws(this.message.body,{allowedTags:[],disallowedTagsMode:escape});tA().b[0][1]++;let A=(tA().s[4]++,null),C=(tA().s[5]++,null);return tA().s[6]++,Ws(this.message.body,{allowedTags:[],disallowedTagsMode:escape}).split(/\r?\n/).map((e,n,t)=>{if(tA().f[2]++,tA().s[7]++,C!==null)return tA().b[1][0]++,tA().s[8]++,n===A?(tA().b[2][0]++,tA().s[9]++,n===C-1?(tA().b[3][0]++,tA().s[10]++,"<pre><code>"+e+"</code></pre>"):(tA().b[3][1]++,tA().s[11]++,"<pre><code>"+e)):(tA().b[2][1]++,tA().s[12]++,n===C-1?(tA().b[4][0]++,tA().s[13]++,e+"</code></pre>"):(tA().b[4][1]++,tA().s[14]++,n===C?(tA().b[5][0]++,tA().s[15]++,A=null,tA().s[16]++,C=null,tA().s[17]++,null):(tA().b[5][1]++,tA().s[18]++,e)));if(tA().b[1][1]++,tA().s[19]++,/^```/.test(e)){tA().b[6][0]++;const a=(tA().s[20]++,t.slice(n+1).findIndex(r=>(tA().f[3]++,tA().s[21]++,/```/.test(r))));if(tA().s[22]++,a!==-1)return tA().b[7][0]++,tA().s[23]++,A=n+1,tA().s[24]++,C=n+a+1,tA().s[25]++,null;tA().b[7][1]++}else tA().b[6][1]++;const i=(tA().s[26]++,/([^`]*)`([^`]*)`([^`]*)/g);let s;const o=(tA().s[27]++,{});let l=(tA().s[28]++,"");for(tA().s[29]++;(s=i.exec(e))!==null;)tA().s[30]++,o[s.index]=s[2],tA().s[31]++,l+=`${s[1]}<code ${s.index} />${s[3]}`;tA().s[32]++,l!==""?(tA().b[8][0]++,tA().s[33]++,e=l):tA().b[8][1]++,tA().s[34]++,e=e.replace(/(.*)((?:https?|mailto):\/\/[a-z0-9/:%_+.,#?!@&=-]+)(.*)/g,'$1<a href="$2" target="_blank" rel="noreferrer">$2</a>$3'),tA().s[35]++,e=e.replace(/([^*]*)\*([^*]*)\*([^*]*)/g,"$1<strong>$2</strong>$3"),tA().s[36]++,e=e.replace(/([^_]*)_([^_]*)_([^_]*)/g,"$1<i>$2</i>$3"),tA().s[37]++,e=e.replace(/([^~]*)~([^~]*)~([^~]*)/g,"$1<strike>$2</strike>$3"),tA().s[38]++;for(const a in o)tA().s[39]++,e=e.replace(new RegExp(`(.*)<code ${a} />(.*)`,"g"),`$1<code>${o[a]}</code>$2`);return tA().s[40]++,e}).filter(e=>(tA().f[4]++,tA().s[41]++,e!==null)).join(` -`)},statusCode(){return tA().f[5]++,tA().s[42]++,this.message.status?(tA().b[9][0]++,this.message.status.code):(tA().b[9][1]++,null)}}}),Nw=(tA().s[43]++,["innerHTML"]),$w=(tA().s[44]++,{key:1,class:"content is-italic has-text-weight-light is-small"}),Rw=(tA().s[45]++,{key:0,class:"pr-1"}),Gw=(tA().s[46]++,["datetime","title"]),Uw=(tA().s[47]++,["title"]),Qw=(tA().s[48]++,["title"]);function Hw(A,C,e,n,t,i){tA().f[6]++;const s=(tA().s[49]++,AA("message-link"));return tA().s[50]++,h(),Q("span",{class:zA(["message-text has-background-shade-1",{"is-msg-moderated":i.statusCode==="moderated"}])},[e.message.body?(tA().b[10][0]++,h(),Q("span",{key:0,innerHTML:i.body},null,8,Nw)):(tA().b[10][1]++,P("",!0)),(h(!0),Q(hA,null,XA(e.message.links,o=>(tA().f[7]++,tA().s[51]++,h(),B(s,{key:o.url,url:o.url,class:"is-clickable"},null,8,["url"]))),128)),e.message.delay?(tA().b[11][0]++,h(),Q("div",$w,[e.displayNick?(tA().b[12][0]++,h(),Q("b",Rw,sA(i.nick),1)):(tA().b[12][1]++,P("",!0)),b("time",{datetime:A.$dayjs(e.message.delay).format(),title:A.$dayjs(e.message.delay).format()},sA(A.$dayjs(e.message.delay).fromNow()),9,Gw),i.statusCode==="error"?(tA().b[13][0]++,h(),Q("i",{key:1,class:"fa fa-times has-text-danger ml-2",title:e.message.status.message},null,8,Uw)):(tA().b[13][1]++,i.statusCode==="moderated"?(tA().b[14][0]++,h(),Q("i",{key:2,class:"fa fa-ban has-text-danger ml-2",title:e.message.status.message},null,8,Qw)):(tA().b[14][1]++,P("",!0)))])):(tA().b[11][1]++,P("",!0))],2)}const Vw=mC(Tw,[["render",Hw]]);function vA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Modal.vue",C="6fd3f9c7aec8d73bc2fb6c65cd4682d1e9c15a18",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Modal.vue",statementMap:{0:{start:{line:4,column:18},end:{line:80,column:1}},1:{start:{line:49,column:4},end:{line:52,column:5}},2:{start:{line:55,column:4},end:{line:59,column:5}},3:{start:{line:56,column:6},end:{line:58,column:8}},4:{start:{line:57,column:8},end:{line:57,column:38}},5:{start:{line:63,column:6},end:{line:68,column:7}},6:{start:{line:64,column:8},end:{line:66,column:9}},7:{start:{line:65,column:10},end:{line:65,column:16}},8:{start:{line:67,column:8},end:{line:67,column:54}},9:{start:{line:69,column:6},end:{line:69,column:25}},10:{start:{line:72,column:6},end:{line:72,column:23}},11:{start:{line:73,column:6},end:{line:76,column:7}},12:{start:{line:74,column:8},end:{line:74,column:46}},13:{start:{line:75,column:8},end:{line:75,column:20}},14:{start:{line:77,column:6},end:{line:77,column:17}},15:{start:{line:84,column:19},end:{line:84,column:60}},16:{start:{line:85,column:19},end:{line:85,column:47}},17:{start:{line:86,column:19},end:{line:86,column:48}},18:{start:{line:87,column:19},end:{line:87,column:47}},19:{start:{line:88,column:19},end:{line:88,column:37}},20:{start:{line:89,column:19},end:{line:92,column:1}},21:{start:{line:93,column:19},end:{line:93,column:61}},22:{start:{line:94,column:19},end:{line:94,column:45}},23:{start:{line:95,column:19},end:{line:95,column:32}},24:{start:{line:96,column:20},end:{line:99,column:1}},25:{start:{line:100,column:20},end:{line:100,column:40}},26:{start:{line:101,column:20},end:{line:101,column:43}},27:{start:{line:102,column:20},end:{line:105,column:1}},28:{start:{line:106,column:20},end:{line:106,column:48}},29:{start:{line:107,column:20},end:{line:111,column:1}},30:{start:{line:114,column:2},end:{line:168,column:5}},31:{start:{line:136,column:80},end:{line:136,column:108}},32:{start:{line:163,column:57},end:{line:163,column:104}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:48,column:2},end:{line:48,column:3}},loc:{start:{line:48,column:10},end:{line:53,column:3}},line:48},1:{name:"(anonymous_1)",decl:{start:{line:54,column:2},end:{line:54,column:3}},loc:{start:{line:54,column:13},end:{line:60,column:3}},line:54},2:{name:"(anonymous_2)",decl:{start:{line:56,column:15},end:{line:56,column:16}},loc:{start:{line:56,column:21},end:{line:58,column:7}},line:56},3:{name:"(anonymous_3)",decl:{start:{line:62,column:4},end:{line:62,column:5}},loc:{start:{line:62,column:15},end:{line:70,column:5}},line:62},4:{name:"(anonymous_4)",decl:{start:{line:71,column:4},end:{line:71,column:5}},loc:{start:{line:71,column:18},end:{line:78,column:5}},line:71},5:{name:"_sfc_render",decl:{start:{line:113,column:9},end:{line:113,column:20}},loc:{start:{line:113,column:68},end:{line:169,column:1}},line:113},6:{name:"(anonymous_6)",decl:{start:{line:136,column:69},end:{line:136,column:70}},loc:{start:{line:136,column:80},end:{line:136,column:108}},line:136},7:{name:"(anonymous_7)",decl:{start:{line:163,column:43},end:{line:163,column:44}},loc:{start:{line:163,column:57},end:{line:163,column:104}},line:163}},branchMap:{0:{loc:{start:{line:51,column:19},end:{line:51,column:57}},type:"cond-expr",locations:[{start:{line:51,column:33},end:{line:51,column:50}},{start:{line:51,column:53},end:{line:51,column:57}}],line:51},1:{loc:{start:{line:55,column:4},end:{line:59,column:5}},type:"if",locations:[{start:{line:55,column:4},end:{line:59,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:55},2:{loc:{start:{line:63,column:6},end:{line:68,column:7}},type:"if",locations:[{start:{line:63,column:6},end:{line:68,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:63},3:{loc:{start:{line:64,column:8},end:{line:66,column:9}},type:"if",locations:[{start:{line:64,column:8},end:{line:66,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},4:{loc:{start:{line:73,column:6},end:{line:76,column:7}},type:"if",locations:[{start:{line:73,column:6},end:{line:76,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},5:{loc:{start:{line:120,column:8},end:{line:128,column:41}},type:"cond-expr",locations:[{start:{line:121,column:13},end:{line:127,column:14}},{start:{line:128,column:12},end:{line:128,column:41}}],line:120},6:{loc:{start:{line:131,column:10},end:{line:150,column:43}},type:"cond-expr",locations:[{start:{line:132,column:15},end:{line:149,column:16}},{start:{line:150,column:14},end:{line:150,column:43}}],line:131},7:{loc:{start:{line:136,column:43},end:{line:136,column:110}},type:"binary-expr",locations:[{start:{line:136,column:43},end:{line:136,column:52}},{start:{line:136,column:57},end:{line:136,column:109}}],line:136},8:{loc:{start:{line:146,column:16},end:{line:148,column:49}},type:"cond-expr",locations:[{start:{line:147,column:21},end:{line:147,column:106}},{start:{line:148,column:20},end:{line:148,column:49}}],line:146},9:{loc:{start:{line:155,column:6},end:{line:159,column:39}},type:"cond-expr",locations:[{start:{line:156,column:11},end:{line:158,column:12}},{start:{line:159,column:10},end:{line:159,column:39}}],line:155},10:{loc:{start:{line:163,column:17},end:{line:163,column:106}},type:"binary-expr",locations:[{start:{line:163,column:17},end:{line:163,column:26}},{start:{line:163,column:31},end:{line:163,column:105}}],line:163},11:{loc:{start:{line:163,column:57},end:{line:163,column:104}},type:"binary-expr",locations:[{start:{line:163,column:57},end:{line:163,column:74}},{start:{line:163,column:78},end:{line:163,column:104}}],line:163}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Modal.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6fd3f9c7aec8d73bc2fb6c65cd4682d1e9c15a18"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return vA=function(){return s},s}vA();const zw=(vA().s[0]++,{name:"Modal",props:{type:{type:String,default:"is-primary"},title:{type:String,default:""},message:{type:String,default:""},prompt:{type:Object,default:null},hasIcon:{type:Boolean,default:!1},hasCancelButton:{type:Boolean,default:!1},iconClass:{type:String,default:""},confirmText:{type:String,default:"OK"},cancelText:{type:String,default:"Cancel"}},emits:["close","promptAnswered"],data(){return vA().f[0]++,vA().s[1]++,{error:null,promptValue:this.prompt?(vA().b[0][0]++,this.prompt.value):(vA().b[0][1]++,null)}},mounted(){vA().f[1]++,vA().s[2]++,this.prompt?(vA().b[1][0]++,vA().s[3]++,gt(()=>{vA().f[2]++,vA().s[4]++,this.$refs.promptInput.focus()})):vA().b[1][1]++},methods:{validate(){if(vA().f[3]++,vA().s[5]++,this.prompt){if(vA().b[2][0]++,vA().s[6]++,this.validPrompt())vA().b[3][1]++;else{vA().b[3][0]++,vA().s[7]++;return}vA().s[8]++,this.$emit("promptAnswered",this.promptValue)}else vA().b[2][1]++;vA().s[9]++,this.$emit("close")},validPrompt(){if(vA().f[4]++,vA().s[10]++,this.error=null,vA().s[11]++,this.promptValue)vA().b[4][1]++;else return vA().b[4][0]++,vA().s[12]++,this.error="This field is required.",vA().s[13]++,!1;return vA().s[14]++,!0}}}),qw=(vA().s[15]++,{class:"modal-card animation-content"}),Ww=(vA().s[16]++,{class:"modal-card-head"}),Yw=(vA().s[17]++,{class:"modal-card-title"}),Jw=(vA().s[18]++,{class:"modal-card-body"}),Xw=(vA().s[19]++,{class:"media"}),Zw=(vA().s[20]++,{key:0,class:"media-left"}),A9=(vA().s[21]++,{class:"icon has-text-danger is-large"}),C9=(vA().s[22]++,{class:"media-content"}),e9=(vA().s[23]++,["innerHTML"]),n9=(vA().s[24]++,{key:0,class:"field pt-4"}),t9=(vA().s[25]++,{class:"control"}),i9=(vA().s[26]++,["type","placeholder"]),s9=(vA().s[27]++,{key:0,class:"help is-danger"}),o9=(vA().s[28]++,{class:"modal-card-foot"}),l9=(vA().s[29]++,{key:0,type:"button",class:"button"});function a9(A,C,e,n,t,i){return vA().f[5]++,vA().s[30]++,h(),Q("div",qw,[b("header",Ww,[b("p",Yw,sA(e.title),1)]),b("section",Jw,[b("div",Xw,[e.hasIcon?(vA().b[5][0]++,h(),Q("div",Zw,[b("span",A9,[b("i",{class:zA(e.iconClass)},null,2)])])):(vA().b[5][1]++,P("",!0)),b("div",C9,[b("span",{innerHTML:e.message},null,8,e9),e.prompt?(vA().b[6][0]++,h(),Q("div",n9,[b("div",t9,[QA(b("input",{ref:"promptInput","onUpdate:modelValue":(vA().b[7][0]++,C[0]||(vA().b[7][1]++,C[0]=s=>(vA().f[6]++,vA().s[31]++,t.promptValue=s))),type:e.prompt.type,placeholder:e.prompt.placeholder,required:"required",autofocus:"",class:zA(["input",{"is-danger":t.error}])},null,10,i9),[[bp,t.promptValue]])]),t.error?(vA().b[8][0]++,h(),Q("p",s9,sA(t.error),1)):(vA().b[8][1]++,P("",!0))])):(vA().b[6][1]++,P("",!0))])])]),b("footer",o9,[e.hasCancelButton?(vA().b[9][0]++,h(),Q("button",l9,[b("span",null,sA(e.cancelText),1)])):(vA().b[9][1]++,P("",!0)),b("button",{type:"button",class:zA(["button",e.type]),onClick:(vA().b[10][0]++,C[1]||(vA().b[10][1]++,C[1]=(...s)=>(vA().f[7]++,vA().s[32]++,vA().b[11][0]++,i.validate&&(vA().b[11][1]++,i.validate(...s)))))},[b("span",null,sA(e.confirmText),1)],2)])])}const Qt=mC(zw,[["render",a9]]);function ZC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/InviteGuestButton.vue",C="0f6fe54594a09719f694f0cfdc8cf15b400b155f",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/InviteGuestButton.vue",statementMap:{0:{start:{line:4,column:18},end:{line:25,column:1}},1:{start:{line:14,column:19},end:{line:14,column:146}},2:{start:{line:15,column:6},end:{line:22,column:8}},3:{start:{line:29,column:32},end:{line:32,column:12}},4:{start:{line:33,column:19},end:{line:35,column:1}},5:{start:{line:38,column:2},end:{line:42,column:17}},6:{start:{line:41,column:50},end:{line:41,column:74}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:13,column:4},end:{line:13,column:5}},loc:{start:{line:13,column:21},end:{line:23,column:5}},line:13},1:{name:"_sfc_render",decl:{start:{line:37,column:9},end:{line:37,column:20}},loc:{start:{line:37,column:68},end:{line:43,column:1}},line:37},2:{name:"(anonymous_2)",decl:{start:{line:41,column:39},end:{line:41,column:40}},loc:{start:{line:41,column:50},end:{line:41,column:74}},line:41}},branchMap:{0:{loc:{start:{line:41,column:13},end:{line:41,column:76}},type:"binary-expr",locations:[{start:{line:41,column:13},end:{line:41,column:22}},{start:{line:41,column:27},end:{line:41,column:75}}],line:41}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},f:{0:0,1:0,2:0},b:{0:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/InviteGuestButton.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"0f6fe54594a09719f694f0cfdc8cf15b400b155f"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return ZC=function(){return s},s}ZC();const r9=(ZC().s[0]++,{name:"InviteGuestButton",props:{roomJid:{type:String,required:!0}},methods:{getInviteLink(){ZC().f[0]++;const A=(ZC().s[1]++,window.location.origin+window.location.pathname+this.$router.resolve({name:"guest",query:{join:this.roomJid}}).href);ZC().s[2]++,this.$oruga.modal.open({component:Qt,trapFocus:!0,props:{title:"Guest invitation link",message:`<p>You can provide the following link to anyone (without registration):</p><p class="is-family-code is-select-all is-size-7">${A}</p>`}})}}}),c9=(ZC().s[3]++,b("i",{class:"fa fa-share-alt","aria-hidden":"true"},null,-1)),u9=(ZC().s[4]++,[c9]);function m9(A,C,e,n,t,i){return ZC().f[1]++,ZC().s[5]++,h(),Q("button",{class:"button is-primary-ghost has-no-border is-shadowless",title:"Guest invitation link",onClick:(ZC().b[0][0]++,C[0]||(ZC().b[0][1]++,C[0]=s=>(ZC().f[2]++,ZC().s[6]++,i.getInviteLink())))},u9)}const d9=mC(r9,[["render",m9]]);function NC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/BookmarkButton.vue",C="aaaa059d90996bf13dcef0f97c101638135ffb60",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/BookmarkButton.vue",statementMap:{0:{start:{line:3,column:18},end:{line:19,column:1}},1:{start:{line:12,column:22},end:{line:12,column:63}},2:{start:{line:16,column:6},end:{line:16,column:65}},3:{start:{line:23,column:19},end:{line:23,column:28}},4:{start:{line:26,column:2},end:{line:35,column:20}},5:{start:{line:29,column:50},end:{line:29,column:73}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:4},end:{line:12,column:5}},loc:{start:{line:12,column:20},end:{line:12,column:65}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:26},end:{line:17,column:5}},line:15},2:{name:"_sfc_render",decl:{start:{line:25,column:9},end:{line:25,column:20}},loc:{start:{line:25,column:68},end:{line:36,column:1}},line:25},3:{name:"(anonymous_3)",decl:{start:{line:29,column:39},end:{line:29,column:40}},loc:{start:{line:29,column:50},end:{line:29,column:73}},line:29}},branchMap:{0:{loc:{start:{line:28,column:11},end:{line:28,column:70}},type:"cond-expr",locations:[{start:{line:28,column:35},end:{line:28,column:52}},{start:{line:28,column:55},end:{line:28,column:70}}],line:28},1:{loc:{start:{line:29,column:13},end:{line:29,column:75}},type:"binary-expr",locations:[{start:{line:29,column:13},end:{line:29,column:22}},{start:{line:29,column:27},end:{line:29,column:74}}],line:29},2:{loc:{start:{line:32,column:36},end:{line:32,column:83}},type:"cond-expr",locations:[{start:{line:32,column:60},end:{line:32,column:69}},{start:{line:32,column:72},end:{line:32,column:83}}],line:32}},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/BookmarkButton.vue"],names:[],mappings:";;AAOA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACtB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,EAAE;MACH,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAC/D,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACpB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;EACH,CAAC;AACH;;;;mBAvBA;;;wBACE,oBAES;IAFD,KAAK,EAAC,qDAAqD;IAAE,KAAK,EAAE,qBAAY;IAAyC,OAAK,uCAAE,qBAAY;;IAClJ,oBAAoF;MAAjF,KAAK,EAFZ,iBAEa,IAAI,EAAS,qBAAY;MAA6B,aAAW,EAAC,MAAM;;QAFrF"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"aaaa059d90996bf13dcef0f97c101638135ffb60"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return NC=function(){return s},s}NC();const p9=(NC().s[0]++,{name:"BookmarkButton",props:{jid:{type:String,required:!0}},computed:{isBookmarked(){return NC().f[0]++,NC().s[1]++,this.$store.isBookmarked(this.jid)}},methods:{async bookmarkRoom(){NC().f[1]++,NC().s[2]++,await this.$xmpp.bookmarkRoom(!this.isBookmarked,this.jid)}}}),f9=(NC().s[3]++,["title"]);function h9(A,C,e,n,t,i){return NC().f[2]++,NC().s[4]++,h(),Q("button",{class:"button is-warning-ghost has-no-border is-shadowless",title:i.isBookmarked?(NC().b[0][0]++,"Unbookmark room"):(NC().b[0][1]++,"Bookmark room"),onClick:(NC().b[1][0]++,C[0]||(NC().b[1][1]++,C[0]=s=>(NC().f[3]++,NC().s[5]++,i.bookmarkRoom())))},[b("i",{class:zA(["fa",i.isBookmarked?(NC().b[2][0]++,"fa-star"):(NC().b[2][1]++,"fa-star-o")]),"aria-hidden":"true"},null,2)],8,f9)}const g9=mC(p9,[["render",h9]]);function iA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfiguration.vue",C="3b16b5dcfb8de3a69920b50644c7f83e4969b172",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfiguration.vue",statementMap:{0:{start:{line:2,column:18},end:{line:54,column:1}},1:{start:{line:18,column:4},end:{line:22,column:5}},2:{start:{line:25,column:16},end:{line:25,column:106}},3:{start:{line:25,column:77},end:{line:25,column:100}},4:{start:{line:28,column:4},end:{line:28,column:31}},5:{start:{line:32,column:6},end:{line:32,column:27}},6:{start:{line:33,column:6},end:{line:33,column:23}},7:{start:{line:34,column:6},end:{line:39,column:7}},8:{start:{line:35,column:8},end:{line:35,column:22}},9:{start:{line:36,column:8},end:{line:36,column:64}},10:{start:{line:38,column:8},end:{line:38,column:76}},11:{start:{line:40,column:6},end:{line:40,column:28}},12:{start:{line:43,column:6},end:{line:43,column:27}},13:{start:{line:44,column:6},end:{line:50,column:7}},14:{start:{line:45,column:8},end:{line:45,column:63}},15:{start:{line:46,column:8},end:{line:46,column:35}},16:{start:{line:47,column:8},end:{line:47,column:27}},17:{start:{line:49,column:8},end:{line:49,column:76}},18:{start:{line:51,column:6},end:{line:51,column:28}},19:{start:{line:58,column:19},end:{line:58,column:42}},20:{start:{line:59,column:19},end:{line:59,column:47}},21:{start:{line:60,column:19},end:{line:60,column:73}},22:{start:{line:61,column:19},end:{line:61,column:47}},23:{start:{line:62,column:19},end:{line:65,column:1}},24:{start:{line:66,column:19},end:{line:66,column:29}},25:{start:{line:67,column:19},end:{line:70,column:1}},26:{start:{line:71,column:19},end:{line:71,column:28}},27:{start:{line:72,column:19},end:{line:75,column:1}},28:{start:{line:76,column:20},end:{line:76,column:66}},29:{start:{line:77,column:20},end:{line:77,column:48}},30:{start:{line:78,column:20},end:{line:81,column:1}},31:{start:{line:84,column:30},end:{line:84,column:59}},32:{start:{line:85,column:29},end:{line:85,column:57}},33:{start:{line:86,column:31},end:{line:86,column:61}},34:{start:{line:88,column:2},end:{line:172,column:5}},35:{start:{line:94,column:8},end:{line:145,column:11}},36:{start:{line:112,column:58},end:{line:112,column:80}},37:{start:{line:117,column:28},end:{line:131,column:31}},38:{start:{line:123,column:66},end:{line:123,column:88}},39:{start:{line:126,column:56},end:{line:128,column:33}},40:{start:{line:136,column:60},end:{line:136,column:82}},41:{start:{line:149,column:68},end:{line:149,column:94}},42:{start:{line:158,column:58},end:{line:158,column:77}},43:{start:{line:165,column:61},end:{line:165,column:134}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:10},end:{line:23,column:3}},line:17},1:{name:"(anonymous_1)",decl:{start:{line:25,column:4},end:{line:25,column:5}},loc:{start:{line:25,column:14},end:{line:25,column:108}},line:25},2:{name:"(anonymous_2)",decl:{start:{line:25,column:66},end:{line:25,column:67}},loc:{start:{line:25,column:77},end:{line:25,column:100}},line:25},3:{name:"(anonymous_3)",decl:{start:{line:27,column:2},end:{line:27,column:3}},loc:{start:{line:27,column:13},end:{line:29,column:3}},line:27},4:{name:"(anonymous_4)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:34},end:{line:41,column:5}},line:31},5:{name:"(anonymous_5)",decl:{start:{line:42,column:4},end:{line:42,column:5}},loc:{start:{line:42,column:35},end:{line:52,column:5}},line:42},6:{name:"_sfc_render",decl:{start:{line:83,column:9},end:{line:83,column:20}},loc:{start:{line:83,column:68},end:{line:173,column:1}},line:83},7:{name:"(anonymous_7)",decl:{start:{line:93,column:91},end:{line:93,column:92}},loc:{start:{line:93,column:109},end:{line:146,column:7}},line:93},8:{name:"(anonymous_8)",decl:{start:{line:112,column:47},end:{line:112,column:48}},loc:{start:{line:112,column:58},end:{line:112,column:80}},line:112},9:{name:"(anonymous_9)",decl:{start:{line:116,column:109},end:{line:116,column:110}},loc:{start:{line:116,column:121},end:{line:132,column:27}},line:116},10:{name:"(anonymous_10)",decl:{start:{line:123,column:55},end:{line:123,column:56}},loc:{start:{line:123,column:66},end:{line:123,column:88}},line:123},11:{name:"(anonymous_11)",decl:{start:{line:126,column:50},end:{line:126,column:51}},loc:{start:{line:126,column:56},end:{line:128,column:33}},line:126},12:{name:"(anonymous_12)",decl:{start:{line:136,column:49},end:{line:136,column:50}},loc:{start:{line:136,column:60},end:{line:136,column:82}},line:136},13:{name:"(anonymous_13)",decl:{start:{line:149,column:57},end:{line:149,column:58}},loc:{start:{line:149,column:68},end:{line:149,column:94}},line:149},14:{name:"(anonymous_14)",decl:{start:{line:158,column:47},end:{line:158,column:48}},loc:{start:{line:158,column:58},end:{line:158,column:77}},line:158},15:{name:"(anonymous_15)",decl:{start:{line:165,column:47},end:{line:165,column:48}},loc:{start:{line:165,column:61},end:{line:165,column:134}},line:165}},branchMap:{0:{loc:{start:{line:25,column:23},end:{line:25,column:106}},type:"cond-expr",locations:[{start:{line:25,column:42},end:{line:25,column:101}},{start:{line:25,column:104},end:{line:25,column:106}}],line:25},1:{loc:{start:{line:38,column:21},end:{line:38,column:76}},type:"cond-expr",locations:[{start:{line:38,column:37},end:{line:38,column:50}},{start:{line:38,column:53},end:{line:38,column:76}}],line:38},2:{loc:{start:{line:49,column:21},end:{line:49,column:76}},type:"cond-expr",locations:[{start:{line:49,column:37},end:{line:49,column:50}},{start:{line:49,column:53},end:{line:49,column:76}}],line:49},3:{loc:{start:{line:98,column:10},end:{line:144,column:17}},type:"cond-expr",locations:[{start:{line:99,column:15},end:{line:99,column:100}},{start:{line:100,column:15},end:{line:144,column:16}}],line:98},4:{loc:{start:{line:101,column:16},end:{line:103,column:49}},type:"cond-expr",locations:[{start:{line:102,column:21},end:{line:102,column:109}},{start:{line:103,column:20},end:{line:103,column:49}}],line:101},5:{loc:{start:{line:108,column:18},end:{line:142,column:26}},type:"cond-expr",locations:[{start:{line:109,column:23},end:{line:113,column:72}},{start:{line:114,column:22},end:{line:142,column:26}}],line:108},6:{loc:{start:{line:114,column:22},end:{line:142,column:26}},type:"cond-expr",locations:[{start:{line:115,column:25},end:{line:133,column:26}},{start:{line:134,column:24},end:{line:142,column:26}}],line:114},7:{loc:{start:{line:138,column:32},end:{line:138,column:83}},type:"cond-expr",locations:[{start:{line:138,column:64},end:{line:138,column:74}},{start:{line:138,column:77},end:{line:138,column:83}}],line:138},8:{loc:{start:{line:149,column:31},end:{line:149,column:96}},type:"binary-expr",locations:[{start:{line:149,column:31},end:{line:149,column:40}},{start:{line:149,column:45},end:{line:149,column:95}}],line:149},9:{loc:{start:{line:154,column:6},end:{line:160,column:39}},type:"cond-expr",locations:[{start:{line:155,column:11},end:{line:159,column:21}},{start:{line:160,column:10},end:{line:160,column:39}}],line:154},10:{loc:{start:{line:158,column:21},end:{line:158,column:79}},type:"binary-expr",locations:[{start:{line:158,column:21},end:{line:158,column:30}},{start:{line:158,column:35},end:{line:158,column:78}}],line:158},11:{loc:{start:{line:161,column:6},end:{line:167,column:39}},type:"cond-expr",locations:[{start:{line:162,column:11},end:{line:166,column:20}},{start:{line:167,column:10},end:{line:167,column:39}}],line:161},12:{loc:{start:{line:165,column:21},end:{line:165,column:136}},type:"binary-expr",locations:[{start:{line:165,column:21},end:{line:165,column:30}},{start:{line:165,column:35},end:{line:165,column:135}}],line:165},13:{loc:{start:{line:165,column:61},end:{line:165,column:134}},type:"binary-expr",locations:[{start:{line:165,column:61},end:{line:165,column:91}},{start:{line:165,column:95},end:{line:165,column:134}}],line:165},14:{loc:{start:{line:168,column:6},end:{line:170,column:39}},type:"cond-expr",locations:[{start:{line:169,column:11},end:{line:169,column:99}},{start:{line:170,column:10},end:{line:170,column:39}}],line:168}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfiguration.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3b16b5dcfb8de3a69920b50644c7f83e4969b172"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return iA=function(){return s},s}iA();const b9=(iA().s[0]++,{name:"RoomConfiguration",props:{roomJid:{type:String,required:!0},hasCancelButton:{type:Boolean,default:!0}},emits:["close"],data(){return iA().f[0]++,iA().s[1]++,{form:{},isLoading:!1,error:null}},computed:{fields(){return iA().f[1]++,iA().s[2]++,this.form.fields?(iA().b[0][0]++,this.form.fields.filter(A=>(iA().f[2]++,iA().s[3]++,A.type!=="hidden"))):(iA().b[0][1]++,[])}},mounted(){iA().f[3]++,iA().s[4]++,this.getRoomConfiguration()},methods:{async getRoomConfiguration(){iA().f[4]++,iA().s[5]++,this.isLoading=!0,iA().s[6]++,this.error=null,iA().s[7]++;try{iA().s[8]++,this.form={},iA().s[9]++,this.form=await this.$xmpp.getRoomConfig(this.roomJid)}catch(A){iA().s[10]++,this.error=A.message?(iA().b[1][0]++,A.message):(iA().b[1][1]++,"Oups, an error occurs")}iA().s[11]++,this.isLoading=!1},async saveRoomConfiguration(){iA().f[5]++,iA().s[12]++,this.isLoading=!0,iA().s[13]++;try{iA().s[14]++,await this.$xmpp.setRoomConfig(this.roomJid,this.form),iA().s[15]++,this.$parent.$emit("saved"),iA().s[16]++,this.$emit("close")}catch(A){iA().s[17]++,this.error=A.message?(iA().b[2][0]++,A.message):(iA().b[2][1]++,"Oups, an error occurs")}iA().s[18]++,this.isLoading=!1}}}),E9=(iA().s[19]++,{class:"modal-card"}),y9=(iA().s[20]++,{class:"modal-card-head"}),v9=(iA().s[21]++,{class:"modal-card-title has-text-weight-semibold"}),w9=(iA().s[22]++,{class:"modal-card-body"}),B9=(iA().s[23]++,{key:0,class:"divider has-text-light is-dark"}),S9=(iA().s[24]++,{key:1}),k9=(iA().s[25]++,{key:0,class:"label has-text-light"}),_9=(iA().s[26]++,["title"]),x9=(iA().s[27]++,{key:1,class:"radio"}),j9=(iA().s[28]++,["onUpdate:modelValue","type","placeholder"]),I9=(iA().s[29]++,{class:"modal-card-foot"}),M9=(iA().s[30]++,{key:2,class:"is-flex-grow-1 has-text-right has-text-danger"});function D9(A,C,e,n,t,i){iA().f[6]++;const s=(iA().s[31]++,AA("o-switch")),o=(iA().s[32]++,AA("o-radio")),l=(iA().s[33]++,AA("o-loading"));return iA().s[34]++,h(),Q("main",E9,[b("header",y9,[b("span",v9,"Room <"+sA(e.roomJid)+"> configuration",1)]),b("section",w9,[(h(!0),Q(hA,null,XA(i.fields,(a,r)=>(iA().f[7]++,iA().s[35]++,h(),Q("div",{key:r,class:"field"},[a.type==="fixed"?(iA().b[3][0]++,h(),Q("h3",B9,sA(a.value),1)):(iA().b[3][1]++,h(),Q("div",S9,[a.label?(iA().b[4][0]++,h(),Q("label",k9,sA(a.label),1)):(iA().b[4][1]++,P("",!0)),b("div",{class:"control",title:a.description},[a.type==="boolean"?(iA().b[5][0]++,h(),B(s,{key:0,modelValue:a.value,"onUpdate:modelValue":p=>(iA().f[8]++,iA().s[36]++,a.value=p)},null,8,["modelValue","onUpdate:modelValue"])):(iA().b[5][1]++,a.type==="list-single"?(iA().b[6][0]++,h(),Q("label",x9,[(h(!0),Q(hA,null,XA(a.options,p=>(iA().f[9]++,iA().s[37]++,h(),Q("div",{key:p.value,class:"field"},[S(o,{modelValue:a.value,"onUpdate:modelValue":d=>(iA().f[10]++,iA().s[38]++,a.value=d),"native-value":p.value},{default:_A(()=>(iA().f[11]++,iA().s[39]++,[tC(sA(p.label),1)])),_:2},1032,["modelValue","onUpdate:modelValue","native-value"])]))),128))])):(iA().b[6][1]++,QA((h(),Q("input",{key:2,"onUpdate:modelValue":p=>(iA().f[12]++,iA().s[40]++,a.value=p),class:"input",type:a.type==="text-private"?(iA().b[7][0]++,"password"):(iA().b[7][1]++,"text"),placeholder:a.description},null,8,j9)),[[bp,a.value]])))],8,_9)]))]))),128)),S(l,{modelValue:t.isLoading,"onUpdate:modelValue":(iA().b[8][0]++,C[0]||(iA().b[8][1]++,C[0]=a=>(iA().f[13]++,iA().s[41]++,t.isLoading=a))),"is-full-page":!1},null,8,["modelValue"])]),b("footer",I9,[e.hasCancelButton?(iA().b[9][0]++,h(),Q("button",{key:0,class:"button is-dark",onClick:(iA().b[10][0]++,C[1]||(iA().b[10][1]++,C[1]=a=>(iA().f[14]++,iA().s[42]++,A.$emit("close"))))},"Close")):(iA().b[9][1]++,P("",!0)),t.form.fields?(iA().b[11][0]++,h(),Q("button",{key:1,class:"button is-primary",onClick:(iA().b[12][0]++,C[2]||(iA().b[12][1]++,C[2]=(...a)=>(iA().f[15]++,iA().s[43]++,iA().b[13][0]++,i.saveRoomConfiguration&&(iA().b[13][1]++,i.saveRoomConfiguration(...a)))))},"Save")):(iA().b[11][1]++,P("",!0)),t.error?(iA().b[14][0]++,h(),Q("span",M9,sA(t.error),1)):(iA().b[14][1]++,P("",!0))])])}const sf=mC(b9,[["render",D9]]);function oe(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfigurationButton.vue",C="accd74bd51642b70a5513ed206a247b0fcf5a78c",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfigurationButton.vue",statementMap:{0:{start:{line:4,column:18},end:{line:22,column:1}},1:{start:{line:14,column:6},end:{line:19,column:8}},2:{start:{line:26,column:32},end:{line:29,column:12}},3:{start:{line:30,column:19},end:{line:32,column:1}},4:{start:{line:35,column:2},end:{line:39,column:17}},5:{start:{line:38,column:50},end:{line:38,column:83}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:13,column:4},end:{line:13,column:5}},loc:{start:{line:13,column:30},end:{line:20,column:5}},line:13},1:{name:"_sfc_render",decl:{start:{line:34,column:9},end:{line:34,column:20}},loc:{start:{line:34,column:68},end:{line:40,column:1}},line:34},2:{name:"(anonymous_2)",decl:{start:{line:38,column:39},end:{line:38,column:40}},loc:{start:{line:38,column:50},end:{line:38,column:83}},line:38}},branchMap:{0:{loc:{start:{line:38,column:13},end:{line:38,column:85}},type:"binary-expr",locations:[{start:{line:38,column:13},end:{line:38,column:22}},{start:{line:38,column:27},end:{line:38,column:84}}],line:38}},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0},b:{0:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomConfigurationButton.vue"],names:[],mappings:";AAOA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAElE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;MAClC,CAAC;IACH,CAAC;EACH,CAAC;AACH;;;;gCAzBI,oBAA6C;EAA1C,KAAK,EAAC,cAAc;EAAC,aAAW,EAAC,MAAM;;;EAA1C,UAA6C;;;;wBAD/C,oBAES;IAFD,KAAK,EAAC,qDAAqD;IAAC,KAAK,EAAC,gBAAgB;IAAE,OAAK,uCAAE,+BAAsB;KAD3H"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"accd74bd51642b70a5513ed206a247b0fcf5a78c"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return oe=function(){return s},s}oe();const P9=(oe().s[0]++,{name:"RoomConfigurationButton",props:{roomJid:{type:String,required:!0}},methods:{openConfigurationModal(){oe().f[0]++,oe().s[1]++,this.$oruga.modal.open({component:sf,hasModalCard:!0,trapFocus:!0,props:{roomJid:this.roomJid}})}}}),O9=(oe().s[2]++,b("i",{class:"fa fa-wrench","aria-hidden":"true"},null,-1)),L9=(oe().s[3]++,[O9]);function K9(A,C,e,n,t,i){return oe().f[1]++,oe().s[4]++,h(),Q("button",{class:"button is-primary-ghost has-no-border is-shadowless",title:"Configure room",onClick:(oe().b[0][0]++,C[0]||(oe().b[0][1]++,C[0]=s=>(oe().f[2]++,oe().s[5]++,i.openConfigurationModal())))},L9)}const F9=mC(P9,[["render",K9]]);function kC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RetrieveHistoryButton.vue",C="7177f9fa651917011274f0668eb67c4cf1d0653c",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RetrieveHistoryButton.vue",statementMap:{0:{start:{line:5,column:18},end:{line:36,column:1}},1:{start:{line:8,column:4},end:{line:11,column:5}},2:{start:{line:17,column:20},end:{line:17,column:55}},3:{start:{line:21,column:6},end:{line:21,column:37}},4:{start:{line:27,column:6},end:{line:27,column:43}},5:{start:{line:28,column:21},end:{line:28,column:89}},6:{start:{line:29,column:6},end:{line:32,column:7}},7:{start:{line:31,column:8},end:{line:31,column:42}},8:{start:{line:33,column:6},end:{line:33,column:44}},9:{start:{line:40,column:19},end:{line:40,column:31}},10:{start:{line:41,column:32},end:{line:44,column:12}},11:{start:{line:45,column:19},end:{line:47,column:1}},12:{start:{line:50,column:2},end:{line:55,column:33}},13:{start:{line:54,column:50},end:{line:54,column:80}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:7,column:2},end:{line:7,column:3}},loc:{start:{line:7,column:10},end:{line:12,column:3}},line:7},1:{name:"(anonymous_1)",decl:{start:{line:17,column:4},end:{line:17,column:5}},loc:{start:{line:17,column:18},end:{line:17,column:57}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:20,column:16},end:{line:20,column:17}},loc:{start:{line:20,column:28},end:{line:22,column:5}},line:20},3:{name:"(anonymous_3)",decl:{start:{line:26,column:4},end:{line:26,column:5}},loc:{start:{line:26,column:33},end:{line:34,column:5}},line:26},4:{name:"_sfc_render",decl:{start:{line:49,column:9},end:{line:49,column:20}},loc:{start:{line:49,column:68},end:{line:56,column:1}},line:49},5:{name:"(anonymous_5)",decl:{start:{line:54,column:39},end:{line:54,column:40}},loc:{start:{line:54,column:50},end:{line:54,column:80}},line:54}},branchMap:{0:{loc:{start:{line:29,column:6},end:{line:32,column:7}},type:"if",locations:[{start:{line:29,column:6},end:{line:32,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:29},1:{loc:{start:{line:54,column:13},end:{line:54,column:82}},type:"binary-expr",locations:[{start:{line:54,column:13},end:{line:54,column:22}},{start:{line:54,column:27},end:{line:54,column:81}}],line:54}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RetrieveHistoryButton.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7177f9fa651917011274f0668eb67c4cf1d0653c"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return kC=function(){return s},s}kC();const T9=(kC().s[0]++,{name:"RetrieveHistoryButton",data(){return kC().f[0]++,kC().s[1]++,{firstMessageId:void 0,isLoadingPreviousMessages:!1}},computed:{...Be(WC,["activeChat"]),isDisabled(){return kC().f[1]++,kC().s[2]++,this.firstMessageId===null}},watch:{activeChat:function(){kC().f[2]++,kC().s[3]++,this.firstMessageId=void 0}},methods:{async getPreviousMessages(){kC().f[3]++,kC().s[4]++,this.isLoadingPreviousMessages=!0;const A=(kC().s[5]++,await this.$xmpp.searchHistory(this.activeChat,this.firstMessageId));kC().s[6]++,A?(kC().b[0][0]++,kC().s[7]++,this.firstMessageId=A.first):kC().b[0][1]++,kC().s[8]++,this.isLoadingPreviousMessages=!1}}}),N9=(kC().s[9]++,["disabled"]),$9=(kC().s[10]++,b("i",{class:"fa fa-history","aria-hidden":"true"},null,-1)),R9=(kC().s[11]++,[$9]);function G9(A,C,e,n,t,i){return kC().f[4]++,kC().s[12]++,h(),Q("button",{class:zA(["button is-primary-ghost has-no-border is-shadowless",{"is-loading":t.isLoadingPreviousMessages}]),title:"Get history",disabled:i.isDisabled,onClick:(kC().b[1][0]++,C[0]||(kC().b[1][1]++,C[0]=s=>(kC().f[5]++,kC().s[13]++,i.getPreviousMessages())))},R9,10,N9)}const U9=mC(T9,[["render",G9]]);function he(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomOccupants.vue",C="d1923d1c381c64e9312ae4fe2bc9f964f38fd374",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomOccupants.vue",statementMap:{0:{start:{line:3,column:18},end:{line:17,column:1}},1:{start:{line:15,column:19},end:{line:15,column:68}},2:{start:{line:21,column:19},end:{line:24,column:1}},3:{start:{line:27,column:28},end:{line:27,column:55}},4:{start:{line:29,column:2},end:{line:40,column:5}},5:{start:{line:31,column:6},end:{line:38,column:39}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:17},end:{line:15,column:70}},line:15},1:{name:"_sfc_render",decl:{start:{line:26,column:9},end:{line:26,column:20}},loc:{start:{line:26,column:68},end:{line:41,column:1}},line:26},2:{name:"(anonymous_2)",decl:{start:{line:30,column:92},end:{line:30,column:93}},loc:{start:{line:30,column:106},end:{line:39,column:5}},line:30}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0},b:{},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomOccupants.vue"],names:[],mappings:";AAOA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACR,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACpE,CAAC;AACH;;;;;EArBQ,KAAK,EAAC,0DAA0D;EAAC,KAA4C,EAA5C,2CAA4C;;;;;;wBAAnH,oBAEO,QAFP,UAEO;uBADL,oBAAyK,iBAF7K,YAE+B,kBAAS,EAFxC,CAEmB,QAAQ;4BAAvB,aAAyK;QAAlI,GAAG,EAAE,QAAQ,CAAC,GAAG;QAAG,GAAG,EAAE,QAAQ,CAAC,GAAG;QAAG,aAAW,EAAE,KAAK;QAAG,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAAG,IAAI,EAAE,EAAE;QAAE,KAA0B,EAA1B,sBAA0B"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d1923d1c381c64e9312ae4fe2bc9f964f38fd374"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return he=function(){return s},s}he();const Q9=(he().s[0]++,{name:"RoomOccupants",components:{avatar:yt},props:{roomJid:{type:String,required:!0}},computed:{occupants(){return he().f[0]++,he().s[1]++,this.$store.getRoomOccupants(this.roomJid)}}}),H9=(he().s[2]++,{class:"px-4 py-1 is-flex is-align-items-center is-flex-shrink-5",style:{"overflow-x":"auto","overflow-y":"hidden"}});function V9(A,C,e,n,t,i){he().f[1]++;const s=(he().s[3]++,AA("avatar"));return he().s[4]++,h(),Q("span",H9,[(h(!0),Q(hA,null,XA(i.occupants,o=>(he().f[2]++,he().s[5]++,h(),B(s,{key:o.jid,jid:o.jid,"display-jid":!1,presence:o.presence,size:24,style:{"margin-left":"-5px"}},null,8,["jid","presence"]))),128))])}const z9=mC(Q9,[["render",V9]]);function _C(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomSubject.vue",C="206ae6e0a9a21e7000df432f9552763343b0c71d",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomSubject.vue",statementMap:{0:{start:{line:3,column:18},end:{line:25,column:1}},1:{start:{line:12,column:4},end:{line:14,column:5}},2:{start:{line:18,column:6},end:{line:18,column:53}},3:{start:{line:21,column:6},end:{line:22,column:136}},4:{start:{line:29,column:19},end:{line:33,column:1}},5:{start:{line:34,column:19},end:{line:34,column:46}},6:{start:{line:35,column:19},end:{line:35,column:62}},7:{start:{line:36,column:32},end:{line:38,column:6}},8:{start:{line:39,column:19},end:{line:39,column:64}},9:{start:{line:40,column:19},end:{line:40,column:32}},10:{start:{line:41,column:19},end:{line:41,column:80}},11:{start:{line:44,column:2},end:{line:66,column:35}},12:{start:{line:52,column:58},end:{line:52,column:82}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:10},end:{line:15,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:17,column:4},end:{line:17,column:5}},loc:{start:{line:17,column:19},end:{line:19,column:5}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:20,column:4},end:{line:20,column:5}},loc:{start:{line:20,column:15},end:{line:23,column:5}},line:20},3:{name:"_sfc_render",decl:{start:{line:43,column:9},end:{line:43,column:20}},loc:{start:{line:43,column:68},end:{line:67,column:1}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:52,column:47},end:{line:52,column:48}},loc:{start:{line:52,column:58},end:{line:52,column:82}},line:52}},branchMap:{0:{loc:{start:{line:44,column:9},end:{line:66,column:35}},type:"cond-expr",locations:[{start:{line:45,column:7},end:{line:65,column:8}},{start:{line:66,column:6},end:{line:66,column:35}}],line:44},1:{loc:{start:{line:44,column:10},end:{line:44,column:50}},type:"binary-expr",locations:[{start:{line:44,column:10},end:{line:44,column:26}},{start:{line:44,column:30},end:{line:44,column:50}}],line:44},2:{loc:{start:{line:52,column:21},end:{line:52,column:84}},type:"binary-expr",locations:[{start:{line:52,column:21},end:{line:52,column:30}},{start:{line:52,column:35},end:{line:52,column:83}}],line:52}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomSubject.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"206ae6e0a9a21e7000df432f9552763343b0c71d"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return _C=function(){return s},s}_C();const q9=(_C().s[0]++,{name:"RoomSubject",props:{roomJid:{type:String,required:!0}},data(){return _C().f[0]++,_C().s[1]++,{isDiplayed:!0}},computed:{roomSubject(){return _C().f[1]++,_C().s[2]++,this.$store.getRoomSubject(this.roomJid)},subject(){return _C().f[2]++,_C().s[3]++,Ws(this.roomSubject.subject).replace(/(.*)((?:https?|mailto):\/\/[a-z0-9/:%_+.,#?!@&=-]+)(.*)/g,'$1<a href="$2" target="_blank" rel="noreferrer">$2</a>$3')}}}),W9=(_C().s[4]++,{key:0,class:"message is-small is-shade-1 has-background-shade-2 m-3",title:"Room subject"}),Y9=(_C().s[5]++,{class:"message-header"}),J9=(_C().s[6]++,{class:"message-body is-flex py-3 px-1"}),X9=(_C().s[7]++,b("div",{class:"icon is-medium is-flex-shrink-0"},[b("i",{class:"fa fa-2x fa-info-circle"})],-1)),Z9=(_C().s[8]++,{class:"is-flex is-flex-direction-column"}),AB=(_C().s[9]++,["innerHTML"]),CB=(_C().s[10]++,{class:"content is-italic has-text-weight-light is-small"});function eB(A,C,e,n,t,i){return _C().f[3]++,_C().s[11]++,_C().b[1][0]++,t.isDiplayed&&(_C().b[1][1]++,i.roomSubject)?(_C().b[0][0]++,h(),Q("div",W9,[b("div",Y9,[b("p",null,sA(e.roomJid),1),b("button",{class:"delete","aria-label":"delete",title:"Dismiss",onClick:(_C().b[2][0]++,C[0]||(_C().b[2][1]++,C[0]=s=>(_C().f[4]++,_C().s[12]++,t.isDiplayed=!1)))})]),b("div",J9,[X9,b("div",Z9,[b("span",{style:{"white-space":"pre-wrap"},innerHTML:i.subject},null,8,AB),b("span",CB,sA(i.roomSubject.author),1)])])])):(_C().b[0][1]++,P("",!0))}const nB=mC(q9,[["render",eB]]),Pm=[{emoji:"😀",names:["grinning"],tags:["smile","happy"],description:"grinning face",category:"Smileys & Emotion"},{emoji:"😃",names:["smiley"],tags:["happy","joy","haha"],description:"grinning face with big eyes",category:"Smileys & Emotion"},{emoji:"😄",names:["smile"],tags:["happy","joy","laugh","pleased"],description:"grinning face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😁",names:["grin"],tags:[],description:"beaming face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😆",names:["laughing","satisfied"],tags:["happy","haha"],description:"grinning squinting face",category:"Smileys & Emotion"},{emoji:"😅",names:["sweat_smile"],tags:["hot"],description:"grinning face with sweat",category:"Smileys & Emotion"},{emoji:"🤣",names:["rofl"],tags:["lol","laughing"],description:"rolling on the floor laughing",category:"Smileys & Emotion"},{emoji:"😂",names:["joy"],tags:["tears"],description:"face with tears of joy",category:"Smileys & Emotion"},{emoji:"🙂",names:["slightly_smiling_face"],tags:[],description:"slightly smiling face",category:"Smileys & Emotion"},{emoji:"🙃",names:["upside_down_face"],tags:[],description:"upside-down face",category:"Smileys & Emotion"},{emoji:"🫠",names:["melting_face"],tags:["sarcasm","dread"],description:"melting face",category:"Smileys & Emotion"},{emoji:"😉",names:["wink"],tags:["flirt"],description:"winking face",category:"Smileys & Emotion"},{emoji:"😊",names:["blush"],tags:["proud"],description:"smiling face with smiling eyes",category:"Smileys & Emotion"},{emoji:"😇",names:["innocent"],tags:["angel"],description:"smiling face with halo",category:"Smileys & Emotion"},{emoji:"🥰",names:["smiling_face_with_three_hearts"],tags:["love"],description:"smiling face with hearts",category:"Smileys & Emotion"},{emoji:"😍",names:["heart_eyes"],tags:["love","crush"],description:"smiling face with heart-eyes",category:"Smileys & Emotion"},{emoji:"🤩",names:["star_struck"],tags:["eyes"],description:"star-struck",category:"Smileys & Emotion"},{emoji:"😘",names:["kissing_heart"],tags:["flirt"],description:"face blowing a kiss",category:"Smileys & Emotion"},{emoji:"😗",names:["kissing"],tags:[],description:"kissing face",category:"Smileys & Emotion"},{emoji:"☺️",names:["relaxed"],tags:["blush","pleased"],description:"smiling face",category:"Smileys & Emotion"},{emoji:"😚",names:["kissing_closed_eyes"],tags:[],description:"kissing face with closed eyes",category:"Smileys & Emotion"},{emoji:"😙",names:["kissing_smiling_eyes"],tags:[],description:"kissing face with smiling eyes",category:"Smileys & Emotion"},{emoji:"🥲",names:["smiling_face_with_tear"],tags:[],description:"smiling face with tear",category:"Smileys & Emotion"},{emoji:"😋",names:["yum"],tags:["tongue","lick"],description:"face savoring food",category:"Smileys & Emotion"},{emoji:"😛",names:["stuck_out_tongue"],tags:[],description:"face with tongue",category:"Smileys & Emotion"},{emoji:"😜",names:["stuck_out_tongue_winking_eye"],tags:["prank","silly"],description:"winking face with tongue",category:"Smileys & Emotion"},{emoji:"🤪",names:["zany_face"],tags:["goofy","wacky"],description:"zany face",category:"Smileys & Emotion"},{emoji:"😝",names:["stuck_out_tongue_closed_eyes"],tags:["prank"],description:"squinting face with tongue",category:"Smileys & Emotion"},{emoji:"🤑",names:["money_mouth_face"],tags:["rich"],description:"money-mouth face",category:"Smileys & Emotion"},{emoji:"🤗",names:["hugs"],tags:[],description:"smiling face with open hands",category:"Smileys & Emotion"},{emoji:"🤭",names:["hand_over_mouth"],tags:["quiet","whoops"],description:"face with hand over mouth",category:"Smileys & Emotion"},{emoji:"🫢",names:["face_with_open_eyes_and_hand_over_mouth"],tags:["gasp","shock"],description:"face with open eyes and hand over mouth",category:"Smileys & Emotion"},{emoji:"🫣",names:["face_with_peeking_eye"],tags:[],description:"face with peeking eye",category:"Smileys & Emotion"},{emoji:"🤫",names:["shushing_face"],tags:["silence","quiet"],description:"shushing face",category:"Smileys & Emotion"},{emoji:"🤔",names:["thinking"],tags:[],description:"thinking face",category:"Smileys & Emotion"},{emoji:"🫡",names:["saluting_face"],tags:["respect"],description:"saluting face",category:"Smileys & Emotion"},{emoji:"🤐",names:["zipper_mouth_face"],tags:["silence","hush"],description:"zipper-mouth face",category:"Smileys & Emotion"},{emoji:"🤨",names:["raised_eyebrow"],tags:["suspicious"],description:"face with raised eyebrow",category:"Smileys & Emotion"},{emoji:"😐",names:["neutral_face"],tags:["meh"],description:"neutral face",category:"Smileys & Emotion"},{emoji:"😑",names:["expressionless"],tags:[],description:"expressionless face",category:"Smileys & Emotion"},{emoji:"😶",names:["no_mouth"],tags:["mute","silence"],description:"face without mouth",category:"Smileys & Emotion"},{emoji:"🫥",names:["dotted_line_face"],tags:["invisible"],description:"dotted line face",category:"Smileys & Emotion"},{emoji:"😶‍🌫️",names:["face_in_clouds"],tags:[],description:"face in clouds",category:"Smileys & Emotion"},{emoji:"😏",names:["smirk"],tags:["smug"],description:"smirking face",category:"Smileys & Emotion"},{emoji:"😒",names:["unamused"],tags:["meh"],description:"unamused face",category:"Smileys & Emotion"},{emoji:"🙄",names:["roll_eyes"],tags:[],description:"face with rolling eyes",category:"Smileys & Emotion"},{emoji:"😬",names:["grimacing"],tags:[],description:"grimacing face",category:"Smileys & Emotion"},{emoji:"😮‍💨",names:["face_exhaling"],tags:[],description:"face exhaling",category:"Smileys & Emotion"},{emoji:"🤥",names:["lying_face"],tags:["liar"],description:"lying face",category:"Smileys & Emotion"},{emoji:"🫨",names:["shaking_face"],tags:["shock"],description:"shaking face",category:"Smileys & Emotion"},{emoji:"😌",names:["relieved"],tags:["whew"],description:"relieved face",category:"Smileys & Emotion"},{emoji:"😔",names:["pensive"],tags:[],description:"pensive face",category:"Smileys & Emotion"},{emoji:"😪",names:["sleepy"],tags:["tired"],description:"sleepy face",category:"Smileys & Emotion"},{emoji:"🤤",names:["drooling_face"],tags:[],description:"drooling face",category:"Smileys & Emotion"},{emoji:"😴",names:["sleeping"],tags:["zzz"],description:"sleeping face",category:"Smileys & Emotion"},{emoji:"😷",names:["mask"],tags:["sick","ill"],description:"face with medical mask",category:"Smileys & Emotion"},{emoji:"🤒",names:["face_with_thermometer"],tags:["sick"],description:"face with thermometer",category:"Smileys & Emotion"},{emoji:"🤕",names:["face_with_head_bandage"],tags:["hurt"],description:"face with head-bandage",category:"Smileys & Emotion"},{emoji:"🤢",names:["nauseated_face"],tags:["sick","barf","disgusted"],description:"nauseated face",category:"Smileys & Emotion"},{emoji:"🤮",names:["vomiting_face"],tags:["barf","sick"],description:"face vomiting",category:"Smileys & Emotion"},{emoji:"🤧",names:["sneezing_face"],tags:["achoo","sick"],description:"sneezing face",category:"Smileys & Emotion"},{emoji:"🥵",names:["hot_face"],tags:["heat","sweating"],description:"hot face",category:"Smileys & Emotion"},{emoji:"🥶",names:["cold_face"],tags:["freezing","ice"],description:"cold face",category:"Smileys & Emotion"},{emoji:"🥴",names:["woozy_face"],tags:["groggy"],description:"woozy face",category:"Smileys & Emotion"},{emoji:"😵",names:["dizzy_face"],tags:[],description:"face with crossed-out eyes",category:"Smileys & Emotion"},{emoji:"😵‍💫",names:["face_with_spiral_eyes"],tags:[],description:"face with spiral eyes",category:"Smileys & Emotion"},{emoji:"🤯",names:["exploding_head"],tags:["mind","blown"],description:"exploding head",category:"Smileys & Emotion"},{emoji:"🤠",names:["cowboy_hat_face"],tags:[],description:"cowboy hat face",category:"Smileys & Emotion"},{emoji:"🥳",names:["partying_face"],tags:["celebration","birthday"],description:"partying face",category:"Smileys & Emotion"},{emoji:"🥸",names:["disguised_face"],tags:[],description:"disguised face",category:"Smileys & Emotion"},{emoji:"😎",names:["sunglasses"],tags:["cool"],description:"smiling face with sunglasses",category:"Smileys & Emotion"},{emoji:"🤓",names:["nerd_face"],tags:["geek","glasses"],description:"nerd face",category:"Smileys & Emotion"},{emoji:"🧐",names:["monocle_face"],tags:[],description:"face with monocle",category:"Smileys & Emotion"},{emoji:"😕",names:["confused"],tags:[],description:"confused face",category:"Smileys & Emotion"},{emoji:"🫤",names:["face_with_diagonal_mouth"],tags:["confused"],description:"face with diagonal mouth",category:"Smileys & Emotion"},{emoji:"😟",names:["worried"],tags:["nervous"],description:"worried face",category:"Smileys & Emotion"},{emoji:"🙁",names:["slightly_frowning_face"],tags:[],description:"slightly frowning face",category:"Smileys & Emotion"},{emoji:"☹️",names:["frowning_face"],tags:[],description:"frowning face",category:"Smileys & Emotion"},{emoji:"😮",names:["open_mouth"],tags:["surprise","impressed","wow"],description:"face with open mouth",category:"Smileys & Emotion"},{emoji:"😯",names:["hushed"],tags:["silence","speechless"],description:"hushed face",category:"Smileys & Emotion"},{emoji:"😲",names:["astonished"],tags:["amazed","gasp"],description:"astonished face",category:"Smileys & Emotion"},{emoji:"😳",names:["flushed"],tags:[],description:"flushed face",category:"Smileys & Emotion"},{emoji:"🥺",names:["pleading_face"],tags:["puppy","eyes"],description:"pleading face",category:"Smileys & Emotion"},{emoji:"🥹",names:["face_holding_back_tears"],tags:["tears","gratitude"],description:"face holding back tears",category:"Smileys & Emotion"},{emoji:"😦",names:["frowning"],tags:[],description:"frowning face with open mouth",category:"Smileys & Emotion"},{emoji:"😧",names:["anguished"],tags:["stunned"],description:"anguished face",category:"Smileys & Emotion"},{emoji:"😨",names:["fearful"],tags:["scared","shocked","oops"],description:"fearful face",category:"Smileys & Emotion"},{emoji:"😰",names:["cold_sweat"],tags:["nervous"],description:"anxious face with sweat",category:"Smileys & Emotion"},{emoji:"😥",names:["disappointed_relieved"],tags:["phew","sweat","nervous"],description:"sad but relieved face",category:"Smileys & Emotion"},{emoji:"😢",names:["cry"],tags:["sad","tear"],description:"crying face",category:"Smileys & Emotion"},{emoji:"😭",names:["sob"],tags:["sad","cry","bawling"],description:"loudly crying face",category:"Smileys & Emotion"},{emoji:"😱",names:["scream"],tags:["horror","shocked"],description:"face screaming in fear",category:"Smileys & Emotion"},{emoji:"😖",names:["confounded"],tags:[],description:"confounded face",category:"Smileys & Emotion"},{emoji:"😣",names:["persevere"],tags:["struggling"],description:"persevering face",category:"Smileys & Emotion"},{emoji:"😞",names:["disappointed"],tags:["sad"],description:"disappointed face",category:"Smileys & Emotion"},{emoji:"😓",names:["sweat"],tags:[],description:"downcast face with sweat",category:"Smileys & Emotion"},{emoji:"😩",names:["weary"],tags:["tired"],description:"weary face",category:"Smileys & Emotion"},{emoji:"😫",names:["tired_face"],tags:["upset","whine"],description:"tired face",category:"Smileys & Emotion"},{emoji:"🥱",names:["yawning_face"],tags:[],description:"yawning face",category:"Smileys & Emotion"},{emoji:"😤",names:["triumph"],tags:["smug"],description:"face with steam from nose",category:"Smileys & Emotion"},{emoji:"😡",names:["rage","pout"],tags:["angry"],description:"enraged face",category:"Smileys & Emotion"},{emoji:"😠",names:["angry"],tags:["mad","annoyed"],description:"angry face",category:"Smileys & Emotion"},{emoji:"🤬",names:["cursing_face"],tags:["foul"],description:"face with symbols on mouth",category:"Smileys & Emotion"},{emoji:"😈",names:["smiling_imp"],tags:["devil","evil","horns"],description:"smiling face with horns",category:"Smileys & Emotion"},{emoji:"👿",names:["imp"],tags:["angry","devil","evil","horns"],description:"angry face with horns",category:"Smileys & Emotion"},{emoji:"💀",names:["skull"],tags:["dead","danger","poison"],description:"skull",category:"Smileys & Emotion"},{emoji:"☠️",names:["skull_and_crossbones"],tags:["danger","pirate"],description:"skull and crossbones",category:"Smileys & Emotion"},{emoji:"💩",names:["hankey","poop","shit"],tags:["crap"],description:"pile of poo",category:"Smileys & Emotion"},{emoji:"🤡",names:["clown_face"],tags:[],description:"clown face",category:"Smileys & Emotion"},{emoji:"👹",names:["japanese_ogre"],tags:["monster"],description:"ogre",category:"Smileys & Emotion"},{emoji:"👺",names:["japanese_goblin"],tags:[],description:"goblin",category:"Smileys & Emotion"},{emoji:"👻",names:["ghost"],tags:["halloween"],description:"ghost",category:"Smileys & Emotion"},{emoji:"👽",names:["alien"],tags:["ufo"],description:"alien",category:"Smileys & Emotion"},{emoji:"👾",names:["space_invader"],tags:["game","retro"],description:"alien monster",category:"Smileys & Emotion"},{emoji:"🤖",names:["robot"],tags:[],description:"robot",category:"Smileys & Emotion"},{emoji:"😺",names:["smiley_cat"],tags:[],description:"grinning cat",category:"Smileys & Emotion"},{emoji:"😸",names:["smile_cat"],tags:[],description:"grinning cat with smiling eyes",category:"Smileys & Emotion"},{emoji:"😹",names:["joy_cat"],tags:[],description:"cat with tears of joy",category:"Smileys & Emotion"},{emoji:"😻",names:["heart_eyes_cat"],tags:[],description:"smiling cat with heart-eyes",category:"Smileys & Emotion"},{emoji:"😼",names:["smirk_cat"],tags:[],description:"cat with wry smile",category:"Smileys & Emotion"},{emoji:"😽",names:["kissing_cat"],tags:[],description:"kissing cat",category:"Smileys & Emotion"},{emoji:"🙀",names:["scream_cat"],tags:["horror"],description:"weary cat",category:"Smileys & Emotion"},{emoji:"😿",names:["crying_cat_face"],tags:["sad","tear"],description:"crying cat",category:"Smileys & Emotion"},{emoji:"😾",names:["pouting_cat"],tags:[],description:"pouting cat",category:"Smileys & Emotion"},{emoji:"🙈",names:["see_no_evil"],tags:["monkey","blind","ignore"],description:"see-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙉",names:["hear_no_evil"],tags:["monkey","deaf"],description:"hear-no-evil monkey",category:"Smileys & Emotion"},{emoji:"🙊",names:["speak_no_evil"],tags:["monkey","mute","hush"],description:"speak-no-evil monkey",category:"Smileys & Emotion"},{emoji:"💌",names:["love_letter"],tags:["email","envelope"],description:"love letter",category:"Smileys & Emotion"},{emoji:"💘",names:["cupid"],tags:["love","heart"],description:"heart with arrow",category:"Smileys & Emotion"},{emoji:"💝",names:["gift_heart"],tags:["chocolates"],description:"heart with ribbon",category:"Smileys & Emotion"},{emoji:"💖",names:["sparkling_heart"],tags:[],description:"sparkling heart",category:"Smileys & Emotion"},{emoji:"💗",names:["heartpulse"],tags:[],description:"growing heart",category:"Smileys & Emotion"},{emoji:"💓",names:["heartbeat"],tags:[],description:"beating heart",category:"Smileys & Emotion"},{emoji:"💞",names:["revolving_hearts"],tags:[],description:"revolving hearts",category:"Smileys & Emotion"},{emoji:"💕",names:["two_hearts"],tags:[],description:"two hearts",category:"Smileys & Emotion"},{emoji:"💟",names:["heart_decoration"],tags:[],description:"heart decoration",category:"Smileys & Emotion"},{emoji:"❣️",names:["heavy_heart_exclamation"],tags:[],description:"heart exclamation",category:"Smileys & Emotion"},{emoji:"💔",names:["broken_heart"],tags:[],description:"broken heart",category:"Smileys & Emotion"},{emoji:"❤️‍🔥",names:["heart_on_fire"],tags:[],description:"heart on fire",category:"Smileys & Emotion"},{emoji:"❤️‍🩹",names:["mending_heart"],tags:[],description:"mending heart",category:"Smileys & Emotion"},{emoji:"❤️",names:["heart"],tags:["love"],description:"red heart",category:"Smileys & Emotion"},{emoji:"🩷",names:["pink_heart"],tags:[],description:"pink heart",category:"Smileys & Emotion"},{emoji:"🧡",names:["orange_heart"],tags:[],description:"orange heart",category:"Smileys & Emotion"},{emoji:"💛",names:["yellow_heart"],tags:[],description:"yellow heart",category:"Smileys & Emotion"},{emoji:"💚",names:["green_heart"],tags:[],description:"green heart",category:"Smileys & Emotion"},{emoji:"💙",names:["blue_heart"],tags:[],description:"blue heart",category:"Smileys & Emotion"},{emoji:"🩵",names:["light_blue_heart"],tags:[],description:"light blue heart",category:"Smileys & Emotion"},{emoji:"💜",names:["purple_heart"],tags:[],description:"purple heart",category:"Smileys & Emotion"},{emoji:"🤎",names:["brown_heart"],tags:[],description:"brown heart",category:"Smileys & Emotion"},{emoji:"🖤",names:["black_heart"],tags:[],description:"black heart",category:"Smileys & Emotion"},{emoji:"🩶",names:["grey_heart"],tags:[],description:"grey heart",category:"Smileys & Emotion"},{emoji:"🤍",names:["white_heart"],tags:[],description:"white heart",category:"Smileys & Emotion"},{emoji:"💋",names:["kiss"],tags:["lipstick"],description:"kiss mark",category:"Smileys & Emotion"},{emoji:"💯",names:["100"],tags:["score","perfect"],description:"hundred points",category:"Smileys & Emotion"},{emoji:"💢",names:["anger"],tags:["angry"],description:"anger symbol",category:"Smileys & Emotion"},{emoji:"💥",names:["boom","collision"],tags:["explode"],description:"collision",category:"Smileys & Emotion"},{emoji:"💫",names:["dizzy"],tags:["star"],description:"dizzy",category:"Smileys & Emotion"},{emoji:"💦",names:["sweat_drops"],tags:["water","workout"],description:"sweat droplets",category:"Smileys & Emotion"},{emoji:"💨",names:["dash"],tags:["wind","blow","fast"],description:"dashing away",category:"Smileys & Emotion"},{emoji:"🕳️",names:["hole"],tags:[],description:"hole",category:"Smileys & Emotion"},{emoji:"💬",names:["speech_balloon"],tags:["comment"],description:"speech balloon",category:"Smileys & Emotion"},{emoji:"👁️‍🗨️",names:["eye_speech_bubble"],tags:[],description:"eye in speech bubble",category:"Smileys & Emotion"},{emoji:"🗨️",names:["left_speech_bubble"],tags:[],description:"left speech bubble",category:"Smileys & Emotion"},{emoji:"🗯️",names:["right_anger_bubble"],tags:[],description:"right anger bubble",category:"Smileys & Emotion"},{emoji:"💭",names:["thought_balloon"],tags:["thinking"],description:"thought balloon",category:"Smileys & Emotion"},{emoji:"💤",names:["zzz"],tags:["sleeping"],description:"ZZZ",category:"Smileys & Emotion"},{emoji:"👋",names:["wave"],tags:["goodbye"],description:"waving hand",category:"People & Body"},{emoji:"🤚",names:["raised_back_of_hand"],tags:[],description:"raised back of hand",category:"People & Body"},{emoji:"🖐️",names:["raised_hand_with_fingers_splayed"],tags:[],description:"hand with fingers splayed",category:"People & Body"},{emoji:"✋",names:["hand","raised_hand"],tags:["highfive","stop"],description:"raised hand",category:"People & Body"},{emoji:"🖖",names:["vulcan_salute"],tags:["prosper","spock"],description:"vulcan salute",category:"People & Body"},{emoji:"🫱",names:["rightwards_hand"],tags:[],description:"rightwards hand",category:"People & Body"},{emoji:"🫲",names:["leftwards_hand"],tags:[],description:"leftwards hand",category:"People & Body"},{emoji:"🫳",names:["palm_down_hand"],tags:[],description:"palm down hand",category:"People & Body"},{emoji:"🫴",names:["palm_up_hand"],tags:[],description:"palm up hand",category:"People & Body"},{emoji:"🫷",names:["leftwards_pushing_hand"],tags:[],description:"leftwards pushing hand",category:"People & Body"},{emoji:"🫸",names:["rightwards_pushing_hand"],tags:[],description:"rightwards pushing hand",category:"People & Body"},{emoji:"👌",names:["ok_hand"],tags:[],description:"OK hand",category:"People & Body"},{emoji:"🤌",names:["pinched_fingers"],tags:[],description:"pinched fingers",category:"People & Body"},{emoji:"🤏",names:["pinching_hand"],tags:[],description:"pinching hand",category:"People & Body"},{emoji:"✌️",names:["v"],tags:["victory","peace"],description:"victory hand",category:"People & Body"},{emoji:"🤞",names:["crossed_fingers"],tags:["luck","hopeful"],description:"crossed fingers",category:"People & Body"},{emoji:"🫰",names:["hand_with_index_finger_and_thumb_crossed"],tags:[],description:"hand with index finger and thumb crossed",category:"People & Body"},{emoji:"🤟",names:["love_you_gesture"],tags:[],description:"love-you gesture",category:"People & Body"},{emoji:"🤘",names:["metal"],tags:[],description:"sign of the horns",category:"People & Body"},{emoji:"🤙",names:["call_me_hand"],tags:[],description:"call me hand",category:"People & Body"},{emoji:"👈",names:["point_left"],tags:[],description:"backhand index pointing left",category:"People & Body"},{emoji:"👉",names:["point_right"],tags:[],description:"backhand index pointing right",category:"People & Body"},{emoji:"👆",names:["point_up_2"],tags:[],description:"backhand index pointing up",category:"People & Body"},{emoji:"🖕",names:["middle_finger","fu"],tags:[],description:"middle finger",category:"People & Body"},{emoji:"👇",names:["point_down"],tags:[],description:"backhand index pointing down",category:"People & Body"},{emoji:"☝️",names:["point_up"],tags:[],description:"index pointing up",category:"People & Body"},{emoji:"🫵",names:["index_pointing_at_the_viewer"],tags:[],description:"index pointing at the viewer",category:"People & Body"},{emoji:"👍",names:["+1","thumbsup"],tags:["approve","ok"],description:"thumbs up",category:"People & Body"},{emoji:"👎",names:["-1","thumbsdown"],tags:["disapprove","bury"],description:"thumbs down",category:"People & Body"},{emoji:"✊",names:["fist_raised","fist"],tags:["power"],description:"raised fist",category:"People & Body"},{emoji:"👊",names:["fist_oncoming","facepunch","punch"],tags:["attack"],description:"oncoming fist",category:"People & Body"},{emoji:"🤛",names:["fist_left"],tags:[],description:"left-facing fist",category:"People & Body"},{emoji:"🤜",names:["fist_right"],tags:[],description:"right-facing fist",category:"People & Body"},{emoji:"👏",names:["clap"],tags:["praise","applause"],description:"clapping hands",category:"People & Body"},{emoji:"🙌",names:["raised_hands"],tags:["hooray"],description:"raising hands",category:"People & Body"},{emoji:"🫶",names:["heart_hands"],tags:["love"],description:"heart hands",category:"People & Body"},{emoji:"👐",names:["open_hands"],tags:[],description:"open hands",category:"People & Body"},{emoji:"🤲",names:["palms_up_together"],tags:[],description:"palms up together",category:"People & Body"},{emoji:"🤝",names:["handshake"],tags:["deal"],description:"handshake",category:"People & Body"},{emoji:"🙏",names:["pray"],tags:["please","hope","wish"],description:"folded hands",category:"People & Body"},{emoji:"✍️",names:["writing_hand"],tags:[],description:"writing hand",category:"People & Body"},{emoji:"💅",names:["nail_care"],tags:["beauty","manicure"],description:"nail polish",category:"People & Body"},{emoji:"🤳",names:["selfie"],tags:[],description:"selfie",category:"People & Body"},{emoji:"💪",names:["muscle"],tags:["flex","bicep","strong","workout"],description:"flexed biceps",category:"People & Body"},{emoji:"🦾",names:["mechanical_arm"],tags:[],description:"mechanical arm",category:"People & Body"},{emoji:"🦿",names:["mechanical_leg"],tags:[],description:"mechanical leg",category:"People & Body"},{emoji:"🦵",names:["leg"],tags:[],description:"leg",category:"People & Body"},{emoji:"🦶",names:["foot"],tags:[],description:"foot",category:"People & Body"},{emoji:"👂",names:["ear"],tags:["hear","sound","listen"],description:"ear",category:"People & Body"},{emoji:"🦻",names:["ear_with_hearing_aid"],tags:[],description:"ear with hearing aid",category:"People & Body"},{emoji:"👃",names:["nose"],tags:["smell"],description:"nose",category:"People & Body"},{emoji:"🧠",names:["brain"],tags:[],description:"brain",category:"People & Body"},{emoji:"🫀",names:["anatomical_heart"],tags:[],description:"anatomical heart",category:"People & Body"},{emoji:"🫁",names:["lungs"],tags:[],description:"lungs",category:"People & Body"},{emoji:"🦷",names:["tooth"],tags:[],description:"tooth",category:"People & Body"},{emoji:"🦴",names:["bone"],tags:[],description:"bone",category:"People & Body"},{emoji:"👀",names:["eyes"],tags:["look","see","watch"],description:"eyes",category:"People & Body"},{emoji:"👁️",names:["eye"],tags:[],description:"eye",category:"People & Body"},{emoji:"👅",names:["tongue"],tags:["taste"],description:"tongue",category:"People & Body"},{emoji:"👄",names:["lips"],tags:["kiss"],description:"mouth",category:"People & Body"},{emoji:"🫦",names:["biting_lip"],tags:[],description:"biting lip",category:"People & Body"},{emoji:"👶",names:["baby"],tags:["child","newborn"],description:"baby",category:"People & Body"},{emoji:"🧒",names:["child"],tags:[],description:"child",category:"People & Body"},{emoji:"👦",names:["boy"],tags:["child"],description:"boy",category:"People & Body"},{emoji:"👧",names:["girl"],tags:["child"],description:"girl",category:"People & Body"},{emoji:"🧑",names:["adult"],tags:[],description:"person",category:"People & Body"},{emoji:"👱",names:["blond_haired_person"],tags:[],description:"person: blond hair",category:"People & Body"},{emoji:"👨",names:["man"],tags:["mustache","father","dad"],description:"man",category:"People & Body"},{emoji:"🧔",names:["bearded_person"],tags:[],description:"person: beard",category:"People & Body"},{emoji:"🧔‍♂️",names:["man_beard"],tags:[],description:"man: beard",category:"People & Body"},{emoji:"🧔‍♀️",names:["woman_beard"],tags:[],description:"woman: beard",category:"People & Body"},{emoji:"👨‍🦰",names:["red_haired_man"],tags:[],description:"man: red hair",category:"People & Body"},{emoji:"👨‍🦱",names:["curly_haired_man"],tags:[],description:"man: curly hair",category:"People & Body"},{emoji:"👨‍🦳",names:["white_haired_man"],tags:[],description:"man: white hair",category:"People & Body"},{emoji:"👨‍🦲",names:["bald_man"],tags:[],description:"man: bald",category:"People & Body"},{emoji:"👩",names:["woman"],tags:["girls"],description:"woman",category:"People & Body"},{emoji:"👩‍🦰",names:["red_haired_woman"],tags:[],description:"woman: red hair",category:"People & Body"},{emoji:"🧑‍🦰",names:["person_red_hair"],tags:[],description:"person: red hair",category:"People & Body"},{emoji:"👩‍🦱",names:["curly_haired_woman"],tags:[],description:"woman: curly hair",category:"People & Body"},{emoji:"🧑‍🦱",names:["person_curly_hair"],tags:[],description:"person: curly hair",category:"People & Body"},{emoji:"👩‍🦳",names:["white_haired_woman"],tags:[],description:"woman: white hair",category:"People & Body"},{emoji:"🧑‍🦳",names:["person_white_hair"],tags:[],description:"person: white hair",category:"People & Body"},{emoji:"👩‍🦲",names:["bald_woman"],tags:[],description:"woman: bald",category:"People & Body"},{emoji:"🧑‍🦲",names:["person_bald"],tags:[],description:"person: bald",category:"People & Body"},{emoji:"👱‍♀️",names:["blond_haired_woman","blonde_woman"],tags:[],description:"woman: blond hair",category:"People & Body"},{emoji:"👱‍♂️",names:["blond_haired_man"],tags:[],description:"man: blond hair",category:"People & Body"},{emoji:"🧓",names:["older_adult"],tags:[],description:"older person",category:"People & Body"},{emoji:"👴",names:["older_man"],tags:[],description:"old man",category:"People & Body"},{emoji:"👵",names:["older_woman"],tags:[],description:"old woman",category:"People & Body"},{emoji:"🙍",names:["frowning_person"],tags:[],description:"person frowning",category:"People & Body"},{emoji:"🙍‍♂️",names:["frowning_man"],tags:[],description:"man frowning",category:"People & Body"},{emoji:"🙍‍♀️",names:["frowning_woman"],tags:[],description:"woman frowning",category:"People & Body"},{emoji:"🙎",names:["pouting_face"],tags:[],description:"person pouting",category:"People & Body"},{emoji:"🙎‍♂️",names:["pouting_man"],tags:[],description:"man pouting",category:"People & Body"},{emoji:"🙎‍♀️",names:["pouting_woman"],tags:[],description:"woman pouting",category:"People & Body"},{emoji:"🙅",names:["no_good"],tags:["stop","halt","denied"],description:"person gesturing NO",category:"People & Body"},{emoji:"🙅‍♂️",names:["no_good_man","ng_man"],tags:["stop","halt","denied"],description:"man gesturing NO",category:"People & Body"},{emoji:"🙅‍♀️",names:["no_good_woman","ng_woman"],tags:["stop","halt","denied"],description:"woman gesturing NO",category:"People & Body"},{emoji:"🙆",names:["ok_person"],tags:[],description:"person gesturing OK",category:"People & Body"},{emoji:"🙆‍♂️",names:["ok_man"],tags:[],description:"man gesturing OK",category:"People & Body"},{emoji:"🙆‍♀️",names:["ok_woman"],tags:[],description:"woman gesturing OK",category:"People & Body"},{emoji:"💁",names:["tipping_hand_person","information_desk_person"],tags:[],description:"person tipping hand",category:"People & Body"},{emoji:"💁‍♂️",names:["tipping_hand_man","sassy_man"],tags:["information"],description:"man tipping hand",category:"People & Body"},{emoji:"💁‍♀️",names:["tipping_hand_woman","sassy_woman"],tags:["information"],description:"woman tipping hand",category:"People & Body"},{emoji:"🙋",names:["raising_hand"],tags:[],description:"person raising hand",category:"People & Body"},{emoji:"🙋‍♂️",names:["raising_hand_man"],tags:[],description:"man raising hand",category:"People & Body"},{emoji:"🙋‍♀️",names:["raising_hand_woman"],tags:[],description:"woman raising hand",category:"People & Body"},{emoji:"🧏",names:["deaf_person"],tags:[],description:"deaf person",category:"People & Body"},{emoji:"🧏‍♂️",names:["deaf_man"],tags:[],description:"deaf man",category:"People & Body"},{emoji:"🧏‍♀️",names:["deaf_woman"],tags:[],description:"deaf woman",category:"People & Body"},{emoji:"🙇",names:["bow"],tags:["respect","thanks"],description:"person bowing",category:"People & Body"},{emoji:"🙇‍♂️",names:["bowing_man"],tags:["respect","thanks"],description:"man bowing",category:"People & Body"},{emoji:"🙇‍♀️",names:["bowing_woman"],tags:["respect","thanks"],description:"woman bowing",category:"People & Body"},{emoji:"🤦",names:["facepalm"],tags:[],description:"person facepalming",category:"People & Body"},{emoji:"🤦‍♂️",names:["man_facepalming"],tags:[],description:"man facepalming",category:"People & Body"},{emoji:"🤦‍♀️",names:["woman_facepalming"],tags:[],description:"woman facepalming",category:"People & Body"},{emoji:"🤷",names:["shrug"],tags:[],description:"person shrugging",category:"People & Body"},{emoji:"🤷‍♂️",names:["man_shrugging"],tags:[],description:"man shrugging",category:"People & Body"},{emoji:"🤷‍♀️",names:["woman_shrugging"],tags:[],description:"woman shrugging",category:"People & Body"},{emoji:"🧑‍⚕️",names:["health_worker"],tags:[],description:"health worker",category:"People & Body"},{emoji:"👨‍⚕️",names:["man_health_worker"],tags:["doctor","nurse"],description:"man health worker",category:"People & Body"},{emoji:"👩‍⚕️",names:["woman_health_worker"],tags:["doctor","nurse"],description:"woman health worker",category:"People & Body"},{emoji:"🧑‍🎓",names:["student"],tags:[],description:"student",category:"People & Body"},{emoji:"👨‍🎓",names:["man_student"],tags:["graduation"],description:"man student",category:"People & Body"},{emoji:"👩‍🎓",names:["woman_student"],tags:["graduation"],description:"woman student",category:"People & Body"},{emoji:"🧑‍🏫",names:["teacher"],tags:[],description:"teacher",category:"People & Body"},{emoji:"👨‍🏫",names:["man_teacher"],tags:["school","professor"],description:"man teacher",category:"People & Body"},{emoji:"👩‍🏫",names:["woman_teacher"],tags:["school","professor"],description:"woman teacher",category:"People & Body"},{emoji:"🧑‍⚖️",names:["judge"],tags:[],description:"judge",category:"People & Body"},{emoji:"👨‍⚖️",names:["man_judge"],tags:["justice"],description:"man judge",category:"People & Body"},{emoji:"👩‍⚖️",names:["woman_judge"],tags:["justice"],description:"woman judge",category:"People & Body"},{emoji:"🧑‍🌾",names:["farmer"],tags:[],description:"farmer",category:"People & Body"},{emoji:"👨‍🌾",names:["man_farmer"],tags:[],description:"man farmer",category:"People & Body"},{emoji:"👩‍🌾",names:["woman_farmer"],tags:[],description:"woman farmer",category:"People & Body"},{emoji:"🧑‍🍳",names:["cook"],tags:[],description:"cook",category:"People & Body"},{emoji:"👨‍🍳",names:["man_cook"],tags:["chef"],description:"man cook",category:"People & Body"},{emoji:"👩‍🍳",names:["woman_cook"],tags:["chef"],description:"woman cook",category:"People & Body"},{emoji:"🧑‍🔧",names:["mechanic"],tags:[],description:"mechanic",category:"People & Body"},{emoji:"👨‍🔧",names:["man_mechanic"],tags:[],description:"man mechanic",category:"People & Body"},{emoji:"👩‍🔧",names:["woman_mechanic"],tags:[],description:"woman mechanic",category:"People & Body"},{emoji:"🧑‍🏭",names:["factory_worker"],tags:[],description:"factory worker",category:"People & Body"},{emoji:"👨‍🏭",names:["man_factory_worker"],tags:[],description:"man factory worker",category:"People & Body"},{emoji:"👩‍🏭",names:["woman_factory_worker"],tags:[],description:"woman factory worker",category:"People & Body"},{emoji:"🧑‍💼",names:["office_worker"],tags:[],description:"office worker",category:"People & Body"},{emoji:"👨‍💼",names:["man_office_worker"],tags:["business"],description:"man office worker",category:"People & Body"},{emoji:"👩‍💼",names:["woman_office_worker"],tags:["business"],description:"woman office worker",category:"People & Body"},{emoji:"🧑‍🔬",names:["scientist"],tags:[],description:"scientist",category:"People & Body"},{emoji:"👨‍🔬",names:["man_scientist"],tags:["research"],description:"man scientist",category:"People & Body"},{emoji:"👩‍🔬",names:["woman_scientist"],tags:["research"],description:"woman scientist",category:"People & Body"},{emoji:"🧑‍💻",names:["technologist"],tags:[],description:"technologist",category:"People & Body"},{emoji:"👨‍💻",names:["man_technologist"],tags:["coder"],description:"man technologist",category:"People & Body"},{emoji:"👩‍💻",names:["woman_technologist"],tags:["coder"],description:"woman technologist",category:"People & Body"},{emoji:"🧑‍🎤",names:["singer"],tags:[],description:"singer",category:"People & Body"},{emoji:"👨‍🎤",names:["man_singer"],tags:["rockstar"],description:"man singer",category:"People & Body"},{emoji:"👩‍🎤",names:["woman_singer"],tags:["rockstar"],description:"woman singer",category:"People & Body"},{emoji:"🧑‍🎨",names:["artist"],tags:[],description:"artist",category:"People & Body"},{emoji:"👨‍🎨",names:["man_artist"],tags:["painter"],description:"man artist",category:"People & Body"},{emoji:"👩‍🎨",names:["woman_artist"],tags:["painter"],description:"woman artist",category:"People & Body"},{emoji:"🧑‍✈️",names:["pilot"],tags:[],description:"pilot",category:"People & Body"},{emoji:"👨‍✈️",names:["man_pilot"],tags:[],description:"man pilot",category:"People & Body"},{emoji:"👩‍✈️",names:["woman_pilot"],tags:[],description:"woman pilot",category:"People & Body"},{emoji:"🧑‍🚀",names:["astronaut"],tags:[],description:"astronaut",category:"People & Body"},{emoji:"👨‍🚀",names:["man_astronaut"],tags:["space"],description:"man astronaut",category:"People & Body"},{emoji:"👩‍🚀",names:["woman_astronaut"],tags:["space"],description:"woman astronaut",category:"People & Body"},{emoji:"🧑‍🚒",names:["firefighter"],tags:[],description:"firefighter",category:"People & Body"},{emoji:"👨‍🚒",names:["man_firefighter"],tags:[],description:"man firefighter",category:"People & Body"},{emoji:"👩‍🚒",names:["woman_firefighter"],tags:[],description:"woman firefighter",category:"People & Body"},{emoji:"👮",names:["police_officer","cop"],tags:["law"],description:"police officer",category:"People & Body"},{emoji:"👮‍♂️",names:["policeman"],tags:["law","cop"],description:"man police officer",category:"People & Body"},{emoji:"👮‍♀️",names:["policewoman"],tags:["law","cop"],description:"woman police officer",category:"People & Body"},{emoji:"🕵️",names:["detective"],tags:["sleuth"],description:"detective",category:"People & Body"},{emoji:"🕵️‍♂️",names:["male_detective"],tags:["sleuth"],description:"man detective",category:"People & Body"},{emoji:"🕵️‍♀️",names:["female_detective"],tags:["sleuth"],description:"woman detective",category:"People & Body"},{emoji:"💂",names:["guard"],tags:[],description:"guard",category:"People & Body"},{emoji:"💂‍♂️",names:["guardsman"],tags:[],description:"man guard",category:"People & Body"},{emoji:"💂‍♀️",names:["guardswoman"],tags:[],description:"woman guard",category:"People & Body"},{emoji:"🥷",names:["ninja"],tags:[],description:"ninja",category:"People & Body"},{emoji:"👷",names:["construction_worker"],tags:["helmet"],description:"construction worker",category:"People & Body"},{emoji:"👷‍♂️",names:["construction_worker_man"],tags:["helmet"],description:"man construction worker",category:"People & Body"},{emoji:"👷‍♀️",names:["construction_worker_woman"],tags:["helmet"],description:"woman construction worker",category:"People & Body"},{emoji:"🫅",names:["person_with_crown"],tags:[],description:"person with crown",category:"People & Body"},{emoji:"🤴",names:["prince"],tags:["crown","royal"],description:"prince",category:"People & Body"},{emoji:"👸",names:["princess"],tags:["crown","royal"],description:"princess",category:"People & Body"},{emoji:"👳",names:["person_with_turban"],tags:[],description:"person wearing turban",category:"People & Body"},{emoji:"👳‍♂️",names:["man_with_turban"],tags:[],description:"man wearing turban",category:"People & Body"},{emoji:"👳‍♀️",names:["woman_with_turban"],tags:[],description:"woman wearing turban",category:"People & Body"},{emoji:"👲",names:["man_with_gua_pi_mao"],tags:[],description:"person with skullcap",category:"People & Body"},{emoji:"🧕",names:["woman_with_headscarf"],tags:["hijab"],description:"woman with headscarf",category:"People & Body"},{emoji:"🤵",names:["person_in_tuxedo"],tags:["groom","marriage","wedding"],description:"person in tuxedo",category:"People & Body"},{emoji:"🤵‍♂️",names:["man_in_tuxedo"],tags:[],description:"man in tuxedo",category:"People & Body"},{emoji:"🤵‍♀️",names:["woman_in_tuxedo"],tags:[],description:"woman in tuxedo",category:"People & Body"},{emoji:"👰",names:["person_with_veil"],tags:["marriage","wedding"],description:"person with veil",category:"People & Body"},{emoji:"👰‍♂️",names:["man_with_veil"],tags:[],description:"man with veil",category:"People & Body"},{emoji:"👰‍♀️",names:["woman_with_veil","bride_with_veil"],tags:[],description:"woman with veil",category:"People & Body"},{emoji:"🤰",names:["pregnant_woman"],tags:[],description:"pregnant woman",category:"People & Body"},{emoji:"🫃",names:["pregnant_man"],tags:[],description:"pregnant man",category:"People & Body"},{emoji:"🫄",names:["pregnant_person"],tags:[],description:"pregnant person",category:"People & Body"},{emoji:"🤱",names:["breast_feeding"],tags:["nursing"],description:"breast-feeding",category:"People & Body"},{emoji:"👩‍🍼",names:["woman_feeding_baby"],tags:[],description:"woman feeding baby",category:"People & Body"},{emoji:"👨‍🍼",names:["man_feeding_baby"],tags:[],description:"man feeding baby",category:"People & Body"},{emoji:"🧑‍🍼",names:["person_feeding_baby"],tags:[],description:"person feeding baby",category:"People & Body"},{emoji:"👼",names:["angel"],tags:[],description:"baby angel",category:"People & Body"},{emoji:"🎅",names:["santa"],tags:["christmas"],description:"Santa Claus",category:"People & Body"},{emoji:"🤶",names:["mrs_claus"],tags:["santa"],description:"Mrs. Claus",category:"People & Body"},{emoji:"🧑‍🎄",names:["mx_claus"],tags:[],description:"mx claus",category:"People & Body"},{emoji:"🦸",names:["superhero"],tags:[],description:"superhero",category:"People & Body"},{emoji:"🦸‍♂️",names:["superhero_man"],tags:[],description:"man superhero",category:"People & Body"},{emoji:"🦸‍♀️",names:["superhero_woman"],tags:[],description:"woman superhero",category:"People & Body"},{emoji:"🦹",names:["supervillain"],tags:[],description:"supervillain",category:"People & Body"},{emoji:"🦹‍♂️",names:["supervillain_man"],tags:[],description:"man supervillain",category:"People & Body"},{emoji:"🦹‍♀️",names:["supervillain_woman"],tags:[],description:"woman supervillain",category:"People & Body"},{emoji:"🧙",names:["mage"],tags:["wizard"],description:"mage",category:"People & Body"},{emoji:"🧙‍♂️",names:["mage_man"],tags:["wizard"],description:"man mage",category:"People & Body"},{emoji:"🧙‍♀️",names:["mage_woman"],tags:["wizard"],description:"woman mage",category:"People & Body"},{emoji:"🧚",names:["fairy"],tags:[],description:"fairy",category:"People & Body"},{emoji:"🧚‍♂️",names:["fairy_man"],tags:[],description:"man fairy",category:"People & Body"},{emoji:"🧚‍♀️",names:["fairy_woman"],tags:[],description:"woman fairy",category:"People & Body"},{emoji:"🧛",names:["vampire"],tags:[],description:"vampire",category:"People & Body"},{emoji:"🧛‍♂️",names:["vampire_man"],tags:[],description:"man vampire",category:"People & Body"},{emoji:"🧛‍♀️",names:["vampire_woman"],tags:[],description:"woman vampire",category:"People & Body"},{emoji:"🧜",names:["merperson"],tags:[],description:"merperson",category:"People & Body"},{emoji:"🧜‍♂️",names:["merman"],tags:[],description:"merman",category:"People & Body"},{emoji:"🧜‍♀️",names:["mermaid"],tags:[],description:"mermaid",category:"People & Body"},{emoji:"🧝",names:["elf"],tags:[],description:"elf",category:"People & Body"},{emoji:"🧝‍♂️",names:["elf_man"],tags:[],description:"man elf",category:"People & Body"},{emoji:"🧝‍♀️",names:["elf_woman"],tags:[],description:"woman elf",category:"People & Body"},{emoji:"🧞",names:["genie"],tags:[],description:"genie",category:"People & Body"},{emoji:"🧞‍♂️",names:["genie_man"],tags:[],description:"man genie",category:"People & Body"},{emoji:"🧞‍♀️",names:["genie_woman"],tags:[],description:"woman genie",category:"People & Body"},{emoji:"🧟",names:["zombie"],tags:[],description:"zombie",category:"People & Body"},{emoji:"🧟‍♂️",names:["zombie_man"],tags:[],description:"man zombie",category:"People & Body"},{emoji:"🧟‍♀️",names:["zombie_woman"],tags:[],description:"woman zombie",category:"People & Body"},{emoji:"🧌",names:["troll"],tags:[],description:"troll",category:"People & Body"},{emoji:"💆",names:["massage"],tags:["spa"],description:"person getting massage",category:"People & Body"},{emoji:"💆‍♂️",names:["massage_man"],tags:["spa"],description:"man getting massage",category:"People & Body"},{emoji:"💆‍♀️",names:["massage_woman"],tags:["spa"],description:"woman getting massage",category:"People & Body"},{emoji:"💇",names:["haircut"],tags:["beauty"],description:"person getting haircut",category:"People & Body"},{emoji:"💇‍♂️",names:["haircut_man"],tags:[],description:"man getting haircut",category:"People & Body"},{emoji:"💇‍♀️",names:["haircut_woman"],tags:[],description:"woman getting haircut",category:"People & Body"},{emoji:"🚶",names:["walking"],tags:[],description:"person walking",category:"People & Body"},{emoji:"🚶‍♂️",names:["walking_man"],tags:[],description:"man walking",category:"People & Body"},{emoji:"🚶‍♀️",names:["walking_woman"],tags:[],description:"woman walking",category:"People & Body"},{emoji:"🧍",names:["standing_person"],tags:[],description:"person standing",category:"People & Body"},{emoji:"🧍‍♂️",names:["standing_man"],tags:[],description:"man standing",category:"People & Body"},{emoji:"🧍‍♀️",names:["standing_woman"],tags:[],description:"woman standing",category:"People & Body"},{emoji:"🧎",names:["kneeling_person"],tags:[],description:"person kneeling",category:"People & Body"},{emoji:"🧎‍♂️",names:["kneeling_man"],tags:[],description:"man kneeling",category:"People & Body"},{emoji:"🧎‍♀️",names:["kneeling_woman"],tags:[],description:"woman kneeling",category:"People & Body"},{emoji:"🧑‍🦯",names:["person_with_probing_cane"],tags:[],description:"person with white cane",category:"People & Body"},{emoji:"👨‍🦯",names:["man_with_probing_cane"],tags:[],description:"man with white cane",category:"People & Body"},{emoji:"👩‍🦯",names:["woman_with_probing_cane"],tags:[],description:"woman with white cane",category:"People & Body"},{emoji:"🧑‍🦼",names:["person_in_motorized_wheelchair"],tags:[],description:"person in motorized wheelchair",category:"People & Body"},{emoji:"👨‍🦼",names:["man_in_motorized_wheelchair"],tags:[],description:"man in motorized wheelchair",category:"People & Body"},{emoji:"👩‍🦼",names:["woman_in_motorized_wheelchair"],tags:[],description:"woman in motorized wheelchair",category:"People & Body"},{emoji:"🧑‍🦽",names:["person_in_manual_wheelchair"],tags:[],description:"person in manual wheelchair",category:"People & Body"},{emoji:"👨‍🦽",names:["man_in_manual_wheelchair"],tags:[],description:"man in manual wheelchair",category:"People & Body"},{emoji:"👩‍🦽",names:["woman_in_manual_wheelchair"],tags:[],description:"woman in manual wheelchair",category:"People & Body"},{emoji:"🏃",names:["runner","running"],tags:["exercise","workout","marathon"],description:"person running",category:"People & Body"},{emoji:"🏃‍♂️",names:["running_man"],tags:["exercise","workout","marathon"],description:"man running",category:"People & Body"},{emoji:"🏃‍♀️",names:["running_woman"],tags:["exercise","workout","marathon"],description:"woman running",category:"People & Body"},{emoji:"💃",names:["woman_dancing","dancer"],tags:["dress"],description:"woman dancing",category:"People & Body"},{emoji:"🕺",names:["man_dancing"],tags:["dancer"],description:"man dancing",category:"People & Body"},{emoji:"🕴️",names:["business_suit_levitating"],tags:[],description:"person in suit levitating",category:"People & Body"},{emoji:"👯",names:["dancers"],tags:["bunny"],description:"people with bunny ears",category:"People & Body"},{emoji:"👯‍♂️",names:["dancing_men"],tags:["bunny"],description:"men with bunny ears",category:"People & Body"},{emoji:"👯‍♀️",names:["dancing_women"],tags:["bunny"],description:"women with bunny ears",category:"People & Body"},{emoji:"🧖",names:["sauna_person"],tags:["steamy"],description:"person in steamy room",category:"People & Body"},{emoji:"🧖‍♂️",names:["sauna_man"],tags:["steamy"],description:"man in steamy room",category:"People & Body"},{emoji:"🧖‍♀️",names:["sauna_woman"],tags:["steamy"],description:"woman in steamy room",category:"People & Body"},{emoji:"🧗",names:["climbing"],tags:["bouldering"],description:"person climbing",category:"People & Body"},{emoji:"🧗‍♂️",names:["climbing_man"],tags:["bouldering"],description:"man climbing",category:"People & Body"},{emoji:"🧗‍♀️",names:["climbing_woman"],tags:["bouldering"],description:"woman climbing",category:"People & Body"},{emoji:"🤺",names:["person_fencing"],tags:[],description:"person fencing",category:"People & Body"},{emoji:"🏇",names:["horse_racing"],tags:[],description:"horse racing",category:"People & Body"},{emoji:"⛷️",names:["skier"],tags:[],description:"skier",category:"People & Body"},{emoji:"🏂",names:["snowboarder"],tags:[],description:"snowboarder",category:"People & Body"},{emoji:"🏌️",names:["golfing"],tags:[],description:"person golfing",category:"People & Body"},{emoji:"🏌️‍♂️",names:["golfing_man"],tags:[],description:"man golfing",category:"People & Body"},{emoji:"🏌️‍♀️",names:["golfing_woman"],tags:[],description:"woman golfing",category:"People & Body"},{emoji:"🏄",names:["surfer"],tags:[],description:"person surfing",category:"People & Body"},{emoji:"🏄‍♂️",names:["surfing_man"],tags:[],description:"man surfing",category:"People & Body"},{emoji:"🏄‍♀️",names:["surfing_woman"],tags:[],description:"woman surfing",category:"People & Body"},{emoji:"🚣",names:["rowboat"],tags:[],description:"person rowing boat",category:"People & Body"},{emoji:"🚣‍♂️",names:["rowing_man"],tags:[],description:"man rowing boat",category:"People & Body"},{emoji:"🚣‍♀️",names:["rowing_woman"],tags:[],description:"woman rowing boat",category:"People & Body"},{emoji:"🏊",names:["swimmer"],tags:[],description:"person swimming",category:"People & Body"},{emoji:"🏊‍♂️",names:["swimming_man"],tags:[],description:"man swimming",category:"People & Body"},{emoji:"🏊‍♀️",names:["swimming_woman"],tags:[],description:"woman swimming",category:"People & Body"},{emoji:"⛹️",names:["bouncing_ball_person"],tags:["basketball"],description:"person bouncing ball",category:"People & Body"},{emoji:"⛹️‍♂️",names:["bouncing_ball_man","basketball_man"],tags:[],description:"man bouncing ball",category:"People & Body"},{emoji:"⛹️‍♀️",names:["bouncing_ball_woman","basketball_woman"],tags:[],description:"woman bouncing ball",category:"People & Body"},{emoji:"🏋️",names:["weight_lifting"],tags:["gym","workout"],description:"person lifting weights",category:"People & Body"},{emoji:"🏋️‍♂️",names:["weight_lifting_man"],tags:["gym","workout"],description:"man lifting weights",category:"People & Body"},{emoji:"🏋️‍♀️",names:["weight_lifting_woman"],tags:["gym","workout"],description:"woman lifting weights",category:"People & Body"},{emoji:"🚴",names:["bicyclist"],tags:[],description:"person biking",category:"People & Body"},{emoji:"🚴‍♂️",names:["biking_man"],tags:[],description:"man biking",category:"People & Body"},{emoji:"🚴‍♀️",names:["biking_woman"],tags:[],description:"woman biking",category:"People & Body"},{emoji:"🚵",names:["mountain_bicyclist"],tags:[],description:"person mountain biking",category:"People & Body"},{emoji:"🚵‍♂️",names:["mountain_biking_man"],tags:[],description:"man mountain biking",category:"People & Body"},{emoji:"🚵‍♀️",names:["mountain_biking_woman"],tags:[],description:"woman mountain biking",category:"People & Body"},{emoji:"🤸",names:["cartwheeling"],tags:[],description:"person cartwheeling",category:"People & Body"},{emoji:"🤸‍♂️",names:["man_cartwheeling"],tags:[],description:"man cartwheeling",category:"People & Body"},{emoji:"🤸‍♀️",names:["woman_cartwheeling"],tags:[],description:"woman cartwheeling",category:"People & Body"},{emoji:"🤼",names:["wrestling"],tags:[],description:"people wrestling",category:"People & Body"},{emoji:"🤼‍♂️",names:["men_wrestling"],tags:[],description:"men wrestling",category:"People & Body"},{emoji:"🤼‍♀️",names:["women_wrestling"],tags:[],description:"women wrestling",category:"People & Body"},{emoji:"🤽",names:["water_polo"],tags:[],description:"person playing water polo",category:"People & Body"},{emoji:"🤽‍♂️",names:["man_playing_water_polo"],tags:[],description:"man playing water polo",category:"People & Body"},{emoji:"🤽‍♀️",names:["woman_playing_water_polo"],tags:[],description:"woman playing water polo",category:"People & Body"},{emoji:"🤾",names:["handball_person"],tags:[],description:"person playing handball",category:"People & Body"},{emoji:"🤾‍♂️",names:["man_playing_handball"],tags:[],description:"man playing handball",category:"People & Body"},{emoji:"🤾‍♀️",names:["woman_playing_handball"],tags:[],description:"woman playing handball",category:"People & Body"},{emoji:"🤹",names:["juggling_person"],tags:[],description:"person juggling",category:"People & Body"},{emoji:"🤹‍♂️",names:["man_juggling"],tags:[],description:"man juggling",category:"People & Body"},{emoji:"🤹‍♀️",names:["woman_juggling"],tags:[],description:"woman juggling",category:"People & Body"},{emoji:"🧘",names:["lotus_position"],tags:["meditation"],description:"person in lotus position",category:"People & Body"},{emoji:"🧘‍♂️",names:["lotus_position_man"],tags:["meditation"],description:"man in lotus position",category:"People & Body"},{emoji:"🧘‍♀️",names:["lotus_position_woman"],tags:["meditation"],description:"woman in lotus position",category:"People & Body"},{emoji:"🛀",names:["bath"],tags:["shower"],description:"person taking bath",category:"People & Body"},{emoji:"🛌",names:["sleeping_bed"],tags:[],description:"person in bed",category:"People & Body"},{emoji:"🧑‍🤝‍🧑",names:["people_holding_hands"],tags:["couple","date"],description:"people holding hands",category:"People & Body"},{emoji:"👭",names:["two_women_holding_hands"],tags:["couple","date"],description:"women holding hands",category:"People & Body"},{emoji:"👫",names:["couple"],tags:["date"],description:"woman and man holding hands",category:"People & Body"},{emoji:"👬",names:["two_men_holding_hands"],tags:["couple","date"],description:"men holding hands",category:"People & Body"},{emoji:"💏",names:["couplekiss"],tags:[],description:"kiss",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👨",names:["couplekiss_man_woman"],tags:[],description:"kiss: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍💋‍👨",names:["couplekiss_man_man"],tags:[],description:"kiss: man, man",category:"People & Body"},{emoji:"👩‍❤️‍💋‍👩",names:["couplekiss_woman_woman"],tags:[],description:"kiss: woman, woman",category:"People & Body"},{emoji:"💑",names:["couple_with_heart"],tags:[],description:"couple with heart",category:"People & Body"},{emoji:"👩‍❤️‍👨",names:["couple_with_heart_woman_man"],tags:[],description:"couple with heart: woman, man",category:"People & Body"},{emoji:"👨‍❤️‍👨",names:["couple_with_heart_man_man"],tags:[],description:"couple with heart: man, man",category:"People & Body"},{emoji:"👩‍❤️‍👩",names:["couple_with_heart_woman_woman"],tags:[],description:"couple with heart: woman, woman",category:"People & Body"},{emoji:"👪",names:["family"],tags:["home","parents","child"],description:"family",category:"People & Body"},{emoji:"👨‍👩‍👦",names:["family_man_woman_boy"],tags:[],description:"family: man, woman, boy",category:"People & Body"},{emoji:"👨‍👩‍👧",names:["family_man_woman_girl"],tags:[],description:"family: man, woman, girl",category:"People & Body"},{emoji:"👨‍👩‍👧‍👦",names:["family_man_woman_girl_boy"],tags:[],description:"family: man, woman, girl, boy",category:"People & Body"},{emoji:"👨‍👩‍👦‍👦",names:["family_man_woman_boy_boy"],tags:[],description:"family: man, woman, boy, boy",category:"People & Body"},{emoji:"👨‍👩‍👧‍👧",names:["family_man_woman_girl_girl"],tags:[],description:"family: man, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👨‍👦",names:["family_man_man_boy"],tags:[],description:"family: man, man, boy",category:"People & Body"},{emoji:"👨‍👨‍👧",names:["family_man_man_girl"],tags:[],description:"family: man, man, girl",category:"People & Body"},{emoji:"👨‍👨‍👧‍👦",names:["family_man_man_girl_boy"],tags:[],description:"family: man, man, girl, boy",category:"People & Body"},{emoji:"👨‍👨‍👦‍👦",names:["family_man_man_boy_boy"],tags:[],description:"family: man, man, boy, boy",category:"People & Body"},{emoji:"👨‍👨‍👧‍👧",names:["family_man_man_girl_girl"],tags:[],description:"family: man, man, girl, girl",category:"People & Body"},{emoji:"👩‍👩‍👦",names:["family_woman_woman_boy"],tags:[],description:"family: woman, woman, boy",category:"People & Body"},{emoji:"👩‍👩‍👧",names:["family_woman_woman_girl"],tags:[],description:"family: woman, woman, girl",category:"People & Body"},{emoji:"👩‍👩‍👧‍👦",names:["family_woman_woman_girl_boy"],tags:[],description:"family: woman, woman, girl, boy",category:"People & Body"},{emoji:"👩‍👩‍👦‍👦",names:["family_woman_woman_boy_boy"],tags:[],description:"family: woman, woman, boy, boy",category:"People & Body"},{emoji:"👩‍👩‍👧‍👧",names:["family_woman_woman_girl_girl"],tags:[],description:"family: woman, woman, girl, girl",category:"People & Body"},{emoji:"👨‍👦",names:["family_man_boy"],tags:[],description:"family: man, boy",category:"People & Body"},{emoji:"👨‍👦‍👦",names:["family_man_boy_boy"],tags:[],description:"family: man, boy, boy",category:"People & Body"},{emoji:"👨‍👧",names:["family_man_girl"],tags:[],description:"family: man, girl",category:"People & Body"},{emoji:"👨‍👧‍👦",names:["family_man_girl_boy"],tags:[],description:"family: man, girl, boy",category:"People & Body"},{emoji:"👨‍👧‍👧",names:["family_man_girl_girl"],tags:[],description:"family: man, girl, girl",category:"People & Body"},{emoji:"👩‍👦",names:["family_woman_boy"],tags:[],description:"family: woman, boy",category:"People & Body"},{emoji:"👩‍👦‍👦",names:["family_woman_boy_boy"],tags:[],description:"family: woman, boy, boy",category:"People & Body"},{emoji:"👩‍👧",names:["family_woman_girl"],tags:[],description:"family: woman, girl",category:"People & Body"},{emoji:"👩‍👧‍👦",names:["family_woman_girl_boy"],tags:[],description:"family: woman, girl, boy",category:"People & Body"},{emoji:"👩‍👧‍👧",names:["family_woman_girl_girl"],tags:[],description:"family: woman, girl, girl",category:"People & Body"},{emoji:"🗣️",names:["speaking_head"],tags:[],description:"speaking head",category:"People & Body"},{emoji:"👤",names:["bust_in_silhouette"],tags:["user"],description:"bust in silhouette",category:"People & Body"},{emoji:"👥",names:["busts_in_silhouette"],tags:["users","group","team"],description:"busts in silhouette",category:"People & Body"},{emoji:"🫂",names:["people_hugging"],tags:[],description:"people hugging",category:"People & Body"},{emoji:"👣",names:["footprints"],tags:["feet","tracks"],description:"footprints",category:"People & Body"},{emoji:"🐵",names:["monkey_face"],tags:[],description:"monkey face",category:"Animals & Nature"},{emoji:"🐒",names:["monkey"],tags:[],description:"monkey",category:"Animals & Nature"},{emoji:"🦍",names:["gorilla"],tags:[],description:"gorilla",category:"Animals & Nature"},{emoji:"🦧",names:["orangutan"],tags:[],description:"orangutan",category:"Animals & Nature"},{emoji:"🐶",names:["dog"],tags:["pet"],description:"dog face",category:"Animals & Nature"},{emoji:"🐕",names:["dog2"],tags:[],description:"dog",category:"Animals & Nature"},{emoji:"🦮",names:["guide_dog"],tags:[],description:"guide dog",category:"Animals & Nature"},{emoji:"🐕‍🦺",names:["service_dog"],tags:[],description:"service dog",category:"Animals & Nature"},{emoji:"🐩",names:["poodle"],tags:["dog"],description:"poodle",category:"Animals & Nature"},{emoji:"🐺",names:["wolf"],tags:[],description:"wolf",category:"Animals & Nature"},{emoji:"🦊",names:["fox_face"],tags:[],description:"fox",category:"Animals & Nature"},{emoji:"🦝",names:["raccoon"],tags:[],description:"raccoon",category:"Animals & Nature"},{emoji:"🐱",names:["cat"],tags:["pet"],description:"cat face",category:"Animals & Nature"},{emoji:"🐈",names:["cat2"],tags:[],description:"cat",category:"Animals & Nature"},{emoji:"🐈‍⬛",names:["black_cat"],tags:[],description:"black cat",category:"Animals & Nature"},{emoji:"🦁",names:["lion"],tags:[],description:"lion",category:"Animals & Nature"},{emoji:"🐯",names:["tiger"],tags:[],description:"tiger face",category:"Animals & Nature"},{emoji:"🐅",names:["tiger2"],tags:[],description:"tiger",category:"Animals & Nature"},{emoji:"🐆",names:["leopard"],tags:[],description:"leopard",category:"Animals & Nature"},{emoji:"🐴",names:["horse"],tags:[],description:"horse face",category:"Animals & Nature"},{emoji:"🫎",names:["moose"],tags:["canada"],description:"moose",category:"Animals & Nature"},{emoji:"🫏",names:["donkey"],tags:["mule"],description:"donkey",category:"Animals & Nature"},{emoji:"🐎",names:["racehorse"],tags:["speed"],description:"horse",category:"Animals & Nature"},{emoji:"🦄",names:["unicorn"],tags:[],description:"unicorn",category:"Animals & Nature"},{emoji:"🦓",names:["zebra"],tags:[],description:"zebra",category:"Animals & Nature"},{emoji:"🦌",names:["deer"],tags:[],description:"deer",category:"Animals & Nature"},{emoji:"🦬",names:["bison"],tags:[],description:"bison",category:"Animals & Nature"},{emoji:"🐮",names:["cow"],tags:[],description:"cow face",category:"Animals & Nature"},{emoji:"🐂",names:["ox"],tags:[],description:"ox",category:"Animals & Nature"},{emoji:"🐃",names:["water_buffalo"],tags:[],description:"water buffalo",category:"Animals & Nature"},{emoji:"🐄",names:["cow2"],tags:[],description:"cow",category:"Animals & Nature"},{emoji:"🐷",names:["pig"],tags:[],description:"pig face",category:"Animals & Nature"},{emoji:"🐖",names:["pig2"],tags:[],description:"pig",category:"Animals & Nature"},{emoji:"🐗",names:["boar"],tags:[],description:"boar",category:"Animals & Nature"},{emoji:"🐽",names:["pig_nose"],tags:[],description:"pig nose",category:"Animals & Nature"},{emoji:"🐏",names:["ram"],tags:[],description:"ram",category:"Animals & Nature"},{emoji:"🐑",names:["sheep"],tags:[],description:"ewe",category:"Animals & Nature"},{emoji:"🐐",names:["goat"],tags:[],description:"goat",category:"Animals & Nature"},{emoji:"🐪",names:["dromedary_camel"],tags:["desert"],description:"camel",category:"Animals & Nature"},{emoji:"🐫",names:["camel"],tags:[],description:"two-hump camel",category:"Animals & Nature"},{emoji:"🦙",names:["llama"],tags:[],description:"llama",category:"Animals & Nature"},{emoji:"🦒",names:["giraffe"],tags:[],description:"giraffe",category:"Animals & Nature"},{emoji:"🐘",names:["elephant"],tags:[],description:"elephant",category:"Animals & Nature"},{emoji:"🦣",names:["mammoth"],tags:[],description:"mammoth",category:"Animals & Nature"},{emoji:"🦏",names:["rhinoceros"],tags:[],description:"rhinoceros",category:"Animals & Nature"},{emoji:"🦛",names:["hippopotamus"],tags:[],description:"hippopotamus",category:"Animals & Nature"},{emoji:"🐭",names:["mouse"],tags:[],description:"mouse face",category:"Animals & Nature"},{emoji:"🐁",names:["mouse2"],tags:[],description:"mouse",category:"Animals & Nature"},{emoji:"🐀",names:["rat"],tags:[],description:"rat",category:"Animals & Nature"},{emoji:"🐹",names:["hamster"],tags:["pet"],description:"hamster",category:"Animals & Nature"},{emoji:"🐰",names:["rabbit"],tags:["bunny"],description:"rabbit face",category:"Animals & Nature"},{emoji:"🐇",names:["rabbit2"],tags:[],description:"rabbit",category:"Animals & Nature"},{emoji:"🐿️",names:["chipmunk"],tags:[],description:"chipmunk",category:"Animals & Nature"},{emoji:"🦫",names:["beaver"],tags:[],description:"beaver",category:"Animals & Nature"},{emoji:"🦔",names:["hedgehog"],tags:[],description:"hedgehog",category:"Animals & Nature"},{emoji:"🦇",names:["bat"],tags:[],description:"bat",category:"Animals & Nature"},{emoji:"🐻",names:["bear"],tags:[],description:"bear",category:"Animals & Nature"},{emoji:"🐻‍❄️",names:["polar_bear"],tags:[],description:"polar bear",category:"Animals & Nature"},{emoji:"🐨",names:["koala"],tags:[],description:"koala",category:"Animals & Nature"},{emoji:"🐼",names:["panda_face"],tags:[],description:"panda",category:"Animals & Nature"},{emoji:"🦥",names:["sloth"],tags:[],description:"sloth",category:"Animals & Nature"},{emoji:"🦦",names:["otter"],tags:[],description:"otter",category:"Animals & Nature"},{emoji:"🦨",names:["skunk"],tags:[],description:"skunk",category:"Animals & Nature"},{emoji:"🦘",names:["kangaroo"],tags:[],description:"kangaroo",category:"Animals & Nature"},{emoji:"🦡",names:["badger"],tags:[],description:"badger",category:"Animals & Nature"},{emoji:"🐾",names:["feet","paw_prints"],tags:[],description:"paw prints",category:"Animals & Nature"},{emoji:"🦃",names:["turkey"],tags:["thanksgiving"],description:"turkey",category:"Animals & Nature"},{emoji:"🐔",names:["chicken"],tags:[],description:"chicken",category:"Animals & Nature"},{emoji:"🐓",names:["rooster"],tags:[],description:"rooster",category:"Animals & Nature"},{emoji:"🐣",names:["hatching_chick"],tags:[],description:"hatching chick",category:"Animals & Nature"},{emoji:"🐤",names:["baby_chick"],tags:[],description:"baby chick",category:"Animals & Nature"},{emoji:"🐥",names:["hatched_chick"],tags:[],description:"front-facing baby chick",category:"Animals & Nature"},{emoji:"🐦",names:["bird"],tags:[],description:"bird",category:"Animals & Nature"},{emoji:"🐧",names:["penguin"],tags:[],description:"penguin",category:"Animals & Nature"},{emoji:"🕊️",names:["dove"],tags:["peace"],description:"dove",category:"Animals & Nature"},{emoji:"🦅",names:["eagle"],tags:[],description:"eagle",category:"Animals & Nature"},{emoji:"🦆",names:["duck"],tags:[],description:"duck",category:"Animals & Nature"},{emoji:"🦢",names:["swan"],tags:[],description:"swan",category:"Animals & Nature"},{emoji:"🦉",names:["owl"],tags:[],description:"owl",category:"Animals & Nature"},{emoji:"🦤",names:["dodo"],tags:[],description:"dodo",category:"Animals & Nature"},{emoji:"🪶",names:["feather"],tags:[],description:"feather",category:"Animals & Nature"},{emoji:"🦩",names:["flamingo"],tags:[],description:"flamingo",category:"Animals & Nature"},{emoji:"🦚",names:["peacock"],tags:[],description:"peacock",category:"Animals & Nature"},{emoji:"🦜",names:["parrot"],tags:[],description:"parrot",category:"Animals & Nature"},{emoji:"🪽",names:["wing"],tags:["fly"],description:"wing",category:"Animals & Nature"},{emoji:"🐦‍⬛",names:["black_bird"],tags:[],description:"black bird",category:"Animals & Nature"},{emoji:"🪿",names:["goose"],tags:["honk"],description:"goose",category:"Animals & Nature"},{emoji:"🐸",names:["frog"],tags:[],description:"frog",category:"Animals & Nature"},{emoji:"🐊",names:["crocodile"],tags:[],description:"crocodile",category:"Animals & Nature"},{emoji:"🐢",names:["turtle"],tags:["slow"],description:"turtle",category:"Animals & Nature"},{emoji:"🦎",names:["lizard"],tags:[],description:"lizard",category:"Animals & Nature"},{emoji:"🐍",names:["snake"],tags:[],description:"snake",category:"Animals & Nature"},{emoji:"🐲",names:["dragon_face"],tags:[],description:"dragon face",category:"Animals & Nature"},{emoji:"🐉",names:["dragon"],tags:[],description:"dragon",category:"Animals & Nature"},{emoji:"🦕",names:["sauropod"],tags:["dinosaur"],description:"sauropod",category:"Animals & Nature"},{emoji:"🦖",names:["t-rex"],tags:["dinosaur"],description:"T-Rex",category:"Animals & Nature"},{emoji:"🐳",names:["whale"],tags:["sea"],description:"spouting whale",category:"Animals & Nature"},{emoji:"🐋",names:["whale2"],tags:[],description:"whale",category:"Animals & Nature"},{emoji:"🐬",names:["dolphin","flipper"],tags:[],description:"dolphin",category:"Animals & Nature"},{emoji:"🦭",names:["seal"],tags:[],description:"seal",category:"Animals & Nature"},{emoji:"🐟",names:["fish"],tags:[],description:"fish",category:"Animals & Nature"},{emoji:"🐠",names:["tropical_fish"],tags:[],description:"tropical fish",category:"Animals & Nature"},{emoji:"🐡",names:["blowfish"],tags:[],description:"blowfish",category:"Animals & Nature"},{emoji:"🦈",names:["shark"],tags:[],description:"shark",category:"Animals & Nature"},{emoji:"🐙",names:["octopus"],tags:[],description:"octopus",category:"Animals & Nature"},{emoji:"🐚",names:["shell"],tags:["sea","beach"],description:"spiral shell",category:"Animals & Nature"},{emoji:"🪸",names:["coral"],tags:[],description:"coral",category:"Animals & Nature"},{emoji:"🪼",names:["jellyfish"],tags:[],description:"jellyfish",category:"Animals & Nature"},{emoji:"🐌",names:["snail"],tags:["slow"],description:"snail",category:"Animals & Nature"},{emoji:"🦋",names:["butterfly"],tags:[],description:"butterfly",category:"Animals & Nature"},{emoji:"🐛",names:["bug"],tags:[],description:"bug",category:"Animals & Nature"},{emoji:"🐜",names:["ant"],tags:[],description:"ant",category:"Animals & Nature"},{emoji:"🐝",names:["bee","honeybee"],tags:[],description:"honeybee",category:"Animals & Nature"},{emoji:"🪲",names:["beetle"],tags:[],description:"beetle",category:"Animals & Nature"},{emoji:"🐞",names:["lady_beetle"],tags:["bug"],description:"lady beetle",category:"Animals & Nature"},{emoji:"🦗",names:["cricket"],tags:[],description:"cricket",category:"Animals & Nature"},{emoji:"🪳",names:["cockroach"],tags:[],description:"cockroach",category:"Animals & Nature"},{emoji:"🕷️",names:["spider"],tags:[],description:"spider",category:"Animals & Nature"},{emoji:"🕸️",names:["spider_web"],tags:[],description:"spider web",category:"Animals & Nature"},{emoji:"🦂",names:["scorpion"],tags:[],description:"scorpion",category:"Animals & Nature"},{emoji:"🦟",names:["mosquito"],tags:[],description:"mosquito",category:"Animals & Nature"},{emoji:"🪰",names:["fly"],tags:[],description:"fly",category:"Animals & Nature"},{emoji:"🪱",names:["worm"],tags:[],description:"worm",category:"Animals & Nature"},{emoji:"🦠",names:["microbe"],tags:["germ"],description:"microbe",category:"Animals & Nature"},{emoji:"💐",names:["bouquet"],tags:["flowers"],description:"bouquet",category:"Animals & Nature"},{emoji:"🌸",names:["cherry_blossom"],tags:["flower","spring"],description:"cherry blossom",category:"Animals & Nature"},{emoji:"💮",names:["white_flower"],tags:[],description:"white flower",category:"Animals & Nature"},{emoji:"🪷",names:["lotus"],tags:[],description:"lotus",category:"Animals & Nature"},{emoji:"🏵️",names:["rosette"],tags:[],description:"rosette",category:"Animals & Nature"},{emoji:"🌹",names:["rose"],tags:["flower"],description:"rose",category:"Animals & Nature"},{emoji:"🥀",names:["wilted_flower"],tags:[],description:"wilted flower",category:"Animals & Nature"},{emoji:"🌺",names:["hibiscus"],tags:[],description:"hibiscus",category:"Animals & Nature"},{emoji:"🌻",names:["sunflower"],tags:[],description:"sunflower",category:"Animals & Nature"},{emoji:"🌼",names:["blossom"],tags:[],description:"blossom",category:"Animals & Nature"},{emoji:"🌷",names:["tulip"],tags:["flower"],description:"tulip",category:"Animals & Nature"},{emoji:"🪻",names:["hyacinth"],tags:[],description:"hyacinth",category:"Animals & Nature"},{emoji:"🌱",names:["seedling"],tags:["plant"],description:"seedling",category:"Animals & Nature"},{emoji:"🪴",names:["potted_plant"],tags:[],description:"potted plant",category:"Animals & Nature"},{emoji:"🌲",names:["evergreen_tree"],tags:["wood"],description:"evergreen tree",category:"Animals & Nature"},{emoji:"🌳",names:["deciduous_tree"],tags:["wood"],description:"deciduous tree",category:"Animals & Nature"},{emoji:"🌴",names:["palm_tree"],tags:[],description:"palm tree",category:"Animals & Nature"},{emoji:"🌵",names:["cactus"],tags:[],description:"cactus",category:"Animals & Nature"},{emoji:"🌾",names:["ear_of_rice"],tags:[],description:"sheaf of rice",category:"Animals & Nature"},{emoji:"🌿",names:["herb"],tags:[],description:"herb",category:"Animals & Nature"},{emoji:"☘️",names:["shamrock"],tags:[],description:"shamrock",category:"Animals & Nature"},{emoji:"🍀",names:["four_leaf_clover"],tags:["luck"],description:"four leaf clover",category:"Animals & Nature"},{emoji:"🍁",names:["maple_leaf"],tags:["canada"],description:"maple leaf",category:"Animals & Nature"},{emoji:"🍂",names:["fallen_leaf"],tags:["autumn"],description:"fallen leaf",category:"Animals & Nature"},{emoji:"🍃",names:["leaves"],tags:["leaf"],description:"leaf fluttering in wind",category:"Animals & Nature"},{emoji:"🪹",names:["empty_nest"],tags:[],description:"empty nest",category:"Animals & Nature"},{emoji:"🪺",names:["nest_with_eggs"],tags:[],description:"nest with eggs",category:"Animals & Nature"},{emoji:"🍄",names:["mushroom"],tags:["fungus"],description:"mushroom",category:"Animals & Nature"},{emoji:"🍇",names:["grapes"],tags:[],description:"grapes",category:"Food & Drink"},{emoji:"🍈",names:["melon"],tags:[],description:"melon",category:"Food & Drink"},{emoji:"🍉",names:["watermelon"],tags:[],description:"watermelon",category:"Food & Drink"},{emoji:"🍊",names:["tangerine","orange","mandarin"],tags:[],description:"tangerine",category:"Food & Drink"},{emoji:"🍋",names:["lemon"],tags:[],description:"lemon",category:"Food & Drink"},{emoji:"🍌",names:["banana"],tags:["fruit"],description:"banana",category:"Food & Drink"},{emoji:"🍍",names:["pineapple"],tags:[],description:"pineapple",category:"Food & Drink"},{emoji:"🥭",names:["mango"],tags:[],description:"mango",category:"Food & Drink"},{emoji:"🍎",names:["apple"],tags:[],description:"red apple",category:"Food & Drink"},{emoji:"🍏",names:["green_apple"],tags:["fruit"],description:"green apple",category:"Food & Drink"},{emoji:"🍐",names:["pear"],tags:[],description:"pear",category:"Food & Drink"},{emoji:"🍑",names:["peach"],tags:[],description:"peach",category:"Food & Drink"},{emoji:"🍒",names:["cherries"],tags:["fruit"],description:"cherries",category:"Food & Drink"},{emoji:"🍓",names:["strawberry"],tags:["fruit"],description:"strawberry",category:"Food & Drink"},{emoji:"🫐",names:["blueberries"],tags:[],description:"blueberries",category:"Food & Drink"},{emoji:"🥝",names:["kiwi_fruit"],tags:[],description:"kiwi fruit",category:"Food & Drink"},{emoji:"🍅",names:["tomato"],tags:[],description:"tomato",category:"Food & Drink"},{emoji:"🫒",names:["olive"],tags:[],description:"olive",category:"Food & Drink"},{emoji:"🥥",names:["coconut"],tags:[],description:"coconut",category:"Food & Drink"},{emoji:"🥑",names:["avocado"],tags:[],description:"avocado",category:"Food & Drink"},{emoji:"🍆",names:["eggplant"],tags:["aubergine"],description:"eggplant",category:"Food & Drink"},{emoji:"🥔",names:["potato"],tags:[],description:"potato",category:"Food & Drink"},{emoji:"🥕",names:["carrot"],tags:[],description:"carrot",category:"Food & Drink"},{emoji:"🌽",names:["corn"],tags:[],description:"ear of corn",category:"Food & Drink"},{emoji:"🌶️",names:["hot_pepper"],tags:["spicy"],description:"hot pepper",category:"Food & Drink"},{emoji:"🫑",names:["bell_pepper"],tags:[],description:"bell pepper",category:"Food & Drink"},{emoji:"🥒",names:["cucumber"],tags:[],description:"cucumber",category:"Food & Drink"},{emoji:"🥬",names:["leafy_green"],tags:[],description:"leafy green",category:"Food & Drink"},{emoji:"🥦",names:["broccoli"],tags:[],description:"broccoli",category:"Food & Drink"},{emoji:"🧄",names:["garlic"],tags:[],description:"garlic",category:"Food & Drink"},{emoji:"🧅",names:["onion"],tags:[],description:"onion",category:"Food & Drink"},{emoji:"🥜",names:["peanuts"],tags:[],description:"peanuts",category:"Food & Drink"},{emoji:"🫘",names:["beans"],tags:[],description:"beans",category:"Food & Drink"},{emoji:"🌰",names:["chestnut"],tags:[],description:"chestnut",category:"Food & Drink"},{emoji:"🫚",names:["ginger_root"],tags:[],description:"ginger root",category:"Food & Drink"},{emoji:"🫛",names:["pea_pod"],tags:[],description:"pea pod",category:"Food & Drink"},{emoji:"🍞",names:["bread"],tags:["toast"],description:"bread",category:"Food & Drink"},{emoji:"🥐",names:["croissant"],tags:[],description:"croissant",category:"Food & Drink"},{emoji:"🥖",names:["baguette_bread"],tags:[],description:"baguette bread",category:"Food & Drink"},{emoji:"🫓",names:["flatbread"],tags:[],description:"flatbread",category:"Food & Drink"},{emoji:"🥨",names:["pretzel"],tags:[],description:"pretzel",category:"Food & Drink"},{emoji:"🥯",names:["bagel"],tags:[],description:"bagel",category:"Food & Drink"},{emoji:"🥞",names:["pancakes"],tags:[],description:"pancakes",category:"Food & Drink"},{emoji:"🧇",names:["waffle"],tags:[],description:"waffle",category:"Food & Drink"},{emoji:"🧀",names:["cheese"],tags:[],description:"cheese wedge",category:"Food & Drink"},{emoji:"🍖",names:["meat_on_bone"],tags:[],description:"meat on bone",category:"Food & Drink"},{emoji:"🍗",names:["poultry_leg"],tags:["meat","chicken"],description:"poultry leg",category:"Food & Drink"},{emoji:"🥩",names:["cut_of_meat"],tags:[],description:"cut of meat",category:"Food & Drink"},{emoji:"🥓",names:["bacon"],tags:[],description:"bacon",category:"Food & Drink"},{emoji:"🍔",names:["hamburger"],tags:["burger"],description:"hamburger",category:"Food & Drink"},{emoji:"🍟",names:["fries"],tags:[],description:"french fries",category:"Food & Drink"},{emoji:"🍕",names:["pizza"],tags:[],description:"pizza",category:"Food & Drink"},{emoji:"🌭",names:["hotdog"],tags:[],description:"hot dog",category:"Food & Drink"},{emoji:"🥪",names:["sandwich"],tags:[],description:"sandwich",category:"Food & Drink"},{emoji:"🌮",names:["taco"],tags:[],description:"taco",category:"Food & Drink"},{emoji:"🌯",names:["burrito"],tags:[],description:"burrito",category:"Food & Drink"},{emoji:"🫔",names:["tamale"],tags:[],description:"tamale",category:"Food & Drink"},{emoji:"🥙",names:["stuffed_flatbread"],tags:[],description:"stuffed flatbread",category:"Food & Drink"},{emoji:"🧆",names:["falafel"],tags:[],description:"falafel",category:"Food & Drink"},{emoji:"🥚",names:["egg"],tags:[],description:"egg",category:"Food & Drink"},{emoji:"🍳",names:["fried_egg"],tags:["breakfast"],description:"cooking",category:"Food & Drink"},{emoji:"🥘",names:["shallow_pan_of_food"],tags:["paella","curry"],description:"shallow pan of food",category:"Food & Drink"},{emoji:"🍲",names:["stew"],tags:[],description:"pot of food",category:"Food & Drink"},{emoji:"🫕",names:["fondue"],tags:[],description:"fondue",category:"Food & Drink"},{emoji:"🥣",names:["bowl_with_spoon"],tags:[],description:"bowl with spoon",category:"Food & Drink"},{emoji:"🥗",names:["green_salad"],tags:[],description:"green salad",category:"Food & Drink"},{emoji:"🍿",names:["popcorn"],tags:[],description:"popcorn",category:"Food & Drink"},{emoji:"🧈",names:["butter"],tags:[],description:"butter",category:"Food & Drink"},{emoji:"🧂",names:["salt"],tags:[],description:"salt",category:"Food & Drink"},{emoji:"🥫",names:["canned_food"],tags:[],description:"canned food",category:"Food & Drink"},{emoji:"🍱",names:["bento"],tags:[],description:"bento box",category:"Food & Drink"},{emoji:"🍘",names:["rice_cracker"],tags:[],description:"rice cracker",category:"Food & Drink"},{emoji:"🍙",names:["rice_ball"],tags:[],description:"rice ball",category:"Food & Drink"},{emoji:"🍚",names:["rice"],tags:[],description:"cooked rice",category:"Food & Drink"},{emoji:"🍛",names:["curry"],tags:[],description:"curry rice",category:"Food & Drink"},{emoji:"🍜",names:["ramen"],tags:["noodle"],description:"steaming bowl",category:"Food & Drink"},{emoji:"🍝",names:["spaghetti"],tags:["pasta"],description:"spaghetti",category:"Food & Drink"},{emoji:"🍠",names:["sweet_potato"],tags:[],description:"roasted sweet potato",category:"Food & Drink"},{emoji:"🍢",names:["oden"],tags:[],description:"oden",category:"Food & Drink"},{emoji:"🍣",names:["sushi"],tags:[],description:"sushi",category:"Food & Drink"},{emoji:"🍤",names:["fried_shrimp"],tags:["tempura"],description:"fried shrimp",category:"Food & Drink"},{emoji:"🍥",names:["fish_cake"],tags:[],description:"fish cake with swirl",category:"Food & Drink"},{emoji:"🥮",names:["moon_cake"],tags:[],description:"moon cake",category:"Food & Drink"},{emoji:"🍡",names:["dango"],tags:[],description:"dango",category:"Food & Drink"},{emoji:"🥟",names:["dumpling"],tags:[],description:"dumpling",category:"Food & Drink"},{emoji:"🥠",names:["fortune_cookie"],tags:[],description:"fortune cookie",category:"Food & Drink"},{emoji:"🥡",names:["takeout_box"],tags:[],description:"takeout box",category:"Food & Drink"},{emoji:"🦀",names:["crab"],tags:[],description:"crab",category:"Food & Drink"},{emoji:"🦞",names:["lobster"],tags:[],description:"lobster",category:"Food & Drink"},{emoji:"🦐",names:["shrimp"],tags:[],description:"shrimp",category:"Food & Drink"},{emoji:"🦑",names:["squid"],tags:[],description:"squid",category:"Food & Drink"},{emoji:"🦪",names:["oyster"],tags:[],description:"oyster",category:"Food & Drink"},{emoji:"🍦",names:["icecream"],tags:[],description:"soft ice cream",category:"Food & Drink"},{emoji:"🍧",names:["shaved_ice"],tags:[],description:"shaved ice",category:"Food & Drink"},{emoji:"🍨",names:["ice_cream"],tags:[],description:"ice cream",category:"Food & Drink"},{emoji:"🍩",names:["doughnut"],tags:[],description:"doughnut",category:"Food & Drink"},{emoji:"🍪",names:["cookie"],tags:[],description:"cookie",category:"Food & Drink"},{emoji:"🎂",names:["birthday"],tags:["party"],description:"birthday cake",category:"Food & Drink"},{emoji:"🍰",names:["cake"],tags:["dessert"],description:"shortcake",category:"Food & Drink"},{emoji:"🧁",names:["cupcake"],tags:[],description:"cupcake",category:"Food & Drink"},{emoji:"🥧",names:["pie"],tags:[],description:"pie",category:"Food & Drink"},{emoji:"🍫",names:["chocolate_bar"],tags:[],description:"chocolate bar",category:"Food & Drink"},{emoji:"🍬",names:["candy"],tags:["sweet"],description:"candy",category:"Food & Drink"},{emoji:"🍭",names:["lollipop"],tags:[],description:"lollipop",category:"Food & Drink"},{emoji:"🍮",names:["custard"],tags:[],description:"custard",category:"Food & Drink"},{emoji:"🍯",names:["honey_pot"],tags:[],description:"honey pot",category:"Food & Drink"},{emoji:"🍼",names:["baby_bottle"],tags:["milk"],description:"baby bottle",category:"Food & Drink"},{emoji:"🥛",names:["milk_glass"],tags:[],description:"glass of milk",category:"Food & Drink"},{emoji:"☕",names:["coffee"],tags:["cafe","espresso"],description:"hot beverage",category:"Food & Drink"},{emoji:"🫖",names:["teapot"],tags:[],description:"teapot",category:"Food & Drink"},{emoji:"🍵",names:["tea"],tags:["green","breakfast"],description:"teacup without handle",category:"Food & Drink"},{emoji:"🍶",names:["sake"],tags:[],description:"sake",category:"Food & Drink"},{emoji:"🍾",names:["champagne"],tags:["bottle","bubbly","celebration"],description:"bottle with popping cork",category:"Food & Drink"},{emoji:"🍷",names:["wine_glass"],tags:[],description:"wine glass",category:"Food & Drink"},{emoji:"🍸",names:["cocktail"],tags:["drink"],description:"cocktail glass",category:"Food & Drink"},{emoji:"🍹",names:["tropical_drink"],tags:["summer","vacation"],description:"tropical drink",category:"Food & Drink"},{emoji:"🍺",names:["beer"],tags:["drink"],description:"beer mug",category:"Food & Drink"},{emoji:"🍻",names:["beers"],tags:["drinks"],description:"clinking beer mugs",category:"Food & Drink"},{emoji:"🥂",names:["clinking_glasses"],tags:["cheers","toast"],description:"clinking glasses",category:"Food & Drink"},{emoji:"🥃",names:["tumbler_glass"],tags:["whisky"],description:"tumbler glass",category:"Food & Drink"},{emoji:"🫗",names:["pouring_liquid"],tags:[],description:"pouring liquid",category:"Food & Drink"},{emoji:"🥤",names:["cup_with_straw"],tags:[],description:"cup with straw",category:"Food & Drink"},{emoji:"🧋",names:["bubble_tea"],tags:[],description:"bubble tea",category:"Food & Drink"},{emoji:"🧃",names:["beverage_box"],tags:[],description:"beverage box",category:"Food & Drink"},{emoji:"🧉",names:["mate"],tags:[],description:"mate",category:"Food & Drink"},{emoji:"🧊",names:["ice_cube"],tags:[],description:"ice",category:"Food & Drink"},{emoji:"🥢",names:["chopsticks"],tags:[],description:"chopsticks",category:"Food & Drink"},{emoji:"🍽️",names:["plate_with_cutlery"],tags:["dining","dinner"],description:"fork and knife with plate",category:"Food & Drink"},{emoji:"🍴",names:["fork_and_knife"],tags:["cutlery"],description:"fork and knife",category:"Food & Drink"},{emoji:"🥄",names:["spoon"],tags:[],description:"spoon",category:"Food & Drink"},{emoji:"🔪",names:["hocho","knife"],tags:["cut","chop"],description:"kitchen knife",category:"Food & Drink"},{emoji:"🫙",names:["jar"],tags:[],description:"jar",category:"Food & Drink"},{emoji:"🏺",names:["amphora"],tags:[],description:"amphora",category:"Food & Drink"},{emoji:"🌍",names:["earth_africa"],tags:["globe","world","international"],description:"globe showing Europe-Africa",category:"Travel & Places"},{emoji:"🌎",names:["earth_americas"],tags:["globe","world","international"],description:"globe showing Americas",category:"Travel & Places"},{emoji:"🌏",names:["earth_asia"],tags:["globe","world","international"],description:"globe showing Asia-Australia",category:"Travel & Places"},{emoji:"🌐",names:["globe_with_meridians"],tags:["world","global","international"],description:"globe with meridians",category:"Travel & Places"},{emoji:"🗺️",names:["world_map"],tags:["travel"],description:"world map",category:"Travel & Places"},{emoji:"🗾",names:["japan"],tags:[],description:"map of Japan",category:"Travel & Places"},{emoji:"🧭",names:["compass"],tags:[],description:"compass",category:"Travel & Places"},{emoji:"🏔️",names:["mountain_snow"],tags:[],description:"snow-capped mountain",category:"Travel & Places"},{emoji:"⛰️",names:["mountain"],tags:[],description:"mountain",category:"Travel & Places"},{emoji:"🌋",names:["volcano"],tags:[],description:"volcano",category:"Travel & Places"},{emoji:"🗻",names:["mount_fuji"],tags:[],description:"mount fuji",category:"Travel & Places"},{emoji:"🏕️",names:["camping"],tags:[],description:"camping",category:"Travel & Places"},{emoji:"🏖️",names:["beach_umbrella"],tags:[],description:"beach with umbrella",category:"Travel & Places"},{emoji:"🏜️",names:["desert"],tags:[],description:"desert",category:"Travel & Places"},{emoji:"🏝️",names:["desert_island"],tags:[],description:"desert island",category:"Travel & Places"},{emoji:"🏞️",names:["national_park"],tags:[],description:"national park",category:"Travel & Places"},{emoji:"🏟️",names:["stadium"],tags:[],description:"stadium",category:"Travel & Places"},{emoji:"🏛️",names:["classical_building"],tags:[],description:"classical building",category:"Travel & Places"},{emoji:"🏗️",names:["building_construction"],tags:[],description:"building construction",category:"Travel & Places"},{emoji:"🧱",names:["bricks"],tags:[],description:"brick",category:"Travel & Places"},{emoji:"🪨",names:["rock"],tags:[],description:"rock",category:"Travel & Places"},{emoji:"🪵",names:["wood"],tags:[],description:"wood",category:"Travel & Places"},{emoji:"🛖",names:["hut"],tags:[],description:"hut",category:"Travel & Places"},{emoji:"🏘️",names:["houses"],tags:[],description:"houses",category:"Travel & Places"},{emoji:"🏚️",names:["derelict_house"],tags:[],description:"derelict house",category:"Travel & Places"},{emoji:"🏠",names:["house"],tags:[],description:"house",category:"Travel & Places"},{emoji:"🏡",names:["house_with_garden"],tags:[],description:"house with garden",category:"Travel & Places"},{emoji:"🏢",names:["office"],tags:[],description:"office building",category:"Travel & Places"},{emoji:"🏣",names:["post_office"],tags:[],description:"Japanese post office",category:"Travel & Places"},{emoji:"🏤",names:["european_post_office"],tags:[],description:"post office",category:"Travel & Places"},{emoji:"🏥",names:["hospital"],tags:[],description:"hospital",category:"Travel & Places"},{emoji:"🏦",names:["bank"],tags:[],description:"bank",category:"Travel & Places"},{emoji:"🏨",names:["hotel"],tags:[],description:"hotel",category:"Travel & Places"},{emoji:"🏩",names:["love_hotel"],tags:[],description:"love hotel",category:"Travel & Places"},{emoji:"🏪",names:["convenience_store"],tags:[],description:"convenience store",category:"Travel & Places"},{emoji:"🏫",names:["school"],tags:[],description:"school",category:"Travel & Places"},{emoji:"🏬",names:["department_store"],tags:[],description:"department store",category:"Travel & Places"},{emoji:"🏭",names:["factory"],tags:[],description:"factory",category:"Travel & Places"},{emoji:"🏯",names:["japanese_castle"],tags:[],description:"Japanese castle",category:"Travel & Places"},{emoji:"🏰",names:["european_castle"],tags:[],description:"castle",category:"Travel & Places"},{emoji:"💒",names:["wedding"],tags:["marriage"],description:"wedding",category:"Travel & Places"},{emoji:"🗼",names:["tokyo_tower"],tags:[],description:"Tokyo tower",category:"Travel & Places"},{emoji:"🗽",names:["statue_of_liberty"],tags:[],description:"Statue of Liberty",category:"Travel & Places"},{emoji:"⛪",names:["church"],tags:[],description:"church",category:"Travel & Places"},{emoji:"🕌",names:["mosque"],tags:[],description:"mosque",category:"Travel & Places"},{emoji:"🛕",names:["hindu_temple"],tags:[],description:"hindu temple",category:"Travel & Places"},{emoji:"🕍",names:["synagogue"],tags:[],description:"synagogue",category:"Travel & Places"},{emoji:"⛩️",names:["shinto_shrine"],tags:[],description:"shinto shrine",category:"Travel & Places"},{emoji:"🕋",names:["kaaba"],tags:[],description:"kaaba",category:"Travel & Places"},{emoji:"⛲",names:["fountain"],tags:[],description:"fountain",category:"Travel & Places"},{emoji:"⛺",names:["tent"],tags:["camping"],description:"tent",category:"Travel & Places"},{emoji:"🌁",names:["foggy"],tags:["karl"],description:"foggy",category:"Travel & Places"},{emoji:"🌃",names:["night_with_stars"],tags:[],description:"night with stars",category:"Travel & Places"},{emoji:"🏙️",names:["cityscape"],tags:["skyline"],description:"cityscape",category:"Travel & Places"},{emoji:"🌄",names:["sunrise_over_mountains"],tags:[],description:"sunrise over mountains",category:"Travel & Places"},{emoji:"🌅",names:["sunrise"],tags:[],description:"sunrise",category:"Travel & Places"},{emoji:"🌆",names:["city_sunset"],tags:[],description:"cityscape at dusk",category:"Travel & Places"},{emoji:"🌇",names:["city_sunrise"],tags:[],description:"sunset",category:"Travel & Places"},{emoji:"🌉",names:["bridge_at_night"],tags:[],description:"bridge at night",category:"Travel & Places"},{emoji:"♨️",names:["hotsprings"],tags:[],description:"hot springs",category:"Travel & Places"},{emoji:"🎠",names:["carousel_horse"],tags:[],description:"carousel horse",category:"Travel & Places"},{emoji:"🛝",names:["playground_slide"],tags:[],description:"playground slide",category:"Travel & Places"},{emoji:"🎡",names:["ferris_wheel"],tags:[],description:"ferris wheel",category:"Travel & Places"},{emoji:"🎢",names:["roller_coaster"],tags:[],description:"roller coaster",category:"Travel & Places"},{emoji:"💈",names:["barber"],tags:[],description:"barber pole",category:"Travel & Places"},{emoji:"🎪",names:["circus_tent"],tags:[],description:"circus tent",category:"Travel & Places"},{emoji:"🚂",names:["steam_locomotive"],tags:["train"],description:"locomotive",category:"Travel & Places"},{emoji:"🚃",names:["railway_car"],tags:[],description:"railway car",category:"Travel & Places"},{emoji:"🚄",names:["bullettrain_side"],tags:["train"],description:"high-speed train",category:"Travel & Places"},{emoji:"🚅",names:["bullettrain_front"],tags:["train"],description:"bullet train",category:"Travel & Places"},{emoji:"🚆",names:["train2"],tags:[],description:"train",category:"Travel & Places"},{emoji:"🚇",names:["metro"],tags:[],description:"metro",category:"Travel & Places"},{emoji:"🚈",names:["light_rail"],tags:[],description:"light rail",category:"Travel & Places"},{emoji:"🚉",names:["station"],tags:[],description:"station",category:"Travel & Places"},{emoji:"🚊",names:["tram"],tags:[],description:"tram",category:"Travel & Places"},{emoji:"🚝",names:["monorail"],tags:[],description:"monorail",category:"Travel & Places"},{emoji:"🚞",names:["mountain_railway"],tags:[],description:"mountain railway",category:"Travel & Places"},{emoji:"🚋",names:["train"],tags:[],description:"tram car",category:"Travel & Places"},{emoji:"🚌",names:["bus"],tags:[],description:"bus",category:"Travel & Places"},{emoji:"🚍",names:["oncoming_bus"],tags:[],description:"oncoming bus",category:"Travel & Places"},{emoji:"🚎",names:["trolleybus"],tags:[],description:"trolleybus",category:"Travel & Places"},{emoji:"🚐",names:["minibus"],tags:[],description:"minibus",category:"Travel & Places"},{emoji:"🚑",names:["ambulance"],tags:[],description:"ambulance",category:"Travel & Places"},{emoji:"🚒",names:["fire_engine"],tags:[],description:"fire engine",category:"Travel & Places"},{emoji:"🚓",names:["police_car"],tags:[],description:"police car",category:"Travel & Places"},{emoji:"🚔",names:["oncoming_police_car"],tags:[],description:"oncoming police car",category:"Travel & Places"},{emoji:"🚕",names:["taxi"],tags:[],description:"taxi",category:"Travel & Places"},{emoji:"🚖",names:["oncoming_taxi"],tags:[],description:"oncoming taxi",category:"Travel & Places"},{emoji:"🚗",names:["car","red_car"],tags:[],description:"automobile",category:"Travel & Places"},{emoji:"🚘",names:["oncoming_automobile"],tags:[],description:"oncoming automobile",category:"Travel & Places"},{emoji:"🚙",names:["blue_car"],tags:[],description:"sport utility vehicle",category:"Travel & Places"},{emoji:"🛻",names:["pickup_truck"],tags:[],description:"pickup truck",category:"Travel & Places"},{emoji:"🚚",names:["truck"],tags:[],description:"delivery truck",category:"Travel & Places"},{emoji:"🚛",names:["articulated_lorry"],tags:[],description:"articulated lorry",category:"Travel & Places"},{emoji:"🚜",names:["tractor"],tags:[],description:"tractor",category:"Travel & Places"},{emoji:"🏎️",names:["racing_car"],tags:[],description:"racing car",category:"Travel & Places"},{emoji:"🏍️",names:["motorcycle"],tags:[],description:"motorcycle",category:"Travel & Places"},{emoji:"🛵",names:["motor_scooter"],tags:[],description:"motor scooter",category:"Travel & Places"},{emoji:"🦽",names:["manual_wheelchair"],tags:[],description:"manual wheelchair",category:"Travel & Places"},{emoji:"🦼",names:["motorized_wheelchair"],tags:[],description:"motorized wheelchair",category:"Travel & Places"},{emoji:"🛺",names:["auto_rickshaw"],tags:[],description:"auto rickshaw",category:"Travel & Places"},{emoji:"🚲",names:["bike"],tags:["bicycle"],description:"bicycle",category:"Travel & Places"},{emoji:"🛴",names:["kick_scooter"],tags:[],description:"kick scooter",category:"Travel & Places"},{emoji:"🛹",names:["skateboard"],tags:[],description:"skateboard",category:"Travel & Places"},{emoji:"🛼",names:["roller_skate"],tags:[],description:"roller skate",category:"Travel & Places"},{emoji:"🚏",names:["busstop"],tags:[],description:"bus stop",category:"Travel & Places"},{emoji:"🛣️",names:["motorway"],tags:[],description:"motorway",category:"Travel & Places"},{emoji:"🛤️",names:["railway_track"],tags:[],description:"railway track",category:"Travel & Places"},{emoji:"🛢️",names:["oil_drum"],tags:[],description:"oil drum",category:"Travel & Places"},{emoji:"⛽",names:["fuelpump"],tags:[],description:"fuel pump",category:"Travel & Places"},{emoji:"🛞",names:["wheel"],tags:[],description:"wheel",category:"Travel & Places"},{emoji:"🚨",names:["rotating_light"],tags:["911","emergency"],description:"police car light",category:"Travel & Places"},{emoji:"🚥",names:["traffic_light"],tags:[],description:"horizontal traffic light",category:"Travel & Places"},{emoji:"🚦",names:["vertical_traffic_light"],tags:["semaphore"],description:"vertical traffic light",category:"Travel & Places"},{emoji:"🛑",names:["stop_sign"],tags:[],description:"stop sign",category:"Travel & Places"},{emoji:"🚧",names:["construction"],tags:["wip"],description:"construction",category:"Travel & Places"},{emoji:"⚓",names:["anchor"],tags:["ship"],description:"anchor",category:"Travel & Places"},{emoji:"🛟",names:["ring_buoy"],tags:["life preserver"],description:"ring buoy",category:"Travel & Places"},{emoji:"⛵",names:["boat","sailboat"],tags:[],description:"sailboat",category:"Travel & Places"},{emoji:"🛶",names:["canoe"],tags:[],description:"canoe",category:"Travel & Places"},{emoji:"🚤",names:["speedboat"],tags:["ship"],description:"speedboat",category:"Travel & Places"},{emoji:"🛳️",names:["passenger_ship"],tags:["cruise"],description:"passenger ship",category:"Travel & Places"},{emoji:"⛴️",names:["ferry"],tags:[],description:"ferry",category:"Travel & Places"},{emoji:"🛥️",names:["motor_boat"],tags:[],description:"motor boat",category:"Travel & Places"},{emoji:"🚢",names:["ship"],tags:[],description:"ship",category:"Travel & Places"},{emoji:"✈️",names:["airplane"],tags:["flight"],description:"airplane",category:"Travel & Places"},{emoji:"🛩️",names:["small_airplane"],tags:["flight"],description:"small airplane",category:"Travel & Places"},{emoji:"🛫",names:["flight_departure"],tags:[],description:"airplane departure",category:"Travel & Places"},{emoji:"🛬",names:["flight_arrival"],tags:[],description:"airplane arrival",category:"Travel & Places"},{emoji:"🪂",names:["parachute"],tags:[],description:"parachute",category:"Travel & Places"},{emoji:"💺",names:["seat"],tags:[],description:"seat",category:"Travel & Places"},{emoji:"🚁",names:["helicopter"],tags:[],description:"helicopter",category:"Travel & Places"},{emoji:"🚟",names:["suspension_railway"],tags:[],description:"suspension railway",category:"Travel & Places"},{emoji:"🚠",names:["mountain_cableway"],tags:[],description:"mountain cableway",category:"Travel & Places"},{emoji:"🚡",names:["aerial_tramway"],tags:[],description:"aerial tramway",category:"Travel & Places"},{emoji:"🛰️",names:["artificial_satellite"],tags:["orbit","space"],description:"satellite",category:"Travel & Places"},{emoji:"🚀",names:["rocket"],tags:["ship","launch"],description:"rocket",category:"Travel & Places"},{emoji:"🛸",names:["flying_saucer"],tags:["ufo"],description:"flying saucer",category:"Travel & Places"},{emoji:"🛎️",names:["bellhop_bell"],tags:[],description:"bellhop bell",category:"Travel & Places"},{emoji:"🧳",names:["luggage"],tags:[],description:"luggage",category:"Travel & Places"},{emoji:"⌛",names:["hourglass"],tags:["time"],description:"hourglass done",category:"Travel & Places"},{emoji:"⏳",names:["hourglass_flowing_sand"],tags:["time"],description:"hourglass not done",category:"Travel & Places"},{emoji:"⌚",names:["watch"],tags:["time"],description:"watch",category:"Travel & Places"},{emoji:"⏰",names:["alarm_clock"],tags:["morning"],description:"alarm clock",category:"Travel & Places"},{emoji:"⏱️",names:["stopwatch"],tags:[],description:"stopwatch",category:"Travel & Places"},{emoji:"⏲️",names:["timer_clock"],tags:[],description:"timer clock",category:"Travel & Places"},{emoji:"🕰️",names:["mantelpiece_clock"],tags:[],description:"mantelpiece clock",category:"Travel & Places"},{emoji:"🕛",names:["clock12"],tags:[],description:"twelve o’clock",category:"Travel & Places"},{emoji:"🕧",names:["clock1230"],tags:[],description:"twelve-thirty",category:"Travel & Places"},{emoji:"🕐",names:["clock1"],tags:[],description:"one o’clock",category:"Travel & Places"},{emoji:"🕜",names:["clock130"],tags:[],description:"one-thirty",category:"Travel & Places"},{emoji:"🕑",names:["clock2"],tags:[],description:"two o’clock",category:"Travel & Places"},{emoji:"🕝",names:["clock230"],tags:[],description:"two-thirty",category:"Travel & Places"},{emoji:"🕒",names:["clock3"],tags:[],description:"three o’clock",category:"Travel & Places"},{emoji:"🕞",names:["clock330"],tags:[],description:"three-thirty",category:"Travel & Places"},{emoji:"🕓",names:["clock4"],tags:[],description:"four o’clock",category:"Travel & Places"},{emoji:"🕟",names:["clock430"],tags:[],description:"four-thirty",category:"Travel & Places"},{emoji:"🕔",names:["clock5"],tags:[],description:"five o’clock",category:"Travel & Places"},{emoji:"🕠",names:["clock530"],tags:[],description:"five-thirty",category:"Travel & Places"},{emoji:"🕕",names:["clock6"],tags:[],description:"six o’clock",category:"Travel & Places"},{emoji:"🕡",names:["clock630"],tags:[],description:"six-thirty",category:"Travel & Places"},{emoji:"🕖",names:["clock7"],tags:[],description:"seven o’clock",category:"Travel & Places"},{emoji:"🕢",names:["clock730"],tags:[],description:"seven-thirty",category:"Travel & Places"},{emoji:"🕗",names:["clock8"],tags:[],description:"eight o’clock",category:"Travel & Places"},{emoji:"🕣",names:["clock830"],tags:[],description:"eight-thirty",category:"Travel & Places"},{emoji:"🕘",names:["clock9"],tags:[],description:"nine o’clock",category:"Travel & Places"},{emoji:"🕤",names:["clock930"],tags:[],description:"nine-thirty",category:"Travel & Places"},{emoji:"🕙",names:["clock10"],tags:[],description:"ten o’clock",category:"Travel & Places"},{emoji:"🕥",names:["clock1030"],tags:[],description:"ten-thirty",category:"Travel & Places"},{emoji:"🕚",names:["clock11"],tags:[],description:"eleven o’clock",category:"Travel & Places"},{emoji:"🕦",names:["clock1130"],tags:[],description:"eleven-thirty",category:"Travel & Places"},{emoji:"🌑",names:["new_moon"],tags:[],description:"new moon",category:"Travel & Places"},{emoji:"🌒",names:["waxing_crescent_moon"],tags:[],description:"waxing crescent moon",category:"Travel & Places"},{emoji:"🌓",names:["first_quarter_moon"],tags:[],description:"first quarter moon",category:"Travel & Places"},{emoji:"🌔",names:["moon","waxing_gibbous_moon"],tags:[],description:"waxing gibbous moon",category:"Travel & Places"},{emoji:"🌕",names:["full_moon"],tags:[],description:"full moon",category:"Travel & Places"},{emoji:"🌖",names:["waning_gibbous_moon"],tags:[],description:"waning gibbous moon",category:"Travel & Places"},{emoji:"🌗",names:["last_quarter_moon"],tags:[],description:"last quarter moon",category:"Travel & Places"},{emoji:"🌘",names:["waning_crescent_moon"],tags:[],description:"waning crescent moon",category:"Travel & Places"},{emoji:"🌙",names:["crescent_moon"],tags:["night"],description:"crescent moon",category:"Travel & Places"},{emoji:"🌚",names:["new_moon_with_face"],tags:[],description:"new moon face",category:"Travel & Places"},{emoji:"🌛",names:["first_quarter_moon_with_face"],tags:[],description:"first quarter moon face",category:"Travel & Places"},{emoji:"🌜",names:["last_quarter_moon_with_face"],tags:[],description:"last quarter moon face",category:"Travel & Places"},{emoji:"🌡️",names:["thermometer"],tags:[],description:"thermometer",category:"Travel & Places"},{emoji:"☀️",names:["sunny"],tags:["weather"],description:"sun",category:"Travel & Places"},{emoji:"🌝",names:["full_moon_with_face"],tags:[],description:"full moon face",category:"Travel & Places"},{emoji:"🌞",names:["sun_with_face"],tags:["summer"],description:"sun with face",category:"Travel & Places"},{emoji:"🪐",names:["ringed_planet"],tags:[],description:"ringed planet",category:"Travel & Places"},{emoji:"⭐",names:["star"],tags:[],description:"star",category:"Travel & Places"},{emoji:"🌟",names:["star2"],tags:[],description:"glowing star",category:"Travel & Places"},{emoji:"🌠",names:["stars"],tags:[],description:"shooting star",category:"Travel & Places"},{emoji:"🌌",names:["milky_way"],tags:[],description:"milky way",category:"Travel & Places"},{emoji:"☁️",names:["cloud"],tags:[],description:"cloud",category:"Travel & Places"},{emoji:"⛅",names:["partly_sunny"],tags:["weather","cloud"],description:"sun behind cloud",category:"Travel & Places"},{emoji:"⛈️",names:["cloud_with_lightning_and_rain"],tags:[],description:"cloud with lightning and rain",category:"Travel & Places"},{emoji:"🌤️",names:["sun_behind_small_cloud"],tags:[],description:"sun behind small cloud",category:"Travel & Places"},{emoji:"🌥️",names:["sun_behind_large_cloud"],tags:[],description:"sun behind large cloud",category:"Travel & Places"},{emoji:"🌦️",names:["sun_behind_rain_cloud"],tags:[],description:"sun behind rain cloud",category:"Travel & Places"},{emoji:"🌧️",names:["cloud_with_rain"],tags:[],description:"cloud with rain",category:"Travel & Places"},{emoji:"🌨️",names:["cloud_with_snow"],tags:[],description:"cloud with snow",category:"Travel & Places"},{emoji:"🌩️",names:["cloud_with_lightning"],tags:[],description:"cloud with lightning",category:"Travel & Places"},{emoji:"🌪️",names:["tornado"],tags:[],description:"tornado",category:"Travel & Places"},{emoji:"🌫️",names:["fog"],tags:[],description:"fog",category:"Travel & Places"},{emoji:"🌬️",names:["wind_face"],tags:[],description:"wind face",category:"Travel & Places"},{emoji:"🌀",names:["cyclone"],tags:["swirl"],description:"cyclone",category:"Travel & Places"},{emoji:"🌈",names:["rainbow"],tags:[],description:"rainbow",category:"Travel & Places"},{emoji:"🌂",names:["closed_umbrella"],tags:["weather","rain"],description:"closed umbrella",category:"Travel & Places"},{emoji:"☂️",names:["open_umbrella"],tags:[],description:"umbrella",category:"Travel & Places"},{emoji:"☔",names:["umbrella"],tags:["rain","weather"],description:"umbrella with rain drops",category:"Travel & Places"},{emoji:"⛱️",names:["parasol_on_ground"],tags:["beach_umbrella"],description:"umbrella on ground",category:"Travel & Places"},{emoji:"⚡",names:["zap"],tags:["lightning","thunder"],description:"high voltage",category:"Travel & Places"},{emoji:"❄️",names:["snowflake"],tags:["winter","cold","weather"],description:"snowflake",category:"Travel & Places"},{emoji:"☃️",names:["snowman_with_snow"],tags:["winter","christmas"],description:"snowman",category:"Travel & Places"},{emoji:"⛄",names:["snowman"],tags:["winter"],description:"snowman without snow",category:"Travel & Places"},{emoji:"☄️",names:["comet"],tags:[],description:"comet",category:"Travel & Places"},{emoji:"🔥",names:["fire"],tags:["burn"],description:"fire",category:"Travel & Places"},{emoji:"💧",names:["droplet"],tags:["water"],description:"droplet",category:"Travel & Places"},{emoji:"🌊",names:["ocean"],tags:["sea"],description:"water wave",category:"Travel & Places"},{emoji:"🎃",names:["jack_o_lantern"],tags:["halloween"],description:"jack-o-lantern",category:"Activities"},{emoji:"🎄",names:["christmas_tree"],tags:[],description:"Christmas tree",category:"Activities"},{emoji:"🎆",names:["fireworks"],tags:["festival","celebration"],description:"fireworks",category:"Activities"},{emoji:"🎇",names:["sparkler"],tags:[],description:"sparkler",category:"Activities"},{emoji:"🧨",names:["firecracker"],tags:[],description:"firecracker",category:"Activities"},{emoji:"✨",names:["sparkles"],tags:["shiny"],description:"sparkles",category:"Activities"},{emoji:"🎈",names:["balloon"],tags:["party","birthday"],description:"balloon",category:"Activities"},{emoji:"🎉",names:["tada"],tags:["hooray","party"],description:"party popper",category:"Activities"},{emoji:"🎊",names:["confetti_ball"],tags:[],description:"confetti ball",category:"Activities"},{emoji:"🎋",names:["tanabata_tree"],tags:[],description:"tanabata tree",category:"Activities"},{emoji:"🎍",names:["bamboo"],tags:[],description:"pine decoration",category:"Activities"},{emoji:"🎎",names:["dolls"],tags:[],description:"Japanese dolls",category:"Activities"},{emoji:"🎏",names:["flags"],tags:[],description:"carp streamer",category:"Activities"},{emoji:"🎐",names:["wind_chime"],tags:[],description:"wind chime",category:"Activities"},{emoji:"🎑",names:["rice_scene"],tags:[],description:"moon viewing ceremony",category:"Activities"},{emoji:"🧧",names:["red_envelope"],tags:[],description:"red envelope",category:"Activities"},{emoji:"🎀",names:["ribbon"],tags:[],description:"ribbon",category:"Activities"},{emoji:"🎁",names:["gift"],tags:["present","birthday","christmas"],description:"wrapped gift",category:"Activities"},{emoji:"🎗️",names:["reminder_ribbon"],tags:[],description:"reminder ribbon",category:"Activities"},{emoji:"🎟️",names:["tickets"],tags:[],description:"admission tickets",category:"Activities"},{emoji:"🎫",names:["ticket"],tags:[],description:"ticket",category:"Activities"},{emoji:"🎖️",names:["medal_military"],tags:[],description:"military medal",category:"Activities"},{emoji:"🏆",names:["trophy"],tags:["award","contest","winner"],description:"trophy",category:"Activities"},{emoji:"🏅",names:["medal_sports"],tags:["gold","winner"],description:"sports medal",category:"Activities"},{emoji:"🥇",names:["1st_place_medal"],tags:["gold"],description:"1st place medal",category:"Activities"},{emoji:"🥈",names:["2nd_place_medal"],tags:["silver"],description:"2nd place medal",category:"Activities"},{emoji:"🥉",names:["3rd_place_medal"],tags:["bronze"],description:"3rd place medal",category:"Activities"},{emoji:"⚽",names:["soccer"],tags:["sports"],description:"soccer ball",category:"Activities"},{emoji:"⚾",names:["baseball"],tags:["sports"],description:"baseball",category:"Activities"},{emoji:"🥎",names:["softball"],tags:[],description:"softball",category:"Activities"},{emoji:"🏀",names:["basketball"],tags:["sports"],description:"basketball",category:"Activities"},{emoji:"🏐",names:["volleyball"],tags:[],description:"volleyball",category:"Activities"},{emoji:"🏈",names:["football"],tags:["sports"],description:"american football",category:"Activities"},{emoji:"🏉",names:["rugby_football"],tags:[],description:"rugby football",category:"Activities"},{emoji:"🎾",names:["tennis"],tags:["sports"],description:"tennis",category:"Activities"},{emoji:"🥏",names:["flying_disc"],tags:[],description:"flying disc",category:"Activities"},{emoji:"🎳",names:["bowling"],tags:[],description:"bowling",category:"Activities"},{emoji:"🏏",names:["cricket_game"],tags:[],description:"cricket game",category:"Activities"},{emoji:"🏑",names:["field_hockey"],tags:[],description:"field hockey",category:"Activities"},{emoji:"🏒",names:["ice_hockey"],tags:[],description:"ice hockey",category:"Activities"},{emoji:"🥍",names:["lacrosse"],tags:[],description:"lacrosse",category:"Activities"},{emoji:"🏓",names:["ping_pong"],tags:[],description:"ping pong",category:"Activities"},{emoji:"🏸",names:["badminton"],tags:[],description:"badminton",category:"Activities"},{emoji:"🥊",names:["boxing_glove"],tags:[],description:"boxing glove",category:"Activities"},{emoji:"🥋",names:["martial_arts_uniform"],tags:[],description:"martial arts uniform",category:"Activities"},{emoji:"🥅",names:["goal_net"],tags:[],description:"goal net",category:"Activities"},{emoji:"⛳",names:["golf"],tags:[],description:"flag in hole",category:"Activities"},{emoji:"⛸️",names:["ice_skate"],tags:["skating"],description:"ice skate",category:"Activities"},{emoji:"🎣",names:["fishing_pole_and_fish"],tags:[],description:"fishing pole",category:"Activities"},{emoji:"🤿",names:["diving_mask"],tags:[],description:"diving mask",category:"Activities"},{emoji:"🎽",names:["running_shirt_with_sash"],tags:["marathon"],description:"running shirt",category:"Activities"},{emoji:"🎿",names:["ski"],tags:[],description:"skis",category:"Activities"},{emoji:"🛷",names:["sled"],tags:[],description:"sled",category:"Activities"},{emoji:"🥌",names:["curling_stone"],tags:[],description:"curling stone",category:"Activities"},{emoji:"🎯",names:["dart"],tags:["target"],description:"bullseye",category:"Activities"},{emoji:"🪀",names:["yo_yo"],tags:[],description:"yo-yo",category:"Activities"},{emoji:"🪁",names:["kite"],tags:[],description:"kite",category:"Activities"},{emoji:"🔫",names:["gun"],tags:["shoot","weapon"],description:"water pistol",category:"Activities"},{emoji:"🎱",names:["8ball"],tags:["pool","billiards"],description:"pool 8 ball",category:"Activities"},{emoji:"🔮",names:["crystal_ball"],tags:["fortune"],description:"crystal ball",category:"Activities"},{emoji:"🪄",names:["magic_wand"],tags:[],description:"magic wand",category:"Activities"},{emoji:"🎮",names:["video_game"],tags:["play","controller","console"],description:"video game",category:"Activities"},{emoji:"🕹️",names:["joystick"],tags:[],description:"joystick",category:"Activities"},{emoji:"🎰",names:["slot_machine"],tags:[],description:"slot machine",category:"Activities"},{emoji:"🎲",names:["game_die"],tags:["dice","gambling"],description:"game die",category:"Activities"},{emoji:"🧩",names:["jigsaw"],tags:[],description:"puzzle piece",category:"Activities"},{emoji:"🧸",names:["teddy_bear"],tags:[],description:"teddy bear",category:"Activities"},{emoji:"🪅",names:["pinata"],tags:[],description:"piñata",category:"Activities"},{emoji:"🪩",names:["mirror_ball"],tags:["disco","party"],description:"mirror ball",category:"Activities"},{emoji:"🪆",names:["nesting_dolls"],tags:[],description:"nesting dolls",category:"Activities"},{emoji:"♠️",names:["spades"],tags:[],description:"spade suit",category:"Activities"},{emoji:"♥️",names:["hearts"],tags:[],description:"heart suit",category:"Activities"},{emoji:"♦️",names:["diamonds"],tags:[],description:"diamond suit",category:"Activities"},{emoji:"♣️",names:["clubs"],tags:[],description:"club suit",category:"Activities"},{emoji:"♟️",names:["chess_pawn"],tags:[],description:"chess pawn",category:"Activities"},{emoji:"🃏",names:["black_joker"],tags:[],description:"joker",category:"Activities"},{emoji:"🀄",names:["mahjong"],tags:[],description:"mahjong red dragon",category:"Activities"},{emoji:"🎴",names:["flower_playing_cards"],tags:[],description:"flower playing cards",category:"Activities"},{emoji:"🎭",names:["performing_arts"],tags:["theater","drama"],description:"performing arts",category:"Activities"},{emoji:"🖼️",names:["framed_picture"],tags:[],description:"framed picture",category:"Activities"},{emoji:"🎨",names:["art"],tags:["design","paint"],description:"artist palette",category:"Activities"},{emoji:"🧵",names:["thread"],tags:[],description:"thread",category:"Activities"},{emoji:"🪡",names:["sewing_needle"],tags:[],description:"sewing needle",category:"Activities"},{emoji:"🧶",names:["yarn"],tags:[],description:"yarn",category:"Activities"},{emoji:"🪢",names:["knot"],tags:[],description:"knot",category:"Activities"},{emoji:"👓",names:["eyeglasses"],tags:["glasses"],description:"glasses",category:"Objects"},{emoji:"🕶️",names:["dark_sunglasses"],tags:[],description:"sunglasses",category:"Objects"},{emoji:"🥽",names:["goggles"],tags:[],description:"goggles",category:"Objects"},{emoji:"🥼",names:["lab_coat"],tags:[],description:"lab coat",category:"Objects"},{emoji:"🦺",names:["safety_vest"],tags:[],description:"safety vest",category:"Objects"},{emoji:"👔",names:["necktie"],tags:["shirt","formal"],description:"necktie",category:"Objects"},{emoji:"👕",names:["shirt","tshirt"],tags:[],description:"t-shirt",category:"Objects"},{emoji:"👖",names:["jeans"],tags:["pants"],description:"jeans",category:"Objects"},{emoji:"🧣",names:["scarf"],tags:[],description:"scarf",category:"Objects"},{emoji:"🧤",names:["gloves"],tags:[],description:"gloves",category:"Objects"},{emoji:"🧥",names:["coat"],tags:[],description:"coat",category:"Objects"},{emoji:"🧦",names:["socks"],tags:[],description:"socks",category:"Objects"},{emoji:"👗",names:["dress"],tags:[],description:"dress",category:"Objects"},{emoji:"👘",names:["kimono"],tags:[],description:"kimono",category:"Objects"},{emoji:"🥻",names:["sari"],tags:[],description:"sari",category:"Objects"},{emoji:"🩱",names:["one_piece_swimsuit"],tags:[],description:"one-piece swimsuit",category:"Objects"},{emoji:"🩲",names:["swim_brief"],tags:[],description:"briefs",category:"Objects"},{emoji:"🩳",names:["shorts"],tags:[],description:"shorts",category:"Objects"},{emoji:"👙",names:["bikini"],tags:["beach"],description:"bikini",category:"Objects"},{emoji:"👚",names:["womans_clothes"],tags:[],description:"woman’s clothes",category:"Objects"},{emoji:"🪭",names:["folding_hand_fan"],tags:["sensu"],description:"folding hand fan",category:"Objects"},{emoji:"👛",names:["purse"],tags:[],description:"purse",category:"Objects"},{emoji:"👜",names:["handbag"],tags:["bag"],description:"handbag",category:"Objects"},{emoji:"👝",names:["pouch"],tags:["bag"],description:"clutch bag",category:"Objects"},{emoji:"🛍️",names:["shopping"],tags:["bags"],description:"shopping bags",category:"Objects"},{emoji:"🎒",names:["school_satchel"],tags:[],description:"backpack",category:"Objects"},{emoji:"🩴",names:["thong_sandal"],tags:[],description:"thong sandal",category:"Objects"},{emoji:"👞",names:["mans_shoe","shoe"],tags:[],description:"man’s shoe",category:"Objects"},{emoji:"👟",names:["athletic_shoe"],tags:["sneaker","sport","running"],description:"running shoe",category:"Objects"},{emoji:"🥾",names:["hiking_boot"],tags:[],description:"hiking boot",category:"Objects"},{emoji:"🥿",names:["flat_shoe"],tags:[],description:"flat shoe",category:"Objects"},{emoji:"👠",names:["high_heel"],tags:["shoe"],description:"high-heeled shoe",category:"Objects"},{emoji:"👡",names:["sandal"],tags:["shoe"],description:"woman’s sandal",category:"Objects"},{emoji:"🩰",names:["ballet_shoes"],tags:[],description:"ballet shoes",category:"Objects"},{emoji:"👢",names:["boot"],tags:[],description:"woman’s boot",category:"Objects"},{emoji:"🪮",names:["hair_pick"],tags:[],description:"hair pick",category:"Objects"},{emoji:"👑",names:["crown"],tags:["king","queen","royal"],description:"crown",category:"Objects"},{emoji:"👒",names:["womans_hat"],tags:[],description:"woman’s hat",category:"Objects"},{emoji:"🎩",names:["tophat"],tags:["hat","classy"],description:"top hat",category:"Objects"},{emoji:"🎓",names:["mortar_board"],tags:["education","college","university","graduation"],description:"graduation cap",category:"Objects"},{emoji:"🧢",names:["billed_cap"],tags:[],description:"billed cap",category:"Objects"},{emoji:"🪖",names:["military_helmet"],tags:[],description:"military helmet",category:"Objects"},{emoji:"⛑️",names:["rescue_worker_helmet"],tags:[],description:"rescue worker’s helmet",category:"Objects"},{emoji:"📿",names:["prayer_beads"],tags:[],description:"prayer beads",category:"Objects"},{emoji:"💄",names:["lipstick"],tags:["makeup"],description:"lipstick",category:"Objects"},{emoji:"💍",names:["ring"],tags:["wedding","marriage","engaged"],description:"ring",category:"Objects"},{emoji:"💎",names:["gem"],tags:["diamond"],description:"gem stone",category:"Objects"},{emoji:"🔇",names:["mute"],tags:["sound","volume"],description:"muted speaker",category:"Objects"},{emoji:"🔈",names:["speaker"],tags:[],description:"speaker low volume",category:"Objects"},{emoji:"🔉",names:["sound"],tags:["volume"],description:"speaker medium volume",category:"Objects"},{emoji:"🔊",names:["loud_sound"],tags:["volume"],description:"speaker high volume",category:"Objects"},{emoji:"📢",names:["loudspeaker"],tags:["announcement"],description:"loudspeaker",category:"Objects"},{emoji:"📣",names:["mega"],tags:[],description:"megaphone",category:"Objects"},{emoji:"📯",names:["postal_horn"],tags:[],description:"postal horn",category:"Objects"},{emoji:"🔔",names:["bell"],tags:["sound","notification"],description:"bell",category:"Objects"},{emoji:"🔕",names:["no_bell"],tags:["volume","off"],description:"bell with slash",category:"Objects"},{emoji:"🎼",names:["musical_score"],tags:[],description:"musical score",category:"Objects"},{emoji:"🎵",names:["musical_note"],tags:[],description:"musical note",category:"Objects"},{emoji:"🎶",names:["notes"],tags:["music"],description:"musical notes",category:"Objects"},{emoji:"🎙️",names:["studio_microphone"],tags:["podcast"],description:"studio microphone",category:"Objects"},{emoji:"🎚️",names:["level_slider"],tags:[],description:"level slider",category:"Objects"},{emoji:"🎛️",names:["control_knobs"],tags:[],description:"control knobs",category:"Objects"},{emoji:"🎤",names:["microphone"],tags:["sing"],description:"microphone",category:"Objects"},{emoji:"🎧",names:["headphones"],tags:["music","earphones"],description:"headphone",category:"Objects"},{emoji:"📻",names:["radio"],tags:["podcast"],description:"radio",category:"Objects"},{emoji:"🎷",names:["saxophone"],tags:[],description:"saxophone",category:"Objects"},{emoji:"🪗",names:["accordion"],tags:[],description:"accordion",category:"Objects"},{emoji:"🎸",names:["guitar"],tags:["rock"],description:"guitar",category:"Objects"},{emoji:"🎹",names:["musical_keyboard"],tags:["piano"],description:"musical keyboard",category:"Objects"},{emoji:"🎺",names:["trumpet"],tags:[],description:"trumpet",category:"Objects"},{emoji:"🎻",names:["violin"],tags:[],description:"violin",category:"Objects"},{emoji:"🪕",names:["banjo"],tags:[],description:"banjo",category:"Objects"},{emoji:"🥁",names:["drum"],tags:[],description:"drum",category:"Objects"},{emoji:"🪘",names:["long_drum"],tags:[],description:"long drum",category:"Objects"},{emoji:"🪇",names:["maracas"],tags:["shaker"],description:"maracas",category:"Objects"},{emoji:"🪈",names:["flute"],tags:["recorder"],description:"flute",category:"Objects"},{emoji:"📱",names:["iphone"],tags:["smartphone","mobile"],description:"mobile phone",category:"Objects"},{emoji:"📲",names:["calling"],tags:["call","incoming"],description:"mobile phone with arrow",category:"Objects"},{emoji:"☎️",names:["phone","telephone"],tags:[],description:"telephone",category:"Objects"},{emoji:"📞",names:["telephone_receiver"],tags:["phone","call"],description:"telephone receiver",category:"Objects"},{emoji:"📟",names:["pager"],tags:[],description:"pager",category:"Objects"},{emoji:"📠",names:["fax"],tags:[],description:"fax machine",category:"Objects"},{emoji:"🔋",names:["battery"],tags:["power"],description:"battery",category:"Objects"},{emoji:"🪫",names:["low_battery"],tags:[],description:"low battery",category:"Objects"},{emoji:"🔌",names:["electric_plug"],tags:[],description:"electric plug",category:"Objects"},{emoji:"💻",names:["computer"],tags:["desktop","screen"],description:"laptop",category:"Objects"},{emoji:"🖥️",names:["desktop_computer"],tags:[],description:"desktop computer",category:"Objects"},{emoji:"🖨️",names:["printer"],tags:[],description:"printer",category:"Objects"},{emoji:"⌨️",names:["keyboard"],tags:[],description:"keyboard",category:"Objects"},{emoji:"🖱️",names:["computer_mouse"],tags:[],description:"computer mouse",category:"Objects"},{emoji:"🖲️",names:["trackball"],tags:[],description:"trackball",category:"Objects"},{emoji:"💽",names:["minidisc"],tags:[],description:"computer disk",category:"Objects"},{emoji:"💾",names:["floppy_disk"],tags:["save"],description:"floppy disk",category:"Objects"},{emoji:"💿",names:["cd"],tags:[],description:"optical disk",category:"Objects"},{emoji:"📀",names:["dvd"],tags:[],description:"dvd",category:"Objects"},{emoji:"🧮",names:["abacus"],tags:[],description:"abacus",category:"Objects"},{emoji:"🎥",names:["movie_camera"],tags:["film","video"],description:"movie camera",category:"Objects"},{emoji:"🎞️",names:["film_strip"],tags:[],description:"film frames",category:"Objects"},{emoji:"📽️",names:["film_projector"],tags:[],description:"film projector",category:"Objects"},{emoji:"🎬",names:["clapper"],tags:["film"],description:"clapper board",category:"Objects"},{emoji:"📺",names:["tv"],tags:[],description:"television",category:"Objects"},{emoji:"📷",names:["camera"],tags:["photo"],description:"camera",category:"Objects"},{emoji:"📸",names:["camera_flash"],tags:["photo"],description:"camera with flash",category:"Objects"},{emoji:"📹",names:["video_camera"],tags:[],description:"video camera",category:"Objects"},{emoji:"📼",names:["vhs"],tags:[],description:"videocassette",category:"Objects"},{emoji:"🔍",names:["mag"],tags:["search","zoom"],description:"magnifying glass tilted left",category:"Objects"},{emoji:"🔎",names:["mag_right"],tags:[],description:"magnifying glass tilted right",category:"Objects"},{emoji:"🕯️",names:["candle"],tags:[],description:"candle",category:"Objects"},{emoji:"💡",names:["bulb"],tags:["idea","light"],description:"light bulb",category:"Objects"},{emoji:"🔦",names:["flashlight"],tags:[],description:"flashlight",category:"Objects"},{emoji:"🏮",names:["izakaya_lantern","lantern"],tags:[],description:"red paper lantern",category:"Objects"},{emoji:"🪔",names:["diya_lamp"],tags:[],description:"diya lamp",category:"Objects"},{emoji:"📔",names:["notebook_with_decorative_cover"],tags:[],description:"notebook with decorative cover",category:"Objects"},{emoji:"📕",names:["closed_book"],tags:[],description:"closed book",category:"Objects"},{emoji:"📖",names:["book","open_book"],tags:[],description:"open book",category:"Objects"},{emoji:"📗",names:["green_book"],tags:[],description:"green book",category:"Objects"},{emoji:"📘",names:["blue_book"],tags:[],description:"blue book",category:"Objects"},{emoji:"📙",names:["orange_book"],tags:[],description:"orange book",category:"Objects"},{emoji:"📚",names:["books"],tags:["library"],description:"books",category:"Objects"},{emoji:"📓",names:["notebook"],tags:[],description:"notebook",category:"Objects"},{emoji:"📒",names:["ledger"],tags:[],description:"ledger",category:"Objects"},{emoji:"📃",names:["page_with_curl"],tags:[],description:"page with curl",category:"Objects"},{emoji:"📜",names:["scroll"],tags:["document"],description:"scroll",category:"Objects"},{emoji:"📄",names:["page_facing_up"],tags:["document"],description:"page facing up",category:"Objects"},{emoji:"📰",names:["newspaper"],tags:["press"],description:"newspaper",category:"Objects"},{emoji:"🗞️",names:["newspaper_roll"],tags:["press"],description:"rolled-up newspaper",category:"Objects"},{emoji:"📑",names:["bookmark_tabs"],tags:[],description:"bookmark tabs",category:"Objects"},{emoji:"🔖",names:["bookmark"],tags:[],description:"bookmark",category:"Objects"},{emoji:"🏷️",names:["label"],tags:["tag"],description:"label",category:"Objects"},{emoji:"💰",names:["moneybag"],tags:["dollar","cream"],description:"money bag",category:"Objects"},{emoji:"🪙",names:["coin"],tags:[],description:"coin",category:"Objects"},{emoji:"💴",names:["yen"],tags:[],description:"yen banknote",category:"Objects"},{emoji:"💵",names:["dollar"],tags:["money"],description:"dollar banknote",category:"Objects"},{emoji:"💶",names:["euro"],tags:[],description:"euro banknote",category:"Objects"},{emoji:"💷",names:["pound"],tags:[],description:"pound banknote",category:"Objects"},{emoji:"💸",names:["money_with_wings"],tags:["dollar"],description:"money with wings",category:"Objects"},{emoji:"💳",names:["credit_card"],tags:["subscription"],description:"credit card",category:"Objects"},{emoji:"🧾",names:["receipt"],tags:[],description:"receipt",category:"Objects"},{emoji:"💹",names:["chart"],tags:[],description:"chart increasing with yen",category:"Objects"},{emoji:"✉️",names:["envelope"],tags:["letter","email"],description:"envelope",category:"Objects"},{emoji:"📧",names:["email","e-mail"],tags:[],description:"e-mail",category:"Objects"},{emoji:"📨",names:["incoming_envelope"],tags:[],description:"incoming envelope",category:"Objects"},{emoji:"📩",names:["envelope_with_arrow"],tags:[],description:"envelope with arrow",category:"Objects"},{emoji:"📤",names:["outbox_tray"],tags:[],description:"outbox tray",category:"Objects"},{emoji:"📥",names:["inbox_tray"],tags:[],description:"inbox tray",category:"Objects"},{emoji:"📦",names:["package"],tags:["shipping"],description:"package",category:"Objects"},{emoji:"📫",names:["mailbox"],tags:[],description:"closed mailbox with raised flag",category:"Objects"},{emoji:"📪",names:["mailbox_closed"],tags:[],description:"closed mailbox with lowered flag",category:"Objects"},{emoji:"📬",names:["mailbox_with_mail"],tags:[],description:"open mailbox with raised flag",category:"Objects"},{emoji:"📭",names:["mailbox_with_no_mail"],tags:[],description:"open mailbox with lowered flag",category:"Objects"},{emoji:"📮",names:["postbox"],tags:[],description:"postbox",category:"Objects"},{emoji:"🗳️",names:["ballot_box"],tags:[],description:"ballot box with ballot",category:"Objects"},{emoji:"✏️",names:["pencil2"],tags:[],description:"pencil",category:"Objects"},{emoji:"✒️",names:["black_nib"],tags:[],description:"black nib",category:"Objects"},{emoji:"🖋️",names:["fountain_pen"],tags:[],description:"fountain pen",category:"Objects"},{emoji:"🖊️",names:["pen"],tags:[],description:"pen",category:"Objects"},{emoji:"🖌️",names:["paintbrush"],tags:[],description:"paintbrush",category:"Objects"},{emoji:"🖍️",names:["crayon"],tags:[],description:"crayon",category:"Objects"},{emoji:"📝",names:["memo","pencil"],tags:["document","note"],description:"memo",category:"Objects"},{emoji:"💼",names:["briefcase"],tags:["business"],description:"briefcase",category:"Objects"},{emoji:"📁",names:["file_folder"],tags:["directory"],description:"file folder",category:"Objects"},{emoji:"📂",names:["open_file_folder"],tags:[],description:"open file folder",category:"Objects"},{emoji:"🗂️",names:["card_index_dividers"],tags:[],description:"card index dividers",category:"Objects"},{emoji:"📅",names:["date"],tags:["calendar","schedule"],description:"calendar",category:"Objects"},{emoji:"📆",names:["calendar"],tags:["schedule"],description:"tear-off calendar",category:"Objects"},{emoji:"🗒️",names:["spiral_notepad"],tags:[],description:"spiral notepad",category:"Objects"},{emoji:"🗓️",names:["spiral_calendar"],tags:[],description:"spiral calendar",category:"Objects"},{emoji:"📇",names:["card_index"],tags:[],description:"card index",category:"Objects"},{emoji:"📈",names:["chart_with_upwards_trend"],tags:["graph","metrics"],description:"chart increasing",category:"Objects"},{emoji:"📉",names:["chart_with_downwards_trend"],tags:["graph","metrics"],description:"chart decreasing",category:"Objects"},{emoji:"📊",names:["bar_chart"],tags:["stats","metrics"],description:"bar chart",category:"Objects"},{emoji:"📋",names:["clipboard"],tags:[],description:"clipboard",category:"Objects"},{emoji:"📌",names:["pushpin"],tags:["location"],description:"pushpin",category:"Objects"},{emoji:"📍",names:["round_pushpin"],tags:["location"],description:"round pushpin",category:"Objects"},{emoji:"📎",names:["paperclip"],tags:[],description:"paperclip",category:"Objects"},{emoji:"🖇️",names:["paperclips"],tags:[],description:"linked paperclips",category:"Objects"},{emoji:"📏",names:["straight_ruler"],tags:[],description:"straight ruler",category:"Objects"},{emoji:"📐",names:["triangular_ruler"],tags:[],description:"triangular ruler",category:"Objects"},{emoji:"✂️",names:["scissors"],tags:["cut"],description:"scissors",category:"Objects"},{emoji:"🗃️",names:["card_file_box"],tags:[],description:"card file box",category:"Objects"},{emoji:"🗄️",names:["file_cabinet"],tags:[],description:"file cabinet",category:"Objects"},{emoji:"🗑️",names:["wastebasket"],tags:["trash"],description:"wastebasket",category:"Objects"},{emoji:"🔒",names:["lock"],tags:["security","private"],description:"locked",category:"Objects"},{emoji:"🔓",names:["unlock"],tags:["security"],description:"unlocked",category:"Objects"},{emoji:"🔏",names:["lock_with_ink_pen"],tags:[],description:"locked with pen",category:"Objects"},{emoji:"🔐",names:["closed_lock_with_key"],tags:["security"],description:"locked with key",category:"Objects"},{emoji:"🔑",names:["key"],tags:["lock","password"],description:"key",category:"Objects"},{emoji:"🗝️",names:["old_key"],tags:[],description:"old key",category:"Objects"},{emoji:"🔨",names:["hammer"],tags:["tool"],description:"hammer",category:"Objects"},{emoji:"🪓",names:["axe"],tags:[],description:"axe",category:"Objects"},{emoji:"⛏️",names:["pick"],tags:[],description:"pick",category:"Objects"},{emoji:"⚒️",names:["hammer_and_pick"],tags:[],description:"hammer and pick",category:"Objects"},{emoji:"🛠️",names:["hammer_and_wrench"],tags:[],description:"hammer and wrench",category:"Objects"},{emoji:"🗡️",names:["dagger"],tags:[],description:"dagger",category:"Objects"},{emoji:"⚔️",names:["crossed_swords"],tags:[],description:"crossed swords",category:"Objects"},{emoji:"💣",names:["bomb"],tags:["boom"],description:"bomb",category:"Objects"},{emoji:"🪃",names:["boomerang"],tags:[],description:"boomerang",category:"Objects"},{emoji:"🏹",names:["bow_and_arrow"],tags:["archery"],description:"bow and arrow",category:"Objects"},{emoji:"🛡️",names:["shield"],tags:[],description:"shield",category:"Objects"},{emoji:"🪚",names:["carpentry_saw"],tags:[],description:"carpentry saw",category:"Objects"},{emoji:"🔧",names:["wrench"],tags:["tool"],description:"wrench",category:"Objects"},{emoji:"🪛",names:["screwdriver"],tags:[],description:"screwdriver",category:"Objects"},{emoji:"🔩",names:["nut_and_bolt"],tags:[],description:"nut and bolt",category:"Objects"},{emoji:"⚙️",names:["gear"],tags:[],description:"gear",category:"Objects"},{emoji:"🗜️",names:["clamp"],tags:[],description:"clamp",category:"Objects"},{emoji:"⚖️",names:["balance_scale"],tags:[],description:"balance scale",category:"Objects"},{emoji:"🦯",names:["probing_cane"],tags:[],description:"white cane",category:"Objects"},{emoji:"🔗",names:["link"],tags:[],description:"link",category:"Objects"},{emoji:"⛓️",names:["chains"],tags:[],description:"chains",category:"Objects"},{emoji:"🪝",names:["hook"],tags:[],description:"hook",category:"Objects"},{emoji:"🧰",names:["toolbox"],tags:[],description:"toolbox",category:"Objects"},{emoji:"🧲",names:["magnet"],tags:[],description:"magnet",category:"Objects"},{emoji:"🪜",names:["ladder"],tags:[],description:"ladder",category:"Objects"},{emoji:"⚗️",names:["alembic"],tags:[],description:"alembic",category:"Objects"},{emoji:"🧪",names:["test_tube"],tags:[],description:"test tube",category:"Objects"},{emoji:"🧫",names:["petri_dish"],tags:[],description:"petri dish",category:"Objects"},{emoji:"🧬",names:["dna"],tags:[],description:"dna",category:"Objects"},{emoji:"🔬",names:["microscope"],tags:["science","laboratory","investigate"],description:"microscope",category:"Objects"},{emoji:"🔭",names:["telescope"],tags:[],description:"telescope",category:"Objects"},{emoji:"📡",names:["satellite"],tags:["signal"],description:"satellite antenna",category:"Objects"},{emoji:"💉",names:["syringe"],tags:["health","hospital","needle"],description:"syringe",category:"Objects"},{emoji:"🩸",names:["drop_of_blood"],tags:[],description:"drop of blood",category:"Objects"},{emoji:"💊",names:["pill"],tags:["health","medicine"],description:"pill",category:"Objects"},{emoji:"🩹",names:["adhesive_bandage"],tags:[],description:"adhesive bandage",category:"Objects"},{emoji:"🩼",names:["crutch"],tags:[],description:"crutch",category:"Objects"},{emoji:"🩺",names:["stethoscope"],tags:[],description:"stethoscope",category:"Objects"},{emoji:"🩻",names:["x_ray"],tags:[],description:"x-ray",category:"Objects"},{emoji:"🚪",names:["door"],tags:[],description:"door",category:"Objects"},{emoji:"🛗",names:["elevator"],tags:[],description:"elevator",category:"Objects"},{emoji:"🪞",names:["mirror"],tags:[],description:"mirror",category:"Objects"},{emoji:"🪟",names:["window"],tags:[],description:"window",category:"Objects"},{emoji:"🛏️",names:["bed"],tags:[],description:"bed",category:"Objects"},{emoji:"🛋️",names:["couch_and_lamp"],tags:[],description:"couch and lamp",category:"Objects"},{emoji:"🪑",names:["chair"],tags:[],description:"chair",category:"Objects"},{emoji:"🚽",names:["toilet"],tags:["wc"],description:"toilet",category:"Objects"},{emoji:"🪠",names:["plunger"],tags:[],description:"plunger",category:"Objects"},{emoji:"🚿",names:["shower"],tags:["bath"],description:"shower",category:"Objects"},{emoji:"🛁",names:["bathtub"],tags:[],description:"bathtub",category:"Objects"},{emoji:"🪤",names:["mouse_trap"],tags:[],description:"mouse trap",category:"Objects"},{emoji:"🪒",names:["razor"],tags:[],description:"razor",category:"Objects"},{emoji:"🧴",names:["lotion_bottle"],tags:[],description:"lotion bottle",category:"Objects"},{emoji:"🧷",names:["safety_pin"],tags:[],description:"safety pin",category:"Objects"},{emoji:"🧹",names:["broom"],tags:[],description:"broom",category:"Objects"},{emoji:"🧺",names:["basket"],tags:[],description:"basket",category:"Objects"},{emoji:"🧻",names:["roll_of_paper"],tags:["toilet"],description:"roll of paper",category:"Objects"},{emoji:"🪣",names:["bucket"],tags:[],description:"bucket",category:"Objects"},{emoji:"🧼",names:["soap"],tags:[],description:"soap",category:"Objects"},{emoji:"🫧",names:["bubbles"],tags:[],description:"bubbles",category:"Objects"},{emoji:"🪥",names:["toothbrush"],tags:[],description:"toothbrush",category:"Objects"},{emoji:"🧽",names:["sponge"],tags:[],description:"sponge",category:"Objects"},{emoji:"🧯",names:["fire_extinguisher"],tags:[],description:"fire extinguisher",category:"Objects"},{emoji:"🛒",names:["shopping_cart"],tags:[],description:"shopping cart",category:"Objects"},{emoji:"🚬",names:["smoking"],tags:["cigarette"],description:"cigarette",category:"Objects"},{emoji:"⚰️",names:["coffin"],tags:["funeral"],description:"coffin",category:"Objects"},{emoji:"🪦",names:["headstone"],tags:[],description:"headstone",category:"Objects"},{emoji:"⚱️",names:["funeral_urn"],tags:[],description:"funeral urn",category:"Objects"},{emoji:"🧿",names:["nazar_amulet"],tags:[],description:"nazar amulet",category:"Objects"},{emoji:"🪬",names:["hamsa"],tags:[],description:"hamsa",category:"Objects"},{emoji:"🗿",names:["moyai"],tags:["stone"],description:"moai",category:"Objects"},{emoji:"🪧",names:["placard"],tags:[],description:"placard",category:"Objects"},{emoji:"🪪",names:["identification_card"],tags:[],description:"identification card",category:"Objects"},{emoji:"🏧",names:["atm"],tags:[],description:"ATM sign",category:"Symbols"},{emoji:"🚮",names:["put_litter_in_its_place"],tags:[],description:"litter in bin sign",category:"Symbols"},{emoji:"🚰",names:["potable_water"],tags:[],description:"potable water",category:"Symbols"},{emoji:"♿",names:["wheelchair"],tags:["accessibility"],description:"wheelchair symbol",category:"Symbols"},{emoji:"🚹",names:["mens"],tags:[],description:"men’s room",category:"Symbols"},{emoji:"🚺",names:["womens"],tags:[],description:"women’s room",category:"Symbols"},{emoji:"🚻",names:["restroom"],tags:["toilet"],description:"restroom",category:"Symbols"},{emoji:"🚼",names:["baby_symbol"],tags:[],description:"baby symbol",category:"Symbols"},{emoji:"🚾",names:["wc"],tags:["toilet","restroom"],description:"water closet",category:"Symbols"},{emoji:"🛂",names:["passport_control"],tags:[],description:"passport control",category:"Symbols"},{emoji:"🛃",names:["customs"],tags:[],description:"customs",category:"Symbols"},{emoji:"🛄",names:["baggage_claim"],tags:["airport"],description:"baggage claim",category:"Symbols"},{emoji:"🛅",names:["left_luggage"],tags:[],description:"left luggage",category:"Symbols"},{emoji:"⚠️",names:["warning"],tags:["wip"],description:"warning",category:"Symbols"},{emoji:"🚸",names:["children_crossing"],tags:[],description:"children crossing",category:"Symbols"},{emoji:"⛔",names:["no_entry"],tags:["limit"],description:"no entry",category:"Symbols"},{emoji:"🚫",names:["no_entry_sign"],tags:["block","forbidden"],description:"prohibited",category:"Symbols"},{emoji:"🚳",names:["no_bicycles"],tags:[],description:"no bicycles",category:"Symbols"},{emoji:"🚭",names:["no_smoking"],tags:[],description:"no smoking",category:"Symbols"},{emoji:"🚯",names:["do_not_litter"],tags:[],description:"no littering",category:"Symbols"},{emoji:"🚱",names:["non-potable_water"],tags:[],description:"non-potable water",category:"Symbols"},{emoji:"🚷",names:["no_pedestrians"],tags:[],description:"no pedestrians",category:"Symbols"},{emoji:"📵",names:["no_mobile_phones"],tags:[],description:"no mobile phones",category:"Symbols"},{emoji:"🔞",names:["underage"],tags:[],description:"no one under eighteen",category:"Symbols"},{emoji:"☢️",names:["radioactive"],tags:[],description:"radioactive",category:"Symbols"},{emoji:"☣️",names:["biohazard"],tags:[],description:"biohazard",category:"Symbols"},{emoji:"⬆️",names:["arrow_up"],tags:[],description:"up arrow",category:"Symbols"},{emoji:"↗️",names:["arrow_upper_right"],tags:[],description:"up-right arrow",category:"Symbols"},{emoji:"➡️",names:["arrow_right"],tags:[],description:"right arrow",category:"Symbols"},{emoji:"↘️",names:["arrow_lower_right"],tags:[],description:"down-right arrow",category:"Symbols"},{emoji:"⬇️",names:["arrow_down"],tags:[],description:"down arrow",category:"Symbols"},{emoji:"↙️",names:["arrow_lower_left"],tags:[],description:"down-left arrow",category:"Symbols"},{emoji:"⬅️",names:["arrow_left"],tags:[],description:"left arrow",category:"Symbols"},{emoji:"↖️",names:["arrow_upper_left"],tags:[],description:"up-left arrow",category:"Symbols"},{emoji:"↕️",names:["arrow_up_down"],tags:[],description:"up-down arrow",category:"Symbols"},{emoji:"↔️",names:["left_right_arrow"],tags:[],description:"left-right arrow",category:"Symbols"},{emoji:"↩️",names:["leftwards_arrow_with_hook"],tags:["return"],description:"right arrow curving left",category:"Symbols"},{emoji:"↪️",names:["arrow_right_hook"],tags:[],description:"left arrow curving right",category:"Symbols"},{emoji:"⤴️",names:["arrow_heading_up"],tags:[],description:"right arrow curving up",category:"Symbols"},{emoji:"⤵️",names:["arrow_heading_down"],tags:[],description:"right arrow curving down",category:"Symbols"},{emoji:"🔃",names:["arrows_clockwise"],tags:[],description:"clockwise vertical arrows",category:"Symbols"},{emoji:"🔄",names:["arrows_counterclockwise"],tags:["sync"],description:"counterclockwise arrows button",category:"Symbols"},{emoji:"🔙",names:["back"],tags:[],description:"BACK arrow",category:"Symbols"},{emoji:"🔚",names:["end"],tags:[],description:"END arrow",category:"Symbols"},{emoji:"🔛",names:["on"],tags:[],description:"ON! arrow",category:"Symbols"},{emoji:"🔜",names:["soon"],tags:[],description:"SOON arrow",category:"Symbols"},{emoji:"🔝",names:["top"],tags:[],description:"TOP arrow",category:"Symbols"},{emoji:"🛐",names:["place_of_worship"],tags:[],description:"place of worship",category:"Symbols"},{emoji:"⚛️",names:["atom_symbol"],tags:[],description:"atom symbol",category:"Symbols"},{emoji:"🕉️",names:["om"],tags:[],description:"om",category:"Symbols"},{emoji:"✡️",names:["star_of_david"],tags:[],description:"star of David",category:"Symbols"},{emoji:"☸️",names:["wheel_of_dharma"],tags:[],description:"wheel of dharma",category:"Symbols"},{emoji:"☯️",names:["yin_yang"],tags:[],description:"yin yang",category:"Symbols"},{emoji:"✝️",names:["latin_cross"],tags:[],description:"latin cross",category:"Symbols"},{emoji:"☦️",names:["orthodox_cross"],tags:[],description:"orthodox cross",category:"Symbols"},{emoji:"☪️",names:["star_and_crescent"],tags:[],description:"star and crescent",category:"Symbols"},{emoji:"☮️",names:["peace_symbol"],tags:[],description:"peace symbol",category:"Symbols"},{emoji:"🕎",names:["menorah"],tags:[],description:"menorah",category:"Symbols"},{emoji:"🔯",names:["six_pointed_star"],tags:[],description:"dotted six-pointed star",category:"Symbols"},{emoji:"🪯",names:["khanda"],tags:[],description:"khanda",category:"Symbols"},{emoji:"♈",names:["aries"],tags:[],description:"Aries",category:"Symbols"},{emoji:"♉",names:["taurus"],tags:[],description:"Taurus",category:"Symbols"},{emoji:"♊",names:["gemini"],tags:[],description:"Gemini",category:"Symbols"},{emoji:"♋",names:["cancer"],tags:[],description:"Cancer",category:"Symbols"},{emoji:"♌",names:["leo"],tags:[],description:"Leo",category:"Symbols"},{emoji:"♍",names:["virgo"],tags:[],description:"Virgo",category:"Symbols"},{emoji:"♎",names:["libra"],tags:[],description:"Libra",category:"Symbols"},{emoji:"♏",names:["scorpius"],tags:[],description:"Scorpio",category:"Symbols"},{emoji:"♐",names:["sagittarius"],tags:[],description:"Sagittarius",category:"Symbols"},{emoji:"♑",names:["capricorn"],tags:[],description:"Capricorn",category:"Symbols"},{emoji:"♒",names:["aquarius"],tags:[],description:"Aquarius",category:"Symbols"},{emoji:"♓",names:["pisces"],tags:[],description:"Pisces",category:"Symbols"},{emoji:"⛎",names:["ophiuchus"],tags:[],description:"Ophiuchus",category:"Symbols"},{emoji:"🔀",names:["twisted_rightwards_arrows"],tags:["shuffle"],description:"shuffle tracks button",category:"Symbols"},{emoji:"🔁",names:["repeat"],tags:["loop"],description:"repeat button",category:"Symbols"},{emoji:"🔂",names:["repeat_one"],tags:[],description:"repeat single button",category:"Symbols"},{emoji:"▶️",names:["arrow_forward"],tags:[],description:"play button",category:"Symbols"},{emoji:"⏩",names:["fast_forward"],tags:[],description:"fast-forward button",category:"Symbols"},{emoji:"⏭️",names:["next_track_button"],tags:[],description:"next track button",category:"Symbols"},{emoji:"⏯️",names:["play_or_pause_button"],tags:[],description:"play or pause button",category:"Symbols"},{emoji:"◀️",names:["arrow_backward"],tags:[],description:"reverse button",category:"Symbols"},{emoji:"⏪",names:["rewind"],tags:[],description:"fast reverse button",category:"Symbols"},{emoji:"⏮️",names:["previous_track_button"],tags:[],description:"last track button",category:"Symbols"},{emoji:"🔼",names:["arrow_up_small"],tags:[],description:"upwards button",category:"Symbols"},{emoji:"⏫",names:["arrow_double_up"],tags:[],description:"fast up button",category:"Symbols"},{emoji:"🔽",names:["arrow_down_small"],tags:[],description:"downwards button",category:"Symbols"},{emoji:"⏬",names:["arrow_double_down"],tags:[],description:"fast down button",category:"Symbols"},{emoji:"⏸️",names:["pause_button"],tags:[],description:"pause button",category:"Symbols"},{emoji:"⏹️",names:["stop_button"],tags:[],description:"stop button",category:"Symbols"},{emoji:"⏺️",names:["record_button"],tags:[],description:"record button",category:"Symbols"},{emoji:"⏏️",names:["eject_button"],tags:[],description:"eject button",category:"Symbols"},{emoji:"🎦",names:["cinema"],tags:["film","movie"],description:"cinema",category:"Symbols"},{emoji:"🔅",names:["low_brightness"],tags:[],description:"dim button",category:"Symbols"},{emoji:"🔆",names:["high_brightness"],tags:[],description:"bright button",category:"Symbols"},{emoji:"📶",names:["signal_strength"],tags:["wifi"],description:"antenna bars",category:"Symbols"},{emoji:"🛜",names:["wireless"],tags:["wifi"],description:"wireless",category:"Symbols"},{emoji:"📳",names:["vibration_mode"],tags:[],description:"vibration mode",category:"Symbols"},{emoji:"📴",names:["mobile_phone_off"],tags:["mute","off"],description:"mobile phone off",category:"Symbols"},{emoji:"♀️",names:["female_sign"],tags:[],description:"female sign",category:"Symbols"},{emoji:"♂️",names:["male_sign"],tags:[],description:"male sign",category:"Symbols"},{emoji:"⚧️",names:["transgender_symbol"],tags:[],description:"transgender symbol",category:"Symbols"},{emoji:"✖️",names:["heavy_multiplication_x"],tags:[],description:"multiply",category:"Symbols"},{emoji:"➕",names:["heavy_plus_sign"],tags:[],description:"plus",category:"Symbols"},{emoji:"➖",names:["heavy_minus_sign"],tags:[],description:"minus",category:"Symbols"},{emoji:"➗",names:["heavy_division_sign"],tags:[],description:"divide",category:"Symbols"},{emoji:"🟰",names:["heavy_equals_sign"],tags:[],description:"heavy equals sign",category:"Symbols"},{emoji:"♾️",names:["infinity"],tags:[],description:"infinity",category:"Symbols"},{emoji:"‼️",names:["bangbang"],tags:[],description:"double exclamation mark",category:"Symbols"},{emoji:"⁉️",names:["interrobang"],tags:[],description:"exclamation question mark",category:"Symbols"},{emoji:"❓",names:["question"],tags:["confused"],description:"red question mark",category:"Symbols"},{emoji:"❔",names:["grey_question"],tags:[],description:"white question mark",category:"Symbols"},{emoji:"❕",names:["grey_exclamation"],tags:[],description:"white exclamation mark",category:"Symbols"},{emoji:"❗",names:["exclamation","heavy_exclamation_mark"],tags:["bang"],description:"red exclamation mark",category:"Symbols"},{emoji:"〰️",names:["wavy_dash"],tags:[],description:"wavy dash",category:"Symbols"},{emoji:"💱",names:["currency_exchange"],tags:[],description:"currency exchange",category:"Symbols"},{emoji:"💲",names:["heavy_dollar_sign"],tags:[],description:"heavy dollar sign",category:"Symbols"},{emoji:"⚕️",names:["medical_symbol"],tags:[],description:"medical symbol",category:"Symbols"},{emoji:"♻️",names:["recycle"],tags:["environment","green"],description:"recycling symbol",category:"Symbols"},{emoji:"⚜️",names:["fleur_de_lis"],tags:[],description:"fleur-de-lis",category:"Symbols"},{emoji:"🔱",names:["trident"],tags:[],description:"trident emblem",category:"Symbols"},{emoji:"📛",names:["name_badge"],tags:[],description:"name badge",category:"Symbols"},{emoji:"🔰",names:["beginner"],tags:[],description:"Japanese symbol for beginner",category:"Symbols"},{emoji:"⭕",names:["o"],tags:[],description:"hollow red circle",category:"Symbols"},{emoji:"✅",names:["white_check_mark"],tags:[],description:"check mark button",category:"Symbols"},{emoji:"☑️",names:["ballot_box_with_check"],tags:[],description:"check box with check",category:"Symbols"},{emoji:"✔️",names:["heavy_check_mark"],tags:[],description:"check mark",category:"Symbols"},{emoji:"❌",names:["x"],tags:[],description:"cross mark",category:"Symbols"},{emoji:"❎",names:["negative_squared_cross_mark"],tags:[],description:"cross mark button",category:"Symbols"},{emoji:"➰",names:["curly_loop"],tags:[],description:"curly loop",category:"Symbols"},{emoji:"➿",names:["loop"],tags:[],description:"double curly loop",category:"Symbols"},{emoji:"〽️",names:["part_alternation_mark"],tags:[],description:"part alternation mark",category:"Symbols"},{emoji:"✳️",names:["eight_spoked_asterisk"],tags:[],description:"eight-spoked asterisk",category:"Symbols"},{emoji:"✴️",names:["eight_pointed_black_star"],tags:[],description:"eight-pointed star",category:"Symbols"},{emoji:"❇️",names:["sparkle"],tags:[],description:"sparkle",category:"Symbols"},{emoji:"©️",names:["copyright"],tags:[],description:"copyright",category:"Symbols"},{emoji:"®️",names:["registered"],tags:[],description:"registered",category:"Symbols"},{emoji:"™️",names:["tm"],tags:["trademark"],description:"trade mark",category:"Symbols"},{emoji:"#️⃣",names:["hash"],tags:["number"],description:"keycap: #",category:"Symbols"},{emoji:"*️⃣",names:["asterisk"],tags:[],description:"keycap: *",category:"Symbols"},{emoji:"0️⃣",names:["zero"],tags:[],description:"keycap: 0",category:"Symbols"},{emoji:"1️⃣",names:["one"],tags:[],description:"keycap: 1",category:"Symbols"},{emoji:"2️⃣",names:["two"],tags:[],description:"keycap: 2",category:"Symbols"},{emoji:"3️⃣",names:["three"],tags:[],description:"keycap: 3",category:"Symbols"},{emoji:"4️⃣",names:["four"],tags:[],description:"keycap: 4",category:"Symbols"},{emoji:"5️⃣",names:["five"],tags:[],description:"keycap: 5",category:"Symbols"},{emoji:"6️⃣",names:["six"],tags:[],description:"keycap: 6",category:"Symbols"},{emoji:"7️⃣",names:["seven"],tags:[],description:"keycap: 7",category:"Symbols"},{emoji:"8️⃣",names:["eight"],tags:[],description:"keycap: 8",category:"Symbols"},{emoji:"9️⃣",names:["nine"],tags:[],description:"keycap: 9",category:"Symbols"},{emoji:"🔟",names:["keycap_ten"],tags:[],description:"keycap: 10",category:"Symbols"},{emoji:"🔠",names:["capital_abcd"],tags:["letters"],description:"input latin uppercase",category:"Symbols"},{emoji:"🔡",names:["abcd"],tags:[],description:"input latin lowercase",category:"Symbols"},{emoji:"🔢",names:["1234"],tags:["numbers"],description:"input numbers",category:"Symbols"},{emoji:"🔣",names:["symbols"],tags:[],description:"input symbols",category:"Symbols"},{emoji:"🔤",names:["abc"],tags:["alphabet"],description:"input latin letters",category:"Symbols"},{emoji:"🅰️",names:["a"],tags:[],description:"A button (blood type)",category:"Symbols"},{emoji:"🆎",names:["ab"],tags:[],description:"AB button (blood type)",category:"Symbols"},{emoji:"🅱️",names:["b"],tags:[],description:"B button (blood type)",category:"Symbols"},{emoji:"🆑",names:["cl"],tags:[],description:"CL button",category:"Symbols"},{emoji:"🆒",names:["cool"],tags:[],description:"COOL button",category:"Symbols"},{emoji:"🆓",names:["free"],tags:[],description:"FREE button",category:"Symbols"},{emoji:"ℹ️",names:["information_source"],tags:[],description:"information",category:"Symbols"},{emoji:"🆔",names:["id"],tags:[],description:"ID button",category:"Symbols"},{emoji:"Ⓜ️",names:["m"],tags:[],description:"circled M",category:"Symbols"},{emoji:"🆕",names:["new"],tags:["fresh"],description:"NEW button",category:"Symbols"},{emoji:"🆖",names:["ng"],tags:[],description:"NG button",category:"Symbols"},{emoji:"🅾️",names:["o2"],tags:[],description:"O button (blood type)",category:"Symbols"},{emoji:"🆗",names:["ok"],tags:["yes"],description:"OK button",category:"Symbols"},{emoji:"🅿️",names:["parking"],tags:[],description:"P button",category:"Symbols"},{emoji:"🆘",names:["sos"],tags:["help","emergency"],description:"SOS button",category:"Symbols"},{emoji:"🆙",names:["up"],tags:[],description:"UP! button",category:"Symbols"},{emoji:"🆚",names:["vs"],tags:[],description:"VS button",category:"Symbols"},{emoji:"🈁",names:["koko"],tags:[],description:"Japanese “here” button",category:"Symbols"},{emoji:"🈂️",names:["sa"],tags:[],description:"Japanese “service charge” button",category:"Symbols"},{emoji:"🈷️",names:["u6708"],tags:[],description:"Japanese “monthly amount” button",category:"Symbols"},{emoji:"🈶",names:["u6709"],tags:[],description:"Japanese “not free of charge” button",category:"Symbols"},{emoji:"🈯",names:["u6307"],tags:[],description:"Japanese “reserved” button",category:"Symbols"},{emoji:"🉐",names:["ideograph_advantage"],tags:[],description:"Japanese “bargain” button",category:"Symbols"},{emoji:"🈹",names:["u5272"],tags:[],description:"Japanese “discount” button",category:"Symbols"},{emoji:"🈚",names:["u7121"],tags:[],description:"Japanese “free of charge” button",category:"Symbols"},{emoji:"🈲",names:["u7981"],tags:[],description:"Japanese “prohibited” button",category:"Symbols"},{emoji:"🉑",names:["accept"],tags:[],description:"Japanese “acceptable” button",category:"Symbols"},{emoji:"🈸",names:["u7533"],tags:[],description:"Japanese “application” button",category:"Symbols"},{emoji:"🈴",names:["u5408"],tags:[],description:"Japanese “passing grade” button",category:"Symbols"},{emoji:"🈳",names:["u7a7a"],tags:[],description:"Japanese “vacancy” button",category:"Symbols"},{emoji:"㊗️",names:["congratulations"],tags:[],description:"Japanese “congratulations” button",category:"Symbols"},{emoji:"㊙️",names:["secret"],tags:[],description:"Japanese “secret” button",category:"Symbols"},{emoji:"🈺",names:["u55b6"],tags:[],description:"Japanese “open for business” button",category:"Symbols"},{emoji:"🈵",names:["u6e80"],tags:[],description:"Japanese “no vacancy” button",category:"Symbols"},{emoji:"🔴",names:["red_circle"],tags:[],description:"red circle",category:"Symbols"},{emoji:"🟠",names:["orange_circle"],tags:[],description:"orange circle",category:"Symbols"},{emoji:"🟡",names:["yellow_circle"],tags:[],description:"yellow circle",category:"Symbols"},{emoji:"🟢",names:["green_circle"],tags:[],description:"green circle",category:"Symbols"},{emoji:"🔵",names:["large_blue_circle"],tags:[],description:"blue circle",category:"Symbols"},{emoji:"🟣",names:["purple_circle"],tags:[],description:"purple circle",category:"Symbols"},{emoji:"🟤",names:["brown_circle"],tags:[],description:"brown circle",category:"Symbols"},{emoji:"⚫",names:["black_circle"],tags:[],description:"black circle",category:"Symbols"},{emoji:"⚪",names:["white_circle"],tags:[],description:"white circle",category:"Symbols"},{emoji:"🟥",names:["red_square"],tags:[],description:"red square",category:"Symbols"},{emoji:"🟧",names:["orange_square"],tags:[],description:"orange square",category:"Symbols"},{emoji:"🟨",names:["yellow_square"],tags:[],description:"yellow square",category:"Symbols"},{emoji:"🟩",names:["green_square"],tags:[],description:"green square",category:"Symbols"},{emoji:"🟦",names:["blue_square"],tags:[],description:"blue square",category:"Symbols"},{emoji:"🟪",names:["purple_square"],tags:[],description:"purple square",category:"Symbols"},{emoji:"🟫",names:["brown_square"],tags:[],description:"brown square",category:"Symbols"},{emoji:"⬛",names:["black_large_square"],tags:[],description:"black large square",category:"Symbols"},{emoji:"⬜",names:["white_large_square"],tags:[],description:"white large square",category:"Symbols"},{emoji:"◼️",names:["black_medium_square"],tags:[],description:"black medium square",category:"Symbols"},{emoji:"◻️",names:["white_medium_square"],tags:[],description:"white medium square",category:"Symbols"},{emoji:"◾",names:["black_medium_small_square"],tags:[],description:"black medium-small square",category:"Symbols"},{emoji:"◽",names:["white_medium_small_square"],tags:[],description:"white medium-small square",category:"Symbols"},{emoji:"▪️",names:["black_small_square"],tags:[],description:"black small square",category:"Symbols"},{emoji:"▫️",names:["white_small_square"],tags:[],description:"white small square",category:"Symbols"},{emoji:"🔶",names:["large_orange_diamond"],tags:[],description:"large orange diamond",category:"Symbols"},{emoji:"🔷",names:["large_blue_diamond"],tags:[],description:"large blue diamond",category:"Symbols"},{emoji:"🔸",names:["small_orange_diamond"],tags:[],description:"small orange diamond",category:"Symbols"},{emoji:"🔹",names:["small_blue_diamond"],tags:[],description:"small blue diamond",category:"Symbols"},{emoji:"🔺",names:["small_red_triangle"],tags:[],description:"red triangle pointed up",category:"Symbols"},{emoji:"🔻",names:["small_red_triangle_down"],tags:[],description:"red triangle pointed down",category:"Symbols"},{emoji:"💠",names:["diamond_shape_with_a_dot_inside"],tags:[],description:"diamond with a dot",category:"Symbols"},{emoji:"🔘",names:["radio_button"],tags:[],description:"radio button",category:"Symbols"},{emoji:"🔳",names:["white_square_button"],tags:[],description:"white square button",category:"Symbols"},{emoji:"🔲",names:["black_square_button"],tags:[],description:"black square button",category:"Symbols"},{emoji:"🏁",names:["checkered_flag"],tags:["milestone","finish"],description:"chequered flag",category:"Flags"},{emoji:"🚩",names:["triangular_flag_on_post"],tags:[],description:"triangular flag",category:"Flags"},{emoji:"🎌",names:["crossed_flags"],tags:[],description:"crossed flags",category:"Flags"},{emoji:"🏴",names:["black_flag"],tags:[],description:"black flag",category:"Flags"},{emoji:"🏳️",names:["white_flag"],tags:[],description:"white flag",category:"Flags"},{emoji:"🏳️‍🌈",names:["rainbow_flag"],tags:["pride"],description:"rainbow flag",category:"Flags"},{emoji:"🏳️‍⚧️",names:["transgender_flag"],tags:[],description:"transgender flag",category:"Flags"},{emoji:"🏴‍☠️",names:["pirate_flag"],tags:[],description:"pirate flag",category:"Flags"},{emoji:"🇦🇨",names:["ascension_island"],tags:[],description:"flag: Ascension Island",category:"Flags"},{emoji:"🇦🇩",names:["andorra"],tags:[],description:"flag: Andorra",category:"Flags"},{emoji:"🇦🇪",names:["united_arab_emirates"],tags:[],description:"flag: United Arab Emirates",category:"Flags"},{emoji:"🇦🇫",names:["afghanistan"],tags:[],description:"flag: Afghanistan",category:"Flags"},{emoji:"🇦🇬",names:["antigua_barbuda"],tags:[],description:"flag: Antigua & Barbuda",category:"Flags"},{emoji:"🇦🇮",names:["anguilla"],tags:[],description:"flag: Anguilla",category:"Flags"},{emoji:"🇦🇱",names:["albania"],tags:[],description:"flag: Albania",category:"Flags"},{emoji:"🇦🇲",names:["armenia"],tags:[],description:"flag: Armenia",category:"Flags"},{emoji:"🇦🇴",names:["angola"],tags:[],description:"flag: Angola",category:"Flags"},{emoji:"🇦🇶",names:["antarctica"],tags:[],description:"flag: Antarctica",category:"Flags"},{emoji:"🇦🇷",names:["argentina"],tags:[],description:"flag: Argentina",category:"Flags"},{emoji:"🇦🇸",names:["american_samoa"],tags:[],description:"flag: American Samoa",category:"Flags"},{emoji:"🇦🇹",names:["austria"],tags:[],description:"flag: Austria",category:"Flags"},{emoji:"🇦🇺",names:["australia"],tags:[],description:"flag: Australia",category:"Flags"},{emoji:"🇦🇼",names:["aruba"],tags:[],description:"flag: Aruba",category:"Flags"},{emoji:"🇦🇽",names:["aland_islands"],tags:[],description:"flag: Åland Islands",category:"Flags"},{emoji:"🇦🇿",names:["azerbaijan"],tags:[],description:"flag: Azerbaijan",category:"Flags"},{emoji:"🇧🇦",names:["bosnia_herzegovina"],tags:[],description:"flag: Bosnia & Herzegovina",category:"Flags"},{emoji:"🇧🇧",names:["barbados"],tags:[],description:"flag: Barbados",category:"Flags"},{emoji:"🇧🇩",names:["bangladesh"],tags:[],description:"flag: Bangladesh",category:"Flags"},{emoji:"🇧🇪",names:["belgium"],tags:[],description:"flag: Belgium",category:"Flags"},{emoji:"🇧🇫",names:["burkina_faso"],tags:[],description:"flag: Burkina Faso",category:"Flags"},{emoji:"🇧🇬",names:["bulgaria"],tags:[],description:"flag: Bulgaria",category:"Flags"},{emoji:"🇧🇭",names:["bahrain"],tags:[],description:"flag: Bahrain",category:"Flags"},{emoji:"🇧🇮",names:["burundi"],tags:[],description:"flag: Burundi",category:"Flags"},{emoji:"🇧🇯",names:["benin"],tags:[],description:"flag: Benin",category:"Flags"},{emoji:"🇧🇱",names:["st_barthelemy"],tags:[],description:"flag: St. Barthélemy",category:"Flags"},{emoji:"🇧🇲",names:["bermuda"],tags:[],description:"flag: Bermuda",category:"Flags"},{emoji:"🇧🇳",names:["brunei"],tags:[],description:"flag: Brunei",category:"Flags"},{emoji:"🇧🇴",names:["bolivia"],tags:[],description:"flag: Bolivia",category:"Flags"},{emoji:"🇧🇶",names:["caribbean_netherlands"],tags:[],description:"flag: Caribbean Netherlands",category:"Flags"},{emoji:"🇧🇷",names:["brazil"],tags:[],description:"flag: Brazil",category:"Flags"},{emoji:"🇧🇸",names:["bahamas"],tags:[],description:"flag: Bahamas",category:"Flags"},{emoji:"🇧🇹",names:["bhutan"],tags:[],description:"flag: Bhutan",category:"Flags"},{emoji:"🇧🇻",names:["bouvet_island"],tags:[],description:"flag: Bouvet Island",category:"Flags"},{emoji:"🇧🇼",names:["botswana"],tags:[],description:"flag: Botswana",category:"Flags"},{emoji:"🇧🇾",names:["belarus"],tags:[],description:"flag: Belarus",category:"Flags"},{emoji:"🇧🇿",names:["belize"],tags:[],description:"flag: Belize",category:"Flags"},{emoji:"🇨🇦",names:["canada"],tags:[],description:"flag: Canada",category:"Flags"},{emoji:"🇨🇨",names:["cocos_islands"],tags:["keeling"],description:"flag: Cocos (Keeling) Islands",category:"Flags"},{emoji:"🇨🇩",names:["congo_kinshasa"],tags:[],description:"flag: Congo - Kinshasa",category:"Flags"},{emoji:"🇨🇫",names:["central_african_republic"],tags:[],description:"flag: Central African Republic",category:"Flags"},{emoji:"🇨🇬",names:["congo_brazzaville"],tags:[],description:"flag: Congo - Brazzaville",category:"Flags"},{emoji:"🇨🇭",names:["switzerland"],tags:[],description:"flag: Switzerland",category:"Flags"},{emoji:"🇨🇮",names:["cote_divoire"],tags:["ivory"],description:"flag: Côte d’Ivoire",category:"Flags"},{emoji:"🇨🇰",names:["cook_islands"],tags:[],description:"flag: Cook Islands",category:"Flags"},{emoji:"🇨🇱",names:["chile"],tags:[],description:"flag: Chile",category:"Flags"},{emoji:"🇨🇲",names:["cameroon"],tags:[],description:"flag: Cameroon",category:"Flags"},{emoji:"🇨🇳",names:["cn"],tags:["china"],description:"flag: China",category:"Flags"},{emoji:"🇨🇴",names:["colombia"],tags:[],description:"flag: Colombia",category:"Flags"},{emoji:"🇨🇵",names:["clipperton_island"],tags:[],description:"flag: Clipperton Island",category:"Flags"},{emoji:"🇨🇷",names:["costa_rica"],tags:[],description:"flag: Costa Rica",category:"Flags"},{emoji:"🇨🇺",names:["cuba"],tags:[],description:"flag: Cuba",category:"Flags"},{emoji:"🇨🇻",names:["cape_verde"],tags:[],description:"flag: Cape Verde",category:"Flags"},{emoji:"🇨🇼",names:["curacao"],tags:[],description:"flag: Curaçao",category:"Flags"},{emoji:"🇨🇽",names:["christmas_island"],tags:[],description:"flag: Christmas Island",category:"Flags"},{emoji:"🇨🇾",names:["cyprus"],tags:[],description:"flag: Cyprus",category:"Flags"},{emoji:"🇨🇿",names:["czech_republic"],tags:[],description:"flag: Czechia",category:"Flags"},{emoji:"🇩🇪",names:["de"],tags:["flag","germany"],description:"flag: Germany",category:"Flags"},{emoji:"🇩🇬",names:["diego_garcia"],tags:[],description:"flag: Diego Garcia",category:"Flags"},{emoji:"🇩🇯",names:["djibouti"],tags:[],description:"flag: Djibouti",category:"Flags"},{emoji:"🇩🇰",names:["denmark"],tags:[],description:"flag: Denmark",category:"Flags"},{emoji:"🇩🇲",names:["dominica"],tags:[],description:"flag: Dominica",category:"Flags"},{emoji:"🇩🇴",names:["dominican_republic"],tags:[],description:"flag: Dominican Republic",category:"Flags"},{emoji:"🇩🇿",names:["algeria"],tags:[],description:"flag: Algeria",category:"Flags"},{emoji:"🇪🇦",names:["ceuta_melilla"],tags:[],description:"flag: Ceuta & Melilla",category:"Flags"},{emoji:"🇪🇨",names:["ecuador"],tags:[],description:"flag: Ecuador",category:"Flags"},{emoji:"🇪🇪",names:["estonia"],tags:[],description:"flag: Estonia",category:"Flags"},{emoji:"🇪🇬",names:["egypt"],tags:[],description:"flag: Egypt",category:"Flags"},{emoji:"🇪🇭",names:["western_sahara"],tags:[],description:"flag: Western Sahara",category:"Flags"},{emoji:"🇪🇷",names:["eritrea"],tags:[],description:"flag: Eritrea",category:"Flags"},{emoji:"🇪🇸",names:["es"],tags:["spain"],description:"flag: Spain",category:"Flags"},{emoji:"🇪🇹",names:["ethiopia"],tags:[],description:"flag: Ethiopia",category:"Flags"},{emoji:"🇪🇺",names:["eu","european_union"],tags:[],description:"flag: European Union",category:"Flags"},{emoji:"🇫🇮",names:["finland"],tags:[],description:"flag: Finland",category:"Flags"},{emoji:"🇫🇯",names:["fiji"],tags:[],description:"flag: Fiji",category:"Flags"},{emoji:"🇫🇰",names:["falkland_islands"],tags:[],description:"flag: Falkland Islands",category:"Flags"},{emoji:"🇫🇲",names:["micronesia"],tags:[],description:"flag: Micronesia",category:"Flags"},{emoji:"🇫🇴",names:["faroe_islands"],tags:[],description:"flag: Faroe Islands",category:"Flags"},{emoji:"🇫🇷",names:["fr"],tags:["france","french"],description:"flag: France",category:"Flags"},{emoji:"🇬🇦",names:["gabon"],tags:[],description:"flag: Gabon",category:"Flags"},{emoji:"🇬🇧",names:["gb","uk"],tags:["flag","british"],description:"flag: United Kingdom",category:"Flags"},{emoji:"🇬🇩",names:["grenada"],tags:[],description:"flag: Grenada",category:"Flags"},{emoji:"🇬🇪",names:["georgia"],tags:[],description:"flag: Georgia",category:"Flags"},{emoji:"🇬🇫",names:["french_guiana"],tags:[],description:"flag: French Guiana",category:"Flags"},{emoji:"🇬🇬",names:["guernsey"],tags:[],description:"flag: Guernsey",category:"Flags"},{emoji:"🇬🇭",names:["ghana"],tags:[],description:"flag: Ghana",category:"Flags"},{emoji:"🇬🇮",names:["gibraltar"],tags:[],description:"flag: Gibraltar",category:"Flags"},{emoji:"🇬🇱",names:["greenland"],tags:[],description:"flag: Greenland",category:"Flags"},{emoji:"🇬🇲",names:["gambia"],tags:[],description:"flag: Gambia",category:"Flags"},{emoji:"🇬🇳",names:["guinea"],tags:[],description:"flag: Guinea",category:"Flags"},{emoji:"🇬🇵",names:["guadeloupe"],tags:[],description:"flag: Guadeloupe",category:"Flags"},{emoji:"🇬🇶",names:["equatorial_guinea"],tags:[],description:"flag: Equatorial Guinea",category:"Flags"},{emoji:"🇬🇷",names:["greece"],tags:[],description:"flag: Greece",category:"Flags"},{emoji:"🇬🇸",names:["south_georgia_south_sandwich_islands"],tags:[],description:"flag: South Georgia & South Sandwich Islands",category:"Flags"},{emoji:"🇬🇹",names:["guatemala"],tags:[],description:"flag: Guatemala",category:"Flags"},{emoji:"🇬🇺",names:["guam"],tags:[],description:"flag: Guam",category:"Flags"},{emoji:"🇬🇼",names:["guinea_bissau"],tags:[],description:"flag: Guinea-Bissau",category:"Flags"},{emoji:"🇬🇾",names:["guyana"],tags:[],description:"flag: Guyana",category:"Flags"},{emoji:"🇭🇰",names:["hong_kong"],tags:[],description:"flag: Hong Kong SAR China",category:"Flags"},{emoji:"🇭🇲",names:["heard_mcdonald_islands"],tags:[],description:"flag: Heard & McDonald Islands",category:"Flags"},{emoji:"🇭🇳",names:["honduras"],tags:[],description:"flag: Honduras",category:"Flags"},{emoji:"🇭🇷",names:["croatia"],tags:[],description:"flag: Croatia",category:"Flags"},{emoji:"🇭🇹",names:["haiti"],tags:[],description:"flag: Haiti",category:"Flags"},{emoji:"🇭🇺",names:["hungary"],tags:[],description:"flag: Hungary",category:"Flags"},{emoji:"🇮🇨",names:["canary_islands"],tags:[],description:"flag: Canary Islands",category:"Flags"},{emoji:"🇮🇩",names:["indonesia"],tags:[],description:"flag: Indonesia",category:"Flags"},{emoji:"🇮🇪",names:["ireland"],tags:[],description:"flag: Ireland",category:"Flags"},{emoji:"🇮🇱",names:["israel"],tags:[],description:"flag: Israel",category:"Flags"},{emoji:"🇮🇲",names:["isle_of_man"],tags:[],description:"flag: Isle of Man",category:"Flags"},{emoji:"🇮🇳",names:["india"],tags:[],description:"flag: India",category:"Flags"},{emoji:"🇮🇴",names:["british_indian_ocean_territory"],tags:[],description:"flag: British Indian Ocean Territory",category:"Flags"},{emoji:"🇮🇶",names:["iraq"],tags:[],description:"flag: Iraq",category:"Flags"},{emoji:"🇮🇷",names:["iran"],tags:[],description:"flag: Iran",category:"Flags"},{emoji:"🇮🇸",names:["iceland"],tags:[],description:"flag: Iceland",category:"Flags"},{emoji:"🇮🇹",names:["it"],tags:["italy"],description:"flag: Italy",category:"Flags"},{emoji:"🇯🇪",names:["jersey"],tags:[],description:"flag: Jersey",category:"Flags"},{emoji:"🇯🇲",names:["jamaica"],tags:[],description:"flag: Jamaica",category:"Flags"},{emoji:"🇯🇴",names:["jordan"],tags:[],description:"flag: Jordan",category:"Flags"},{emoji:"🇯🇵",names:["jp"],tags:["japan"],description:"flag: Japan",category:"Flags"},{emoji:"🇰🇪",names:["kenya"],tags:[],description:"flag: Kenya",category:"Flags"},{emoji:"🇰🇬",names:["kyrgyzstan"],tags:[],description:"flag: Kyrgyzstan",category:"Flags"},{emoji:"🇰🇭",names:["cambodia"],tags:[],description:"flag: Cambodia",category:"Flags"},{emoji:"🇰🇮",names:["kiribati"],tags:[],description:"flag: Kiribati",category:"Flags"},{emoji:"🇰🇲",names:["comoros"],tags:[],description:"flag: Comoros",category:"Flags"},{emoji:"🇰🇳",names:["st_kitts_nevis"],tags:[],description:"flag: St. Kitts & Nevis",category:"Flags"},{emoji:"🇰🇵",names:["north_korea"],tags:[],description:"flag: North Korea",category:"Flags"},{emoji:"🇰🇷",names:["kr"],tags:["korea"],description:"flag: South Korea",category:"Flags"},{emoji:"🇰🇼",names:["kuwait"],tags:[],description:"flag: Kuwait",category:"Flags"},{emoji:"🇰🇾",names:["cayman_islands"],tags:[],description:"flag: Cayman Islands",category:"Flags"},{emoji:"🇰🇿",names:["kazakhstan"],tags:[],description:"flag: Kazakhstan",category:"Flags"},{emoji:"🇱🇦",names:["laos"],tags:[],description:"flag: Laos",category:"Flags"},{emoji:"🇱🇧",names:["lebanon"],tags:[],description:"flag: Lebanon",category:"Flags"},{emoji:"🇱🇨",names:["st_lucia"],tags:[],description:"flag: St. Lucia",category:"Flags"},{emoji:"🇱🇮",names:["liechtenstein"],tags:[],description:"flag: Liechtenstein",category:"Flags"},{emoji:"🇱🇰",names:["sri_lanka"],tags:[],description:"flag: Sri Lanka",category:"Flags"},{emoji:"🇱🇷",names:["liberia"],tags:[],description:"flag: Liberia",category:"Flags"},{emoji:"🇱🇸",names:["lesotho"],tags:[],description:"flag: Lesotho",category:"Flags"},{emoji:"🇱🇹",names:["lithuania"],tags:[],description:"flag: Lithuania",category:"Flags"},{emoji:"🇱🇺",names:["luxembourg"],tags:[],description:"flag: Luxembourg",category:"Flags"},{emoji:"🇱🇻",names:["latvia"],tags:[],description:"flag: Latvia",category:"Flags"},{emoji:"🇱🇾",names:["libya"],tags:[],description:"flag: Libya",category:"Flags"},{emoji:"🇲🇦",names:["morocco"],tags:[],description:"flag: Morocco",category:"Flags"},{emoji:"🇲🇨",names:["monaco"],tags:[],description:"flag: Monaco",category:"Flags"},{emoji:"🇲🇩",names:["moldova"],tags:[],description:"flag: Moldova",category:"Flags"},{emoji:"🇲🇪",names:["montenegro"],tags:[],description:"flag: Montenegro",category:"Flags"},{emoji:"🇲🇫",names:["st_martin"],tags:[],description:"flag: St. Martin",category:"Flags"},{emoji:"🇲🇬",names:["madagascar"],tags:[],description:"flag: Madagascar",category:"Flags"},{emoji:"🇲🇭",names:["marshall_islands"],tags:[],description:"flag: Marshall Islands",category:"Flags"},{emoji:"🇲🇰",names:["macedonia"],tags:[],description:"flag: North Macedonia",category:"Flags"},{emoji:"🇲🇱",names:["mali"],tags:[],description:"flag: Mali",category:"Flags"},{emoji:"🇲🇲",names:["myanmar"],tags:["burma"],description:"flag: Myanmar (Burma)",category:"Flags"},{emoji:"🇲🇳",names:["mongolia"],tags:[],description:"flag: Mongolia",category:"Flags"},{emoji:"🇲🇴",names:["macau"],tags:[],description:"flag: Macao SAR China",category:"Flags"},{emoji:"🇲🇵",names:["northern_mariana_islands"],tags:[],description:"flag: Northern Mariana Islands",category:"Flags"},{emoji:"🇲🇶",names:["martinique"],tags:[],description:"flag: Martinique",category:"Flags"},{emoji:"🇲🇷",names:["mauritania"],tags:[],description:"flag: Mauritania",category:"Flags"},{emoji:"🇲🇸",names:["montserrat"],tags:[],description:"flag: Montserrat",category:"Flags"},{emoji:"🇲🇹",names:["malta"],tags:[],description:"flag: Malta",category:"Flags"},{emoji:"🇲🇺",names:["mauritius"],tags:[],description:"flag: Mauritius",category:"Flags"},{emoji:"🇲🇻",names:["maldives"],tags:[],description:"flag: Maldives",category:"Flags"},{emoji:"🇲🇼",names:["malawi"],tags:[],description:"flag: Malawi",category:"Flags"},{emoji:"🇲🇽",names:["mexico"],tags:[],description:"flag: Mexico",category:"Flags"},{emoji:"🇲🇾",names:["malaysia"],tags:[],description:"flag: Malaysia",category:"Flags"},{emoji:"🇲🇿",names:["mozambique"],tags:[],description:"flag: Mozambique",category:"Flags"},{emoji:"🇳🇦",names:["namibia"],tags:[],description:"flag: Namibia",category:"Flags"},{emoji:"🇳🇨",names:["new_caledonia"],tags:[],description:"flag: New Caledonia",category:"Flags"},{emoji:"🇳🇪",names:["niger"],tags:[],description:"flag: Niger",category:"Flags"},{emoji:"🇳🇫",names:["norfolk_island"],tags:[],description:"flag: Norfolk Island",category:"Flags"},{emoji:"🇳🇬",names:["nigeria"],tags:[],description:"flag: Nigeria",category:"Flags"},{emoji:"🇳🇮",names:["nicaragua"],tags:[],description:"flag: Nicaragua",category:"Flags"},{emoji:"🇳🇱",names:["netherlands"],tags:[],description:"flag: Netherlands",category:"Flags"},{emoji:"🇳🇴",names:["norway"],tags:[],description:"flag: Norway",category:"Flags"},{emoji:"🇳🇵",names:["nepal"],tags:[],description:"flag: Nepal",category:"Flags"},{emoji:"🇳🇷",names:["nauru"],tags:[],description:"flag: Nauru",category:"Flags"},{emoji:"🇳🇺",names:["niue"],tags:[],description:"flag: Niue",category:"Flags"},{emoji:"🇳🇿",names:["new_zealand"],tags:[],description:"flag: New Zealand",category:"Flags"},{emoji:"🇴🇲",names:["oman"],tags:[],description:"flag: Oman",category:"Flags"},{emoji:"🇵🇦",names:["panama"],tags:[],description:"flag: Panama",category:"Flags"},{emoji:"🇵🇪",names:["peru"],tags:[],description:"flag: Peru",category:"Flags"},{emoji:"🇵🇫",names:["french_polynesia"],tags:[],description:"flag: French Polynesia",category:"Flags"},{emoji:"🇵🇬",names:["papua_new_guinea"],tags:[],description:"flag: Papua New Guinea",category:"Flags"},{emoji:"🇵🇭",names:["philippines"],tags:[],description:"flag: Philippines",category:"Flags"},{emoji:"🇵🇰",names:["pakistan"],tags:[],description:"flag: Pakistan",category:"Flags"},{emoji:"🇵🇱",names:["poland"],tags:[],description:"flag: Poland",category:"Flags"},{emoji:"🇵🇲",names:["st_pierre_miquelon"],tags:[],description:"flag: St. Pierre & Miquelon",category:"Flags"},{emoji:"🇵🇳",names:["pitcairn_islands"],tags:[],description:"flag: Pitcairn Islands",category:"Flags"},{emoji:"🇵🇷",names:["puerto_rico"],tags:[],description:"flag: Puerto Rico",category:"Flags"},{emoji:"🇵🇸",names:["palestinian_territories"],tags:[],description:"flag: Palestinian Territories",category:"Flags"},{emoji:"🇵🇹",names:["portugal"],tags:[],description:"flag: Portugal",category:"Flags"},{emoji:"🇵🇼",names:["palau"],tags:[],description:"flag: Palau",category:"Flags"},{emoji:"🇵🇾",names:["paraguay"],tags:[],description:"flag: Paraguay",category:"Flags"},{emoji:"🇶🇦",names:["qatar"],tags:[],description:"flag: Qatar",category:"Flags"},{emoji:"🇷🇪",names:["reunion"],tags:[],description:"flag: Réunion",category:"Flags"},{emoji:"🇷🇴",names:["romania"],tags:[],description:"flag: Romania",category:"Flags"},{emoji:"🇷🇸",names:["serbia"],tags:[],description:"flag: Serbia",category:"Flags"},{emoji:"🇷🇺",names:["ru"],tags:["russia"],description:"flag: Russia",category:"Flags"},{emoji:"🇷🇼",names:["rwanda"],tags:[],description:"flag: Rwanda",category:"Flags"},{emoji:"🇸🇦",names:["saudi_arabia"],tags:[],description:"flag: Saudi Arabia",category:"Flags"},{emoji:"🇸🇧",names:["solomon_islands"],tags:[],description:"flag: Solomon Islands",category:"Flags"},{emoji:"🇸🇨",names:["seychelles"],tags:[],description:"flag: Seychelles",category:"Flags"},{emoji:"🇸🇩",names:["sudan"],tags:[],description:"flag: Sudan",category:"Flags"},{emoji:"🇸🇪",names:["sweden"],tags:[],description:"flag: Sweden",category:"Flags"},{emoji:"🇸🇬",names:["singapore"],tags:[],description:"flag: Singapore",category:"Flags"},{emoji:"🇸🇭",names:["st_helena"],tags:[],description:"flag: St. Helena",category:"Flags"},{emoji:"🇸🇮",names:["slovenia"],tags:[],description:"flag: Slovenia",category:"Flags"},{emoji:"🇸🇯",names:["svalbard_jan_mayen"],tags:[],description:"flag: Svalbard & Jan Mayen",category:"Flags"},{emoji:"🇸🇰",names:["slovakia"],tags:[],description:"flag: Slovakia",category:"Flags"},{emoji:"🇸🇱",names:["sierra_leone"],tags:[],description:"flag: Sierra Leone",category:"Flags"},{emoji:"🇸🇲",names:["san_marino"],tags:[],description:"flag: San Marino",category:"Flags"},{emoji:"🇸🇳",names:["senegal"],tags:[],description:"flag: Senegal",category:"Flags"},{emoji:"🇸🇴",names:["somalia"],tags:[],description:"flag: Somalia",category:"Flags"},{emoji:"🇸🇷",names:["suriname"],tags:[],description:"flag: Suriname",category:"Flags"},{emoji:"🇸🇸",names:["south_sudan"],tags:[],description:"flag: South Sudan",category:"Flags"},{emoji:"🇸🇹",names:["sao_tome_principe"],tags:[],description:"flag: São Tomé & Príncipe",category:"Flags"},{emoji:"🇸🇻",names:["el_salvador"],tags:[],description:"flag: El Salvador",category:"Flags"},{emoji:"🇸🇽",names:["sint_maarten"],tags:[],description:"flag: Sint Maarten",category:"Flags"},{emoji:"🇸🇾",names:["syria"],tags:[],description:"flag: Syria",category:"Flags"},{emoji:"🇸🇿",names:["swaziland"],tags:[],description:"flag: Eswatini",category:"Flags"},{emoji:"🇹🇦",names:["tristan_da_cunha"],tags:[],description:"flag: Tristan da Cunha",category:"Flags"},{emoji:"🇹🇨",names:["turks_caicos_islands"],tags:[],description:"flag: Turks & Caicos Islands",category:"Flags"},{emoji:"🇹🇩",names:["chad"],tags:[],description:"flag: Chad",category:"Flags"},{emoji:"🇹🇫",names:["french_southern_territories"],tags:[],description:"flag: French Southern Territories",category:"Flags"},{emoji:"🇹🇬",names:["togo"],tags:[],description:"flag: Togo",category:"Flags"},{emoji:"🇹🇭",names:["thailand"],tags:[],description:"flag: Thailand",category:"Flags"},{emoji:"🇹🇯",names:["tajikistan"],tags:[],description:"flag: Tajikistan",category:"Flags"},{emoji:"🇹🇰",names:["tokelau"],tags:[],description:"flag: Tokelau",category:"Flags"},{emoji:"🇹🇱",names:["timor_leste"],tags:[],description:"flag: Timor-Leste",category:"Flags"},{emoji:"🇹🇲",names:["turkmenistan"],tags:[],description:"flag: Turkmenistan",category:"Flags"},{emoji:"🇹🇳",names:["tunisia"],tags:[],description:"flag: Tunisia",category:"Flags"},{emoji:"🇹🇴",names:["tonga"],tags:[],description:"flag: Tonga",category:"Flags"},{emoji:"🇹🇷",names:["tr"],tags:["turkey"],description:"flag: Turkey",category:"Flags"},{emoji:"🇹🇹",names:["trinidad_tobago"],tags:[],description:"flag: Trinidad & Tobago",category:"Flags"},{emoji:"🇹🇻",names:["tuvalu"],tags:[],description:"flag: Tuvalu",category:"Flags"},{emoji:"🇹🇼",names:["taiwan"],tags:[],description:"flag: Taiwan",category:"Flags"},{emoji:"🇹🇿",names:["tanzania"],tags:[],description:"flag: Tanzania",category:"Flags"},{emoji:"🇺🇦",names:["ukraine"],tags:[],description:"flag: Ukraine",category:"Flags"},{emoji:"🇺🇬",names:["uganda"],tags:[],description:"flag: Uganda",category:"Flags"},{emoji:"🇺🇲",names:["us_outlying_islands"],tags:[],description:"flag: U.S. Outlying Islands",category:"Flags"},{emoji:"🇺🇳",names:["united_nations"],tags:[],description:"flag: United Nations",category:"Flags"},{emoji:"🇺🇸",names:["us"],tags:["flag","united","america"],description:"flag: United States",category:"Flags"},{emoji:"🇺🇾",names:["uruguay"],tags:[],description:"flag: Uruguay",category:"Flags"},{emoji:"🇺🇿",names:["uzbekistan"],tags:[],description:"flag: Uzbekistan",category:"Flags"},{emoji:"🇻🇦",names:["vatican_city"],tags:[],description:"flag: Vatican City",category:"Flags"},{emoji:"🇻🇨",names:["st_vincent_grenadines"],tags:[],description:"flag: St. Vincent & Grenadines",category:"Flags"},{emoji:"🇻🇪",names:["venezuela"],tags:[],description:"flag: Venezuela",category:"Flags"},{emoji:"🇻🇬",names:["british_virgin_islands"],tags:[],description:"flag: British Virgin Islands",category:"Flags"},{emoji:"🇻🇮",names:["us_virgin_islands"],tags:[],description:"flag: U.S. Virgin Islands",category:"Flags"},{emoji:"🇻🇳",names:["vietnam"],tags:[],description:"flag: Vietnam",category:"Flags"},{emoji:"🇻🇺",names:["vanuatu"],tags:[],description:"flag: Vanuatu",category:"Flags"},{emoji:"🇼🇫",names:["wallis_futuna"],tags:[],description:"flag: Wallis & Futuna",category:"Flags"},{emoji:"🇼🇸",names:["samoa"],tags:[],description:"flag: Samoa",category:"Flags"},{emoji:"🇽🇰",names:["kosovo"],tags:[],description:"flag: Kosovo",category:"Flags"},{emoji:"🇾🇪",names:["yemen"],tags:[],description:"flag: Yemen",category:"Flags"},{emoji:"🇾🇹",names:["mayotte"],tags:[],description:"flag: Mayotte",category:"Flags"},{emoji:"🇿🇦",names:["south_africa"],tags:[],description:"flag: South Africa",category:"Flags"},{emoji:"🇿🇲",names:["zambia"],tags:[],description:"flag: Zambia",category:"Flags"},{emoji:"🇿🇼",names:["zimbabwe"],tags:[],description:"flag: Zimbabwe",category:"Flags"},{emoji:"🏴󠁧󠁢󠁥󠁮󠁧󠁿",names:["england"],tags:[],description:"flag: England",category:"Flags"},{emoji:"🏴󠁧󠁢󠁳󠁣󠁴󠁿",names:["scotland"],tags:[],description:"flag: Scotland",category:"Flags"},{emoji:"🏴󠁧󠁢󠁷󠁬󠁳󠁿",names:["wales"],tags:[],description:"flag: Wales",category:"Flags"}];function OA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/EmojiPicker.vue",C="dec39a312ac6caa608c9cc7acf57d8f5826e4edb",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/EmojiPicker.vue",statementMap:{0:{start:{line:4,column:18},end:{line:46,column:1}},1:{start:{line:10,column:4},end:{line:13,column:5}},2:{start:{line:17,column:6},end:{line:22,column:12}},3:{start:{line:18,column:8},end:{line:20,column:9}},4:{start:{line:19,column:10},end:{line:19,column:34}},5:{start:{line:21,column:8},end:{line:21,column:18}},6:{start:{line:26,column:4},end:{line:26,column:50}},7:{start:{line:29,column:4},end:{line:29,column:53}},8:{start:{line:33,column:6},end:{line:34,column:55}},9:{start:{line:34,column:27},end:{line:34,column:54}},10:{start:{line:37,column:6},end:{line:37,column:45}},11:{start:{line:38,column:6},end:{line:38,column:25}},12:{start:{line:41,column:6},end:{line:43,column:7}},13:{start:{line:42,column:8},end:{line:42,column:27}},14:{start:{line:50,column:32},end:{line:53,column:12}},15:{start:{line:54,column:19},end:{line:56,column:1}},16:{start:{line:57,column:19},end:{line:60,column:1}},17:{start:{line:61,column:19},end:{line:61,column:111}},18:{start:{line:62,column:19},end:{line:62,column:39}},19:{start:{line:65,column:32},end:{line:65,column:63}},20:{start:{line:66,column:28},end:{line:66,column:55}},21:{start:{line:68,column:2},end:{line:103,column:9}},22:{start:{line:73,column:54},end:{line:73,column:73}},23:{start:{line:77,column:34},end:{line:100,column:11}},24:{start:{line:79,column:14},end:{line:98,column:34}},25:{start:{line:84,column:40},end:{line:96,column:17}},26:{start:{line:87,column:22},end:{line:93,column:71}},27:{start:{line:92,column:59},end:{line:92,column:90}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:9,column:2},end:{line:9,column:3}},loc:{start:{line:9,column:10},end:{line:14,column:3}},line:9},1:{name:"(anonymous_1)",decl:{start:{line:16,column:4},end:{line:16,column:5}},loc:{start:{line:16,column:18},end:{line:23,column:5}},line:16},2:{name:"(anonymous_2)",decl:{start:{line:17,column:27},end:{line:17,column:28}},loc:{start:{line:17,column:49},end:{line:22,column:7}},line:17},3:{name:"(anonymous_3)",decl:{start:{line:25,column:2},end:{line:25,column:3}},loc:{start:{line:25,column:13},end:{line:27,column:3}},line:25},4:{name:"(anonymous_4)",decl:{start:{line:28,column:2},end:{line:28,column:3}},loc:{start:{line:28,column:19},end:{line:30,column:3}},line:28},5:{name:"(anonymous_5)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:34},end:{line:35,column:5}},line:32},6:{name:"(anonymous_6)",decl:{start:{line:34,column:16},end:{line:34,column:17}},loc:{start:{line:34,column:27},end:{line:34,column:54}},line:34},7:{name:"(anonymous_7)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:28},end:{line:39,column:5}},line:36},8:{name:"(anonymous_8)",decl:{start:{line:40,column:4},end:{line:40,column:5}},loc:{start:{line:40,column:20},end:{line:44,column:5}},line:40},9:{name:"_sfc_render",decl:{start:{line:64,column:9},end:{line:64,column:20}},loc:{start:{line:64,column:68},end:{line:104,column:1}},line:64},10:{name:"(anonymous_10)",decl:{start:{line:73,column:43},end:{line:73,column:44}},loc:{start:{line:73,column:54},end:{line:73,column:73}},line:73},11:{name:"(anonymous_11)",decl:{start:{line:77,column:28},end:{line:77,column:29}},loc:{start:{line:77,column:34},end:{line:100,column:11}},line:77},12:{name:"(anonymous_12)",decl:{start:{line:78,column:101},end:{line:78,column:102}},loc:{start:{line:78,column:115},end:{line:99,column:13}},line:78},13:{name:"(anonymous_13)",decl:{start:{line:84,column:34},end:{line:84,column:35}},loc:{start:{line:84,column:40},end:{line:96,column:17}},line:84},14:{name:"(anonymous_14)",decl:{start:{line:86,column:127},end:{line:86,column:128}},loc:{start:{line:86,column:138},end:{line:94,column:21}},line:86},15:{name:"(anonymous_15)",decl:{start:{line:92,column:48},end:{line:92,column:49}},loc:{start:{line:92,column:59},end:{line:92,column:90}},line:92}},branchMap:{0:{loc:{start:{line:18,column:8},end:{line:20,column:9}},type:"if",locations:[{start:{line:18,column:8},end:{line:20,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:18},1:{loc:{start:{line:41,column:6},end:{line:43,column:7}},type:"if",locations:[{start:{line:41,column:6},end:{line:43,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},2:{loc:{start:{line:41,column:10},end:{line:41,column:60}},type:"binary-expr",locations:[{start:{line:41,column:10},end:{line:41,column:21}},{start:{line:41,column:26},end:{line:41,column:42}},{start:{line:41,column:46},end:{line:41,column:59}}],line:41},3:{loc:{start:{line:68,column:9},end:{line:103,column:9}},type:"cond-expr",locations:[{start:{line:69,column:7},end:{line:74,column:20}},{start:{line:75,column:7},end:{line:103,column:8}}],line:68},4:{loc:{start:{line:73,column:17},end:{line:73,column:75}},type:"binary-expr",locations:[{start:{line:73,column:17},end:{line:73,column:26}},{start:{line:73,column:31},end:{line:73,column:74}}],line:73}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0},b:{0:[0,0],1:[0,0],2:[0,0,0],3:[0,0],4:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/EmojiPicker.vue"],names:[],mappings:";AAcA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE9B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACnB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAChB,CAAC;EACD,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACN,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;MACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACpB;EACF,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACZ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACzC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB;QACA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACX,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;EACH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/C,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAClD,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACtB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACtC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;MACd,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;MACpB;IACF,CAAC;EACH,CAAC;AACH;;;;gCAzDmJ,oBAA8C;EAA3C,KAAK,EAAC,eAAe;EAAC,aAAW,EAAC,MAAM;;;EAA3C,UAA8C;;;EADjM,KAAA;EAEgB,KAAK,EAAC,kBAAkB;;qBAG3B,KAAK,EAAC,iFAAiF;mBALpG;;;;;;WACiB,YAAM;qBAArB,oBAAwM;QAD1M,KAAA;QACyB,KAAK,EAAC,oEAAoE;QAAC,KAAK,EAAC,iBAAiB;QAAE,OAAK,uCAAE,YAAM;SAD1I;qBAEE,oBAQQ,SARR,UAQQ;QAPN,aAMS;UATb,kBAIkB,CAA8B;+BAA1C,oBAIa,iBARnB,YAIqC,mBAAU,EAJ/C,CAIyB,QAAQ;oCAA3B,aAIa;gBAJ+B,GAAG,EAAE,QAAQ;gBAAG,KAAK,EAAE,QAAQ;gBAAE,KAAK,EAAC,qBAAqB;;gBAJ9G,kBAKQ,CAEM;kBAFN,oBAEM,OAFN,UAEM;uCADJ,oBAAiM,iBAN3M,YAM6B,2BAAkB,CAAC,QAAQ,GANxD,CAMoB,KAAK;4CAAf,oBAAiM;wBAA/I,GAAG,EAAE,KAAK,CAAC,KAAK;wBAAE,IAAI,EAAC,GAAG;wBAAE,KAAK,EAAE,KAAK,CAAC,WAAW;wBAAE,KAAK,EAAC,qBAAqB;wBAAE,OAAK,EANpJ,0BAM8J,wBAAe,CAAC,KAAK;0CAAM,KAAK,CAAC,KAAK,MANpM;;;;gBAAA,GAAA;;;;UAAA,GAAA"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dec39a312ac6caa608c9cc7acf57d8f5826e4edb"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return OA=function(){return s},s}OA();const tB=(OA().s[0]++,{name:"EmojiPicker",emits:["emoji-picked"],data(){return OA().f[0]++,OA().s[1]++,{isOpen:!1,activeCategory:""}},computed:{categories(){return OA().f[1]++,OA().s[2]++,Pm.reduce(function(A,C){return OA().f[2]++,OA().s[3]++,A.includes(C.category)?OA().b[0][1]++:(OA().b[0][0]++,OA().s[4]++,A.push(C.category)),OA().s[5]++,A},[])}},created(){OA().f[3]++,OA().s[6]++,document.addEventListener("keyup",this.keyUp)},beforeUnmount(){OA().f[4]++,OA().s[7]++,document.removeEventListener("keyup",this.keyUp)},methods:{getEmojiByCategory(A){return OA().f[5]++,OA().s[8]++,Pm.filter(C=>(OA().f[6]++,OA().s[9]++,C.category===A))},sendEmojiPicked(A){OA().f[7]++,OA().s[10]++,this.$emit("emoji-picked",A.emoji),OA().s[11]++,this.isOpen=!1},keyUp({key:A}){OA().f[8]++,OA().s[12]++,OA().b[2][0]++,this.isOpen&&(OA().b[2][1]++,A==="Escape"||(OA().b[2][2]++,A==="Esc"))?(OA().b[1][0]++,OA().s[13]++,this.isOpen=!1):OA().b[1][1]++}}}),iB=(OA().s[14]++,b("i",{class:"fa fa-smile-o","aria-hidden":"true"},null,-1)),sB=(OA().s[15]++,[iB]),oB=(OA().s[16]++,{key:1,class:"emojiPicker px-0"}),lB=(OA().s[17]++,{class:"is-flex is-flex-wrap-wrap is-align-content-flex-start is-full-height-scrollable"}),aB=(OA().s[18]++,["title","onClick"]);function rB(A,C,e,n,t,i){OA().f[9]++;const s=(OA().s[19]++,AA("o-tab-item")),o=(OA().s[20]++,AA("o-tabs"));return OA().s[21]++,t.isOpen?(OA().b[3][1]++,h(),Q("aside",oB,[S(o,null,{default:_A(()=>(OA().f[11]++,OA().s[23]++,[(h(!0),Q(hA,null,XA(i.categories,l=>(OA().f[12]++,OA().s[24]++,h(),B(s,{key:l,label:l,class:"is-full-height mb-5"},{default:_A(()=>(OA().f[13]++,OA().s[25]++,[b("div",lB,[(h(!0),Q(hA,null,XA(i.getEmojiByCategory(l),a=>(OA().f[14]++,OA().s[26]++,h(),Q("a",{key:a.emoji,href:"#",title:a.description,class:"emoji is-size-5 p-1",onClick:MA(r=>(OA().f[15]++,OA().s[27]++,i.sendEmojiPicked(a)),["prevent"])},sA(a.emoji),9,aB))),128))])])),_:2},1032,["label"]))),128))])),_:1})])):(OA().b[3][0]++,h(),Q("button",{key:0,class:"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3",title:"Choose an emoji",onClick:(OA().b[4][0]++,C[0]||(OA().b[4][1]++,C[0]=l=>(OA().f[10]++,OA().s[22]++,t.isOpen=!0)))},sB))}const cB=mC(tB,[["render",rB]]);function of(A,C){return function(){return A.apply(C,arguments)}}const{toString:uB}=Object.prototype,{getPrototypeOf:Wr}=Object,Fo=(A=>C=>{const e=uB.call(C);return A[e]||(A[e]=e.slice(8,-1).toLowerCase())})(Object.create(null)),ke=A=>(A=A.toLowerCase(),C=>Fo(C)===A),To=A=>C=>typeof C===A,{isArray:wt}=Array,hi=To("undefined");function mB(A){return A!==null&&!hi(A)&&A.constructor!==null&&!hi(A.constructor)&&pe(A.constructor.isBuffer)&&A.constructor.isBuffer(A)}const lf=ke("ArrayBuffer");function dB(A){let C;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?C=ArrayBuffer.isView(A):C=A&&A.buffer&&lf(A.buffer),C}const pB=To("string"),pe=To("function"),af=To("number"),No=A=>A!==null&&typeof A=="object",fB=A=>A===!0||A===!1,bs=A=>{if(Fo(A)!=="object")return!1;const C=Wr(A);return(C===null||C===Object.prototype||Object.getPrototypeOf(C)===null)&&!(Symbol.toStringTag in A)&&!(Symbol.iterator in A)},hB=ke("Date"),gB=ke("File"),bB=ke("Blob"),EB=ke("FileList"),yB=A=>No(A)&&pe(A.pipe),vB=A=>{let C;return A&&(typeof FormData=="function"&&A instanceof FormData||pe(A.append)&&((C=Fo(A))==="formdata"||C==="object"&&pe(A.toString)&&A.toString()==="[object FormData]"))},wB=ke("URLSearchParams"),[BB,SB,kB,_B]=["ReadableStream","Request","Response","Headers"].map(ke),xB=A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ji(A,C,{allOwnKeys:e=!1}={}){if(A===null||typeof A>"u")return;let n,t;if(typeof A!="object"&&(A=[A]),wt(A))for(n=0,t=A.length;n<t;n++)C.call(null,A[n],n,A);else{const i=e?Object.getOwnPropertyNames(A):Object.keys(A),s=i.length;let o;for(n=0;n<s;n++)o=i[n],C.call(null,A[o],o,A)}}function rf(A,C){C=C.toLowerCase();const e=Object.keys(A);let n=e.length,t;for(;n-- >0;)if(t=e[n],C===t.toLowerCase())return t;return null}const cf=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),uf=A=>!hi(A)&&A!==cf;function ha(){const{caseless:A}=uf(this)&&this||{},C={},e=(n,t)=>{const i=A&&rf(C,t)||t;bs(C[i])&&bs(n)?C[i]=ha(C[i],n):bs(n)?C[i]=ha({},n):wt(n)?C[i]=n.slice():C[i]=n};for(let n=0,t=arguments.length;n<t;n++)arguments[n]&&ji(arguments[n],e);return C}const jB=(A,C,e,{allOwnKeys:n}={})=>(ji(C,(t,i)=>{e&&pe(t)?A[i]=of(t,e):A[i]=t},{allOwnKeys:n}),A),IB=A=>(A.charCodeAt(0)===65279&&(A=A.slice(1)),A),MB=(A,C,e,n)=>{A.prototype=Object.create(C.prototype,n),A.prototype.constructor=A,Object.defineProperty(A,"super",{value:C.prototype}),e&&Object.assign(A.prototype,e)},DB=(A,C,e,n)=>{let t,i,s;const o={};if(C=C||{},A==null)return C;do{for(t=Object.getOwnPropertyNames(A),i=t.length;i-- >0;)s=t[i],(!n||n(s,A,C))&&!o[s]&&(C[s]=A[s],o[s]=!0);A=e!==!1&&Wr(A)}while(A&&(!e||e(A,C))&&A!==Object.prototype);return C},PB=(A,C,e)=>{A=String(A),(e===void 0||e>A.length)&&(e=A.length),e-=C.length;const n=A.indexOf(C,e);return n!==-1&&n===e},OB=A=>{if(!A)return null;if(wt(A))return A;let C=A.length;if(!af(C))return null;const e=new Array(C);for(;C-- >0;)e[C]=A[C];return e},LB=(A=>C=>A&&C instanceof A)(typeof Uint8Array<"u"&&Wr(Uint8Array)),KB=(A,C)=>{const n=(A&&A[Symbol.iterator]).call(A);let t;for(;(t=n.next())&&!t.done;){const i=t.value;C.call(A,i[0],i[1])}},FB=(A,C)=>{let e;const n=[];for(;(e=A.exec(C))!==null;)n.push(e);return n},TB=ke("HTMLFormElement"),NB=A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,n,t){return n.toUpperCase()+t}),Om=(({hasOwnProperty:A})=>(C,e)=>A.call(C,e))(Object.prototype),$B=ke("RegExp"),mf=(A,C)=>{const e=Object.getOwnPropertyDescriptors(A),n={};ji(e,(t,i)=>{let s;(s=C(t,i,A))!==!1&&(n[i]=s||t)}),Object.defineProperties(A,n)},RB=A=>{mf(A,(C,e)=>{if(pe(A)&&["arguments","caller","callee"].indexOf(e)!==-1)return!1;const n=A[e];if(pe(n)){if(C.enumerable=!1,"writable"in C){C.writable=!1;return}C.set||(C.set=()=>{throw Error("Can not rewrite read-only method '"+e+"'")})}})},GB=(A,C)=>{const e={},n=t=>{t.forEach(i=>{e[i]=!0})};return wt(A)?n(A):n(String(A).split(C)),e},UB=()=>{},QB=(A,C)=>A!=null&&Number.isFinite(A=+A)?A:C,bl="abcdefghijklmnopqrstuvwxyz",Lm="0123456789",df={DIGIT:Lm,ALPHA:bl,ALPHA_DIGIT:bl+bl.toUpperCase()+Lm},HB=(A=16,C=df.ALPHA_DIGIT)=>{let e="";const{length:n}=C;for(;A--;)e+=C[Math.random()*n|0];return e};function VB(A){return!!(A&&pe(A.append)&&A[Symbol.toStringTag]==="FormData"&&A[Symbol.iterator])}const zB=A=>{const C=new Array(10),e=(n,t)=>{if(No(n)){if(C.indexOf(n)>=0)return;if(!("toJSON"in n)){C[t]=n;const i=wt(n)?[]:{};return ji(n,(s,o)=>{const l=e(s,t+1);!hi(l)&&(i[o]=l)}),C[t]=void 0,i}}return n};return e(A,0)},qB=ke("AsyncFunction"),WB=A=>A&&(No(A)||pe(A))&&pe(A.then)&&pe(A.catch),G={isArray:wt,isArrayBuffer:lf,isBuffer:mB,isFormData:vB,isArrayBufferView:dB,isString:pB,isNumber:af,isBoolean:fB,isObject:No,isPlainObject:bs,isReadableStream:BB,isRequest:SB,isResponse:kB,isHeaders:_B,isUndefined:hi,isDate:hB,isFile:gB,isBlob:bB,isRegExp:$B,isFunction:pe,isStream:yB,isURLSearchParams:wB,isTypedArray:LB,isFileList:EB,forEach:ji,merge:ha,extend:jB,trim:xB,stripBOM:IB,inherits:MB,toFlatObject:DB,kindOf:Fo,kindOfTest:ke,endsWith:PB,toArray:OB,forEachEntry:KB,matchAll:FB,isHTMLForm:TB,hasOwnProperty:Om,hasOwnProp:Om,reduceDescriptors:mf,freezeMethods:RB,toObjectSet:GB,toCamelCase:NB,noop:UB,toFiniteNumber:QB,findKey:rf,global:cf,isContextDefined:uf,ALPHABET:df,generateString:HB,isSpecCompliantForm:VB,toJSONObject:zB,isAsyncFn:qB,isThenable:WB};function JA(A,C,e,n,t){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=A,this.name="AxiosError",C&&(this.code=C),e&&(this.config=e),n&&(this.request=n),t&&(this.response=t)}G.inherits(JA,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:G.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const pf=JA.prototype,ff={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(A=>{ff[A]={value:A}});Object.defineProperties(JA,ff);Object.defineProperty(pf,"isAxiosError",{value:!0});JA.from=(A,C,e,n,t,i)=>{const s=Object.create(pf);return G.toFlatObject(A,s,function(l){return l!==Error.prototype},o=>o!=="isAxiosError"),JA.call(s,A.message,C,e,n,t),s.cause=A,s.name=A.name,i&&Object.assign(s,i),s};const YB=null;function ga(A){return G.isPlainObject(A)||G.isArray(A)}function hf(A){return G.endsWith(A,"[]")?A.slice(0,-2):A}function Km(A,C,e){return A?A.concat(C).map(function(t,i){return t=hf(t),!e&&i?"["+t+"]":t}).join(e?".":""):C}function JB(A){return G.isArray(A)&&!A.some(ga)}const XB=G.toFlatObject(G,{},null,function(C){return/^is[A-Z]/.test(C)});function $o(A,C,e){if(!G.isObject(A))throw new TypeError("target must be an object");C=C||new FormData,e=G.toFlatObject(e,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,k){return!G.isUndefined(k[y])});const n=e.metaTokens,t=e.visitor||r,i=e.dots,s=e.indexes,l=(e.Blob||typeof Blob<"u"&&Blob)&&G.isSpecCompliantForm(C);if(!G.isFunction(t))throw new TypeError("visitor must be a function");function a(g){if(g===null)return"";if(G.isDate(g))return g.toISOString();if(!l&&G.isBlob(g))throw new JA("Blob is not supported. Use a Buffer instead.");return G.isArrayBuffer(g)||G.isTypedArray(g)?l&&typeof Blob=="function"?new Blob([g]):Buffer.from(g):g}function r(g,y,k){let _=g;if(g&&!k&&typeof g=="object"){if(G.endsWith(y,"{}"))y=n?y:y.slice(0,-2),g=JSON.stringify(g);else if(G.isArray(g)&&JB(g)||(G.isFileList(g)||G.endsWith(y,"[]"))&&(_=G.toArray(g)))return y=hf(y),_.forEach(function(F,J){!(G.isUndefined(F)||F===null)&&C.append(s===!0?Km([y],J,i):s===null?y:y+"[]",a(F))}),!1}return ga(g)?!0:(C.append(Km(k,y,i),a(g)),!1)}const p=[],d=Object.assign(XB,{defaultVisitor:r,convertValue:a,isVisitable:ga});function m(g,y){if(!G.isUndefined(g)){if(p.indexOf(g)!==-1)throw Error("Circular reference detected in "+y.join("."));p.push(g),G.forEach(g,function(_,R){(!(G.isUndefined(_)||_===null)&&t.call(C,_,G.isString(R)?R.trim():R,y,d))===!0&&m(_,y?y.concat(R):[R])}),p.pop()}}if(!G.isObject(A))throw new TypeError("data must be an object");return m(A),C}function Fm(A){const C={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,function(n){return C[n]})}function Yr(A,C){this._pairs=[],A&&$o(A,this,C)}const gf=Yr.prototype;gf.append=function(C,e){this._pairs.push([C,e])};gf.toString=function(C){const e=C?function(n){return C.call(this,n,Fm)}:Fm;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};function ZB(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function bf(A,C,e){if(!C)return A;const n=e&&e.encode||ZB,t=e&&e.serialize;let i;if(t?i=t(C,e):i=G.isURLSearchParams(C)?C.toString():new Yr(C,e).toString(n),i){const s=A.indexOf("#");s!==-1&&(A=A.slice(0,s)),A+=(A.indexOf("?")===-1?"?":"&")+i}return A}class AS{constructor(){this.handlers=[]}use(C,e,n){return this.handlers.push({fulfilled:C,rejected:e,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(C){this.handlers[C]&&(this.handlers[C]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(C){G.forEach(this.handlers,function(n){n!==null&&C(n)})}}const Tm=AS,Ef={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},CS=typeof URLSearchParams<"u"?URLSearchParams:Yr,eS=typeof FormData<"u"?FormData:null,nS=typeof Blob<"u"?Blob:null,tS={isBrowser:!0,classes:{URLSearchParams:CS,FormData:eS,Blob:nS},protocols:["http","https","file","blob","url","data"]},Jr=typeof window<"u"&&typeof document<"u",iS=(A=>Jr&&["ReactNative","NativeScript","NS"].indexOf(A)<0)(typeof navigator<"u"&&navigator.product),sS=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),oS=Jr&&window.location.href||"http://localhost",lS=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Jr,hasStandardBrowserEnv:iS,hasStandardBrowserWebWorkerEnv:sS,origin:oS},Symbol.toStringTag,{value:"Module"})),Ee={...lS,...tS};function aS(A,C){return $o(A,new Ee.classes.URLSearchParams,Object.assign({visitor:function(e,n,t,i){return Ee.isNode&&G.isBuffer(e)?(this.append(n,e.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},C))}function rS(A){return G.matchAll(/\w+|\[(\w*)]/g,A).map(C=>C[0]==="[]"?"":C[1]||C[0])}function cS(A){const C={},e=Object.keys(A);let n;const t=e.length;let i;for(n=0;n<t;n++)i=e[n],C[i]=A[i];return C}function yf(A){function C(e,n,t,i){let s=e[i++];if(s==="__proto__")return!0;const o=Number.isFinite(+s),l=i>=e.length;return s=!s&&G.isArray(t)?t.length:s,l?(G.hasOwnProp(t,s)?t[s]=[t[s],n]:t[s]=n,!o):((!t[s]||!G.isObject(t[s]))&&(t[s]=[]),C(e,n,t[s],i)&&G.isArray(t[s])&&(t[s]=cS(t[s])),!o)}if(G.isFormData(A)&&G.isFunction(A.entries)){const e={};return G.forEachEntry(A,(n,t)=>{C(rS(n),t,e,0)}),e}return null}function uS(A,C,e){if(G.isString(A))try{return(C||JSON.parse)(A),G.trim(A)}catch(n){if(n.name!=="SyntaxError")throw n}return(e||JSON.stringify)(A)}const Xr={transitional:Ef,adapter:["xhr","http","fetch"],transformRequest:[function(C,e){const n=e.getContentType()||"",t=n.indexOf("application/json")>-1,i=G.isObject(C);if(i&&G.isHTMLForm(C)&&(C=new FormData(C)),G.isFormData(C))return t?JSON.stringify(yf(C)):C;if(G.isArrayBuffer(C)||G.isBuffer(C)||G.isStream(C)||G.isFile(C)||G.isBlob(C)||G.isReadableStream(C))return C;if(G.isArrayBufferView(C))return C.buffer;if(G.isURLSearchParams(C))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),C.toString();let o;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return aS(C,this.formSerializer).toString();if((o=G.isFileList(C))||n.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return $o(o?{"files[]":C}:C,l&&new l,this.formSerializer)}}return i||t?(e.setContentType("application/json",!1),uS(C)):C}],transformResponse:[function(C){const e=this.transitional||Xr.transitional,n=e&&e.forcedJSONParsing,t=this.responseType==="json";if(G.isResponse(C)||G.isReadableStream(C))return C;if(C&&G.isString(C)&&(n&&!this.responseType||t)){const s=!(e&&e.silentJSONParsing)&&t;try{return JSON.parse(C)}catch(o){if(s)throw o.name==="SyntaxError"?JA.from(o,JA.ERR_BAD_RESPONSE,this,null,this.response):o}}return C}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ee.classes.FormData,Blob:Ee.classes.Blob},validateStatus:function(C){return C>=200&&C<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};G.forEach(["delete","get","head","post","put","patch"],A=>{Xr.headers[A]={}});const Zr=Xr,mS=G.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),dS=A=>{const C={};let e,n,t;return A&&A.split(` -`).forEach(function(s){t=s.indexOf(":"),e=s.substring(0,t).trim().toLowerCase(),n=s.substring(t+1).trim(),!(!e||C[e]&&mS[e])&&(e==="set-cookie"?C[e]?C[e].push(n):C[e]=[n]:C[e]=C[e]?C[e]+", "+n:n)}),C},Nm=Symbol("internals");function Mt(A){return A&&String(A).trim().toLowerCase()}function Es(A){return A===!1||A==null?A:G.isArray(A)?A.map(Es):String(A)}function pS(A){const C=Object.create(null),e=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=e.exec(A);)C[n[1]]=n[2];return C}const fS=A=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim());function El(A,C,e,n,t){if(G.isFunction(n))return n.call(this,C,e);if(t&&(C=e),!!G.isString(C)){if(G.isString(n))return C.indexOf(n)!==-1;if(G.isRegExp(n))return n.test(C)}}function hS(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(C,e,n)=>e.toUpperCase()+n)}function gS(A,C){const e=G.toCamelCase(" "+C);["get","set","has"].forEach(n=>{Object.defineProperty(A,n+e,{value:function(t,i,s){return this[n].call(this,C,t,i,s)},configurable:!0})})}class Ro{constructor(C){C&&this.set(C)}set(C,e,n){const t=this;function i(o,l,a){const r=Mt(l);if(!r)throw new Error("header name must be a non-empty string");const p=G.findKey(t,r);(!p||t[p]===void 0||a===!0||a===void 0&&t[p]!==!1)&&(t[p||l]=Es(o))}const s=(o,l)=>G.forEach(o,(a,r)=>i(a,r,l));if(G.isPlainObject(C)||C instanceof this.constructor)s(C,e);else if(G.isString(C)&&(C=C.trim())&&!fS(C))s(dS(C),e);else if(G.isHeaders(C))for(const[o,l]of C.entries())i(l,o,n);else C!=null&&i(e,C,n);return this}get(C,e){if(C=Mt(C),C){const n=G.findKey(this,C);if(n){const t=this[n];if(!e)return t;if(e===!0)return pS(t);if(G.isFunction(e))return e.call(this,t,n);if(G.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(C,e){if(C=Mt(C),C){const n=G.findKey(this,C);return!!(n&&this[n]!==void 0&&(!e||El(this,this[n],n,e)))}return!1}delete(C,e){const n=this;let t=!1;function i(s){if(s=Mt(s),s){const o=G.findKey(n,s);o&&(!e||El(n,n[o],o,e))&&(delete n[o],t=!0)}}return G.isArray(C)?C.forEach(i):i(C),t}clear(C){const e=Object.keys(this);let n=e.length,t=!1;for(;n--;){const i=e[n];(!C||El(this,this[i],i,C,!0))&&(delete this[i],t=!0)}return t}normalize(C){const e=this,n={};return G.forEach(this,(t,i)=>{const s=G.findKey(n,i);if(s){e[s]=Es(t),delete e[i];return}const o=C?hS(i):String(i).trim();o!==i&&delete e[i],e[o]=Es(t),n[o]=!0}),this}concat(...C){return this.constructor.concat(this,...C)}toJSON(C){const e=Object.create(null);return G.forEach(this,(n,t)=>{n!=null&&n!==!1&&(e[t]=C&&G.isArray(n)?n.join(", "):n)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([C,e])=>C+": "+e).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(C){return C instanceof this?C:new this(C)}static concat(C,...e){const n=new this(C);return e.forEach(t=>n.set(t)),n}static accessor(C){const n=(this[Nm]=this[Nm]={accessors:{}}).accessors,t=this.prototype;function i(s){const o=Mt(s);n[o]||(gS(t,s),n[o]=!0)}return G.isArray(C)?C.forEach(i):i(C),this}}Ro.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);G.reduceDescriptors(Ro.prototype,({value:A},C)=>{let e=C[0].toUpperCase()+C.slice(1);return{get:()=>A,set(n){this[e]=n}}});G.freezeMethods(Ro);const ye=Ro;function yl(A,C){const e=this||Zr,n=C||e,t=ye.from(n.headers);let i=n.data;return G.forEach(A,function(o){i=o.call(e,i,t.normalize(),C?C.status:void 0)}),t.normalize(),i}function vf(A){return!!(A&&A.__CANCEL__)}function Bt(A,C,e){JA.call(this,A??"canceled",JA.ERR_CANCELED,C,e),this.name="CanceledError"}G.inherits(Bt,JA,{__CANCEL__:!0});function wf(A,C,e){const n=e.config.validateStatus;!e.status||!n||n(e.status)?A(e):C(new JA("Request failed with status code "+e.status,[JA.ERR_BAD_REQUEST,JA.ERR_BAD_RESPONSE][Math.floor(e.status/100)-4],e.config,e.request,e))}function bS(A){const C=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return C&&C[1]||""}function ES(A,C){A=A||10;const e=new Array(A),n=new Array(A);let t=0,i=0,s;return C=C!==void 0?C:1e3,function(l){const a=Date.now(),r=n[i];s||(s=a),e[t]=l,n[t]=a;let p=i,d=0;for(;p!==t;)d+=e[p++],p=p%A;if(t=(t+1)%A,t===i&&(i=(i+1)%A),a-s<C)return;const m=r&&a-r;return m?Math.round(d*1e3/m):void 0}}function yS(A,C){let e=0;const n=1e3/C;let t=null;return function(){const s=this===!0,o=Date.now();if(s||o-e>n)return t&&(clearTimeout(t),t=null),e=o,A.apply(null,arguments);t||(t=setTimeout(()=>(t=null,e=Date.now(),A.apply(null,arguments)),n-(o-e)))}}const Ys=(A,C,e=3)=>{let n=0;const t=ES(50,250);return yS(i=>{const s=i.loaded,o=i.lengthComputable?i.total:void 0,l=s-n,a=t(l),r=s<=o;n=s;const p={loaded:s,total:o,progress:o?s/o:void 0,bytes:l,rate:a||void 0,estimated:a&&o&&r?(o-s)/a:void 0,event:i,lengthComputable:o!=null};p[C?"download":"upload"]=!0,A(p)},e)},vS=Ee.hasStandardBrowserEnv?function(){const C=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function t(i){let s=i;return C&&(e.setAttribute("href",s),s=e.href),e.setAttribute("href",s),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:e.pathname.charAt(0)==="/"?e.pathname:"/"+e.pathname}}return n=t(window.location.href),function(s){const o=G.isString(s)?t(s):s;return o.protocol===n.protocol&&o.host===n.host}}():function(){return function(){return!0}}(),wS=Ee.hasStandardBrowserEnv?{write(A,C,e,n,t,i){const s=[A+"="+encodeURIComponent(C)];G.isNumber(e)&&s.push("expires="+new Date(e).toGMTString()),G.isString(n)&&s.push("path="+n),G.isString(t)&&s.push("domain="+t),i===!0&&s.push("secure"),document.cookie=s.join("; ")},read(A){const C=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return C?decodeURIComponent(C[3]):null},remove(A){this.write(A,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function BS(A){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(A)}function SS(A,C){return C?A.replace(/\/?\/$/,"")+"/"+C.replace(/^\/+/,""):A}function Bf(A,C){return A&&!BS(C)?SS(A,C):C}const $m=A=>A instanceof ye?{...A}:A;function Un(A,C){C=C||{};const e={};function n(a,r,p){return G.isPlainObject(a)&&G.isPlainObject(r)?G.merge.call({caseless:p},a,r):G.isPlainObject(r)?G.merge({},r):G.isArray(r)?r.slice():r}function t(a,r,p){if(G.isUndefined(r)){if(!G.isUndefined(a))return n(void 0,a,p)}else return n(a,r,p)}function i(a,r){if(!G.isUndefined(r))return n(void 0,r)}function s(a,r){if(G.isUndefined(r)){if(!G.isUndefined(a))return n(void 0,a)}else return n(void 0,r)}function o(a,r,p){if(p in C)return n(a,r);if(p in A)return n(void 0,a)}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:o,headers:(a,r)=>t($m(a),$m(r),!0)};return G.forEach(Object.keys(Object.assign({},A,C)),function(r){const p=l[r]||t,d=p(A[r],C[r],r);G.isUndefined(d)&&p!==o||(e[r]=d)}),e}const Sf=A=>{const C=Un({},A);let{data:e,withXSRFToken:n,xsrfHeaderName:t,xsrfCookieName:i,headers:s,auth:o}=C;C.headers=s=ye.from(s),C.url=bf(Bf(C.baseURL,C.url),A.params,A.paramsSerializer),o&&s.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):"")));let l;if(G.isFormData(e)){if(Ee.hasStandardBrowserEnv||Ee.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((l=s.getContentType())!==!1){const[a,...r]=l?l.split(";").map(p=>p.trim()).filter(Boolean):[];s.setContentType([a||"multipart/form-data",...r].join("; "))}}if(Ee.hasStandardBrowserEnv&&(n&&G.isFunction(n)&&(n=n(C)),n||n!==!1&&vS(C.url))){const a=t&&i&&wS.read(i);a&&s.set(t,a)}return C},kS=typeof XMLHttpRequest<"u",_S=kS&&function(A){return new Promise(function(e,n){const t=Sf(A);let i=t.data;const s=ye.from(t.headers).normalize();let{responseType:o}=t,l;function a(){t.cancelToken&&t.cancelToken.unsubscribe(l),t.signal&&t.signal.removeEventListener("abort",l)}let r=new XMLHttpRequest;r.open(t.method.toUpperCase(),t.url,!0),r.timeout=t.timeout;function p(){if(!r)return;const m=ye.from("getAllResponseHeaders"in r&&r.getAllResponseHeaders()),y={data:!o||o==="text"||o==="json"?r.responseText:r.response,status:r.status,statusText:r.statusText,headers:m,config:A,request:r};wf(function(_){e(_),a()},function(_){n(_),a()},y),r=null}"onloadend"in r?r.onloadend=p:r.onreadystatechange=function(){!r||r.readyState!==4||r.status===0&&!(r.responseURL&&r.responseURL.indexOf("file:")===0)||setTimeout(p)},r.onabort=function(){r&&(n(new JA("Request aborted",JA.ECONNABORTED,t,r)),r=null)},r.onerror=function(){n(new JA("Network Error",JA.ERR_NETWORK,t,r)),r=null},r.ontimeout=function(){let g=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const y=t.transitional||Ef;t.timeoutErrorMessage&&(g=t.timeoutErrorMessage),n(new JA(g,y.clarifyTimeoutError?JA.ETIMEDOUT:JA.ECONNABORTED,t,r)),r=null},i===void 0&&s.setContentType(null),"setRequestHeader"in r&&G.forEach(s.toJSON(),function(g,y){r.setRequestHeader(y,g)}),G.isUndefined(t.withCredentials)||(r.withCredentials=!!t.withCredentials),o&&o!=="json"&&(r.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&r.addEventListener("progress",Ys(t.onDownloadProgress,!0)),typeof t.onUploadProgress=="function"&&r.upload&&r.upload.addEventListener("progress",Ys(t.onUploadProgress)),(t.cancelToken||t.signal)&&(l=m=>{r&&(n(!m||m.type?new Bt(null,A,r):m),r.abort(),r=null)},t.cancelToken&&t.cancelToken.subscribe(l),t.signal&&(t.signal.aborted?l():t.signal.addEventListener("abort",l)));const d=bS(t.url);if(d&&Ee.protocols.indexOf(d)===-1){n(new JA("Unsupported protocol "+d+":",JA.ERR_BAD_REQUEST,A));return}r.send(i||null)})},xS=(A,C)=>{let e=new AbortController,n;const t=function(l){if(!n){n=!0,s();const a=l instanceof Error?l:this.reason;e.abort(a instanceof JA?a:new Bt(a instanceof Error?a.message:a))}};let i=C&&setTimeout(()=>{t(new JA(`timeout ${C} of ms exceeded`,JA.ETIMEDOUT))},C);const s=()=>{A&&(i&&clearTimeout(i),i=null,A.forEach(l=>{l&&(l.removeEventListener?l.removeEventListener("abort",t):l.unsubscribe(t))}),A=null)};A.forEach(l=>l&&l.addEventListener&&l.addEventListener("abort",t));const{signal:o}=e;return o.unsubscribe=s,[o,()=>{i&&clearTimeout(i),i=null}]},jS=xS,IS=function*(A,C){let e=A.byteLength;if(!C||e<C){yield A;return}let n=0,t;for(;n<e;)t=n+C,yield A.slice(n,t),n=t},MS=async function*(A,C,e){for await(const n of A)yield*IS(ArrayBuffer.isView(n)?n:await e(String(n)),C)},Rm=(A,C,e,n,t)=>{const i=MS(A,C,t);let s=0;return new ReadableStream({type:"bytes",async pull(o){const{done:l,value:a}=await i.next();if(l){o.close(),n();return}let r=a.byteLength;e&&e(s+=r),o.enqueue(new Uint8Array(a))},cancel(o){return n(o),i.return()}},{highWaterMark:2})},Gm=(A,C)=>{const e=A!=null;return n=>setTimeout(()=>C({lengthComputable:e,total:A,loaded:n}))},Go=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",kf=Go&&typeof ReadableStream=="function",ba=Go&&(typeof TextEncoder=="function"?(A=>C=>A.encode(C))(new TextEncoder):async A=>new Uint8Array(await new Response(A).arrayBuffer())),DS=kf&&(()=>{let A=!1;const C=new Request(Ee.origin,{body:new ReadableStream,method:"POST",get duplex(){return A=!0,"half"}}).headers.has("Content-Type");return A&&!C})(),Um=64*1024,Ea=kf&&!!(()=>{try{return G.isReadableStream(new Response("").body)}catch{}})(),Js={stream:Ea&&(A=>A.body)};Go&&(A=>{["text","arrayBuffer","blob","formData","stream"].forEach(C=>{!Js[C]&&(Js[C]=G.isFunction(A[C])?e=>e[C]():(e,n)=>{throw new JA(`Response type '${C}' is not supported`,JA.ERR_NOT_SUPPORT,n)})})})(new Response);const PS=async A=>{if(A==null)return 0;if(G.isBlob(A))return A.size;if(G.isSpecCompliantForm(A))return(await new Request(A).arrayBuffer()).byteLength;if(G.isArrayBufferView(A))return A.byteLength;if(G.isURLSearchParams(A)&&(A=A+""),G.isString(A))return(await ba(A)).byteLength},OS=async(A,C)=>{const e=G.toFiniteNumber(A.getContentLength());return e??PS(C)},LS=Go&&(async A=>{let{url:C,method:e,data:n,signal:t,cancelToken:i,timeout:s,onDownloadProgress:o,onUploadProgress:l,responseType:a,headers:r,withCredentials:p="same-origin",fetchOptions:d}=Sf(A);a=a?(a+"").toLowerCase():"text";let[m,g]=t||i||s?jS([t,i],s):[],y,k;const _=()=>{!y&&setTimeout(()=>{m&&m.unsubscribe()}),y=!0};let R;try{if(l&&DS&&e!=="get"&&e!=="head"&&(R=await OS(r,n))!==0){let CA=new Request(C,{method:"POST",body:n,duplex:"half"}),LA;G.isFormData(n)&&(LA=CA.headers.get("content-type"))&&r.setContentType(LA),CA.body&&(n=Rm(CA.body,Um,Gm(R,Ys(l)),null,ba))}G.isString(p)||(p=p?"cors":"omit"),k=new Request(C,{...d,signal:m,method:e.toUpperCase(),headers:r.normalize().toJSON(),body:n,duplex:"half",withCredentials:p});let F=await fetch(k);const J=Ea&&(a==="stream"||a==="response");if(Ea&&(o||J)){const CA={};["status","statusText","headers"].forEach(X=>{CA[X]=F[X]});const LA=G.toFiniteNumber(F.headers.get("content-length"));F=new Response(Rm(F.body,Um,o&&Gm(LA,Ys(o,!0)),J&&_,ba),CA)}a=a||"text";let nA=await Js[G.findKey(Js,a)||"text"](F,A);return!J&&_(),g&&g(),await new Promise((CA,LA)=>{wf(CA,LA,{data:nA,headers:ye.from(F.headers),status:F.status,statusText:F.statusText,config:A,request:k})})}catch(F){throw _(),F&&F.name==="TypeError"&&/fetch/i.test(F.message)?Object.assign(new JA("Network Error",JA.ERR_NETWORK,A,k),{cause:F.cause||F}):JA.from(F,F&&F.code,A,k)}}),ya={http:YB,xhr:_S,fetch:LS};G.forEach(ya,(A,C)=>{if(A){try{Object.defineProperty(A,"name",{value:C})}catch{}Object.defineProperty(A,"adapterName",{value:C})}});const Qm=A=>`- ${A}`,KS=A=>G.isFunction(A)||A===null||A===!1,_f={getAdapter:A=>{A=G.isArray(A)?A:[A];const{length:C}=A;let e,n;const t={};for(let i=0;i<C;i++){e=A[i];let s;if(n=e,!KS(e)&&(n=ya[(s=String(e)).toLowerCase()],n===void 0))throw new JA(`Unknown adapter '${s}'`);if(n)break;t[s||"#"+i]=n}if(!n){const i=Object.entries(t).map(([o,l])=>`adapter ${o} `+(l===!1?"is not supported by the environment":"is not available in the build"));let s=C?i.length>1?`since : -`+i.map(Qm).join(` -`):" "+Qm(i[0]):"as no adapter specified";throw new JA("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:ya};function vl(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new Bt(null,A)}function Hm(A){return vl(A),A.headers=ye.from(A.headers),A.data=yl.call(A,A.transformRequest),["post","put","patch"].indexOf(A.method)!==-1&&A.headers.setContentType("application/x-www-form-urlencoded",!1),_f.getAdapter(A.adapter||Zr.adapter)(A).then(function(n){return vl(A),n.data=yl.call(A,A.transformResponse,n),n.headers=ye.from(n.headers),n},function(n){return vf(n)||(vl(A),n&&n.response&&(n.response.data=yl.call(A,A.transformResponse,n.response),n.response.headers=ye.from(n.response.headers))),Promise.reject(n)})}const xf="1.7.2",Ac={};["object","boolean","number","function","string","symbol"].forEach((A,C)=>{Ac[A]=function(n){return typeof n===A||"a"+(C<1?"n ":" ")+A}});const Vm={};Ac.transitional=function(C,e,n){function t(i,s){return"[Axios v"+xf+"] Transitional option '"+i+"'"+s+(n?". "+n:"")}return(i,s,o)=>{if(C===!1)throw new JA(t(s," has been removed"+(e?" in "+e:"")),JA.ERR_DEPRECATED);return e&&!Vm[s]&&(Vm[s]=!0,console.warn(t(s," has been deprecated since v"+e+" and will be removed in the near future"))),C?C(i,s,o):!0}};function FS(A,C,e){if(typeof A!="object")throw new JA("options must be an object",JA.ERR_BAD_OPTION_VALUE);const n=Object.keys(A);let t=n.length;for(;t-- >0;){const i=n[t],s=C[i];if(s){const o=A[i],l=o===void 0||s(o,i,A);if(l!==!0)throw new JA("option "+i+" must be "+l,JA.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new JA("Unknown option "+i,JA.ERR_BAD_OPTION)}}const va={assertOptions:FS,validators:Ac},Cn=va.validators;class Xs{constructor(C){this.defaults=C,this.interceptors={request:new Tm,response:new Tm}}async request(C,e){try{return await this._request(C,e)}catch(n){if(n instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const i=t.stack?t.stack.replace(/^.+\n/,""):"";try{n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=` -`+i):n.stack=i}catch{}}throw n}}_request(C,e){typeof C=="string"?(e=e||{},e.url=C):e=C||{},e=Un(this.defaults,e);const{transitional:n,paramsSerializer:t,headers:i}=e;n!==void 0&&va.assertOptions(n,{silentJSONParsing:Cn.transitional(Cn.boolean),forcedJSONParsing:Cn.transitional(Cn.boolean),clarifyTimeoutError:Cn.transitional(Cn.boolean)},!1),t!=null&&(G.isFunction(t)?e.paramsSerializer={serialize:t}:va.assertOptions(t,{encode:Cn.function,serialize:Cn.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let s=i&&G.merge(i.common,i[e.method]);i&&G.forEach(["delete","get","head","post","put","patch","common"],g=>{delete i[g]}),e.headers=ye.concat(s,i);const o=[];let l=!0;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(e)===!1||(l=l&&y.synchronous,o.unshift(y.fulfilled,y.rejected))});const a=[];this.interceptors.response.forEach(function(y){a.push(y.fulfilled,y.rejected)});let r,p=0,d;if(!l){const g=[Hm.bind(this),void 0];for(g.unshift.apply(g,o),g.push.apply(g,a),d=g.length,r=Promise.resolve(e);p<d;)r=r.then(g[p++],g[p++]);return r}d=o.length;let m=e;for(p=0;p<d;){const g=o[p++],y=o[p++];try{m=g(m)}catch(k){y.call(this,k);break}}try{r=Hm.call(this,m)}catch(g){return Promise.reject(g)}for(p=0,d=a.length;p<d;)r=r.then(a[p++],a[p++]);return r}getUri(C){C=Un(this.defaults,C);const e=Bf(C.baseURL,C.url);return bf(e,C.params,C.paramsSerializer)}}G.forEach(["delete","get","head","options"],function(C){Xs.prototype[C]=function(e,n){return this.request(Un(n||{},{method:C,url:e,data:(n||{}).data}))}});G.forEach(["post","put","patch"],function(C){function e(n){return function(i,s,o){return this.request(Un(o||{},{method:C,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}Xs.prototype[C]=e(),Xs.prototype[C+"Form"]=e(!0)});const ys=Xs;class Cc{constructor(C){if(typeof C!="function")throw new TypeError("executor must be a function.");let e;this.promise=new Promise(function(i){e=i});const n=this;this.promise.then(t=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](t);n._listeners=null}),this.promise.then=t=>{let i;const s=new Promise(o=>{n.subscribe(o),i=o}).then(t);return s.cancel=function(){n.unsubscribe(i)},s},C(function(i,s,o){n.reason||(n.reason=new Bt(i,s,o),e(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(C){if(this.reason){C(this.reason);return}this._listeners?this._listeners.push(C):this._listeners=[C]}unsubscribe(C){if(!this._listeners)return;const e=this._listeners.indexOf(C);e!==-1&&this._listeners.splice(e,1)}static source(){let C;return{token:new Cc(function(t){C=t}),cancel:C}}}const TS=Cc;function NS(A){return function(e){return A.apply(null,e)}}function $S(A){return G.isObject(A)&&A.isAxiosError===!0}const wa={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(wa).forEach(([A,C])=>{wa[C]=A});const RS=wa;function jf(A){const C=new ys(A),e=of(ys.prototype.request,C);return G.extend(e,ys.prototype,C,{allOwnKeys:!0}),G.extend(e,C,null,{allOwnKeys:!0}),e.create=function(t){return jf(Un(A,t))},e}const LC=jf(Zr);LC.Axios=ys;LC.CanceledError=Bt;LC.CancelToken=TS;LC.isCancel=vf;LC.VERSION=xf;LC.toFormData=$o;LC.AxiosError=JA;LC.Cancel=LC.CanceledError;LC.all=function(C){return Promise.all(C)};LC.spread=NS;LC.isAxiosError=$S;LC.mergeConfig=Un;LC.AxiosHeaders=ye;LC.formToJSON=A=>yf(G.isHTMLForm(A)?new FormData(A):A);LC.getAdapter=_f.getAdapter;LC.HttpStatusCode=RS;LC.default=LC;const If=LC;/** - * filesize - * - * @copyright 2024 Jason Mulligan <jason.mulligan@avoidwork.com> - * @license BSD-3-Clause - * @version 10.1.2 - */const GS="array",US="bit",zm="bits",QS="byte",qm="bytes",Xn="",HS="exponent",VS="function",Wm="iec",zS="Invalid number",qS="Invalid rounding method",wl="jedec",WS="object",Ym=".",YS="round",JS="s",XS="si",ZS="kbit",Ak="kB",Ck=" ",ek="string",nk="0",Bl={symbol:{iec:{bits:["bit","Kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],bytes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},jedec:{bits:["bit","Kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],bytes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]}},fullform:{iec:["","kibi","mebi","gibi","tebi","pebi","exbi","zebi","yobi"],jedec:["","kilo","mega","giga","tera","peta","exa","zetta","yotta"]}};function Jm(A,{bits:C=!1,pad:e=!1,base:n=-1,round:t=2,locale:i=Xn,localeOptions:s={},separator:o=Xn,spacer:l=Ck,symbols:a={},standard:r=Xn,output:p=ek,fullform:d=!1,fullforms:m=[],exponent:g=-1,roundingMethod:y=YS,precision:k=0}={}){let _=g,R=Number(A),F=[],J=0,nA=Xn;r===XS?(n=10,r=wl):r===Wm||r===wl?n=2:n===2?r=Wm:(n=10,r=wl);const CA=n===10?1e3:1024,LA=d===!0,X=R<0,pA=Math[y];if(typeof A!="bigint"&&isNaN(A))throw new TypeError(zS);if(typeof pA!==VS)throw new TypeError(qS);if(X&&(R=-R),(_===-1||isNaN(_))&&(_=Math.floor(Math.log(R)/Math.log(CA)),_<0&&(_=0)),_>8&&(k>0&&(k+=8-_),_=8),p===HS)return _;if(R===0)F[0]=0,nA=F[1]=Bl.symbol[r][C?zm:qm][_];else{J=R/(n===2?Math.pow(2,_*10):Math.pow(1e3,_)),C&&(J=J*8,J>=CA&&_<8&&(J=J/CA,_++));const uA=Math.pow(10,_>0?t:0);F[0]=pA(J*uA)/uA,F[0]===CA&&_<8&&g===-1&&(F[0]=1,_++),nA=F[1]=n===10&&_===1?C?ZS:Ak:Bl.symbol[r][C?zm:qm][_]}if(X&&(F[0]=-F[0]),k>0&&(F[0]=F[0].toPrecision(k)),F[1]=a[F[1]]||F[1],i===!0?F[0]=F[0].toLocaleString():i.length>0?F[0]=F[0].toLocaleString(i,s):o.length>0&&(F[0]=F[0].toString().replace(Ym,o)),e&&Number.isInteger(F[0])===!1&&t>0){const uA=o||Ym,I=F[0].toString().split(uA),O=I[1]||Xn,q=O.length,z=t-q;F[0]=`${I[0]}${uA}${O.padEnd(q+z,nk)}`}return LA&&(F[1]=m[_]?m[_]:Bl.fullform[r][_]+(C?US:QS)+(F[0]===1?Xn:JS)),p===GS?F:p===WS?{value:F[0],symbol:F[1],exponent:_,unit:nA}:F.join(l)}function M(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Sendbox.vue",C="90e62c30b7726d383fa16e88f5417e50752f523a",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Sendbox.vue",statementMap:{0:{start:{line:8,column:18},end:{line:155,column:1}},1:{start:{line:20,column:4},end:{line:27,column:5}},2:{start:{line:31,column:6},end:{line:31,column:31}},3:{start:{line:41,column:6},end:{line:44,column:7}},4:{start:{line:42,column:8},end:{line:42,column:32}},5:{start:{line:43,column:8},end:{line:43,column:30}},6:{start:{line:48,column:6},end:{line:61,column:7}},7:{start:{line:49,column:8},end:{line:52,column:9}},8:{start:{line:50,column:10},end:{line:50,column:40}},9:{start:{line:51,column:10},end:{line:51,column:16}},10:{start:{line:53,column:8},end:{line:56,column:9}},11:{start:{line:55,column:10},end:{line:55,column:16}},12:{start:{line:57,column:8},end:{line:57,column:89}},13:{start:{line:58,column:8},end:{line:58,column:34}},14:{start:{line:60,column:8},end:{line:60,column:42}},15:{start:{line:64,column:6},end:{line:67,column:7}},16:{start:{line:66,column:8},end:{line:66,column:14}},17:{start:{line:68,column:6},end:{line:68,column:39}},18:{start:{line:69,column:6},end:{line:91,column:7}},19:{start:{line:71,column:8},end:{line:81,column:17}},20:{start:{line:72,column:10},end:{line:74,column:11}},21:{start:{line:73,column:12},end:{line:73,column:18}},22:{start:{line:75,column:10},end:{line:75,column:35}},23:{start:{line:76,column:10},end:{line:80,column:11}},24:{start:{line:77,column:12},end:{line:77,column:88}},25:{start:{line:79,column:12},end:{line:79,column:96}},26:{start:{line:82,column:8},end:{line:85,column:9}},27:{start:{line:84,column:10},end:{line:84,column:16}},28:{start:{line:87,column:8},end:{line:87,column:36}},29:{start:{line:90,column:8},end:{line:90,column:33}},30:{start:{line:92,column:6},end:{line:92,column:82}},31:{start:{line:95,column:20},end:{line:95,column:58}},32:{start:{line:96,column:6},end:{line:98,column:7}},33:{start:{line:97,column:8},end:{line:97,column:14}},34:{start:{line:99,column:6},end:{line:99,column:26}},35:{start:{line:101,column:6},end:{line:104,column:7}},36:{start:{line:102,column:8},end:{line:102,column:110}},37:{start:{line:103,column:8},end:{line:103,column:14}},38:{start:{line:106,column:6},end:{line:121,column:7}},39:{start:{line:107,column:23},end:{line:107,column:39}},40:{start:{line:108,column:19},end:{line:108,column:23}},41:{start:{line:109,column:8},end:{line:111,column:9}},42:{start:{line:110,column:10},end:{line:110,column:44}},43:{start:{line:112,column:8},end:{line:112,column:39}},44:{start:{line:113,column:13},end:{line:121,column:7}},45:{start:{line:114,column:8},end:{line:114,column:41}},46:{start:{line:115,column:13},end:{line:121,column:7}},47:{start:{line:116,column:8},end:{line:116,column:41}},48:{start:{line:117,column:13},end:{line:121,column:7}},49:{start:{line:118,column:8},end:{line:118,column:39}},50:{start:{line:120,column:8},end:{line:120,column:35}},51:{start:{line:124,column:6},end:{line:144,column:7}},52:{start:{line:126,column:37},end:{line:130,column:10}},53:{start:{line:132,column:8},end:{line:136,column:10}},54:{start:{line:138,column:8},end:{line:138,column:93}},55:{start:{line:139,column:8},end:{line:139,column:24}},56:{start:{line:140,column:8},end:{line:140,column:33}},57:{start:{line:141,column:8},end:{line:141,column:28}},58:{start:{line:143,column:8},end:{line:143,column:42}},59:{start:{line:147,column:6},end:{line:147,column:22}},60:{start:{line:148,column:6},end:{line:148,column:31}},61:{start:{line:149,column:6},end:{line:149,column:26}},62:{start:{line:152,column:6},end:{line:152,column:36}},63:{start:{line:159,column:19},end:{line:159,column:62}},64:{start:{line:160,column:19},end:{line:160,column:72}},65:{start:{line:161,column:19},end:{line:161,column:54}},66:{start:{line:162,column:19},end:{line:162,column:46}},67:{start:{line:163,column:19},end:{line:166,column:1}},68:{start:{line:167,column:19},end:{line:167,column:26}},69:{start:{line:168,column:19},end:{line:173,column:1}},70:{start:{line:174,column:32},end:{line:177,column:12}},71:{start:{line:178,column:19},end:{line:180,column:1}},72:{start:{line:181,column:20},end:{line:185,column:1}},73:{start:{line:186,column:20},end:{line:186,column:43}},74:{start:{line:187,column:33},end:{line:191,column:6}},75:{start:{line:194,column:34},end:{line:194,column:67}},76:{start:{line:196,column:2},end:{line:255,column:5}},77:{start:{line:198,column:71},end:{line:198,column:124}},78:{start:{line:203,column:72},end:{line:203,column:105}},79:{start:{line:209,column:79},end:{line:209,column:132}},80:{start:{line:210,column:79},end:{line:210,column:138}},81:{start:{line:212,column:61},end:{line:212,column:106}},82:{start:{line:234,column:67},end:{line:234,column:118}},83:{start:{line:248,column:68},end:{line:248,column:123}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:19,column:2},end:{line:19,column:3}},loc:{start:{line:19,column:10},end:{line:28,column:3}},line:19},1:{name:"(anonymous_1)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:15},end:{line:32,column:5}},line:30},2:{name:"(anonymous_2)",decl:{start:{line:40,column:4},end:{line:40,column:5}},loc:{start:{line:40,column:33},end:{line:45,column:5}},line:40},3:{name:"(anonymous_3)",decl:{start:{line:47,column:4},end:{line:47,column:5}},loc:{start:{line:47,column:25},end:{line:62,column:5}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:63,column:4},end:{line:63,column:5}},loc:{start:{line:63,column:21},end:{line:93,column:5}},line:63},5:{name:"(anonymous_5)",decl:{start:{line:71,column:41},end:{line:71,column:42}},loc:{start:{line:71,column:53},end:{line:81,column:9}},line:71},6:{name:"(anonymous_6)",decl:{start:{line:94,column:4},end:{line:94,column:5}},loc:{start:{line:94,column:21},end:{line:122,column:5}},line:94},7:{name:"(anonymous_7)",decl:{start:{line:109,column:24},end:{line:109,column:25}},loc:{start:{line:109,column:31},end:{line:111,column:9}},line:109},8:{name:"(anonymous_8)",decl:{start:{line:123,column:4},end:{line:123,column:5}},loc:{start:{line:123,column:26},end:{line:145,column:5}},line:123},9:{name:"(anonymous_9)",decl:{start:{line:146,column:4},end:{line:146,column:5}},loc:{start:{line:146,column:18},end:{line:150,column:5}},line:146},10:{name:"(anonymous_10)",decl:{start:{line:151,column:4},end:{line:151,column:5}},loc:{start:{line:151,column:21},end:{line:153,column:5}},line:151},11:{name:"_sfc_render",decl:{start:{line:193,column:9},end:{line:193,column:20}},loc:{start:{line:193,column:68},end:{line:256,column:1}},line:193},12:{name:"(anonymous_12)",decl:{start:{line:198,column:57},end:{line:198,column:58}},loc:{start:{line:198,column:71},end:{line:198,column:124}},line:198},13:{name:"(anonymous_13)",decl:{start:{line:203,column:61},end:{line:203,column:62}},loc:{start:{line:203,column:72},end:{line:203,column:105}},line:203},14:{name:"(anonymous_14)",decl:{start:{line:209,column:65},end:{line:209,column:66}},loc:{start:{line:209,column:79},end:{line:209,column:132}},line:209},15:{name:"(anonymous_15)",decl:{start:{line:210,column:65},end:{line:210,column:66}},loc:{start:{line:210,column:79},end:{line:210,column:138}},line:210},16:{name:"(anonymous_16)",decl:{start:{line:212,column:47},end:{line:212,column:48}},loc:{start:{line:212,column:61},end:{line:212,column:106}},line:212},17:{name:"(anonymous_17)",decl:{start:{line:234,column:53},end:{line:234,column:54}},loc:{start:{line:234,column:67},end:{line:234,column:118}},line:234},18:{name:"(anonymous_18)",decl:{start:{line:248,column:54},end:{line:248,column:55}},loc:{start:{line:248,column:68},end:{line:248,column:123}},line:248}},branchMap:{0:{loc:{start:{line:41,column:6},end:{line:44,column:7}},type:"if",locations:[{start:{line:41,column:6},end:{line:44,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:41},1:{loc:{start:{line:49,column:8},end:{line:52,column:9}},type:"if",locations:[{start:{line:49,column:8},end:{line:52,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:49},2:{loc:{start:{line:53,column:8},end:{line:56,column:9}},type:"if",locations:[{start:{line:53,column:8},end:{line:56,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:53},3:{loc:{start:{line:64,column:6},end:{line:67,column:7}},type:"if",locations:[{start:{line:64,column:6},end:{line:67,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:64},4:{loc:{start:{line:69,column:6},end:{line:91,column:7}},type:"if",locations:[{start:{line:69,column:6},end:{line:91,column:7}},{start:{line:88,column:13},end:{line:91,column:7}}],line:69},5:{loc:{start:{line:72,column:10},end:{line:74,column:11}},type:"if",locations:[{start:{line:72,column:10},end:{line:74,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:72},6:{loc:{start:{line:82,column:8},end:{line:85,column:9}},type:"if",locations:[{start:{line:82,column:8},end:{line:85,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:82},7:{loc:{start:{line:95,column:20},end:{line:95,column:58}},type:"binary-expr",locations:[{start:{line:95,column:20},end:{line:95,column:34}},{start:{line:95,column:38},end:{line:95,column:58}}],line:95},8:{loc:{start:{line:96,column:6},end:{line:98,column:7}},type:"if",locations:[{start:{line:96,column:6},end:{line:98,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:96},9:{loc:{start:{line:101,column:6},end:{line:104,column:7}},type:"if",locations:[{start:{line:101,column:6},end:{line:104,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:101},10:{loc:{start:{line:106,column:6},end:{line:121,column:7}},type:"if",locations:[{start:{line:106,column:6},end:{line:121,column:7}},{start:{line:113,column:13},end:{line:121,column:7}}],line:106},11:{loc:{start:{line:113,column:13},end:{line:121,column:7}},type:"if",locations:[{start:{line:113,column:13},end:{line:121,column:7}},{start:{line:115,column:13},end:{line:121,column:7}}],line:113},12:{loc:{start:{line:115,column:13},end:{line:121,column:7}},type:"if",locations:[{start:{line:115,column:13},end:{line:121,column:7}},{start:{line:117,column:13},end:{line:121,column:7}}],line:115},13:{loc:{start:{line:117,column:13},end:{line:121,column:7}},type:"if",locations:[{start:{line:117,column:13},end:{line:121,column:7}},{start:{line:119,column:13},end:{line:121,column:7}}],line:117},14:{loc:{start:{line:198,column:16},end:{line:198,column:140}},type:"binary-expr",locations:[{start:{line:198,column:16},end:{line:198,column:25}},{start:{line:198,column:30},end:{line:198,column:139}}],line:198},15:{loc:{start:{line:198,column:71},end:{line:198,column:124}},type:"binary-expr",locations:[{start:{line:198,column:71},end:{line:198,column:91}},{start:{line:198,column:95},end:{line:198,column:124}}],line:198},16:{loc:{start:{line:203,column:35},end:{line:203,column:107}},type:"binary-expr",locations:[{start:{line:203,column:35},end:{line:203,column:44}},{start:{line:203,column:49},end:{line:203,column:106}}],line:203},17:{loc:{start:{line:205,column:25},end:{line:205,column:57}},type:"cond-expr",locations:[{start:{line:205,column:38},end:{line:205,column:52}},{start:{line:205,column:55},end:{line:205,column:57}}],line:205},18:{loc:{start:{line:207,column:22},end:{line:207,column:59}},type:"binary-expr",locations:[{start:{line:207,column:22},end:{line:207,column:41}},{start:{line:207,column:45},end:{line:207,column:59}}],line:207},19:{loc:{start:{line:209,column:14},end:{line:209,column:157}},type:"binary-expr",locations:[{start:{line:209,column:14},end:{line:209,column:23}},{start:{line:209,column:28},end:{line:209,column:156}}],line:209},20:{loc:{start:{line:209,column:79},end:{line:209,column:132}},type:"binary-expr",locations:[{start:{line:209,column:79},end:{line:209,column:99}},{start:{line:209,column:103},end:{line:209,column:132}}],line:209},21:{loc:{start:{line:210,column:14},end:{line:210,column:164}},type:"binary-expr",locations:[{start:{line:210,column:14},end:{line:210,column:23}},{start:{line:210,column:28},end:{line:210,column:163}}],line:210},22:{loc:{start:{line:210,column:79},end:{line:210,column:138}},type:"binary-expr",locations:[{start:{line:210,column:79},end:{line:210,column:102}},{start:{line:210,column:106},end:{line:210,column:138}}],line:210},23:{loc:{start:{line:212,column:21},end:{line:212,column:108}},type:"binary-expr",locations:[{start:{line:212,column:21},end:{line:212,column:30}},{start:{line:212,column:35},end:{line:212,column:107}}],line:212},24:{loc:{start:{line:212,column:61},end:{line:212,column:106}},type:"binary-expr",locations:[{start:{line:212,column:61},end:{line:212,column:77}},{start:{line:212,column:81},end:{line:212,column:106}}],line:212},25:{loc:{start:{line:216,column:10},end:{line:237,column:43}},type:"cond-expr",locations:[{start:{line:217,column:15},end:{line:236,column:16}},{start:{line:237,column:14},end:{line:237,column:43}}],line:216},26:{loc:{start:{line:216,column:11},end:{line:216,column:48}},type:"binary-expr",locations:[{start:{line:216,column:11},end:{line:216,column:30}},{start:{line:216,column:34},end:{line:216,column:48}}],line:216},27:{loc:{start:{line:218,column:16},end:{line:224,column:49}},type:"cond-expr",locations:[{start:{line:219,column:21},end:{line:223,column:43}},{start:{line:224,column:20},end:{line:224,column:49}}],line:218},28:{loc:{start:{line:225,column:16},end:{line:230,column:49}},type:"cond-expr",locations:[{start:{line:226,column:21},end:{line:229,column:31}},{start:{line:230,column:20},end:{line:230,column:49}}],line:225},29:{loc:{start:{line:234,column:27},end:{line:234,column:120}},type:"binary-expr",locations:[{start:{line:234,column:27},end:{line:234,column:36}},{start:{line:234,column:41},end:{line:234,column:119}}],line:234},30:{loc:{start:{line:234,column:67},end:{line:234,column:118}},type:"binary-expr",locations:[{start:{line:234,column:67},end:{line:234,column:86}},{start:{line:234,column:90},end:{line:234,column:118}}],line:234},31:{loc:{start:{line:240,column:8},end:{line:252,column:15}},type:"cond-expr",locations:[{start:{line:241,column:13},end:{line:241,column:80}},{start:{line:242,column:13},end:{line:252,column:14}}],line:240},32:{loc:{start:{line:240,column:9},end:{line:240,column:76}},type:"binary-expr",locations:[{start:{line:240,column:9},end:{line:240,column:31}},{start:{line:240,column:35},end:{line:240,column:45}},{start:{line:240,column:49},end:{line:240,column:76}}],line:240},33:{loc:{start:{line:248,column:28},end:{line:248,column:125}},type:"binary-expr",locations:[{start:{line:248,column:28},end:{line:248,column:37}},{start:{line:248,column:42},end:{line:248,column:124}}],line:248},34:{loc:{start:{line:248,column:68},end:{line:248,column:123}},type:"binary-expr",locations:[{start:{line:248,column:68},end:{line:248,column:89}},{start:{line:248,column:93},end:{line:248,column:123}}],line:248}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0,0],33:[0,0],34:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Sendbox.vue"],names:[],mappings:"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,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAClC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAClC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAChC,EAAE,CAAC,CAAC,CAAC,EAAE;QACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC5B;IACF,CAAC;IA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"90e62c30b7726d383fa16e88f5417e50752f523a"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return M=function(){return s},s}M();const tk=(M().s[0]++,{name:"Sendbox",components:{EmojiPicker:cB},props:{isRoom:{type:Boolean,default:!1}},data(){return M().f[0]++,M().s[1]++,{composingMessage:"",file:null,fileThumbnail:null,fileIcon:null,chatState:null,pauseTimeoutId:null}},computed:{userJid(){return M().f[1]++,M().s[2]++,this.$xmpp.fullJid},...Be(WC,["activeChat","httpFileUploadMaxSize","isSendingTypingChatStates"])},methods:{async handleEnterKey(A){M().f[2]++,M().s[3]++,window.config.hasSendingEnterKey?(M().b[0][0]++,M().s[4]++,await this.sendMessage(),M().s[5]++,A.preventDefault()):M().b[0][1]++},async sendMessage(){M().f[3]++,M().s[6]++;try{if(M().s[7]++,this.file){M().b[1][0]++,M().s[8]++,await this.postFile(this.file),M().s[9]++;return}else M().b[1][1]++;if(M().s[10]++,this.composingMessage.trim()===""){M().b[2][0]++,M().s[11]++;return}else M().b[2][1]++;M().s[12]++,await this.$xmpp.sendMessage(this.activeChat,this.composingMessage,this.isRoom),M().s[13]++,this.composingMessage=""}catch(A){M().s[14]++,console.error("send error",A)}},async onInput(){if(M().f[4]++,M().s[15]++,this.isSendingTypingChatStates)M().b[3][1]++;else{M().b[3][0]++,M().s[16]++;return}if(M().s[17]++,clearTimeout(this.pauseTimeoutId),M().s[18]++,this.composingMessage){if(M().b[4][0]++,M().s[19]++,this.pauseTimeoutId=setTimeout(async()=>{if(M().f[5]++,M().s[20]++,this.userJid)M().b[5][1]++;else{M().b[5][0]++,M().s[21]++;return}M().s[22]++,this.chatState="paused",M().s[23]++;try{M().s[24]++,await this.$xmpp.sendChatState(this.activeChat,this.isRoom,this.chatState)}catch(A){M().s[25]++,console.warn(`Can not send state chat (${A.message}), are you still connected?`)}},15e3),M().s[26]++,this.chatState==="composing"){M().b[6][0]++,M().s[27]++;return}else M().b[6][1]++;M().s[28]++,this.chatState="composing"}else M().b[4][1]++,M().s[29]++,this.chatState="active";M().s[30]++,await this.$xmpp.sendChatState(this.activeChat,this.isRoom,this.chatState)},onFileChange(A){M().f[6]++;const C=(M().s[31]++,M().b[7][0]++,A.target.files||(M().b[7][1]++,A.dataTransfer.files));if(M().s[32]++,C.length)M().b[8][1]++;else{M().b[8][0]++,M().s[33]++;return}if(M().s[34]++,this.file=C[0],M().s[35]++,this.file.size>this.httpFileUploadMaxSize){M().b[9][0]++,M().s[36]++,alert(`File is too big (${Jm(this.file.size)}, max is ${Jm(this.httpFileUploadMaxSize)})`),M().s[37]++;return}else M().b[9][1]++;if(M().s[38]++,this.file.type.startsWith("image/")){M().b[10][0]++;const e=(M().s[39]++,new FileReader),n=(M().s[40]++,this);M().s[41]++,e.onload=t=>{M().f[7]++,M().s[42]++,n.fileThumbnail=t.target.result},M().s[43]++,e.readAsDataURL(this.file)}else M().b[10][1]++,M().s[44]++,this.file.type.startsWith("audio/")?(M().b[11][0]++,M().s[45]++,this.fileIcon="fa-file-audio-o"):(M().b[11][1]++,M().s[46]++,this.file.type.startsWith("video/")?(M().b[12][0]++,M().s[47]++,this.fileIcon="fa-file-video-o"):(M().b[12][1]++,M().s[48]++,this.file.type.includes("pdf")?(M().b[13][0]++,M().s[49]++,this.fileIcon="fa-file-pdf-o"):(M().b[13][1]++,M().s[50]++,this.fileIcon="fa-file-o")))},async postFile(A){M().f[8]++,M().s[51]++;try{const C=(M().s[52]++,await this.$xmpp.getUploadSlot(null,{filename:A.name,size:A.size,"content-type":A.type}));M().s[53]++,await If.put(C.upload.url,A,{headers:{"Content-Type":A.type}}),M().s[54]++,await this.$xmpp.sendUrl(this.activeChat,C.download,this.isRoom),M().s[55]++,this.file=null,M().s[56]++,this.fileThumbnail=null,M().s[57]++,this.fileIcon=null}catch(C){M().s[58]++,console.error("httpUpload",C)}},removeFile(){M().f[9]++,M().s[59]++,this.file=null,M().s[60]++,this.fileThumbnail=null,M().s[61]++,this.fileIcon=null},addEmoji(A){M().f[10]++,M().s[62]++,this.composingMessage+=A}}}),ik=(M().s[63]++,{class:"sendbox has-border-top-shade-3"}),sk=(M().s[64]++,{class:"field is-flex is-align-items-center mr-3"}),ok=(M().s[65]++,{class:"control is-flex-grow-1"}),lk=(M().s[66]++,["placeholder","disabled"]),ak=(M().s[67]++,{key:0,class:"thumbnail-container"}),rk=(M().s[68]++,["src"]),ck=(M().s[69]++,{key:0,type:"submit",class:"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3",title:"Send message"}),uk=(M().s[70]++,b("i",{class:"fa fa-paper-plane","aria-hidden":"true"},null,-1)),mk=(M().s[71]++,[uk]),dk=(M().s[72]++,{key:1,class:"file has-no-border is-size-4",title:"Send a file"}),pk=(M().s[73]++,{class:"file-label"}),fk=(M().s[74]++,b("span",{class:"file-cta is-primary-ghost has-no-border is-size-4 px-3"},[b("span",{class:"file-icon mr-0"},[b("i",{class:"fa fa-paperclip is-primary-ghost is-size-4"})])],-1));function hk(A,C,e,n,t,i){M().f[11]++;const s=(M().s[75]++,AA("emoji-picker"));return M().s[76]++,h(),Q("div",ik,[b("form",{onSubmit:(M().b[14][0]++,C[6]||(M().b[14][1]++,C[6]=MA((...o)=>(M().f[12]++,M().s[77]++,M().b[15][0]++,i.sendMessage&&(M().b[15][1]++,i.sendMessage(...o))),["prevent"])))},[b("div",sk,[b("div",ok,[QA(b("textarea",{"onUpdate:modelValue":(M().b[16][0]++,C[0]||(M().b[16][1]++,C[0]=o=>(M().f[13]++,M().s[78]++,t.composingMessage=o))),class:"textarea has-background-shade-4 is-shadowless has-placeholder-shade-1",placeholder:t.file?(M().b[17][1]++,""):(M().b[17][0]++,"Send message"),rows:"2",disabled:(M().b[18][0]++,t.fileThumbnail||(M().b[18][1]++,t.fileIcon)),onKeydown:[(M().b[19][0]++,C[1]||(M().b[19][1]++,C[1]=cC(MA((...o)=>(M().f[14]++,M().s[79]++,M().b[20][0]++,i.sendMessage&&(M().b[20][1]++,i.sendMessage(...o))),["ctrl"]),["enter"]))),(M().b[21][0]++,C[2]||(M().b[21][1]++,C[2]=cC(MA((...o)=>(M().f[15]++,M().s[80]++,M().b[22][0]++,i.handleEnterKey&&(M().b[22][1]++,i.handleEnterKey(...o))),["exact"]),["enter"])))],onInput:(M().b[23][0]++,C[3]||(M().b[23][1]++,C[3]=(...o)=>(M().f[16]++,M().s[81]++,M().b[24][0]++,i.onInput&&(M().b[24][1]++,i.onInput(...o)))))},null,40,lk),[[be,t.composingMessage]]),(M().b[26][0]++,t.fileThumbnail||(M().b[26][1]++,t.fileIcon)?(M().b[25][0]++,h(),Q("div",ak,[t.fileThumbnail?(M().b[27][0]++,h(),Q("img",{key:0,src:t.fileThumbnail,class:"thumbnail"},null,8,rk)):(M().b[27][1]++,P("",!0)),t.fileIcon?(M().b[28][0]++,h(),Q("i",{key:1,class:zA(["fa fa-2x",t.fileIcon])},null,2)):(M().b[28][1]++,P("",!0)),b("button",{class:"delete has-background-grey-light",title:"Remove file",onClick:(M().b[29][0]++,C[4]||(M().b[29][1]++,C[4]=(...o)=>(M().f[17]++,M().s[82]++,M().b[30][0]++,i.removeFile&&(M().b[30][1]++,i.removeFile(...o)))))})])):(M().b[25][1]++,P("",!0)))]),S(s,{onEmojiPicked:i.addEmoji},null,8,["onEmojiPicked"]),(M().b[32][0]++,t.composingMessage||(M().b[32][1]++,t.file)||(M().b[32][2]++,!A.httpFileUploadMaxSize)?(M().b[31][0]++,h(),Q("button",ck,mk)):(M().b[31][1]++,h(),Q("div",dk,[b("label",pk,[b("input",{class:"file-input",type:"file",name:"resume",onChange:(M().b[33][0]++,C[5]||(M().b[33][1]++,C[5]=(...o)=>(M().f[18]++,M().s[83]++,M().b[34][0]++,i.onFileChange&&(M().b[34][1]++,i.onFileChange(...o)))))},null,32),fk])])))])],32)])}const gk=mC(tk,[["render",hk]]);function WA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Presence.vue",C="2a8c7b2d755de3b6522129eb20f6e0c6ec5180bd",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Presence.vue",statementMap:{0:{start:{line:2,column:18},end:{line:55,column:1}},1:{start:{line:16,column:6},end:{line:26,column:7}},2:{start:{line:18,column:10},end:{line:18,column:34}},3:{start:{line:21,column:10},end:{line:21,column:35}},4:{start:{line:23,column:10},end:{line:23,column:38}},5:{start:{line:25,column:10},end:{line:25,column:35}},6:{start:{line:29,column:6},end:{line:39,column:7}},7:{start:{line:31,column:10},end:{line:31,column:25}},8:{start:{line:34,column:10},end:{line:34,column:26}},9:{start:{line:36,column:10},end:{line:36,column:33}},10:{start:{line:38,column:10},end:{line:38,column:32}},11:{start:{line:42,column:6},end:{line:52,column:7}},12:{start:{line:44,column:10},end:{line:44,column:33}},13:{start:{line:47,column:10},end:{line:47,column:23}},14:{start:{line:49,column:10},end:{line:49,column:31}},15:{start:{line:51,column:10},end:{line:51,column:28}},16:{start:{line:59,column:19},end:{line:59,column:40}},17:{start:{line:60,column:19},end:{line:63,column:1}},18:{start:{line:66,column:2},end:{line:78,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:23},end:{line:27,column:5}},line:15},1:{name:"(anonymous_1)",decl:{start:{line:28,column:4},end:{line:28,column:5}},loc:{start:{line:28,column:17},end:{line:40,column:5}},line:28},2:{name:"(anonymous_2)",decl:{start:{line:41,column:4},end:{line:41,column:5}},loc:{start:{line:41,column:12},end:{line:53,column:5}},line:41},3:{name:"_sfc_render",decl:{start:{line:65,column:9},end:{line:65,column:20}},loc:{start:{line:65,column:68},end:{line:79,column:1}},line:65}},branchMap:{0:{loc:{start:{line:16,column:6},end:{line:26,column:7}},type:"switch",locations:[{start:{line:17,column:8},end:{line:18,column:34}},{start:{line:19,column:8},end:{line:19,column:20}},{start:{line:20,column:8},end:{line:21,column:35}},{start:{line:22,column:8},end:{line:23,column:38}},{start:{line:24,column:8},end:{line:25,column:35}}],line:16},1:{loc:{start:{line:29,column:6},end:{line:39,column:7}},type:"switch",locations:[{start:{line:30,column:8},end:{line:31,column:25}},{start:{line:32,column:8},end:{line:32,column:20}},{start:{line:33,column:8},end:{line:34,column:26}},{start:{line:35,column:8},end:{line:36,column:33}},{start:{line:37,column:8},end:{line:38,column:32}}],line:29},2:{loc:{start:{line:42,column:6},end:{line:52,column:7}},type:"switch",locations:[{start:{line:43,column:8},end:{line:44,column:33}},{start:{line:45,column:8},end:{line:45,column:20}},{start:{line:46,column:8},end:{line:47,column:23}},{start:{line:48,column:8},end:{line:49,column:31}},{start:{line:50,column:8},end:{line:51,column:28}}],line:42},3:{loc:{start:{line:75,column:4},end:{line:77,column:37}},type:"cond-expr",locations:[{start:{line:76,column:9},end:{line:76,column:98}},{start:{line:77,column:8},end:{line:77,column:37}}],line:75}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0},f:{0:0,1:0,2:0,3:0},b:{0:[0,0,0,0,0],1:[0,0,0,0,0],2:[0,0,0,0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Presence.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"2a8c7b2d755de3b6522129eb20f6e0c6ec5180bd"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return WA=function(){return s},s}WA();const bk=(WA().s[0]++,{name:"Presence",props:{presence:{type:String,required:!0},displayLabel:{type:Boolean,default:!0}},computed:{backgroundClass(){switch(WA().f[0]++,WA().s[1]++,this.presence){case"dnd":return WA().b[0][0]++,WA().s[2]++,"has-text-danger";case"away":WA().b[0][1]++;case"xa":return WA().b[0][2]++,WA().s[3]++,"has-text-warning";case"off":return WA().b[0][3]++,WA().s[4]++,"has-text-grey-light";default:return WA().b[0][4]++,WA().s[5]++,"has-text-success"}},iconClass(){switch(WA().f[1]++,WA().s[6]++,this.presence){case"dnd":return WA().b[1][0]++,WA().s[7]++,"fa-ban";case"away":WA().b[1][1]++;case"xa":return WA().b[1][2]++,WA().s[8]++,"fa-moon";case"off":return WA().b[1][3]++,WA().s[9]++,"fa-exclamation";default:return WA().b[1][4]++,WA().s[10]++,"fa-comments-o"}},text(){switch(WA().f[2]++,WA().s[11]++,this.presence){case"dnd":return WA().b[2][0]++,WA().s[12]++,"Do not disturb";case"away":WA().b[2][1]++;case"xa":return WA().b[2][2]++,WA().s[13]++,"Away";case"off":return WA().b[2][3]++,WA().s[14]++,"Disconnected";default:return WA().b[2][4]++,WA().s[15]++,"Available"}}}}),Ek=(WA().s[16]++,{class:"fa-stack"}),yk=(WA().s[17]++,{key:0,class:"ml-3"});function vk(A,C,e,n,t,i){return WA().f[3]++,WA().s[18]++,h(),Q("span",null,[b("span",Ek,[b("i",{class:zA(["fa fa-circle fa-stack-2x",i.backgroundClass])},null,2),b("i",{class:zA(["fa fa-stack-1x fa-inverse fa-fw",i.iconClass])},null,2)]),e.displayLabel?(WA().b[3][0]++,h(),Q("span",yk,sA(i.text),1)):(WA().b[3][1]++,P("",!0))])}const wk=mC(bk,[["render",vk]]);function sC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/NotificationsSwitch.vue",C="454dd262fb1d2d3b9801309b5e6fe4d5f3eb4644",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/NotificationsSwitch.vue",statementMap:{0:{start:{line:6,column:26},end:{line:6,column:51}},1:{start:{line:8,column:18},end:{line:41,column:1}},2:{start:{line:11,column:28},end:{line:11,column:48}},3:{start:{line:12,column:4},end:{line:12,column:52}},4:{start:{line:20,column:8},end:{line:20,column:43}},5:{start:{line:23,column:8},end:{line:27,column:9}},6:{start:{line:24,column:10},end:{line:24,column:74}},7:{start:{line:26,column:10},end:{line:26,column:52}},8:{start:{line:28,column:8},end:{line:28,column:59}},9:{start:{line:33,column:36},end:{line:33,column:75}},10:{start:{line:34,column:4},end:{line:36,column:5}},11:{start:{line:35,column:6},end:{line:35,column:57}},12:{start:{line:45,column:19},end:{line:45,column:29}},13:{start:{line:46,column:32},end:{line:51,column:6}},14:{start:{line:54,column:30},end:{line:54,column:59}},15:{start:{line:56,column:2},end:{line:71,column:35}},16:{start:{line:60,column:70},end:{line:60,column:119}},17:{start:{line:64,column:34},end:{line:67,column:11}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:10,column:2},end:{line:10,column:3}},loc:{start:{line:10,column:10},end:{line:13,column:3}},line:10},1:{name:"(anonymous_1)",decl:{start:{line:19,column:6},end:{line:19,column:7}},loc:{start:{line:19,column:12},end:{line:21,column:7}},line:19},2:{name:"(anonymous_2)",decl:{start:{line:22,column:6},end:{line:22,column:7}},loc:{start:{line:22,column:35},end:{line:29,column:7}},line:22},3:{name:"(anonymous_3)",decl:{start:{line:32,column:2},end:{line:32,column:3}},loc:{start:{line:32,column:13},end:{line:37,column:3}},line:32},4:{name:"_sfc_render",decl:{start:{line:53,column:9},end:{line:53,column:20}},loc:{start:{line:53,column:68},end:{line:72,column:1}},line:53},5:{name:"(anonymous_5)",decl:{start:{line:60,column:59},end:{line:60,column:60}},loc:{start:{line:60,column:70},end:{line:60,column:119}},line:60},6:{name:"(anonymous_6)",decl:{start:{line:64,column:28},end:{line:64,column:29}},loc:{start:{line:64,column:34},end:{line:67,column:11}},line:64}},branchMap:{0:{loc:{start:{line:23,column:8},end:{line:27,column:9}},type:"if",locations:[{start:{line:23,column:8},end:{line:27,column:9}},{start:{line:25,column:15},end:{line:27,column:9}}],line:23},1:{loc:{start:{line:34,column:4},end:{line:36,column:5}},type:"if",locations:[{start:{line:34,column:4},end:{line:36,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:34},2:{loc:{start:{line:56,column:9},end:{line:71,column:35}},type:"cond-expr",locations:[{start:{line:57,column:7},end:{line:70,column:8}},{start:{line:71,column:6},end:{line:71,column:35}}],line:56},3:{loc:{start:{line:60,column:33},end:{line:60,column:121}},type:"binary-expr",locations:[{start:{line:60,column:33},end:{line:60,column:42}},{start:{line:60,column:47},end:{line:60,column:120}}],line:60}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/NotificationsSwitch.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"454dd262fb1d2d3b9801309b5e6fe4d5f3eb4644"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return sC=function(){return s},s}sC();const Sl=(sC().s[0]++,"hasNotificationsEnabled"),Bk=(sC().s[1]++,{name:"NotificationsSwitch",setup(){sC().f[0]++;const{isSupported:A}=(sC().s[2]++,Mp());return sC().s[3]++,{isNotificationsSupported:A}},computed:{...Be(WC,["hasNotificationsEnabled"]),hasNotificationsEnabledSwitch:{get(){return sC().f[1]++,sC().s[4]++,this.hasNotificationsEnabled},set(A){sC().f[2]++,sC().s[5]++,A?(sC().b[0][0]++,sC().s[6]++,localStorage.setItem(Sl,A)):(sC().b[0][1]++,sC().s[7]++,localStorage.removeItem(Sl)),sC().s[8]++,this.setNotificationStatus(A)}}},mounted(){sC().f[3]++;const A=(sC().s[9]++,localStorage.getItem(Sl));sC().s[10]++,A?(sC().b[1][0]++,sC().s[11]++,this.setNotificationStatus(A)):sC().b[1][1]++},methods:{...kp(WC,["setNotificationStatus"])}}),Sk=(sC().s[12]++,{key:0}),kk=(sC().s[13]++,b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-bell-ringing fa-fw","aria-hidden":"true"})],-1));function _k(A,C,e,n,t,i){sC().f[4]++;const s=(sC().s[14]++,AA("o-switch"));return sC().s[15]++,n.isNotificationsSupported?(sC().b[2][0]++,h(),Q("div",Sk,[S(s,{modelValue:i.hasNotificationsEnabledSwitch,"onUpdate:modelValue":(sC().b[3][0]++,C[0]||(sC().b[3][1]++,C[0]=o=>(sC().f[5]++,sC().s[16]++,i.hasNotificationsEnabledSwitch=o))),title:"Allow the browser to send you notifications when you miss messages",class:"has-no-wrap"},{default:_A(()=>(sC().f[6]++,sC().s[17]++,[kk,tC("Notifications")])),_:1},8,["modelValue"])])):(sC().b[2][1]++,P("",!0))}const xk=mC(Bk,[["render",_k]]);function Z(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/PresenceController.vue",C="63df64b665d5517c3117bd0810ae531994df6d83",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/PresenceController.vue",statementMap:{0:{start:{line:7,column:33},end:{line:7,column:63}},1:{start:{line:8,column:32},end:{line:8,column:61}},2:{start:{line:10,column:18},end:{line:90,column:1}},3:{start:{line:27,column:4},end:{line:29,column:5}},4:{start:{line:42,column:8},end:{line:42,column:45}},5:{start:{line:45,column:8},end:{line:49,column:9}},6:{start:{line:46,column:10},end:{line:46,column:62}},7:{start:{line:48,column:10},end:{line:48,column:59}},8:{start:{line:50,column:8},end:{line:50,column:66}},9:{start:{line:55,column:8},end:{line:55,column:47}},10:{start:{line:58,column:8},end:{line:62,column:9}},11:{start:{line:59,column:10},end:{line:59,column:61}},12:{start:{line:61,column:10},end:{line:61,column:58}},13:{start:{line:63,column:8},end:{line:63,column:70}},14:{start:{line:68,column:4},end:{line:68,column:92}},15:{start:{line:69,column:4},end:{line:69,column:93}},16:{start:{line:73,column:6},end:{line:73,column:49}},17:{start:{line:76,column:6},end:{line:82,column:7}},18:{start:{line:77,column:8},end:{line:77,column:62}},19:{start:{line:78,column:8},end:{line:78,column:63}},20:{start:{line:80,column:8},end:{line:80,column:65}},21:{start:{line:81,column:8},end:{line:81,column:66}},22:{start:{line:85,column:6},end:{line:87,column:7}},23:{start:{line:86,column:8},end:{line:86,column:65}},24:{start:{line:94,column:19},end:{line:94,column:30}},25:{start:{line:95,column:32},end:{line:100,column:6}},26:{start:{line:101,column:32},end:{line:106,column:6}},27:{start:{line:107,column:32},end:{line:112,column:6}},28:{start:{line:115,column:30},end:{line:115,column:59}},29:{start:{line:116,column:30},end:{line:116,column:59}},30:{start:{line:117,column:42},end:{line:117,column:83}},31:{start:{line:119,column:2},end:{line:214,column:8}},32:{start:{line:148,column:14},end:{line:154,column:32}},33:{start:{line:151,column:36},end:{line:151,column:72}},34:{start:{line:164,column:76},end:{line:164,column:107}},35:{start:{line:169,column:40},end:{line:172,column:17}},36:{start:{line:184,column:76},end:{line:184,column:127}},37:{start:{line:188,column:40},end:{line:191,column:17}},38:{start:{line:200,column:76},end:{line:200,column:129}},39:{start:{line:204,column:40},end:{line:207,column:17}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:26,column:2},end:{line:26,column:3}},loc:{start:{line:26,column:10},end:{line:30,column:3}},line:26},1:{name:"(anonymous_1)",decl:{start:{line:41,column:6},end:{line:41,column:7}},loc:{start:{line:41,column:12},end:{line:43,column:7}},line:41},2:{name:"(anonymous_2)",decl:{start:{line:44,column:6},end:{line:44,column:7}},loc:{start:{line:44,column:37},end:{line:51,column:7}},line:44},3:{name:"(anonymous_3)",decl:{start:{line:54,column:6},end:{line:54,column:7}},loc:{start:{line:54,column:12},end:{line:56,column:7}},line:54},4:{name:"(anonymous_4)",decl:{start:{line:57,column:6},end:{line:57,column:7}},loc:{start:{line:57,column:39},end:{line:64,column:7}},line:57},5:{name:"(anonymous_5)",decl:{start:{line:67,column:2},end:{line:67,column:3}},loc:{start:{line:67,column:13},end:{line:70,column:3}},line:67},6:{name:"(anonymous_6)",decl:{start:{line:72,column:4},end:{line:72,column:5}},loc:{start:{line:72,column:27},end:{line:74,column:5}},line:72},7:{name:"(anonymous_7)",decl:{start:{line:75,column:4},end:{line:75,column:5}},loc:{start:{line:75,column:23},end:{line:83,column:5}},line:75},8:{name:"(anonymous_8)",decl:{start:{line:84,column:4},end:{line:84,column:5}},loc:{start:{line:84,column:29},end:{line:88,column:5}},line:84},9:{name:"_sfc_render",decl:{start:{line:114,column:9},end:{line:114,column:20}},loc:{start:{line:114,column:68},end:{line:215,column:1}},line:114},10:{name:"(anonymous_10)",decl:{start:{line:147,column:101},end:{line:147,column:102}},loc:{start:{line:147,column:121},end:{line:155,column:13}},line:147},11:{name:"(anonymous_11)",decl:{start:{line:151,column:25},end:{line:151,column:26}},loc:{start:{line:151,column:36},end:{line:151,column:72}},line:151},12:{name:"(anonymous_12)",decl:{start:{line:164,column:65},end:{line:164,column:66}},loc:{start:{line:164,column:76},end:{line:164,column:107}},line:164},13:{name:"(anonymous_13)",decl:{start:{line:169,column:34},end:{line:169,column:35}},loc:{start:{line:169,column:40},end:{line:172,column:17}},line:169},14:{name:"(anonymous_14)",decl:{start:{line:184,column:65},end:{line:184,column:66}},loc:{start:{line:184,column:76},end:{line:184,column:127}},line:184},15:{name:"(anonymous_15)",decl:{start:{line:188,column:34},end:{line:188,column:35}},loc:{start:{line:188,column:40},end:{line:191,column:17}},line:188},16:{name:"(anonymous_16)",decl:{start:{line:200,column:65},end:{line:200,column:66}},loc:{start:{line:200,column:76},end:{line:200,column:129}},line:200},17:{name:"(anonymous_17)",decl:{start:{line:204,column:34},end:{line:204,column:35}},loc:{start:{line:204,column:40},end:{line:207,column:17}},line:204}},branchMap:{0:{loc:{start:{line:45,column:8},end:{line:49,column:9}},type:"if",locations:[{start:{line:45,column:8},end:{line:49,column:9}},{start:{line:47,column:15},end:{line:49,column:9}}],line:45},1:{loc:{start:{line:58,column:8},end:{line:62,column:9}},type:"if",locations:[{start:{line:58,column:8},end:{line:62,column:9}},{start:{line:60,column:15},end:{line:62,column:9}}],line:58},2:{loc:{start:{line:76,column:6},end:{line:82,column:7}},type:"if",locations:[{start:{line:76,column:6},end:{line:82,column:7}},{start:{line:79,column:13},end:{line:82,column:7}}],line:76},3:{loc:{start:{line:85,column:6},end:{line:87,column:7}},type:"if",locations:[{start:{line:85,column:6},end:{line:87,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:85},4:{loc:{start:{line:86,column:25},end:{line:86,column:64}},type:"cond-expr",locations:[{start:{line:86,column:49},end:{line:86,column:55}},{start:{line:86,column:58},end:{line:86,column:64}}],line:86},5:{loc:{start:{line:120,column:77},end:{line:120,column:138}},type:"cond-expr",locations:[{start:{line:120,column:99},end:{line:120,column:125}},{start:{line:120,column:128},end:{line:120,column:138}}],line:120},6:{loc:{start:{line:123,column:30},end:{line:123,column:99}},type:"cond-expr",locations:[{start:{line:123,column:52},end:{line:123,column:78}},{start:{line:123,column:81},end:{line:123,column:99}}],line:123},7:{loc:{start:{line:125,column:6},end:{line:135,column:13}},type:"cond-expr",locations:[{start:{line:126,column:11},end:{line:130,column:35}},{start:{line:131,column:11},end:{line:135,column:12}}],line:125},8:{loc:{start:{line:142,column:6},end:{line:212,column:39}},type:"cond-expr",locations:[{start:{line:143,column:11},end:{line:211,column:15}},{start:{line:212,column:10},end:{line:212,column:39}}],line:142},9:{loc:{start:{line:145,column:36},end:{line:145,column:105}},type:"cond-expr",locations:[{start:{line:145,column:58},end:{line:145,column:84}},{start:{line:145,column:87},end:{line:145,column:105}}],line:145},10:{loc:{start:{line:150,column:91},end:{line:150,column:144}},type:"cond-expr",locations:[{start:{line:150,column:113},end:{line:150,column:126}},{start:{line:150,column:129},end:{line:150,column:144}}],line:150},11:{loc:{start:{line:157,column:38},end:{line:157,column:97}},type:"cond-expr",locations:[{start:{line:157,column:60},end:{line:157,column:76}},{start:{line:157,column:79},end:{line:157,column:97}}],line:157},12:{loc:{start:{line:160,column:38},end:{line:160,column:91}},type:"cond-expr",locations:[{start:{line:160,column:60},end:{line:160,column:73}},{start:{line:160,column:76},end:{line:160,column:91}}],line:160},13:{loc:{start:{line:164,column:39},end:{line:164,column:109}},type:"binary-expr",locations:[{start:{line:164,column:39},end:{line:164,column:48}},{start:{line:164,column:53},end:{line:164,column:108}}],line:164},14:{loc:{start:{line:177,column:38},end:{line:177,column:91}},type:"cond-expr",locations:[{start:{line:177,column:60},end:{line:177,column:73}},{start:{line:177,column:76},end:{line:177,column:91}}],line:177},15:{loc:{start:{line:180,column:38},end:{line:180,column:91}},type:"cond-expr",locations:[{start:{line:180,column:60},end:{line:180,column:73}},{start:{line:180,column:76},end:{line:180,column:91}}],line:180},16:{loc:{start:{line:184,column:39},end:{line:184,column:129}},type:"binary-expr",locations:[{start:{line:184,column:39},end:{line:184,column:48}},{start:{line:184,column:53},end:{line:184,column:128}}],line:184},17:{loc:{start:{line:196,column:38},end:{line:196,column:91}},type:"cond-expr",locations:[{start:{line:196,column:60},end:{line:196,column:73}},{start:{line:196,column:76},end:{line:196,column:91}}],line:196},18:{loc:{start:{line:200,column:39},end:{line:200,column:131}},type:"binary-expr",locations:[{start:{line:200,column:39},end:{line:200,column:48}},{start:{line:200,column:53},end:{line:200,column:130}}],line:200}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/PresenceController.vue"],names:[],mappings:";AA0BA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAEjC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"63df64b665d5517c3117bd0810ae531994df6d83"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return Z=function(){return s},s}Z();const kl=(Z().s[0]++,"isNotSendingTypingChatStates"),_l=(Z().s[1]++,"isSendingInactiveChatStates"),jk=(Z().s[2]++,{name:"PresenceController",components:{presence:wk,NotificationsSwitch:xk},props:{isNavbarItem:{type:Boolean,default:!1},isRight:{type:Boolean,default:!1}},data(){return Z().f[0]++,Z().s[3]++,{isAutoPresence:!1}},computed:{...Be(WC,["isOnline","presence"]),...y2(WC,["isSendingTypingChatStates","isSendingInactiveChatStates"]),isSendingTypingChatStatesSwitch:{get(){return Z().f[1]++,Z().s[4]++,this.isSendingTypingChatStates},set(A){Z().f[2]++,Z().s[5]++,A?(Z().b[0][1]++,Z().s[7]++,localStorage.removeItem(kl)):(Z().b[0][0]++,Z().s[6]++,localStorage.setItem(kl,!0)),Z().s[8]++,this.isSendingTypingChatStates=A}},isSendingInactiveChatStatesSwitch:{get(){return Z().f[3]++,Z().s[9]++,this.isSendingInactiveChatStates},set(A){Z().f[4]++,Z().s[10]++,A?(Z().b[1][0]++,Z().s[11]++,localStorage.setItem(_l,!0)):(Z().b[1][1]++,Z().s[12]++,localStorage.removeItem(_l)),Z().s[13]++,this.isSendingInactiveChatStates=A}}},mounted(){Z().f[5]++,Z().s[14]++,this.isSendingTypingChatStates=localStorage.getItem(kl)===null,Z().s[15]++,this.isSendingInactiveChatStates=localStorage.getItem(_l)!==null},methods:{setPresence(A){Z().f[6]++,Z().s[16]++,this.$xmpp.sendPresence({show:A})},setAutoPresence(){Z().f[7]++,Z().s[17]++,this.isAutoPresence?(Z().b[2][0]++,Z().s[18]++,window.addEventListener("blur",this.sendAutoPresence),Z().s[19]++,window.addEventListener("focus",this.sendAutoPresence)):(Z().b[2][1]++,Z().s[20]++,window.removeEventListener("blur",this.sendAutoPresence),Z().s[21]++,window.removeEventListener("focus",this.sendAutoPresence))},sendAutoPresence(A){Z().f[8]++,Z().s[22]++,this.$xmpp.client?(Z().b[3][0]++,Z().s[23]++,this.setPresence(A.type==="blur"?(Z().b[4][0]++,"away"):(Z().b[4][1]++,"chat"))):Z().b[3][1]++}}}),Ik=(Z().s[24]++,["onClick"]),Mk=(Z().s[25]++,b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-moon-o fa-fw","aria-hidden":"true"})],-1)),Dk=(Z().s[26]++,b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-pencil-square-o fa-fw","aria-hidden":"true"})],-1)),Pk=(Z().s[27]++,b("span",{class:"icon mr-1"},[b("i",{class:"fa fa-eye-slash fa-fw","aria-hidden":"true"})],-1));function Ok(A,C,e,n,t,i){Z().f[9]++;const s=(Z().s[28]++,AA("presence")),o=(Z().s[29]++,AA("o-switch")),l=(Z().s[30]++,AA("notifications-switch"));return Z().s[31]++,h(),Q("div",{class:zA(["is-hoverable",[{"is-right":e.isRight},e.isNavbarItem?(Z().b[5][0]++,"navbar-item has-dropdown"):(Z().b[5][1]++,"dropdown")]])},[b("a",{class:zA([e.isNavbarItem?(Z().b[6][0]++,"navbar-link is-arrowless"):(Z().b[6][1]++,"dropdown-trigger")])},[A.isOnline?(Z().b[7][0]++,h(),B(s,{key:0,presence:A.presence,"display-label":!1},null,8,["presence"])):(Z().b[7][1]++,h(),B(s,{key:1,presence:"off","display-label":!1}))],2),b("div",{id:"dropdown-menu",class:zA({"dropdown-menu":!e.isNavbarItem}),role:"menu"},[A.isOnline?(Z().b[8][0]++,h(),Q("div",{key:0,class:zA([e.isNavbarItem?(Z().b[9][0]++,"navbar-dropdown is-right"):(Z().b[9][1]++,"dropdown-content")])},[(h(),Q(hA,null,XA(["chat","away","dnd"],a=>(Z().f[10]++,Z().s[32]++,b("a",{key:a,class:zA([{"is-active":a===A.presence},e.isNavbarItem?(Z().b[10][0]++,"navbar-item"):(Z().b[10][1]++,"dropdown-item")]),onClick:r=>(Z().f[11]++,Z().s[33]++,i.setPresence(a))},[S(s,{presence:a},null,8,["presence"])],10,Ik))),64)),b("hr",{class:zA([e.isNavbarItem?(Z().b[11][0]++,"navbar-divider"):(Z().b[11][1]++,"dropdown-divider")])},null,2),b("div",{class:zA([e.isNavbarItem?(Z().b[12][0]++,"navbar-item"):(Z().b[12][1]++,"dropdown-item")])},[S(o,{modelValue:t.isAutoPresence,"onUpdate:modelValue":(Z().b[13][0]++,C[0]||(Z().b[13][1]++,C[0]=a=>(Z().f[12]++,Z().s[34]++,t.isAutoPresence=a))),title:"You will be seen away when the browser is not active",class:"has-no-wrap",onChange:i.setAutoPresence},{default:_A(()=>(Z().f[13]++,Z().s[35]++,[Mk,tC("Set away when inactive")])),_:1},8,["modelValue","onChange"])],2),S(l,{class:zA([e.isNavbarItem?(Z().b[14][0]++,"navbar-item"):(Z().b[14][1]++,"dropdown-item")])},null,8,["class"]),b("div",{class:zA([e.isNavbarItem?(Z().b[15][0]++,"navbar-item"):(Z().b[15][1]++,"dropdown-item")])},[S(o,{modelValue:i.isSendingTypingChatStatesSwitch,"onUpdate:modelValue":(Z().b[16][0]++,C[1]||(Z().b[16][1]++,C[1]=a=>(Z().f[14]++,Z().s[36]++,i.isSendingTypingChatStatesSwitch=a))),title:"Notify your partner(s) that you are typing or paused",class:"has-no-wrap"},{default:_A(()=>(Z().f[15]++,Z().s[37]++,[Dk,tC("Send typing states")])),_:1},8,["modelValue"])],2),b("div",{class:zA([e.isNavbarItem?(Z().b[17][0]++,"navbar-item"):(Z().b[17][1]++,"dropdown-item")])},[S(o,{modelValue:i.isSendingInactiveChatStatesSwitch,"onUpdate:modelValue":(Z().b[18][0]++,C[2]||(Z().b[18][1]++,C[2]=a=>(Z().f[16]++,Z().s[38]++,i.isSendingInactiveChatStatesSwitch=a))),title:"Notify your partner(s) that you are not looking the conversation",class:"has-no-wrap"},{default:_A(()=>(Z().f[17]++,Z().s[39]++,[Pk,tC("Send inactive chat states")])),_:1},8,["modelValue"])],2)],2)):(Z().b[8][1]++,P("",!0))],2)],2)}const Mf=mC(jk,[["render",Ok]]);function j(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Chat.vue",C="f2d92d3b391fd572dc97672a881ec368f531e3b1",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Chat.vue",statementMap:{0:{start:{line:16,column:18},end:{line:217,column:1}},1:{start:{line:31,column:4},end:{line:33,column:6}},2:{start:{line:32,column:6},end:{line:32,column:29}},3:{start:{line:46,column:4},end:{line:48,column:5}},4:{start:{line:52,column:6},end:{line:52,column:31}},5:{start:{line:55,column:6},end:{line:55,column:28}},6:{start:{line:58,column:6},end:{line:58,column:112}},7:{start:{line:58,column:48},end:{line:58,column:110}},8:{start:{line:61,column:6},end:{line:68,column:7}},9:{start:{line:63,column:10},end:{line:63,column:38}},10:{start:{line:65,column:10},end:{line:65,column:35}},11:{start:{line:67,column:10},end:{line:67,column:35}},12:{start:{line:76,column:6},end:{line:76,column:56}},13:{start:{line:86,column:4},end:{line:86,column:22}},14:{start:{line:89,column:4},end:{line:92,column:5}},15:{start:{line:91,column:6},end:{line:91,column:12}},16:{start:{line:93,column:4},end:{line:96,column:5}},17:{start:{line:95,column:6},end:{line:95,column:12}},18:{start:{line:98,column:4},end:{line:102,column:5}},19:{start:{line:99,column:6},end:{line:99,column:71}},20:{start:{line:101,column:6},end:{line:101,column:33}},21:{start:{line:107,column:6},end:{line:107,column:116}},22:{start:{line:111,column:6},end:{line:114,column:7}},23:{start:{line:113,column:8},end:{line:113,column:14}},24:{start:{line:115,column:6},end:{line:118,column:8}},25:{start:{line:119,column:6},end:{line:183,column:7}},26:{start:{line:121,column:19},end:{line:121,column:48}},27:{start:{line:122,column:24},end:{line:122,column:27}},28:{start:{line:123,column:8},end:{line:142,column:9}},29:{start:{line:125,column:10},end:{line:125,column:51}},30:{start:{line:126,column:10},end:{line:141,column:11}},31:{start:{line:128,column:12},end:{line:139,column:13}},32:{start:{line:129,column:14},end:{line:138,column:16}},33:{start:{line:137,column:31},end:{line:137,column:45}},34:{start:{line:140,column:12},end:{line:140,column:35}},35:{start:{line:143,column:8},end:{line:169,column:9}},36:{start:{line:145,column:25},end:{line:162,column:11}},37:{start:{line:146,column:12},end:{line:161,column:14}},38:{start:{line:150,column:30},end:{line:150,column:44}},39:{start:{line:163,column:10},end:{line:165,column:11}},40:{start:{line:166,column:10},end:{line:168,column:11}},41:{start:{line:167,column:12},end:{line:167,column:35}},42:{start:{line:170,column:23},end:{line:170,column:79}},43:{start:{line:171,column:8},end:{line:182,column:9}},44:{start:{line:172,column:10},end:{line:180,column:12}},45:{start:{line:181,column:10},end:{line:181,column:33}},46:{start:{line:184,column:6},end:{line:191,column:7}},47:{start:{line:186,column:8},end:{line:190,column:9}},48:{start:{line:187,column:10},end:{line:187,column:68}},49:{start:{line:189,column:10},end:{line:189,column:63}},50:{start:{line:192,column:6},end:{line:192,column:32}},51:{start:{line:196,column:6},end:{line:201,column:7}},52:{start:{line:197,column:8},end:{line:199,column:9}},53:{start:{line:198,column:10},end:{line:198,column:53}},54:{start:{line:200,column:8},end:{line:200,column:50}},55:{start:{line:202,column:6},end:{line:204,column:7}},56:{start:{line:203,column:8},end:{line:203,column:65}},57:{start:{line:205,column:6},end:{line:205,column:32}},58:{start:{line:209,column:6},end:{line:214,column:8}},59:{start:{line:210,column:34},end:{line:210,column:79}},60:{start:{line:211,column:8},end:{line:213,column:9}},61:{start:{line:212,column:10},end:{line:212,column:77}},62:{start:{line:221,column:19},end:{line:221,column:147}},63:{start:{line:222,column:19},end:{line:222,column:65}},64:{start:{line:223,column:32},end:{line:226,column:12}},65:{start:{line:227,column:32},end:{line:230,column:12}},66:{start:{line:231,column:19},end:{line:234,column:1}},67:{start:{line:235,column:19},end:{line:238,column:1}},68:{start:{line:241,column:33},end:{line:241,column:65}},69:{start:{line:242,column:36},end:{line:242,column:71}},70:{start:{line:243,column:37},end:{line:243,column:73}},71:{start:{line:244,column:47},end:{line:244,column:93}},72:{start:{line:245,column:41},end:{line:245,column:81}},73:{start:{line:246,column:45},end:{line:246,column:89}},74:{start:{line:247,column:41},end:{line:247,column:81}},75:{start:{line:248,column:34},end:{line:248,column:67}},76:{start:{line:249,column:28},end:{line:249,column:55}},77:{start:{line:250,column:29},end:{line:250,column:57}},78:{start:{line:251,column:29},end:{line:251,column:57}},79:{start:{line:253,column:2},end:{line:347,column:5}},80:{start:{line:262,column:36},end:{line:264,column:13}},81:{start:{line:273,column:36},end:{line:275,column:13}},82:{start:{line:326,column:32},end:{line:342,column:9}},83:{start:{line:328,column:12},end:{line:340,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:30,column:2},end:{line:30,column:3}},loc:{start:{line:30,column:36},end:{line:34,column:3}},line:30},1:{name:"(anonymous_1)",decl:{start:{line:31,column:9},end:{line:31,column:10}},loc:{start:{line:31,column:15},end:{line:33,column:5}},line:31},2:{name:"(anonymous_2)",decl:{start:{line:45,column:2},end:{line:45,column:3}},loc:{start:{line:45,column:10},end:{line:49,column:3}},line:45},3:{name:"(anonymous_3)",decl:{start:{line:51,column:4},end:{line:51,column:5}},loc:{start:{line:51,column:15},end:{line:53,column:5}},line:51},4:{name:"(anonymous_4)",decl:{start:{line:54,column:4},end:{line:54,column:5}},loc:{start:{line:54,column:16},end:{line:56,column:5}},line:54},5:{name:"(anonymous_5)",decl:{start:{line:57,column:4},end:{line:57,column:5}},loc:{start:{line:57,column:23},end:{line:59,column:5}},line:57},6:{name:"(anonymous_6)",decl:{start:{line:58,column:34},end:{line:58,column:35}},loc:{start:{line:58,column:48},end:{line:58,column:110}},line:58},7:{name:"(anonymous_7)",decl:{start:{line:60,column:4},end:{line:60,column:5}},loc:{start:{line:60,column:22},end:{line:69,column:5}},line:60},8:{name:"(anonymous_8)",decl:{start:{line:75,column:4},end:{line:75,column:5}},loc:{start:{line:75,column:26},end:{line:77,column:5}},line:75},9:{name:"(anonymous_9)",decl:{start:{line:84,column:2},end:{line:84,column:3}},loc:{start:{line:84,column:13},end:{line:87,column:3}},line:84},10:{name:"(anonymous_10)",decl:{start:{line:88,column:2},end:{line:88,column:3}},loc:{start:{line:88,column:25},end:{line:103,column:3}},line:88},11:{name:"(anonymous_11)",decl:{start:{line:106,column:4},end:{line:106,column:5}},loc:{start:{line:106,column:17},end:{line:108,column:5}},line:106},12:{name:"(anonymous_12)",decl:{start:{line:110,column:4},end:{line:110,column:5}},loc:{start:{line:110,column:25},end:{line:193,column:5}},line:110},13:{name:"(anonymous_13)",decl:{start:{line:128,column:30},end:{line:128,column:31}},loc:{start:{line:129,column:14},end:{line:138,column:16}},line:129},14:{name:"(anonymous_14)",decl:{start:{line:137,column:25},end:{line:137,column:26}},loc:{start:{line:137,column:31},end:{line:137,column:45}},line:137},15:{name:"(anonymous_15)",decl:{start:{line:145,column:43},end:{line:145,column:44}},loc:{start:{line:146,column:12},end:{line:161,column:14}},line:146},16:{name:"(anonymous_16)",decl:{start:{line:150,column:24},end:{line:150,column:25}},loc:{start:{line:150,column:30},end:{line:150,column:44}},line:150},17:{name:"(anonymous_17)",decl:{start:{line:194,column:4},end:{line:194,column:5}},loc:{start:{line:194,column:17},end:{line:206,column:5}},line:194},18:{name:"(anonymous_18)",decl:{start:{line:208,column:4},end:{line:208,column:5}},loc:{start:{line:208,column:27},end:{line:215,column:5}},line:208},19:{name:"(anonymous_19)",decl:{start:{line:209,column:21},end:{line:209,column:22}},loc:{start:{line:209,column:27},end:{line:214,column:7}},line:209},20:{name:"_sfc_render",decl:{start:{line:240,column:9},end:{line:240,column:20}},loc:{start:{line:240,column:68},end:{line:348,column:1}},line:240},21:{name:"(anonymous_21)",decl:{start:{line:262,column:30},end:{line:262,column:31}},loc:{start:{line:262,column:36},end:{line:264,column:13}},line:262},22:{name:"(anonymous_22)",decl:{start:{line:273,column:30},end:{line:273,column:31}},loc:{start:{line:273,column:36},end:{line:275,column:13}},line:273},23:{name:"(anonymous_23)",decl:{start:{line:326,column:26},end:{line:326,column:27}},loc:{start:{line:326,column:32},end:{line:342,column:9}},line:326},24:{name:"(anonymous_24)",decl:{start:{line:327,column:104},end:{line:327,column:105}},loc:{start:{line:327,column:117},end:{line:341,column:11}},line:327}},branchMap:{0:{loc:{start:{line:58,column:48},end:{line:58,column:110}},type:"binary-expr",locations:[{start:{line:58,column:48},end:{line:58,column:78}},{start:{line:58,column:82},end:{line:58,column:110}}],line:58},1:{loc:{start:{line:61,column:6},end:{line:68,column:7}},type:"switch",locations:[{start:{line:62,column:8},end:{line:63,column:38}},{start:{line:64,column:8},end:{line:65,column:35}},{start:{line:66,column:8},end:{line:67,column:35}}],line:61},2:{loc:{start:{line:76,column:13},end:{line:76,column:56}},type:"binary-expr",locations:[{start:{line:76,column:13},end:{line:76,column:41}},{start:{line:76,column:45},end:{line:76,column:56}}],line:76},3:{loc:{start:{line:89,column:4},end:{line:92,column:5}},type:"if",locations:[{start:{line:89,column:4},end:{line:92,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:89},4:{loc:{start:{line:93,column:4},end:{line:96,column:5}},type:"if",locations:[{start:{line:93,column:4},end:{line:96,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:93},5:{loc:{start:{line:107,column:13},end:{line:107,column:116}},type:"binary-expr",locations:[{start:{line:107,column:13},end:{line:107,column:43}},{start:{line:107,column:47},end:{line:107,column:82}},{start:{line:107,column:86},end:{line:107,column:116}}],line:107},6:{loc:{start:{line:111,column:6},end:{line:114,column:7}},type:"if",locations:[{start:{line:111,column:6},end:{line:114,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:111},7:{loc:{start:{line:116,column:14},end:{line:116,column:48}},type:"cond-expr",locations:[{start:{line:116,column:28},end:{line:116,column:39}},{start:{line:116,column:42},end:{line:116,column:48}}],line:116},8:{loc:{start:{line:119,column:6},end:{line:183,column:7}},type:"if",locations:[{start:{line:119,column:6},end:{line:183,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:119},9:{loc:{start:{line:119,column:10},end:{line:119,column:56}},type:"binary-expr",locations:[{start:{line:119,column:10},end:{line:119,column:21}},{start:{line:119,column:25},end:{line:119,column:56}}],line:119},10:{loc:{start:{line:123,column:8},end:{line:142,column:9}},type:"if",locations:[{start:{line:123,column:8},end:{line:142,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:123},11:{loc:{start:{line:123,column:12},end:{line:123,column:30}},type:"binary-expr",locations:[{start:{line:123,column:12},end:{line:123,column:17}},{start:{line:123,column:21},end:{line:123,column:30}}],line:123},12:{loc:{start:{line:126,column:10},end:{line:141,column:11}},type:"if",locations:[{start:{line:126,column:10},end:{line:141,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:126},13:{loc:{start:{line:134,column:27},end:{line:134,column:64}},type:"binary-expr",locations:[{start:{line:134,column:27},end:{line:134,column:39}},{start:{line:134,column:43},end:{line:134,column:64}}],line:134},14:{loc:{start:{line:143,column:8},end:{line:169,column:9}},type:"if",locations:[{start:{line:143,column:8},end:{line:169,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:143},15:{loc:{start:{line:143,column:12},end:{line:143,column:48}},type:"binary-expr",locations:[{start:{line:143,column:12},end:{line:143,column:20}},{start:{line:143,column:24},end:{line:143,column:48}}],line:143},16:{loc:{start:{line:157,column:25},end:{line:157,column:44}},type:"binary-expr",locations:[{start:{line:157,column:25},end:{line:157,column:38}},{start:{line:157,column:42},end:{line:157,column:44}}],line:157},17:{loc:{start:{line:166,column:10},end:{line:168,column:11}},type:"if",locations:[{start:{line:166,column:10},end:{line:168,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:166},18:{loc:{start:{line:171,column:8},end:{line:182,column:9}},type:"if",locations:[{start:{line:171,column:8},end:{line:182,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:171},19:{loc:{start:{line:177,column:23},end:{line:177,column:62}},type:"binary-expr",locations:[{start:{line:177,column:23},end:{line:177,column:37}},{start:{line:177,column:41},end:{line:177,column:62}}],line:177},20:{loc:{start:{line:184,column:6},end:{line:191,column:7}},type:"if",locations:[{start:{line:184,column:6},end:{line:191,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:184},21:{loc:{start:{line:184,column:10},end:{line:184,column:59}},type:"binary-expr",locations:[{start:{line:184,column:10},end:{line:184,column:22}},{start:{line:184,column:26},end:{line:184,column:59}}],line:184},22:{loc:{start:{line:196,column:6},end:{line:201,column:7}},type:"if",locations:[{start:{line:196,column:6},end:{line:201,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:196},23:{loc:{start:{line:196,column:10},end:{line:196,column:90}},type:"binary-expr",locations:[{start:{line:196,column:10},end:{line:196,column:28}},{start:{line:196,column:32},end:{line:196,column:90}}],line:196},24:{loc:{start:{line:197,column:8},end:{line:199,column:9}},type:"if",locations:[{start:{line:197,column:8},end:{line:199,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:197},25:{loc:{start:{line:202,column:6},end:{line:204,column:7}},type:"if",locations:[{start:{line:202,column:6},end:{line:204,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:202},26:{loc:{start:{line:202,column:10},end:{line:202,column:45}},type:"binary-expr",locations:[{start:{line:202,column:10},end:{line:202,column:23}},{start:{line:202,column:27},end:{line:202,column:45}}],line:202},27:{loc:{start:{line:211,column:8},end:{line:213,column:9}},type:"if",locations:[{start:{line:211,column:8},end:{line:213,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:211},28:{loc:{start:{line:255,column:6},end:{line:277,column:24}},type:"cond-expr",locations:[{start:{line:256,column:11},end:{line:266,column:26}},{start:{line:267,column:11},end:{line:277,column:23}}],line:255},29:{loc:{start:{line:283,column:8},end:{line:288,column:41}},type:"cond-expr",locations:[{start:{line:284,column:13},end:{line:287,column:37}},{start:{line:288,column:12},end:{line:288,column:41}}],line:283},30:{loc:{start:{line:289,column:8},end:{line:294,column:41}},type:"cond-expr",locations:[{start:{line:290,column:13},end:{line:293,column:32}},{start:{line:294,column:12},end:{line:294,column:41}}],line:289},31:{loc:{start:{line:289,column:9},end:{line:289,column:49}},type:"binary-expr",locations:[{start:{line:289,column:9},end:{line:289,column:22}},{start:{line:289,column:26},end:{line:289,column:49}}],line:289},32:{loc:{start:{line:295,column:8},end:{line:300,column:41}},type:"cond-expr",locations:[{start:{line:296,column:13},end:{line:299,column:37}},{start:{line:300,column:12},end:{line:300,column:41}}],line:295},33:{loc:{start:{line:295,column:9},end:{line:295,column:49}},type:"binary-expr",locations:[{start:{line:295,column:9},end:{line:295,column:22}},{start:{line:295,column:26},end:{line:295,column:49}}],line:295},34:{loc:{start:{line:301,column:8},end:{line:306,column:41}},type:"cond-expr",locations:[{start:{line:302,column:13},end:{line:305,column:37}},{start:{line:306,column:12},end:{line:306,column:41}}],line:301},35:{loc:{start:{line:308,column:8},end:{line:315,column:41}},type:"cond-expr",locations:[{start:{line:309,column:13},end:{line:314,column:14}},{start:{line:315,column:12},end:{line:315,column:41}}],line:308},36:{loc:{start:{line:319,column:6},end:{line:324,column:39}},type:"cond-expr",locations:[{start:{line:320,column:11},end:{line:323,column:35}},{start:{line:324,column:10},end:{line:324,column:39}}],line:319},37:{loc:{start:{line:333,column:21},end:{line:333,column:123}},type:"cond-expr",locations:[{start:{line:333,column:86},end:{line:333,column:103}},{start:{line:333,column:106},end:{line:333,column:123}}],line:333},38:{loc:{start:{line:333,column:22},end:{line:333,column:82}},type:"binary-expr",locations:[{start:{line:333,column:22},end:{line:333,column:35}},{start:{line:333,column:39},end:{line:333,column:82}}],line:333}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0},b:{0:[0,0],1:[0,0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0,0],38:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Chat.vue"],names:[],mappings:";AA6BA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f2d92d3b391fd572dc97672a881ec368f531e3b1"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return j=function(){return s},s}j();const Lk=(j().s[0]++,{name:"Chat",components:{avatar:yt,message:Vw,InviteGuestButton:d9,BookmarkButton:g9,RoomConfigurationButton:F9,RetrieveHistoryButton:U9,RoomOccupants:z9,RoomSubject:nB,Sendbox:gk,PresenceController:Mf},beforeRouteEnter(A,C,e){j().f[0]++,j().s[1]++,e(n=>{j().f[1]++,j().s[2]++,n.previousRoute=C})},props:{jid:{type:String,default:null},isRoom:{type:Boolean,default:!1}},data(){return j().f[2]++,j().s[3]++,{previousRoute:null}},computed:{userJid(){return j().f[3]++,j().s[4]++,this.$xmpp.fullJid},userNick(){return j().f[4]++,j().s[5]++,this.$xmpp.nick},messagesWithJid(){return j().f[5]++,j().s[6]++,this.messages.filter(A=>(j().f[6]++,j().s[7]++,j().b[0][0]++,A.from.bare===this.jid||(j().b[0][1]++,A.to.bare===this.jid)))},chatStateClass(){switch(j().f[7]++,j().s[8]++,this.$store.getChatState(this.isRoom,this.jid)){case"composing":return j().b[1][0]++,j().s[9]++,"has-text-grey-light";case"paused":return j().b[1][1]++,j().s[10]++,"has-text-shade-3";default:return j().b[1][2]++,j().s[11]++,"has-text-shade-4"}},...Be(WC,["activeChat","messages","isSendingInactiveChatStates"]),hasGuestInviteLink(){return j().f[8]++,j().s[12]++,j().b[2][0]++,window.config.hasGuestAccess&&(j().b[2][1]++,this.isRoom)}},watch:{jid:"handleRoute",messagesWithJid:"scrollToLastMessage"},mounted(){j().f[9]++,j().s[13]++,this.handleRoute()},async beforeUnmount(){if(j().f[10]++,j().s[14]++,this.userJid)j().b[3][1]++;else{j().b[3][0]++,j().s[15]++;return}if(j().s[16]++,this.isSendingInactiveChatStates)j().b[4][1]++;else{j().b[4][0]++,j().s[17]++;return}j().s[18]++;try{j().s[19]++,await this.$xmpp.sendChatState(this.jid,this.isRoom,"inactive")}catch(A){j().s[20]++,console.warn(A.message)}},methods:{isUser(A){return j().f[11]++,j().s[21]++,j().b[5][0]++,A.bare===this.userJid.bare||(j().b[5][1]++,A.resource===this.userJid.local)||(j().b[5][2]++,A.resource===this.userNick)},async handleRoute(){if(j().f[12]++,j().s[22]++,this.userJid)j().b[6][1]++;else{j().b[6][0]++,j().s[23]++;return}if(j().s[24]++,this.$store.setActiveChat({type:this.isRoom?(j().b[7][0]++,"groupchat"):(j().b[7][1]++,"chat"),activeChat:this.jid}),j().s[25]++,j().b[9][0]++,this.isRoom&&(j().b[9][1]++,!this.$store.isJoined(this.jid))){j().b[8][0]++;let A=(j().s[26]++,this.$store.getRoom(this.jid));const C=(j().s[27]++,{});if(j().s[28]++,j().b[11][0]++,!A||(j().b[11][1]++,!A.jid))if(j().b[10][0]++,j().s[29]++,A=await this.$xmpp.getRoom(this.jid),j().s[30]++,A.jid)j().b[12][1]++;else return j().b[12][0]++,j().s[31]++,await new Promise(n=>(j().f[13]++,j().s[32]++,this.$oruga.modal.open({component:Qt,trapFocus:!0,props:{title:"Error",message:(j().b[13][0]++,A.message||(j().b[13][1]++,"Unable to join room")),type:"is-danger"},onClose:()=>(j().f[14]++,j().s[33]++,n(!1))}))),j().s[34]++,this.abortChat();else j().b[10][1]++;if(j().s[35]++,j().b[15][0]++,A.jid&&(j().b[15][1]++,A.isPasswordProtected)){j().b[14][0]++;const n=(j().s[36]++,await new Promise(t=>(j().f[15]++,j().s[37]++,this.$oruga.modal.open({rootClass:"dialog",trapFocus:!0,component:Qt,onCancel:()=>(j().f[16]++,j().s[38]++,t(!1)),props:{title:"Room protected",message:'<span class="icon mr-2"><i class="fa fa-key-modern" /></i></span><span>Please enter password</span>',prompt:{placeholder:"Password",type:"password",value:(j().b[16][0]++,A.password||(j().b[16][1]++,""))},onPromptAnswered:t}}))));if(j().s[39]++,C.muc={password:n},j().s[40]++,n===!1)return j().b[17][0]++,j().s[41]++,this.abortChat();j().b[17][1]++}else j().b[14][1]++;const e=(j().s[42]++,await this.$xmpp.joinRoom(this.jid,null,C,A));if(j().s[43]++,e.isSuccess)j().b[18][1]++;else return j().b[18][0]++,j().s[44]++,this.$oruga.modal.open({component:Qt,trapFocus:!0,props:{title:"Error",message:(j().b[19][0]++,e.message||(j().b[19][1]++,"Unable to join room")),type:"is-danger"}}),j().s[45]++,this.abortChat()}else j().b[8][1]++;if(j().s[46]++,j().b[21][0]++,!this.isRoom&&(j().b[21][1]++,this.messagesWithJid.length===0)){j().b[20][0]++,j().s[47]++;try{j().s[48]++,await this.$xmpp.searchHistory(this.activeChat,void 0)}catch(A){j().s[49]++,console.warn("History was not loaded",A.message)}}else j().b[20][1]++;j().s[50]++,this.scrollToLastMessage()},abortChat(){return j().f[17]++,j().s[51]++,j().b[23][0]++,this.previousRoute&&(j().b[23][1]++,this.previousRoute.query.redirect===this.$route.fullPath)?(j().b[22][0]++,j().s[52]++,this.$xmpp.isAnonymous?(j().b[24][0]++,j().s[53]++,this.$router.push({name:"guest"})):(j().b[24][1]++,j().s[54]++,this.$router.push({name:"home"}))):(j().b[22][1]++,j().s[55]++,j().b[26][0]++,history.state&&(j().b[26][1]++,history.state.back)?(j().b[25][0]++,j().s[56]++,this.$router.replace({path:history.state.back})):(j().b[25][1]++,j().s[57]++,this.$router.back()))},scrollToLastMessage(){j().f[18]++,j().s[58]++,this.$nextTick(()=>{j().f[19]++;const A=(j().s[59]++,document.getElementById("messages-container"));j().s[60]++,A?(j().b[27][0]++,j().s[61]++,A.scrollTop=A.scrollHeight+5e3):j().b[27][1]++})}}}),Kk=(j().s[62]++,{class:"is-flex is-flex-direction-column is-justify-content-space-between is-full-height has-background-shade-4 is-relative"}),Fk=(j().s[63]++,{class:"toolbar has-border-bottom-shade-3"}),Tk=(j().s[64]++,b("i",{class:"fa fa-arrow-circle-left","aria-hidden":"true"},null,-1)),Nk=(j().s[65]++,b("i",{class:"fa fa-arrow-circle-left","aria-hidden":"true"},null,-1)),$k=(j().s[66]++,{class:"is-flex is-align-items-center",style:{"min-width":"0"}}),Rk=(j().s[67]++,{id:"messages-container",class:"messages-container"});function Gk(A,C,e,n,t,i){j().f[20]++;const s=(j().s[68]++,AA("router-link")),o=(j().s[69]++,AA("room-occupants")),l=(j().s[70]++,AA("bookmark-button")),a=(j().s[71]++,AA("room-configuration-button")),r=(j().s[72]++,AA("invite-guest-button")),p=(j().s[73]++,AA("retrieve-history-button")),d=(j().s[74]++,AA("presence-controller")),m=(j().s[75]++,AA("room-subject")),g=(j().s[76]++,AA("avatar")),y=(j().s[77]++,AA("message")),k=(j().s[78]++,AA("sendbox"));return j().s[79]++,h(),Q("main",Kk,[b("div",Fk,[A.$xmpp.isAnonymous?(j().b[28][1]++,h(),B(s,{key:1,to:{name:"guestRooms",state:{nick:i.userNick}},class:"button is-primary-ghost has-no-border is-shadowless",title:"Leave this room and go back to rooms list"},{default:_A(()=>(j().f[22]++,j().s[81]++,[Nk])),_:1},8,["to"])):(j().b[28][0]++,h(),B(s,{key:0,to:{name:"home"},class:zA(["button is-primary-ghost has-no-border is-shadowless",{"is-hidden-tablet":e.jid}]),title:"Back to contacts"},{default:_A(()=>(j().f[21]++,j().s[80]++,[Tk])),_:1},8,["class"])),b("i",{class:zA(["fa fa-lg fa-pencil-square-o",i.chatStateClass]),"aria-hidden":"true"},null,2),b("span",$k,[e.isRoom?(j().b[29][0]++,h(),B(o,{key:0,"room-jid":e.jid},null,8,["room-jid"])):(j().b[29][1]++,P("",!0)),(j().b[31][0]++,e.isRoom&&(j().b[31][1]++,!A.$xmpp.isAnonymous)?(j().b[30][0]++,h(),B(l,{key:1,jid:e.jid},null,8,["jid"])):(j().b[30][1]++,P("",!0))),(j().b[33][0]++,e.isRoom&&(j().b[33][1]++,!A.$xmpp.isAnonymous)?(j().b[32][0]++,h(),B(a,{key:2,"room-jid":e.jid},null,8,["room-jid"])):(j().b[32][1]++,P("",!0))),i.hasGuestInviteLink?(j().b[34][0]++,h(),B(r,{key:3,"room-jid":e.jid},null,8,["room-jid"])):(j().b[34][1]++,P("",!0)),S(p),A.$xmpp.isAnonymous?(j().b[35][0]++,h(),B(d,{key:4,"is-navbar-item":!1,"is-right":!0,class:"px-2 mx-2"})):(j().b[35][1]++,P("",!0))])]),b("div",Rk,[e.isRoom?(j().b[36][0]++,h(),B(m,{key:0,"room-jid":e.jid},null,8,["room-jid"])):(j().b[36][1]++,P("",!0)),S(A2,{name:"messages-list"},{default:_A(()=>(j().f[23]++,j().s[82]++,[(h(!0),Q(hA,null,XA(i.messagesWithJid,_=>(j().f[24]++,j().s[83]++,h(),Q("div",{key:_.id,class:zA(["mx-4 my-2 is-flex",{"is-flex-direction-row-reverse":i.isUser(_.from)}])},[S(g,{jid:(j().b[38][0]++,e.isRoom&&(j().b[38][1]++,_.from.bare!==i.userJid.bare)?(j().b[37][0]++,_.from.full):(j().b[37][1]++,_.from.bare)),"display-jid":!1},null,8,["jid"]),S(y,{message:_,"display-nick":e.isRoom},null,8,["message","display-nick"])],2))),128))])),_:1})]),S(k,{"is-room":e.isRoom},null,8,["is-room"])])}const Ba=mC(Lk,[["render",Gk]]),Df="0.10.2",Uk="Lightweight web chat client for XMPP server",Pf="https://github.com/nioc/xmpp-web",Qk={url:"https://github.com/nioc/xmpp-web/issues"},Sa="AGPL-3.0-or-later",Hk={latestReleaseUrl:"https://api.github.com/repos/nioc/xmpp-web/releases/latest"};function KA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Navbar.vue",C="363da7ff9c0036fc06d153a18e2deee6cc53a21a",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Navbar.vue",statementMap:{0:{start:{line:8,column:18},end:{line:41,column:1}},1:{start:{line:15,column:4},end:{line:18,column:5}},2:{start:{line:26,column:4},end:{line:26,column:55}},3:{start:{line:30,column:6},end:{line:30,column:44}},4:{start:{line:31,column:6},end:{line:31,column:74}},5:{start:{line:34,column:6},end:{line:34,column:35}},6:{start:{line:35,column:6},end:{line:35,column:25}},7:{start:{line:36,column:6},end:{line:36,column:26}},8:{start:{line:37,column:6},end:{line:37,column:28}},9:{start:{line:38,column:6},end:{line:38,column:36}},10:{start:{line:45,column:19},end:{line:45,column:62}},11:{start:{line:46,column:19},end:{line:46,column:44}},12:{start:{line:47,column:32},end:{line:50,column:6}},13:{start:{line:51,column:19},end:{line:51,column:60}},14:{start:{line:52,column:32},end:{line:55,column:12}},15:{start:{line:56,column:32},end:{line:56,column:96}},16:{start:{line:57,column:32},end:{line:57,column:96}},17:{start:{line:58,column:19},end:{line:62,column:1}},18:{start:{line:63,column:19},end:{line:66,column:1}},19:{start:{line:67,column:20},end:{line:67,column:43}},20:{start:{line:68,column:20},end:{line:68,column:70}},21:{start:{line:69,column:20},end:{line:69,column:57}},22:{start:{line:70,column:20},end:{line:70,column:57}},23:{start:{line:71,column:33},end:{line:71,column:110}},24:{start:{line:72,column:33},end:{line:72,column:103}},25:{start:{line:73,column:20},end:{line:73,column:28}},26:{start:{line:74,column:33},end:{line:74,column:102}},27:{start:{line:75,column:33},end:{line:75,column:97}},28:{start:{line:76,column:33},end:{line:76,column:107}},29:{start:{line:79,column:33},end:{line:79,column:65}},30:{start:{line:80,column:41},end:{line:80,column:81}},31:{start:{line:81,column:28},end:{line:81,column:55}},32:{start:{line:83,column:2},end:{line:160,column:5}},33:{start:{line:89,column:32},end:{line:91,column:9}},34:{start:{line:101,column:57},end:{line:101,column:108}},35:{start:{line:121,column:38},end:{line:124,column:15}},36:{start:{line:132,column:38},end:{line:135,column:15}},37:{start:{line:151,column:60},end:{line:151,column:77}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:10},end:{line:19,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:25,column:2},end:{line:25,column:3}},loc:{start:{line:25,column:13},end:{line:27,column:3}},line:25},2:{name:"(anonymous_2)",decl:{start:{line:29,column:4},end:{line:29,column:5}},loc:{start:{line:29,column:19},end:{line:32,column:5}},line:29},3:{name:"(anonymous_3)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:20},end:{line:39,column:5}},line:33},4:{name:"_sfc_render",decl:{start:{line:78,column:9},end:{line:78,column:20}},loc:{start:{line:78,column:68},end:{line:161,column:1}},line:78},5:{name:"(anonymous_5)",decl:{start:{line:89,column:26},end:{line:89,column:27}},loc:{start:{line:89,column:32},end:{line:91,column:9}},line:89},6:{name:"(anonymous_6)",decl:{start:{line:101,column:43},end:{line:101,column:44}},loc:{start:{line:101,column:57},end:{line:101,column:108}},line:101},7:{name:"(anonymous_7)",decl:{start:{line:121,column:32},end:{line:121,column:33}},loc:{start:{line:121,column:38},end:{line:124,column:15}},line:121},8:{name:"(anonymous_8)",decl:{start:{line:132,column:32},end:{line:132,column:33}},loc:{start:{line:132,column:38},end:{line:135,column:15}},line:132},9:{name:"(anonymous_9)",decl:{start:{line:151,column:49},end:{line:151,column:50}},loc:{start:{line:151,column:60},end:{line:151,column:77}},line:151}},branchMap:{0:{loc:{start:{line:101,column:17},end:{line:101,column:110}},type:"binary-expr",locations:[{start:{line:101,column:17},end:{line:101,column:26}},{start:{line:101,column:31},end:{line:101,column:109}}],line:101},1:{loc:{start:{line:101,column:57},end:{line:101,column:108}},type:"binary-expr",locations:[{start:{line:101,column:57},end:{line:101,column:76}},{start:{line:101,column:80},end:{line:101,column:108}}],line:101},2:{loc:{start:{line:151,column:23},end:{line:151,column:79}},type:"binary-expr",locations:[{start:{line:151,column:23},end:{line:151,column:32}},{start:{line:151,column:37},end:{line:151,column:78}}],line:151}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Navbar.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"363da7ff9c0036fc06d153a18e2deee6cc53a21a"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return KA=function(){return s},s}KA();const Vk=(KA().s[0]++,{name:"Navbar",components:{avatar:yt,PresenceController:Mf},data(){return KA().f[0]++,KA().s[1]++,{userJid:localStorage.getItem("barejid"),bugUrl:Qk.url}},computed:{...Be(WC,["activeChat"])},mounted(){KA().f[1]++,KA().s[2]++,document.body.classList.add("has-navbar-fixed-top")},methods:{toggleMenu(A){KA().f[2]++,KA().s[3]++,A.target.classList.toggle("is-active"),KA().s[4]++,document.getElementById("navbar-menu").classList.toggle("is-active")},async logout(){KA().f[3]++,KA().s[5]++,await this.$xmpp.disconnect(),KA().s[6]++,this.$store.clear(),KA().s[7]++,localStorage.clear(),KA().s[8]++,sessionStorage.clear(),KA().s[9]++,this.$router.replace("/login")}}}),zk=(KA().s[10]++,{class:"navbar is-shade-2 is-fixed-top"}),qk=(KA().s[11]++,{class:"navbar-brand"}),Wk=(KA().s[12]++,b("h1",{class:"has-text-weight-bold"},[b("i",{class:"fa fa-xmpp fa-fw"}),b("span",{class:"ml-3 is-hidden-mobile"},"Home")],-1)),Yk=(KA().s[13]++,{class:"navbar-item is-hidden-tablet"}),Jk=(KA().s[14]++,b("span",{"aria-hidden":"true",class:"is-primary"},null,-1)),Xk=(KA().s[15]++,b("span",{"aria-hidden":"true"},null,-1)),Zk=(KA().s[16]++,b("span",{"aria-hidden":"true"},null,-1)),A_=(KA().s[17]++,[Jk,Xk,Zk]),C_=(KA().s[18]++,{id:"navbar-menu",class:"navbar-menu"}),e_=(KA().s[19]++,{class:"navbar-end"}),n_=(KA().s[20]++,{class:"navbar-item has-dropdown is-hoverable"}),t_=(KA().s[21]++,{class:"navbar-link is-arrowless"}),i_=(KA().s[22]++,{class:"navbar-dropdown is-right"}),s_=(KA().s[23]++,b("i",{class:"fa fa-info-circle fa-fw mr-3"},null,-1)),o_=(KA().s[24]++,b("i",{class:"fa fa-user fa-fw mr-3"},null,-1)),l_=(KA().s[25]++,["href"]),a_=(KA().s[26]++,b("i",{class:"fa fa-bug fa-fw mr-3"},null,-1)),r_=(KA().s[27]++,b("hr",{class:"navbar-divider"},null,-1)),c_=(KA().s[28]++,b("i",{class:"fa fa-sign-out fa-fw mr-3"},null,-1));function u_(A,C,e,n,t,i){KA().f[4]++;const s=(KA().s[29]++,AA("router-link")),o=(KA().s[30]++,AA("presence-controller")),l=(KA().s[31]++,AA("avatar"));return KA().s[32]++,h(),Q("nav",zk,[b("div",qk,[S(s,{class:"navbar-item",to:{name:"home"}},{default:_A(()=>(KA().f[5]++,KA().s[33]++,[Wk])),_:1}),b("span",Yk,sA(A.activeChat),1),b("a",{id:"navbar-burger",role:"button",class:"navbar-burger","aria-label":"menu","aria-expanded":"false",onClick:(KA().b[0][0]++,C[0]||(KA().b[0][1]++,C[0]=(...a)=>(KA().f[6]++,KA().s[34]++,KA().b[1][0]++,i.toggleMenu&&(KA().b[1][1]++,i.toggleMenu(...a)))))},A_)]),b("div",C_,[b("div",e_,[S(o,{"is-navbar-item":!0}),b("div",n_,[b("a",t_,[S(l,{jid:t.userJid,"display-jid":!0,size:32},null,8,["jid"])]),b("div",i_,[S(s,{class:"navbar-item",to:{name:"about"},"active-class":"is-active"},{default:_A(()=>(KA().f[7]++,KA().s[35]++,[s_,tC("About")])),_:1}),S(s,{class:"navbar-item",to:{name:"profile"},"active-class":"is-active"},{default:_A(()=>(KA().f[8]++,KA().s[36]++,[o_,tC("Profile")])),_:1}),b("a",{class:"navbar-item",href:t.bugUrl,target:"_blank",rel:"noreferrer"},[a_,tC("Bug")],8,l_),r_,b("a",{id:"logout",class:"navbar-item",onClick:(KA().b[2][0]++,C[1]||(KA().b[2][1]++,C[1]=a=>(KA().f[9]++,KA().s[37]++,i.logout())))},[c_,tC("Logout")])])])])])])}const m_=mC(Vk,[["render",u_]]);function GC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Version.vue",C="354b3cfc300e4e015d304f16ca3d3c8d2647841a",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Version.vue",statementMap:{0:{start:{line:4,column:18},end:{line:15,column:1}},1:{start:{line:7,column:4},end:{line:13,column:5}},2:{start:{line:19,column:32},end:{line:25,column:6}},3:{start:{line:26,column:32},end:{line:29,column:12}},4:{start:{line:30,column:32},end:{line:30,column:93}},5:{start:{line:31,column:19},end:{line:31,column:27}},6:{start:{line:32,column:19},end:{line:32,column:36}},7:{start:{line:33,column:32},end:{line:39,column:6}},8:{start:{line:40,column:19},end:{line:40,column:28}},9:{start:{line:41,column:19},end:{line:41,column:36}},10:{start:{line:42,column:32},end:{line:48,column:6}},11:{start:{line:51,column:2},end:{line:85,column:3}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:2},end:{line:6,column:3}},loc:{start:{line:6,column:10},end:{line:14,column:3}},line:6},1:{name:"_sfc_render",decl:{start:{line:50,column:9},end:{line:50,column:20}},loc:{start:{line:50,column:68},end:{line:86,column:1}},line:50}},branchMap:{0:{loc:{start:{line:51,column:9},end:{line:85,column:3}},type:"binary-expr",locations:[{start:{line:51,column:9},end:{line:51,column:18}},{start:{line:52,column:4},end:{line:84,column:13}}],line:51}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},f:{0:0,1:0},b:{0:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Version.vue"],names:[],mappings:";AASA,MAAK,CAAE,EAAE,OAAO,CAAE,CAAA,OAAO,CAAA,CAAE,QAAS,CAAA,CAAA,CAAE,IAAK,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;;AAE9D,KAAK,CAAA,SAAU,CAAA,CAAA,CAAA,CAAA;AACb,CAAA,CAAA,IAAI,CAAA,CAAE,CAAC,OAAO,CAAC,CAAA;AACf,CAAA,CAAA,IAAK,CAAA,CAAC,CAAE,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,MAAO,CAAA,CAAA;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAE,CAAA,QAAgC,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAE,CAAA,MAA+B,CAAA;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAQ,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAA;AACT,CAAA,CAAA,CAAA,CAAA,CAAA;EACF,CAAC,CAAA;AACH,CAAA;;;;gCApBU,mBAAwG,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAlG,KAAK,CAAA,CAAC,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;eAAC,mBAA6C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAA1C,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAc,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,MAAA,CAAW,EAAC,CAAM,IAAA,CAAA;;AAAG,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,mBAAA,CAAiC,CAA3B,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAA,EAAA,CAAA,IAAA,CAAS,IAAC,CAAI,IAAA,CAAA,CAAA;;gCAAwB,mBAA4D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAzD,CAAA,CAAA,KAAK,EAAC,CAA6B,EAAA,CAAA,EAAA,CAAA,KAAA,CAAA,GAAA,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,IAAA,CAAA,MAAA,CAAW,EAAC,CAAM,IAAA,CAAA;;AAAG,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,mBAAA,CAAiC,CAA3B,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAA,EAAA,CAAA,IAAA,CAAS,IAAC,CAAI,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAFlN,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAGU,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gCAAC,mBAAwG,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAlG,KAAK,CAAA,CAAC,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;eAAC,mBAA0C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAvC,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAW,EAAA,CAAA,EAAA,CAAA,GAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,MAAA,CAAW,EAAC,CAAM,IAAA,CAAA;;AAAG,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,mBAAA,CAAoC,CAA9B,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAA,EAAA,CAAA,IAAA,CAAS,IAAC,CAAO,OAAA,CAAA,CAAA;;AAHjH,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA;AAIU,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gCAAC,mBAAkH,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAA5G,KAAK,CAAA,CAAC,CAAM,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;eAAC,mBAAoD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAqB,EAAA,CAAA,EAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,MAAA,CAAW,EAAC,CAAM,IAAA,CAAA;;AAAG,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,mBAAA,CAAoC,CAA9B,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAA,EAAA,CAAA,IAAA,CAAS,IAAC,CAAO,OAAA,CAAA,CAAA;;;;;;gBAHzH,mBAIO,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAJM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAyD,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,IAAA,CAAA,QAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAqB,EAArB,CAAqB,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;;MAChG,mBAA0T,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;QAApT,UAAwG,CAAA;AAFlH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAEkH,CAAU,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA;QAAA,UAA4D,CAAA;QAAA,UAAiC,CAAA;AAFzN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAEyN,CAAI,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QAAA,mBAA0F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA;UAAvF,mBAAmF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAA/E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,EAAE,CAAQ,IAAA,CAAA,QAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,EAAC,CAAQ,MAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,EAAC,CAAY,UAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAe,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAI,CAF/S,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA;;;AAGI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAoM,QAApM,UAAoM,CAAA,CAAA,CAAA;QAAjL,UAAwG,CAAA;QAAA,mBAAkE,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA;UAA3D,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAU,IAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAS,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA,IAAA,CAAA,OAAO,CAHvL,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA;;AAII,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAsK,QAAtK,UAAsK,CAAA,CAAA,CAAA;QAAnJ,UAAkH,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAA0B,+BAAjB,CAAO,IAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"354b3cfc300e4e015d304f16ca3d3c8d2647841a"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return GC=function(){return s},s}GC();const d_=(GC().s[0]++,{name:"Version",data(){return GC().f[0]++,GC().s[1]++,{gitVersion:"0.10.3",gitBranch:"HEAD",homepage:Pf,license:Sa,version:Df}}}),p_=(GC().s[2]++,b("span",{class:"mr-1"},[b("i",{class:"fa fa-github","aria-hidden":"true"}),b("span",{class:"sr-only"},"Code")],-1)),f_=(GC().s[3]++,b("i",{class:"fa fa-heart has-text-danger","aria-hidden":"true"},null,-1)),h_=(GC().s[4]++,b("span",{class:"sr-only"},"love",-1)),g_=(GC().s[5]++,["href"]),b_=(GC().s[6]++,{class:"ml-3"}),E_=(GC().s[7]++,b("span",{class:"mr-1"},[b("i",{class:"fa fa-tag","aria-hidden":"true"}),b("span",{class:"sr-only"},"Version")],-1)),y_=(GC().s[8]++,["title"]),v_=(GC().s[9]++,{class:"ml-3"}),w_=(GC().s[10]++,b("span",{class:"mr-1"},[b("i",{class:"fa fa-balance-scale","aria-hidden":"true"}),b("span",{class:"sr-only"},"License")],-1));function B_(A,C,e,n,t,i){return GC().f[1]++,GC().s[11]++,GC().b[0][0]++,C[0]||(GC().b[0][1]++,_s(-1),C[0]=b("span",{class:"is-block is-size-7 has-text-grey has-text-centered py-2",style:{opacity:"50%"}},[b("span",null,[p_,tC("Made with "),f_,h_,tC(" by "),b("b",null,[b("a",{href:t.homepage,target:"_blank",rel:"noreferrer",class:"has-text-grey"},"Nioc",8,g_)])]),b("span",b_,[E_,b("span",{title:`${t.gitVersion} (${t.gitBranch})`},sA(t.version),9,y_)]),b("span",v_,[w_,b("span",null,sA(t.license),1)])]),_s(1),C[0])}const Uo=mC(d_,[["render",B_]]);function N(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Login.vue",C="7d66e4f231b81c9b8d808c46960b87a67e897055",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Login.vue",statementMap:{0:{start:{line:6,column:18},end:{line:86,column:1}},1:{start:{line:12,column:4},end:{line:24,column:5}},2:{start:{line:28,column:6},end:{line:28,column:102}},3:{start:{line:31,column:6},end:{line:31,column:168}},4:{start:{line:34,column:6},end:{line:34,column:120}},5:{start:{line:37,column:6},end:{line:37,column:76}},6:{start:{line:43,column:4},end:{line:43,column:58}},7:{start:{line:45,column:16},end:{line:45,column:43}},8:{start:{line:46,column:4},end:{line:48,column:5}},9:{start:{line:47,column:6},end:{line:47,column:32}},10:{start:{line:49,column:21},end:{line:49,column:46}},11:{start:{line:50,column:4},end:{line:55,column:5}},12:{start:{line:52,column:22},end:{line:52,column:67}},13:{start:{line:52,column:33},end:{line:52,column:67}},14:{start:{line:53,column:6},end:{line:53,column:66}},15:{start:{line:54,column:6},end:{line:54,column:18}},16:{start:{line:59,column:6},end:{line:59,column:21}},17:{start:{line:60,column:22},end:{line:60,column:67}},18:{start:{line:60,column:33},end:{line:60,column:67}},19:{start:{line:62,column:6},end:{line:64,column:7}},20:{start:{line:63,column:8},end:{line:63,column:14}},21:{start:{line:66,column:6},end:{line:66,column:27}},22:{start:{line:67,column:6},end:{line:81,column:7}},23:{start:{line:68,column:8},end:{line:68,column:113}},24:{start:{line:69,column:8},end:{line:69,column:34}},25:{start:{line:71,column:8},end:{line:73,column:9}},26:{start:{line:72,column:10},end:{line:72,column:86}},27:{start:{line:74,column:8},end:{line:76,column:9}},28:{start:{line:75,column:10},end:{line:75,column:62}},29:{start:{line:77,column:8},end:{line:77,column:30}},30:{start:{line:80,column:8},end:{line:80,column:34}},31:{start:{line:83,column:6},end:{line:83,column:28}},32:{start:{line:90,column:19},end:{line:90,column:50}},33:{start:{line:91,column:19},end:{line:91,column:41}},34:{start:{line:92,column:19},end:{line:92,column:59}},35:{start:{line:93,column:19},end:{line:93,column:55}},36:{start:{line:94,column:19},end:{line:94,column:58}},37:{start:{line:95,column:19},end:{line:95,column:107}},38:{start:{line:96,column:19},end:{line:96,column:26}},39:{start:{line:97,column:32},end:{line:97,column:106}},40:{start:{line:98,column:19},end:{line:98,column:37}},41:{start:{line:99,column:20},end:{line:99,column:55}},42:{start:{line:100,column:20},end:{line:100,column:35}},43:{start:{line:101,column:33},end:{line:103,column:6}},44:{start:{line:104,column:20},end:{line:104,column:38}},45:{start:{line:105,column:20},end:{line:105,column:55}},46:{start:{line:106,column:33},end:{line:108,column:6}},47:{start:{line:109,column:20},end:{line:109,column:57}},48:{start:{line:110,column:20},end:{line:114,column:1}},49:{start:{line:115,column:33},end:{line:121,column:6}},50:{start:{line:122,column:20},end:{line:122,column:69}},51:{start:{line:123,column:20},end:{line:123,column:45}},52:{start:{line:124,column:20},end:{line:124,column:38}},53:{start:{line:125,column:20},end:{line:125,column:40}},54:{start:{line:126,column:20},end:{line:126,column:38}},55:{start:{line:127,column:20},end:{line:127,column:32}},56:{start:{line:128,column:33},end:{line:131,column:12}},57:{start:{line:132,column:20},end:{line:135,column:1}},58:{start:{line:136,column:20},end:{line:136,column:61}},59:{start:{line:139,column:32},end:{line:139,column:63}},60:{start:{line:140,column:32},end:{line:140,column:63}},61:{start:{line:141,column:29},end:{line:141,column:57}},62:{start:{line:143,column:2},end:{line:260,column:5}},63:{start:{line:149,column:79},end:{line:149,column:120}},64:{start:{line:162,column:80},end:{line:162,column:112}},65:{start:{line:176,column:80},end:{line:176,column:117}},66:{start:{line:190,column:78},end:{line:190,column:115}},67:{start:{line:194,column:42},end:{line:196,column:19}},68:{start:{line:207,column:49},end:{line:217,column:21}},69:{start:{line:218,column:44},end:{line:235,column:21}},70:{start:{line:223,column:90},end:{line:223,column:131}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:11,column:2},end:{line:11,column:3}},loc:{start:{line:11,column:10},end:{line:25,column:3}},line:11},1:{name:"(anonymous_1)",decl:{start:{line:27,column:4},end:{line:27,column:5}},loc:{start:{line:27,column:18},end:{line:29,column:5}},line:27},2:{name:"(anonymous_2)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:22},end:{line:32,column:5}},line:30},3:{name:"(anonymous_3)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:15},end:{line:35,column:5}},line:33},4:{name:"(anonymous_4)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:15},end:{line:38,column:5}},line:36},5:{name:"(anonymous_5)",decl:{start:{line:41,column:2},end:{line:41,column:3}},loc:{start:{line:41,column:13},end:{line:56,column:3}},line:41},6:{name:"(anonymous_6)",decl:{start:{line:52,column:22},end:{line:52,column:23}},loc:{start:{line:52,column:33},end:{line:52,column:67}},line:52},7:{name:"(anonymous_7)",decl:{start:{line:58,column:4},end:{line:58,column:5}},loc:{start:{line:58,column:19},end:{line:84,column:5}},line:58},8:{name:"(anonymous_8)",decl:{start:{line:60,column:22},end:{line:60,column:23}},loc:{start:{line:60,column:33},end:{line:60,column:67}},line:60},9:{name:"_sfc_render",decl:{start:{line:138,column:9},end:{line:138,column:20}},loc:{start:{line:138,column:68},end:{line:261,column:1}},line:138},10:{name:"(anonymous_10)",decl:{start:{line:149,column:65},end:{line:149,column:66}},loc:{start:{line:149,column:79},end:{line:149,column:120}},line:149},11:{name:"(anonymous_11)",decl:{start:{line:162,column:69},end:{line:162,column:70}},loc:{start:{line:162,column:80},end:{line:162,column:112}},line:162},12:{name:"(anonymous_12)",decl:{start:{line:176,column:69},end:{line:176,column:70}},loc:{start:{line:176,column:80},end:{line:176,column:117}},line:176},13:{name:"(anonymous_13)",decl:{start:{line:190,column:67},end:{line:190,column:68}},loc:{start:{line:190,column:78},end:{line:190,column:115}},line:190},14:{name:"(anonymous_14)",decl:{start:{line:194,column:36},end:{line:194,column:37}},loc:{start:{line:194,column:42},end:{line:196,column:19}},line:194},15:{name:"(anonymous_15)",decl:{start:{line:207,column:38},end:{line:207,column:39}},loc:{start:{line:207,column:49},end:{line:217,column:21}},line:207},16:{name:"(anonymous_16)",decl:{start:{line:218,column:38},end:{line:218,column:39}},loc:{start:{line:218,column:44},end:{line:235,column:21}},line:218},17:{name:"(anonymous_17)",decl:{start:{line:223,column:79},end:{line:223,column:80}},loc:{start:{line:223,column:90},end:{line:223,column:131}},line:223}},branchMap:{0:{loc:{start:{line:28,column:13},end:{line:28,column:102}},type:"binary-expr",locations:[{start:{line:28,column:13},end:{line:28,column:27}},{start:{line:28,column:31},end:{line:28,column:52}},{start:{line:28,column:56},end:{line:28,column:82}},{start:{line:28,column:86},end:{line:28,column:102}}],line:28},1:{loc:{start:{line:31,column:13},end:{line:31,column:168}},type:"cond-expr",locations:[{start:{line:31,column:103},end:{line:31,column:144}},{start:{line:31,column:147},end:{line:31,column:168}}],line:31},2:{loc:{start:{line:31,column:14},end:{line:31,column:99}},type:"binary-expr",locations:[{start:{line:31,column:14},end:{line:31,column:61}},{start:{line:31,column:65},end:{line:31,column:99}}],line:31},3:{loc:{start:{line:34,column:13},end:{line:34,column:120}},type:"cond-expr",locations:[{start:{line:34,column:85},end:{line:34,column:103}},{start:{line:34,column:106},end:{line:34,column:120}}],line:34},4:{loc:{start:{line:34,column:14},end:{line:34,column:81}},type:"binary-expr",locations:[{start:{line:34,column:14},end:{line:34,column:52}},{start:{line:34,column:56},end:{line:34,column:81}}],line:34},5:{loc:{start:{line:37,column:13},end:{line:37,column:76}},type:"binary-expr",locations:[{start:{line:37,column:13},end:{line:37,column:34}},{start:{line:37,column:38},end:{line:37,column:76}}],line:37},6:{loc:{start:{line:46,column:4},end:{line:48,column:5}},type:"if",locations:[{start:{line:46,column:4},end:{line:48,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46},7:{loc:{start:{line:50,column:4},end:{line:55,column:5}},type:"if",locations:[{start:{line:50,column:4},end:{line:55,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:50},8:{loc:{start:{line:62,column:6},end:{line:64,column:7}},type:"if",locations:[{start:{line:62,column:6},end:{line:64,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},9:{loc:{start:{line:62,column:10},end:{line:62,column:73}},type:"binary-expr",locations:[{start:{line:62,column:10},end:{line:62,column:37}},{start:{line:62,column:41},end:{line:62,column:73}}],line:62},10:{loc:{start:{line:71,column:8},end:{line:73,column:9}},type:"if",locations:[{start:{line:71,column:8},end:{line:73,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:71},11:{loc:{start:{line:74,column:8},end:{line:76,column:9}},type:"if",locations:[{start:{line:74,column:8},end:{line:76,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:74},12:{loc:{start:{line:149,column:24},end:{line:149,column:136}},type:"binary-expr",locations:[{start:{line:149,column:24},end:{line:149,column:33}},{start:{line:149,column:38},end:{line:149,column:135}}],line:149},13:{loc:{start:{line:149,column:79},end:{line:149,column:120}},type:"binary-expr",locations:[{start:{line:149,column:79},end:{line:149,column:93}},{start:{line:149,column:97},end:{line:149,column:120}}],line:149},14:{loc:{start:{line:162,column:43},end:{line:162,column:114}},type:"binary-expr",locations:[{start:{line:162,column:43},end:{line:162,column:52}},{start:{line:162,column:57},end:{line:162,column:113}}],line:162},15:{loc:{start:{line:176,column:43},end:{line:176,column:119}},type:"binary-expr",locations:[{start:{line:176,column:43},end:{line:176,column:52}},{start:{line:176,column:57},end:{line:176,column:118}}],line:176},16:{loc:{start:{line:190,column:41},end:{line:190,column:117}},type:"binary-expr",locations:[{start:{line:190,column:41},end:{line:190,column:50}},{start:{line:190,column:55},end:{line:190,column:116}}],line:190},17:{loc:{start:{line:200,column:14},end:{line:238,column:47}},type:"cond-expr",locations:[{start:{line:201,column:19},end:{line:237,column:20}},{start:{line:238,column:18},end:{line:238,column:47}}],line:200},18:{loc:{start:{line:212,column:70},end:{line:212,column:113}},type:"cond-expr",locations:[{start:{line:212,column:83},end:{line:212,column:98}},{start:{line:212,column:100},end:{line:212,column:113}}],line:212},19:{loc:{start:{line:223,column:53},end:{line:223,column:133}},type:"binary-expr",locations:[{start:{line:223,column:53},end:{line:223,column:62}},{start:{line:223,column:67},end:{line:223,column:132}}],line:223},20:{loc:{start:{line:249,column:14},end:{line:253,column:47}},type:"cond-expr",locations:[{start:{line:250,column:19},end:{line:252,column:20}},{start:{line:253,column:18},end:{line:253,column:47}}],line:249}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},b:{0:[0,0,0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Login.vue"],names:[],mappings:"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,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAChB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnK,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CA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C,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACpB,CAAC,CAAC,EAAE;QACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E;QACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD;QACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACvB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACd,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7d66e4f231b81c9b8d808c46960b87a67e897055"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return N=function(){return s},s}N();const S_=(N().s[0]++,{name:"Login",components:{Version:Uo},data(){return N().f[0]++,N().s[1]++,{credentials:{jid:"",password:"",remember:!1},transportsUser:{websocket:window.config.transports.websocket},isLoading:!1,error:"",isTransportsUserAllowed:window.config.isTransportsUserAllowed}},computed:{isDisabled(){return N().f[1]++,N().s[2]++,N().b[0][0]++,this.isLoading||(N().b[0][1]++,!this.credentials.jid)||(N().b[0][2]++,!this.credentials.password)||(N().b[0][3]++,!this.hasNetwork)},jidPlaceholder(){return N().f[2]++,N().s[3]++,N().b[2][0]++,typeof window.config.defaultDomain=="string"&&(N().b[2][1]++,window.config.defaultDomain!=="")?(N().b[1][0]++,`username@${window.config.defaultDomain}`):(N().b[1][1]++,"username@domain.ltd")},appName(){return N().f[3]++,N().s[4]++,N().b[4][0]++,typeof window.config.name=="string"&&(N().b[4][1]++,window.config.name!=="")?(N().b[3][0]++,window.config.name):(N().b[3][1]++,"XMPP webchat")},logoSrc(){return N().f[4]++,N().s[5]++,N().b[5][0]++,window.config.logoUrl||(N().b[5][1]++,"img/icons/android-chrome-192x192.png")},...Be(WC,["hasNetwork"])},mounted(){N().f[5]++,N().s[6]++,document.body.classList.remove("has-navbar-fixed-top");const A=(N().s[7]++,localStorage.getItem("jid"));N().s[8]++,A?(N().b[6][0]++,N().s[9]++,this.credentials.jid=A):N().b[6][1]++;const C=(N().s[10]++,localStorage.getItem("p"));if(N().s[11]++,C){N().b[7][0]++,N().s[12]++;const e=n=>(N().f[6]++,N().s[13]++,n.split("").reverse().join(""));N().s[14]++,this.credentials.password=e(atob(e(C))),N().s[15]++,this.login()}else N().b[7][1]++},methods:{async login(){N().f[7]++,N().s[16]++,this.error="",N().s[17]++;const A=C=>(N().f[8]++,N().s[18]++,C.split("").reverse().join(""));if(N().s[19]++,N().b[9][0]++,this.credentials.jid===""||(N().b[9][1]++,this.credentials.password==="")){N().b[8][0]++,N().s[20]++;return}else N().b[8][1]++;N().s[21]++,this.isLoading=!0,N().s[22]++;try{if(N().s[23]++,await this.$xmpp.create(this.credentials.jid,this.credentials.password,null,this.transportsUser,this),N().s[24]++,await this.$xmpp.connect(),N().s[25]++,this.credentials.remember?(N().b[10][0]++,N().s[26]++,localStorage.setItem("p",A(btoa(A(this.credentials.password))))):N().b[10][1]++,N().s[27]++,this.$route.query.redirect!==void 0)return N().b[11][0]++,N().s[28]++,this.$router.push(this.$route.query.redirect);N().b[11][1]++,N().s[29]++,this.$router.push("/")}catch(C){N().s[30]++,this.error=C.message}N().s[31]++,this.isLoading=!1}}}),k_=(N().s[32]++,{class:"hero is-fullheight"}),__=(N().s[33]++,{class:"hero-body"}),x_=(N().s[34]++,{class:"container has-text-centered"}),j_=(N().s[35]++,{class:"column is-4 is-offset-4"}),I_=(N().s[36]++,{class:"box has-background-shade-3"}),M_=(N().s[37]++,{class:"title has-text-grey is-flex is-justify-content-center is-align-items-center"}),D_=(N().s[38]++,["src"]),P_=(N().s[39]++,b("p",{class:"subtitle has-text-grey"},"Login",-1)),O_=(N().s[40]++,{class:"field"}),L_=(N().s[41]++,{class:"control has-icons-left"}),K_=(N().s[42]++,["placeholder"]),F_=(N().s[43]++,b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-user"})],-1)),T_=(N().s[44]++,{class:"field"}),N_=(N().s[45]++,{class:"control has-icons-left"}),$_=(N().s[46]++,b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-lock"})],-1)),R_=(N().s[47]++,{class:"field has-text-left pl-3"}),G_=(N().s[48]++,{role:"button","aria-controls":"connection-settings",class:"card-header"}),U_=(N().s[49]++,b("p",{class:"card-header-title has-text-grey-light"},[b("span",{class:"fa fa-cog fa-fw mr-3","aria-hidden":"true"}),tC("Connection settings")],-1)),Q_=(N().s[50]++,{class:"card-header-icon has-text-grey-light"}),H_=(N().s[51]++,{class:"card-content"}),V_=(N().s[52]++,{class:"field"}),z_=(N().s[53]++,{class:"control"}),q_=(N().s[54]++,{class:"field"}),W_=(N().s[55]++,["disabled"]),Y_=(N().s[56]++,b("span",{class:"fa fa-sign-in fa-fw mr-3","aria-hidden":"true"},null,-1)),J_=(N().s[57]++,{key:1,class:"message is-danger"}),X_=(N().s[58]++,{class:"message-body has-text-danger"});function Z_(A,C,e,n,t,i){N().f[9]++;const s=(N().s[59]++,AA("o-checkbox")),o=(N().s[60]++,AA("o-collapse")),l=(N().s[61]++,AA("version"));return N().s[62]++,h(),Q("section",k_,[b("div",__,[b("div",x_,[b("div",j_,[b("div",I_,[b("form",{onSubmit:(N().b[12][0]++,C[4]||(N().b[12][1]++,C[4]=MA((...a)=>(N().f[10]++,N().s[63]++,N().b[13][0]++,i.login&&(N().b[13][1]++,i.login(...a))),["prevent"])))},[b("h3",M_,[b("img",{class:"image is-48x48 is-inline mr-2",src:i.logoSrc},null,8,D_),tC(sA(i.appName),1)]),P_,b("div",O_,[b("div",L_,[QA(b("input",{"onUpdate:modelValue":(N().b[14][0]++,C[0]||(N().b[14][1]++,C[0]=a=>(N().f[11]++,N().s[64]++,t.credentials.jid=a))),class:"input is-medium",type:"text",name:"jid",placeholder:i.jidPlaceholder},null,8,K_),[[be,t.credentials.jid]]),F_])]),b("div",T_,[b("div",N_,[QA(b("input",{"onUpdate:modelValue":(N().b[15][0]++,C[1]||(N().b[15][1]++,C[1]=a=>(N().f[12]++,N().s[65]++,t.credentials.password=a))),class:"input is-medium",type:"password",name:"password",placeholder:"Password"},null,512),[[be,t.credentials.password]]),$_])]),b("div",R_,[S(s,{modelValue:t.credentials.remember,"onUpdate:modelValue":(N().b[16][0]++,C[2]||(N().b[16][1]++,C[2]=a=>(N().f[13]++,N().s[66]++,t.credentials.remember=a))),variant:"primary",class:"has-text-grey-light"},{default:_A(()=>(N().f[14]++,N().s[67]++,[tC(" Store my password in browser ")])),_:1},8,["modelValue"])]),t.isTransportsUserAllowed?(N().b[17][0]++,h(),B(o,{key:0,class:"card has-background-shade-3 mb-3",open:!1,"aria-id":"connection-settings"},{trigger:_A(a=>(N().f[15]++,N().s[68]++,[b("div",G_,[U_,b("a",Q_,[b("span",{class:zA(["fa fa-fw mr-3",[a.open?(N().b[18][0]++,"fa-caret-down"):(N().b[18][1]++,"fa-caret-up")]]),"aria-hidden":"true"},null,2)])])])),default:_A(()=>(N().f[16]++,N().s[69]++,[b("div",H_,[b("div",V_,[b("div",z_,[QA(b("input",{"onUpdate:modelValue":(N().b[19][0]++,C[3]||(N().b[19][1]++,C[3]=a=>(N().f[17]++,N().s[70]++,t.transportsUser.websocket=a))),class:"input",type:"url",name:"websocket",placeholder:"wss://chat.domain.ltd/xmpp-websocket",title:"Websocket url"},null,512),[[be,t.transportsUser.websocket]])])])])])),_:1})):(N().b[17][1]++,P("",!0)),b("div",q_,[b("button",{type:"submit",class:zA(["button is-block is-primary is-medium is-fullwidth",{"is-loading":t.isLoading}]),disabled:i.isDisabled},[Y_,tC("Login")],10,W_)]),t.error?(N().b[20][0]++,h(),Q("div",J_,[b("div",X_,sA(t.error),1)])):(N().b[20][1]++,P("",!0))],32)])])])]),S(l)])}const Ax=mC(S_,[["render",Z_]]);function Of(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",C="6454a43858a181e432887f82ed4bc3a5f9c8c909",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6454a43858a181e432887f82ed4bc3a5f9c8c909"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return Of=function(){return s},s}Of();function IA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",C="47b1866b84749adf25963844c5de4c3f1ed4a4ff",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue",statementMap:{0:{start:{line:4,column:18},end:{line:45,column:1}},1:{start:{line:40,column:15},end:{line:40,column:126}},2:{start:{line:41,column:18},end:{line:41,column:126}},3:{start:{line:42,column:14},end:{line:42,column:71}},4:{start:{line:43,column:18},end:{line:43,column:55}},5:{start:{line:49,column:21},end:{line:49,column:81}},6:{start:{line:49,column:27},end:{line:49,column:80}},7:{start:{line:50,column:19},end:{line:53,column:1}},8:{start:{line:54,column:19},end:{line:57,column:1}},9:{start:{line:58,column:19},end:{line:62,column:1}},10:{start:{line:63,column:19},end:{line:67,column:1}},11:{start:{line:68,column:19},end:{line:72,column:1}},12:{start:{line:73,column:19},end:{line:77,column:1}},13:{start:{line:78,column:19},end:{line:82,column:1}},14:{start:{line:85,column:28},end:{line:85,column:55}},15:{start:{line:86,column:33},end:{line:86,column:65}},16:{start:{line:88,column:2},end:{line:156,column:25}},17:{start:{line:95,column:28},end:{line:154,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:40,column:4},end:{line:40,column:5}},loc:{start:{line:40,column:13},end:{line:40,column:128}},line:40},1:{name:"(anonymous_1)",decl:{start:{line:41,column:4},end:{line:41,column:5}},loc:{start:{line:41,column:16},end:{line:41,column:128}},line:41},2:{name:"(anonymous_2)",decl:{start:{line:42,column:4},end:{line:42,column:5}},loc:{start:{line:42,column:12},end:{line:42,column:73}},line:42},3:{name:"(anonymous_3)",decl:{start:{line:43,column:4},end:{line:43,column:5}},loc:{start:{line:43,column:16},end:{line:43,column:57}},line:43},4:{name:"(anonymous_4)",decl:{start:{line:49,column:21},end:{line:49,column:22}},loc:{start:{line:49,column:27},end:{line:49,column:80}},line:49},5:{name:"_sfc_render",decl:{start:{line:84,column:9},end:{line:84,column:20}},loc:{start:{line:84,column:68},end:{line:157,column:1}},line:84},6:{name:"(anonymous_6)",decl:{start:{line:95,column:22},end:{line:95,column:23}},loc:{start:{line:95,column:28},end:{line:154,column:5}},line:95}},branchMap:{0:{loc:{start:{line:40,column:22},end:{line:40,column:126}},type:"cond-expr",locations:[{start:{line:40,column:36},end:{line:40,column:68}},{start:{line:40,column:71},end:{line:40,column:126}}],line:40},1:{loc:{start:{line:40,column:71},end:{line:40,column:126}},type:"cond-expr",locations:[{start:{line:40,column:85},end:{line:40,column:115}},{start:{line:40,column:118},end:{line:40,column:126}}],line:40},2:{loc:{start:{line:41,column:25},end:{line:41,column:126}},type:"cond-expr",locations:[{start:{line:41,column:72},end:{line:41,column:109}},{start:{line:41,column:112},end:{line:41,column:126}}],line:41},3:{loc:{start:{line:41,column:25},end:{line:41,column:69}},type:"binary-expr",locations:[{start:{line:41,column:25},end:{line:41,column:39}},{start:{line:41,column:43},end:{line:41,column:69}}],line:41},4:{loc:{start:{line:42,column:21},end:{line:42,column:71}},type:"cond-expr",locations:[{start:{line:42,column:35},end:{line:42,column:64}},{start:{line:42,column:67},end:{line:42,column:71}}],line:42},5:{loc:{start:{line:89,column:16},end:{line:89,column:52}},type:"cond-expr",locations:[{start:{line:89,column:32},end:{line:89,column:43}},{start:{line:89,column:46},end:{line:89,column:52}}],line:89},6:{loc:{start:{line:96,column:6},end:{line:147,column:76}},type:"cond-expr",locations:[{start:{line:97,column:11},end:{line:138,column:12}},{start:{line:139,column:11},end:{line:147,column:75}}],line:96},7:{loc:{start:{line:98,column:12},end:{line:106,column:45}},type:"cond-expr",locations:[{start:{line:99,column:17},end:{line:105,column:36}},{start:{line:106,column:16},end:{line:106,column:45}}],line:98},8:{loc:{start:{line:112,column:12},end:{line:116,column:45}},type:"cond-expr",locations:[{start:{line:113,column:16},end:{line:115,column:18}},{start:{line:116,column:16},end:{line:116,column:45}}],line:112},9:{loc:{start:{line:118,column:62},end:{line:118,column:120}},type:"cond-expr",locations:[{start:{line:118,column:82},end:{line:118,column:103}},{start:{line:118,column:105},end:{line:118,column:120}}],line:118},10:{loc:{start:{line:120,column:14},end:{line:122,column:47}},type:"cond-expr",locations:[{start:{line:121,column:19},end:{line:121,column:69}},{start:{line:122,column:18},end:{line:122,column:47}}],line:120},11:{loc:{start:{line:123,column:14},end:{line:125,column:47}},type:"cond-expr",locations:[{start:{line:124,column:19},end:{line:124,column:69}},{start:{line:125,column:18},end:{line:125,column:47}}],line:123},12:{loc:{start:{line:126,column:14},end:{line:128,column:47}},type:"cond-expr",locations:[{start:{line:127,column:19},end:{line:127,column:69}},{start:{line:128,column:18},end:{line:128,column:47}}],line:126},13:{loc:{start:{line:129,column:14},end:{line:131,column:47}},type:"cond-expr",locations:[{start:{line:130,column:19},end:{line:130,column:69}},{start:{line:131,column:18},end:{line:131,column:47}}],line:129},14:{loc:{start:{line:132,column:14},end:{line:134,column:47}},type:"cond-expr",locations:[{start:{line:133,column:19},end:{line:133,column:69}},{start:{line:134,column:18},end:{line:134,column:47}}],line:132},15:{loc:{start:{line:148,column:6},end:{line:153,column:39}},type:"cond-expr",locations:[{start:{line:149,column:11},end:{line:152,column:53}},{start:{line:153,column:10},end:{line:153,column:39}}],line:148},16:{loc:{start:{line:151,column:64},end:{line:151,column:116}},type:"cond-expr",locations:[{start:{line:151,column:84},end:{line:151,column:90}},{start:{line:151,column:93},end:{line:151,column:116}}],line:151}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Contact.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"47b1866b84749adf25963844c5de4c3f1ed4a4ff"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return IA=function(){return s},s}IA();const Cx=(IA().s[0]++,{name:"Contact",components:{avatar:yt},props:{jid:{type:String,required:!0},name:{type:String,default:null},presence:{type:String,default:null},status:{type:String,default:null},isRoom:{type:Boolean,default:!1},unreadCount:{type:Number,default:0},isExpanded:{type:Boolean,default:!0}},computed:{title(){return IA().f[0]++,IA().s[1]++,this.isRoom?(IA().b[0][0]++,`${this.jid} -${this.room.name}`):(IA().b[0][1]++,this.status?(IA().b[1][0]++,`${this.jid} / ${this.status}`):(IA().b[1][1]++,this.jid))},roomName(){return IA().f[1]++,IA().s[2]++,IA().b[3][0]++,this.room.name&&(IA().b[3][1]++,this.room.name.length>25)?(IA().b[2][0]++,this.room.name.substring(0,25)+"…"):(IA().b[2][1]++,this.room.name)},room(){return IA().f[2]++,IA().s[3]++,this.isRoom?(IA().b[4][0]++,this.$store.getRoom(this.jid)):(IA().b[4][1]++,null)},isJoined(){return IA().f[3]++,IA().s[4]++,this.$store.isJoined(this.jid)}}});IA().s[5]++;const ex=(IA().s[7]++,{key:0,class:"is-flex is-align-items-center"}),nx=(IA().s[8]++,{key:1,class:"fa fa-star has-text-warning ml-3"}),tx=(IA().s[9]++,{key:0,class:"fa fa-key-modern fa-fw",title:"Password protected"}),ix=(IA().s[10]++,{key:1,class:"fa fa-shield fa-fw",title:"Is moderated"}),sx=(IA().s[11]++,{key:2,class:"fa fa-user-secret fa-fw",title:"Allow anonymous (nick)"}),ox=(IA().s[12]++,{key:3,class:"fa fa-users fa-fw",title:"Restricted to members"}),lx=(IA().s[13]++,{key:4,class:"fa fa-globe fa-fw",title:"Public room"});function ax(A,C,e,n,t,i){IA().f[5]++;const s=(IA().s[14]++,AA("avatar")),o=(IA().s[15]++,AA("router-link"));return IA().s[16]++,h(),B(o,{to:{name:e.isRoom?(IA().b[5][0]++,"groupchat"):(IA().b[5][1]++,"chat"),params:{jid:e.jid}},class:"has-unread is-relative",title:i.title,exact:"","exact-active-class":"is-active"},{default:_A(()=>(IA().f[6]++,IA().s[17]++,[e.isRoom?(IA().b[6][0]++,h(),Q("span",ex,[i.room.hasVCard?(IA().b[7][0]++,h(),B(s,{key:0,class:"mr-3",jid:e.jid,"display-jid":!1,size:24},null,8,["jid"])):(IA().b[7][1]++,P("",!0)),QA(b("span",{class:zA({"is-italic has-text-grey":!i.isJoined})},sA(i.roomName),3),[[pC,e.isExpanded]]),i.room.isBookmarked?(IA().b[8][0]++,QA((h(),Q("i",nx,null,512)),[[pC,e.isExpanded]])):(IA().b[8][1]++,P("",!0)),QA(b("span",{class:zA(["ml-3 room-attributes",i.isJoined?(IA().b[9][0]++,"has-text-grey-light"):(IA().b[9][1]++,"has-text-grey")])},[i.room.isPasswordProtected?(IA().b[10][0]++,h(),Q("i",tx)):(IA().b[10][1]++,P("",!0)),i.room.isModerated?(IA().b[11][0]++,h(),Q("i",ix)):(IA().b[11][1]++,P("",!0)),i.room.isAnonymous?(IA().b[12][0]++,h(),Q("i",sx)):(IA().b[12][1]++,P("",!0)),i.room.isMembersOnly?(IA().b[13][0]++,h(),Q("i",ox)):(IA().b[13][1]++,P("",!0)),i.room.isPublic?(IA().b[14][0]++,h(),Q("i",lx)):(IA().b[14][1]++,P("",!0))],2),[[pC,e.isExpanded]])])):(IA().b[6][1]++,h(),B(s,{key:1,jid:e.jid,name:e.name,"display-jid":e.isExpanded,size:24,presence:e.presence,status:e.status},null,8,["jid","name","display-jid","presence","status"])),e.unreadCount>0?(IA().b[15][0]++,h(),Q("span",{key:2,class:zA(["tag is-rounded is-danger",e.isExpanded?(IA().b[16][0]++,"ml-3"):(IA().b[16][1]++,"unread-count-attached")])},sA(e.unreadCount),3)):(IA().b[15][1]++,P("",!0))])),_:1},8,["to","title"])}const Lf=mC(Cx,[["render",ax],["__scopeId","data-v-a1b25128"]]);function MC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Group.vue",C="7b51f820f84cd20c1ab1a24647d362cb424a1283",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Group.vue",statementMap:{0:{start:{line:6,column:18},end:{line:31,column:1}},1:{start:{line:18,column:4},end:{line:20,column:5}},2:{start:{line:27,column:6},end:{line:28,column:65}},3:{start:{line:28,column:29},end:{line:28,column:64}},4:{start:{line:35,column:19},end:{line:35,column:29}},5:{start:{line:38,column:29},end:{line:38,column:57}},6:{start:{line:40,column:2},end:{line:68,column:5}},7:{start:{line:43,column:52},end:{line:43,column:84}},8:{start:{line:53,column:12},end:{line:64,column:15}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:10},end:{line:21,column:3}},line:17},1:{name:"(anonymous_1)",decl:{start:{line:26,column:4},end:{line:26,column:5}},loc:{start:{line:26,column:23},end:{line:29,column:5}},line:26},2:{name:"(anonymous_2)",decl:{start:{line:28,column:16},end:{line:28,column:17}},loc:{start:{line:28,column:29},end:{line:28,column:64}},line:28},3:{name:"_sfc_render",decl:{start:{line:37,column:9},end:{line:37,column:20}},loc:{start:{line:37,column:68},end:{line:69,column:1}},line:37},4:{name:"(anonymous_4)",decl:{start:{line:43,column:41},end:{line:43,column:42}},loc:{start:{line:43,column:52},end:{line:43,column:84}},line:43},5:{name:"(anonymous_5)",decl:{start:{line:52,column:104},end:{line:52,column:105}},loc:{start:{line:52,column:117},end:{line:65,column:11}},line:52}},branchMap:{0:{loc:{start:{line:43,column:15},end:{line:43,column:86}},type:"binary-expr",locations:[{start:{line:43,column:15},end:{line:43,column:24}},{start:{line:43,column:29},end:{line:43,column:85}}],line:43},1:{loc:{start:{line:47,column:44},end:{line:47,column:92}},type:"cond-expr",locations:[{start:{line:47,column:61},end:{line:47,column:76}},{start:{line:47,column:79},end:{line:47,column:92}}],line:47},2:{loc:{start:{line:50,column:4},end:{line:67,column:37}},type:"cond-expr",locations:[{start:{line:51,column:9},end:{line:66,column:10}},{start:{line:67,column:8},end:{line:67,column:37}}],line:50}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Group.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7b51f820f84cd20c1ab1a24647d362cb424a1283"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return MC=function(){return s},s}MC();const rx=(MC().s[0]++,{name:"Group",components:{contact:Lf},props:{group:{type:String,required:!0}},data(){return MC().f[0]++,MC().s[1]++,{isOpened:!1}},computed:{...Be(WC,["contacts"]),contactsInGroup(){return MC().f[1]++,MC().s[2]++,this.contacts.filter(A=>(MC().f[2]++,MC().s[3]++,A.groups.includes(this.group)))}}}),cx=(MC().s[4]++,{key:0});function ux(A,C,e,n,t,i){MC().f[3]++;const s=(MC().s[5]++,AA("contact"));return MC().s[6]++,h(),Q("div",null,[b("a",{class:"is-flex is-align-items-center is-justify-content-space-between",onClick:(MC().b[0][0]++,C[0]||(MC().b[0][1]++,C[0]=o=>(MC().f[4]++,MC().s[7]++,t.isOpened=!t.isOpened)))},[b("span",null,sA(e.group),1),b("i",{class:zA(["fa fa-fw",t.isOpened?(MC().b[1][0]++,"fa-caret-down"):(MC().b[1][1]++,"fa-caret-up")])},null,2)]),t.isOpened?(MC().b[2][0]++,h(),Q("ul",cx,[(h(!0),Q(hA,null,XA(i.contactsInGroup,o=>(MC().f[5]++,MC().s[8]++,h(),Q("li",{key:o.jid},[S(s,{jid:o.jid,"is-room":!1,name:o.name,presence:o.presence,status:o.status,"unread-count":o.unreadCount},null,8,["jid","name","presence","status","unread-count"])]))),128))])):(MC().b[2][1]++,P("",!0))])}const mx=mC(rx,[["render",ux]]);function Kf(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",C="d4fd57caff29f93750328f576c41f9b515047176",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",statementMap:{},fnMap:{},branchMap:{},s:{},f:{},b:{},inputSourceMap:{version:3,file:null,sources:[],names:[],mappings:""},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d4fd57caff29f93750328f576c41f9b515047176"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return Kf=function(){return s},s}Kf();function Y(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",C="1e74293173740026ba4c4671baa70225333614e3",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue",statementMap:{0:{start:{line:7,column:18},end:{line:54,column:1}},1:{start:{line:20,column:4},end:{line:22,column:5}},2:{start:{line:31,column:6},end:{line:32,column:78}},3:{start:{line:32,column:26},end:{line:32,column:77}},4:{start:{line:34,column:25},end:{line:34,column:135}},5:{start:{line:35,column:24},end:{line:35,column:112}},6:{start:{line:39,column:6},end:{line:41,column:7}},7:{start:{line:40,column:8},end:{line:40,column:14}},8:{start:{line:42,column:6},end:{line:47,column:7}},9:{start:{line:43,column:8},end:{line:45,column:9}},10:{start:{line:44,column:10},end:{line:44,column:16}},11:{start:{line:46,column:8},end:{line:46,column:65}},12:{start:{line:48,column:6},end:{line:50,column:7}},13:{start:{line:49,column:8},end:{line:49,column:79}},14:{start:{line:51,column:6},end:{line:51,column:23}},15:{start:{line:58,column:21},end:{line:58,column:81}},16:{start:{line:58,column:27},end:{line:58,column:80}},17:{start:{line:59,column:19},end:{line:59,column:36}},18:{start:{line:60,column:19},end:{line:63,column:1}},19:{start:{line:64,column:19},end:{line:67,column:1}},20:{start:{line:68,column:19},end:{line:71,column:1}},21:{start:{line:72,column:33},end:{line:72,column:113}},22:{start:{line:72,column:65},end:{line:72,column:112}},23:{start:{line:73,column:19},end:{line:76,column:1}},24:{start:{line:77,column:19},end:{line:77,column:42}},25:{start:{line:78,column:19},end:{line:81,column:1}},26:{start:{line:82,column:33},end:{line:82,column:139}},27:{start:{line:82,column:65},end:{line:82,column:138}},28:{start:{line:83,column:20},end:{line:83,column:55}},29:{start:{line:84,column:20},end:{line:84,column:35}},30:{start:{line:85,column:20},end:{line:88,column:1}},31:{start:{line:89,column:20},end:{line:89,column:32}},32:{start:{line:90,column:34},end:{line:92,column:7}},33:{start:{line:90,column:66},end:{line:92,column:6}},34:{start:{line:93,column:20},end:{line:95,column:1}},35:{start:{line:96,column:34},end:{line:98,column:7}},36:{start:{line:96,column:66},end:{line:98,column:6}},37:{start:{line:99,column:34},end:{line:99,column:121}},38:{start:{line:99,column:66},end:{line:99,column:120}},39:{start:{line:102,column:29},end:{line:102,column:57}},40:{start:{line:103,column:27},end:{line:103,column:53}},41:{start:{line:104,column:33},end:{line:104,column:65}},42:{start:{line:106,column:2},end:{line:236,column:8}},43:{start:{line:122,column:10},end:{line:134,column:13}},44:{start:{line:149,column:10},end:{line:151,column:13}},45:{start:{line:166,column:10},end:{line:175,column:13}},46:{start:{line:183,column:36},end:{line:186,column:13}},47:{start:{line:195,column:77},end:{line:195,column:134}},48:{start:{line:199,column:76},end:{line:199,column:100}},49:{start:{line:225,column:36},end:{line:228,column:13}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:19,column:2},end:{line:19,column:3}},loc:{start:{line:19,column:10},end:{line:23,column:3}},line:19},1:{name:"(anonymous_1)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:22},end:{line:33,column:5}},line:30},2:{name:"(anonymous_2)",decl:{start:{line:32,column:16},end:{line:32,column:17}},loc:{start:{line:32,column:26},end:{line:32,column:77}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:34,column:4},end:{line:34,column:5}},loc:{start:{line:34,column:23},end:{line:34,column:137}},line:34},4:{name:"(anonymous_4)",decl:{start:{line:35,column:4},end:{line:35,column:5}},loc:{start:{line:35,column:22},end:{line:35,column:114}},line:35},5:{name:"(anonymous_5)",decl:{start:{line:38,column:4},end:{line:38,column:5}},loc:{start:{line:38,column:21},end:{line:52,column:5}},line:38},6:{name:"(anonymous_6)",decl:{start:{line:58,column:21},end:{line:58,column:22}},loc:{start:{line:58,column:27},end:{line:58,column:80}},line:58},7:{name:"(anonymous_7)",decl:{start:{line:72,column:46},end:{line:72,column:47}},loc:{start:{line:72,column:65},end:{line:72,column:112}},line:72},8:{name:"(anonymous_8)",decl:{start:{line:82,column:46},end:{line:82,column:47}},loc:{start:{line:82,column:65},end:{line:82,column:138}},line:82},9:{name:"(anonymous_9)",decl:{start:{line:90,column:47},end:{line:90,column:48}},loc:{start:{line:90,column:66},end:{line:92,column:6}},line:90},10:{name:"(anonymous_10)",decl:{start:{line:96,column:47},end:{line:96,column:48}},loc:{start:{line:96,column:66},end:{line:98,column:6}},line:96},11:{name:"(anonymous_11)",decl:{start:{line:99,column:47},end:{line:99,column:48}},loc:{start:{line:99,column:66},end:{line:99,column:120}},line:99},12:{name:"_sfc_render",decl:{start:{line:101,column:9},end:{line:101,column:20}},loc:{start:{line:101,column:68},end:{line:237,column:1}},line:101},13:{name:"(anonymous_13)",decl:{start:{line:121,column:91},end:{line:121,column:92}},loc:{start:{line:121,column:104},end:{line:135,column:9}},line:121},14:{name:"(anonymous_14)",decl:{start:{line:148,column:89},end:{line:148,column:90}},loc:{start:{line:148,column:100},end:{line:152,column:9}},line:148},15:{name:"(anonymous_15)",decl:{start:{line:165,column:101},end:{line:165,column:102}},loc:{start:{line:165,column:111},end:{line:176,column:9}},line:165},16:{name:"(anonymous_16)",decl:{start:{line:183,column:30},end:{line:183,column:31}},loc:{start:{line:183,column:36},end:{line:186,column:13}},line:183},17:{name:"(anonymous_17)",decl:{start:{line:195,column:63},end:{line:195,column:64}},loc:{start:{line:195,column:77},end:{line:195,column:134}},line:195},18:{name:"(anonymous_18)",decl:{start:{line:199,column:65},end:{line:199,column:66}},loc:{start:{line:199,column:76},end:{line:199,column:100}},line:199},19:{name:"(anonymous_19)",decl:{start:{line:225,column:30},end:{line:225,column:31}},loc:{start:{line:225,column:36},end:{line:228,column:13}},line:225}},branchMap:{0:{loc:{start:{line:32,column:26},end:{line:32,column:77}},type:"binary-expr",locations:[{start:{line:32,column:26},end:{line:32,column:43}},{start:{line:32,column:47},end:{line:32,column:77}}],line:32},1:{loc:{start:{line:34,column:32},end:{line:34,column:135}},type:"cond-expr",locations:[{start:{line:34,column:56},end:{line:34,column:87}},{start:{line:34,column:90},end:{line:34,column:135}}],line:34},2:{loc:{start:{line:35,column:31},end:{line:35,column:112}},type:"cond-expr",locations:[{start:{line:35,column:55},end:{line:35,column:78}},{start:{line:35,column:81},end:{line:35,column:112}}],line:35},3:{loc:{start:{line:39,column:6},end:{line:41,column:7}},type:"if",locations:[{start:{line:39,column:6},end:{line:41,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:39},4:{loc:{start:{line:42,column:6},end:{line:47,column:7}},type:"if",locations:[{start:{line:42,column:6},end:{line:47,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:42},5:{loc:{start:{line:43,column:8},end:{line:45,column:9}},type:"if",locations:[{start:{line:43,column:8},end:{line:45,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:43},6:{loc:{start:{line:48,column:6},end:{line:50,column:7}},type:"if",locations:[{start:{line:48,column:6},end:{line:50,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:48},7:{loc:{start:{line:48,column:10},end:{line:48,column:114}},type:"binary-expr",locations:[{start:{line:48,column:10},end:{line:48,column:42}},{start:{line:48,column:47},end:{line:48,column:70}},{start:{line:48,column:74},end:{line:48,column:113}}],line:48},8:{loc:{start:{line:107,column:44},end:{line:107,column:83}},type:"cond-expr",locations:[{start:{line:107,column:64},end:{line:107,column:69}},{start:{line:107,column:72},end:{line:107,column:83}}],line:107},9:{loc:{start:{line:110,column:6},end:{line:119,column:39}},type:"cond-expr",locations:[{start:{line:111,column:11},end:{line:118,column:12}},{start:{line:119,column:10},end:{line:119,column:39}}],line:110},10:{loc:{start:{line:113,column:57},end:{line:113,column:105}},type:"cond-expr",locations:[{start:{line:113,column:77},end:{line:113,column:84}},{start:{line:113,column:87},end:{line:113,column:105}}],line:113},11:{loc:{start:{line:137,column:6},end:{line:146,column:39}},type:"cond-expr",locations:[{start:{line:138,column:10},end:{line:145,column:12}},{start:{line:146,column:10},end:{line:146,column:39}}],line:137},12:{loc:{start:{line:140,column:65},end:{line:140,column:113}},type:"cond-expr",locations:[{start:{line:140,column:85},end:{line:140,column:92}},{start:{line:140,column:95},end:{line:140,column:113}}],line:140},13:{loc:{start:{line:158,column:54},end:{line:158,column:102}},type:"cond-expr",locations:[{start:{line:158,column:74},end:{line:158,column:81}},{start:{line:158,column:84},end:{line:158,column:102}}],line:158},14:{loc:{start:{line:195,column:22},end:{line:195,column:150}},type:"binary-expr",locations:[{start:{line:195,column:22},end:{line:195,column:31}},{start:{line:195,column:36},end:{line:195,column:149}}],line:195},15:{loc:{start:{line:195,column:77},end:{line:195,column:134}},type:"binary-expr",locations:[{start:{line:195,column:77},end:{line:195,column:99}},{start:{line:195,column:103},end:{line:195,column:134}}],line:195},16:{loc:{start:{line:199,column:39},end:{line:199,column:102}},type:"binary-expr",locations:[{start:{line:199,column:39},end:{line:199,column:48}},{start:{line:199,column:53},end:{line:199,column:101}}],line:199}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Contacts.vue"],names:[],mappings:"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C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAChH,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACf,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,C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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"1e74293173740026ba4c4671baa70225333614e3"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return Y=function(){return s},s}Y();const dx=(Y().s[0]++,{name:"Contacts",components:{contact:Lf,group:mx},props:{isExpanded:{type:Boolean,default:!0}},data(){return Y().f[0]++,Y().s[1]++,{roomJid:""}},computed:{...Be(WC,["contacts","knownRooms","groups"]),displayedRooms(){return Y().f[1]++,Y().s[2]++,this.knownRooms.filter(A=>(Y().f[2]++,Y().s[3]++,Y().b[0][0]++,A.isBookmarked||(Y().b[0][1]++,this.$store.isJoined(A.jid))))},roomPlaceholder(){return Y().f[3]++,Y().s[4]++,this.$xmpp.defaultMuc?(Y().b[1][0]++,`room@${this.$xmpp.defaultMuc}`):(Y().b[1][1]++,`room@conference.${this.$xmpp.defaultDomain}`)},isValidRoomJid(){return Y().f[4]++,Y().s[5]++,this.$xmpp.defaultMuc?(Y().b[2][0]++,this.roomJid.length>2):(Y().b[2][1]++,/\S+@\S+\S+/.test(this.roomJid))}},methods:{joinRoomByJid(){if(Y().f[5]++,Y().s[6]++,this.roomJid===""){Y().b[3][0]++,Y().s[7]++;return}else Y().b[3][1]++;if(Y().s[8]++,/\S+@\S+\S+/.test(this.roomJid))Y().b[4][1]++;else{if(Y().b[4][0]++,Y().s[9]++,this.$xmpp.defaultMuc)Y().b[5][1]++;else{Y().b[5][0]++,Y().s[10]++;return}Y().s[11]++,this.roomJid=this.roomJid+"@"+this.$xmpp.defaultMuc}Y().s[12]++,Y().b[7][0]++,this.$route.name!=="groupchat"||(Y().b[7][1]++,!this.$route.params.jid)||(Y().b[7][2]++,this.$route.params.jid!==this.roomJid)?(Y().b[6][0]++,Y().s[13]++,this.$router.push({name:"groupchat",params:{jid:this.roomJid}})):Y().b[6][1]++,Y().s[14]++,this.roomJid=""}}});Y().s[15]++;const Ii=A=>(Y().f[6]++,Y().s[16]++,Dd("data-v-443cd60f"),A=A(),Pd(),A),px=(Y().s[17]++,{class:"menu"}),fx=(Y().s[18]++,{key:0,class:"menu-label"}),hx=(Y().s[19]++,{id:"contactsList",class:"menu-list"}),gx=(Y().s[20]++,{key:1,class:"menu-label"}),bx=(Y().s[21]++,Ii(()=>(Y().f[7]++,Y().s[22]++,b("span",null,"Groups",-1)))),Ex=(Y().s[23]++,{id:"groupsList",class:"menu-list"}),yx=(Y().s[24]++,{class:"menu-label"}),vx=(Y().s[25]++,{id:"roomsList",class:"menu-list"}),wx=(Y().s[26]++,Ii(()=>(Y().f[8]++,Y().s[27]++,b("i",{class:"fa fa-sign-in fa-fw mr-3"},null,-1)))),Bx=(Y().s[28]++,{class:"control is-flex-grow-1"}),Sx=(Y().s[29]++,["placeholder"]),kx=(Y().s[30]++,{class:"control",title:"Join this room"}),_x=(Y().s[31]++,["disabled"]),xx=(Y().s[32]++,Ii(()=>(Y().f[9]++,Y().s[33]++,b("span",{class:"icon"},[b("i",{class:"fa fa-sign-in"})],-1)))),jx=(Y().s[34]++,[xx]),Ix=(Y().s[35]++,Ii(()=>(Y().f[10]++,Y().s[36]++,b("span",{class:"icon"},[b("i",{class:"fa fa-plus-square"})],-1)))),Mx=(Y().s[37]++,Ii(()=>(Y().f[11]++,Y().s[38]++,b("span",null,"Create a room",-1))));function Dx(A,C,e,n,t,i){Y().f[12]++;const s=(Y().s[39]++,AA("contact")),o=(Y().s[40]++,AA("group")),l=(Y().s[41]++,AA("router-link"));return Y().s[42]++,h(),Q("aside",{class:zA(["section pb-2",e.isExpanded?(Y().b[8][0]++,"p-5"):(Y().b[8][1]++,"py-5 px-1")])},[b("div",px,[A.groups.length>0?(Y().b[9][0]++,h(),Q("p",fx,[b("i",{class:zA(["fa fa-user mr-3",e.isExpanded?(Y().b[10][0]++,"fa-lg"):(Y().b[10][1]++,"fa-2x fa-fw pl-4")])},null,2),QA(b("span",null,"Contacts",512),[[pC,e.isExpanded]])])):(Y().b[9][1]++,P("",!0)),b("ul",hx,[(h(!0),Q(hA,null,XA(A.contacts,a=>(Y().f[13]++,Y().s[43]++,h(),Q("li",{key:a.jid},[S(s,{jid:a.jid,"is-room":!1,name:a.name,"is-expanded":e.isExpanded,presence:a.presence,status:a.status,"unread-count":a.unreadCount},null,8,["jid","name","is-expanded","presence","status","unread-count"])]))),128))]),A.groups.length>0?(Y().b[11][0]++,QA((h(),Q("p",gx,[b("i",{class:zA(["fa fa-address-book mr-3",e.isExpanded?(Y().b[12][0]++,"fa-lg"):(Y().b[12][1]++,"fa-2x fa-fw pl-4")])},null,2),bx],512)),[[pC,e.isExpanded]])):(Y().b[11][1]++,P("",!0)),QA(b("ul",Ex,[(h(!0),Q(hA,null,XA(A.groups,a=>(Y().f[14]++,Y().s[44]++,h(),Q("li",{key:a},[S(o,{group:a},null,8,["group"])]))),128))],512),[[pC,e.isExpanded]]),b("p",yx,[b("i",{class:zA(["fa fa-users mr-3",e.isExpanded?(Y().b[13][0]++,"fa-lg"):(Y().b[13][1]++,"fa-2x fa-fw pl-3")])},null,2),QA(b("span",null,"Rooms",512),[[pC,e.isExpanded]])]),b("ul",vx,[(h(!0),Q(hA,null,XA(i.displayedRooms,a=>(Y().f[15]++,Y().s[45]++,h(),Q("li",{key:a.jid},[S(s,{jid:a.jid,"is-room":!0,"unread-count":a.unreadCount,"is-expanded":e.isExpanded},null,8,["jid","unread-count","is-expanded"])]))),128)),QA(b("li",null,[S(l,{"active-class":"is-active",to:{name:"public muc"},title:"Join a room"},{default:_A(()=>(Y().f[16]++,Y().s[46]++,[wx,tC("Public rooms")])),_:1})],512),[[pC,e.isExpanded]]),QA(b("li",null,[b("form",{class:"field has-addons",onSubmit:(Y().b[14][0]++,C[1]||(Y().b[14][1]++,C[1]=MA((...a)=>(Y().f[17]++,Y().s[47]++,Y().b[15][0]++,i.joinRoomByJid&&(Y().b[15][1]++,i.joinRoomByJid(...a))),["prevent"])))},[b("div",Bx,[QA(b("input",{"onUpdate:modelValue":(Y().b[16][0]++,C[0]||(Y().b[16][1]++,C[0]=a=>(Y().f[18]++,Y().s[48]++,t.roomJid=a))),class:"input is-dark",type:"text",placeholder:i.roomPlaceholder,title:"Enter a room jid for joining"},null,8,Sx),[[be,t.roomJid]])]),b("div",kx,[b("button",{type:"submit",class:"button is-dark",disabled:!i.isValidRoomJid},jx,8,_x)])],32)],512),[[pC,e.isExpanded]]),QA(b("li",null,[S(l,{to:{name:"room creation"},class:"button is-fullwidth is-dark",title:"Create a room"},{default:_A(()=>(Y().f[19]++,Y().s[49]++,[Ix,Mx])),_:1})],512),[[pC,e.isExpanded]])])])],2)}const Px=mC(dx,[["render",Dx],["__scopeId","data-v-443cd60f"]]);function GA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Home.vue",C="ba8e39f7eb9764588d657fb6f64c445eabe3d19d",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Home.vue",statementMap:{0:{start:{line:5,column:18},end:{line:57,column:1}},1:{start:{line:18,column:4},end:{line:21,column:5}},2:{start:{line:25,column:6},end:{line:25,column:44}},3:{start:{line:28,column:6},end:{line:28,column:31}},4:{start:{line:34,column:6},end:{line:38,column:7}},5:{start:{line:35,column:8},end:{line:37,column:10}},6:{start:{line:42,column:4},end:{line:42,column:33}},7:{start:{line:46,column:4},end:{line:50,column:5}},8:{start:{line:48,column:6},end:{line:48,column:37}},9:{start:{line:49,column:6},end:{line:49,column:95}},10:{start:{line:51,column:4},end:{line:51,column:32}},11:{start:{line:53,column:4},end:{line:55,column:6}},12:{start:{line:54,column:6},end:{line:54,column:35}},13:{start:{line:61,column:19},end:{line:64,column:1}},14:{start:{line:65,column:19},end:{line:68,column:1}},15:{start:{line:69,column:19},end:{line:69,column:69}},16:{start:{line:70,column:19},end:{line:70,column:28}},17:{start:{line:71,column:19},end:{line:71,column:41}},18:{start:{line:74,column:30},end:{line:74,column:59}},19:{start:{line:75,column:29},end:{line:75,column:57}},20:{start:{line:76,column:33},end:{line:76,column:65}},21:{start:{line:78,column:2},end:{line:108,column:35}},22:{start:{line:88,column:62},end:{line:88,column:98}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:10},end:{line:22,column:3}},line:17},1:{name:"(anonymous_1)",decl:{start:{line:24,column:4},end:{line:24,column:5}},loc:{start:{line:24,column:22},end:{line:26,column:5}},line:24},2:{name:"(anonymous_2)",decl:{start:{line:27,column:4},end:{line:27,column:5}},loc:{start:{line:27,column:15},end:{line:29,column:5}},line:27},3:{name:"resetActiveChat",decl:{start:{line:33,column:18},end:{line:33,column:33}},loc:{start:{line:33,column:37},end:{line:39,column:5}},line:33},4:{name:"(anonymous_4)",decl:{start:{line:41,column:2},end:{line:41,column:3}},loc:{start:{line:41,column:25},end:{line:43,column:3}},line:41},5:{name:"(anonymous_5)",decl:{start:{line:44,column:2},end:{line:44,column:3}},loc:{start:{line:44,column:13},end:{line:56,column:3}},line:44},6:{name:"(anonymous_6)",decl:{start:{line:53,column:44},end:{line:53,column:45}},loc:{start:{line:53,column:56},end:{line:55,column:5}},line:53},7:{name:"_sfc_render",decl:{start:{line:73,column:9},end:{line:73,column:20}},loc:{start:{line:73,column:68},end:{line:109,column:1}},line:73},8:{name:"(anonymous_8)",decl:{start:{line:88,column:51},end:{line:88,column:52}},loc:{start:{line:88,column:62},end:{line:88,column:98}},line:88}},branchMap:{0:{loc:{start:{line:34,column:6},end:{line:38,column:7}},type:"if",locations:[{start:{line:34,column:6},end:{line:38,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:34},1:{loc:{start:{line:46,column:4},end:{line:50,column:5}},type:"if",locations:[{start:{line:46,column:4},end:{line:50,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:46},2:{loc:{start:{line:46,column:8},end:{line:46,column:55}},type:"binary-expr",locations:[{start:{line:46,column:8},end:{line:46,column:29}},{start:{line:46,column:33},end:{line:46,column:55}}],line:46},3:{loc:{start:{line:78,column:9},end:{line:108,column:35}},type:"cond-expr",locations:[{start:{line:79,column:7},end:{line:107,column:8}},{start:{line:108,column:6},end:{line:108,column:35}}],line:78},4:{loc:{start:{line:87,column:23},end:{line:87,column:63}},type:"cond-expr",locations:[{start:{line:87,column:42},end:{line:87,column:52}},{start:{line:87,column:55},end:{line:87,column:63}}],line:87},5:{loc:{start:{line:88,column:25},end:{line:88,column:100}},type:"binary-expr",locations:[{start:{line:88,column:25},end:{line:88,column:34}},{start:{line:88,column:39},end:{line:88,column:99}}],line:88},6:{loc:{start:{line:92,column:50},end:{line:92,column:117}},type:"cond-expr",locations:[{start:{line:92,column:69},end:{line:92,column:91}},{start:{line:92,column:94},end:{line:92,column:117}}],line:92},7:{loc:{start:{line:99,column:10},end:{line:101,column:43}},type:"cond-expr",locations:[{start:{line:100,column:15},end:{line:100,column:73}},{start:{line:101,column:14},end:{line:101,column:43}}],line:99}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Home.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ba8e39f7eb9764588d657fb6f64c445eabe3d19d"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return GA=function(){return s},s}GA();const Ox=(GA().s[0]++,{name:"Home",components:{contacts:Px,Version:Uo},props:{jid:{type:String,default:null}},data(){return GA().f[0]++,GA().s[1]++,{hasAuthConfirmed:!1,isExpanded:!0}},computed:{displayContact(){return GA().f[1]++,GA().s[2]++,this.$route.meta.displayContact},userJid(){return GA().f[2]++,GA().s[3]++,this.$xmpp.fullJid}},watch:{jid:function(){GA().f[3]++,GA().s[4]++,this.jid===null?(GA().b[0][0]++,GA().s[5]++,this.$store.setActiveChat({activeChat:null})):GA().b[0][1]++}},async beforeUnmount(){GA().f[4]++,GA().s[6]++,await this.$xmpp.disconnect()},created(){if(GA().f[5]++,GA().s[7]++,GA().b[2][0]++,this.userJid===null||(GA().b[2][1]++,this.$xmpp.isAnonymous))return GA().b[1][0]++,GA().s[8]++,localStorage.removeItem("auth"),GA().s[9]++,this.$router.replace({name:"login",query:{redirect:this.$route.fullPath}});GA().b[1][1]++,GA().s[10]++,this.hasAuthConfirmed=!0,GA().s[11]++,window.addEventListener("beforeunload",async()=>{GA().f[6]++,GA().s[12]++,await this.$xmpp.disconnect()})}}),Lx=(GA().s[13]++,{key:0,class:"is-flex-tablet is-block-mobile is-full-height"}),Kx=(GA().s[14]++,{style:{position:"absolute",top:"4px",right:"0px"},class:"is-clipped is-hidden-mobile"}),Fx=(GA().s[15]++,{style:{position:"relative",right:"-20px"}}),Tx=(GA().s[16]++,["title"]),Nx=(GA().s[17]++,{class:"icon pr-3"});function $x(A,C,e,n,t,i){GA().f[7]++;const s=(GA().s[18]++,AA("contacts")),o=(GA().s[19]++,AA("version")),l=(GA().s[20]++,AA("router-view"));return GA().s[21]++,t.hasAuthConfirmed?(GA().b[3][0]++,h(),Q("div",Lx,[b("aside",{class:zA(["is-full-height-scrollable is-block-mobile is-flex-shrink-0 has-background-shade-3 is-flex is-flex-direction-column is-justify-content-space-between is-relative",{"is-hidden-mobile":!i.displayContact}])},[b("span",Kx,[b("span",Fx,[b("button",{class:"button is-rounded is-dark has-text-grey px-4 py-3",title:t.isExpanded?(GA().b[4][0]++,"Collapse"):(GA().b[4][1]++,"Expand"),onClick:(GA().b[5][0]++,C[0]||(GA().b[5][1]++,C[0]=a=>(GA().f[8]++,GA().s[22]++,t.isExpanded=!t.isExpanded)))},[b("span",Nx,[b("i",{class:zA(["fa",t.isExpanded?(GA().b[6][0]++,"fa-angle-double-left"):(GA().b[6][1]++,"fa-angle-double-right")])},null,2)])],8,Tx)])]),S(s,{"is-expanded":t.isExpanded},null,8,["is-expanded"]),t.isExpanded?(GA().b[7][0]++,h(),B(o,{key:0})):(GA().b[7][1]++,P("",!0))],2),(h(),B(l,{key:A.$route.fullPath,class:"is-flex-grow-1"}))])):(GA().b[3][1]++,P("",!0))}const Rx=mC(Ox,[["render",$x]]);function PA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomsList.vue",C="dd3676744690a091bac1159534651504c3979980",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomsList.vue",statementMap:{0:{start:{line:6,column:18},end:{line:36,column:1}},1:{start:{line:15,column:4},end:{line:19,column:5}},2:{start:{line:16,column:6},end:{line:16,column:37}},3:{start:{line:18,column:6},end:{line:18,column:48}},4:{start:{line:23,column:6},end:{line:23,column:63}},5:{start:{line:26,column:18},end:{line:26,column:20}},6:{start:{line:27,column:6},end:{line:29,column:7}},7:{start:{line:28,column:8},end:{line:28,column:33}},8:{start:{line:30,column:6},end:{line:32,column:7}},9:{start:{line:31,column:8},end:{line:31,column:40}},10:{start:{line:33,column:6},end:{line:33,column:40}},11:{start:{line:40,column:19},end:{line:40,column:39}},12:{start:{line:41,column:32},end:{line:41,column:97}},13:{start:{line:42,column:19},end:{line:42,column:76}},14:{start:{line:43,column:32},end:{line:54,column:6}},15:{start:{line:55,column:19},end:{line:55,column:30}},16:{start:{line:56,column:19},end:{line:56,column:28}},17:{start:{line:57,column:19},end:{line:57,column:49}},18:{start:{line:58,column:19},end:{line:58,column:49}},19:{start:{line:59,column:19},end:{line:63,column:1}},20:{start:{line:64,column:20},end:{line:64,column:50}},21:{start:{line:65,column:20},end:{line:69,column:1}},22:{start:{line:70,column:20},end:{line:70,column:50}},23:{start:{line:71,column:20},end:{line:75,column:1}},24:{start:{line:76,column:20},end:{line:76,column:50}},25:{start:{line:77,column:20},end:{line:81,column:1}},26:{start:{line:82,column:20},end:{line:82,column:50}},27:{start:{line:83,column:20},end:{line:87,column:1}},28:{start:{line:90,column:28},end:{line:90,column:55}},29:{start:{line:92,column:2},end:{line:146,column:5}},30:{start:{line:98,column:10},end:{line:142,column:28}},31:{start:{line:101,column:32},end:{line:101,column:59}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:19},end:{line:20,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:22,column:4},end:{line:22,column:5}},loc:{start:{line:22,column:19},end:{line:24,column:5}},line:22},2:{name:"(anonymous_2)",decl:{start:{line:25,column:4},end:{line:25,column:5}},loc:{start:{line:25,column:24},end:{line:34,column:5}},line:25},3:{name:"_sfc_render",decl:{start:{line:89,column:9},end:{line:89,column:20}},loc:{start:{line:89,column:68},end:{line:147,column:1}},line:89},4:{name:"(anonymous_4)",decl:{start:{line:97,column:94},end:{line:97,column:95}},loc:{start:{line:97,column:104},end:{line:143,column:9}},line:97},5:{name:"(anonymous_5)",decl:{start:{line:101,column:21},end:{line:101,column:22}},loc:{start:{line:101,column:32},end:{line:101,column:59}},line:101}},branchMap:{0:{loc:{start:{line:27,column:6},end:{line:29,column:7}},type:"if",locations:[{start:{line:27,column:6},end:{line:29,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:27},1:{loc:{start:{line:30,column:6},end:{line:32,column:7}},type:"if",locations:[{start:{line:30,column:6},end:{line:32,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:30},2:{loc:{start:{line:33,column:13},end:{line:33,column:40}},type:"cond-expr",locations:[{start:{line:33,column:28},end:{line:33,column:32}},{start:{line:33,column:35},end:{line:33,column:40}}],line:33},3:{loc:{start:{line:104,column:14},end:{line:110,column:47}},type:"cond-expr",locations:[{start:{line:105,column:19},end:{line:109,column:38}},{start:{line:110,column:18},end:{line:110,column:47}}],line:104},4:{loc:{start:{line:118,column:14},end:{line:120,column:47}},type:"cond-expr",locations:[{start:{line:119,column:19},end:{line:119,column:69}},{start:{line:120,column:18},end:{line:120,column:47}}],line:118},5:{loc:{start:{line:123,column:14},end:{line:125,column:47}},type:"cond-expr",locations:[{start:{line:124,column:19},end:{line:124,column:70}},{start:{line:125,column:18},end:{line:125,column:47}}],line:123},6:{loc:{start:{line:128,column:14},end:{line:130,column:47}},type:"cond-expr",locations:[{start:{line:129,column:19},end:{line:129,column:70}},{start:{line:130,column:18},end:{line:130,column:47}}],line:128},7:{loc:{start:{line:133,column:14},end:{line:135,column:47}},type:"cond-expr",locations:[{start:{line:134,column:19},end:{line:134,column:70}},{start:{line:135,column:18},end:{line:135,column:47}}],line:133},8:{loc:{start:{line:138,column:14},end:{line:140,column:47}},type:"cond-expr",locations:[{start:{line:139,column:19},end:{line:139,column:70}},{start:{line:140,column:18},end:{line:140,column:47}}],line:138}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomsList.vue"],names:[],mappings:";AAiCA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE5C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACR,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACxC,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACf,CAAC,CAAC,EAAE;MACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C;EACF,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;MACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MAClB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;MACb,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACb,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MAC1B;MACA,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACpB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACjC;MACA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;EACH,CAAC;AACH;;;;qBAlEQ,KAAK,EAAC,SAAS;gCACnB,oBAAmC,QAA/B,KAAK,EAAC,OAAO,IAAC,cAAY;qBACvB,KAAK,EAAC,8CAA8C;gCACzD,oBAWQ;eAVN,oBASK;iBARH,oBAA2B,QAAvB,KAAoB,EAApB,gBAAoB;iBACxB,oBAA4C,QAAxC,KAAK,EAAC,mBAAmB,IAAC,WAAS;iBACvC,oBAA4C,QAAxC,KAAK,EAAC,mBAAmB,IAAC,WAAS;iBACvC,oBAAqD,QAAjD,KAAK,EAAC,mBAAmB,IAAC,oBAAkB;iBAChD,oBAA4C,QAAxC,KAAK,EAAC,mBAAmB,IAAC,WAAS;iBACvC,oBAAiD,QAA7C,KAAK,EAAC,mBAAmB,IAAC,gBAAc;iBAC5C,oBAA+C,QAA3C,KAAK,EAAC,mBAAmB,IAAC,cAAY;iBAC1C,oBAA6C,QAAzC,KAAK,EAAC,mBAAmB,IAAC,YAAU;;;mBAblD;mBAAA;qBAoBc,KAAK,EAAC,mBAAmB;qBACzB,KAAK,EAAC,mBAAmB;;EArBvC,KAAA;EAqB2E,KAAK,EAAC,wBAAwB;EAAC,KAAK,EAAC,oBAAoB;;sBACtH,KAAK,EAAC,mBAAmB;;EAtBvC,KAAA;EAsBmE,KAAK,EAAC,oBAAoB;EAAC,KAAK,EAAC,cAAc;;sBACpG,KAAK,EAAC,mBAAmB;;EAvBvC,KAAA;EAuBmE,KAAK,EAAC,yBAAyB;EAAC,KAAK,EAAC,wBAAwB;;sBACnH,KAAK,EAAC,mBAAmB;;EAxBvC,KAAA;EAwBqE,KAAK,EAAC,mBAAmB;EAAC,KAAK,EAAC,uBAAuB;;sBAC9G,KAAK,EAAC,mBAAmB;;EAzBvC,KAAA;EAyBgE,KAAK,EAAC,mBAAmB;EAAC,KAAK,EAAC,aAAa;;;;;;wBAxB3G,oBA4BO,QA5BP,UA4BO;IA3BL,UAAmC;IACnC,oBAyBQ,SAzBR,UAyBQ;MAxBN,UAWQ;MACR,oBAWQ;2BAVN,oBASK,iBA1Bb,YAiB2B,gBAAW,EAjBtC,CAiBmB,IAAI;gCAAf,oBASK;YAT4B,GAAG,EAAE,IAAI,CAAC,GAAG;YAAE,KAAK,EAAC,cAAc;YAAE,OAAK,aAAE,iBAAQ,CAAC,IAAI,CAAC,GAAG;;YAC5F,oBAAmE;eAAjD,IAAI,CAAC,QAAQ;iCAA3B,aAA0D;oBAlBxE,KAAA;oBAkB4C,GAAG,EAAE,IAAI,CAAC,GAAG;oBAAG,IAAI,EAAE,EAAE;;kBAlBpE;;YAmBU,oBAA8E;cAA1E,KAAK,EAAC,mBAAmB;cAAE,KAAK,EAAE,qBAAY,CAAC,IAAI;gCAAM,IAAI,CAAC,IAAI,MAnBhF;YAoBU,oBAA4D,MAA5D,UAA4D,mBAA3B,IAAI,CAAC,cAAc;YACpD,oBAAkI,MAAlI,UAAkI;eAA3F,IAAI,CAAC,mBAAmB;iCAAjC,oBAA+F,KAA/F,UAA+F;kBArBvI;;YAsBU,oBAAgH,MAAhH,WAAgH;eAAzE,IAAI,CAAC,WAAW;iCAAzB,oBAA6E,KAA7E,WAA6E;kBAtBrH;;YAuBU,oBAA+H,MAA/H,WAA+H;eAAxF,IAAI,CAAC,WAAW;iCAAzB,oBAA4F,KAA5F,WAA4F;kBAvBpI;;YAwBU,oBAA0H,MAA1H,WAA0H;eAAnF,IAAI,CAAC,aAAa;iCAA3B,oBAAuF,KAAvF,WAAuF;kBAxB/H;;YAyBU,oBAA2G,MAA3G,WAA2G;eAApE,IAAI,CAAC,QAAQ;iCAAtB,oBAAwE,KAAxE,WAAwE;kBAzBhH;;gBAAA"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"dd3676744690a091bac1159534651504c3979980"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return PA=function(){return s},s}PA();const Gx=(PA().s[0]++,{name:"RoomsList",components:{avatar:yt},computed:{...Be(WC,["publicRooms"])},async mounted(){PA().f[0]++,PA().s[1]++;try{PA().s[2]++,await this.$xmpp.getPublicMuc()}catch(A){PA().s[3]++,console.error("getPublicMuc error",A)}},methods:{openRoom(A){PA().f[1]++,PA().s[4]++,this.$router.push({name:"groupchat",params:{jid:A}})},getRoomTitle(A){PA().f[2]++;let C=(PA().s[5]++,"");return PA().s[6]++,A.lang?(PA().b[0][0]++,PA().s[7]++,C=`[${A.lang}] `):PA().b[0][1]++,PA().s[8]++,A.description?(PA().b[1][0]++,PA().s[9]++,C=C+A.description):PA().b[1][1]++,PA().s[10]++,C===""?(PA().b[2][0]++,null):(PA().b[2][1]++,C)}}}),Ux=(PA().s[11]++,{class:"section"}),Qx=(PA().s[12]++,b("h2",{class:"title"},"Public rooms",-1)),Hx=(PA().s[13]++,{class:"table is-hoverable is-fullwidth center-table"}),Vx=(PA().s[14]++,b("thead",null,[b("tr",null,[b("th",{style:{width:"32px"}}),b("th",{class:"has-text-centered"},"Room name"),b("th",{class:"has-text-centered"},"Occupants"),b("th",{class:"has-text-centered"},"Password protected"),b("th",{class:"has-text-centered"},"Moderated"),b("th",{class:"has-text-centered"},"Semi-Anonymous"),b("th",{class:"has-text-centered"},"Members-Only"),b("th",{class:"has-text-centered"},"Visibility")])],-1)),zx=(PA().s[15]++,["onClick"]),qx=(PA().s[16]++,["title"]),Wx=(PA().s[17]++,{class:"has-text-centered"}),Yx=(PA().s[18]++,{class:"has-text-centered"}),Jx=(PA().s[19]++,{key:0,class:"fa fa-key-modern fa-fw",title:"Password protected"}),Xx=(PA().s[20]++,{class:"has-text-centered"}),Zx=(PA().s[21]++,{key:0,class:"fa fa-shield fa-fw",title:"Is moderated"}),Aj=(PA().s[22]++,{class:"has-text-centered"}),Cj=(PA().s[23]++,{key:0,class:"fa fa-user-secret fa-fw",title:"Allow anonymous (nick)"}),ej=(PA().s[24]++,{class:"has-text-centered"}),nj=(PA().s[25]++,{key:0,class:"fa fa-users fa-fw",title:"Restricted to members"}),tj=(PA().s[26]++,{class:"has-text-centered"}),ij=(PA().s[27]++,{key:0,class:"fa fa-globe fa-fw",title:"Public room"});function sj(A,C,e,n,t,i){PA().f[3]++;const s=(PA().s[28]++,AA("avatar"));return PA().s[29]++,h(),Q("main",Ux,[Qx,b("table",Hx,[Vx,b("tbody",null,[(h(!0),Q(hA,null,XA(A.publicRooms,o=>(PA().f[4]++,PA().s[30]++,h(),Q("tr",{key:o.jid,class:"is-clickable",onClick:l=>(PA().f[5]++,PA().s[31]++,i.openRoom(o.jid))},[b("td",null,[o.hasVCard?(PA().b[3][0]++,h(),B(s,{key:0,jid:o.jid,size:32},null,8,["jid"])):(PA().b[3][1]++,P("",!0))]),b("td",{class:"has-text-centered",title:i.getRoomTitle(o)},sA(o.name),9,qx),b("td",Wx,sA(o.occupantsCount),1),b("td",Yx,[o.isPasswordProtected?(PA().b[4][0]++,h(),Q("i",Jx)):(PA().b[4][1]++,P("",!0))]),b("td",Xx,[o.isModerated?(PA().b[5][0]++,h(),Q("i",Zx)):(PA().b[5][1]++,P("",!0))]),b("td",Aj,[o.isAnonymous?(PA().b[6][0]++,h(),Q("i",Cj)):(PA().b[6][1]++,P("",!0))]),b("td",ej,[o.isMembersOnly?(PA().b[7][0]++,h(),Q("i",nj)):(PA().b[7][1]++,P("",!0))]),b("td",tj,[o.isPublic?(PA().b[8][0]++,h(),Q("i",ij)):(PA().b[8][1]++,P("",!0))])],8,zx))),128))])])])}const oj=mC(Gx,[["render",sj]]);function jA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/RoomCreation.vue",C="cc05ca52eb0a5dc63c427b49935860b177e61c10",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/RoomCreation.vue",statementMap:{0:{start:{line:4,column:18},end:{line:49,column:1}},1:{start:{line:7,column:4},end:{line:11,column:5}},2:{start:{line:14,column:25},end:{line:14,column:135}},3:{start:{line:15,column:21},end:{line:15,column:109}},4:{start:{line:19,column:6},end:{line:24,column:7}},5:{start:{line:20,column:8},end:{line:22,column:9}},6:{start:{line:21,column:10},end:{line:21,column:16}},7:{start:{line:23,column:8},end:{line:23,column:65}},8:{start:{line:25,column:6},end:{line:25,column:27}},9:{start:{line:26,column:6},end:{line:45,column:7}},10:{start:{line:27,column:8},end:{line:27,column:23}},11:{start:{line:28,column:23},end:{line:28,column:64}},12:{start:{line:29,column:8},end:{line:42,column:9}},13:{start:{line:30,column:10},end:{line:41,column:12}},14:{start:{line:38,column:14},end:{line:38,column:85}},15:{start:{line:44,column:8},end:{line:44,column:34}},16:{start:{line:46,column:6},end:{line:46,column:28}},17:{start:{line:53,column:19},end:{line:53,column:39}},18:{start:{line:54,column:19},end:{line:54,column:69}},19:{start:{line:55,column:19},end:{line:55,column:34}},20:{start:{line:56,column:32},end:{line:58,column:6}},21:{start:{line:59,column:19},end:{line:59,column:39}},22:{start:{line:60,column:19},end:{line:60,column:31}},23:{start:{line:61,column:32},end:{line:63,column:6}},24:{start:{line:64,column:32},end:{line:64,column:79}},25:{start:{line:65,column:19},end:{line:68,column:1}},26:{start:{line:69,column:20},end:{line:72,column:1}},27:{start:{line:73,column:20},end:{line:73,column:61}},28:{start:{line:76,column:2},end:{line:107,column:5}},29:{start:{line:79,column:71},end:{line:79,column:122}},30:{start:{line:83,column:70},end:{line:83,column:94}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:2},end:{line:6,column:3}},loc:{start:{line:6,column:10},end:{line:12,column:3}},line:6},1:{name:"(anonymous_1)",decl:{start:{line:14,column:4},end:{line:14,column:5}},loc:{start:{line:14,column:23},end:{line:14,column:137}},line:14},2:{name:"(anonymous_2)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:19},end:{line:15,column:111}},line:15},3:{name:"(anonymous_3)",decl:{start:{line:18,column:4},end:{line:18,column:5}},loc:{start:{line:18,column:24},end:{line:47,column:5}},line:18},4:{name:"(anonymous_4)",decl:{start:{line:37,column:21},end:{line:37,column:22}},loc:{start:{line:37,column:27},end:{line:39,column:13}},line:37},5:{name:"_sfc_render",decl:{start:{line:75,column:9},end:{line:75,column:20}},loc:{start:{line:75,column:68},end:{line:108,column:1}},line:75},6:{name:"(anonymous_6)",decl:{start:{line:79,column:57},end:{line:79,column:58}},loc:{start:{line:79,column:71},end:{line:79,column:122}},line:79},7:{name:"(anonymous_7)",decl:{start:{line:83,column:59},end:{line:83,column:60}},loc:{start:{line:83,column:70},end:{line:83,column:94}},line:83}},branchMap:{0:{loc:{start:{line:14,column:32},end:{line:14,column:135}},type:"cond-expr",locations:[{start:{line:14,column:56},end:{line:14,column:87}},{start:{line:14,column:90},end:{line:14,column:135}}],line:14},1:{loc:{start:{line:15,column:28},end:{line:15,column:109}},type:"cond-expr",locations:[{start:{line:15,column:52},end:{line:15,column:75}},{start:{line:15,column:78},end:{line:15,column:109}}],line:15},2:{loc:{start:{line:19,column:6},end:{line:24,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:24,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:19},3:{loc:{start:{line:20,column:8},end:{line:22,column:9}},type:"if",locations:[{start:{line:20,column:8},end:{line:22,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:20},4:{loc:{start:{line:29,column:8},end:{line:42,column:9}},type:"if",locations:[{start:{line:29,column:8},end:{line:42,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:29},5:{loc:{start:{line:79,column:16},end:{line:79,column:138}},type:"binary-expr",locations:[{start:{line:79,column:16},end:{line:79,column:25}},{start:{line:79,column:30},end:{line:79,column:137}}],line:79},6:{loc:{start:{line:79,column:71},end:{line:79,column:122}},type:"binary-expr",locations:[{start:{line:79,column:71},end:{line:79,column:90}},{start:{line:79,column:94},end:{line:79,column:122}}],line:79},7:{loc:{start:{line:83,column:33},end:{line:83,column:96}},type:"binary-expr",locations:[{start:{line:83,column:33},end:{line:83,column:42}},{start:{line:83,column:47},end:{line:83,column:95}}],line:83},8:{loc:{start:{line:102,column:4},end:{line:106,column:37}},type:"cond-expr",locations:[{start:{line:103,column:9},end:{line:105,column:10}},{start:{line:106,column:8},end:{line:106,column:37}}],line:102}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/RoomCreation.vue"],names:[],mappings:";AAwBA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;AAElE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACb,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACpB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;IACN,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MACL,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;MACX,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB;EACF,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EAC7G,CAAC;EACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACP,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAClB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QACpC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;UAC1B,CAAC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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"cc05ca52eb0a5dc63c427b49935860b177e61c10"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return jA=function(){return s},s}jA();const lj=(jA().s[0]++,{name:"RoomCreation",data(){return jA().f[0]++,jA().s[1]++,{error:"",roomJid:"",isLoading:!1}},computed:{roomPlaceholder(){return jA().f[1]++,jA().s[2]++,this.$xmpp.defaultMuc?(jA().b[0][0]++,`room@${this.$xmpp.defaultMuc}`):(jA().b[0][1]++,`room@conference.${this.$xmpp.defaultDomain}`)},hasValidJid(){return jA().f[2]++,jA().s[3]++,this.$xmpp.defaultMuc?(jA().b[1][0]++,this.roomJid.length>2):(jA().b[1][1]++,/\S+@\S+\S+/.test(this.roomJid))}},methods:{async createRoom(){if(jA().f[3]++,jA().s[4]++,/\S+@\S+\S+/.test(this.roomJid))jA().b[2][1]++;else{if(jA().b[2][0]++,jA().s[5]++,this.$xmpp.defaultMuc)jA().b[3][1]++;else{jA().b[3][0]++,jA().s[6]++;return}jA().s[7]++,this.roomJid=this.roomJid+"@"+this.$xmpp.defaultMuc}jA().s[8]++,this.isLoading=!0,jA().s[9]++;try{jA().s[10]++,this.error="";const A=(jA().s[11]++,await this.$xmpp.createRoom(this.roomJid));jA().s[12]++,A?(jA().b[4][0]++,jA().s[13]++,this.$oruga.modal.open({component:sf,trapFocus:!0,props:{roomJid:this.roomJid,hasCancelButton:!1},onClose:()=>{jA().f[4]++,jA().s[14]++,this.$router.push({name:"groupchat",params:{jid:this.roomJid}})},canCancel:!1})):jA().b[4][1]++}catch(A){jA().s[15]++,this.error=A.message}jA().s[16]++,this.isLoading=!1}}}),aj=(jA().s[17]++,{class:"section"}),rj=(jA().s[18]++,{class:"control has-icons-left is-flex-grow-1"}),cj=(jA().s[19]++,["placeholder"]),uj=(jA().s[20]++,b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-tag"})],-1)),mj=(jA().s[21]++,{class:"control"}),dj=(jA().s[22]++,["disabled"]),pj=(jA().s[23]++,b("span",{class:"icon"},[b("i",{class:"fa fa-plus-square"})],-1)),fj=(jA().s[24]++,b("span",null,"Create",-1)),hj=(jA().s[25]++,[pj,fj]),gj=(jA().s[26]++,{key:0,class:"message is-danger"}),bj=(jA().s[27]++,{class:"message-body has-text-danger"});function Ej(A,C,e,n,t,i){return jA().f[5]++,jA().s[28]++,h(),Q("main",aj,[b("form",{class:"field has-addons",onSubmit:(jA().b[5][0]++,C[1]||(jA().b[5][1]++,C[1]=MA((...s)=>(jA().f[6]++,jA().s[29]++,jA().b[6][0]++,i.createRoom&&(jA().b[6][1]++,i.createRoom(...s))),["prevent"])))},[b("div",rj,[QA(b("input",{"onUpdate:modelValue":(jA().b[7][0]++,C[0]||(jA().b[7][1]++,C[0]=s=>(jA().f[7]++,jA().s[30]++,t.roomJid=s))),autofocus:"",class:"input",type:"text",placeholder:i.roomPlaceholder,title:"Enter room Jid"},null,8,cj),[[be,t.roomJid]]),uj]),b("div",mj,[b("button",{type:"submit",class:zA(["button is-primary",{"is-loading":t.isLoading}]),disabled:!i.hasValidJid},hj,10,dj)])],32),t.error?(jA().b[8][0]++,h(),Q("div",gj,[b("div",bj,sA(t.error),1)])):(jA().b[8][1]++,P("",!0))])}const yj=mC(lj,[["render",Ej]]);function yA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/Profile.vue",C="537f3254ac53290ab5eff5c4cffa4c109c06e93c",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/Profile.vue",statementMap:{0:{start:{line:4,column:18},end:{line:52,column:1}},1:{start:{line:9,column:4},end:{line:16,column:5}},2:{start:{line:13,column:73},end:{line:13,column:99}},3:{start:{line:21,column:4},end:{line:21,column:48}},4:{start:{line:22,column:4},end:{line:22,column:24}},5:{start:{line:26,column:6},end:{line:26,column:23}},6:{start:{line:27,column:6},end:{line:31,column:7}},7:{start:{line:28,column:8},end:{line:28,column:52}},8:{start:{line:30,column:8},end:{line:30,column:68}},9:{start:{line:34,column:6},end:{line:34,column:30}},10:{start:{line:35,column:21},end:{line:35,column:37}},11:{start:{line:36,column:6},end:{line:44,column:7}},12:{start:{line:38,column:22},end:{line:38,column:46}},13:{start:{line:39,column:21},end:{line:39,column:54}},14:{start:{line:40,column:8},end:{line:42,column:9}},15:{start:{line:41,column:10},end:{line:41,column:44}},16:{start:{line:43,column:8},end:{line:43,column:33}},17:{start:{line:45,column:6},end:{line:49,column:7}},18:{start:{line:46,column:8},end:{line:46,column:56}},19:{start:{line:48,column:8},end:{line:48,column:36}},20:{start:{line:56,column:19},end:{line:59,column:1}},21:{start:{line:60,column:19},end:{line:63,column:1}},22:{start:{line:64,column:19},end:{line:64,column:48}},23:{start:{line:65,column:19},end:{line:65,column:26}},24:{start:{line:66,column:19},end:{line:66,column:26}},25:{start:{line:67,column:19},end:{line:67,column:52}},26:{start:{line:68,column:19},end:{line:68,column:39}},27:{start:{line:69,column:19},end:{line:69,column:57}},28:{start:{line:70,column:19},end:{line:70,column:37}},29:{start:{line:71,column:20},end:{line:71,column:40}},30:{start:{line:72,column:20},end:{line:72,column:32}},31:{start:{line:73,column:33},end:{line:75,column:6}},32:{start:{line:76,column:33},end:{line:76,column:78}},33:{start:{line:77,column:20},end:{line:80,column:1}},34:{start:{line:81,column:20},end:{line:81,column:47}},35:{start:{line:82,column:20},end:{line:85,column:1}},36:{start:{line:88,column:31},end:{line:88,column:61}},37:{start:{line:90,column:2},end:{line:151,column:9}},38:{start:{line:98,column:62},end:{line:98,column:117}},39:{start:{line:115,column:10},end:{line:130,column:13}},40:{start:{line:122,column:50},end:{line:122,column:84}},41:{start:{line:137,column:63},end:{line:137,column:102}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:8,column:2},end:{line:8,column:3}},loc:{start:{line:8,column:10},end:{line:17,column:3}},line:8},1:{name:"(anonymous_1)",decl:{start:{line:13,column:60},end:{line:13,column:61}},loc:{start:{line:13,column:73},end:{line:13,column:99}},line:13},2:{name:"(anonymous_2)",decl:{start:{line:20,column:2},end:{line:20,column:3}},loc:{start:{line:20,column:19},end:{line:23,column:3}},line:20},3:{name:"(anonymous_3)",decl:{start:{line:25,column:4},end:{line:25,column:5}},loc:{start:{line:25,column:17},end:{line:32,column:5}},line:25},4:{name:"(anonymous_4)",decl:{start:{line:33,column:4},end:{line:33,column:5}},loc:{start:{line:33,column:20},end:{line:50,column:5}},line:33},5:{name:"(anonymous_5)",decl:{start:{line:36,column:22},end:{line:36,column:23}},loc:{start:{line:36,column:28},end:{line:44,column:7}},line:36},6:{name:"_sfc_render",decl:{start:{line:87,column:9},end:{line:87,column:20}},loc:{start:{line:87,column:68},end:{line:152,column:1}},line:87},7:{name:"(anonymous_7)",decl:{start:{line:98,column:48},end:{line:98,column:49}},loc:{start:{line:98,column:62},end:{line:98,column:117}},line:98},8:{name:"(anonymous_8)",decl:{start:{line:114,column:90},end:{line:114,column:91}},loc:{start:{line:114,column:101},end:{line:131,column:9}},line:114},9:{name:"(anonymous_9)",decl:{start:{line:122,column:39},end:{line:122,column:40}},loc:{start:{line:122,column:50},end:{line:122,column:84}},line:122},10:{name:"(anonymous_10)",decl:{start:{line:137,column:49},end:{line:137,column:50}},loc:{start:{line:137,column:63},end:{line:137,column:102}},line:137}},branchMap:{0:{loc:{start:{line:40,column:8},end:{line:42,column:9}},type:"if",locations:[{start:{line:40,column:8},end:{line:42,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:40},1:{loc:{start:{line:40,column:12},end:{line:40,column:55}},type:"binary-expr",locations:[{start:{line:40,column:12},end:{line:40,column:16}},{start:{line:40,column:20},end:{line:40,column:35}},{start:{line:40,column:39},end:{line:40,column:55}}],line:40},2:{loc:{start:{line:90,column:9},end:{line:151,column:9}},type:"cond-expr",locations:[{start:{line:91,column:7},end:{line:142,column:8}},{start:{line:143,column:7},end:{line:151,column:8}}],line:90},3:{loc:{start:{line:98,column:22},end:{line:98,column:119}},type:"binary-expr",locations:[{start:{line:98,column:22},end:{line:98,column:31}},{start:{line:98,column:36},end:{line:98,column:118}}],line:98},4:{loc:{start:{line:98,column:62},end:{line:98,column:117}},type:"binary-expr",locations:[{start:{line:98,column:62},end:{line:98,column:83}},{start:{line:98,column:87},end:{line:98,column:117}}],line:98},5:{loc:{start:{line:101,column:12},end:{line:111,column:40}},type:"cond-expr",locations:[{start:{line:102,column:17},end:{line:106,column:39}},{start:{line:107,column:17},end:{line:111,column:39}}],line:101},6:{loc:{start:{line:137,column:23},end:{line:137,column:104}},type:"binary-expr",locations:[{start:{line:137,column:23},end:{line:137,column:32}},{start:{line:137,column:37},end:{line:137,column:103}}],line:137},7:{loc:{start:{line:137,column:63},end:{line:137,column:102}},type:"binary-expr",locations:[{start:{line:137,column:63},end:{line:137,column:76}},{start:{line:137,column:80},end:{line:137,column:102}}],line:137}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},b:{0:[0,0],1:[0,0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/Profile.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"537f3254ac53290ab5eff5c4cffa4c109c06e93c"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return yA=function(){return s},s}yA();const vj=(yA().s[0]++,{name:"Profile",components:{},data(){return yA().f[0]++,yA().s[1]++,{isLoaded:!1,isProcessing:!1,profile:{},fields:this.$xmpp.client.getVCardAttributes().filter(A=>(yA().f[1]++,yA().s[2]++,A.type==="input")),defaultAvatar:ds,error:null}},computed:{},async created(){yA().f[2]++,yA().s[3]++,this.profile=await this.$xmpp.getProfile(),yA().s[4]++,this.isLoaded=!0},methods:{async save(){yA().f[3]++,yA().s[5]++,this.error=null,yA().s[6]++;try{yA().s[7]++,await this.$xmpp.updateProfile(this.profile)}catch(A){yA().s[8]++,this.error=`Error during profile update: ${A.message}`}},selectAvatar(){yA().f[4]++,yA().s[9]++,this.isProcessing=!0;const A=(yA().s[10]++,new FileReader);yA().s[11]++,A.onload=()=>{yA().f[5]++;const C=(yA().s[12]++,A.result.split(",")),e=(yA().s[13]++,/data:(.*);base64/.exec(C[0]));yA().s[14]++,yA().b[1][0]++,e&&(yA().b[1][1]++,e.length>1)&&(yA().b[1][2]++,C.length>1)?(yA().b[0][0]++,yA().s[15]++,this.profile.PHOTO=A.result):yA().b[0][1]++,yA().s[16]++,this.isProcessing=!1},yA().s[17]++;try{yA().s[18]++,A.readAsDataURL(this.$refs.avatar.files[0])}catch(C){yA().s[19]++,console.error(C.message)}}}}),wj=(yA().s[20]++,{key:0,class:"is-full-height-scrollable section"}),Bj=(yA().s[21]++,{class:"is-inline-block field is-relative is-clickable",title:"Click to edit your avatar"}),Sj=(yA().s[22]++,{class:"image is-128x128"}),kj=(yA().s[23]++,["src"]),_j=(yA().s[24]++,["src"]),xj=(yA().s[25]++,{class:"label has-text-light"}),jj=(yA().s[26]++,{class:"control"}),Ij=(yA().s[27]++,["onUpdate:modelValue","placeholder"]),Mj=(yA().s[28]++,{class:"field"}),Dj=(yA().s[29]++,{class:"control"}),Pj=(yA().s[30]++,["disabled"]),Oj=(yA().s[31]++,b("span",{class:"icon"},[b("i",{class:"fa fa-save"})],-1)),Lj=(yA().s[32]++,b("span",null,"Save",-1)),Kj=(yA().s[33]++,[Oj,Lj]),Fj=(yA().s[34]++,{class:"help is-danger"}),Tj=(yA().s[35]++,{key:1,class:"is-relative section"});function Nj(A,C,e,n,t,i){yA().f[6]++;const s=(yA().s[36]++,AA("o-loading"));return yA().s[37]++,t.isLoaded?(yA().b[2][0]++,h(),Q("main",wj,[b("label",Bj,[b("input",{ref:"avatar",class:"file-input",type:"file",accept:"image/*",onChange:(yA().b[3][0]++,C[0]||(yA().b[3][1]++,C[0]=(...o)=>(yA().f[7]++,yA().s[38]++,yA().b[4][0]++,i.selectAvatar&&(yA().b[4][1]++,i.selectAvatar(...o)))))},null,544),b("span",Sj,[t.profile.PHOTO?(yA().b[5][0]++,h(),Q("img",{key:0,class:"is-rounded",src:t.profile.PHOTO},null,8,kj)):(yA().b[5][1]++,h(),Q("img",{key:1,class:"is-rounded",src:t.defaultAvatar},null,8,_j))])]),(h(!0),Q(hA,null,XA(t.fields,o=>(yA().f[8]++,yA().s[39]++,h(),Q("div",{key:o.id,class:"field"},[b("label",xj,sA(o.label),1),b("div",jj,[QA(b("input",{"onUpdate:modelValue":l=>(yA().f[9]++,yA().s[40]++,t.profile[o.id]=l),class:"input",type:"text",placeholder:o.placeholder},null,8,Ij),[[be,t.profile[o.id]]])])]))),128)),b("div",Mj,[b("div",Dj,[b("button",{class:"button is-primary",disabled:t.isProcessing,onClick:(yA().b[6][0]++,C[1]||(yA().b[6][1]++,C[1]=(...o)=>(yA().f[10]++,yA().s[41]++,yA().b[7][0]++,i.save&&(yA().b[7][1]++,i.save(...o)))))},Kj,8,Pj)]),b("p",Fj,sA(t.error),1)])])):(yA().b[2][1]++,h(),Q("main",Tj,[S(s,{class:"is-full-height-scrollable section",active:!0,"full-page":!1,icon:"circle-o-notch","icon-size":"large"})]))}const $j=mC(vj,[["render",Nj]]),Rj={name:"Netizen Open Source License",url:"http://bits.netizen.com.au/licenses/NOSL/nosl.txt",osiApproved:!1},Gj={name:"Apple MIT License",url:"https://fedoraproject.org/wiki/Licensing/Apple_MIT_License",osiApproved:!1},Uj={name:"Jam License",url:"https://www.boost.org/doc/libs/1_35_0/doc/html/jam.html",osiApproved:!0},Qj={name:"radvd License",url:"https://github.com/radvd-project/radvd/blob/master/COPYRIGHT",osiApproved:!1},Hj={name:"W3C Software Notice and License (2002-12-31)",url:"http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html",osiApproved:!0},Vj={name:"xinetd License",url:"https://fedoraproject.org/wiki/Licensing/Xinetd_License",osiApproved:!1},zj={name:"libtiff License",url:"https://fedoraproject.org/wiki/Licensing/libtiff",osiApproved:!1},qj={name:"MakeIndex License",url:"https://fedoraproject.org/wiki/Licensing/MakeIndex",osiApproved:!1},Wj={name:"The MirOS Licence",url:"https://opensource.org/licenses/MirOS",osiApproved:!0},Yj={name:"Text-Tabs+Wrap License",url:"https://fedoraproject.org/wiki/Licensing/TTWL",osiApproved:!1},Jj={name:"Aladdin Free Public License",url:"http://pages.cs.wisc.edu/~ghost/doc/AFPL/6.01/Public.htm",osiApproved:!1},Xj={name:"Soundex License",url:"https://metacpan.org/release/RJBS/Text-Soundex-3.05/source/Soundex.pm#L3-11",osiApproved:!1},Zj={name:"University of Illinois/NCSA Open Source License",url:"http://otm.illinois.edu/uiuc_openSource",osiApproved:!0},AI={name:"Beerware License",url:"https://fedoraproject.org/wiki/Licensing/Beerware",osiApproved:!1},CI={name:"XPP License",url:"https://fedoraproject.org/wiki/Licensing/xpp",osiApproved:!1},eI={name:"Bahyph License",url:"https://fedoraproject.org/wiki/Licensing/Bahyph",osiApproved:!1},nI={name:"The Unlicense",url:"https://unlicense.org/",osiApproved:!0},tI={name:"Standard ML of New Jersey License",url:"https://www.smlnj.org/license.html",osiApproved:!1},iI={name:"No Limit Public License",url:"https://fedoraproject.org/wiki/Licensing/NLPL",osiApproved:!1},sI={name:"David M. Gay dtoa License",url:"https://github.com/SWI-Prolog/swipl-devel/blob/master/src/os/dtoa.c",osiApproved:!1},oI={name:"pnmstitch License",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/editor/pnmstitch.c#l2",osiApproved:!1},lI={name:"DOC License",url:"http://www.cs.wustl.edu/~schmidt/ACE-copying.html",osiApproved:!1},aI={name:"Entessa Public License v1.0",url:"https://opensource.org/licenses/Entessa",osiApproved:!0},rI={name:"Independent JPEG Group License",url:"http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev=1.2",osiApproved:!1},cI={name:"GD License",url:"https://libgd.github.io/manuals/2.3.0/files/license-txt.html",osiApproved:!1},uI={name:"Fair License",url:"https://web.archive.org/web/20150926120323/http://fairlicense.org/",osiApproved:!0},mI={name:"SunPro License",url:"https://github.com/freebsd/freebsd-src/blob/main/lib/msun/src/e_acosh.c",osiApproved:!1},dI={name:"FSF Unlimited License (with License Retention)",url:"https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant",osiApproved:!1},pI={name:"AMD's plpa_map.c License",url:"https://fedoraproject.org/wiki/Licensing/AMD_plpa_map_License",osiApproved:!1},fI={name:"eGenix.com Public License 1.1.0",url:"http://www.egenix.com/products/eGenix.com-Public-License-1.1.0.pdf",osiApproved:!1},hI={name:"Japan Network Information Center License",url:"https://gitlab.isc.org/isc-projects/bind9/blob/master/COPYRIGHT#L366",osiApproved:!1},gI={name:"Checkmk License",url:"https://github.com/libcheck/check/blob/master/checkmk/checkmk.in",osiApproved:!1},bI={name:"Borceux license",url:"https://fedoraproject.org/wiki/Licensing/Borceux",osiApproved:!1},EI={name:"NetCDF license",url:"http://www.unidata.ucar.edu/software/netcdf/copyright.html",osiApproved:!1},yI={name:"MIT License",url:"https://opensource.org/license/mit/",osiApproved:!0},vI={name:"X.Net License",url:"https://opensource.org/licenses/Xnet",osiApproved:!0},wI={name:"Cube License",url:"https://fedoraproject.org/wiki/Licensing/Cube",osiApproved:!1},BI={name:"Nokia Open Source License",url:"https://opensource.org/licenses/nokia",osiApproved:!0},SI={name:"FreeImage Public License v1.0",url:"http://freeimage.sourceforge.net/freeimage-license.txt",osiApproved:!1},kI={name:"Lesser General Public License For Linguistic Resources",url:"http://www-igm.univ-mlv.fr/~unitex/lgpllr.html",osiApproved:!1},_I={name:"Haskell Language Report License",url:"https://fedoraproject.org/wiki/Licensing/Haskell_Language_Report_License",osiApproved:!1},xI={name:"libpng License",url:"http://www.libpng.org/pub/png/src/libpng-LICENSE.txt",osiApproved:!1},jI={name:"PADL License",url:"https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/os-local.c?ref_type=heads#L19-23",osiApproved:!1},II={name:"psutils License",url:"https://fedoraproject.org/wiki/Licensing/psutils",osiApproved:!1},MI={name:"Dotseqn License",url:"https://fedoraproject.org/wiki/Licensing/Dotseqn",osiApproved:!1},DI={name:"psfrag License",url:"https://fedoraproject.org/wiki/Licensing/psfrag",osiApproved:!1},PI={name:"CFITSIO License",url:"https://heasarc.gsfc.nasa.gov/docs/software/fitsio/c/f_user/node9.html",osiApproved:!1},OI={name:"ICU License",url:"http://source.icu-project.org/repos/icu/icu/trunk/license.html",osiApproved:!0},LI={name:"lsof License",url:"https://github.com/lsof-org/lsof/blob/master/COPYING",osiApproved:!1},KI={name:"snprintf License",url:"https://github.com/openssh/openssh-portable/blob/master/openbsd-compat/bsd-snprintf.c#L2",osiApproved:!1},FI={name:"mplus Font License",url:"https://fedoraproject.org/wiki/Licensing:Mplus?rd=Licensing/mplus",osiApproved:!1},TI={name:"mpich2 License",url:"https://fedoraproject.org/wiki/Licensing/MIT",osiApproved:!1},NI={name:"Clips License",url:"https://github.com/DrItanium/maya/blob/master/LICENSE.CLIPS",osiApproved:!1},$I={name:"Xfig License",url:"https://github.com/Distrotech/transfig/blob/master/transfig/transfig.c",osiApproved:!1},RI={name:"Afmparse License",url:"https://fedoraproject.org/wiki/Licensing/Afmparse",osiApproved:!1},GI={name:"Zeeff License",url:"ftp://ftp.tin.org/pub/news/utils/newsx/newsx-1.6.tar.gz",osiApproved:!1},UI={name:"Minpack License",url:"http://www.netlib.org/minpack/disclaimer",osiApproved:!1},QI={name:"Intel Open Source License",url:"https://opensource.org/licenses/Intel",osiApproved:!0},HI={name:"SL License",url:"https://github.com/mtoyoda/sl/blob/master/LICENSE",osiApproved:!1},VI={name:"EU DataGrid Software License",url:"http://eu-datagrid.web.cern.ch/eu-datagrid/license.html",osiApproved:!0},zI={name:"Secure Messaging Protocol Public License",url:"https://github.com/dcblake/SMP/blob/master/Documentation/License.txt",osiApproved:!1},qI={name:"TTYP0 License",url:"https://people.mpi-inf.mpg.de/~uwe/misc/uw-ttyp0/",osiApproved:!1},WI={name:"SNIA Public License 1.1",url:"https://fedoraproject.org/wiki/Licensing/SNIA_Public_License",osiApproved:!1},YI={name:"Open Group Test Suite License",url:"http://www.opengroup.org/testing/downloads/The_Open_Group_TSL.txt",osiApproved:!0},JI={name:"3dfx Glide License",url:"http://www.users.on.net/~triforce/glidexp/COPYING.txt",osiApproved:!1},XI={name:"Naumen Public License",url:"https://opensource.org/licenses/Naumen",osiApproved:!0},ZI={name:"mailprio License",url:"https://fossies.org/linux/sendmail/contrib/mailprio",osiApproved:!1},AM={name:"Fuzzy Bitmap License",url:"https://github.com/SWI-Prolog/packages-xpce/blob/161a40cd82004f731ba48024f9d30af388a7edf5/src/img/gifwrite.c#L21-L26",osiApproved:!1},CM={name:"SCEA Shared Source License",url:"http://research.scea.com/scea_shared_source_license.html",osiApproved:!1},eM={name:"Sleepycat License",url:"https://opensource.org/licenses/Sleepycat",osiApproved:!0},nM={name:"Pixar License",url:"https://github.com/PixarAnimationStudios/OpenSubdiv/raw/v3_5_0/LICENSE.txt",osiApproved:!1},tM={name:"Qhull License",url:"https://fedoraproject.org/wiki/Licensing/Qhull",osiApproved:!1},iM={name:"Nethack General Public License",url:"https://opensource.org/licenses/NGPL",osiApproved:!0},sM={name:"MMIXware License",url:"https://gitlab.lrz.de/mmix/mmixware/-/blob/master/boilerplate.w",osiApproved:!1},oM={name:"Latex2e License",url:"https://fedoraproject.org/wiki/Licensing/Latex2e",osiApproved:!1},lM={name:"Kazlib License",url:"http://git.savannah.gnu.org/cgit/kazlib.git/tree/except.c?id=0062df360c2d17d57f6af19b0e444c51feb99036",osiApproved:!1},aM={name:"fwlw License",url:"https://mirrors.nic.cz/tex-archive/macros/latex/contrib/fwlw/README",osiApproved:!1},rM={name:"Common Lisp LOOP License",url:"https://gitlab.com/embeddable-common-lisp/ecl/-/blob/develop/src/lsp/loop.lsp",osiApproved:!1},cM={name:"Academy of Motion Picture Arts and Sciences BSD",url:"https://fedoraproject.org/wiki/Licensing/BSD#AMPASBSD",osiApproved:!1},uM={name:"gnuplot License",url:"https://fedoraproject.org/wiki/Licensing/Gnuplot",osiApproved:!1},mM={name:"FSF All Permissive License",url:"https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html",osiApproved:!1},dM={name:"wxWindows Library License",url:"https://opensource.org/licenses/WXwindows",osiApproved:!0},pM={name:"UnixCrypt License",url:"https://foss.heptapod.net/python-libs/passlib/-/blob/branch/stable/LICENSE#L70",osiApproved:!1},fM={name:"magaz License",url:"https://mirrors.nic.cz/tex-archive/macros/latex/contrib/magaz/magaz.tex",osiApproved:!1},hM={name:"Imlib2 License",url:"http://trac.enlightenment.org/e/browser/trunk/imlib2/COPYING",osiApproved:!1},gM={name:"Caldera License",url:"http://www.lemis.com/grog/UNIX/ancient-source-all.pdf",osiApproved:!1},bM={name:"Glulxe License",url:"https://fedoraproject.org/wiki/Licensing/Glulxe",osiApproved:!1},EM={name:"Leptonica License",url:"https://fedoraproject.org/wiki/Licensing/Leptonica",osiApproved:!1},yM={name:"Vim License",url:"http://vimdoc.sourceforge.net/htmldoc/uganda.html",osiApproved:!1},vM={name:"Time::ParseDate License",url:"https://metacpan.org/pod/Time::ParseDate#LICENSE",osiApproved:!1},wM={name:"Cronyx License",url:"https://gitlab.freedesktop.org/xorg/font/alias/-/blob/master/COPYING",osiApproved:!1},BM={name:"Crossword License",url:"https://fedoraproject.org/wiki/Licensing/Crossword",osiApproved:!1},SM={name:"iMatix Standard Function Library Agreement",url:"http://legacy.imatix.com/html/sfl/sfl4.htm#license",osiApproved:!1},kM={name:"dvipdfm License",url:"https://fedoraproject.org/wiki/Licensing/dvipdfm",osiApproved:!1},_M={name:"Do What The F*ck You Want To Public License",url:"http://www.wtfpl.net/about/",osiApproved:!1},xM={name:"Xerox License",url:"https://fedoraproject.org/wiki/Licensing/Xerox",osiApproved:!1},jM={name:"Open Market License",url:"https://fedoraproject.org/wiki/Licensing/Open_Market_License",osiApproved:!1},IM={name:"GL2PS License",url:"http://www.geuz.org/gl2ps/COPYING.GL2PS",osiApproved:!1},MM={name:"gtkbook License",url:"https://github.com/slogan621/gtkbook",osiApproved:!1},DM={name:"Plexus Classworlds License",url:"https://fedoraproject.org/wiki/Licensing/Plexus_Classworlds_License",osiApproved:!1},PM={name:"XSkat License",url:"https://fedoraproject.org/wiki/Licensing/XSkat_License",osiApproved:!1},OM={name:"Scheme Widget Library (SWL) Software License Agreement",url:"https://fedoraproject.org/wiki/Licensing/SWL",osiApproved:!1},LM={name:"xlock License",url:"https://fossies.org/linux/tiff/contrib/ras/ras2tif.c",osiApproved:!1},KM={name:"swrule License",url:"https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/misc/swrule.sty",osiApproved:!1},FM={name:"diffmark license",url:"https://fedoraproject.org/wiki/Licensing/diffmark",osiApproved:!1},TM={name:"NRL License",url:"http://web.mit.edu/network/isakmp/nrllicense.html",osiApproved:!1},NM={name:"UCAR License",url:"https://github.com/Unidata/UDUNITS-2/blob/master/COPYRIGHT",osiApproved:!1},$M={name:"Adobe Postscript AFM License",url:"https://fedoraproject.org/wiki/Licensing/AdobePostscriptAFM",osiApproved:!1},RM={name:"Matrix Template Library License",url:"https://fedoraproject.org/wiki/Licensing/Matrix_Template_Library_License",osiApproved:!1},GM={name:"PostgreSQL License",url:"http://www.postgresql.org/about/licence",osiApproved:!0},UM={name:"Abstyles License",url:"https://fedoraproject.org/wiki/Licensing/Abstyles",osiApproved:!1},QM={name:"ulem License",url:"https://mirrors.ctan.org/macros/latex/contrib/ulem/README",osiApproved:!1},HM={name:"Kastrup License",url:"https://ctan.math.utah.edu/ctan/tex-archive/macros/generic/kastrup/binhex.dtx",osiApproved:!1},VM={name:"IPA Font License",url:"https://opensource.org/licenses/IPA",osiApproved:!0},zM={name:"TermReadKey License",url:"https://github.com/jonathanstowe/TermReadKey/blob/master/README#L9-L10",osiApproved:!1},qM={name:"Barr License",url:"https://fedoraproject.org/wiki/Licensing/Barr",osiApproved:!1},WM={name:"Sendmail License",url:"http://www.sendmail.com/pdfs/open_source/sendmail_license.pdf",osiApproved:!1},YM={name:"curl License",url:"https://github.com/bagder/curl/blob/master/COPYING",osiApproved:!1},JM={name:"Saxpath License",url:"https://fedoraproject.org/wiki/Licensing/Saxpath_License",osiApproved:!1},XM={name:"Attribution Assurance License",url:"https://opensource.org/licenses/attribution",osiApproved:!0},ZM={name:"Clarified Artistic License",url:"http://gianluca.dellavedova.org/2011/01/03/clarified-artistic-license/",osiApproved:!1},AD={name:"Motosoto License",url:"https://opensource.org/licenses/Motosoto",osiApproved:!0},CD={name:"Giftware License",url:"http://liballeg.org/license.html#allegro-4-the-giftware-license",osiApproved:!1},eD={name:"FSF Unlimited License (With License Retention and Warranty Disclaimer)",url:"https://lists.gnu.org/archive/html/autoconf/2012-04/msg00061.html",osiApproved:!1},nD={name:"SGP4 Permission Notice",url:"https://celestrak.org/publications/AIAA/2006-6753/faq.php",osiApproved:!1},tD={name:"Multics License",url:"https://opensource.org/licenses/Multics",osiApproved:!0},iD={name:"hdparm License",url:"https://github.com/Distrotech/hdparm/blob/4517550db29a91420fb2b020349523b1b4512df2/LICENSE.TXT",osiApproved:!1},sD={name:"NTP License",url:"https://opensource.org/licenses/NTP",osiApproved:!0},oD={name:"Nunit License",url:"https://fedoraproject.org/wiki/Licensing/Nunit",osiApproved:!1},lD={name:"HTML Tidy License",url:"https://github.com/htacg/tidy-html5/blob/next/README/LICENSE.md",osiApproved:!1},aD={name:"Noweb License",url:"https://fedoraproject.org/wiki/Licensing/Noweb",osiApproved:!1},rD={name:"ISC License",url:"https://www.isc.org/licenses/",osiApproved:!0},cD={name:"Symlinks License",url:"https://www.mail-archive.com/debian-bugs-rc@lists.debian.org/msg11494.html",osiApproved:!1},uD={name:"softSurfer License",url:"https://github.com/mm2/Little-CMS/blob/master/src/cmssm.c#L207",osiApproved:!1},mD={name:"TCL/TK License",url:"http://www.tcl.tk/software/tcltk/license.html",osiApproved:!1},dD={name:"Amazon Digital Services License",url:"https://fedoraproject.org/wiki/Licensing/AmazonDigitalServicesLicense",osiApproved:!1},pD={name:"Zed License",url:"https://fedoraproject.org/wiki/Licensing/Zed",osiApproved:!1},fD={name:"w3m License",url:"https://github.com/tats/w3m/blob/master/COPYING",osiApproved:!1},hD={name:"Baekmuk License",url:"https://fedoraproject.org/wiki/Licensing:Baekmuk?rd=Licensing/Baekmuk",osiApproved:!1},gD={name:"VOSTROM Public License for Open Source",url:"https://fedoraproject.org/wiki/Licensing/VOSTROM",osiApproved:!1},bD={name:"X11 License",url:"http://www.xfree86.org/3.3.6/COPYRIGHT2.html#3",osiApproved:!1},ED={name:"Freetype Project License",url:"http://freetype.fis.uniroma2.it/FTL.TXT",osiApproved:!1},yD={name:"CrystalStacker License",url:"https://fedoraproject.org/wiki/Licensing:CrystalStacker?rd=Licensing/CrystalStacker",osiApproved:!1},vD={name:"EPICS Open License",url:"https://epics.anl.gov/license/open.php",osiApproved:!1},wD={name:"Sun Industry Standards Source License v1.1",url:"http://www.openoffice.org/licenses/sissl_license.html",osiApproved:!0},BD={name:"MIT +no-false-attribs license",url:"https://fedoraproject.org/wiki/Licensing/MITNFA",osiApproved:!1},SD={name:"Ruby License",url:"https://www.ruby-lang.org/en/about/license.txt",osiApproved:!1},kD={name:"TMate Open Source License",url:"http://svnkit.com/license.html",osiApproved:!1},_D={name:"DSDP License",url:"https://fedoraproject.org/wiki/Licensing/DSDP",osiApproved:!1},xD={name:"Scheme Language Report License",osiApproved:!1},jD={name:"ImageMagick License",url:"http://www.imagemagick.org/script/license.php",osiApproved:!1},ID={name:"OpenSSL License",url:"http://www.openssl.org/source/license.html",osiApproved:!1},MD={name:"metamail License",url:"https://github.com/Dual-Life/mime-base64/blob/master/Base64.xs#L12",osiApproved:!1},DD={name:"Trusster Open Source License",url:"https://fedoraproject.org/wiki/Licensing/TOSL",osiApproved:!1},PD={name:"Good Luck With That Public License",url:"https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85",osiApproved:!1},OD={name:"FSF Unlimited License",url:"https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License",osiApproved:!1},LD={name:"Ricoh Source Code Public License",url:"http://wayback.archive.org/web/20060715140826/http://www.risource.org/RPL/RPL-1.0A.shtml",osiApproved:!0},KD={name:"Eurosym License",url:"https://fedoraproject.org/wiki/Licensing/Eurosym",osiApproved:!1},FD={name:"OpenVision License",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L66-L98",osiApproved:!1},TD={name:"Rdisc License",url:"https://fedoraproject.org/wiki/Licensing/Rdisc_License",osiApproved:!1},ND={name:"OFFIS License",url:"https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/dicom/README",osiApproved:!1},$D={name:"Furuseth License",url:"https://git.openldap.org/openldap/openldap/-/blob/master/COPYRIGHT?ref_type=heads#L39-51",osiApproved:!1},RD={name:"zlib License",url:"http://www.zlib.net/zlib_license.html",osiApproved:!0},GD={name:"Mup License",url:"https://fedoraproject.org/wiki/Licensing/Mup",osiApproved:!1},UD={name:"Wsuipa License",url:"https://fedoraproject.org/wiki/Licensing/Wsuipa",osiApproved:!1},QD={name:"Newsletr License",url:"https://fedoraproject.org/wiki/Licensing/Newsletr",osiApproved:!1},HD={name:"SQLite Blessing",url:"https://www.sqlite.org/src/artifact/e33a4df7e32d742a?ln=4-9",osiApproved:!1},VD={name:"Historical Permission Notice and Disclaimer",url:"https://opensource.org/licenses/HPND",osiApproved:!0},zD={"GPL-1.0-or-later":{name:"GNU General Public License v1.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},NOSL:Rj,AML:Gj,"SPL-1.0":{name:"Sun Public License v1.0",url:"https://opensource.org/licenses/SPL-1.0",osiApproved:!0},Jam:Uj,radvd:Qj,"GFDL-1.1-no-invariants-only":{name:"GNU Free Documentation License v1.1 only - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"GFDL-1.1-no-invariants-or-later":{name:"GNU Free Documentation License v1.1 or later - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"ASWF-Digital-Assets-1.1":{name:"ASWF Digital Assets License 1.1",url:"https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.1.txt",osiApproved:!1},"OLDAP-2.6":{name:"Open LDAP Public License v2.6",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=1cae062821881f41b73012ba816434897abf4205",osiApproved:!1},"HPND-INRIA-IMAG":{name:"Historical Permission Notice and Disclaimer - INRIA-IMAG variant",url:"https://github.com/ppp-project/ppp/blob/master/pppd/ipv6cp.c#L75-L83",osiApproved:!1},"PHP-3.01":{name:"PHP License v3.01",url:"http://www.php.net/license/3_01.txt",osiApproved:!0},"LGPL-2.1+":{name:"GNU Lesser General Public License v2.1 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},W3C:Hj,"GFDL-1.2-no-invariants-or-later":{name:"GNU Free Documentation License v1.2 or later - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"Boehm-GC":{name:"Boehm-Demers-Weiser GC License",url:"https://fedoraproject.org/wiki/Licensing:MIT#Another_Minimal_variant_(found_in_libatomic_ops)",osiApproved:!1},"SGI-B-1.1":{name:"SGI Free Software License B v1.1",url:"http://oss.sgi.com/projects/FreeB/",osiApproved:!1},xinetd:Vj,"CC-BY-ND-1.0":{name:"Creative Commons Attribution No Derivatives 1.0 Generic",url:"https://creativecommons.org/licenses/by-nd/1.0/legalcode",osiApproved:!1},"OSET-PL-2.1":{name:"OSET Public License version 2.1",url:"http://www.osetfoundation.org/public-license",osiApproved:!0},libtiff:zj,"Elastic-2.0":{name:"Elastic License 2.0",url:"https://www.elastic.co/licensing/elastic-license",osiApproved:!1},MakeIndex:qj,MirOS:Wj,"Sendmail-8.23":{name:"Sendmail License 8.23",url:"https://www.proofpoint.com/sites/default/files/sendmail-license.pdf",osiApproved:!1},"SGI-B-1.0":{name:"SGI Free Software License B v1.0",url:"http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.1.0.html",osiApproved:!1},"EUPL-1.1":{name:"European Union Public License 1.1",url:"https://joinup.ec.europa.eu/software/page/eupl/licence-eupl",osiApproved:!0},"YPL-1.0":{name:"Yahoo! Public License v1.0",url:"http://www.zimbra.com/license/yahoo_public_license_1.0.html",osiApproved:!1},TTWL:Yj,"CC-BY-NC-1.0":{name:"Creative Commons Attribution Non Commercial 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc/1.0/legalcode",osiApproved:!1},"HPND-doc":{name:"Historical Permission Notice and Disclaimer - documentation variant",url:"https://gitlab.freedesktop.org/xorg/lib/libxext/-/blob/master/COPYING?ref_type=heads#L185-197",osiApproved:!1},"D-FSL-1.0":{name:"Deutsche Freie Software Lizenz",url:"http://www.dipp.nrw.de/d-fsl/lizenzen/",osiApproved:!1},"OLDAP-2.2.1":{name:"Open LDAP Public License v2.2.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=4bc786f34b50aa301be6f5600f58a980070f481e",osiApproved:!1},"SugarCRM-1.1.3":{name:"SugarCRM Public License v1.1.3",url:"http://www.sugarcrm.com/crm/SPL",osiApproved:!1},"EUPL-1.2":{name:"European Union Public License 1.2",url:"https://joinup.ec.europa.eu/page/eupl-text-11-12",osiApproved:!0},Aladdin:Jj,"BSD-Source-Code":{name:"BSD Source Code Attribution",url:"https://github.com/robbiehanson/CocoaHTTPServer/blob/master/LICENSE.txt",osiApproved:!1},"MIT-feh":{name:"feh License",url:"https://fedoraproject.org/wiki/Licensing/MIT#feh",osiApproved:!1},"CC-BY-3.0-US":{name:"Creative Commons Attribution 3.0 United States",url:"https://creativecommons.org/licenses/by/3.0/us/legalcode",osiApproved:!1},"HP-1986":{name:"Hewlett-Packard 1986 License",url:"https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/machine/hppa/memchr.S;h=1cca3e5e8867aa4bffef1f75a5c1bba25c0c441e;hb=HEAD#l2",osiApproved:!1},"ECL-1.0":{name:"Educational Community License v1.0",url:"https://opensource.org/licenses/ECL-1.0",osiApproved:!0},"CC-BY-NC-SA-3.0":{name:"Creative Commons Attribution Non Commercial Share Alike 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode",osiApproved:!1},"Mackerras-3-Clause":{name:"Mackerras 3-Clause License",url:"https://github.com/ppp-project/ppp/blob/master/pppd/chap_ms.c#L6-L28",osiApproved:!1},Soundex:Xj,"MIT-Modern-Variant":{name:"MIT License Modern Variant",url:"https://fedoraproject.org/wiki/Licensing:MIT#Modern_Variants",osiApproved:!0},NCSA:Zj,"BSD-4-Clause-Shortened":{name:"BSD 4 Clause Shortened",url:"https://metadata.ftp-master.debian.org/changelogs//main/a/arpwatch/arpwatch_2.1a15-7_copyright",osiApproved:!1},"CC-BY-NC-ND-3.0-DE":{name:"Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany",url:"https://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode",osiApproved:!1},"NICTA-1.0":{name:"NICTA Public Software License, Version 1.0",url:"https://opensource.apple.com/source/mDNSResponder/mDNSResponder-320.10/mDNSPosix/nss_ReadMe.txt",osiApproved:!1},"NIST-PD-fallback":{name:"NIST Public Domain Notice with license fallback",url:"https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE",osiApproved:!1},Beerware:AI,"HPND-sell-variant-MIT-disclaimer":{name:"HPND sell variant with MIT disclaimer",url:"https://github.com/sigmavirus24/x11-ssh-askpass/blob/master/README",osiApproved:!1},"CECILL-C":{name:"CeCILL-C Free Software License Agreement",url:"http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html",osiApproved:!1},"CC-BY-NC-ND-2.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.0/legalcode",osiApproved:!1},"GPL-2.0-with-GCC-exception":{name:"GNU General Public License v2.0 w/GCC Runtime Library exception",url:"https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/libgcc1.c;h=762f5143fc6eed57b6797c82710f3538aa52b40b;hb=cb143a3ce4fb417c68f5fa2691a1b1b1053dfba9#l10",osiApproved:!1},xpp:CI,"BSD-2-Clause-FreeBSD":{name:"BSD 2-Clause FreeBSD License",url:"http://www.freebsd.org/copyright/freebsd-license.html",osiApproved:!1},Bahyph:eI,Unlicense:nI,"OLDAP-2.0.1":{name:"Open LDAP Public License v2.0.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=b6d68acd14e51ca3aab4428bf26522aa74873f0e",osiApproved:!1},"CECILL-1.0":{name:"CeCILL Free Software License Agreement v1.0",url:"http://www.cecill.info/licences/Licence_CeCILL_V1-fr.html",osiApproved:!1},"NBPL-1.0":{name:"Net Boolean Public License v1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=37b4b3f6cc4bf34e1d3dec61e69914b9819d8894",osiApproved:!1},"Lucida-Bitmap-Fonts":{name:"Lucida Bitmap Fonts License",url:"https://gitlab.freedesktop.org/xorg/font/bh-100dpi/-/blob/master/COPYING?ref_type=heads",osiApproved:!1},SMLNJ:tI,"ASWF-Digital-Assets-1.0":{name:"ASWF Digital Assets License version 1.0",url:"https://github.com/AcademySoftwareFoundation/foundation/blob/main/digital_assets/aswf_digital_assets_license_v1.0.txt",osiApproved:!1},"LiLiQ-R-1.1":{name:"Licence Libre du Québec – Réciprocité version 1.1",url:"https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-liliq-r-v1-1/",osiApproved:!0},NLPL:iI,"FSFAP-no-warranty-disclaimer":{name:"FSF All Permissive License (without Warranty)",url:"https://git.savannah.gnu.org/cgit/wget.git/tree/util/trunc.c?h=v1.21.3&id=40747a11e44ced5a8ac628a41f879ced3e2ebce9#n6",osiApproved:!1},"Graphics-Gems":{name:"Graphics Gems License",url:"https://github.com/erich666/GraphicsGems/blob/master/LICENSE.md",osiApproved:!1},"CC-BY-2.0":{name:"Creative Commons Attribution 2.0 Generic",url:"https://creativecommons.org/licenses/by/2.0/legalcode",osiApproved:!1},"CC-BY-NC-ND-3.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-nd/3.0/legalcode",osiApproved:!1},"Net-SNMP":{name:"Net-SNMP License",url:"http://net-snmp.sourceforge.net/about/license.html",osiApproved:!1},"OSL-3.0":{name:"Open Software License 3.0",url:"https://web.archive.org/web/20120101081418/http://rosenlaw.com:80/OSL3.0.htm",osiApproved:!0},"FreeBSD-DOC":{name:"FreeBSD Documentation License",url:"https://www.freebsd.org/copyright/freebsd-doc-license/",osiApproved:!1},dtoa:sI,"GFDL-1.2-no-invariants-only":{name:"GNU Free Documentation License v1.2 only - no invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},pnmstitch:oI,"MIT-advertising":{name:"Enlightenment License (e16)",url:"https://fedoraproject.org/wiki/Licensing/MIT_With_Advertising",osiApproved:!1},"0BSD":{name:"BSD Zero Clause License",url:"http://landley.net/toybox/license.html",osiApproved:!0},"ZPL-1.1":{name:"Zope Public License 1.1",url:"http://old.zope.org/Resources/License/ZPL-1.1",osiApproved:!1},"OFL-1.1-RFN":{name:"SIL Open Font License 1.1 with Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web",osiApproved:!0},"Watcom-1.0":{name:"Sybase Open Watcom Public License 1.0",url:"https://opensource.org/licenses/Watcom-1.0",osiApproved:!0},DOC:lI,"LGPL-3.0-only":{name:"GNU Lesser General Public License v3.0 only",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0},"ssh-keyscan":{name:"ssh-keyscan License",url:"https://github.com/openssh/openssh-portable/blob/master/LICENCE#L82",osiApproved:!1},"LPPL-1.3c":{name:"LaTeX Project Public License v1.3c",url:"http://www.latex-project.org/lppl/lppl-1-3c.txt",osiApproved:!0},"OGC-1.0":{name:"OGC Software License, Version 1.0",url:"https://www.ogc.org/ogc/software/1.0",osiApproved:!1},Entessa:aI,"UCL-1.0":{name:"Upstream Compatibility License v1.0",url:"https://opensource.org/licenses/UCL-1.0",osiApproved:!0},"BSD-3-Clause-Modification":{name:"BSD 3-Clause Modification",url:"https://fedoraproject.org/wiki/Licensing:BSD#Modification_Variant",osiApproved:!1},IJG:rI,"OFL-1.0":{name:"SIL Open Font License 1.0",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL10_web",osiApproved:!1},GD:cI,Fair:uI,"NIST-Software":{name:"NIST Software License",url:"https://github.com/open-quantum-safe/liboqs/blob/40b01fdbb270f8614fde30e65d30e9da18c02393/src/common/rand/rand_nist.c#L1-L15",osiApproved:!1},SunPro:mI,FSFULLR:dI,"GFDL-1.2":{name:"GNU Free Documentation License v1.2",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"TU-Berlin-1.0":{name:"Technische Universitaet Berlin License 1.0",url:"https://github.com/swh/ladspa/blob/7bf6f3799fdba70fda297c2d8fd9f526803d9680/gsm/COPYRIGHT",osiApproved:!1},"CC-BY-NC-SA-1.0":{name:"Creative Commons Attribution Non Commercial Share Alike 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/1.0/legalcode",osiApproved:!1},AMDPLPA:pI,"GFDL-1.3-no-invariants-only":{name:"GNU Free Documentation License v1.3 only - no invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},eGenix:fI,JPNIC:hI,"CC-BY-NC-3.0":{name:"Creative Commons Attribution Non Commercial 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc/3.0/legalcode",osiApproved:!1},"Linux-man-pages-copyleft-var":{name:"Linux man-pages Copyleft Variant",url:"https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/set_mempolicy.2#n5",osiApproved:!1},"AFL-1.1":{name:"Academic Free License v1.1",url:"http://opensource.linux-mirror.org/licenses/afl-1.1.txt",osiApproved:!0},"HPND-UC":{name:"Historical Permission Notice and Disclaimer - University of California variant",url:"https://core.tcl-lang.org/tk/file?name=compat/unistd.h",osiApproved:!1},"AdaCore-doc":{name:"AdaCore Doc License",url:"https://github.com/AdaCore/xmlada/blob/master/docs/index.rst",osiApproved:!1},"GPL-3.0-or-later":{name:"GNU General Public License v3.0 or later",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},"CC-BY-3.0-DE":{name:"Creative Commons Attribution 3.0 Germany",url:"https://creativecommons.org/licenses/by/3.0/de/legalcode",osiApproved:!1},checkmk:gI,"LPPL-1.0":{name:"LaTeX Project Public License v1.0",url:"http://www.latex-project.org/lppl/lppl-1-0.txt",osiApproved:!1},Borceux:bI,"mpi-permissive":{name:"mpi Permissive License",url:"https://sources.debian.org/src/openmpi/4.1.0-10/ompi/debuggers/msgq_interface.h/?hl=19#L19",osiApproved:!1},"HPND-DEC":{name:"Historical Permission Notice and Disclaimer - DEC variant",url:"https://gitlab.freedesktop.org/xorg/app/xkbcomp/-/blob/master/COPYING?ref_type=heads#L69",osiApproved:!1},"OPL-1.0":{name:"Open Public License v1.0",url:"http://old.koalateam.com/jackaroo/OPL_1_0.TXT",osiApproved:!1},"GPL-2.0-with-bison-exception":{name:"GNU General Public License v2.0 w/Bison exception",url:"http://git.savannah.gnu.org/cgit/bison.git/tree/data/yacc.c?id=193d7c7054ba7197b0789e14965b739162319b5e#n141",osiApproved:!1},"O-UDA-1.0":{name:"Open Use of Data Agreement v1.0",url:"https://github.com/microsoft/Open-Use-of-Data-Agreement/blob/v1.0/O-UDA-1.0.md",osiApproved:!1},NetCDF:EI,"OLDAP-1.4":{name:"Open LDAP Public License v1.4",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=c9f95c2f3f2ffb5e0ae55fe7388af75547660941",osiApproved:!1},"GPL-3.0-with-autoconf-exception":{name:"GNU General Public License v3.0 w/Autoconf exception",url:"https://www.gnu.org/licenses/autoconf-exception-3.0.html",osiApproved:!1},"CC-BY-4.0":{name:"Creative Commons Attribution 4.0 International",url:"https://creativecommons.org/licenses/by/4.0/legalcode",osiApproved:!1},"App-s2p":{name:"App::s2p License",url:"https://fedoraproject.org/wiki/Licensing/App-s2p",osiApproved:!1},MIT:yI,Xnet:vI,Cube:wI,"BSD-3-Clause-Attribution":{name:"BSD with attribution",url:"https://fedoraproject.org/wiki/Licensing/BSD_with_Attribution",osiApproved:!1},Nokia:BI,"MIT-enna":{name:"enna License",url:"https://fedoraproject.org/wiki/Licensing/MIT#enna",osiApproved:!1},"CC-BY-3.0-NL":{name:"Creative Commons Attribution 3.0 Netherlands",url:"https://creativecommons.org/licenses/by/3.0/nl/legalcode",osiApproved:!1},FreeImage:SI,"OLDAP-2.8":{name:"Open LDAP Public License v2.8",url:"http://www.openldap.org/software/release/license.html",osiApproved:!0},"ANTLR-PD-fallback":{name:"ANTLR Software Rights Notice with license fallback",url:"http://www.antlr2.org/license.html",osiApproved:!1},"TPL-1.0":{name:"THOR Public License 1.0",url:"https://fedoraproject.org/wiki/Licensing:ThorPublicLicense",osiApproved:!1},LGPLLR:kI,"Info-ZIP":{name:"Info-ZIP License",url:"http://www.info-zip.org/license.html",osiApproved:!1},"Unicode-DFS-2015":{name:"Unicode License Agreement - Data Files and Software (2015)",url:"https://web.archive.org/web/20151224134844/http://unicode.org/copyright.html",osiApproved:!1},HaskellReport:_I,"CC-BY-SA-3.0-IGO":{name:"Creative Commons Attribution-ShareAlike 3.0 IGO",url:"https://creativecommons.org/licenses/by-sa/3.0/igo/legalcode",osiApproved:!1},Libpng:xI,"ODC-By-1.0":{name:"Open Data Commons Attribution License v1.0",url:"https://opendatacommons.org/licenses/by/1.0/",osiApproved:!1},"OGL-UK-3.0":{name:"Open Government Licence v3.0",url:"http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/",osiApproved:!1},"EPL-2.0":{name:"Eclipse Public License 2.0",url:"https://www.eclipse.org/legal/epl-2.0",osiApproved:!0},"GPL-2.0-with-classpath-exception":{name:"GNU General Public License v2.0 w/Classpath exception",url:"https://www.gnu.org/software/classpath/license.html",osiApproved:!1},PADL:jI,psutils:II,"APSL-2.0":{name:"Apple Public Source License 2.0",url:"http://www.opensource.apple.com/license/apsl/",osiApproved:!0},Dotseqn:MI,"OFL-1.0-no-RFN":{name:"SIL Open Font License 1.0 with no Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL10_web",osiApproved:!1},psfrag:DI,CFITSIO:PI,"Frameworx-1.0":{name:"Frameworx Open License 1.0",url:"https://opensource.org/licenses/Frameworx-1.0",osiApproved:!0},ICU:OI,"CDDL-1.0":{name:"Common Development and Distribution License 1.0",url:"https://opensource.org/licenses/cddl1",osiApproved:!0},"GCR-docs":{name:"Gnome GCR Documentation License",url:"https://github.com/GNOME/gcr/blob/master/docs/COPYING",osiApproved:!1},"SSPL-1.0":{name:"Server Side Public License, v 1",url:"https://www.mongodb.com/licensing/server-side-public-license",osiApproved:!1},lsof:LI,"CAL-1.0-Combined-Work-Exception":{name:"Cryptographic Autonomy License 1.0 (Combined Work Exception)",url:"http://cryptographicautonomylicense.com/license-text.html",osiApproved:!0},snprintf:KI,mplus:FI,"BitTorrent-1.1":{name:"BitTorrent Open Source License v1.1",url:"http://directory.fsf.org/wiki/License:BitTorrentOSL1.1",osiApproved:!1},"CC-BY-SA-2.1-JP":{name:"Creative Commons Attribution Share Alike 2.1 Japan",url:"https://creativecommons.org/licenses/by-sa/2.1/jp/legalcode",osiApproved:!1},"OFL-1.1":{name:"SIL Open Font License 1.1",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web",osiApproved:!0},mpich2:TI,"UPL-1.0":{name:"Universal Permissive License v1.0",url:"https://opensource.org/licenses/UPL",osiApproved:!0},"bcrypt-Solar-Designer":{name:"bcrypt Solar Designer License",url:"https://github.com/bcrypt-ruby/bcrypt-ruby/blob/master/ext/mri/crypt_blowfish.c",osiApproved:!1},Clips:NI,"RPSL-1.0":{name:"RealNetworks Public Source License v1.0",url:"https://helixcommunity.org/content/rpsl",osiApproved:!0},"SAX-PD":{name:"Sax Public Domain Notice",url:"http://www.saxproject.org/copying.html",osiApproved:!1},"YPL-1.1":{name:"Yahoo! Public License v1.1",url:"http://www.zimbra.com/license/yahoo_public_license_1.1.html",osiApproved:!1},Xfig:$I,Afmparse:RI,"eCos-2.0":{name:"eCos license version 2.0",url:"https://www.gnu.org/licenses/ecos-license.html",osiApproved:!1},"CECILL-2.1":{name:"CeCILL Free Software License Agreement v2.1",url:"http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.html",osiApproved:!0},"OLDAP-2.2":{name:"Open LDAP Public License v2.2",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=470b0c18ec67621c85881b2733057fecf4a1acc3",osiApproved:!1},"CPOL-1.02":{name:"Code Project Open License 1.02",url:"http://www.codeproject.com/info/cpol10.aspx",osiApproved:!1},Zeeff:GI,"OLDAP-2.7":{name:"Open LDAP Public License v2.7",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=47c2415c1df81556eeb39be6cad458ef87c534a2",osiApproved:!1},Minpack:UI,"LGPL-2.1-only":{name:"GNU Lesser General Public License v2.1 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},"CPL-1.0":{name:"Common Public License 1.0",url:"https://opensource.org/licenses/CPL-1.0",osiApproved:!0},"LAL-1.3":{name:"Licence Art Libre 1.3",url:"https://artlibre.org/",osiApproved:!1},"MPL-1.1":{name:"Mozilla Public License 1.1",url:"http://www.mozilla.org/MPL/MPL-1.1.html",osiApproved:!0},"HPND-doc-sell":{name:"Historical Permission Notice and Disclaimer - documentation sell variant",url:"https://gitlab.freedesktop.org/xorg/lib/libxtst/-/blob/master/COPYING?ref_type=heads#L108-117",osiApproved:!1},"Zimbra-1.4":{name:"Zimbra Public License v1.4",url:"http://www.zimbra.com/legal/zimbra-public-license-1-4",osiApproved:!1},"NTP-0":{name:"NTP No Attribution",url:"https://github.com/tytso/e2fsprogs/blob/master/lib/et/et_name.c",osiApproved:!1},Intel:QI,"Linux-man-pages-1-para":{name:"Linux man-pages - 1 paragraph",url:"https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/getcpu.2#n4",osiApproved:!1},"BSD-3-Clause-HP":{name:"Hewlett-Packard BSD variant license",url:"https://github.com/zdohnal/hplip/blob/master/COPYING#L939",osiApproved:!1},SL:HI,EUDatagrid:VI,"BSD-3-Clause-No-Nuclear-License":{name:"BSD 3-Clause No Nuclear License",url:"http://download.oracle.com/otn-pub/java/licenses/bsd.txt?AuthParam=1467140197_43d516ce1776bd08a58235a7785be1cc",osiApproved:!1},SMPPL:zI,"TCP-wrappers":{name:"TCP Wrappers License",url:"http://rc.quest.com/topics/openssh/license.php#tcpwrappers",osiApproved:!1},"GFDL-1.1":{name:"GNU Free Documentation License v1.1",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"GFDL-1.1-or-later":{name:"GNU Free Documentation License v1.1 or later",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"CC-BY-SA-2.0-UK":{name:"Creative Commons Attribution Share Alike 2.0 England and Wales",url:"https://creativecommons.org/licenses/by-sa/2.0/uk/legalcode",osiApproved:!1},"Xdebug-1.03":{name:"Xdebug License v 1.03",url:"https://github.com/xdebug/xdebug/blob/master/LICENSE",osiApproved:!1},"MS-LPL":{name:"Microsoft Limited Public License",url:"https://www.openhub.net/licenses/mslpl",osiApproved:!1},"BSD-2-Clause-Patent":{name:"BSD-2-Clause Plus Patent License",url:"https://opensource.org/licenses/BSDplusPatent",osiApproved:!0},"GPL-3.0+":{name:"GNU General Public License v3.0 or later",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},"MPEG-SSG":{name:"MPEG Software Simulation",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/ppm/ppmtompeg/jrevdct.c#l1189",osiApproved:!1},"CNRI-Jython":{name:"CNRI Jython License",url:"http://www.jython.org/license.html",osiApproved:!1},"HPND-Pbmplus":{name:"Historical Permission Notice and Disclaimer - Pbmplus variant",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/netpbm.c#l8",osiApproved:!1},"CC-BY-NC-SA-3.0-IGO":{name:"Creative Commons Attribution Non Commercial Share Alike 3.0 IGO",url:"https://creativecommons.org/licenses/by-nc-sa/3.0/igo/legalcode",osiApproved:!1},"bzip2-1.0.6":{name:"bzip2 and libbzip2 License v1.0.6",url:"https://sourceware.org/git/?p=bzip2.git;a=blob;f=LICENSE;hb=bzip2-1.0.6",osiApproved:!1},TTYP0:qI,"TGPPL-1.0":{name:"Transitive Grace Period Public Licence 1.0",url:"https://fedoraproject.org/wiki/Licensing/TGPPL",osiApproved:!1},"NIST-PD":{name:"NIST Public Domain Notice",url:"https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt",osiApproved:!1},"NPL-1.0":{name:"Netscape Public License v1.0",url:"http://www.mozilla.org/MPL/NPL/1.0/",osiApproved:!1},SNIA:WI,"libpng-2.0":{name:"PNG Reference Library version 2",url:"http://www.libpng.org/pub/png/src/libpng-LICENSE.txt",osiApproved:!1},"CC-BY-NC-ND-3.0-IGO":{name:"Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO",url:"https://creativecommons.org/licenses/by-nc-nd/3.0/igo/legalcode",osiApproved:!1},OGTSL:YI,Glide:JI,"BSD-3-Clause-No-Military-License":{name:"BSD 3-Clause No Military License",url:"https://gitlab.syncad.com/hive/dhive/-/blob/master/LICENSE",osiApproved:!1},"NLOD-1.0":{name:"Norwegian Licence for Open Government Data (NLOD) 1.0",url:"http://data.norge.no/nlod/en/1.0",osiApproved:!1},"CNRI-Python":{name:"CNRI Python License",url:"https://opensource.org/licenses/CNRI-Python",osiApproved:!0},JSON:{name:"JSON License",url:"http://www.json.org/license.html",osiApproved:!1},"AFL-2.1":{name:"Academic Free License v2.1",url:"http://opensource.linux-mirror.org/licenses/afl-2.1.txt",osiApproved:!0},Naumen:XI,"Artistic-2.0":{name:"Artistic License 2.0",url:"http://www.perlfoundation.org/artistic_license_2_0",osiApproved:!0},"CPAL-1.0":{name:"Common Public Attribution License 1.0",url:"https://opensource.org/licenses/CPAL-1.0",osiApproved:!0},"ECL-2.0":{name:"Educational Community License v2.0",url:"https://opensource.org/licenses/ECL-2.0",osiApproved:!0},mailprio:ZI,"APL-1.0":{name:"Adaptive Public License 1.0",url:"https://opensource.org/licenses/APL-1.0",osiApproved:!0},FBM:AM,"AGPL-3.0-or-later":{name:"GNU Affero General Public License v3.0 or later",url:"https://www.gnu.org/licenses/agpl.txt",osiApproved:!0},"EPL-1.0":{name:"Eclipse Public License 1.0",url:"http://www.eclipse.org/legal/epl-v10.html",osiApproved:!0},SCEA:CM,"PDDL-1.0":{name:"Open Data Commons Public Domain Dedication & License 1.0",url:"http://opendatacommons.org/licenses/pddl/1.0/",osiApproved:!1},"BSD-2-Clause":{name:'BSD 2-Clause "Simplified" License',url:"https://opensource.org/licenses/BSD-2-Clause",osiApproved:!0},"GPL-3.0":{name:"GNU General Public License v3.0 only",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},"Artistic-1.0-cl8":{name:"Artistic License 1.0 w/clause 8",url:"https://opensource.org/licenses/Artistic-1.0",osiApproved:!0},"CC-BY-3.0-AU":{name:"Creative Commons Attribution 3.0 Australia",url:"https://creativecommons.org/licenses/by/3.0/au/legalcode",osiApproved:!1},"Bitstream-Charter":{name:"Bitstream Charter Font License",url:"https://fedoraproject.org/wiki/Licensing/Charter#License_Text",osiApproved:!1},"CERN-OHL-W-2.0":{name:"CERN Open Hardware Licence Version 2 - Weakly Reciprocal",url:"https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2",osiApproved:!0},"MIT-0":{name:"MIT No Attribution",url:"https://github.com/aws/mit-0",osiApproved:!0},Sleepycat:eM,Pixar:nM,Qhull:tM,"CC-BY-SA-1.0":{name:"Creative Commons Attribution Share Alike 1.0 Generic",url:"https://creativecommons.org/licenses/by-sa/1.0/legalcode",osiApproved:!1},"CDL-1.0":{name:"Common Documentation License 1.0",url:"http://www.opensource.apple.com/cdl/",osiApproved:!1},"CC-BY-SA-3.0":{name:"Creative Commons Attribution Share Alike 3.0 Unported",url:"https://creativecommons.org/licenses/by-sa/3.0/legalcode",osiApproved:!1},"OGL-UK-1.0":{name:"Open Government Licence v1.0",url:"http://www.nationalarchives.gov.uk/doc/open-government-licence/version/1/",osiApproved:!1},"CC-BY-NC-SA-2.0-DE":{name:"Creative Commons Attribution Non Commercial Share Alike 2.0 Germany",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/de/legalcode",osiApproved:!1},"XFree86-1.1":{name:"XFree86 License 1.1",url:"http://www.xfree86.org/current/LICENSE4.html",osiApproved:!1},NGPL:iM,"BSD-3-Clause-No-Nuclear-License-2014":{name:"BSD 3-Clause No Nuclear License 2014",url:"https://java.net/projects/javaeetutorial/pages/BerkeleyLicense",osiApproved:!1},"MIT-testregex":{name:"MIT testregex Variant",url:"https://github.com/dotnet/runtime/blob/55e1ac7c07df62c4108d4acedf78f77574470ce5/src/libraries/System.Text.RegularExpressions/tests/FunctionalTests/AttRegexTests.cs#L12-L28",osiApproved:!1},"BSD-3-Clause-Clear":{name:"BSD 3-Clause Clear License",url:"http://labs.metacarta.com/license-explanation.html#license",osiApproved:!1},MMIXware:sM,"LZMA-SDK-9.22":{name:"LZMA SDK License (versions 9.22 and beyond)",url:"https://www.7-zip.org/sdk.html",osiApproved:!1},Latex2e:oM,"LGPL-3.0+":{name:"GNU Lesser General Public License v3.0 or later",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0},"CECILL-B":{name:"CeCILL-B Free Software License Agreement",url:"http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html",osiApproved:!1},Kazlib:lM,fwlw:aM,"DRL-1.1":{name:"Detection Rule License 1.1",url:"https://github.com/SigmaHQ/Detection-Rule-License/blob/6ec7fbde6101d101b5b5d1fcb8f9b69fbc76c04a/LICENSE.Detection.Rules.md",osiApproved:!1},"BSD-Systemics":{name:"Systemics BSD variant license",url:"https://metacpan.org/release/DPARIS/Crypt-DES-2.07/source/COPYRIGHT",osiApproved:!1},"HPND-export-US-modify":{name:"HPND with US Government export control warning and modification rqmt",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L1157-L1182",osiApproved:!1},"Caldera-no-preamble":{name:"Caldera License (without preamble)",url:"https://github.com/apache/apr/blob/trunk/LICENSE#L298C6-L298C29",osiApproved:!1},LOOP:rM,"GFDL-1.1-only":{name:"GNU Free Documentation License v1.1 only",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"NAIST-2003":{name:"Nara Institute of Science and Technology License (2003)",url:"https://enterprise.dejacode.com/licenses/public/naist-2003/#license-text",osiApproved:!1},"libselinux-1.0":{name:"libselinux public domain notice",url:"https://github.com/SELinuxProject/selinux/blob/master/libselinux/LICENSE",osiApproved:!1},AMPAS:cM,gnuplot:uM,"GFDL-1.1-invariants-or-later":{name:"GNU Free Documentation License v1.1 or later - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"OFL-1.1-no-RFN":{name:"SIL Open Font License 1.1 with no Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL_web",osiApproved:!0},"LPD-document":{name:"LPD Documentation License",url:"https://github.com/Cyan4973/xxHash/blob/dev/doc/xxhash_spec.md",osiApproved:!1},"Adobe-Display-PostScript":{name:"Adobe Display PostScript License",url:"https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type=heads#L752",osiApproved:!1},FSFAP:mM,wxWindows:dM,UnixCrypt:pM,"OPL-UK-3.0":{name:"United Kingdom Open Parliament Licence v3.0",url:"https://www.parliament.uk/site-information/copyright-parliament/open-parliament-licence/",osiApproved:!1},"Inner-Net-2.0":{name:"Inner Net License v2.0",url:"https://fedoraproject.org/wiki/Licensing/Inner_Net_License",osiApproved:!1},"Artistic-1.0":{name:"Artistic License 1.0",url:"https://opensource.org/licenses/Artistic-1.0",osiApproved:!0},magaz:fM,Imlib2:hM,"Parity-7.0.0":{name:"The Parity Public License 7.0.0",url:"https://paritylicense.com/versions/7.0.0.html",osiApproved:!1},Caldera:gM,"bzip2-1.0.5":{name:"bzip2 and libbzip2 License v1.0.5",url:"https://sourceware.org/bzip2/1.0.5/bzip2-manual-1.0.5.html",osiApproved:!1},"MS-RL":{name:"Microsoft Reciprocal License",url:"http://www.microsoft.com/opensource/licenses.mspx",osiApproved:!0},"CC0-1.0":{name:"Creative Commons Zero v1.0 Universal",url:"https://creativecommons.org/publicdomain/zero/1.0/legalcode",osiApproved:!1},"GPL-2.0-with-font-exception":{name:"GNU General Public License v2.0 w/Font exception",url:"https://www.gnu.org/licenses/gpl-faq.html#FontException",osiApproved:!1},"Unicode-3.0":{name:"Unicode License v3",url:"https://www.unicode.org/license.txt",osiApproved:!0},"McPhee-slideshow":{name:"McPhee Slideshow License",url:"https://mirror.las.iastate.edu/tex-archive/graphics/metapost/contrib/macros/slideshow/slideshow.mp",osiApproved:!1},Glulxe:bM,"Zend-2.0":{name:"Zend License v2.0",url:"https://web.archive.org/web/20130517195954/http://www.zend.com/license/2_00.txt",osiApproved:!1},"CC-PDDC":{name:"Creative Commons Public Domain Dedication and Certification",url:"https://creativecommons.org/licenses/publicdomain/",osiApproved:!1},"CC-BY-SA-3.0-AT":{name:"Creative Commons Attribution Share Alike 3.0 Austria",url:"https://creativecommons.org/licenses/by-sa/3.0/at/legalcode",osiApproved:!1},"OLDAP-2.2.2":{name:"Open LDAP Public License 2.2.2",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=df2cc1e21eb7c160695f5b7cffd6296c151ba188",osiApproved:!1},Leptonica:EM,"Unicode-DFS-2016":{name:"Unicode License Agreement - Data Files and Software (2016)",url:"https://www.unicode.org/license.txt",osiApproved:!0},Vim:yM,"Adobe-Glyph":{name:"Adobe Glyph List License",url:"https://fedoraproject.org/wiki/Licensing/MIT#AdobeGlyph",osiApproved:!1},"SHL-0.5":{name:"Solderpad Hardware License v0.5",url:"https://solderpad.org/licenses/SHL-0.5/",osiApproved:!1},"etalab-2.0":{name:"Etalab Open License 2.0",url:"https://github.com/DISIC/politique-de-contribution-open-source/blob/master/LICENSE.pdf",osiApproved:!1},"GFDL-1.3-invariants-or-later":{name:"GNU Free Documentation License v1.3 or later - invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"ZPL-2.1":{name:"Zope Public License 2.1",url:"http://old.zope.org/Resources/ZPL/",osiApproved:!0},TPDL:vM,Cronyx:wM,Crossword:BM,"HPND-Fenneberg-Livingston":{name:"Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant",url:"https://github.com/FreeRADIUS/freeradius-client/blob/master/COPYRIGHT#L32",osiApproved:!1},"BSD-3-Clause-acpica":{name:"BSD 3-Clause acpica variant",url:"https://github.com/acpica/acpica/blob/master/source/common/acfileio.c#L119",osiApproved:!1},iMatix:SM,"BSD-1-Clause":{name:"BSD 1-Clause License",url:"https://svnweb.freebsd.org/base/head/include/ifaddrs.h?revision=326823",osiApproved:!0},dvipdfm:kM,"AGPL-1.0-only":{name:"Affero General Public License v1.0 only",url:"http://www.affero.org/oagpl.html",osiApproved:!1},"Adobe-Utopia":{name:"Adobe Utopia Font License",url:"https://gitlab.freedesktop.org/xorg/font/adobe-utopia-100dpi/-/blob/master/COPYING?ref_type=heads",osiApproved:!1},"OLDAP-1.3":{name:"Open LDAP Public License v1.3",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=e5f8117f0ce088d0bd7a8e18ddf37eaa40eb09b1",osiApproved:!1},"CUA-OPL-1.0":{name:"CUA Office Public License v1.0",url:"https://opensource.org/licenses/CUA-OPL-1.0",osiApproved:!0},"CC-BY-3.0-AT":{name:"Creative Commons Attribution 3.0 Austria",url:"https://creativecommons.org/licenses/by/3.0/at/legalcode",osiApproved:!1},WTFPL:_M,"Brian-Gladman-2-Clause":{name:"Brian Gladman 2-Clause License",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L140-L156",osiApproved:!1},"CC-BY-SA-3.0-DE":{name:"Creative Commons Attribution Share Alike 3.0 Germany",url:"https://creativecommons.org/licenses/by-sa/3.0/de/legalcode",osiApproved:!1},"CMU-Mach-nodoc":{name:"CMU Mach - no notices-in-documentation variant",url:"https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L718-L728",osiApproved:!1},"CATOSL-1.1":{name:"Computer Associates Trusted Open Source License 1.1",url:"https://opensource.org/licenses/CATOSL-1.1",osiApproved:!0},Xerox:xM,"OLDAP-1.2":{name:"Open LDAP Public License v1.2",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=42b0383c50c299977b5893ee695cf4e486fb0dc7",osiApproved:!1},"GFDL-1.2-only":{name:"GNU Free Documentation License v1.2 only",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"FDK-AAC":{name:"Fraunhofer FDK AAC Codec Library",url:"https://fedoraproject.org/wiki/Licensing/FDK-AAC",osiApproved:!1},"CERN-OHL-1.2":{name:"CERN Open Hardware Licence v1.2",url:"https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.2",osiApproved:!1},OML:jM,"Arphic-1999":{name:"Arphic Public License",url:"http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/LICENSE",osiApproved:!1},"OSL-1.1":{name:"Open Software License 1.1",url:"https://fedoraproject.org/wiki/Licensing/OSL1.1",osiApproved:!1},"CC-BY-NC-ND-2.5":{name:"Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.5/legalcode",osiApproved:!1},"EFL-1.0":{name:"Eiffel Forum License v1.0",url:"http://www.eiffel-nice.org/license/forum.txt",osiApproved:!0},"GFDL-1.3-no-invariants-or-later":{name:"GNU Free Documentation License v1.3 or later - no invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"GPL-3.0-with-GCC-exception":{name:"GNU General Public License v3.0 w/GCC Runtime Library exception",url:"https://www.gnu.org/licenses/gcc-exception-3.1.html",osiApproved:!0},"TORQUE-1.1":{name:"TORQUE v2.5+ Software License v1.1",url:"https://fedoraproject.org/wiki/Licensing/TORQUEv1.1",osiApproved:!1},"GPL-2.0-with-autoconf-exception":{name:"GNU General Public License v2.0 w/Autoconf exception",url:"http://ac-archive.sourceforge.net/doc/copyright.html",osiApproved:!1},"check-cvs":{name:"check-cvs License",url:"http://cvs.savannah.gnu.org/viewvc/cvs/ccvs/contrib/check_cvs.in?revision=1.1.4.3&view=markup&pathrev=cvs1-11-23#l2",osiApproved:!1},"CDLA-Permissive-2.0":{name:"Community Data License Agreement Permissive 2.0",url:"https://cdla.dev/permissive-2-0",osiApproved:!1},"HPND-export-US":{name:"HPND with US Government export control warning",url:"https://www.kermitproject.org/ck90.html#source",osiApproved:!1},"NPL-1.1":{name:"Netscape Public License v1.1",url:"http://www.mozilla.org/MPL/NPL/1.1/",osiApproved:!1},GL2PS:IM,"GPL-3.0-only":{name:"GNU General Public License v3.0 only",url:"https://www.gnu.org/licenses/gpl-3.0-standalone.html",osiApproved:!0},"copyleft-next-0.3.0":{name:"copyleft-next 0.3.0",url:"https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.0",osiApproved:!1},gtkbook:MM,"LGPL-2.0+":{name:"GNU Library General Public License v2 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},"PolyForm-Noncommercial-1.0.0":{name:"PolyForm Noncommercial License 1.0.0",url:"https://polyformproject.org/licenses/noncommercial/1.0.0",osiApproved:!1},"CECILL-1.1":{name:"CeCILL Free Software License Agreement v1.1",url:"http://www.cecill.info/licences/Licence_CeCILL_V1.1-US.html",osiApproved:!1},"HPND-MIT-disclaimer":{name:"Historical Permission Notice and Disclaimer with MIT disclaimer",url:"https://metacpan.org/release/NLNETLABS/Net-DNS-SEC-1.22/source/LICENSE",osiApproved:!1},"GFDL-1.1-invariants-only":{name:"GNU Free Documentation License v1.1 only - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt",osiApproved:!1},"OGDL-Taiwan-1.0":{name:"Taiwan Open Government Data License, version 1.0",url:"https://data.gov.tw/license",osiApproved:!1},"CC-BY-2.5-AU":{name:"Creative Commons Attribution 2.5 Australia",url:"https://creativecommons.org/licenses/by/2.5/au/legalcode",osiApproved:!1},"CC-BY-SA-2.0":{name:"Creative Commons Attribution Share Alike 2.0 Generic",url:"https://creativecommons.org/licenses/by-sa/2.0/legalcode",osiApproved:!1},"BSD-4-Clause-UC":{name:"BSD-4-Clause (University of California-Specific)",url:"http://www.freebsd.org/copyright/license.html",osiApproved:!1},"CC-BY-NC-3.0-DE":{name:"Creative Commons Attribution Non Commercial 3.0 Germany",url:"https://creativecommons.org/licenses/by-nc/3.0/de/legalcode",osiApproved:!1},"CC-BY-NC-SA-2.5":{name:"Creative Commons Attribution Non Commercial Share Alike 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.5/legalcode",osiApproved:!1},"CC-BY-NC-4.0":{name:"Creative Commons Attribution Non Commercial 4.0 International",url:"https://creativecommons.org/licenses/by-nc/4.0/legalcode",osiApproved:!1},Plexus:DM,"CC-BY-ND-3.0-DE":{name:"Creative Commons Attribution No Derivatives 3.0 Germany",url:"https://creativecommons.org/licenses/by-nd/3.0/de/legalcode",osiApproved:!1},XSkat:PM,"Community-Spec-1.0":{name:"Community Specification License 1.0",url:"https://github.com/CommunitySpecification/1.0/blob/master/1._Community_Specification_License-v1.md",osiApproved:!1},"Adobe-2006":{name:"Adobe Systems Incorporated Source Code License Agreement",url:"https://fedoraproject.org/wiki/Licensing/AdobeLicense",osiApproved:!1},"CC-BY-3.0-IGO":{name:"Creative Commons Attribution 3.0 IGO",url:"https://creativecommons.org/licenses/by/3.0/igo/legalcode",osiApproved:!1},SWL:OM,xlock:LM,swrule:KM,"DL-DE-BY-2.0":{name:"Data licence Germany – attribution – version 2.0",url:"https://www.govdata.de/dl-de/by-2-0",osiApproved:!1},"SSH-OpenSSH":{name:"SSH OpenSSH license",url:"https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/LICENCE#L10",osiApproved:!1},diffmark:FM,"AFL-2.0":{name:"Academic Free License v2.0",url:"http://wayback.archive.org/web/20060924134533/http://www.opensource.org/licenses/afl-2.0.txt",osiApproved:!0},"HPND-Markus-Kuhn":{name:"Historical Permission Notice and Disclaimer - Markus Kuhn variant",url:"https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c",osiApproved:!1},"CC-BY-NC-SA-2.0-FR":{name:"Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/fr/legalcode",osiApproved:!1},NRL:TM,"AML-glslang":{name:"AML glslang variant License",url:"https://github.com/KhronosGroup/glslang/blob/main/LICENSE.txt#L949",osiApproved:!1},UCAR:NM,"BSD-4.3TAHOE":{name:"BSD 4.3 TAHOE License",url:"https://github.com/389ds/389-ds-base/blob/main/ldap/include/sysexits-compat.h#L15",osiApproved:!1},"NLOD-2.0":{name:"Norwegian Licence for Open Government Data (NLOD) 2.0",url:"http://data.norge.no/nlod/en/2.0",osiApproved:!1},"AGPL-1.0":{name:"Affero General Public License v1.0",url:"http://www.affero.org/oagpl.html",osiApproved:!1},"COIL-1.0":{name:"Copyfree Open Innovation License",url:"https://coil.apotheon.org/plaintext/01.0.txt",osiApproved:!1},APAFML:$M,"BSD-3-Clause-LBNL":{name:"Lawrence Berkeley National Labs BSD variant license",url:"https://fedoraproject.org/wiki/Licensing/LBNLBSD",osiApproved:!0},"LZMA-SDK-9.11-to-9.20":{name:"LZMA SDK License (versions 9.11 to 9.20)",url:"https://www.7-zip.org/sdk.html",osiApproved:!1},"JPL-image":{name:"JPL Image Use Policy",url:"https://www.jpl.nasa.gov/jpl-image-use-policy",osiApproved:!1},"BUSL-1.1":{name:"Business Source License 1.1",url:"https://mariadb.com/bsl11/",osiApproved:!1},"PSF-2.0":{name:"Python Software Foundation License 2.0",url:"https://opensource.org/licenses/Python-2.0",osiApproved:!1},"Martin-Birgmeier":{name:"Martin Birgmeier License",url:"https://github.com/Perl/perl5/blob/blead/util.c#L6136",osiApproved:!1},"Python-2.0":{name:"Python License 2.0",url:"https://opensource.org/licenses/Python-2.0",osiApproved:!0},"CC-BY-1.0":{name:"Creative Commons Attribution 1.0 Generic",url:"https://creativecommons.org/licenses/by/1.0/legalcode",osiApproved:!1},"Condor-1.1":{name:"Condor Public License v1.1",url:"http://research.cs.wisc.edu/condor/license.html#condor",osiApproved:!1},"LPPL-1.1":{name:"LaTeX Project Public License v1.1",url:"http://www.latex-project.org/lppl/lppl-1-1.txt",osiApproved:!1},MTLL:RM,"BSD-3-Clause-flex":{name:"BSD 3-Clause Flex variant",url:"https://github.com/westes/flex/blob/master/COPYING",osiApproved:!1},"GPL-2.0-or-later":{name:"GNU General Public License v2.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},PostgreSQL:GM,"CNRI-Python-GPL-Compatible":{name:"CNRI Python Open Source GPL Compatible License Agreement",url:"http://www.python.org/download/releases/1.6.1/download_win/",osiApproved:!1},"EUPL-1.0":{name:"European Union Public License 1.0",url:"http://ec.europa.eu/idabc/en/document/7330.html",osiApproved:!1},"libutil-David-Nugent":{name:"libutil David Nugent License",url:"http://web.mit.edu/freebsd/head/lib/libutil/login_ok.3",osiApproved:!1},"LGPL-2.1":{name:"GNU Lesser General Public License v2.1 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},Abstyles:UM,"LGPL-3.0-or-later":{name:"GNU Lesser General Public License v3.0 or later",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0},"MPL-2.0-no-copyleft-exception":{name:"Mozilla Public License 2.0 (no copyleft exception)",url:"https://www.mozilla.org/MPL/2.0/",osiApproved:!0},"BSD-Systemics-W3Works":{name:"Systemics W3Works BSD variant license",url:"https://metacpan.org/release/DPARIS/Crypt-Blowfish-2.14/source/COPYRIGHT#L7",osiApproved:!1},"OGL-UK-2.0":{name:"Open Government Licence v2.0",url:"http://www.nationalarchives.gov.uk/doc/open-government-licence/version/2/",osiApproved:!1},"CC-BY-NC-2.5":{name:"Creative Commons Attribution Non Commercial 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc/2.5/legalcode",osiApproved:!1},ulem:QM,"CERN-OHL-P-2.0":{name:"CERN Open Hardware Licence Version 2 - Permissive",url:"https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2",osiApproved:!0},"TAPR-OHL-1.0":{name:"TAPR Open Hardware License v1.0",url:"https://www.tapr.org/OHL",osiApproved:!1},"GPL-2.0-only":{name:"GNU General Public License v2.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},"OLDAP-2.3":{name:"Open LDAP Public License v2.3",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=d32cf54a32d581ab475d23c810b0a7fbaf8d63c3",osiApproved:!1},Kastrup:HM,"MulanPSL-1.0":{name:"Mulan Permissive Software License, Version 1",url:"https://license.coscl.org.cn/MulanPSL/",osiApproved:!1},"SGI-OpenGL":{name:"SGI OpenGL License",url:"https://gitlab.freedesktop.org/mesa/glw/-/blob/master/README?ref_type=heads",osiApproved:!1},"BSD-3-Clause":{name:'BSD 3-Clause "New" or "Revised" License',url:"https://opensource.org/licenses/BSD-3-Clause",osiApproved:!0},"CECILL-2.0":{name:"CeCILL Free Software License Agreement v2.0",url:"http://www.cecill.info/licences/Licence_CeCILL_V2-en.html",osiApproved:!1},IPA:VM,TermReadKey:zM,"UMich-Merit":{name:"Michigan/Merit Networks License",url:"https://github.com/radcli/radcli/blob/master/COPYRIGHT#L64",osiApproved:!1},"HPND-sell-variant":{name:"Historical Permission Notice and Disclaimer - sell variant",url:"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/sunrpc/auth_gss/gss_generic_token.c?h=v4.19",osiApproved:!1},"MIT-CMU":{name:"CMU License",url:"https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#CMU_Style",osiApproved:!1},"URT-RLE":{name:"Utah Raster Toolkit Run Length Encoded License",url:"https://sourceforge.net/p/netpbm/code/HEAD/tree/super_stable/converter/other/pnmtorle.c",osiApproved:!1},"IBM-pibs":{name:"IBM PowerPC Initialization and Boot Software",url:"http://git.denx.de/?p=u-boot.git;a=blob;f=arch/powerpc/cpu/ppc4xx/miiphy.c;h=297155fdafa064b955e53e9832de93bfb0cfb85b;hb=9fab4bf4cc077c21e43941866f3f2c196f28670d",osiApproved:!1},"AGPL-1.0-or-later":{name:"Affero General Public License v1.0 or later",url:"http://www.affero.org/oagpl.html",osiApproved:!1},"SSLeay-standalone":{name:"SSLeay License - standalone",url:"https://www.tq-group.com/filedownloads/files/software-license-conditions/OriginalSSLeay/OriginalSSLeay.pdf",osiApproved:!1},"Spencer-99":{name:"Spencer License 99",url:"http://www.opensource.apple.com/source/tcl/tcl-5/tcl/generic/regfronts.c",osiApproved:!1},"Bitstream-Vera":{name:"Bitstream Vera Font License",url:"https://web.archive.org/web/20080207013128/http://www.gnome.org/fonts/",osiApproved:!1},"LGPL-2.1-or-later":{name:"GNU Lesser General Public License v2.1 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.1-standalone.html",osiApproved:!0},"BSD-Inferno-Nettverk":{name:"BSD-Inferno-Nettverk",url:"https://www.inet.no/dante/LICENSE",osiApproved:!1},"BSD-3-Clause-Open-MPI":{name:"BSD 3-Clause Open MPI variant",url:"https://www.open-mpi.org/community/license.php",osiApproved:!1},Barr:qM,"OLDAP-2.5":{name:"Open LDAP Public License v2.5",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=6852b9d90022e8593c98205413380536b1b5a7cf",osiApproved:!1},Sendmail:WM,"SSH-short":{name:"SSH short notice",url:"https://github.com/openssh/openssh-portable/blob/1b11ea7c58cd5c59838b5fa574cd456d6047b2d4/pathnames.h",osiApproved:!1},curl:YM,Saxpath:JM,"SGI-B-2.0":{name:"SGI Free Software License B v2.0",url:"http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf",osiApproved:!1},"Unicode-TOU":{name:"Unicode Terms of Use",url:"http://web.archive.org/web/20140704074106/http://www.unicode.org/copyright.html",osiApproved:!1},AAL:XM,"BSD-Attribution-HPND-disclaimer":{name:"BSD with Attribution and HPND disclaimer",url:"https://github.com/cyrusimap/cyrus-sasl/blob/master/COPYING",osiApproved:!1},"Latex2e-translated-notice":{name:"Latex2e with translated notice permission",url:"https://git.savannah.gnu.org/cgit/indent.git/tree/doc/indent.texi?id=a74c6b4ee49397cf330b333da1042bffa60ed14f#n74",osiApproved:!1},"LPL-1.02":{name:"Lucent Public License v1.02",url:"http://plan9.bell-labs.com/plan9/license.html",osiApproved:!0},"BSD-3-Clause-No-Nuclear-Warranty":{name:"BSD 3-Clause No Nuclear Warranty",url:"https://jogamp.org/git/?p=gluegen.git;a=blob_plain;f=LICENSE.txt",osiApproved:!1},"CC-BY-SA-4.0":{name:"Creative Commons Attribution Share Alike 4.0 International",url:"https://creativecommons.org/licenses/by-sa/4.0/legalcode",osiApproved:!1},"MulanPSL-2.0":{name:"Mulan Permissive Software License, Version 2",url:"https://license.coscl.org.cn/MulanPSL2",osiApproved:!0},"VSL-1.0":{name:"Vovida Software License v1.0",url:"https://opensource.org/licenses/VSL-1.0",osiApproved:!0},ClArtistic:ZM,"GPL-1.0+":{name:"GNU General Public License v1.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},"NCGL-UK-2.0":{name:"Non-Commercial Government Licence",url:"http://www.nationalarchives.gov.uk/doc/non-commercial-government-licence/version/2/",osiApproved:!1},"Brian-Gladman-3-Clause":{name:"Brian Gladman 3-Clause License",url:"https://github.com/SWI-Prolog/packages-clib/blob/master/sha1/brg_endian.h",osiApproved:!1},"xkeyboard-config-Zinoviev":{name:"xkeyboard-config Zinoviev License",url:"https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/blob/master/COPYING?ref_type=heads#L178",osiApproved:!1},"ISC-Veillard":{name:"ISC Veillard variant",url:"https://raw.githubusercontent.com/GNOME/libxml2/4c2e7c651f6c2f0d1a74f350cbda95f7df3e7017/hash.c",osiApproved:!1},"Ferguson-Twofish":{name:"Ferguson Twofish License",url:"https://github.com/wernerd/ZRTPCPP/blob/6b3cd8e6783642292bad0c21e3e5e5ce45ff3e03/cryptcommon/twofish.c#L113C3-L127",osiApproved:!1},Motosoto:AD,Giftware:CD,"OLDAP-2.0":{name:"Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=cbf50f4e1185a21abd4c0a54d3f4341fe28f36ea",osiApproved:!1},"CC-BY-NC-SA-2.0-UK":{name:"Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/uk/legalcode",osiApproved:!1},"LGPL-2.0":{name:"GNU Library General Public License v2 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},"BSD-4-Clause":{name:'BSD 4-Clause "Original" or "Old" License',url:"http://directory.fsf.org/wiki/License:BSD_4Clause",osiApproved:!1},"CC-BY-NC-ND-1.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic",url:"https://creativecommons.org/licenses/by-nd-nc/1.0/legalcode",osiApproved:!1},"PolyForm-Small-Business-1.0.0":{name:"PolyForm Small Business License 1.0.0",url:"https://polyformproject.org/licenses/small-business/1.0.0",osiApproved:!1},FSFULLRWD:eD,"GFDL-1.3-only":{name:"GNU Free Documentation License v1.3 only",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"OLDAP-2.1":{name:"Open LDAP Public License v2.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=b0d176738e96a0d3b9f85cb51e140a86f21be715",osiApproved:!1},"QPL-1.0":{name:"Q Public License 1.0",url:"http://doc.qt.nokia.com/3.3/license.html",osiApproved:!0},"Linux-man-pages-copyleft-2-para":{name:"Linux man-pages Copyleft - 2 paragraphs",url:"https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/move_pages.2#n5",osiApproved:!1},SGP4:nD,"HPND-Kevlin-Henney":{name:"Historical Permission Notice and Disclaimer - Kevlin Henney variant",url:"https://github.com/mruby/mruby/blob/83d12f8d52522cdb7c8cc46fad34821359f453e6/mrbgems/mruby-dir/src/Win/dirent.c#L127-L140",osiApproved:!1},"Apache-1.0":{name:"Apache License 1.0",url:"http://www.apache.org/licenses/LICENSE-1.0",osiApproved:!1},"GFDL-1.2-invariants-or-later":{name:"GNU Free Documentation License v1.2 or later - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},Multics:tD,"BSD-Advertising-Acknowledgement":{name:"BSD Advertising Acknowledgement License",url:"https://github.com/python-excel/xlrd/blob/master/LICENSE#L33",osiApproved:!1},hdparm:iD,"LPL-1.0":{name:"Lucent Public License Version 1.0",url:"https://opensource.org/licenses/LPL-1.0",osiApproved:!0},"Spencer-86":{name:"Spencer License 86",url:"https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License",osiApproved:!1},NTP:sD,Nunit:oD,"GFDL-1.3-or-later":{name:"GNU Free Documentation License v1.3 or later",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"GPL-2.0":{name:"GNU General Public License v2.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},HTMLTIDY:lD,"APSL-1.1":{name:"Apple Public Source License 1.1",url:"http://www.opensource.apple.com/source/IOSerialFamily/IOSerialFamily-7/APPLE_LICENSE",osiApproved:!0},Noweb:aD,"CDLA-Permissive-1.0":{name:"Community Data License Agreement Permissive 1.0",url:"https://cdla.io/permissive-1-0",osiApproved:!1},"LPPL-1.3a":{name:"LaTeX Project Public License v1.3a",url:"http://www.latex-project.org/lppl/lppl-1-3a.txt",osiApproved:!1},"OPUBL-1.0":{name:"Open Publication License v1.0",url:"http://opencontent.org/openpub/",osiApproved:!1},"OSL-2.1":{name:"Open Software License 2.1",url:"http://web.archive.org/web/20050212003940/http://www.rosenlaw.com/osl21.htm",osiApproved:!0},"IEC-Code-Components-EULA":{name:"IEC Code Components End-user licence agreement",url:"https://www.iec.ch/webstore/custserv/pdf/CC-EULA.pdf",osiApproved:!1},"CC-BY-2.5":{name:"Creative Commons Attribution 2.5 Generic",url:"https://creativecommons.org/licenses/by/2.5/legalcode",osiApproved:!1},ISC:rD,"RHeCos-1.1":{name:"Red Hat eCos Public License v1.1",url:"http://ecos.sourceware.org/old-license.html",osiApproved:!1},"MS-PL":{name:"Microsoft Public License",url:"http://www.microsoft.com/opensource/licenses.mspx",osiApproved:!0},"BSD-Source-beginning-file":{name:"BSD Source Code Attribution - beginning of file variant",url:"https://github.com/lattera/freebsd/blob/master/sys/cam/cam.c#L4",osiApproved:!1},"Linux-OpenIB":{name:"Linux Kernel Variant of OpenIB.org license",url:"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/infiniband/core/sa.h",osiApproved:!1},Symlinks:cD,softSurfer:uD,"OpenPBS-2.3":{name:"OpenPBS v2.3 Software License",url:"https://github.com/adaptivecomputing/torque/blob/master/PBS_License.txt",osiApproved:!1},"CC-BY-NC-SA-2.0":{name:"Creative Commons Attribution Non Commercial Share Alike 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.0/legalcode",osiApproved:!1},"CMU-Mach":{name:"CMU Mach License",url:"https://www.cs.cmu.edu/~410/licenses.html",osiApproved:!1},"SISSL-1.2":{name:"Sun Industry Standards Source License v1.2",url:"http://gridscheduler.sourceforge.net/Gridengine_SISSL_license.html",osiApproved:!1},TCL:mD,"AGPL-3.0-only":{name:"GNU Affero General Public License v3.0 only",url:"https://www.gnu.org/licenses/agpl.txt",osiApproved:!0},"Linux-man-pages-copyleft":{name:"Linux man-pages Copyleft",url:"https://www.kernel.org/doc/man-pages/licenses.html",osiApproved:!1},"DL-DE-ZERO-2.0":{name:"Data licence Germany – zero – version 2.0",url:"https://www.govdata.de/dl-de/zero-2-0",osiApproved:!1},ADSL:dD,"MPL-1.0":{name:"Mozilla Public License 1.0",url:"http://www.mozilla.org/MPL/MPL-1.0.html",osiApproved:!0},"LiLiQ-Rplus-1.1":{name:"Licence Libre du Québec – Réciprocité forte version 1.1",url:"https://www.forge.gouv.qc.ca/participez/licence-logicielle/licence-libre-du-quebec-liliq-en-francais/licence-libre-du-quebec-reciprocite-forte-liliq-r-v1-1/",osiApproved:!0},"Apache-2.0":{name:"Apache License 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0",osiApproved:!0},"GPL-2.0+":{name:"GNU General Public License v2.0 or later",url:"https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html",osiApproved:!0},"Widget-Workshop":{name:"Widget Workshop License",url:"https://github.com/novnc/noVNC/blob/master/core/crypto/des.js#L24",osiApproved:!1},"SHL-0.51":{name:"Solderpad Hardware License, Version 0.51",url:"https://solderpad.org/licenses/SHL-0.51/",osiApproved:!1},Zed:pD,"OGL-Canada-2.0":{name:"Open Government Licence - Canada",url:"https://open.canada.ca/en/open-government-licence-canada",osiApproved:!1},"NASA-1.3":{name:"NASA Open Source Agreement 1.3",url:"http://ti.arc.nasa.gov/opensource/nosa/",osiApproved:!0},"IPL-1.0":{name:"IBM Public License v1.0",url:"https://opensource.org/licenses/IPL-1.0",osiApproved:!0},w3m:fD,"StandardML-NJ":{name:"Standard ML of New Jersey License",url:"https://www.smlnj.org/license.html",osiApproved:!1},"OSL-1.0":{name:"Open Software License 1.0",url:"https://opensource.org/licenses/OSL-1.0",osiApproved:!0},Baekmuk:hD,"CERN-OHL-S-2.0":{name:"CERN Open Hardware Licence Version 2 - Strongly Reciprocal",url:"https://www.ohwr.org/project/cernohl/wikis/Documents/CERN-OHL-version-2",osiApproved:!0},"Knuth-CTAN":{name:"Knuth CTAN License",url:"https://ctan.org/license/knuth",osiApproved:!1},"RSA-MD":{name:"RSA Message-Digest License",url:"http://www.faqs.org/rfcs/rfc1321.html",osiApproved:!1},VOSTROM:gD,"LPPL-1.2":{name:"LaTeX Project Public License v1.2",url:"http://www.latex-project.org/lppl/lppl-1-2.txt",osiApproved:!1},X11:bD,FTL:ED,"IJG-short":{name:"Independent JPEG Group License - short",url:"https://sourceforge.net/p/xmedcon/code/ci/master/tree/libs/ljpg/",osiApproved:!1},"OCCT-PL":{name:"Open CASCADE Technology Public License",url:"http://www.opencascade.com/content/occt-public-license",osiApproved:!1},CrystalStacker:yD,EPICS:vD,"W3C-20150513":{name:"W3C Software Notice and Document License (2015-05-13)",url:"https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document",osiApproved:!1},SISSL:wD,MITNFA:BD,"GPL-1.0-only":{name:"GNU General Public License v1.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},Ruby:SD,"CDDL-1.1":{name:"Common Development and Distribution License 1.1",url:"http://glassfish.java.net/public/CDDL+GPL_1_1.html",osiApproved:!1},"BSD-2-Clause-NetBSD":{name:"BSD 2-Clause NetBSD License",url:"http://www.netbsd.org/about/redistribution.html#default",osiApproved:!1},"RPL-1.5":{name:"Reciprocal Public License 1.5",url:"https://opensource.org/licenses/RPL-1.5",osiApproved:!0},"HPND-sell-MIT-disclaimer-xserver":{name:"Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer",url:"https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type=heads#L1781",osiApproved:!1},"TU-Berlin-2.0":{name:"Technische Universitaet Berlin License 2.0",url:"https://github.com/CorsixTH/deps/blob/fd339a9f526d1d9c9f01ccf39e438a015da50035/licences/libgsm.txt",osiApproved:!1},"LiLiQ-P-1.1":{name:"Licence Libre du Québec – Permissive version 1.1",url:"https://forge.gouv.qc.ca/licence/fr/liliq-v1-1/",osiApproved:!0},"EFL-2.0":{name:"Eiffel Forum License v2.0",url:"http://www.eiffel-nice.org/license/eiffel-forum-license-2.html",osiApproved:!0},"APSL-1.0":{name:"Apple Public Source License 1.0",url:"https://fedoraproject.org/wiki/Licensing/Apple_Public_Source_License_1.0",osiApproved:!0},"QPL-1.0-INRIA-2004":{name:"Q Public License 1.0 - INRIA 2004 variant",url:"https://github.com/maranget/hevea/blob/master/LICENSE",osiApproved:!1},"GFDL-1.3":{name:"GNU Free Documentation License v1.3",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"BSD-2-Clause-Views":{name:"BSD 2-Clause with views sentence",url:"http://www.freebsd.org/copyright/freebsd-license.html",osiApproved:!1},"CC-BY-ND-2.5":{name:"Creative Commons Attribution No Derivatives 2.5 Generic",url:"https://creativecommons.org/licenses/by-nd/2.5/legalcode",osiApproved:!1},TMate:kD,"Cornell-Lossless-JPEG":{name:"Cornell Lossless JPEG License",url:"https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_lossless_jpeg.cpp#16",osiApproved:!1},"MIT-open-group":{name:"MIT Open Group variant",url:"https://gitlab.freedesktop.org/xorg/app/iceauth/-/blob/master/COPYING",osiApproved:!1},"CC-BY-ND-3.0":{name:"Creative Commons Attribution No Derivatives 3.0 Unported",url:"https://creativecommons.org/licenses/by-nd/3.0/legalcode",osiApproved:!1},"CC-BY-ND-4.0":{name:"Creative Commons Attribution No Derivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nd/4.0/legalcode",osiApproved:!1},"Parity-6.0.0":{name:"The Parity Public License 6.0.0",url:"https://paritylicense.com/versions/6.0.0.html",osiApproved:!1},"APSL-1.2":{name:"Apple Public Source License 1.2",url:"http://www.samurajdata.se/opensource/mirror/licenses/apsl.php",osiApproved:!0},"CDLA-Sharing-1.0":{name:"Community Data License Agreement Sharing 1.0",url:"https://cdla.io/sharing-1-0",osiApproved:!1},DSDP:_D,"CC-BY-NC-ND-4.0":{name:"Creative Commons Attribution Non Commercial No Derivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode",osiApproved:!1},"C-UDA-1.0":{name:"Computational Use of Data Agreement v1.0",url:"https://github.com/microsoft/Computational-Use-of-Data-Agreement/blob/master/C-UDA-1.0.md",osiApproved:!1},SchemeReport:xD,"copyleft-next-0.3.1":{name:"copyleft-next 0.3.1",url:"https://github.com/copyleft-next/copyleft-next/blob/master/Releases/copyleft-next-0.3.1",osiApproved:!1},"Intel-ACPI":{name:"Intel ACPI Software License Agreement",url:"https://fedoraproject.org/wiki/Licensing/Intel_ACPI_Software_License_Agreement",osiApproved:!1},"BSD-2-Clause-Darwin":{name:"BSD 2-Clause - Ian Darwin variant",url:"https://github.com/file/file/blob/master/COPYING",osiApproved:!1},"OLFL-1.3":{name:"Open Logistics Foundation License Version 1.3",url:"https://openlogisticsfoundation.org/licenses/",osiApproved:!0},ImageMagick:jD,"BSD-4.3RENO":{name:"BSD 4.3 RENO License",url:"https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=libiberty/strcasecmp.c;h=131d81c2ce7881fa48c363dc5bf5fb302c61ce0b;hb=HEAD",osiApproved:!1},"Python-2.0.1":{name:"Python License 2.0.1",url:"https://www.python.org/download/releases/2.0.1/license/",osiApproved:!1},"zlib-acknowledgement":{name:"zlib/libpng License with Acknowledgement",url:"https://fedoraproject.org/wiki/Licensing/ZlibWithAcknowledgement",osiApproved:!1},"Zimbra-1.3":{name:"Zimbra Public License v1.3",url:"http://web.archive.org/web/20100302225219/http://www.zimbra.com/license/zimbra-public-license-1-3.html",osiApproved:!1},"CC-BY-3.0":{name:"Creative Commons Attribution 3.0 Unported",url:"https://creativecommons.org/licenses/by/3.0/legalcode",osiApproved:!1},"LGPL-2.0-only":{name:"GNU Library General Public License v2 only",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},OpenSSL:ID,"OLDAP-1.1":{name:"Open LDAP Public License v1.1",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=806557a5ad59804ef3a44d5abfbe91d706b0791f",osiApproved:!1},"OCLC-2.0":{name:"OCLC Research Public License 2.0",url:"http://www.oclc.org/research/activities/software/license/v2final.htm",osiApproved:!0},metamail:MD,"OFL-1.0-RFN":{name:"SIL Open Font License 1.0 with Reserved Font Name",url:"http://scripts.sil.org/cms/scripts/page.php?item_id=OFL10_web",osiApproved:!1},"BSD-Protection":{name:"BSD Protection License",url:"https://fedoraproject.org/wiki/Licensing/BSD_Protection_License",osiApproved:!1},"BlueOak-1.0.0":{name:"Blue Oak Model License 1.0.0",url:"https://blueoakcouncil.org/license/1.0.0",osiApproved:!0},"GFDL-1.3-invariants-only":{name:"GNU Free Documentation License v1.3 only - invariants",url:"https://www.gnu.org/licenses/fdl-1.3.txt",osiApproved:!1},"HPND-sell-regexpr":{name:"Historical Permission Notice and Disclaimer - sell regexpr variant",url:"https://gitlab.com/bacula-org/bacula/-/blob/Branch-11.0/bacula/LICENSE-FOSS?ref_type=heads#L245",osiApproved:!1},"MPL-2.0":{name:"Mozilla Public License 2.0",url:"https://www.mozilla.org/MPL/2.0/",osiApproved:!0},TOSL:DD,"LGPL-2.0-or-later":{name:"GNU Library General Public License v2 or later",url:"https://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html",osiApproved:!0},GLWTPL:PD,FSFUL:OD,"HP-1989":{name:"Hewlett-Packard 1989 License",url:"https://github.com/bleargh45/Data-UUID/blob/master/LICENSE",osiApproved:!1},"OSL-2.0":{name:"Open Software License 2.0",url:"http://web.archive.org/web/20041020171434/http://www.rosenlaw.com/osl2.0.html",osiApproved:!0},RSCPL:LD,"python-ldap":{name:"Python ldap License",url:"https://github.com/python-ldap/python-ldap/blob/main/LICENCE",osiApproved:!1},"CC-BY-NC-SA-3.0-DE":{name:"Creative Commons Attribution Non Commercial Share Alike 3.0 Germany",url:"https://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode",osiApproved:!1},"Spencer-94":{name:"Spencer License 94",url:"https://fedoraproject.org/wiki/Licensing/Henry_Spencer_Reg-Ex_Library_License",osiApproved:!1},Eurosym:KD,"SAX-PD-2.0":{name:"Sax Public Domain Notice 2.0",url:"http://www.saxproject.org/copying.html",osiApproved:!1},"ANTLR-PD":{name:"ANTLR Software Rights Notice",url:"http://www.antlr2.org/license.html",osiApproved:!1},"X11-distribute-modifications-variant":{name:"X11 License Distribution Modification Variant",url:"https://github.com/mirror/ncurses/blob/master/COPYING",osiApproved:!1},"CC-BY-NC-2.0":{name:"Creative Commons Attribution Non Commercial 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc/2.0/legalcode",osiApproved:!1},"ODbL-1.0":{name:"Open Data Commons Open Database License v1.0",url:"http://www.opendatacommons.org/licenses/odbl/1.0/",osiApproved:!1},OpenVision:FD,Rdisc:TD,"ErlPL-1.1":{name:"Erlang Public License v1.1",url:"http://www.erlang.org/EPLICENSE",osiApproved:!1},"JasPer-2.0":{name:"JasPer License",url:"http://www.ece.uvic.ca/~mdadams/jasper/LICENSE",osiApproved:!1},"GFDL-1.2-or-later":{name:"GNU Free Documentation License v1.2 or later",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},"MIT-Festival":{name:"MIT Festival Variant",url:"https://github.com/festvox/flite/blob/master/COPYING",osiApproved:!1},"BSD-3-Clause-Sun":{name:"BSD 3-Clause Sun Microsystems",url:"https://github.com/xmlark/msv/blob/b9316e2f2270bc1606952ea4939ec87fbba157f3/xsdlib/src/main/java/com/sun/msv/datatype/regexp/InternalImpl.java",osiApproved:!1},"OpenSSL-standalone":{name:"OpenSSL License - standalone",url:"https://library.netapp.com/ecm/ecm_download_file/ECMP1196395",osiApproved:!1},"Sun-PPP":{name:"Sun PPP License",url:"https://github.com/ppp-project/ppp/blob/master/pppd/eap.c#L7-L16",osiApproved:!1},"AFL-3.0":{name:"Academic Free License v3.0",url:"http://www.rosenlaw.com/AFL3.0.htm",osiApproved:!0},"BSL-1.0":{name:"Boost Software License 1.0",url:"http://www.boost.org/LICENSE_1_0.txt",osiApproved:!0},"GPL-1.0":{name:"GNU General Public License v1.0 only",url:"https://www.gnu.org/licenses/old-licenses/gpl-1.0-standalone.html",osiApproved:!1},"BitTorrent-1.0":{name:"BitTorrent Open Source License v1.0",url:"http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/licenses/BitTorrent?r1=1.1&r2=1.1.1.1&diff_format=s",osiApproved:!1},OFFIS:ND,Furuseth:$D,"Mackerras-3-Clause-acknowledgment":{name:"Mackerras 3-Clause - acknowledgment variant",url:"https://github.com/ppp-project/ppp/blob/master/pppd/auth.c#L6-L28",osiApproved:!1},Zlib:RD,Mup:GD,"MIT-Wu":{name:"MIT Tom Wu Variant",url:"https://github.com/chromium/octane/blob/master/crypto.js",osiApproved:!1},"Hippocratic-2.1":{name:"Hippocratic License 2.1",url:"https://firstdonoharm.dev/version/2/1/license.html",osiApproved:!1},"CC-BY-NC-SA-4.0":{name:"Creative Commons Attribution Non Commercial Share Alike 4.0 International",url:"https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode",osiApproved:!1},"GFDL-1.2-invariants-only":{name:"GNU Free Documentation License v1.2 only - invariants",url:"https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt",osiApproved:!1},Wsuipa:UD,"RPL-1.1":{name:"Reciprocal Public License 1.1",url:"https://opensource.org/licenses/RPL-1.1",osiApproved:!0},"CC-BY-ND-2.0":{name:"Creative Commons Attribution No Derivatives 2.0 Generic",url:"https://creativecommons.org/licenses/by-nd/2.0/legalcode",osiApproved:!1},"CERN-OHL-1.1":{name:"CERN Open Hardware Licence v1.1",url:"https://www.ohwr.org/project/licenses/wikis/cern-ohl-v1.1",osiApproved:!1},Newsletr:QD,"SimPL-2.0":{name:"Simple Public License 2.0",url:"https://opensource.org/licenses/SimPL-2.0",osiApproved:!0},blessing:HD,"OLDAP-2.4":{name:"Open LDAP Public License v2.4",url:"http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=blob;f=LICENSE;hb=cd1284c4a91a8a380d904eee68d1583f989ed386",osiApproved:!1},"DEC-3-Clause":{name:"DEC 3-Clause License",url:"https://gitlab.freedesktop.org/xorg/xserver/-/blob/master/COPYING?ref_type=heads#L239",osiApproved:!1},"LAL-1.2":{name:"Licence Art Libre 1.2",url:"http://artlibre.org/licence/lal/licence-art-libre-12/",osiApproved:!1},"PHP-3.0":{name:"PHP License v3.0",url:"http://www.php.net/license/3_0.txt",osiApproved:!0},"DRL-1.0":{name:"Detection Rule License 1.0",url:"https://github.com/Neo23x0/sigma/blob/master/LICENSE.Detection.Rules.md",osiApproved:!1},HPND:VD,"W3C-19980720":{name:"W3C Software Notice and License (1998-07-20)",url:"http://www.w3.org/Consortium/Legal/copyright-software-19980720.html",osiApproved:!1},"CC-BY-SA-2.5":{name:"Creative Commons Attribution Share Alike 2.5 Generic",url:"https://creativecommons.org/licenses/by-sa/2.5/legalcode",osiApproved:!1},"Apache-1.1":{name:"Apache License 1.1",url:"http://apache.org/licenses/LICENSE-1.1",osiApproved:!0},"AFL-1.2":{name:"Academic Free License v1.2",url:"http://opensource.linux-mirror.org/licenses/afl-1.2.txt",osiApproved:!0},"ZPL-2.0":{name:"Zope Public License 2.0",url:"http://old.zope.org/Resources/License/ZPL-2.0",osiApproved:!0},"CAL-1.0":{name:"Cryptographic Autonomy License 1.0",url:"http://cryptographicautonomylicense.com/license-text.html",osiApproved:!0},"AGPL-3.0":{name:"GNU Affero General Public License v3.0",url:"https://www.gnu.org/licenses/agpl.txt",osiApproved:!0},"Interbase-1.0":{name:"Interbase Public License v1.0",url:"https://web.archive.org/web/20060319014854/http://info.borland.com/devsupport/interbase/opensource/IPL.html",osiApproved:!1},"gSOAP-1.3b":{name:"gSOAP Public License v1.3b",url:"http://www.cs.fsu.edu/~engelen/license.html",osiApproved:!1},"Artistic-1.0-Perl":{name:"Artistic License 1.0 (Perl)",url:"http://dev.perl.org/licenses/artistic.html",osiApproved:!0},"NPOSL-3.0":{name:"Non-Profit Open Software License 3.0",url:"https://opensource.org/licenses/NOSL3.0",osiApproved:!0},"LGPL-3.0":{name:"GNU Lesser General Public License v3.0 only",url:"https://www.gnu.org/licenses/lgpl-3.0-standalone.html",osiApproved:!0}};var qD=zD;const WD=Et(qD),YD=""+new URL("../img/icons/android-chrome-192x192.png",import.meta.url).href;function HA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/About.vue",C="e475c0777ed6f11d2d98b3a3b0160bc57923c707",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/About.vue",statementMap:{0:{start:{line:6,column:18},end:{line:48,column:1}},1:{start:{line:9,column:4},end:{line:25,column:5}},2:{start:{line:28,column:4},end:{line:28,column:25}},3:{start:{line:29,column:4},end:{line:29,column:21}},4:{start:{line:33,column:6},end:{line:42,column:7}},5:{start:{line:34,column:25},end:{line:34,column:66}},6:{start:{line:35,column:8},end:{line:35,column:52}},7:{start:{line:36,column:8},end:{line:36,column:56}},8:{start:{line:37,column:8},end:{line:39,column:9}},9:{start:{line:38,column:10},end:{line:38,column:33}},10:{start:{line:41,column:8},end:{line:41,column:52}},11:{start:{line:45,column:6},end:{line:45,column:59}},12:{start:{line:54,column:19},end:{line:54,column:39}},13:{start:{line:55,column:19},end:{line:55,column:41}},14:{start:{line:56,column:32},end:{line:56,column:90}},15:{start:{line:57,column:19},end:{line:57,column:45}},16:{start:{line:58,column:19},end:{line:58,column:27}},17:{start:{line:59,column:32},end:{line:62,column:12}},18:{start:{line:63,column:19},end:{line:63,column:77}},19:{start:{line:64,column:19},end:{line:64,column:39}},20:{start:{line:65,column:19},end:{line:65,column:47}},21:{start:{line:66,column:33},end:{line:66,column:111}},22:{start:{line:67,column:20},end:{line:67,column:29}},23:{start:{line:68,column:20},end:{line:68,column:40}},24:{start:{line:69,column:20},end:{line:69,column:28}},25:{start:{line:70,column:33},end:{line:70,column:108}},26:{start:{line:71,column:20},end:{line:71,column:44}},27:{start:{line:72,column:20},end:{line:72,column:40}},28:{start:{line:73,column:20},end:{line:76,column:1}},29:{start:{line:77,column:20},end:{line:77,column:28}},30:{start:{line:80,column:2},end:{line:130,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:8,column:2},end:{line:8,column:3}},loc:{start:{line:8,column:10},end:{line:26,column:3}},line:8},1:{name:"(anonymous_1)",decl:{start:{line:27,column:2},end:{line:27,column:3}},loc:{start:{line:27,column:13},end:{line:30,column:3}},line:27},2:{name:"(anonymous_2)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:28},end:{line:43,column:5}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:44,column:4},end:{line:44,column:5}},loc:{start:{line:44,column:18},end:{line:46,column:5}},line:44},4:{name:"_sfc_render",decl:{start:{line:79,column:9},end:{line:79,column:20}},loc:{start:{line:79,column:68},end:{line:131,column:1}},line:79}},branchMap:{0:{loc:{start:{line:37,column:8},end:{line:39,column:9}},type:"if",locations:[{start:{line:37,column:8},end:{line:39,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:37},1:{loc:{start:{line:98,column:46},end:{line:98,column:90}},type:"cond-expr",locations:[{start:{line:98,column:65},end:{line:98,column:77}},{start:{line:98,column:79},end:{line:98,column:90}}],line:98},2:{loc:{start:{line:104,column:10},end:{line:115,column:43}},type:"cond-expr",locations:[{start:{line:105,column:15},end:{line:114,column:32}},{start:{line:115,column:14},end:{line:115,column:43}}],line:104},3:{loc:{start:{line:119,column:6},end:{line:128,column:39}},type:"cond-expr",locations:[{start:{line:120,column:11},end:{line:127,column:12}},{start:{line:128,column:10},end:{line:128,column:39}}],line:119}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/About.vue"],names:[],mappings:";AA4BA,OAAO,CAAE,CAAA,OAAO,CAAA,CAAE,WAAW,CAAA,CAAE,OAAO,EAAE,QAAQ,EAAE,OAAM,CAAE,CAAE,CAAA,IAAG,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;AACpF,MAAO,CAAA,MAAM,IAAK,CAAA,CAAC,KAAK,CAAA;AACxB,MAAO,CAAA,eAAc,CAAE,IAAK,CAAA,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;;AAE9C,KAAK,CAAA,SAAU,CAAA,CAAA,CAAA,CAAA;EACb,IAAI,CAAE,CAAA,CAAC,KAAK,CAAC,CAAA;AACb,CAAA,CAAA,IAAK,CAAA,CAAC,CAAE,CAAA,CAAA;AACN,CAAA,CAAA,CAAA,CAAA,MAAO,CAAA,CAAA;AACL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAE,CAAA,CAAA;AACP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAA,CAAE,OAAO,CAAA;QAClB,MAAM,CAAE,CAAA,IAAI,CAAA;AACZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAA,CAAE,IAAI,CAAA;MAClB,CAAC,CAAA;MACD,WAAW,CAAA;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAE,CAAA,CAAA;QACP,EAAE,EAAE,OAAO,CAAA;AACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,EAAE,IAAI,CAAA;AACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,CAAA,CAAE,IAAI,CAAA;MACX,CAAC,CAAA;AACD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAQ,CAAA;AACR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAA,CAAE,IAAI,CAAA;AAChB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAU,CAAE,CAAA,QAAgC,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,SAAS,CAAE,CAAA,MAA+B,CAAA;AAC5C,CAAA,CAAA,CAAA,CAAA,CAAA;EACF,CAAC,CAAA;AACD,CAAA,CAAA,OAAM,CAAE,CAAC,CAAE,CAAA,CAAA;AACT,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC,cAAc,CAAC,CAAA;AACpB,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC,UAAU,CAAC,CAAA;EAClB,CAAC,CAAA;AACD,CAAA,CAAA,OAAO,CAAE,CAAA,CAAA;AACP,CAAA,CAAA,CAAA,CAAA,MAAM,cAAa,CAAE,CAAC,CAAE,CAAA,CAAA;AACtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAI,CAAA,CAAA;QACF,KAAI,CAAE,SAAS,CAAE,CAAA,KAAI,CAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAA;AACzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC,OAAO,CAAC,MAAO,CAAA,CAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,QAAO;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAE,CAAA,QAAQ,CAAC,IAAI,CAAC,QAAO;QAC/C,EAAC,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAK,CAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAE,CAAA,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,CAAC,UAAS,CAAE,EAAE,KAAI;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;MACF,CAAE,CAAA,KAAI,CAAE,CAAC,KAAK,CAAE,CAAA,CAAA;AACd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAO,CAAC,KAAK,CAAC,CAAC,eAAe,KAAK,CAAC,CAAA,CAAE,KAAK,CAAA;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACF,CAAC,CAAA;IACD,UAAW,CAAA,CAAC,CAAE,CAAA,CAAA;MACZ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAE,CAAA,eAAe,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC,CAAA;EACH,CAAC,CAAA;AACH,CAAA;;;OArEyF,UAA2C,CAAA,IAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,OAAA,CAAA,MAAA,CAAA,OAAA,CAAA,GAAA,CAAA;;;AAJ5H,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAS,OAAA,CAAA,CAAA,CAAA;AACd,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAW,SAAA,CAAA,CAAA,CAAA;AACpB,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,mBAAA,CAA4B,CAAxB,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAA,KAAA,CAAO,IAAC,CAAK,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACnB,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAe,QAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAJ/B,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;gCAK6D,mBAAwE,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAnE,CAAA,CAAA,KAAK,EAAC,CAAgB,KAAA,CAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AAAC,CAAA,CAAA,GAA2C,EAA3C,UAA2C;;AAEzH,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAA+C,OAAA,CAAA,KAAA,CAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAA,CAAA,SAAA,CAAA,CAAA,CAAA;AACnD,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAS,OAAA,CAAA,CAAA,CAAA;AACb,KAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAiB,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,CAAA,CAAA;AAC1B,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,mBAAA,CAAkD,CAA5C,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,IAAA,CAAa,IAAC,CAAiB,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAVvD,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA;AAca,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAS,OAAA,CAAA,CAAA,CAAA;AAd5B,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;AAgBY,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,mBAAA,CAA+C,CAAzC,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAAC,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,IAAA,CAAa,IAAC,CAAc,MAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAClC,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAa,GAAA,CAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAA;AAI5B,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAS,OAAA,CAAA,CAAA,CAAA;;EArBxB,GAAA,CAAA,CAAA,CAAA,CAAA;AAsB6B,CAAA,CAAA,KAAK,EAAC,CAAS,OAAA,CAAA;;AAtB5C,KAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA;;;AACE,CAAA,CAAA,MAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAuBO,QAvBP,UAuBO,CAAA,CAAA,CAAA;AAtBL,CAAA,CAAA,CAAA,CAAA,mBAAA,CAqBM,OArBN,UAqBM,CAAA,CAAA,CAAA;MApBJ,UAA4B,CAAA;AAC5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAEK,MAFL,UAEK,CAAA,CAAA,CAAA;QADH,mBAAyI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAArI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAI,EAAE,CAAQ,IAAA,CAAA,QAAA,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,EAAC,CAAQ,MAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,EAAC,CAAY,UAAA,CAAA;;UAAC,UAAwE,CAAA;AALrI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAKqI,CAAQ,IAAA,CAAA,GAAA,CAAA,CAAA;AAL7I,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA;;AAOM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAaM,OAbN,UAaM,CAAA,CAAA,CAAA;AAZJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAKM,OALN,UAKM,CAAA,CAAA,CAAA;AAJJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAGM,OAHN,UAGM,CAAA,CAAA,CAAA;YAFJ,WAAkD,CAAA;YAClD,mBAA0I,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAApI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,CAXvB,CAAA,eAAA,CAAA,CAWwB,CAAK,GAAA,CAAA,CAAA,CAAA,CAAU,CAAU,IAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA;cAAgC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAU,IAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAS,IAAA,CAAA,SAAA,CAAA,CAAA,CAAA;gCAAQ,CAAO,IAAA,CAAA,OAAA,CAAC,SAAS,CAX5I,CAAA,CAAA,EAAA,CAAA,CAAA,WAAA,CAAA;;;AAcQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAKM,OALN,WAKM,CAAA,CAAA,CAAA;YAJM,CAAU,IAAA,CAAA,UAAA,CAAA;6BAApB,mBAGI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBAlBd,GAAA,CAAA,CAAA,CAAA,CAAA;AAegC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAK,EAAC,CAAiB,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,CAAA;gBAAE,IAAI,CAAA,CAAE,CAAO,IAAA,CAAA,OAAA,CAAC,UAAU,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,EAAC,CAAQ,MAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,EAAC,CAAY,UAAA,CAAA;;gBACvG,WAA+C,CAAA;AAC/C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAqD,CAArD,IAAA,CAAA,CAAA,CAAA,WAAqD,CAAxB,CAAA,gBAAA,CAAA,CAAA,IAAA,CAAA,OAAO,CAAC,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AAjBvD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA;;;MAqBM,mBAAwC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAxC,WAAwC,CAAA,CAAA,gBAAA,CAAlB,CAAW,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,OAAO,CAAC,IAAI,CAAA;AAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAA4J,KAA5J,WAA4J,CAAA,CAAA,CAAA;AAtBlK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAsB6C,CAAmC,IAAA,CAAA,OAAA,CAAA,EAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA;YAAA,mBAA8E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;cAA1E,IAAI,CAAA,CAAE,CAAO,IAAA,CAAA,OAAA,CAAC,GAAG,CAAA;AAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAM,EAAC,CAAQ,MAAA,CAAA,CAAA;AAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAG,EAAC,CAAY,UAAA,CAAA;gCAAI,CAAO,IAAA,CAAA,OAAA,CAAC,IAAI,CAtBvJ,CAAA,CAAA,CAAA,CAAA,CAAA,WAAA,CAAA;;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,mBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA;;;;;;;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e475c0777ed6f11d2d98b3a3b0160bc57923c707"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return HA=function(){return s},s}HA();const JD=(HA().s[0]++,{name:"About",data(){return HA().f[0]++,HA().s[1]++,{version:{installed:Df,latest:null,latestLink:null},description:Uk,license:{id:Sa,name:null,url:null},homepage:Pf,isUpToDate:!0,gitVersion:"0.10.3",gitBranch:"HEAD"}},mounted(){HA().f[1]++,HA().s[2]++,this.getLastVersion(),HA().s[3]++,this.getLicense()},methods:{async getLastVersion(){HA().f[2]++,HA().s[4]++;try{const A=(HA().s[5]++,await If.get(Hk.latestReleaseUrl));HA().s[6]++,this.version.latest=A.data.tag_name,HA().s[7]++,this.version.latestLink=A.data.html_url,HA().s[8]++,this.version.latest!==this.version.installed?(HA().b[0][0]++,HA().s[9]++,this.isUpToDate=!1):HA().b[0][1]++}catch(A){HA().s[10]++,console.error("getLastVersion error",A)}},getLicense(){HA().f[3]++,HA().s[11]++,Object.assign(this.license,WD[Sa])}}}),XD=(HA().s[12]++,{class:"section"}),ZD=(HA().s[13]++,{class:"container"}),AP=(HA().s[14]++,b("h2",{class:"title"},"About",-1)),CP=(HA().s[15]++,{class:"subtitle is-5"}),eP=(HA().s[16]++,["href"]),nP=(HA().s[17]++,b("img",{class:"image is-96x96",src:YD},null,-1)),tP=(HA().s[18]++,{class:"content field is-grouped is-grouped-multiline"}),iP=(HA().s[19]++,{class:"control"}),sP=(HA().s[20]++,{class:"tags has-addons"}),oP=(HA().s[21]++,b("span",{class:"tag is-dark"},"Installed version",-1)),lP=(HA().s[22]++,["title"]),aP=(HA().s[23]++,{class:"control"}),rP=(HA().s[24]++,["href"]),cP=(HA().s[25]++,b("span",{class:"tag is-dark"},"Latest version",-1)),uP=(HA().s[26]++,{class:"tag is-info"}),mP=(HA().s[27]++,{class:"content"}),dP=(HA().s[28]++,{key:0,class:"content"}),pP=(HA().s[29]++,["href"]);function fP(A,C,e,n,t,i){return HA().f[4]++,HA().s[30]++,h(),Q("main",XD,[b("div",ZD,[AP,b("h3",CP,[b("a",{href:t.homepage,target:"_blank",rel:"noreferrer"},[nP,tC("XMPP Web")],8,eP)]),b("div",tP,[b("div",iP,[b("div",sP,[oP,b("span",{class:zA(["tag",[t.isUpToDate?(HA().b[1][0]++,"is-success"):(HA().b[1][1]++,"is-danger")]]),title:`${t.gitVersion} (${t.gitBranch})`},sA(t.version.installed),11,lP)])]),b("div",aP,[t.isUpToDate?(HA().b[2][1]++,P("",!0)):(HA().b[2][0]++,h(),Q("a",{key:0,class:"tags has-addons",href:t.version.latestLink,target:"_blank",rel:"noreferrer"},[cP,b("span",uP,sA(t.version.latest),1)],8,rP))])]),b("p",mP,sA(t.description),1),t.license.name?(HA().b[3][0]++,h(),Q("p",dP,[tC("This project is licensed under the "),b("a",{href:t.license.url,target:"_blank",rel:"noreferrer"},sA(t.license.name),9,pP)])):(HA().b[3][1]++,P("",!0))])])}const hP=mC(JD,[["render",fP]]);function oA(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/GuestHome.vue",C="2044b9a6153ffa2a1f687eb99cd37e73af3e53c6",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/GuestHome.vue",statementMap:{0:{start:{line:5,column:18},end:{line:67,column:1}},1:{start:{line:17,column:4},end:{line:26,column:5}},2:{start:{line:29,column:22},end:{line:29,column:49}},3:{start:{line:31,column:6},end:{line:33,column:7}},4:{start:{line:32,column:8},end:{line:32,column:19}},5:{start:{line:34,column:6},end:{line:36,column:7}},6:{start:{line:35,column:8},end:{line:35,column:32}},7:{start:{line:37,column:6},end:{line:37,column:60}},8:{start:{line:40,column:6},end:{line:40,column:120}},9:{start:{line:43,column:6},end:{line:43,column:76}},10:{start:{line:46,column:6},end:{line:46,column:97}},11:{start:{line:51,column:4},end:{line:51,column:58}},12:{start:{line:55,column:6},end:{line:55,column:27}},13:{start:{line:56,column:6},end:{line:63,column:7}},14:{start:{line:57,column:8},end:{line:57,column:83}},15:{start:{line:58,column:8},end:{line:58,column:37}},16:{start:{line:59,column:8},end:{line:59,column:34}},17:{start:{line:60,column:8},end:{line:60,column:114}},18:{start:{line:62,column:8},end:{line:62,column:34}},19:{start:{line:64,column:6},end:{line:64,column:28}},20:{start:{line:71,column:19},end:{line:71,column:74}},21:{start:{line:72,column:19},end:{line:75,column:1}},22:{start:{line:76,column:19},end:{line:79,column:1}},23:{start:{line:80,column:19},end:{line:80,column:60}},24:{start:{line:81,column:32},end:{line:81,column:73}},25:{start:{line:82,column:19},end:{line:85,column:1}},26:{start:{line:86,column:19},end:{line:89,column:1}},27:{start:{line:90,column:19},end:{line:90,column:107}},28:{start:{line:91,column:19},end:{line:91,column:26}},29:{start:{line:92,column:33},end:{line:92,column:107}},30:{start:{line:93,column:20},end:{line:93,column:33}},31:{start:{line:94,column:20},end:{line:94,column:38}},32:{start:{line:95,column:20},end:{line:95,column:55}},33:{start:{line:96,column:33},end:{line:98,column:6}},34:{start:{line:99,column:20},end:{line:99,column:38}},35:{start:{line:100,column:20},end:{line:100,column:32}},36:{start:{line:101,column:33},end:{line:106,column:6}},37:{start:{line:107,column:33},end:{line:107,column:78}},38:{start:{line:108,column:20},end:{line:111,column:1}},39:{start:{line:112,column:20},end:{line:115,column:1}},40:{start:{line:116,column:20},end:{line:116,column:61}},41:{start:{line:119,column:33},end:{line:119,column:65}},42:{start:{line:120,column:29},end:{line:120,column:57}},43:{start:{line:122,column:2},end:{line:191,column:5}},44:{start:{line:131,column:40},end:{line:133,column:17}},45:{start:{line:142,column:81},end:{line:142,column:120}},46:{start:{line:162,column:82},end:{line:162,column:103}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:16,column:2},end:{line:16,column:3}},loc:{start:{line:16,column:10},end:{line:27,column:3}},line:16},1:{name:"(anonymous_1)",decl:{start:{line:29,column:4},end:{line:29,column:5}},loc:{start:{line:29,column:20},end:{line:29,column:51}},line:29},2:{name:"(anonymous_2)",decl:{start:{line:30,column:4},end:{line:30,column:5}},loc:{start:{line:30,column:24},end:{line:38,column:5}},line:30},3:{name:"(anonymous_3)",decl:{start:{line:39,column:4},end:{line:39,column:5}},loc:{start:{line:39,column:15},end:{line:41,column:5}},line:39},4:{name:"(anonymous_4)",decl:{start:{line:42,column:4},end:{line:42,column:5}},loc:{start:{line:42,column:15},end:{line:44,column:5}},line:42},5:{name:"(anonymous_5)",decl:{start:{line:45,column:4},end:{line:45,column:5}},loc:{start:{line:45,column:19},end:{line:47,column:5}},line:45},6:{name:"(anonymous_6)",decl:{start:{line:49,column:2},end:{line:49,column:3}},loc:{start:{line:49,column:13},end:{line:52,column:3}},line:49},7:{name:"(anonymous_7)",decl:{start:{line:54,column:4},end:{line:54,column:5}},loc:{start:{line:54,column:18},end:{line:65,column:5}},line:54},8:{name:"_sfc_render",decl:{start:{line:118,column:9},end:{line:118,column:20}},loc:{start:{line:118,column:68},end:{line:192,column:1}},line:118},9:{name:"(anonymous_9)",decl:{start:{line:131,column:34},end:{line:131,column:35}},loc:{start:{line:131,column:40},end:{line:133,column:17}},line:131},10:{name:"(anonymous_10)",decl:{start:{line:142,column:67},end:{line:142,column:68}},loc:{start:{line:142,column:81},end:{line:142,column:120}},line:142},11:{name:"(anonymous_11)",decl:{start:{line:162,column:71},end:{line:162,column:72}},loc:{start:{line:162,column:82},end:{line:162,column:103}},line:162}},branchMap:{0:{loc:{start:{line:31,column:6},end:{line:33,column:7}},type:"if",locations:[{start:{line:31,column:6},end:{line:33,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:31},1:{loc:{start:{line:34,column:6},end:{line:36,column:7}},type:"if",locations:[{start:{line:34,column:6},end:{line:36,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:34},2:{loc:{start:{line:34,column:10},end:{line:34,column:72}},type:"binary-expr",locations:[{start:{line:34,column:10},end:{line:34,column:46}},{start:{line:34,column:50},end:{line:34,column:72}}],line:34},3:{loc:{start:{line:40,column:13},end:{line:40,column:120}},type:"cond-expr",locations:[{start:{line:40,column:85},end:{line:40,column:103}},{start:{line:40,column:106},end:{line:40,column:120}}],line:40},4:{loc:{start:{line:40,column:14},end:{line:40,column:81}},type:"binary-expr",locations:[{start:{line:40,column:14},end:{line:40,column:52}},{start:{line:40,column:56},end:{line:40,column:81}}],line:40},5:{loc:{start:{line:43,column:13},end:{line:43,column:76}},type:"binary-expr",locations:[{start:{line:43,column:13},end:{line:43,column:34}},{start:{line:43,column:38},end:{line:43,column:76}}],line:43},6:{loc:{start:{line:46,column:13},end:{line:46,column:97}},type:"cond-expr",locations:[{start:{line:46,column:46},end:{line:46,column:90}},{start:{line:46,column:93},end:{line:46,column:97}}],line:46},7:{loc:{start:{line:124,column:6},end:{line:188,column:13}},type:"cond-expr",locations:[{start:{line:125,column:11},end:{line:137,column:12}},{start:{line:138,column:11},end:{line:188,column:12}}],line:124},8:{loc:{start:{line:142,column:26},end:{line:142,column:136}},type:"binary-expr",locations:[{start:{line:142,column:26},end:{line:142,column:35}},{start:{line:142,column:40},end:{line:142,column:135}}],line:142},9:{loc:{start:{line:142,column:81},end:{line:142,column:120}},type:"binary-expr",locations:[{start:{line:142,column:81},end:{line:142,column:94}},{start:{line:142,column:98},end:{line:142,column:120}}],line:142},10:{loc:{start:{line:152,column:16},end:{line:158,column:49}},type:"cond-expr",locations:[{start:{line:153,column:21},end:{line:157,column:44}},{start:{line:158,column:20},end:{line:158,column:49}}],line:152},11:{loc:{start:{line:162,column:45},end:{line:162,column:105}},type:"binary-expr",locations:[{start:{line:162,column:45},end:{line:162,column:54}},{start:{line:162,column:59},end:{line:162,column:104}}],line:162},12:{loc:{start:{line:181,column:16},end:{line:185,column:49}},type:"cond-expr",locations:[{start:{line:182,column:21},end:{line:184,column:22}},{start:{line:185,column:20},end:{line:185,column:49}}],line:181}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/GuestHome.vue"],names:[],mappings:"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AC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAClE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MACzB;MACA,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACT,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"2044b9a6153ffa2a1f687eb99cd37e73af3e53c6"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return oA=function(){return s},s}oA();const gP=(oA().s[0]++,{name:"GuestHome",components:{Version:Uo},props:{requestedJid:{type:String,default:null}},data(){return oA().f[0]++,oA().s[1]++,{nick:"",isLoading:!1,error:"",transportsUser:{websocket:window.config.transports.websocket,bosh:window.config.transports.bosh},server:window.config.anonymousHost}},computed:{hasValidNick(){return oA().f[1]++,oA().s[2]++,this.nick.length>2},requestedFullJid(){if(oA().f[2]++,oA().s[3]++,this.requestedJid)oA().b[0][1]++;else return oA().b[0][0]++,oA().s[4]++,null;return oA().s[5]++,oA().b[2][0]++,/\S+@\S+\S+/.test(this.requestedJid)||(oA().b[2][1]++,!this.$xmpp.defaultMuc)?(oA().b[1][0]++,oA().s[6]++,this.requestedJid):(oA().b[1][1]++,oA().s[7]++,`${this.requestedJid}@${this.$xmpp.defaultMuc}`)},appName(){return oA().f[3]++,oA().s[8]++,oA().b[4][0]++,typeof window.config.name=="string"&&(oA().b[4][1]++,window.config.name!=="")?(oA().b[3][0]++,window.config.name):(oA().b[3][1]++,"XMPP webchat")},logoSrc(){return oA().f[4]++,oA().s[9]++,oA().b[5][0]++,window.config.logoUrl||(oA().b[5][1]++,"img/icons/android-chrome-192x192.png")},description(){return oA().f[5]++,oA().s[10]++,window.config.guestDescription?(oA().b[6][0]++,Ws(window.config.guestDescription)):(oA().b[6][1]++,null)}},mounted(){oA().f[6]++,oA().s[11]++,document.body.classList.remove("has-navbar-fixed-top")},methods:{async join(){oA().f[7]++,oA().s[12]++,this.isLoading=!0,oA().s[13]++;try{oA().s[14]++,await this.$xmpp.create(null,null,this.server,this.transportsUser,this),oA().s[15]++,this.$xmpp.setNick(this.nick),oA().s[16]++,await this.$xmpp.connect(),oA().s[17]++,this.$router.push({name:"guestRooms",state:{nick:this.nick,requestedJid:this.requestedFullJid}})}catch(A){oA().s[18]++,this.error=A.message}oA().s[19]++,this.isLoading=!1}}}),bP=(oA().s[20]++,{class:"hero is-full-height has-background-shade-4"}),EP=(oA().s[21]++,{class:"is-flex is-justify-content-center is-full-height",style:{"overflow-y":"auto"}}),yP=(oA().s[22]++,{key:0,class:"message is-danger is-light is-align-self-center"}),vP=(oA().s[23]++,{class:"message-body has-text-danger"}),wP=(oA().s[24]++,b("br",null,null,-1)),BP=(oA().s[25]++,{key:1,class:"is-align-self-center"}),SP=(oA().s[26]++,{class:"box has-background-shade-3 mx-1",style:{"max-width":"420px"}}),kP=(oA().s[27]++,{class:"title has-text-grey is-flex is-justify-content-center is-align-items-center"}),_P=(oA().s[28]++,["src"]),xP=(oA().s[29]++,b("p",{class:"subtitle has-text-grey"},"Guest",-1)),jP=(oA().s[30]++,["innerHTML"]),IP=(oA().s[31]++,{class:"field"}),MP=(oA().s[32]++,{class:"control has-icons-left"}),DP=(oA().s[33]++,b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-user"})],-1)),PP=(oA().s[34]++,{class:"field"}),OP=(oA().s[35]++,["disabled"]),LP=(oA().s[36]++,b("span",{class:"icon","aria-hidden":"true"},[b("i",{class:"fa fa-sign-in"})],-1)),KP=(oA().s[37]++,b("span",null,"Join",-1)),FP=(oA().s[38]++,[LP,KP]),TP=(oA().s[39]++,{key:1,class:"message is-danger"}),NP=(oA().s[40]++,{class:"message-body has-text-danger"});function $P(A,C,e,n,t,i){oA().f[8]++;const s=(oA().s[41]++,AA("router-link")),o=(oA().s[42]++,AA("version"));return oA().s[43]++,h(),Q("section",bP,[b("div",EP,[t.server===null?(oA().b[7][0]++,h(),Q("div",yP,[b("div",vP,[tC("Anonymous access is not allowed"),wP,tC("Please "),S(s,{to:{name:"login"}},{default:_A(()=>(oA().f[9]++,oA().s[44]++,[tC("login")])),_:1})])])):(oA().b[7][1]++,h(),Q("div",BP,[b("div",SP,[b("form",{class:"has-text-centered",onSubmit:(oA().b[8][0]++,C[1]||(oA().b[8][1]++,C[1]=MA((...l)=>(oA().f[10]++,oA().s[45]++,oA().b[9][0]++,i.join&&(oA().b[9][1]++,i.join(...l))),["prevent"])))},[b("h3",kP,[b("img",{class:"image is-48x48 is-inline mr-2",src:i.logoSrc},null,8,_P),tC(sA(i.appName),1)]),xP,i.description?(oA().b[10][0]++,h(),Q("p",{key:0,class:"content has-text-grey is-size-7",innerHTML:i.description},null,8,jP)):(oA().b[10][1]++,P("",!0)),b("div",IP,[b("div",MP,[QA(b("input",{"onUpdate:modelValue":(oA().b[11][0]++,C[0]||(oA().b[11][1]++,C[0]=l=>(oA().f[11]++,oA().s[46]++,t.nick=l))),autofocus:"",class:"input is-medium",type:"text",name:"nick",placeholder:"Nickname"},null,512),[[be,t.nick]]),DP])]),b("div",PP,[b("button",{type:"submit",class:"button is-medium is-block is-primary is-fullwidth",disabled:!i.hasValidNick},FP,8,OP)]),t.error?(oA().b[12][0]++,h(),Q("div",TP,[b("div",NP,sA(t.error),1)])):(oA().b[12][1]++,P("",!0))],32)])]))]),S(o)])}const Xm=mC(gP,[["render",$P]]);function K(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/GuestRooms.vue",C="ffea2f05ccd5d7caa3340d140b73ddfaad41a3c6",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/GuestRooms.vue",statementMap:{0:{start:{line:8,column:18},end:{line:112,column:1}},1:{start:{line:15,column:4},end:{line:28,column:5}},2:{start:{line:31,column:26},end:{line:31,column:79}},3:{start:{line:33,column:6},end:{line:34,column:36}},4:{start:{line:33,column:56},end:{line:33,column:65}},5:{start:{line:34,column:24},end:{line:34,column:35}},6:{start:{line:37,column:26},end:{line:37,column:56}},7:{start:{line:38,column:25},end:{line:38,column:55}},8:{start:{line:39,column:29},end:{line:39,column:49}},9:{start:{line:40,column:6},end:{line:53,column:10}},10:{start:{line:41,column:26},end:{line:41,column:215}},11:{start:{line:43,column:10},end:{line:46,column:11}},12:{start:{line:49,column:10},end:{line:51,column:11}},13:{start:{line:50,column:12},end:{line:50,column:38}},14:{start:{line:52,column:10},end:{line:52,column:60}},15:{start:{line:58,column:4},end:{line:61,column:5}},16:{start:{line:59,column:6},end:{line:59,column:52}},17:{start:{line:60,column:6},end:{line:60,column:36}},18:{start:{line:62,column:4},end:{line:66,column:5}},19:{start:{line:64,column:6},end:{line:64,column:42}},20:{start:{line:65,column:6},end:{line:65,column:12}},21:{start:{line:67,column:4},end:{line:67,column:25}},22:{start:{line:68,column:4},end:{line:100,column:5}},23:{start:{line:70,column:20},end:{line:70,column:51}},24:{start:{line:72,column:6},end:{line:97,column:7}},25:{start:{line:73,column:8},end:{line:76,column:9}},26:{start:{line:73,column:33},end:{line:73,column:63}},27:{start:{line:75,column:10},end:{line:75,column:49}},28:{start:{line:78,column:30},end:{line:78,column:73}},29:{start:{line:79,column:8},end:{line:82,column:9}},30:{start:{line:81,column:10},end:{line:81,column:49}},31:{start:{line:83,column:8},end:{line:96,column:9}},32:{start:{line:84,column:10},end:{line:95,column:11}},33:{start:{line:85,column:12},end:{line:94,column:14}},34:{start:{line:93,column:29},end:{line:93,column:43}},35:{start:{line:99,column:6},end:{line:99,column:34}},36:{start:{line:101,column:4},end:{line:101,column:26}},37:{start:{line:105,column:4},end:{line:105,column:58}},38:{start:{line:109,column:6},end:{line:109,column:65}},39:{start:{line:116,column:19},end:{line:116,column:69}},40:{start:{line:117,column:19},end:{line:120,column:1}},41:{start:{line:121,column:19},end:{line:124,column:1}},42:{start:{line:125,column:19},end:{line:125,column:53}},43:{start:{line:126,column:19},end:{line:126,column:66}},44:{start:{line:127,column:32},end:{line:129,column:6}},45:{start:{line:130,column:19},end:{line:130,column:54}},46:{start:{line:131,column:19},end:{line:131,column:38}},47:{start:{line:132,column:32},end:{line:132,column:86}},48:{start:{line:133,column:33},end:{line:135,column:6}},49:{start:{line:136,column:20},end:{line:136,column:81}},50:{start:{line:137,column:20},end:{line:137,column:74}},51:{start:{line:138,column:20},end:{line:138,column:54}},52:{start:{line:139,column:20},end:{line:139,column:44}},53:{start:{line:140,column:20},end:{line:140,column:50}},54:{start:{line:141,column:20},end:{line:145,column:1}},55:{start:{line:146,column:33},end:{line:146,column:95}},56:{start:{line:147,column:20},end:{line:149,column:1}},57:{start:{line:150,column:20},end:{line:154,column:1}},58:{start:{line:155,column:20},end:{line:155,column:42}},59:{start:{line:156,column:20},end:{line:160,column:1}},60:{start:{line:161,column:33},end:{line:161,column:98}},61:{start:{line:162,column:20},end:{line:164,column:1}},62:{start:{line:165,column:20},end:{line:168,column:1}},63:{start:{line:169,column:33},end:{line:171,column:6}},64:{start:{line:172,column:20},end:{line:172,column:45}},65:{start:{line:173,column:20},end:{line:173,column:38}},66:{start:{line:174,column:20},end:{line:174,column:46}},67:{start:{line:175,column:20},end:{line:175,column:43}},68:{start:{line:176,column:20},end:{line:176,column:46}},69:{start:{line:177,column:20},end:{line:177,column:40}},70:{start:{line:178,column:20},end:{line:178,column:44}},71:{start:{line:179,column:33},end:{line:181,column:6}},72:{start:{line:182,column:33},end:{line:182,column:78}},73:{start:{line:185,column:28},end:{line:185,column:55}},74:{start:{line:186,column:33},end:{line:186,column:65}},75:{start:{line:187,column:29},end:{line:187,column:57}},76:{start:{line:189,column:2},end:{line:293,column:5}},77:{start:{line:196,column:78},end:{line:196,column:106}},78:{start:{line:210,column:80},end:{line:210,column:112}},79:{start:{line:215,column:22},end:{line:215,column:124}},80:{start:{line:227,column:18},end:{line:285,column:21}},81:{start:{line:277,column:50},end:{line:280,column:27}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:14,column:2},end:{line:14,column:3}},loc:{start:{line:14,column:10},end:{line:29,column:3}},line:14},1:{name:"(anonymous_1)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:24},end:{line:31,column:81}},line:31},2:{name:"(anonymous_2)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:22},end:{line:35,column:5}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:33,column:46},end:{line:33,column:47}},loc:{start:{line:33,column:56},end:{line:33,column:65}},line:33},4:{name:"(anonymous_4)",decl:{start:{line:34,column:16},end:{line:34,column:17}},loc:{start:{line:34,column:24},end:{line:34,column:35}},line:34},5:{name:"(anonymous_5)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:27},end:{line:54,column:5}},line:36},6:{name:"(anonymous_6)",decl:{start:{line:41,column:16},end:{line:41,column:17}},loc:{start:{line:41,column:26},end:{line:41,column:215}},line:41},7:{name:"(anonymous_7)",decl:{start:{line:42,column:13},end:{line:42,column:14}},loc:{start:{line:42,column:23},end:{line:47,column:9}},line:42},8:{name:"(anonymous_8)",decl:{start:{line:48,column:14},end:{line:48,column:15}},loc:{start:{line:48,column:24},end:{line:53,column:9}},line:48},9:{name:"(anonymous_9)",decl:{start:{line:57,column:2},end:{line:57,column:3}},loc:{start:{line:57,column:19},end:{line:102,column:3}},line:57},10:{name:"(anonymous_10)",decl:{start:{line:73,column:23},end:{line:73,column:24}},loc:{start:{line:73,column:33},end:{line:73,column:63}},line:73},11:{name:"(anonymous_11)",decl:{start:{line:84,column:28},end:{line:84,column:29}},loc:{start:{line:85,column:12},end:{line:94,column:14}},line:85},12:{name:"(anonymous_12)",decl:{start:{line:93,column:23},end:{line:93,column:24}},loc:{start:{line:93,column:29},end:{line:93,column:43}},line:93},13:{name:"(anonymous_13)",decl:{start:{line:103,column:2},end:{line:103,column:3}},loc:{start:{line:103,column:13},end:{line:106,column:3}},line:103},14:{name:"(anonymous_14)",decl:{start:{line:108,column:4},end:{line:108,column:5}},loc:{start:{line:108,column:19},end:{line:110,column:5}},line:108},15:{name:"_sfc_render",decl:{start:{line:184,column:9},end:{line:184,column:20}},loc:{start:{line:184,column:68},end:{line:294,column:1}},line:184},16:{name:"(anonymous_16)",decl:{start:{line:196,column:67},end:{line:196,column:68}},loc:{start:{line:196,column:78},end:{line:196,column:106}},line:196},17:{name:"(anonymous_17)",decl:{start:{line:210,column:69},end:{line:210,column:70}},loc:{start:{line:210,column:80},end:{line:210,column:112}},line:210},18:{name:"(anonymous_18)",decl:{start:{line:214,column:113},end:{line:214,column:114}},loc:{start:{line:214,column:127},end:{line:216,column:21}},line:214},19:{name:"(anonymous_19)",decl:{start:{line:226,column:114},end:{line:226,column:115}},loc:{start:{line:226,column:124},end:{line:286,column:17}},line:226},20:{name:"(anonymous_20)",decl:{start:{line:277,column:44},end:{line:277,column:45}},loc:{start:{line:277,column:50},end:{line:280,column:27}},line:277}},branchMap:{0:{loc:{start:{line:31,column:33},end:{line:31,column:79}},type:"binary-expr",locations:[{start:{line:31,column:33},end:{line:31,column:48}},{start:{line:31,column:52},end:{line:31,column:79}}],line:31},1:{loc:{start:{line:37,column:26},end:{line:37,column:56}},type:"binary-expr",locations:[{start:{line:37,column:26},end:{line:37,column:50}},{start:{line:37,column:54},end:{line:37,column:56}}],line:37},2:{loc:{start:{line:41,column:26},end:{line:41,column:215}},type:"binary-expr",locations:[{start:{line:41,column:27},end:{line:41,column:44}},{start:{line:41,column:48},end:{line:41,column:96}},{start:{line:41,column:100},end:{line:41,column:155}},{start:{line:41,column:161},end:{line:41,column:182}},{start:{line:41,column:186},end:{line:41,column:214}}],line:41},3:{loc:{start:{line:49,column:10},end:{line:51,column:11}},type:"if",locations:[{start:{line:49,column:10},end:{line:51,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:49},4:{loc:{start:{line:50,column:19},end:{line:50,column:38}},type:"cond-expr",locations:[{start:{line:50,column:32},end:{line:50,column:34}},{start:{line:50,column:37},end:{line:50,column:38}}],line:50},5:{loc:{start:{line:58,column:4},end:{line:61,column:5}},type:"if",locations:[{start:{line:58,column:4},end:{line:61,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:58},6:{loc:{start:{line:62,column:4},end:{line:66,column:5}},type:"if",locations:[{start:{line:62,column:4},end:{line:66,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:62},7:{loc:{start:{line:62,column:8},end:{line:62,column:37}},type:"binary-expr",locations:[{start:{line:62,column:8},end:{line:62,column:18}},{start:{line:62,column:22},end:{line:62,column:37}}],line:62},8:{loc:{start:{line:72,column:6},end:{line:97,column:7}},type:"if",locations:[{start:{line:72,column:6},end:{line:97,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:72},9:{loc:{start:{line:73,column:8},end:{line:76,column:9}},type:"if",locations:[{start:{line:73,column:8},end:{line:76,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:73},10:{loc:{start:{line:79,column:8},end:{line:82,column:9}},type:"if",locations:[{start:{line:79,column:8},end:{line:82,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:79},11:{loc:{start:{line:83,column:8},end:{line:96,column:9}},type:"if",locations:[{start:{line:83,column:8},end:{line:96,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:83},12:{loc:{start:{line:90,column:25},end:{line:90,column:71}},type:"binary-expr",locations:[{start:{line:90,column:25},end:{line:90,column:46}},{start:{line:90,column:50},end:{line:90,column:71}}],line:90},13:{loc:{start:{line:191,column:6},end:{line:291,column:39}},type:"cond-expr",locations:[{start:{line:192,column:11},end:{line:290,column:12}},{start:{line:291,column:10},end:{line:291,column:39}}],line:191},14:{loc:{start:{line:196,column:41},end:{line:196,column:108}},type:"binary-expr",locations:[{start:{line:196,column:41},end:{line:196,column:50}},{start:{line:196,column:55},end:{line:196,column:107}}],line:196},15:{loc:{start:{line:210,column:43},end:{line:210,column:114}},type:"binary-expr",locations:[{start:{line:210,column:43},end:{line:210,column:52}},{start:{line:210,column:57},end:{line:210,column:113}}],line:210},16:{loc:{start:{line:234,column:26},end:{line:236,column:59}},type:"cond-expr",locations:[{start:{line:235,column:31},end:{line:235,column:98}},{start:{line:236,column:30},end:{line:236,column:59}}],line:234},17:{loc:{start:{line:237,column:26},end:{line:239,column:59}},type:"cond-expr",locations:[{start:{line:238,column:31},end:{line:238,column:129}},{start:{line:239,column:30},end:{line:239,column:59}}],line:237},18:{loc:{start:{line:242,column:26},end:{line:244,column:59}},type:"cond-expr",locations:[{start:{line:243,column:31},end:{line:243,column:98}},{start:{line:244,column:30},end:{line:244,column:59}}],line:242},19:{loc:{start:{line:245,column:26},end:{line:250,column:59}},type:"cond-expr",locations:[{start:{line:246,column:31},end:{line:249,column:32}},{start:{line:250,column:30},end:{line:250,column:59}}],line:245},20:{loc:{start:{line:255,column:26},end:{line:263,column:59}},type:"cond-expr",locations:[{start:{line:256,column:31},end:{line:262,column:50}},{start:{line:263,column:30},end:{line:263,column:59}}],line:255}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0},b:{0:[0,0],1:[0,0],2:[0,0,0,0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/GuestRooms.vue"],names:[],mappings:"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ACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAChB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MACrB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;MACjD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAChD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ffea2f05ccd5d7caa3340d140b73ddfaad41a3c6"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return K=function(){return s},s}K();const RP=(K().s[0]++,{name:"GuestRooms",components:{avatar:yt,Version:Uo},data(){return K().f[0]++,K().s[1]++,{isLoading:!1,search:{text:"",language:""},transportsUser:{websocket:window.config.transports.websocket,bosh:window.config.transports.bosh},server:window.config.anonymousHost,nick:null,requestedJid:null}},computed:{displayRoomsList(){return K().f[1]++,K().s[2]++,K().b[0][0]++,!this.isLoading&&(K().b[0][1]++,this.publicRooms.length>0)},roomsLanguages(){return K().f[2]++,K().s[3]++,[...new Set(this.publicRooms.map(A=>(K().f[3]++,K().s[4]++,A.lang)))].filter(A=>(K().f[4]++,K().s[5]++,A!==""))},filteredPublicRooms(){K().f[5]++;const A=(K().s[6]++,K().b[1][0]++,window.config.pinnedMucs||(K().b[1][1]++,[])),C=(K().s[7]++,this.search.text.toLowerCase()),e=(K().s[8]++,this.search.language);return K().s[9]++,this.publicRooms.filter(n=>(K().f[6]++,K().s[10]++,K().b[2][0]++,(C===""||(K().b[2][1]++,n.name.toLowerCase().indexOf(C)>-1)||(K().b[2][2]++,n.description.toLowerCase().indexOf(C)>-1))&&(K().b[2][3]++,e===""||(K().b[2][4]++,n.lang===e)))).map(n=>(K().f[7]++,K().s[11]++,{...n,isPinned:A.includes(n.jid)})).sort((n,t)=>(K().f[8]++,K().s[12]++,n.isPinned!==t.isPinned?(K().b[3][0]++,K().s[13]++,n.isPinned?(K().b[4][0]++,-1):(K().b[4][1]++,1)):(K().b[3][1]++,K().s[14]++,n.name.toLowerCase()>t.name.toLowerCase())))},...Be(WC,["publicRooms"])},async created(){if(K().f[9]++,K().s[15]++,history.state?(K().b[5][0]++,K().s[16]++,this.requestedJid=history.state.requestedJid,K().s[17]++,this.nick=history.state.nick):K().b[5][1]++,K().s[18]++,K().b[7][0]++,!this.nick||(K().b[7][1]++,!this.$xmpp.jid)){K().b[6][0]++,K().s[19]++,this.$router.push({name:"guest"}),K().s[20]++;return}else K().b[6][1]++;K().s[21]++,this.isLoading=!0,K().s[22]++;try{const A=(K().s[23]++,await this.$xmpp.getPublicMuc());if(K().s[24]++,this.requestedJid){if(K().b[8][0]++,K().s[25]++,A.find(e=>(K().f[10]++,K().s[26]++,e.jid===this.requestedJid)))return K().b[9][0]++,K().s[27]++,this.openRoom(this.requestedJid);K().b[9][1]++;const C=(K().s[28]++,await this.$xmpp.getRoom(this.requestedJid));if(K().s[29]++,C.jid)return K().b[10][0]++,K().s[30]++,this.openRoom(this.requestedJid);K().b[10][1]++,K().s[31]++,C.message?(K().b[11][0]++,K().s[32]++,await new Promise(e=>(K().f[11]++,K().s[33]++,this.$oruga.modal.open({component:Qt,trapFocus:!0,props:{title:"Error",message:(K().b[12][0]++,C.message||(K().b[12][1]++,"Unable to join room")),type:"is-danger"},onClose:()=>(K().f[12]++,K().s[34]++,e(!1))})))):K().b[11][1]++}else K().b[8][1]++}catch(A){K().s[35]++,console.error(A.message)}K().s[36]++,this.isLoading=!1},mounted(){K().f[13]++,K().s[37]++,document.body.classList.remove("has-navbar-fixed-top")},methods:{openRoom(A){K().f[14]++,K().s[38]++,this.$router.push({name:"guestInRoom",params:{jid:A}})}}}),GP=(K().s[39]++,{class:"is-full-height has-background-shade-3"}),UP=(K().s[40]++,{class:"is-flex is-justify-content-center is-full-height",style:{"overflow-y":"auto"}}),QP=(K().s[41]++,{key:0,class:"container is-flex is-flex-direction-column"}),HP=(K().s[42]++,{class:"field has-addons mt-5"}),VP=(K().s[43]++,{class:"control is-expanded has-icons-left"}),zP=(K().s[44]++,b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-search"})],-1)),qP=(K().s[45]++,{class:"control has-icons-left"}),WP=(K().s[46]++,{class:"select"}),YP=(K().s[47]++,b("option",{value:""},null,-1)),JP=(K().s[48]++,b("span",{class:"icon is-small is-left"},[b("i",{class:"fa fa-globe-e"})],-1)),XP=(K().s[49]++,{class:"is-flex is-justify-content-center is-flex-grow-1"}),ZP=(K().s[50]++,{class:"is-align-self-center columns is-multiline"}),AO=(K().s[51]++,{class:"card is-width-min-400"}),CO=(K().s[52]++,{class:"card-header"}),eO=(K().s[53]++,{class:"card-header-title"}),nO=(K().s[54]++,{key:0,class:"icon has-text-danger mr-2",title:"Pinned room"}),tO=(K().s[55]++,b("i",{class:"fa fa-map-pin"},null,-1)),iO=(K().s[56]++,[tO]),sO=(K().s[57]++,{key:1,class:"has-text-weight-light",title:"Language"}),oO=(K().s[58]++,{class:"px-4 py-3"}),lO=(K().s[59]++,{key:0,class:"icon",title:"This room is password protected"}),aO=(K().s[60]++,b("i",{class:"fa fa-key-modern"},null,-1)),rO=(K().s[61]++,[aO]),cO=(K().s[62]++,{key:1,title:"Occupants"}),uO=(K().s[63]++,b("span",{class:"icon mr-1 ml-2"},[b("i",{class:"fa fa-users"})],-1)),mO=(K().s[64]++,{class:"card-content"}),dO=(K().s[65]++,{class:"media"}),pO=(K().s[66]++,{class:"media-content"}),fO=(K().s[67]++,{class:"title is-5"}),hO=(K().s[68]++,{class:"subtitle is-6"}),gO=(K().s[69]++,{class:"content"}),bO=(K().s[70]++,{class:"card-footer"}),EO=(K().s[71]++,b("span",{class:"icon"},[b("i",{class:"fa fa-sign-in"})],-1)),yO=(K().s[72]++,b("span",null,"Join",-1));function vO(A,C,e,n,t,i){K().f[15]++;const s=(K().s[73]++,AA("avatar")),o=(K().s[74]++,AA("router-link")),l=(K().s[75]++,AA("version"));return K().s[76]++,h(),Q("section",GP,[b("div",UP,[i.displayRoomsList?(K().b[13][0]++,h(),Q("div",QP,[b("div",HP,[b("div",VP,[QA(b("input",{"onUpdate:modelValue":(K().b[14][0]++,C[0]||(K().b[14][1]++,C[0]=a=>(K().f[16]++,K().s[77]++,t.search.text=a))),class:"input",type:"text",name:"room",placeholder:"Search a room",title:"Filter rooms by name or description"},null,512),[[be,t.search.text]]),zP]),b("div",qP,[b("span",WP,[QA(b("select",{"onUpdate:modelValue":(K().b[15][0]++,C[1]||(K().b[15][1]++,C[1]=a=>(K().f[17]++,K().s[78]++,t.search.language=a))),title:"Filter rooms by language"},[YP,(h(!0),Q(hA,null,XA(i.roomsLanguages,a=>(K().f[18]++,K().s[79]++,h(),Q("option",{key:a},sA(a),1))),128))],512),[[Xa,t.search.language]]),JP])])]),b("div",XP,[b("ul",ZP,[(h(!0),Q(hA,null,XA(i.filteredPublicRooms,a=>(K().f[19]++,K().s[80]++,h(),Q("li",{key:a.jid,class:"column"},[b("div",AO,[b("header",CO,[b("span",eO,[a.isPinned?(K().b[16][0]++,h(),Q("span",nO,iO)):(K().b[16][1]++,P("",!0)),a.lang?(K().b[17][0]++,h(),Q("span",sO,"["+sA(a.lang)+"]",1)):(K().b[17][1]++,P("",!0))]),b("span",oO,[a.isPasswordProtected?(K().b[18][0]++,h(),Q("span",lO,rO)):(K().b[18][1]++,P("",!0)),a.occupantsCount?(K().b[19][0]++,h(),Q("span",cO,[uO,b("span",null,sA(a.occupantsCount),1)])):(K().b[19][1]++,P("",!0))])]),b("div",mO,[b("div",dO,[a.hasVCard?(K().b[20][0]++,h(),B(s,{key:0,class:"media-left",jid:a.jid,"display-jid":!1,size:48},null,8,["jid"])):(K().b[20][1]++,P("",!0)),b("div",pO,[b("div",fO,sA(a.name),1),b("div",hO,sA(a.jid),1)])]),b("small",gO,sA(a.description),1)]),b("footer",bO,[S(o,{to:{name:"guestInRoom",params:{jid:a.jid}},class:"card-footer-item",title:"Join the room"},{default:_A(()=>(K().f[20]++,K().s[81]++,[EO,yO])),_:2},1032,["to"])])])]))),128))])]),S(l)])):(K().b[13][1]++,P("",!0))])])}const wO=mC(RP,[["render",vO]]);function SC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/components/GuestChat.vue",C="cc14f26ca289e77f1a50ab2a5a03e7e3fe20a995",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/components/GuestChat.vue",statementMap:{0:{start:{line:3,column:18},end:{line:31,column:1}},1:{start:{line:15,column:21},end:{line:15,column:73}},2:{start:{line:18,column:4},end:{line:20,column:5}},3:{start:{line:19,column:6},end:{line:19,column:72}},4:{start:{line:24,column:4},end:{line:24,column:58}},5:{start:{line:27,column:4},end:{line:29,column:5}},6:{start:{line:28,column:6},end:{line:28,column:66}},7:{start:{line:35,column:19},end:{line:35,column:46}},8:{start:{line:36,column:19},end:{line:36,column:72}},9:{start:{line:39,column:26},end:{line:39,column:51}},10:{start:{line:41,column:2},end:{line:52,column:5}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:15,column:4},end:{line:15,column:5}},loc:{start:{line:15,column:19},end:{line:15,column:75}},line:15},1:{name:"(anonymous_1)",decl:{start:{line:17,column:2},end:{line:17,column:3}},loc:{start:{line:17,column:13},end:{line:21,column:3}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:22,column:2},end:{line:22,column:3}},loc:{start:{line:22,column:13},end:{line:25,column:3}},line:22},3:{name:"(anonymous_3)",decl:{start:{line:26,column:2},end:{line:26,column:3}},loc:{start:{line:26,column:25},end:{line:30,column:3}},line:26},4:{name:"_sfc_render",decl:{start:{line:38,column:9},end:{line:38,column:20}},loc:{start:{line:38,column:68},end:{line:53,column:1}},line:38}},branchMap:{0:{loc:{start:{line:15,column:28},end:{line:15,column:73}},type:"binary-expr",locations:[{start:{line:15,column:28},end:{line:15,column:45}},{start:{line:15,column:49},end:{line:15,column:73}}],line:15},1:{loc:{start:{line:18,column:4},end:{line:20,column:5}},type:"if",locations:[{start:{line:18,column:4},end:{line:20,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:18},2:{loc:{start:{line:27,column:4},end:{line:29,column:5}},type:"if",locations:[{start:{line:27,column:4},end:{line:29,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:27},3:{loc:{start:{line:43,column:6},end:{line:50,column:39}},type:"cond-expr",locations:[{start:{line:44,column:11},end:{line:49,column:30}},{start:{line:50,column:10},end:{line:50,column:39}}],line:43}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,file:null,sources:["/home/runner/work/xmpp-web/xmpp-web/src/components/GuestChat.vue"],names:[],mappings:"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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"cc14f26ca289e77f1a50ab2a5a03e7e3fe20a995"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return SC=function(){return s},s}SC();const BO=(SC().s[0]++,{name:"Guest",components:{Chat:Ba},props:{jid:{type:String,default:null}},computed:{displayChat(){return SC().f[0]++,SC().s[1]++,SC().b[0][0]++,this.jid!==null&&(SC().b[0][1]++,this.$xmpp.nick!==null)}},created(){SC().f[1]++,SC().s[2]++,this.$xmpp.nick===null?(SC().b[1][0]++,SC().s[3]++,this.$router.replace({name:"guest",query:{join:this.jid}})):SC().b[1][1]++},mounted(){SC().f[2]++,SC().s[4]++,document.body.classList.remove("has-navbar-fixed-top")},async beforeUnmount(){SC().f[3]++,SC().s[5]++,this.$xmpp.client?(SC().b[2][0]++,SC().s[6]++,await this.$xmpp.client.leaveRoom(this.jid,this.$xmpp.nick)):SC().b[2][1]++}}),SO=(SC().s[7]++,{class:"is-full-height"}),kO=(SC().s[8]++,{class:"is-justify-content-center is-full-height"});function _O(A,C,e,n,t,i){SC().f[4]++;const s=(SC().s[9]++,AA("chat"));return SC().s[10]++,h(),Q("section",SO,[b("div",kO,[i.displayChat?(SC().b[3][0]++,h(),B(s,{key:0,jid:e.jid,"is-room":!0,class:"is-flex-grow-1"},null,8,["jid"])):(SC().b[3][1]++,P("",!0))])])}const xO=mC(BO,[["render",_O]]);function oC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/router/index.js",C="d8c1752bad67d8482b48833fb211ee9feec4d362",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/router/index.js",statementMap:{0:{start:{line:14,column:15},end:{line:20,column:1}},1:{start:{line:22,column:0},end:{line:116,column:1}},2:{start:{line:24,column:2},end:{line:115,column:3}},3:{start:{line:78,column:29},end:{line:81,column:11}},4:{start:{line:118,column:0},end:{line:171,column:1}},5:{start:{line:120,column:2},end:{line:154,column:3}},6:{start:{line:126,column:25},end:{line:128,column:7}},7:{start:{line:147,column:25},end:{line:149,column:7}},8:{start:{line:155,column:2},end:{line:170,column:3}},9:{start:{line:157,column:4},end:{line:169,column:5}},10:{start:{line:162,column:27},end:{line:164,column:9}},11:{start:{line:173,column:15},end:{line:176,column:2}},12:{start:{line:178,column:0},end:{line:189,column:2}},13:{start:{line:180,column:2},end:{line:188,column:3}},14:{start:{line:180,column:32},end:{line:180,column:56}},15:{start:{line:181,column:4},end:{line:187,column:5}},16:{start:{line:183,column:6},end:{line:186,column:7}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:78,column:17},end:{line:78,column:18}},loc:{start:{line:78,column:29},end:{line:81,column:11}},line:78},1:{name:"(anonymous_1)",decl:{start:{line:126,column:13},end:{line:126,column:14}},loc:{start:{line:126,column:25},end:{line:128,column:7}},line:126},2:{name:"(anonymous_2)",decl:{start:{line:147,column:13},end:{line:147,column:14}},loc:{start:{line:147,column:25},end:{line:149,column:7}},line:147},3:{name:"(anonymous_3)",decl:{start:{line:162,column:15},end:{line:162,column:16}},loc:{start:{line:162,column:27},end:{line:164,column:9}},line:162},4:{name:"(anonymous_4)",decl:{start:{line:178,column:18},end:{line:178,column:19}},loc:{start:{line:178,column:26},end:{line:189,column:1}},line:178},5:{name:"(anonymous_5)",decl:{start:{line:180,column:22},end:{line:180,column:23}},loc:{start:{line:180,column:32},end:{line:180,column:56}},line:180}},branchMap:{0:{loc:{start:{line:22,column:0},end:{line:116,column:1}},type:"if",locations:[{start:{line:22,column:0},end:{line:116,column:1}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:22},1:{loc:{start:{line:118,column:0},end:{line:171,column:1}},type:"if",locations:[{start:{line:118,column:0},end:{line:171,column:1}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:118},2:{loc:{start:{line:155,column:2},end:{line:170,column:3}},type:"if",locations:[{start:{line:155,column:2},end:{line:170,column:3}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:155},3:{loc:{start:{line:180,column:2},end:{line:188,column:3}},type:"if",locations:[{start:{line:180,column:2},end:{line:188,column:3}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:180},4:{loc:{start:{line:181,column:4},end:{line:187,column:5}},type:"if",locations:[{start:{line:181,column:4},end:{line:187,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:181}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0},f:{0:0,1:0,2:0,3:0,4:0,5:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0]},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/router/index.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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C,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AACH,CAAC;AACD;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACb,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"d8c1752bad67d8482b48833fb211ee9feec4d362"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return oC=function(){return s},s}oC();const Zs=(oC().s[0]++,[{path:"/:pathMatch(.*)*",redirect:{name:"home"}}]);oC().s[1]++;window.config.hasRegisteredAccess?(oC().b[0][0]++,oC().s[2]++,Zs.push({name:"home",path:"/",components:{navbar:m_,default:Rx},props:{default:!0,navbar:!1},meta:{requiresAuth:!0,displayContact:!0},children:[{name:"chat",path:"contacts/:jid",component:Ba,props:!0,meta:{requiresAuth:!0,displayContact:!1}},{name:"public muc",path:"rooms/discover",component:oj,meta:{requiresAuth:!0,displayContact:!1}},{name:"room creation",path:"rooms/new",component:yj,meta:{requiresAuth:!0,displayContact:!1}},{name:"groupchat",path:"rooms/:jid",component:Ba,props:A=>(oC().f[0]++,oC().s[3]++,{jid:A.params.jid,isRoom:!0}),meta:{requiresAuth:!0,displayContact:!1}},{name:"profile",path:"profile",component:$j,meta:{requiresAuth:!0,displayContact:!1}},{name:"about",path:"about",component:hP,meta:{requiresAuth:!0,displayContact:!1}}]},{name:"login",path:"/login",component:Ax})):oC().b[0][1]++;oC().s[4]++;window.config.hasGuestAccess?(oC().b[1][0]++,oC().s[5]++,Zs.push({name:"guest",path:"/guest",component:Xm,props:A=>(oC().f[1]++,oC().s[6]++,{requestedJid:A.query.join}),meta:{requiresAuth:!1}},{name:"guestRooms",path:"/guest/rooms",component:wO,meta:{requiresAuth:!1}},{name:"guestInRoom",path:"/guest/:jid",component:xO,props:A=>(oC().f[2]++,oC().s[7]++,{jid:A.params.jid}),meta:{requiresAuth:!1}}),oC().s[8]++,window.config.hasRegisteredAccess?oC().b[2][1]++:(oC().b[2][0]++,oC().s[9]++,Zs.push({name:"home",path:"/",component:Xm,props:A=>(oC().f[3]++,oC().s[10]++,{requestedJid:A.query.join}),meta:{requiresAuth:!1}}))):oC().b[1][1]++;const Ff=(oC().s[11]++,Xv({history:_v(),routes:Zs}));oC().s[12]++;Ff.beforeEach(A=>{if(oC().f[4]++,oC().s[13]++,A.matched.some(C=>(oC().f[5]++,oC().s[14]++,C.meta.requiresAuth))){if(oC().b[3][0]++,oC().s[15]++,localStorage.getItem("auth")===null)return oC().b[4][0]++,oC().s[16]++,{name:"login",query:{redirect:A.fullPath}};oC().b[4][1]++}else oC().b[3][1]++});function UC(){var A="/home/runner/work/xmpp-web/xmpp-web/src/main.js",C="6a8d01204a5a83088546ca1cf9be74250edc7db0",e=globalThis,n="__coverage__",t={path:"/home/runner/work/xmpp-web/xmpp-web/src/main.js",statementMap:{0:{start:{line:16,column:0},end:{line:16,column:31}},1:{start:{line:17,column:0},end:{line:17,column:26}},2:{start:{line:19,column:14},end:{line:19,column:27}},3:{start:{line:20,column:12},end:{line:20,column:26}},4:{start:{line:22,column:0},end:{line:22,column:50}},5:{start:{line:23,column:0},end:{line:23,column:46}},6:{start:{line:24,column:0},end:{line:24,column:42}},7:{start:{line:26,column:0},end:{line:28,column:3}},8:{start:{line:27,column:2},end:{line:27,column:26}},9:{start:{line:29,column:0},end:{line:29,column:14}},10:{start:{line:30,column:0},end:{line:30,column:15}},11:{start:{line:32,column:14},end:{line:32,column:24}},12:{start:{line:33,column:0},end:{line:33,column:42}},13:{start:{line:35,column:0},end:{line:35,column:18}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:26,column:10},end:{line:26,column:11}},loc:{start:{line:26,column:16},end:{line:28,column:1}},line:26}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},f:{0:0},b:{},inputSourceMap:{version:3,sources:["/home/runner/work/xmpp-web/xmpp-web/src/main.js"],names:[],mappings:"AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACf;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C;AACA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;"},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6a8d01204a5a83088546ca1cf9be74250edc7db0"},i=e[n]||(e[n]={});(!i[A]||i[A].hash!==C)&&(i[A]=t);var s=i[A];return UC=function(){return s},s}UC();UC().s[0]++;W6({immediate:!0});UC().s[1]++;vr.extend(NE);const Tf=(UC().s[2]++,d2()),zn=(UC().s[3]++,yp(F2));UC().s[4]++;zn.use(OE,{...LE,iconPack:"fa"});UC().s[5]++;zn.config.globalProperties.$xmpp=H6;UC().s[6]++;zn.config.globalProperties.$dayjs=vr;UC().s[7]++;Tf.use(()=>(UC().f[0]++,UC().s[8]++,{$dayjs:vr}));UC().s[9]++;zn.use(Tf);UC().s[10]++;zn.use(Ff);const jO=(UC().s[11]++,WC());UC().s[12]++;zn.config.globalProperties.$store=jO;UC().s[13]++;zn.mount("#body"); diff --git a/classes/assets/index-375456c0.js.map b/classes/assets/index-375456c0.js.map deleted file mode 100644 index 2539c7f..0000000 --- a/classes/assets/index-375456c0.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":"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,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC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CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,KAAM,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,aAAa,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,uBAAuB,EAA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U,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,WAAW,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,UAAU,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,YAAY,EAAG,CAAC,EAAG,CAA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QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,GAAI,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,OAAO,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,EAAG,CAAC,EAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAG,CAAC,KAAM,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,EAAG,SAAS,EAAG,CAAC,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","names":["makeMap","str","expectsLowerCase","set","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","key","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","toNumber","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","effectScope","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","activeEffect","ReactiveEffect","trigger","scheduler","pauseTracking","dep","triggerComputed","resetTracking","lastShouldTrack","shouldTrack","lastEffect","preCleanupEffect","postCleanupEffect","computed","effect2","cleanupDepEffect","trackId","pauseScheduleStack","trackStack","pauseScheduling","resetScheduling","queueEffectSchedulers","trackEffect","debuggerEventExtraInfo","oldDep","triggerEffects","dirtyLevel","tracking","createDep","cleanup","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","track","target","type","depsMap","newValue","oldTarget","deps","newLength","key2","getDepFromReactive","object","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","toRaw","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","isShallow","hadKey","result","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","shallow","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","ComputedRefImpl","getter","_setter","isSSR","triggerRefValue","self","trackRefValue","getterOrOptions","debugOptions","setter","onlyGetter","ref2","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","source","defaultValue","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","comparator","diff","check","emit","event","rawArgs","props","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","cached","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","options","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","pushScopeId","popScopeId","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","component","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","updateHOCHostEl","parent","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","currentInstance","selfName","getComponentName","resolve","registry","isSuspense","queueEffectWithSuspense","suspense","ssrContextKey","useSSRContext","inject","INITIAL_WATCHER_VALUE","watch","doWatch","immediate","deep","flush","once","onTrack","onTrigger","_cb","unwatch","reactiveGetter","source2","traverse","forceTrigger","isMultiSource","s","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","queuePostRenderEffect","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","path","segments","depth","withDirectives","directives","getExposeProxy","bindings","dir","modifiers","invokeDirectiveHook","oldBindings","binding","hook","leaveCbKey","enterCbKey","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","BaseTransitionImpl","getCurrentInstance","children","getTransitionRawChildren","child","rawProps","mode","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","isSameVNodeType","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","leavingVNodes","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","callHook","callAsyncHook","hook2","hooks","leavingVNode","afterHook","cancelHook","called","cancelled","vnode2","isKeepAlive","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","isAsyncWrapper","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","current","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onUpdated","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","index","createSlots","dynamicSlots","slot","j","renderSlot","fallback","noSlotted","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","isVNode","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","normalizePropsOrEmits","applyOptions","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","namespace","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","isStateful","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","unmountChildren","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","currentNamespace","allowed","ch1","ch2","len","arrI","subComponent","isTeleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","node","selector","content","before","wrapper","TRANSITION","ANIMATION","vtcKey","Transition","resolveTransitionProps","DOMTransitionPropsValidators","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","_vtc","endId","expectedType","explicitTimeout","resolveIfNotStale","timeout","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","positionMap","newPositionMap","moveCbKey","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","cssTransitionProps","removeMode","TransitionGroup","oldPos","newPos","dx","dy","clone","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","vModelText","lazy","castToNumber","domValue","elValue","vModelCheckbox","modelValue","elementValue","getValue","checked","assign","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","o","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","vModelDynamic","callModelHook","resolveDynamicModel","tagName","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","isVue2","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","createPinia","_p","toBeInstalled","noop","addSubscription","subscriptions","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","mergeReactiveObjects","patchToApply","subPatch","targetValue","skipHydrateSymbol","shouldHydrate","isComputed","createOptionsStore","hot","actions","getters","initialState","store","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","isSyncListening","actionSubscriptions","debuggerEvents","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","newState","$state","$dispose","wrapAction","action","afterCallbackList","onErrorCallbackList","after","onError","error","partialStore","stopWatcher","setupStore","actionValue","extender","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","mapState","keysOrMapper","reduced","storeKey","mapActions","mapWritableState","isClient","resolveUnref","identity","tryOnScopeDispose","createEventHook","off","offFn","param","tryOnMounted","sync","unrefElement","elRef","plain","defaultWindow","defaultDocument","useEventListener","events","listeners","cleanups","listener","options2","stopWatch","stop","useSupported","isSupported","_global","globalKey","useDocumentVisibility","document","visibility","SwipeDirection","SwipeDirection2","__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","_TransitionPresets","useWebNotification","defaultOptions","window","notification","requestPermission","onClick","onShow","onClose","show","overrides","close","cov_ua65ispp6","actualCoverage","showNotification","getDefaultState","f","activeChat","messages","contacts","groups","joinedRooms","knownRooms","roomsOccupants","httpFileUploadMaxSize","isOnline","presence","hasNotificationsEnabled","isSendingTypingChatStates","isSendingInactiveChatStates","hasNetwork","publicRooms","filter","room","isPublic","bookmarkedRooms","isBookmarked","getRoom","jid","find","some","isJoined","joinedRoomJid","getRoomOccupants","roomOccupants","roomJid","occupants","getRoomSubject","subject","getChatState","isRoom","occupant","chatState","contact","setNetworkStatus","setOnline","setPresence","setActiveChat","payload","resetUnreadCount","collection","copy","slice","findIndex","unreadCount","setRoster","forEach","group","includes","push","setKnownRoom","rooms","knownRoom","setRoomSubject","author","setJoinedRoom","knownRoomJid","removeJoinedRoom","setContactPresence","contactPresence","status","storeMessage","message","knownMessage","stanzaId","body","delay","links","dayjs","$dayjs","sort","isAfter","addUnreadCount","bare","undefined","renotify","updateMessage","setMessageStatus","code","setHttpFileUploadMaxSize","setRoomOccupant","roomIndex","occupantIndex","removeRoomOccupant","splice","setChatState","full","setNotificationStatus","title","config","icon","lang","defaultState","Object","cov_1zjx4v93sq","_sfc_main","notifyConnectivity","_hoisted_1","class","_openBlock","_createElementBlock","_component_router_view","signPoly","sign","hasFlag","mod","bound","min","max","getValueByPath","indexOf","array","mergeFn","isDeep","replaced","merge","isMobile","isWebKit","removeElement","createAbsoluteElement","escapeRegExpChars","toCssDimension","width","blankIfUndefined","defaultIfUndefined","getMonthNames","locale","format","dates","dtf","getWeekdayNames","firstDayOfWeek","matchWithGroups","pattern","matches","groupMatches","acc","curr","debounce","func","wait","later","callNow","endsWith","suffix","isDefined","removeDiacriticsFromString","setOptions","getOptions","VueInstance","setVueInstance","Vue","Programmatic","_defaultSuffixProcessor","input","_getContext","vm","BaseComponentMixin","field","override","overrideClass","globalTransformClasses","localTransformClasses","globalClass","currentClass","appliedClasses","oruga","addProgrammatic","property","useProgrammatic","registerPlugin","registerComponent","registerComponentProgrammatic","mdiIcons","faIcons","faIconPrefix","getIcons","icons","customIconPacks","script","newVariant","_ctx","_cache","$props","$setup","$data","$options","FormElementMixin","variant","script$1","scrollHeight","_component_o_icon","$event","newData","items","element","whiteList","active","currentValue","hoveredValue","closeDropdown","computedData","nonEmptyElements","origin","triggerClick","list","footerHeight","rect","direction","sum","visMin","visMax","dropdownMenu","top","left","_hoisted_2","_component_o_input","groupindex","index$H","index$1$1","sorted","Sorted","ProviderParentMixin","itemName","flags","ids","it","sortedIds","i1","i2","sorted$1","optional","Sorted$1","InjectedChildMixin","parentItemName","script$2","breakpoint","onlyMove","dragEndX","signCheck","results","render$1","index$2$1","CheckRadioMixin","index$3$1","index$4$1","MatchMediaMixin","defaultWidth","findFocusable","programmatic","onKeyDown","bind","focusable","focusableProg","firstFocusable","lastFocusable","unbind","dropdown","parentNode","_directive_trap_focus","first","renderedNode","_component_o_field_body","day","refName","year","dow","doy","fwd","weekOffset","weekOffsetNext","mom","week","resWeek","resYear","validity","enabledDate","disabledDate","dayOfWeek","dayEvents","dateMatch","dateOne","dateTwo","multiple","date","dateWithin","weekDay","preventDefault","inc","nextDay","visibleDayNames","currentDayName","monthEvents","month","weeksInThisMonth","startingDay","newWeek","multipleSelectedDates","selectedDate","startingDate","thisMonth","thisWeek","daysAgo","daysForward","focusedDate","monthDays","focused","stripped","timed","weekDate","_component_o_datepicker_table_row","DatepickerMixin","yearEvents","months","dateMultipleSelected","nextMonth","render$2","defaultDateFormatter","defaultDateParser","formatRegex","part","dateGroups","script$3","script$4","script$5","script$6","script$7","script$8","script$9","dateFormatter","dateParser","dateCreator","minMonth","maxMonth","latestYear","earliestYear","arrayOfYears","dateToCheck","currentDate","isActive","render$3","_component_o_select","_component_o_datepicker_table","_component_o_datepicker_month","_component_o_dropdown_item","_component_o_dropdown","index$5$1","AM","PM","HOUR_FORMAT_24","HOUR_FORMAT_12","defaultTimeFormatter","defaultTimeParser","timeString","timeGroups","am","dateString12","time","hours","minutes","seconds","TimepickerMixin","timeFormatter","timeParser","timeCreator","parts","literal","dayPeriod","numberOfHours","label","meridiens","hour","disabled","minHours","noMinutesAvailable","minute","maxHours","minMinutes","maxMinutes","second","minSeconds","maxSeconds","meridienString","offset","prependZero","meridien","datetimeCreator","datetimeParser","dayPeriods","datetimeGroups","datetimeFormatter","_component_o_timepicker","_component_o_datepicker","index$6$1","index$7$1","index$8$1","index$9$1","index$a$1","sep","itemToAdd","reg","_component_o_autocomplete","index$b$1","HTMLElement","File","InstanceRegistry","entry","localVueInstance","instances","LoadingProgrammatic","params","propsData","p1","p2","index$c$1","excludedItems","_hoisted_1$1","index$d$1","savedScrollTop","ModalProgrammatic","newParams","defaultParam","index$e$1","MessageMixin","NoticeMixin","classes","position","_component_o_notification","NotificationProgrammatic","index$f","firstItem","right","pages","num","pageNumber","isCurrent","_hoisted_3","_hoisted_4","_component_o_pagination_button","page","index$g","index$h","index$i","height","index$j","open","index$k","opposites","intersectionArea","bottom","anchors","defaultPosition","bestPosition","viewRect","viewport","triggerAnchors","contentRect","contentAnchors","contentRectAtAnchor","pos","triggerAnchor","contentAnchor","defaultOpposite","crossPosition","crossOpposite","positions","maxOverlap","overlap","tooltip","tooltipEl","percent","stepLength","_component_o_tooltip","precisions","decimal","smallValue","largeValue","sliderOffsetLeft","diffFirst","diffSecond","_component_o_slider_tick","_component_o_slider_thumb","index$l","SlotComponent","TabbedMixin","cmp","startingIndex","forward","newId","oldTab","TabbedChildMixin","parentCmp","oldIndex","nextItem","prevItem","childItem","stepItem","_component_o_button","index$m","index$n","column","_component_o_field","_component_o_pagination","script$a","script$b","currentPage","perPage","validVisibleData","row","currentVisibleRow","count","newTotal","rows","expandedRows","isAsc","newA","newB","updatingData","selected","isAllChecked","currentRow","lastIndex","lastCheckedRowIndex","subset","shouldCheck","re","footer","sortField","sortDirection","sortColumn","eventName","col","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_component_o_table_mobile_sort","_component_o_table_pagination","_component_o_checkbox","_component_o_slot_component","_component_o_loading","colindex","index$o","index$p","index$q","index$r","newValues","file","focus","types","index$s","plugins","index$1","index$2","index$3","index$4","index$5","index$6","index$7","index$8","index$9","index$a","index$b","index$c","index$d","index$e","Oruga","defaultConfig","componentKey","Oruga$1","bulmaConfig","module","this","$","y","M","D","S","w","O","TimeoutError_1","ms","promise","TimeoutError","require$$0","require$$1","promiseDelay","cancelDelay","EE","rejectEvent","reject","timeoutId","onEvent","reason","R","ReflectApply","ReflectOwnKeys","ProcessEmitWarning","warning","NumberIsNaN","EventEmitter","eventsModule","defaultMaxListeners","checkListener","_getMaxListeners","that","doError","er","arrayClone","_addListener","onceWrapper","_onceWrap","wrapped","originalListener","spliceOne","_listeners","unwrap","evlistener","unwrapListeners","emitter","listenerCount","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","wrapListener","Deferred","require$$2","require$$3","require$$4","require$$5","escaping","local","JID$4","JID","domain","resource","hint","unescape","other","escape","JID_1","parse","resourceStart","atStart","jidModule","_escape","escapeXMLTable","escapeXMLReplace","match","unescapeXMLTable","unescapeXMLReplace","escapeXML","unescapeXML","previous","escapeXMLText","unescapeXMLText","Element$5","Element","xmlns","prefix","attr","namespaces","recursive","nodes","writer","Element_1","append","createElement","createElement_1","STATE_TEXT","STATE_IGNORE_COMMENT","STATE_IGNORE_INSTRUCTION","STATE_TAG_NAME","STATE_TAG","STATE_ATTR_NAME","STATE_ATTR_EQ","STATE_ATTR_QUOT","STATE_ATTR_VALUE","STATE_CDATA","STATE_IGNORE_CDATA","SaxLtx","remainder","parseRemainder","endTag","selfClosing","attrQuote","attrQuoteChar","recordStart","attrName","endRecording","recorded","lt","quot","endcomment","endCDATA","cData","prevFirst","prevSecond","ltx","XMLError_1","LtxParser","XMLError","parser","cursor","Parser","Parser_1","xml","condition","application","third","XMPPError","StreamError_1","StreamError","parseURI","URI","port","hostname","protocol","parseHost","host","parseService","service","NS_STREAM","NS_JABBER_STREAM","socket","dirty","socketListeners","isStreamError","promiseOnline","headerElement","fragment","string","Connection","connection","Transport","Client","Client_1","clientCore","getDomain","Reconnect","entity","_timeout","reconnect","__viteBrowserExternal","WS","WebSocket","global","CODE","url","Socket_1","Socket","FramedParser_1","FramedParser","NS_FRAMING","elements","ConnectionWebSocket","Connection_1","websocket","koaCompose","compose","middleware","dispatch","Context_1","stanza","Context","IncomingContext_1","OutgoingContext_1","IncomingContext","OutgoingContext","errorHandler","reply","outgoing","incomingListener","outgoingListener","route","streamFeatures","use","feature","StanzaError_1","StanzaError","xid","timeoutPromise","isReply","IQCaller","deferred","caller","iqCaller","NS_STANZA","isQuery","isValidQuery","buildReply","buildReplyResult","buildReplyError","buildError","iqHandler","ns","callee","isSecure","uri","altConnections","secure","fetch","compareAltConnections","link","http","dns","resolveModule","records","endpoints","fetchURIs","record","filterSupportedURIs","uris","fallbackConnect","resolve_1","_connect","browser","SASLError_1","SASLError","factory","exports","Factory","mech","mechs","jlen","encode","decode","SASLFactory","NS","getMechanismNames","features","authenticate","SASL","mechname","credentials","creds","resp","sasl","offered","makeBindElement","resourceBinding","sessionEstablishment","enable","resume","nonza","previd","response","streamManagement","address","sm","promiseEnable","Mechanism","cred","chal","saslAnonymous","saslPlain","_reconnect","_websocket","_middleware","_streamFeatures","_iqCaller","require$$6","_iqCallee","require$$7","_resolve","require$$8","_sasl","require$$9","_resourceBinding","require$$10","_sessionEstablishment","require$$11","_streamManagement","require$$12","anonymous","require$$13","require$$14","client","username","password","iqCallee","mechanisms","xml_1","jid_1","client_1","nanoid","byte","cov_2fpqosn6tm","MUC_USER","MUC_OWNER","DISCO_ITEMS","MESSAGE_RETRACTED","discoInfoCache","constructor","xmppClient","parseJid","_jid","createJid","getLocal","toString","parseStanza","carbon","getChild","forwarded","isMuc","isSelf","mucPresence","mucCreated","parseMessage","stanzaIdNode","extensions","extension","getChildText","chat","fasten","moderation","retracted","by","reasonNode","messageRetracted","subjectNode","getText","subjectChange","messageId","errorNode","messageSentError","length","chatStateNodes","connect","authenticated","disconnect","on","callbacks","getRoster","ver","rosterMessage","presenceMessage","send","CHAT_STATE","OUT_OF_BAND_DATA","sentMessage","messageSent","carbonsMessage","CARBONS","bookmarkRequest","PRIVATE","BOOKMARKS","bookmarks","q","conference","bookmark","nick","setBookmarks","setBookmarkRequest","autojoin","addBookmark","removeBookmark","discoInfoMessage","DISCO_INFO","identities","x","discoInfo","getDiscoItems","discoItemsMessage","maxSize","discoItems","getMaxFileSize","console","fields","HTTP_UPLOAD","maxFileSizeField","request","slotRequestMessage","upload","download","getVCard","getVCardMessage","VCARD","attributes","attribute","dataType","setVCard","vCard","binVal","PHOTO","newVCard","handledAttributes","setVCardMessage","queryArchiveMessage","MAM","FORM","var","RSM","paging","opts","roomPresenceMessage","MUC","timeoutDuration","clearTimeout","roomJoinAck","getChildren","fromElement","joinPromise","getRoomConfig","getRoomConfigMessage","form","instructions","description","setRoomConfigMessage","defaultAvatar","cov_20528cax6","transports","defaultDomain","defaultMuc","connectTimeout","defaultLevel","Array","prototype","call","arguments","warn","Error","xmppSocket","fullJid","isAnonymous","create","transportsUser","jidParts","split","XMPP","Promise","setTimeout","connectPromise","localStorage","setItem","$store","listen","catch","race","info","then","rosterResult","sendPresence","rosterError","getDiscoInfo","discoInfoError","enableCarbons","getBookmarks","mucBookmarks","setRoomAttributes","joinRoom","muc","mucDiscoInfoResult","getUploadService","UploadServiceResult","receivedMessage","sendUrl","sendMessage","sendChatState","occupantsCount","isPersistent","isPasswordProtected","isMembersOnly","isModerated","hasVCard","parseInt","isNaN","getJidAvatar","sessionStorage","getItem","isDefault","avatar","mediaType","getProfile","map","reduce","updateProfile","profile","searchHistory","history","_room","isSuccess","getRoomError","getPublicMuc","serverDiscoItemsResult","serverDiscoItem","serviceDiscoInfoResult","MucDiscoItemsResult","MucDiscoItem","getUploadSlot","uploadService","uploadRequest","bookmarkRoom","isAdd","createRoom","setRoomConfig","configureRoom","setNick","registerSW","onNeedRefresh","onOfflineReady","onRegistered","onRegisteredSW","onRegisterError","wb","registerPromise","updateServiceWorker","_reloadPage","Workbox","__vitePreload","isBrowser","isESModule","applyToParams","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","location","currentLocation","query","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","teardown","beforeUnloadListener","destroy","buildState","back","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","isRouteName","START_LOCATION_NORMALIZED","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","token","subSegmentScore","repeatable","regexp","subPattern","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","matched","parentMatcher","mergeMetaFields","normalizeRecordProps","propsObject","meta","defaults","partialOptions","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","handlers","guardToPromiseFn","runWithContext","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","readyHandlers","errorListeners","ready","isReady","scrollBehavior","started","reactiveRoute","unmountApp","recordFrom","recordTo","cov_1vwaa21ipm","required","default","displayJid","String","presenceClass","letter","charCodeAt","angle","_normalizeClass","_normalizeStyle","src","Mime","typeMap","ext","hasPath","Mime_1","standard","mime","cov_1y5ba368ga","isImage","isAudio","isVideo","displayModal","contentType","_withScopeId","_createElementVNode","controls","_toDisplayString","alt","decodeDataHtml","decodeDataXml","decodeMap","codePoint","output","replaceCodePoint","decodeCodePoint","__createBinding","k2","desc","__setModuleDefault","__importStar","__importDefault","decode_data_html_js_1","decode_data_xml_js_1","decode_codepoint_js_1","decode_codepoint_js_2","CharCodes","TO_LOWER_BIT","BinTrieFlags","isNumber","isHexadecimalCharacter","isAsciiAlphaNumeric","isEntityInAttributeInvalidEnd","EntityDecoderState","DecodingMode","EntityDecoder","decodeTree","emitCodePoint","errors","decodeMode","digitCount","startIdx","lastCp","expectedLength","valueLength","determineBranch","_b","consumed","getDecoder","decoder","nodeIdx","branchCount","jumpOffset","lo","hi","mid","midVal","htmlDecoder","xmlDecoder","decodeHTML","decodeHTMLAttribute","decodeHTMLStrict","decodeXML","decode_js_1","State","isWhitespace","isEndOfTagSection","isASCIIAlpha","isHexDigit","QuoteType","Sequences","Tokenizer","cbs","xmlMode","_c","decodeEntities","chunk","isEnd","isMatch","endOfText","actualIndex","sequence","lower","quote","masked","entityStart","strict","numberStart","endIndex","cp","Tokenizer_js_1","formTags","pTag","tableSectionTags","ddtTags","rtpTags","openImpliesClose","voidElements","foreignContextElements","htmlIntegrationElements","reNameEnd","_d","_e","impliesClose","isImplied","_f","isOpenImplied","_g","_h","_j","_k","ElementType","isTag","elem","__extends","extendStatics","__","__assign","domelementtype_1","Node","cloneNode","DataNode","_super","_this","ProcessingInstruction","NodeWithChildren","CDATA","Document","attribs","isCDATA","isText","isComment","isDirective","isDocument","hasChildren","cloneChildren","clone_1","clone_2","clone_3","instruction","childs","__exportStar","node_js_1","defaultOpts","DomHandler","elementCB","lastNode","previousSibling","encodeHtml","restoreDiff","xmlCodeMap","encodeXML","lastIdx","getEscaper","regex","encode_html_js_1","escape_js_1","htmlReplacer","encodeHTML","encodeHTMLTrieRe","encodeNonAsciiHTML","regExp","nextChar","encode_js_1","EntityLevel","EncodingMode","level","decodeStrict","escape_js_2","encode_js_2","decode_js_2","foreignNames","lib","entities_1","foreignNames_js_1","unencodedElements","replaceQuotes","formatAttributes","singleTag","renderNode","renderDirective","renderComment","renderCdata","renderTag","renderText","foreignModeIntegrationPoints","foreignElements","domhandler_1","dom_serializer_1","getOuterHTML","getInnerHTML","textContent","innerText","traversal","getParent","getSiblings","siblings","getAttributeValue","hasAttrib","getName","nextElementSibling","prevElementSibling","manipulation","childsIndex","replaceElement","replacement","appendChild","sibling","currNext","prependChild","querying","test","recurse","limit","nodeStack","indexStack","findOneChild","findOne","existsOne","findAll","legacy","querying_js_1","Checks","getAttribCheck","attrib","combineFuncs","compileTest","funcs","testElement","getElements","getElementById","getElementsByTagName","getElementsByTagType","removeSubsets","ancestor","DocumentPosition","compareDocumentPosition","nodeA","nodeB","aParents","bParents","maxIdx","sharedParent","aSibling","bSibling","uniqueSort","relative","feeds","stringify_js_1","legacy_js_1","getFeed","feedRoot","getOneElement","isValidFeed","getAtomFeed","getRssFeed","feed","getMediaElements","addConditionally","pubDate","MEDIA_KEYS_STRING","MEDIA_KEYS_INT","where","media","_i","MEDIA_KEYS_STRING_1","MEDIA_KEYS_INT_1","Parser_js_1","Parser_js_2","domhandler_2","parseDocument","parseDOM","createDomStream","elementCallback","domutils_1","domutils_2","parseFeedDefaultOptions","parseFeed","escapeStringRegexp","isPlainObject_1","prot","isMergeableObject","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","REACT_ELEMENT_TYPE","emptyTarget","cloneUnlessOtherwiseSpecified","deepmerge","defaultArrayMerge","getMergeFunction","customMerge","getEnumerableOwnPropertySymbols","symbol","getKeys","propertyIsOnObject","propertyIsUnsafe","mergeObject","destination","sourceIsArray","sourceAndTargetTypesMatch","deepmerge_1","cjs","isSpace","collectCharacters","regEx","chars","inputLength","regexLeadingSpaces","regexLeadingCommasOrSpaces","regexLeadingNotSpaces","regexTrailingCommas","regexNonNegativeInteger","regexFloatingPoint","descriptors","currentDescriptor","candidates","parseDescriptors","tokenize","pError","candidate","lastChar","intVal","floatVal","picocolors_browserModule","pico","terminalHighlight","CssSyntaxError","line","color","css","lines","maxWidth","mark","aside","bold","gray","red","gutter","spacing","cssSyntaxError","symbols","DEFAULT_RAW","Stringifier$2","builder","semicolon","detect","buf","indent","step","between","own","stringifier","Stringifier","stringify_1","isClean","my","Node$4","keepBetween","stringRepresentation","defaultType","foundSelf","inputs","fixed","emitInputs","inputsNextIndex","inputId","declaration","Declaration","urlAlphabet","customAlphabet","alphabet","defaultSize","nonSecure","SourceMapConsumer","SourceMapGenerator","existsSync","readFileSync","dirname","join","fromBase64","PreviousMap$2","baseCharsetUri","baseUri","charsetUri","encoding","sourceMapString","comments","prevPath","previousMap","PreviousMap","fileURLToPath","pathToFileURL","isAbsolute","fromOffsetCache","sourceMapAvailable","pathAvailable","Input$4","endLine","endColumn","lastLine","lineToIndex","prevIndex","consumer","fromUrl","json","Input","MapGenerator$2","cssString","eol","noSource","mapping","annotation","already","fileURL","mapGenerator","MapGenerator","comment","Rule","AtRule","Root","cleanSource","markDirtyUp","Container","iterator","exist","existIndex","sample","decl","dependant","LazyResult","Processor","Warning$2","range","Warning","Result$3","processor","Result","SINGLE_QUOTE","DOUBLE_QUOTE","BACKSLASH","SLASH","NEWLINE","SPACE","FEED","TAB","CR","OPEN_SQUARE","CLOSE_SQUARE","OPEN_PARENTHESES","CLOSE_PARENTHESES","OPEN_CURLY","CLOSE_CURLY","SEMICOLON","ASTERISK","COLON","AT","RE_AT_END","RE_WORD_END","RE_BAD_BRACKET","RE_HEX_ESCAPE","ignore","escaped","escapePos","currentToken","returned","unclosed","what","endOfFile","nextToken","ignoreUnclosed","controlChar","atRule","spaces","separators","inQuote","prevQuote","list_1","rule","tokenizer","SAFE_COMMENT_NEIGHBOR","findLastWithPosition","Parser$1","shift","brackets","colon","founded","customProperty","firstSpaces","bracket","clean","all","lastTokenType","parse_1","TYPE_TO_CLASS_NAME","PLUGIN_PROPS","NOT_VISITORS","CHILDREN","getEvents","toStack","cleanMarks","postcss","LazyResult$2","onRejected","onFinally","stack","visitor","roots","subRoot","onFulfilled","visitors","visit","lazyResult","NoWorkResult$1","generatedCSS","generatedMap","noWorkResult","NoWorkResult","Processor$1","fromJSON","ownInputs","inputHydrated","fromJSON_1","require$$15","require$$16","require$$17","initializer","warningPrinted","creator","transformer","processOpts","pluginOpts","postcss_1","htmlparser","parseSrcset","postcssParse","mediaTags","vulnerableTags","each","isEmptyObject","stringifySrcset","parsedSrcset","sanitizeHtml_1","sanitizeHtml","VALID_HTML_ATTRIBUTE_NAME","html","_recursing","tempResult","Frame","parentFrame","htmlParserDefaults","tagAllowed","nonTextTagsArray","allowedAttributesMap","allowedAttributesGlobMap","globRegex","allowedClassesMap","allowedClassesGlobMap","allowedClassesRegexMap","transformTagsMap","transformTagsAll","transform","transFun","skipMap","transformMap","skipText","skipTextDepth","addedText","initializeState","frame","skip","hasText","transformedTag","passedAllowedAttributesMapCheck","splitStrArray","naughtyHref","parsed","parseUrl","allowedHostname","allowedDomain","allowedSpecificClasses","allowedWildcardClasses","allowedSpecificClassesGlob","allowedSpecificClassesRegex","allowedWildcardClassesGlob","allowedClassesGlobs","filterClasses","abstractSyntaxTree","filteredAST","filterCss","stringifyStyleAttributes","escapeHtml","lastFrame","firstIndex","scheme","allowedStyles","astRules","selectedRule","filterDeclarations","extractedAttributes","attrObject","allowedDeclarationsList","attributeObject","regularExpression","allowedGlobs","clss","glob","newTagName","newAttribs","cov_102z2i6or","MessageLink","displayNick","isStylingDisabled","allowedTags","disallowedTagsMode","codeBlockEndLine","testedLine","relativeBlockLineEnd","codes","lineTemp","statusCode","innerHTML","_createCommentVNode","_Fragment","_renderList","_createBlock","_component_message_link","datetime","cov_2695nbr9rb","prompt","hasIcon","hasCancelButton","iconClass","confirmText","cancelText","promptValue","validate","validPrompt","_withDirectives","autofocus","_vModelDynamic","_hoisted_13","_hoisted_14","_hoisted_15","cov_1p43o2fuyf","getInviteLink","trapFocus","Modal","cov_bbxat0389","cov_ta5x04mxo","isLoading","$emit","_component_o_switch","_component_o_radio","_createTextVNode","cov_1113irqeav","openConfigurationModal","hasModalCard","cov_pxto91nfi","firstMessageId","isLoadingPreviousMessages","isDisabled","getPreviousMessages","cov_1991t0lak9","_component_avatar","cov_204wak071t","isDiplayed","roomSubject","gemoji","cov_26yv899wco","isOpen","activeCategory","categories","emoji","getEmojiByCategory","category","sendEmojiPicked","_component_o_tabs","_component_o_tab_item","getPrototypeOf","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","allOwnKeys","findKey","isContextDefined","caseless","assignValue","targetKey","stripBOM","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","toArray","isTypedArray","TypedArray","forEachEntry","pair","matchAll","isHTMLForm","toCamelCase","isRegExp","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","ALPHA","DIGIT","ALPHABET","generateString","isSpecCompliantForm","toJSONObject","reducedValue","isAsyncFn","isThenable","utils$1","AxiosError","utils","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","metaTokens","defaultVisitor","indexes","useBlob","convertValue","exposedHelpers","build","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","platform","toURLEncodedForm","helpers","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","headers","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","deleted","deleteHeader","targets","asStrings","accessors","defineAccessor","mapped","headerValue","AxiosHeaders$1","transformData","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","bytes","timestamps","head","tail","firstSampleTS","chunkLength","now","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","timer","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","requestURL","cookies","expires","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onCanceled","onloadend","responseHeaders","timeoutErrorMessage","cancel","composeSignals","signals","controller","aborted","onabort","unsubscribe","signal","composeSignals$1","streamChunk","chunkSize","readBytes","iterable","trackStream","stream","onProgress","onFinish","fetchProgressDecorator","lengthComputable","isFetchSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","getBodyLength","resolveBodyLength","fetchAdapter","cancelToken","onDownloadProgress","onUploadProgress","withCredentials","fetchOptions","composedSignal","stopTimeout","finished","requestContentLength","_request","contentTypeHeader","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","formatMessage","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","CancelToken$1","spread","isAxiosError","HttpStatusCode","HttpStatusCode$1","createInstance","axios","promises","axios$1","ARRAY","BIT","BITS","BYTE","BYTES","EMPTY","EXPONENT","FUNCTION","IEC","INVALID_NUMBER","INVALID_ROUND","JEDEC","OBJECT","PERIOD","ROUND","SI","SI_KBIT","SI_KBYTE","STRING","ZERO","STRINGS","filesize","bits","pad","round","localeOptions","separator","spacer","fullform","fullforms","exponent","roundingMethod","precision","ceil","neg","roundingFunc","cov_1golfp0ifc","EmojiPicker","Boolean","composingMessage","fileThumbnail","fileIcon","pauseTimeoutId","userJid","handleEnterKey","postFile","onFileChange","alert","startsWith","reader","readAsDataURL","httpUploadSlotResult","removeFile","addEmoji","_withModifiers","onKeydown","_withKeys","_vModelText","onEmojiPicked","onChange","cov_av5syx329","displayLabel","backgroundClass","cov_2fq0jphvi4","isNotificationsSupported","hasNotificationsEnabledSwitch","lsNotificationKey","cov_jr7lkqkzl","lsInactiveChatStatesKey","NotificationsSwitch","isNavbarItem","isRight","isAutoPresence","isSendingTypingChatStatesSwitch","lsNotTypingChatStatesKey","isSendingInactiveChatStatesSwitch","setAutoPresence","sendAutoPresence","_component_presence","role","presenceOption","cov_51ezkztji","InviteGuestButton","BookmarkButton","RoomConfigurationButton","RetrieveHistoryButton","RoomOccupants","RoomSubject","Sendbox","PresenceController","beforeRouteEnter","previousRoute","userNick","messagesWithJid","chatStateClass","hasGuestInviteLink","abortChat","rootClass","onCancel","onPromptAnswered","messagesContainer","scrollTop","_component_router_link","_component_room_occupants","_component_bookmark_button","_component_room_configuration_button","_component_invite_guest_button","_component_retrieve_history_button","_component_presence_controller","_component_room_subject","_TransitionGroup","_component_message","_component_sendbox","cov_2mblhbszzv","bugUrl","bugs","toggleMenu","toggle","rel","_hoisted_17","_hoisted_16","_hoisted_18","cov_2j0uhj60vz","gitVersion","gitBranch","homepage","license","_setBlockTracking","cov_i33xwgjmm","Version","remember","isTransportsUserAllowed","jidPlaceholder","appName","logoSrc","reverse","_component_o_collapse","_hoisted_19","_hoisted_21","_hoisted_22","_hoisted_23","cov_2kqzvf9o6z","isExpanded","roomName","exact","_vShow","cov_k9pktwhvl","isOpened","contactsInGroup","_component_contact","cov_t2vgxs312","displayedRooms","roomPlaceholder","$xmpp","isValidRoomJid","joinRoomByJid","onSubmit","cov_2i1ax5hwyi","hasAuthConfirmed","displayContact","$route","_component_version","cov_7nbbplena","openRoom","getRoomTitle","cov_1aiu9bq03p","hasValidJid","RoomConfiguration","canCancel","cov_18fozdueh5","isLoaded","isProcessing","save","selectAvatar","accept","spdxLicenseList","_imports_0","cov_20bc3k5yog","installed","latest","latestLink","isUpToDate","xmppWeb","getLicense","cov_1pyo2fwfm1","requestedJid","bosh","server","hasValidNick","requestedFullJid","guestDescription","cov_21w1ennor2","language","displayRoomsList","roomsLanguages","Set","filteredPublicRooms","searchText","searchLanguage","isPinned","pinnedRooms","modal","requestedRoom","_vModelSelect","_hoisted_20","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","cov_1zfmlqlprd","Chat","displayChat","_component_chat","cov_23wh9qje0g","hasRegisteredAccess","navbar","Navbar","Home","requiresAuth","RoomsList","RoomCreation","Profile","About","Login","hasGuestAccess","GuestHome","GuestRooms","GuestChat","beforeEach","cov_w1p17yex5","relativeTime","App","iconPack"],"sources":["../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../node_modules/pinia/node_modules/vue-demi/lib/index.mjs","../../node_modules/pinia/dist/pinia.mjs","../../node_modules/@vueuse/shared/index.mjs","../../node_modules/@vueuse/core/index.mjs","../../src/store/index.js","../../src/App.vue","../../node_modules/@oruga-ui/oruga-next/dist/esm/helpers.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/config.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/plugins-ba5e2464.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Icon-a7b85e86.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/FormElementMixin-29581863.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Input-19e906a1.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Autocomplete-a23ad844.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/autocomplete.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Button-c75f7992.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/button.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/InjectedChildMixin-5282461d.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/carousel.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/CheckRadioMixin-f5b57344.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Checkbox-8670724c.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/checkbox.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/collapse.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/MatchMediaMixin-09b141ca.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/trapFocus-dc03669f.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/DropdownItem-c744c4e9.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Field-937b4591.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Select-2cca695f.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Datepicker-42aca091.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/datepicker.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Timepicker-c2f10909.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/datetimepicker.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/dropdown.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/field.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/icon.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/input.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/inputitems.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/ssr-85c76d50.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Loading-20d29914.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/InstanceRegistry-2fdb6ee8.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/loading.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/menu.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/modal.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/notification.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Pagination-02a660a8.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/pagination.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/radio.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/select.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/skeleton.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/sidebar.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/Tooltip-7e114fbb.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/slider.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/SlotComponent-11a269f3.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/TabbedChildMixin-8b374962.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/steps.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/switch.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/table.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/tabs.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/timepicker.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/tooltip.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/upload.mjs","../../node_modules/@oruga-ui/oruga-next/dist/esm/index.mjs","../../node_modules/@oruga-ui/theme-bulma/dist/bulma.mjs","../../node_modules/dayjs/dayjs.min.js","../../node_modules/dayjs/plugin/relativeTime.js","../../node_modules/@xmpp/events/lib/TimeoutError.js","../../node_modules/@xmpp/events/lib/delay.js","../../node_modules/@xmpp/events/lib/timeout.js","../../node_modules/@xmpp/events/lib/promise.js","../../node_modules/events/events.js","../../node_modules/@xmpp/events/lib/Deferred.js","../../node_modules/@xmpp/events/index.js","../../node_modules/@xmpp/jid/lib/escaping.js","../../node_modules/@xmpp/jid/lib/JID.js","../../node_modules/@xmpp/jid/lib/parse.js","../../node_modules/@xmpp/jid/index.js","../../node_modules/ltx/lib/escape.js","../../node_modules/ltx/lib/Element.js","../../node_modules/ltx/lib/createElement.js","../../node_modules/ltx/lib/parsers/ltx.js","../../node_modules/@xmpp/xml/lib/XMLError.js","../../node_modules/@xmpp/xml/lib/Parser.js","../../node_modules/@xmpp/xml/index.js","../../node_modules/@xmpp/error/index.js","../../node_modules/@xmpp/connection/lib/StreamError.js","../../node_modules/@xmpp/connection/lib/util.js","../../node_modules/@xmpp/connection/index.js","../../node_modules/@xmpp/client-core/lib/Client.js","../../node_modules/@xmpp/client-core/index.js","../../node_modules/@xmpp/client/lib/getDomain.js","../../node_modules/@xmpp/reconnect/index.js","../../__vite-browser-external","../../node_modules/@xmpp/websocket/lib/Socket.js","../../node_modules/@xmpp/websocket/lib/FramedParser.js","../../node_modules/@xmpp/websocket/lib/Connection.js","../../node_modules/@xmpp/websocket/index.js","../../node_modules/koa-compose/index.js","../../node_modules/@xmpp/middleware/lib/Context.js","../../node_modules/@xmpp/middleware/lib/IncomingContext.js","../../node_modules/@xmpp/middleware/lib/OutgoingContext.js","../../node_modules/@xmpp/middleware/index.js","../../node_modules/@xmpp/stream-features/route.js","../../node_modules/@xmpp/stream-features/index.js","../../node_modules/@xmpp/id/index.js","../../node_modules/@xmpp/middleware/lib/StanzaError.js","../../node_modules/@xmpp/iq/caller.js","../../node_modules/@xmpp/iq/callee.js","../../node_modules/@xmpp/xml/lib/parse.js","../../node_modules/@xmpp/resolve/lib/alt-connections.js","../../node_modules/@xmpp/resolve/lib/http.js","../../node_modules/@xmpp/resolve/resolve.js","../../node_modules/@xmpp/resolve/index.js","../../node_modules/@xmpp/base64/browser.js","../../node_modules/@xmpp/sasl/lib/SASLError.js","../../node_modules/saslmechanisms/lib/factory.js","../../node_modules/saslmechanisms/main.js","../../node_modules/@xmpp/sasl/index.js","../../node_modules/@xmpp/resource-binding/index.js","../../node_modules/@xmpp/session-establishment/index.js","../../node_modules/@xmpp/stream-management/index.js","../../node_modules/sasl-anonymous/lib/mechanism.js","../../node_modules/sasl-anonymous/main.js","../../node_modules/@xmpp/sasl-anonymous/index.js","../../node_modules/sasl-plain/lib/mechanism.js","../../node_modules/sasl-plain/main.js","../../node_modules/@xmpp/sasl-plain/index.js","../../node_modules/@xmpp/client/browser.js","../../node_modules/nanoid/index.browser.js","../../src/services/XmppClient.js","../../src/assets/defaultAvatar.js","../../src/services/XmppSocket.js","../../../../../../../@vite-plugin-pwa/virtual:pwa-register","../../node_modules/vue-router/dist/vue-router.mjs","../../src/components/Avatar.vue","../../node_modules/mime/Mime.js","../../node_modules/mime/types/standard.js","../../node_modules/mime/types/other.js","../../node_modules/mime/index.js","../../src/components/MessageLink.vue","../../node_modules/entities/lib/generated/decode-data-html.js","../../node_modules/entities/lib/generated/decode-data-xml.js","../../node_modules/entities/lib/decode_codepoint.js","../../node_modules/entities/lib/decode.js","../../node_modules/htmlparser2/lib/Tokenizer.js","../../node_modules/htmlparser2/lib/Parser.js","../../node_modules/domelementtype/lib/index.js","../../node_modules/domhandler/lib/node.js","../../node_modules/domhandler/lib/index.js","../../node_modules/entities/lib/generated/encode-html.js","../../node_modules/entities/lib/escape.js","../../node_modules/entities/lib/encode.js","../../node_modules/entities/lib/index.js","../../node_modules/dom-serializer/lib/foreignNames.js","../../node_modules/dom-serializer/lib/index.js","../../node_modules/domutils/lib/stringify.js","../../node_modules/domutils/lib/traversal.js","../../node_modules/domutils/lib/manipulation.js","../../node_modules/domutils/lib/querying.js","../../node_modules/domutils/lib/legacy.js","../../node_modules/domutils/lib/helpers.js","../../node_modules/domutils/lib/feeds.js","../../node_modules/domutils/lib/index.js","../../node_modules/htmlparser2/lib/index.js","../../node_modules/sanitize-html/node_modules/escape-string-regexp/index.js","../../node_modules/sanitize-html/node_modules/is-plain-object/dist/is-plain-object.js","../../node_modules/deepmerge/dist/cjs.js","../../node_modules/parse-srcset/src/parse-srcset.js","../../node_modules/picocolors/picocolors.browser.js","../../node_modules/postcss/lib/css-syntax-error.js","../../node_modules/postcss/lib/symbols.js","../../node_modules/postcss/lib/stringifier.js","../../node_modules/postcss/lib/stringify.js","../../node_modules/postcss/lib/node.js","../../node_modules/postcss/lib/declaration.js","../../node_modules/postcss/node_modules/nanoid/non-secure/index.cjs","../../node_modules/postcss/lib/previous-map.js","../../node_modules/postcss/lib/input.js","../../node_modules/postcss/lib/map-generator.js","../../node_modules/postcss/lib/comment.js","../../node_modules/postcss/lib/container.js","../../node_modules/postcss/lib/document.js","../../node_modules/postcss/lib/warning.js","../../node_modules/postcss/lib/result.js","../../node_modules/postcss/lib/tokenize.js","../../node_modules/postcss/lib/at-rule.js","../../node_modules/postcss/lib/root.js","../../node_modules/postcss/lib/list.js","../../node_modules/postcss/lib/rule.js","../../node_modules/postcss/lib/parser.js","../../node_modules/postcss/lib/parse.js","../../node_modules/postcss/lib/lazy-result.js","../../node_modules/postcss/lib/no-work-result.js","../../node_modules/postcss/lib/processor.js","../../node_modules/postcss/lib/fromJSON.js","../../node_modules/postcss/lib/postcss.js","../../node_modules/sanitize-html/index.js","../../src/components/Message.vue","../../src/components/Modal.vue","../../src/components/InviteGuestButton.vue","../../src/components/BookmarkButton.vue","../../src/components/RoomConfiguration.vue","../../src/components/RoomConfigurationButton.vue","../../src/components/RetrieveHistoryButton.vue","../../src/components/RoomOccupants.vue","../../src/components/RoomSubject.vue","../../node_modules/gemoji/index.js","../../src/components/EmojiPicker.vue","../../node_modules/axios/lib/helpers/bind.js","../../node_modules/axios/lib/utils.js","../../node_modules/axios/lib/core/AxiosError.js","../../node_modules/axios/lib/helpers/null.js","../../node_modules/axios/lib/helpers/toFormData.js","../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../node_modules/axios/lib/helpers/buildURL.js","../../node_modules/axios/lib/core/InterceptorManager.js","../../node_modules/axios/lib/defaults/transitional.js","../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../node_modules/axios/lib/platform/browser/classes/FormData.js","../../node_modules/axios/lib/platform/browser/classes/Blob.js","../../node_modules/axios/lib/platform/browser/index.js","../../node_modules/axios/lib/platform/common/utils.js","../../node_modules/axios/lib/platform/index.js","../../node_modules/axios/lib/helpers/toURLEncodedForm.js","../../node_modules/axios/lib/helpers/formDataToJSON.js","../../node_modules/axios/lib/defaults/index.js","../../node_modules/axios/lib/helpers/parseHeaders.js","../../node_modules/axios/lib/core/AxiosHeaders.js","../../node_modules/axios/lib/core/transformData.js","../../node_modules/axios/lib/cancel/isCancel.js","../../node_modules/axios/lib/cancel/CanceledError.js","../../node_modules/axios/lib/core/settle.js","../../node_modules/axios/lib/helpers/parseProtocol.js","../../node_modules/axios/lib/helpers/speedometer.js","../../node_modules/axios/lib/helpers/throttle.js","../../node_modules/axios/lib/helpers/progressEventReducer.js","../../node_modules/axios/lib/helpers/isURLSameOrigin.js","../../node_modules/axios/lib/helpers/cookies.js","../../node_modules/axios/lib/helpers/isAbsoluteURL.js","../../node_modules/axios/lib/helpers/combineURLs.js","../../node_modules/axios/lib/core/buildFullPath.js","../../node_modules/axios/lib/core/mergeConfig.js","../../node_modules/axios/lib/helpers/resolveConfig.js","../../node_modules/axios/lib/adapters/xhr.js","../../node_modules/axios/lib/helpers/composeSignals.js","../../node_modules/axios/lib/helpers/trackStream.js","../../node_modules/axios/lib/adapters/fetch.js","../../node_modules/axios/lib/adapters/adapters.js","../../node_modules/axios/lib/core/dispatchRequest.js","../../node_modules/axios/lib/env/data.js","../../node_modules/axios/lib/helpers/validator.js","../../node_modules/axios/lib/core/Axios.js","../../node_modules/axios/lib/cancel/CancelToken.js","../../node_modules/axios/lib/helpers/spread.js","../../node_modules/axios/lib/helpers/isAxiosError.js","../../node_modules/axios/lib/helpers/HttpStatusCode.js","../../node_modules/axios/lib/axios.js","../../node_modules/filesize/dist/filesize.esm.js","../../src/components/Sendbox.vue","../../src/components/Presence.vue","../../src/components/NotificationsSwitch.vue","../../src/components/PresenceController.vue","../../src/components/Chat.vue","../../src/components/Navbar.vue","../../src/components/Version.vue","../../src/components/Login.vue","../../src/components/Contact.vue","../../src/components/Group.vue","../../src/components/Contacts.vue","../../src/components/Home.vue","../../src/components/RoomsList.vue","../../src/components/RoomCreation.vue","../../src/components/Profile.vue","../../node_modules/spdx-license-list/index.js","../../../../../../../img/icons/android-chrome-192x192.png","../../src/components/About.vue","../../src/components/GuestHome.vue","../../src/components/GuestRooms.vue","../../src/components/GuestChat.vue","../../src/router/index.js","../../src/main.js"],"sourcesContent":["/**\n* @vue/shared v3.4.27\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>|<!--|-->|--!>|<!-$/g;\nfunction escapeHtmlComment(src) {\n return src.replace(commentStripRE, \"\");\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length)\n return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b)\n return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.4.27\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { NOOP, extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n this.onStop && this.onStop();\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n const depsMap = targetMap.get(object);\n return depsMap && depsMap.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n if (!isSymbol(key))\n key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst deferredComputed = computed;\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\"\n};\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseScheduling, pauseTracking, proxyRefs, reactive, readonly, ref, resetScheduling, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","/**\n* @vue/runtime-core v3.4.27\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, shallowReadonly, isShallow, isReactive, ReactiveEffect, getCurrentScope, ref, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, customRef, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, isReservedProp, EMPTY_ARR, toRawType, makeMap, def, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n pauseTracking();\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.effect.dirty = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n props,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n const prev = setCurrentRenderingInstance(instance);\n let result;\n let fallthroughAttrs;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return shallowReadonly(attrs);\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n null\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs, false, true);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root, null, false, true);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Component inside <Transition> renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n `<Suspense> is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n namespace,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(`<Suspense> slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n const suspensible = vnode.props && vnode.props.suspensible;\n return suspensible != null && suspensible !== false;\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \"<transition> can only be used on a single element or component. Use <transition-group> for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid <transition> mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.effect.dirty = true;\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n if (!isKeepAlive(vnode)) {\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate <script setup> binding \"${key}\" from Options API.`);\n return false;\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n data[key] = value;\n return true;\n } else if (hasOwn(instance.props, key)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Attempting to mutate prop \"${key}\". Props are readonly.`);\n return false;\n }\n if (key[0] === \"$\" && key.slice(1) in instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Attempting to mutate public property \"${key}\". Properties starting with $ are reserved and readonly.`\n );\n return false;\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && key in instance.appContext.config.globalProperties) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n value\n });\n } else {\n ctx[key] = value;\n }\n }\n return true;\n },\n has({\n _: { data, setupState, accessCache, ctx, appContext, propsOptions }\n }, key) {\n let normalizedProps;\n return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);\n },\n defineProperty(target, key, descriptor) {\n if (descriptor.get != null) {\n target._.accessCache[key] = 0;\n } else if (hasOwn(descriptor, \"value\")) {\n this.set(target, key, descriptor.value, null);\n }\n return Reflect.defineProperty(target, key, descriptor);\n }\n};\nif (!!(process.env.NODE_ENV !== \"production\") && true) {\n PublicInstanceProxyHandlers.ownKeys = (target) => {\n warn$1(\n `Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.`\n );\n return Reflect.ownKeys(target);\n };\n}\nconst RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(\n {},\n PublicInstanceProxyHandlers,\n {\n get(target, key) {\n if (key === Symbol.unscopables) {\n return;\n }\n return PublicInstanceProxyHandlers.get(target, key, target);\n },\n has(_, key) {\n const has = key[0] !== \"_\" && !isGloballyAllowed(key);\n if (!!(process.env.NODE_ENV !== \"production\") && !has && PublicInstanceProxyHandlers.has(_, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} should not start with _ which is a reserved prefix for Vue internals.`\n );\n }\n return has;\n }\n }\n);\nfunction createDevRenderContext(instance) {\n const target = {};\n Object.defineProperty(target, `_`, {\n configurable: true,\n enumerable: false,\n get: () => instance\n });\n Object.keys(publicPropertiesMap).forEach((key) => {\n Object.defineProperty(target, key, {\n configurable: true,\n enumerable: false,\n get: () => publicPropertiesMap[key](instance),\n // intercepted by the proxy so no need for implementation,\n // but needed to prevent set errors\n set: NOOP\n });\n });\n return target;\n}\nfunction exposePropsOnRenderContext(instance) {\n const {\n ctx,\n propsOptions: [propsOptions]\n } = instance;\n if (propsOptions) {\n Object.keys(propsOptions).forEach((key) => {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => instance.props[key],\n set: NOOP\n });\n });\n }\n}\nfunction exposeSetupStateOnRenderContext(instance) {\n const { ctx, setupState } = instance;\n Object.keys(toRaw(setupState)).forEach((key) => {\n if (!setupState.__isScriptSetup) {\n if (isReservedPrefix(key[0])) {\n warn$1(\n `setup() return property ${JSON.stringify(\n key\n )} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`\n );\n return;\n }\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => setupState[key],\n set: NOOP\n });\n }\n });\n}\n\nconst warnRuntimeUsage = (method) => warn$1(\n `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`\n);\nfunction defineProps() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineProps`);\n }\n return null;\n}\nfunction defineEmits() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineEmits`);\n }\n return null;\n}\nfunction defineExpose(exposed) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineExpose`);\n }\n}\nfunction defineOptions(options) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineOptions`);\n }\n}\nfunction defineSlots() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`defineSlots`);\n }\n return null;\n}\nfunction defineModel() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(\"defineModel\");\n }\n}\nfunction withDefaults(props, defaults) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warnRuntimeUsage(`withDefaults`);\n }\n return null;\n}\nfunction useSlots() {\n return getContext().slots;\n}\nfunction useAttrs() {\n return getContext().attrs;\n}\nfunction getContext() {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn$1(`useContext() called without active instance.`);\n }\n return i.setupContext || (i.setupContext = createSetupContext(i));\n}\nfunction normalizePropsOrEmits(props) {\n return isArray(props) ? props.reduce(\n (normalized, p) => (normalized[p] = null, normalized),\n {}\n ) : props;\n}\nfunction mergeDefaults(raw, defaults) {\n const props = normalizePropsOrEmits(raw);\n for (const key in defaults) {\n if (key.startsWith(\"__skip\"))\n continue;\n let opt = props[key];\n if (opt) {\n if (isArray(opt) || isFunction(opt)) {\n opt = props[key] = { type: opt, default: defaults[key] };\n } else {\n opt.default = defaults[key];\n }\n } else if (opt === null) {\n opt = props[key] = { default: defaults[key] };\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`props default key \"${key}\" has no corresponding declaration.`);\n }\n if (opt && defaults[`__skip_${key}`]) {\n opt.skipFactory = true;\n }\n }\n return props;\n}\nfunction mergeModels(a, b) {\n if (!a || !b)\n return a || b;\n if (isArray(a) && isArray(b))\n return a.concat(b);\n return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));\n}\nfunction createPropsRestProxy(props, excludedKeys) {\n const ret = {};\n for (const key in props) {\n if (!excludedKeys.includes(key)) {\n Object.defineProperty(ret, key, {\n enumerable: true,\n get: () => props[key]\n });\n }\n }\n return ret;\n}\nfunction withAsyncContext(getAwaitable) {\n const ctx = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !ctx) {\n warn$1(\n `withAsyncContext called without active current instance. This is likely a bug.`\n );\n }\n let awaitable = getAwaitable();\n unsetCurrentInstance();\n if (isPromise(awaitable)) {\n awaitable = awaitable.catch((e) => {\n setCurrentInstance(ctx);\n throw e;\n });\n }\n return [awaitable, () => setCurrentInstance(ctx)];\n}\n\nfunction createDuplicateChecker() {\n const cache = /* @__PURE__ */ Object.create(null);\n return (type, key) => {\n if (cache[key]) {\n warn$1(`${type} property \"${key}\" is already defined in ${cache[key]}.`);\n } else {\n cache[key] = type;\n }\n };\n}\nlet shouldCacheAccess = true;\nfunction applyOptions(instance) {\n const options = resolveMergedOptions(instance);\n const publicThis = instance.proxy;\n const ctx = instance.ctx;\n shouldCacheAccess = false;\n if (options.beforeCreate) {\n callHook(options.beforeCreate, instance, \"bc\");\n }\n const {\n // state\n data: dataOptions,\n computed: computedOptions,\n methods,\n watch: watchOptions,\n provide: provideOptions,\n inject: injectOptions,\n // lifecycle\n created,\n beforeMount,\n mounted,\n beforeUpdate,\n updated,\n activated,\n deactivated,\n beforeDestroy,\n beforeUnmount,\n destroyed,\n unmounted,\n render,\n renderTracked,\n renderTriggered,\n errorCaptured,\n serverPrefetch,\n // public API\n expose,\n inheritAttrs,\n // assets\n components,\n directives,\n filters\n } = options;\n const checkDuplicateProperties = !!(process.env.NODE_ENV !== \"production\") ? createDuplicateChecker() : null;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const [propsOptions] = instance.propsOptions;\n if (propsOptions) {\n for (const key in propsOptions) {\n checkDuplicateProperties(\"Props\" /* PROPS */, key);\n }\n }\n }\n if (injectOptions) {\n resolveInjections(injectOptions, ctx, checkDuplicateProperties);\n }\n if (methods) {\n for (const key in methods) {\n const methodHandler = methods[key];\n if (isFunction(methodHandler)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n Object.defineProperty(ctx, key, {\n value: methodHandler.bind(publicThis),\n configurable: true,\n enumerable: true,\n writable: true\n });\n } else {\n ctx[key] = methodHandler.bind(publicThis);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Methods\" /* METHODS */, key);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Method \"${key}\" has type \"${typeof methodHandler}\" in the component definition. Did you reference the function correctly?`\n );\n }\n }\n }\n if (dataOptions) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(dataOptions)) {\n warn$1(\n `The data option must be a function. Plain object usage is no longer supported.`\n );\n }\n const data = dataOptions.call(publicThis, publicThis);\n if (!!(process.env.NODE_ENV !== \"production\") && isPromise(data)) {\n warn$1(\n `data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.`\n );\n }\n if (!isObject(data)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`data() should return an object.`);\n } else {\n instance.data = reactive(data);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (const key in data) {\n checkDuplicateProperties(\"Data\" /* DATA */, key);\n if (!isReservedPrefix(key[0])) {\n Object.defineProperty(ctx, key, {\n configurable: true,\n enumerable: true,\n get: () => data[key],\n set: NOOP\n });\n }\n }\n }\n }\n }\n shouldCacheAccess = true;\n if (computedOptions) {\n for (const key in computedOptions) {\n const opt = computedOptions[key];\n const get = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;\n if (!!(process.env.NODE_ENV !== \"production\") && get === NOOP) {\n warn$1(`Computed property \"${key}\" has no getter.`);\n }\n const set = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn$1(\n `Write operation failed: computed property \"${key}\" is readonly.`\n );\n } : NOOP;\n const c = computed({\n get,\n set\n });\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => c.value,\n set: (v) => c.value = v\n });\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Computed\" /* COMPUTED */, key);\n }\n }\n }\n if (watchOptions) {\n for (const key in watchOptions) {\n createWatcher(watchOptions[key], ctx, publicThis, key);\n }\n }\n if (provideOptions) {\n const provides = isFunction(provideOptions) ? provideOptions.call(publicThis) : provideOptions;\n Reflect.ownKeys(provides).forEach((key) => {\n provide(key, provides[key]);\n });\n }\n if (created) {\n callHook(created, instance, \"c\");\n }\n function registerLifecycleHook(register, hook) {\n if (isArray(hook)) {\n hook.forEach((_hook) => register(_hook.bind(publicThis)));\n } else if (hook) {\n register(hook.bind(publicThis));\n }\n }\n registerLifecycleHook(onBeforeMount, beforeMount);\n registerLifecycleHook(onMounted, mounted);\n registerLifecycleHook(onBeforeUpdate, beforeUpdate);\n registerLifecycleHook(onUpdated, updated);\n registerLifecycleHook(onActivated, activated);\n registerLifecycleHook(onDeactivated, deactivated);\n registerLifecycleHook(onErrorCaptured, errorCaptured);\n registerLifecycleHook(onRenderTracked, renderTracked);\n registerLifecycleHook(onRenderTriggered, renderTriggered);\n registerLifecycleHook(onBeforeUnmount, beforeUnmount);\n registerLifecycleHook(onUnmounted, unmounted);\n registerLifecycleHook(onServerPrefetch, serverPrefetch);\n if (isArray(expose)) {\n if (expose.length) {\n const exposed = instance.exposed || (instance.exposed = {});\n expose.forEach((key) => {\n Object.defineProperty(exposed, key, {\n get: () => publicThis[key],\n set: (val) => publicThis[key] = val\n });\n });\n } else if (!instance.exposed) {\n instance.exposed = {};\n }\n }\n if (render && instance.render === NOOP) {\n instance.render = render;\n }\n if (inheritAttrs != null) {\n instance.inheritAttrs = inheritAttrs;\n }\n if (components)\n instance.components = components;\n if (directives)\n instance.directives = directives;\n}\nfunction resolveInjections(injectOptions, ctx, checkDuplicateProperties = NOOP) {\n if (isArray(injectOptions)) {\n injectOptions = normalizeInject(injectOptions);\n }\n for (const key in injectOptions) {\n const opt = injectOptions[key];\n let injected;\n if (isObject(opt)) {\n if (\"default\" in opt) {\n injected = inject(\n opt.from || key,\n opt.default,\n true\n );\n } else {\n injected = inject(opt.from || key);\n }\n } else {\n injected = inject(opt);\n }\n if (isRef(injected)) {\n Object.defineProperty(ctx, key, {\n enumerable: true,\n configurable: true,\n get: () => injected.value,\n set: (v) => injected.value = v\n });\n } else {\n ctx[key] = injected;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n checkDuplicateProperties(\"Inject\" /* INJECT */, key);\n }\n }\n}\nfunction callHook(hook, instance, type) {\n callWithAsyncErrorHandling(\n isArray(hook) ? hook.map((h) => h.bind(instance.proxy)) : hook.bind(instance.proxy),\n instance,\n type\n );\n}\nfunction createWatcher(raw, ctx, publicThis, key) {\n const getter = key.includes(\".\") ? createPathGetter(publicThis, key) : () => publicThis[key];\n if (isString(raw)) {\n const handler = ctx[raw];\n if (isFunction(handler)) {\n watch(getter, handler);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch handler specified by key \"${raw}\"`, handler);\n }\n } else if (isFunction(raw)) {\n watch(getter, raw.bind(publicThis));\n } else if (isObject(raw)) {\n if (isArray(raw)) {\n raw.forEach((r) => createWatcher(r, ctx, publicThis, key));\n } else {\n const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];\n if (isFunction(handler)) {\n watch(getter, handler, raw);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch handler specified by key \"${raw.handler}\"`, handler);\n }\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid watch option: \"${key}\"`, raw);\n }\n}\nfunction resolveMergedOptions(instance) {\n const base = instance.type;\n const { mixins, extends: extendsOptions } = base;\n const {\n mixins: globalMixins,\n optionsCache: cache,\n config: { optionMergeStrategies }\n } = instance.appContext;\n const cached = cache.get(base);\n let resolved;\n if (cached) {\n resolved = cached;\n } else if (!globalMixins.length && !mixins && !extendsOptions) {\n {\n resolved = base;\n }\n } else {\n resolved = {};\n if (globalMixins.length) {\n globalMixins.forEach(\n (m) => mergeOptions(resolved, m, optionMergeStrategies, true)\n );\n }\n mergeOptions(resolved, base, optionMergeStrategies);\n }\n if (isObject(base)) {\n cache.set(base, resolved);\n }\n return resolved;\n}\nfunction mergeOptions(to, from, strats, asMixin = false) {\n const { mixins, extends: extendsOptions } = from;\n if (extendsOptions) {\n mergeOptions(to, extendsOptions, strats, true);\n }\n if (mixins) {\n mixins.forEach(\n (m) => mergeOptions(to, m, strats, true)\n );\n }\n for (const key in from) {\n if (asMixin && key === \"expose\") {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.`\n );\n } else {\n const strat = internalOptionMergeStrats[key] || strats && strats[key];\n to[key] = strat ? strat(to[key], from[key]) : from[key];\n }\n }\n return to;\n}\nconst internalOptionMergeStrats = {\n data: mergeDataFn,\n props: mergeEmitsOrPropsOptions,\n emits: mergeEmitsOrPropsOptions,\n // objects\n methods: mergeObjectOptions,\n computed: mergeObjectOptions,\n // lifecycle\n beforeCreate: mergeAsArray,\n created: mergeAsArray,\n beforeMount: mergeAsArray,\n mounted: mergeAsArray,\n beforeUpdate: mergeAsArray,\n updated: mergeAsArray,\n beforeDestroy: mergeAsArray,\n beforeUnmount: mergeAsArray,\n destroyed: mergeAsArray,\n unmounted: mergeAsArray,\n activated: mergeAsArray,\n deactivated: mergeAsArray,\n errorCaptured: mergeAsArray,\n serverPrefetch: mergeAsArray,\n // assets\n components: mergeObjectOptions,\n directives: mergeObjectOptions,\n // watch\n watch: mergeWatchOptions,\n // provide / inject\n provide: mergeDataFn,\n inject: mergeInject\n};\nfunction mergeDataFn(to, from) {\n if (!from) {\n return to;\n }\n if (!to) {\n return from;\n }\n return function mergedDataFn() {\n return (extend)(\n isFunction(to) ? to.call(this, this) : to,\n isFunction(from) ? from.call(this, this) : from\n );\n };\n}\nfunction mergeInject(to, from) {\n return mergeObjectOptions(normalizeInject(to), normalizeInject(from));\n}\nfunction normalizeInject(raw) {\n if (isArray(raw)) {\n const res = {};\n for (let i = 0; i < raw.length; i++) {\n res[raw[i]] = raw[i];\n }\n return res;\n }\n return raw;\n}\nfunction mergeAsArray(to, from) {\n return to ? [...new Set([].concat(to, from))] : from;\n}\nfunction mergeObjectOptions(to, from) {\n return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;\n}\nfunction mergeEmitsOrPropsOptions(to, from) {\n if (to) {\n if (isArray(to) && isArray(from)) {\n return [.../* @__PURE__ */ new Set([...to, ...from])];\n }\n return extend(\n /* @__PURE__ */ Object.create(null),\n normalizePropsOrEmits(to),\n normalizePropsOrEmits(from != null ? from : {})\n );\n } else {\n return from;\n }\n}\nfunction mergeWatchOptions(to, from) {\n if (!to)\n return from;\n if (!from)\n return to;\n const merged = extend(/* @__PURE__ */ Object.create(null), to);\n for (const key in from) {\n merged[key] = mergeAsArray(to[key], from[key]);\n }\n return merged;\n}\n\nfunction createAppContext() {\n return {\n app: null,\n config: {\n isNativeTag: NO,\n performance: false,\n globalProperties: {},\n optionMergeStrategies: {},\n errorHandler: void 0,\n warnHandler: void 0,\n compilerOptions: {}\n },\n mixins: [],\n components: {},\n directives: {},\n provides: /* @__PURE__ */ Object.create(null),\n optionsCache: /* @__PURE__ */ new WeakMap(),\n propsCache: /* @__PURE__ */ new WeakMap(),\n emitsCache: /* @__PURE__ */ new WeakMap()\n };\n}\nlet uid$1 = 0;\nfunction createAppAPI(render, hydrate) {\n return function createApp(rootComponent, rootProps = null) {\n if (!isFunction(rootComponent)) {\n rootComponent = extend({}, rootComponent);\n }\n if (rootProps != null && !isObject(rootProps)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`root props passed to app.mount() must be an object.`);\n rootProps = null;\n }\n const context = createAppContext();\n const installedPlugins = /* @__PURE__ */ new WeakSet();\n let isMounted = false;\n const app = context.app = {\n _uid: uid$1++,\n _component: rootComponent,\n _props: rootProps,\n _container: null,\n _context: context,\n _instance: null,\n version,\n get config() {\n return context.config;\n },\n set config(v) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `app.config cannot be replaced. Modify individual options instead.`\n );\n }\n },\n use(plugin, ...options) {\n if (installedPlugins.has(plugin)) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`Plugin has already been applied to target app.`);\n } else if (plugin && isFunction(plugin.install)) {\n installedPlugins.add(plugin);\n plugin.install(app, ...options);\n } else if (isFunction(plugin)) {\n installedPlugins.add(plugin);\n plugin(app, ...options);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `A plugin must either be a function or an object with an \"install\" function.`\n );\n }\n return app;\n },\n mixin(mixin) {\n if (__VUE_OPTIONS_API__) {\n if (!context.mixins.includes(mixin)) {\n context.mixins.push(mixin);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Mixin has already been applied to target app\" + (mixin.name ? `: ${mixin.name}` : \"\")\n );\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Mixins are only available in builds supporting Options API\");\n }\n return app;\n },\n component(name, component) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateComponentName(name, context.config);\n }\n if (!component) {\n return context.components[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.components[name]) {\n warn$1(`Component \"${name}\" has already been registered in target app.`);\n }\n context.components[name] = component;\n return app;\n },\n directive(name, directive) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateDirectiveName(name);\n }\n if (!directive) {\n return context.directives[name];\n }\n if (!!(process.env.NODE_ENV !== \"production\") && context.directives[name]) {\n warn$1(`Directive \"${name}\" has already been registered in target app.`);\n }\n context.directives[name] = directive;\n return app;\n },\n mount(rootContainer, isHydrate, namespace) {\n if (!isMounted) {\n if (!!(process.env.NODE_ENV !== \"production\") && rootContainer.__vue_app__) {\n warn$1(\n `There is already an app instance mounted on the host container.\n If you want to mount another app on the same host container, you need to unmount the previous app by calling \\`app.unmount()\\` first.`\n );\n }\n const vnode = createVNode(rootComponent, rootProps);\n vnode.appContext = context;\n if (namespace === true) {\n namespace = \"svg\";\n } else if (namespace === false) {\n namespace = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n context.reload = () => {\n render(\n cloneVNode(vnode),\n rootContainer,\n namespace\n );\n };\n }\n if (isHydrate && hydrate) {\n hydrate(vnode, rootContainer);\n } else {\n render(vnode, rootContainer, namespace);\n }\n isMounted = true;\n app._container = rootContainer;\n rootContainer.__vue_app__ = app;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = vnode.component;\n devtoolsInitApp(app, version);\n }\n return getExposeProxy(vnode.component) || vnode.component.proxy;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `App has already been mounted.\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \\`const createMyApp = () => createApp(App)\\``\n );\n }\n },\n unmount() {\n if (isMounted) {\n render(null, app._container);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n app._instance = null;\n devtoolsUnmountApp(app);\n }\n delete app._container.__vue_app__;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Cannot unmount an app that is not mounted.`);\n }\n },\n provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\") && key in context.provides) {\n warn$1(\n `App already provides property with key \"${String(key)}\". It will be overwritten with the new value.`\n );\n }\n context.provides[key] = value;\n return app;\n },\n runWithContext(fn) {\n const lastApp = currentApp;\n currentApp = app;\n try {\n return fn();\n } finally {\n currentApp = lastApp;\n }\n }\n };\n return app;\n };\n}\nlet currentApp = null;\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`provide() can only be used inside setup().`);\n }\n } else {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = currentInstance || currentRenderingInstance;\n if (instance || currentApp) {\n const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(currentInstance || currentRenderingInstance || currentApp);\n}\n\nconst internalObjectProto = {};\nconst createInternalObject = () => Object.create(internalObjectProto);\nconst isInternalObject = (obj) => Object.getPrototypeOf(obj) === internalObjectProto;\n\nfunction initProps(instance, rawProps, isStateful, isSSR = false) {\n const props = {};\n const attrs = createInternalObject();\n instance.propsDefaults = /* @__PURE__ */ Object.create(null);\n setFullProps(instance, rawProps, props, attrs);\n for (const key in instance.propsOptions[0]) {\n if (!(key in props)) {\n props[key] = void 0;\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n if (isStateful) {\n instance.props = isSSR ? props : shallowReactive(props);\n } else {\n if (!instance.type.props) {\n instance.props = attrs;\n } else {\n instance.props = props;\n }\n }\n instance.attrs = attrs;\n}\nfunction isInHmrContext(instance) {\n while (instance) {\n if (instance.type.__hmrId)\n return true;\n instance = instance.parent;\n }\n}\nfunction updateProps(instance, rawProps, rawPrevProps, optimized) {\n const {\n props,\n attrs,\n vnode: { patchFlag }\n } = instance;\n const rawCurrentProps = toRaw(props);\n const [options] = instance.propsOptions;\n let hasAttrsChanged = false;\n if (\n // always force full diff in dev\n // - #1942 if hmr is enabled with sfc component\n // - vite#872 non-sfc component used by sfc component\n !(!!(process.env.NODE_ENV !== \"production\") && isInHmrContext(instance)) && (optimized || patchFlag > 0) && !(patchFlag & 16)\n ) {\n if (patchFlag & 8) {\n const propsToUpdate = instance.vnode.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n let key = propsToUpdate[i];\n if (isEmitListener(instance.emitsOptions, key)) {\n continue;\n }\n const value = rawProps[key];\n if (options) {\n if (hasOwn(attrs, key)) {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n } else {\n const camelizedKey = camelize(key);\n props[camelizedKey] = resolvePropValue(\n options,\n rawCurrentProps,\n camelizedKey,\n value,\n instance,\n false\n );\n }\n } else {\n if (value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n } else {\n if (setFullProps(instance, rawProps, props, attrs)) {\n hasAttrsChanged = true;\n }\n let kebabKey;\n for (const key in rawCurrentProps) {\n if (!rawProps || // for camelCase\n !hasOwn(rawProps, key) && // it's possible the original props was passed in as kebab-case\n // and converted to camelCase (#955)\n ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {\n if (options) {\n if (rawPrevProps && // for camelCase\n (rawPrevProps[key] !== void 0 || // for kebab-case\n rawPrevProps[kebabKey] !== void 0)) {\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n void 0,\n instance,\n true\n );\n }\n } else {\n delete props[key];\n }\n }\n }\n if (attrs !== rawCurrentProps) {\n for (const key in attrs) {\n if (!rawProps || !hasOwn(rawProps, key) && true) {\n delete attrs[key];\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (hasAttrsChanged) {\n trigger(instance.attrs, \"set\", \"\");\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n validateProps(rawProps || {}, props, instance);\n }\n}\nfunction setFullProps(instance, rawProps, props, attrs) {\n const [options, needCastKeys] = instance.propsOptions;\n let hasAttrsChanged = false;\n let rawCastValues;\n if (rawProps) {\n for (let key in rawProps) {\n if (isReservedProp(key)) {\n continue;\n }\n const value = rawProps[key];\n let camelKey;\n if (options && hasOwn(options, camelKey = camelize(key))) {\n if (!needCastKeys || !needCastKeys.includes(camelKey)) {\n props[camelKey] = value;\n } else {\n (rawCastValues || (rawCastValues = {}))[camelKey] = value;\n }\n } else if (!isEmitListener(instance.emitsOptions, key)) {\n if (!(key in attrs) || value !== attrs[key]) {\n attrs[key] = value;\n hasAttrsChanged = true;\n }\n }\n }\n }\n if (needCastKeys) {\n const rawCurrentProps = toRaw(props);\n const castValues = rawCastValues || EMPTY_OBJ;\n for (let i = 0; i < needCastKeys.length; i++) {\n const key = needCastKeys[i];\n props[key] = resolvePropValue(\n options,\n rawCurrentProps,\n key,\n castValues[key],\n instance,\n !hasOwn(castValues, key)\n );\n }\n }\n return hasAttrsChanged;\n}\nfunction resolvePropValue(options, props, key, value, instance, isAbsent) {\n const opt = options[key];\n if (opt != null) {\n const hasDefault = hasOwn(opt, \"default\");\n if (hasDefault && value === void 0) {\n const defaultValue = opt.default;\n if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {\n const { propsDefaults } = instance;\n if (key in propsDefaults) {\n value = propsDefaults[key];\n } else {\n const reset = setCurrentInstance(instance);\n value = propsDefaults[key] = defaultValue.call(\n null,\n props\n );\n reset();\n }\n } else {\n value = defaultValue;\n }\n }\n if (opt[0 /* shouldCast */]) {\n if (isAbsent && !hasDefault) {\n value = false;\n } else if (opt[1 /* shouldCastTrue */] && (value === \"\" || value === hyphenate(key))) {\n value = true;\n }\n }\n }\n return value;\n}\nfunction normalizePropsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.propsCache;\n const cached = cache.get(comp);\n if (cached) {\n return cached;\n }\n const raw = comp.props;\n const normalized = {};\n const needCastKeys = [];\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendProps = (raw2) => {\n hasExtends = true;\n const [props, keys] = normalizePropsOptions(raw2, appContext, true);\n extend(normalized, props);\n if (keys)\n needCastKeys.push(...keys);\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendProps);\n }\n if (comp.extends) {\n extendProps(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendProps);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, EMPTY_ARR);\n }\n return EMPTY_ARR;\n }\n if (isArray(raw)) {\n for (let i = 0; i < raw.length; i++) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isString(raw[i])) {\n warn$1(`props must be strings when using array syntax.`, raw[i]);\n }\n const normalizedKey = camelize(raw[i]);\n if (validatePropName(normalizedKey)) {\n normalized[normalizedKey] = EMPTY_OBJ;\n }\n }\n } else if (raw) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(raw)) {\n warn$1(`invalid props options`, raw);\n }\n for (const key in raw) {\n const normalizedKey = camelize(key);\n if (validatePropName(normalizedKey)) {\n const opt = raw[key];\n const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);\n if (prop) {\n const booleanIndex = getTypeIndex(Boolean, prop.type);\n const stringIndex = getTypeIndex(String, prop.type);\n prop[0 /* shouldCast */] = booleanIndex > -1;\n prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;\n if (booleanIndex > -1 || hasOwn(prop, \"default\")) {\n needCastKeys.push(normalizedKey);\n }\n }\n }\n }\n }\n const res = [normalized, needCastKeys];\n if (isObject(comp)) {\n cache.set(comp, res);\n }\n return res;\n}\nfunction validatePropName(key) {\n if (key[0] !== \"$\" && !isReservedProp(key)) {\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`Invalid prop name: \"${key}\" is a reserved property.`);\n }\n return false;\n}\nfunction getType(ctor) {\n if (ctor === null) {\n return \"null\";\n }\n if (typeof ctor === \"function\") {\n return ctor.name || \"\";\n } else if (typeof ctor === \"object\") {\n const name = ctor.constructor && ctor.constructor.name;\n return name || \"\";\n }\n return \"\";\n}\nfunction isSameType(a, b) {\n return getType(a) === getType(b);\n}\nfunction getTypeIndex(type, expectedTypes) {\n if (isArray(expectedTypes)) {\n return expectedTypes.findIndex((t) => isSameType(t, type));\n } else if (isFunction(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1;\n }\n return -1;\n}\nfunction validateProps(rawProps, props, instance) {\n const resolvedValues = toRaw(props);\n const options = instance.propsOptions[0];\n for (const key in options) {\n let opt = options[key];\n if (opt == null)\n continue;\n validateProp(\n key,\n resolvedValues[key],\n opt,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(resolvedValues) : resolvedValues,\n !hasOwn(rawProps, key) && !hasOwn(rawProps, hyphenate(key))\n );\n }\n}\nfunction validateProp(name, value, prop, props, isAbsent) {\n const { type, required, validator, skipCheck } = prop;\n if (required && isAbsent) {\n warn$1('Missing required prop: \"' + name + '\"');\n return;\n }\n if (value == null && !required) {\n return;\n }\n if (type != null && type !== true && !skipCheck) {\n let isValid = false;\n const types = isArray(type) ? type : [type];\n const expectedTypes = [];\n for (let i = 0; i < types.length && !isValid; i++) {\n const { valid, expectedType } = assertType(value, types[i]);\n expectedTypes.push(expectedType || \"\");\n isValid = valid;\n }\n if (!isValid) {\n warn$1(getInvalidTypeMessage(name, value, expectedTypes));\n return;\n }\n }\n if (validator && !validator(value, props)) {\n warn$1('Invalid prop: custom validator check failed for prop \"' + name + '\".');\n }\n}\nconst isSimpleType = /* @__PURE__ */ makeMap(\n \"String,Number,Boolean,Function,Symbol,BigInt\"\n);\nfunction assertType(value, type) {\n let valid;\n const expectedType = getType(type);\n if (isSimpleType(expectedType)) {\n const t = typeof value;\n valid = t === expectedType.toLowerCase();\n if (!valid && t === \"object\") {\n valid = value instanceof type;\n }\n } else if (expectedType === \"Object\") {\n valid = isObject(value);\n } else if (expectedType === \"Array\") {\n valid = isArray(value);\n } else if (expectedType === \"null\") {\n valid = value === null;\n } else {\n valid = value instanceof type;\n }\n return {\n valid,\n expectedType\n };\n}\nfunction getInvalidTypeMessage(name, value, expectedTypes) {\n if (expectedTypes.length === 0) {\n return `Prop type [] for prop \"${name}\" won't match anything. Did you mean to use type Array instead?`;\n }\n let message = `Invalid prop: type check failed for prop \"${name}\". Expected ${expectedTypes.map(capitalize).join(\" | \")}`;\n const expectedType = expectedTypes[0];\n const receivedType = toRawType(value);\n const expectedValue = styleValue(value, expectedType);\n const receivedValue = styleValue(value, receivedType);\n if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {\n message += ` with value ${expectedValue}`;\n }\n message += `, got ${receivedType} `;\n if (isExplicable(receivedType)) {\n message += `with value ${receivedValue}.`;\n }\n return message;\n}\nfunction styleValue(value, type) {\n if (type === \"String\") {\n return `\"${value}\"`;\n } else if (type === \"Number\") {\n return `${Number(value)}`;\n } else {\n return `${value}`;\n }\n}\nfunction isExplicable(type) {\n const explicitTypes = [\"string\", \"number\", \"boolean\"];\n return explicitTypes.some((elem) => type.toLowerCase() === elem);\n}\nfunction isBoolean(...args) {\n return args.some((elem) => elem.toLowerCase() === \"boolean\");\n}\n\nconst isInternalKey = (key) => key[0] === \"_\" || key === \"$stable\";\nconst normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];\nconst normalizeSlot = (key, rawSlot, ctx) => {\n if (rawSlot._n) {\n return rawSlot;\n }\n const normalized = withCtx((...args) => {\n if (!!(process.env.NODE_ENV !== \"production\") && currentInstance && (!ctx || ctx.root === currentInstance.root)) {\n warn$1(\n `Slot \"${key}\" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`\n );\n }\n return normalizeSlotValue(rawSlot(...args));\n }, ctx);\n normalized._c = false;\n return normalized;\n};\nconst normalizeObjectSlots = (rawSlots, slots, instance) => {\n const ctx = rawSlots._ctx;\n for (const key in rawSlots) {\n if (isInternalKey(key))\n continue;\n const value = rawSlots[key];\n if (isFunction(value)) {\n slots[key] = normalizeSlot(key, value, ctx);\n } else if (value != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n warn$1(\n `Non-function value encountered for slot \"${key}\". Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(value);\n slots[key] = () => normalized;\n }\n }\n};\nconst normalizeVNodeSlots = (instance, children) => {\n if (!!(process.env.NODE_ENV !== \"production\") && !isKeepAlive(instance.vnode) && true) {\n warn$1(\n `Non-function value encountered for default slot. Prefer function slots for better performance.`\n );\n }\n const normalized = normalizeSlotValue(children);\n instance.slots.default = () => normalized;\n};\nconst initSlots = (instance, children) => {\n const slots = instance.slots = createInternalObject();\n if (instance.vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n extend(slots, children);\n def(slots, \"_\", type, true);\n } else {\n normalizeObjectSlots(children, slots);\n }\n } else if (children) {\n normalizeVNodeSlots(instance, children);\n }\n};\nconst updateSlots = (instance, children, optimized) => {\n const { vnode, slots } = instance;\n let needDeletionCheck = true;\n let deletionComparisonTarget = EMPTY_OBJ;\n if (vnode.shapeFlag & 32) {\n const type = children._;\n if (type) {\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n extend(slots, children);\n trigger(instance, \"set\", \"$slots\");\n } else if (optimized && type === 1) {\n needDeletionCheck = false;\n } else {\n extend(slots, children);\n if (!optimized && type === 1) {\n delete slots._;\n }\n }\n } else {\n needDeletionCheck = !children.$stable;\n normalizeObjectSlots(children, slots);\n }\n deletionComparisonTarget = children;\n } else if (children) {\n normalizeVNodeSlots(instance, children);\n deletionComparisonTarget = { default: 1 };\n }\n if (needDeletionCheck) {\n for (const key in slots) {\n if (!isInternalKey(key) && deletionComparisonTarget[key] == null) {\n delete slots[key];\n }\n }\n }\n};\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getExposeProxy(vnode.component) || vnode.component.proxy : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (hasOwn(setupState, oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? hasOwn(setupState, ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (hasOwn(setupState, ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k)\n refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (hasOwn(setupState, ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k)\n refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasMismatch = false;\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (isSVGContainer(container))\n return \"svg\";\n if (isMathMLContainer(container))\n return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8 /* COMMENT */;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hasMismatch = false;\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n if (hasMismatch && true) {\n console.error(`Hydration completed but contains mismatches.`);\n }\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n if (!(\"__vnode\" in node)) {\n Object.defineProperty(node, \"__vnode\", {\n value: vnode,\n enumerable: false\n });\n }\n if (!(\"__vueParentComponent\" in node)) {\n Object.defineProperty(node, \"__vueParentComponent\", {\n value: parentComponent,\n enumerable: false\n });\n }\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3 /* TEXT */) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n hasMismatch = true;\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 /* COMMENT */ || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 /* ELEMENT */ || domType === 3 /* TEXT */) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 /* ELEMENT */ ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 /* ELEMENT */ || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode)) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8 /* COMMENT */) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(parentSuspense, transition) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n hasMismatch = true;\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n if (el.textContent !== vnode.children) {\n hasMismatch = true;\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n hasMismatch = true;\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\") {\n patchProp(\n el,\n key,\n null,\n props[key],\n void 0,\n void 0,\n parentComponent\n );\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n void 0,\n parentComponent\n );\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n if (node) {\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (vnode.type === Text && !vnode.children) {\n continue;\n } else {\n hasMismatch = true;\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n hasMismatch = true;\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n hasMismatch = true;\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 /* TEXT */ ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open)\n match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 /* ELEMENT */ && node.tagName.toLowerCase() === \"template\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n var _a;\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n const root = instance == null ? void 0 : instance.subTree;\n if (vnode === root || (root == null ? void 0 : root.type) === Fragment && root.children.includes(vnode)) {\n const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);\n for (const key2 in cssVars) {\n expectedMap.set(`--${key2}`, String(cssVars[key2]));\n }\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = `attribute`;\n mismatchKey = key;\n }\n }\n if (mismatchType) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${mismatchType} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key == null ? void 0 : key.trim();\n value = value == null ? void 0 : value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\n\nlet supported;\nlet perf;\nfunction startMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n perf.mark(`vue-${type}-${instance.uid}`);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfStart(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction endMeasure(instance, type) {\n if (instance.appContext.config.performance && isSupported()) {\n const startTag = `vue-${type}-${instance.uid}`;\n const endTag = startTag + `:end`;\n perf.mark(endTag);\n perf.measure(\n `<${formatComponentName(instance, instance.type)}> ${type}`,\n startTag,\n endTag\n );\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsPerfEnd(instance, type, isSupported() ? perf.now() : Date.now());\n }\n}\nfunction isSupported() {\n if (supported !== void 0) {\n return supported;\n }\n if (typeof window !== \"undefined\" && window.performance) {\n supported = true;\n perf = window.performance;\n } else {\n supported = false;\n }\n return supported;\n}\n\nfunction initFeatureFlags() {\n const needWarn = [];\n if (typeof __VUE_OPTIONS_API__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_OPTIONS_API__`);\n getGlobalThis().__VUE_OPTIONS_API__ = true;\n }\n if (typeof __VUE_PROD_DEVTOOLS__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_PROD_DEVTOOLS__`);\n getGlobalThis().__VUE_PROD_DEVTOOLS__ = false;\n }\n if (typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ !== \"boolean\") {\n !!(process.env.NODE_ENV !== \"production\") && needWarn.push(`__VUE_PROD_HYDRATION_MISMATCH_DETAILS__`);\n getGlobalThis().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ = false;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && needWarn.length) {\n const multi = needWarn.length > 1;\n console.warn(\n `Feature flag${multi ? `s` : ``} ${needWarn.join(\", \")} ${multi ? `are` : `is`} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.\n\nFor more details, see https://link.vuejs.org/feature-flags.`\n );\n }\n}\n\nconst queuePostRenderEffect = queueEffectWithSuspense ;\nfunction createRenderer(options) {\n return baseCreateRenderer(options);\n}\nfunction createHydrationRenderer(options) {\n return baseCreateRenderer(options, createHydrationFunctions);\n}\nfunction baseCreateRenderer(options, createHydrationFns) {\n {\n initFeatureFlags();\n }\n const target = getGlobalThis();\n target.__VUE__ = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n setDevtoolsHook$1(target.__VUE_DEVTOOLS_GLOBAL_HOOK__, target);\n }\n const {\n insert: hostInsert,\n remove: hostRemove,\n patchProp: hostPatchProp,\n createElement: hostCreateElement,\n createText: hostCreateText,\n createComment: hostCreateComment,\n setText: hostSetText,\n setElementText: hostSetElementText,\n parentNode: hostParentNode,\n nextSibling: hostNextSibling,\n setScopeId: hostSetScopeId = NOOP,\n insertStaticContent: hostInsertStaticContent\n } = options;\n const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, namespace = void 0, slotScopeIds = null, optimized = !!(process.env.NODE_ENV !== \"production\") && isHmrUpdating ? false : !!n2.dynamicChildren) => {\n if (n1 === n2) {\n return;\n }\n if (n1 && !isSameVNodeType(n1, n2)) {\n anchor = getNextHostNode(n1);\n unmount(n1, parentComponent, parentSuspense, true);\n n1 = null;\n }\n if (n2.patchFlag === -2) {\n optimized = false;\n n2.dynamicChildren = null;\n }\n const { type, ref, shapeFlag } = n2;\n switch (type) {\n case Text:\n processText(n1, n2, container, anchor);\n break;\n case Comment:\n processCommentNode(n1, n2, container, anchor);\n break;\n case Static:\n if (n1 == null) {\n mountStaticNode(n2, container, anchor, namespace);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n patchStaticNode(n1, n2, container, namespace);\n }\n break;\n case Fragment:\n processFragment(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n break;\n default:\n if (shapeFlag & 1) {\n processElement(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 6) {\n processComponent(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (shapeFlag & 64) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (shapeFlag & 128) {\n type.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid VNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null && parentComponent) {\n setRef(ref, n1 && n1.ref, parentSuspense, n2 || n1, !n2);\n }\n };\n const processText = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateText(n2.children),\n container,\n anchor\n );\n } else {\n const el = n2.el = n1.el;\n if (n2.children !== n1.children) {\n hostSetText(el, n2.children);\n }\n }\n };\n const processCommentNode = (n1, n2, container, anchor) => {\n if (n1 == null) {\n hostInsert(\n n2.el = hostCreateComment(n2.children || \"\"),\n container,\n anchor\n );\n } else {\n n2.el = n1.el;\n }\n };\n const mountStaticNode = (n2, container, anchor, namespace) => {\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n namespace,\n n2.el,\n n2.anchor\n );\n };\n const patchStaticNode = (n1, n2, container, namespace) => {\n if (n2.children !== n1.children) {\n const anchor = hostNextSibling(n1.anchor);\n removeStaticNode(n1);\n [n2.el, n2.anchor] = hostInsertStaticContent(\n n2.children,\n container,\n anchor,\n namespace\n );\n } else {\n n2.el = n1.el;\n n2.anchor = n1.anchor;\n }\n };\n const moveStaticNode = ({ el, anchor }, container, nextSibling) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostInsert(el, container, nextSibling);\n el = next;\n }\n hostInsert(anchor, container, nextSibling);\n };\n const removeStaticNode = ({ el, anchor }) => {\n let next;\n while (el && el !== anchor) {\n next = hostNextSibling(el);\n hostRemove(el);\n el = next;\n }\n hostRemove(anchor);\n };\n const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n if (n2.type === \"svg\") {\n namespace = \"svg\";\n } else if (n2.type === \"math\") {\n namespace = \"mathml\";\n }\n if (n1 == null) {\n mountElement(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n patchElement(\n n1,\n n2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n let el;\n let vnodeHook;\n const { props, shapeFlag, transition, dirs } = vnode;\n el = vnode.el = hostCreateElement(\n vnode.type,\n namespace,\n props && props.is,\n props\n );\n if (shapeFlag & 8) {\n hostSetElementText(el, vnode.children);\n } else if (shapeFlag & 16) {\n mountChildren(\n vnode.children,\n el,\n null,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(vnode, namespace),\n slotScopeIds,\n optimized\n );\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n setScopeId(el, vnode, vnode.scopeId, slotScopeIds, parentComponent);\n if (props) {\n for (const key in props) {\n if (key !== \"value\" && !isReservedProp(key)) {\n hostPatchProp(\n el,\n key,\n null,\n props[key],\n namespace,\n vnode.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n if (\"value\" in props) {\n hostPatchProp(el, \"value\", null, props.value, namespace);\n }\n if (vnodeHook = props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n Object.defineProperty(el, \"__vnode\", {\n value: vnode,\n enumerable: false\n });\n Object.defineProperty(el, \"__vueParentComponent\", {\n value: parentComponent,\n enumerable: false\n });\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n const needCallTransitionHooks = needTransition(parentSuspense, transition);\n if (needCallTransitionHooks) {\n transition.beforeEnter(el);\n }\n hostInsert(el, container, anchor);\n if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n };\n const setScopeId = (el, vnode, scopeId, slotScopeIds, parentComponent) => {\n if (scopeId) {\n hostSetScopeId(el, scopeId);\n }\n if (slotScopeIds) {\n for (let i = 0; i < slotScopeIds.length; i++) {\n hostSetScopeId(el, slotScopeIds[i]);\n }\n }\n if (parentComponent) {\n let subTree = parentComponent.subTree;\n if (!!(process.env.NODE_ENV !== \"production\") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {\n subTree = filterSingleRoot(subTree.children) || subTree;\n }\n if (vnode === subTree) {\n const parentVNode = parentComponent.vnode;\n setScopeId(\n el,\n parentVNode,\n parentVNode.scopeId,\n parentVNode.slotScopeIds,\n parentComponent.parent\n );\n }\n }\n };\n const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {\n for (let i = start; i < children.length; i++) {\n const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);\n patch(\n null,\n child,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const patchElement = (n1, n2, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n const el = n2.el = n1.el;\n let { patchFlag, dynamicChildren, dirs } = n2;\n patchFlag |= n1.patchFlag & 16;\n const oldProps = n1.props || EMPTY_OBJ;\n const newProps = n2.props || EMPTY_OBJ;\n let vnodeHook;\n parentComponent && toggleRecurse(parentComponent, false);\n if (vnodeHook = newProps.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n }\n if (dirs) {\n invokeDirectiveHook(n2, n1, parentComponent, \"beforeUpdate\");\n }\n parentComponent && toggleRecurse(parentComponent, true);\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n el,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(n2, namespace),\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n }\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n el,\n null,\n parentComponent,\n parentSuspense,\n resolveChildrenNamespace(n2, namespace),\n slotScopeIds,\n false\n );\n }\n if (patchFlag > 0) {\n if (patchFlag & 16) {\n patchProps(\n el,\n n2,\n oldProps,\n newProps,\n parentComponent,\n parentSuspense,\n namespace\n );\n } else {\n if (patchFlag & 2) {\n if (oldProps.class !== newProps.class) {\n hostPatchProp(el, \"class\", null, newProps.class, namespace);\n }\n }\n if (patchFlag & 4) {\n hostPatchProp(el, \"style\", oldProps.style, newProps.style, namespace);\n }\n if (patchFlag & 8) {\n const propsToUpdate = n2.dynamicProps;\n for (let i = 0; i < propsToUpdate.length; i++) {\n const key = propsToUpdate[i];\n const prev = oldProps[key];\n const next = newProps[key];\n if (next !== prev || key === \"value\") {\n hostPatchProp(\n el,\n key,\n prev,\n next,\n namespace,\n n1.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n }\n }\n if (patchFlag & 1) {\n if (n1.children !== n2.children) {\n hostSetElementText(el, n2.children);\n }\n }\n } else if (!optimized && dynamicChildren == null) {\n patchProps(\n el,\n n2,\n oldProps,\n newProps,\n parentComponent,\n parentSuspense,\n namespace\n );\n }\n if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);\n dirs && invokeDirectiveHook(n2, n1, parentComponent, \"updated\");\n }, parentSuspense);\n }\n };\n const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, namespace, slotScopeIds) => {\n for (let i = 0; i < newChildren.length; i++) {\n const oldVNode = oldChildren[i];\n const newVNode = newChildren[i];\n const container = (\n // oldVNode may be an errored async setup() component inside Suspense\n // which will not have a mounted element\n oldVNode.el && // - In the case of a Fragment, we need to provide the actual parent\n // of the Fragment itself so it can move its children.\n (oldVNode.type === Fragment || // - In the case of different nodes, there is going to be a replacement\n // which also requires the correct parent container\n !isSameVNodeType(oldVNode, newVNode) || // - In the case of a component, it could contain anything.\n oldVNode.shapeFlag & (6 | 64)) ? hostParentNode(oldVNode.el) : (\n // In other cases, the parent container is not actually used so we\n // just pass the block element here to avoid a DOM parentNode call.\n fallbackContainer\n )\n );\n patch(\n oldVNode,\n newVNode,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n true\n );\n }\n };\n const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, namespace) => {\n if (oldProps !== newProps) {\n if (oldProps !== EMPTY_OBJ) {\n for (const key in oldProps) {\n if (!isReservedProp(key) && !(key in newProps)) {\n hostPatchProp(\n el,\n key,\n oldProps[key],\n null,\n namespace,\n vnode.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n }\n for (const key in newProps) {\n if (isReservedProp(key))\n continue;\n const next = newProps[key];\n const prev = oldProps[key];\n if (next !== prev && key !== \"value\") {\n hostPatchProp(\n el,\n key,\n prev,\n next,\n namespace,\n vnode.children,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n }\n }\n if (\"value\" in newProps) {\n hostPatchProp(el, \"value\", oldProps.value, newProps.value, namespace);\n }\n }\n };\n const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText(\"\");\n const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText(\"\");\n let { patchFlag, dynamicChildren, slotScopeIds: fragmentSlotScopeIds } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && // #5523 dev root fragment may inherit directives\n (isHmrUpdating || patchFlag & 2048)) {\n patchFlag = 0;\n optimized = false;\n dynamicChildren = null;\n }\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n if (n1 == null) {\n hostInsert(fragmentStartAnchor, container, anchor);\n hostInsert(fragmentEndAnchor, container, anchor);\n mountChildren(\n // #10007\n // such fragment like `<></>` will be compiled into\n // a fragment which doesn't have a children.\n // In this case fallback to an empty array\n n2.children || [],\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n if (patchFlag > 0 && patchFlag & 64 && dynamicChildren && // #2715 the previous fragment could've been a BAILed one as a result\n // of renderSlot() with no valid children\n n1.dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n container,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n traverseStaticChildren(n1, n2);\n } else if (\n // #2080 if the stable fragment has a key, it's a <template v-for> that may\n // get moved around. Make sure all root level vnodes inherit el.\n // #2134 or if it's a component root, it may also get moved around\n // as the component is being moved.\n n2.key != null || parentComponent && n2 === parentComponent.subTree\n ) {\n traverseStaticChildren(\n n1,\n n2,\n true\n /* shallow */\n );\n }\n } else {\n patchChildren(\n n1,\n n2,\n container,\n fragmentEndAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n }\n };\n const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n n2.slotScopeIds = slotScopeIds;\n if (n1 == null) {\n if (n2.shapeFlag & 512) {\n parentComponent.ctx.activate(\n n2,\n container,\n anchor,\n namespace,\n optimized\n );\n } else {\n mountComponent(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n optimized\n );\n }\n } else {\n updateComponent(n1, n2, optimized);\n }\n };\n const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, namespace, optimized) => {\n const instance = (initialVNode.component = createComponentInstance(\n initialVNode,\n parentComponent,\n parentSuspense\n ));\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n registerHMR(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(initialVNode);\n startMeasure(instance, `mount`);\n }\n if (isKeepAlive(initialVNode)) {\n instance.ctx.renderer = internals;\n }\n {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `init`);\n }\n setupComponent(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `init`);\n }\n }\n if (instance.asyncDep) {\n parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);\n if (!initialVNode.el) {\n const placeholder = instance.subTree = createVNode(Comment);\n processCommentNode(null, placeholder, container, anchor);\n }\n } else {\n setupRenderEffect(\n instance,\n initialVNode,\n container,\n anchor,\n parentSuspense,\n namespace,\n optimized\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n endMeasure(instance, `mount`);\n }\n };\n const updateComponent = (n1, n2, optimized) => {\n const instance = n2.component = n1.component;\n if (shouldUpdateComponent(n1, n2, optimized)) {\n if (instance.asyncDep && !instance.asyncResolved) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(n2);\n }\n updateComponentPreRender(instance, n2, optimized);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n return;\n } else {\n instance.next = n2;\n invalidateJob(instance.update);\n instance.effect.dirty = true;\n instance.update();\n }\n } else {\n n2.el = n1.el;\n instance.vnode = n2;\n }\n };\n const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, namespace, optimized) => {\n const componentUpdateFn = () => {\n if (!instance.isMounted) {\n let vnodeHook;\n const { el, props } = initialVNode;\n const { bm, m, parent } = instance;\n const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);\n toggleRecurse(instance, false);\n if (bm) {\n invokeArrayFns(bm);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeBeforeMount)) {\n invokeVNodeHook(vnodeHook, parent, initialVNode);\n }\n toggleRecurse(instance, true);\n if (el && hydrateNode) {\n const hydrateSubTree = () => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `hydrate`);\n }\n hydrateNode(\n el,\n instance.subTree,\n instance,\n parentSuspense,\n null\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `hydrate`);\n }\n };\n if (isAsyncWrapperVNode) {\n initialVNode.type.__asyncLoader().then(\n // note: we are moving the render call into an async callback,\n // which means it won't track dependencies - but it's ok because\n // a server-rendered async wrapper is already in resolved state\n // and it will never need to change.\n () => !instance.isUnmounted && hydrateSubTree()\n );\n } else {\n hydrateSubTree();\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const subTree = instance.subTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n null,\n subTree,\n container,\n anchor,\n instance,\n parentSuspense,\n namespace\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n initialVNode.el = subTree.el;\n }\n if (m) {\n queuePostRenderEffect(m, parentSuspense);\n }\n if (!isAsyncWrapperVNode && (vnodeHook = props && props.onVnodeMounted)) {\n const scopedInitialVNode = initialVNode;\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, scopedInitialVNode),\n parentSuspense\n );\n }\n if (initialVNode.shapeFlag & 256 || parent && isAsyncWrapper(parent.vnode) && parent.vnode.shapeFlag & 256) {\n instance.a && queuePostRenderEffect(instance.a, parentSuspense);\n }\n instance.isMounted = true;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance);\n }\n initialVNode = container = anchor = null;\n } else {\n let { next, bu, u, parent, vnode } = instance;\n {\n const nonHydratedAsyncRoot = locateNonHydratedAsyncRoot(instance);\n if (nonHydratedAsyncRoot) {\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n }\n nonHydratedAsyncRoot.asyncDep.then(() => {\n if (!instance.isUnmounted) {\n componentUpdateFn();\n }\n });\n return;\n }\n }\n let originNext = next;\n let vnodeHook;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(next || instance.vnode);\n }\n toggleRecurse(instance, false);\n if (next) {\n next.el = vnode.el;\n updateComponentPreRender(instance, next, optimized);\n } else {\n next = vnode;\n }\n if (bu) {\n invokeArrayFns(bu);\n }\n if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {\n invokeVNodeHook(vnodeHook, parent, next, vnode);\n }\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `render`);\n }\n const nextTree = renderComponentRoot(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `render`);\n }\n const prevTree = instance.subTree;\n instance.subTree = nextTree;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `patch`);\n }\n patch(\n prevTree,\n nextTree,\n // parent may have changed if it's in a teleport\n hostParentNode(prevTree.el),\n // anchor may have changed if it's in a fragment\n getNextHostNode(prevTree),\n instance,\n parentSuspense,\n namespace\n );\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `patch`);\n }\n next.el = nextTree.el;\n if (originNext === null) {\n updateHOCHostEl(instance, nextTree.el);\n }\n if (u) {\n queuePostRenderEffect(u, parentSuspense);\n }\n if (vnodeHook = next.props && next.props.onVnodeUpdated) {\n queuePostRenderEffect(\n () => invokeVNodeHook(vnodeHook, parent, next, vnode),\n parentSuspense\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(instance);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n }\n };\n const effect = instance.effect = new ReactiveEffect(\n componentUpdateFn,\n NOOP,\n () => queueJob(update),\n instance.scope\n // track it in component's effect scope\n );\n const update = instance.update = () => {\n if (effect.dirty) {\n effect.run();\n }\n };\n update.id = instance.uid;\n toggleRecurse(instance, true);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = instance.rtc ? (e) => invokeArrayFns(instance.rtc, e) : void 0;\n effect.onTrigger = instance.rtg ? (e) => invokeArrayFns(instance.rtg, e) : void 0;\n update.ownerInstance = instance;\n }\n update();\n };\n const updateComponentPreRender = (instance, nextVNode, optimized) => {\n nextVNode.component = instance;\n const prevProps = instance.vnode.props;\n instance.vnode = nextVNode;\n instance.next = null;\n updateProps(instance, nextVNode.props, prevProps, optimized);\n updateSlots(instance, nextVNode.children, optimized);\n pauseTracking();\n flushPreFlushCbs(instance);\n resetTracking();\n };\n const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized = false) => {\n const c1 = n1 && n1.children;\n const prevShapeFlag = n1 ? n1.shapeFlag : 0;\n const c2 = n2.children;\n const { patchFlag, shapeFlag } = n2;\n if (patchFlag > 0) {\n if (patchFlag & 128) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n return;\n } else if (patchFlag & 256) {\n patchUnkeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n return;\n }\n }\n if (shapeFlag & 8) {\n if (prevShapeFlag & 16) {\n unmountChildren(c1, parentComponent, parentSuspense);\n }\n if (c2 !== c1) {\n hostSetElementText(container, c2);\n }\n } else {\n if (prevShapeFlag & 16) {\n if (shapeFlag & 16) {\n patchKeyedChildren(\n c1,\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n unmountChildren(c1, parentComponent, parentSuspense, true);\n }\n } else {\n if (prevShapeFlag & 8) {\n hostSetElementText(container, \"\");\n }\n if (shapeFlag & 16) {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n }\n }\n };\n const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n c1 = c1 || EMPTY_ARR;\n c2 = c2 || EMPTY_ARR;\n const oldLength = c1.length;\n const newLength = c2.length;\n const commonLength = Math.min(oldLength, newLength);\n let i;\n for (i = 0; i < commonLength; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n patch(\n c1[i],\n nextChild,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n if (oldLength > newLength) {\n unmountChildren(\n c1,\n parentComponent,\n parentSuspense,\n true,\n false,\n commonLength\n );\n } else {\n mountChildren(\n c2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n commonLength\n );\n }\n };\n const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {\n let i = 0;\n const l2 = c2.length;\n let e1 = c1.length - 1;\n let e2 = l2 - 1;\n while (i <= e1 && i <= e2) {\n const n1 = c1[i];\n const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n i++;\n }\n while (i <= e1 && i <= e2) {\n const n1 = c1[e1];\n const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);\n if (isSameVNodeType(n1, n2)) {\n patch(\n n1,\n n2,\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else {\n break;\n }\n e1--;\n e2--;\n }\n if (i > e1) {\n if (i <= e2) {\n const nextPos = e2 + 1;\n const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;\n while (i <= e2) {\n patch(\n null,\n c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]),\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n i++;\n }\n }\n } else if (i > e2) {\n while (i <= e1) {\n unmount(c1[i], parentComponent, parentSuspense, true);\n i++;\n }\n } else {\n const s1 = i;\n const s2 = i;\n const keyToNewIndexMap = /* @__PURE__ */ new Map();\n for (i = s2; i <= e2; i++) {\n const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);\n if (nextChild.key != null) {\n if (!!(process.env.NODE_ENV !== \"production\") && keyToNewIndexMap.has(nextChild.key)) {\n warn$1(\n `Duplicate keys found during update:`,\n JSON.stringify(nextChild.key),\n `Make sure keys are unique.`\n );\n }\n keyToNewIndexMap.set(nextChild.key, i);\n }\n }\n let j;\n let patched = 0;\n const toBePatched = e2 - s2 + 1;\n let moved = false;\n let maxNewIndexSoFar = 0;\n const newIndexToOldIndexMap = new Array(toBePatched);\n for (i = 0; i < toBePatched; i++)\n newIndexToOldIndexMap[i] = 0;\n for (i = s1; i <= e1; i++) {\n const prevChild = c1[i];\n if (patched >= toBePatched) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n continue;\n }\n let newIndex;\n if (prevChild.key != null) {\n newIndex = keyToNewIndexMap.get(prevChild.key);\n } else {\n for (j = s2; j <= e2; j++) {\n if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {\n newIndex = j;\n break;\n }\n }\n }\n if (newIndex === void 0) {\n unmount(prevChild, parentComponent, parentSuspense, true);\n } else {\n newIndexToOldIndexMap[newIndex - s2] = i + 1;\n if (newIndex >= maxNewIndexSoFar) {\n maxNewIndexSoFar = newIndex;\n } else {\n moved = true;\n }\n patch(\n prevChild,\n c2[newIndex],\n container,\n null,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n patched++;\n }\n }\n const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;\n j = increasingNewIndexSequence.length - 1;\n for (i = toBePatched - 1; i >= 0; i--) {\n const nextIndex = s2 + i;\n const nextChild = c2[nextIndex];\n const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;\n if (newIndexToOldIndexMap[i] === 0) {\n patch(\n null,\n nextChild,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n } else if (moved) {\n if (j < 0 || i !== increasingNewIndexSequence[j]) {\n move(nextChild, container, anchor, 2);\n } else {\n j--;\n }\n }\n }\n }\n };\n const move = (vnode, container, anchor, moveType, parentSuspense = null) => {\n const { el, type, transition, children, shapeFlag } = vnode;\n if (shapeFlag & 6) {\n move(vnode.component.subTree, container, anchor, moveType);\n return;\n }\n if (shapeFlag & 128) {\n vnode.suspense.move(container, anchor, moveType);\n return;\n }\n if (shapeFlag & 64) {\n type.move(vnode, container, anchor, internals);\n return;\n }\n if (type === Fragment) {\n hostInsert(el, container, anchor);\n for (let i = 0; i < children.length; i++) {\n move(children[i], container, anchor, moveType);\n }\n hostInsert(vnode.anchor, container, anchor);\n return;\n }\n if (type === Static) {\n moveStaticNode(vnode, container, anchor);\n return;\n }\n const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;\n if (needTransition2) {\n if (moveType === 0) {\n transition.beforeEnter(el);\n hostInsert(el, container, anchor);\n queuePostRenderEffect(() => transition.enter(el), parentSuspense);\n } else {\n const { leave, delayLeave, afterLeave } = transition;\n const remove2 = () => hostInsert(el, container, anchor);\n const performLeave = () => {\n leave(el, () => {\n remove2();\n afterLeave && afterLeave();\n });\n };\n if (delayLeave) {\n delayLeave(el, remove2, performLeave);\n } else {\n performLeave();\n }\n }\n } else {\n hostInsert(el, container, anchor);\n }\n };\n const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {\n const {\n type,\n props,\n ref,\n children,\n dynamicChildren,\n shapeFlag,\n patchFlag,\n dirs\n } = vnode;\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode, true);\n }\n if (shapeFlag & 256) {\n parentComponent.ctx.deactivate(vnode);\n return;\n }\n const shouldInvokeDirs = shapeFlag & 1 && dirs;\n const shouldInvokeVnodeHook = !isAsyncWrapper(vnode);\n let vnodeHook;\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeBeforeUnmount)) {\n invokeVNodeHook(vnodeHook, parentComponent, vnode);\n }\n if (shapeFlag & 6) {\n unmountComponent(vnode.component, parentSuspense, doRemove);\n } else {\n if (shapeFlag & 128) {\n vnode.suspense.unmount(parentSuspense, doRemove);\n return;\n }\n if (shouldInvokeDirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeUnmount\");\n }\n if (shapeFlag & 64) {\n vnode.type.remove(\n vnode,\n parentComponent,\n parentSuspense,\n optimized,\n internals,\n doRemove\n );\n } else if (dynamicChildren && // #1153: fast path should not be taken for non-stable (v-for) fragments\n (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {\n unmountChildren(\n dynamicChildren,\n parentComponent,\n parentSuspense,\n false,\n true\n );\n } else if (type === Fragment && patchFlag & (128 | 256) || !optimized && shapeFlag & 16) {\n unmountChildren(children, parentComponent, parentSuspense);\n }\n if (doRemove) {\n remove(vnode);\n }\n }\n if (shouldInvokeVnodeHook && (vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {\n queuePostRenderEffect(() => {\n vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);\n shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, \"unmounted\");\n }, parentSuspense);\n }\n };\n const remove = (vnode) => {\n const { type, el, anchor, transition } = vnode;\n if (type === Fragment) {\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.patchFlag > 0 && vnode.patchFlag & 2048 && transition && !transition.persisted) {\n vnode.children.forEach((child) => {\n if (child.type === Comment) {\n hostRemove(child.el);\n } else {\n remove(child);\n }\n });\n } else {\n removeFragment(el, anchor);\n }\n return;\n }\n if (type === Static) {\n removeStaticNode(vnode);\n return;\n }\n const performRemove = () => {\n hostRemove(el);\n if (transition && !transition.persisted && transition.afterLeave) {\n transition.afterLeave();\n }\n };\n if (vnode.shapeFlag & 1 && transition && !transition.persisted) {\n const { leave, delayLeave } = transition;\n const performLeave = () => leave(el, performRemove);\n if (delayLeave) {\n delayLeave(vnode.el, performRemove, performLeave);\n } else {\n performLeave();\n }\n } else {\n performRemove();\n }\n };\n const removeFragment = (cur, end) => {\n let next;\n while (cur !== end) {\n next = hostNextSibling(cur);\n hostRemove(cur);\n cur = next;\n }\n hostRemove(end);\n };\n const unmountComponent = (instance, parentSuspense, doRemove) => {\n if (!!(process.env.NODE_ENV !== \"production\") && instance.type.__hmrId) {\n unregisterHMR(instance);\n }\n const { bum, scope, update, subTree, um } = instance;\n if (bum) {\n invokeArrayFns(bum);\n }\n scope.stop();\n if (update) {\n update.active = false;\n unmount(subTree, instance, parentSuspense, doRemove);\n }\n if (um) {\n queuePostRenderEffect(um, parentSuspense);\n }\n queuePostRenderEffect(() => {\n instance.isUnmounted = true;\n }, parentSuspense);\n if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0) {\n parentSuspense.resolve();\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentRemoved(instance);\n }\n };\n const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {\n for (let i = start; i < children.length; i++) {\n unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);\n }\n };\n const getNextHostNode = (vnode) => {\n if (vnode.shapeFlag & 6) {\n return getNextHostNode(vnode.component.subTree);\n }\n if (vnode.shapeFlag & 128) {\n return vnode.suspense.next();\n }\n return hostNextSibling(vnode.anchor || vnode.el);\n };\n let isFlushing = false;\n const render = (vnode, container, namespace) => {\n if (vnode == null) {\n if (container._vnode) {\n unmount(container._vnode, null, null, true);\n }\n } else {\n patch(\n container._vnode || null,\n vnode,\n container,\n null,\n null,\n null,\n namespace\n );\n }\n if (!isFlushing) {\n isFlushing = true;\n flushPreFlushCbs();\n flushPostFlushCbs();\n isFlushing = false;\n }\n container._vnode = vnode;\n };\n const internals = {\n p: patch,\n um: unmount,\n m: move,\n r: remove,\n mt: mountComponent,\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n n: getNextHostNode,\n o: options\n };\n let hydrate;\n let hydrateNode;\n if (createHydrationFns) {\n [hydrate, hydrateNode] = createHydrationFns(\n internals\n );\n }\n return {\n render,\n hydrate,\n createApp: createAppAPI(render, hydrate)\n };\n}\nfunction resolveChildrenNamespace({ type, props }, currentNamespace) {\n return currentNamespace === \"svg\" && type === \"foreignObject\" || currentNamespace === \"mathml\" && type === \"annotation-xml\" && props && props.encoding && props.encoding.includes(\"html\") ? void 0 : currentNamespace;\n}\nfunction toggleRecurse({ effect, update }, allowed) {\n effect.allowRecurse = update.allowRecurse = allowed;\n}\nfunction needTransition(parentSuspense, transition) {\n return (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;\n}\nfunction traverseStaticChildren(n1, n2, shallow = false) {\n const ch1 = n1.children;\n const ch2 = n2.children;\n if (isArray(ch1) && isArray(ch2)) {\n for (let i = 0; i < ch1.length; i++) {\n const c1 = ch1[i];\n let c2 = ch2[i];\n if (c2.shapeFlag & 1 && !c2.dynamicChildren) {\n if (c2.patchFlag <= 0 || c2.patchFlag === 32) {\n c2 = ch2[i] = cloneIfMounted(ch2[i]);\n c2.el = c1.el;\n }\n if (!shallow)\n traverseStaticChildren(c1, c2);\n }\n if (c2.type === Text) {\n c2.el = c1.el;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && c2.type === Comment && !c2.el) {\n c2.el = c1.el;\n }\n }\n }\n}\nfunction getSequence(arr) {\n const p = arr.slice();\n const result = [0];\n let i, j, u, v, c;\n const len = arr.length;\n for (i = 0; i < len; i++) {\n const arrI = arr[i];\n if (arrI !== 0) {\n j = result[result.length - 1];\n if (arr[j] < arrI) {\n p[i] = j;\n result.push(i);\n continue;\n }\n u = 0;\n v = result.length - 1;\n while (u < v) {\n c = u + v >> 1;\n if (arr[result[c]] < arrI) {\n u = c + 1;\n } else {\n v = c;\n }\n }\n if (arrI < arr[result[u]]) {\n if (u > 0) {\n p[i] = result[u - 1];\n }\n result[u] = i;\n }\n }\n }\n u = result.length;\n v = result[u - 1];\n while (u-- > 0) {\n result[u] = v;\n v = p[v];\n }\n return result;\n}\nfunction locateNonHydratedAsyncRoot(instance) {\n const subComponent = instance.subTree.component;\n if (subComponent) {\n if (subComponent.asyncDep && !subComponent.asyncResolved) {\n return subComponent;\n } else {\n return locateNonHydratedAsyncRoot(subComponent);\n }\n }\n}\n\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!target) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = n2.targetAnchor = createText(\"\");\n if (target) {\n insert(targetAnchor, target);\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\"Invalid Teleport target on mount:\", target, `(${typeof target})`);\n }\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n } else if (target) {\n mount(target, targetAnchor);\n }\n } else {\n n2.el = n1.el;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n }\n updateCssVars(n2);\n },\n remove(vnode, parentComponent, parentSuspense, optimized, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const { shapeFlag, children, anchor, targetAnchor, target, props } = vnode;\n if (target) {\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (isTeleportDisabled(vnode.props)) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetAnchor = targetNode;\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n targetAnchor = nextSibling(targetAnchor);\n if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n hydrateChildren(\n targetNode,\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node = vnode.children[0].el;\n while (node && node !== vnode.targetAnchor) {\n if (node.nodeType === 1)\n node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\n\nconst Fragment = Symbol.for(\"v-fgt\");\nconst Text = Symbol.for(\"v-txt\");\nconst Comment = Symbol.for(\"v-cmt\");\nconst Static = Symbol.for(\"v-stc\");\nconst blockStack = [];\nlet currentBlock = null;\nfunction openBlock(disableTracking = false) {\n blockStack.push(currentBlock = disableTracking ? null : []);\n}\nfunction closeBlock() {\n blockStack.pop();\n currentBlock = blockStack[blockStack.length - 1] || null;\n}\nlet isBlockTreeEnabled = 1;\nfunction setBlockTracking(value) {\n isBlockTreeEnabled += value;\n}\nfunction setupBlock(vnode) {\n vnode.dynamicChildren = isBlockTreeEnabled > 0 ? currentBlock || EMPTY_ARR : null;\n closeBlock();\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nfunction createElementBlock(type, props, children, patchFlag, dynamicProps, shapeFlag) {\n return setupBlock(\n createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n true\n )\n );\n}\nfunction createBlock(type, props, children, patchFlag, dynamicProps) {\n return setupBlock(\n createVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n true\n )\n );\n}\nfunction isVNode(value) {\n return value ? value.__v_isVNode === true : false;\n}\nfunction isSameVNodeType(n1, n2) {\n if (!!(process.env.NODE_ENV !== \"production\") && n2.shapeFlag & 6 && hmrDirtyComponents.has(n2.type)) {\n n1.shapeFlag &= ~256;\n n2.shapeFlag &= ~512;\n return false;\n }\n return n1.type === n2.type && n1.key === n2.key;\n}\nlet vnodeArgsTransformer;\nfunction transformVNodeArgs(transformer) {\n vnodeArgsTransformer = transformer;\n}\nconst createVNodeWithArgsTransform = (...args) => {\n return _createVNode(\n ...vnodeArgsTransformer ? vnodeArgsTransformer(args, currentRenderingInstance) : args\n );\n};\nconst normalizeKey = ({ key }) => key != null ? key : null;\nconst normalizeRef = ({\n ref,\n ref_key,\n ref_for\n}) => {\n if (typeof ref === \"number\") {\n ref = \"\" + ref;\n }\n return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;\n};\nfunction createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {\n const vnode = {\n __v_isVNode: true,\n __v_skip: true,\n type,\n props,\n key: props && normalizeKey(props),\n ref: props && normalizeRef(props),\n scopeId: currentScopeId,\n slotScopeIds: null,\n children,\n component: null,\n suspense: null,\n ssContent: null,\n ssFallback: null,\n dirs: null,\n transition: null,\n el: null,\n anchor: null,\n target: null,\n targetAnchor: null,\n staticCount: 0,\n shapeFlag,\n patchFlag,\n dynamicProps,\n dynamicChildren: null,\n appContext: null,\n ctx: currentRenderingInstance\n };\n if (needFullChildrenNormalization) {\n normalizeChildren(vnode, children);\n if (shapeFlag & 128) {\n type.normalize(vnode);\n }\n } else if (children) {\n vnode.shapeFlag |= isString(children) ? 8 : 16;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.key !== vnode.key) {\n warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);\n }\n if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself\n !isBlockNode && // has current parent block\n currentBlock && // presence of a patch flag indicates this node needs patching on updates.\n // component nodes also should always be patched, because even if the\n // component doesn't need to update, it needs to persist the instance on to\n // the next vnode so that it can be properly unmounted later.\n (vnode.patchFlag > 0 || shapeFlag & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the\n // vnode should not be considered dynamic due to handler caching.\n vnode.patchFlag !== 32) {\n currentBlock.push(vnode);\n }\n return vnode;\n}\nconst createVNode = !!(process.env.NODE_ENV !== \"production\") ? createVNodeWithArgsTransform : _createVNode;\nfunction _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {\n if (!type || type === NULL_DYNAMIC_COMPONENT) {\n if (!!(process.env.NODE_ENV !== \"production\") && !type) {\n warn$1(`Invalid vnode type when creating vnode: ${type}.`);\n }\n type = Comment;\n }\n if (isVNode(type)) {\n const cloned = cloneVNode(\n type,\n props,\n true\n /* mergeRef: true */\n );\n if (children) {\n normalizeChildren(cloned, children);\n }\n if (isBlockTreeEnabled > 0 && !isBlockNode && currentBlock) {\n if (cloned.shapeFlag & 6) {\n currentBlock[currentBlock.indexOf(type)] = cloned;\n } else {\n currentBlock.push(cloned);\n }\n }\n cloned.patchFlag |= -2;\n return cloned;\n }\n if (isClassComponent(type)) {\n type = type.__vccOpts;\n }\n if (props) {\n props = guardReactiveProps(props);\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (isObject(style)) {\n if (isProxy(style) && !isArray(style)) {\n style = extend({}, style);\n }\n props.style = normalizeStyle(style);\n }\n }\n const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;\n if (!!(process.env.NODE_ENV !== \"production\") && shapeFlag & 4 && isProxy(type)) {\n type = toRaw(type);\n warn$1(\n `Vue received a Component that was made a reactive object. This can lead to unnecessary performance overhead and should be avoided by marking the component with \\`markRaw\\` or using \\`shallowRef\\` instead of \\`ref\\`.`,\n `\nComponent that was made reactive: `,\n type\n );\n }\n return createBaseVNode(\n type,\n props,\n children,\n patchFlag,\n dynamicProps,\n shapeFlag,\n isBlockNode,\n true\n );\n}\nfunction guardReactiveProps(props) {\n if (!props)\n return null;\n return isProxy(props) || isInternalObject(props) ? extend({}, props) : props;\n}\nfunction cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false) {\n const { props, ref, patchFlag, children, transition } = vnode;\n const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;\n const cloned = {\n __v_isVNode: true,\n __v_skip: true,\n type: vnode.type,\n props: mergedProps,\n key: mergedProps && normalizeKey(mergedProps),\n ref: extraProps && extraProps.ref ? (\n // #2078 in the case of <component :is=\"vnode\" ref=\"extra\"/>\n // if the vnode itself already has a ref, cloneVNode will need to merge\n // the refs so the single vnode can be set on multiple refs\n mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps)\n ) : ref,\n scopeId: vnode.scopeId,\n slotScopeIds: vnode.slotScopeIds,\n children: !!(process.env.NODE_ENV !== \"production\") && patchFlag === -1 && isArray(children) ? children.map(deepCloneVNode) : children,\n target: vnode.target,\n targetAnchor: vnode.targetAnchor,\n staticCount: vnode.staticCount,\n shapeFlag: vnode.shapeFlag,\n // if the vnode is cloned with extra props, we can no longer assume its\n // existing patch flag to be reliable and need to add the FULL_PROPS flag.\n // note: preserve flag for fragments since they use the flag for children\n // fast paths only.\n patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,\n dynamicProps: vnode.dynamicProps,\n dynamicChildren: vnode.dynamicChildren,\n appContext: vnode.appContext,\n dirs: vnode.dirs,\n transition,\n // These should technically only be non-null on mounted VNodes. However,\n // they *should* be copied for kept-alive vnodes. So we just always copy\n // them since them being non-null during a mount doesn't affect the logic as\n // they will simply be overwritten.\n component: vnode.component,\n suspense: vnode.suspense,\n ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),\n ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),\n el: vnode.el,\n anchor: vnode.anchor,\n ctx: vnode.ctx,\n ce: vnode.ce\n };\n if (transition && cloneTransition) {\n cloned.transition = transition.clone(cloned);\n }\n return cloned;\n}\nfunction deepCloneVNode(vnode) {\n const cloned = cloneVNode(vnode);\n if (isArray(vnode.children)) {\n cloned.children = vnode.children.map(deepCloneVNode);\n }\n return cloned;\n}\nfunction createTextVNode(text = \" \", flag = 0) {\n return createVNode(Text, null, text, flag);\n}\nfunction createStaticVNode(content, numberOfNodes) {\n const vnode = createVNode(Static, null, content);\n vnode.staticCount = numberOfNodes;\n return vnode;\n}\nfunction createCommentVNode(text = \"\", asBlock = false) {\n return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);\n}\nfunction normalizeVNode(child) {\n if (child == null || typeof child === \"boolean\") {\n return createVNode(Comment);\n } else if (isArray(child)) {\n return createVNode(\n Fragment,\n null,\n // #3666, avoid reference pollution when reusing vnode\n child.slice()\n );\n } else if (typeof child === \"object\") {\n return cloneIfMounted(child);\n } else {\n return createVNode(Text, null, String(child));\n }\n}\nfunction cloneIfMounted(child) {\n return child.el === null && child.patchFlag !== -1 || child.memo ? child : cloneVNode(child);\n}\nfunction normalizeChildren(vnode, children) {\n let type = 0;\n const { shapeFlag } = vnode;\n if (children == null) {\n children = null;\n } else if (isArray(children)) {\n type = 16;\n } else if (typeof children === \"object\") {\n if (shapeFlag & (1 | 64)) {\n const slot = children.default;\n if (slot) {\n slot._c && (slot._d = false);\n normalizeChildren(vnode, slot());\n slot._c && (slot._d = true);\n }\n return;\n } else {\n type = 32;\n const slotFlag = children._;\n if (!slotFlag && !isInternalObject(children)) {\n children._ctx = currentRenderingInstance;\n } else if (slotFlag === 3 && currentRenderingInstance) {\n if (currentRenderingInstance.slots._ === 1) {\n children._ = 1;\n } else {\n children._ = 2;\n vnode.patchFlag |= 1024;\n }\n }\n }\n } else if (isFunction(children)) {\n children = { default: children, _ctx: currentRenderingInstance };\n type = 32;\n } else {\n children = String(children);\n if (shapeFlag & 64) {\n type = 16;\n children = [createTextVNode(children)];\n } else {\n type = 8;\n }\n }\n vnode.children = children;\n vnode.shapeFlag |= type;\n}\nfunction mergeProps(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n const toMerge = args[i];\n for (const key in toMerge) {\n if (key === \"class\") {\n if (ret.class !== toMerge.class) {\n ret.class = normalizeClass([ret.class, toMerge.class]);\n }\n } else if (key === \"style\") {\n ret.style = normalizeStyle([ret.style, toMerge.style]);\n } else if (isOn(key)) {\n const existing = ret[key];\n const incoming = toMerge[key];\n if (incoming && existing !== incoming && !(isArray(existing) && existing.includes(incoming))) {\n ret[key] = existing ? [].concat(existing, incoming) : incoming;\n }\n } else if (key !== \"\") {\n ret[key] = toMerge[key];\n }\n }\n }\n return ret;\n}\nfunction invokeVNodeHook(hook, instance, vnode, prevVNode = null) {\n callWithAsyncErrorHandling(hook, instance, 7, [\n vnode,\n prevVNode\n ]);\n}\n\nconst emptyAppContext = createAppContext();\nlet uid = 0;\nfunction createComponentInstance(vnode, parent, suspense) {\n const type = vnode.type;\n const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;\n const instance = {\n uid: uid++,\n vnode,\n type,\n parent,\n appContext,\n root: null,\n // to be immediately set\n next: null,\n subTree: null,\n // will be set synchronously right after creation\n effect: null,\n update: null,\n // will be set synchronously right after creation\n scope: new EffectScope(\n true\n /* detached */\n ),\n render: null,\n proxy: null,\n exposed: null,\n exposeProxy: null,\n withProxy: null,\n provides: parent ? parent.provides : Object.create(appContext.provides),\n accessCache: null,\n renderCache: [],\n // local resolved assets\n components: null,\n directives: null,\n // resolved props and emits options\n propsOptions: normalizePropsOptions(type, appContext),\n emitsOptions: normalizeEmitsOptions(type, appContext),\n // emit\n emit: null,\n // to be set immediately\n emitted: null,\n // props default value\n propsDefaults: EMPTY_OBJ,\n // inheritAttrs\n inheritAttrs: type.inheritAttrs,\n // state\n ctx: EMPTY_OBJ,\n data: EMPTY_OBJ,\n props: EMPTY_OBJ,\n attrs: EMPTY_OBJ,\n slots: EMPTY_OBJ,\n refs: EMPTY_OBJ,\n setupState: EMPTY_OBJ,\n setupContext: null,\n attrsProxy: null,\n slotsProxy: null,\n // suspense related\n suspense,\n suspenseId: suspense ? suspense.pendingId : 0,\n asyncDep: null,\n asyncResolved: false,\n // lifecycle hooks\n // not using enums here because it results in computed properties\n isMounted: false,\n isUnmounted: false,\n isDeactivated: false,\n bc: null,\n c: null,\n bm: null,\n m: null,\n bu: null,\n u: null,\n um: null,\n bum: null,\n da: null,\n a: null,\n rtg: null,\n rtc: null,\n ec: null,\n sp: null\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ctx = createDevRenderContext(instance);\n } else {\n instance.ctx = { _: instance };\n }\n instance.root = parent ? parent.root : instance;\n instance.emit = emit.bind(null, instance);\n if (vnode.ce) {\n vnode.ce(instance);\n }\n return instance;\n}\nlet currentInstance = null;\nconst getCurrentInstance = () => currentInstance || currentRenderingInstance;\nlet internalSetCurrentInstance;\nlet setInSSRSetupState;\n{\n const g = getGlobalThis();\n const registerGlobalSetter = (key, setter) => {\n let setters;\n if (!(setters = g[key]))\n setters = g[key] = [];\n setters.push(setter);\n return (v) => {\n if (setters.length > 1)\n setters.forEach((set) => set(v));\n else\n setters[0](v);\n };\n };\n internalSetCurrentInstance = registerGlobalSetter(\n `__VUE_INSTANCE_SETTERS__`,\n (v) => currentInstance = v\n );\n setInSSRSetupState = registerGlobalSetter(\n `__VUE_SSR_SETTERS__`,\n (v) => isInSSRComponentSetup = v\n );\n}\nconst setCurrentInstance = (instance) => {\n const prev = currentInstance;\n internalSetCurrentInstance(instance);\n instance.scope.on();\n return () => {\n instance.scope.off();\n internalSetCurrentInstance(prev);\n };\n};\nconst unsetCurrentInstance = () => {\n currentInstance && currentInstance.scope.off();\n internalSetCurrentInstance(null);\n};\nconst isBuiltInTag = /* @__PURE__ */ makeMap(\"slot,component\");\nfunction validateComponentName(name, { isNativeTag }) {\n if (isBuiltInTag(name) || isNativeTag(name)) {\n warn$1(\n \"Do not use built-in or reserved HTML elements as component id: \" + name\n );\n }\n}\nfunction isStatefulComponent(instance) {\n return instance.vnode.shapeFlag & 4;\n}\nlet isInSSRComponentSetup = false;\nfunction setupComponent(instance, isSSR = false) {\n isSSR && setInSSRSetupState(isSSR);\n const { props, children } = instance.vnode;\n const isStateful = isStatefulComponent(instance);\n initProps(instance, props, isStateful, isSSR);\n initSlots(instance, children);\n const setupResult = isStateful ? setupStatefulComponent(instance, isSSR) : void 0;\n isSSR && setInSSRSetupState(false);\n return setupResult;\n}\nfunction setupStatefulComponent(instance, isSSR) {\n var _a;\n const Component = instance.type;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (Component.name) {\n validateComponentName(Component.name, instance.appContext.config);\n }\n if (Component.components) {\n const names = Object.keys(Component.components);\n for (let i = 0; i < names.length; i++) {\n validateComponentName(names[i], instance.appContext.config);\n }\n }\n if (Component.directives) {\n const names = Object.keys(Component.directives);\n for (let i = 0; i < names.length; i++) {\n validateDirectiveName(names[i]);\n }\n }\n if (Component.compilerOptions && isRuntimeOnly()) {\n warn$1(\n `\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.`\n );\n }\n }\n instance.accessCache = /* @__PURE__ */ Object.create(null);\n instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposePropsOnRenderContext(instance);\n }\n const { setup } = Component;\n if (setup) {\n const setupContext = instance.setupContext = setup.length > 1 ? createSetupContext(instance) : null;\n const reset = setCurrentInstance(instance);\n pauseTracking();\n const setupResult = callWithErrorHandling(\n setup,\n instance,\n 0,\n [\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(instance.props) : instance.props,\n setupContext\n ]\n );\n resetTracking();\n reset();\n if (isPromise(setupResult)) {\n setupResult.then(unsetCurrentInstance, unsetCurrentInstance);\n if (isSSR) {\n return setupResult.then((resolvedResult) => {\n handleSetupResult(instance, resolvedResult, isSSR);\n }).catch((e) => {\n handleError(e, instance, 0);\n });\n } else {\n instance.asyncDep = setupResult;\n if (!!(process.env.NODE_ENV !== \"production\") && !instance.suspense) {\n const name = (_a = Component.name) != null ? _a : \"Anonymous\";\n warn$1(\n `Component <${name}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`\n );\n }\n }\n } else {\n handleSetupResult(instance, setupResult, isSSR);\n }\n } else {\n finishComponentSetup(instance, isSSR);\n }\n}\nfunction handleSetupResult(instance, setupResult, isSSR) {\n if (isFunction(setupResult)) {\n if (instance.type.__ssrInlineRender) {\n instance.ssrRender = setupResult;\n } else {\n instance.render = setupResult;\n }\n } else if (isObject(setupResult)) {\n if (!!(process.env.NODE_ENV !== \"production\") && isVNode(setupResult)) {\n warn$1(\n `setup() should not return VNodes directly - return a render function instead.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.devtoolsRawSetupState = setupResult;\n }\n instance.setupState = proxyRefs(setupResult);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n exposeSetupStateOnRenderContext(instance);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupResult !== void 0) {\n warn$1(\n `setup() should return an object. Received: ${setupResult === null ? \"null\" : typeof setupResult}`\n );\n }\n finishComponentSetup(instance, isSSR);\n}\nlet compile;\nlet installWithProxy;\nfunction registerRuntimeCompiler(_compile) {\n compile = _compile;\n installWithProxy = (i) => {\n if (i.render._rc) {\n i.withProxy = new Proxy(i.ctx, RuntimeCompiledPublicInstanceProxyHandlers);\n }\n };\n}\nconst isRuntimeOnly = () => !compile;\nfunction finishComponentSetup(instance, isSSR, skipOptions) {\n const Component = instance.type;\n if (!instance.render) {\n if (!isSSR && compile && !Component.render) {\n const template = Component.template || resolveMergedOptions(instance).template;\n if (template) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n startMeasure(instance, `compile`);\n }\n const { isCustomElement, compilerOptions } = instance.appContext.config;\n const { delimiters, compilerOptions: componentCompilerOptions } = Component;\n const finalCompilerOptions = extend(\n extend(\n {\n isCustomElement,\n delimiters\n },\n compilerOptions\n ),\n componentCompilerOptions\n );\n Component.render = compile(template, finalCompilerOptions);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n endMeasure(instance, `compile`);\n }\n }\n }\n instance.render = Component.render || NOOP;\n if (installWithProxy) {\n installWithProxy(instance);\n }\n }\n if (__VUE_OPTIONS_API__ && true) {\n const reset = setCurrentInstance(instance);\n pauseTracking();\n try {\n applyOptions(instance);\n } finally {\n resetTracking();\n reset();\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !Component.render && instance.render === NOOP && !isSSR) {\n if (!compile && Component.template) {\n warn$1(\n `Component provided template option but runtime compilation is not supported in this build of Vue.` + (` Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".` )\n );\n } else {\n warn$1(`Component is missing template or render function.`);\n }\n }\n}\nconst attrsProxyHandlers = !!(process.env.NODE_ENV !== \"production\") ? {\n get(target, key) {\n markAttrsAccessed();\n track(target, \"get\", \"\");\n return target[key];\n },\n set() {\n warn$1(`setupContext.attrs is readonly.`);\n return false;\n },\n deleteProperty() {\n warn$1(`setupContext.attrs is readonly.`);\n return false;\n }\n} : {\n get(target, key) {\n track(target, \"get\", \"\");\n return target[key];\n }\n};\nfunction getSlotsProxy(instance) {\n return instance.slotsProxy || (instance.slotsProxy = new Proxy(instance.slots, {\n get(target, key) {\n track(instance, \"get\", \"$slots\");\n return target[key];\n }\n }));\n}\nfunction createSetupContext(instance) {\n const expose = (exposed) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (instance.exposed) {\n warn$1(`expose() should be called only once per setup().`);\n }\n if (exposed != null) {\n let exposedType = typeof exposed;\n if (exposedType === \"object\") {\n if (isArray(exposed)) {\n exposedType = \"array\";\n } else if (isRef(exposed)) {\n exposedType = \"ref\";\n }\n }\n if (exposedType !== \"object\") {\n warn$1(\n `expose() should be passed a plain object, received ${exposedType}.`\n );\n }\n }\n }\n instance.exposed = exposed || {};\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n let attrsProxy;\n return Object.freeze({\n get attrs() {\n return attrsProxy || (attrsProxy = new Proxy(instance.attrs, attrsProxyHandlers));\n },\n get slots() {\n return getSlotsProxy(instance);\n },\n get emit() {\n return (event, ...args) => instance.emit(event, ...args);\n },\n expose\n });\n } else {\n return {\n attrs: new Proxy(instance.attrs, attrsProxyHandlers),\n slots: instance.slots,\n emit: instance.emit,\n expose\n };\n }\n}\nfunction getExposeProxy(instance) {\n if (instance.exposed) {\n return instance.exposeProxy || (instance.exposeProxy = new Proxy(proxyRefs(markRaw(instance.exposed)), {\n get(target, key) {\n if (key in target) {\n return target[key];\n } else if (key in publicPropertiesMap) {\n return publicPropertiesMap[key](instance);\n }\n },\n has(target, key) {\n return key in target || key in publicPropertiesMap;\n }\n }));\n }\n}\nconst classifyRE = /(?:^|[-_])(\\w)/g;\nconst classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, \"\");\nfunction getComponentName(Component, includeInferred = true) {\n return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;\n}\nfunction formatComponentName(instance, Component, isRoot = false) {\n let name = getComponentName(Component);\n if (!name && Component.__file) {\n const match = Component.__file.match(/([^/\\\\]+)\\.\\w+$/);\n if (match) {\n name = match[1];\n }\n }\n if (!name && instance && instance.parent) {\n const inferFromRegistry = (registry) => {\n for (const key in registry) {\n if (registry[key] === Component) {\n return key;\n }\n }\n };\n name = inferFromRegistry(\n instance.components || instance.parent.type.components\n ) || inferFromRegistry(instance.appContext.components);\n }\n return name ? classify(name) : isRoot ? `App` : `Anonymous`;\n}\nfunction isClassComponent(value) {\n return isFunction(value) && \"__vccOpts\" in value;\n}\n\nconst computed = (getterOrOptions, debugOptions) => {\n const c = computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const i = getCurrentInstance();\n if (i && i.appContext.config.warnRecursiveComputed) {\n c._warnRecursive = true;\n }\n }\n return c;\n};\n\nfunction useModel(props, name, options = EMPTY_OBJ) {\n const i = getCurrentInstance();\n if (!!(process.env.NODE_ENV !== \"production\") && !i) {\n warn$1(`useModel() called without active instance.`);\n return ref();\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !i.propsOptions[0][name]) {\n warn$1(`useModel() called with prop \"${name}\" which is not declared.`);\n return ref();\n }\n const camelizedName = camelize(name);\n const hyphenatedName = hyphenate(name);\n const res = customRef((track, trigger) => {\n let localValue;\n watchSyncEffect(() => {\n const propValue = props[name];\n if (hasChanged(localValue, propValue)) {\n localValue = propValue;\n trigger();\n }\n });\n return {\n get() {\n track();\n return options.get ? options.get(localValue) : localValue;\n },\n set(value) {\n const rawProps = i.vnode.props;\n if (!(rawProps && // check if parent has passed v-model\n (name in rawProps || camelizedName in rawProps || hyphenatedName in rawProps) && (`onUpdate:${name}` in rawProps || `onUpdate:${camelizedName}` in rawProps || `onUpdate:${hyphenatedName}` in rawProps)) && hasChanged(value, localValue)) {\n localValue = value;\n trigger();\n }\n i.emit(`update:${name}`, options.set ? options.set(value) : value);\n }\n };\n });\n const modifierKey = name === \"modelValue\" ? \"modelModifiers\" : `${name}Modifiers`;\n res[Symbol.iterator] = () => {\n let i2 = 0;\n return {\n next() {\n if (i2 < 2) {\n return { value: i2++ ? props[modifierKey] || {} : res, done: false };\n } else {\n return { done: true };\n }\n }\n };\n };\n return res;\n}\n\nfunction h(type, propsOrChildren, children) {\n const l = arguments.length;\n if (l === 2) {\n if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {\n if (isVNode(propsOrChildren)) {\n return createVNode(type, null, [propsOrChildren]);\n }\n return createVNode(type, propsOrChildren);\n } else {\n return createVNode(type, null, propsOrChildren);\n }\n } else {\n if (l > 3) {\n children = Array.prototype.slice.call(arguments, 2);\n } else if (l === 3 && isVNode(children)) {\n children = [children];\n }\n return createVNode(type, propsOrChildren, children);\n }\n}\n\nfunction initCustomFormatter() {\n if (!!!(process.env.NODE_ENV !== \"production\") || typeof window === \"undefined\") {\n return;\n }\n const vueStyle = { style: \"color:#3ba776\" };\n const numberStyle = { style: \"color:#1677ff\" };\n const stringStyle = { style: \"color:#f5222d\" };\n const keywordStyle = { style: \"color:#eb2f96\" };\n const formatter = {\n header(obj) {\n if (!isObject(obj)) {\n return null;\n }\n if (obj.__isVue) {\n return [\"div\", vueStyle, `VueInstance`];\n } else if (isRef(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, genRefFlag(obj)],\n \"<\",\n formatValue(obj.value),\n `>`\n ];\n } else if (isReactive(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReactive\" : \"Reactive\"],\n \"<\",\n formatValue(obj),\n `>${isReadonly(obj) ? ` (readonly)` : ``}`\n ];\n } else if (isReadonly(obj)) {\n return [\n \"div\",\n {},\n [\"span\", vueStyle, isShallow(obj) ? \"ShallowReadonly\" : \"Readonly\"],\n \"<\",\n formatValue(obj),\n \">\"\n ];\n }\n return null;\n },\n hasBody(obj) {\n return obj && obj.__isVue;\n },\n body(obj) {\n if (obj && obj.__isVue) {\n return [\n \"div\",\n {},\n ...formatInstance(obj.$)\n ];\n }\n }\n };\n function formatInstance(instance) {\n const blocks = [];\n if (instance.type.props && instance.props) {\n blocks.push(createInstanceBlock(\"props\", toRaw(instance.props)));\n }\n if (instance.setupState !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"setup\", instance.setupState));\n }\n if (instance.data !== EMPTY_OBJ) {\n blocks.push(createInstanceBlock(\"data\", toRaw(instance.data)));\n }\n const computed = extractKeys(instance, \"computed\");\n if (computed) {\n blocks.push(createInstanceBlock(\"computed\", computed));\n }\n const injected = extractKeys(instance, \"inject\");\n if (injected) {\n blocks.push(createInstanceBlock(\"injected\", injected));\n }\n blocks.push([\n \"div\",\n {},\n [\n \"span\",\n {\n style: keywordStyle.style + \";opacity:0.66\"\n },\n \"$ (internal): \"\n ],\n [\"object\", { object: instance }]\n ]);\n return blocks;\n }\n function createInstanceBlock(type, target) {\n target = extend({}, target);\n if (!Object.keys(target).length) {\n return [\"span\", {}];\n }\n return [\n \"div\",\n { style: \"line-height:1.25em;margin-bottom:0.6em\" },\n [\n \"div\",\n {\n style: \"color:#476582\"\n },\n type\n ],\n [\n \"div\",\n {\n style: \"padding-left:1.25em\"\n },\n ...Object.keys(target).map((key) => {\n return [\n \"div\",\n {},\n [\"span\", keywordStyle, key + \": \"],\n formatValue(target[key], false)\n ];\n })\n ]\n ];\n }\n function formatValue(v, asRaw = true) {\n if (typeof v === \"number\") {\n return [\"span\", numberStyle, v];\n } else if (typeof v === \"string\") {\n return [\"span\", stringStyle, JSON.stringify(v)];\n } else if (typeof v === \"boolean\") {\n return [\"span\", keywordStyle, v];\n } else if (isObject(v)) {\n return [\"object\", { object: asRaw ? toRaw(v) : v }];\n } else {\n return [\"span\", stringStyle, String(v)];\n }\n }\n function extractKeys(instance, type) {\n const Comp = instance.type;\n if (isFunction(Comp)) {\n return;\n }\n const extracted = {};\n for (const key in instance.ctx) {\n if (isKeyOfType(Comp, key, type)) {\n extracted[key] = instance.ctx[key];\n }\n }\n return extracted;\n }\n function isKeyOfType(Comp, key, type) {\n const opts = Comp[type];\n if (isArray(opts) && opts.includes(key) || isObject(opts) && key in opts) {\n return true;\n }\n if (Comp.extends && isKeyOfType(Comp.extends, key, type)) {\n return true;\n }\n if (Comp.mixins && Comp.mixins.some((m) => isKeyOfType(m, key, type))) {\n return true;\n }\n }\n function genRefFlag(v) {\n if (isShallow(v)) {\n return `ShallowRef`;\n }\n if (v.effect) {\n return `ComputedRef`;\n }\n return `Ref`;\n }\n if (window.devtoolsFormatters) {\n window.devtoolsFormatters.push(formatter);\n } else {\n window.devtoolsFormatters = [formatter];\n }\n}\n\nfunction withMemo(memo, render, cache, index) {\n const cached = cache[index];\n if (cached && isMemoSame(cached, memo)) {\n return cached;\n }\n const ret = render();\n ret.memo = memo.slice();\n return cache[index] = ret;\n}\nfunction isMemoSame(cached, memo) {\n const prev = cached.memo;\n if (prev.length != memo.length) {\n return false;\n }\n for (let i = 0; i < prev.length; i++) {\n if (hasChanged(prev[i], memo[i])) {\n return false;\n }\n }\n if (isBlockTreeEnabled > 0 && currentBlock) {\n currentBlock.push(cached);\n }\n return true;\n}\n\nconst version = \"3.4.27\";\nconst warn = !!(process.env.NODE_ENV !== \"production\") ? warn$1 : NOOP;\nconst ErrorTypeStrings = ErrorTypeStrings$1 ;\nconst devtools = !!(process.env.NODE_ENV !== \"production\") || true ? devtools$1 : void 0;\nconst setDevtoolsHook = !!(process.env.NODE_ENV !== \"production\") || true ? setDevtoolsHook$1 : NOOP;\nconst _ssrUtils = {\n createComponentInstance,\n setupComponent,\n renderComponentRoot,\n setCurrentRenderingInstance,\n isVNode: isVNode,\n normalizeVNode\n};\nconst ssrUtils = _ssrUtils ;\nconst resolveFilter = null;\nconst compatUtils = null;\nconst DeprecationTypes = null;\n\nexport { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, Static, Suspense, Teleport, Text, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, cloneVNode, compatUtils, computed, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSlots, devtools, getCurrentInstance, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, initCustomFormatter, inject, isMemoSame, isRuntimeOnly, isVNode, mergeDefaults, mergeModels, mergeProps, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, pushScopeId, queuePostFlushCb, registerRuntimeCompiler, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, ssrContextKey, ssrUtils, toHandlers, transformVNodeArgs, useAttrs, useModel, useSSRContext, useSlots, useTransitionState, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withMemo, withScopeId };\n","/**\n* @vue/runtime-dom v3.4.27\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { h, BaseTransition, BaseTransitionPropsValidators, assertNumber, getCurrentInstance, warn, onMounted, watchPostEffect, onUnmounted, Fragment, Static, camelize, callWithAsyncErrorHandling, defineComponent, nextTick, createVNode, useTransitionState, onUpdated, toRaw, getTransitionRawChildren, setTransitionHooks, resolveTransitionHooks, isRuntimeOnly, createRenderer, createHydrationRenderer } from '@vue/runtime-core';\nexport * from '@vue/runtime-core';\nimport { extend, isObject, toNumber, isArray, isString, hyphenate, capitalize, isSpecialBooleanAttr, includeBooleanAttr, isFunction, NOOP, isOn, isModelListener, camelize as camelize$1, EMPTY_OBJ, looseToNumber, looseIndexOf, isSet, looseEqual, invokeArrayFns, isHTMLTag, isSVGTag, isMathMLTag } from '@vue/shared';\n\nconst svgNS = \"http://www.w3.org/2000/svg\";\nconst mathmlNS = \"http://www.w3.org/1998/Math/MathML\";\nconst doc = typeof document !== \"undefined\" ? document : null;\nconst templateContainer = doc && /* @__PURE__ */ doc.createElement(\"template\");\nconst nodeOps = {\n insert: (child, parent, anchor) => {\n parent.insertBefore(child, anchor || null);\n },\n remove: (child) => {\n const parent = child.parentNode;\n if (parent) {\n parent.removeChild(child);\n }\n },\n createElement: (tag, namespace, is, props) => {\n const el = namespace === \"svg\" ? doc.createElementNS(svgNS, tag) : namespace === \"mathml\" ? doc.createElementNS(mathmlNS, tag) : doc.createElement(tag, is ? { is } : void 0);\n if (tag === \"select\" && props && props.multiple != null) {\n el.setAttribute(\"multiple\", props.multiple);\n }\n return el;\n },\n createText: (text) => doc.createTextNode(text),\n createComment: (text) => doc.createComment(text),\n setText: (node, text) => {\n node.nodeValue = text;\n },\n setElementText: (el, text) => {\n el.textContent = text;\n },\n parentNode: (node) => node.parentNode,\n nextSibling: (node) => node.nextSibling,\n querySelector: (selector) => doc.querySelector(selector),\n setScopeId(el, id) {\n el.setAttribute(id, \"\");\n },\n // __UNSAFE__\n // Reason: innerHTML.\n // Static content here can only come from compiled templates.\n // As long as the user only uses trusted templates, this is safe.\n insertStaticContent(content, parent, anchor, namespace, start, end) {\n const before = anchor ? anchor.previousSibling : parent.lastChild;\n if (start && (start === end || start.nextSibling)) {\n while (true) {\n parent.insertBefore(start.cloneNode(true), anchor);\n if (start === end || !(start = start.nextSibling))\n break;\n }\n } else {\n templateContainer.innerHTML = namespace === \"svg\" ? `<svg>${content}</svg>` : namespace === \"mathml\" ? `<math>${content}</math>` : content;\n const template = templateContainer.content;\n if (namespace === \"svg\" || namespace === \"mathml\") {\n const wrapper = template.firstChild;\n while (wrapper.firstChild) {\n template.appendChild(wrapper.firstChild);\n }\n template.removeChild(wrapper);\n }\n parent.insertBefore(template, anchor);\n }\n return [\n // first\n before ? before.nextSibling : parent.firstChild,\n // last\n anchor ? anchor.previousSibling : parent.lastChild\n ];\n }\n};\n\nconst TRANSITION = \"transition\";\nconst ANIMATION = \"animation\";\nconst vtcKey = Symbol(\"_vtc\");\nconst Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);\nTransition.displayName = \"Transition\";\nconst DOMTransitionPropsValidators = {\n name: String,\n type: String,\n css: {\n type: Boolean,\n default: true\n },\n duration: [String, Number, Object],\n enterFromClass: String,\n enterActiveClass: String,\n enterToClass: String,\n appearFromClass: String,\n appearActiveClass: String,\n appearToClass: String,\n leaveFromClass: String,\n leaveActiveClass: String,\n leaveToClass: String\n};\nconst TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(\n {},\n BaseTransitionPropsValidators,\n DOMTransitionPropsValidators\n);\nconst callHook = (hook, args = []) => {\n if (isArray(hook)) {\n hook.forEach((h2) => h2(...args));\n } else if (hook) {\n hook(...args);\n }\n};\nconst hasExplicitCallback = (hook) => {\n return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;\n};\nfunction resolveTransitionProps(rawProps) {\n const baseProps = {};\n for (const key in rawProps) {\n if (!(key in DOMTransitionPropsValidators)) {\n baseProps[key] = rawProps[key];\n }\n }\n if (rawProps.css === false) {\n return baseProps;\n }\n const {\n name = \"v\",\n type,\n duration,\n enterFromClass = `${name}-enter-from`,\n enterActiveClass = `${name}-enter-active`,\n enterToClass = `${name}-enter-to`,\n appearFromClass = enterFromClass,\n appearActiveClass = enterActiveClass,\n appearToClass = enterToClass,\n leaveFromClass = `${name}-leave-from`,\n leaveActiveClass = `${name}-leave-active`,\n leaveToClass = `${name}-leave-to`\n } = rawProps;\n const durations = normalizeDuration(duration);\n const enterDuration = durations && durations[0];\n const leaveDuration = durations && durations[1];\n const {\n onBeforeEnter,\n onEnter,\n onEnterCancelled,\n onLeave,\n onLeaveCancelled,\n onBeforeAppear = onBeforeEnter,\n onAppear = onEnter,\n onAppearCancelled = onEnterCancelled\n } = baseProps;\n const finishEnter = (el, isAppear, done) => {\n removeTransitionClass(el, isAppear ? appearToClass : enterToClass);\n removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);\n done && done();\n };\n const finishLeave = (el, done) => {\n el._isLeaving = false;\n removeTransitionClass(el, leaveFromClass);\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n done && done();\n };\n const makeEnterHook = (isAppear) => {\n return (el, done) => {\n const hook = isAppear ? onAppear : onEnter;\n const resolve = () => finishEnter(el, isAppear, done);\n callHook(hook, [el, resolve]);\n nextFrame(() => {\n removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);\n addTransitionClass(el, isAppear ? appearToClass : enterToClass);\n if (!hasExplicitCallback(hook)) {\n whenTransitionEnds(el, type, enterDuration, resolve);\n }\n });\n };\n };\n return extend(baseProps, {\n onBeforeEnter(el) {\n callHook(onBeforeEnter, [el]);\n addTransitionClass(el, enterFromClass);\n addTransitionClass(el, enterActiveClass);\n },\n onBeforeAppear(el) {\n callHook(onBeforeAppear, [el]);\n addTransitionClass(el, appearFromClass);\n addTransitionClass(el, appearActiveClass);\n },\n onEnter: makeEnterHook(false),\n onAppear: makeEnterHook(true),\n onLeave(el, done) {\n el._isLeaving = true;\n const resolve = () => finishLeave(el, done);\n addTransitionClass(el, leaveFromClass);\n addTransitionClass(el, leaveActiveClass);\n forceReflow();\n nextFrame(() => {\n if (!el._isLeaving) {\n return;\n }\n removeTransitionClass(el, leaveFromClass);\n addTransitionClass(el, leaveToClass);\n if (!hasExplicitCallback(onLeave)) {\n whenTransitionEnds(el, type, leaveDuration, resolve);\n }\n });\n callHook(onLeave, [el, resolve]);\n },\n onEnterCancelled(el) {\n finishEnter(el, false);\n callHook(onEnterCancelled, [el]);\n },\n onAppearCancelled(el) {\n finishEnter(el, true);\n callHook(onAppearCancelled, [el]);\n },\n onLeaveCancelled(el) {\n finishLeave(el);\n callHook(onLeaveCancelled, [el]);\n }\n });\n}\nfunction normalizeDuration(duration) {\n if (duration == null) {\n return null;\n } else if (isObject(duration)) {\n return [NumberOf(duration.enter), NumberOf(duration.leave)];\n } else {\n const n = NumberOf(duration);\n return [n, n];\n }\n}\nfunction NumberOf(val) {\n const res = toNumber(val);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(res, \"<transition> explicit duration\");\n }\n return res;\n}\nfunction addTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.add(c));\n (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);\n}\nfunction removeTransitionClass(el, cls) {\n cls.split(/\\s+/).forEach((c) => c && el.classList.remove(c));\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.delete(cls);\n if (!_vtc.size) {\n el[vtcKey] = void 0;\n }\n }\n}\nfunction nextFrame(cb) {\n requestAnimationFrame(() => {\n requestAnimationFrame(cb);\n });\n}\nlet endId = 0;\nfunction whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {\n const id = el._endId = ++endId;\n const resolveIfNotStale = () => {\n if (id === el._endId) {\n resolve();\n }\n };\n if (explicitTimeout) {\n return setTimeout(resolveIfNotStale, explicitTimeout);\n }\n const { type, timeout, propCount } = getTransitionInfo(el, expectedType);\n if (!type) {\n return resolve();\n }\n const endEvent = type + \"end\";\n let ended = 0;\n const end = () => {\n el.removeEventListener(endEvent, onEnd);\n resolveIfNotStale();\n };\n const onEnd = (e) => {\n if (e.target === el && ++ended >= propCount) {\n end();\n }\n };\n setTimeout(() => {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(endEvent, onEnd);\n}\nfunction getTransitionInfo(el, expectedType) {\n const styles = window.getComputedStyle(el);\n const getStyleProperties = (key) => (styles[key] || \"\").split(\", \");\n const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);\n const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);\n const transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n const animationDelays = getStyleProperties(`${ANIMATION}Delay`);\n const animationDurations = getStyleProperties(`${ANIMATION}Duration`);\n const animationTimeout = getTimeout(animationDelays, animationDurations);\n let type = null;\n let timeout = 0;\n let propCount = 0;\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;\n propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;\n }\n const hasTransform = type === TRANSITION && /\\b(transform|all)(,|$)/.test(\n getStyleProperties(`${TRANSITION}Property`).toString()\n );\n return {\n type,\n timeout,\n propCount,\n hasTransform\n };\n}\nfunction getTimeout(delays, durations) {\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));\n}\nfunction toMs(s) {\n if (s === \"auto\")\n return 0;\n return Number(s.slice(0, -1).replace(\",\", \".\")) * 1e3;\n}\nfunction forceReflow() {\n return document.body.offsetHeight;\n}\n\nfunction patchClass(el, value, isSVG) {\n const transitionClasses = el[vtcKey];\n if (transitionClasses) {\n value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(\" \");\n }\n if (value == null) {\n el.removeAttribute(\"class\");\n } else if (isSVG) {\n el.setAttribute(\"class\", value);\n } else {\n el.className = value;\n }\n}\n\nconst vShowOriginalDisplay = Symbol(\"_vod\");\nconst vShowHidden = Symbol(\"_vsh\");\nconst vShow = {\n beforeMount(el, { value }, { transition }) {\n el[vShowOriginalDisplay] = el.style.display === \"none\" ? \"\" : el.style.display;\n if (transition && value) {\n transition.beforeEnter(el);\n } else {\n setDisplay(el, value);\n }\n },\n mounted(el, { value }, { transition }) {\n if (transition && value) {\n transition.enter(el);\n }\n },\n updated(el, { value, oldValue }, { transition }) {\n if (!value === !oldValue)\n return;\n if (transition) {\n if (value) {\n transition.beforeEnter(el);\n setDisplay(el, true);\n transition.enter(el);\n } else {\n transition.leave(el, () => {\n setDisplay(el, false);\n });\n }\n } else {\n setDisplay(el, value);\n }\n },\n beforeUnmount(el, { value }) {\n setDisplay(el, value);\n }\n};\nif (!!(process.env.NODE_ENV !== \"production\")) {\n vShow.name = \"show\";\n}\nfunction setDisplay(el, value) {\n el.style.display = value ? el[vShowOriginalDisplay] : \"none\";\n el[vShowHidden] = !value;\n}\nfunction initVShowForSSR() {\n vShow.getSSRProps = ({ value }) => {\n if (!value) {\n return { style: { display: \"none\" } };\n }\n };\n}\n\nconst CSS_VAR_TEXT = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"CSS_VAR_TEXT\" : \"\");\nfunction useCssVars(getter) {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssVars is called without current active component instance.`);\n return;\n }\n const updateTeleports = instance.ut = (vars = getter(instance.proxy)) => {\n Array.from(\n document.querySelectorAll(`[data-v-owner=\"${instance.uid}\"]`)\n ).forEach((node) => setVarsOnNode(node, vars));\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.getCssVars = () => getter(instance.proxy);\n }\n const setVars = () => {\n const vars = getter(instance.proxy);\n setVarsOnVNode(instance.subTree, vars);\n updateTeleports(vars);\n };\n onMounted(() => {\n watchPostEffect(setVars);\n const ob = new MutationObserver(setVars);\n ob.observe(instance.subTree.el.parentNode, { childList: true });\n onUnmounted(() => ob.disconnect());\n });\n}\nfunction setVarsOnVNode(vnode, vars) {\n if (vnode.shapeFlag & 128) {\n const suspense = vnode.suspense;\n vnode = suspense.activeBranch;\n if (suspense.pendingBranch && !suspense.isHydrating) {\n suspense.effects.push(() => {\n setVarsOnVNode(suspense.activeBranch, vars);\n });\n }\n }\n while (vnode.component) {\n vnode = vnode.component.subTree;\n }\n if (vnode.shapeFlag & 1 && vnode.el) {\n setVarsOnNode(vnode.el, vars);\n } else if (vnode.type === Fragment) {\n vnode.children.forEach((c) => setVarsOnVNode(c, vars));\n } else if (vnode.type === Static) {\n let { el, anchor } = vnode;\n while (el) {\n setVarsOnNode(el, vars);\n if (el === anchor)\n break;\n el = el.nextSibling;\n }\n }\n}\nfunction setVarsOnNode(el, vars) {\n if (el.nodeType === 1) {\n const style = el.style;\n let cssText = \"\";\n for (const key in vars) {\n style.setProperty(`--${key}`, vars[key]);\n cssText += `--${key}: ${vars[key]};`;\n }\n style[CSS_VAR_TEXT] = cssText;\n }\n}\n\nconst displayRE = /(^|;)\\s*display\\s*:/;\nfunction patchStyle(el, prev, next) {\n const style = el.style;\n const isCssString = isString(next);\n let hasControlledDisplay = false;\n if (next && !isCssString) {\n if (prev) {\n if (!isString(prev)) {\n for (const key in prev) {\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n } else {\n for (const prevStyle of prev.split(\";\")) {\n const key = prevStyle.slice(0, prevStyle.indexOf(\":\")).trim();\n if (next[key] == null) {\n setStyle(style, key, \"\");\n }\n }\n }\n }\n for (const key in next) {\n if (key === \"display\") {\n hasControlledDisplay = true;\n }\n setStyle(style, key, next[key]);\n }\n } else {\n if (isCssString) {\n if (prev !== next) {\n const cssVarText = style[CSS_VAR_TEXT];\n if (cssVarText) {\n next += \";\" + cssVarText;\n }\n style.cssText = next;\n hasControlledDisplay = displayRE.test(next);\n }\n } else if (prev) {\n el.removeAttribute(\"style\");\n }\n }\n if (vShowOriginalDisplay in el) {\n el[vShowOriginalDisplay] = hasControlledDisplay ? style.display : \"\";\n if (el[vShowHidden]) {\n style.display = \"none\";\n }\n }\n}\nconst semicolonRE = /[^\\\\];\\s*$/;\nconst importantRE = /\\s*!important$/;\nfunction setStyle(style, name, val) {\n if (isArray(val)) {\n val.forEach((v) => setStyle(style, name, v));\n } else {\n if (val == null)\n val = \"\";\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (semicolonRE.test(val)) {\n warn(\n `Unexpected semicolon at the end of '${name}' style value: '${val}'`\n );\n }\n }\n if (name.startsWith(\"--\")) {\n style.setProperty(name, val);\n } else {\n const prefixed = autoPrefix(style, name);\n if (importantRE.test(val)) {\n style.setProperty(\n hyphenate(prefixed),\n val.replace(importantRE, \"\"),\n \"important\"\n );\n } else {\n style[prefixed] = val;\n }\n }\n }\n}\nconst prefixes = [\"Webkit\", \"Moz\", \"ms\"];\nconst prefixCache = {};\nfunction autoPrefix(style, rawName) {\n const cached = prefixCache[rawName];\n if (cached) {\n return cached;\n }\n let name = camelize(rawName);\n if (name !== \"filter\" && name in style) {\n return prefixCache[rawName] = name;\n }\n name = capitalize(name);\n for (let i = 0; i < prefixes.length; i++) {\n const prefixed = prefixes[i] + name;\n if (prefixed in style) {\n return prefixCache[rawName] = prefixed;\n }\n }\n return rawName;\n}\n\nconst xlinkNS = \"http://www.w3.org/1999/xlink\";\nfunction patchAttr(el, key, value, isSVG, instance) {\n if (isSVG && key.startsWith(\"xlink:\")) {\n if (value == null) {\n el.removeAttributeNS(xlinkNS, key.slice(6, key.length));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n const isBoolean = isSpecialBooleanAttr(key);\n if (value == null || isBoolean && !includeBooleanAttr(value)) {\n el.removeAttribute(key);\n } else {\n el.setAttribute(key, isBoolean ? \"\" : value);\n }\n }\n}\n\nfunction patchDOMProp(el, key, value, prevChildren, parentComponent, parentSuspense, unmountChildren) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n if (prevChildren) {\n unmountChildren(prevChildren, parentComponent, parentSuspense);\n }\n el[key] = value == null ? \"\" : value;\n return;\n }\n const tag = el.tagName;\n if (key === \"value\" && tag !== \"PROGRESS\" && // custom elements may use _value internally\n !tag.includes(\"-\")) {\n const oldValue = tag === \"OPTION\" ? el.getAttribute(\"value\") || \"\" : el.value;\n const newValue = value == null ? \"\" : value;\n if (oldValue !== newValue || !(\"_value\" in el)) {\n el.value = newValue;\n }\n if (value == null) {\n el.removeAttribute(key);\n }\n el._value = value;\n return;\n }\n let needRemove = false;\n if (value === \"\" || value == null) {\n const type = typeof el[key];\n if (type === \"boolean\") {\n value = includeBooleanAttr(value);\n } else if (value == null && type === \"string\") {\n value = \"\";\n needRemove = true;\n } else if (type === \"number\") {\n value = 0;\n needRemove = true;\n }\n }\n try {\n el[key] = value;\n } catch (e) {\n if (!!(process.env.NODE_ENV !== \"production\") && !needRemove) {\n warn(\n `Failed setting prop \"${key}\" on <${tag.toLowerCase()}>: value ${value} is invalid.`,\n e\n );\n }\n }\n needRemove && el.removeAttribute(key);\n}\n\nfunction addEventListener(el, event, handler, options) {\n el.addEventListener(event, handler, options);\n}\nfunction removeEventListener(el, event, handler, options) {\n el.removeEventListener(event, handler, options);\n}\nconst veiKey = Symbol(\"_vei\");\nfunction patchEvent(el, rawName, prevValue, nextValue, instance = null) {\n const invokers = el[veiKey] || (el[veiKey] = {});\n const existingInvoker = invokers[rawName];\n if (nextValue && existingInvoker) {\n existingInvoker.value = !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue;\n } else {\n const [name, options] = parseName(rawName);\n if (nextValue) {\n const invoker = invokers[rawName] = createInvoker(\n !!(process.env.NODE_ENV !== \"production\") ? sanitizeEventValue(nextValue, rawName) : nextValue,\n instance\n );\n addEventListener(el, name, invoker, options);\n } else if (existingInvoker) {\n removeEventListener(el, name, existingInvoker, options);\n invokers[rawName] = void 0;\n }\n }\n}\nconst optionsModifierRE = /(?:Once|Passive|Capture)$/;\nfunction parseName(name) {\n let options;\n if (optionsModifierRE.test(name)) {\n options = {};\n let m;\n while (m = name.match(optionsModifierRE)) {\n name = name.slice(0, name.length - m[0].length);\n options[m[0].toLowerCase()] = true;\n }\n }\n const event = name[2] === \":\" ? name.slice(3) : hyphenate(name.slice(2));\n return [event, options];\n}\nlet cachedNow = 0;\nconst p = /* @__PURE__ */ Promise.resolve();\nconst getNow = () => cachedNow || (p.then(() => cachedNow = 0), cachedNow = Date.now());\nfunction createInvoker(initialValue, instance) {\n const invoker = (e) => {\n if (!e._vts) {\n e._vts = Date.now();\n } else if (e._vts <= invoker.attached) {\n return;\n }\n callWithAsyncErrorHandling(\n patchStopImmediatePropagation(e, invoker.value),\n instance,\n 5,\n [e]\n );\n };\n invoker.value = initialValue;\n invoker.attached = getNow();\n return invoker;\n}\nfunction sanitizeEventValue(value, propName) {\n if (isFunction(value) || isArray(value)) {\n return value;\n }\n warn(\n `Wrong type passed as event handler to ${propName} - did you forget @ or : in front of your prop?\nExpected function or array of functions, received type ${typeof value}.`\n );\n return NOOP;\n}\nfunction patchStopImmediatePropagation(e, value) {\n if (isArray(value)) {\n const originalStop = e.stopImmediatePropagation;\n e.stopImmediatePropagation = () => {\n originalStop.call(e);\n e._stopped = true;\n };\n return value.map(\n (fn) => (e2) => !e2._stopped && fn && fn(e2)\n );\n } else {\n return value;\n }\n}\n\nconst isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter\nkey.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;\nconst patchProp = (el, key, prevValue, nextValue, namespace, prevChildren, parentComponent, parentSuspense, unmountChildren) => {\n const isSVG = namespace === \"svg\";\n if (key === \"class\") {\n patchClass(el, nextValue, isSVG);\n } else if (key === \"style\") {\n patchStyle(el, prevValue, nextValue);\n } else if (isOn(key)) {\n if (!isModelListener(key)) {\n patchEvent(el, key, prevValue, nextValue, parentComponent);\n }\n } else if (key[0] === \".\" ? (key = key.slice(1), true) : key[0] === \"^\" ? (key = key.slice(1), false) : shouldSetAsProp(el, key, nextValue, isSVG)) {\n patchDOMProp(\n el,\n key,\n nextValue,\n prevChildren,\n parentComponent,\n parentSuspense,\n unmountChildren\n );\n } else {\n if (key === \"true-value\") {\n el._trueValue = nextValue;\n } else if (key === \"false-value\") {\n el._falseValue = nextValue;\n }\n patchAttr(el, key, nextValue, isSVG);\n }\n};\nfunction shouldSetAsProp(el, key, value, isSVG) {\n if (isSVG) {\n if (key === \"innerHTML\" || key === \"textContent\") {\n return true;\n }\n if (key in el && isNativeOn(key) && isFunction(value)) {\n return true;\n }\n return false;\n }\n if (key === \"spellcheck\" || key === \"draggable\" || key === \"translate\") {\n return false;\n }\n if (key === \"form\") {\n return false;\n }\n if (key === \"list\" && el.tagName === \"INPUT\") {\n return false;\n }\n if (key === \"type\" && el.tagName === \"TEXTAREA\") {\n return false;\n }\n if (key === \"width\" || key === \"height\") {\n const tag = el.tagName;\n if (tag === \"IMG\" || tag === \"VIDEO\" || tag === \"CANVAS\" || tag === \"SOURCE\") {\n return false;\n }\n }\n if (isNativeOn(key) && isString(value)) {\n return false;\n }\n return key in el;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineCustomElement(options, hydrate2) {\n const Comp = defineComponent(options);\n class VueCustomElement extends VueElement {\n constructor(initialProps) {\n super(Comp, initialProps, hydrate2);\n }\n }\n VueCustomElement.def = Comp;\n return VueCustomElement;\n}\n/*! #__NO_SIDE_EFFECTS__ */\nconst defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options) => {\n return /* @__PURE__ */ defineCustomElement(options, hydrate);\n};\nconst BaseClass = typeof HTMLElement !== \"undefined\" ? HTMLElement : class {\n};\nclass VueElement extends BaseClass {\n constructor(_def, _props = {}, hydrate2) {\n super();\n this._def = _def;\n this._props = _props;\n /**\n * @internal\n */\n this._instance = null;\n this._connected = false;\n this._resolved = false;\n this._numberProps = null;\n this._ob = null;\n if (this.shadowRoot && hydrate2) {\n hydrate2(this._createVNode(), this.shadowRoot);\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && this.shadowRoot) {\n warn(\n `Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use \\`defineSSRCustomElement\\`.`\n );\n }\n this.attachShadow({ mode: \"open\" });\n if (!this._def.__asyncLoader) {\n this._resolveProps(this._def);\n }\n }\n }\n connectedCallback() {\n this._connected = true;\n if (!this._instance) {\n if (this._resolved) {\n this._update();\n } else {\n this._resolveDef();\n }\n }\n }\n disconnectedCallback() {\n this._connected = false;\n if (this._ob) {\n this._ob.disconnect();\n this._ob = null;\n }\n nextTick(() => {\n if (!this._connected) {\n render(null, this.shadowRoot);\n this._instance = null;\n }\n });\n }\n /**\n * resolve inner component definition (handle possible async component)\n */\n _resolveDef() {\n this._resolved = true;\n for (let i = 0; i < this.attributes.length; i++) {\n this._setAttr(this.attributes[i].name);\n }\n this._ob = new MutationObserver((mutations) => {\n for (const m of mutations) {\n this._setAttr(m.attributeName);\n }\n });\n this._ob.observe(this, { attributes: true });\n const resolve = (def, isAsync = false) => {\n const { props, styles } = def;\n let numberProps;\n if (props && !isArray(props)) {\n for (const key in props) {\n const opt = props[key];\n if (opt === Number || opt && opt.type === Number) {\n if (key in this._props) {\n this._props[key] = toNumber(this._props[key]);\n }\n (numberProps || (numberProps = /* @__PURE__ */ Object.create(null)))[camelize$1(key)] = true;\n }\n }\n }\n this._numberProps = numberProps;\n if (isAsync) {\n this._resolveProps(def);\n }\n this._applyStyles(styles);\n this._update();\n };\n const asyncDef = this._def.__asyncLoader;\n if (asyncDef) {\n asyncDef().then((def) => resolve(def, true));\n } else {\n resolve(this._def);\n }\n }\n _resolveProps(def) {\n const { props } = def;\n const declaredPropKeys = isArray(props) ? props : Object.keys(props || {});\n for (const key of Object.keys(this)) {\n if (key[0] !== \"_\" && declaredPropKeys.includes(key)) {\n this._setProp(key, this[key], true, false);\n }\n }\n for (const key of declaredPropKeys.map(camelize$1)) {\n Object.defineProperty(this, key, {\n get() {\n return this._getProp(key);\n },\n set(val) {\n this._setProp(key, val);\n }\n });\n }\n }\n _setAttr(key) {\n let value = this.hasAttribute(key) ? this.getAttribute(key) : void 0;\n const camelKey = camelize$1(key);\n if (this._numberProps && this._numberProps[camelKey]) {\n value = toNumber(value);\n }\n this._setProp(camelKey, value, false);\n }\n /**\n * @internal\n */\n _getProp(key) {\n return this._props[key];\n }\n /**\n * @internal\n */\n _setProp(key, val, shouldReflect = true, shouldUpdate = true) {\n if (val !== this._props[key]) {\n this._props[key] = val;\n if (shouldUpdate && this._instance) {\n this._update();\n }\n if (shouldReflect) {\n if (val === true) {\n this.setAttribute(hyphenate(key), \"\");\n } else if (typeof val === \"string\" || typeof val === \"number\") {\n this.setAttribute(hyphenate(key), val + \"\");\n } else if (!val) {\n this.removeAttribute(hyphenate(key));\n }\n }\n }\n }\n _update() {\n render(this._createVNode(), this.shadowRoot);\n }\n _createVNode() {\n const vnode = createVNode(this._def, extend({}, this._props));\n if (!this._instance) {\n vnode.ce = (instance) => {\n this._instance = instance;\n instance.isCE = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n instance.ceReload = (newStyles) => {\n if (this._styles) {\n this._styles.forEach((s) => this.shadowRoot.removeChild(s));\n this._styles.length = 0;\n }\n this._applyStyles(newStyles);\n this._instance = null;\n this._update();\n };\n }\n const dispatch = (event, args) => {\n this.dispatchEvent(\n new CustomEvent(event, {\n detail: args\n })\n );\n };\n instance.emit = (event, ...args) => {\n dispatch(event, args);\n if (hyphenate(event) !== event) {\n dispatch(hyphenate(event), args);\n }\n };\n let parent = this;\n while (parent = parent && (parent.parentNode || parent.host)) {\n if (parent instanceof VueElement) {\n instance.parent = parent._instance;\n instance.provides = parent._instance.provides;\n break;\n }\n }\n };\n }\n return vnode;\n }\n _applyStyles(styles) {\n if (styles) {\n styles.forEach((css) => {\n const s = document.createElement(\"style\");\n s.textContent = css;\n this.shadowRoot.appendChild(s);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (this._styles || (this._styles = [])).push(s);\n }\n });\n }\n }\n}\n\nfunction useCssModule(name = \"$style\") {\n {\n const instance = getCurrentInstance();\n if (!instance) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`useCssModule must be called inside setup()`);\n return EMPTY_OBJ;\n }\n const modules = instance.type.__cssModules;\n if (!modules) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS modules injected.`);\n return EMPTY_OBJ;\n }\n const mod = modules[name];\n if (!mod) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`Current instance does not have CSS module named \"${name}\".`);\n return EMPTY_OBJ;\n }\n return mod;\n }\n}\n\nconst positionMap = /* @__PURE__ */ new WeakMap();\nconst newPositionMap = /* @__PURE__ */ new WeakMap();\nconst moveCbKey = Symbol(\"_moveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nconst TransitionGroupImpl = {\n name: \"TransitionGroup\",\n props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {\n tag: String,\n moveClass: String\n }),\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevChildren;\n let children;\n onUpdated(() => {\n if (!prevChildren.length) {\n return;\n }\n const moveClass = props.moveClass || `${props.name || \"v\"}-move`;\n if (!hasCSSTransform(\n prevChildren[0].el,\n instance.vnode.el,\n moveClass\n )) {\n return;\n }\n prevChildren.forEach(callPendingCbs);\n prevChildren.forEach(recordPosition);\n const movedChildren = prevChildren.filter(applyTranslation);\n forceReflow();\n movedChildren.forEach((c) => {\n const el = c.el;\n const style = el.style;\n addTransitionClass(el, moveClass);\n style.transform = style.webkitTransform = style.transitionDuration = \"\";\n const cb = el[moveCbKey] = (e) => {\n if (e && e.target !== el) {\n return;\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(\"transitionend\", cb);\n el[moveCbKey] = null;\n removeTransitionClass(el, moveClass);\n }\n };\n el.addEventListener(\"transitionend\", cb);\n });\n });\n return () => {\n const rawProps = toRaw(props);\n const cssTransitionProps = resolveTransitionProps(rawProps);\n let tag = rawProps.tag || Fragment;\n prevChildren = [];\n if (children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.el && child.el instanceof Element) {\n prevChildren.push(child);\n setTransitionHooks(\n child,\n resolveTransitionHooks(\n child,\n cssTransitionProps,\n state,\n instance\n )\n );\n positionMap.set(\n child,\n child.el.getBoundingClientRect()\n );\n }\n }\n }\n children = slots.default ? getTransitionRawChildren(slots.default()) : [];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.key != null) {\n setTransitionHooks(\n child,\n resolveTransitionHooks(child, cssTransitionProps, state, instance)\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`<TransitionGroup> children must be keyed.`);\n }\n }\n return createVNode(tag, null, children);\n };\n }\n};\nconst removeMode = (props) => delete props.mode;\n/* @__PURE__ */ removeMode(TransitionGroupImpl.props);\nconst TransitionGroup = TransitionGroupImpl;\nfunction callPendingCbs(c) {\n const el = c.el;\n if (el[moveCbKey]) {\n el[moveCbKey]();\n }\n if (el[enterCbKey]) {\n el[enterCbKey]();\n }\n}\nfunction recordPosition(c) {\n newPositionMap.set(c, c.el.getBoundingClientRect());\n}\nfunction applyTranslation(c) {\n const oldPos = positionMap.get(c);\n const newPos = newPositionMap.get(c);\n const dx = oldPos.left - newPos.left;\n const dy = oldPos.top - newPos.top;\n if (dx || dy) {\n const s = c.el.style;\n s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;\n s.transitionDuration = \"0s\";\n return c;\n }\n}\nfunction hasCSSTransform(el, root, moveClass) {\n const clone = el.cloneNode();\n const _vtc = el[vtcKey];\n if (_vtc) {\n _vtc.forEach((cls) => {\n cls.split(/\\s+/).forEach((c) => c && clone.classList.remove(c));\n });\n }\n moveClass.split(/\\s+/).forEach((c) => c && clone.classList.add(c));\n clone.style.display = \"none\";\n const container = root.nodeType === 1 ? root : root.parentNode;\n container.appendChild(clone);\n const { hasTransform } = getTransitionInfo(clone);\n container.removeChild(clone);\n return hasTransform;\n}\n\nconst getModelAssigner = (vnode) => {\n const fn = vnode.props[\"onUpdate:modelValue\"] || false;\n return isArray(fn) ? (value) => invokeArrayFns(fn, value) : fn;\n};\nfunction onCompositionStart(e) {\n e.target.composing = true;\n}\nfunction onCompositionEnd(e) {\n const target = e.target;\n if (target.composing) {\n target.composing = false;\n target.dispatchEvent(new Event(\"input\"));\n }\n}\nconst assignKey = Symbol(\"_assign\");\nconst vModelText = {\n created(el, { modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n const castToNumber = number || vnode.props && vnode.props.type === \"number\";\n addEventListener(el, lazy ? \"change\" : \"input\", (e) => {\n if (e.target.composing)\n return;\n let domValue = el.value;\n if (trim) {\n domValue = domValue.trim();\n }\n if (castToNumber) {\n domValue = looseToNumber(domValue);\n }\n el[assignKey](domValue);\n });\n if (trim) {\n addEventListener(el, \"change\", () => {\n el.value = el.value.trim();\n });\n }\n if (!lazy) {\n addEventListener(el, \"compositionstart\", onCompositionStart);\n addEventListener(el, \"compositionend\", onCompositionEnd);\n addEventListener(el, \"change\", onCompositionEnd);\n }\n },\n // set value on mounted so it's after min/max for type=\"range\"\n mounted(el, { value }) {\n el.value = value == null ? \"\" : value;\n },\n beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (el.composing)\n return;\n const elValue = (number || el.type === \"number\") && !/^0\\d/.test(el.value) ? looseToNumber(el.value) : el.value;\n const newValue = value == null ? \"\" : value;\n if (elValue === newValue) {\n return;\n }\n if (document.activeElement === el && el.type !== \"range\") {\n if (lazy) {\n return;\n }\n if (trim && el.value.trim() === newValue) {\n return;\n }\n }\n el.value = newValue;\n }\n};\nconst vModelCheckbox = {\n // #4096 array checkboxes need to be deep traversed\n deep: true,\n created(el, _, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n const modelValue = el._modelValue;\n const elementValue = getValue(el);\n const checked = el.checked;\n const assign = el[assignKey];\n if (isArray(modelValue)) {\n const index = looseIndexOf(modelValue, elementValue);\n const found = index !== -1;\n if (checked && !found) {\n assign(modelValue.concat(elementValue));\n } else if (!checked && found) {\n const filtered = [...modelValue];\n filtered.splice(index, 1);\n assign(filtered);\n }\n } else if (isSet(modelValue)) {\n const cloned = new Set(modelValue);\n if (checked) {\n cloned.add(elementValue);\n } else {\n cloned.delete(elementValue);\n }\n assign(cloned);\n } else {\n assign(getCheckboxValue(el, checked));\n }\n });\n },\n // set initial checked on mount to wait for true-value/false-value\n mounted: setChecked,\n beforeUpdate(el, binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n setChecked(el, binding, vnode);\n }\n};\nfunction setChecked(el, { value, oldValue }, vnode) {\n el._modelValue = value;\n if (isArray(value)) {\n el.checked = looseIndexOf(value, vnode.props.value) > -1;\n } else if (isSet(value)) {\n el.checked = value.has(vnode.props.value);\n } else if (value !== oldValue) {\n el.checked = looseEqual(value, getCheckboxValue(el, true));\n }\n}\nconst vModelRadio = {\n created(el, { value }, vnode) {\n el.checked = looseEqual(value, vnode.props.value);\n el[assignKey] = getModelAssigner(vnode);\n addEventListener(el, \"change\", () => {\n el[assignKey](getValue(el));\n });\n },\n beforeUpdate(el, { value, oldValue }, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n if (value !== oldValue) {\n el.checked = looseEqual(value, vnode.props.value);\n }\n }\n};\nconst vModelSelect = {\n // <select multiple> value need to be deep traversed\n deep: true,\n created(el, { value, modifiers: { number } }, vnode) {\n const isSetModel = isSet(value);\n addEventListener(el, \"change\", () => {\n const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(\n (o) => number ? looseToNumber(getValue(o)) : getValue(o)\n );\n el[assignKey](\n el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]\n );\n el._assigning = true;\n nextTick(() => {\n el._assigning = false;\n });\n });\n el[assignKey] = getModelAssigner(vnode);\n },\n // set value in mounted & updated because <select> relies on its children\n // <option>s.\n mounted(el, { value, modifiers: { number } }) {\n setSelected(el, value);\n },\n beforeUpdate(el, _binding, vnode) {\n el[assignKey] = getModelAssigner(vnode);\n },\n updated(el, { value, modifiers: { number } }) {\n if (!el._assigning) {\n setSelected(el, value);\n }\n }\n};\nfunction setSelected(el, value, number) {\n const isMultiple = el.multiple;\n const isArrayValue = isArray(value);\n if (isMultiple && !isArrayValue && !isSet(value)) {\n !!(process.env.NODE_ENV !== \"production\") && warn(\n `<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`\n );\n return;\n }\n for (let i = 0, l = el.options.length; i < l; i++) {\n const option = el.options[i];\n const optionValue = getValue(option);\n if (isMultiple) {\n if (isArrayValue) {\n const optionType = typeof optionValue;\n if (optionType === \"string\" || optionType === \"number\") {\n option.selected = value.some((v) => String(v) === String(optionValue));\n } else {\n option.selected = looseIndexOf(value, optionValue) > -1;\n }\n } else {\n option.selected = value.has(optionValue);\n }\n } else if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i)\n el.selectedIndex = i;\n return;\n }\n }\n if (!isMultiple && el.selectedIndex !== -1) {\n el.selectedIndex = -1;\n }\n}\nfunction getValue(el) {\n return \"_value\" in el ? el._value : el.value;\n}\nfunction getCheckboxValue(el, checked) {\n const key = checked ? \"_trueValue\" : \"_falseValue\";\n return key in el ? el[key] : checked;\n}\nconst vModelDynamic = {\n created(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"created\");\n },\n mounted(el, binding, vnode) {\n callModelHook(el, binding, vnode, null, \"mounted\");\n },\n beforeUpdate(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"beforeUpdate\");\n },\n updated(el, binding, vnode, prevVNode) {\n callModelHook(el, binding, vnode, prevVNode, \"updated\");\n }\n};\nfunction resolveDynamicModel(tagName, type) {\n switch (tagName) {\n case \"SELECT\":\n return vModelSelect;\n case \"TEXTAREA\":\n return vModelText;\n default:\n switch (type) {\n case \"checkbox\":\n return vModelCheckbox;\n case \"radio\":\n return vModelRadio;\n default:\n return vModelText;\n }\n }\n}\nfunction callModelHook(el, binding, vnode, prevVNode, hook) {\n const modelToUse = resolveDynamicModel(\n el.tagName,\n vnode.props && vnode.props.type\n );\n const fn = modelToUse[hook];\n fn && fn(el, binding, vnode, prevVNode);\n}\nfunction initVModelForSSR() {\n vModelText.getSSRProps = ({ value }) => ({ value });\n vModelRadio.getSSRProps = ({ value }, vnode) => {\n if (vnode.props && looseEqual(vnode.props.value, value)) {\n return { checked: true };\n }\n };\n vModelCheckbox.getSSRProps = ({ value }, vnode) => {\n if (isArray(value)) {\n if (vnode.props && looseIndexOf(value, vnode.props.value) > -1) {\n return { checked: true };\n }\n } else if (isSet(value)) {\n if (vnode.props && value.has(vnode.props.value)) {\n return { checked: true };\n }\n } else if (value) {\n return { checked: true };\n }\n };\n vModelDynamic.getSSRProps = (binding, vnode) => {\n if (typeof vnode.type !== \"string\") {\n return;\n }\n const modelToUse = resolveDynamicModel(\n // resolveDynamicModel expects an uppercase tag name, but vnode.type is lowercase\n vnode.type.toUpperCase(),\n vnode.props && vnode.props.type\n );\n if (modelToUse.getSSRProps) {\n return modelToUse.getSSRProps(binding, vnode);\n }\n };\n}\n\nconst systemModifiers = [\"ctrl\", \"shift\", \"alt\", \"meta\"];\nconst modifierGuards = {\n stop: (e) => e.stopPropagation(),\n prevent: (e) => e.preventDefault(),\n self: (e) => e.target !== e.currentTarget,\n ctrl: (e) => !e.ctrlKey,\n shift: (e) => !e.shiftKey,\n alt: (e) => !e.altKey,\n meta: (e) => !e.metaKey,\n left: (e) => \"button\" in e && e.button !== 0,\n middle: (e) => \"button\" in e && e.button !== 1,\n right: (e) => \"button\" in e && e.button !== 2,\n exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))\n};\nconst withModifiers = (fn, modifiers) => {\n const cache = fn._withMods || (fn._withMods = {});\n const cacheKey = modifiers.join(\".\");\n return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {\n for (let i = 0; i < modifiers.length; i++) {\n const guard = modifierGuards[modifiers[i]];\n if (guard && guard(event, modifiers))\n return;\n }\n return fn(event, ...args);\n });\n};\nconst keyNames = {\n esc: \"escape\",\n space: \" \",\n up: \"arrow-up\",\n left: \"arrow-left\",\n right: \"arrow-right\",\n down: \"arrow-down\",\n delete: \"backspace\"\n};\nconst withKeys = (fn, modifiers) => {\n const cache = fn._withKeys || (fn._withKeys = {});\n const cacheKey = modifiers.join(\".\");\n return cache[cacheKey] || (cache[cacheKey] = (event) => {\n if (!(\"key\" in event)) {\n return;\n }\n const eventKey = hyphenate(event.key);\n if (modifiers.some((k) => k === eventKey || keyNames[k] === eventKey)) {\n return fn(event);\n }\n });\n};\n\nconst rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);\nlet renderer;\nlet enabledHydration = false;\nfunction ensureRenderer() {\n return renderer || (renderer = createRenderer(rendererOptions));\n}\nfunction ensureHydrationRenderer() {\n renderer = enabledHydration ? renderer : createHydrationRenderer(rendererOptions);\n enabledHydration = true;\n return renderer;\n}\nconst render = (...args) => {\n ensureRenderer().render(...args);\n};\nconst hydrate = (...args) => {\n ensureHydrationRenderer().hydrate(...args);\n};\nconst createApp = (...args) => {\n const app = ensureRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (!container)\n return;\n const component = app._component;\n if (!isFunction(component) && !component.render && !component.template) {\n component.template = container.innerHTML;\n }\n container.innerHTML = \"\";\n const proxy = mount(container, false, resolveRootNamespace(container));\n if (container instanceof Element) {\n container.removeAttribute(\"v-cloak\");\n container.setAttribute(\"data-v-app\", \"\");\n }\n return proxy;\n };\n return app;\n};\nconst createSSRApp = (...args) => {\n const app = ensureHydrationRenderer().createApp(...args);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n injectNativeTagCheck(app);\n injectCompilerOptionsCheck(app);\n }\n const { mount } = app;\n app.mount = (containerOrSelector) => {\n const container = normalizeContainer(containerOrSelector);\n if (container) {\n return mount(container, true, resolveRootNamespace(container));\n }\n };\n return app;\n};\nfunction resolveRootNamespace(container) {\n if (container instanceof SVGElement) {\n return \"svg\";\n }\n if (typeof MathMLElement === \"function\" && container instanceof MathMLElement) {\n return \"mathml\";\n }\n}\nfunction injectNativeTagCheck(app) {\n Object.defineProperty(app.config, \"isNativeTag\", {\n value: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag),\n writable: false\n });\n}\nfunction injectCompilerOptionsCheck(app) {\n if (isRuntimeOnly()) {\n const isCustomElement = app.config.isCustomElement;\n Object.defineProperty(app.config, \"isCustomElement\", {\n get() {\n return isCustomElement;\n },\n set() {\n warn(\n `The \\`isCustomElement\\` config option is deprecated. Use \\`compilerOptions.isCustomElement\\` instead.`\n );\n }\n });\n const compilerOptions = app.config.compilerOptions;\n const msg = `The \\`compilerOptions\\` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka \"full build\"). Since you are using the runtime-only build, \\`compilerOptions\\` must be passed to \\`@vue/compiler-dom\\` in the build setup instead.\n- For vue-loader: pass it via vue-loader's \\`compilerOptions\\` loader option.\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-sfc`;\n Object.defineProperty(app.config, \"compilerOptions\", {\n get() {\n warn(msg);\n return compilerOptions;\n },\n set() {\n warn(msg);\n }\n });\n }\n}\nfunction normalizeContainer(container) {\n if (isString(container)) {\n const res = document.querySelector(container);\n if (!!(process.env.NODE_ENV !== \"production\") && !res) {\n warn(\n `Failed to mount app: mount target selector \"${container}\" returned null.`\n );\n }\n return res;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === \"closed\") {\n warn(\n `mounting on a ShadowRoot with \\`{mode: \"closed\"}\\` may lead to unpredictable bugs`\n );\n }\n return container;\n}\nlet ssrDirectiveInitialized = false;\nconst initDirectivesForSSR = () => {\n if (!ssrDirectiveInitialized) {\n ssrDirectiveInitialized = true;\n initVModelForSSR();\n initVShowForSSR();\n }\n} ;\n\nexport { Transition, TransitionGroup, VueElement, createApp, createSSRApp, defineCustomElement, defineSSRCustomElement, hydrate, initDirectivesForSSR, render, useCssModule, useCssVars, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, withKeys, withModifiers };\n","import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","/*!\n * pinia v2.1.7\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nimport { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (hasInjectionContext() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]> }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n/**\n * Should we add the devtools plugins.\n * - only if dev mode or forced through the prod devtools flag\n * - not in test\n * - only if window exists (could change in the future)\n */\nconst USE_DEVTOOLS = ((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test') && IS_CLIENT;\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = \n typeof navigator === 'object' ? navigator : { userAgent: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n // No longer available :(\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\n/**\n * This file contain devtools actions, they are not Pinia actions.\n */\n// ---\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to import the state from JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nfunction loadStoresState(pinia, state) {\n for (const key in state) {\n const storeState = pinia.state.value[key];\n // store is already instantiated, patch it\n if (storeState) {\n Object.assign(storeState, state[key]);\n }\n else {\n // store is not instantiated, set the initial state\n pinia.state.value[key] = state[key];\n }\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (with \"$reset\")',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (typeof store.$reset !== 'function') {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy\n ? new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n })\n : store;\n // For Setup Stores we need https://github.com/tc39/proposal-async-context\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n // this is safer as async actions in Setup Stores would associate mutations done outside of the action\n activeAction = undefined;\n return retValue;\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n store._isOptionsAPI = !!options.state;\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n // Upgrade the HMR to also update the new actions\n const originalHotUpdate = store._hotUpdate;\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n };\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store<Id, S, G, A> to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if (USE_DEVTOOLS && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nconst fallbackRunWithContext = (fn) => fn();\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n // Handle Set instances\n if (target instanceof Set && patchToApply instanceof Set) {\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\nconst skipHydrateMap = /*#__PURE__*/ new WeakMap();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return isVue2\n ? // in @vue/composition-api, the refs are sealed so defineProperty doesn't work...\n /* istanbul ignore next */ skipHydrateMap.set(obj, 1) && obj\n : Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return isVue2\n ? /* istanbul ignore next */ !skipHydrateMap.has(obj)\n : !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore next */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = {\n deep: true,\n // flush: 'post',\n };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Wraps an action to handle subscriptions.\n *\n * @param name - name of the action\n * @param action - action to wrap\n * @returns a wrapped action to handle subscriptions\n */\n function wrapAction(name, action) {\n return function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name,\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = action.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n }\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || USE_DEVTOOLS\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext;\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = runWithContext(() => pinia._e.run(() => (scope = effectScope()).run(setup)));\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n // @ts-expect-error: we are overriding the function we avoid wrapping if\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : wrapAction(key, prop);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const action = newStore[actionName];\n set(store, actionName, wrapAction(actionName, action));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if (USE_DEVTOOLS) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n const extensions = scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\n else {\n options = idOrOptions;\n id = idOrOptions.id;\n if ((process.env.NODE_ENV !== 'production') && typeof id !== 'string') {\n throw new Error(`[🍍]: \"defineStore()\" must be passed a store id as its first argument.`);\n }\n }\n function useStore(pinia, hot) {\n const hasContext = hasInjectionContext();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Are you trying to use a store before calling \"app.use(pinia)\"?\\n` +\n `See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n if ((process.env.NODE_ENV !== 'production') && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n // save stores in instances to access them devtools\n if (currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n store = toRaw(store);\n const refs = {};\n for (const key in store) {\n const value = store[key];\n if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, skipHydrate, storeToRefs };\n","import { shallowRef, watchEffect, readonly, unref, ref, isVue3, version, watch, customRef, getCurrentScope, onScopeDispose, effectScope, provide, inject, isRef, computed, reactive, toRefs as toRefs$1, toRef, isVue2, set as set$1, getCurrentInstance, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nvar __defProp$9 = Object.defineProperty;\nvar __defProps$6 = Object.defineProperties;\nvar __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$b = Object.getOwnPropertySymbols;\nvar __hasOwnProp$b = Object.prototype.hasOwnProperty;\nvar __propIsEnum$b = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$9 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$b.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n if (__getOwnPropSymbols$b)\n for (var prop of __getOwnPropSymbols$b(b)) {\n if (__propIsEnum$b.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, __spreadProps$6(__spreadValues$9({}, options), {\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n }));\n return readonly(result);\n}\n\nvar _a;\nconst isClient = typeof window !== \"undefined\";\nconst isDef = (val) => typeof val !== \"undefined\";\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isBoolean = (val) => typeof val === \"boolean\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isNumber = (val) => typeof val === \"number\";\nconst isString = (val) => typeof val === \"string\";\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst isWindow = (val) => typeof window !== \"undefined\" && toString.call(val) === \"[object Window]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst isIOS = isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\n\nfunction resolveUnref(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = resolveUnref(ms);\n const maxDuration = resolveUnref(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = resolveUnref(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nfunction __onlyVue3(name = \"this function\") {\n if (isVue3)\n return;\n throw new Error(`[VueUse] ${name} is only works on Vue 3.`);\n}\nfunction __onlyVue27Plus(name = \"this function\") {\n if (isVue3 || version.startsWith(\"2.7.\"))\n return;\n throw new Error(`[VueUse] ${name} is only works on Vue 2.7 or above.`);\n}\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = isFunction(fn) ? fn : fn.get;\n const set = isFunction(fn) ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = [];\n const off = (fn) => {\n const index = fns.indexOf(fn);\n if (index !== -1)\n fns.splice(index, 1);\n };\n const on = (fn) => {\n fns.push(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (param) => {\n fns.forEach((fn) => fn(param));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return () => {\n if (!initialized) {\n state = scope.run(stateFactory);\n initialized = true;\n }\n return state;\n };\n}\n\nfunction createInjectionState(composable) {\n const key = Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provide(key, state);\n return state;\n };\n const useInjectedState = () => inject(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n __onlyVue27Plus();\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nvar __defProp$8 = Object.defineProperty;\nvar __getOwnPropSymbols$a = Object.getOwnPropertySymbols;\nvar __hasOwnProp$a = Object.prototype.hasOwnProperty;\nvar __propIsEnum$a = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$8 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$a.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n if (__getOwnPropSymbols$a)\n for (var prop of __getOwnPropSymbols$a(b)) {\n if (__propIsEnum$a.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n }\n return a;\n};\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = __spreadValues$8({}, obj);\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : resolveUnref;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n }));\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n return reactiveComputed(() => Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n return reactive(Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = defaultValue;\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = defaultValue;\n trigger();\n }, resolveUnref(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(debounceFilter(ms, options), fn);\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(ref, {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n }, { enumerable: true });\n}\nconst controlledRef = refWithControl;\n\nfunction resolveRef(r) {\n return typeof r === \"function\" ? computed(r) : ref(r);\n}\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction syncRef(left, right, options = {}) {\n var _a, _b;\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options;\n let watchLeft;\n let watchRight;\n const transformLTR = (_a = transform.ltr) != null ? _a : (v) => v;\n const transformRTL = (_b = transform.rtl) != null ? _b : (v) => v;\n if (direction === \"both\" || direction === \"ltr\") {\n watchLeft = watch(left, (newValue) => right.value = transformLTR(newValue), { flush, deep, immediate });\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchRight = watch(right, (newValue) => left.value = transformRTL(newValue), { flush, deep, immediate });\n }\n return () => {\n watchLeft == null ? void 0 : watchLeft();\n watchRight == null ? void 0 : watchRight();\n };\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(source, (newValue) => targets.forEach((target) => target.value = newValue), { flush, deep, immediate });\n}\n\nvar __defProp$7 = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$9 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$9 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$9.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$9)\n for (var prop of __getOwnPropSymbols$9(b)) {\n if (__propIsEnum$9.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nfunction toRefs(objectRef) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? new Array(objectRef.value.length) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = __spreadProps$5(__spreadValues$7({}, objectRef.value), { [key]: v });\n Object.setPrototypeOf(newObject, objectRef.value);\n objectRef.value = newObject;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true) {\n if (getCurrentInstance())\n onBeforeMount(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn) {\n if (getCurrentInstance())\n onBeforeUnmount(fn);\n}\n\nfunction tryOnMounted(fn, sync = true) {\n if (getCurrentInstance())\n onMounted(fn);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn) {\n if (getCurrentInstance())\n onUnmounted(fn);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(r, (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n }, {\n flush,\n deep,\n immediate: true\n });\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => resolveUnref(r)).finally(() => stop == null ? void 0 : stop()));\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch([r, value], ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n }, {\n flush,\n deep,\n immediate: true\n });\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => resolveUnref(r)).finally(() => {\n stop == null ? void 0 : stop();\n return resolveUnref(r);\n }));\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(resolveUnref(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(resolveUnref(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => resolveUnref(list).every((element, index, array) => fn(resolveUnref(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => resolveUnref(list).map((i) => resolveUnref(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => resolveUnref(resolveUnref(list).find((element, index, array) => fn(resolveUnref(element), index, array))));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => resolveUnref(list).findIndex((element, index, array) => fn(resolveUnref(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => resolveUnref(!Array.prototype.findLast ? findLast(resolveUnref(list), (element, index, array) => fn(resolveUnref(element), index, array)) : resolveUnref(list).findLast((element, index, array) => fn(resolveUnref(element), index, array))));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => resolveUnref(list).map((i) => resolveUnref(i)).join(resolveUnref(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => resolveUnref(list).map((i) => resolveUnref(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(resolveUnref(sum), resolveUnref(value), index);\n return computed(() => {\n const resolved = resolveUnref(list);\n return args.length ? resolved.reduce(reduceCallback, resolveUnref(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => resolveUnref(list).some((element, index, array) => fn(resolveUnref(element), index, array)));\n}\n\nfunction useArrayUnique(list) {\n return computed(() => [...new Set(resolveUnref(list).map((element) => resolveUnref(element)))]);\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n const count = ref(initialValue);\n const {\n max = Infinity,\n min = -Infinity\n } = options;\n const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);\n const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = initialValue) => {\n initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nconst defaultMeridiem = (hours, minutes, isLowercase, hasPeriod) => {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n};\nconst formatDate = (date, formatStr, options = {}) => {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => $1 || matches[match]());\n};\nconst normalizeDate = (date) => {\n if (date === null)\n return new Date(NaN);\n if (date === void 0)\n return new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n};\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(resolveUnref(date)), resolveUnref(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = resolveUnref(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || isFunction(interval)) {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nvar __defProp$6 = Object.defineProperty;\nvar __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$8 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$8 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$8.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$8)\n for (var prop of __getOwnPropSymbols$8(b)) {\n if (__propIsEnum$8.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(callback ? () => {\n update();\n callback(counter.value);\n } : update, interval, { immediate });\n if (exposeControls) {\n return __spreadValues$6({\n counter,\n reset\n }, controls);\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(source, () => ms.value = timestamp(), options);\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, resolveUnref(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$7.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$7)\n for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(callback != null ? callback : noop, interval, options);\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return __spreadValues$5({\n ready\n }, controls);\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = resolveUnref(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${resolveUnref(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = resolveUnref(truthyValue);\n _value.value = _value.value === truthy ? resolveUnref(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [\n ...source instanceof Function ? source() : Array.isArray(source) ? source : unref(source)\n ];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = new Array(oldList.length);\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __objRest$5 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$6.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$6)\n for (var prop of __getOwnPropSymbols$6(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$6.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchWithFilter(source, cb, options = {}) {\n const _a = options, {\n eventFilter = bypassFilter\n } = _a, watchOptions = __objRest$5(_a, [\n \"eventFilter\"\n ]);\n return watch(source, createFilterWrapper(eventFilter, cb), watchOptions);\n}\n\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __objRest$4 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$5.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$5)\n for (var prop of __getOwnPropSymbols$5(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$5.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchAtMost(source, cb, options) {\n const _a = options, {\n count\n } = _a, watchOptions = __objRest$4(_a, [\n \"count\"\n ]);\n const current = ref(0);\n const stop = watchWithFilter(source, (...args) => {\n current.value += 1;\n if (current.value >= resolveUnref(count))\n nextTick(() => stop());\n cb(...args);\n }, watchOptions);\n return { count: current, stop };\n}\n\nvar __defProp$4 = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nvar __objRest$3 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchDebounced(source, cb, options = {}) {\n const _a = options, {\n debounce = 0,\n maxWait = void 0\n } = _a, watchOptions = __objRest$3(_a, [\n \"debounce\",\n \"maxWait\"\n ]);\n return watchWithFilter(source, cb, __spreadProps$4(__spreadValues$4({}, watchOptions), {\n eventFilter: debounceFilter(debounce, { maxWait })\n }));\n}\n\nvar __defProp$3 = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nvar __objRest$2 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchIgnorable(source, cb, options = {}) {\n const _a = options, {\n eventFilter = bypassFilter\n } = _a, watchOptions = __objRest$2(_a, [\n \"eventFilter\"\n ]);\n const filteredCb = createFilterWrapper(eventFilter, cb);\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(source, (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n }, watchOptions);\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(watch(source, () => {\n syncCounter.value++;\n }, __spreadProps$3(__spreadValues$3({}, watchOptions), { flush: \"sync\" })));\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(watch(source, (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n }, watchOptions));\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nvar __objRest$1 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchPausable(source, cb, options = {}) {\n const _a = options, {\n eventFilter: filter\n } = _a, watchOptions = __objRest$1(_a, [\n \"eventFilter\"\n ]);\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(source, cb, __spreadProps$2(__spreadValues$2({}, watchOptions), {\n eventFilter\n }));\n return { stop, pause, resume, isActive };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction watchThrottled(source, cb, options = {}) {\n const _a = options, {\n throttle = 0,\n trailing = true,\n leading = true\n } = _a, watchOptions = __objRest(_a, [\n \"throttle\",\n \"trailing\",\n \"leading\"\n ]);\n return watchWithFilter(source, cb, __spreadProps$1(__spreadValues$1({}, watchOptions), {\n eventFilter: throttleFilter(throttle, trailing, leading)\n }));\n}\n\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return __spreadProps(__spreadValues({}, res), {\n trigger\n });\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => getOneWatchSource(item));\n return getOneWatchSource(sources);\n}\nfunction getOneWatchSource(source) {\n return typeof source === \"function\" ? source() : unref(source);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n return watch(source, (v, ov, onInvalidate) => {\n if (v)\n cb(v, ov, onInvalidate);\n }, options);\n}\n\nexport { __onlyVue27Plus, __onlyVue3, assert, refAutoReset as autoResetRef, bypassFilter, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, hasOwn, identity, watchIgnorable as ignorableWatch, increaseWithUnit, invoke, isBoolean, isClient, isDef, isDefined, isFunction, isIOS, isNumber, isObject, isString, isWindow, makeDestructurable, noop, normalizeDate, now, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchIgnorable, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import { noop, resolveUnref, isClient, isString, tryOnScopeDispose, isIOS, tryOnMounted, computedWithControl, promiseTimeout, isFunction, resolveRef, increaseWithUnit, useTimeoutFn, pausableWatch, createEventHook, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, createSingletonPromise, toRefs, containsProp, until, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, isObject, isNumber, useIntervalFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, identity, isDef } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, unref, watch, getCurrentInstance, customRef, onUpdated, reactive, nextTick, onMounted, markRaw, readonly, getCurrentScope, isVue2, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = false,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nconst createUnrefFn = (fn) => {\n return function(...args) {\n return fn.apply(this, args.map((i) => unref(i)));\n };\n};\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = resolveUnref(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (isString(args[0]) || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(() => [unrefElement(target), resolveUnref(options)], ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n cleanups.push(...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, options2));\n }));\n }, { immediate: true, flush: \"post\" });\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n if (el)\n shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nvar __defProp$n = Object.defineProperty;\nvar __defProps$9 = Object.defineProperties;\nvar __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$p = Object.getOwnPropertySymbols;\nvar __hasOwnProp$p = Object.prototype.hasOwnProperty;\nvar __propIsEnum$p = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$n = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$p.call(b, prop))\n __defNormalProp$n(a, prop, b[prop]);\n if (__getOwnPropSymbols$p)\n for (var prop of __getOwnPropSymbols$p(b)) {\n if (__propIsEnum$p.call(b, prop))\n __defNormalProp$n(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));\nconst createKeyPredicate = (keyFilter) => {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n};\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const { target = defaultWindow, eventName = \"keydown\", passive = false } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: \"keydown\" }));\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: \"keypress\" }));\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, __spreadProps$9(__spreadValues$n({}, options), { eventName: \"keyup\" }));\n}\n\nconst DEFAULT_DELAY = 500;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n timeout = setTimeout(() => handler(ev), (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY);\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions);\n useEventListener(elementRef, \"pointerup\", clear, listenerOptions);\n useEventListener(elementRef, \"pointerleave\", clear, listenerOptions);\n}\n\nconst isFocusedElementEditable = () => {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n};\nconst isTypedCharValid = ({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) => {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n return false;\n};\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const { window = defaultWindow } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const activeElement = computedWithControl(() => null, () => document == null ? void 0 : document.activeElement);\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n activeElement.trigger();\n }, true);\n useEventListener(window, \"focus\", activeElement.trigger, true);\n }\n return activeElement;\n}\n\nfunction useAsyncQueue(tasks, options = {}) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop\n } = options;\n const promiseState = {\n pending: \"pending\",\n rejected: \"rejected\",\n fulfilled: \"fulfilled\"\n };\n const initialResult = Array.from(new Array(tasks.length), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n return curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n }).catch((e) => {\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = ref(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw error;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n return {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = resolveUnref(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || isFunction(target))\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useSupported(callback, sync = false) {\n const isSupported = ref();\n const update = () => isSupported.value = Boolean(callback());\n update();\n tryOnMounted(update, sync);\n return isSupported;\n}\n\nfunction useBattery({ navigator = defaultNavigator } = {}) {\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator);\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n for (const event of events)\n useEventListener(battery, event, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n device,\n requestDevice,\n server,\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", update);\n else\n mediaQuery.removeListener(update);\n };\n const update = () => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(resolveRef(query).value);\n matches.value = mediaQuery.matches;\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", update);\n else\n mediaQuery.addListener(update);\n };\n watchEffect(update);\n tryOnScopeDispose(() => cleanup());\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetify = {\n xs: 600,\n sm: 960,\n md: 1264,\n lg: 1904\n};\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 600,\n sm: 1024,\n md: 1440,\n lg: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\n\nvar __defProp$m = Object.defineProperty;\nvar __getOwnPropSymbols$o = Object.getOwnPropertySymbols;\nvar __hasOwnProp$o = Object.prototype.hasOwnProperty;\nvar __propIsEnum$o = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$m = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$o.call(b, prop))\n __defNormalProp$m(a, prop, b[prop]);\n if (__getOwnPropSymbols$o)\n for (var prop of __getOwnPropSymbols$o(b)) {\n if (__propIsEnum$o.call(b, prop))\n __defNormalProp$m(a, prop, b[prop]);\n }\n return a;\n};\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = breakpoints[k];\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(`(min-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => greaterOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n return __spreadValues$m({\n greater(k) {\n return useMediaQuery(`(min-width: ${getValue(k, 0.1)})`, options);\n },\n greaterOrEqual,\n smaller(k) {\n return useMediaQuery(`(max-width: ${getValue(k, -0.1)})`, options);\n },\n smallerOrEqual(k) {\n return useMediaQuery(`(max-width: ${getValue(k)})`, options);\n },\n between(a, b) {\n return useMediaQuery(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n }\n }, shortcutMethods);\n}\n\nconst useBroadcastChannel = (options) => {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = ref(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n};\n\nfunction useBrowserLocation({ window = defaultWindow } = {}) {\n const buildState = (trigger) => {\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { hash, host, hostname, href, origin, pathname, port, protocol, search } = (window == null ? void 0 : window.location) || {};\n return {\n trigger,\n state: state2,\n length,\n hash,\n host,\n hostname,\n href,\n origin,\n pathname,\n port,\n protocol,\n search\n };\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const events = [\"copy\", \"cut\"];\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read) {\n for (const event of events)\n useEventListener(event, updateText);\n }\n async function copy(value = resolveUnref(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value)\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nvar __defProp$l = Object.defineProperty;\nvar __defProps$8 = Object.defineProperties;\nvar __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$n = Object.getOwnPropertySymbols;\nvar __hasOwnProp$n = Object.prototype.hasOwnProperty;\nvar __propIsEnum$n = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$l = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$n.call(b, prop))\n __defNormalProp$l(a, prop, b[prop]);\n if (__getOwnPropSymbols$n)\n for (var prop of __getOwnPropSymbols$n(b)) {\n if (__propIsEnum$n.call(b, prop))\n __defNormalProp$l(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(unref(source));\n }\n if (!manual && isRef(source)) {\n watch(source, sync, __spreadProps$8(__spreadValues$l({}, options), {\n deep,\n immediate\n }));\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\n_global[globalKey] = _global[globalKey] || {};\nconst handlers = _global[globalKey];\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nvar __defProp$k = Object.defineProperty;\nvar __getOwnPropSymbols$m = Object.getOwnPropertySymbols;\nvar __hasOwnProp$m = Object.prototype.hasOwnProperty;\nvar __propIsEnum$m = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$k = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$m.call(b, prop))\n __defNormalProp$k(a, prop, b[prop]);\n if (__getOwnPropSymbols$m)\n for (var prop of __getOwnPropSymbols$m(b)) {\n if (__propIsEnum$m.call(b, prop))\n __defNormalProp$k(a, prop, b[prop]);\n }\n return a;\n};\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const data = (shallow ? shallowRef : ref)(defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = resolveUnref(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(data, () => write(data.value), { flush, deep, eventFilter });\n if (window && listenToStorageChanges) {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n }\n update();\n return data;\n function write(v) {\n try {\n if (v == null) {\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n const oldValue = storage.getItem(key);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue: serialized,\n storageArea: storage\n }\n }));\n }\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit !== null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (isFunction(mergeDefaults))\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return __spreadValues$k(__spreadValues$k({}, rawInit), value);\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nvar __defProp$j = Object.defineProperty;\nvar __getOwnPropSymbols$l = Object.getOwnPropertySymbols;\nvar __hasOwnProp$l = Object.prototype.hasOwnProperty;\nvar __propIsEnum$l = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$j = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$l.call(b, prop))\n __defNormalProp$j(a, prop, b[prop]);\n if (__getOwnPropSymbols$l)\n for (var prop of __getOwnPropSymbols$l(b)) {\n if (__propIsEnum$l.call(b, prop))\n __defNormalProp$j(a, prop, b[prop]);\n }\n return a;\n};\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto\n } = options;\n const modes = __spreadValues$j({\n auto: \"\",\n light: \"light\",\n dark: \"dark\"\n }, options.modes || {});\n const preferredDark = usePreferredDark({ window });\n const preferredMode = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? ref(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed({\n get() {\n return store.value === \"auto\" && !emitAuto ? preferredMode.value : store.value;\n },\n set(v) {\n store.value = v;\n }\n });\n const updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector2, attribute2, value) => {\n const el = window == null ? void 0 : window.document.querySelector(selector2);\n if (!el)\n return;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n });\n function defaultOnChanged(mode) {\n var _a;\n const resolvedMode = mode === \"auto\" ? preferredMode.value : mode;\n updateHTMLAttrs(selector, attribute, (_a = modes[resolvedMode]) != null ? _a : resolvedMode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n if (emitAuto)\n watch(preferredMode, () => onChanged(state.value), { flush: \"post\" });\n tryOnMounted(() => onChanged(state.value));\n return state;\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useCssVar(prop, target, { window = defaultWindow, initialValue = \"\" } = {}) {\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n watch([elRef, () => resolveUnref(prop)], ([el, prop2]) => {\n var _a;\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(prop2)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }, { immediate: true });\n watch(variable, (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(resolveUnref(prop), val);\n });\n return variable;\n}\n\nfunction useCurrentElement() {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(() => null, () => vm.proxy.$el);\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n var _a;\n const state = shallowRef((_a = options == null ? void 0 : options.initialValue) != null ? _a : list[0]);\n const index = computed({\n get() {\n var _a2;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, list) : list.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a2 = options == null ? void 0 : options.fallbackIndex) != null ? _a2 : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const length = list.length;\n const index2 = (i % length + length) % length;\n const value = list[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n return {\n state,\n index,\n next,\n prev\n };\n}\n\nvar __defProp$i = Object.defineProperty;\nvar __defProps$7 = Object.defineProperties;\nvar __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$k = Object.getOwnPropertySymbols;\nvar __hasOwnProp$k = Object.prototype.hasOwnProperty;\nvar __propIsEnum$k = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$i = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$k.call(b, prop))\n __defNormalProp$i(a, prop, b[prop]);\n if (__getOwnPropSymbols$k)\n for (var prop of __getOwnPropSymbols$k(b)) {\n if (__propIsEnum$k.call(b, prop))\n __defNormalProp$i(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode(__spreadProps$7(__spreadValues$i({}, options), {\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\");\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n }));\n const preferredDark = usePreferredDark({ window });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n if (v === preferredDark.value)\n mode.value = \"auto\";\n else\n mode.value = v ? \"dark\" : \"light\";\n }\n });\n return isDark;\n}\n\nconst fnBypass = (v) => v;\nconst fnSetSource = (source, value) => source.value = value;\nfunction defaultDump(clone) {\n return clone ? isFunction(clone) ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? isFunction(clone) ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Infinity);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nvar __defProp$h = Object.defineProperty;\nvar __defProps$6 = Object.defineProperties;\nvar __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$j = Object.getOwnPropertySymbols;\nvar __hasOwnProp$j = Object.prototype.hasOwnProperty;\nvar __propIsEnum$j = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$h = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$j.call(b, prop))\n __defNormalProp$h(a, prop, b[prop]);\n if (__getOwnPropSymbols$j)\n for (var prop of __getOwnPropSymbols$j(b)) {\n if (__propIsEnum$j.call(b, prop))\n __defNormalProp$h(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(source, commit, { deep, flush, eventFilter: composedFilter });\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, __spreadProps$6(__spreadValues$h({}, options), { clone: options.clone || deep, setSource }));\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return __spreadProps$6(__spreadValues$h({}, manualHistory), {\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n });\n}\n\nvar __defProp$g = Object.defineProperty;\nvar __defProps$5 = Object.defineProperties;\nvar __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$i = Object.getOwnPropertySymbols;\nvar __hasOwnProp$i = Object.prototype.hasOwnProperty;\nvar __propIsEnum$i = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$g = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$i.call(b, prop))\n __defNormalProp$g(a, prop, b[prop]);\n if (__getOwnPropSymbols$i)\n for (var prop of __getOwnPropSymbols$i(b)) {\n if (__propIsEnum$i.call(b, prop))\n __defNormalProp$g(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, __spreadProps$5(__spreadValues$g({}, options), { eventFilter: filter }));\n return __spreadValues$g({}, history);\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(eventFilter, (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n });\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio({\n window = defaultWindow\n} = {}) {\n const pixelRatio = ref(1);\n if (window) {\n let observe = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe, { once: true });\n }, cleanup = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe);\n };\n let media;\n observe();\n tryOnScopeDispose(cleanup);\n }\n return { pixelRatio };\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n const stream = await navigator.mediaDevices.getUserMedia(constraints);\n stream.getTracks().forEach((t) => t.stop());\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(enabled, (v) => {\n if (v)\n _start();\n else\n _stop();\n }, { immediate: true });\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility({ document = defaultDocument } = {}) {\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nvar __defProp$f = Object.defineProperty;\nvar __defProps$4 = Object.defineProperties;\nvar __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$h = Object.getOwnPropertySymbols;\nvar __hasOwnProp$h = Object.prototype.hasOwnProperty;\nvar __propIsEnum$h = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$f = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$h.call(b, prop))\n __defNormalProp$f(a, prop, b[prop]);\n if (__getOwnPropSymbols$h)\n for (var prop of __getOwnPropSymbols$h(b)) {\n if (__propIsEnum$h.call(b, prop))\n __defNormalProp$f(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));\nfunction useDraggable(target, options = {}) {\n var _a, _b, _c;\n const draggingElement = (_a = options.draggingElement) != null ? _a : defaultWindow;\n const draggingHandle = (_b = options.handle) != null ? _b : target;\n const position = ref((_c = resolveUnref(options.initialValue)) != null ? _c : { x: 0, y: 0 });\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (options.pointerTypes)\n return options.pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (resolveUnref(options.preventDefault))\n e.preventDefault();\n if (resolveUnref(options.stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (resolveUnref(options.exact) && e.target !== resolveUnref(target))\n return;\n const rect = resolveUnref(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - rect.left,\n y: e.clientY - rect.top\n };\n if (((_a2 = options.onStart) == null ? void 0 : _a2.call(options, pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n position.value = {\n x: e.clientX - pressedDelta.value.x,\n y: e.clientY - pressedDelta.value.y\n };\n (_a2 = options.onMove) == null ? void 0 : _a2.call(options, position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n (_a2 = options.onEnd) == null ? void 0 : _a2.call(options, position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n useEventListener(draggingHandle, \"pointerdown\", start, true);\n useEventListener(draggingElement, \"pointermove\", move, true);\n useEventListener(draggingElement, \"pointerup\", end, true);\n }\n return __spreadProps$4(__spreadValues$f({}, toRefs(position)), {\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(() => `left:${position.value.x}px;top:${position.value.y}px;`)\n });\n}\n\nfunction useDropZone(target, onDrop) {\n const isOverDropZone = ref(false);\n let counter = 0;\n if (isClient) {\n useEventListener(target, \"dragenter\", (event) => {\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n });\n useEventListener(target, \"dragover\", (event) => {\n event.preventDefault();\n });\n useEventListener(target, \"dragleave\", (event) => {\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n });\n useEventListener(target, \"drop\", (event) => {\n var _a, _b;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n const files = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n onDrop == null ? void 0 : onDrop(files.length === 0 ? null : files);\n });\n }\n return {\n isOverDropZone\n };\n}\n\nvar __getOwnPropSymbols$g = Object.getOwnPropertySymbols;\nvar __hasOwnProp$g = Object.prototype.hasOwnProperty;\nvar __propIsEnum$g = Object.prototype.propertyIsEnumerable;\nvar __objRest$2 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$g.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$g)\n for (var prop of __getOwnPropSymbols$g(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$g.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useResizeObserver(target, callback, options = {}) {\n const _a = options, { window = defaultWindow } = _a, observerOptions = __objRest$2(_a, [\"window\"]);\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(() => unrefElement(target), (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new ResizeObserver(callback);\n observer.observe(el, observerOptions);\n }\n }, { immediate: true, flush: \"post\" });\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n const delta = timestamp - previousFrameTimestamp;\n fn({ delta, timestamp });\n previousFrameTimestamp = timestamp;\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nvar __defProp$e = Object.defineProperty;\nvar __getOwnPropSymbols$f = Object.getOwnPropertySymbols;\nvar __hasOwnProp$f = Object.prototype.hasOwnProperty;\nvar __propIsEnum$f = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$e = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$f.call(b, prop))\n __defNormalProp$e(a, prop, b[prop]);\n if (__getOwnPropSymbols$f)\n for (var prop of __getOwnPropSymbols$f(b)) {\n if (__propIsEnum$f.call(b, prop))\n __defNormalProp$e(a, prop, b[prop]);\n }\n return a;\n};\nfunction useElementByPoint(options) {\n const element = ref(null);\n const { x, y, document = defaultDocument } = options;\n const controls = useRafFn(() => {\n element.value = (document == null ? void 0 : document.elementFromPoint(resolveUnref(x), resolveUnref(y))) || null;\n });\n return __spreadValues$e({\n element\n }, controls);\n}\n\nfunction useElementHover(el, options = {}) {\n const delayEnter = options ? options.delayEnter : 0;\n const delayLeave = options ? options.delayLeave : 0;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n useResizeObserver(target, ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = parseFloat(styles.width);\n height.value = parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n }, options);\n watch(() => unrefElement(target), (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n });\n return {\n width,\n height\n };\n}\n\nfunction useElementVisibility(element, { window = defaultWindow, scrollTarget } = {}) {\n const elementIsVisible = ref(false);\n const testBounding = () => {\n if (!window)\n return;\n const document = window.document;\n const el = unrefElement(element);\n if (!el) {\n elementIsVisible.value = false;\n } else {\n const rect = el.getBoundingClientRect();\n elementIsVisible.value = rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) && rect.bottom >= 0 && rect.right >= 0;\n }\n };\n watch(() => unrefElement(element), () => testBounding(), { immediate: true, flush: \"post\" });\n if (window) {\n useEventListener(scrollTarget || window, \"scroll\", testBounding, {\n capture: false,\n passive: true\n });\n }\n return elementIsVisible;\n}\n\nconst events = new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || [];\n listeners.push(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n const index = listeners.indexOf(listener);\n if (index > -1)\n listeners.splice(index, 1);\n if (!listeners.length)\n events.delete(key);\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = ref(null);\n const {\n withCredentials = false\n } = options;\n const close = () => {\n if (eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n }\n };\n const es = new EventSource(url, { withCredentials });\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n eventSource,\n event,\n data,\n status,\n error,\n close\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = resolveRef(newIcon);\n const applyIcon = (icon) => {\n document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`).forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(favicon, (i, o) => {\n if (isString(i) && i !== o)\n applyIcon(i);\n }, { immediate: true });\n return favicon;\n}\n\nvar __defProp$d = Object.defineProperty;\nvar __defProps$3 = Object.defineProperties;\nvar __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$e = Object.getOwnPropertySymbols;\nvar __hasOwnProp$e = Object.prototype.hasOwnProperty;\nvar __propIsEnum$e = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$d = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$e.call(b, prop))\n __defNormalProp$d(a, prop, b[prop]);\n if (__getOwnPropSymbols$e)\n for (var prop of __getOwnPropSymbols$e(b)) {\n if (__propIsEnum$e.call(b, prop))\n __defNormalProp$d(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries([...headers.entries()]);\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback !== void 0)\n await callback(ctx);\n return ctx;\n };\n } else {\n return async (ctx) => {\n await callbacks.reduce((prevCallback, callback) => prevCallback.then(async () => {\n if (callback)\n ctx = __spreadValues$d(__spreadValues$d({}, ctx), await callback(ctx));\n }), Promise.resolve());\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = resolveUnref(config.baseUrl);\n const targetUrl = resolveUnref(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[0]), {\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n });\n } else {\n fetchOptions = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, fetchOptions), args[0]), {\n headers: __spreadValues$d(__spreadValues$d({}, headersToObject(fetchOptions.headers) || {}), headersToObject(args[0].headers) || {})\n });\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = __spreadProps$3(__spreadValues$d(__spreadValues$d({}, options), args[1]), {\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n });\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = { immediate: true, refetch: false, timeout: 0 };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = __spreadValues$d(__spreadValues$d({}, options), args[0]);\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = __spreadValues$d(__spreadValues$d({}, options), args[1]);\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort && controller) {\n controller.abort();\n controller = void 0;\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n const execute = async (throwOnFailed = false) => {\n var _a2;\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n if (supportsAbort) {\n abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = __spreadProps$3(__spreadValues$d({}, fetchOptions), {\n signal: controller.signal\n });\n }\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n const payload = resolveUnref(config.payload);\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: resolveUnref(url),\n options: __spreadValues$d(__spreadValues$d({}, defaultFetchOptions), fetchOptions),\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return new Promise((resolve, reject) => {\n var _a3;\n fetch(context.url, __spreadProps$3(__spreadValues$d(__spreadValues$d({}, defaultFetchOptions), context.options), {\n headers: __spreadValues$d(__spreadValues$d({}, headersToObject(defaultFetchOptions.headers)), headersToObject((_a3 = context.options) == null ? void 0 : _a3.headers))\n })).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse[config.type]();\n if (options.afterFetch && statusCode.value >= 200 && statusCode.value < 300)\n ({ data: responseData } = await options.afterFetch({ data: responseData, response: fetchResponse }));\n data.value = responseData;\n if (!fetchResponse.ok)\n throw new Error(fetchResponse.statusText);\n responseEvent.trigger(fetchResponse);\n return resolve(fetchResponse);\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError)\n ({ data: responseData, error: errorData } = await options.onFetchError({ data: responseData, error: fetchError, response: response.value }));\n data.value = responseData;\n error.value = errorData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n return reject(fetchError);\n return resolve(null);\n }).finally(() => {\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n });\n };\n const refetch = resolveRef(options.refetch);\n watch([\n refetch,\n resolveRef(url)\n ], ([refetch2]) => refetch2 && execute(), { deep: true });\n const shell = {\n isFinished,\n statusCode,\n response,\n error,\n data,\n isFetching,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch([\n refetch,\n resolveRef(config.payload)\n ], ([refetch2]) => refetch2 && execute(), { deep: true });\n }\n const rawPayload = resolveUnref(config.payload);\n if (!payloadType && rawPayload && Object.getPrototypeOf(rawPayload) === Object.prototype && !(rawPayload instanceof FormData))\n config.payloadType = \"json\";\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n }\n return void 0;\n };\n }\n if (options.immediate)\n setTimeout(execute, 0);\n return __spreadProps$3(__spreadValues$d({}, shell), {\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n });\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nvar __defProp$c = Object.defineProperty;\nvar __getOwnPropSymbols$d = Object.getOwnPropertySymbols;\nvar __hasOwnProp$d = Object.prototype.hasOwnProperty;\nvar __propIsEnum$d = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$c = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$d.call(b, prop))\n __defNormalProp$c(a, prop, b[prop]);\n if (__getOwnPropSymbols$d)\n for (var prop of __getOwnPropSymbols$d(b)) {\n if (__propIsEnum$d.call(b, prop))\n __defNormalProp$c(a, prop, b[prop]);\n }\n return a;\n};\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\"\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n };\n }\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = __spreadValues$c(__spreadValues$c(__spreadValues$c({}, DEFAULT_OPTIONS), options), localOptions);\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n input.click();\n };\n const reset = () => {\n files.value = null;\n if (input)\n input.value = \"\";\n };\n return {\n files: readonly(files),\n open,\n reset\n };\n}\n\nvar __defProp$b = Object.defineProperty;\nvar __getOwnPropSymbols$c = Object.getOwnPropertySymbols;\nvar __hasOwnProp$c = Object.prototype.hasOwnProperty;\nvar __propIsEnum$c = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$b = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$c.call(b, prop))\n __defNormalProp$b(a, prop, b[prop]);\n if (__getOwnPropSymbols$c)\n for (var prop of __getOwnPropSymbols$c(b)) {\n if (__propIsEnum$c.call(b, prop))\n __defNormalProp$b(a, prop, b[prop]);\n }\n return a;\n};\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = unref(options);\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n fileHandle.value = handle;\n await updateFile();\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n data.value = void 0;\n await updateFile();\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker(__spreadValues$b(__spreadValues$b({}, unref(options)), _options));\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n if (unref(dataType) === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n if (unref(dataType) === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n if (unref(dataType) === \"Blob\")\n data.value = file.value;\n }\n watch(() => unref(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", () => innerFocused.value = true);\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(targetElement, () => {\n focused.value = initialValue;\n }, { immediate: true, flush: \"post\" });\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst functionsMap = [\n [\n \"requestFullscreen\",\n \"exitFullscreen\",\n \"fullscreenElement\",\n \"fullscreenEnabled\",\n \"fullscreenchange\",\n \"fullscreenerror\"\n ],\n [\n \"webkitRequestFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitFullscreenElement\",\n \"webkitFullscreenEnabled\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\"\n ],\n [\n \"webkitRequestFullScreen\",\n \"webkitCancelFullScreen\",\n \"webkitCurrentFullScreenElement\",\n \"webkitCancelFullScreen\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\"\n ],\n [\n \"mozRequestFullScreen\",\n \"mozCancelFullScreen\",\n \"mozFullScreenElement\",\n \"mozFullScreenEnabled\",\n \"mozfullscreenchange\",\n \"mozfullscreenerror\"\n ],\n [\n \"msRequestFullscreen\",\n \"msExitFullscreen\",\n \"msFullscreenElement\",\n \"msFullscreenEnabled\",\n \"MSFullscreenChange\",\n \"MSFullscreenError\"\n ]\n];\nfunction useFullscreen(target, options = {}) {\n const { document = defaultDocument, autoExit = false } = options;\n const targetRef = target || (document == null ? void 0 : document.querySelector(\"html\"));\n const isFullscreen = ref(false);\n let map = functionsMap[0];\n const isSupported = useSupported(() => {\n if (!document) {\n return false;\n } else {\n for (const m of functionsMap) {\n if (m[1] in document) {\n map = m;\n return true;\n }\n }\n }\n return false;\n });\n const [REQUEST, EXIT, ELEMENT, , EVENT] = map;\n async function exit() {\n if (!isSupported.value)\n return;\n if (document == null ? void 0 : document[ELEMENT])\n await document[EXIT]();\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value)\n return;\n await exit();\n const target2 = unrefElement(targetRef);\n if (target2) {\n await target2[REQUEST]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n if (isFullscreen.value)\n await exit();\n else\n await enter();\n }\n if (document) {\n useEventListener(document, EVENT, () => {\n isFullscreen.value = !!(document == null ? void 0 : document[ELEMENT]);\n }, false);\n }\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n id: gamepad.id,\n hapticActuators,\n index: gamepad.index,\n mapping: gamepad.mapping,\n connected: gamepad.connected,\n timestamp: gamepad.timestamp,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad) {\n const index = gamepads.value.findIndex(({ index: index2 }) => index2 === gamepad.index);\n if (index > -1)\n gamepads.value[index] = stateFromGamepad(gamepad);\n }\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n if (_gamepads) {\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad)\n onGamepadConnected(gamepad);\n }\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = ref(null);\n const coords = ref({\n accuracy: 0,\n latitude: Infinity,\n longitude: Infinity,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(updatePosition, (err) => error.value = err, {\n enableHighAccuracy,\n maximumAge,\n timeout\n });\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const onEvent = createFilterWrapper(eventFilter, () => {\n idle.value = false;\n lastActive.value = timestamp();\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n });\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n }\n timer = setTimeout(() => idle.value = true, timeout);\n return { idle, lastActive };\n}\n\nvar __defProp$a = Object.defineProperty;\nvar __getOwnPropSymbols$b = Object.getOwnPropertySymbols;\nvar __hasOwnProp$b = Object.prototype.hasOwnProperty;\nvar __propIsEnum$b = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$a = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$b.call(b, prop))\n __defNormalProp$a(a, prop, b[prop]);\n if (__getOwnPropSymbols$b)\n for (var prop of __getOwnPropSymbols$b(b)) {\n if (__propIsEnum$b.call(b, prop))\n __defNormalProp$a(a, prop, b[prop]);\n }\n return a;\n};\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nconst useImage = (options, asyncStateOptions = {}) => {\n const state = useAsyncState(() => loadImage(resolveUnref(options)), void 0, __spreadValues$a({\n resetOnExecute: true\n }, asyncStateOptions));\n watch(() => resolveUnref(options), () => state.execute(asyncStateOptions.delay), { deep: true });\n return state;\n};\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\"\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n const _element = resolveUnref(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = resolveUnref(_y)) != null ? _a : y.value,\n left: (_b = resolveUnref(_x)) != null ? _b : x.value,\n behavior: resolveUnref(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const onScrollHandler = (e) => {\n const eventTarget = e.target === document ? e.target.documentElement : e.target;\n const scrollLeft = eventTarget.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalY.value;\n arrivedState.left = scrollLeft <= 0 + (offset.left || 0);\n arrivedState.right = scrollLeft + eventTarget.clientWidth >= eventTarget.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n internalX.value = scrollLeft;\n let scrollTop = eventTarget.scrollTop;\n if (e.target === document && !scrollTop)\n scrollTop = document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n arrivedState.top = scrollTop <= 0 + (offset.top || 0);\n arrivedState.bottom = scrollTop + eventTarget.clientHeight >= eventTarget.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n internalY.value = scrollTop;\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(element, \"scroll\", throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);\n useEventListener(element, \"scrollend\", onScrollEnd, eventListenerOptions);\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions\n };\n}\n\nvar __defProp$9 = Object.defineProperty;\nvar __defProps$2 = Object.defineProperties;\nvar __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$a = Object.getOwnPropertySymbols;\nvar __hasOwnProp$a = Object.prototype.hasOwnProperty;\nvar __propIsEnum$a = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$9 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$a.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n if (__getOwnPropSymbols$a)\n for (var prop of __getOwnPropSymbols$a(b)) {\n if (__propIsEnum$a.call(b, prop))\n __defNormalProp$9(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a, _b;\n const direction = (_a = options.direction) != null ? _a : \"bottom\";\n const state = reactive(useScroll(element, __spreadProps$2(__spreadValues$9({}, options), {\n offset: __spreadValues$9({\n [direction]: (_b = options.distance) != null ? _b : 0\n }, options.offset)\n })));\n watch(() => state.arrivedState[direction], async (v) => {\n var _a2, _b2;\n if (v) {\n const elem = resolveUnref(element);\n const previous = {\n height: (_a2 = elem == null ? void 0 : elem.scrollHeight) != null ? _a2 : 0,\n width: (_b2 = elem == null ? void 0 : elem.scrollWidth) != null ? _b2 : 0\n };\n await onLoadMore(state);\n if (options.preserveScrollPosition && elem) {\n nextTick(() => {\n elem.scrollTo({\n top: elem.scrollHeight - previous.height,\n left: elem.scrollWidth - previous.width\n });\n });\n }\n }\n });\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n let cleanup = noop;\n const stopWatch = isSupported.value ? watch(() => ({\n el: unrefElement(target),\n root: unrefElement(root)\n }), ({ el, root: root2 }) => {\n cleanup();\n if (!el)\n return;\n const observer = new IntersectionObserver(callback, {\n root: root2,\n rootMargin,\n threshold\n });\n observer.observe(el);\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n }, { immediate: true, flush: \"post\" }) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = new Set();\n const usedKeys = new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(refs, {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => unref(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? unref(r) : r;\n }\n });\n return proxy;\n}\n\nvar __defProp$8 = Object.defineProperty;\nvar __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$9 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$9 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$8 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$9.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n if (__getOwnPropSymbols$9)\n for (var prop of __getOwnPropSymbols$9(b)) {\n if (__propIsEnum$9.call(b, prop))\n __defNormalProp$8(a, prop, b[prop]);\n }\n return a;\n};\nfunction usingElRef(source, cb) {\n if (resolveUnref(source))\n cb(resolveUnref(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = __spreadValues$8(__spreadValues$8({}, defaultOptions), options);\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = isNumber(track) ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = isNumber(track) ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = resolveUnref(target);\n if (!el)\n return;\n const src = resolveUnref(options.src);\n let sources = [];\n if (!src)\n return;\n if (isString(src))\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch(volume, (vol) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.volume = vol;\n });\n watch(muted, (mute) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.muted = mute;\n });\n watch(rate, (rate2) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.playbackRate = rate2;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = resolveUnref(options.tracks);\n const el = resolveUnref(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = resolveUnref(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = resolveUnref(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = resolveUnref(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(resolveUnref(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, \"waiting\", () => waiting.value = true);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n });\n useEventListener(target, \"ratechange\", () => rate.value = resolveUnref(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = resolveUnref(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = resolveUnref(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n volume,\n muted,\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n onSourceError: sourceErrorEvent.on\n };\n}\n\nconst getMapVue2Compat = () => {\n const data = reactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n};\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return reactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return reactive(new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return isMounted;\n}\n\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n eventFilter\n } = options;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const mouseHandler = (event) => {\n if (type === \"page\") {\n x.value = event.pageX;\n y.value = event.pageY;\n } else if (type === \"client\") {\n x.value = event.clientX;\n y.value = event.clientY;\n } else if (type === \"movement\") {\n x.value = event.movementX;\n y.value = event.movementY;\n }\n sourceType.value = \"mouse\";\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const touch2 = event.touches[0];\n if (type === \"page\") {\n x.value = touch2.pageX;\n y.value = touch2.pageY;\n } else if (type === \"client\") {\n x.value = touch2.clientX;\n y.value = touch2.clientY;\n }\n sourceType.value = \"touch\";\n }\n };\n const mouseHandlerWrapper = (event) => {\n return eventFilter === void 0 ? mouseHandler(event) : eventFilter(() => mouseHandler(event), {});\n };\n const touchHandlerWrapper = (event) => {\n return eventFilter === void 0 ? touchHandler(event) : eventFilter(() => touchHandler(event), {});\n };\n if (window) {\n useEventListener(window, \"mousemove\", mouseHandlerWrapper, { passive: true });\n useEventListener(window, \"dragover\", mouseHandlerWrapper, { passive: true });\n if (touch && type !== \"movement\") {\n useEventListener(window, \"touchstart\", touchHandlerWrapper, { passive: true });\n useEventListener(window, \"touchmove\", touchHandlerWrapper, { passive: true });\n if (resetOnTouchEnds)\n useEventListener(window, \"touchend\", reset, { passive: true });\n }\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch([targetRef, x, y], () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + window.pageXOffset;\n elementPositionY.value = top + window.pageYOffset;\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n }, { immediate: true });\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true });\n useEventListener(window, \"mouseup\", onReleased, { passive: true });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true });\n useEventListener(window, \"drop\", onReleased, { passive: true });\n useEventListener(window, \"dragend\", onReleased, { passive: true });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true });\n useEventListener(window, \"touchend\", onReleased, { passive: true });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nvar __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$8 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$8 = Object.prototype.propertyIsEnumerable;\nvar __objRest$1 = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$8)\n for (var prop of __getOwnPropSymbols$8(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$8.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nfunction useMutationObserver(target, callback, options = {}) {\n const _a = options, { window = defaultWindow } = _a, mutationOptions = __objRest$1(_a, [\"window\"]);\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(() => unrefElement(target), (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new MutationObserver(callback);\n observer.observe(el, mutationOptions);\n }\n }, { immediate: true });\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nconst useNavigatorLanguage = (options = {}) => {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n};\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nvar __defProp$7 = Object.defineProperty;\nvar __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$7 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$7 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$7 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n if (__getOwnPropSymbols$7)\n for (var prop of __getOwnPropSymbols$7(b)) {\n if (__propIsEnum$7.call(b, prop))\n __defNormalProp$7(a, prop, b[prop]);\n }\n return a;\n};\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(new Date());\n const update = () => now.value = new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return __spreadValues$7({\n now\n }, controls);\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(() => unref(object), (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n }, { immediate: true });\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (isFunction(value) || isReadonly(value))\n return computed(() => clamp(resolveUnref(value), resolveUnref(min), resolveUnref(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, resolveUnref(min), resolveUnref(max));\n },\n set(value2) {\n _value.value = clamp(value2, resolveUnref(min), resolveUnref(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Infinity,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Infinity);\n const pageCount = computed(() => Math.max(1, Math.ceil(unref(total) / unref(currentPageSize))));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page))\n syncRef(page, currentPage);\n if (isRef(pageSize))\n syncRef(pageSize, currentPageSize);\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0))\n return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = -orientation.beta / 90;\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = orientation.gamma / 90;\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nvar __defProp$6 = Object.defineProperty;\nvar __defProps$1 = Object.defineProperties;\nvar __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$6 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$6 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$6 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n if (__getOwnPropSymbols$6)\n for (var prop of __getOwnPropSymbols$6(b)) {\n if (__propIsEnum$6.call(b, prop))\n __defNormalProp$6(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n useEventListener(target, \"pointerdown\", handler, { passive: true });\n useEventListener(target, \"pointermove\", handler, { passive: true });\n useEventListener(target, \"pointerleave\", () => isInside.value = false, { passive: true });\n }\n return __spreadProps$1(__spreadValues$6({}, toRefs(state)), {\n isInside\n });\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument, pointerLockOptions } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e, options2) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nvar SwipeDirection;\n(function(SwipeDirection2) {\n SwipeDirection2[\"UP\"] = \"UP\";\n SwipeDirection2[\"RIGHT\"] = \"RIGHT\";\n SwipeDirection2[\"DOWN\"] = \"DOWN\";\n SwipeDirection2[\"LEFT\"] = \"LEFT\";\n SwipeDirection2[\"NONE\"] = \"NONE\";\n})(SwipeDirection || (SwipeDirection = {}));\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return SwipeDirection.NONE;\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;\n } else {\n return diffY.value > 0 ? SwipeDirection.UP : SwipeDirection.DOWN;\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, \"touchend\", onTouchEnd, listenerOptions),\n useEventListener(target, \"touchcancel\", onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = resolveRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return SwipeDirection.NONE;\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? SwipeDirection.LEFT : SwipeDirection.RIGHT;\n } else {\n return distanceY.value > 0 ? SwipeDirection.UP : SwipeDirection.DOWN;\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n var _a, _b;\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"initial\");\n })\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(resolveRef(value), (_, oldValue) => {\n previous.value = oldValue;\n }, { flush: \"sync\" });\n return readonly(previous);\n}\n\nconst useScreenOrientation = (options = {}) => {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (!isSupported.value)\n return Promise.reject(new Error(\"Not supported\"));\n return screenOrientation.lock(type);\n };\n const unlockOrientation = () => {\n if (isSupported.value)\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n};\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${resolveUnref(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = resolveUnref(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${resolveUnref(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientHeight < ele.scrollHeight || style.overflowY === \"auto\" && ele.clientWidth < ele.scrollWidth) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow;\n watch(resolveRef(element), (el) => {\n if (el) {\n const ele = el;\n initialOverflow = ele.style.overflow;\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const ele = resolveUnref(element);\n if (!ele || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(ele, \"touchmove\", (e) => {\n preventDefault(e);\n }, { passive: false });\n }\n ele.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const ele = resolveUnref(element);\n if (!ele || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n ele.style.overflow = initialOverflow;\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nvar __defProp$5 = Object.defineProperty;\nvar __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$5 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$5 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$5 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n if (__getOwnPropSymbols$5)\n for (var prop of __getOwnPropSymbols$5(b)) {\n if (__propIsEnum$5.call(b, prop))\n __defNormalProp$5(a, prop, b[prop]);\n }\n return a;\n};\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = __spreadValues$5(__spreadValues$5({}, resolveUnref(shareOptions)), resolveUnref(overrideOptions));\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...unref(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(unref(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = resolveRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = unref(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const transcript = Array.from(event.results).map((result2) => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map((result2) => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = unref(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = resolveRef(text || \"\");\n const lang = resolveRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = unref(lang);\n utterance2.voice = unref(options.voice) || null;\n utterance2.pitch = pitch;\n utterance2.rate = rate;\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nvar __defProp$4 = Object.defineProperty;\nvar __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$4 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$4 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$4 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n if (__getOwnPropSymbols$4)\n for (var prop of __getOwnPropSymbols$4(b)) {\n if (__propIsEnum$4.call(b, prop))\n __defNormalProp$4(a, prop, b[prop]);\n }\n return a;\n};\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = resolveUnref(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (isFunction(mergeDefaults))\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = __spreadValues$4(__spreadValues$4({}, rawInit), value);\n else\n data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => setTimeout(() => read(e), 0));\n if (storage) {\n watchWithFilter(data, async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n }, {\n flush,\n deep,\n eventFilter\n });\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.type = \"text/css\";\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(cssRef, (value) => {\n el.textContent = value;\n }, { immediate: true });\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(document.querySelector(selector), () => dir.value = getValue(), { attributes: true });\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n const ranges = new Array(rangeCount);\n for (let i = 0; i < rangeCount; i++) {\n const range = selection.getRangeAt(i);\n ranges[i] = range;\n }\n return ranges;\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n function triggerResize() {\n var _a, _b;\n if (!textarea.value)\n return;\n textarea.value.style.height = \"1px\";\n textarea.value.style.height = `${(_a = textarea.value) == null ? void 0 : _a.scrollHeight}px`;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], triggerResize, { immediate: true });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nvar __defProp$3 = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$3 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$3 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$3 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n if (__getOwnPropSymbols$3)\n for (var prop of __getOwnPropSymbols$3(b)) {\n if (__propIsEnum$3.call(b, prop))\n __defNormalProp$3(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, __spreadProps(__spreadValues$3({}, options), { eventFilter: filter }));\n return __spreadValues$3({}, history);\n}\n\nvar __defProp$2 = Object.defineProperty;\nvar __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$2 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$2 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$2 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n if (__getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(b)) {\n if (__propIsEnum$2.call(b, prop))\n __defNormalProp$2(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols$2)\n for (var prop of __getOwnPropSymbols$2(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Infinity, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nconst DEFAULT_FORMATTER = (date) => date.toISOString().slice(0, 10);\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const _a = useNow({ interval: updateInterval, controls: true }), { now } = _a, controls = __objRest(_a, [\"now\"]);\n const timeAgo = computed(() => formatTimeAgo(new Date(resolveUnref(time)), options, unref(now.value)));\n if (exposeControls) {\n return __spreadValues$2({\n timeAgo\n }, controls);\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval);\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;\nvar __hasOwnProp$1 = Object.prototype.hasOwnProperty;\nvar __propIsEnum$1 = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues$1 = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n if (__getOwnPropSymbols$1)\n for (var prop of __getOwnPropSymbols$1(b)) {\n if (__propIsEnum$1.call(b, prop))\n __defNormalProp$1(a, prop, b[prop]);\n }\n return a;\n};\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return __spreadValues$1({\n timestamp: ts\n }, controls);\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b;\n const {\n document = defaultDocument\n } = options;\n const title = resolveRef((_a = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _a : null);\n const isReadonly = newTitle && isFunction(newTitle);\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return isFunction(template) ? template(t) : unref(template).replace(/%s/g, t);\n }\n watch(title, (t, o) => {\n if (t !== o && document)\n document.title = format(isString(t) ? t : \"\");\n }, { immediate: true });\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver((_b = document.head) == null ? void 0 : _b.querySelector(\"title\"), () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n }, { childList: true });\n }\n return title;\n}\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = __spreadValues({\n linear: identity\n}, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction useTransition(source, options = {}) {\n const {\n delay = 0,\n disabled = false,\n duration = 1e3,\n onFinished = noop,\n onStarted = noop,\n transition = identity\n } = options;\n const currentTransition = computed(() => {\n const t = unref(transition);\n return isFunction(t) ? t : createEasingFunction(t);\n });\n const sourceValue = computed(() => {\n const s = unref(source);\n return isNumber(s) ? s : s.map(unref);\n });\n const sourceVector = computed(() => isNumber(sourceValue.value) ? [sourceValue.value] : sourceValue.value);\n const outputVector = ref(sourceVector.value.slice(0));\n let currentDuration;\n let diffVector;\n let endAt;\n let startAt;\n let startVector;\n const { resume, pause } = useRafFn(() => {\n const now = Date.now();\n const progress = clamp(1 - (endAt - now) / currentDuration, 0, 1);\n outputVector.value = startVector.map((val, i) => {\n var _a;\n return val + ((_a = diffVector[i]) != null ? _a : 0) * currentTransition.value(progress);\n });\n if (progress >= 1) {\n pause();\n onFinished();\n }\n }, { immediate: false });\n const start = () => {\n pause();\n currentDuration = unref(duration);\n diffVector = outputVector.value.map((n, i) => {\n var _a, _b;\n return ((_a = sourceVector.value[i]) != null ? _a : 0) - ((_b = outputVector.value[i]) != null ? _b : 0);\n });\n startVector = outputVector.value.slice(0);\n startAt = Date.now();\n endAt = startAt + currentDuration;\n resume();\n onStarted();\n };\n const timeout = useTimeoutFn(start, delay, { immediate: false });\n watch(sourceVector, () => {\n if (unref(disabled))\n return;\n if (unref(delay) <= 0)\n start();\n else\n timeout.start();\n }, { deep: true });\n watch(() => unref(disabled), (v) => {\n if (v) {\n outputVector.value = sourceVector.value.slice(0);\n pause();\n }\n });\n return computed(() => {\n const targetVector = unref(disabled) ? sourceVector : outputVector;\n return isNumber(sourceValue.value) ? targetVector.value[0] : targetVector.value;\n });\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(state, () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n }, { deep: true });\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(window.history.state, window.document.title, window.location.pathname + constructQuery(params));\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const videoDeviceId = ref(options.videoDeviceId);\n const audioDeviceId = ref(options.audioDeviceId);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(device) {\n if (device.value === \"none\" || device.value === false)\n return false;\n if (device.value == null)\n return true;\n return {\n deviceId: device.value\n };\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(videoDeviceId),\n audio: getDeviceOptions(audioDeviceId)\n });\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(enabled, (v) => {\n if (v)\n _start();\n else\n _stop();\n }, { immediate: true });\n watch([videoDeviceId, audioDeviceId], () => {\n if (autoSwitch.value && stream.value)\n restart();\n }, { immediate: true });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n videoDeviceId,\n audioDeviceId,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = eventName || event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : isFunction(clone) ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n watch(() => props[key], (v) => proxy.value = cloneFn(v));\n watch(proxy, (v) => {\n if (v !== props[key] || deep)\n _emit(event, v);\n }, { deep });\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n _emit(event, value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props)\n ret[key] = useVModel(props, key, emit, options);\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = resolveRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(vibrate, interval, {\n immediate: false,\n immediateCallback: false\n });\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nconst useWakeLock = (options = {}) => {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n};\n\nconst useWebNotification = (defaultOptions = {}) => {\n const {\n window = defaultWindow\n } = defaultOptions;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const notification = ref(null);\n const requestPermission = async () => {\n if (!isSupported.value)\n return;\n if (\"permission\" in Notification && Notification.permission !== \"denied\")\n await Notification.requestPermission();\n };\n const onClick = createEventHook();\n const onShow = createEventHook();\n const onError = createEventHook();\n const onClose = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value)\n return;\n await requestPermission();\n const options = Object.assign({}, defaultOptions, overrides);\n notification.value = new Notification(options.title || \"\", options);\n notification.value.onclick = (event) => onClick.trigger(event);\n notification.value.onshow = (event) => onShow.trigger(event);\n notification.value.onerror = (event) => onError.trigger(event);\n notification.value.onclose = (event) => onClose.trigger(event);\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n tryOnMounted(async () => {\n if (isSupported.value)\n await requestPermission();\n });\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n};\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = resolveRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const close = (code = 1e3, reason) => {\n if (!wsRef.value)\n return;\n explicitlyClosed = true;\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n };\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n wsRef.value = void 0;\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(() => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n }, pongTimeout);\n }, interval, { immediate: false });\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n useEventListener(window, \"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = function post2(val) {\n if (!worker.value)\n return;\n worker.value.postMessage(val);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (isString(arg0))\n worker.value = new Worker(arg0, workerOptions);\n else if (isFunction(arg0))\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nconst jobRunner = (userFunc) => (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n};\n\nconst depsParser = (deps) => {\n if (deps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n};\n\nconst createWorkerBlobUrl = (fn, deps) => {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n};\n\nconst useWebWorkerFn = (fn, options = {}) => {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(() => workerTerminate(\"TIMEOUT_EXPIRED\"), timeout);\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\"[useWebWorkerFn] You can only run one instance of the worker at a time.\");\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n};\n\nfunction useWindowFocus({ window = defaultWindow } = {}) {\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll({ window = defaultWindow } = {}) {\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const x = ref(window.scrollX);\n const y = ref(window.scrollY);\n useEventListener(window, \"scroll\", () => {\n x.value = window.scrollX;\n y.value = window.scrollY;\n }, {\n capture: false,\n passive: true\n });\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Infinity,\n initialHeight = Infinity,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation)\n useEventListener(\"orientationchange\", update, { passive: true });\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, SwipeDirection, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, cloneFnJSON, computedAsync, computedInject, createFetch, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","import { defineStore } from 'pinia'\nimport { useWebNotification, useDocumentVisibility } from '@vueuse/core'\n\nlet showNotification = null\n\nconst getDefaultState = () => {\n return {\n activeChat: null,\n messages: [],\n contacts: [],\n groups: [],\n joinedRooms: [],\n knownRooms: [],\n roomsOccupants: [],\n httpFileUploadMaxSize: null,\n isOnline: false,\n presence: 'chat',\n hasNotificationsEnabled: false,\n isSendingTypingChatStates: true,\n isSendingInactiveChatStates: false,\n }\n}\n\nexport const useStore = defineStore('main', {\n state: () => {\n return {\n hasNetwork: null,\n ...getDefaultState(),\n }\n },\n\n getters: {\n\n publicRooms: (state) => {\n return state.knownRooms.filter((room) => room.isPublic)\n },\n\n bookmarkedRooms: (state) => {\n return state.knownRooms.filter((room) => room.isBookmarked)\n },\n\n getRoom: (state) => (jid) => {\n return state.knownRooms.find((room) => room.jid === jid) || {}\n },\n\n isBookmarked: (state) => (jid) => {\n return state.knownRooms.some((room) => room.jid === jid && room.isBookmarked)\n },\n\n isJoined: (state) => (jid) => {\n return state.joinedRooms.some((joinedRoomJid) => joinedRoomJid === jid)\n },\n\n getRoomOccupants: (state) => (jid) => {\n const roomOccupants = state.roomsOccupants.find((roomOccupants) => roomOccupants.roomJid === jid)\n if (roomOccupants) {\n return roomOccupants.occupants\n }\n return []\n },\n\n getRoomSubject: (state) => (jid) => {\n const room = state.knownRooms.find((room) => room.jid === jid)\n return (room && room.subject) ? room.subject : null\n },\n\n getChatState: (state) => (isRoom, jid) => {\n if (isRoom) {\n const roomOccupants = state.roomsOccupants.find((roomOccupants) => roomOccupants.roomJid === jid)\n if (roomOccupants) {\n if (roomOccupants.occupants.some(occupant => occupant.chatState === 'composing')) {\n return 'composing'\n }\n if (roomOccupants.occupants.some(occupant => occupant.chatState === 'paused')) {\n return 'paused'\n }\n }\n return 'inactive'\n }\n const contact = state.contacts.find((contact) => contact.jid === jid)\n return contact ? contact.chatState : 'inactive'\n },\n },\n\n actions: {\n\n // network status setter\n setNetworkStatus (hasNetwork) {\n this.hasNetwork = hasNetwork\n },\n\n // online client status setter\n setOnline (isOnline) {\n this.isOnline = isOnline\n },\n\n // user presence setter\n setPresence (presence) {\n this.presence = presence\n },\n\n // active chat setter\n setActiveChat (payload) {\n this.activeChat = payload.activeChat\n // reset unread messages count for this chat\n function resetUnreadCount (collection) {\n const copy = collection.slice(0)\n const index = copy.findIndex((item) => item.jid === payload.activeChat)\n if (index !== -1) {\n copy[index].unreadCount = 0\n }\n return copy\n }\n switch (payload.type) {\n case 'chat':\n this.contacts = resetUnreadCount(this.contacts)\n break\n case 'groupchat':\n this.knownRooms = resetUnreadCount(this.knownRooms)\n break\n }\n },\n\n // roster setter\n setRoster (contacts) {\n this.contacts = contacts\n contacts.forEach(contact => {\n if (contact.groups) {\n contact.groups.forEach(group => {\n if (!this.groups.includes(group)) {\n this.groups.push(group)\n }\n })\n }\n })\n },\n\n // MUC rooms setter\n setKnownRoom (room) {\n const rooms = this.knownRooms.slice(0)\n const index = rooms.findIndex((knownRoom) => knownRoom.jid === room.jid)\n if (index === -1) {\n // add room\n this.knownRooms.push(room)\n return\n }\n // update room\n for (const key in room) {\n if (room[key] === null && rooms[index][key] !== null) {\n continue\n }\n rooms[index][key] = room[key]\n }\n this.knownRooms = rooms\n },\n\n // MUC room subject setter\n setRoomSubject (roomJid, author, subject) {\n const room = this.getRoom(roomJid)\n if (room.jid) {\n this.setKnownRoom({\n ...room,\n subject: {\n author,\n subject,\n },\n })\n }\n },\n\n // MUC joined rooms setter\n setJoinedRoom (roomJid) {\n const index = this.joinedRooms.findIndex((knownRoomJid) => knownRoomJid === roomJid)\n if (index === -1) {\n this.joinedRooms.push(roomJid)\n }\n },\n\n removeJoinedRoom (roomJid) {\n this.joinedRooms = this.joinedRooms.filter(knownRoomJid => knownRoomJid !== roomJid)\n },\n\n // contact presence setter\n setContactPresence (contactPresence) {\n const index = this.contacts.findIndex((contact) => contact.jid === contactPresence.jid)\n if (index !== -1) {\n this.contacts[index].presence = contactPresence.presence\n this.contacts[index].status = contactPresence.status\n }\n },\n\n // messages setters\n storeMessage (payload) {\n if (payload.message.id) {\n const messages = this.messages.slice(0)\n const index = messages.findIndex((knownMessage) => knownMessage.id === payload.message.id)\n if (index !== -1) {\n // update existing message\n messages[index] = payload.message\n this.messages = messages\n return\n }\n }\n if (payload.message.stanzaId) {\n const messages = this.messages.slice(0)\n const index = messages.findIndex((knownMessage) => knownMessage.stanzaId === payload.message.stanzaId)\n if (index !== -1) {\n // update existing message\n messages[index] = payload.message\n this.messages = messages\n return\n }\n }\n // add new message\n this.messages.push({\n id: payload.message.id,\n stanzaId: payload.message.stanzaId,\n from: payload.message.from,\n to: payload.message.to,\n body: payload.message.body,\n delay: payload.message.delay || null,\n links: payload.message.links || null,\n status: null,\n })\n\n // order messages by date\n const messages = this.messages.slice(0)\n const dayjs = this.$dayjs\n messages.sort((a, b) => {\n return dayjs(a.delay).isAfter(dayjs(b.delay))\n })\n this.messages = messages\n\n // handle unread messages count\n function addUnreadCount (collection) {\n const copy = collection.slice(0)\n const index = copy.findIndex((item) => item.jid === payload.message.from.bare)\n if (index !== -1) {\n if (copy[index].unreadCount === undefined || copy[index].unreadCount === null) {\n copy[index].unreadCount = 1\n } else {\n copy[index].unreadCount++\n }\n }\n return copy\n }\n if (this.hasNotificationsEnabled) {\n const visibility = useDocumentVisibility()\n if (visibility.value === 'hidden' && showNotification !== null) {\n showNotification({\n body: 'You have received new message',\n renotify: false,\n tag: 'unread',\n })\n }\n }\n if (payload.message.from.bare === this.activeChat) {\n // message is in the displayed chat, do not increment counter\n return\n }\n switch (payload.type) {\n case 'chat':\n this.contacts = addUnreadCount(this.contacts)\n break\n case 'groupchat':\n this.knownRooms = addUnreadCount(this.knownRooms)\n break\n }\n },\n\n updateMessage (message) {\n if (!message.stanzaId) {\n return\n }\n const index = this.messages.findIndex((knownMessage) => knownMessage.stanzaId === message.stanzaId)\n if (index === -1) {\n return\n }\n this.messages[index] = {\n ...this.messages[index],\n ...message,\n }\n },\n\n setMessageStatus (id, code, message) {\n const index = this.messages.findIndex((knownMessage) => knownMessage.id === id)\n if (index !== -1) {\n this.messages[index].status = {\n code,\n message,\n }\n }\n },\n\n // HTTP file upload max size setter (XEP-0363)\n setHttpFileUploadMaxSize (httpFileUploadMaxSize) {\n this.httpFileUploadMaxSize = httpFileUploadMaxSize\n },\n\n setRoomOccupant ({ roomJid, jid, presence }) {\n if (!this.roomsOccupants.find((roomOccupants) => roomOccupants.roomJid === roomJid)) {\n // create room occupants list\n this.roomsOccupants.push({\n roomJid,\n occupants: [],\n })\n }\n const roomIndex = this.roomsOccupants.findIndex((roomOccupants) => roomOccupants.roomJid === roomJid)\n const occupant = {\n jid,\n presence,\n }\n const occupantIndex = this.roomsOccupants[roomIndex].occupants.findIndex((occupant) => occupant.jid === jid)\n if (occupantIndex !== -1) {\n // remove previous room occupant\n this.roomsOccupants[roomIndex].occupants[occupantIndex] = occupant\n return\n }\n // add room occupant\n this.roomsOccupants[roomIndex].occupants.push(occupant)\n },\n\n removeRoomOccupant ({ roomJid, jid }) {\n const roomIndex = this.roomsOccupants.findIndex((roomOccupants) => roomOccupants.roomJid === roomJid)\n if (roomIndex === -1) {\n return\n }\n const index = this.roomsOccupants[roomIndex].occupants.findIndex((occupant) => occupant.jid === jid)\n if (index !== -1) {\n this.roomsOccupants[roomIndex].occupants.splice(index, 1)\n }\n },\n\n // chat state setter\n setChatState ({ jid, type, chatState }) {\n if (type === 'chat') {\n const index = this.contacts.findIndex((contact) => contact.jid === jid.bare)\n if (index !== -1) {\n this.contacts[index].chatState = chatState\n }\n return\n }\n if (type === 'groupchat') {\n const roomIndex = this.roomsOccupants.findIndex((roomOccupants) => roomOccupants.roomJid === jid.bare)\n if (roomIndex === -1) {\n return\n }\n const index = this.roomsOccupants[roomIndex].occupants.findIndex((occupant) => occupant.jid === jid.full)\n if (index !== -1) {\n this.roomsOccupants[roomIndex].occupants[index].chatState = chatState\n }\n }\n },\n\n setNotificationStatus (hasNotificationsEnabled) {\n this.hasNotificationsEnabled = hasNotificationsEnabled\n if (hasNotificationsEnabled && showNotification === null) {\n // trigger Notifications API for requesting user permission (only one time) and intialize showNotification function\n ({ show: showNotification } = useWebNotification({\n title: window.config.name,\n icon: '/img/icons/android-chrome-192x192.png',\n dir: 'auto',\n lang: 'en',\n }))\n }\n },\n\n // clear state\n clear () {\n const defaultState = getDefaultState()\n Object.keys(defaultState).forEach((key) => {\n this[key] = defaultState[key]\n })\n },\n },\n})\n","<template>\n <div id=\"app\" class=\"is-full-height\">\n <router-view name=\"navbar\" />\n <router-view />\n </div>\n</template>\n\n<script>\n\nimport { mapActions } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'App',\n mounted () {\n if (typeof window.config.name === 'string' && window.config.name !== '') {\n document.title = window.config.name\n }\n // handle network status\n this.setNetworkStatus(window.navigator.onLine)\n window.addEventListener('offline', this.notifyConnectivity)\n window.addEventListener('online', this.notifyConnectivity)\n },\n methods: {\n ...mapActions(useStore, ['setNetworkStatus']),\n notifyConnectivity (event) {\n this.setNetworkStatus(event.type === 'online')\n },\n },\n}\n</script>\n","/**\r\n * +/- function to native math sign\r\n */\r\nfunction signPoly(value) {\r\n if (value < 0)\r\n return -1;\r\n return value > 0 ? 1 : 0;\r\n}\r\nconst sign = Math.sign || signPoly;\r\n/**\r\n * Checks if the flag is set\r\n * @param val\r\n * @param flag\r\n * @returns {boolean}\r\n */\r\nfunction hasFlag(val, flag) {\r\n return (val & flag) === flag;\r\n}\r\n/**\r\n * Native modulo bug with negative numbers\r\n * @param n\r\n * @param mod\r\n * @returns {number}\r\n */\r\nfunction mod(n, mod) {\r\n return ((n % mod) + mod) % mod;\r\n}\r\n/**\r\n * Asserts a value is beetween min and max\r\n * @param val\r\n * @param min\r\n * @param max\r\n * @returns {number}\r\n */\r\nfunction bound(val, min, max) {\r\n return Math.max(min, Math.min(max, val));\r\n}\r\n/**\r\n * Get value of an object property/path even if it's nested\r\n */\r\nfunction getValueByPath(obj, path, defaultValue = undefined) {\r\n const value = path.split('.').reduce((o, i) => typeof o !== 'undefined' ? o[i] : undefined, obj);\r\n return typeof value !== 'undefined' ? value : defaultValue;\r\n}\r\n/**\r\n * Set value of an object property/path even if it's nested\r\n */\r\nfunction setValueByPath(obj, path, value) {\r\n const p = path.split('.');\r\n if (p.length === 1) {\r\n obj[path] = value;\r\n return;\r\n }\r\n const field = p[0];\r\n if (typeof obj[field] === 'undefined')\r\n obj[field] = {};\r\n return setValueByPath(obj[field], p.slice(1).join('.'), value);\r\n}\r\n/**\r\n * Extension of indexOf method by equality function if specified\r\n */\r\nfunction indexOf(array, obj, fn) {\r\n if (!array)\r\n return -1;\r\n if (!fn || typeof fn !== 'function')\r\n return array.indexOf(obj);\r\n for (let i = 0; i < array.length; i++) {\r\n if (fn(array[i], obj)) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Merge function to replace Object.assign with deep merging possibility\r\n */\r\nconst isObject = (item) => typeof item === 'object' && !Array.isArray(item);\r\nconst mergeFn = (target, source, deep = false) => {\r\n if (deep || !Object.assign) {\r\n const isDeep = (prop) => isObject(source[prop]) &&\r\n target !== null &&\r\n Object.prototype.hasOwnProperty.call(target, prop) &&\r\n isObject(target[prop]);\r\n let replaced;\r\n if (source === null || typeof source === 'undefined') {\r\n replaced = false;\r\n }\r\n else {\r\n replaced = Object.getOwnPropertyNames(source)\r\n .map((prop) => ({ [prop]: isDeep(prop)\r\n ? mergeFn(target[prop], source[prop], deep)\r\n : source[prop] }))\r\n .reduce((a, b) => ({ ...a, ...b }), {});\r\n }\r\n return {\r\n ...target,\r\n ...replaced\r\n };\r\n }\r\n else {\r\n return Object.assign(target, source);\r\n }\r\n};\r\nconst merge = mergeFn;\r\n/**\r\n * Mobile detection\r\n * https://www.abeautifulsite.net/detecting-mobile-devices-with-javascript\r\n */\r\nconst isMobile = {\r\n Android: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/Android/i));\r\n },\r\n BlackBerry: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/BlackBerry/i));\r\n },\r\n iOS: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/iPhone|iPad|iPod/i));\r\n },\r\n Opera: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/Opera Mini/i));\r\n },\r\n Windows: function () {\r\n return (typeof window !== 'undefined' &&\r\n window.navigator.userAgent.match(/IEMobile/i));\r\n },\r\n any: function () {\r\n return (isMobile.Android() ||\r\n isMobile.BlackBerry() ||\r\n isMobile.iOS() ||\r\n isMobile.Opera() ||\r\n isMobile.Windows());\r\n }\r\n};\r\n// Microsoft Edge \"pretends\" to be all other major browsers, so we need to filter it out.\r\n// It doesn't use a very consistent string to represent its own name (\"Edge\", \"Edg\", \"EdgA\", etc.),\r\n// but it looks like WebKit never pretends to be Chrome, Edge does, and Chrome doesn't have the bug\r\n// that this flag is used to work around.\r\nfunction isWebKit() {\r\n return typeof window !== 'undefined'\r\n && window.navigator.userAgent.indexOf('AppleWebKit/') !== -1\r\n && window.navigator.userAgent.indexOf('Chrome/') === -1;\r\n}\r\nfunction removeElement(el) {\r\n if (typeof el.remove !== 'undefined') {\r\n el.remove();\r\n }\r\n else if (typeof el.parentNode !== 'undefined' && el.parentNode !== null) {\r\n el.parentNode.removeChild(el);\r\n }\r\n}\r\nfunction createAbsoluteElement(el) {\r\n const root = document.createElement('div');\r\n root.style.position = 'absolute';\r\n root.style.left = '0px';\r\n root.style.top = '0px';\r\n const wrapper = document.createElement('div');\r\n root.appendChild(wrapper);\r\n wrapper.appendChild(el);\r\n document.body.appendChild(root);\r\n return root;\r\n}\r\n/**\r\n * Escape regex characters\r\n * http://stackoverflow.com/a/6969486\r\n */\r\nfunction escapeRegExpChars(value) {\r\n if (!value)\r\n return value;\r\n return value.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\r\n}\r\nfunction createNewEvent(eventName) {\r\n let event;\r\n if (typeof Event === 'function') {\r\n event = new Event(eventName);\r\n }\r\n else {\r\n event = document.createEvent('Event');\r\n event.initEvent(eventName, true, true);\r\n }\r\n return event;\r\n}\r\nfunction toCssDimension(width) {\r\n return width === undefined ? null : (isNaN(width) ? width : width + 'px');\r\n}\r\nfunction blankIfUndefined(value) {\r\n return typeof value !== 'undefined' && value !== null ? value : '';\r\n}\r\nfunction defaultIfUndefined(value, defaultValue) {\r\n return typeof value !== 'undefined' && value !== null ? value : defaultValue;\r\n}\r\nfunction getMonthNames(locale = undefined, format = 'long') {\r\n const dates = [];\r\n for (let i = 0; i < 12; i++) {\r\n dates.push(new Date(2000, i, 15));\r\n }\r\n const dtf = new Intl.DateTimeFormat(locale, {\r\n month: format,\r\n });\r\n return dates.map((d) => dtf.format(d));\r\n}\r\nfunction getWeekdayNames(locale = undefined, firstDayOfWeek = 0, format = 'narrow') {\r\n const dates = [];\r\n for (let i = 1, j = 0; j < 7; i++) {\r\n const d = new Date(2000, 0, i);\r\n const day = d.getDay();\r\n if (day === firstDayOfWeek || j > 0) {\r\n dates.push(d);\r\n j++;\r\n }\r\n }\r\n const dtf = new Intl.DateTimeFormat(locale, {\r\n weekday: format,\r\n });\r\n return dates.map((d) => dtf.format(d));\r\n}\r\n/**\r\n * Accept a regex with group names and return an object\r\n * ex. matchWithGroups(/((?!=<year>)\\d+)\\/((?!=<month>)\\d+)\\/((?!=<day>)\\d+)/, '2000/12/25')\r\n * will return { year: 2000, month: 12, day: 25 }\r\n * @param {String} includes injections of (?!={groupname}) for each group\r\n * @param {String} the string to run regex\r\n * @return {Object} an object with a property for each group having the group's match as the value\r\n */\r\nfunction matchWithGroups(pattern, str) {\r\n const matches = str.match(pattern);\r\n return pattern\r\n // get the pattern as a string\r\n .toString()\r\n // suss out the groups\r\n .match(/<(.+?)>/g)\r\n // remove the braces\r\n .map((group) => {\r\n const groupMatches = group.match(/<(.+)>/);\r\n if (!groupMatches || groupMatches.length <= 0) {\r\n return null;\r\n }\r\n return group.match(/<(.+)>/)[1];\r\n })\r\n // create an object with a property for each group having the group's match as the value\r\n .reduce((acc, curr, index) => {\r\n if (matches && matches.length > index) {\r\n acc[curr] = matches[index + 1];\r\n }\r\n else {\r\n acc[curr] = null;\r\n }\r\n return acc;\r\n }, {});\r\n}\r\nfunction getStyleValue(value) {\r\n if (typeof value === 'object') {\r\n for (const key in value) {\r\n if (value[key])\r\n return key;\r\n }\r\n return '';\r\n }\r\n return value;\r\n}\r\nfunction debounce(func, wait, immediate) {\r\n let timeout;\r\n return function () {\r\n const context = this;\r\n const args = arguments;\r\n const later = function () {\r\n timeout = null;\r\n if (!immediate)\r\n func.apply(context, args);\r\n };\r\n const callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow)\r\n func.apply(context, args);\r\n };\r\n}\r\nfunction endsWith(str, suffix) {\r\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\r\n}\r\nconst isDefined = (d) => d !== undefined;\r\n/**\r\n * Remove accents/diacritics in a string in JavaScript\r\n * https://stackoverflow.com/a/37511463\r\n */\r\nfunction removeDiacriticsFromString(value) {\r\n if (!value)\r\n return value;\r\n return value.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n}\r\nfunction isClient() {\r\n return typeof window !== 'undefined';\r\n}\n\nexport { blankIfUndefined, bound, createAbsoluteElement, createNewEvent, debounce, defaultIfUndefined, endsWith, escapeRegExpChars, getMonthNames, getStyleValue, getValueByPath, getWeekdayNames, hasFlag, indexOf, isClient, isDefined, isMobile, isWebKit, matchWithGroups, merge, mod, removeDiacriticsFromString, removeElement, setValueByPath, sign, toCssDimension };\n","import { merge } from './helpers.mjs';\n\nlet config = {\r\n iconPack: 'mdi',\r\n useHtml5Validation: true,\r\n statusIcon: true,\r\n transformClasses: undefined\r\n};\r\nconst setOptions = (options) => { config = options; };\r\nconst getOptions = () => { return config; };\r\nlet VueInstance;\r\nconst setVueInstance = (Vue) => { VueInstance = Vue; };\r\nconst Programmatic = {\r\n getOptions,\r\n setOptions(options) {\r\n setOptions(merge(getOptions(), options, true));\r\n }\r\n};\r\nconst Plugin = {\r\n install(Vue, options = {}) {\r\n setVueInstance(Vue);\r\n // Options\r\n setOptions(merge(getOptions(), options, true));\r\n }\r\n};\n\nexport { Plugin, Programmatic, VueInstance, getOptions, setOptions, setVueInstance };\n","import { defineComponent } from 'vue';\nimport { getValueByPath, blankIfUndefined, endsWith } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\n\nconst _defaultSuffixProcessor = (input, suffix) => {\r\n return blankIfUndefined(input)\r\n .split(' ')\r\n .filter((cls) => cls.length > 0)\r\n .map((cls) => cls + suffix)\r\n .join(' ');\r\n};\r\nconst _getContext = (vm) => {\r\n const computedNames = vm.$options.computed ? Object.keys(vm.$options.computed) : [];\r\n const computed = computedNames.filter(e => !endsWith(e, 'Classes')).reduce((o, key) => {\r\n o[key] = vm[key];\r\n return o;\r\n }, {});\r\n return { props: vm.$props, data: vm.$data, computed };\r\n};\r\nvar BaseComponentMixin = defineComponent({\r\n isOruga: true,\r\n props: {\r\n override: Boolean\r\n },\r\n methods: {\r\n computedClass(field, defaultValue, suffix = '') {\r\n const config = this.$props.override === true ? {} : getOptions();\r\n const override = this.$props.override || getValueByPath(config, `${this.$options.configField}.override`, false);\r\n const overrideClass = getValueByPath(config, `${this.$options.configField}.${field}.override`, override);\r\n const globalTransformClasses = getValueByPath(config, `transformClasses`, undefined);\r\n const localTransformClasses = getValueByPath(config, `${this.$options.configField}.transformClasses`, undefined);\r\n let globalClass = getValueByPath(config, `${this.$options.configField}.${field}.class`, '')\r\n || getValueByPath(config, `${this.$options.configField}.${field}`, '');\r\n let currentClass = getValueByPath(this.$props, field);\r\n if (Array.isArray(currentClass)) {\r\n currentClass = currentClass.join(' ');\r\n }\r\n if (defaultValue.search(\"{*}\") !== -1) {\r\n defaultValue = defaultValue.replace(/\\{\\*\\}/g, suffix);\r\n }\r\n else {\r\n defaultValue = defaultValue + suffix;\r\n }\r\n let context = null;\r\n if (typeof currentClass === \"function\") {\r\n context = _getContext(this);\r\n currentClass = currentClass(suffix, context);\r\n }\r\n else {\r\n currentClass = _defaultSuffixProcessor(currentClass, suffix);\r\n }\r\n if (typeof globalClass === \"function\") {\r\n globalClass = globalClass(suffix, context || _getContext(this));\r\n }\r\n else {\r\n globalClass = _defaultSuffixProcessor(globalClass, suffix);\r\n }\r\n let appliedClasses = (`${(override && !overrideClass) || (!override && !overrideClass) ? defaultValue : ''} `\r\n + `${blankIfUndefined(globalClass)} `\r\n + `${blankIfUndefined(currentClass)}`).trim().replace(/\\s\\s+/g, ' ');\r\n if (localTransformClasses) {\r\n appliedClasses = localTransformClasses(appliedClasses);\r\n }\r\n if (globalTransformClasses) {\r\n appliedClasses = globalTransformClasses(appliedClasses);\r\n }\r\n return appliedClasses;\r\n }\r\n }\r\n});\n\n// oruga object for programmatic components\r\nconst oruga = {};\r\n// add components to the oruga object\r\nfunction addProgrammatic(property, component) {\r\n oruga[property] = component;\r\n}\r\n// composable for internal and external usage\r\nfunction useProgrammatic() {\r\n return { oruga, addProgrammatic };\r\n}\n\nconst registerPlugin = (app, plugin) => {\r\n app.use(plugin);\r\n};\r\nconst registerComponent = (app, component) => {\r\n app.component(component.name, component);\r\n};\r\nconst registerComponentProgrammatic = (app, property, component) => {\r\n // use composable for unified access to programmatic oruga object\r\n const { oruga, addProgrammatic } = useProgrammatic();\r\n // add component (manipulates the programmatic oruga object)\r\n addProgrammatic(property, component);\r\n // add provide and $oruga (only needed once)\r\n if (!(app._context.provides && app._context.provides.oruga))\r\n app.provide('oruga', oruga);\r\n if (!app.config.globalProperties.$oruga)\r\n app.config.globalProperties.$oruga = oruga;\r\n};\n\nexport { BaseComponentMixin as B, registerComponentProgrammatic as a, registerComponent as b, registerPlugin as r, useProgrammatic as u };\n","import { defineComponent, openBlock, createBlock, Fragment, createCommentVNode, resolveDynamicComponent } from 'vue';\nimport { getValueByPath, merge } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\n\nconst mdiIcons = {\r\n sizes: {\r\n 'default': 'mdi-24px',\r\n 'small': null,\r\n 'medium': 'mdi-36px',\r\n 'large': 'mdi-48px'\r\n },\r\n iconPrefix: 'mdi-'\r\n};\r\nconst faIcons = () => {\r\n const iconComponent = getValueByPath(getOptions(), 'iconComponent');\r\n const faIconPrefix = iconComponent ? '' : 'fa-';\r\n return {\r\n sizes: {\r\n 'default': null,\r\n 'small': null,\r\n 'medium': faIconPrefix + 'lg',\r\n 'large': faIconPrefix + '2x'\r\n },\r\n iconPrefix: faIconPrefix,\r\n internalIcons: {\r\n 'check': 'check',\r\n 'information': 'info-circle',\r\n 'alert': 'exclamation-triangle',\r\n 'alert-circle': 'exclamation-circle',\r\n 'arrow-up': 'arrow-up',\r\n 'chevron-right': 'angle-right',\r\n 'chevron-left': 'angle-left',\r\n 'chevron-down': 'angle-down',\r\n 'chevron-up': 'angle-up',\r\n 'eye': 'eye',\r\n 'eye-off': 'eye-slash',\r\n 'caret-down': 'caret-down',\r\n 'caret-up': 'caret-up',\r\n 'close-circle': 'times-circle',\r\n 'close': 'times',\r\n 'loading': 'circle-notch'\r\n }\r\n };\r\n};\r\nconst getIcons = () => {\r\n let icons = {\r\n mdi: mdiIcons,\r\n fa: faIcons(),\r\n fas: faIcons(),\r\n far: faIcons(),\r\n fad: faIcons(),\r\n fab: faIcons(),\r\n fal: faIcons()\r\n };\r\n const customIconPacks = getValueByPath(getOptions(), 'customIconPacks');\r\n if (customIconPacks) {\r\n icons = merge(icons, customIconPacks, true);\r\n }\r\n return icons;\r\n};\n\n/**\r\n * Icons take an important role of any application\r\n * @displayName Icon\r\n * @style _icon.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OIcon',\r\n mixins: [BaseComponentMixin],\r\n configField: 'icon',\r\n props: {\r\n /**\r\n * \tColor of the icon, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /**\r\n * Icon component name\r\n */\r\n component: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n pack: String,\r\n /**\r\n * Icon name\r\n */\r\n icon: String,\r\n /**\r\n * Icon size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Overrides icon font size, optional\r\n * @values Depends on library: null (smallest), fa-lg, fa-2x, fa-3x, fa-4x, fa-5x, mdi-18px, mdi-24px, mdi-36px, mdi-48px\r\n */\r\n customSize: String,\r\n /**\r\n * Add class to icon font, optional. See here for MDI, here for FontAwesome 4 and here for FontAwesome 5 custom classes\r\n */\r\n customClass: String,\r\n /**\r\n * When true makes icon clickable\r\n */\r\n clickable: Boolean,\r\n /** Enable spin effect on icon */\r\n spin: Boolean,\r\n /** Rotation 0-360 */\r\n rotation: [Number, String],\r\n /** @ignore */\r\n both: Boolean,\r\n rootClass: [String, Function, Array],\r\n clickableClass: [String, Function, Array],\r\n spinClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-icon'),\r\n { [this.computedClass('clickableClass', 'o-icon--clickable')]: this.clickable },\r\n { [this.computedClass('spinClass', 'o-icon--spin')]: this.spin },\r\n { [this.computedClass('sizeClass', 'o-icon--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-icon--', this.newVariant)]: this.newVariant }\r\n ];\r\n },\r\n rootStyle() {\r\n const style = {};\r\n if (this.rotation) {\r\n style['transform'] = `rotate(${this.rotation}deg)`;\r\n }\r\n return style;\r\n },\r\n iconConfig() {\r\n return getIcons()[this.newPack];\r\n },\r\n iconPrefix() {\r\n if (this.iconConfig && this.iconConfig.iconPrefix) {\r\n return this.iconConfig.iconPrefix;\r\n }\r\n return '';\r\n },\r\n /**\r\n * Internal icon name based on the pack.\r\n * If pack is 'fa', gets the equivalent FA icon name of the MDI,\r\n * internal icons are always MDI.\r\n */\r\n newIcon() {\r\n return `${this.iconPrefix}${this.getEquivalentIconOf(this.icon)}`;\r\n },\r\n newPack() {\r\n return this.pack || getValueByPath(getOptions(), 'iconPack', 'mdi');\r\n },\r\n newVariant() {\r\n if (!this.variant)\r\n return;\r\n let newVariant = '';\r\n if (typeof this.variant === 'string') {\r\n newVariant = this.variant;\r\n }\r\n else {\r\n newVariant = Object.keys(this.variant).filter(key => this.variant[key])[0];\r\n }\r\n return newVariant;\r\n },\r\n newCustomSize() {\r\n return this.customSize || this.customSizeByPack;\r\n },\r\n customSizeByPack() {\r\n if (this.iconConfig && this.iconConfig.sizes) {\r\n if (this.size && this.iconConfig.sizes[this.size] !== undefined) {\r\n return this.iconConfig.sizes[this.size];\r\n }\r\n else if (this.iconConfig.sizes.default) {\r\n return this.iconConfig.sizes.default;\r\n }\r\n }\r\n return null;\r\n },\r\n useIconComponent() {\r\n if (this.component)\r\n return this.component;\r\n const component = getValueByPath(getOptions(), 'iconComponent');\r\n if (component)\r\n return component;\r\n return null;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Equivalent icon name of the MDI.\r\n */\r\n getEquivalentIconOf(value) {\r\n // Only transform the class if the both prop is set to true\r\n if (!this.both) {\r\n return value;\r\n }\r\n if (this.iconConfig &&\r\n this.iconConfig.internalIcons &&\r\n this.iconConfig.internalIcons[value]) {\r\n return this.iconConfig.internalIcons[value];\r\n }\r\n return value;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"span\", {\n class: _ctx.rootClasses,\n style: _ctx.rootStyle\n }, [!_ctx.useIconComponent ? (openBlock(), createBlock(\"i\", {\n key: 0,\n class: [_ctx.newPack, _ctx.newIcon, _ctx.newCustomSize, _ctx.customClass]\n }, null, 2\n /* CLASS */\n )) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createCommentVNode(\" custom icon component \"), (openBlock(), createBlock(resolveDynamicComponent(_ctx.useIconComponent), {\n icon: [_ctx.newPack, _ctx.newIcon],\n size: _ctx.newCustomSize,\n class: [_ctx.customClass]\n }, null, 8\n /* PROPS */\n , [\"icon\", \"size\", \"class\"]))], 64\n /* STABLE_FRAGMENT */\n ))], 6\n /* CLASS, STYLE */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/icon/Icon.vue\";\n\nexport { script as s };\n","import { defineComponent } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\n\nvar FormElementMixin = defineComponent({\r\n inject: {\r\n $field: { from: \"$field\", default: false }\r\n },\r\n emits: ['blur', 'focus'],\r\n props: {\r\n /**\r\n * Makes input full width when inside a grouped or addon field\r\n */\r\n expanded: Boolean,\r\n /**\r\n * Makes the element rounded\r\n */\r\n rounded: Boolean,\r\n /**\r\n * Icon name to be added\r\n */\r\n icon: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /** Native options to use in HTML5 validation */\r\n autocomplete: String,\r\n /** Same as native maxlength, plus character counter */\r\n maxlength: [Number, String],\r\n /** Enable html 5 native validation */\r\n useHtml5Validation: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), \"useHtml5Validation\", true);\r\n },\r\n },\r\n /** Show status icon using field and variant prop */\r\n statusIcon: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), \"statusIcon\", true);\r\n },\r\n },\r\n /**\r\n * The message which is shown when a validation error occurs\r\n */\r\n validationMessage: String,\r\n },\r\n data() {\r\n return {\r\n isValid: true,\r\n isFocused: false,\r\n newIconPack: this.iconPack,\r\n };\r\n },\r\n computed: {\r\n parentField() {\r\n return this.$field;\r\n },\r\n /**\r\n * Get the type prop from parent if it's a Field.\r\n */\r\n statusVariant() {\r\n if (!this.parentField)\r\n return;\r\n if (!this.parentField.newVariant)\r\n return;\r\n if (typeof this.parentField.newVariant === \"string\") {\r\n return this.parentField.newVariant;\r\n }\r\n else {\r\n for (const key in this.parentField.newVariant) {\r\n if (this.parentField.newVariant[key]) {\r\n return key;\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Get the message prop from parent if it's a Field.\r\n */\r\n statusMessage() {\r\n if (!this.parentField)\r\n return;\r\n return this.parentField.newMessage || this.parentField.hasMessageSlot;\r\n },\r\n /**\r\n * Icon name based on the variant.\r\n */\r\n statusVariantIcon() {\r\n const statusVariantIcon = getValueByPath(getOptions(), \"statusVariantIcon\", {\r\n 'success': 'check',\r\n 'danger': 'alert-circle',\r\n 'info': 'information',\r\n 'warning': 'alert'\r\n });\r\n return statusVariantIcon[this.statusVariant] || '';\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Focus method that work dynamically depending on the component.\r\n */\r\n focus() {\r\n const el = this.getElement();\r\n if (!el)\r\n return;\r\n this.$nextTick(() => {\r\n if (el)\r\n el.focus();\r\n });\r\n },\r\n onBlur(event) {\r\n this.isFocused = false;\r\n if (this.parentField) {\r\n this.parentField.isFocused = false;\r\n }\r\n this.$emit(\"blur\", event);\r\n this.checkHtml5Validity();\r\n },\r\n onFocus(event) {\r\n this.isFocused = true;\r\n if (this.parentField) {\r\n this.parentField.isFocused = true;\r\n }\r\n this.$emit(\"focus\", event);\r\n },\r\n getElement() {\r\n let el = this.$refs[this.$elementRef];\r\n while (el && el.$elementRef) {\r\n el = el.$refs[el.$elementRef];\r\n }\r\n return el;\r\n },\r\n setInvalid() {\r\n const variant = \"danger\";\r\n const message = this.validationMessage || this.getElement().validationMessage;\r\n this.setValidity(variant, message);\r\n },\r\n setValidity(variant, message) {\r\n this.$nextTick(() => {\r\n if (this.parentField) {\r\n // Set type only if not defined\r\n if (!this.parentField.variant) {\r\n this.parentField.newVariant = variant;\r\n }\r\n // Set message only if not defined\r\n if (!this.parentField.message) {\r\n this.parentField.newMessage = message;\r\n }\r\n }\r\n });\r\n },\r\n /**\r\n * Check HTML5 validation, set isValid property.\r\n * If validation fail, send 'danger' type,\r\n * and error message to parent if it's a Field.\r\n */\r\n checkHtml5Validity() {\r\n if (!this.useHtml5Validation)\r\n return;\r\n const el = this.getElement();\r\n if (!el)\r\n return;\r\n if (!el.checkValidity()) {\r\n this.setInvalid();\r\n this.isValid = false;\r\n }\r\n else {\r\n this.setValidity(null, null);\r\n this.isValid = true;\r\n }\r\n return this.isValid;\r\n },\r\n syncFilled(value) {\r\n if (this.parentField) {\r\n this.parentField.isFilled = !!value;\r\n }\r\n }\r\n }\r\n});\n\nexport { FormElementMixin as F };\n","import { defineComponent, resolveComponent, openBlock, createBlock, mergeProps, createVNode, createCommentVNode, toDisplayString } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\n\n/**\r\n * Get user Input. Use with Field to access all functionalities\r\n * @displayName Input\r\n * @style _input.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OInput',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n configField: 'input',\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'icon-click', 'icon-right-click'],\r\n props: {\r\n /** @model */\r\n modelValue: [Number, String],\r\n /** Native options to use in HTML5 validation */\r\n autocomplete: String,\r\n /**\r\n * Input type, like native\r\n * @values Any native input type, and textarea\r\n */\r\n type: {\r\n type: String,\r\n default: 'text'\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * \tAdds the reveal password functionality\r\n */\r\n passwordReveal: Boolean,\r\n /**\r\n * Makes the icon clickable\r\n */\r\n iconClickable: Boolean,\r\n /**\r\n * Show character counter when maxlength prop is passed\r\n */\r\n hasCounter: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'input.counter', false); }\r\n },\r\n /**\r\n * Automatically adjust height in textarea\r\n */\r\n autosize: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * \tIcon name to be added on the right side\r\n */\r\n iconRight: String,\r\n /**\r\n * Make the icon right clickable\r\n */\r\n iconRightClickable: Boolean,\r\n /** Variant of right icon */\r\n iconRightVariant: String,\r\n /** Add a button/icon to clear the inputed text */\r\n clearable: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'input.clearable', false); }\r\n },\r\n rootClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n iconLeftSpaceClass: [String, Function, Array],\r\n iconRightSpaceClass: [String, Function, Array],\r\n inputClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n iconLeftClass: [String, Function, Array],\r\n iconRightClass: [String, Function, Array],\r\n counterClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue,\r\n newType: this.type,\r\n // from mixin (ts workaround)\r\n newAutocomplete: this.autocomplete || getValueByPath(getOptions(), 'input.autocompletete', 'off'),\r\n isPasswordVisible: false,\r\n height: 'auto'\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-ctrl-input'),\r\n { [this.computedClass('expandedClass', 'o-ctrl-input--expanded')]: this.expanded }\r\n ];\r\n },\r\n inputClasses() {\r\n return [\r\n this.computedClass('inputClass', 'o-input'),\r\n { [this.computedClass('roundedClass', 'o-input--rounded')]: this.rounded },\r\n { [this.computedClass('sizeClass', 'o-input--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-input--', (this.statusVariant || this.variant))]: (this.statusVariant || this.variant) },\r\n { [this.computedClass('textareaClass', 'o-input__textarea')]: this.type === 'textarea' },\r\n { [this.computedClass('iconLeftSpaceClass', 'o-input-iconspace-left')]: this.icon },\r\n { [this.computedClass('iconRightSpaceClass', 'o-input-iconspace-right')]: this.hasIconRight }\r\n ];\r\n },\r\n iconLeftClasses() {\r\n return [\r\n this.computedClass('iconLeftClass', 'o-input__icon-left')\r\n ];\r\n },\r\n iconRightClasses() {\r\n return [\r\n this.computedClass('iconRightClass', 'o-input__icon-right')\r\n ];\r\n },\r\n counterClasses() {\r\n return [\r\n this.computedClass('counterClass', 'o-input__counter')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n this.newValue = value;\r\n this.$emit('update:modelValue', this.newValue);\r\n this.syncFilled(this.newValue);\r\n !this.isValid && this.checkHtml5Validity();\r\n }\r\n },\r\n hasIconRight() {\r\n return this.passwordReveal\r\n || (this.statusIcon && this.statusVariantIcon)\r\n || (this.clearable && this.newValue)\r\n || this.iconRight;\r\n },\r\n rightIcon() {\r\n if (this.passwordReveal) {\r\n return this.passwordVisibleIcon;\r\n }\r\n else if (this.clearable && this.newValue) {\r\n return 'close-circle';\r\n }\r\n else if (this.iconRight) {\r\n return this.iconRight;\r\n }\r\n return this.statusVariantIcon;\r\n },\r\n rightIconVariant() {\r\n if (this.passwordReveal || this.iconRight) {\r\n return this.iconRightVariant || this.variant || null;\r\n }\r\n return this.statusVariant;\r\n },\r\n /**\r\n * Check if have any message prop from parent if it's a Field.\r\n */\r\n hasMessage() {\r\n return !!this.statusMessage;\r\n },\r\n /**\r\n * Current password-reveal icon name.\r\n */\r\n passwordVisibleIcon() {\r\n return !this.isPasswordVisible ? 'eye' : 'eye-off';\r\n },\r\n /**\r\n * Get value length\r\n */\r\n valueLength() {\r\n if (typeof this.computedValue === 'string') {\r\n return this.computedValue.length;\r\n }\r\n else if (typeof this.computedValue === 'number') {\r\n return this.computedValue.toString().length;\r\n }\r\n return 0;\r\n },\r\n /**\r\n * Computed inline styles for autoresize\r\n */\r\n computedStyles() {\r\n if (!this.autosize)\r\n return {};\r\n return {\r\n resize: 'none',\r\n height: this.height,\r\n overflow: 'hidden'\r\n };\r\n },\r\n $elementRef() {\r\n return this.type === 'textarea'\r\n ? 'textarea'\r\n : 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Set internal value.\r\n */\r\n modelValue: {\r\n immediate: true,\r\n handler(value) {\r\n this.newValue = value;\r\n this.syncFilled(this.newValue);\r\n if (this.autosize) {\r\n this.resize();\r\n }\r\n }\r\n },\r\n type(type) {\r\n this.newType = type;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Toggle the visibility of a password-reveal input\r\n * by changing the type and focus the input right away.\r\n */\r\n togglePasswordVisibility() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n this.newType = this.isPasswordVisible ? 'text' : 'password';\r\n this.$nextTick(() => {\r\n this.focus();\r\n });\r\n },\r\n iconClick(emit, event) {\r\n this.$emit(emit, event);\r\n this.$nextTick(() => {\r\n this.focus();\r\n });\r\n },\r\n rightIconClick(event) {\r\n if (this.passwordReveal) {\r\n this.togglePasswordVisibility();\r\n }\r\n else if (this.clearable) {\r\n this.computedValue = '';\r\n }\r\n else if (this.iconRightClickable) {\r\n this.iconClick('icon-right-click', event);\r\n }\r\n },\r\n resize() {\r\n this.height = 'auto';\r\n this.$nextTick(() => {\r\n const scrollHeight = this.$refs.textarea.scrollHeight;\r\n this.height = scrollHeight + 'px';\r\n });\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [_ctx.type !== 'textarea' ? (openBlock(), createBlock(\"input\", mergeProps({\n key: 0\n }, _ctx.$attrs, {\n ref: \"input\",\n class: _ctx.inputClasses,\n type: _ctx.newType,\n autocomplete: _ctx.newAutocomplete,\n maxlength: _ctx.maxlength,\n value: _ctx.computedValue,\n onInput: _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event.target.value),\n onBlur: _cache[2] || (_cache[2] = (...args) => _ctx.onBlur(...args)),\n onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.onFocus(...args))\n }), null, 16\n /* FULL_PROPS */\n , [\"type\", \"autocomplete\", \"maxlength\", \"value\"])) : (openBlock(), createBlock(\"textarea\", mergeProps({\n key: 1\n }, _ctx.$attrs, {\n ref: \"textarea\",\n class: _ctx.inputClasses,\n maxlength: _ctx.maxlength,\n value: _ctx.computedValue,\n onInput: _cache[4] || (_cache[4] = $event => _ctx.computedValue = $event.target.value),\n onBlur: _cache[5] || (_cache[5] = (...args) => _ctx.onBlur(...args)),\n onFocus: _cache[6] || (_cache[6] = (...args) => _ctx.onFocus(...args)),\n style: _ctx.computedStyles\n }), null, 16\n /* FULL_PROPS */\n , [\"maxlength\", \"value\"])), _ctx.icon ? createVNode(_component_o_icon, {\n key: 2,\n class: _ctx.iconLeftClasses,\n clickable: _ctx.iconClickable,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size,\n onClick: _cache[7] || (_cache[7] = $event => _ctx.iconClick('icon-click', $event))\n }, null, 8\n /* PROPS */\n , [\"class\", \"clickable\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.hasIconRight ? createVNode(_component_o_icon, {\n key: 3,\n class: _ctx.iconRightClasses,\n clickable: _ctx.passwordReveal || _ctx.clearable || _ctx.iconRightClickable,\n icon: _ctx.rightIcon,\n pack: _ctx.iconPack,\n size: _ctx.size,\n variant: _ctx.rightIconVariant,\n both: \"\",\n onClick: _ctx.rightIconClick\n }, null, 8\n /* PROPS */\n , [\"class\", \"clickable\", \"icon\", \"pack\", \"size\", \"variant\", \"onClick\"]) : createCommentVNode(\"v-if\", true), _ctx.maxlength && _ctx.hasCounter && _ctx.isFocused && _ctx.type !== 'number' ? (openBlock(), createBlock(\"small\", {\n key: 4,\n class: _ctx.counterClasses\n }, toDisplayString(_ctx.valueLength) + \" / \" + toDisplayString(_ctx.maxlength), 3\n /* TEXT, CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/input/Input.vue\";\n\nexport { script as s };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, mergeProps, withKeys, withModifiers, Transition, withCtx, withDirectives, renderSlot, createCommentVNode, Fragment, renderList, toDisplayString, vShow } from 'vue';\nimport { getValueByPath, toCssDimension, debounce, createAbsoluteElement, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { s as script$1 } from './Input-19e906a1.mjs';\n\n/**\r\n * Extended input that provide suggestions while the user types\r\n * @displayName Autocomplete\r\n * @style _autocomplete.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OAutocomplete',\r\n configField: 'autocomplete',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'select', 'infinite-scroll', 'typing', 'focus', 'blur', 'icon-click', 'icon-right-click'],\r\n props: {\r\n /** @model */\r\n modelValue: [Number, String],\r\n /** Options / suggestions */\r\n data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Native options to use in HTML5 validation */\r\n autocomplete: String,\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Property of the object (if data is array of objects) to use as display text, and to keep track of selected option */\r\n field: {\r\n type: String,\r\n default: 'value'\r\n },\r\n /** The first option will always be pre-selected (easier to just hit enter or tab) */\r\n keepFirst: Boolean,\r\n /** Clear input text on select */\r\n clearOnSelect: Boolean,\r\n /** Open dropdown list on focus */\r\n openOnFocus: Boolean,\r\n /** Function to format an option to a string for display in the input as alternative to field prop) */\r\n customFormatter: Function,\r\n /** Makes the component check if list reached scroll end and emit infinite-scroll event. */\r\n checkInfiniteScroll: Boolean,\r\n /** Keep open dropdown list after select */\r\n keepOpen: Boolean,\r\n /** Add a button/icon to clear the inputed text */\r\n clearable: Boolean,\r\n /** Max height of dropdown content */\r\n maxHeight: [String, Number],\r\n /**\r\n * Position of dropdown\r\n * @values auto, top, bottom\r\n */\r\n menuPosition: {\r\n type: String,\r\n default: 'auto'\r\n },\r\n /** Transition name to apply on dropdown list */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.animation', 'fade');\r\n }\r\n },\r\n /** Property of the object (if <code>data</code> is array of objects) to use as display text of group */\r\n groupField: String,\r\n /** Property of the object (if <code>data</code> is array of objects) to use as key to get items array of each group, optional */\r\n groupOptions: String,\r\n /** Number of milliseconds to delay before to emit typing event */\r\n debounceTyping: Number,\r\n /** Icon name to be added on the right side */\r\n iconRight: String,\r\n /** Clickable icon right if exists */\r\n iconRightClickable: Boolean,\r\n /** Append autocomplete content to body */\r\n appendToBody: Boolean,\r\n /** Array of keys (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values) which will add a tag when typing (default tab and enter) */\r\n confirmKeys: {\r\n type: Array,\r\n default: () => ['Tab', 'Enter']\r\n },\r\n /** Input type */\r\n type: {\r\n type: String,\r\n default: 'text'\r\n },\r\n /**\r\n * Menu tag name\r\n */\r\n menuTag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.menuTag', 'div');\r\n }\r\n },\r\n /**\r\n * Menu item tag name\r\n */\r\n itemTag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.itemTag', 'div');\r\n }\r\n },\r\n /** Trigger the select event for the first pre-selected option when clicking outside and <code>keep-first</code> is enabled */\r\n selectOnClickOutside: Boolean,\r\n /** Allows the header in the autocomplete to be selectable */\r\n selectableHeader: Boolean,\r\n /** Allows the footer in the autocomplete to be selectable */\r\n selectableFooter: Boolean,\r\n rootClass: [String, Function, Array],\r\n menuClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n menuPositionClass: [String, Function, Array],\r\n itemClass: [String, Function, Array],\r\n itemHoverClass: [String, Function, Array],\r\n itemGroupTitleClass: [String, Function, Array],\r\n itemEmptyClass: [String, Function, Array],\r\n itemHeaderClass: [String, Function, Array],\r\n itemFooterClass: [String, Function, Array],\r\n inputClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'autocomplete.inputClasses', {});\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n selected: null,\r\n hovered: null,\r\n headerHovered: null,\r\n footerHovered: null,\r\n isActive: false,\r\n newValue: this.modelValue,\r\n ariaAutocomplete: this.keepFirst ? 'both' : 'list',\r\n newAutocomplete: this.autocomplete || 'off',\r\n isListInViewportVertically: true,\r\n hasFocus: false,\r\n itemRefs: [],\r\n width: undefined,\r\n bodyEl: undefined,\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-acp'),\r\n { [this.computedClass('expandedClass', 'o-acp--expanded')]: this.expanded }\r\n ];\r\n },\r\n menuClasses() {\r\n return [\r\n this.computedClass('menuClass', 'o-acp__menu'),\r\n { [this.computedClass('menuPositionClass', 'o-acp__menu--', this.newDropdownPosition)]: !this.appendToBody },\r\n ];\r\n },\r\n itemClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-acp__item')\r\n ];\r\n },\r\n itemEmptyClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemEmptyClass', 'o-acp__item--empty')\r\n ];\r\n },\r\n itemGroupClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemGroupTitleClass', 'o-acp__item-group-title')\r\n ];\r\n },\r\n itemHeaderClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemHeaderClass', 'o-acp__item-header'),\r\n { [this.computedClass('itemHoverClass', 'o-acp__item--hover')]: this.headerHovered }\r\n ];\r\n },\r\n itemFooterClasses() {\r\n return [\r\n ...this.itemClasses,\r\n this.computedClass('itemFooterClass', 'o-acp__item-footer'),\r\n { [this.computedClass('itemHoverClass', 'o-acp__item--hover')]: this.footerHovered }\r\n ];\r\n },\r\n inputBind() {\r\n return {\r\n ...this.$attrs,\r\n ...this.inputClasses\r\n };\r\n },\r\n computedData() {\r\n if (this.groupField) {\r\n if (this.groupOptions) {\r\n const newData = [];\r\n this.data.forEach((option) => {\r\n const group = getValueByPath(option, this.groupField);\r\n const items = getValueByPath(option, this.groupOptions);\r\n newData.push({ group, items });\r\n });\r\n return newData;\r\n }\r\n else {\r\n const tmp = {};\r\n this.data.forEach((option) => {\r\n const group = getValueByPath(option, this.groupField);\r\n if (!tmp[group])\r\n tmp[group] = [];\r\n tmp[group].push(option);\r\n });\r\n const newData = [];\r\n Object.keys(this.data).forEach((group) => {\r\n newData.push({ group, items: this.data[group] });\r\n });\r\n return newData;\r\n }\r\n }\r\n return [{ items: this.data }];\r\n },\r\n isEmpty() {\r\n if (!this.computedData)\r\n return true;\r\n return !this.computedData.some((element) => element.items && element.items.length);\r\n },\r\n /**\r\n * White-listed items to not close when clicked.\r\n * Add input, dropdown and all children.\r\n */\r\n whiteList() {\r\n const whiteList = [];\r\n whiteList.push(this.$refs.input.$el.querySelector('input'));\r\n whiteList.push(this.$refs.dropdown);\r\n // Add all children from dropdown\r\n if (this.$refs.dropdown !== undefined) {\r\n const children = this.$refs.dropdown.querySelectorAll('*');\r\n for (const child of children) {\r\n whiteList.push(child);\r\n }\r\n }\r\n return whiteList;\r\n },\r\n newDropdownPosition() {\r\n if (this.menuPosition === 'top' || (this.menuPosition === 'auto' && !this.isListInViewportVertically)) {\r\n return 'top';\r\n }\r\n return 'bottom';\r\n },\r\n newIconRight() {\r\n if (this.clearable && this.newValue) {\r\n return 'close-circle';\r\n }\r\n return this.iconRight;\r\n },\r\n newIconRightClickable() {\r\n if (this.clearable) {\r\n return true;\r\n }\r\n return this.iconRightClickable;\r\n },\r\n menuStyle() {\r\n return {\r\n maxHeight: toCssDimension(this.maxHeight)\r\n };\r\n },\r\n $elementRef() {\r\n return 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Update internal value.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n },\r\n /**\r\n * When dropdown is toggled, check the visibility to know when\r\n * to open upwards.\r\n */\r\n isActive(active) {\r\n if (this.menuPosition === 'auto') {\r\n if (active) {\r\n this.calcDropdownInViewportVertical();\r\n }\r\n else {\r\n // Timeout to wait for the animation to finish before recalculating\r\n setTimeout(() => {\r\n this.calcDropdownInViewportVertical();\r\n }, 100);\r\n }\r\n }\r\n },\r\n /**\r\n * When updating input's value\r\n * 1. Emit changes\r\n * 2. If value isn't the same as selected, set null\r\n * 3. Close dropdown if value is clear or else open it\r\n */\r\n newValue(value) {\r\n this.$emit('update:modelValue', value);\r\n // Check if selected is invalid\r\n const currentValue = this.getValue(this.selected);\r\n if (currentValue && currentValue !== value) {\r\n this.setSelected(null, false);\r\n }\r\n // Close dropdown if input is clear or else open it\r\n if (this.hasFocus && (!this.openOnFocus || value)) {\r\n this.isActive = !!value;\r\n }\r\n },\r\n /**\r\n * Select first option if \"keep-first\r\n */\r\n data() {\r\n // Keep first option always pre-selected\r\n if (this.keepFirst) {\r\n this.$nextTick(() => {\r\n if (this.isActive) {\r\n this.selectFirstOption(this.computedData);\r\n }\r\n else {\r\n this.setHovered(null);\r\n }\r\n });\r\n }\r\n else {\r\n if (this.hovered) {\r\n // reset hovered if list doesn't contain it\r\n const hoveredValue = this.getValue(this.hovered);\r\n const data = this.computedData.map((d) => d.items).reduce((a, b) => ([...a, ...b]), []);\r\n if (!data.some(d => this.getValue(d) === hoveredValue)) {\r\n this.setHovered(null);\r\n }\r\n }\r\n }\r\n },\r\n debounceTyping: {\r\n handler(value) {\r\n this.debouncedEmitTyping = debounce(this.emitTyping, value);\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n itemOptionClasses(option) {\r\n return [\r\n ...this.itemClasses,\r\n { [this.computedClass('itemHoverClass', 'o-acp__item--hover')]: option === this.hovered }\r\n ];\r\n },\r\n /**\r\n * Set which option is currently hovered.\r\n */\r\n setHovered(option) {\r\n if (option === undefined)\r\n return;\r\n this.hovered = option;\r\n },\r\n /**\r\n * Set which option is currently selected, update v-model,\r\n * update input value and close dropdown.\r\n */\r\n setSelected(option, closeDropdown = true, event = undefined) {\r\n if (option === undefined)\r\n return;\r\n this.selected = option;\r\n /**\r\n * @property {Object} selected selected option\r\n * @property {Event} event native event\r\n */\r\n this.$emit('select', this.selected, event);\r\n if (this.selected !== null) {\r\n if (this.clearOnSelect) {\r\n const input = this.$refs.input;\r\n input.newValue = '';\r\n input.$refs.input.value = '';\r\n }\r\n else {\r\n this.newValue = this.getValue(this.selected);\r\n }\r\n this.setHovered(null);\r\n }\r\n closeDropdown && this.$nextTick(() => { this.isActive = false; });\r\n this.checkValidity();\r\n },\r\n /**\r\n * Select first option\r\n */\r\n selectFirstOption(computedData) {\r\n this.$nextTick(() => {\r\n const nonEmptyElements = computedData.filter((element) => element.items && element.items.length);\r\n if (nonEmptyElements.length) {\r\n const option = nonEmptyElements[0].items[0];\r\n this.setHovered(option);\r\n }\r\n else {\r\n this.setHovered(null);\r\n }\r\n });\r\n },\r\n /**\r\n * Key listener.\r\n * Select the hovered option.\r\n */\r\n keydown(event) {\r\n const { key } = event; // cannot destructure preventDefault (https://stackoverflow.com/a/49616808/2774496)\r\n // prevent emit submit event\r\n if (key === 'Enter')\r\n event.preventDefault();\r\n // Close dropdown on Tab & no hovered\r\n if (key === 'Escape' || key === 'Tab') {\r\n this.isActive = false;\r\n }\r\n if (this.confirmKeys.indexOf(key) >= 0) {\r\n // If adding by comma, don't add the comma to the input\r\n if (key === ',')\r\n event.preventDefault();\r\n // Close dropdown on select by Tab\r\n const closeDropdown = !this.keepOpen || key === 'Tab';\r\n if (this.hovered === null) {\r\n // header and footer uses headerHovered && footerHovered. If header or footer\r\n // was selected then fire event otherwise just return so a value isn't selected\r\n this.checkIfHeaderOrFooterSelected(event, null, closeDropdown);\r\n return;\r\n }\r\n this.setSelected(this.hovered, closeDropdown, event);\r\n }\r\n },\r\n selectHeaderOrFoterByClick(event, origin) {\r\n this.checkIfHeaderOrFooterSelected(event, { origin: origin });\r\n },\r\n /**\r\n * Check if header or footer was selected.\r\n */\r\n checkIfHeaderOrFooterSelected(event, triggerClick, closeDropdown = true) {\r\n if (this.selectableHeader && (this.headerHovered || (triggerClick && triggerClick.origin === 'header'))) {\r\n this.$emit('select-header', event);\r\n this.headerHovered = false;\r\n if (triggerClick)\r\n this.setHovered(null);\r\n if (closeDropdown)\r\n this.isActive = false;\r\n }\r\n if (this.selectableFooter && (this.footerHovered || (triggerClick && triggerClick.origin === 'header'))) {\r\n this.$emit('select-footer', event);\r\n this.footerHovered = false;\r\n if (triggerClick)\r\n this.setHovered(null);\r\n if (closeDropdown)\r\n this.isActive = false;\r\n }\r\n },\r\n /**\r\n * Close dropdown if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (!this.hasFocus && this.whiteList.indexOf(event.target) < 0) {\r\n if (this.keepFirst && this.hovered && this.selectOnClickOutside) {\r\n this.setSelected(this.hovered, true);\r\n }\r\n else {\r\n this.isActive = false;\r\n }\r\n }\r\n },\r\n /**\r\n * Return display text for the input.\r\n * If object, get value from path, or else just the value.\r\n */\r\n getValue(option) {\r\n if (option === null)\r\n return;\r\n if (typeof this.customFormatter !== 'undefined') {\r\n return this.customFormatter(option);\r\n }\r\n return typeof option === 'object'\r\n ? getValueByPath(option, this.field)\r\n : option;\r\n },\r\n /**\r\n * Check if the scroll list inside the dropdown\r\n * reached it's end.\r\n */\r\n checkIfReachedTheEndOfScroll() {\r\n const list = this.$refs.dropdown;\r\n const footerHeight = this.$slots.footer ? this.$refs.footer.clientHeight : 0;\r\n if (list.clientHeight !== list.scrollHeight &&\r\n list.scrollTop + list.clientHeight + footerHeight >= list.scrollHeight) {\r\n this.$emit('infinite-scroll');\r\n }\r\n },\r\n /**\r\n * Calculate if the dropdown is vertically visible when activated,\r\n * otherwise it is openened upwards.\r\n */\r\n calcDropdownInViewportVertical() {\r\n this.$nextTick(() => {\r\n /**\r\n * this.$refs.dropdown may be undefined\r\n * when Autocomplete is conditional rendered\r\n */\r\n if (!this.$refs.dropdown)\r\n return;\r\n const rect = this.$refs.dropdown.getBoundingClientRect();\r\n this.isListInViewportVertically = (rect.top >= 0 &&\r\n rect.bottom <= (window.innerHeight ||\r\n document.documentElement.clientHeight));\r\n if (this.appendToBody) {\r\n this.updateAppendToBody();\r\n }\r\n });\r\n },\r\n /**\r\n * Arrows keys listener.\r\n * If dropdown is active, set hovered option, or else just open.\r\n */\r\n keyArrows(direction) {\r\n const sum = direction === 'down' ? 1 : -1;\r\n if (this.isActive) {\r\n const data = this.computedData.map((d) => d.items).reduce((a, b) => ([...a, ...b]), []);\r\n if (this.$slots.header && this.selectableHeader) {\r\n data.unshift(undefined);\r\n }\r\n if (this.$slots.footer && this.selectableFooter) {\r\n data.push(undefined);\r\n }\r\n let index;\r\n if (this.headerHovered) {\r\n index = 0 + sum;\r\n }\r\n else if (this.footerHovered) {\r\n index = (data.length - 1) + sum;\r\n }\r\n else {\r\n index = data.indexOf(this.hovered) + sum;\r\n }\r\n index = index > data.length - 1 ? data.length - 1 : index;\r\n index = index < 0 ? 0 : index;\r\n this.footerHovered = false;\r\n this.headerHovered = false;\r\n this.setHovered(data[index] !== undefined ? data[index] : null);\r\n if (this.$slots.footer && this.selectableFooter && index === data.length - 1) {\r\n this.footerHovered = true;\r\n }\r\n if (this.$slots.header && this.selectableHeader && index === 0) {\r\n this.headerHovered = true;\r\n }\r\n const list = this.$refs.dropdown;\r\n let items = this.itemRefs || [];\r\n if (this.$slots.header && this.selectableHeader) {\r\n items = [this.$refs.header, ...items];\r\n }\r\n if (this.$slots.footer && this.selectableFooter) {\r\n items = [...items, this.$refs.footer];\r\n }\r\n const element = items[index];\r\n if (!element)\r\n return;\r\n const visMin = list.scrollTop;\r\n const visMax = list.scrollTop + list.clientHeight - element.clientHeight;\r\n if (element.offsetTop < visMin) {\r\n list.scrollTop = element.offsetTop;\r\n }\r\n else if (element.offsetTop >= visMax) {\r\n list.scrollTop = (element.offsetTop -\r\n list.clientHeight +\r\n element.clientHeight);\r\n }\r\n }\r\n else {\r\n this.isActive = true;\r\n }\r\n },\r\n /**\r\n * Focus listener.\r\n * If value is the same as selected, select all text.\r\n */\r\n focused(event) {\r\n if (this.getValue(this.selected) === this.newValue) {\r\n this.$el.querySelector('input').select();\r\n }\r\n if (this.openOnFocus) {\r\n this.isActive = true;\r\n if (this.keepFirst) {\r\n // If open on focus, update the hovered\r\n this.selectFirstOption(this.computedData);\r\n }\r\n }\r\n this.hasFocus = true;\r\n this.$emit('focus', event);\r\n },\r\n /**\r\n * Blur listener.\r\n */\r\n onBlur(event) {\r\n this.hasFocus = false;\r\n this.$emit('blur', event);\r\n },\r\n onInput() {\r\n const currentValue = this.getValue(this.selected);\r\n if (currentValue && currentValue === this.newValue)\r\n return;\r\n if (this.debounceTyping) {\r\n this.debouncedEmitTyping();\r\n }\r\n else {\r\n this.emitTyping();\r\n }\r\n },\r\n emitTyping() {\r\n this.$emit('typing', this.newValue);\r\n this.checkValidity();\r\n },\r\n rightIconClick(event) {\r\n if (this.clearable) {\r\n this.newValue = '';\r\n this.setSelected(null, false);\r\n if (this.openOnFocus) {\r\n this.$refs.input.$el.focus();\r\n }\r\n }\r\n else {\r\n this.$emit('icon-right-click', event);\r\n }\r\n },\r\n checkValidity() {\r\n if (this.useHtml5Validation) {\r\n this.$nextTick(() => {\r\n this.checkHtml5Validity();\r\n });\r\n }\r\n },\r\n setItemRef(el) {\r\n if (el) {\r\n this.itemRefs.push(el);\r\n }\r\n },\r\n updateAppendToBody() {\r\n const dropdownMenu = this.$refs.dropdown;\r\n const trigger = this.$refs.input.$el;\r\n if (dropdownMenu && trigger) {\r\n // update wrapper dropdown\r\n const root = this.$data.bodyEl;\r\n root.classList.forEach((item) => root.classList.remove(...item.split(' ')));\r\n this.rootClasses.forEach((item) => {\r\n if (item) {\r\n if (typeof item === 'object') {\r\n Object.keys(item).filter(key => key && item[key]).forEach(key => root.classList.add(key));\r\n }\r\n else {\r\n root.classList.add(...item.split(' '));\r\n }\r\n }\r\n });\r\n const rect = trigger.getBoundingClientRect();\r\n let top = rect.top + window.scrollY;\r\n const left = rect.left + window.scrollX;\r\n if (this.newDropdownPosition !== 'top') {\r\n top += trigger.clientHeight;\r\n }\r\n else {\r\n top -= dropdownMenu.clientHeight;\r\n }\r\n dropdownMenu.style.position = 'absolute';\r\n dropdownMenu.style.top = `${top}px`;\r\n dropdownMenu.style.left = `${left}px`;\r\n dropdownMenu.style.width = `${trigger.clientWidth}px`;\r\n dropdownMenu.style.maxWidth = `${trigger.clientWidth}px`;\r\n dropdownMenu.style.zIndex = '9999';\r\n }\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('click', this.clickedOutside);\r\n if (this.menuPosition === 'auto')\r\n window.addEventListener('resize', this.calcDropdownInViewportVertical);\r\n }\r\n },\r\n mounted() {\r\n const list = this.$refs.dropdown;\r\n if (this.checkInfiniteScroll && list) {\r\n list.addEventListener('scroll', this.checkIfReachedTheEndOfScroll);\r\n }\r\n if (this.appendToBody) {\r\n this.$data.bodyEl = createAbsoluteElement(list);\r\n this.updateAppendToBody();\r\n }\r\n },\r\n beforeUpdate() {\r\n this.width = this.$refs.input ? this.$refs.input.$el.clientWidth : undefined;\r\n this.itemRefs = [];\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('click', this.clickedOutside);\r\n if (this.menuPosition === 'auto')\r\n window.removeEventListener('resize', this.calcDropdownInViewportVertical);\r\n }\r\n if (this.checkInfiniteScroll && this.$refs.dropdown) {\r\n const list = this.$refs.dropdown;\r\n list.removeEventListener('scroll', this.checkIfReachedTheEndOfScroll);\r\n }\r\n if (this.appendToBody) {\r\n removeElement(this.$data.bodyEl);\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nconst _hoisted_2 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_input = resolveComponent(\"o-input\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(_component_o_input, mergeProps(_ctx.inputBind, {\n modelValue: _ctx.newValue,\n \"onUpdate:modelValue\": [_cache[1] || (_cache[1] = $event => _ctx.newValue = $event), _ctx.onInput],\n ref: \"input\",\n type: _ctx.type,\n size: _ctx.size,\n rounded: _ctx.rounded,\n icon: _ctx.icon,\n \"icon-right\": _ctx.newIconRight,\n \"icon-right-clickable\": _ctx.newIconRightClickable,\n \"icon-pack\": _ctx.iconPack,\n maxlength: _ctx.maxlength,\n autocomplete: _ctx.newAutocomplete,\n \"use-html5-validation\": false,\n \"aria-autocomplete\": _ctx.ariaAutocomplete,\n expanded: _ctx.expanded,\n onFocus: _ctx.focused,\n onBlur: _ctx.onBlur,\n onKeydown: [_ctx.keydown, _cache[2] || (_cache[2] = withKeys(withModifiers($event => _ctx.keyArrows('up'), [\"prevent\"]), [\"up\"])), _cache[3] || (_cache[3] = withKeys(withModifiers($event => _ctx.keyArrows('down'), [\"prevent\"]), [\"down\"]))],\n \"onIcon-right-click\": _ctx.rightIconClick,\n \"onIcon-click\": _cache[4] || (_cache[4] = event => _ctx.$emit('icon-click', event))\n }), null, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"type\", \"size\", \"rounded\", \"icon\", \"icon-right\", \"icon-right-clickable\", \"icon-pack\", \"maxlength\", \"autocomplete\", \"aria-autocomplete\", \"expanded\", \"onUpdate:modelValue\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onIcon-right-click\"]), createVNode(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n class: _ctx.menuClasses,\n is: _ctx.menuTag,\n style: _ctx.menuStyle,\n ref: \"dropdown\"\n }, [_ctx.$slots.header ? (openBlock(), createBlock(\"div\", {\n key: 0,\n is: _ctx.itemTag,\n ref: \"header\",\n role: \"button\",\n tabindex: 0,\n onClick: _cache[5] || (_cache[5] = $event => _ctx.selectHeaderOrFoterByClick($event, 'header')),\n class: _ctx.itemHeaderClasses\n }, [renderSlot(_ctx.$slots, \"header\")], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.computedData, (element, groupindex) => {\n return openBlock(), createBlock(Fragment, null, [element.group ? (openBlock(), createBlock(\"div\", {\n is: _ctx.itemTag,\n key: groupindex + 'group',\n class: _ctx.itemGroupClasses\n }, [_ctx.$slots.group ? renderSlot(_ctx.$slots, \"group\", {\n key: 0,\n group: element.group,\n index: groupindex\n }) : (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(element.group), 1\n /* TEXT */\n ))], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(element.items, (option, index) => {\n return openBlock(), createBlock(\"div\", {\n key: groupindex + ':' + index,\n is: _ctx.itemTag,\n class: _ctx.itemOptionClasses(option),\n onClick: withModifiers($event => _ctx.setSelected(option, !_ctx.keepOpen, $event), [\"stop\"]),\n ref: _ctx.setItemRef\n }, [_ctx.$slots.default ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n option: option,\n index: index\n }) : (openBlock(), createBlock(\"span\", _hoisted_2, toDisplayString(_ctx.getValue(option)), 1\n /* TEXT */\n ))], 10\n /* CLASS, PROPS */\n , [\"is\", \"onClick\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 64\n /* STABLE_FRAGMENT */\n );\n }), 256\n /* UNKEYED_FRAGMENT */\n )), _ctx.isEmpty && _ctx.$slots.empty ? (openBlock(), createBlock(\"div\", {\n key: 1,\n is: _ctx.itemTag,\n class: _ctx.itemEmptyClasses\n }, [renderSlot(_ctx.$slots, \"empty\")], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true), _ctx.$slots.footer ? (openBlock(), createBlock(\"div\", {\n key: 2,\n is: _ctx.itemTag,\n ref: \"footer\",\n role: \"button\",\n tabindex: 0,\n onClick: _cache[6] || (_cache[6] = $event => _ctx.selectHeaderOrFoterByClick($event, 'footer')),\n class: _ctx.itemFooterClasses\n }, [renderSlot(_ctx.$slots, \"footer\")], 10\n /* CLASS, PROPS */\n , [\"is\"])) : createCommentVNode(\"v-if\", true)], 14\n /* CLASS, STYLE, PROPS */\n , [\"is\"]), [[vShow, _ctx.isActive && (!_ctx.isEmpty || _ctx.$slots.empty || _ctx.$slots.header || _ctx.$slots.footer)]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/autocomplete/Autocomplete.vue\";\n\nexport { script as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport { s as script } from './Autocomplete-a23ad844.mjs';\nexport { s as OAutocomplete } from './Autocomplete-a23ad844.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, resolveComponent, openBlock, createBlock, resolveDynamicComponent, mergeProps, withCtx, createVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\n\n/**\r\n * The classic button, in different colors, sizes, and states\r\n * @displayName Button\r\n * @style _button.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OButton',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n configField: 'button',\r\n mixins: [BaseComponentMixin],\r\n inheritAttrs: false,\r\n props: {\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Size of button, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Button label, optional when default slot\r\n */\r\n label: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /**\r\n * Icon name to show on the left\r\n */\r\n iconLeft: String,\r\n /**\r\n * Icon name to show on the right\r\n */\r\n iconRight: String,\r\n /**\r\n * Rounded style\r\n */\r\n rounded: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'button.rounded', false); }\r\n },\r\n /**\r\n * Outlined style\r\n */\r\n outlined: Boolean,\r\n /**\r\n * Button will be expanded (full-width)\r\n */\r\n expanded: Boolean,\r\n inverted: Boolean,\r\n /**\r\n * Button type, like native\r\n */\r\n nativeType: {\r\n type: String,\r\n default: 'button',\r\n validator: (value) => {\r\n return [\r\n 'button',\r\n 'submit',\r\n 'reset'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /**\r\n * Button tag name\r\n * @values button, a, input, router-link, nuxt-link (or other nuxt alias)\r\n */\r\n tag: {\r\n type: String,\r\n default: 'button'\r\n },\r\n /**\r\n * Button will be disabled\r\n */\r\n disabled: Boolean,\r\n /** @ignore */\r\n iconBoth: Boolean,\r\n elementsWrapperClass: [String, Function, Array],\r\n rootClass: [String, Function, Array],\r\n outlinedClass: [String, Function, Array],\r\n invertedClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n iconClass: [String, Function, Array],\r\n iconLeftClass: [String, Function, Array],\r\n iconRightClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-btn'),\r\n { [this.computedClass('sizeClass', 'o-btn--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-btn--', this.variant)]: this.variant },\r\n { [this.computedClass('outlinedClass', 'o-btn--outlined')]: this.outlined && !this.variant },\r\n { [this.computedClass('invertedClass', 'o-btn--inverted')]: this.inverted && !this.variant },\r\n { [this.computedClass('outlinedClass', 'o-btn--outlined-', this.variant)]: this.outlined && this.variant },\r\n { [this.computedClass('invertedClass', 'o-btn--inverted-', this.variant)]: this.inverted && this.variant },\r\n { [this.computedClass('expandedClass', 'o-btn--expanded')]: this.expanded },\r\n { [this.computedClass('roundedClass', 'o-btn--rounded')]: this.rounded },\r\n { [this.computedClass('disabledClass', 'o-btn--disabled')]: this.disabled },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-btn__label'),\r\n ];\r\n },\r\n iconClasses() {\r\n return [\r\n this.computedClass('iconClass', 'o-btn__icon'),\r\n ];\r\n },\r\n iconLeftClasses() {\r\n return [\r\n ...this.iconClasses,\r\n this.computedClass('iconLeftClass', 'o-btn__icon-left')\r\n ];\r\n },\r\n iconRightClasses() {\r\n return [\r\n ...this.iconClasses,\r\n this.computedClass('iconRightClass', 'o-btn__icon-right')\r\n ];\r\n },\r\n elementsWrapperClasses() {\r\n return [\r\n this.computedClass('elementsWrapperClass', 'o-btn__wrapper'),\r\n ];\r\n },\r\n computedTag() {\r\n if (typeof this.disabled !== 'undefined' && this.disabled !== false) {\r\n return 'button';\r\n }\r\n return this.tag;\r\n },\r\n computedNativeType() {\r\n if (this.tag === 'button' || this.tag === 'input') {\r\n return this.nativeType;\r\n }\r\n return null;\r\n },\r\n computedDisabled() {\r\n if (this.disabled)\r\n return true;\r\n return null;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.computedTag), mergeProps(_ctx.$attrs, {\n disabled: _ctx.computedDisabled,\n type: _ctx.computedNativeType,\n class: _ctx.rootClasses\n }), {\n default: withCtx(() => [createVNode(\"span\", {\n class: _ctx.elementsWrapperClasses\n }, [_ctx.iconLeft ? createVNode(_component_o_icon, {\n key: 0,\n pack: _ctx.iconPack,\n icon: _ctx.iconLeft,\n size: _ctx.size,\n both: _ctx.iconBoth,\n class: _ctx.iconLeftClasses\n }, null, 8\n /* PROPS */\n , [\"pack\", \"icon\", \"size\", \"both\", \"class\"]) : createCommentVNode(\"v-if\", true), _ctx.label || _ctx.$slots.default ? (openBlock(), createBlock(\"span\", {\n key: 1,\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\", {}, () => [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.iconRight ? createVNode(_component_o_icon, {\n key: 2,\n pack: _ctx.iconPack,\n icon: _ctx.iconRight,\n size: _ctx.size,\n both: _ctx.iconBoth,\n class: _ctx.iconRightClasses\n }, null, 8\n /* PROPS */\n , [\"pack\", \"icon\", \"size\", \"both\", \"class\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"disabled\", \"type\", \"class\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/button/Button.vue\";\n\nexport { script as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport { s as script } from './Button-c75f7992.mjs';\nexport { s as OButton } from './Button-c75f7992.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent } from 'vue';\nimport { hasFlag, defaultIfUndefined } from './helpers.mjs';\n\nconst items = 1;\r\nconst sorted = 3;\r\nconst Sorted = sorted;\r\nvar ProviderParentMixin = (itemName, flags = 0) => {\r\n const mixin = defineComponent({\r\n provide() {\r\n return {\r\n ['o' + itemName]: this\r\n };\r\n }\r\n });\r\n if (hasFlag(flags, items)) {\r\n mixin.data = function () {\r\n return {\r\n childItems: [],\r\n sequence: 1\r\n };\r\n };\r\n mixin.methods = {\r\n _registerItem(item) {\r\n item.index = this.childItems.length;\r\n this.childItems.push(item);\r\n if (this.$el) {\r\n this.$nextTick(() => {\r\n const ids = this.childItems.map(it => `[data-id=\"${itemName}-${it.newValue}\"]`).join(',');\r\n const sortedIds = Array.from(this.$el.querySelectorAll(ids)).map((el) => el.getAttribute('data-id').replace(`${itemName}-`, ''));\r\n this.childItems.forEach(it => it.index = sortedIds.indexOf(`${it.newValue}`));\r\n });\r\n }\r\n },\r\n _unregisterItem(item) {\r\n this.childItems = this.childItems.filter((i) => i !== item);\r\n },\r\n _nextSequence() {\r\n return this.sequence++;\r\n }\r\n };\r\n if (hasFlag(flags, sorted)) {\r\n mixin.computed = {\r\n /**\r\n * When items are added/removed sort them according to their position\r\n */\r\n sortedItems() {\r\n return this.childItems.slice().sort((i1, i2) => {\r\n return i1.index - i2.index;\r\n });\r\n }\r\n };\r\n }\r\n }\r\n return mixin;\r\n};\n\nconst sorted$1 = 1;\r\nconst optional = 2;\r\nconst Sorted$1 = sorted$1;\r\nvar InjectedChildMixin = (parentItemName, flags = 0) => {\r\n const mixin = defineComponent({\r\n inject: {\r\n parent: { from: 'o' + parentItemName }\r\n },\r\n created() {\r\n this.newValue = defaultIfUndefined(this.value, this.parent && this.parent._nextSequence());\r\n if (!this.parent) {\r\n if (!hasFlag(flags, optional)) {\r\n throw new Error('You should wrap ' + this.$options.name + ' in a ' + parentItemName);\r\n }\r\n }\r\n else {\r\n this.parent._registerItem(this);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (this.parent) {\r\n this.parent._unregisterItem(this);\r\n }\r\n }\r\n });\r\n if (hasFlag(flags, sorted$1)) {\r\n mixin.data = () => {\r\n return {\r\n index: null\r\n };\r\n };\r\n }\r\n return mixin;\r\n};\n\nexport { InjectedChildMixin as I, ProviderParentMixin as P, Sorted as S, Sorted$1 as a };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, renderSlot, Fragment, withDirectives, vShow, createCommentVNode, renderList } from 'vue';\nimport { getValueByPath, bound, mod, sign } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { P as ProviderParentMixin, S as Sorted, I as InjectedChildMixin, a as Sorted$1 } from './InjectedChildMixin-5282461d.mjs';\n\n/**\r\n * A Slideshow for cycling images in confined spaces\r\n * @displayName Carousel\r\n * @style _carousel.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OCarousel',\r\n components: {\r\n [script$2.name]: script$2\r\n },\r\n configField: 'carousel',\r\n mixins: [ProviderParentMixin('carousel', Sorted), BaseComponentMixin],\r\n emits: ['update:modelValue', 'scroll', 'click'],\r\n props: {\r\n modelValue: {\r\n type: Number,\r\n default: 0\r\n },\r\n interval: {\r\n type: Number,\r\n default: () => { return getValueByPath(getOptions(), 'carousel.interval', 3500); }\r\n },\r\n hasDrag: {\r\n type: Boolean,\r\n default: true\r\n },\r\n autoplay: {\r\n type: Boolean,\r\n default: false\r\n },\r\n pauseHover: {\r\n type: Boolean,\r\n default: false\r\n },\r\n repeat: {\r\n type: Boolean,\r\n default: false\r\n },\r\n indicator: {\r\n type: Boolean,\r\n default: true\r\n },\r\n indicatorInside: {\r\n type: Boolean,\r\n default: false\r\n },\r\n indicatorMode: {\r\n type: String,\r\n default: 'click'\r\n },\r\n indicatorPosition: {\r\n type: String,\r\n default: 'bottom'\r\n },\r\n indicatorStyle: {\r\n type: String,\r\n default: 'dots'\r\n },\r\n overlay: Boolean,\r\n itemsToShow: {\r\n type: Number,\r\n default: 1\r\n },\r\n itemsToList: {\r\n type: Number,\r\n default: 1\r\n },\r\n asIndicator: Boolean,\r\n arrow: {\r\n type: Boolean,\r\n default: true\r\n },\r\n arrowHover: {\r\n type: Boolean,\r\n default: true\r\n },\r\n iconPack: String,\r\n iconSize: String,\r\n iconPrev: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'carousel.iconPrev', 'chevron-left'); }\r\n },\r\n iconNext: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'carousel.iconNext', 'chevron-right'); }\r\n },\r\n breakpoints: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n sceneClass: [String, Function, Array],\r\n itemsClass: [String, Function, Array],\r\n itemsDraggingClass: [String, Function, Array],\r\n arrowIconClass: [String, Function, Array],\r\n arrowIconPrevClass: [String, Function, Array],\r\n arrowIconNextClass: [String, Function, Array],\r\n indicatorsClass: [String, Function, Array],\r\n indicatorsInsideClass: [String, Function, Array],\r\n indicatorsInsidePositionClass: [String, Function, Array],\r\n indicatorItemClass: [String, Function, Array],\r\n indicatorItemActiveClass: [String, Function, Array],\r\n indicatorItemStyleClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n activeIndex: this.modelValue,\r\n scrollIndex: this.modelValue,\r\n delta: 0,\r\n dragX: false,\r\n hold: 0,\r\n windowWidth: 0,\r\n touch: false,\r\n observer: null,\r\n refresh_: 0,\r\n itemsHovered: false,\r\n isPause: false,\r\n timer: null\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-car'),\r\n { [this.computedClass('overlayClass', 'o-car__overlay')]: this.overlay }\r\n ];\r\n },\r\n sceneClasses() {\r\n return [\r\n this.computedClass('sceneClass', 'o-car__scene')\r\n ];\r\n },\r\n itemsClasses() {\r\n return [\r\n this.computedClass('itemsClass', 'o-car__items'),\r\n { [this.computedClass('itemsDraggingClass', 'o-car__items--dragging')]: this.dragging },\r\n ];\r\n },\r\n arrowIconClasses() {\r\n return [\r\n this.computedClass('arrowIconClass', 'o-car__arrow__icon'),\r\n ];\r\n },\r\n arrowIconPrevClasses() {\r\n return [\r\n ...this.arrowIconClasses,\r\n this.computedClass('arrowIconPrevClass', 'o-car__arrow__icon-prev')\r\n ];\r\n },\r\n arrowIconNextClasses() {\r\n return [\r\n ...this.arrowIconClasses,\r\n this.computedClass('arrowIconNextClass', 'o-car__arrow__icon-next')\r\n ];\r\n },\r\n indicatorsClasses() {\r\n return [\r\n this.computedClass('indicatorsClass', 'o-car__indicators'),\r\n { [this.computedClass('indicatorsInsideClass', 'o-car__indicators--inside')]: this.indicatorInside },\r\n { [this.computedClass('indicatorsInsidePositionClass', 'o-car__indicators--inside--', this.indicatorPosition)]: this.indicatorInside && this.indicatorPosition }\r\n ];\r\n },\r\n indicatorClasses() {\r\n return [\r\n this.computedClass('indicatorClass', 'o-car__indicator')\r\n ];\r\n },\r\n dragging() {\r\n return this.dragX !== false;\r\n },\r\n itemStyle() {\r\n return `width: ${this.itemWidth}px;`;\r\n },\r\n translation() {\r\n return -bound(this.delta + (this.scrollIndex * this.itemWidth), 0, (this.childItems.length - this.settings.itemsToShow) * this.itemWidth);\r\n },\r\n total() {\r\n return this.childItems.length - this.settings.itemsToShow;\r\n },\r\n indicatorCount() {\r\n return Math.ceil(this.total / this.settings.itemsToList) + 1;\r\n },\r\n indicatorIndex() {\r\n return Math.ceil(this.scrollIndex / this.settings.itemsToList);\r\n },\r\n hasArrows() {\r\n return (this.settings.arrowHover && this.itemsHovered) || !this.settings.arrowHover;\r\n },\r\n hasPrev() {\r\n return (this.settings.repeat || this.scrollIndex > 0) && this.hasArrows;\r\n },\r\n hasNext() {\r\n return (this.settings.repeat || this.scrollIndex < this.total) && this.hasArrows;\r\n },\r\n breakpointKeys() {\r\n const keys = Object.keys(this.breakpoints).map(Number);\r\n return keys.sort((a, b) => b - a);\r\n },\r\n settings() {\r\n let breakpoint = this.breakpointKeys.filter((breakpoint) => {\r\n if (this.windowWidth >= breakpoint) {\r\n return true;\r\n }\r\n })[0];\r\n if (breakpoint) {\r\n return { ...this.$props, ...this.breakpoints[breakpoint] };\r\n }\r\n return this.$props;\r\n },\r\n itemWidth() {\r\n if (this.windowWidth) { // Ensure component is mounted\r\n /* eslint-disable-next-line */\r\n this.refresh_; // We force the computed property to refresh if this prop is changed\r\n const rect = this.$el.getBoundingClientRect();\r\n return rect.width / this.settings.itemsToShow;\r\n }\r\n return 0;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed set the new active item.\r\n */\r\n modelValue(value) {\r\n if (value <= this.childItems.length - 1) {\r\n this.activeIndex = value;\r\n this.switchTo(value * this.settings.itemsToList, true);\r\n }\r\n },\r\n /**\r\n * When autoplay is changed, start or pause timer accordingly\r\n */\r\n autoplay(status) {\r\n if (status) {\r\n this.startTimer();\r\n }\r\n else {\r\n this.pauseTimer();\r\n }\r\n },\r\n /**\r\n * Since the timer can get paused at the end, if repeat is changed we need to restart it\r\n */\r\n repeat(status) {\r\n if (status) {\r\n this.startTimer();\r\n }\r\n }\r\n },\r\n methods: {\r\n indicatorItemClasses(index) {\r\n return [\r\n this.computedClass('indicatorItemClass', 'o-car__indicator__item'),\r\n { [this.computedClass('indicatorItemActiveClass', 'o-car__indicator__item--active')]: this.indicatorIndex === index },\r\n { [this.computedClass('indicatorItemStyleClass', 'o-car__indicator__item--', this.indicatorStyle)]: this.indicatorStyle },\r\n ];\r\n },\r\n onMouseEnter() {\r\n this.itemsHovered = true;\r\n this.checkPause();\r\n },\r\n onMouseLeave() {\r\n this.itemsHovered = false;\r\n this.startTimer();\r\n },\r\n startTimer() {\r\n if (!this.autoplay || this.timer)\r\n return;\r\n this.isPause = false;\r\n this.timer = setInterval(() => {\r\n if (!this.repeat && this.activeIndex >= this.childItems.length - 1) {\r\n this.pauseTimer();\r\n }\r\n else {\r\n this.next();\r\n }\r\n }, this.interval);\r\n },\r\n pauseTimer() {\r\n this.isPause = true;\r\n if (this.timer) {\r\n clearInterval(this.timer);\r\n this.timer = null;\r\n }\r\n },\r\n restartTimer() {\r\n this.pauseTimer();\r\n this.startTimer();\r\n },\r\n checkPause() {\r\n if (this.pauseHover && this.autoplay) {\r\n this.pauseTimer();\r\n }\r\n },\r\n modeChange(trigger, value) {\r\n if (this.indicatorMode === trigger) {\r\n return this.switchTo(value * this.settings.itemsToList);\r\n }\r\n },\r\n resized() {\r\n this.windowWidth = window.innerWidth;\r\n },\r\n switchTo(newIndex, onlyMove = this.asIndicator) {\r\n if (this.settings.repeat) {\r\n newIndex = mod(newIndex, this.total + 1);\r\n }\r\n newIndex = bound(newIndex, 0, this.total);\r\n this.scrollIndex = newIndex;\r\n this.$emit('scroll', this.indicatorIndex);\r\n if (!onlyMove) {\r\n this.activeIndex = Math.ceil(newIndex / this.settings.itemsToList);\r\n if (this.modelValue !== this.activeIndex) {\r\n this.$emit('update:modelValue', this.activeIndex);\r\n }\r\n }\r\n },\r\n next() {\r\n this.switchTo(this.scrollIndex + this.settings.itemsToList);\r\n },\r\n prev() {\r\n this.switchTo(this.scrollIndex - this.settings.itemsToList);\r\n },\r\n // handle drag event\r\n dragStart(event) {\r\n if (this.dragging || !this.settings.hasDrag || (event.button !== 0 && event.type !== 'touchstart'))\r\n return;\r\n this.hold = Date.now();\r\n this.touch = !!event.touches;\r\n this.dragX = this.touch ? event.touches[0].clientX : event.clientX;\r\n if (this.touch) {\r\n this.pauseTimer();\r\n }\r\n window.addEventListener(this.touch ? 'touchmove' : 'mousemove', this.dragMove);\r\n window.addEventListener(this.touch ? 'touchend' : 'mouseup', this.dragEnd);\r\n },\r\n dragMove(event) {\r\n if (!this.dragging)\r\n return;\r\n const dragEndX = event.touches\r\n ? (event.changedTouches[0] || event.touches[0]).clientX : event.clientX;\r\n this.delta = this.dragX - dragEndX;\r\n if (!event.touches) {\r\n event.preventDefault();\r\n }\r\n },\r\n dragEnd(event) {\r\n if (!this.dragging && !this.hold)\r\n return;\r\n if (this.hold) {\r\n const signCheck = sign(this.delta);\r\n const results = Math.round(Math.abs(this.delta / this.itemWidth) + 0.15); // Hack\r\n this.switchTo(this.scrollIndex + signCheck * results);\r\n }\r\n this.delta = 0;\r\n this.dragX = false;\r\n if (event && event.touches) {\r\n this.startTimer();\r\n }\r\n window.removeEventListener(this.touch ? 'touchmove' : 'mousemove', this.dragMove);\r\n window.removeEventListener(this.touch ? 'touchend' : 'mouseup', this.dragEnd);\r\n },\r\n refresh() {\r\n this.$nextTick(() => {\r\n this.refresh_++;\r\n });\r\n }\r\n },\r\n mounted() {\r\n if (typeof window !== 'undefined') {\r\n if (window.ResizeObserver) {\r\n this.observer = new window.ResizeObserver(this.refresh);\r\n this.observer.observe(this.$el);\r\n }\r\n window.addEventListener('resize', this.resized);\r\n document.addEventListener('animationend', this.refresh);\r\n document.addEventListener('transitionend', this.refresh);\r\n document.addEventListener('transitionstart', this.refresh);\r\n this.resized();\r\n this.startTimer();\r\n }\r\n if (this.$attrs.config) {\r\n throw new Error('The config prop was removed, you need to use v-bind instead');\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n if (window.ResizeObserver) {\r\n this.observer.disconnect();\r\n }\r\n window.removeEventListener('resize', this.resized);\r\n document.removeEventListener('animationend', this.refresh);\r\n document.removeEventListener('transitionend', this.refresh);\r\n document.removeEventListener('transitionstart', this.refresh);\r\n this.dragEnd();\r\n this.pauseTimer();\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses,\n onMouseenter: _cache[3] || (_cache[3] = (...args) => _ctx.onMouseEnter(...args)),\n onMouseleave: _cache[4] || (_cache[4] = (...args) => _ctx.onMouseLeave(...args))\n }, [createVNode(\"div\", {\n class: _ctx.sceneClasses\n }, [createVNode(\"div\", {\n onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.dragStart(...args)),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => _ctx.dragStart(...args)),\n class: _ctx.itemsClasses,\n style: 'transform:translateX(' + _ctx.translation + 'px)'\n }, [renderSlot(_ctx.$slots, \"default\")], 38\n /* CLASS, STYLE, HYDRATE_EVENTS */\n ), renderSlot(_ctx.$slots, \"arrow\", {\n hasPrev: _ctx.hasPrev,\n prev: _ctx.prev,\n hasNext: _ctx.hasNext,\n next: _ctx.next\n }, () => [_ctx.arrow ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [withDirectives(createVNode(_component_o_icon, {\n class: _ctx.arrowIconPrevClasses,\n onClick: _ctx.prev,\n pack: _ctx.iconPack,\n icon: _ctx.iconPrev,\n size: _ctx.iconSize,\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"class\", \"onClick\", \"pack\", \"icon\", \"size\"]), [[vShow, _ctx.hasPrev]]), withDirectives(createVNode(_component_o_icon, {\n class: _ctx.arrowIconNextClasses,\n onClick: _ctx.next,\n pack: _ctx.iconPack,\n icon: _ctx.iconNext,\n size: _ctx.iconSize,\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"class\", \"onClick\", \"pack\", \"icon\", \"size\"]), [[vShow, _ctx.hasNext]])], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)])], 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"indicators\", {\n active: _ctx.activeIndex,\n switchTo: _ctx.switchTo,\n indicatorIndex: _ctx.indicatorIndex\n }, () => [_ctx.childItems.length ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [_ctx.indicator && !_ctx.asIndicator ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.indicatorsClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.indicatorCount, (_, index) => {\n return openBlock(), createBlock(\"a\", {\n class: _ctx.indicatorClasses,\n onMouseover: $event => _ctx.modeChange('hover', index),\n onClick: $event => _ctx.modeChange('click', index),\n key: index\n }, [renderSlot(_ctx.$slots, \"indicator\", {\n i: index\n }, () => [createVNode(\"span\", {\n class: _ctx.indicatorItemClasses(index)\n }, null, 2\n /* CLASS */\n )])], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"onMouseover\", \"onClick\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)]), _ctx.overlay ? renderSlot(_ctx.$slots, \"overlay\", {\n key: 0\n }) : createCommentVNode(\"v-if\", true)], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/carousel/Carousel.vue\";\n\n/**\r\n * @displayName Carousel Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OCarouselItem',\r\n configField: 'carousel',\r\n mixins: [InjectedChildMixin('carousel', Sorted$1), BaseComponentMixin],\r\n props: {\r\n itemClass: [String, Function, Array],\r\n itemActiveClass: [String, Function, Array]\r\n },\r\n computed: {\r\n itemClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-car__item'),\r\n { [this.computedClass('itemActiveClass', 'o-car__item--active')]: this.isActive }\r\n ];\r\n },\r\n itemStyle() {\r\n return `width: ${this.parent.itemWidth}px;`;\r\n },\r\n isActive() {\r\n return this.parent.activeIndex === this.index;\r\n }\r\n },\r\n methods: {\r\n onClick(event) {\r\n if (this.isActive) {\r\n this.parent.$emit('click', event);\r\n }\r\n if (this.parent.asIndicator) {\r\n this.parent.activeIndex = this.index;\r\n this.parent.$emit('update:modelValue', this.index);\r\n }\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.itemClasses,\n onClick: _cache[1] || (_cache[1] = (...args) => _ctx.onClick(...args)),\n style: _ctx.itemStyle\n }, [renderSlot(_ctx.$slots, \"default\")], 6\n /* CLASS, STYLE */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/carousel/CarouselItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script as OCarousel, script$1 as OCarouselItem };\n","import { defineComponent } from 'vue';\n\nvar CheckRadioMixin = defineComponent({\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [String, Number, Boolean, Array],\r\n /**\r\n * Same as native value\r\n */\r\n nativeValue: [String, Number, Boolean, Array],\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Same as native disabled\r\n */\r\n disabled: Boolean,\r\n required: Boolean,\r\n /**\r\n * Same as native name\r\n */\r\n name: String,\r\n /**\r\n * Size of the control, optional\r\n * @values small, medium, large\r\n */\r\n size: String\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue\r\n };\r\n },\r\n computed: {\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n this.newValue = value;\r\n this.$emit('update:modelValue', this.newValue);\r\n }\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model change, set internal value.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n }\r\n },\r\n methods: {\r\n focus() {\r\n // MacOS FireFox and Safari do not focus when clicked\r\n this.$refs.input.focus();\r\n }\r\n }\r\n});\n\nexport { CheckRadioMixin as C };\n","import { defineComponent, openBlock, createBlock, withModifiers, withKeys, withDirectives, createVNode, mergeProps, vModelCheckbox, renderSlot } from 'vue';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { C as CheckRadioMixin } from './CheckRadioMixin-f5b57344.mjs';\n\n/**\r\n * Select a single or grouped options\r\n * @displayName Checkbox\r\n * @style _checkbox.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OCheckbox',\r\n mixins: [BaseComponentMixin, CheckRadioMixin],\r\n configField: 'checkbox',\r\n emits: [\r\n 'input'\r\n ],\r\n props: {\r\n /**\r\n * Same as native indeterminate\r\n */\r\n indeterminate: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Overrides the returned value when it's checked\r\n */\r\n trueValue: {\r\n type: [String, Number, Boolean],\r\n default: true\r\n },\r\n /**\r\n * Overrides the returned value when it's not checked\r\n */\r\n falseValue: {\r\n type: [String, Number, Boolean],\r\n default: false\r\n },\r\n /** Accessibility label to establish relationship between the checkbox and control label */\r\n ariaLabelledby: String,\r\n /* Same as native autocomplete */\r\n autocomplete: String,\r\n rootClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n checkClass: [String, Function, Array],\r\n checkCheckedClass: [String, Function, Array],\r\n checkIndeterminateClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n watch: {\r\n indeterminate: {\r\n handler(val) {\r\n this.isIndeterminate = val;\r\n },\r\n immediate: true,\r\n },\r\n },\r\n computed: {\r\n isChecked() {\r\n return this.computedValue === this.trueValue\r\n || Array.isArray(this.computedValue) && this.computedValue.indexOf(this.nativeValue) !== -1;\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-chk'),\r\n { [this.computedClass('checkedClass', 'o-chk--checked')]: this.isChecked },\r\n { [this.computedClass('sizeClass', 'o-chk--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-chk--disabled')]: this.disabled },\r\n { [this.computedClass('variantClass', 'o-chk--', this.variant)]: this.variant }\r\n ];\r\n },\r\n checkClasses() {\r\n return [\r\n this.computedClass('checkClass', 'o-chk__check'),\r\n { [this.computedClass('checkCheckedClass', 'o-chk__check--checked')]: this.isChecked },\r\n { [this.computedClass('checkIndeterminateClass', 'o-chk__check--indeterminate')]: this.isIndeterminate },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-chk__label')\r\n ];\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses,\n ref: \"label\",\n onClick: _cache[3] || (_cache[3] = withModifiers((...args) => _ctx.focus(...args), [\"stop\"])),\n onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.$refs.label.click(), [\"prevent\"]), [\"enter\"]))\n }, [withDirectives(createVNode(\"input\", mergeProps({\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n type: \"checkbox\"\n }, _ctx.$attrs, {\n ref: \"input\",\n onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, [\"stop\"])),\n class: _ctx.checkClasses,\n disabled: _ctx.disabled,\n required: _ctx.required,\n name: _ctx.name,\n autocomplete: _ctx.autocomplete,\n value: _ctx.nativeValue,\n indeterminate: _ctx.indeterminate,\n \"true-value\": _ctx.trueValue,\n \"false-value\": _ctx.falseValue,\n \"aria-labelledby\": _ctx.ariaLabelledby\n }), null, 16\n /* FULL_PROPS */\n , [\"disabled\", \"required\", \"name\", \"autocomplete\", \"value\", \"indeterminate\", \"true-value\", \"false-value\", \"aria-labelledby\"]), [[vModelCheckbox, _ctx.computedValue]]), createVNode(\"span\", {\n id: _ctx.ariaLabelledby,\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 10\n /* CLASS, PROPS */\n , [\"id\"])], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/checkbox/Checkbox.vue\";\n\nexport { script as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './CheckRadioMixin-f5b57344.mjs';\nimport { s as script } from './Checkbox-8670724c.mjs';\nexport { s as OCheckbox } from './Checkbox-8670724c.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, h, Transition, withDirectives, vShow } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * An easy way to toggle what you want\r\n * @displayName Collapse\r\n * @style _collapse.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OCollapse',\r\n mixins: [BaseComponentMixin],\r\n configField: 'collapse',\r\n emits: ['update:open', 'open', 'close'],\r\n props: {\r\n /**\r\n * Whether collapse is open or not, v-model:open to make it two-way binding\r\n */\r\n open: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Custom animation (transition name)\r\n */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'collapse.animation', 'fade');\r\n }\r\n },\r\n ariaId: {\r\n type: String,\r\n default: ''\r\n },\r\n /**\r\n * Trigger position\r\n * @values top, bottom\r\n */\r\n position: {\r\n type: String,\r\n default: 'top',\r\n validator: (value) => {\r\n return [\r\n 'top',\r\n 'bottom'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n rootClass: [String, Function, Array],\r\n triggerClass: [String, Function, Array],\r\n contentClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isOpen: this.open\r\n };\r\n },\r\n watch: {\r\n open(value) {\r\n this.isOpen = value;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Toggle and emit events\r\n */\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n this.$emit('update:open', this.isOpen);\r\n this.$emit(this.isOpen ? 'open' : 'close');\r\n }\r\n },\r\n render() {\r\n const trigger = h('div', {\r\n class: this.computedClass('triggerClass', 'o-clps__trigger'),\r\n onClick: this.toggle\r\n }, this.$slots.trigger({ open: this.isOpen }));\r\n const content = h(Transition, { name: this.animation }, () => withDirectives(h('div', {\r\n class: this.computedClass('contentClass', 'o-clps__content'),\r\n 'id': this.ariaId\r\n }, this.$slots.default()), [[vShow, this.isOpen]]));\r\n return h('div', { class: this.computedClass('rootClass', 'o-clps') }, (this.position === 'top' ? [trigger, content] : [content, trigger]));\r\n }\r\n});\n\nscript.__file = \"src/components/collapse/Collapse.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OCollapse };\n","import { defineComponent } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\n\nvar MatchMediaMixin = defineComponent({\r\n props: {\r\n /**\r\n * Mobile breakpoint as max-width value\r\n */\r\n mobileBreakpoint: String\r\n },\r\n data() {\r\n return {\r\n matchMediaRef: undefined,\r\n isMatchMedia: undefined\r\n };\r\n },\r\n methods: {\r\n onMatchMedia(event) {\r\n this.isMatchMedia = event.matches;\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n let width = this.mobileBreakpoint;\r\n if (!width) {\r\n const config = getOptions();\r\n const defaultWidth = getValueByPath(config, `mobileBreakpoint`, '1023px');\r\n width = getValueByPath(config, `${this.$options.configField}.mobileBreakpoint`, defaultWidth);\r\n }\r\n this.matchMediaRef = window.matchMedia(`(max-width: ${width})`);\r\n if (this.matchMediaRef) {\r\n this.isMatchMedia = this.matchMediaRef.matches;\r\n this.matchMediaRef.addListener(this.onMatchMedia, false);\r\n }\r\n else {\r\n this.isMatchMedia = false;\r\n }\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n if (this.matchMediaRef) {\r\n this.matchMediaRef.removeListener(this.checkMatchMedia);\r\n }\r\n }\r\n }\r\n});\n\nexport { MatchMediaMixin as M };\n","const findFocusable = (element, programmatic = false) => {\r\n if (!element) {\r\n return null;\r\n }\r\n if (programmatic) {\r\n return element.querySelectorAll(`*[tabindex=\"-1\"]`);\r\n }\r\n return element.querySelectorAll(`a[href]:not([tabindex=\"-1\"]),\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n *[tabindex]:not([tabindex=\"-1\"]),\n *[contenteditable]`);\r\n};\r\nlet onKeyDown;\r\nconst bind = (el, { value = true }) => {\r\n if (value) {\r\n let focusable = findFocusable(el);\r\n let focusableProg = findFocusable(el, true);\r\n if (focusable && focusable.length > 0) {\r\n onKeyDown = (event) => {\r\n // Need to get focusable each time since it can change between key events\r\n // ex. changing month in a datepicker\r\n focusable = findFocusable(el);\r\n focusableProg = findFocusable(el, true);\r\n const firstFocusable = focusable[0];\r\n const lastFocusable = focusable[focusable.length - 1];\r\n if (event.target === firstFocusable && event.shiftKey && event.key === 'Tab') {\r\n event.preventDefault();\r\n lastFocusable.focus();\r\n }\r\n else if ((event.target === lastFocusable || Array.from(focusableProg).indexOf(event.target) >= 0) && !event.shiftKey && event.key === 'Tab') {\r\n event.preventDefault();\r\n firstFocusable.focus();\r\n }\r\n };\r\n el.addEventListener('keydown', onKeyDown);\r\n }\r\n }\r\n};\r\nconst unbind = (el) => {\r\n el.removeEventListener('keydown', onKeyDown);\r\n};\r\nconst directive = {\r\n beforeMount: bind,\r\n beforeUnmount: unbind,\r\n};\n\nexport { directive as d };\n","import { defineComponent, resolveDirective, openBlock, createBlock, withModifiers, renderSlot, createCommentVNode, createVNode, Transition, withCtx, withDirectives, vShow, resolveDynamicComponent } from 'vue';\nimport { getValueByPath, toCssDimension, createAbsoluteElement, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { d as directive } from './trapFocus-dc03669f.mjs';\n\n/**\r\n * Dropdowns are very versatile, can used as a quick menu or even like a select for discoverable content\r\n * @displayName Dropdown\r\n * @requires ./DropdownItem.vue\r\n * @style _dropdown.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'ODropdown',\r\n directives: {\r\n trapFocus: directive\r\n },\r\n configField: 'dropdown',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n provide() {\r\n return {\r\n $dropdown: this\r\n };\r\n },\r\n emits: ['update:modelValue', 'active-change', 'change'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: [String, Number, Boolean, Object, Array],\r\n default: null\r\n },\r\n /**\r\n * Dropdown disabled\r\n */\r\n disabled: Boolean,\r\n /**\r\n * Dropdown content (items) are shown inline, trigger is removed\r\n */\r\n inline: Boolean,\r\n /**\r\n * Dropdown content will be scrollable\r\n */\r\n scrollable: Boolean,\r\n /**\r\n * Max height of dropdown content\r\n */\r\n maxHeight: {\r\n type: [String, Number],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.maxHeight', 200);\r\n }\r\n },\r\n /**\r\n * Optional, position of the dropdown relative to the trigger\r\n * @values top-right, top-left, bottom-left\r\n */\r\n position: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n 'top-right',\r\n 'top-left',\r\n 'bottom-left',\r\n 'bottom-right'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /**\r\n * Dropdown content (items) are shown into a modal on mobile\r\n */\r\n mobileModal: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.mobileModal', true);\r\n }\r\n },\r\n /**\r\n * Role attribute to be passed to list container for better accessibility. Use menu only in situations where your dropdown is related to navigation menus\r\n * @values list, menu, dialog\r\n */\r\n ariaRole: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n 'menu',\r\n 'list',\r\n 'dialog'\r\n ].indexOf(value) > -1;\r\n },\r\n default: null\r\n },\r\n /**\r\n * Custom animation (transition name)\r\n */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.animation', 'fade');\r\n }\r\n },\r\n /**\r\n * Allows multiple selections\r\n */\r\n multiple: Boolean,\r\n /**\r\n * Trap focus inside the dropdown.\r\n */\r\n trapFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.trapFocus', true);\r\n }\r\n },\r\n /**\r\n * Close dropdown when content is clicked\r\n */\r\n closeOnClick: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Can close dropdown by pressing escape or by clicking outside\r\n * @values escape, outside\r\n */\r\n canClose: {\r\n type: [Array, Boolean],\r\n default: true\r\n },\r\n /**\r\n * Dropdown will be expanded (full-width)\r\n */\r\n expanded: Boolean,\r\n /**\r\n * Dropdown will be triggered by any events\r\n * @values click, hover, contextmenu, focus\r\n */\r\n triggers: {\r\n type: Array,\r\n default: () => ['click']\r\n },\r\n /**\r\n * Dropdown menu tag name\r\n */\r\n menuTag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.menuTag', 'div');\r\n }\r\n },\r\n /**\r\n * Set the tabindex attribute on the dropdown trigger div (-1 to prevent selection via tab key)\r\n */\r\n triggerTabindex: {\r\n type: Number,\r\n default: 0\r\n },\r\n /**\r\n * Append dropdown content to body\r\n */\r\n appendToBody: Boolean,\r\n /**\r\n * @ignore\r\n */\r\n appendToBodyCopyParent: Boolean,\r\n rootClass: [String, Function, Array],\r\n triggerClass: [String, Function, Array],\r\n inlineClass: [String, Function, Array],\r\n menuMobileOverlayClass: [String, Function, Array],\r\n menuClass: [String, Function, Array],\r\n menuPositionClass: [String, Function, Array],\r\n menuActiveClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n selected: this.modelValue,\r\n isActive: false,\r\n isHoverable: false,\r\n bodyEl: undefined // Used to append to body\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-drop'),\r\n { [this.computedClass('disabledClass', 'o-drop--disabled')]: this.disabled },\r\n { [this.computedClass('expandedClass', 'o-drop--expanded')]: this.expanded },\r\n { [this.computedClass('inlineClass', 'o-drop--inline')]: this.inline },\r\n { [this.computedClass('mobileClass', 'o-drop--mobile')]: this.isMobileModal && this.isMatchMedia && !this.hoverable },\r\n ];\r\n },\r\n triggerClasses() {\r\n return [\r\n this.computedClass('triggerClass', 'o-drop__trigger')\r\n ];\r\n },\r\n menuMobileOverlayClasses() {\r\n return [\r\n this.computedClass('menuMobileOverlayClass', 'o-drop__overlay')\r\n ];\r\n },\r\n menuClasses() {\r\n return [\r\n this.computedClass('menuClass', 'o-drop__menu'),\r\n { [this.computedClass('menuPositionClass', 'o-drop__menu--', this.position)]: this.position },\r\n { [this.computedClass('menuActiveClass', 'o-drop__menu--active')]: (this.isActive || this.inline) }\r\n ];\r\n },\r\n isMobileModal() {\r\n return this.mobileModal && !this.inline;\r\n },\r\n cancelOptions() {\r\n return typeof this.canClose === 'boolean'\r\n ? this.canClose\r\n ? ['escape', 'outside']\r\n : []\r\n : this.canClose;\r\n },\r\n menuStyle() {\r\n return {\r\n maxHeight: this.scrollable ? toCssDimension(this.maxHeight) : null,\r\n overflow: this.scrollable ? 'auto' : null\r\n };\r\n },\r\n hoverable() {\r\n return this.triggers.indexOf('hover') >= 0;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed set the new selected item.\r\n */\r\n modelValue(value) {\r\n this.selected = value;\r\n },\r\n /**\r\n * Emit event when isActive value is changed.\r\n */\r\n isActive(value) {\r\n this.$emit('active-change', value);\r\n if (this.appendToBody) {\r\n this.$nextTick(() => {\r\n this.updateAppendToBody();\r\n });\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Click listener from DropdownItem.\r\n * 1. Set new selected item.\r\n * 2. Emit input event to update the user v-model.\r\n * 3. Close the dropdown.\r\n */\r\n selectItem(value) {\r\n if (this.multiple) {\r\n if (this.selected) {\r\n if (this.selected.indexOf(value) === -1) {\r\n // Add value\r\n this.selected = [...this.selected, value];\r\n }\r\n else {\r\n // Remove value\r\n this.selected = this.selected.filter((val) => val !== value);\r\n }\r\n }\r\n else {\r\n this.selected = [value];\r\n }\r\n this.$emit('change', this.selected);\r\n }\r\n else {\r\n if (this.selected !== value) {\r\n this.selected = value;\r\n this.$emit('change', this.selected);\r\n }\r\n }\r\n this.$emit('update:modelValue', this.selected);\r\n if (!this.multiple) {\r\n this.isActive = !this.closeOnClick;\r\n if (this.hoverable && this.closeOnClick) {\r\n this.isHoverable = false;\r\n }\r\n }\r\n },\r\n /**\r\n * White-listed items to not close when clicked.\r\n */\r\n isInWhiteList(el) {\r\n if (el === this.$refs.dropdownMenu)\r\n return true;\r\n if (el === this.$refs.trigger)\r\n return true;\r\n // All chidren from dropdown\r\n if (this.$refs.dropdownMenu !== undefined) {\r\n const children = this.$refs.dropdownMenu.querySelectorAll('*');\r\n for (const child of children) {\r\n if (el === child) {\r\n return true;\r\n }\r\n }\r\n }\r\n // All children from trigger\r\n if (this.$refs.trigger !== undefined) {\r\n const children = this.$refs.trigger.querySelectorAll('*');\r\n for (const child of children) {\r\n if (el === child) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n },\r\n /**\r\n * Close dropdown if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (this.cancelOptions.indexOf('outside') < 0)\r\n return;\r\n if (this.inline)\r\n return;\r\n if (!this.isInWhiteList(event.target))\r\n this.isActive = false;\r\n },\r\n /**\r\n * Keypress event that is bound to the document\r\n */\r\n keyPress({ key }) {\r\n if (this.isActive && (key === 'Escape' || key === 'Esc')) {\r\n if (this.cancelOptions.indexOf('escape') < 0)\r\n return;\r\n this.isActive = false;\r\n }\r\n },\r\n onClick() {\r\n if (this.triggers.indexOf('click') < 0)\r\n return;\r\n this.toggle();\r\n },\r\n onContextMenu() {\r\n if (this.triggers.indexOf('contextmenu') < 0)\r\n return;\r\n this.toggle();\r\n },\r\n onHover() {\r\n if (this.triggers.indexOf('hover') < 0)\r\n return;\r\n this.isHoverable = true;\r\n },\r\n onFocus() {\r\n if (this.triggers.indexOf('focus') < 0)\r\n return;\r\n this.toggle();\r\n },\r\n /**\r\n * Toggle dropdown if it's not disabled.\r\n */\r\n toggle() {\r\n if (this.disabled)\r\n return;\r\n if (!this.isActive) {\r\n // if not active, toggle after clickOutside event\r\n // this fixes toggling programmatic\r\n this.$nextTick(() => {\r\n const value = !this.isActive;\r\n this.isActive = value;\r\n // Vue 2.6.x ???\r\n setTimeout(() => (this.isActive = value));\r\n });\r\n }\r\n else {\r\n this.isActive = !this.isActive;\r\n }\r\n },\r\n updateAppendToBody() {\r\n const dropdownMenu = this.$refs.dropdownMenu;\r\n const trigger = this.$refs.trigger;\r\n if (dropdownMenu && trigger) {\r\n // update wrapper dropdown\r\n const dropdown = this.$data.bodyEl.children[0];\r\n dropdown.classList.forEach((item) => dropdown.classList.remove(...item.split(' ')));\r\n this.rootClasses.forEach((item) => {\r\n if (item) {\r\n if (typeof item === 'object') {\r\n Object.keys(item).filter(key => key && item[key]).forEach(key => dropdown.classList.add(key));\r\n }\r\n else {\r\n dropdown.classList.add(...item.split(' '));\r\n }\r\n }\r\n });\r\n if (this.appendToBodyCopyParent) {\r\n const parentNode = this.$refs.dropdown.parentNode;\r\n const parent = this.$data.bodyEl;\r\n parent.classList.forEach((item) => parent.classList.remove(...item.split(' ')));\r\n parentNode.classList.forEach((item) => parent.classList.add(...item.split(' ')));\r\n }\r\n const rect = trigger.getBoundingClientRect();\r\n let top = rect.top + window.scrollY;\r\n let left = rect.left + window.scrollX;\r\n if (!this.position || this.position.indexOf('bottom') >= 0) {\r\n top += trigger.clientHeight;\r\n }\r\n else {\r\n top -= dropdownMenu.clientHeight;\r\n }\r\n if (this.position && this.position.indexOf('left') >= 0) {\r\n left -= (dropdownMenu.clientWidth - trigger.clientWidth);\r\n }\r\n dropdownMenu.style.position = 'absolute';\r\n dropdownMenu.style.top = `${top}px`;\r\n dropdownMenu.style.left = `${left}px`;\r\n dropdownMenu.style.zIndex = '9999';\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.appendToBody) {\r\n this.$data.bodyEl = createAbsoluteElement(this.$refs.dropdownMenu);\r\n this.updateAppendToBody();\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('click', this.clickedOutside);\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('click', this.clickedOutside);\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n if (this.appendToBody) {\r\n removeElement(this.$data.bodyEl);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _directive_trap_focus = resolveDirective(\"trap-focus\");\n\n return openBlock(), createBlock(\"div\", {\n ref: \"dropdown\",\n class: _ctx.rootClasses,\n onMouseleave: _cache[5] || (_cache[5] = $event => _ctx.isHoverable = false)\n }, [!_ctx.inline ? (openBlock(), createBlock(\"div\", {\n key: 0,\n tabindex: _ctx.disabled ? null : _ctx.triggerTabindex,\n ref: \"trigger\",\n class: _ctx.triggerClasses,\n onClick: _cache[1] || (_cache[1] = (...args) => _ctx.onClick(...args)),\n onContextmenu: _cache[2] || (_cache[2] = withModifiers((...args) => _ctx.onContextMenu(...args), [\"prevent\"])),\n onMouseenter: _cache[3] || (_cache[3] = (...args) => _ctx.onHover(...args)),\n onFocusCapture: _cache[4] || (_cache[4] = (...args) => _ctx.onFocus(...args)),\n \"aria-haspopup\": \"true\"\n }, [renderSlot(_ctx.$slots, \"trigger\", {\n active: _ctx.isActive\n })], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"tabindex\"])) : createCommentVNode(\"v-if\", true), createVNode(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [_ctx.isMobileModal ? withDirectives((openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.menuMobileOverlayClasses,\n \"aria-hidden\": !_ctx.isActive\n }, null, 10\n /* CLASS, PROPS */\n , [\"aria-hidden\"])), [[vShow, _ctx.isActive]]) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]), createVNode(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n ref: \"dropdownMenu\",\n is: _ctx.menuTag,\n class: _ctx.menuClasses,\n \"aria-hidden\": !_ctx.isActive,\n role: _ctx.ariaRole,\n \"aria-modal\": !_ctx.inline,\n style: _ctx.menuStyle\n }, [renderSlot(_ctx.$slots, \"default\")], 14\n /* CLASS, STYLE, PROPS */\n , [\"is\", \"aria-hidden\", \"role\", \"aria-modal\"]), [[vShow, !_ctx.disabled && (_ctx.isActive || _ctx.isHoverable) || _ctx.inline], [_directive_trap_focus, _ctx.trapFocus]])]),\n _: 3\n }, 8\n /* PROPS */\n , [\"name\"])], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/dropdown/Dropdown.vue\";\n\n/**\r\n * @displayName Dropdown Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'ODropdownItem',\r\n mixins: [BaseComponentMixin],\r\n configField: 'dropdown',\r\n inject: [\"$dropdown\"],\r\n emits: ['click'],\r\n props: {\r\n /**\r\n * The value that will be returned on events and v-model\r\n */\r\n value: {\r\n type: [String, Number, Boolean, Object, Array]\r\n },\r\n /**\r\n * Item is disabled\r\n */\r\n disabled: Boolean,\r\n /**\r\n * Item is clickable and emit an event\r\n */\r\n clickable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Dropdown item tag name\r\n */\r\n tag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'dropdown.itemTag', 'div');\r\n }\r\n },\r\n tabindex: {\r\n type: [Number, String],\r\n default: 0\r\n },\r\n ariaRole: {\r\n type: String,\r\n default: ''\r\n },\r\n itemClass: [String, Function, Array],\r\n itemActiveClass: [String, Function, Array],\r\n itemDisabledClass: [String, Function, Array],\r\n },\r\n computed: {\r\n parent() {\r\n return this.$dropdown;\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-drop__item'),\r\n { [this.computedClass('itemDisabledClass', 'o-drop__item--disabled')]: (this.parent.disabled || this.disabled) },\r\n { [this.computedClass('itemActiveClass', 'o-drop__item--active')]: this.isActive }\r\n ];\r\n },\r\n ariaRoleItem() {\r\n return this.ariaRole === 'menuitem' || this.ariaRole === 'listitem' ? this.ariaRole : null;\r\n },\r\n isClickable() {\r\n return !this.parent.disabled && !this.disabled && this.clickable;\r\n },\r\n isActive() {\r\n if (this.parent.selected === null)\r\n return false;\r\n if (this.parent.multiple)\r\n return this.parent.selected.indexOf(this.value) >= 0;\r\n return this.value === this.parent.selected;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Click listener, select the item.\r\n */\r\n selectItem() {\r\n if (!this.isClickable)\r\n return;\r\n this.parent.selectItem(this.value);\r\n this.$emit('click');\r\n }\r\n },\r\n created() {\r\n if (!this.parent) {\r\n throw new Error('You should wrap oDropdownItem on a oDropdown');\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n class: _ctx.rootClasses,\n onClick: _ctx.selectItem,\n role: _ctx.ariaRoleItem,\n tabindex: _ctx.tabindex\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 8\n /* PROPS */\n , [\"class\", \"onClick\", \"role\", \"tabindex\"]);\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/dropdown/DropdownItem.vue\";\n\nexport { script$1 as a, script as s };\n","import { defineComponent, h, Comment, Text, resolveComponent, openBlock, createBlock, renderSlot, Fragment, createTextVNode, toDisplayString, createCommentVNode, createVNode, withCtx } from 'vue';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\n\nvar script = defineComponent({\r\n name: 'OFieldBody',\r\n inject: ['$field'],\r\n configField: 'field',\r\n computed: {\r\n parent() {\r\n return this.$field;\r\n }\r\n },\r\n render() {\r\n let first = true;\r\n const slot = this.$slots.default();\r\n const children = slot.length === 1 && Array.isArray(slot[0].children) ? slot[0].children : slot;\r\n return h('div', { class: this.parent.bodyHorizontalClasses }, children.map((element) => {\r\n let message;\r\n if (element.type === Comment || element.type === Text) {\r\n return element;\r\n }\r\n if (first) {\r\n message = this.parent.newMessage;\r\n first = false;\r\n }\r\n // @ts-ignore (Why props null ??)\r\n return h(resolveComponent('OField'), { variant: this.parent.newVariant, message }, () => [element]);\r\n }));\r\n }\r\n});\n\nscript.__file = \"src/components/field/FieldBody.vue\";\n\n/**\r\n * Fields are used to add functionality to controls and to attach/group components and elements together\r\n * @displayName Field\r\n * @style _field.scss\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OField',\r\n components: {\r\n [script.name]: script\r\n },\r\n configField: 'field',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n provide() {\r\n return {\r\n $field: this\r\n };\r\n },\r\n inject: {\r\n $field: { from: '$field', default: false }\r\n },\r\n props: {\r\n /**\r\n * \tColor of the field and help message, also adds a matching icon, optional. Used by Input, Select and Autocomplete\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Field label\r\n */\r\n label: String,\r\n /**\r\n * Same as native for set on the label\r\n */\r\n labelFor: String,\r\n /**\r\n * Help message text\r\n */\r\n message: String,\r\n /**\r\n * Direct child components/elements of Field will be grouped horizontally (see which ones at the top of the page)\r\n */\r\n grouped: Boolean,\r\n /**\r\n * Allow controls to fill up multiple lines, making it responsive\r\n */\r\n groupMultiline: Boolean,\r\n /**\r\n * Group label and control on the same line for horizontal forms\r\n */\r\n horizontal: Boolean,\r\n /**\r\n * Field automatically attach controls together\r\n */\r\n addons: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n labelSize: String,\r\n rootClass: [String, Function, Array],\r\n horizontalClass: [String, Function, Array],\r\n groupedClass: [String, Function, Array],\r\n groupMultilineClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n labelSizeClass: [String, Function, Array],\r\n labelHorizontalClass: [String, Function, Array],\r\n bodyClass: [String, Function, Array],\r\n bodyHorizontalClass: [String, Function, Array],\r\n addonsClass: [String, Function, Array],\r\n messageClass: [String, Function, Array],\r\n variantMessageClass: [String, Function, Array],\r\n variantLabelClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n focusedClass: [String, Function, Array],\r\n filledClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newVariant: this.variant,\r\n newMessage: this.message,\r\n isFocused: false,\r\n isFilled: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-field'),\r\n { [this.computedClass('horizontalClass', 'o-field--horizontal')]: this.horizontal },\r\n { [this.computedClass('mobileClass', 'o-field--mobile')]: this.isMatchMedia },\r\n { [this.computedClass('focusedClass', 'o-field--focused')]: this.isFocused },\r\n { [this.computedClass('filledClass', 'o-field--filled')]: this.isFilled }\r\n ];\r\n },\r\n messageClasses() {\r\n return [\r\n this.computedClass('messageClass', 'o-field__message'),\r\n { [this.computedClass('variantMessageClass', 'o-field__message-', this.newVariant)]: this.newVariant }\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-field__label'),\r\n { [this.computedClass('labelSizeClass', 'o-field__label-', this.labelSize)]: this.labelSize },\r\n { [this.computedClass('variantLabelClass', 'o-field__label-', this.newVariant)]: this.newVariant }\r\n ];\r\n },\r\n labelHorizontalClasses() {\r\n return [\r\n this.computedClass('labelHorizontalClass', 'o-field__horizontal-label')\r\n ];\r\n },\r\n bodyClasses() {\r\n return [\r\n this.computedClass('bodyClass', 'o-field__body')\r\n ];\r\n },\r\n bodyHorizontalClasses() {\r\n return [\r\n this.computedClass('bodyHorizontalClass', 'o-field__horizontal-body')\r\n ];\r\n },\r\n innerFieldClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-field'),\r\n { [this.computedClass('groupMultilineClass', 'o-field--grouped-multiline')]: this.groupMultiline },\r\n { [this.computedClass('groupedClass', 'o-field--grouped')]: this.grouped },\r\n { [this.computedClass('addonsClass', 'o-field--addons')]: !this.grouped && this.hasAddons() },\r\n ];\r\n },\r\n parent() {\r\n return this.$field;\r\n },\r\n hasLabelSlot() {\r\n return this.$slots.label;\r\n },\r\n hasMessageSlot() {\r\n return this.$slots.message;\r\n },\r\n hasLabel() {\r\n return this.label || this.hasLabelSlot;\r\n },\r\n hasMessage() {\r\n return ((!this.parent || !this.parent.hasInnerField) && this.newMessage) || this.hasMessageSlot;\r\n },\r\n hasInnerField() {\r\n return this.grouped || this.groupMultiline || this.hasAddons();\r\n }\r\n },\r\n watch: {\r\n /**\r\n * Set internal variant when prop change.\r\n */\r\n variant(value) {\r\n this.newVariant = value;\r\n },\r\n /**\r\n * Set internal message when prop change.\r\n */\r\n message(value) {\r\n this.newMessage = value;\r\n },\r\n /**\r\n * Set parent message if we use Field in Field.\r\n */\r\n newMessage(value) {\r\n if (this.parent && this.parent.hasInnerField) {\r\n if (!this.parent.variant) {\r\n this.parent.newVariant = this.newVariant;\r\n }\r\n if (!this.parent.message) {\r\n this.parent.newMessage = value;\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n hasAddons() {\r\n let renderedNode = 0;\r\n const slot = this.$slots.default();\r\n if (slot) {\r\n const children = slot.length === 1 && Array.isArray(slot[0].children) ? slot[0].children : slot;\r\n renderedNode = children.reduce((i, node) => node ? i + 1 : i, 0);\r\n }\r\n return renderedNode > 1 && this.addons && !this.horizontal;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_field_body = resolveComponent(\"o-field-body\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [_ctx.horizontal ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.labelHorizontalClasses\n }, [_ctx.hasLabel ? (openBlock(), createBlock(\"label\", {\n key: 0,\n for: _ctx.labelFor,\n class: _ctx.labelClasses\n }, [_ctx.hasLabelSlot ? renderSlot(_ctx.$slots, \"label\", {\n key: 0\n }) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 10\n /* CLASS, PROPS */\n , [\"for\"])) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [_ctx.hasLabel ? (openBlock(), createBlock(\"label\", {\n key: 0,\n for: _ctx.labelFor,\n class: _ctx.labelClasses\n }, [_ctx.hasLabelSlot ? renderSlot(_ctx.$slots, \"label\", {\n key: 0\n }) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 10\n /* CLASS, PROPS */\n , [\"for\"])) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n )), _ctx.horizontal ? createVNode(_component_o_field_body, {\n key: 2\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }) : _ctx.hasInnerField ? (openBlock(), createBlock(\"div\", {\n key: 3,\n class: _ctx.bodyClasses\n }, [createVNode(\"div\", {\n class: _ctx.innerFieldClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )) : renderSlot(_ctx.$slots, \"default\", {\n key: 4\n }), _ctx.hasMessage && !_ctx.horizontal ? (openBlock(), createBlock(\"p\", {\n key: 5,\n class: _ctx.messageClasses\n }, [_ctx.hasMessageSlot ? renderSlot(_ctx.$slots, \"message\", {\n key: 0\n }) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.newMessage), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript$1.render = render;\nscript$1.__file = \"src/components/field/Field.vue\";\n\nexport { script$1 as s };\n","import { defineComponent, resolveComponent, openBlock, createBlock, withDirectives, createVNode, mergeProps, Fragment, toDisplayString, createCommentVNode, renderSlot, vModelSelect } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\n\n/**\r\n * Select an item in a dropdown list. Use with Field to access all functionalities\r\n * @displayName Select\r\n * @style _select.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSelect',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n configField: 'select',\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'focus', 'blur'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: [String, Number, Boolean, Object, Array],\r\n default: null\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'select.iconPack', undefined); }\r\n },\r\n /**\r\n * \tIcon name to be added on the right side\r\n */\r\n iconRight: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'select.iconRight', undefined); }\r\n },\r\n /** Text when nothing is selected */\r\n placeholder: String,\r\n multiple: Boolean,\r\n /** Same as native size */\r\n nativeSize: [String, Number],\r\n rootClass: [String, Function, Array],\r\n selectClass: [String, Function, Array],\r\n iconLeftSpaceClass: [String, Function, Array],\r\n iconRightSpaceClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n multipleClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n iconLeftClass: [String, Function, Array],\r\n iconRightClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n placeholderClass: [String, Function, Array],\r\n arrowClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n selected: this.modelValue\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-ctrl-sel'),\r\n { [this.computedClass('expandedClass', 'o-ctrl-sel--expanded')]: this.expanded },\r\n ];\r\n },\r\n selectClasses() {\r\n return [\r\n this.computedClass('selectClass', 'o-sel'),\r\n { [this.computedClass('roundedClass', 'o-sel--rounded')]: this.rounded },\r\n { [this.computedClass('multipleClass', 'o-sel--multiple')]: this.multiple },\r\n { [this.computedClass('sizeClass', 'o-sel--', this.size)]: this.size },\r\n { [this.computedClass('variantClass', 'o-sel--', (this.statusVariant || this.variant))]: (this.statusVariant || this.variant) },\r\n { [this.computedClass('iconLeftSpaceClass', 'o-sel-iconspace-left')]: this.icon },\r\n { [this.computedClass('iconRightSpaceClass', 'o-sel-iconspace-right')]: this.iconRight },\r\n { [this.computedClass('placeholderClass', 'o-sel--placeholder')]: this.placeholderVisible },\r\n { [this.computedClass('arrowClass', 'o-sel-arrow')]: !this.iconRight && !this.multiple }\r\n ];\r\n },\r\n iconLeftClasses() {\r\n return [\r\n this.computedClass('iconLeftClass', 'o-sel__icon-left')\r\n ];\r\n },\r\n iconRightClasses() {\r\n return [\r\n this.computedClass('iconRightClass', 'o-sel__icon-right')\r\n ];\r\n },\r\n placeholderVisible() {\r\n return this.computedValue === null;\r\n },\r\n computedValue: {\r\n get() {\r\n return this.selected;\r\n },\r\n set(value) {\r\n this.selected = value;\r\n this.$emit('update:modelValue', value);\r\n this.syncFilled(this.selected);\r\n !this.isValid && this.checkHtml5Validity();\r\n }\r\n },\r\n $elementRef() {\r\n return 'select';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Set the selected option.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.selected = value;\r\n this.syncFilled(this.selected);\r\n !this.isValid && this.checkHtml5Validity();\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 0,\n value: null,\n disabled: \"\",\n hidden: \"\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [withDirectives(createVNode(\"select\", mergeProps(_ctx.$attrs, {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n class: _ctx.selectClasses,\n ref: \"select\",\n autocomplete: _ctx.autocomplete,\n multiple: _ctx.multiple,\n size: _ctx.nativeSize,\n onBlur: _cache[2] || (_cache[2] = (...args) => _ctx.onBlur(...args)),\n onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.onFocus(...args))\n }), [_ctx.placeholder ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [_ctx.placeholderVisible ? (openBlock(), createBlock(\"option\", _hoisted_1, toDisplayString(_ctx.placeholder), 1\n /* TEXT */\n )) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true), renderSlot(_ctx.$slots, \"default\")], 16\n /* FULL_PROPS */\n , [\"autocomplete\", \"multiple\", \"size\"]), [[vModelSelect, _ctx.computedValue]]), _ctx.icon ? createVNode(_component_o_icon, {\n key: 0,\n class: _ctx.iconLeftClasses,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.iconRight && !_ctx.multiple ? createVNode(_component_o_icon, {\n key: 1,\n class: _ctx.iconRightClasses,\n icon: _ctx.iconRight,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/select/Select.vue\";\n\nexport { script as s };\n","import { defineComponent, openBlock, createBlock, withModifiers, createVNode, toDisplayString, createCommentVNode, Fragment, renderList, resolveComponent, createTextVNode, mergeProps, createSlots, withCtx, renderSlot, withDirectives, withKeys, vShow } from 'vue';\nimport { isDefined, getValueByPath, getMonthNames, getWeekdayNames, isMobile, matchWithGroups } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$7 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { s as script$5 } from './Input-19e906a1.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { s as script$8, a as script$9 } from './DropdownItem-c744c4e9.mjs';\nimport { s as script$4 } from './Field-937b4591.mjs';\nimport { s as script$6 } from './Select-2cca695f.mjs';\n\nvar script = defineComponent({\r\n name: 'ODatepickerTableRow',\r\n mixins: [BaseComponentMixin],\r\n configField: 'datepicker',\r\n inject: {\r\n $datepicker: { from: '$datepicker', default: false }\r\n },\r\n emits: ['select', 'rangeHoverEndDate', 'change-focus'],\r\n props: {\r\n selectedDate: {\r\n type: [Date, Array]\r\n },\r\n hoveredDateRange: Array,\r\n day: {\r\n type: Number\r\n },\r\n week: {\r\n type: Array,\r\n required: true\r\n },\r\n month: {\r\n type: Number,\r\n required: true\r\n },\r\n showWeekNumber: Boolean,\r\n minDate: Date,\r\n maxDate: Date,\r\n disabled: Boolean,\r\n unselectableDates: Array,\r\n unselectableDaysOfWeek: Array,\r\n selectableDates: Array,\r\n events: Array,\r\n indicators: String,\r\n dateCreator: Function,\r\n nearbyMonthDays: Boolean,\r\n nearbySelectableMonthDays: Boolean,\r\n weekNumberClickable: Boolean,\r\n range: Boolean,\r\n multiple: Boolean,\r\n rulesForFirstWeek: Number,\r\n firstDayOfWeek: Number,\r\n tableRowClass: [String, Function, Array],\r\n tableCellClass: [String, Function, Array],\r\n tableCellSelectedClass: [String, Function, Array],\r\n tableCellFirstSelectedClass: [String, Function, Array],\r\n tableCellWithinSelectedClass: [String, Function, Array],\r\n tableCellLastSelectedClass: [String, Function, Array],\r\n tableCellFirstHoveredClass: [String, Function, Array],\r\n tableCellInvisibleClass: [String, Function, Array],\r\n tableCellWithinHoveredClass: [String, Function, Array],\r\n tableCellLastHoveredClass: [String, Function, Array],\r\n tableCellTodayClass: [String, Function, Array],\r\n tableCellSelectableClass: [String, Function, Array],\r\n tableCellUnselectableClass: [String, Function, Array],\r\n tableCellNearbyClass: [String, Function, Array],\r\n tableCellEventsClass: [String, Function, Array],\r\n tableEventClass: [String, Function, Array],\r\n tableEventIndicatorsClass: [String, Function, Array],\r\n tableEventsClass: [String, Function, Array],\r\n tableEventVariantClass: [String, Function, Array],\r\n },\r\n computed: {\r\n tableRowClasses() {\r\n return [\r\n this.computedClass('tableRowClass', 'o-dpck__table__row'),\r\n ];\r\n },\r\n tableCellClasses() {\r\n return [\r\n this.computedClass('tableCellClass', 'o-dpck__table__cell'),\r\n ];\r\n },\r\n tableEventsClasses() {\r\n return [\r\n this.computedClass('tableEventsClass', 'o-dpck__table__events'),\r\n ];\r\n },\r\n hasEvents() {\r\n return this.events && this.events.length;\r\n }\r\n },\r\n watch: {\r\n day(day) {\r\n const refName = `day-${this.month}-${day}`;\r\n this.$nextTick(() => {\r\n if (this.$refs[refName] && this.$refs[refName].length > 0) {\r\n if (this.$refs[refName][0]) {\r\n this.$refs[refName][0].focus();\r\n }\r\n }\r\n }); // $nextTick needed when month is changed\r\n }\r\n },\r\n methods: {\r\n firstWeekOffset(year, dow, doy) {\r\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\r\n const fwd = 7 + dow - doy;\r\n // first-week day local weekday -- which local weekday is fwd\r\n const firstJanuary = new Date(year, 0, fwd);\r\n const fwdlw = (7 + firstJanuary.getDay() - dow) % 7;\r\n return -fwdlw + fwd - 1;\r\n },\r\n daysInYear(year) {\r\n return this.isLeapYear(year) ? 366 : 365;\r\n },\r\n isLeapYear(year) {\r\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\r\n },\r\n getSetDayOfYear(input) {\r\n return Math.round((input.getTime() - new Date(input.getFullYear(), 0, 1).getTime()) / 864e5) + 1;\r\n },\r\n weeksInYear(year, dow, doy) {\r\n const weekOffset = this.firstWeekOffset(year, dow, doy);\r\n const weekOffsetNext = this.firstWeekOffset(year + 1, dow, doy);\r\n return (this.daysInYear(year) - weekOffset + weekOffsetNext) / 7;\r\n },\r\n getWeekNumber(mom) {\r\n const dow = this.firstDayOfWeek; // first day of week\r\n // Rules for the first week : 1 for the 1st January, 4 for the 4th January\r\n const doy = this.rulesForFirstWeek;\r\n const weekOffset = this.firstWeekOffset(mom.getFullYear(), dow, doy);\r\n const week = Math.floor((this.getSetDayOfYear(mom) - weekOffset - 1) / 7) + 1;\r\n let resWeek;\r\n let resYear;\r\n if (week < 1) {\r\n resYear = mom.getFullYear() - 1;\r\n resWeek = week + this.weeksInYear(resYear, dow, doy);\r\n }\r\n else if (week > this.weeksInYear(mom.getFullYear(), dow, doy)) {\r\n resWeek = week - this.weeksInYear(mom.getFullYear(), dow, doy);\r\n resYear = mom.getFullYear() + 1;\r\n }\r\n else {\r\n resYear = mom.getFullYear();\r\n resWeek = week;\r\n }\r\n return resWeek;\r\n },\r\n clickWeekNumber(week) {\r\n if (this.weekNumberClickable) {\r\n this.$datepicker.$emit('week-number-click', week);\r\n }\r\n },\r\n /*\r\n * Check that selected day is within earliest/latest params and\r\n * is within this month\r\n */\r\n selectableDate(day) {\r\n const validity = [];\r\n if (this.minDate) {\r\n validity.push(day >= this.minDate);\r\n }\r\n if (this.maxDate) {\r\n validity.push(day <= this.maxDate);\r\n }\r\n if (this.nearbyMonthDays && !this.nearbySelectableMonthDays) {\r\n validity.push(day.getMonth() === this.month);\r\n }\r\n if (this.selectableDates) {\r\n for (let i = 0; i < this.selectableDates.length; i++) {\r\n const enabledDate = this.selectableDates[i];\r\n if (day.getDate() === enabledDate.getDate() &&\r\n day.getFullYear() === enabledDate.getFullYear() &&\r\n day.getMonth() === enabledDate.getMonth()) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n }\r\n if (this.unselectableDates) {\r\n for (let i = 0; i < this.unselectableDates.length; i++) {\r\n const disabledDate = this.unselectableDates[i];\r\n validity.push(day.getDate() !== disabledDate.getDate() ||\r\n day.getFullYear() !== disabledDate.getFullYear() ||\r\n day.getMonth() !== disabledDate.getMonth());\r\n }\r\n }\r\n if (this.unselectableDaysOfWeek) {\r\n for (let i = 0; i < this.unselectableDaysOfWeek.length; i++) {\r\n const dayOfWeek = this.unselectableDaysOfWeek[i];\r\n validity.push(day.getDay() !== dayOfWeek);\r\n }\r\n }\r\n return validity.indexOf(false) < 0;\r\n },\r\n /*\r\n * Emit select event with chosen date as payload\r\n */\r\n emitChosenDate(day) {\r\n if (this.disabled)\r\n return;\r\n if (this.selectableDate(day)) {\r\n this.$emit('select', day);\r\n }\r\n },\r\n eventsDateMatch(day) {\r\n if (!this.events || !this.events.length)\r\n return false;\r\n const dayEvents = [];\r\n for (let i = 0; i < this.events.length; i++) {\r\n if (this.events[i].date.getDay() === day.getDay()) {\r\n dayEvents.push(this.events[i]);\r\n }\r\n }\r\n if (!dayEvents.length) {\r\n return false;\r\n }\r\n return dayEvents;\r\n },\r\n /*\r\n * Build cellClasses for cell using validations\r\n */\r\n cellClasses(day) {\r\n function dateMatch(dateOne, dateTwo, multiple = false) {\r\n // if either date is null or undefined, return false\r\n // if using multiple flag, return false\r\n if (!dateOne || !dateTwo || multiple) {\r\n return false;\r\n }\r\n if (Array.isArray(dateTwo)) {\r\n return dateTwo.some((date) => (dateOne.getDate() === date.getDate() &&\r\n dateOne.getFullYear() === date.getFullYear() &&\r\n dateOne.getMonth() === date.getMonth()));\r\n }\r\n return (dateOne.getDate() === dateTwo.getDate() &&\r\n dateOne.getFullYear() === dateTwo.getFullYear() &&\r\n dateOne.getMonth() === dateTwo.getMonth());\r\n }\r\n function dateWithin(dateOne, dates, multiple = false) {\r\n if (!Array.isArray(dates) || multiple) {\r\n return false;\r\n }\r\n return dateOne > dates[0] && dateOne < dates[1];\r\n }\r\n return [\r\n ...this.tableCellClasses,\r\n {\r\n [this.computedClass('tableCellSelectedClass', 'o-dpck__table__cell--selected')]: dateMatch(day, this.selectedDate) || dateWithin(day, this.selectedDate, this.multiple)\r\n },\r\n {\r\n [this.computedClass('tableCellFirstSelectedClass', 'o-dpck__table__cell--first-selected')]: dateMatch(day, Array.isArray(this.selectedDate) && this.selectedDate[0], this.multiple),\r\n },\r\n {\r\n [this.computedClass('tableCellWithinSelectedClass', 'o-dpck__table__cell--within-selected')]: dateWithin(day, this.selectedDate, this.multiple)\r\n },\r\n {\r\n [this.computedClass('tableCellLastSelectedClass', 'o-dpck__table__cell--last-selected')]: dateMatch(day, Array.isArray(this.selectedDate) && this.selectedDate[1], this.multiple),\r\n },\r\n {\r\n [this.computedClass('tableCellFirstHoveredClass', 'o-dpck__table__cell--first-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[0]),\r\n },\r\n {\r\n [this.computedClass('tableCellWithinHoveredClass', 'o-dpck__table__cell--within-hovered')]: dateWithin(day, this.hoveredDateRange)\r\n },\r\n {\r\n [this.computedClass('tableCellLastHoveredClass', 'o-dpck__table__cell--last-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[1])\r\n },\r\n {\r\n [this.computedClass('tableCellTodayClass', 'o-dpck__table__cell--today')]: dateMatch(day, this.dateCreator())\r\n },\r\n {\r\n [this.computedClass('tableCellSelectableClass', 'o-dpck__table__cell--selectable')]: this.selectableDate(day) && !this.disabled\r\n },\r\n {\r\n [this.computedClass('tableCellUnselectableClass', 'o-dpck__table__cell--unselectable')]: !this.selectableDate(day) || this.disabled\r\n },\r\n {\r\n [this.computedClass('tableCellInvisibleClass', 'o-dpck__table__cell--invisible')]: !this.nearbyMonthDays && day.getMonth() !== this.month\r\n },\r\n {\r\n [this.computedClass('tableCellNearbyClass', 'o-dpck__table__cell--nearby')]: this.nearbySelectableMonthDays && day.getMonth() !== this.month\r\n },\r\n {\r\n [this.computedClass('tableCellEventsClass', 'o-dpck__table__cell--events')]: this.hasEvents\r\n },\r\n {\r\n [this.computedClass('tableCellTodayClass', 'o-dpck__table__cell--today')]: dateMatch(day, this.dateCreator())\r\n }\r\n ];\r\n },\r\n eventClasses(event) {\r\n return [\r\n this.computedClass('tableEventClass', 'o-dpck__table__event'),\r\n { [this.computedClass('tableEventVariantClass', 'o-dpck__table__event--', event.type)]: event.type },\r\n { [this.computedClass('tableEventIndicatorsClass', 'o-dpck__table__event--', this.indicators)]: this.indicators }\r\n ];\r\n },\r\n setRangeHoverEndDate(day) {\r\n if (this.range) {\r\n this.$emit('rangeHoverEndDate', day);\r\n }\r\n },\r\n manageKeydown(event, weekDay) {\r\n // https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/key/Key_Values#Navigation_keys\r\n const { key } = event;\r\n let preventDefault = true;\r\n switch (key) {\r\n case 'Tab': {\r\n preventDefault = false;\r\n break;\r\n }\r\n case ' ':\r\n case 'Space':\r\n case 'Spacebar':\r\n case 'Enter': {\r\n this.emitChosenDate(weekDay);\r\n break;\r\n }\r\n case 'ArrowLeft':\r\n case 'Left': {\r\n this.changeFocus(weekDay, -1);\r\n break;\r\n }\r\n case 'ArrowRight':\r\n case 'Right': {\r\n this.changeFocus(weekDay, 1);\r\n break;\r\n }\r\n case 'ArrowUp':\r\n case 'Up': {\r\n this.changeFocus(weekDay, -7);\r\n break;\r\n }\r\n case 'ArrowDown':\r\n case 'Down': {\r\n this.changeFocus(weekDay, 7);\r\n break;\r\n }\r\n }\r\n if (preventDefault) {\r\n event.preventDefault();\r\n }\r\n },\r\n changeFocus(day, inc) {\r\n const nextDay = new Date(day.getTime());\r\n nextDay.setDate(day.getDate() + inc);\r\n while ((!this.minDate || nextDay > this.minDate) &&\r\n (!this.maxDate || nextDay < this.maxDate) &&\r\n !this.selectableDate(nextDay)) {\r\n nextDay.setDate(day.getDate() + Math.sign(inc));\r\n }\r\n this.setRangeHoverEndDate(nextDay);\r\n this.$emit('change-focus', nextDay);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.tableRowClasses\n }, [_ctx.showWeekNumber ? (openBlock(), createBlock(\"a\", {\n key: 0,\n class: _ctx.tableCellClasses,\n style: {\n 'cursor: pointer': _ctx.weekNumberClickable\n },\n onClick: _cache[1] || (_cache[1] = withModifiers($event => _ctx.clickWeekNumber(_ctx.getWeekNumber(_ctx.week[6])), [\"prevent\"]))\n }, [createVNode(\"span\", null, toDisplayString(_ctx.getWeekNumber(_ctx.week[6])), 1\n /* TEXT */\n )], 6\n /* CLASS, STYLE */\n )) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.week, (weekDay, index) => {\n return openBlock(), createBlock(Fragment, {\n key: index\n }, [_ctx.selectableDate(weekDay) && !_ctx.disabled ? (openBlock(), createBlock(\"a\", {\n key: 0,\n ref: `day-${weekDay.getMonth()}-${weekDay.getDate()}`,\n class: _ctx.cellClasses(weekDay),\n role: \"button\",\n href: \"#\",\n disabled: _ctx.disabled,\n onClick: withModifiers($event => _ctx.emitChosenDate(weekDay), [\"prevent\"]),\n onMouseenter: $event => _ctx.setRangeHoverEndDate(weekDay),\n onKeydown: $event => _ctx.manageKeydown($event, weekDay),\n tabindex: _ctx.day === weekDay.getDate() && _ctx.month === weekDay.getMonth() ? null : -1\n }, [createVNode(\"span\", null, toDisplayString(weekDay.getDate()), 1\n /* TEXT */\n ), _ctx.eventsDateMatch(weekDay) ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.tableEventsClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.eventsDateMatch(weekDay), (event, index) => {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.eventClasses(event),\n key: index\n }, null, 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"disabled\", \"onClick\", \"onMouseenter\", \"onKeydown\", \"tabindex\"])) : (openBlock(), createBlock(\"div\", {\n key: index,\n class: _ctx.cellClasses(weekDay)\n }, [createVNode(\"span\", null, toDisplayString(weekDay.getDate()), 1\n /* TEXT */\n )], 2\n /* CLASS */\n ))], 64\n /* STABLE_FRAGMENT */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/datepicker/DatepickerTableRow.vue\";\n\nvar script$1 = defineComponent({\r\n name: 'ODatepickerTable',\r\n mixins: [BaseComponentMixin],\r\n configField: 'datepicker',\r\n components: {\r\n [script.name]: script\r\n },\r\n emits: ['update:modelValue', 'range-start', 'range-end', 'update:focused'],\r\n props: {\r\n modelValue: {\r\n type: [Date, Array]\r\n },\r\n dayNames: Array,\r\n monthNames: Array,\r\n firstDayOfWeek: Number,\r\n events: Array,\r\n indicators: String,\r\n minDate: Date,\r\n maxDate: Date,\r\n focused: Object,\r\n disabled: Boolean,\r\n dateCreator: Function,\r\n unselectableDates: Array,\r\n unselectableDaysOfWeek: Array,\r\n selectableDates: Array,\r\n nearbyMonthDays: Boolean,\r\n nearbySelectableMonthDays: Boolean,\r\n showWeekNumber: Boolean,\r\n weekNumberClickable: Boolean,\r\n rulesForFirstWeek: Number,\r\n range: Boolean,\r\n multiple: Boolean,\r\n tableClass: [String, Function, Array],\r\n tableHeadClass: [String, Function, Array],\r\n tableHeadCellClass: [String, Function, Array],\r\n tableBodyClass: [String, Function, Array],\r\n tableRowClass: [String, Function, Array],\r\n tableCellClass: [String, Function, Array],\r\n tableCellSelectedClass: [String, Function, Array],\r\n tableCellFirstSelectedClass: [String, Function, Array],\r\n tableCellInvisibleClass: [String, Function, Array],\r\n tableCellWithinSelectedClass: [String, Function, Array],\r\n tableCellLastSelectedClass: [String, Function, Array],\r\n tableCellFirstHoveredClass: [String, Function, Array],\r\n tableCellWithinHoveredClass: [String, Function, Array],\r\n tableCellLastHoveredClass: [String, Function, Array],\r\n tableCellTodayClass: [String, Function, Array],\r\n tableCellSelectableClass: [String, Function, Array],\r\n tableCellUnselectableClass: [String, Function, Array],\r\n tableCellNearbyClass: [String, Function, Array],\r\n tableCellEventsClass: [String, Function, Array],\r\n tableEventClass: [String, Function, Array],\r\n tableEventIndicatorsClass: [String, Function, Array],\r\n tableEventsClass: [String, Function, Array],\r\n tableEventVariantClass: [String, Function, Array],\r\n },\r\n data() {\r\n return {\r\n selectedBeginDate: undefined,\r\n selectedEndDate: undefined,\r\n hoveredEndDate: undefined\r\n };\r\n },\r\n computed: {\r\n tableClasses() {\r\n return [\r\n this.computedClass('tableClass', 'o-dpck__table')\r\n ];\r\n },\r\n tableHeadClasses() {\r\n return [\r\n this.computedClass('tableHeadClass', 'o-dpck__table__head')\r\n ];\r\n },\r\n tableHeadCellClasses() {\r\n return [\r\n this.computedClass('tableHeadCellClass', 'o-dpck__table__head-cell'),\r\n ...this.tableCellClasses\r\n ];\r\n },\r\n tableBodyClasses() {\r\n return [\r\n this.computedClass('tableBodyClass', 'o-dpck__table__body')\r\n ];\r\n },\r\n tableCellClasses() {\r\n return [\r\n this.computedClass('tableCellClass', 'o-dpck__table__cell'),\r\n ];\r\n },\r\n visibleDayNames() {\r\n const visibleDayNames = [];\r\n let index = this.firstDayOfWeek;\r\n while (visibleDayNames.length < this.dayNames.length) {\r\n const currentDayName = this.dayNames[(index % this.dayNames.length)];\r\n visibleDayNames.push(currentDayName);\r\n index++;\r\n }\r\n if (this.showWeekNumber)\r\n visibleDayNames.unshift('');\r\n return visibleDayNames;\r\n },\r\n /*\r\n * Return array of all events in the specified month\r\n */\r\n eventsInThisMonth() {\r\n if (!this.events)\r\n return [];\r\n const monthEvents = [];\r\n for (let i = 0; i < this.events.length; i++) {\r\n let event = this.events[i];\r\n if (!Object.prototype.hasOwnProperty.call(event, 'date')) {\r\n event = { date: event };\r\n }\r\n if (event.date.getMonth() === this.focused.month &&\r\n event.date.getFullYear() === this.focused.year) {\r\n monthEvents.push(event);\r\n }\r\n }\r\n return monthEvents;\r\n },\r\n /*\r\n * Return array of all weeks in the specified month\r\n */\r\n weeksInThisMonth() {\r\n this.validateFocusedDay();\r\n const month = this.focused.month;\r\n const year = this.focused.year;\r\n const weeksInThisMonth = [];\r\n let startingDay = 1;\r\n while (weeksInThisMonth.length < 6) {\r\n const newWeek = this.weekBuilder(startingDay, month, year);\r\n weeksInThisMonth.push(newWeek);\r\n startingDay += 7;\r\n }\r\n return weeksInThisMonth;\r\n },\r\n hoveredDateRange() {\r\n if (!this.range) {\r\n return [];\r\n }\r\n if (!isNaN(this.selectedEndDate)) {\r\n return [];\r\n }\r\n if (this.hoveredEndDate < this.selectedBeginDate) {\r\n return [this.hoveredEndDate, this.selectedBeginDate].filter(d => d !== undefined);\r\n }\r\n return [this.selectedBeginDate, this.hoveredEndDate].filter(d => d !== undefined);\r\n }\r\n },\r\n methods: {\r\n /*\r\n * Emit input event with selected date as payload for v-model in parent\r\n */\r\n updateSelectedDate(date) {\r\n if (!this.range && !this.multiple) {\r\n this.$emit('update:modelValue', date);\r\n }\r\n else if (this.range) {\r\n this.handleSelectRangeDate(date);\r\n }\r\n else if (this.multiple) {\r\n this.handleSelectMultipleDates(date);\r\n }\r\n },\r\n /*\r\n * If both begin and end dates are set, reset the end date and set the begin date.\r\n * If only begin date is selected, emit an array of the begin date and the new date.\r\n * If not set, only set the begin date.\r\n */\r\n handleSelectRangeDate(date) {\r\n if (this.selectedBeginDate && this.selectedEndDate) {\r\n this.selectedBeginDate = date;\r\n this.selectedEndDate = undefined;\r\n this.$emit('range-start', date);\r\n }\r\n else if (this.selectedBeginDate && !this.selectedEndDate) {\r\n if (this.selectedBeginDate > date) {\r\n this.selectedEndDate = this.selectedBeginDate;\r\n this.selectedBeginDate = date;\r\n }\r\n else {\r\n this.selectedEndDate = date;\r\n }\r\n this.$emit('range-end', date);\r\n this.$emit('update:modelValue', [this.selectedBeginDate, this.selectedEndDate]);\r\n }\r\n else {\r\n this.selectedBeginDate = date;\r\n this.$emit('range-start', date);\r\n }\r\n },\r\n /*\r\n * If selected date already exists list of selected dates, remove it from the list\r\n * Otherwise, add date to list of selected dates\r\n */\r\n handleSelectMultipleDates(date) {\r\n let multipleSelectedDates = this.modelValue;\r\n const multipleSelect = multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() === date.getDate() &&\r\n selectedDate.getFullYear() === date.getFullYear() &&\r\n selectedDate.getMonth() === date.getMonth());\r\n if (multipleSelect.length) {\r\n multipleSelectedDates = multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() !== date.getDate() ||\r\n selectedDate.getFullYear() !== date.getFullYear() ||\r\n selectedDate.getMonth() !== date.getMonth());\r\n }\r\n else {\r\n multipleSelectedDates = [...multipleSelectedDates, date];\r\n }\r\n this.$emit('update:modelValue', multipleSelectedDates);\r\n },\r\n /*\r\n * Return array of all days in the week that the startingDate is within\r\n */\r\n weekBuilder(startingDate, month, year) {\r\n const thisMonth = new Date(year, month);\r\n const thisWeek = [];\r\n const dayOfWeek = new Date(year, month, startingDate).getDay();\r\n const end = dayOfWeek >= this.firstDayOfWeek\r\n ? (dayOfWeek - this.firstDayOfWeek)\r\n : ((7 - this.firstDayOfWeek) + dayOfWeek);\r\n let daysAgo = 1;\r\n for (let i = 0; i < end; i++) {\r\n thisWeek.unshift(new Date(thisMonth.getFullYear(), thisMonth.getMonth(), startingDate - daysAgo));\r\n daysAgo++;\r\n }\r\n thisWeek.push(new Date(year, month, startingDate));\r\n let daysForward = 1;\r\n while (thisWeek.length < 7) {\r\n thisWeek.push(new Date(year, month, startingDate + daysForward));\r\n daysForward++;\r\n }\r\n return thisWeek;\r\n },\r\n validateFocusedDay() {\r\n const focusedDate = new Date(this.focused.year, this.focused.month, this.focused.day);\r\n if (this.selectableDate(focusedDate))\r\n return;\r\n let day = 0;\r\n // Number of days in the current month\r\n const monthDays = new Date(this.focused.year, this.focused.month + 1, 0).getDate();\r\n let firstFocusable = null;\r\n while (!firstFocusable && ++day < monthDays) {\r\n const date = new Date(this.focused.year, this.focused.month, day);\r\n if (this.selectableDate(date)) {\r\n firstFocusable = focusedDate;\r\n const focused = {\r\n day: date.getDate(),\r\n month: date.getMonth(),\r\n year: date.getFullYear()\r\n };\r\n this.$emit('update:focused', focused);\r\n }\r\n }\r\n },\r\n /*\r\n * Check that selected day is within earliest/latest params and\r\n * is within this month\r\n */\r\n selectableDate(day) {\r\n const validity = [];\r\n if (this.minDate) {\r\n validity.push(day >= this.minDate);\r\n }\r\n if (this.maxDate) {\r\n validity.push(day <= this.maxDate);\r\n }\r\n if (this.nearbyMonthDays && !this.nearbySelectableMonthDays) {\r\n validity.push(day.getMonth() === this.focused.month);\r\n }\r\n if (this.selectableDates) {\r\n for (let i = 0; i < this.selectableDates.length; i++) {\r\n const enabledDate = this.selectableDates[i];\r\n if (day.getDate() === enabledDate.getDate() &&\r\n day.getFullYear() === enabledDate.getFullYear() &&\r\n day.getMonth() === enabledDate.getMonth()) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n }\r\n if (this.unselectableDates) {\r\n for (let i = 0; i < this.unselectableDates.length; i++) {\r\n const disabledDate = this.unselectableDates[i];\r\n validity.push(day.getDate() !== disabledDate.getDate() ||\r\n day.getFullYear() !== disabledDate.getFullYear() ||\r\n day.getMonth() !== disabledDate.getMonth());\r\n }\r\n }\r\n if (this.unselectableDaysOfWeek) {\r\n for (let i = 0; i < this.unselectableDaysOfWeek.length; i++) {\r\n const dayOfWeek = this.unselectableDaysOfWeek[i];\r\n validity.push(day.getDay() !== dayOfWeek);\r\n }\r\n }\r\n return validity.indexOf(false) < 0;\r\n },\r\n eventsInThisWeek(week) {\r\n return this.eventsInThisMonth.filter((event) => {\r\n const stripped = new Date(Date.parse(event.date));\r\n stripped.setHours(0, 0, 0, 0);\r\n const timed = stripped.getTime();\r\n return week.some((weekDate) => weekDate.getTime() === timed);\r\n });\r\n },\r\n setRangeHoverEndDate(day) {\r\n this.hoveredEndDate = day;\r\n },\r\n changeFocus(day) {\r\n const focused = {\r\n day: day.getDate(),\r\n month: day.getMonth(),\r\n year: day.getFullYear()\r\n };\r\n this.$emit('update:focused', focused);\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_datepicker_table_row = resolveComponent(\"o-datepicker-table-row\");\n\n return openBlock(), createBlock(\"section\", {\n class: _ctx.tableClasses\n }, [createVNode(\"header\", {\n class: _ctx.tableHeadClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleDayNames, (day, index) => {\n return openBlock(), createBlock(\"div\", {\n key: index,\n class: _ctx.tableHeadCellClasses\n }, [createVNode(\"span\", null, toDisplayString(day), 1\n /* TEXT */\n )], 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n ), createVNode(\"div\", {\n class: _ctx.tableBodyClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.weeksInThisMonth, (week, index) => {\n return openBlock(), createBlock(_component_o_datepicker_table_row, {\n key: index,\n \"selected-date\": _ctx.modelValue,\n day: _ctx.focused.day,\n week: week,\n month: _ctx.focused.month,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n disabled: _ctx.disabled,\n \"unselectable-dates\": _ctx.unselectableDates,\n \"unselectable-days-of-week\": _ctx.unselectableDaysOfWeek,\n \"selectable-dates\": _ctx.selectableDates,\n events: _ctx.eventsInThisWeek(week),\n indicators: _ctx.indicators,\n \"date-creator\": _ctx.dateCreator,\n \"nearby-month-days\": _ctx.nearbyMonthDays,\n \"nearby-selectable-month-days\": _ctx.nearbySelectableMonthDays,\n \"show-week-number\": _ctx.showWeekNumber,\n \"week-number-clickable\": _ctx.weekNumberClickable,\n \"first-day-of-week\": _ctx.firstDayOfWeek,\n \"rules-for-first-week\": _ctx.rulesForFirstWeek,\n range: _ctx.range,\n \"hovered-date-range\": _ctx.hoveredDateRange,\n multiple: _ctx.multiple,\n \"table-row-class\": _ctx.tableRowClass,\n \"table-cell-class\": _ctx.tableCellClass,\n \"table-cell-selected-class\": _ctx.tableCellSelectedClass,\n \"table-cell-first-selected-class\": _ctx.tableCellFirstSelectedClass,\n \"table-cell-invisible-class\": _ctx.tableCellInvisibleClass,\n \"table-cell-within-selected-class\": _ctx.tableCellWithinSelectedClass,\n \"table-cell-last-selected-class\": _ctx.tableCellLastSelectedClass,\n \"table-cell-first-hovered-class\": _ctx.tableCellFirstHoveredClass,\n \"table-cell-within-hovered-class\": _ctx.tableCellWithinHoveredClass,\n \"table-cell-last-hovered-class\": _ctx.tableCellLastHoveredClass,\n \"table-cell-today-class\": _ctx.tableCellTodayClass,\n \"table-cell-selectable-class\": _ctx.tableCellSelectableClass,\n \"table-cell-unselectable-class\": _ctx.tableCellUnselectableClass,\n \"table-cell-nearby-class\": _ctx.tableCellNearbyClass,\n \"table-cell-events-class\": _ctx.tableCellEventsClass,\n \"table-events-class\": _ctx.tableEventsClass,\n \"table-event-variant-class\": _ctx.tableEventVariantClass,\n \"table-event-class\": _ctx.tableEventClass,\n \"table-event-indicators-class\": _ctx.tableEventIndicatorsClass,\n onSelect: _ctx.updateSelectedDate,\n onRangeHoverEndDate: _ctx.setRangeHoverEndDate,\n \"onChange-focus\": _ctx.changeFocus\n }, null, 8\n /* PROPS */\n , [\"selected-date\", \"day\", \"week\", \"month\", \"min-date\", \"max-date\", \"disabled\", \"unselectable-dates\", \"unselectable-days-of-week\", \"selectable-dates\", \"events\", \"indicators\", \"date-creator\", \"nearby-month-days\", \"nearby-selectable-month-days\", \"show-week-number\", \"week-number-clickable\", \"first-day-of-week\", \"rules-for-first-week\", \"range\", \"hovered-date-range\", \"multiple\", \"table-row-class\", \"table-cell-class\", \"table-cell-selected-class\", \"table-cell-first-selected-class\", \"table-cell-invisible-class\", \"table-cell-within-selected-class\", \"table-cell-last-selected-class\", \"table-cell-first-hovered-class\", \"table-cell-within-hovered-class\", \"table-cell-last-hovered-class\", \"table-cell-today-class\", \"table-cell-selectable-class\", \"table-cell-unselectable-class\", \"table-cell-nearby-class\", \"table-cell-events-class\", \"table-events-class\", \"table-event-variant-class\", \"table-event-class\", \"table-event-indicators-class\", \"onSelect\", \"onRangeHoverEndDate\", \"onChange-focus\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/datepicker/DatepickerTable.vue\";\n\nvar DatepickerMixin = {\r\n methods: {\r\n manageKeydown(event, weekDay) {\r\n // https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent/key/Key_Values#Navigation_keys\r\n const { key } = event;\r\n let preventDefault = true;\r\n switch (key) {\r\n case 'Tab': {\r\n preventDefault = false;\r\n break;\r\n }\r\n case ' ':\r\n case 'Space':\r\n case 'Spacebar':\r\n case 'Enter': {\r\n this.emitChosenDate(weekDay);\r\n break;\r\n }\r\n case 'ArrowLeft':\r\n case 'Left': {\r\n this.changeFocus(weekDay, -1);\r\n break;\r\n }\r\n case 'ArrowRight':\r\n case 'Right': {\r\n this.changeFocus(weekDay, 1);\r\n break;\r\n }\r\n case 'ArrowUp':\r\n case 'Up': {\r\n this.changeFocus(weekDay, -7);\r\n break;\r\n }\r\n case 'ArrowDown':\r\n case 'Down': {\r\n this.changeFocus(weekDay, 7);\r\n break;\r\n }\r\n }\r\n if (preventDefault) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n};\n\nvar script$2 = {\r\n name: 'ODatepickerMonth',\r\n mixins: [BaseComponentMixin, DatepickerMixin],\r\n configField: 'datepicker',\r\n emits: ['update:modelValue', 'range-start', 'range-end', 'updated:focused'],\r\n props: {\r\n modelValue: {\r\n type: [Date, Array]\r\n },\r\n monthNames: Array,\r\n events: Array,\r\n indicators: String,\r\n minDate: Date,\r\n maxDate: Date,\r\n focused: Object,\r\n disabled: Boolean,\r\n dateCreator: Function,\r\n unselectableDates: [Array, Function],\r\n unselectableDaysOfWeek: Array,\r\n selectableDates: [Array, Function],\r\n range: Boolean,\r\n multiple: Boolean,\r\n monthClass: [String, Function, Array],\r\n monthBodyClass: [String, Function, Array],\r\n monthTableClass: [String, Function, Array],\r\n monthCellClass: [String, Function, Array],\r\n monthCellSelectedClass: [String, Function, Array],\r\n monthCellFirstSelectedClass: [String, Function, Array],\r\n monthCellWithinSelectedClass: [String, Function, Array],\r\n monthCellLastSelectedClass: [String, Function, Array],\r\n monthCellWithinHoveredRangeClass: [String, Function, Array],\r\n monthCellFirstHoveredClass: [String, Function, Array],\r\n monthCellWithinHoveredClass: [String, Function, Array],\r\n monthCellLastHoveredClass: [String, Function, Array],\r\n monthCellTodayClass: [String, Function, Array],\r\n monthCellSelectableClass: [String, Function, Array],\r\n monthCellUnselectableClass: [String, Function, Array],\r\n monthCellEventsClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n selectedBeginDate: undefined,\r\n selectedEndDate: undefined,\r\n hoveredEndDate: undefined,\r\n multipleSelectedDates: this.multiple && this.modelValue ? this.modelValue : []\r\n };\r\n },\r\n computed: {\r\n monthClasses() {\r\n return [\r\n this.computedClass('monthClass', 'o-dpck__month')\r\n ];\r\n },\r\n monthBodyClasses() {\r\n return [\r\n this.computedClass('monthBodyClass', 'o-dpck__month__body')\r\n ];\r\n },\r\n monthTableClasses() {\r\n return [\r\n this.computedClass('monthTableClass', 'o-dpck__month__table')\r\n ];\r\n },\r\n monthCellClasses() {\r\n return [\r\n this.computedClass('monthCellClass', 'o-dpck__month__cell')\r\n ];\r\n },\r\n hasEvents() {\r\n return this.events && this.events.length;\r\n },\r\n /*\r\n * Return array of all events in the specified month\r\n */\r\n eventsInThisYear() {\r\n if (!this.events)\r\n return [];\r\n const yearEvents = [];\r\n for (let i = 0; i < this.events.length; i++) {\r\n let event = this.events[i];\r\n if (!Object.prototype.hasOwnProperty.call(event, 'date')) {\r\n event = { date: event };\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(event, 'type')) {\r\n event.type = 'is-primary';\r\n }\r\n if (event.date.getFullYear() === this.focused.year) {\r\n yearEvents.push(event);\r\n }\r\n }\r\n return yearEvents;\r\n },\r\n monthDates() {\r\n const year = this.focused.year;\r\n const months = [];\r\n for (let i = 0; i < 12; i++) {\r\n const d = new Date(year, i, 1);\r\n d.setHours(0, 0, 0, 0);\r\n months.push(d);\r\n }\r\n return months;\r\n },\r\n focusedMonth() {\r\n return this.focused.month;\r\n },\r\n hoveredDateRange() {\r\n if (!this.range) {\r\n return [];\r\n }\r\n if (!isNaN(this.selectedEndDate)) {\r\n return [];\r\n }\r\n if (this.hoveredEndDate < this.selectedBeginDate) {\r\n return [this.hoveredEndDate, this.selectedBeginDate].filter(isDefined);\r\n }\r\n return [this.selectedBeginDate, this.hoveredEndDate].filter(isDefined);\r\n }\r\n },\r\n watch: {\r\n focusedMonth(month) {\r\n const refName = `month-${month}`;\r\n if (this.$refs[refName] && this.$refs[refName].length > 0) {\r\n this.$nextTick(() => {\r\n if (this.$refs[refName][0]) {\r\n this.$refs[refName][0].focus();\r\n }\r\n }); // $nextTick needed when year is changed\r\n }\r\n }\r\n },\r\n methods: {\r\n selectMultipleDates(date) {\r\n const multipleSelect = this.multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() === date.getDate() &&\r\n selectedDate.getFullYear() === date.getFullYear() &&\r\n selectedDate.getMonth() === date.getMonth());\r\n if (multipleSelect.length) {\r\n this.multipleSelectedDates = this.multipleSelectedDates.filter((selectedDate) => selectedDate.getDate() !== date.getDate() ||\r\n selectedDate.getFullYear() !== date.getFullYear() ||\r\n selectedDate.getMonth() !== date.getMonth());\r\n }\r\n else {\r\n this.multipleSelectedDates.push(date);\r\n }\r\n this.$emit('update:modelValue', this.multipleSelectedDates);\r\n },\r\n selectableDate(day) {\r\n const validity = [];\r\n if (this.minDate) {\r\n validity.push(day >= this.minDate);\r\n }\r\n if (this.maxDate) {\r\n validity.push(day <= this.maxDate);\r\n }\r\n validity.push(day.getFullYear() === this.focused.year);\r\n if (this.selectableDates) {\r\n if (typeof this.selectableDates === 'function') {\r\n if (this.selectableDates(day)) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < this.selectableDates.length; i++) {\r\n const enabledDate = this.selectableDates[i];\r\n if (day.getFullYear() === enabledDate.getFullYear() &&\r\n day.getMonth() === enabledDate.getMonth()) {\r\n return true;\r\n }\r\n else {\r\n validity.push(false);\r\n }\r\n }\r\n }\r\n }\r\n if (this.unselectableDates) {\r\n if (typeof this.unselectableDates === 'function') {\r\n validity.push(!this.unselectableDates(day));\r\n }\r\n else {\r\n for (let i = 0; i < this.unselectableDates.length; i++) {\r\n const disabledDate = this.unselectableDates[i];\r\n validity.push(day.getFullYear() !== disabledDate.getFullYear() ||\r\n day.getMonth() !== disabledDate.getMonth());\r\n }\r\n }\r\n }\r\n if (this.unselectableDaysOfWeek) {\r\n for (let i = 0; i < this.unselectableDaysOfWeek.length; i++) {\r\n const dayOfWeek = this.unselectableDaysOfWeek[i];\r\n validity.push(day.getDay() !== dayOfWeek);\r\n }\r\n }\r\n return validity.indexOf(false) < 0;\r\n },\r\n eventsDateMatch(day) {\r\n if (!this.eventsInThisYear.length)\r\n return false;\r\n const monthEvents = [];\r\n for (let i = 0; i < this.eventsInThisYear.length; i++) {\r\n if (this.eventsInThisYear[i].date.getMonth() === day.getMonth()) {\r\n monthEvents.push(this.events[i]);\r\n }\r\n }\r\n if (!monthEvents.length) {\r\n return false;\r\n }\r\n return monthEvents;\r\n },\r\n /*\r\n * Build cellClasses for cell using validations\r\n */\r\n cellClasses(day) {\r\n function dateMatch(dateOne, dateTwo, multiple = false) {\r\n // if either date is null or undefined, return false\r\n if (!dateOne || !dateTwo || multiple) {\r\n return false;\r\n }\r\n if (Array.isArray(dateTwo)) {\r\n return dateTwo.some((date) => (dateOne.getFullYear() === date.getFullYear() &&\r\n dateOne.getMonth() === date.getMonth()));\r\n }\r\n return (dateOne.getFullYear() === dateTwo.getFullYear() &&\r\n dateOne.getMonth() === dateTwo.getMonth());\r\n }\r\n function dateWithin(dateOne, dates, multiple = false) {\r\n if (!Array.isArray(dates) || multiple) {\r\n return false;\r\n }\r\n return dateOne > dates[0] && dateOne < dates[1];\r\n }\r\n function dateMultipleSelected(dateOne, dates, multiple = false) {\r\n if (!Array.isArray(dates) || !multiple) {\r\n return false;\r\n }\r\n return dates.some((date) => (dateOne.getDate() === date.getDate() &&\r\n dateOne.getFullYear() === date.getFullYear() &&\r\n dateOne.getMonth() === date.getMonth()));\r\n }\r\n return [\r\n ...this.monthCellClasses,\r\n {\r\n [this.computedClass('monthCellSelectedClass', 'o-dpck__month__cell--selected')]: dateMatch(day, this.modelValue, this.multiple) ||\r\n dateWithin(day, this.modelValue, this.multiple) ||\r\n dateMultipleSelected(day, this.multipleSelectedDates, this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellFirstSelectedClass', 'o-dpck__month__cell--first-selected')]: dateMatch(day, Array.isArray(this.modelValue) && this.modelValue[0], this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellWithinSelectedClass', 'o-dpck__month__cell--within-selected')]: dateWithin(day, this.modelValue, this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellLastSelectedClass', 'o-dpck__month__cell--last-selected')]: dateMatch(day, Array.isArray(this.modelValue) && this.modelValue[1], this.multiple)\r\n },\r\n {\r\n [this.computedClass('monthCellWithinHoveredRangeClass', 'o-dpck__month__cell--within-hovered-range')]: this.hoveredDateRange && this.hoveredDateRange.length === 2 &&\r\n (dateMatch(day, this.hoveredDateRange) ||\r\n dateWithin(day, this.hoveredDateRange))\r\n },\r\n {\r\n [this.computedClass('monthCellFirstHoveredClass', 'o-dpck__month__cell--first-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[0])\r\n },\r\n {\r\n [this.computedClass('monthCellWithinHoveredClass', 'o-dpck__month__cell--within-hovered')]: dateWithin(day, this.hoveredDateRange)\r\n },\r\n {\r\n [this.computedClass('monthCellLastHoveredClass', 'o-dpck__month__cell--last-hovered')]: dateMatch(day, Array.isArray(this.hoveredDateRange) && this.hoveredDateRange[1])\r\n },\r\n {\r\n [this.computedClass('monthCellTodayClass', 'o-dpck__month__cell--today')]: dateMatch(day, this.dateCreator())\r\n },\r\n {\r\n [this.computedClass('monthCellSelectableclass', 'o-dpck__month__cell--selectable')]: this.selectableDate(day) && !this.disabled\r\n },\r\n {\r\n [this.computedClass('monthCellUnselectableClass', 'o-dpck__month__cell--unselectable')]: !this.selectableDate(day) || this.disabled\r\n },\r\n {\r\n [this.computedClass('monthCellEventsClass', 'o-dpck__month__cell--events')]: this.hasEvents\r\n },\r\n ];\r\n },\r\n /*\r\n * Emit update:modelValue event with selected date as payload for v-model in parent\r\n */\r\n updateSelectedDate(date) {\r\n if (!this.range && !this.multiple) {\r\n this.emitChosenDate(date);\r\n }\r\n else if (this.range) {\r\n this.handleSelectRangeDate(date);\r\n }\r\n else if (this.multiple) {\r\n this.selectMultipleDates(date);\r\n }\r\n },\r\n /*\r\n * Emit select event with chosen date as payload\r\n */\r\n emitChosenDate(day) {\r\n if (this.disabled)\r\n return;\r\n if (!this.multiple) {\r\n if (this.selectableDate(day)) {\r\n this.$emit('update:modelValue', day);\r\n }\r\n }\r\n else {\r\n this.selectMultipleDates(day);\r\n }\r\n },\r\n /*\r\n * If both begin and end dates are set, reset the end date and set the begin date.\r\n * If only begin date is selected, emit an array of the begin date and the new date.\r\n * If not set, only set the begin date.\r\n */\r\n handleSelectRangeDate(date) {\r\n if (this.disabled)\r\n return;\r\n if (this.selectedBeginDate && this.selectedEndDate) {\r\n this.selectedBeginDate = date;\r\n this.selectedEndDate = undefined;\r\n this.$emit('range-start', date);\r\n }\r\n else if (this.selectedBeginDate && !this.selectedEndDate) {\r\n if (this.selectedBeginDate > date) {\r\n this.selectedEndDate = this.selectedBeginDate;\r\n this.selectedBeginDate = date;\r\n }\r\n else {\r\n this.selectedEndDate = date;\r\n }\r\n this.$emit('range-end', date);\r\n this.$emit('update:modelValue', [this.selectedBeginDate, this.selectedEndDate]);\r\n }\r\n else {\r\n this.selectedBeginDate = date;\r\n this.$emit('range-start', date);\r\n }\r\n },\r\n setRangeHoverEndDate(day) {\r\n if (this.range) {\r\n this.hoveredEndDate = day;\r\n }\r\n },\r\n changeFocus(month, inc) {\r\n const nextMonth = month;\r\n nextMonth.setMonth(month.getMonth() + inc);\r\n this.$emit('update:focused', nextMonth);\r\n }\r\n }\r\n};\n\nconst _hoisted_1 = {\n key: 0,\n class: \"events\"\n};\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"section\", {\n class: $options.monthClasses\n }, [createVNode(\"div\", {\n class: $options.monthBodyClasses\n }, [createVNode(\"div\", {\n class: $options.monthTableClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList($options.monthDates, (date, index) => {\n return openBlock(), createBlock(Fragment, {\n key: index\n }, [$options.selectableDate(date) && !$props.disabled ? (openBlock(), createBlock(\"a\", {\n key: 0,\n ref: `month-${date.getMonth()}`,\n class: $options.cellClasses(date),\n role: \"button\",\n href: \"#\",\n disabled: $props.disabled,\n onClick: withModifiers($event => $options.updateSelectedDate(date), [\"prevent\"]),\n onMouseenter: $event => $options.setRangeHoverEndDate(date),\n onKeydown: withModifiers($event => _ctx.manageKeydown($event, date), [\"prevent\"]),\n tabindex: $props.focused.month === date.getMonth() ? null : -1\n }, [createTextVNode(toDisplayString($props.monthNames[date.getMonth()]) + \" \", 1\n /* TEXT */\n ), $options.eventsDateMatch(date) ? (openBlock(), createBlock(\"div\", _hoisted_1, [(openBlock(true), createBlock(Fragment, null, renderList($options.eventsDateMatch(date), (event, index) => {\n return openBlock(), createBlock(\"div\", {\n class: [\"event\", event.type],\n key: index\n }, null, 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))])) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"disabled\", \"onClick\", \"onMouseenter\", \"onKeydown\", \"tabindex\"])) : (openBlock(), createBlock(\"div\", {\n key: 1,\n class: $options.cellClasses(date)\n }, toDisplayString($props.monthNames[date.getMonth()]), 3\n /* TEXT, CLASS */\n ))], 64\n /* STABLE_FRAGMENT */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript$2.render = render$2;\nscript$2.__file = \"src/components/datepicker/DatepickerMonth.vue\";\n\nconst defaultDateFormatter = (date, vm) => {\r\n const targetDates = Array.isArray(date) ? date : [date];\r\n const dates = targetDates.map((date) => {\r\n const d = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 12);\r\n return !vm.isTypeMonth ? vm.dtf.format(d) : vm.dtfMonth.format(d);\r\n });\r\n return !vm.multiple ? dates.join(' - ') : dates.join(', ');\r\n};\r\nconst defaultDateParser = (date, vm) => {\r\n if (vm.dtf.formatToParts && typeof vm.dtf.formatToParts === 'function') {\r\n const formatRegex = (vm.isTypeMonth ? vm.dtfMonth : vm.dtf)\r\n .formatToParts(new Date(2000, 11, 25)).map((part) => {\r\n if (part.type === 'literal') {\r\n return part.value;\r\n }\r\n return `((?!=<${part.type}>)\\\\d+)`;\r\n }).join('');\r\n const dateGroups = matchWithGroups(formatRegex, date);\r\n // We do a simple validation for the group.\r\n // If it is not valid, it will fallback to Date.parse below\r\n if (dateGroups.year &&\r\n dateGroups.year.length === 4 &&\r\n dateGroups.month &&\r\n dateGroups.month <= 12) {\r\n if (vm.isTypeMonth)\r\n return new Date(dateGroups.year, dateGroups.month - 1);\r\n else if (dateGroups.day && dateGroups.day <= 31) {\r\n return new Date(dateGroups.year, dateGroups.month - 1, dateGroups.day, 12);\r\n }\r\n }\r\n }\r\n // Fallback if formatToParts is not supported or if we were not able to parse a valid date\r\n if (!vm.isTypeMonth)\r\n return new Date(Date.parse(date));\r\n if (date) {\r\n const s = date.split('/');\r\n const year = s[0].length === 4 ? s[0] : s[1];\r\n const month = s[0].length === 2 ? s[0] : s[1];\r\n if (year && month) {\r\n return new Date(parseInt(year, 10), parseInt(month, 10) - 1, 1, 0, 0, 0, 0);\r\n }\r\n }\r\n return null;\r\n};\r\n/**\r\n * An input with a simple dropdown/modal for selecting a date, uses native datepicker for mobile\r\n * @displayName Datepicker\r\n * @style _datepicker.scss\r\n */\r\nvar script$3 = defineComponent({\r\n name: 'ODatepicker',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2,\r\n [script$4.name]: script$4,\r\n [script$5.name]: script$5,\r\n [script$6.name]: script$6,\r\n [script$7.name]: script$7,\r\n [script$8.name]: script$8,\r\n [script$9.name]: script$9\r\n },\r\n configField: 'datepicker',\r\n mixins: [BaseComponentMixin, FormElementMixin, MatchMediaMixin],\r\n inheritAttrs: false,\r\n provide() {\r\n return {\r\n $datepicker: this\r\n };\r\n },\r\n emits: ['update:modelValue', 'focus', 'blur', 'change-month', 'change-year', 'range-start', 'range-end', 'active-change', 'icon-right-click'],\r\n props: {\r\n modelValue: {\r\n type: [Date, Array]\r\n },\r\n dayNames: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.dayNames', undefined);\r\n }\r\n },\r\n monthNames: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.monthNames', undefined);\r\n }\r\n },\r\n firstDayOfWeek: {\r\n type: Number,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.firstDayOfWeek', 0);\r\n }\r\n },\r\n /**\r\n * Size of button, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n inline: Boolean,\r\n minDate: Date,\r\n maxDate: Date,\r\n focusedDate: Date,\r\n placeholder: String,\r\n editable: Boolean,\r\n disabled: Boolean,\r\n unselectableDates: [Array, Function],\r\n unselectableDaysOfWeek: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.unselectableDaysOfWeek', undefined);\r\n }\r\n },\r\n selectableDates: [Array, Function],\r\n dateFormatter: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const dateFormatter = getValueByPath(getOptions(), 'datepicker.dateFormatter', undefined);\r\n if (typeof dateFormatter === 'function') {\r\n return dateFormatter(date);\r\n }\r\n else {\r\n return defaultDateFormatter(date, vm);\r\n }\r\n }\r\n },\r\n dateParser: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const dateParser = getValueByPath(getOptions(), 'datepicker.dateParser', undefined);\r\n if (typeof dateParser === 'function') {\r\n return dateParser(date);\r\n }\r\n else {\r\n return defaultDateParser(date, vm);\r\n }\r\n }\r\n },\r\n dateCreator: {\r\n type: Function,\r\n default: () => {\r\n const dateCreator = getValueByPath(getOptions(), 'datepicker.dateCreator', undefined);\r\n if (typeof dateCreator === 'function') {\r\n return dateCreator();\r\n }\r\n else {\r\n return new Date();\r\n }\r\n }\r\n },\r\n mobileNative: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.mobileNative', true);\r\n }\r\n },\r\n position: String,\r\n iconRight: String,\r\n iconRightClickable: Boolean,\r\n events: Array,\r\n indicators: {\r\n type: String,\r\n default: 'dots'\r\n },\r\n openOnFocus: Boolean,\r\n iconPrev: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.iconPrev', 'chevron-left');\r\n }\r\n },\r\n iconNext: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.iconNext', 'chevron-right');\r\n }\r\n },\r\n yearsRange: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.yearsRange', [-100, 10]);\r\n }\r\n },\r\n type: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n 'month'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n nearbyMonthDays: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.nearbyMonthDays', true);\r\n }\r\n },\r\n nearbySelectableMonthDays: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.nearbySelectableMonthDays', false);\r\n }\r\n },\r\n showWeekNumber: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.showWeekNumber', false);\r\n }\r\n },\r\n weekNumberClickable: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.weekNumberClickable', false);\r\n }\r\n },\r\n rulesForFirstWeek: {\r\n type: Number,\r\n default: () => 4\r\n },\r\n range: {\r\n type: Boolean,\r\n default: false\r\n },\r\n closeOnClick: {\r\n type: Boolean,\r\n default: true\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false\r\n },\r\n mobileModal: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.mobileModal', true);\r\n }\r\n },\r\n trapFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.trapFocus', true);\r\n }\r\n },\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n appendToBody: Boolean,\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n boxClass: [String, Function, Array],\r\n headerClass: [String, Function, Array],\r\n headerButtonsClass: [String, Function, Array],\r\n headerButtonsSizeClass: [String, Function, Array],\r\n prevBtnClass: [String, Function, Array],\r\n nextBtnClass: [String, Function, Array],\r\n listsClass: [String, Function, Array],\r\n footerClass: [String, Function, Array],\r\n tableClass: [String, Function, Array],\r\n tableHeadClass: [String, Function, Array],\r\n tableHeadCellClass: [String, Function, Array],\r\n tableBodyClass: [String, Function, Array],\r\n tableRowClass: [String, Function, Array],\r\n tableCellClass: [String, Function, Array],\r\n tableCellSelectedClass: [String, Function, Array],\r\n tableCellFirstSelectedClass: [String, Function, Array],\r\n tableCellInvisibleClass: [String, Function, Array],\r\n tableCellWithinSelectedClass: [String, Function, Array],\r\n tableCellLastSelectedClass: [String, Function, Array],\r\n tableCellFirstHoveredClass: [String, Function, Array],\r\n tableCellWithinHoveredClass: [String, Function, Array],\r\n tableCellLastHoveredClass: [String, Function, Array],\r\n tableCellTodayClass: [String, Function, Array],\r\n tableCellSelectableClass: [String, Function, Array],\r\n tableCellUnselectableClass: [String, Function, Array],\r\n tableCellNearbyClass: [String, Function, Array],\r\n tableCellEventsClass: [String, Function, Array],\r\n tableEventsClass: [String, Function, Array],\r\n tableEventVariantClass: [String, Function, Array],\r\n tableEventClass: [String, Function, Array],\r\n tableEventIndicatorsClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n /* datapickermonth classes */\r\n monthClass: [String, Function, Array],\r\n monthBodyClass: [String, Function, Array],\r\n monthTableClass: [String, Function, Array],\r\n monthCellClass: [String, Function, Array],\r\n monthCellSelectedClass: [String, Function, Array],\r\n monthCellFirstSelectedClass: [String, Function, Array],\r\n monthCellWithinSelectedClass: [String, Function, Array],\r\n monthCellLastSelectedClass: [String, Function, Array],\r\n monthCellWithinHoveredRangeClass: [String, Function, Array],\r\n monthCellFirstHoveredClass: [String, Function, Array],\r\n monthCellWithinHoveredClass: [String, Function, Array],\r\n monthCellLastHoveredClass: [String, Function, Array],\r\n monthCellTodayClass: [String, Function, Array],\r\n monthCellSelectableClass: [String, Function, Array],\r\n monthCellUnselectableClass: [String, Function, Array],\r\n monthCellEventsClass: [String, Function, Array],\r\n inputClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.inputClasses', {});\r\n }\r\n },\r\n dropdownClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'datepicker.dropdownClasses', {});\r\n }\r\n },\r\n selectListClasses: Object\r\n },\r\n data() {\r\n const focusedDate = (Array.isArray(this.modelValue) ? this.modelValue[0] : (this.modelValue)) ||\r\n this.focusedDate || this.dateCreator();\r\n if (!this.modelValue && this.maxDate && this.maxDate.getFullYear() < focusedDate.getFullYear()) {\r\n focusedDate.setFullYear(this.maxDate.getFullYear());\r\n }\r\n return {\r\n dateSelected: this.modelValue,\r\n focusedDateData: {\r\n day: focusedDate.getDate(),\r\n month: focusedDate.getMonth(),\r\n year: focusedDate.getFullYear()\r\n }\r\n };\r\n },\r\n computed: {\r\n inputBind() {\r\n return {\r\n ...this.$attrs,\r\n ...this.inputClasses\r\n };\r\n },\r\n dropdownBind() {\r\n return {\r\n 'root-class': this.computedClass('dropdownClasses.rootClass', 'o-dpck__dropdown'),\r\n ...this.dropdownClasses\r\n };\r\n },\r\n selectListBind() {\r\n return {\r\n ...this.selectListClasses\r\n };\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-dpck'),\r\n { [this.computedClass('sizeClass', 'o-dpck--', this.size)]: this.size },\r\n { [this.computedClass('mobileClass', 'o-dpck--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n boxClasses() {\r\n return [\r\n this.computedClass('boxClass', 'o-dpck__box')\r\n ];\r\n },\r\n headerClasses() {\r\n return [\r\n this.computedClass('headerClass', 'o-dpck__header')\r\n ];\r\n },\r\n headerButtonsClasses() {\r\n return [\r\n this.computedClass('headerButtonsClass', 'o-dpck__header__buttons'),\r\n { [this.computedClass('headerButtonsSizeClass', 'o-dpck__header__buttons--', this.size)]: this.size },\r\n ];\r\n },\r\n prevBtnClasses() {\r\n return [\r\n this.computedClass('prevBtnClass', 'o-dpck__header__previous')\r\n ];\r\n },\r\n nextBtnClasses() {\r\n return [\r\n this.computedClass('nextBtnClass', 'o-dpck__header__next')\r\n ];\r\n },\r\n listsClasses() {\r\n return [\r\n this.computedClass('listsClass', 'o-dpck__header__list')\r\n ];\r\n },\r\n footerClasses() {\r\n return [\r\n this.computedClass('footerClass', 'o-dpck__footer')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.dateSelected;\r\n },\r\n set(value) {\r\n this.updateInternalState(value);\r\n if (!this.multiple)\r\n this.togglePicker(false);\r\n this.$emit('update:modelValue', value);\r\n if (this.useHtml5Validation) {\r\n this.$nextTick(() => {\r\n this.checkHtml5Validity();\r\n });\r\n }\r\n }\r\n },\r\n formattedValue() {\r\n return this.formatValue(this.computedValue);\r\n },\r\n localeOptions() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: 'numeric',\r\n month: 'numeric'\r\n }).resolvedOptions();\r\n },\r\n dtf() {\r\n return new Intl.DateTimeFormat(this.locale /*, { timeZone: 'UTC' }*/);\r\n },\r\n dtfMonth() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: this.localeOptions.year || 'numeric',\r\n month: this.localeOptions.month || '2-digit',\r\n });\r\n },\r\n newMonthNames() {\r\n if (Array.isArray(this.monthNames)) {\r\n return this.monthNames;\r\n }\r\n return getMonthNames(this.locale);\r\n },\r\n newDayNames() {\r\n if (Array.isArray(this.dayNames)) {\r\n return this.dayNames;\r\n }\r\n return getWeekdayNames(this.locale);\r\n },\r\n listOfMonths() {\r\n let minMonth = 0;\r\n let maxMonth = 12;\r\n if (this.minDate && this.focusedDateData.year === this.minDate.getFullYear()) {\r\n minMonth = this.minDate.getMonth();\r\n }\r\n if (this.maxDate && this.focusedDateData.year === this.maxDate.getFullYear()) {\r\n maxMonth = this.maxDate.getMonth();\r\n }\r\n return this.newMonthNames.map((name, index) => {\r\n return {\r\n name: name,\r\n index: index,\r\n disabled: index < minMonth || index > maxMonth\r\n };\r\n });\r\n },\r\n /*\r\n * Returns an array of years for the year dropdown. If earliest/latest\r\n * dates are set by props, range of years will fall within those dates.\r\n */\r\n listOfYears() {\r\n let latestYear = this.focusedDateData.year + this.yearsRange[1];\r\n if (this.maxDate && this.maxDate.getFullYear() < latestYear) {\r\n latestYear = Math.max(this.maxDate.getFullYear(), this.focusedDateData.year);\r\n }\r\n let earliestYear = this.focusedDateData.year + this.yearsRange[0];\r\n if (this.minDate && this.minDate.getFullYear() > earliestYear) {\r\n earliestYear = Math.min(this.minDate.getFullYear(), this.focusedDateData.year);\r\n }\r\n const arrayOfYears = [];\r\n for (let i = earliestYear; i <= latestYear; i++) {\r\n arrayOfYears.push(i);\r\n }\r\n return arrayOfYears.reverse();\r\n },\r\n showPrev() {\r\n if (!this.minDate)\r\n return false;\r\n if (this.isTypeMonth) {\r\n return this.focusedDateData.year <= this.minDate.getFullYear();\r\n }\r\n const dateToCheck = new Date(this.focusedDateData.year, this.focusedDateData.month);\r\n const date = new Date(this.minDate.getFullYear(), this.minDate.getMonth());\r\n return (dateToCheck <= date);\r\n },\r\n showNext() {\r\n if (!this.maxDate)\r\n return false;\r\n if (this.isTypeMonth) {\r\n return this.focusedDateData.year >= this.maxDate.getFullYear();\r\n }\r\n const dateToCheck = new Date(this.focusedDateData.year, this.focusedDateData.month);\r\n const date = new Date(this.maxDate.getFullYear(), this.maxDate.getMonth());\r\n return (dateToCheck >= date);\r\n },\r\n isMobile() {\r\n return this.mobileNative && isMobile.any();\r\n },\r\n isTypeMonth() {\r\n return this.type === 'month';\r\n },\r\n ariaRole() {\r\n return !this.inline ? 'dialog' : undefined;\r\n },\r\n $elementRef() {\r\n return 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Update internal value.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.updateInternalState(value);\r\n if (!this.multiple)\r\n this.togglePicker(false);\r\n },\r\n focusedDate(value) {\r\n if (value) {\r\n this.focusedDateData = {\r\n day: value.getDate(),\r\n month: value.getMonth(),\r\n year: value.getFullYear()\r\n };\r\n }\r\n },\r\n /*\r\n * Emit input event on month and/or year change\r\n */\r\n 'focusedDateData.month'(value) {\r\n this.$emit('change-month', value);\r\n },\r\n 'focusedDateData.year'(value) {\r\n this.$emit('change-year', value);\r\n }\r\n },\r\n methods: {\r\n /*\r\n * Parse string into date\r\n */\r\n onChange(value) {\r\n const date = this.dateParser(value, this);\r\n if (date && (!isNaN(date) ||\r\n (Array.isArray(date) && date.length === 2 && !isNaN(date[0]) && !isNaN(date[1])))) {\r\n this.computedValue = date;\r\n }\r\n else {\r\n // Force refresh input value when not valid date\r\n this.computedValue = null;\r\n if (this.$refs.input) {\r\n this.$refs.input.newValue = this.computedValue;\r\n }\r\n }\r\n },\r\n /*\r\n * Format date into string\r\n */\r\n formatValue(value) {\r\n if (Array.isArray(value)) {\r\n const isArrayWithValidDates = Array.isArray(value) && value.every((v) => !isNaN(v));\r\n return isArrayWithValidDates ? this.dateFormatter([...value], this) : null;\r\n }\r\n return (value && !isNaN(value)) ? this.dateFormatter(value, this) : null;\r\n },\r\n /*\r\n * Either decrement month by 1 if not January or decrement year by 1\r\n * and set month to 11 (December) or decrement year when 'month'\r\n */\r\n prev() {\r\n if (this.disabled)\r\n return;\r\n if (this.isTypeMonth) {\r\n this.focusedDateData.year -= 1;\r\n }\r\n else {\r\n if (this.focusedDateData.month > 0) {\r\n this.focusedDateData.month -= 1;\r\n }\r\n else {\r\n this.focusedDateData.month = 11;\r\n this.focusedDateData.year -= 1;\r\n }\r\n }\r\n },\r\n /*\r\n * Either increment month by 1 if not December or increment year by 1\r\n * and set month to 0 (January) or increment year when 'month'\r\n */\r\n next() {\r\n if (this.disabled)\r\n return;\r\n if (this.isTypeMonth) {\r\n this.focusedDateData.year += 1;\r\n }\r\n else {\r\n if (this.focusedDateData.month < 11) {\r\n this.focusedDateData.month += 1;\r\n }\r\n else {\r\n this.focusedDateData.month = 0;\r\n this.focusedDateData.year += 1;\r\n }\r\n }\r\n },\r\n formatNative(value) {\r\n return this.isTypeMonth\r\n ? this.formatYYYYMM(value) : this.formatYYYYMMDD(value);\r\n },\r\n /*\r\n * Format date into string 'YYYY-MM-DD'\r\n */\r\n formatYYYYMMDD(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n return year + '-' +\r\n ((month < 10 ? '0' : '') + month) + '-' +\r\n ((day < 10 ? '0' : '') + day);\r\n }\r\n return '';\r\n },\r\n /*\r\n * Format date into string 'YYYY-MM'\r\n */\r\n formatYYYYMM(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n return year + '-' +\r\n ((month < 10 ? '0' : '') + month);\r\n }\r\n return '';\r\n },\r\n /*\r\n * Parse date from string\r\n */\r\n onChangeNativePicker(event) {\r\n const date = event.target.value;\r\n const s = date ? date.split('-') : [];\r\n if (s.length === 3) {\r\n const year = parseInt(s[0], 10);\r\n const month = parseInt(s[1]) - 1;\r\n const day = parseInt(s[2]);\r\n this.computedValue = new Date(year, month, day);\r\n }\r\n else {\r\n this.computedValue = null;\r\n }\r\n },\r\n updateInternalState(value) {\r\n if (this.dateSelected === value)\r\n return;\r\n const isArray = Array.isArray(value);\r\n const currentDate = isArray\r\n ? (!value.length ? this.dateCreator() : value[value.length - 1])\r\n : (!value ? this.dateCreator() : value);\r\n if (!isArray || (isArray && this.dateSelected && value.length > this.dateSelected.length)) {\r\n this.focusedDateData = {\r\n day: currentDate.getDate(),\r\n month: currentDate.getMonth(),\r\n year: currentDate.getFullYear()\r\n };\r\n }\r\n this.dateSelected = value;\r\n },\r\n /*\r\n * Toggle datepicker\r\n */\r\n togglePicker(active) {\r\n if (this.$refs.dropdown) {\r\n const isActive = typeof active === 'boolean'\r\n ? active\r\n : !this.$refs.dropdown.isActive;\r\n if (isActive) {\r\n this.$refs.dropdown.isActive = isActive;\r\n }\r\n else if (this.closeOnClick) {\r\n this.$refs.dropdown.isActive = isActive;\r\n }\r\n }\r\n },\r\n /*\r\n * Call default onFocus method and show datepicker\r\n */\r\n handleOnFocus(event) {\r\n this.onFocus(event);\r\n if (this.openOnFocus) {\r\n this.togglePicker(true);\r\n }\r\n },\r\n /*\r\n * Toggle dropdown\r\n */\r\n toggle() {\r\n if (this.mobileNative && this.isMobile) {\r\n const input = this.$refs.input.$refs.input;\r\n input.focus();\r\n input.click();\r\n return;\r\n }\r\n this.$refs.dropdown.toggle();\r\n },\r\n /*\r\n * Avoid dropdown toggle when is already visible\r\n */\r\n onInputClick(event) {\r\n if (this.$refs.dropdown.isActive) {\r\n event.stopPropagation();\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.$refs.dropdown && this.$refs.dropdown.isActive && (key === 'Escape' || key === 'Esc')) {\r\n this.togglePicker(false);\r\n }\r\n },\r\n /**\r\n * Emit 'blur' event on dropdown is not active (closed)\r\n */\r\n onActiveChange(value) {\r\n if (!value) {\r\n this.onBlur();\r\n }\r\n this.$emit('active-change', value);\r\n },\r\n changeFocus(day) {\r\n this.focusedDateData = {\r\n day: day.getDate(),\r\n month: day.getMonth(),\r\n year: day.getFullYear()\r\n };\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n }\r\n});\n\nfunction render$3(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_input = resolveComponent(\"o-input\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_select = resolveComponent(\"o-select\");\n\n const _component_o_datepicker_table = resolveComponent(\"o-datepicker-table\");\n\n const _component_o_datepicker_month = resolveComponent(\"o-datepicker-month\");\n\n const _component_o_dropdown_item = resolveComponent(\"o-dropdown-item\");\n\n const _component_o_dropdown = resolveComponent(\"o-dropdown\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [!_ctx.isMobile || _ctx.inline ? createVNode(_component_o_dropdown, mergeProps({\n key: 0,\n ref: \"dropdown\"\n }, _ctx.dropdownBind, {\n position: _ctx.position,\n disabled: _ctx.disabled,\n inline: _ctx.inline,\n \"mobile-modal\": _ctx.mobileModal,\n \"trap-focus\": _ctx.trapFocus,\n \"aria-role\": _ctx.ariaRole,\n \"aria-modal\": !_ctx.inline,\n \"trigger-tabindex\": -1,\n \"append-to-body\": _ctx.appendToBody,\n \"append-to-body-copy-parent\": \"\",\n \"onActive-change\": _ctx.onActiveChange\n }), createSlots({\n default: withCtx(() => [createVNode(_component_o_dropdown_item, {\n override: \"\",\n tag: \"div\",\n \"item-class\": _ctx.boxClasses,\n disabled: _ctx.disabled,\n clickable: false\n }, {\n default: withCtx(() => [createVNode(\"header\", {\n class: _ctx.headerClasses\n }, [renderSlot(_ctx.$slots, \"header\", {}, () => [createVNode(\"div\", {\n class: _ctx.headerButtonsClasses\n }, [withDirectives(createVNode(\"a\", {\n class: _ctx.prevBtnClasses,\n role: \"button\",\n href: \"#\",\n \"aria-label\": _ctx.ariaPreviousLabel,\n onClick: _cache[4] || (_cache[4] = withModifiers((...args) => _ctx.prev(...args), [\"prevent\"])),\n onKeydown: [_cache[5] || (_cache[5] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"enter\"])), _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"space\"]))]\n }, [createVNode(_component_o_icon, {\n icon: _ctx.iconPrev,\n pack: _ctx.iconPack,\n both: \"\",\n clickable: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"aria-label\"]), [[vShow, !_ctx.showPrev && !_ctx.disabled]]), withDirectives(createVNode(\"a\", {\n class: _ctx.nextBtnClasses,\n role: \"button\",\n href: \"#\",\n \"aria-label\": _ctx.ariaNextLabel,\n onClick: _cache[7] || (_cache[7] = withModifiers((...args) => _ctx.next(...args), [\"prevent\"])),\n onKeydown: [_cache[8] || (_cache[8] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"enter\"])), _cache[9] || (_cache[9] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"space\"]))]\n }, [createVNode(_component_o_icon, {\n icon: _ctx.iconNext,\n pack: _ctx.iconPack,\n both: \"\",\n clickable: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"aria-label\"]), [[vShow, !_ctx.showNext && !_ctx.disabled]]), createVNode(\"div\", {\n class: _ctx.listsClasses\n }, [!_ctx.isTypeMonth ? createVNode(_component_o_select, mergeProps({\n key: 0,\n modelValue: _ctx.focusedDateData.month,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => _ctx.focusedDateData.month = $event),\n disabled: _ctx.disabled,\n size: _ctx.size\n }, _ctx.selectListBind), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.listOfMonths, month => {\n return openBlock(), createBlock(\"option\", {\n value: month.index,\n key: month.name,\n disabled: month.disabled\n }, toDisplayString(month.name), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\", \"size\"]) : createCommentVNode(\"v-if\", true), createVNode(_component_o_select, mergeProps({\n modelValue: _ctx.focusedDateData.year,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => _ctx.focusedDateData.year = $event),\n disabled: _ctx.disabled,\n size: _ctx.size\n }, _ctx.selectListBind), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.listOfYears, year => {\n return openBlock(), createBlock(\"option\", {\n value: year,\n key: year\n }, toDisplayString(year), 9\n /* TEXT, PROPS */\n , [\"value\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\", \"size\"])], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )])], 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"table\", {}, () => [!_ctx.isTypeMonth ? createVNode(_component_o_datepicker_table, {\n key: 0,\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => _ctx.computedValue = $event),\n \"day-names\": _ctx.newDayNames,\n \"month-names\": _ctx.newMonthNames,\n \"first-day-of-week\": _ctx.firstDayOfWeek,\n \"rules-for-first-week\": _ctx.rulesForFirstWeek,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n focused: _ctx.focusedDateData,\n disabled: _ctx.disabled,\n \"unselectable-dates\": _ctx.unselectableDates,\n \"unselectable-days-of-week\": _ctx.unselectableDaysOfWeek,\n \"selectable-dates\": _ctx.selectableDates,\n events: _ctx.events,\n indicators: _ctx.indicators,\n \"date-creator\": _ctx.dateCreator,\n \"type-month\": _ctx.isTypeMonth,\n \"nearby-month-days\": _ctx.nearbyMonthDays,\n \"nearby-selectable-month-days\": _ctx.nearbySelectableMonthDays,\n \"show-week-number\": _ctx.showWeekNumber,\n \"week-number-clickable\": _ctx.weekNumberClickable,\n range: _ctx.range,\n multiple: _ctx.multiple,\n \"table-class\": _ctx.tableClass,\n \"table-head-class\": _ctx.tableHeadClass,\n \"table-head-cell-class\": _ctx.tableHeadCellClass,\n \"table-body-class\": _ctx.tableBodyClass,\n \"table-row-class\": _ctx.tableRowClass,\n \"table-cell-class\": _ctx.tableCellClass,\n \"table-cell-selected-class\": _ctx.tableCellSelectedClass,\n \"table-cell-first-selected-class\": _ctx.tableCellFirstSelectedClass,\n \"table-cell-invisible-class\": _ctx.tableCellInvisibleClass,\n \"table-cell-within-selected-class\": _ctx.tableCellWithinSelectedClass,\n \"table-cell-last-selected-class\": _ctx.tableCellLastSelectedClass,\n \"table-cell-first-hovered-class\": _ctx.tableCellFirstHoveredClass,\n \"table-cell-within-hovered-class\": _ctx.tableCellWithinHoveredClass,\n \"table-cell-last-hovered-class\": _ctx.tableCellLastHoveredClass,\n \"table-cell-today-class\": _ctx.tableCellTodayClass,\n \"table-cell-selectable-class\": _ctx.tableCellSelectableClass,\n \"table-cell-unselectable-class\": _ctx.tableCellUnselectableClass,\n \"table-cell-nearby-class\": _ctx.tableCellNearbyClass,\n \"table-cell-events-class\": _ctx.tableCellEventsClass,\n \"table-events-class\": _ctx.tableEventsClass,\n \"table-event-variant-class\": _ctx.tableEventVariantClass,\n \"table-event-class\": _ctx.tableEventClass,\n \"table-event-indicators-class\": _ctx.tableEventIndicatorsClass,\n \"onRange-start\": _cache[13] || (_cache[13] = date => _ctx.$emit('range-start', date)),\n \"onRange-end\": _cache[14] || (_cache[14] = date => _ctx.$emit('range-end', date)),\n onClose: _cache[15] || (_cache[15] = $event => _ctx.togglePicker(false)),\n \"onUpdate:focused\": _cache[16] || (_cache[16] = $event => _ctx.focusedDateData = $event)\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"day-names\", \"month-names\", \"first-day-of-week\", \"rules-for-first-week\", \"min-date\", \"max-date\", \"focused\", \"disabled\", \"unselectable-dates\", \"unselectable-days-of-week\", \"selectable-dates\", \"events\", \"indicators\", \"date-creator\", \"type-month\", \"nearby-month-days\", \"nearby-selectable-month-days\", \"show-week-number\", \"week-number-clickable\", \"range\", \"multiple\", \"table-class\", \"table-head-class\", \"table-head-cell-class\", \"table-body-class\", \"table-row-class\", \"table-cell-class\", \"table-cell-selected-class\", \"table-cell-first-selected-class\", \"table-cell-invisible-class\", \"table-cell-within-selected-class\", \"table-cell-last-selected-class\", \"table-cell-first-hovered-class\", \"table-cell-within-hovered-class\", \"table-cell-last-hovered-class\", \"table-cell-today-class\", \"table-cell-selectable-class\", \"table-cell-unselectable-class\", \"table-cell-nearby-class\", \"table-cell-events-class\", \"table-events-class\", \"table-event-variant-class\", \"table-event-class\", \"table-event-indicators-class\"]) : createCommentVNode(\"v-if\", true), _ctx.isTypeMonth ? createVNode(_component_o_datepicker_month, {\n key: 1,\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => _ctx.computedValue = $event),\n \"month-names\": _ctx.newMonthNames,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n focused: _ctx.focusedDateData,\n disabled: _ctx.disabled,\n \"unselectable-dates\": _ctx.unselectableDates,\n \"unselectable-days-of-week\": _ctx.unselectableDaysOfWeek,\n \"selectable-dates\": _ctx.selectableDates,\n events: _ctx.events,\n indicators: _ctx.indicators,\n \"date-creator\": _ctx.dateCreator,\n range: _ctx.range,\n multiple: _ctx.multiple,\n \"month-class\": _ctx.monthClass,\n \"month-body-class\": _ctx.monthBodyClass,\n \"month-table-class\": _ctx.monthTableClass,\n \"month-cell-class\": _ctx.monthCellClass,\n \"month-cell-selected-class\": _ctx.monthCellSelectedClass,\n \"month-cell-first-selected-class\": _ctx.monthCellFirstSelectedClass,\n \"month-cell-within-selected-class\": _ctx.monthCellWithinSelectedClass,\n \"month-cell-last-selected-class\": _ctx.monthCellLastSelectedClass,\n \"month-cell-within-hovered-range-class\": _ctx.monthCellWithinHoveredRangeClass,\n \"month-cell-first-hovered-class\": _ctx.monthCellFirstHoveredClass,\n \"month-cell-within-hovered-class\": _ctx.monthCellWithinHoveredClass,\n \"month-cell-last-hovered-class\": _ctx.monthCellLastHoveredClass,\n \"month-cell-today-class\": _ctx.monthCellTodayClass,\n \"month-cell-selectable-class\": _ctx.monthCellSelectableClass,\n \"month-cell-unselectable-class\": _ctx.monthCellUnselectableClass,\n \"month-cell-events-class\": _ctx.monthCellEventsClass,\n \"onRange-start\": _cache[18] || (_cache[18] = date => _ctx.$emit('range-start', date)),\n \"onRange-end\": _cache[19] || (_cache[19] = date => _ctx.$emit('range-end', date)),\n onClose: _cache[20] || (_cache[20] = $event => _ctx.togglePicker(false)),\n \"onChange-focus\": _ctx.changeFocus,\n \"onUpdate:focused\": _cache[21] || (_cache[21] = $event => _ctx.focusedDateData = $event)\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"month-names\", \"min-date\", \"max-date\", \"focused\", \"disabled\", \"unselectable-dates\", \"unselectable-days-of-week\", \"selectable-dates\", \"events\", \"indicators\", \"date-creator\", \"range\", \"multiple\", \"month-class\", \"month-body-class\", \"month-table-class\", \"month-cell-class\", \"month-cell-selected-class\", \"month-cell-first-selected-class\", \"month-cell-within-selected-class\", \"month-cell-last-selected-class\", \"month-cell-within-hovered-range-class\", \"month-cell-first-hovered-class\", \"month-cell-within-hovered-class\", \"month-cell-last-hovered-class\", \"month-cell-today-class\", \"month-cell-selectable-class\", \"month-cell-unselectable-class\", \"month-cell-events-class\", \"onChange-focus\"]) : createCommentVNode(\"v-if\", true)]), _ctx.$slots.footer !== undefined ? (openBlock(), createBlock(\"footer\", {\n key: 0,\n class: _ctx.footerClasses\n }, [renderSlot(_ctx.$slots, \"footer\")], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 3\n }, 8\n /* PROPS */\n , [\"item-class\", \"disabled\"])]),\n _: 2\n }, [!_ctx.inline ? {\n name: \"trigger\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"trigger\", {}, () => [createVNode(_component_o_input, mergeProps({\n ref: \"input\",\n autocomplete: \"off\",\n \"model-value\": _ctx.formattedValue,\n expanded: _ctx.expanded,\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-right\": _ctx.iconRight,\n \"icon-right-clickable\": _ctx.iconRightClickable,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n disabled: _ctx.disabled,\n readonly: !_ctx.editable\n }, _ctx.inputBind, {\n \"use-html5-validation\": false,\n onClick: _ctx.onInputClick,\n \"onIcon-right-click\": _cache[1] || (_cache[1] = $event => _ctx.$emit('icon-right-click')),\n onKeyup: _cache[2] || (_cache[2] = withKeys($event => _ctx.togglePicker(true), [\"enter\"])),\n onChange: _cache[3] || (_cache[3] = $event => _ctx.onChange($event.target.value)),\n onFocus: _ctx.handleOnFocus\n }), null, 16\n /* FULL_PROPS */\n , [\"model-value\", \"expanded\", \"placeholder\", \"size\", \"icon\", \"icon-right\", \"icon-right-clickable\", \"icon-pack\", \"rounded\", \"disabled\", \"readonly\", \"onClick\", \"onFocus\"])])])\n } : undefined]), 1040\n /* FULL_PROPS, DYNAMIC_SLOTS */\n , [\"position\", \"disabled\", \"inline\", \"mobile-modal\", \"trap-focus\", \"aria-role\", \"aria-modal\", \"append-to-body\", \"onActive-change\"]) : createVNode(_component_o_input, mergeProps({\n key: 1,\n ref: \"input\",\n type: !_ctx.isTypeMonth ? 'date' : 'month',\n autocomplete: \"off\",\n value: _ctx.formatNative(_ctx.computedValue),\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n max: _ctx.formatNative(_ctx.maxDate),\n min: _ctx.formatNative(_ctx.minDate),\n disabled: _ctx.disabled,\n readonly: false\n }, _ctx.$attrs, {\n \"use-html5-validation\": false,\n onChange: _ctx.onChangeNativePicker,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.onBlur\n }), null, 16\n /* FULL_PROPS */\n , [\"type\", \"value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"rounded\", \"max\", \"min\", \"disabled\", \"onChange\", \"onFocus\", \"onBlur\"])], 2\n /* CLASS */\n );\n}\n\nscript$3.render = render$3;\nscript$3.__file = \"src/components/datepicker/Datepicker.vue\";\n\nexport { script$3 as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport './DropdownItem-c744c4e9.mjs';\nimport './Field-937b4591.mjs';\nimport './Select-2cca695f.mjs';\nimport { s as script } from './Datepicker-42aca091.mjs';\nexport { s as ODatepicker } from './Datepicker-42aca091.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, mergeProps, createSlots, withCtx, Fragment, renderList, toDisplayString, createCommentVNode, renderSlot, withKeys } from 'vue';\nimport { getValueByPath, isMobile, matchWithGroups } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$3 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { s as script$1 } from './Input-19e906a1.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { s as script$4, a as script$5 } from './DropdownItem-c744c4e9.mjs';\nimport { s as script$2 } from './Select-2cca695f.mjs';\n\nconst AM = 'AM';\r\nconst PM = 'PM';\r\nconst HOUR_FORMAT_24 = '24';\r\nconst HOUR_FORMAT_12 = '12';\r\nconst defaultTimeFormatter = (date, vm) => {\r\n return vm.dtf.format(date);\r\n};\r\nconst defaultTimeParser = (timeString, vm) => {\r\n if (timeString) {\r\n let d = null;\r\n if (vm.computedValue && !isNaN(vm.computedValue)) {\r\n d = new Date(vm.computedValue);\r\n }\r\n else {\r\n d = vm.timeCreator();\r\n d.setMilliseconds(0);\r\n }\r\n if (vm.dtf.formatToParts && typeof vm.dtf.formatToParts === 'function') {\r\n const formatRegex = vm.dtf\r\n .formatToParts(d).map((part) => {\r\n if (part.type === 'literal') {\r\n return part.value.replace(/ /g, '\\\\s?');\r\n }\r\n else if (part.type === 'dayPeriod') {\r\n return `((?!=<${part.type}>)(${vm.amString}|${vm.pmString}|${AM}|${PM}|${AM.toLowerCase()}|${PM.toLowerCase()})?)`;\r\n }\r\n return `((?!=<${part.type}>)\\\\d+)`;\r\n }).join('');\r\n const timeGroups = matchWithGroups(formatRegex, timeString);\r\n // We do a simple validation for the group.\r\n // If it is not valid, it will fallback to Date.parse below\r\n timeGroups.hour = timeGroups.hour ? parseInt(timeGroups.hour, 10) : null;\r\n timeGroups.minute = timeGroups.minute ? parseInt(timeGroups.minute, 10) : null;\r\n timeGroups.second = timeGroups.second ? parseInt(timeGroups.second, 10) : null;\r\n if (timeGroups.hour &&\r\n timeGroups.hour >= 0 &&\r\n timeGroups.hour < 24 &&\r\n timeGroups.minute &&\r\n timeGroups.minute >= 0 &&\r\n timeGroups.minute < 59) {\r\n if (timeGroups.dayPeriod &&\r\n (timeGroups.dayPeriod.toLowerCase() === vm.pmString.toLowerCase() ||\r\n timeGroups.dayPeriod.toLowerCase() === PM.toLowerCase()) &&\r\n timeGroups.hour < 12) {\r\n timeGroups.hour += 12;\r\n }\r\n d.setHours(timeGroups.hour);\r\n d.setMinutes(timeGroups.minute);\r\n d.setSeconds(timeGroups.second || 0);\r\n return d;\r\n }\r\n }\r\n // Fallback if formatToParts is not supported or if we were not able to parse a valid date\r\n let am = false;\r\n if (vm.hourFormat === HOUR_FORMAT_12) {\r\n const dateString12 = timeString.split(' ');\r\n timeString = dateString12[0];\r\n am = (dateString12[1] === vm.amString || dateString12[1] === AM);\r\n }\r\n const time = timeString.split(':');\r\n let hours = parseInt(time[0], 10);\r\n const minutes = parseInt(time[1], 10);\r\n const seconds = vm.enableSeconds ? parseInt(time[2], 10) : 0;\r\n if (isNaN(hours) || hours < 0 || hours > 23 ||\r\n (vm.hourFormat === HOUR_FORMAT_12 && (hours < 1 || hours > 12)) ||\r\n isNaN(minutes) || minutes < 0 || minutes > 59) {\r\n return null;\r\n }\r\n d.setSeconds(seconds);\r\n d.setMinutes(minutes);\r\n if (vm.hourFormat === HOUR_FORMAT_12) {\r\n if (am && hours === 12) {\r\n hours = 0;\r\n }\r\n else if (!am && hours !== 12) {\r\n hours += 12;\r\n }\r\n }\r\n d.setHours(hours);\r\n return new Date(d.getTime());\r\n }\r\n return null;\r\n};\r\nvar TimepickerMixin = defineComponent({\r\n mixins: [FormElementMixin],\r\n inheritAttrs: false,\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: Date,\r\n inline: Boolean,\r\n minTime: Date,\r\n maxTime: Date,\r\n placeholder: String,\r\n editable: Boolean,\r\n disabled: Boolean,\r\n /**\r\n * Size of button, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n hourFormat: {\r\n type: String\r\n },\r\n incrementHours: {\r\n type: Number,\r\n default: 1\r\n },\r\n incrementMinutes: {\r\n type: Number,\r\n default: 1\r\n },\r\n incrementSeconds: {\r\n type: Number,\r\n default: 1\r\n },\r\n timeFormatter: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const timeFormatter = getValueByPath(getOptions(), 'timepicker.timeFormatter', undefined);\r\n if (typeof timeFormatter === 'function') {\r\n return timeFormatter(date);\r\n }\r\n else {\r\n return defaultTimeFormatter(date, vm);\r\n }\r\n }\r\n },\r\n timeParser: {\r\n type: Function,\r\n default: (date, vm) => {\r\n const timeParser = getValueByPath(getOptions(), 'timepicker.timeParser', undefined);\r\n if (typeof timeParser === 'function') {\r\n return timeParser(date);\r\n }\r\n else {\r\n return defaultTimeParser(date, vm);\r\n }\r\n }\r\n },\r\n mobileNative: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.mobileNative', true);\r\n }\r\n },\r\n timeCreator: {\r\n type: Function,\r\n default: () => {\r\n const timeCreator = getValueByPath(getOptions(), 'timepicker.timeCreator', undefined);\r\n if (typeof timeCreator === 'function') {\r\n return timeCreator();\r\n }\r\n else {\r\n return new Date();\r\n }\r\n }\r\n },\r\n position: String,\r\n unselectableTimes: Array,\r\n openOnFocus: Boolean,\r\n enableSeconds: Boolean,\r\n defaultMinutes: Number,\r\n defaultSeconds: Number,\r\n appendToBody: Boolean,\r\n resetOnMeridianChange: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n dateSelected: this.modelValue,\r\n hoursSelected: null,\r\n minutesSelected: null,\r\n secondsSelected: null,\r\n meridienSelected: null,\r\n _elementRef: 'input'\r\n };\r\n },\r\n computed: {\r\n computedValue: {\r\n get() {\r\n return this.dateSelected;\r\n },\r\n set(value) {\r\n this.dateSelected = value;\r\n this.$emit('update:modelValue', this.dateSelected);\r\n }\r\n },\r\n localeOptions() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n second: this.enableSeconds ? 'numeric' : undefined\r\n }).resolvedOptions();\r\n },\r\n dtf() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n hour: this.localeOptions.hour || 'numeric',\r\n minute: this.localeOptions.minute || 'numeric',\r\n second: this.enableSeconds ? this.localeOptions.second || 'numeric' : undefined,\r\n // @ts-ignore to update types\r\n hourCycle: !this.isHourFormat24 ? 'h12' : 'h23'\r\n });\r\n },\r\n newHourFormat() {\r\n return this.hourFormat || (this.localeOptions.hour12 ? HOUR_FORMAT_12 : HOUR_FORMAT_24);\r\n },\r\n sampleTime() {\r\n let d = this.timeCreator();\r\n d.setHours(10);\r\n d.setSeconds(0);\r\n d.setMinutes(0);\r\n d.setMilliseconds(0);\r\n return d;\r\n },\r\n hourLiteral() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n const parts = this.dtf.formatToParts(d);\r\n const literal = parts.find((part, idx) => (idx > 0 && parts[idx - 1].type === 'hour'));\r\n if (literal) {\r\n return literal.value;\r\n }\r\n }\r\n return ':';\r\n },\r\n minuteLiteral() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n const parts = this.dtf.formatToParts(d);\r\n const literal = parts.find((part, idx) => (idx > 0 && parts[idx - 1].type === 'minute'));\r\n if (literal) {\r\n return literal.value;\r\n }\r\n }\r\n return ':';\r\n },\r\n secondLiteral() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n const parts = this.dtf.formatToParts(d);\r\n const literal = parts.find((part, idx) => (idx > 0 && parts[idx - 1].type === 'second'));\r\n if (literal) {\r\n return literal.value;\r\n }\r\n }\r\n },\r\n amString() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n d.setHours(10);\r\n const dayPeriod = this.dtf.formatToParts(d).find((part) => part.type === 'dayPeriod');\r\n if (dayPeriod) {\r\n return dayPeriod.value;\r\n }\r\n }\r\n return AM;\r\n },\r\n pmString() {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let d = this.sampleTime;\r\n d.setHours(20);\r\n const dayPeriod = this.dtf.formatToParts(d).find((part) => part.type === 'dayPeriod');\r\n if (dayPeriod) {\r\n return dayPeriod.value;\r\n }\r\n }\r\n return PM;\r\n },\r\n hours() {\r\n if (!this.incrementHours || this.incrementHours < 1)\r\n throw new Error('Hour increment cannot be null or less than 1.');\r\n const hours = [];\r\n const numberOfHours = this.isHourFormat24 ? 24 : 12;\r\n for (let i = 0; i < numberOfHours; i += this.incrementHours) {\r\n let value = i;\r\n let label = value;\r\n if (!this.isHourFormat24) {\r\n value = (i + 1);\r\n label = value;\r\n if (this.meridienSelected === this.amString) {\r\n if (value === 12) {\r\n value = 0;\r\n }\r\n }\r\n else if (this.meridienSelected === this.pmString) {\r\n if (value !== 12) {\r\n value += 12;\r\n }\r\n }\r\n }\r\n hours.push({\r\n label: this.formatNumber(label),\r\n value: value\r\n });\r\n }\r\n return hours;\r\n },\r\n minutes() {\r\n if (!this.incrementMinutes || this.incrementMinutes < 1)\r\n throw new Error('Minute increment cannot be null or less than 1.');\r\n const minutes = [];\r\n for (let i = 0; i < 60; i += this.incrementMinutes) {\r\n minutes.push({\r\n label: this.formatNumber(i, true),\r\n value: i\r\n });\r\n }\r\n return minutes;\r\n },\r\n seconds() {\r\n if (!this.incrementSeconds || this.incrementSeconds < 1)\r\n throw new Error('Second increment cannot be null or less than 1.');\r\n const seconds = [];\r\n for (let i = 0; i < 60; i += this.incrementSeconds) {\r\n seconds.push({\r\n label: this.formatNumber(i, true),\r\n value: i\r\n });\r\n }\r\n return seconds;\r\n },\r\n meridiens() {\r\n return [this.amString, this.pmString];\r\n },\r\n isMobile() {\r\n return this.mobileNative && isMobile.any();\r\n },\r\n isHourFormat24() {\r\n return this.newHourFormat === HOUR_FORMAT_24;\r\n }\r\n },\r\n watch: {\r\n hourFormat() {\r\n if (this.hoursSelected !== null) {\r\n this.meridienSelected = this.hoursSelected >= 12 ? this.pmString : this.amString;\r\n }\r\n },\r\n locale() {\r\n // see updateInternalState default\r\n if (!this.value) {\r\n this.meridienSelected = this.amString;\r\n }\r\n },\r\n /**\r\n * When v-model is changed:\r\n * 1. Update internal value.\r\n * 2. If it's invalid, validate again.\r\n */\r\n modelValue: {\r\n handler(value) {\r\n this.updateInternalState(value);\r\n !this.isValid && this.$refs.input.checkHtml5Validity();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n onMeridienChange(value) {\r\n if (this.hoursSelected !== null && this.resetOnMeridianChange) {\r\n this.hoursSelected = null;\r\n this.minutesSelected = null;\r\n this.secondsSelected = null;\r\n this.computedValue = null;\r\n }\r\n else if (this.hoursSelected !== null) {\r\n if (value === this.pmString) {\r\n this.hoursSelected += 12;\r\n }\r\n else if (value === this.amString) {\r\n this.hoursSelected -= 12;\r\n }\r\n }\r\n this.updateDateSelected(this.hoursSelected, this.minutesSelected, this.enableSeconds ? this.secondsSelected : 0, value);\r\n },\r\n onHoursChange(value) {\r\n if (!this.minutesSelected && typeof this.defaultMinutes !== 'undefined') {\r\n this.minutesSelected = this.defaultMinutes;\r\n }\r\n if (!this.secondsSelected && typeof this.defaultSeconds !== 'undefined') {\r\n this.secondsSelected = this.defaultSeconds;\r\n }\r\n this.updateDateSelected(parseInt(value, 10), this.minutesSelected, this.enableSeconds ? this.secondsSelected : 0, this.meridienSelected);\r\n },\r\n onMinutesChange(value) {\r\n if (!this.secondsSelected && this.defaultSeconds) {\r\n this.secondsSelected = this.defaultSeconds;\r\n }\r\n this.updateDateSelected(this.hoursSelected, parseInt(value, 10), this.enableSeconds ? this.secondsSelected : 0, this.meridienSelected);\r\n },\r\n onSecondsChange(value) {\r\n this.updateDateSelected(this.hoursSelected, this.minutesSelected, parseInt(value, 10), this.meridienSelected);\r\n },\r\n updateDateSelected(hours, minutes, seconds, meridiens) {\r\n if (hours != null && minutes != null &&\r\n ((!this.isHourFormat24 && meridiens !== null) || this.isHourFormat24)) {\r\n let time = null;\r\n if (this.computedValue && !isNaN(this.computedValue)) {\r\n time = new Date(this.computedValue);\r\n }\r\n else {\r\n time = this.timeCreator();\r\n time.setMilliseconds(0);\r\n }\r\n time.setHours(hours);\r\n time.setMinutes(minutes);\r\n time.setSeconds(seconds);\r\n if (!isNaN(time.getTime())) {\r\n this.computedValue = new Date(time.getTime());\r\n }\r\n }\r\n },\r\n updateInternalState(value) {\r\n if (value) {\r\n this.hoursSelected = value.getHours();\r\n this.minutesSelected = value.getMinutes();\r\n this.secondsSelected = value.getSeconds();\r\n this.meridienSelected = value.getHours() >= 12 ? this.pmString : this.amString;\r\n }\r\n else {\r\n this.hoursSelected = null;\r\n this.minutesSelected = null;\r\n this.secondsSelected = null;\r\n this.meridienSelected = this.amString;\r\n }\r\n this.dateSelected = value;\r\n },\r\n isHourDisabled(hour) {\r\n let disabled = false;\r\n if (this.minTime) {\r\n const minHours = this.minTime.getHours();\r\n const noMinutesAvailable = this.minutes.every((minute) => {\r\n return this.isMinuteDisabledForHour(hour, minute.value);\r\n });\r\n disabled = hour < minHours || noMinutesAvailable;\r\n }\r\n if (this.maxTime) {\r\n if (!disabled) {\r\n const maxHours = this.maxTime.getHours();\r\n disabled = hour > maxHours;\r\n }\r\n }\r\n if (this.unselectableTimes) {\r\n if (!disabled) {\r\n const unselectable = this.unselectableTimes.filter((time) => {\r\n if (this.enableSeconds && this.secondsSelected !== null) {\r\n return time.getHours() === hour &&\r\n time.getMinutes() === this.minutesSelected &&\r\n time.getSeconds() === this.secondsSelected;\r\n }\r\n else if (this.minutesSelected !== null) {\r\n return time.getHours() === hour &&\r\n time.getMinutes() === this.minutesSelected;\r\n }\r\n return false;\r\n });\r\n if (unselectable.length > 0) {\r\n disabled = true;\r\n }\r\n else {\r\n disabled = this.minutes.every((minute) => {\r\n return this.unselectableTimes.filter((time) => {\r\n return time.getHours() === hour &&\r\n time.getMinutes() === minute.value;\r\n }).length > 0;\r\n });\r\n }\r\n }\r\n }\r\n return disabled;\r\n },\r\n isMinuteDisabledForHour(hour, minute) {\r\n let disabled = false;\r\n if (this.minTime) {\r\n const minHours = this.minTime.getHours();\r\n const minMinutes = this.minTime.getMinutes();\r\n disabled = hour === minHours && minute < minMinutes;\r\n }\r\n if (this.maxTime) {\r\n if (!disabled) {\r\n const maxHours = this.maxTime.getHours();\r\n const maxMinutes = this.maxTime.getMinutes();\r\n disabled = hour === maxHours && minute > maxMinutes;\r\n }\r\n }\r\n return disabled;\r\n },\r\n isMinuteDisabled(minute) {\r\n let disabled = false;\r\n if (this.hoursSelected !== null) {\r\n if (this.isHourDisabled(this.hoursSelected)) {\r\n disabled = true;\r\n }\r\n else {\r\n disabled = this.isMinuteDisabledForHour(this.hoursSelected, minute);\r\n }\r\n if (this.unselectableTimes) {\r\n if (!disabled) {\r\n const unselectable = this.unselectableTimes.filter((time) => {\r\n if (this.enableSeconds && this.secondsSelected !== null) {\r\n return time.getHours() === this.hoursSelected &&\r\n time.getMinutes() === minute &&\r\n time.getSeconds() === this.secondsSelected;\r\n }\r\n else {\r\n return time.getHours() === this.hoursSelected &&\r\n time.getMinutes() === minute;\r\n }\r\n });\r\n disabled = unselectable.length > 0;\r\n }\r\n }\r\n }\r\n return disabled;\r\n },\r\n isSecondDisabled(second) {\r\n let disabled = false;\r\n if (this.minutesSelected !== null) {\r\n if (this.isMinuteDisabled(this.minutesSelected)) {\r\n disabled = true;\r\n }\r\n else {\r\n if (this.minTime) {\r\n const minHours = this.minTime.getHours();\r\n const minMinutes = this.minTime.getMinutes();\r\n const minSeconds = this.minTime.getSeconds();\r\n disabled = this.hoursSelected === minHours &&\r\n this.minutesSelected === minMinutes &&\r\n second < minSeconds;\r\n }\r\n if (this.maxTime) {\r\n if (!disabled) {\r\n const maxHours = this.maxTime.getHours();\r\n const maxMinutes = this.maxTime.getMinutes();\r\n const maxSeconds = this.maxTime.getSeconds();\r\n disabled = this.hoursSelected === maxHours &&\r\n this.minutesSelected === maxMinutes &&\r\n second > maxSeconds;\r\n }\r\n }\r\n }\r\n if (this.unselectableTimes) {\r\n if (!disabled) {\r\n const unselectable = this.unselectableTimes.filter((time) => {\r\n return time.getHours() === this.hoursSelected &&\r\n time.getMinutes() === this.minutesSelected &&\r\n time.getSeconds() === second;\r\n });\r\n disabled = unselectable.length > 0;\r\n }\r\n }\r\n }\r\n return disabled;\r\n },\r\n isMeridienDisabled(meridienString) {\r\n const offset = meridienString == \"AM\" ? 0 : 12;\r\n for (let i = 0; i < 12; i++) {\r\n if (!this.isHourDisabled(i + offset)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n },\r\n /*\r\n * Parse string into date\r\n */\r\n onChange(value) {\r\n const date = this.timeParser(value, this);\r\n this.updateInternalState(date);\r\n if (date && !isNaN(date)) {\r\n this.computedValue = date;\r\n }\r\n else {\r\n // Force refresh input value when not valid date\r\n this.computedValue = null;\r\n this.$refs.input.newValue = this.computedValue;\r\n }\r\n },\r\n /*\r\n * Toggle timepicker\r\n */\r\n toggle(active) {\r\n if (this.$refs.dropdown) {\r\n this.$refs.dropdown.isActive = typeof active === 'boolean'\r\n ? active\r\n : !this.$refs.dropdown.isActive;\r\n }\r\n },\r\n /*\r\n * Close timepicker\r\n */\r\n close() {\r\n this.toggle(false);\r\n },\r\n /*\r\n * Call default onFocus method and show timepicker\r\n */\r\n handleOnFocus() {\r\n this.onFocus();\r\n if (this.openOnFocus) {\r\n this.toggle(true);\r\n }\r\n },\r\n /*\r\n * Format date into string 'HH-MM-SS'\r\n */\r\n formatHHMMSS(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const hours = date.getHours();\r\n const minutes = date.getMinutes();\r\n const seconds = date.getSeconds();\r\n return this.formatNumber(hours, true) + ':' +\r\n this.formatNumber(minutes, true) + ':' +\r\n this.formatNumber(seconds, true);\r\n }\r\n return '';\r\n },\r\n /*\r\n * Parse time from string\r\n */\r\n onChangeNativePicker(event) {\r\n const date = event.target.value;\r\n if (date) {\r\n let time = null;\r\n if (this.computedValue && !isNaN(this.computedValue)) {\r\n time = new Date(this.computedValue);\r\n }\r\n else {\r\n time = new Date();\r\n time.setMilliseconds(0);\r\n }\r\n const t = date.split(':');\r\n time.setHours(parseInt(t[0], 10));\r\n time.setMinutes(parseInt(t[1], 10));\r\n time.setSeconds(t[2] ? parseInt(t[2], 10) : 0);\r\n this.computedValue = new Date(time.getTime());\r\n }\r\n else {\r\n this.computedValue = null;\r\n }\r\n },\r\n formatNumber(value, prependZero) {\r\n return this.isHourFormat24 || prependZero\r\n ? this.pad(value)\r\n : value;\r\n },\r\n pad(value) {\r\n return (value < 10 ? '0' : '') + value;\r\n },\r\n /*\r\n * Format date into string\r\n */\r\n formatValue(date) {\r\n if (date && !isNaN(date)) {\r\n return this.timeFormatter(date, this);\r\n }\r\n else {\r\n return null;\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.$refs.dropdown && this.$refs.dropdown.isActive && (key === 'Escape' || key === 'Esc')) {\r\n this.toggle(false);\r\n }\r\n },\r\n /**\r\n * Emit 'blur' event on dropdown is not active (closed)\r\n */\r\n onActiveChange(value) {\r\n if (!value) {\r\n this.onBlur();\r\n }\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n }\r\n});\n\n/**\r\n * An input with a simple dropdown/modal for selecting a time, uses native timepicker for mobile\r\n * @displayName Timepicker\r\n * @style _timepicker.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OTimepicker',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2,\r\n [script$3.name]: script$3,\r\n [script$4.name]: script$4,\r\n [script$5.name]: script$5\r\n },\r\n configField: 'timepicker',\r\n mixins: [BaseComponentMixin, TimepickerMixin, MatchMediaMixin],\r\n inheritAttrs: false,\r\n props: {\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n boxClass: [String, Function, Array],\r\n separatorClass: [String, Function, Array],\r\n footerClass: [String, Function, Array],\r\n inputClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.inputClasses', {});\r\n }\r\n },\r\n dropdownClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.dropdownClasses', {});\r\n }\r\n },\r\n selectClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'timepicker.selectClasses', {});\r\n }\r\n }\r\n },\r\n computed: {\r\n inputBind() {\r\n return {\r\n ...this.$attrs,\r\n ...this.inputClasses\r\n };\r\n },\r\n dropdownBind() {\r\n return {\r\n 'root-class': this.computedClass('dropdownClasses.rootClass', 'o-tpck__dropdown'),\r\n ...this.dropdownClasses\r\n };\r\n },\r\n selectBind() {\r\n return {\r\n 'select-class': this.computedClass('selectClasses.selectClass', 'o-tpck__select'),\r\n 'placeholder-class': this.computedClass('selectClasses.placeholderClass', 'o-tpck__select-placeholder'),\r\n ...this.selectClasses\r\n };\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-tpck'),\r\n { [this.computedClass('sizeClass', 'o-tpck--', this.size)]: this.size },\r\n { [this.computedClass('mobileClass', 'o-tpck--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n boxClasses() {\r\n return [\r\n this.computedClass('boxClass', 'o-tpck__box')\r\n ];\r\n },\r\n separatorClasses() {\r\n return [\r\n this.computedClass('separatorClass', 'o-tpck__separator')\r\n ];\r\n },\r\n footerClasses() {\r\n return [\r\n this.computedClass('footerClass', 'o-tpck__footer')\r\n ];\r\n },\r\n nativeStep() {\r\n if (this.enableSeconds)\r\n return '1';\r\n return null;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_input = resolveComponent(\"o-input\");\n\n const _component_o_select = resolveComponent(\"o-select\");\n\n const _component_o_dropdown_item = resolveComponent(\"o-dropdown-item\");\n\n const _component_o_dropdown = resolveComponent(\"o-dropdown\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [!_ctx.isMobile || _ctx.inline ? createVNode(_component_o_dropdown, mergeProps({\n key: 0,\n ref: \"dropdown\"\n }, _ctx.dropdownBind, {\n position: _ctx.position,\n disabled: _ctx.disabled,\n inline: _ctx.inline,\n \"append-to-body\": _ctx.appendToBody,\n \"append-to-body-copy-parent\": \"\",\n \"onActive-change\": _ctx.onActiveChange\n }), createSlots({\n default: withCtx(() => [createVNode(_component_o_dropdown_item, {\n override: \"\",\n tag: \"div\",\n \"item-class\": _ctx.boxClasses,\n disabled: _ctx.disabled,\n clickable: false\n }, {\n default: withCtx(() => [createVNode(_component_o_select, mergeProps({\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.hoursSelected,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => _ctx.hoursSelected = $event),\n onChange: _cache[4] || (_cache[4] = $event => _ctx.onHoursChange($event.target.value)),\n disabled: _ctx.disabled,\n placeholder: \"00\"\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.hours, hour => {\n return openBlock(), createBlock(\"option\", {\n value: hour.value,\n key: hour.value,\n disabled: _ctx.isHourDisabled(hour.value)\n }, toDisplayString(hour.label), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]), createVNode(\"span\", {\n class: _ctx.separatorClasses\n }, toDisplayString(_ctx.hourLiteral), 3\n /* TEXT, CLASS */\n ), createVNode(_component_o_select, mergeProps({\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.minutesSelected,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => _ctx.minutesSelected = $event),\n onChange: _cache[6] || (_cache[6] = $event => _ctx.onMinutesChange($event.target.value)),\n disabled: _ctx.disabled,\n placeholder: \"00\"\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.minutes, minute => {\n return openBlock(), createBlock(\"option\", {\n value: minute.value,\n key: minute.value,\n disabled: _ctx.isMinuteDisabled(minute.value)\n }, toDisplayString(minute.label), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]), _ctx.enableSeconds ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createVNode(\"span\", {\n class: _ctx.separatorClasses\n }, toDisplayString(_ctx.minuteLiteral), 3\n /* TEXT, CLASS */\n ), createVNode(_component_o_select, mergeProps({\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.secondsSelected,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => _ctx.secondsSelected = $event),\n onChange: _cache[8] || (_cache[8] = $event => _ctx.onSecondsChange($event.target.value)),\n disabled: _ctx.disabled,\n placeholder: \"00\"\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.seconds, second => {\n return openBlock(), createBlock(\"option\", {\n value: second.value,\n key: second.value,\n disabled: _ctx.isSecondDisabled(second.value)\n }, toDisplayString(second.label), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]), createVNode(\"span\", {\n class: _ctx.separatorClasses\n }, toDisplayString(_ctx.secondLiteral), 3\n /* TEXT, CLASS */\n )], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true), !_ctx.isHourFormat24 ? createVNode(_component_o_select, mergeProps({\n key: 1,\n override: \"\"\n }, _ctx.selectBind, {\n modelValue: _ctx.meridienSelected,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => _ctx.meridienSelected = $event),\n onChange: _cache[10] || (_cache[10] = $event => _ctx.onMeridienChange($event.target.value)),\n disabled: _ctx.disabled\n }), {\n default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.meridiens, meridien => {\n return openBlock(), createBlock(\"option\", {\n value: meridien,\n key: meridien,\n disabled: _ctx.isMeridienDisabled(meridien)\n }, toDisplayString(meridien), 9\n /* TEXT, PROPS */\n , [\"value\", \"disabled\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"disabled\"]) : createCommentVNode(\"v-if\", true), _ctx.$slots.default !== undefined ? (openBlock(), createBlock(\"footer\", {\n key: 2,\n class: _ctx.footerClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"item-class\", \"disabled\"])]),\n _: 2\n }, [!_ctx.inline ? {\n name: \"trigger\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"trigger\", {}, () => [createVNode(_component_o_input, mergeProps({\n ref: \"input\",\n \"model-value\": _ctx.formatValue(_ctx.computedValue),\n autocomplete: \"off\",\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n disabled: _ctx.disabled,\n readonly: !_ctx.editable,\n rounded: _ctx.rounded\n }, _ctx.inputBind, {\n \"use-html5-validation\": _ctx.useHtml5Validation,\n onKeyup: _cache[1] || (_cache[1] = withKeys($event => _ctx.toggle(true), [\"enter\"])),\n onChange: _cache[2] || (_cache[2] = $event => _ctx.onChange($event.target.value)),\n onFocus: _ctx.handleOnFocus\n }), null, 16\n /* FULL_PROPS */\n , [\"model-value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"disabled\", \"readonly\", \"rounded\", \"use-html5-validation\", \"onFocus\"])])])\n } : undefined]), 1040\n /* FULL_PROPS, DYNAMIC_SLOTS */\n , [\"position\", \"disabled\", \"inline\", \"append-to-body\", \"onActive-change\"]) : createVNode(_component_o_input, mergeProps({\n key: 1,\n ref: \"input\"\n }, _ctx.inputBind, {\n type: \"time\",\n step: _ctx.nativeStep,\n autocomplete: \"off\",\n value: _ctx.formatHHMMSS(_ctx.computedValue),\n placeholder: _ctx.placeholder,\n size: _ctx.size,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n max: _ctx.formatHHMMSS(_ctx.maxTime),\n min: _ctx.formatHHMMSS(_ctx.minTime),\n disabled: _ctx.disabled,\n readonly: false,\n \"use-html5-validation\": _ctx.useHtml5Validation,\n onChange: _cache[11] || (_cache[11] = $event => _ctx.onChange($event.target.value)),\n onFocus: _ctx.handleOnFocus,\n onBlur: _cache[12] || (_cache[12] = $event => _ctx.onBlur() && _ctx.checkHtml5Validity())\n }), null, 16\n /* FULL_PROPS */\n , [\"step\", \"value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"rounded\", \"max\", \"min\", \"disabled\", \"use-html5-validation\", \"onFocus\"])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/timepicker/Timepicker.vue\";\n\nexport { script as s };\n","import { defineComponent, resolveComponent, createVNode, mergeProps, withCtx, renderSlot, createCommentVNode } from 'vue';\nimport { getValueByPath, isMobile, matchWithGroups } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport './DropdownItem-c744c4e9.mjs';\nimport './Field-937b4591.mjs';\nimport './Select-2cca695f.mjs';\nimport { s as script$1 } from './Datepicker-42aca091.mjs';\nimport { s as script$2 } from './Timepicker-c2f10909.mjs';\n\nconst AM = 'AM';\r\nconst PM = 'PM';\r\n/**\r\n * An input with a simple dropdown/modal for selecting a date and time, uses native datetimepicker for mobile\r\n * @displayName Datetimepicker\r\n * @style _datetimepicker.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'ODatetimepicker',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2\r\n },\r\n configField: 'datetimepicker',\r\n mixins: [FormElementMixin, BaseComponentMixin],\r\n inheritAttrs: false,\r\n emits: ['update:modelValue', 'change-year', 'change-month', 'icon-right-click', 'active-change'],\r\n props: {\r\n modelValue: {\r\n type: Date\r\n },\r\n editable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n size: String,\r\n placeholder: String,\r\n disabled: Boolean,\r\n iconRight: String,\r\n iconRightClickable: Boolean,\r\n inline: Boolean,\r\n openOnFocus: Boolean,\r\n position: String,\r\n mobileNative: {\r\n type: Boolean,\r\n default: true\r\n },\r\n minDatetime: Date,\r\n maxDatetime: Date,\r\n datetimeFormatter: {\r\n type: Function\r\n },\r\n datetimeParser: {\r\n type: Function\r\n },\r\n datetimeCreator: {\r\n type: Function,\r\n default: (date) => {\r\n const datetimeCreator = getValueByPath(getOptions(), 'datetimepicker.datetimeCreator', undefined);\r\n if (typeof datetimeCreator === 'function') {\r\n return datetimeCreator(date);\r\n }\r\n else {\r\n return date;\r\n }\r\n }\r\n },\r\n datepicker: Object,\r\n timepicker: Object,\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n appendToBody: Boolean,\r\n datepickerWrapperClass: [String, Function, Array],\r\n timepickerWrapperClass: [String, Function, Array],\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue\r\n };\r\n },\r\n computed: {\r\n datepickerWrapperClasses() {\r\n return [\r\n this.computedClass('datepickerWrapperClass', 'o-dtpck__date')\r\n ];\r\n },\r\n timepickerWrapperClasses() {\r\n return [\r\n this.computedClass('timepickerWrapperClass', 'o-dtpck__time')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n if (value) {\r\n let val = new Date(value.getTime());\r\n if (this.newValue) {\r\n // restore time part\r\n if ((value.getDate() !== this.newValue.getDate() ||\r\n value.getMonth() !== this.newValue.getMonth() ||\r\n value.getFullYear() !== this.newValue.getFullYear()) &&\r\n value.getHours() === 0 &&\r\n value.getMinutes() === 0 &&\r\n value.getSeconds() === 0) {\r\n val.setHours(this.newValue.getHours(), this.newValue.getMinutes(), this.newValue.getSeconds(), 0);\r\n }\r\n }\r\n else {\r\n val = this.datetimeCreator(value);\r\n }\r\n // check min and max range\r\n if (this.minDatetime && val < this.minDatetime) {\r\n val = this.minDatetime;\r\n }\r\n else if (this.maxDatetime && val > this.maxDatetime) {\r\n val = this.maxDatetime;\r\n }\r\n this.newValue = new Date(val.getTime());\r\n }\r\n else {\r\n this.newValue = value;\r\n }\r\n this.$emit('update:modelValue', this.newValue);\r\n }\r\n },\r\n localeOptions() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: 'numeric',\r\n month: 'numeric',\r\n day: 'numeric',\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n second: this.enableSeconds() ? 'numeric' : undefined\r\n }).resolvedOptions();\r\n },\r\n dtf() {\r\n return new Intl.DateTimeFormat(this.locale, {\r\n year: this.localeOptions.year || 'numeric',\r\n month: this.localeOptions.month || 'numeric',\r\n day: this.localeOptions.day || 'numeric',\r\n hour: this.localeOptions.hour || 'numeric',\r\n minute: this.localeOptions.minute || 'numeric',\r\n second: this.enableSeconds() ? this.localeOptions.second || 'numeric' : undefined,\r\n // @ts-ignore to update types\r\n hourCycle: !this.isHourFormat24() ? 'h12' : 'h23'\r\n });\r\n },\r\n isMobileNative() {\r\n return this.mobileNative;\r\n },\r\n isMobile() {\r\n return this.isMobileNative && isMobile.any();\r\n },\r\n minDate() {\r\n if (!this.minDatetime) {\r\n return this.datepicker ? this.datepicker.minDate : null;\r\n }\r\n return new Date(this.minDatetime.getFullYear(), this.minDatetime.getMonth(), this.minDatetime.getDate(), 0, 0, 0, 0);\r\n },\r\n maxDate() {\r\n if (!this.maxDatetime) {\r\n return this.datepicker ? this.datepicker.maxDate : null;\r\n }\r\n return new Date(this.maxDatetime.getFullYear(), this.maxDatetime.getMonth(), this.maxDatetime.getDate(), 0, 0, 0, 0);\r\n },\r\n // Only enable min/max time if local (not necessarily UTC) date portion matches\r\n minTime() {\r\n if (!this.minDatetime || (this.newValue === null || typeof this.newValue === 'undefined')\r\n || this.newValue.getFullYear() != this.minDatetime.getFullYear()\r\n || this.newValue.getMonth() != this.minDatetime.getMonth()\r\n || this.newValue.getDate() != this.minDatetime.getDate()) {\r\n return this.timepicker ? this.timepicker.minTime : null;\r\n }\r\n return this.minDatetime;\r\n },\r\n maxTime() {\r\n if (!this.maxDatetime || (this.newValue === null || typeof this.newValue === 'undefined')\r\n || this.newValue.getFullYear() != this.maxDatetime.getFullYear()\r\n || this.newValue.getMonth() != this.maxDatetime.getMonth()\r\n || this.newValue.getDate() != this.maxDatetime.getDate()) {\r\n return this.timepicker ? this.timepicker.maxTime : null;\r\n }\r\n return this.maxDatetime;\r\n },\r\n datepickerSize() {\r\n return this.datepicker && this.datepicker.size\r\n ? this.datepicker.size : this.size;\r\n },\r\n timepickerSize() {\r\n return this.timepicker && this.timepicker.size\r\n ? this.timepicker.size : this.size;\r\n },\r\n timepickerDisabled() {\r\n return this.timepicker && this.timepicker.disabled\r\n ? this.timepicker.disabled : this.disabled;\r\n }\r\n },\r\n watch: {\r\n modelValue(value) {\r\n this.newValue = value;\r\n }\r\n },\r\n methods: {\r\n enableSeconds() {\r\n if (this.$refs.timepicker) {\r\n return this.$refs.timepicker.enableSeconds;\r\n }\r\n return false;\r\n },\r\n isHourFormat24() {\r\n if (this.$refs.timepicker) {\r\n return this.$refs.timepicker.isHourFormat24;\r\n }\r\n return !this.localeOptions.hour12;\r\n },\r\n defaultDatetimeParser(date) {\r\n const datetimeParser = getValueByPath(getOptions(), 'datetimepicker.datetimeParser', undefined);\r\n if (typeof this.datetimeParser === 'function') {\r\n return this.datetimeParser(date);\r\n }\r\n else if (typeof datetimeParser === 'function') {\r\n return datetimeParser(date);\r\n }\r\n else {\r\n if (this.dtf.formatToParts && typeof this.dtf.formatToParts === 'function') {\r\n let dayPeriods = [AM, PM, AM.toLowerCase(), PM.toLowerCase()];\r\n if (this.$refs.timepicker) {\r\n dayPeriods.push(this.$refs.timepicker.amString);\r\n dayPeriods.push(this.$refs.timepicker.pmString);\r\n }\r\n const parts = this.dtf.formatToParts(new Date());\r\n const formatRegex = parts.map((part, idx) => {\r\n if (part.type === 'literal') {\r\n if (idx + 1 < parts.length && parts[idx + 1].type === 'hour') {\r\n return `[^\\\\d]+`;\r\n }\r\n return part.value.replace(/ /g, '\\\\s?');\r\n }\r\n else if (part.type === 'dayPeriod') {\r\n return `((?!=<${part.type}>)(${dayPeriods.join('|')})?)`;\r\n }\r\n return `((?!=<${part.type}>)\\\\d+)`;\r\n }).join('');\r\n const datetimeGroups = matchWithGroups(formatRegex, date);\r\n // We do a simple validation for the group.\r\n // If it is not valid, it will fallback to Date.parse below\r\n if (datetimeGroups.year &&\r\n datetimeGroups.year.length === 4 &&\r\n datetimeGroups.month &&\r\n datetimeGroups.month <= 12 &&\r\n datetimeGroups.day &&\r\n datetimeGroups.day <= 31 &&\r\n datetimeGroups.hour &&\r\n datetimeGroups.hour >= 0 &&\r\n datetimeGroups.hour < 24 &&\r\n datetimeGroups.minute &&\r\n datetimeGroups.minute >= 0 &&\r\n datetimeGroups.minute <= 59) {\r\n const d = new Date(datetimeGroups.year, datetimeGroups.month - 1, datetimeGroups.day, datetimeGroups.hour, datetimeGroups.minute, datetimeGroups.second || 0);\r\n return d;\r\n }\r\n }\r\n return new Date(Date.parse(date));\r\n }\r\n },\r\n defaultDatetimeFormatter(date) {\r\n const datetimeFormatter = getValueByPath(getOptions(), 'datetimepicker.datetimeFormatter', undefined);\r\n if (typeof this.datetimeFormatter === 'function') {\r\n return this.datetimeFormatter(date);\r\n }\r\n else if (typeof datetimeFormatter === 'function') {\r\n return datetimeFormatter(date);\r\n }\r\n else {\r\n return this.dtf.format(date);\r\n }\r\n },\r\n /*\r\n * Parse date from string\r\n */\r\n onChangeNativePicker(event) {\r\n const date = event.target.value;\r\n const s = date ? date.split(/\\D/) : [];\r\n if (s.length >= 5) {\r\n const year = parseInt(s[0], 10);\r\n const month = parseInt(s[1], 10) - 1;\r\n const day = parseInt(s[2], 10);\r\n const hours = parseInt(s[3], 10);\r\n const minutes = parseInt(s[4], 10);\r\n // Seconds are omitted intentionally; they are unsupported by input\r\n // type=datetime-local and cause the control to fail native validation\r\n this.computedValue = new Date(year, month, day, hours, minutes);\r\n }\r\n else {\r\n this.computedValue = null;\r\n }\r\n },\r\n formatNative(value) {\r\n const date = new Date(value);\r\n if (value && !isNaN(date.getTime())) {\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n const hours = date.getHours();\r\n const minutes = date.getMinutes();\r\n const seconds = date.getSeconds();\r\n return year + '-' +\r\n ((month < 10 ? '0' : '') + month) + '-' +\r\n ((day < 10 ? '0' : '') + day) + 'T' +\r\n ((hours < 10 ? '0' : '') + hours) + ':' +\r\n ((minutes < 10 ? '0' : '') + minutes) + ':' +\r\n ((seconds < 10 ? '0' : '') + seconds);\r\n }\r\n return '';\r\n },\r\n toggle() {\r\n this.$refs.datepicker.toggle();\r\n }\r\n },\r\n mounted() {\r\n if (!this.isMobile || this.inline) {\r\n // $refs attached, it's time to refresh datepicker (input)\r\n if (this.newValue) {\r\n this.$refs.datepicker.$forceUpdate();\r\n }\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_timepicker = resolveComponent(\"o-timepicker\");\n\n const _component_o_datepicker = resolveComponent(\"o-datepicker\");\n\n const _component_o_input = resolveComponent(\"o-input\");\n\n return !_ctx.isMobile || _ctx.inline ? createVNode(_component_o_datepicker, mergeProps({\n key: 0,\n ref: \"datepicker\",\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => _ctx.computedValue = $event)\n }, _ctx.datepicker, {\n class: _ctx.datepickerWrapperClasses,\n rounded: _ctx.rounded,\n \"open-on-focus\": _ctx.openOnFocus,\n position: _ctx.position,\n inline: _ctx.inline,\n editable: _ctx.editable,\n expanded: _ctx.expanded,\n \"close-on-click\": false,\n \"date-formatter\": _ctx.defaultDatetimeFormatter,\n \"date-parser\": _ctx.defaultDatetimeParser,\n \"min-date\": _ctx.minDate,\n \"max-date\": _ctx.maxDate,\n icon: _ctx.icon,\n \"icon-right\": _ctx.iconRight,\n \"icon-right-clickable\": _ctx.iconRightClickable,\n \"icon-pack\": _ctx.iconPack,\n size: _ctx.datepickerSize,\n placeholder: _ctx.placeholder,\n range: false,\n disabled: _ctx.disabled,\n \"mobile-native\": _ctx.isMobileNative,\n locale: _ctx.locale,\n \"append-to-body\": _ctx.appendToBody,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.onBlur,\n \"onActive-change\": _cache[3] || (_cache[3] = $event => _ctx.$emit('active-change', $event)),\n \"onIcon-right-click\": _cache[4] || (_cache[4] = $event => _ctx.$emit('icon-right-click')),\n \"onChange-month\": _cache[5] || (_cache[5] = $event => _ctx.$emit('change-month', $event)),\n \"onChange-year\": _cache[6] || (_cache[6] = $event => _ctx.$emit('change-year', $event))\n }), {\n footer: withCtx(() => [createVNode(\"div\", {\n class: _ctx.timepickerWrapperClasses\n }, [createVNode(_component_o_timepicker, mergeProps({\n ref: \"timepicker\"\n }, _ctx.timepicker, {\n modelValue: _ctx.computedValue,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n inline: \"\",\n editable: _ctx.editable,\n \"min-time\": _ctx.minTime,\n \"max-time\": _ctx.maxTime,\n size: _ctx.timepickerSize,\n disabled: _ctx.timepickerDisabled,\n \"mobile-native\": _ctx.isMobileNative,\n locale: _ctx.locale\n }), null, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"editable\", \"min-time\", \"max-time\", \"size\", \"disabled\", \"mobile-native\", \"locale\"])], 2\n /* CLASS */\n ), _ctx.$slots.footer !== undefined ? renderSlot(_ctx.$slots, \"footer\", {\n key: 0\n }) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"class\", \"rounded\", \"open-on-focus\", \"position\", \"inline\", \"editable\", \"expanded\", \"date-formatter\", \"date-parser\", \"min-date\", \"max-date\", \"icon\", \"icon-right\", \"icon-right-clickable\", \"icon-pack\", \"size\", \"placeholder\", \"disabled\", \"mobile-native\", \"locale\", \"append-to-body\", \"onFocus\", \"onBlur\"]) : createVNode(_component_o_input, mergeProps({\n key: 1,\n ref: \"input\",\n type: \"datetime-local\",\n autocomplete: \"off\",\n value: _ctx.formatNative(_ctx.computedValue),\n placeholder: _ctx.placeholder,\n size: _ctx.datepickerSize,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.rounded,\n max: _ctx.formatNative(_ctx.maxDate),\n min: _ctx.formatNative(_ctx.minDate),\n disabled: _ctx.disabled,\n readonly: false\n }, _ctx.$attrs, {\n \"use-html5-validation\": _ctx.useHtml5Validation,\n onChange: _ctx.onChangeNativePicker,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.onBlur\n }), null, 16\n /* FULL_PROPS */\n , [\"value\", \"placeholder\", \"size\", \"icon\", \"icon-pack\", \"rounded\", \"max\", \"min\", \"disabled\", \"use-html5-validation\", \"onChange\", \"onFocus\", \"onBlur\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/datetimepicker/Datetimepicker.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as ODatetimepicker };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport { s as script, a as script$1 } from './DropdownItem-c744c4e9.mjs';\nexport { s as ODropdown, a as ODropdownItem } from './DropdownItem-c744c4e9.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport { s as script } from './Field-937b4591.mjs';\nexport { s as OField } from './Field-937b4591.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script } from './Icon-a7b85e86.mjs';\nexport { s as OIcon } from './Icon-a7b85e86.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport { s as script } from './Input-19e906a1.mjs';\nexport { s as OInput } from './Input-19e906a1.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, renderSlot, Fragment, renderList, toDisplayString, createCommentVNode, mergeProps, createSlots, withCtx, createTextVNode } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport { s as script$1 } from './Autocomplete-a23ad844.mjs';\n\n/**\r\n * A simple item input field that can have autocomplete functionality\r\n * @displayName Inputitems\r\n * @style _inputitems.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OInputitems',\r\n components: {\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2\r\n },\r\n mixins: [FormElementMixin, BaseComponentMixin],\r\n inheritAttrs: false,\r\n configField: 'inputitems',\r\n emits: ['update:modelValue', 'focus', 'blur', 'add', 'remove', 'typing', 'infinite-scroll', 'icon-right-click'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /**\r\n * Vertical size of input, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Items data */\r\n data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /**\r\n * Color of the each items, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /** Limits the number of items, plus item counter */\r\n maxitems: {\r\n type: [Number, String],\r\n required: false\r\n },\r\n /** Show counter when maxlength or maxtags props are passed */\r\n hasCounter: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.hasCounter', true);\r\n }\r\n },\r\n /** Property of the object (if data is array of objects) to use as display text */\r\n field: {\r\n type: String,\r\n default: 'value'\r\n },\r\n /** Add autocomplete feature (if true, any Autocomplete props may be used too) */\r\n autocomplete: Boolean,\r\n /** Property of the object (if data is array of objects) to use as display text of group */\r\n groupField: String,\r\n /** Property of the object (if data is array of objects) to use as key to get items array of each group, optional */\r\n groupOptions: String,\r\n nativeAutocomplete: String,\r\n /** Opens a dropdown with choices when the input field is focused */\r\n openOnFocus: Boolean,\r\n /** Input will be disabled */\r\n disabled: Boolean,\r\n /** Add close/delete button to the item */\r\n closable: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.closable', true);\r\n }\r\n },\r\n /**\r\n * Array of keys\r\n * (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values)\r\n * which will add a item when typing (default comma, tab and enter)\r\n */\r\n confirmKeys: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.confirmKeys', [',', 'Tab', 'Enter']);\r\n }\r\n },\r\n /** Allow removing last item when pressing given keys, if input is empty */\r\n removeOnKeys: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.removeOnKeys', ['Backspace']);\r\n }\r\n },\r\n /** When autocomplete, it allow to add new items */\r\n allowNew: Boolean,\r\n /** Array of chars used to split when pasting a new string */\r\n onPasteSeparators: {\r\n type: Array,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.onPasteSeparators', [',']);\r\n }\r\n },\r\n /** Function to validate the value of the item before adding */\r\n beforeAdding: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Allows adding the same item multiple time */\r\n allowDuplicates: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Makes the autocomplete component check if list reached scroll end and emit infinite-scroll event */\r\n checkInfiniteScroll: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Function to create a new item to push into v-model (items) */\r\n createItem: {\r\n type: Function,\r\n default: (item) => item\r\n },\r\n /** Icon name of close icon on selected item */\r\n closeIcon: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.closeIcon', 'close');\r\n }\r\n },\r\n /** The first option will always be pre-selected (easier to just hit enter or tab) */\r\n keepFirst: Boolean,\r\n /** Accessibility label for the close button */\r\n ariaCloseLabel: String,\r\n /** Append autocomplete content to body */\r\n appendToBody: Boolean,\r\n rootClass: [String, Array, Function],\r\n expandedClass: [String, Array, Function],\r\n variantClass: [String, Array, Function],\r\n closeClass: [String, Array, Function],\r\n itemClass: [String, Array, Function],\r\n counterClass: [String, Array, Function],\r\n autocompleteClasses: {\r\n type: Object,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'inputitems.autocompleteClasses', {});\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n items: Array.isArray(this.modelValue) ? this.modelValue.slice(0) : (this.modelValue || []),\r\n newItem: '',\r\n isComposing: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-inputit'),\r\n { [this.computedClass('expandedClass', 'o-inputit--expanded')]: this.expanded }\r\n ];\r\n },\r\n containerClasses() {\r\n return [\r\n this.computedClass('containerClass', 'o-inputit__container'),\r\n { [this.computedClass('sizeClass', 'o-inputit__container--', this.size)]: this.size },\r\n ];\r\n },\r\n itemClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-inputit__item'),\r\n { [this.computedClass('variantClass', 'o-inputit__item--', this.variant)]: this.variant }\r\n ];\r\n },\r\n closeClasses() {\r\n return [\r\n this.computedClass('closeClass', 'o-inputit__item__close')\r\n ];\r\n },\r\n counterClasses() {\r\n return [\r\n this.computedClass('counterClass', 'o-inputit__counter')\r\n ];\r\n },\r\n autocompleteBind() {\r\n return {\r\n ...this.$attrs,\r\n 'root-class': this.computedClass('autocompleteClasses.rootClass', 'o-inputit__autocomplete'),\r\n 'input-classes': {\r\n 'input-class': this.computedClass('autocompleteClasses.inputClasses.inputClass', 'o-inputit__input'),\r\n },\r\n ...this.autocompleteClasses\r\n };\r\n },\r\n valueLength() {\r\n return this.newItem.trim().length;\r\n },\r\n hasDefaultSlot() {\r\n return !!this.$slots.default;\r\n },\r\n hasEmptySlot() {\r\n return !!this.$slots.empty;\r\n },\r\n hasHeaderSlot() {\r\n return !!this.$slots.header;\r\n },\r\n hasFooterSlot() {\r\n return !!this.$slots.footer;\r\n },\r\n /**\r\n * Show the input field if a maxitems hasn't been set or reached.\r\n */\r\n hasInput() {\r\n return this.maxitems == null || this.itemsLength < this.maxitems;\r\n },\r\n itemsLength() {\r\n return this.items.length;\r\n },\r\n /**\r\n * If input has onPasteSeparators prop,\r\n * returning new RegExp used to split pasted string.\r\n */\r\n separatorsAsRegExp() {\r\n const sep = this.onPasteSeparators;\r\n return sep.length ? new RegExp(sep.map((s) => {\r\n return s ? s.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&') : null;\r\n }).join('|'), 'g') : null;\r\n },\r\n $elementRef() {\r\n return 'autocomplete';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When modelValue is changed set internal value.\r\n */\r\n modelValue(value) {\r\n this.items = Array.isArray(value) ? value.slice(0) : (value || []);\r\n },\r\n hasInput() {\r\n if (!this.hasInput)\r\n this.onBlur();\r\n }\r\n },\r\n methods: {\r\n addItem(item) {\r\n const itemToAdd = item || this.newItem.trim();\r\n if (itemToAdd) {\r\n if (!this.autocomplete) {\r\n const reg = this.separatorsAsRegExp;\r\n if (reg && itemToAdd.match(reg)) {\r\n itemToAdd.split(reg)\r\n .map((t) => t.trim())\r\n .filter((t) => t.length !== 0)\r\n .map(this.addItem);\r\n return;\r\n }\r\n }\r\n // Add the item input if it is not blank\r\n // or previously added (if not allowDuplicates).\r\n const add = !this.allowDuplicates ? this.items.indexOf(this.createItem(itemToAdd)) === -1 : true;\r\n if (add && this.beforeAdding(itemToAdd)) {\r\n this.items.push(this.createItem(itemToAdd));\r\n this.$emit('update:modelValue', this.items);\r\n this.$emit('add', itemToAdd);\r\n }\r\n }\r\n // after autocomplete events\r\n requestAnimationFrame(() => {\r\n this.newItem = '';\r\n this.$emit('typing', '');\r\n });\r\n },\r\n getNormalizedItemText(item) {\r\n if (typeof item === 'object') {\r\n item = getValueByPath(item, this.field);\r\n }\r\n return `${item}`;\r\n },\r\n customOnBlur(event) {\r\n // Add item on-blur if not select only\r\n if (!this.autocomplete)\r\n this.addItem();\r\n this.onBlur(event);\r\n },\r\n onSelect(option) {\r\n if (!option)\r\n return;\r\n this.addItem(option);\r\n this.$nextTick(() => {\r\n this.newItem = '';\r\n });\r\n },\r\n removeItem(index, event) {\r\n const item = this.items.splice(index, 1)[0];\r\n this.$emit('update:modelValue', this.items);\r\n this.$emit('remove', item);\r\n if (event)\r\n event.stopPropagation();\r\n if (this.openOnFocus && this.$refs.autocomplete) {\r\n this.$refs.autocomplete.focus();\r\n }\r\n return item;\r\n },\r\n removeLastItem() {\r\n if (this.itemsLength > 0) {\r\n this.removeItem(this.itemsLength - 1);\r\n }\r\n },\r\n keydown(event) {\r\n const { key } = event; // cannot destructure preventDefault (https://stackoverflow.com/a/49616808/2774496)\r\n if (this.removeOnKeys.indexOf(key) !== -1 && !this.newItem.length) {\r\n this.removeLastItem();\r\n }\r\n // Stop if is to accept select only\r\n if (this.autocomplete && !this.allowNew)\r\n return;\r\n if (this.confirmKeys.indexOf(key) >= 0) {\r\n // Allow Tab to advance to next field regardless\r\n if (key !== 'Tab')\r\n event.preventDefault();\r\n if (key === 'Enter' && this.isComposing)\r\n return;\r\n this.addItem();\r\n }\r\n },\r\n onTyping(event) {\r\n this.$emit('typing', event.trim());\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_autocomplete = resolveComponent(\"o-autocomplete\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(\"div\", {\n class: _ctx.containerClasses,\n onClick: _cache[6] || (_cache[6] = $event => _ctx.hasInput && _ctx.focus($event))\n }, [renderSlot(_ctx.$slots, \"selected\", {\n items: _ctx.items\n }, () => [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.items, (item, index) => {\n return openBlock(), createBlock(\"span\", {\n key: _ctx.getNormalizedItemText(item) + index,\n class: _ctx.itemClasses\n }, [createVNode(\"span\", null, toDisplayString(_ctx.getNormalizedItemText(item)), 1\n /* TEXT */\n ), _ctx.closable ? createVNode(_component_o_icon, {\n key: 0,\n class: _ctx.closeClasses,\n clickable: \"\",\n both: \"\",\n icon: _ctx.closeIcon,\n onClick: $event => _ctx.removeItem(index, $event),\n \"aria-label\": _ctx.ariaCloseLabel\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"onClick\", \"aria-label\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n ))]), _ctx.hasInput ? createVNode(_component_o_autocomplete, mergeProps({\n key: 0,\n ref: \"autocomplete\",\n modelValue: _ctx.newItem,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.newItem = $event)\n }, _ctx.autocompleteBind, {\n data: _ctx.data,\n field: _ctx.field,\n icon: _ctx.icon,\n \"icon-pack\": _ctx.iconPack,\n maxlength: _ctx.maxlength,\n \"has-counter\": false,\n size: _ctx.size,\n disabled: _ctx.disabled,\n autocomplete: _ctx.nativeAutocomplete,\n \"open-on-focus\": _ctx.openOnFocus,\n \"keep-first\": _ctx.keepFirst,\n \"keep-open\": _ctx.openOnFocus,\n \"group-field\": _ctx.groupField,\n \"group-options\": _ctx.groupOptions,\n \"use-html5-validation\": _ctx.useHtml5Validation,\n \"check-infinite-scroll\": _ctx.checkInfiniteScroll,\n \"append-to-body\": _ctx.appendToBody,\n \"confirm-keys\": _ctx.confirmKeys,\n onTyping: _ctx.onTyping,\n onFocus: _ctx.onFocus,\n onBlur: _ctx.customOnBlur,\n onKeydown: _ctx.keydown,\n onCompositionstart: _cache[2] || (_cache[2] = $event => _ctx.isComposing = true),\n onCompositionend: _cache[3] || (_cache[3] = $event => _ctx.isComposing = false),\n onSelect: _ctx.onSelect,\n \"onInfinite-scroll\": _cache[4] || (_cache[4] = $event => _ctx.$emit('infinite-scroll', $event)),\n \"onIcon-right-click\": _cache[5] || (_cache[5] = $event => _ctx.$emit('icon-right-click', $event))\n }), createSlots({\n _: 2\n }, [_ctx.hasHeaderSlot ? {\n name: \"header\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"header\")])\n } : undefined, _ctx.hasDefaultSlot ? {\n name: \"default\",\n fn: withCtx(props => [renderSlot(_ctx.$slots, \"default\", {\n option: props.option,\n index: props.index\n })])\n } : undefined, _ctx.hasEmptySlot ? {\n name: \"empty\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"empty\")])\n } : undefined, _ctx.hasFooterSlot ? {\n name: \"footer\",\n fn: withCtx(() => [renderSlot(_ctx.$slots, \"footer\")])\n } : undefined]), 1040\n /* FULL_PROPS, DYNAMIC_SLOTS */\n , [\"modelValue\", \"data\", \"field\", \"icon\", \"icon-pack\", \"maxlength\", \"size\", \"disabled\", \"autocomplete\", \"open-on-focus\", \"keep-first\", \"keep-open\", \"group-field\", \"group-options\", \"use-html5-validation\", \"check-infinite-scroll\", \"append-to-body\", \"confirm-keys\", \"onTyping\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onSelect\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), _ctx.hasCounter && (_ctx.maxitems || _ctx.maxlength) ? (openBlock(), createBlock(\"small\", {\n key: 0,\n class: _ctx.counterClasses\n }, [_ctx.maxlength && _ctx.valueLength > 0 ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createTextVNode(toDisplayString(_ctx.valueLength) + \" / \" + toDisplayString(_ctx.maxlength), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : _ctx.maxitems ? (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.itemsLength) + \" / \" + toDisplayString(_ctx.maxitems), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/inputitems/Inputitems.vue\";\n\nvar index = {\r\n install(Vue) {\r\n registerComponent(Vue, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OInputitems };\n","// Polyfills for SSR\r\nconst isSSR = typeof window === 'undefined';\r\nconst HTMLElement = isSSR ? Object : window.HTMLElement;\r\nconst File = isSSR ? Object : window.File;\n\nexport { File as F, HTMLElement as H };\n","import { defineComponent, resolveComponent, openBlock, createBlock, Transition, withCtx, createVNode, renderSlot, createCommentVNode } from 'vue';\nimport { getValueByPath, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { H as HTMLElement } from './ssr-85c76d50.mjs';\n\n/**\r\n * A simple loading overlay\r\n * @displayName Loading\r\n * @style _loading.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OLoading',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n mixins: [BaseComponentMixin],\r\n configField: 'loading',\r\n emits: ['update:active', 'close', 'update:full-page'],\r\n props: {\r\n /** Whether loading is active or not, use v-model:active to make it two-way binding */\r\n active: Boolean,\r\n /** @ignore */\r\n programmatic: Object,\r\n /** @ignore */\r\n promise: Promise,\r\n container: [Object, Function, HTMLElement],\r\n /** Loader will overlay the full page */\r\n fullPage: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /* Custom animation (transition name) */\r\n animation: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'loading.animation', 'fade'); }\r\n },\r\n /** Can close Loading by pressing escape or clicking outside */\r\n canCancel: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Callback function to call after user canceled (pressed escape / clicked outside) */\r\n onCancel: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n /** Icon name */\r\n icon: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'loading.icon', 'loading'); }\r\n },\r\n /** Enable spin effect on icon */\r\n iconSpin: {\r\n type: Boolean,\r\n default: true\r\n },\r\n iconSize: {\r\n type: String,\r\n default: 'medium'\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n iconClass: [String, Function, Array],\r\n fullPageClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isActive: this.active || false,\r\n displayInFullPage: this.fullPage\r\n };\r\n },\r\n watch: {\r\n active(value) {\r\n this.isActive = value;\r\n },\r\n fullPage(value) {\r\n this.displayInFullPage = value;\r\n }\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-load'),\r\n { [this.computedClass('fullPageClass', 'o-load--fullpage')]: this.displayInFullPage }\r\n ];\r\n },\r\n overlayClasses() {\r\n return [\r\n this.computedClass('overlayClass', 'o-load__overlay')\r\n ];\r\n },\r\n iconClasses() {\r\n return [\r\n this.computedClass('iconClass', 'o-load__icon')\r\n ];\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Close the Modal if canCancel.\r\n */\r\n cancel(method) {\r\n if (!this.canCancel || !this.isActive)\r\n return;\r\n this.close({ action: 'cancel', method });\r\n },\r\n /**\r\n * Emit events, and destroy modal if it's programmatic.\r\n */\r\n close() {\r\n this.onCancel.apply(null, arguments);\r\n this.$emit('close');\r\n this.$emit('update:active', false);\r\n // Timeout for the animation complete before destroying\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.remove(this);\r\n }\r\n if (this.programmatic.resolve) {\r\n this.programmatic.resolve.apply(null, arguments);\r\n }\r\n this.isActive = false;\r\n window.requestAnimationFrame(() => {\r\n removeElement(this.$el);\r\n });\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (key === 'Escape' || key === 'Esc')\r\n this.cancel('escape');\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n mounted() {\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.add(this);\r\n }\r\n // Insert the Loading component in body tag\r\n // only if it's programmatic\r\n if (!this.container) {\r\n document.body.appendChild(this.$el);\r\n }\r\n else {\r\n this.displayInFullPage = false;\r\n this.$emit('update:full-page', false);\r\n this.container.appendChild(this.$el);\r\n }\r\n this.isActive = true;\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(Transition, {\n name: _ctx.animation\n }, {\n default: withCtx(() => [_ctx.isActive ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.rootClasses\n }, [createVNode(\"div\", {\n class: _ctx.overlayClasses,\n onClick: _cache[1] || (_cache[1] = $event => _ctx.cancel('outside'))\n }, null, 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"default\", {}, () => [createVNode(_component_o_icon, {\n icon: _ctx.icon,\n spin: _ctx.iconSpin,\n size: _ctx.iconSize,\n class: _ctx.iconClasses,\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"spin\", \"size\", \"class\"])])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/loading/Loading.vue\";\n\nexport { script as s };\n","class InstanceRegistry {\r\n constructor() {\r\n this.entries = [];\r\n }\r\n add(entry) {\r\n this.entries.push(entry);\r\n }\r\n remove(entry) {\r\n let index = this.entries.indexOf(entry);\r\n this.entries.splice(index, 1);\r\n }\r\n walk(callback) {\r\n // Walk a copy of the array so that the callback is allowed to remove the instance\r\n this.entries = [...this.entries].filter((e) => {\r\n const ret = callback(e);\r\n return !(ret === true);\r\n });\r\n }\r\n}\n\nexport { InstanceRegistry as I };\n","import { createVNode, render } from 'vue';\nimport { merge } from './helpers.mjs';\nimport { VueInstance } from './config.mjs';\nimport { b as registerComponent, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './ssr-85c76d50.mjs';\nimport { s as script } from './Loading-20d29914.mjs';\nexport { s as OLoading } from './Loading-20d29914.mjs';\nimport { I as InstanceRegistry } from './InstanceRegistry-2fdb6ee8.mjs';\n\nlet localVueInstance;\r\nlet instances = new InstanceRegistry();\r\nconst LoadingProgrammatic = {\r\n open(params) {\r\n const defaultParam = {\r\n programmatic: { instances }\r\n };\r\n const propsData = merge(defaultParam, params);\r\n propsData.promise = new Promise((p1, p2) => {\r\n propsData.programmatic.resolve = p1;\r\n propsData.programmatic.reject = p2;\r\n });\r\n const app = localVueInstance || VueInstance;\r\n const vnode = createVNode(script, propsData);\r\n vnode.appContext = app._context;\r\n render(vnode, document.createElement('div'));\r\n return vnode.component.proxy;\r\n },\r\n closeAll() {\r\n instances.walk((entry) => {\r\n entry.close(...arguments);\r\n });\r\n }\r\n};\r\nvar index = {\r\n install(app) {\r\n localVueInstance = app;\r\n registerComponent(app, script);\r\n registerComponentProgrammatic(app, 'loading', LoadingProgrammatic);\r\n }\r\n};\n\nexport default index;\nexport { LoadingProgrammatic };\n","import { defineComponent, openBlock, createBlock, renderSlot, resolveComponent, createVNode, createCommentVNode, toDisplayString, resolveDynamicComponent, mergeProps, withCtx, Transition, withDirectives, vShow } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * A simple menu\r\n * @displayName Menu\r\n * @style _menu.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OMenu',\r\n configField: 'menu',\r\n mixins: [BaseComponentMixin],\r\n props: {\r\n accordion: {\r\n type: Boolean,\r\n default: true\r\n },\r\n activable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n rootClass: [String, Array, Function]\r\n },\r\n data() {\r\n return {\r\n menuItems: [],\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return this.computedClass('rootClass', 'o-menu');\r\n },\r\n },\r\n methods: {\r\n registerMenuItem(item) {\r\n this.menuItems.push(item);\r\n },\r\n resetMenu(excludedItems = []) {\r\n this.menuItems.forEach((item) => {\r\n if (!excludedItems.includes(item))\r\n item.reset();\r\n });\r\n },\r\n },\r\n provide() {\r\n return {\r\n registerMenuItem: this.registerMenuItem,\r\n resetMenu: this.resetMenu,\r\n accordion: () => this.accordion,\r\n activable: () => this.activable,\r\n };\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/menu/Menu.vue\";\n\nvar script$1 = defineComponent({\r\n name: 'OMenuList',\r\n configField: 'menu',\r\n mixins: [BaseComponentMixin],\r\n props: {\r\n ariaRole: String,\r\n label: String,\r\n icon: String,\r\n iconPack: String,\r\n /**\r\n * Icon size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n listClass: [String, Array, Function],\r\n listLabelClass: [String, Array, Function],\r\n },\r\n computed: {\r\n listClasses() {\r\n return this.computedClass('listClass', 'o-menu-list');\r\n },\r\n labelClasses() {\r\n return this.computedClass('listLabelClass', 'o-menu-label');\r\n },\r\n computedAriaRole() {\r\n return this.ariaRole === 'menu' ? this.ariaRole : null;\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", null, [_ctx.label || _ctx.$slots.label ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.labelClasses\n }, [_ctx.label && _ctx.icon ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.label ? (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(_ctx.label), 1\n /* TEXT */\n )) : renderSlot(_ctx.$slots, \"label\", {\n key: 2\n })], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), createVNode(\"ul\", {\n class: _ctx.listClasses,\n role: _ctx.computedAriaRole\n }, [renderSlot(_ctx.$slots, \"default\")], 10\n /* CLASS, PROPS */\n , [\"role\"])]);\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/menu/MenuList.vue\";\n\nvar script$2 = defineComponent({\r\n name: 'OMenuItem',\r\n mixins: [BaseComponentMixin],\r\n configField: 'menu',\r\n inheritAttrs: false,\r\n props: {\r\n label: String,\r\n active: Boolean,\r\n expanded: Boolean,\r\n disabled: Boolean,\r\n iconPack: String,\r\n icon: String,\r\n animation: {\r\n type: String,\r\n default: 'slide'\r\n },\r\n tag: {\r\n type: String,\r\n default: 'a'\r\n },\r\n ariaRole: {\r\n type: String,\r\n default: ''\r\n },\r\n /**\r\n * Icon size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n itemClass: [String, Array, Function],\r\n itemActiveClass: [String, Array, Function],\r\n itemDisabledClass: [String, Array, Function],\r\n itemIconTextClass: [String, Array, Function],\r\n itemSubmenuClass: [String, Array, Function],\r\n itemWrapperClass: [String, Array, Function],\r\n },\r\n data() {\r\n return {\r\n newActive: this.active,\r\n newExpanded: this.expanded\r\n };\r\n },\r\n computed: {\r\n ariaRoleMenu() {\r\n return this.ariaRole === 'menuitem' ? this.ariaRole : null;\r\n },\r\n itemClasses() {\r\n return {\r\n [this.computedClass('itemClass', 'o-menu-item')]: true,\r\n [this.computedClass('itemActiveClass', 'o-menu-item--active')]: this.newActive,\r\n [this.computedClass('itemDisabledClass', 'o-menu-item--disabled')]: this.disabled,\r\n [this.computedClass('itemIconTextClass', 'o-menu-item--icon-text')]: this.icon,\r\n };\r\n },\r\n submenuClasses() {\r\n return this.computedClass('itemSubmenuClass', 'o-menu-item__submenu');\r\n },\r\n wrapperClasses() {\r\n return this.computedClass('itemWrapperClass', 'o-menu-item__wrapper');\r\n },\r\n },\r\n watch: {\r\n active(value) {\r\n this.newActive = value;\r\n },\r\n expanded(value) {\r\n this.newExpanded = value;\r\n }\r\n },\r\n methods: {\r\n handleClick() {\r\n if (this.disabled)\r\n return;\r\n this.triggerReset();\r\n this.newExpanded = this.$props.expanded || !this.newExpanded;\r\n this.$emit('update:expanded', this.newExpanded);\r\n if (this.activable) {\r\n this.newActive = true;\r\n this.$emit('update:active', this.newActive);\r\n }\r\n },\r\n triggerReset(child) {\r\n // The point of this method is to collect references to the clicked item and any parent, this way we can skip resetting those elements.\r\n if (this.triggerParentReset) {\r\n this.triggerParentReset(this);\r\n }\r\n else if (this.resetMenu) {\r\n this.resetMenu([this, child]);\r\n }\r\n },\r\n reset() {\r\n if (!this.$parent.$data.isMenu || (this.$parent.$data.isMenu && this.accordion)) {\r\n this.newExpanded = false;\r\n this.$emit('update:expanded', this.newExpanded);\r\n }\r\n if (this.activable) {\r\n this.newActive = false;\r\n this.$emit('update:active', this.newActive);\r\n }\r\n },\r\n },\r\n mounted() {\r\n if (this.registerMenuItem) {\r\n this.registerMenuItem(this);\r\n }\r\n },\r\n provide() {\r\n return {\r\n triggerParentReset: this.triggerReset,\r\n };\r\n },\r\n inject: {\r\n registerMenuItem: { default: false },\r\n resetMenu: { default: false },\r\n triggerParentReset: { default: false },\r\n accordion: { default: false },\r\n activable: { default: false }\r\n }\r\n});\n\nconst _hoisted_1$1 = {\n key: 1\n};\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"li\", {\n role: _ctx.ariaRoleMenu,\n class: _ctx.wrapperClasses\n }, [(openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps(_ctx.$attrs, {\n class: _ctx.itemClasses,\n onClick: _cache[1] || (_cache[1] = $event => _ctx.handleClick())\n }), {\n default: withCtx(() => [_ctx.icon ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.icon,\n pack: _ctx.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), _ctx.label ? (openBlock(), createBlock(\"span\", _hoisted_1$1, toDisplayString(_ctx.label), 1\n /* TEXT */\n )) : renderSlot(_ctx.$slots, \"label\", {\n key: 2,\n expanded: _ctx.newExpanded,\n active: _ctx.newActive\n })]),\n _: 1\n }, 16\n /* FULL_PROPS */\n , [\"class\"])), createCommentVNode(\" sub menu items \"), _ctx.$slots.default ? createVNode(Transition, {\n key: 0,\n name: _ctx.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"ul\", {\n class: _ctx.submenuClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n ), [[vShow, _ctx.newExpanded]])]),\n _: 3\n }, 8\n /* PROPS */\n , [\"name\"]) : createCommentVNode(\"v-if\", true)], 10\n /* CLASS, PROPS */\n , [\"role\"]);\n}\n\nscript$2.render = render$2;\nscript$2.__file = \"src/components/menu/MenuItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n registerComponent(app, script$2);\r\n }\r\n};\n\nexport default index;\nexport { script as OMenu, script$2 as OMenuItem, script$1 as OMenuList };\n","import { defineComponent, resolveComponent, resolveDirective, openBlock, createBlock, Transition, withCtx, withDirectives, createVNode, resolveDynamicComponent, mergeProps, toHandlers, toDisplayString, renderSlot, vShow, createCommentVNode, render as render$1 } from 'vue';\nimport { getValueByPath, toCssDimension, removeElement, merge } from './helpers.mjs';\nimport { getOptions, VueInstance } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nimport { s as script$1 } from './Icon-a7b85e86.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { d as directive } from './trapFocus-dc03669f.mjs';\nimport { I as InstanceRegistry } from './InstanceRegistry-2fdb6ee8.mjs';\n\n/**\r\n * Classic modal overlay to include any content you may need\r\n * @displayName Modal\r\n * @style _modal.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OModal',\r\n components: {\r\n [script$1.name]: script$1\r\n },\r\n configField: 'modal',\r\n directives: {\r\n trapFocus: directive\r\n },\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n emits: ['update:active', 'close'],\r\n props: {\r\n /** Whether modal is active or not, use v-model:active to make it two-way binding */\r\n active: Boolean,\r\n /** Component to be injected, used to open a component modal programmatically. Close modal within the component by emitting a 'close' event — this.$emit('close') */\r\n component: [Object, Function],\r\n /** Text content */\r\n content: String,\r\n /** @ignore */\r\n programmatic: Object,\r\n /** @ignore */\r\n promise: Promise,\r\n /** Props to be binded to the injected component */\r\n props: Object,\r\n /** Events to be binded to the injected component */\r\n events: Object,\r\n /** Width of the Modal */\r\n width: {\r\n type: [String, Number],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.width', 960);\r\n }\r\n },\r\n /** Custom animation (transition name) */\r\n animation: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.animation', 'zoom-out');\r\n }\r\n },\r\n /**\r\n * Can close Modal by clicking 'X', pressing escape or clicking outside\r\n * @values escape, x, outside, button\r\n */\r\n canCancel: {\r\n type: [Array, Boolean],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.canCancel', ['escape', 'x', 'outside', 'button']);\r\n }\r\n },\r\n /** Callback function to call after user canceled (clicked 'X' / pressed escape / clicked outside) */\r\n onCancel: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n /** Callback function to call after close (programmatically close or user canceled) */\r\n onClose: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n /**\r\n * clip to remove the body scrollbar, keep to have a non scrollable scrollbar to avoid shifting background, but will set body to position fixed, might break some layouts\r\n * @values keep, clip\r\n */\r\n scroll: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.scroll', 'keep');\r\n }\r\n },\r\n /** Display modal as full screen */\r\n fullScreen: Boolean,\r\n /** Trap focus inside the modal. */\r\n trapFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.trapFocus', true);\r\n }\r\n },\r\n ariaRole: {\r\n type: String,\r\n validator: (value) => {\r\n return ['dialog', 'alertdialog'].indexOf(value) >= 0;\r\n }\r\n },\r\n ariaModal: Boolean,\r\n ariaLabel: String,\r\n /** Destroy modal on hide */\r\n destroyOnHide: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.destroyOnHide', true);\r\n }\r\n },\r\n /** Automatically focus modal when active */\r\n autoFocus: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.autoFocus', true);\r\n }\r\n },\r\n /** Icon name */\r\n closeIcon: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'modal.closeIcon', 'close');\r\n }\r\n },\r\n closeIconSize: {\r\n type: String,\r\n default: 'medium'\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n closeClass: [String, Function, Array],\r\n fullScreenClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n scrollClipClass: [String, Function, Array],\r\n noScrollClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isActive: this.active || false,\r\n savedScrollTop: null,\r\n newWidth: toCssDimension(this.width),\r\n animating: !this.active,\r\n destroyed: !this.active\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-modal'),\r\n { [this.computedClass('mobileClass', 'o-modal--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n overlayClasses() {\r\n return [\r\n this.computedClass('overlayClass', 'o-modal__overlay')\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-modal__content'),\r\n { [this.computedClass('fullScreenClass', 'o-modal__content--full-screen')]: this.fullScreen }\r\n ];\r\n },\r\n closeClasses() {\r\n return [\r\n this.computedClass('closeClass', 'o-modal__close')\r\n ];\r\n },\r\n scrollClass() {\r\n if (this.scroll === 'clip') {\r\n return this.computedClass('scrollClipClass', 'o-clipped');\r\n }\r\n return this.computedClass('noScrollClass', 'o-noscroll');\r\n },\r\n cancelOptions() {\r\n return typeof this.canCancel === 'boolean'\r\n ? this.canCancel\r\n ? getValueByPath(getOptions(), 'modal.canCancel', ['escape', 'x', 'outside', 'button'])\r\n : []\r\n : this.canCancel;\r\n },\r\n showX() {\r\n return this.cancelOptions.indexOf('x') >= 0;\r\n },\r\n customStyle() {\r\n if (!this.fullScreen) {\r\n return { maxWidth: this.newWidth };\r\n }\r\n return null;\r\n }\r\n },\r\n watch: {\r\n active(value) {\r\n this.isActive = value;\r\n },\r\n isActive(value) {\r\n if (value)\r\n this.destroyed = false;\r\n this.handleScroll();\r\n this.$nextTick(() => {\r\n if (value && this.$el && this.$el.focus && this.autoFocus) {\r\n this.$el.focus();\r\n }\r\n });\r\n }\r\n },\r\n methods: {\r\n handleScroll() {\r\n if (typeof window === 'undefined')\r\n return;\r\n if (this.scroll === 'clip') {\r\n if (this.scrollClass) {\r\n if (this.isActive) {\r\n document.documentElement.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n return;\r\n }\r\n }\r\n this.savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n if (this.isActive) {\r\n document.body.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.body.classList.remove(this.scrollClass);\r\n }\r\n }\r\n if (this.isActive) {\r\n document.body.style.top = `-${this.savedScrollTop}px`;\r\n return;\r\n }\r\n document.documentElement.scrollTop = this.savedScrollTop;\r\n document.body.style.top = null;\r\n this.savedScrollTop = null;\r\n },\r\n /**\r\n * Close the Modal if canCancel and call the onCancel prop (function).\r\n */\r\n cancel(method) {\r\n if (this.cancelOptions.indexOf(method) < 0)\r\n return;\r\n this.onCancel.apply(null, arguments);\r\n this.close({ action: 'cancel', method });\r\n },\r\n /**\r\n * Emit events, and destroy modal if it's programmatic.\r\n */\r\n close() {\r\n this.isActive = false;\r\n if (this.destroyOnHide) {\r\n this.destroyed = true;\r\n }\r\n this.$emit('update:active', false);\r\n this.onClose.apply(null, arguments);\r\n // Waiting for the animation complete before destroying\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.remove(this);\r\n }\r\n if (this.programmatic.resolve) {\r\n this.programmatic.resolve.apply(null, arguments);\r\n }\r\n window.requestAnimationFrame(() => {\r\n removeElement(this.$el);\r\n });\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.isActive && (key === 'Escape' || key === 'Esc'))\r\n this.cancel('escape');\r\n },\r\n /**\r\n * Transition after-enter hook\r\n */\r\n afterEnter() {\r\n this.animating = false;\r\n },\r\n /**\r\n * Transition before-leave hook\r\n */\r\n beforeLeave() {\r\n this.animating = true;\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n mounted() {\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.add(this);\r\n }\r\n // Insert the Modal component in body tag\r\n // only if it's programmatic\r\n document.body.appendChild(this.$el);\r\n this.isActive = true;\r\n }\r\n else if (this.isActive)\r\n this.handleScroll();\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n // reset scroll\r\n const savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n document.body.classList.remove(this.scrollClass);\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n document.documentElement.scrollTop = savedScrollTop;\r\n document.body.style.top = null;\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _directive_trap_focus = resolveDirective(\"trap-focus\");\n\n return openBlock(), createBlock(Transition, {\n name: _ctx.animation,\n \"onAfter-enter\": _ctx.afterEnter,\n \"onBefore-leave\": _ctx.beforeLeave\n }, {\n default: withCtx(() => [!_ctx.destroyed ? withDirectives((openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.rootClasses,\n tabindex: -1,\n role: _ctx.ariaRole,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-modal\": _ctx.ariaModal\n }, [createVNode(\"div\", {\n class: _ctx.overlayClasses,\n onClick: _cache[1] || (_cache[1] = $event => _ctx.cancel('outside'))\n }, null, 2\n /* CLASS */\n ), createVNode(\"div\", {\n class: _ctx.contentClasses,\n style: _ctx.customStyle\n }, [_ctx.component ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.component), mergeProps({\n key: 0\n }, _ctx.props, toHandlers(_ctx.events || {}), {\n onClose: _ctx.close\n }), null, 16\n /* FULL_PROPS */\n , [\"onClose\"])) : _ctx.content ? (openBlock(), createBlock(\"div\", _hoisted_1, toDisplayString(_ctx.content), 1\n /* TEXT */\n )) : renderSlot(_ctx.$slots, \"default\", {\n key: 2\n }), _ctx.showX ? withDirectives(createVNode(_component_o_icon, {\n key: 3,\n clickable: \"\",\n both: \"\",\n class: _ctx.closeClasses,\n icon: _ctx.closeIcon,\n size: _ctx.closeIconSize,\n onClick: _cache[2] || (_cache[2] = $event => _ctx.cancel('x'))\n }, null, 8\n /* PROPS */\n , [\"class\", \"icon\", \"size\"]), [[vShow, !_ctx.animating]]) : createCommentVNode(\"v-if\", true)], 6\n /* CLASS, STYLE */\n )], 10\n /* CLASS, PROPS */\n , [\"role\", \"aria-label\", \"aria-modal\"])), [[vShow, _ctx.isActive], [_directive_trap_focus, _ctx.trapFocus]]) : createCommentVNode(\"v-if\", true)]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\", \"onAfter-enter\", \"onBefore-leave\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/modal/Modal.vue\";\n\nlet localVueInstance;\r\nlet instances = new InstanceRegistry();\r\nconst ModalProgrammatic = {\r\n open(params) {\r\n let newParams;\r\n if (typeof params === 'string') {\r\n newParams = {\r\n content: params\r\n };\r\n }\r\n else {\r\n newParams = params;\r\n }\r\n const defaultParam = {\r\n programmatic: { instances }\r\n };\r\n let slot;\r\n if (Array.isArray(newParams.content)) {\r\n slot = newParams.content;\r\n delete newParams.content;\r\n }\r\n const propsData = merge(defaultParam, newParams);\r\n propsData.promise = new Promise((p1, p2) => {\r\n propsData.programmatic.resolve = p1;\r\n propsData.programmatic.reject = p2;\r\n });\r\n const app = localVueInstance || VueInstance;\r\n const defaultSlot = () => { return slot; };\r\n const vnode = createVNode(script, propsData, defaultSlot);\r\n vnode.appContext = app._context;\r\n render$1(vnode, document.createElement('div'));\r\n return vnode.component.proxy;\r\n },\r\n closeAll() {\r\n console.log(instances);\r\n instances.walk((entry) => {\r\n entry.close(...arguments);\r\n });\r\n }\r\n};\r\nvar index = {\r\n install(app) {\r\n localVueInstance = app;\r\n registerComponent(app, script);\r\n registerComponentProgrammatic(app, 'modal', ModalProgrammatic);\r\n }\r\n};\n\nexport default index;\nexport { ModalProgrammatic, script as OModal };\n","import { resolveComponent, openBlock, createBlock, Transition, withCtx, withDirectives, createVNode, createCommentVNode, resolveDynamicComponent, mergeProps, toHandlers, renderSlot, vShow, defineComponent, render as render$2 } from 'vue';\nimport { getValueByPath, removeElement, merge } from './helpers.mjs';\nimport { getOptions, VueInstance } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { I as InstanceRegistry } from './InstanceRegistry-2fdb6ee8.mjs';\n\nvar MessageMixin = {\r\n components: {\r\n [script$2.name]: script$2\r\n },\r\n props: {\r\n /** Whether modal is active or not, use the .sync modifier (Vue 2.x) or v-model:active (Vue 3.x) to make it two-way binding */\r\n active: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Adds an 'X' button that closes the notification. */\r\n closable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Message text (can contain HTML). */\r\n message: String,\r\n /** Type (color) of the notification, optional. */\r\n type: String,\r\n /** Adds an icon on the left side depending on the type (or the icon prop if defined). */\r\n hasIcon: Boolean,\r\n /** Icon name to use with has-icon. */\r\n icon: String,\r\n /** Icon pack to use. */\r\n iconPack: String,\r\n /** Icon size */\r\n iconSize: {\r\n type: String,\r\n default: 'large'\r\n },\r\n /** Hide notification after duration only not programmatic. */\r\n autoClose: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Visibility duration in miliseconds. */\r\n duration: {\r\n type: Number,\r\n default: 2000\r\n }\r\n },\r\n data() {\r\n return {\r\n isActive: this.active\r\n };\r\n },\r\n watch: {\r\n active(value) {\r\n this.isActive = value;\r\n },\r\n isActive(value) {\r\n if (value) {\r\n this.setAutoClose();\r\n }\r\n else {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n /**\r\n * Icon name (MDI) based on type.\r\n */\r\n computedIcon() {\r\n if (this.icon) {\r\n return this.icon;\r\n }\r\n switch (this.type) {\r\n case 'info':\r\n return 'information';\r\n case 'success':\r\n return 'check-circle';\r\n case 'warning':\r\n return 'alert';\r\n case 'danger':\r\n return 'alert-circle';\r\n default:\r\n return null;\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Close the Message and emit events.\r\n */\r\n close() {\r\n this.isActive = false;\r\n this.$emit('close', ...arguments);\r\n this.$emit('update:active', false);\r\n },\r\n /**\r\n * Set timer to auto close message\r\n */\r\n setAutoClose() {\r\n if (this.autoClose) {\r\n this.timer = setTimeout(() => {\r\n if (this.isActive) {\r\n this.close({ action: 'close', method: 'timeout' });\r\n }\r\n }, this.duration);\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.setAutoClose();\r\n }\r\n};\n\n/**\r\n * Bold notification blocks to alert your users of something\r\n * @displayName Notification\r\n * @requires ./NotificationNotice.vue\r\n * @style _notification.scss\r\n */\r\nvar script = {\r\n name: 'ONotification',\r\n configField: 'notification',\r\n mixins: [BaseComponentMixin, MessageMixin],\r\n emits: ['update:active', 'close'],\r\n props: {\r\n /**\r\n * Which position the notification will appear when programmatically\r\n * @values top-right, top, top-left, bottom-right, bottom, bottom-left\r\n */\r\n position: String,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /**\r\n * Label for the close button, to be read by accessibility screenreaders.\r\n */\r\n ariaCloseLabel: String,\r\n /**\r\n * Size of close icon\r\n */\r\n closeIconSize: {\r\n type: String,\r\n default: 'small'\r\n },\r\n /**\r\n * Custom animation (transition name).\r\n */\r\n animation: {\r\n type: String,\r\n default: 'fade'\r\n },\r\n /** Component to be injected, used to open a component modal programmatically. Close modal within the component by emitting a 'close' event — this.$emit('close') */\r\n component: [Object, Function],\r\n /** Props to be binded to the injected component */\r\n props: Object,\r\n /** Events to be binded to the injected component */\r\n events: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n /** Close icon name */\r\n closeIcon: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.closeIcon', 'close');\r\n }\r\n },\r\n rootClass: [String, Function, Array],\r\n closeClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n iconClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n wrapperClass: [String, Function, Array],\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-notification'),\r\n { [this.computedClass('variantClass', 'o-notification--', this.variant)]: this.variant },\r\n { [this.computedClass('positionClass', 'o-notification--', this.position)]: this.position },\r\n ];\r\n },\r\n wrapperClasses() {\r\n return [\r\n this.computedClass('wrapperClass', 'o-notification__wrapper')\r\n ];\r\n },\r\n iconClasses() {\r\n return [\r\n this.computedClass('iconClass', 'o-notification__icon')\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-notification__content')\r\n ];\r\n },\r\n closeClasses() {\r\n return [\r\n this.computedClass('closeClass', 'o-notification__close')\r\n ];\r\n },\r\n },\r\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(Transition, {\n name: $props.animation\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"article\", {\n class: $options.rootClasses\n }, [_ctx.closable ? (openBlock(), createBlock(\"button\", {\n key: 0,\n class: $options.closeClasses,\n type: \"button\",\n onClick: _cache[1] || (_cache[1] = $event => _ctx.close({\n action: 'close',\n method: 'x'\n })),\n \"aria-label\": $props.ariaCloseLabel\n }, [createVNode(_component_o_icon, {\n clickable: \"\",\n pack: _ctx.iconPack,\n both: \"\",\n icon: $props.closeIcon,\n size: $props.closeIconSize\n }, null, 8\n /* PROPS */\n , [\"pack\", \"icon\", \"size\"])], 10\n /* CLASS, PROPS */\n , [\"aria-label\"])) : createCommentVNode(\"v-if\", true), $props.component ? (openBlock(), createBlock(resolveDynamicComponent($props.component), mergeProps({\n key: 1\n }, $props.props, toHandlers($props.events), {\n onClose: _ctx.close\n }), null, 16\n /* FULL_PROPS */\n , [\"onClose\"])) : createCommentVNode(\"v-if\", true), _ctx.$slots.default || _ctx.message ? (openBlock(), createBlock(\"div\", {\n key: 2,\n class: $options.wrapperClasses\n }, [_ctx.computedIcon ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.computedIcon,\n pack: _ctx.iconPack,\n class: $options.iconClasses,\n both: \"\",\n size: _ctx.iconSize,\n \"aria-hidden\": \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"class\", \"size\"]) : createCommentVNode(\"v-if\", true), createVNode(\"div\", {\n class: $options.contentClasses\n }, [_ctx.message ? (openBlock(), createBlock(\"span\", {\n key: 0,\n innerHTML: _ctx.message\n }, null, 8\n /* PROPS */\n , [\"innerHTML\"])) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n closeNotification: _ctx.close\n })], 2\n /* CLASS */\n )], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), [[vShow, _ctx.isActive]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/notification/Notification.vue\";\n\nvar NoticeMixin = {\r\n props: {\r\n /** Type (color) of the notification, optional. */\r\n type: {\r\n type: String,\r\n },\r\n /** Message text (can contain HTML). */\r\n message: [String, Array],\r\n /** Visibility duration in miliseconds. */\r\n duration: {\r\n type: Number,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.duration', 1000);\r\n }\r\n },\r\n /** If should queue with others notices (snackbar/toast/notification). */\r\n queue: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.noticeQueue', undefined);\r\n }\r\n },\r\n /** Show the Notification indefinitely until it is dismissed when programmatically. */\r\n indefinite: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Which position the notification will appear when programmatically. */\r\n position: {\r\n type: String,\r\n default: 'top',\r\n validator(value) {\r\n return [\r\n 'top-right',\r\n 'top',\r\n 'top-left',\r\n 'bottom-right',\r\n 'bottom',\r\n 'bottom-left'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /** DOM element the toast will be created on. Note that this also changes the position of the toast from fixed to absolute. Meaning that the container should be fixed. */\r\n container: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'notification.containerElement', undefined);\r\n }\r\n },\r\n /** @ignore */\r\n programmatic: Object,\r\n /** @ignore */\r\n promise: Promise,\r\n /** Callback function to call after close (programmatically close or user canceled) */\r\n onClose: {\r\n type: Function,\r\n default: () => { }\r\n }\r\n },\r\n data() {\r\n return {\r\n isActive: false,\r\n parentTop: null,\r\n parentBottom: null,\r\n newDuration: this.duration,\r\n newContainer: this.container\r\n };\r\n },\r\n computed: {\r\n correctParent() {\r\n switch (this.position) {\r\n case 'top-right':\r\n case 'top':\r\n case 'top-left':\r\n return this.parentTop;\r\n case 'bottom-right':\r\n case 'bottom':\r\n case 'bottom-left':\r\n return this.parentBottom;\r\n }\r\n },\r\n transition() {\r\n switch (this.position) {\r\n case 'top-right':\r\n case 'top':\r\n case 'top-left':\r\n return {\r\n enter: 'fadeInDown',\r\n leave: 'fadeOut'\r\n };\r\n case 'bottom-right':\r\n case 'bottom':\r\n case 'bottom-left':\r\n return {\r\n enter: 'fadeInUp',\r\n leave: 'fadeOut'\r\n };\r\n }\r\n }\r\n },\r\n methods: {\r\n shouldQueue() {\r\n if (!this.queue)\r\n return false;\r\n return (this.parentTop.childElementCount > 0 ||\r\n this.parentBottom.childElementCount > 0);\r\n },\r\n close() {\r\n clearTimeout(this.timer);\r\n this.$emit('close');\r\n this.onClose.apply(null, arguments);\r\n if (this.programmatic) {\r\n if (this.programmatic.instances) {\r\n this.programmatic.instances.remove(this);\r\n }\r\n if (this.programmatic.resolve) {\r\n this.programmatic.resolve.apply(null, arguments);\r\n }\r\n }\r\n // Timeout for the animation complete before destroying\r\n setTimeout(() => {\r\n this.isActive = false;\r\n removeElement(this.$el);\r\n }, 150);\r\n },\r\n showNotice() {\r\n if (this.shouldQueue())\r\n this.correctParent.innerHTML = '';\r\n this.correctParent.insertAdjacentElement('afterbegin', this.$el);\r\n this.isActive = true;\r\n if (!this.indefinite) {\r\n this.timer = setTimeout(() => this.timeoutCallback(), this.newDuration);\r\n }\r\n },\r\n setupContainer() {\r\n if (this.rootClasses() && this.positionClasses('top') && this.positionClasses('bottom')) {\r\n this.parentTop = document.querySelector((this.newContainer ? this.newContainer : 'body') + `>.${this.rootClasses().join('.')}.${this.positionClasses('top').join('.')}`);\r\n this.parentBottom = document.querySelector((this.newContainer ? this.newContainer : 'body') + `>.${this.rootClasses().join('.')}.${this.positionClasses('bottom').join('.')}`);\r\n if (this.parentTop && this.parentBottom)\r\n return;\r\n if (!this.parentTop) {\r\n this.parentTop = document.createElement('div');\r\n this.parentTop.className = `${this.rootClasses().join(' ')} ${this.positionClasses('top').join(' ')}`;\r\n }\r\n if (!this.parentBottom) {\r\n this.parentBottom = document.createElement('div');\r\n this.parentBottom.className = `${this.rootClasses().join(' ')} ${this.positionClasses('bottom').join(' ')}`;\r\n }\r\n const container = document.querySelector(this.newContainer) || document.body;\r\n container.appendChild(this.parentTop);\r\n container.appendChild(this.parentBottom);\r\n if (this.newContainer) {\r\n const classes = this.noticeCustomContainerClasses();\r\n if (classes && classes.length) {\r\n classes.filter((c) => !!c).forEach((c) => {\r\n this.parentTop.classList.add(c);\r\n this.parentBottom.classList.add(c);\r\n });\r\n }\r\n }\r\n }\r\n },\r\n timeoutCallback() {\r\n return this.close({ action: 'close', method: 'timeout' });\r\n }\r\n },\r\n beforeMount() {\r\n this.setupContainer();\r\n },\r\n mounted() {\r\n if (this.programmatic && this.programmatic.instances) {\r\n this.programmatic.instances.add(this);\r\n }\r\n this.showNotice();\r\n }\r\n};\n\n/**\r\n * @displayName Notification Notice\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'ONotificationNotice',\r\n configField: 'notification',\r\n mixins: [BaseComponentMixin, NoticeMixin],\r\n props: {\r\n propsNotification: Object,\r\n noticeClass: [String, Function, Array],\r\n noticePositionClass: [String, Function, Array],\r\n noticeCustomContainerClass: [String, Function, Array],\r\n },\r\n emits: ['update:active', 'close'],\r\n methods: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('noticeClass', 'o-notices'),\r\n ];\r\n },\r\n positionClasses(position) {\r\n return [\r\n this.computedClass('noticePositionClass', 'o-notices--', position),\r\n ];\r\n },\r\n noticeCustomContainerClasses() {\r\n return [\r\n this.computedClass('noticeCustomContainerClass', 'o-notices__custom-container')\r\n ];\r\n },\r\n timeoutCallback() {\r\n return this.$refs.notification.close({ action: 'close', method: 'timeout' });\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_notification = resolveComponent(\"o-notification\");\n\n return openBlock(), createBlock(_component_o_notification, mergeProps(_ctx.propsNotification, {\n ref: \"notification\",\n onClose: _ctx.close\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"onClose\"]);\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/notification/NotificationNotice.vue\";\n\nlet localVueInstance;\r\nlet instances = new InstanceRegistry();\r\nconst NotificationProgrammatic = {\r\n open(params) {\r\n let newParams;\r\n if (typeof params === 'string') {\r\n newParams = {\r\n message: params\r\n };\r\n }\r\n else {\r\n newParams = params;\r\n }\r\n const defaultParam = {\r\n programmatic: { instances },\r\n position: getValueByPath(getOptions(), 'notification.position', 'top-right'),\r\n closable: params.closable || getValueByPath(getOptions(), 'notification.closable', false)\r\n };\r\n let slot;\r\n if (Array.isArray(newParams.message)) {\r\n slot = newParams.message;\r\n delete newParams.message;\r\n }\r\n newParams.active = true;\r\n const propsData = merge(defaultParam, newParams);\r\n propsData.promise = new Promise((p1, p2) => {\r\n propsData.programmatic.resolve = p1;\r\n propsData.programmatic.reject = p2;\r\n });\r\n const app = localVueInstance || VueInstance;\r\n propsData.propsNotification = Object.assign({}, propsData);\r\n propsData.propsNotification.isActive = true;\r\n const defaultSlot = () => { return slot; };\r\n const vnode = createVNode(script$1, propsData, defaultSlot);\r\n vnode.appContext = app._context;\r\n render$2(vnode, document.createElement('div'));\r\n return vnode.component.proxy;\r\n },\r\n closeAll() {\r\n instances.walk((entry) => {\r\n entry.close(...arguments);\r\n });\r\n }\r\n};\r\nvar index = {\r\n install(app) {\r\n localVueInstance = app;\r\n registerComponent(app, script);\r\n registerComponentProgrammatic(app, 'notification', NotificationProgrammatic);\r\n }\r\n};\n\nexport default index;\nexport { NotificationProgrammatic, script as ONotification };\n","import { defineComponent, openBlock, createBlock, resolveDynamicComponent, mergeProps, withModifiers, withCtx, renderSlot, createTextVNode, toDisplayString, resolveComponent, createVNode, Fragment, createCommentVNode, renderList } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\nimport { s as script$2 } from './Icon-a7b85e86.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\n\nvar script = defineComponent({\r\n name: 'OPaginationButton',\r\n inject: ['$pagination'],\r\n configField: 'pagination',\r\n props: {\r\n page: {\r\n type: Object,\r\n required: true\r\n },\r\n tag: {\r\n type: String,\r\n default: 'a',\r\n validator: (value) => getValueByPath(getOptions(), 'linkTags', ['a', 'button', 'input', 'router-link', 'nuxt-link']).indexOf(value) >= 0\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n linkClass: [String, Array, Object],\r\n linkCurrentClass: [String, Array, Object]\r\n },\r\n computed: {\r\n linkClasses() {\r\n return [\r\n this.linkClass || [...this.$pagination.linkClasses],\r\n this.page.class,\r\n { [this.linkCurrentClass || this.$pagination.linkCurrentClasses]: this.page.isCurrent }\r\n ];\r\n },\r\n href() {\r\n if (this.tag === 'a') {\r\n return '#';\r\n }\r\n return '';\r\n },\r\n isDisabled() {\r\n if (this.tag === 'a')\r\n return null;\r\n return this.disabled || this.page.disabled;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), mergeProps({\n role: \"button\",\n href: _ctx.href,\n disabled: _ctx.isDisabled,\n class: _ctx.linkClasses\n }, _ctx.$attrs, {\n onClick: withModifiers(_ctx.page.click, [\"prevent\"]),\n \"aria-label\": _ctx.page['aria-label'],\n \"aria-current\": _ctx.page.isCurrent\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\", {}, () => [createTextVNode(toDisplayString(_ctx.page.number), 1\n /* TEXT */\n )])]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"href\", \"disabled\", \"class\", \"onClick\", \"aria-label\", \"aria-current\"]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/pagination/PaginationButton.vue\";\n\n/**\r\n * A responsive and flexible pagination\r\n * @displayName Pagination\r\n * @style _pagination.scss\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OPagination',\r\n components: {\r\n [script$2.name]: script$2,\r\n [script.name]: script\r\n },\r\n configField: 'pagination',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n provide() {\r\n return {\r\n $pagination: this\r\n };\r\n },\r\n emits: ['update:active', 'change', 'update:current'],\r\n props: {\r\n /** Total count of items */\r\n total: [Number, String],\r\n /** Items count for each page */\r\n perPage: {\r\n type: [Number, String],\r\n default: () => { return getValueByPath(getOptions(), 'pagination.perPage', 20); }\r\n },\r\n /** Current page number, use v-model:current to make it two-way binding */\r\n current: {\r\n type: [Number, String],\r\n default: 1\r\n },\r\n /** Number of pagination items to show before current page */\r\n rangeBefore: {\r\n type: [Number, String],\r\n default: 1\r\n },\r\n /** Number of pagination items to show after current page */\r\n rangeAfter: {\r\n type: [Number, String],\r\n default: 1\r\n },\r\n /**\r\n * Pagination size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Simple style */\r\n simple: Boolean,\r\n /** Rounded button styles */\r\n rounded: Boolean,\r\n /**\r\n * Buttons order, optional\r\n * @values centered, right, left\r\n */\r\n order: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'pagination.order', 'right'); }\r\n },\r\n /**\r\n * Icon pack to use\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /** Icon to use for previous button */\r\n iconPrev: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'pagination.iconPrev', 'chevron-left'); }\r\n },\r\n /** Icon to use for next button */\r\n iconNext: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'pagination.iconNext', 'chevron-right'); }\r\n },\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n ariaPageLabel: String,\r\n ariaCurrentLabel: String,\r\n rootClass: [String, Function, Array],\r\n prevBtnClass: [String, Function, Array],\r\n nextBtnClass: [String, Function, Array],\r\n listClass: [String, Function, Array],\r\n linkClass: [String, Function, Array],\r\n linkCurrentClass: [String, Function, Array],\r\n ellipsisClass: [String, Function, Array],\r\n infoClass: [String, Function, Array],\r\n orderClass: [String, Function, Array],\r\n simpleClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n linkDisabledClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-pag'),\r\n { [this.computedClass('orderClass', 'o-pag--', this.order)]: this.order },\r\n { [this.computedClass('sizeClass', 'o-pag--', this.size)]: this.size },\r\n { [this.computedClass('simpleClass', 'o-pag--simple')]: this.simple },\r\n { [this.computedClass('mobileClass', 'o-pag--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n prevBtnClasses() {\r\n return [\r\n this.computedClass('prevBtnClass', 'o-pag__previous'),\r\n { [this.computedClass('linkDisabledClass', 'o-pag__link--disabled')]: !this.hasPrev }\r\n ];\r\n },\r\n nextBtnClasses() {\r\n return [\r\n this.computedClass('nextBtnClass', 'o-pag__next'),\r\n { [this.computedClass('linkDisabledClass', 'o-pag__link--disabled')]: !this.hasNext }\r\n ];\r\n },\r\n infoClasses() {\r\n return [\r\n this.computedClass('infoClass', 'o-pag__info')\r\n ];\r\n },\r\n ellipsisClasses() {\r\n return [\r\n this.computedClass('ellipsisClass', 'o-pag__ellipsis')\r\n ];\r\n },\r\n listClasses() {\r\n return [\r\n this.computedClass('listClass', 'o-pag__list')\r\n ];\r\n },\r\n linkClasses() {\r\n return [\r\n this.computedClass('linkClass', 'o-pag__link'),\r\n { [this.computedClass('roundedClass', 'o-pag__link--rounded')]: this.rounded }\r\n ];\r\n },\r\n linkCurrentClasses() {\r\n return [\r\n this.computedClass('linkCurrentClass', 'o-pag__link--current'),\r\n ];\r\n },\r\n beforeCurrent() {\r\n return parseInt(this.rangeBefore);\r\n },\r\n afterCurrent() {\r\n return parseInt(this.rangeAfter);\r\n },\r\n /**\r\n * Total page size (count).\r\n */\r\n pageCount() {\r\n return Math.ceil(this.total / this.perPage);\r\n },\r\n /**\r\n * First item of the page (count).\r\n */\r\n firstItem() {\r\n const firstItem = this.current * this.perPage - this.perPage + 1;\r\n return firstItem >= 0 ? firstItem : 0;\r\n },\r\n /**\r\n * Check if previous button is available.\r\n */\r\n hasPrev() {\r\n return this.current > 1;\r\n },\r\n /**\r\n * Check if first page button should be visible.\r\n */\r\n hasFirst() {\r\n return this.current >= (2 + this.beforeCurrent);\r\n },\r\n /**\r\n * Check if first ellipsis should be visible.\r\n */\r\n hasFirstEllipsis() {\r\n return this.current >= (this.beforeCurrent + 4);\r\n },\r\n /**\r\n * Check if last page button should be visible.\r\n */\r\n hasLast() {\r\n return this.current <= this.pageCount - (1 + this.afterCurrent);\r\n },\r\n /**\r\n * Check if last ellipsis should be visible.\r\n */\r\n hasLastEllipsis() {\r\n return this.current < this.pageCount - (2 + this.afterCurrent);\r\n },\r\n /**\r\n * Check if next button is available.\r\n */\r\n hasNext() {\r\n return this.current < this.pageCount;\r\n },\r\n /**\r\n * Get near pages, 1 before and 1 after the current.\r\n * Also add the click event to the array.\r\n */\r\n pagesInRange() {\r\n if (this.simple)\r\n return;\r\n let left = Math.max(1, this.current - this.beforeCurrent);\r\n if (left - 1 === 2) {\r\n left--; // Do not show the ellipsis if there is only one to hide\r\n }\r\n let right = Math.min(this.current + this.afterCurrent, this.pageCount);\r\n if (this.pageCount - right === 2) {\r\n right++; // Do not show the ellipsis if there is only one to hide\r\n }\r\n const pages = [];\r\n for (let i = left; i <= right; i++) {\r\n pages.push(this.getPage(i));\r\n }\r\n return pages;\r\n },\r\n hasDefaultSlot() {\r\n return this.$slots.default;\r\n },\r\n hasPreviousSlot() {\r\n return this.$slots.previous;\r\n },\r\n hasNextSlot() {\r\n return this.$slots.next;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * If current page is trying to be greater than page count, set to last.\r\n */\r\n pageCount(value) {\r\n if (this.current > value)\r\n this.last();\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Previous button click listener.\r\n */\r\n prev(event) {\r\n this.changePage(this.current - 1, event);\r\n },\r\n /**\r\n * Next button click listener.\r\n */\r\n next(event) {\r\n this.changePage(this.current + 1, event);\r\n },\r\n /**\r\n * First button click listener.\r\n */\r\n first(event) {\r\n this.changePage(1, event);\r\n },\r\n /**\r\n * Last button click listener.\r\n */\r\n last(event) {\r\n this.changePage(this.pageCount, event);\r\n },\r\n changePage(num, event) {\r\n if (this.current === num || num < 1 || num > this.pageCount)\r\n return;\r\n this.$emit('change', num);\r\n this.$emit('update:current', num);\r\n // Set focus on element to keep tab order\r\n if (event && event.target) {\r\n this.$nextTick(() => event.target.focus());\r\n }\r\n },\r\n getPage(num, options = {}) {\r\n return {\r\n number: num,\r\n isCurrent: this.current === num,\r\n click: (event) => this.changePage(num, event),\r\n disabled: options.disabled || false,\r\n class: options.class || '',\r\n 'aria-label': options['aria-label'] || this.getAriaPageLabel(num, this.current === num)\r\n };\r\n },\r\n /**\r\n * Get text for aria-label according to page number.\r\n */\r\n getAriaPageLabel(pageNumber, isCurrent) {\r\n if (this.ariaPageLabel && (!isCurrent || !this.ariaCurrentLabel)) {\r\n return this.ariaPageLabel + ' ' + pageNumber + '.';\r\n }\r\n else if (this.ariaPageLabel && isCurrent && this.ariaCurrentLabel) {\r\n return this.ariaCurrentLabel + ', ' + this.ariaPageLabel + ' ' + pageNumber + '.';\r\n }\r\n return null;\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 0\n};\nconst _hoisted_2 = {\n key: 1\n};\nconst _hoisted_3 = {\n key: 2\n};\nconst _hoisted_4 = {\n key: 3\n};\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_pagination_button = resolveComponent(\"o-pagination-button\");\n\n return openBlock(), createBlock(\"nav\", {\n class: _ctx.rootClasses\n }, [_ctx.hasPreviousSlot ? renderSlot(_ctx.$slots, \"previous\", {\n key: 0,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current - 1, {\n class: _ctx.prevBtnClasses,\n 'aria-label': _ctx.ariaPreviousLabel\n })\n }, () => [createVNode(_component_o_icon, {\n icon: _ctx.iconPrev,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]) : createVNode(_component_o_pagination_button, {\n key: 1,\n class: _ctx.prevBtnClasses,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current - 1)\n }, {\n default: withCtx(() => [createVNode(_component_o_icon, {\n icon: _ctx.iconPrev,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"class\", \"linkClass\", \"linkCurrentClass\", \"page\"]), _ctx.hasNextSlot ? renderSlot(_ctx.$slots, \"next\", {\n key: 2,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current + 1, {\n class: _ctx.nextBtnClasses,\n 'aria-label': _ctx.ariaNextLabel\n })\n }, () => [createVNode(_component_o_icon, {\n icon: _ctx.iconNext,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]) : createVNode(_component_o_pagination_button, {\n key: 3,\n class: _ctx.nextBtnClasses,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.current + 1)\n }, {\n default: withCtx(() => [createVNode(_component_o_icon, {\n icon: _ctx.iconNext,\n pack: _ctx.iconPack,\n both: \"\",\n \"aria-hidden\": \"true\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\"])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"class\", \"linkClass\", \"linkCurrentClass\", \"page\"]), _ctx.simple ? (openBlock(), createBlock(\"small\", {\n key: 4,\n class: _ctx.infoClasses\n }, [_ctx.perPage == 1 ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createTextVNode(toDisplayString(_ctx.firstItem) + \" / \" + toDisplayString(_ctx.total), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(_ctx.firstItem) + \"-\" + toDisplayString(Math.min(_ctx.current * _ctx.perPage, _ctx.total)) + \" / \" + toDisplayString(_ctx.total), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 2\n /* CLASS */\n )) : (openBlock(), createBlock(\"ul\", {\n key: 5,\n class: _ctx.listClasses\n }, [createCommentVNode(\"First\"), _ctx.hasFirst ? (openBlock(), createBlock(\"li\", _hoisted_1, [_ctx.hasDefaultSlot ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n page: _ctx.getPage(1),\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses\n }) : createVNode(_component_o_pagination_button, {\n key: 1,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(1)\n }, null, 8\n /* PROPS */\n , [\"linkClass\", \"linkCurrentClass\", \"page\"])])) : createCommentVNode(\"v-if\", true), _ctx.hasFirstEllipsis ? (openBlock(), createBlock(\"li\", _hoisted_2, [createVNode(\"span\", {\n class: _ctx.ellipsisClasses\n }, \"…\", 2\n /* CLASS */\n )])) : createCommentVNode(\"v-if\", true), createCommentVNode(\"Pages\"), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.pagesInRange, page => {\n return openBlock(), createBlock(\"li\", {\n key: page.number\n }, [_ctx.hasDefaultSlot ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n page: page,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses\n }) : createVNode(_component_o_pagination_button, {\n key: 1,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: page\n }, null, 8\n /* PROPS */\n , [\"linkClass\", \"linkCurrentClass\", \"page\"])]);\n }), 128\n /* KEYED_FRAGMENT */\n )), createCommentVNode(\"Last\"), _ctx.hasLastEllipsis ? (openBlock(), createBlock(\"li\", _hoisted_3, [createVNode(\"span\", {\n class: _ctx.ellipsisClasses\n }, \"…\", 2\n /* CLASS */\n )])) : createCommentVNode(\"v-if\", true), _ctx.hasLast ? (openBlock(), createBlock(\"li\", _hoisted_4, [_ctx.hasDefaultSlot ? renderSlot(_ctx.$slots, \"default\", {\n key: 0,\n page: _ctx.getPage(_ctx.pageCount),\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses\n }) : createVNode(_component_o_pagination_button, {\n key: 1,\n linkClass: _ctx.linkClasses,\n linkCurrentClass: _ctx.linkCurrentClasses,\n page: _ctx.getPage(_ctx.pageCount)\n }, null, 8\n /* PROPS */\n , [\"linkClass\", \"linkCurrentClass\", \"page\"])])) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ))], 2\n /* CLASS */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/pagination/Pagination.vue\";\n\nexport { script as a, script$1 as s };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport { s as script, a as script$1 } from './Pagination-02a660a8.mjs';\nexport { s as OPagination, a as OPaginationButton } from './Pagination-02a660a8.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, openBlock, createBlock, withModifiers, withKeys, withDirectives, createVNode, vModelRadio, renderSlot } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { C as CheckRadioMixin } from './CheckRadioMixin-f5b57344.mjs';\n\n/**\r\n * Select an option from a set\r\n * @displayName Radio\r\n * @style _radio.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'ORadio',\r\n mixins: [BaseComponentMixin, CheckRadioMixin],\r\n configField: 'radio',\r\n emits: [\r\n 'input'\r\n ],\r\n props: {\r\n rootClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n checkCheckedClass: [String, Function, Array],\r\n checkClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n computed: {\r\n isChecked() {\r\n return this.modelValue === this.nativeValue;\r\n },\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-radio'),\r\n { [this.computedClass('checkedClass', 'o-radio--checked')]: this.isChecked },\r\n { [this.computedClass('sizeClass', 'o-radio--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-radio--disabled')]: this.disabled },\r\n { [this.computedClass('variantClass', 'o-radio--', this.variant)]: this.variant }\r\n ];\r\n },\r\n checkClasses() {\r\n return [\r\n this.computedClass('checkClass', 'o-radio__check'),\r\n { [this.computedClass('checkCheckedClass', 'o-radio__check--checked')]: this.isChecked },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-radio__label')\r\n ];\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses,\n ref: \"label\",\n onClick: _cache[3] || (_cache[3] = withModifiers((...args) => _ctx.focus(...args), [\"stop\"])),\n onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.$refs.label.click(), [\"prevent\"]), [\"enter\"]))\n }, [withDirectives(createVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n type: \"radio\",\n ref: \"input\",\n onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, [\"stop\"])),\n class: _ctx.checkClasses,\n disabled: _ctx.disabled,\n required: _ctx.required,\n name: _ctx.name,\n value: _ctx.nativeValue\n }, null, 10\n /* CLASS, PROPS */\n , [\"disabled\", \"required\", \"name\", \"value\"]), [[vModelRadio, _ctx.computedValue]]), createVNode(\"span\", {\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/radio/Radio.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as ORadio };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport { s as script } from './Select-2cca695f.mjs';\nexport { s as OSelect } from './Select-2cca695f.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, h } from 'vue';\nimport { toCssDimension } from './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * A placeholder for content to load\r\n * @displayName Skeleton\r\n * @style _skeleton.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSkeleton',\r\n mixins: [BaseComponentMixin],\r\n configField: 'skeleton',\r\n props: {\r\n /** Show or hide loader\t */\r\n active: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Show a loading animation */\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Custom width */\r\n width: [Number, String],\r\n /** Custom height */\r\n height: [Number, String],\r\n /** Show a circle shape */\r\n circle: Boolean,\r\n /** Rounded style */\r\n rounded: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Number of shapes to display */\r\n count: {\r\n type: Number,\r\n default: 1\r\n },\r\n /**\r\n * Skeleton position in relation to the element\r\n * @values left, centered, right\r\n */\r\n position: {\r\n type: String,\r\n default: 'left',\r\n validator(value) {\r\n return [\r\n 'left',\r\n 'centered',\r\n 'right'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /**\r\n * Size of skeleton\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n rootClass: [String, Function, Array],\r\n animationClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n itemClass: [String, Function, Array],\r\n itemRoundedClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array]\r\n },\r\n render() {\r\n if (!this.active)\r\n return;\r\n const items = [];\r\n const width = this.width;\r\n const height = this.height;\r\n for (let i = 0; i < this.count; i++) {\r\n items.push(h('div', {\r\n class: [\r\n this.computedClass('itemClass', 'o-sklt__item'),\r\n { [this.computedClass('itemRoundedClass', 'o-sklt__item--rounded')]: this.rounded },\r\n { [this.computedClass('animationClass', 'o-sklt__item--animated')]: this.animated },\r\n { [this.computedClass('sizeClass', 'o-sklt__item--', this.size)]: this.size },\r\n ],\r\n key: i,\r\n style: {\r\n height: toCssDimension(height),\r\n width: toCssDimension(width),\r\n borderRadius: this.circle ? '50%' : null\r\n }\r\n }));\r\n }\r\n return h('div', {\r\n class: [\r\n this.computedClass('rootClass', 'o-sklt'),\r\n { [this.computedClass('positionClass', 'o-sklt--', this.position)]: this.position }\r\n ]\r\n }, items);\r\n }\r\n});\n\nscript.__file = \"src/components/skeleton/Skeleton.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OSkeleton };\n","import { defineComponent, withDirectives, openBlock, createBlock, createCommentVNode, createVNode, Transition, withCtx, renderSlot, vShow } from 'vue';\nimport { getValueByPath, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\n\n/**\r\n * A sidebar to use as left/right overlay or static\r\n * @displayName Sidebar\r\n * @style _sidebar.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSidebar',\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n configField: 'sidebar',\r\n emits: ['update:open', 'close'],\r\n props: {\r\n /** To control the behaviour of the sidebar programmatically, use the v-model:open to make it two-way binding */\r\n open: Boolean,\r\n /**\r\n * Color of the sidebar, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /** Show an overlay like modal */\r\n overlay: Boolean,\r\n /**\r\n * Skeleton position in relation to the window\r\n * @values fixed, absolute, static\r\n */\r\n position: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'sidebar.position', 'fixed'); },\r\n validator: (value) => {\r\n return [\r\n 'fixed',\r\n 'absolute',\r\n 'static'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Show sidebar in fullheight */\r\n fullheight: Boolean,\r\n /** Show sidebar in fullwidth */\r\n fullwidth: Boolean,\r\n /** Show the sidebar on right */\r\n right: Boolean,\r\n /**\r\n * Custom layout on mobile\r\n * @values fullwidth, reduced, hidden\r\n */\r\n mobile: {\r\n type: String,\r\n validator: (value) => {\r\n return [\r\n '',\r\n 'fullwidth',\r\n 'reduced',\r\n 'hidden'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Show a small sidebar */\r\n reduce: Boolean,\r\n /** Expand sidebar on hover when reduced or mobile is reduce */\r\n expandOnHover: Boolean,\r\n /** Expand sidebar on hover with fixed position when reduced or mobile is reduce */\r\n expandOnHoverFixed: Boolean,\r\n /**\r\n * Sidebar cancel options\r\n * @values true, false, 'escape', 'outside'\r\n */\r\n canCancel: {\r\n type: [Array, Boolean],\r\n default: () => { return getValueByPath(getOptions(), 'sidebar.canCancel', ['escape', 'outside']); }\r\n },\r\n /**\r\n * Callback on cancel\r\n */\r\n onCancel: {\r\n type: Function,\r\n default: () => { }\r\n },\r\n scroll: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'sidebar.scroll', 'clip');\r\n },\r\n validator: (value) => {\r\n return [\r\n 'clip',\r\n 'keep'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n rootClass: [String, Function, Array],\r\n overlayClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n fixedClass: [String, Function, Array],\r\n staticClass: [String, Function, Array],\r\n absoluteClass: [String, Function, Array],\r\n fullheightClass: [String, Function, Array],\r\n fullwidthClass: [String, Function, Array],\r\n rightClass: [String, Function, Array],\r\n reduceClass: [String, Function, Array],\r\n expandOnHoverClass: [String, Function, Array],\r\n expandOnHoverFixedClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n scrollClipClass: [String, Function, Array],\r\n noScrollClass: [String, Function, Array],\r\n hiddenClass: [String, Function, Array],\r\n visibleClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isOpen: this.open,\r\n transitionName: null,\r\n animating: true,\r\n savedScrollTop: null\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-side'),\r\n { [this.computedClass('mobileClass', 'o-side--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n overlayClasses() {\r\n return [\r\n this.computedClass('overlayClass', 'o-side__overlay')\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-side__content'),\r\n { [this.computedClass('variantClass', 'o-side__content--', this.variant)]: this.variant },\r\n { [this.computedClass('fixedClass', 'o-side__content--fixed')]: this.isFixed },\r\n { [this.computedClass('staticClass', 'o-side__content--static')]: this.isStatic },\r\n { [this.computedClass('absoluteClass', 'o-side__content--absolute')]: this.isAbsolute },\r\n { [this.computedClass('fullheightClass', 'o-side__content--fullheight')]: this.fullheight },\r\n { [this.computedClass('fullwidthClass', 'o-side__content--fullwidth')]: this.fullwidth || (this.mobile === 'fullwidth' && this.isMatchMedia) },\r\n { [this.computedClass('rightClass', 'o-side__content--right')]: this.right },\r\n { [this.computedClass('reduceClass', 'o-side__content--mini')]: this.reduce || (this.mobile === 'reduced' && this.isMatchMedia) },\r\n { [this.computedClass('expandOnHoverClass', 'o-side__content--mini-expand')]: (this.expandOnHover && this.mobile !== 'fullwidth') },\r\n { [this.computedClass('expandOnHoverFixedClass', 'o-side__content--expand-mini-hover-fixed')]: (this.expandOnHover && this.expandOnHoverFixed && this.mobile !== 'fullwidth') },\r\n { [this.computedClass('visibleClass', 'o-side__content--visible')]: this.isOpen },\r\n { [this.computedClass('hiddenClass', 'o-side__content--hidden')]: !this.isOpen },\r\n ];\r\n },\r\n scrollClass() {\r\n if (this.scroll === 'clip') {\r\n return this.computedClass('scrollClipClass', 'o-clipped');\r\n }\r\n return this.computedClass('noScrollClass', 'o-noscroll');\r\n },\r\n cancelOptions() {\r\n return typeof this.canCancel === 'boolean'\r\n ? this.canCancel\r\n ? getValueByPath(getOptions(), 'sidebar.canCancel', ['escape', 'outside'])\r\n : []\r\n : this.canCancel;\r\n },\r\n isStatic() {\r\n return this.position === 'static';\r\n },\r\n isFixed() {\r\n return this.position === 'fixed';\r\n },\r\n isAbsolute() {\r\n return this.position === 'absolute';\r\n },\r\n hideOnMobile() {\r\n return this.mobile === 'hidden' && this.isMatchMedia;\r\n }\r\n },\r\n watch: {\r\n open: {\r\n handler(value) {\r\n this.isOpen = value;\r\n if (this.overlay) {\r\n this.handleScroll();\r\n }\r\n const open = this.right ? !value : value;\r\n this.transitionName = !open ? 'slide-prev' : 'slide-next';\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Keypress event that is bound to the document.\r\n */\r\n keyPress({ key }) {\r\n if (this.isFixed) {\r\n if (this.isOpen && (key === 'Escape' || key === 'Esc'))\r\n this.cancel('escape');\r\n }\r\n },\r\n /**\r\n * Close the Sidebar if canCancel and call the onCancel prop (function).\r\n */\r\n cancel(method) {\r\n if (this.cancelOptions.indexOf(method) < 0)\r\n return;\r\n if (this.isStatic)\r\n return;\r\n this.onCancel.apply(null, arguments);\r\n this.close();\r\n },\r\n /**\r\n * Call the onCancel prop (function) and emit events\r\n */\r\n close() {\r\n this.isOpen = false;\r\n this.$emit('close');\r\n this.$emit('update:open', false);\r\n },\r\n /**\r\n * Close fixed sidebar if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (!this.isFixed || !this.isOpen || this.animating) {\r\n return;\r\n }\r\n if (!event.composedPath().includes(this.$refs.sidebarContent)) {\r\n this.cancel('outside');\r\n }\r\n },\r\n /**\r\n * Transition before-enter hook\r\n */\r\n beforeEnter() {\r\n this.animating = true;\r\n },\r\n /**\r\n * Transition after-leave hook\r\n */\r\n afterEnter() {\r\n this.animating = false;\r\n },\r\n handleScroll() {\r\n if (typeof window === 'undefined')\r\n return;\r\n if (this.scroll === 'clip') {\r\n if (this.scrollClass) {\r\n if (this.open) {\r\n document.documentElement.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n return;\r\n }\r\n }\r\n this.savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n if (this.open) {\r\n document.body.classList.add(this.scrollClass);\r\n }\r\n else {\r\n document.body.classList.remove(this.scrollClass);\r\n }\r\n }\r\n if (this.open) {\r\n document.body.style.top = `-${this.savedScrollTop}px`;\r\n return;\r\n }\r\n document.documentElement.scrollTop = this.savedScrollTop;\r\n document.body.style.top = null;\r\n this.savedScrollTop = null;\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('keyup', this.keyPress);\r\n document.addEventListener('click', this.clickedOutside);\r\n }\r\n },\r\n mounted() {\r\n if (typeof window !== 'undefined') {\r\n if (this.isFixed) {\r\n document.body.appendChild(this.$el);\r\n }\r\n if (this.overlay && this.open) {\r\n this.handleScroll();\r\n }\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('keyup', this.keyPress);\r\n document.removeEventListener('click', this.clickedOutside);\r\n if (this.overlay) {\r\n // reset scroll\r\n const savedScrollTop = !this.savedScrollTop\r\n ? document.documentElement.scrollTop\r\n : this.savedScrollTop;\r\n if (this.scrollClass) {\r\n document.body.classList.remove(this.scrollClass);\r\n document.documentElement.classList.remove(this.scrollClass);\r\n }\r\n document.documentElement.scrollTop = savedScrollTop;\r\n document.body.style.top = null;\r\n }\r\n }\r\n if (this.isFixed) {\r\n removeElement(this.$el);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return withDirectives((openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [_ctx.overlay && _ctx.isOpen ? (openBlock(), createBlock(\"div\", {\n key: 0,\n class: _ctx.overlayClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), createVNode(Transition, {\n name: _ctx.transitionName,\n \"onBefore-enter\": _ctx.beforeEnter,\n \"onAfter-enter\": _ctx.afterEnter\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n ref: \"sidebarContent\",\n class: _ctx.contentClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n ), [[vShow, _ctx.isOpen]])]),\n _: 3\n }, 8\n /* PROPS */\n , [\"name\", \"onBefore-enter\", \"onAfter-enter\"])], 2\n /* CLASS */\n )), [[vShow, !_ctx.hideOnMobile]]);\n}\n\nscript.render = render;\nscript.__file = \"src/components/sidebar/Sidebar.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OSidebar };\n","import { defineComponent, openBlock, createBlock, createVNode, Transition, withCtx, withDirectives, Fragment, createTextVNode, toDisplayString, renderSlot, createCommentVNode, vShow } from 'vue';\nimport { getValueByPath, isWebKit, createAbsoluteElement, removeElement } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin } from './plugins-ba5e2464.mjs';\n\nconst opposites = {\r\n top: 'bottom',\r\n bottom: 'top',\r\n right: 'left',\r\n left: 'right',\r\n};\r\nfunction intersectionArea(a, b) {\r\n const left = Math.max(a.left, b.left);\r\n const right = Math.min(a.right, b.right);\r\n const top = Math.max(a.top, b.top);\r\n const bottom = Math.min(a.bottom, b.bottom);\r\n return Math.max(right - left, 0) * Math.max(bottom - top, 0);\r\n}\r\n/**\r\n * @param rect the bounding rectangle of the trigger element\r\n * @return the \"anchor points\" (points where the arrow attaches) for each side of the tooltip\r\n */\r\nconst anchors = (rect) => ({\r\n top: { x: (rect.left + rect.right) * 0.5, y: rect.top },\r\n bottom: { x: (rect.left + rect.right) * 0.5, y: rect.bottom },\r\n left: { x: rect.left, y: (rect.top + rect.bottom) * 0.5 },\r\n right: { x: rect.right, y: (rect.top + rect.bottom) * 0.5 },\r\n});\r\n/**\r\n * Display a brief helper text to your user\r\n * @displayName Tooltip\r\n * @style _tooltip.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OTooltip',\r\n mixins: [BaseComponentMixin],\r\n configField: 'tooltip',\r\n emits: ['open', 'close'],\r\n props: {\r\n /** Whether tooltip is active or not, use v-model:active to make it two-way binding */\r\n active: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Tooltip text */\r\n label: String,\r\n /** Tooltip delay before it appears (number in ms) */\r\n delay: Number,\r\n /**\r\n * Tooltip position in relation to the element\r\n * @values top, bottom, left, right,\r\n */\r\n position: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'tooltip.position', 'top'); },\r\n validator: (value) => {\r\n return [\r\n 'top',\r\n 'bottom',\r\n 'left',\r\n 'right',\r\n 'auto',\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n /**\r\n * Tooltip trigger events\r\n * @values hover, click, focus, contextmenu\r\n */\r\n triggers: {\r\n type: Array,\r\n default: () => { return getValueByPath(getOptions(), 'tooltip.triggers', ['hover']); }\r\n },\r\n /** Tooltip will be always active */\r\n always: Boolean,\r\n /** Tooltip will have an animation */\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Tooltip default animation */\r\n animation: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'tooltip.animation', 'fade'); }\r\n },\r\n /**\r\n * Tooltip auto close options\r\n * @values true, false, 'inside', 'outside'\r\n */\r\n autoClose: {\r\n type: [Array, Boolean],\r\n default: true\r\n },\r\n /** Tooltip will be multilined */\r\n multiline: Boolean,\r\n /** Append tooltip content to body */\r\n appendToBody: Boolean,\r\n /**\r\n * Color of the tooltip\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Function, Array],\r\n rootClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n orderClass: [String, Function, Array],\r\n triggerClass: [String, Function, Array],\r\n multilineClass: [String, Function, Array],\r\n alwaysClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n arrowClass: [String, Function, Array],\r\n arrowOrderClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n isActive: false,\r\n triggerStyle: {},\r\n bodyEl: undefined,\r\n metrics: null,\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-tip')\r\n ];\r\n },\r\n triggerClasses() {\r\n return [\r\n this.computedClass('triggerClass', 'o-tip__trigger'),\r\n ];\r\n },\r\n arrowClasses() {\r\n return [\r\n this.computedClass('arrowClass', 'o-tip__arrow'),\r\n { [this.computedClass('arrowOrderClass', 'o-tip__arrow--', this.newPosition)]: this.newPosition },\r\n { [this.computedClass('variantArrowClass', 'o-tip__arrow--', this.variant)]: this.variant },\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-tip__content'),\r\n { [this.computedClass('orderClass', 'o-tip__content--', this.newPosition)]: this.newPosition },\r\n { [this.computedClass('variantClass', 'o-tip__content--', this.variant)]: this.variant },\r\n { [this.computedClass('multilineClass', 'o-tip__content--multiline')]: this.multiline },\r\n { [this.computedClass('alwaysClass', 'o-tip__content--always')]: this.always }\r\n ];\r\n },\r\n newAnimation() {\r\n return this.animated ? this.animation : undefined;\r\n },\r\n newPosition() {\r\n if (this.position !== 'auto') {\r\n return this.position;\r\n }\r\n const defaultPosition = getValueByPath(getOptions(), 'tooltip.position', 'top');\r\n let bestPosition = defaultPosition;\r\n if (this.metrics != null) {\r\n let viewRect;\r\n const viewport = window.visualViewport; // Not available with our current types package\r\n if (viewport != undefined) {\r\n if (isWebKit()) {\r\n // On WebKit, getBoundingClientRect offsets relative to the the visual viewport's origin, not the layout viewport's.\r\n // See https://bugs.webkit.org/show_bug.cgi?id=170981\r\n viewRect = new DOMRect(0, 0, viewport.width, viewport.height);\r\n }\r\n else {\r\n viewRect = new DOMRect(viewport.offsetLeft, viewport.offsetTop, viewport.width, viewport.height);\r\n }\r\n }\r\n else {\r\n viewRect = new DOMRect(0, 0, document.documentElement.clientWidth, document.documentElement.clientHeight);\r\n }\r\n const triggerAnchors = anchors(this.metrics.trigger);\r\n const contentRect = this.metrics.content;\r\n const contentAnchors = anchors(contentRect);\r\n const contentRectAtAnchor = (pos) => {\r\n const triggerAnchor = triggerAnchors[pos];\r\n const contentAnchor = contentAnchors[opposites[pos]];\r\n // Translates contentRect so contentAnchor is on top of triggerAnchor\r\n // NOTE: this doesn't account for the extra offset that the tooltip arrow provides.\r\n // That offset should be small, and it's tricky to get it from the CSS.\r\n return new DOMRect(contentRect.x + (triggerAnchor.x - contentAnchor.x), contentRect.y + (triggerAnchor.y - contentAnchor.y), contentRect.width, contentRect.height);\r\n };\r\n const defaultOpposite = opposites[defaultPosition];\r\n const crossPosition = (defaultPosition === 'top' || defaultPosition === 'bottom') ? 'left' : 'top';\r\n const crossOpposite = opposites[crossPosition];\r\n // In descending order of priority\r\n const positions = [defaultPosition, defaultOpposite, crossPosition, crossOpposite];\r\n let maxOverlap = 0;\r\n for (const position of positions) {\r\n const overlap = intersectionArea(viewRect, contentRectAtAnchor(position));\r\n if (overlap > maxOverlap) {\r\n maxOverlap = overlap;\r\n bestPosition = position;\r\n }\r\n }\r\n }\r\n return bestPosition;\r\n },\r\n },\r\n watch: {\r\n isActive(value) {\r\n this.$emit(value ? 'open' : 'close');\r\n if (value && this.position === 'auto') {\r\n this.$nextTick(() => {\r\n this.metrics = {\r\n content: this.$refs.content.getBoundingClientRect(),\r\n trigger: this.$refs.trigger.getBoundingClientRect(),\r\n };\r\n });\r\n }\r\n if (value && this.appendToBody) {\r\n this.updateAppendToBody();\r\n }\r\n }\r\n },\r\n methods: {\r\n updateAppendToBody() {\r\n const tooltip = this.$refs.tooltip;\r\n const trigger = this.$refs.trigger;\r\n if (tooltip && trigger) {\r\n // update wrapper tooltip\r\n const tooltipEl = this.$data.bodyEl.children[0];\r\n tooltipEl.classList.forEach((item) => tooltipEl.classList.remove(...item.split(' ')));\r\n if (this.$vnode && this.$vnode.data && this.$vnode.data.staticClass) {\r\n tooltipEl.classList.add(this.$vnode.data.staticClass);\r\n }\r\n this.rootClasses.forEach((item) => {\r\n if (typeof item === 'object') {\r\n Object.keys(item).filter(key => key && item[key]).forEach(key => tooltipEl.classList.add(key));\r\n }\r\n else {\r\n tooltipEl.classList.add(...item.split(' '));\r\n }\r\n });\r\n tooltipEl.style.width = `${trigger.clientWidth}px`;\r\n tooltipEl.style.height = `${trigger.clientHeight}px`;\r\n const rect = trigger.getBoundingClientRect();\r\n const top = rect.top + window.scrollY;\r\n const left = rect.left + window.scrollX;\r\n const wrapper = this.$data.bodyEl;\r\n wrapper.style.position = 'absolute';\r\n wrapper.style.top = `${top}px`;\r\n wrapper.style.left = `${left}px`;\r\n wrapper.style.zIndex = this.isActive || this.always ? '99' : '-1';\r\n this.triggerStyle = { zIndex: this.isActive || this.always ? '100' : undefined };\r\n }\r\n },\r\n onClick() {\r\n if (this.triggers.indexOf('click') < 0)\r\n return;\r\n // if not active, toggle after clickOutside event\r\n // this fixes toggling programmatic\r\n this.$nextTick(() => {\r\n setTimeout(() => this.open());\r\n });\r\n },\r\n onHover() {\r\n if (this.triggers.indexOf('hover') < 0)\r\n return;\r\n this.open();\r\n },\r\n onFocus() {\r\n if (this.triggers.indexOf('focus') < 0)\r\n return;\r\n this.open();\r\n },\r\n onContextMenu(event) {\r\n if (this.triggers.indexOf('contextmenu') < 0)\r\n return;\r\n event.preventDefault();\r\n this.open();\r\n },\r\n open() {\r\n if (this.delay) {\r\n this.timer = setTimeout(() => {\r\n this.isActive = true;\r\n this.timer = null;\r\n }, this.delay);\r\n }\r\n else {\r\n this.isActive = true;\r\n }\r\n },\r\n close() {\r\n if (typeof this.autoClose === 'boolean') {\r\n this.isActive = !this.autoClose;\r\n }\r\n if (this.autoClose && this.timer)\r\n clearTimeout(this.timer);\r\n },\r\n /**\r\n * Close tooltip if clicked outside.\r\n */\r\n clickedOutside(event) {\r\n if (this.isActive) {\r\n if (Array.isArray(this.autoClose)) {\r\n if (this.autoClose.indexOf('outside') >= 0) {\r\n if (!this.isInWhiteList(event.target))\r\n this.isActive = false;\r\n }\r\n if (this.autoClose.indexOf('inside') >= 0) {\r\n if (this.isInWhiteList(event.target))\r\n this.isActive = false;\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Keypress event that is bound to the document\r\n */\r\n keyPress({ key }) {\r\n if (this.isActive && (key === 'Escape' || key === 'Esc')) {\r\n if (Array.isArray(this.autoClose)) {\r\n if (this.autoClose.indexOf('escape') >= 0)\r\n this.isActive = false;\r\n }\r\n }\r\n },\r\n /**\r\n * White-listed items to not close when clicked.\r\n */\r\n isInWhiteList(el) {\r\n if (el === this.$refs.content)\r\n return true;\r\n // All chidren from content\r\n if (this.$refs.content !== undefined) {\r\n const children = this.$refs.content.querySelectorAll('*');\r\n for (const child of children) {\r\n if (el === child) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n },\r\n mounted() {\r\n if (this.appendToBody) {\r\n this.$data.bodyEl = createAbsoluteElement(this.$refs.content);\r\n this.updateAppendToBody();\r\n }\r\n },\r\n created() {\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('click', this.clickedOutside);\r\n document.addEventListener('keyup', this.keyPress);\r\n }\r\n },\r\n beforeUnmount() {\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('click', this.clickedOutside);\r\n document.removeEventListener('keyup', this.keyPress);\r\n }\r\n if (this.appendToBody) {\r\n removeElement(this.$data.bodyEl);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n ref: \"tooltip\",\n class: _ctx.rootClasses\n }, [createVNode(Transition, {\n name: _ctx.newAnimation,\n \"onAfter-leave\": _cache[1] || (_cache[1] = $event => _ctx.metrics = null),\n \"onEnter-cancelled\": _cache[2] || (_cache[2] = $event => _ctx.metrics = null)\n }, {\n default: withCtx(() => [withDirectives(createVNode(\"div\", {\n ref: \"content\",\n class: _ctx.contentClasses\n }, [createVNode(\"span\", {\n class: _ctx.arrowClasses\n }, null, 2\n /* CLASS */\n ), _ctx.label ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [createTextVNode(toDisplayString(_ctx.label), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n )) : _ctx.$slots.default ? renderSlot(_ctx.$slots, \"content\", {\n key: 1\n }) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), [[vShow, _ctx.active && (_ctx.isActive || _ctx.always)]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"name\"]), createVNode(\"div\", {\n ref: \"trigger\",\n class: _ctx.triggerClasses,\n style: _ctx.triggerStyle,\n onClick: _cache[3] || (_cache[3] = (...args) => _ctx.onClick(...args)),\n onContextmenu: _cache[4] || (_cache[4] = (...args) => _ctx.onContextMenu(...args)),\n onMouseenter: _cache[5] || (_cache[5] = (...args) => _ctx.onHover(...args)),\n onFocusCapture: _cache[6] || (_cache[6] = (...args) => _ctx.onFocus(...args)),\n onBlurCapture: _cache[7] || (_cache[7] = (...args) => _ctx.close(...args)),\n onMouseleave: _cache[8] || (_cache[8] = (...args) => _ctx.close(...args))\n }, [renderSlot(_ctx.$slots, \"default\", {\n ref: \"slot\"\n })], 38\n /* CLASS, STYLE, HYDRATE_EVENTS */\n )], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/tooltip/Tooltip.vue\";\n\nexport { script as s };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, withCtx, mergeProps, withKeys, withModifiers, toDisplayString, createCommentVNode, renderSlot, Fragment, renderList } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$3 } from './Tooltip-7e114fbb.mjs';\n\nvar script = defineComponent({\r\n name: 'OSliderThumb',\r\n components: {\r\n [script$3.name]: script$3\r\n },\r\n configField: 'slider',\r\n inheritAttrs: false,\r\n inject: ['$slider'],\r\n emits: ['update:modelValue', 'dragstart', 'dragend'],\r\n props: {\r\n modelValue: {\r\n type: Number,\r\n default: 0\r\n },\r\n variant: {\r\n type: String,\r\n default: ''\r\n },\r\n tooltip: {\r\n type: Boolean,\r\n default: true\r\n },\r\n indicator: {\r\n type: Boolean,\r\n default: false\r\n },\r\n customFormatter: Function,\r\n format: {\r\n type: String,\r\n default: 'raw',\r\n validator: (value) => {\r\n return [\r\n 'raw',\r\n 'percent'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n tooltipAlways: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n isFocused: false,\r\n dragging: false,\r\n startX: 0,\r\n startPosition: 0,\r\n newPosition: null,\r\n oldValue: this.modelValue\r\n };\r\n },\r\n computed: {\r\n disabled() {\r\n return this.$parent.disabled;\r\n },\r\n max() {\r\n return this.$parent.max;\r\n },\r\n min() {\r\n return this.$parent.min;\r\n },\r\n step() {\r\n return this.$parent.step;\r\n },\r\n precision() {\r\n return this.$parent.precision;\r\n },\r\n currentPosition() {\r\n return `${(this.modelValue - this.min) / (this.max - this.min) * 100}%`;\r\n },\r\n wrapperStyle() {\r\n return { left: this.currentPosition };\r\n },\r\n formattedValue() {\r\n if (typeof this.customFormatter !== 'undefined') {\r\n return this.customFormatter(this.modelValue);\r\n }\r\n if (this.format === 'percent') {\r\n return new Intl.NumberFormat(this.locale, {\r\n style: 'percent'\r\n }).format(((this.modelValue - this.min)) / (this.max - this.min));\r\n }\r\n return new Intl.NumberFormat(this.locale).format(this.modelValue);\r\n }\r\n },\r\n methods: {\r\n onFocus() {\r\n this.isFocused = true;\r\n },\r\n onBlur() {\r\n this.isFocused = false;\r\n },\r\n onButtonDown(event) {\r\n if (this.disabled)\r\n return;\r\n event.preventDefault();\r\n this.onDragStart(event);\r\n if (typeof window !== 'undefined') {\r\n document.addEventListener('mousemove', this.onDragging);\r\n document.addEventListener('touchmove', this.onDragging);\r\n document.addEventListener('mouseup', this.onDragEnd);\r\n document.addEventListener('touchend', this.onDragEnd);\r\n document.addEventListener('contextmenu', this.onDragEnd);\r\n }\r\n },\r\n onLeftKeyDown() {\r\n if (this.disabled || this.modelvalue === this.min)\r\n return;\r\n this.newPosition = parseFloat(this.currentPosition) -\r\n this.step / (this.max - this.min) * 100;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onRightKeyDown() {\r\n if (this.disabled || this.modelvalue === this.max)\r\n return;\r\n this.newPosition = parseFloat(this.currentPosition) +\r\n this.step / (this.max - this.min) * 100;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onHomeKeyDown() {\r\n if (this.disabled || this.modelvalue === this.min)\r\n return;\r\n this.newPosition = 0;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onEndKeyDown() {\r\n if (this.disabled || this.modelvalue === this.max)\r\n return;\r\n this.newPosition = 100;\r\n this.setPosition(this.newPosition);\r\n this.$parent.emitValue('change');\r\n },\r\n onDragStart(event) {\r\n this.dragging = true;\r\n this.$emit('dragstart');\r\n if (event.type === 'touchstart') {\r\n event.clientX = event.touches[0].clientX;\r\n }\r\n this.startX = event.clientX;\r\n this.startPosition = parseFloat(this.currentPosition);\r\n this.newPosition = this.startPosition;\r\n },\r\n onDragging(event) {\r\n if (this.dragging) {\r\n if (event.type === 'touchmove') {\r\n event.clientX = event.touches[0].clientX;\r\n }\r\n const diff = (event.clientX - this.startX) / this.$parent.sliderSize() * 100;\r\n this.newPosition = this.startPosition + diff;\r\n this.setPosition(this.newPosition);\r\n }\r\n },\r\n onDragEnd() {\r\n this.dragging = false;\r\n this.$emit('dragend');\r\n if (this.modelvalue !== this.oldValue) {\r\n this.$parent.emitValue('change');\r\n }\r\n this.setPosition(this.newPosition);\r\n if (typeof window !== 'undefined') {\r\n document.removeEventListener('mousemove', this.onDragging);\r\n document.removeEventListener('touchmove', this.onDragging);\r\n document.removeEventListener('mouseup', this.onDragEnd);\r\n document.removeEventListener('touchend', this.onDragEnd);\r\n document.removeEventListener('contextmenu', this.onDragEnd);\r\n }\r\n },\r\n setPosition(percent) {\r\n if (percent === null || isNaN(percent))\r\n return;\r\n if (percent < 0) {\r\n percent = 0;\r\n }\r\n else if (percent > 100) {\r\n percent = 100;\r\n }\r\n const stepLength = 100 / ((this.max - this.min) / this.step);\r\n const steps = Math.round(percent / stepLength);\r\n let value = steps * stepLength / 100 * (this.max - this.min) + this.min;\r\n value = parseFloat(value.toFixed(this.precision));\r\n this.$emit('update:modelValue', value);\r\n if (!this.dragging && value !== this.oldValue) {\r\n this.oldValue = value;\r\n }\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 0\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_tooltip = resolveComponent(\"o-tooltip\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.$slider.thumbWrapperClasses,\n style: _ctx.wrapperStyle\n }, [createVNode(_component_o_tooltip, {\n label: _ctx.formattedValue,\n variant: _ctx.variant,\n always: _ctx.dragging || _ctx.isFocused || _ctx.tooltipAlways,\n active: !_ctx.disabled && _ctx.tooltip\n }, {\n default: withCtx(() => [createVNode(\"div\", mergeProps(_ctx.$attrs, {\n class: _ctx.$slider.thumbClasses,\n tabindex: _ctx.disabled ? false : 0,\n onMousedown: _cache[1] || (_cache[1] = (...args) => _ctx.onButtonDown(...args)),\n onTouchstart: _cache[2] || (_cache[2] = (...args) => _ctx.onButtonDown(...args)),\n onFocus: _cache[3] || (_cache[3] = (...args) => _ctx.onFocus(...args)),\n onBlur: _cache[4] || (_cache[4] = (...args) => _ctx.onBlur(...args)),\n onKeydown: [_cache[5] || (_cache[5] = withKeys(withModifiers((...args) => _ctx.onLeftKeyDown(...args), [\"prevent\"]), [\"left\"])), _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => _ctx.onRightKeyDown(...args), [\"prevent\"]), [\"right\"])), _cache[7] || (_cache[7] = withKeys(withModifiers((...args) => _ctx.onLeftKeyDown(...args), [\"prevent\"]), [\"down\"])), _cache[8] || (_cache[8] = withKeys(withModifiers((...args) => _ctx.onRightKeyDown(...args), [\"prevent\"]), [\"up\"])), _cache[9] || (_cache[9] = withKeys(withModifiers((...args) => _ctx.onHomeKeyDown(...args), [\"prevent\"]), [\"home\"])), _cache[10] || (_cache[10] = withKeys(withModifiers((...args) => _ctx.onEndKeyDown(...args), [\"prevent\"]), [\"end\"]))]\n }), [_ctx.indicator ? (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(_ctx.formattedValue), 1\n /* TEXT */\n )) : createCommentVNode(\"v-if\", true)], 16\n /* FULL_PROPS */\n , [\"tabindex\"])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"label\", \"variant\", \"always\", \"active\"])], 6\n /* CLASS, STYLE */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/slider/SliderThumb.vue\";\n\n/**\r\n * @displayName Slider Tick\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OSliderTick',\r\n mixins: [BaseComponentMixin],\r\n configField: 'slider',\r\n inject: ['$slider'],\r\n props: {\r\n /** Value of single tick */\r\n value: {\r\n variant: Number,\r\n default: 0\r\n },\r\n tickClass: [String, Function, Array],\r\n tickHiddenClass: [String, Function, Array],\r\n tickLabelClass: [String, Function, Array]\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('tickClass', 'o-slide__tick'),\r\n { [this.computedClass('tickHiddenClass', 'o-slide__tick--hidden')]: this.hidden },\r\n ];\r\n },\r\n tickLabelClasses() {\r\n return [\r\n this.computedClass('tickLabelClass', 'o-slide__tick-label')\r\n ];\r\n },\r\n position() {\r\n const pos = (this.value - this.$parent.min) /\r\n (this.$parent.max - this.$parent.min) * 100;\r\n return (pos >= 0 && pos <= 100) ? pos : 0;\r\n },\r\n hidden() {\r\n return this.value === this.$parent.min || this.value === this.$parent.max;\r\n },\r\n tickStyle() {\r\n return { 'left': this.position + '%' };\r\n }\r\n },\r\n created() {\r\n if (!this.$slider) {\r\n throw new Error('You should wrap oSliderTick on a oSlider');\r\n }\r\n }\r\n});\n\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses,\n style: _ctx.tickStyle\n }, [_ctx.$slots.default ? (openBlock(), createBlock(\"span\", {\n key: 0,\n class: _ctx.tickLabelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 6\n /* CLASS, STYLE */\n );\n}\n\nscript$1.render = render$1;\nscript$1.__file = \"src/components/slider/SliderTick.vue\";\n\n/**\r\n * A slider to select a value or range from a given range\r\n * @displayName Slider\r\n * @requires ./SliderTick.vue\r\n * @style _slider.scss\r\n */\r\nvar script$2 = defineComponent({\r\n name: 'OSlider',\r\n components: {\r\n [script.name]: script,\r\n [script$1.name]: script$1\r\n },\r\n configField: 'slider',\r\n mixins: [BaseComponentMixin],\r\n provide() {\r\n return {\r\n $slider: this\r\n };\r\n },\r\n emits: ['update:modelValue', 'change', 'dragging', 'dragstart', 'dragend'],\r\n props: {\r\n /** @model */\r\n modelValue: {\r\n type: [Number, Array],\r\n default: 0\r\n },\r\n /** Minimum value */\r\n min: {\r\n type: Number,\r\n default: 0\r\n },\r\n /** Maximum value */\r\n max: {\r\n type: Number,\r\n default: 100\r\n },\r\n /** Step interval of ticks */\r\n step: {\r\n type: Number,\r\n default: 1\r\n },\r\n /**\r\n * Color of the slider\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: {\r\n type: String\r\n },\r\n /**\r\n * Vertical size of slider, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /** Show tick marks */\r\n ticks: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Show tooltip when thumb is being dragged */\r\n tooltip: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'slider.tooltip', true);\r\n }\r\n },\r\n /**\r\n * Color of the tooltip\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n tooltipVariant: String,\r\n /** Rounded thumb */\r\n rounded: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'slider.rounded', false);\r\n }\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Update v-model only when dragging is finished */\r\n lazy: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Function to format the tooltip label for display */\r\n customFormatter: Function,\r\n ariaLabel: [String, Array],\r\n /** Increases slider size on focus */\r\n biggerSliderFocus: {\r\n type: Boolean,\r\n default: false\r\n },\r\n indicator: {\r\n type: Boolean,\r\n default: false\r\n },\r\n format: {\r\n type: String,\r\n default: 'raw',\r\n validator: (value) => {\r\n return [\r\n 'raw',\r\n 'percent'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n locale: {\r\n type: [String, Array],\r\n default: () => {\r\n return getValueByPath(getOptions(), 'locale');\r\n }\r\n },\r\n /** Tooltip displays always */\r\n tooltipAlways: {\r\n type: Boolean,\r\n default: false\r\n },\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n trackClass: [String, Function, Array],\r\n fillClass: [String, Function, Array],\r\n thumbRoundedClass: [String, Function, Array],\r\n thumbDraggingClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n thumbWrapperClass: [String, Function, Array],\r\n thumbClass: [String, Function, Array],\r\n variantClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n value1: null,\r\n value2: null,\r\n dragging: false,\r\n isRange: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-slide'),\r\n { [this.computedClass('sizeClass', 'o-slide--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-slide--disabled')]: this.disabled },\r\n ];\r\n },\r\n trackClasses() {\r\n return [\r\n this.computedClass('trackClass', 'o-slide__track'),\r\n ];\r\n },\r\n fillClasses() {\r\n return [\r\n this.computedClass('fillClass', 'o-slide__fill'),\r\n { [this.computedClass('variantClass', 'o-slide__fill--', this.variant)]: this.variant },\r\n ];\r\n },\r\n thumbClasses() {\r\n return [\r\n this.computedClass('thumbClass', 'o-slide__thumb'),\r\n { [this.computedClass('thumbDraggingClass', 'o-slide__thumb--dragging')]: this.dragging },\r\n { [this.computedClass('thumbRoundedClass', 'o-slide__thumb--rounded')]: this.rounded },\r\n ];\r\n },\r\n thumbWrapperClasses() {\r\n return [\r\n this.computedClass('thumbWrapperClass', 'o-slide__thumb-wrapper'),\r\n ];\r\n },\r\n newTooltipVariant() {\r\n return this.tooltipVariant ? this.tooltipVariant : this.variant;\r\n },\r\n tickValues() {\r\n if (!this.ticks || this.min > this.max || this.step === 0)\r\n return [];\r\n const result = [];\r\n for (let i = this.min + this.step; i < this.max; i = i + this.step) {\r\n result.push(i);\r\n }\r\n return result;\r\n },\r\n minValue() {\r\n return Math.min(this.value1, this.value2);\r\n },\r\n maxValue() {\r\n return Math.max(this.value1, this.value2);\r\n },\r\n barSize() {\r\n return this.isRange\r\n ? `${100 * (this.maxValue - this.minValue) / (this.max - this.min)}%`\r\n : `${100 * (this.value1 - this.min) / (this.max - this.min)}%`;\r\n },\r\n barStart() {\r\n return this.isRange\r\n ? `${100 * (this.minValue - this.min) / (this.max - this.min)}%`\r\n : '0%';\r\n },\r\n precision() {\r\n const precisions = [this.min, this.max, this.step].map((item) => {\r\n const decimal = ('' + item).split('.')[1];\r\n return decimal ? decimal.length : 0;\r\n });\r\n return Math.max(...precisions);\r\n },\r\n barStyle() {\r\n return {\r\n width: this.barSize,\r\n left: this.barStart\r\n };\r\n }\r\n },\r\n watch: {\r\n value1() {\r\n this.onInternalValueUpdate();\r\n },\r\n value2() {\r\n this.onInternalValueUpdate();\r\n },\r\n min() {\r\n this.setValues(this.value);\r\n },\r\n max() {\r\n this.setValues(this.value);\r\n },\r\n /**\r\n * When v-model is changed set the new active step.\r\n */\r\n modelValue(value) {\r\n this.setValues(value);\r\n }\r\n },\r\n methods: {\r\n setValues(newValue) {\r\n if (this.min > this.max) {\r\n return;\r\n }\r\n if (Array.isArray(newValue)) {\r\n this.isRange = true;\r\n const smallValue = typeof newValue[0] !== 'number' || isNaN(newValue[0])\r\n ? this.min\r\n : Math.min(Math.max(this.min, newValue[0]), this.max);\r\n const largeValue = typeof newValue[1] !== 'number' || isNaN(newValue[1])\r\n ? this.max\r\n : Math.max(Math.min(this.max, newValue[1]), this.min);\r\n this.value1 = this.isThumbReversed ? largeValue : smallValue;\r\n this.value2 = this.isThumbReversed ? smallValue : largeValue;\r\n }\r\n else {\r\n this.isRange = false;\r\n this.value1 = isNaN(newValue)\r\n ? this.min\r\n : Math.min(this.max, Math.max(this.min, newValue));\r\n this.value2 = null;\r\n }\r\n },\r\n onInternalValueUpdate() {\r\n if (this.isRange) {\r\n this.isThumbReversed = this.value1 > this.value2;\r\n }\r\n if (!this.lazy || !this.dragging) {\r\n this.emitValue('update:modelValue');\r\n }\r\n if (this.dragging) {\r\n this.emitValue('dragging');\r\n }\r\n },\r\n sliderSize() {\r\n return this.$refs.slider.getBoundingClientRect().width;\r\n },\r\n onSliderClick(event) {\r\n if (this.disabled || this.isTrackClickDisabled)\r\n return;\r\n const sliderOffsetLeft = this.$refs.slider.getBoundingClientRect().left;\r\n const percent = (event.clientX - sliderOffsetLeft) / this.sliderSize() * 100;\r\n const targetValue = this.min + percent * (this.max - this.min) / 100;\r\n const diffFirst = Math.abs(targetValue - this.value1);\r\n if (!this.isRange) {\r\n if (diffFirst < this.step / 2)\r\n return;\r\n this.$refs.button1.setPosition(percent);\r\n }\r\n else {\r\n const diffSecond = Math.abs(targetValue - this.value2);\r\n if (diffFirst <= diffSecond) {\r\n if (diffFirst < this.step / 2)\r\n return;\r\n this.$refs['button1'].setPosition(percent);\r\n }\r\n else {\r\n if (diffSecond < this.step / 2)\r\n return;\r\n this.$refs['button2'].setPosition(percent);\r\n }\r\n }\r\n this.emitValue('change');\r\n },\r\n onDragStart() {\r\n this.dragging = true;\r\n this.$emit('dragstart');\r\n },\r\n onDragEnd() {\r\n this.isTrackClickDisabled = true;\r\n setTimeout(() => {\r\n // avoid triggering onSliderClick after dragend\r\n this.isTrackClickDisabled = false;\r\n }, 0);\r\n this.dragging = false;\r\n this.$emit('dragend');\r\n if (this.lazy) {\r\n this.emitValue('update:modelValue');\r\n }\r\n },\r\n emitValue(event) {\r\n const val = this.isRange\r\n ? [this.minValue, this.maxValue]\r\n : this.value1;\r\n this.$emit(event, val);\r\n }\r\n },\r\n created() {\r\n this.isThumbReversed = false;\r\n this.isTrackClickDisabled = false;\r\n this.setValues(this.modelValue);\r\n }\r\n});\n\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_slider_tick = resolveComponent(\"o-slider-tick\");\n\n const _component_o_slider_thumb = resolveComponent(\"o-slider-thumb\");\n\n return openBlock(), createBlock(\"div\", {\n onClick: _cache[3] || (_cache[3] = (...args) => _ctx.onSliderClick(...args)),\n class: _ctx.rootClasses\n }, [createVNode(\"div\", {\n class: _ctx.trackClasses,\n ref: \"slider\"\n }, [createVNode(\"div\", {\n class: _ctx.fillClasses,\n style: _ctx.barStyle\n }, null, 6\n /* CLASS, STYLE */\n ), _ctx.ticks ? (openBlock(true), createBlock(Fragment, {\n key: 0\n }, renderList(_ctx.tickValues, (val, key) => {\n return openBlock(), createBlock(_component_o_slider_tick, {\n key: key,\n value: val\n }, null, 8\n /* PROPS */\n , [\"value\"]);\n }), 128\n /* KEYED_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true), renderSlot(_ctx.$slots, \"default\"), createVNode(_component_o_slider_thumb, {\n modelValue: _ctx.value1,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.value1 = $event),\n variant: _ctx.newTooltipVariant,\n tooltip: _ctx.tooltip,\n \"custom-formatter\": _ctx.customFormatter,\n indicator: _ctx.indicator,\n ref: \"button1\",\n role: \"slider\",\n format: _ctx.format,\n locale: _ctx.locale,\n \"tooltip-always\": _ctx.tooltipAlways,\n \"aria-valuenow\": _ctx.value1,\n \"aria-valuemin\": _ctx.min,\n \"aria-valuemax\": _ctx.max,\n \"aria-orientation\": \"horizontal\",\n \"aria-label\": Array.isArray(_ctx.ariaLabel) ? _ctx.ariaLabel[0] : _ctx.ariaLabel,\n \"aria-disabled\": _ctx.disabled,\n onDragstart: _ctx.onDragStart,\n onDragend: _ctx.onDragEnd\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"variant\", \"tooltip\", \"custom-formatter\", \"indicator\", \"format\", \"locale\", \"tooltip-always\", \"aria-valuenow\", \"aria-valuemin\", \"aria-valuemax\", \"aria-label\", \"aria-disabled\", \"onDragstart\", \"onDragend\"]), _ctx.isRange ? createVNode(_component_o_slider_thumb, {\n key: 1,\n modelValue: _ctx.value2,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => _ctx.value2 = $event),\n variant: _ctx.newTooltipVariant,\n tooltip: _ctx.tooltip,\n \"custom-formatter\": _ctx.customFormatter,\n indicator: _ctx.indicator,\n ref: \"button2\",\n role: \"slider\",\n format: _ctx.format,\n locale: _ctx.locale,\n \"tooltip-always\": _ctx.tooltipAlways,\n \"aria-valuenow\": _ctx.value2,\n \"aria-valuemin\": _ctx.min,\n \"aria-valuemax\": _ctx.max,\n \"aria-orientation\": \"horizontal\",\n \"aria-label\": Array.isArray(_ctx.ariaLabel) ? _ctx.ariaLabel[1] : '',\n \"aria-disabled\": _ctx.disabled,\n onDragstart: _ctx.onDragStart,\n onDragend: _ctx.onDragEnd\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"variant\", \"tooltip\", \"custom-formatter\", \"indicator\", \"format\", \"locale\", \"tooltip-always\", \"aria-valuenow\", \"aria-valuemin\", \"aria-valuemax\", \"aria-label\", \"aria-disabled\", \"onDragstart\", \"onDragend\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript$2.render = render$2;\nscript$2.__file = \"src/components/slider/Slider.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script$2);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$2 as OSlider, script$1 as OSliderTick };\n","import { defineComponent, h } from 'vue';\n\nvar SlotComponent = defineComponent({\r\n name: 'OSlotComponent',\r\n props: {\r\n component: {\r\n type: Object,\r\n required: true\r\n },\r\n name: {\r\n type: String,\r\n default: 'default'\r\n },\r\n props: {\r\n type: Object\r\n },\r\n tag: {\r\n type: String,\r\n default: 'div'\r\n }\r\n },\r\n render() {\r\n const slot = this.component.$slots[this.name](this.props);\r\n return h(this.tag, {}, slot);\r\n }\r\n});\n\nexport { SlotComponent as S };\n","import { defineComponent, withDirectives, h, vShow, Transition } from 'vue';\nimport { mod } from './helpers.mjs';\nimport { s as script } from './Icon-a7b85e86.mjs';\nimport { P as ProviderParentMixin, S as Sorted, I as InjectedChildMixin, a as Sorted$1 } from './InjectedChildMixin-5282461d.mjs';\nimport { S as SlotComponent } from './SlotComponent-11a269f3.mjs';\n\nvar TabbedMixin = (cmp) => defineComponent({\r\n mixins: [ProviderParentMixin(cmp, Sorted)],\r\n components: {\r\n [script.name]: script,\r\n [SlotComponent.name]: SlotComponent\r\n },\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [String, Number],\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: [String, Object],\r\n /**\r\n * Tab size, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Show tab in vertical layout */\r\n vertical: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Position of the tab, optional\r\n * @values centered, right\r\n */\r\n position: String,\r\n /** Destroy tab on hide */\r\n destroyOnHide: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data() {\r\n return {\r\n activeId: this.modelValue,\r\n contentHeight: 0,\r\n isTransitioning: false\r\n };\r\n },\r\n computed: {\r\n activeItem() {\r\n return this.activeId !== undefined && this.activeId !== null\r\n ? this.childItems.filter((i) => i.newValue === this.activeId)[0] : this.items[0];\r\n },\r\n activeIndex() {\r\n return this.childItems.findIndex((item => item.newValue === this.activeId));\r\n },\r\n items() {\r\n return this.sortedItems;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed set the new active tab.\r\n */\r\n modelValue(value) {\r\n if (this.activeId !== value) {\r\n this.performAction(value);\r\n }\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Child click listener, emit input event and change active child.\r\n */\r\n childClick(child) {\r\n if (this.activeId !== child.newValue) {\r\n this.performAction(child.newValue);\r\n this.$emit('update:modelValue', this.activeId);\r\n }\r\n },\r\n /**\r\n * Select the first 'viable' child, starting at startingIndex and in the direction specified\r\n * by the boolean parameter forward. In other words, first try to select the child at index\r\n * startingIndex, and if it is not visible or it is disabled, then go to the index in the\r\n * specified direction until either returning to startIndex or finding a viable child item.\r\n */\r\n clickFirstViableChild(startingIndex, forward) {\r\n let direction = forward ? 1 : -1;\r\n let newIndex = startingIndex;\r\n for (; newIndex !== this.activeIndex; newIndex = mod((newIndex + direction), this.childItems.length)) {\r\n // Break if the item at this index is viable (not disabled and is visible)\r\n if (this.childItems[newIndex].visible && !this.childItems[newIndex].disabled) {\r\n break;\r\n }\r\n }\r\n this.childClick(this.childItems[newIndex]);\r\n },\r\n /**\r\n * Go to the next item or wrap around\r\n */\r\n next() {\r\n let newIndex = mod((this.activeIndex + 1), this.childItems.length);\r\n this.clickFirstViableChild(newIndex, true);\r\n },\r\n /**\r\n * Go to the previous item or wrap around\r\n */\r\n prev() {\r\n let newIndex = mod(this.activeIndex - 1, this.childItems.length);\r\n this.clickFirstViableChild(newIndex, false);\r\n },\r\n /**\r\n * Go to the first viable item\r\n */\r\n homePressed() {\r\n if (this.childItems.length < 1) {\r\n return;\r\n }\r\n this.clickFirstViableChild(0, true);\r\n },\r\n /**\r\n * Go to the last viable item\r\n */\r\n endPressed() {\r\n if (this.childItems.length < 1) {\r\n return;\r\n }\r\n this.clickFirstViableChild(this.childItems.length - 1, false);\r\n },\r\n /**\r\n * Activate next child and deactivate prev child\r\n */\r\n performAction(newId) {\r\n const oldValue = this.activeId;\r\n const oldTab = oldValue !== undefined && oldValue !== null\r\n ? this.childItems.filter((i) => i.newValue === oldValue)[0] : this.items[0];\r\n this.activeId = newId;\r\n if (oldTab && this.activeItem) {\r\n oldTab.deactivate(this.activeItem.index);\r\n this.activeItem.activate(oldTab.index);\r\n }\r\n }\r\n }\r\n});\n\nvar TabbedChildMixin = (parentCmp) => defineComponent({\r\n mixins: [InjectedChildMixin(parentCmp, Sorted$1)],\r\n props: {\r\n /**\r\n * Item value (it will be used as v-model of wrapper component)\r\n */\r\n value: [String, Number],\r\n /**\r\n * Item label\r\n */\r\n label: String,\r\n /**\r\n * Icon on the left\r\n */\r\n icon: String,\r\n /**\r\n * Icon pack\r\n */\r\n iconPack: String,\r\n /**\r\n * Show/hide item\r\n */\r\n visible: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Header class of the item\r\n */\r\n headerClass: [String, Array, Object]\r\n },\r\n data() {\r\n return {\r\n transitionName: undefined,\r\n newValue: this.value\r\n };\r\n },\r\n computed: {\r\n isActive() {\r\n return this.parent.activeItem === this;\r\n },\r\n elementClasses() {\r\n return [];\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Activate element, alter animation name based on the index.\r\n */\r\n activate(oldIndex) {\r\n this.transitionName = this.index < oldIndex\r\n ? this.parent.vertical ? 'slide-down' : 'slide-next'\r\n : this.parent.vertical ? 'slide-up' : 'slide-prev';\r\n this.$emit(\"activate\");\r\n },\r\n /**\r\n * Deactivate element, alter animation name based on the index.\r\n */\r\n deactivate(newIndex) {\r\n this.transitionName = newIndex < this.index\r\n ? this.parent.vertical ? 'slide-down' : 'slide-next'\r\n : this.parent.vertical ? 'slide-up' : 'slide-prev';\r\n }\r\n },\r\n render() {\r\n // if destroy apply v-if\r\n if (this.parent.destroyOnHide) {\r\n if (!this.isActive || !this.visible)\r\n return;\r\n }\r\n const content = this.$slots.default ? this.$slots.default() : [];\r\n const vnode = withDirectives(h('div', {\r\n class: this.elementClasses,\r\n 'data-id': `${parentCmp}-${this.newValue}`,\r\n 'tabindex': this.isActive ? 0 : -1\r\n }, content), [[vShow, this.isActive && this.visible]]);\r\n // check animated prop\r\n if (this.parent.animated) {\r\n return h(Transition, {\r\n 'name': this.transitionName,\r\n 'onBeforeEnter': () => { this.parent.isTransitioning = true; },\r\n 'onAfterEnter': () => { this.parent.isTransitioning = false; }\r\n }, () => ([vnode]));\r\n }\r\n return vnode;\r\n }\r\n});\n\nexport { TabbedMixin as T, TabbedChildMixin as a };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, Fragment, renderList, withDirectives, createCommentVNode, toDisplayString, vShow, renderSlot, withModifiers } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$3 } from './Icon-a7b85e86.mjs';\nimport { s as script$2 } from './Button-c75f7992.mjs';\nimport './InjectedChildMixin-5282461d.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport './SlotComponent-11a269f3.mjs';\nimport { T as TabbedMixin, a as TabbedChildMixin } from './TabbedChildMixin-8b374962.mjs';\n\n/**\r\n * Responsive horizontal process steps\r\n * @displayName Steps\r\n * @requires ./StepItem.vue\r\n * @style _steps.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSteps',\r\n components: {\r\n [script$2.name]: script$2,\r\n [script$3.name]: script$3\r\n },\r\n configField: 'steps',\r\n mixins: [BaseComponentMixin, MatchMediaMixin, TabbedMixin('step')],\r\n props: {\r\n /**\r\n * Icon pack to use for the navigation\r\n * @values mdi, fa, fas and any other custom icon pack\r\n */\r\n iconPack: String,\r\n /** Icon to use for navigation button */\r\n iconPrev: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'steps.iconPrev', 'chevron-left');\r\n }\r\n },\r\n /** Icon to use for navigation button */\r\n iconNext: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'steps.iconNext', 'chevron-right');\r\n }\r\n },\r\n /**\r\n * Next and previous buttons below the component. You can use this property if you want to use your own custom navigation items.\r\n */\r\n hasNavigation: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Step navigation is animated\r\n */\r\n animated: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Position of the marker label, optional\r\n * @values bottom, right, left\r\n */\r\n labelPosition: {\r\n type: String,\r\n validator(value) {\r\n return [\r\n 'bottom',\r\n 'right',\r\n 'left'\r\n ].indexOf(value) > -1;\r\n },\r\n default: 'bottom'\r\n },\r\n /** Rounded step markers */\r\n rounded: {\r\n type: Boolean,\r\n default: true\r\n },\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n rootClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n verticalClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n stepsClass: [String, Function, Array],\r\n animatedClass: [String, Function, Array],\r\n stepMarkerRoundedClass: [String, Function, Array],\r\n stepDividerClass: [String, Function, Array],\r\n stepMarkerClass: [String, Function, Array],\r\n stepContentClass: [String, Function, Array],\r\n stepContentTransitioningClass: [String, Function, Array],\r\n stepNavigationClass: [String, Function, Array],\r\n stepLinkClass: [String, Function, Array],\r\n stepLinkClickableClass: [String, Function, Array],\r\n stepLinkLabelClass: [String, Function, Array],\r\n stepLinkLabelPositionClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n },\r\n computed: {\r\n wrapperClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-steps__wrapper'),\r\n { [this.computedClass('sizeClass', 'o-steps--', this.size)]: this.size },\r\n { [this.computedClass('verticalClass', 'o-steps__wrapper-vertical')]: this.vertical },\r\n { [this.computedClass('positionClass', 'o-steps__wrapper-position-', this.position)]: this.position && this.vertical },\r\n { [this.computedClass('mobileClass', 'o-steps--mobile')]: this.isMatchMedia },\r\n ];\r\n },\r\n mainClasses() {\r\n return [\r\n this.computedClass('stepsClass', 'o-steps'),\r\n { [this.computedClass('animatedClass', 'o-steps--animated')]: this.animated }\r\n ];\r\n },\r\n stepDividerClasses() {\r\n return [\r\n this.computedClass('stepDividerClass', 'o-steps__divider')\r\n ];\r\n },\r\n stepMarkerClasses() {\r\n return [\r\n this.computedClass('stepMarkerClass', 'o-steps__marker'),\r\n { [this.computedClass('stepMarkerRoundedClass', 'o-steps__marker--rounded')]: this.rounded }\r\n ];\r\n },\r\n stepContentClasses() {\r\n return [\r\n this.computedClass('stepContentClass', 'o-steps__content'),\r\n { [this.computedClass('stepContentTransitioningClass', 'o-steps__content-transitioning')]: this.isTransitioning }\r\n ];\r\n },\r\n stepNavigationClasses() {\r\n return [\r\n this.computedClass('stepNavigationClass', 'o-steps__navigation')\r\n ];\r\n },\r\n stepLinkLabelClasses() {\r\n return [\r\n this.computedClass('stepLinkLabelClass', 'o-steps__title')\r\n ];\r\n },\r\n // Override mixin implementation to always have a value\r\n activeItem() {\r\n return this.childItems.filter((i) => i.newValue === this.activeId)[0] || this.items[0];\r\n },\r\n /**\r\n * Check if previous button is available.\r\n */\r\n hasPrev() {\r\n return !!this.prevItem;\r\n },\r\n /**\r\n * Retrieves the next visible item\r\n */\r\n nextItem() {\r\n let nextItem = null;\r\n let idx = this.activeItem ? this.items.indexOf(this.activeItem) + 1 : 0;\r\n for (; idx < this.items.length; idx++) {\r\n if (this.items[idx].visible) {\r\n nextItem = this.items[idx];\r\n break;\r\n }\r\n }\r\n return nextItem;\r\n },\r\n /**\r\n * Retrieves the previous visible item\r\n */\r\n prevItem() {\r\n if (!this.activeItem) {\r\n return null;\r\n }\r\n let prevItem = null;\r\n for (let idx = this.items.indexOf(this.activeItem) - 1; idx >= 0; idx--) {\r\n if (this.items[idx].visible) {\r\n prevItem = this.items[idx];\r\n break;\r\n }\r\n }\r\n return prevItem;\r\n },\r\n /**\r\n * Check if next button is available.\r\n */\r\n hasNext() {\r\n return !!this.nextItem;\r\n },\r\n navigationProps() {\r\n return {\r\n previous: {\r\n disabled: !this.hasPrev,\r\n action: this.prev\r\n },\r\n next: {\r\n disabled: !this.hasNext,\r\n action: this.next\r\n }\r\n };\r\n }\r\n },\r\n methods: {\r\n stepLinkClasses(childItem) {\r\n return [\r\n this.computedClass('stepLinkClass', 'o-steps__link'),\r\n { [this.computedClass('stepLinkLabelPositionClass', 'o-steps__link-label-', this.labelPosition)]: this.labelPosition },\r\n { [this.computedClass('stepLinkClickableClass', 'o-steps__link-clickable')]: this.isItemClickable(childItem) }\r\n ];\r\n },\r\n /**\r\n * Return if the step should be clickable or not.\r\n */\r\n isItemClickable(stepItem) {\r\n if (stepItem.clickable === undefined) {\r\n return stepItem.index < this.activeItem.index;\r\n }\r\n return stepItem.clickable;\r\n },\r\n /**\r\n * Previous button click listener.\r\n */\r\n prev() {\r\n if (this.hasPrev) {\r\n this.childClick(this.prevItem);\r\n }\r\n },\r\n /**\r\n * Previous button click listener.\r\n */\r\n next() {\r\n if (this.hasNext) {\r\n this.childClick(this.nextItem);\r\n }\r\n }\r\n }\r\n});\n\nconst _hoisted_1 = {\n key: 1\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_button = resolveComponent(\"o-button\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.wrapperClasses\n }, [createVNode(\"nav\", {\n class: _ctx.mainClasses\n }, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.items, (childItem, index) => {\n return withDirectives((openBlock(), createBlock(\"div\", {\n key: childItem.newValue,\n class: childItem.itemClasses\n }, [index > 0 ? (openBlock(), createBlock(\"span\", {\n key: 0,\n class: _ctx.stepDividerClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), createVNode(\"a\", {\n class: _ctx.stepLinkClasses(childItem),\n onClick: $event => _ctx.isItemClickable(childItem) && _ctx.childClick(childItem)\n }, [createVNode(\"div\", {\n class: _ctx.stepMarkerClasses\n }, [childItem.icon ? createVNode(_component_o_icon, {\n key: 0,\n icon: childItem.icon,\n pack: childItem.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\"]) : childItem.step ? (openBlock(), createBlock(\"span\", _hoisted_1, toDisplayString(childItem.step), 1\n /* TEXT */\n )) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n ), createVNode(\"div\", {\n class: _ctx.stepLinkLabelClasses\n }, toDisplayString(childItem.label), 3\n /* TEXT, CLASS */\n )], 10\n /* CLASS, PROPS */\n , [\"onClick\"])], 2\n /* CLASS */\n )), [[vShow, childItem.visible]]);\n }), 128\n /* KEYED_FRAGMENT */\n ))], 2\n /* CLASS */\n ), createVNode(\"section\", {\n class: _ctx.stepContentClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n ), renderSlot(_ctx.$slots, \"navigation\", {\n previous: _ctx.navigationProps.previous,\n next: _ctx.navigationProps.next\n }, () => [_ctx.hasNavigation ? (openBlock(), createBlock(\"nav\", {\n key: 0,\n class: _ctx.stepNavigationClasses\n }, [createVNode(_component_o_button, {\n role: \"button\",\n \"icon-left\": _ctx.iconPrev,\n \"icon-pack\": _ctx.iconPack,\n \"icon-both\": \"\",\n disabled: _ctx.navigationProps.previous.disabled,\n onClick: withModifiers(_ctx.navigationProps.previous.action, [\"prevent\"]),\n \"aria-label\": _ctx.ariaPreviousLabel\n }, null, 8\n /* PROPS */\n , [\"icon-left\", \"icon-pack\", \"disabled\", \"onClick\", \"aria-label\"]), createVNode(_component_o_button, {\n role: \"button\",\n \"icon-left\": _ctx.iconNext,\n \"icon-pack\": _ctx.iconPack,\n \"icon-both\": \"\",\n disabled: _ctx.navigationProps.next.disabled,\n onClick: withModifiers(_ctx.navigationProps.next.action, [\"prevent\"]),\n \"aria-label\": _ctx.ariaNextLabel\n }, null, 8\n /* PROPS */\n , [\"icon-left\", \"icon-pack\", \"disabled\", \"onClick\", \"aria-label\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/steps/Steps.vue\";\n\n/**\r\n * @displayName Step Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OStepItem',\r\n mixins: [BaseComponentMixin, TabbedChildMixin('step')],\r\n configField: 'steps',\r\n props: {\r\n /** Step marker content (when there is no icon) */\r\n step: [String, Number],\r\n /** Default style for the step, optional This will override parent type. Could be used to set a completed step to \"success\" for example */\r\n variant: [String, Object],\r\n /** Item can be used directly to navigate. If undefined, previous steps are clickable while the others are not */\r\n clickable: {\r\n type: Boolean,\r\n default: undefined\r\n },\r\n itemClass: [String, Function, Array],\r\n itemHeaderClass: [String, Function, Array],\r\n itemHeaderActiveClass: [String, Function, Array],\r\n itemHeaderPreviousClass: [String, Function, Array],\r\n itemHeaderVariantClass: [String, Function, Array],\r\n },\r\n computed: {\r\n elementClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-steps__item')\r\n ];\r\n },\r\n itemClasses() {\r\n return [\r\n this.headerClass,\r\n this.computedClass('itemHeaderClass', 'o-steps__nav-item'),\r\n { [this.computedClass('itemHeaderVariantClass', 'o-steps__nav-item--', this.variant || this.parent.variant)]: this.variant || this.parent.variant },\r\n { [this.computedClass('itemHeaderActiveClass', 'o-steps__nav-item-active')]: this.isActive },\r\n { [this.computedClass('itemHeaderPreviousClass', 'o-steps__nav-item-previous')]: this.parent.activeItem.index > this.index }\r\n ];\r\n }\r\n }\r\n});\n\nscript$1.__file = \"src/components/steps/StepItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$1 as OStepItem, script as OSteps };\n","import { defineComponent, openBlock, createBlock, withKeys, withModifiers, withDirectives, createVNode, vModelCheckbox, renderSlot } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\n\n/**\r\n * Switch between two opposing states\r\n * @displayName Switch\r\n * @style _switch.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OSwitch',\r\n mixins: [BaseComponentMixin],\r\n configField: 'switch',\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [String, Number, Boolean],\r\n /**\r\n * Same as native value\r\n */\r\n nativeValue: [String, Number, Boolean],\r\n disabled: Boolean,\r\n /**\r\n * Color of the switch, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: String,\r\n /**\r\n * Color of the switch when is passive, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n passiveVariant: String,\r\n /** Name attribute on native checkbox */\r\n name: String,\r\n required: Boolean,\r\n /**\r\n * Vertical size of switch, optional\r\n * @values small, medium, large\r\n */\r\n size: String,\r\n /**\r\n * Overrides the returned value when it's checked\r\n */\r\n trueValue: {\r\n type: [String, Number, Boolean],\r\n default: true\r\n },\r\n /**\r\n * Overrides the returned value when it's not checked\r\n */\r\n falseValue: {\r\n type: [String, Number, Boolean],\r\n default: false\r\n },\r\n /** Rounded style */\r\n rounded: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Label position */\r\n position: {\r\n type: String,\r\n default: 'right'\r\n },\r\n /** Accessibility label to establish relationship between the switch and control label' */\r\n ariaLabelledby: String,\r\n rootClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n checkClass: [String, Function, Array],\r\n checkCheckedClass: [String, Function, Array],\r\n checkSwitchClass: [String, Function, Array],\r\n roundedClass: [String, Function, Array],\r\n labelClass: [String, Function, Array],\r\n sizeClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n elementsWrapperClass: [String, Function, Array],\r\n passiveVariantClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n inputClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue,\r\n isMouseDown: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-switch'),\r\n { [this.computedClass('sizeClass', 'o-switch--', this.size)]: this.size },\r\n { [this.computedClass('disabledClass', 'o-switch--disabled')]: this.disabled },\r\n { [this.computedClass('variantClass', 'o-switch--', this.variant)]: this.variant },\r\n { [this.computedClass('positionClass', 'o-switch--', this.position)]: this.position },\r\n { [this.computedClass('passiveVariantClass', 'o-switch--', this.passiveVariant + '-passive')]: this.passiveVariant }\r\n ];\r\n },\r\n inputClasses() {\r\n return [\r\n this.computedClass('inputClass', 'o-switch__input')\r\n ];\r\n },\r\n checkClasses() {\r\n return [\r\n this.computedClass('checkClass', 'o-switch__check'),\r\n { [this.computedClass('checkCheckedClass', 'o-switch__check--checked')]: (this.newValue === this.trueValue) },\r\n { [this.computedClass('roundedClass', 'o-switch--rounded')]: this.rounded },\r\n ];\r\n },\r\n checkSwitchClasses() {\r\n return [\r\n this.computedClass('checkSwitchClass', 'o-switch__check-switch'),\r\n { [this.computedClass('roundedClass', 'o-switch--rounded')]: this.rounded },\r\n ];\r\n },\r\n labelClasses() {\r\n return [\r\n this.computedClass('labelClass', 'o-switch__label')\r\n ];\r\n },\r\n computedValue: {\r\n get() {\r\n return this.newValue;\r\n },\r\n set(value) {\r\n this.newValue = value;\r\n this.$emit('update:modelValue', this.newValue);\r\n }\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model change, set internal value.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n }\r\n },\r\n methods: {\r\n focus() {\r\n // MacOS FireFox and Safari do not focus when clicked\r\n this.$refs.input.focus();\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses,\n ref: \"label\",\n onClick: _cache[3] || (_cache[3] = (...args) => _ctx.focus(...args)),\n onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.$refs.label.click(), [\"prevent\"]), [\"enter\"])),\n onMousedown: _cache[5] || (_cache[5] = $event => _ctx.isMouseDown = true),\n onMouseup: _cache[6] || (_cache[6] = $event => _ctx.isMouseDown = false),\n onMouseout: _cache[7] || (_cache[7] = $event => _ctx.isMouseDown = false),\n onBlur: _cache[8] || (_cache[8] = $event => _ctx.isMouseDown = false)\n }, [withDirectives(createVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.computedValue = $event),\n type: \"checkbox\",\n ref: \"input\",\n class: _ctx.inputClasses,\n onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, [\"stop\"])),\n disabled: _ctx.disabled,\n name: _ctx.name,\n required: _ctx.required,\n value: _ctx.nativeValue,\n \"true-value\": _ctx.trueValue,\n \"false-value\": _ctx.falseValue,\n \"aria-labelledby\": _ctx.ariaLabelledby\n }, null, 10\n /* CLASS, PROPS */\n , [\"disabled\", \"name\", \"required\", \"value\", \"true-value\", \"false-value\", \"aria-labelledby\"]), [[vModelCheckbox, _ctx.computedValue]]), createVNode(\"span\", {\n class: _ctx.checkClasses\n }, [createVNode(\"span\", {\n class: _ctx.checkSwitchClasses\n }, null, 2\n /* CLASS */\n )], 2\n /* CLASS */\n ), createVNode(\"span\", {\n id: _ctx.ariaLabelledby,\n class: _ctx.labelClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 10\n /* CLASS, PROPS */\n , [\"id\"])], 34\n /* CLASS, HYDRATE_EVENTS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/switch/Switch.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OSwitch };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, withCtx, withDirectives, toDisplayString, vShow, createCommentVNode, Fragment, renderList, h, renderSlot, createApp, mergeProps, withKeys, withModifiers, createTextVNode, capitalize, Transition } from 'vue';\nimport { getValueByPath, toCssDimension, indexOf, debounce, escapeRegExpChars, removeDiacriticsFromString } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script$6 } from './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport { s as script$a } from './Input-19e906a1.mjs';\nimport { s as script$4 } from './Button-c75f7992.mjs';\nimport './CheckRadioMixin-f5b57344.mjs';\nimport { s as script$9 } from './Checkbox-8670724c.mjs';\nimport { M as MatchMediaMixin } from './MatchMediaMixin-09b141ca.mjs';\nimport { s as script$7 } from './Field-937b4591.mjs';\nimport { s as script$5 } from './Select-2cca695f.mjs';\nimport './ssr-85c76d50.mjs';\nimport { s as script$b } from './Loading-20d29914.mjs';\nimport { s as script$8 } from './Pagination-02a660a8.mjs';\nimport { S as SlotComponent } from './SlotComponent-11a269f3.mjs';\n\nvar script = defineComponent({\r\n name: 'OTableMobileSort',\r\n components: {\r\n [script$4.name]: script$4,\r\n [script$5.name]: script$5,\r\n [script$6.name]: script$6,\r\n [script$7.name]: script$7\r\n },\r\n inject: ['$table'],\r\n emits: ['sort'],\r\n props: {\r\n currentSortColumn: Object,\r\n columns: Array,\r\n placeholder: String,\r\n iconPack: String,\r\n sortIcon: {\r\n type: String,\r\n default: 'arrow-up'\r\n },\r\n sortIconSize: {\r\n type: String,\r\n default: 'small'\r\n },\r\n isAsc: Boolean\r\n },\r\n data() {\r\n return {\r\n mobileSort: getValueByPath(this.currentSortColumn, 'newKey'),\r\n defaultEvent: {\r\n shiftKey: true,\r\n altKey: true,\r\n ctrlKey: true\r\n },\r\n ignoreSort: false\r\n };\r\n },\r\n computed: {\r\n showPlaceholder() {\r\n return !this.columns || !this.columns.some((column) => (getValueByPath(column, 'newKey') === this.mobileSort));\r\n },\r\n sortableColumns() {\r\n if (!this.columns)\r\n return [];\r\n return this.columns.filter(c => c.sortable);\r\n },\r\n isCurrentSort() {\r\n return getValueByPath(this.currentSortColumn, 'newKey') === this.mobileSort;\r\n }\r\n },\r\n watch: {\r\n mobileSort(value) {\r\n if (this.currentSortColumn.newKey === value)\r\n return;\r\n const column = this.sortableColumns.filter(c => (getValueByPath(c, 'newKey') === value))[0];\r\n this.$emit('sort', column, this.defaultEvent);\r\n },\r\n currentSortColumn(column) {\r\n this.mobileSort = getValueByPath(column, 'newKey');\r\n }\r\n },\r\n methods: {\r\n sort() {\r\n const column = this.sortableColumns.filter(c => (getValueByPath(c, 'newKey') === this.mobileSort))[0];\r\n this.$emit('sort', column, this.defaultEvent);\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_select = resolveComponent(\"o-select\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_button = resolveComponent(\"o-button\");\n\n const _component_o_field = resolveComponent(\"o-field\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.$table.mobileSortClasses\n }, [createVNode(_component_o_field, null, {\n default: withCtx(() => [createVNode(_component_o_select, {\n modelValue: _ctx.mobileSort,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => _ctx.mobileSort = $event),\n expanded: \"\"\n }, {\n default: withCtx(() => [_ctx.placeholder ? withDirectives((openBlock(), createBlock(\"option\", {\n key: 0,\n value: {},\n selected: \"\",\n disabled: \"\",\n hidden: \"\"\n }, toDisplayString(_ctx.placeholder), 513\n /* TEXT, NEED_PATCH */\n )), [[vShow, _ctx.showPlaceholder]]) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.sortableColumns, (column, index) => {\n return openBlock(), createBlock(\"option\", {\n key: index,\n value: column.newKey\n }, toDisplayString(column.label), 9\n /* TEXT, PROPS */\n , [\"value\"]);\n }), 128\n /* KEYED_FRAGMENT */\n ))]),\n _: 1\n }, 8\n /* PROPS */\n , [\"modelValue\"]), createVNode(_component_o_button, {\n onClick: _ctx.sort\n }, {\n default: withCtx(() => [withDirectives(createVNode(_component_o_icon, {\n icon: _ctx.sortIcon,\n pack: _ctx.iconPack,\n size: _ctx.sortIconSize,\n both: \"\",\n rotation: !_ctx.isAsc ? 180 : 0\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\", \"rotation\"]), [[vShow, _ctx.isCurrentSort]])]),\n _: 1\n }, 8\n /* PROPS */\n , [\"onClick\"])]),\n _: 1\n })], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/table/TableMobileSort.vue\";\n\n/**\r\n * @displayName Table Column\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OTableColumn',\r\n inject: ['$table'],\r\n props: {\r\n label: String,\r\n customKey: [String, Number],\r\n field: String,\r\n meta: [String, Number, Boolean, Function, Object, Array],\r\n width: [Number, String],\r\n numeric: Boolean,\r\n /**\r\n * Optional, position of column content\r\n * @values left, centered, right\r\n */\r\n position: {\r\n type: String,\r\n validator(value) {\r\n return [\r\n 'left',\r\n 'centered',\r\n 'right'\r\n ].indexOf(value) > -1;\r\n }\r\n },\r\n searchable: Boolean,\r\n sortable: Boolean,\r\n visible: {\r\n type: Boolean,\r\n default: true\r\n },\r\n customSort: Function,\r\n customSearch: Function,\r\n sticky: Boolean,\r\n headerSelectable: Boolean,\r\n /** Adds native attributes to th :th-attrs=\"(column)\" => ({})\" */\r\n thAttrs: {\r\n type: Function,\r\n default: () => ({})\r\n },\r\n /** Adds native attributes to td :td-attrs=\"(row, column)\" => ({})\" */\r\n tdAttrs: {\r\n type: Function,\r\n default: () => ({})\r\n },\r\n subheading: String\r\n },\r\n data() {\r\n return {\r\n newKey: undefined,\r\n thAttrsData: {},\r\n tdAttrsData: []\r\n };\r\n },\r\n computed: {\r\n style() {\r\n return {\r\n width: toCssDimension(this.width)\r\n };\r\n },\r\n hasDefaultSlot() {\r\n return this.$slots.default;\r\n },\r\n hasSearchableSlot() {\r\n return this.$slots.searchable;\r\n },\r\n hasHeaderSlot() {\r\n return this.$slots.header;\r\n },\r\n isHeaderUnselectable() {\r\n return !this.headerSelectable && this.sortable;\r\n }\r\n },\r\n created() {\r\n if (!this.$table) {\r\n throw new Error('You should wrap oTableColumn on a oTable');\r\n }\r\n this.newKey = this.$table._nextSequence();\r\n this.$table._addColumn(this);\r\n },\r\n beforeMount() {\r\n if (typeof this.thAttrs !== 'undefined') {\r\n this.thAttrsData = this.thAttrs(this);\r\n }\r\n },\r\n beforeUnmount() {\r\n this.$table._removeColumn(this);\r\n },\r\n render() {\r\n // renderless\r\n return h('span', { 'data-id': this.newKey }, this.label);\r\n }\r\n});\n\nscript$1.__file = \"src/components/table/TableColumn.vue\";\n\nvar script$2 = defineComponent({\n name: 'OTablePagination',\n components: {\n [script$8.name]: script$8\n },\n emits: ['update:currentPage', 'page-change'],\n props: {\n paginated: Boolean,\n total: [Number, String],\n perPage: [Number, String],\n currentPage: [Number, String],\n paginationSimple: Boolean,\n paginationSize: String,\n rounded: Boolean,\n iconPack: String,\n rootClass: [String, Array, Object],\n ariaNextLabel: String,\n ariaPreviousLabel: String,\n ariaPageLabel: String,\n ariaCurrentLabel: String\n },\n\n data() {\n return {\n newCurrentPage: this.currentPage\n };\n },\n\n watch: {\n currentPage(newVal) {\n this.newCurrentPage = newVal;\n }\n\n },\n methods: {\n /**\n * Paginator change listener.\n */\n pageChanged(page) {\n this.newCurrentPage = page > 0 ? page : 1;\n this.$emit('update:currentPage', this.newCurrentPage);\n this.$emit('page-change', this.newCurrentPage);\n }\n\n }\n});\n\nconst _hoisted_1 = {\n key: 0\n};\nfunction render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_pagination = resolveComponent(\"o-pagination\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClass\n }, [createVNode(\"div\", null, [renderSlot(_ctx.$slots, \"default\")]), createVNode(\"div\", null, [_ctx.paginated ? (openBlock(), createBlock(\"div\", _hoisted_1, [createVNode(_component_o_pagination, {\n \"icon-pack\": _ctx.iconPack,\n total: _ctx.total,\n \"per-page\": _ctx.perPage,\n simple: _ctx.paginationSimple,\n size: _ctx.paginationSize,\n current: _ctx.newCurrentPage,\n rounded: _ctx.rounded,\n onChange: _ctx.pageChanged,\n \"aria-next-label\": _ctx.ariaNextLabel,\n \"aria-previous-label\": _ctx.ariaPreviousLabel,\n \"aria-page-label\": _ctx.ariaPageLabel,\n \"aria-current-label\": _ctx.ariaCurrentLabel\n }, null, 8\n /* PROPS */\n , [\"icon-pack\", \"total\", \"per-page\", \"simple\", \"size\", \"current\", \"rounded\", \"onChange\", \"aria-next-label\", \"aria-previous-label\", \"aria-page-label\", \"aria-current-label\"])])) : createCommentVNode(\"v-if\", true)])], 2\n /* CLASS */\n );\n}\n\nscript$2.render = render$1;\nscript$2.__file = \"src/components/table/TablePagination.vue\";\n\n/**\r\n * Tabulated data are sometimes needed, it's even better when it's responsive\r\n * @displayName Table\r\n * @requires ./TableColumn.vue\r\n * @style _table.scss\r\n */\r\nvar script$3 = defineComponent({\r\n name: 'OTable',\r\n components: {\r\n [script$4.name]: script$4,\r\n [script$9.name]: script$9,\r\n [script$6.name]: script$6,\r\n [script$a.name]: script$a,\r\n [script$b.name]: script$b,\r\n [SlotComponent.name]: SlotComponent,\r\n [script.name]: script,\r\n [script$1.name]: script$1,\r\n [script$2.name]: script$2\r\n },\r\n mixins: [BaseComponentMixin, MatchMediaMixin],\r\n configField: 'table',\r\n inheritAttrs: false,\r\n provide() {\r\n return {\r\n $table: this\r\n };\r\n },\r\n emits: [\r\n 'page-change', 'click', 'dblclick', 'contextmenu',\r\n 'check', 'check-all', 'update:checkedRows',\r\n 'select', 'update:selected', 'filters-change', 'details-open', 'details-close', 'update:openedDetailed',\r\n 'mouseenter', 'mouseleave', 'sort', 'sorting-priority-removed',\r\n 'dragstart', 'dragend', 'drop', 'dragleave', 'dragover', 'cell-click',\r\n 'columndragstart', 'columndragend', 'columndrop', 'columndragleave', 'columndragover',\r\n 'update:currentPage'\r\n ],\r\n props: {\r\n /** Table data */\r\n data: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Table columns */\r\n columns: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Border to all cells */\r\n bordered: Boolean,\r\n /** Whether table is striped */\r\n striped: Boolean,\r\n /** Makes the cells narrower */\r\n narrowed: Boolean,\r\n /** Rows are highlighted when hovering */\r\n hoverable: Boolean,\r\n /** Loading state */\r\n loading: Boolean,\r\n /** Allow row details */\r\n detailed: Boolean,\r\n /** Rows can be checked (multiple), checked rows will have a .is-checked class if you want to style */\r\n checkable: Boolean,\r\n /** Show check/uncheck all checkbox in table header when checkable */\r\n headerCheckable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Position of the checkbox (if checkable is true)\r\n * @values left, right\r\n */\r\n checkboxPosition: {\r\n type: String,\r\n default: 'left',\r\n validator: (value) => {\r\n return [\r\n 'left',\r\n 'right'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Set which row is selected, use v-model:selected to make it two-way binding */\r\n selected: Object,\r\n /** Custom method to verify if a row is selectable, works when is selected. */\r\n isRowSelectable: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Table can be focused and user can navigate with keyboard arrows (require selected) and rows are highlighted when hovering */\r\n focusable: Boolean,\r\n /** Custom method to verify if row is checked, works when is checkable. Useful for backend pagination */\r\n customIsChecked: Function,\r\n /** Custom method to verify if a row is checkable, works when is checkable */\r\n isRowCheckable: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Set which rows are checked, use v-model:checkedRows to make it two-way binding */\r\n checkedRows: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Rows appears as cards on mobile (collapse rows) */\r\n mobileCards: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'table.mobileCards', true);\r\n }\r\n },\r\n /** Sets the default sort column and order — e.g. ['first_name', 'desc']\t */\r\n defaultSort: [String, Array],\r\n /**\r\n * Sets the default sort column direction on the first click\r\n * @values asc, desc\r\n */\r\n defaultSortDirection: {\r\n type: String,\r\n default: 'asc'\r\n },\r\n /** Sets the header sorting icon */\r\n sortIcon: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'table.sortIcon', 'arrow-up'); }\r\n },\r\n /**\r\n * Sets the size of the sorting icon\r\n * @values small, medium, large\r\n */\r\n sortIconSize: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'table.sortIconSize', 'small'); }\r\n },\r\n /** Adds pagination to the table */\r\n paginated: Boolean,\r\n /** Current page of table data (if paginated), use v-model:currentPage to make it two-way binding */\r\n currentPage: {\r\n type: Number,\r\n default: 1\r\n },\r\n /** How many rows per page (if paginated) */\r\n perPage: {\r\n type: [Number, String],\r\n default: () => { return getValueByPath(getOptions(), 'table.perPage', 20); }\r\n },\r\n /** Allow chevron icon and column to be visible */\r\n showDetailIcon: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /** Icon name of detail action */\r\n detailIcon: {\r\n type: String,\r\n default: 'chevron-right'\r\n },\r\n /**\r\n * Pagination position (if paginated)\r\n * @values bottom, top, bot\r\n */\r\n paginationPosition: {\r\n type: String,\r\n default: () => { return getValueByPath(getOptions(), 'table.paginationPosition', 'bottom'); },\r\n validator: (value) => {\r\n return [\r\n 'bottom',\r\n 'top',\r\n 'both'\r\n ].indexOf(value) >= 0;\r\n }\r\n },\r\n /** Columns won't be sorted with Javascript, use with sort event to sort in your backend */\r\n backendSorting: Boolean,\r\n /** Columns won't be filtered with Javascript, use with searchable prop to the columns to filter in your backend */\r\n backendFiltering: Boolean,\r\n /** Add a class to row based on the return */\r\n rowClass: {\r\n type: Function,\r\n default: () => ''\r\n },\r\n /** Allow pre-defined opened details. Ideal to open details via vue-router. (A unique key is required; check detail-key prop) */\r\n openedDetailed: {\r\n type: Array,\r\n default: () => []\r\n },\r\n /** Controls the visibility of the trigger that toggles the detailed rows. */\r\n hasDetailedVisible: {\r\n type: Function,\r\n default: () => true\r\n },\r\n /** Use a unique key of your data Object when use detailed or opened detailed. (id recommended) */\r\n detailKey: {\r\n type: String,\r\n default: ''\r\n },\r\n /** Custom style on details */\r\n customDetailRow: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /* Transition name to use when toggling row details. */\r\n detailTransition: {\r\n type: String,\r\n default: ''\r\n },\r\n /** Rows won't be paginated with Javascript, use with page-change event to paginate in your backend */\r\n backendPagination: Boolean,\r\n /** Total number of table data if backend-pagination is enabled */\r\n total: {\r\n type: [Number, String],\r\n default: 0\r\n },\r\n /** Icon pack to use */\r\n iconPack: String,\r\n /** Text when nothing is selected */\r\n mobileSortPlaceholder: String,\r\n /** Use a unique key of your data Object for each row. Useful if your data prop has dynamic indices. (id recommended) */\r\n customRowKey: String,\r\n /** Allows rows to be draggable */\r\n draggable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Allows columns to be draggable */\r\n draggableColumn: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Add a horizontal scrollbar when table is too wide */\r\n scrollable: Boolean,\r\n ariaNextLabel: String,\r\n ariaPreviousLabel: String,\r\n ariaPageLabel: String,\r\n ariaCurrentLabel: String,\r\n /** Show a sticky table header */\r\n stickyHeader: Boolean,\r\n /** Table fixed height */\r\n height: [Number, String],\r\n /** Add a native event to filter */\r\n filtersEvent: {\r\n type: String,\r\n default: ''\r\n },\r\n /** Filtering debounce time (in milliseconds) */\r\n debounceSearch: Number,\r\n /** Show header */\r\n showHeader: {\r\n type: Boolean,\r\n default: () => { return getValueByPath(getOptions(), 'table.showHeader', true); }\r\n },\r\n /** Make the checkbox column sticky when checkable */\r\n stickyCheckbox: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Rounded pagination if paginated */\r\n paginationRounded: Boolean,\r\n rootClass: [String, Function, Array],\r\n tableClass: [String, Function, Array],\r\n wrapperClass: [String, Function, Array],\r\n footerClass: [String, Function, Array],\r\n emptyClass: [String, Function, Array],\r\n detailedClass: [String, Function, Array],\r\n borderedClass: [String, Function, Array],\r\n stripedClass: [String, Function, Array],\r\n narrowedClass: [String, Function, Array],\r\n hoverableClass: [String, Function, Array],\r\n thClass: [String, Function, Array],\r\n tdClass: [String, Function, Array],\r\n thPositionClass: [String, Function, Array],\r\n thStickyClass: [String, Function, Array],\r\n thCheckboxClass: [String, Function, Array],\r\n thCurrentSortClass: [String, Function, Array],\r\n thSortableClass: [String, Function, Array],\r\n thUnselectableClass: [String, Function, Array],\r\n thSortIconClass: [String, Function, Array],\r\n thDetailedClass: [String, Function, Array],\r\n tdPositionClass: [String, Function, Array],\r\n tdStickyClass: [String, Function, Array],\r\n tdCheckboxClass: [String, Function, Array],\r\n tdDetailedChevronClass: [String, Function, Array],\r\n trSelectedClass: [String, Function, Array],\r\n stickyHeaderClass: [String, Function, Array],\r\n scrollableClass: [String, Function, Array],\r\n mobileSortClass: [String, Function, Array],\r\n paginationWrapperClass: [String, Function, Array],\r\n mobileClass: [String, Function, Array],\r\n thSubheadingClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n visibleDetailRows: this.openedDetailed,\r\n newData: this.data,\r\n newDataTotal: this.backendPagination ? this.total : this.data.length,\r\n newCheckedRows: [...this.checkedRows],\r\n lastCheckedRowIndex: null,\r\n newCurrentPage: this.currentPage,\r\n currentSortColumn: {},\r\n isAsc: true,\r\n filters: {},\r\n defaultSlots: [],\r\n firstTimeSort: true,\r\n sequence: 1,\r\n isDraggingRow: false,\r\n isDraggingColumn: false\r\n };\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.checkSort();\r\n });\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-table__root'),\r\n { [this.computedClass('mobileClass', 'o-table__wrapper--mobile')]: this.isMobile }\r\n ];\r\n },\r\n tableClasses() {\r\n return [\r\n this.computedClass('tableClass', 'o-table'),\r\n { [this.computedClass('borderedClass', 'o-table--bordered')]: this.bordered },\r\n { [this.computedClass('stripedClass', 'o-table--striped')]: this.striped },\r\n { [this.computedClass('narrowedClass', 'o-table--narrowed')]: this.narrowed },\r\n { [this.computedClass('hoverableClass', 'o-table--hoverable')]: ((this.hoverable || this.focusable) && this.visibleData.length) },\r\n { [this.computedClass('emptyClass', 'o-table--table__empty')]: !this.visibleData.length }\r\n ];\r\n },\r\n tableWrapperClasses() {\r\n return [\r\n this.computedClass('wrapperClass', 'o-table__wrapper'),\r\n { [this.computedClass('stickyHeaderClass', 'o-table__wrapper--sticky-header')]: this.stickyHeader },\r\n { [this.computedClass('scrollableClass', 'o-table__wrapper--scrollable')]: this.isScrollable },\r\n { [this.computedClass('mobileClass', 'o-table__wrapper--mobile')]: this.isMobile },\r\n ];\r\n },\r\n footerClasses() {\r\n return [\r\n this.computedClass('footerClass', 'o-table__footer')\r\n ];\r\n },\r\n thBaseClasses() {\r\n return [\r\n this.computedClass('thClass', 'o-table__th')\r\n ];\r\n },\r\n tdBaseClasses() {\r\n return [\r\n this.computedClass('tdClass', 'o-table__td')\r\n ];\r\n },\r\n thCheckboxClasses() {\r\n return [\r\n ...this.thBaseClasses,\r\n this.computedClass('thCheckboxClass', 'o-table__th-checkbox')\r\n ];\r\n },\r\n thDetailedClasses() {\r\n return [\r\n ...this.thBaseClasses,\r\n this.computedClass('thDetailedClass', 'o-table__th--detailed')\r\n ];\r\n },\r\n thSubheadingClasses() {\r\n return [\r\n ...this.thBaseClasses,\r\n this.computedClass('thSubheadingClass', 'o-table__th')\r\n ];\r\n },\r\n tdCheckboxClasses() {\r\n return [\r\n ...this.tdBaseClasses,\r\n this.computedClass('tdCheckboxClass', 'o-table__td-checkbox'),\r\n ...this.thStickyClasses({ sticky: this.stickyCheckbox })\r\n ];\r\n },\r\n detailedClasses() {\r\n return [\r\n this.computedClass('detailedClass', 'o-table__detail')\r\n ];\r\n },\r\n tdDetailedChevronClasses() {\r\n return [\r\n ...this.tdBaseClasses,\r\n this.computedClass('tdDetailedChevronClass', 'o-table__td-chevron')\r\n ];\r\n },\r\n mobileSortClasses() {\r\n return [\r\n this.computedClass('mobileSortClass', 'o-table__mobile-sort')\r\n ];\r\n },\r\n paginationWrapperClasses() {\r\n return [\r\n this.computedClass('paginationWrapperClass', 'o-table__pagination')\r\n ];\r\n },\r\n tableWrapperStyle() {\r\n return {\r\n height: toCssDimension(this.height)\r\n };\r\n },\r\n /**\r\n * Splitted data based on the pagination.\r\n */\r\n visibleData() {\r\n if (!this.paginated)\r\n return this.newData;\r\n const currentPage = this.newCurrentPage;\r\n const perPage = this.perPage;\r\n if (this.newData.length <= perPage) {\r\n return this.newData;\r\n }\r\n else {\r\n const start = (currentPage - 1) * perPage;\r\n const end = start + parseInt(perPage, 10);\r\n return this.newData.slice(start, end);\r\n }\r\n },\r\n visibleColumns() {\r\n if (!this.newColumns)\r\n return this.newColumns;\r\n return this.newColumns.filter((column) => {\r\n return column.visible || column.visible === undefined;\r\n });\r\n },\r\n /**\r\n * Check if all rows in the page are checked.\r\n */\r\n isAllChecked() {\r\n const validVisibleData = this.visibleData.filter((row) => this.isRowCheckable(row));\r\n if (validVisibleData.length === 0)\r\n return false;\r\n const isAllChecked = validVisibleData.some((currentVisibleRow) => {\r\n return indexOf(this.newCheckedRows, currentVisibleRow, this.customIsChecked) < 0;\r\n });\r\n return !isAllChecked;\r\n },\r\n /**\r\n * Check if all rows in the page are checkable.\r\n */\r\n isAllUncheckable() {\r\n const validVisibleData = this.visibleData.filter((row) => this.isRowCheckable(row));\r\n return validVisibleData.length === 0;\r\n },\r\n /**\r\n * Check if has any sortable column.\r\n */\r\n hasSortablenewColumns() {\r\n return this.newColumns.some((column) => {\r\n return column.sortable;\r\n });\r\n },\r\n /**\r\n * Check if has any searchable column.\r\n */\r\n hasSearchablenewColumns() {\r\n return this.newColumns.some((column) => {\r\n return column.searchable;\r\n });\r\n },\r\n /**\r\n * Return total column count based if it's checkable or expanded\r\n */\r\n columnCount() {\r\n let count = this.visibleColumns.length;\r\n count += this.checkable ? 1 : 0;\r\n count += (this.detailed && this.showDetailIcon) ? 1 : 0;\r\n return count;\r\n },\r\n /**\r\n * return if detailed row tabled\r\n * will be with chevron column & icon or not\r\n */\r\n showDetailRowIcon() {\r\n return this.detailed && this.showDetailIcon;\r\n },\r\n /**\r\n * return if scrollable table\r\n */\r\n isScrollable() {\r\n if (this.scrollable)\r\n return true;\r\n if (!this.newColumns)\r\n return false;\r\n return this.newColumns.some((column) => {\r\n return column.sticky;\r\n });\r\n },\r\n newColumns() {\r\n if (this.columns && this.columns.length) {\r\n return this.columns.map((column) => {\r\n const vnode = createVNode(script$1, column, (props) => {\r\n const vnode = h('span', {}, getValueByPath(props.row, column.field));\r\n return [vnode];\r\n });\r\n return createApp(vnode)\r\n .provide('$table', this)\r\n .mount(document.createElement('div'));\r\n });\r\n }\r\n return this.defaultSlots;\r\n },\r\n isMobile() {\r\n return this.mobileCards && this.isMatchMedia;\r\n },\r\n hasCustomSubheadings() {\r\n if (this.$slots.subheading)\r\n return true;\r\n return this.newColumns.some((column) => {\r\n return column.subheading || (column.$slots.subheading);\r\n });\r\n },\r\n canDragRow() {\r\n return this.draggable && !this.isDraggingColumn;\r\n },\r\n canDragColumn() {\r\n return this.draggableColumn && !this.isDraggingRow;\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When data prop change:\r\n * 1. Update internal value.\r\n * 2. Filter data if it's not backend-filtered.\r\n * 3. Sort again if it's not backend-sorted.\r\n * 4. Set new total if it's not backend-paginated.\r\n */\r\n data: {\r\n handler(value) {\r\n this.newData = value;\r\n if (!this.backendFiltering) {\r\n this.newData = value.filter((row) => this.isRowFiltered(row));\r\n }\r\n if (!this.backendSorting) {\r\n this.sort(this.currentSortColumn, true);\r\n }\r\n if (!this.backendPagination) {\r\n this.newDataTotal = this.newData.length;\r\n }\r\n },\r\n deep: true,\r\n },\r\n visibleColumns: {\r\n handler() {\r\n this.processTdAttrs();\r\n }\r\n },\r\n visibleData: {\r\n handler() {\r\n this.processTdAttrs();\r\n }\r\n },\r\n /**\r\n * When Pagination total change, update internal total\r\n * only if it's backend-paginated.\r\n */\r\n total(newTotal) {\r\n if (!this.backendPagination)\r\n return;\r\n this.newDataTotal = newTotal;\r\n },\r\n currentPage(newValue) {\r\n this.newCurrentPage = newValue;\r\n },\r\n /**\r\n * When checkedRows prop change, update internal value without\r\n * mutating original data.\r\n */\r\n checkedRows: {\r\n handler(rows) {\r\n this.newCheckedRows = [...rows];\r\n },\r\n deep: true,\r\n },\r\n debounceSearch: {\r\n handler(value) {\r\n this.debouncedHandleFiltersChange = debounce(this.handleFiltersChange, value);\r\n },\r\n immediate: true\r\n },\r\n filters: {\r\n handler(value) {\r\n if (this.debounceSearch) {\r\n this.debouncedHandleFiltersChange(value);\r\n }\r\n else {\r\n this.handleFiltersChange(value);\r\n }\r\n },\r\n deep: true,\r\n },\r\n /**\r\n * When the user wants to control the detailed rows via props.\r\n * Or wants to open the details of certain row with the router for example.\r\n */\r\n openedDetailed(expandedRows) {\r\n this.visibleDetailRows = expandedRows;\r\n },\r\n newCurrentPage(newVal) {\r\n this.$emit('update:currentPage', newVal);\r\n }\r\n },\r\n methods: {\r\n thClasses(column) {\r\n return [\r\n ...this.thBaseClasses,\r\n ...this.thStickyClasses(column),\r\n { [this.computedClass('thCurrentSortClass', 'o-table__th-current-sort')]: (this.currentSortColumn === column) },\r\n { [this.computedClass('thSortableClass', 'o-table__th--sortable')]: column.sortable },\r\n { [this.computedClass('thUnselectableClass', 'o-table__th--unselectable')]: column.isHeaderUnselectable },\r\n { [this.computedClass('thPositionClass', 'o-table__th--', column.position)]: column.position },\r\n ];\r\n },\r\n thStickyClasses(column) {\r\n return [\r\n { [this.computedClass('thStickyClass', 'o-table__th--sticky')]: column.sticky }\r\n ];\r\n },\r\n rowClasses(row, index) {\r\n return [\r\n this.rowClass(row, index),\r\n { [this.computedClass('trSelectedClass', 'o-table__tr--selected')]: this.isRowSelected(row, this.selected) }\r\n ];\r\n },\r\n thSortIconClasses() {\r\n return [\r\n this.computedClass('thSortIconClass', 'o-table__th__sort-icon'),\r\n ];\r\n },\r\n tdClasses(row, column) {\r\n return [\r\n ...this.tdBaseClasses,\r\n { [this.computedClass('tdPositionClass', 'o-table__td--', column.position)]: column.position },\r\n { [this.computedClass('tdStickyClass', 'o-table__td--sticky')]: column.sticky }\r\n ];\r\n },\r\n onFiltersEvent(event) {\r\n this.$emit(`filters-event-${this.filtersEvent}`, { event, filters: this.filters });\r\n },\r\n handleFiltersChange(value) {\r\n if (this.backendFiltering) {\r\n this.$emit('filters-change', value);\r\n }\r\n else {\r\n this.newData = this.data.filter((row) => this.isRowFiltered(row));\r\n if (!this.backendPagination) {\r\n this.newDataTotal = this.newData.length;\r\n }\r\n if (!this.backendSorting) {\r\n if (Object.keys(this.currentSortColumn).length > 0) {\r\n this.doSortSingleColumn(this.currentSortColumn);\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Sort an array by key without mutating original data.\r\n * Call the user sort function if it was passed.\r\n */\r\n sortBy(array, key, fn, isAsc) {\r\n let sorted = [];\r\n // Sorting without mutating original data\r\n if (fn && typeof fn === 'function') {\r\n sorted = [...array].sort((a, b) => fn(a, b, isAsc));\r\n }\r\n else {\r\n sorted = [...array].sort((a, b) => {\r\n // Get nested values from objects\r\n let newA = getValueByPath(a, key);\r\n let newB = getValueByPath(b, key);\r\n // sort boolean type\r\n if (typeof newA === 'boolean' && typeof newB === 'boolean') {\r\n return isAsc ? newA > newB ? 1 : -1 : newA > newB ? -1 : 1;\r\n }\r\n if (!newA && newA !== 0)\r\n return 1;\r\n if (!newB && newB !== 0)\r\n return -1;\r\n if (newA === newB)\r\n return 0;\r\n newA = (typeof newA === 'string')\r\n ? newA.toUpperCase()\r\n : newA;\r\n newB = (typeof newB === 'string')\r\n ? newB.toUpperCase()\r\n : newB;\r\n return isAsc\r\n ? newA > newB ? 1 : -1\r\n : newA > newB ? -1 : 1;\r\n });\r\n }\r\n return sorted;\r\n },\r\n /**\r\n * Sort the column.\r\n * Toggle current direction on column if it's sortable\r\n * and not just updating the prop.\r\n */\r\n sort(column, updatingData = false, event = null) {\r\n if (!column || !column.sortable)\r\n return;\r\n if (!updatingData) {\r\n this.isAsc = column === this.currentSortColumn\r\n ? !this.isAsc\r\n : (this.defaultSortDirection.toLowerCase() !== 'desc');\r\n }\r\n if (!this.firstTimeSort) {\r\n /**\r\n * @property {string} field column field\r\n * @property {boolean} direction 'asc' or 'desc'\r\n * @property {Event} event native event\r\n */\r\n this.$emit('sort', column.field, this.isAsc ? 'asc' : 'desc', event);\r\n }\r\n if (!this.backendSorting) {\r\n this.doSortSingleColumn(column);\r\n }\r\n this.currentSortColumn = column;\r\n },\r\n doSortSingleColumn(column) {\r\n this.newData = this.sortBy(this.newData, column.field, column.customSort, this.isAsc);\r\n },\r\n isRowSelected(row, selected) {\r\n if (!selected) {\r\n return false;\r\n }\r\n if (this.customRowKey) {\r\n return row[this.customRowKey] === selected[this.customRowKey];\r\n }\r\n return row === selected;\r\n },\r\n /**\r\n * Check if the row is checked (is added to the array).\r\n */\r\n isRowChecked(row) {\r\n return indexOf(this.newCheckedRows, row, this.customIsChecked) >= 0;\r\n },\r\n /**\r\n * Remove a checked row from the array.\r\n */\r\n removeCheckedRow(row) {\r\n const index = indexOf(this.newCheckedRows, row, this.customIsChecked);\r\n if (index >= 0) {\r\n this.newCheckedRows.splice(index, 1);\r\n }\r\n },\r\n /**\r\n * Header checkbox click listener.\r\n * Add or remove all rows in current page.\r\n */\r\n checkAll() {\r\n const isAllChecked = this.isAllChecked;\r\n this.visibleData.forEach((currentRow) => {\r\n if (this.isRowCheckable(currentRow)) {\r\n this.removeCheckedRow(currentRow);\r\n }\r\n if (!isAllChecked) {\r\n if (this.isRowCheckable(currentRow)) {\r\n this.newCheckedRows.push(currentRow);\r\n }\r\n }\r\n });\r\n /**\r\n * @property {Array<Object>} newCheckedRows checked rows\r\n */\r\n this.$emit('check', this.newCheckedRows);\r\n this.$emit('check-all', this.newCheckedRows);\r\n // Emit checked rows to update user variable\r\n this.$emit('update:checkedRows', this.newCheckedRows);\r\n },\r\n /**\r\n * Row checkbox click listener.\r\n */\r\n checkRow(row, index, event) {\r\n if (!this.isRowCheckable(row))\r\n return;\r\n const lastIndex = this.lastCheckedRowIndex;\r\n this.lastCheckedRowIndex = index;\r\n if (event.shiftKey && lastIndex !== null && index !== lastIndex) {\r\n this.shiftCheckRow(row, index, lastIndex);\r\n }\r\n else if (!this.isRowChecked(row)) {\r\n this.newCheckedRows.push(row);\r\n }\r\n else {\r\n this.removeCheckedRow(row);\r\n }\r\n this.$emit('check', this.newCheckedRows, row);\r\n // Emit checked rows to update user variable\r\n this.$emit('update:checkedRows', this.newCheckedRows);\r\n },\r\n /**\r\n * Check row when shift is pressed.\r\n */\r\n shiftCheckRow(row, index, lastCheckedRowIndex) {\r\n // Get the subset of the list between the two indicies\r\n const subset = this.visibleData.slice(Math.min(index, lastCheckedRowIndex), Math.max(index, lastCheckedRowIndex) + 1);\r\n // Determine the operation based on the state of the clicked checkbox\r\n const shouldCheck = !this.isRowChecked(row);\r\n subset.forEach((item) => {\r\n this.removeCheckedRow(item);\r\n if (shouldCheck && this.isRowCheckable(item)) {\r\n this.newCheckedRows.push(item);\r\n }\r\n });\r\n },\r\n /**\r\n * Row click listener.\r\n * Emit all necessary events.\r\n */\r\n selectRow(row, index) {\r\n /**\r\n * @property {Object} row clicked row\r\n * @property {number} index index of clicked row\r\n */\r\n this.$emit('click', row, index);\r\n if (this.selected === row)\r\n return;\r\n if (!this.isRowSelectable(row))\r\n return;\r\n // Emit new and old row\r\n /**\r\n * @property {Object} row selected row\r\n * @property {Array<Object>} selected selected rows\r\n */\r\n this.$emit('select', row, this.selected);\r\n // Emit new row to update user variable\r\n this.$emit('update:selected', row);\r\n },\r\n /**\r\n * Toggle to show/hide details slot\r\n */\r\n toggleDetails(obj) {\r\n const found = this.isVisibleDetailRow(obj);\r\n if (found) {\r\n this.closeDetailRow(obj);\r\n this.$emit('details-close', obj);\r\n }\r\n else {\r\n this.openDetailRow(obj);\r\n this.$emit('details-open', obj);\r\n }\r\n // Syncs the detailed rows with the parent component\r\n this.$emit('update:openedDetailed', this.visibleDetailRows);\r\n },\r\n openDetailRow(obj) {\r\n const index = this.handleDetailKey(obj);\r\n this.visibleDetailRows.push(index);\r\n },\r\n closeDetailRow(obj) {\r\n const index = this.handleDetailKey(obj);\r\n const i = this.visibleDetailRows.indexOf(index);\r\n if (i >= 0) {\r\n this.visibleDetailRows.splice(i, 1);\r\n }\r\n },\r\n isVisibleDetailRow(obj) {\r\n const index = this.handleDetailKey(obj);\r\n return this.visibleDetailRows.indexOf(index) >= 0;\r\n },\r\n isActiveDetailRow(row) {\r\n return this.detailed && !this.customDetailRow && this.isVisibleDetailRow(row);\r\n },\r\n isActiveCustomDetailRow(row) {\r\n return this.detailed && this.customDetailRow && this.isVisibleDetailRow(row);\r\n },\r\n isRowFiltered(row) {\r\n for (const key in this.filters) {\r\n if (!this.filters[key])\r\n continue;\r\n const input = this.filters[key];\r\n const column = this.newColumns.filter((c) => c.field === key)[0];\r\n if (column && column.customSearch && typeof column.customSearch === 'function') {\r\n if (!column.customSearch(row, input))\r\n return false;\r\n }\r\n else {\r\n const value = getValueByPath(row, key);\r\n if (value == null)\r\n return false;\r\n if (Number.isInteger(value)) {\r\n if (value !== Number(input))\r\n return false;\r\n }\r\n else {\r\n const re = new RegExp(escapeRegExpChars(input), 'i');\r\n if (Array.isArray(value)) {\r\n const valid = value.some((val) => re.test(removeDiacriticsFromString(val)) || re.test(val));\r\n if (!valid)\r\n return false;\r\n }\r\n else {\r\n if (!re.test(removeDiacriticsFromString(value)) && !re.test(value)) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n },\r\n /**\r\n * When the detailKey is defined we use the object[detailKey] as index.\r\n * If not, use the object reference by default.\r\n */\r\n handleDetailKey(index) {\r\n const key = this.detailKey;\r\n return !key.length || !index\r\n ? index\r\n : index[key];\r\n },\r\n /**\r\n * Call initSort only first time (For example async data).\r\n */\r\n checkSort() {\r\n if (this.newColumns.length && this.firstTimeSort) {\r\n this.initSort();\r\n this.firstTimeSort = false;\r\n }\r\n else if (this.newColumns.length) {\r\n if (Object.keys(this.currentSortColumn).length > 0) {\r\n for (let i = 0; i < this.newColumns.length; i++) {\r\n if (this.newColumns[i].field === this.currentSortColumn.field) {\r\n this.currentSortColumn = this.newColumns[i];\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n /**\r\n * Check if footer slot has custom content.\r\n */\r\n hasCustomFooterSlot() {\r\n if (this.$slots.footer) {\r\n const footer = this.$slots.footer();\r\n if (footer.length > 1)\r\n return true;\r\n const tag = footer[0].tag;\r\n if (tag !== 'th' && tag !== 'td')\r\n return false;\r\n }\r\n return true;\r\n },\r\n /**\r\n * Table arrow keys listener, change selection.\r\n */\r\n pressedArrow(pos) {\r\n if (!this.visibleData.length)\r\n return;\r\n let index = this.visibleData.indexOf(this.selected) + pos;\r\n // Prevent from going up from first and down from last\r\n index = index < 0\r\n ? 0\r\n : index > this.visibleData.length - 1\r\n ? this.visibleData.length - 1\r\n : index;\r\n const row = this.visibleData[index];\r\n if (!this.isRowSelectable(row)) {\r\n let newIndex = null;\r\n if (pos > 0) {\r\n for (let i = index; i < this.visibleData.length && newIndex === null; i++) {\r\n if (this.isRowSelectable(this.visibleData[i]))\r\n newIndex = i;\r\n }\r\n }\r\n else {\r\n for (let i = index; i >= 0 && newIndex === null; i--) {\r\n if (this.isRowSelectable(this.visibleData[i]))\r\n newIndex = i;\r\n }\r\n }\r\n if (newIndex >= 0) {\r\n this.selectRow(this.visibleData[newIndex]);\r\n }\r\n }\r\n else {\r\n this.selectRow(row);\r\n }\r\n },\r\n /**\r\n * Focus table element if has selected prop.\r\n */\r\n focus() {\r\n if (!this.focusable)\r\n return;\r\n this.$el.querySelector('table').focus();\r\n },\r\n /**\r\n * Initial sorted column based on the default-sort prop.\r\n */\r\n initSort() {\r\n if (!this.defaultSort)\r\n return;\r\n let sortField = '';\r\n let sortDirection = this.defaultSortDirection;\r\n if (Array.isArray(this.defaultSort)) {\r\n sortField = this.defaultSort[0];\r\n if (this.defaultSort[1]) {\r\n sortDirection = this.defaultSort[1];\r\n }\r\n }\r\n else {\r\n sortField = this.defaultSort;\r\n }\r\n const sortColumn = this.newColumns.filter((column) => (column.field === sortField))[0];\r\n if (sortColumn) {\r\n this.isAsc = sortDirection.toLowerCase() !== 'desc';\r\n this.sort(sortColumn, true);\r\n }\r\n },\r\n /**\r\n * Emits drag start event\r\n */\r\n handleDragStart(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragstart', { event, row, index });\r\n },\r\n /**\r\n * Emits drag leave event\r\n */\r\n handleDragEnd(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragend', { event, row, index });\r\n },\r\n /**\r\n * Emits drop event\r\n */\r\n handleDrop(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('drop', { event, row, index });\r\n },\r\n /**\r\n * Emits drag over event\r\n */\r\n handleDragOver(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragover', { event, row, index });\r\n },\r\n /**\r\n * Emits drag leave event\r\n */\r\n handleDragLeave(event, row, index) {\r\n if (!this.draggable)\r\n return;\r\n this.$emit('dragleave', { event, row, index });\r\n },\r\n /**\r\n * Emits drag start event (column)\r\n */\r\n handleColumnDragStart(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.isDraggingColumn = true;\r\n this.$emit('columndragstart', { event, column, index });\r\n },\r\n /**\r\n * Emits drag leave event (column)\r\n */\r\n handleColumnDragEnd(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.isDraggingColumn = false;\r\n this.$emit('columndragend', { event, column, index });\r\n },\r\n /**\r\n * Emits drop event (column)\r\n */\r\n handleColumnDrop(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.$emit('columndrop', { event, column, index });\r\n },\r\n /**\r\n * Emits drag over event (column)\r\n */\r\n handleColumnDragOver(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.$emit('columndragover', { event, column, index });\r\n },\r\n /**\r\n * Emits drag leave event (column)\r\n */\r\n handleColumnDragLeave(event, column, index) {\r\n if (!this.canDragColumn)\r\n return;\r\n this.$emit('columndragleave', { event, column, index });\r\n },\r\n emitEventForRow(eventName, event, row) {\r\n return this.$attrs[eventName] ? this.$emit(eventName, row, event) : null;\r\n },\r\n processTdAttrs() {\r\n if (this.visibleColumns.length && this.visibleData.length) {\r\n for (let i = 0; i < this.visibleColumns.length; i++) {\r\n const col = this.visibleColumns[i];\r\n if (typeof col.tdAttrs !== 'undefined') {\r\n this.visibleData.forEach((data, index) => {\r\n col.tdAttrsData[index] = col.tdAttrs(data, col);\r\n });\r\n }\r\n }\r\n }\r\n },\r\n _addColumn(column) {\r\n this.defaultSlots.push(column);\r\n const slot = this.$refs['slot'];\r\n if (slot && slot.children) {\r\n this.$nextTick(() => {\r\n const ids = this.defaultSlots.map(it => `[data-id=\"${it.newKey}\"]`).join(',');\r\n const sortedIds = Array.from(slot.querySelectorAll(ids)).map((el) => el.getAttribute('data-id'));\r\n this.defaultSlots = this.defaultSlots.sort((a, b) => sortedIds.indexOf(`${a.newKey}`) - sortedIds.indexOf(`${b.newKey}`));\r\n });\r\n }\r\n },\r\n _removeColumn(column) {\r\n this.defaultSlots = this.defaultSlots.filter(d => d.newKey !== column.newKey);\r\n },\r\n _nextSequence() {\r\n return this.sequence++;\r\n }\r\n }\r\n});\n\nconst _hoisted_1$1 = {\n ref: \"slot\",\n style: {\n \"display\": \"none\"\n }\n};\nconst _hoisted_2 = {\n key: 0\n};\nconst _hoisted_3 = {\n key: 1\n};\nconst _hoisted_4 = {\n key: 1\n};\nconst _hoisted_5 = {\n key: 0\n};\nconst _hoisted_6 = {\n key: 1\n};\nconst _hoisted_7 = {\n key: 2\n};\nconst _hoisted_8 = {\n key: 1\n};\nconst _hoisted_9 = {\n key: 1\n};\nconst _hoisted_10 = {\n key: 2\n};\nconst _hoisted_11 = {\n key: 0\n};\nconst _hoisted_12 = {\n key: 2\n};\nfunction render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_table_mobile_sort = resolveComponent(\"o-table-mobile-sort\");\n\n const _component_o_table_pagination = resolveComponent(\"o-table-pagination\");\n\n const _component_o_checkbox = resolveComponent(\"o-checkbox\");\n\n const _component_o_slot_component = resolveComponent(\"o-slot-component\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n const _component_o_input = resolveComponent(\"o-input\");\n\n const _component_o_loading = resolveComponent(\"o-loading\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(\"div\", _hoisted_1$1, [renderSlot(_ctx.$slots, \"default\")], 512\n /* NEED_PATCH */\n ), _ctx.isMobile && _ctx.hasSortablenewColumns ? createVNode(_component_o_table_mobile_sort, {\n key: 0,\n \"current-sort-column\": _ctx.currentSortColumn,\n columns: _ctx.newColumns,\n placeholder: _ctx.mobileSortPlaceholder,\n \"icon-pack\": _ctx.iconPack,\n \"sort-icon\": _ctx.sortIcon,\n \"sort-icon-size\": _ctx.sortIconSize,\n \"is-asc\": _ctx.isAsc,\n onSort: _cache[1] || (_cache[1] = (column, event) => _ctx.sort(column, null, event))\n }, null, 8\n /* PROPS */\n , [\"current-sort-column\", \"columns\", \"placeholder\", \"icon-pack\", \"sort-icon\", \"sort-icon-size\", \"is-asc\"]) : createCommentVNode(\"v-if\", true), _ctx.paginated && (_ctx.paginationPosition === 'top' || _ctx.paginationPosition === 'both') ? renderSlot(_ctx.$slots, \"pagination\", {\n key: 1\n }, () => [createVNode(_component_o_table_pagination, mergeProps(_ctx.$attrs, {\n \"per-page\": _ctx.perPage,\n paginated: _ctx.paginated,\n total: _ctx.newDataTotal,\n \"current-page\": _ctx.newCurrentPage,\n \"onUpdate:currentPage\": _cache[2] || (_cache[2] = $event => _ctx.newCurrentPage = $event),\n \"root-class\": _ctx.paginationWrapperClasses,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.paginationRounded,\n \"onPage-change\": _cache[3] || (_cache[3] = event => _ctx.$emit('page-change', event)),\n \"aria-next-label\": _ctx.ariaNextLabel,\n \"aria-previous-label\": _ctx.ariaPreviousLabel,\n \"aria-page-label\": _ctx.ariaPageLabel,\n \"aria-current-label\": _ctx.ariaCurrentLabel\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"top-left\")]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"per-page\", \"paginated\", \"total\", \"current-page\", \"root-class\", \"icon-pack\", \"rounded\", \"aria-next-label\", \"aria-previous-label\", \"aria-page-label\", \"aria-current-label\"])]) : createCommentVNode(\"v-if\", true), createVNode(\"div\", {\n class: _ctx.tableWrapperClasses,\n style: _ctx.tableWrapperStyle\n }, [createVNode(\"table\", {\n class: _ctx.tableClasses,\n tabindex: !_ctx.focusable ? false : 0,\n onKeydown: [_cache[4] || (_cache[4] = withKeys(withModifiers($event => _ctx.pressedArrow(-1), [\"self\", \"prevent\"]), [\"up\"])), _cache[5] || (_cache[5] = withKeys(withModifiers($event => _ctx.pressedArrow(1), [\"self\", \"prevent\"]), [\"down\"]))]\n }, [_ctx.$slots.caption ? (openBlock(), createBlock(\"caption\", _hoisted_2, [renderSlot(_ctx.$slots, \"caption\")])) : createCommentVNode(\"v-if\", true), _ctx.newColumns.length && _ctx.showHeader ? (openBlock(), createBlock(\"thead\", _hoisted_3, [createVNode(\"tr\", null, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"th\", {\n key: 0,\n class: _ctx.thDetailedClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"th\", {\n key: 1,\n class: _ctx.thCheckboxClasses\n }, [_ctx.headerCheckable ? createVNode(_component_o_checkbox, {\n key: 0,\n autocomplete: \"off\",\n modelValue: _ctx.isAllChecked,\n disabled: _ctx.isAllUncheckable,\n \"onUpdate:modelValue\": _ctx.checkAll\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"disabled\", \"onUpdate:modelValue\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, index) => {\n return openBlock(), createBlock(\"th\", mergeProps({\n key: column.newKey + ':' + index + 'header'\n }, column.thAttrsData, {\n class: _ctx.thClasses(column),\n style: _ctx.isMobile ? {} : column.style,\n onClick: withModifiers($event => _ctx.sort(column, null, $event), [\"stop\"]),\n draggable: _ctx.canDragColumn,\n onDragstart: $event => _ctx.handleColumnDragStart($event, column, index),\n onDragend: $event => _ctx.handleColumnDragEnd($event, column, index),\n onDrop: $event => _ctx.handleColumnDrop($event, column, index),\n onDragover: $event => _ctx.handleColumnDragOver($event, column, index),\n onDragleave: $event => _ctx.handleColumnDragLeave($event, column, index)\n }), [column.hasHeaderSlot ? createVNode(_component_o_slot_component, {\n key: 0,\n component: column,\n name: \"header\",\n tag: \"span\",\n props: {\n column,\n index\n }\n }, null, 8\n /* PROPS */\n , [\"component\", \"props\"]) : (openBlock(), createBlock(\"span\", _hoisted_4, [createTextVNode(toDisplayString(column.label) + \" \", 1\n /* TEXT */\n ), withDirectives(createVNode(\"span\", {\n class: _ctx.thSortIconClasses()\n }, [createVNode(_component_o_icon, {\n icon: _ctx.sortIcon,\n pack: _ctx.iconPack,\n both: \"\",\n size: _ctx.sortIconSize,\n rotation: !_ctx.isAsc ? 180 : 0\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"size\", \"rotation\"])], 2\n /* CLASS */\n ), [[vShow, column.sortable && _ctx.currentSortColumn === column]])]))], 16\n /* FULL_PROPS */\n , [\"onClick\", \"draggable\", \"onDragstart\", \"onDragend\", \"onDrop\", \"onDragover\", \"onDragleave\"]);\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"th\", {\n key: 2,\n class: _ctx.thCheckboxClasses\n }, [_ctx.headerCheckable ? createVNode(_component_o_checkbox, {\n key: 0,\n autocomplete: \"off\",\n modelValue: _ctx.isAllChecked,\n disabled: _ctx.isAllUncheckable,\n \"onUpdate:modelValue\": _ctx.checkAll\n }, null, 8\n /* PROPS */\n , [\"modelValue\", \"disabled\", \"onUpdate:modelValue\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]), _ctx.hasSearchablenewColumns ? (openBlock(), createBlock(\"tr\", _hoisted_5, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"th\", {\n key: 0,\n class: _ctx.thDetailedClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"th\", _hoisted_6)) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, index) => {\n return openBlock(), createBlock(\"th\", mergeProps({\n key: column.newKey + ':' + index + 'searchable'\n }, column.thAttrsData, {\n class: _ctx.thClasses(column),\n style: _ctx.isMobile ? {} : column.style\n }), [column.searchable ? (openBlock(), createBlock(Fragment, {\n key: 0\n }, [column.hasSearchableSlot ? createVNode(_component_o_slot_component, {\n key: 0,\n component: column,\n name: \"searchable\",\n tag: \"span\",\n props: {\n column,\n filters: _ctx.filters\n }\n }, null, 8\n /* PROPS */\n , [\"component\", \"props\"]) : createVNode(_component_o_input, {\n key: 1,\n [\"on\" + capitalize(_ctx.filtersEvent)]: _ctx.onFiltersEvent,\n modelValue: _ctx.filters[column.field],\n \"onUpdate:modelValue\": $event => _ctx.filters[column.field] = $event,\n type: column.numeric ? 'number' : 'text'\n }, null, 16\n /* FULL_PROPS */\n , [\"modelValue\", \"onUpdate:modelValue\", \"type\"])], 64\n /* STABLE_FRAGMENT */\n )) : createCommentVNode(\"v-if\", true)], 16\n /* FULL_PROPS */\n );\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"th\", _hoisted_7)) : createCommentVNode(\"v-if\", true)])) : createCommentVNode(\"v-if\", true), _ctx.hasCustomSubheadings ? (openBlock(), createBlock(\"tr\", _hoisted_8, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"th\", {\n key: 0,\n class: _ctx.thDetailedClasses\n }, null, 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"th\", _hoisted_9)) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, index) => {\n return openBlock(), createBlock(\"th\", {\n key: column.newKey + ':' + index + 'subheading',\n style: _ctx.isMobile ? {} : column.style,\n class: _ctx.thSubheadingClasses\n }, [column.$slots && column.$slots.subheading ? createVNode(_component_o_slot_component, {\n key: 0,\n component: column,\n name: \"subheading\",\n tag: \"span\",\n props: {\n column,\n index\n }\n }, null, 8\n /* PROPS */\n , [\"component\", \"props\"]) : (openBlock(), createBlock(Fragment, {\n key: 1\n }, [createTextVNode(toDisplayString(column.subheading), 1\n /* TEXT */\n )], 64\n /* STABLE_FRAGMENT */\n ))], 6\n /* CLASS, STYLE */\n );\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"th\", _hoisted_10)) : createCommentVNode(\"v-if\", true)])) : createCommentVNode(\"v-if\", true)])) : createCommentVNode(\"v-if\", true), createVNode(\"tbody\", null, [(openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleData, (row, index) => {\n return openBlock(), createBlock(Fragment, {\n key: this.customRowKey ? row[this.customRowKey] : index\n }, [createVNode(\"tr\", {\n class: _ctx.rowClasses(row, index),\n onClick: $event => _ctx.selectRow(row, index),\n onDblclick: $event => _ctx.$emit('dblclick', row),\n onMouseenter: $event => _ctx.emitEventForRow('mouseenter', $event, row),\n onMouseleave: $event => _ctx.emitEventForRow('mouseleave', $event, row),\n onContextmenu: $event => _ctx.$emit('contextmenu', row, $event),\n draggable: _ctx.canDragRow,\n onDragstart: $event => _ctx.handleDragStart($event, row, index),\n onDragend: $event => _ctx.handleDragEnd($event, row, index),\n onDrop: $event => _ctx.handleDrop($event, row, index),\n onDragover: $event => _ctx.handleDragOver($event, row, index),\n onDragleave: $event => _ctx.handleDragLeave($event, row, index)\n }, [_ctx.showDetailRowIcon ? (openBlock(), createBlock(\"td\", {\n key: 0,\n class: _ctx.tdDetailedChevronClasses\n }, [_ctx.hasDetailedVisible(row) ? createVNode(_component_o_icon, {\n key: 0,\n icon: _ctx.detailIcon,\n pack: _ctx.iconPack,\n rotation: _ctx.isVisibleDetailRow(row) ? 90 : 0,\n role: \"button\",\n onClick: withModifiers($event => _ctx.toggleDetails(row), [\"stop\"]),\n clickable: \"\",\n both: \"\"\n }, null, 8\n /* PROPS */\n , [\"icon\", \"pack\", \"rotation\", \"onClick\"]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), _ctx.checkable && _ctx.checkboxPosition === 'left' ? (openBlock(), createBlock(\"td\", {\n key: 1,\n class: _ctx.tdCheckboxClasses\n }, [createVNode(_component_o_checkbox, {\n autocomplete: \"off\",\n disabled: !_ctx.isRowCheckable(row),\n modelValue: _ctx.isRowChecked(row),\n \"onUpdate:modelValue\": $event => _ctx.checkRow(row, index, $event)\n }, null, 8\n /* PROPS */\n , [\"disabled\", \"modelValue\", \"onUpdate:modelValue\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.visibleColumns, (column, colindex) => {\n return openBlock(), createBlock(_component_o_slot_component, mergeProps({\n key: column.newKey + index + ':' + colindex\n }, column.tdAttrsData[index], {\n component: column,\n name: \"default\",\n tag: \"td\",\n class: _ctx.tdClasses(row, column),\n style: _ctx.isMobile ? {} : column.style,\n \"data-label\": column.label,\n props: {\n row,\n column,\n index,\n colindex,\n toggleDetails: _ctx.toggleDetails\n },\n onClick: $event => _ctx.$emit('cell-click', row, column, index, colindex, $event)\n }), null, 16\n /* FULL_PROPS */\n , [\"component\", \"class\", \"style\", \"data-label\", \"props\", \"onClick\"]);\n }), 128\n /* KEYED_FRAGMENT */\n )), _ctx.checkable && _ctx.checkboxPosition === 'right' ? (openBlock(), createBlock(\"td\", {\n key: 2,\n class: _ctx.tdCheckboxClasses\n }, [createVNode(_component_o_checkbox, {\n autocomplete: \"off\",\n disabled: !_ctx.isRowCheckable(row),\n modelValue: _ctx.isRowChecked(row),\n \"onUpdate:modelValue\": $event => _ctx.checkRow(row, index, $event)\n }, null, 8\n /* PROPS */\n , [\"disabled\", \"modelValue\", \"onUpdate:modelValue\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"onClick\", \"onDblclick\", \"onMouseenter\", \"onMouseleave\", \"onContextmenu\", \"draggable\", \"onDragstart\", \"onDragend\", \"onDrop\", \"onDragover\", \"onDragleave\"]), createVNode(Transition, {\n name: _ctx.detailTransition\n }, {\n default: withCtx(() => [_ctx.isActiveDetailRow(row) ? (openBlock(), createBlock(\"tr\", {\n key: (_ctx.customRowKey ? row[_ctx.customRowKey] : index) + 'detail',\n class: _ctx.detailedClasses\n }, [createVNode(\"td\", {\n colspan: _ctx.columnCount\n }, [renderSlot(_ctx.$slots, \"detail\", {\n row: row,\n index: index\n })], 8\n /* PROPS */\n , [\"colspan\"])], 2\n /* CLASS */\n )) : createCommentVNode(\"v-if\", true)]),\n _: 2\n }, 1032\n /* PROPS, DYNAMIC_SLOTS */\n , [\"name\"]), _ctx.isActiveCustomDetailRow(row) ? renderSlot(_ctx.$slots, \"detail\", {\n key: 0,\n row: row,\n index: index\n }) : createCommentVNode(\"v-if\", true)], 64\n /* STABLE_FRAGMENT */\n );\n }), 128\n /* KEYED_FRAGMENT */\n )), !_ctx.visibleData.length ? (openBlock(), createBlock(\"tr\", _hoisted_11, [createVNode(\"td\", {\n colspan: _ctx.columnCount\n }, [renderSlot(_ctx.$slots, \"empty\")], 8\n /* PROPS */\n , [\"colspan\"])])) : createCommentVNode(\"v-if\", true)]), _ctx.$slots.footer ? (openBlock(), createBlock(\"tfoot\", _hoisted_12, [createVNode(\"tr\", {\n class: _ctx.footerClasses\n }, [_ctx.hasCustomFooterSlot() ? renderSlot(_ctx.$slots, \"footer\", {\n key: 0\n }) : (openBlock(), createBlock(\"th\", {\n key: 1,\n colspan: _ctx.columnCount\n }, [renderSlot(_ctx.$slots, \"footer\")], 8\n /* PROPS */\n , [\"colspan\"]))], 2\n /* CLASS */\n )])) : createCommentVNode(\"v-if\", true)], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"tabindex\"]), renderSlot(_ctx.$slots, \"loading\", {}, () => [createVNode(_component_o_loading, {\n \"full-page\": false,\n active: _ctx.loading\n }, null, 8\n /* PROPS */\n , [\"active\"])])], 6\n /* CLASS, STYLE */\n ), _ctx.checkable && _ctx.$slots['bottom-left'] || _ctx.paginated && (_ctx.paginationPosition === 'bottom' || _ctx.paginationPosition === 'both') ? renderSlot(_ctx.$slots, \"pagination\", {\n key: 2\n }, () => [createVNode(_component_o_table_pagination, mergeProps(_ctx.$attrs, {\n \"per-page\": _ctx.perPage,\n paginated: _ctx.paginated,\n total: _ctx.newDataTotal,\n \"current-page\": _ctx.newCurrentPage,\n \"onUpdate:currentPage\": _cache[6] || (_cache[6] = $event => _ctx.newCurrentPage = $event),\n \"root-class\": _ctx.paginationWrapperClasses,\n \"icon-pack\": _ctx.iconPack,\n rounded: _ctx.paginationRounded,\n \"onPage-change\": _cache[7] || (_cache[7] = event => _ctx.$emit('page-change', event)),\n \"aria-next-label\": _ctx.ariaNextLabel,\n \"aria-previous-label\": _ctx.ariaPreviousLabel,\n \"aria-page-label\": _ctx.ariaPageLabel,\n \"aria-current-label\": _ctx.ariaCurrentLabel\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"bottom-left\")]),\n _: 3\n }, 16\n /* FULL_PROPS */\n , [\"per-page\", \"paginated\", \"total\", \"current-page\", \"root-class\", \"icon-pack\", \"rounded\", \"aria-next-label\", \"aria-previous-label\", \"aria-page-label\", \"aria-current-label\"])]) : createCommentVNode(\"v-if\", true)], 2\n /* CLASS */\n );\n}\n\nscript$3.render = render$2;\nscript$3.__file = \"src/components/table/Table.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script$3);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$3 as OTable, script$1 as OTableColumn };\n","import { defineComponent, resolveComponent, openBlock, createBlock, createVNode, renderSlot, Fragment, renderList, withDirectives, withKeys, withModifiers, resolveDynamicComponent, withCtx, createCommentVNode, toDisplayString, vShow } from 'vue';\nimport { getValueByPath } from './helpers.mjs';\nimport { getOptions } from './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './InjectedChildMixin-5282461d.mjs';\nimport './SlotComponent-11a269f3.mjs';\nimport { T as TabbedMixin, a as TabbedChildMixin } from './TabbedChildMixin-8b374962.mjs';\n\n/**\r\n * Responsive horizontal navigation tabs, switch between contents with ease\r\n * @displayName Tabs\r\n * @requires ./TabItem.vue\r\n * @style _tabs.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OTabs',\r\n mixins: [BaseComponentMixin, TabbedMixin('tab')],\r\n configField: 'tabs',\r\n props: {\r\n /**\r\n * Tab type\r\n * @values boxed, toggle\r\n */\r\n type: {\r\n type: String,\r\n default: 'default'\r\n },\r\n /**\r\n * Tabs will be expanded (full-width)\r\n */\r\n expanded: Boolean,\r\n /** Tab will have an animation */\r\n animated: {\r\n type: Boolean,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'tabs.animated', true);\r\n }\r\n },\r\n /** Show tab items multiline when there is no space */\r\n multiline: Boolean,\r\n rootClass: [String, Function, Array],\r\n positionClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n verticalClass: [String, Function, Array],\r\n multilineClass: [String, Function, Array],\r\n navTabsClass: [String, Function, Array],\r\n navSizeClass: [String, Function, Array],\r\n navPositionClass: [String, Function, Array],\r\n navTypeClass: [String, Function, Array],\r\n contentClass: [String, Function, Array],\r\n transitioningClass: [String, Function, Array],\r\n tabItemWrapperClass: [String, Function, Array],\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-tabs'),\r\n { [this.computedClass('positionClass', 'o-tabs--', this.position)]: this.position && this.vertical },\r\n { [this.computedClass('expandedClass', 'o-tabs--fullwidth')]: this.expanded },\r\n { [this.computedClass('verticalClass', 'o-tabs--vertical')]: this.vertical },\r\n { [this.computedClass('multilineClass', 'o-tabs--multiline')]: this.multiline }\r\n ];\r\n },\r\n itemWrapperClasses() {\r\n return [\r\n this.computedClass('tabItemWrapperClass', 'o-tabs__nav-item-wrapper'),\r\n ];\r\n },\r\n navClasses() {\r\n return [\r\n this.computedClass('navTabsClass', 'o-tabs__nav'),\r\n { [this.computedClass('navSizeClass', 'o-tabs__nav--', this.size)]: this.size },\r\n { [this.computedClass('navPositionClass', 'o-tabs__nav--', this.position)]: this.position && !this.vertical },\r\n { [this.computedClass('navTypeClass', 'o-tabs__nav--', this.type)]: this.type }\r\n ];\r\n },\r\n contentClasses() {\r\n return [\r\n this.computedClass('contentClass', 'o-tabs__content'),\r\n { [this.computedClass('transitioningClass', 'o-tabs__content--transitioning')]: this.isTransitioning }\r\n ];\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_o_slot_component = resolveComponent(\"o-slot-component\");\n\n const _component_o_icon = resolveComponent(\"o-icon\");\n\n return openBlock(), createBlock(\"div\", {\n class: _ctx.rootClasses\n }, [createVNode(\"nav\", {\n class: _ctx.navClasses,\n role: \"tablist\",\n \"aria-orientation\": _ctx.vertical ? 'vertical' : 'horizontal'\n }, [renderSlot(_ctx.$slots, \"start\"), (openBlock(true), createBlock(Fragment, null, renderList(_ctx.items, childItem => {\n return withDirectives((openBlock(), createBlock(\"div\", {\n key: childItem.newValue,\n onKeydown: [_cache[1] || (_cache[1] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"left\"])), _cache[2] || (_cache[2] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"right\"])), _cache[3] || (_cache[3] = withKeys(withModifiers((...args) => _ctx.prev(...args), [\"prevent\"]), [\"up\"])), _cache[4] || (_cache[4] = withKeys(withModifiers((...args) => _ctx.next(...args), [\"prevent\"]), [\"down\"])), _cache[5] || (_cache[5] = withKeys(withModifiers((...args) => _ctx.homePressed(...args), [\"prevent\"]), [\"home\"])), _cache[6] || (_cache[6] = withKeys(withModifiers((...args) => _ctx.endPressed(...args), [\"prevent\"]), [\"end\"]))],\n class: _ctx.itemWrapperClasses,\n role: \"tab\",\n \"aria-controls\": `${childItem.value}-content`,\n \"aria-selected\": `${childItem.isActive}`\n }, [childItem.$slots.header ? createVNode(_component_o_slot_component, {\n key: 0,\n component: childItem,\n tag: childItem.tag,\n name: \"header\",\n onClick: $event => _ctx.childClick(childItem),\n onKeydown: [withKeys(withModifiers(_ctx.prev, [\"prevent\"]), [\"left\"]), withKeys(withModifiers(_ctx.next, [\"prevent\"]), [\"right\"]), withKeys(withModifiers(_ctx.prev, [\"prevent\"]), [\"up\"]), withKeys(withModifiers(_ctx.next, [\"prevent\"]), [\"down\"]), withKeys(withModifiers(_ctx.homePressed, [\"prevent\"]), [\"home\"]), withKeys(withModifiers(_ctx.endPressed, [\"prevent\"]), [\"end\"])],\n class: childItem.headerClasses\n }, null, 8\n /* PROPS */\n , [\"component\", \"tag\", \"onClick\", \"onKeydown\", \"class\"]) : (openBlock(), createBlock(resolveDynamicComponent(childItem.tag), {\n key: 1,\n onClick: $event => _ctx.childClick(childItem),\n class: childItem.headerClasses\n }, {\n default: withCtx(() => [childItem.icon ? createVNode(_component_o_icon, {\n key: 0,\n rootClass: childItem.headerIconClasses,\n icon: childItem.icon,\n pack: childItem.iconPack,\n size: _ctx.size\n }, null, 8\n /* PROPS */\n , [\"rootClass\", \"icon\", \"pack\", \"size\"]) : createCommentVNode(\"v-if\", true), createVNode(\"span\", {\n class: childItem.headerTextClasses\n }, toDisplayString(childItem.label), 3\n /* TEXT, CLASS */\n )]),\n _: 2\n }, 1032\n /* PROPS, DYNAMIC_SLOTS */\n , [\"onClick\", \"class\"]))], 42\n /* CLASS, PROPS, HYDRATE_EVENTS */\n , [\"aria-controls\", \"aria-selected\"])), [[vShow, childItem.visible]]);\n }), 128\n /* KEYED_FRAGMENT */\n )), renderSlot(_ctx.$slots, \"end\")], 10\n /* CLASS, PROPS */\n , [\"aria-orientation\"]), createVNode(\"section\", {\n class: _ctx.contentClasses\n }, [renderSlot(_ctx.$slots, \"default\")], 2\n /* CLASS */\n )], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/tabs/Tabs.vue\";\n\n/**\r\n * @displayName Tab Item\r\n */\r\nvar script$1 = defineComponent({\r\n name: 'OTabItem',\r\n mixins: [BaseComponentMixin, TabbedChildMixin('tab')],\r\n configField: 'tabs',\r\n props: {\r\n /** Item will be disabled */\r\n disabled: Boolean,\r\n /**\r\n * Tabs item tag name\r\n */\r\n tag: {\r\n type: String,\r\n default: () => {\r\n return getValueByPath(getOptions(), 'tabs.itemTag', 'button');\r\n }\r\n },\r\n itemClass: [String, Function, Array],\r\n itemHeaderClass: [String, Function, Array],\r\n itemHeaderActiveClass: [String, Function, Array],\r\n itemHeaderDisabledClass: [String, Function, Array],\r\n itemHeaderTypeClass: [String, Function, Array],\r\n itemHeaderIconClass: [String, Function, Array],\r\n itemHeaderTextClass: [String, Function, Array]\r\n },\r\n computed: {\r\n elementClasses() {\r\n return [\r\n this.computedClass('itemClass', 'o-tab-item__content')\r\n ];\r\n },\r\n headerClasses() {\r\n return [\r\n this.computedClass('itemHeaderClass', 'o-tabs__nav-item'),\r\n { [this.computedClass('itemHeaderActiveClass', 'o-tabs__nav-item-{*}--active', this.parent.type)]: this.isActive },\r\n { [this.computedClass('itemHeaderDisabledClass', 'o-tabs__nav-item-{*}--disabled', this.parent.type)]: this.disabled },\r\n { [this.computedClass('itemHeaderTypeClass', 'o-tabs__nav-item-', this.parent.type)]: this.parent.type },\r\n ];\r\n },\r\n headerIconClasses() {\r\n return [\r\n this.computedClass('itemHeaderIconClass', 'o-tabs__nav-item-icon')\r\n ];\r\n },\r\n headerTextClasses() {\r\n return [\r\n this.computedClass('itemHeaderTextClass', 'o-tabs__nav-item-text')\r\n ];\r\n }\r\n }\r\n});\n\nscript$1.__file = \"src/components/tabs/TabItem.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n registerComponent(app, script$1);\r\n }\r\n};\n\nexport default index;\nexport { script$1 as OTabItem, script as OTabs };\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nimport './Input-19e906a1.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nimport './DropdownItem-c744c4e9.mjs';\nimport './Select-2cca695f.mjs';\nimport { s as script } from './Timepicker-c2f10909.mjs';\nexport { s as OTimepicker } from './Timepicker-c2f10909.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { s as script } from './Tooltip-7e114fbb.mjs';\nexport { s as OTooltip } from './Tooltip-7e114fbb.mjs';\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\n","import { defineComponent, openBlock, createBlock, renderSlot, withModifiers, createVNode, mergeProps } from 'vue';\nimport './helpers.mjs';\nimport './config.mjs';\nimport { B as BaseComponentMixin, b as registerComponent } from './plugins-ba5e2464.mjs';\nimport { F as FormElementMixin } from './FormElementMixin-29581863.mjs';\nimport { F as File } from './ssr-85c76d50.mjs';\n\n/**\r\n * Upload one or more files\r\n * @displayName Upload\r\n * @style _upload.scss\r\n */\r\nvar script = defineComponent({\r\n name: 'OUpload',\r\n mixins: [BaseComponentMixin, FormElementMixin],\r\n configField: 'upload',\r\n inheritAttrs: false,\r\n emits: ['update:modelValue'],\r\n props: {\r\n /** @model */\r\n modelValue: [Object, File, Array],\r\n /** Same as native, also push new item to v-model instead of replacing */\r\n multiple: Boolean,\r\n /** Same as native disabled */\r\n disabled: Boolean,\r\n /** Same as native accept */\r\n accept: String,\r\n /** Accepts drag & drop and change its style */\r\n dragDrop: Boolean,\r\n /**\r\n * Color of the control, optional\r\n * @values primary, info, success, warning, danger, and any other custom color\r\n */\r\n variant: {\r\n type: String\r\n },\r\n /** Replace last chosen files every time (like native file input element) */\r\n native: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /** Upload will be expanded (full-width) */\r\n expanded: {\r\n type: Boolean,\r\n default: false\r\n },\r\n rootClass: [String, Function, Array],\r\n draggableClass: [String, Function, Array],\r\n variantClass: [String, Function, Array],\r\n expandedClass: [String, Function, Array],\r\n disabledClass: [String, Function, Array],\r\n hoveredClass: [String, Function, Array]\r\n },\r\n data() {\r\n return {\r\n newValue: this.modelValue,\r\n dragDropFocus: false\r\n };\r\n },\r\n computed: {\r\n rootClasses() {\r\n return [\r\n this.computedClass('rootClass', 'o-upl'),\r\n { [this.computedClass('expandedClass', 'o-upl--expanded')]: this.expanded },\r\n { [this.computedClass('disabledClass', 'o-upl--disabled')]: this.disabled }\r\n ];\r\n },\r\n draggableClasses() {\r\n return [\r\n this.computedClass('draggableClass', 'o-upl__draggable'),\r\n { [this.computedClass('hoveredClass', 'o-upl__draggable--hovered')]: !this.variant && this.dragDropFocus },\r\n { [this.computedClass('variantClass', 'o-upl__draggable--hovered-', this.variant)]: this.variant && this.dragDropFocus },\r\n ];\r\n },\r\n $elementRef() {\r\n return 'input';\r\n }\r\n },\r\n watch: {\r\n /**\r\n * When v-model is changed:\r\n * 1. Set internal value.\r\n * 2. Reset interna input file value\r\n * 3. If it's invalid, validate again.\r\n */\r\n modelValue(value) {\r\n this.newValue = value;\r\n if (!value || (Array.isArray(value) && value.length === 0)) {\r\n this.$refs.input.value = null;\r\n }\r\n !this.isValid && !this.dragDrop && this.checkHtml5Validity();\r\n },\r\n },\r\n methods: {\r\n /**\r\n * Listen change event on input type 'file',\r\n * emit 'input' event and validate\r\n */\r\n onFileChange(event) {\r\n if (this.disabled)\r\n return;\r\n if (this.dragDrop)\r\n this.updateDragDropFocus(false);\r\n const value = event.target.files || event.dataTransfer.files;\r\n if (value.length === 0) {\r\n if (!this.newValue)\r\n return;\r\n if (this.native)\r\n this.newValue = null;\r\n }\r\n else if (!this.multiple) {\r\n // only one element in case drag drop mode and isn't multiple\r\n if (this.dragDrop && value.length !== 1)\r\n return;\r\n else {\r\n const file = value[0];\r\n if (this.checkType(file))\r\n this.newValue = file;\r\n else if (this.newValue) {\r\n this.newValue = null;\r\n this.clearInput();\r\n }\r\n else {\r\n // Force input back to empty state and recheck validity\r\n this.clearInput();\r\n this.checkHtml5Validity();\r\n return;\r\n }\r\n }\r\n }\r\n else {\r\n // always new values if native or undefined local\r\n let newValues = false;\r\n if (this.native || !this.newValue) {\r\n this.newValue = [];\r\n newValues = true;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n const file = value[i];\r\n if (this.checkType(file)) {\r\n this.newValue.push(file);\r\n newValues = true;\r\n }\r\n }\r\n if (!newValues)\r\n return;\r\n }\r\n this.$emit('update:modelValue', this.newValue);\r\n !this.dragDrop && this.checkHtml5Validity();\r\n },\r\n /*\r\n * Reset file input value\r\n */\r\n clearInput() {\r\n this.$refs.input.value = null;\r\n },\r\n /**\r\n * Listen drag-drop to update internal variable\r\n */\r\n updateDragDropFocus(focus) {\r\n if (!this.disabled) {\r\n this.dragDropFocus = focus;\r\n }\r\n },\r\n /**\r\n * Check mime type of file\r\n */\r\n checkType(file) {\r\n if (!this.accept)\r\n return true;\r\n const types = this.accept.split(',');\r\n if (types.length === 0)\r\n return true;\r\n for (let i = 0; i < types.length; i++) {\r\n const type = types[i].trim();\r\n if (type) {\r\n if (type.substring(0, 1) === '.') {\r\n const extension = file.name.toLowerCase().slice(-type.length);\r\n if (extension === type.toLowerCase()) {\r\n return true;\r\n }\r\n }\r\n else {\r\n // check mime type\r\n if (file.type.match(type))\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n});\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(\"label\", {\n class: _ctx.rootClasses\n }, [!_ctx.dragDrop ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : (openBlock(), createBlock(\"div\", {\n key: 1,\n class: _ctx.draggableClasses,\n onMouseenter: _cache[1] || (_cache[1] = $event => _ctx.updateDragDropFocus(true)),\n onMouseleave: _cache[2] || (_cache[2] = $event => _ctx.updateDragDropFocus(false)),\n onDragover: _cache[3] || (_cache[3] = withModifiers($event => _ctx.updateDragDropFocus(true), [\"prevent\"])),\n onDragleave: _cache[4] || (_cache[4] = withModifiers($event => _ctx.updateDragDropFocus(false), [\"prevent\"])),\n onDragenter: _cache[5] || (_cache[5] = withModifiers($event => _ctx.updateDragDropFocus(true), [\"prevent\"])),\n onDrop: _cache[6] || (_cache[6] = withModifiers((...args) => _ctx.onFileChange(...args), [\"prevent\"]))\n }, [renderSlot(_ctx.$slots, \"default\")], 34\n /* CLASS, HYDRATE_EVENTS */\n )), createVNode(\"input\", mergeProps({\n ref: \"input\",\n type: \"file\"\n }, _ctx.$attrs, {\n multiple: _ctx.multiple,\n accept: _ctx.accept,\n disabled: _ctx.disabled,\n onChange: _cache[7] || (_cache[7] = (...args) => _ctx.onFileChange(...args))\n }), null, 16\n /* FULL_PROPS */\n , [\"multiple\", \"accept\", \"disabled\"])], 2\n /* CLASS */\n );\n}\n\nscript.render = render;\nscript.__file = \"src/components/upload/Upload.vue\";\n\nvar index = {\r\n install(app) {\r\n registerComponent(app, script);\r\n }\r\n};\n\nexport default index;\nexport { script as OUpload };\n","import 'vue';\nimport { merge } from './helpers.mjs';\nimport { setVueInstance, setOptions, Programmatic, getOptions } from './config.mjs';\nexport { Plugin as Config, Programmatic as ConfigProgrammatic } from './config.mjs';\nimport { r as registerPlugin, a as registerComponentProgrammatic } from './plugins-ba5e2464.mjs';\nexport { u as useProgrammatic } from './plugins-ba5e2464.mjs';\nexport { s as OIcon } from './Icon-a7b85e86.mjs';\nimport './FormElementMixin-29581863.mjs';\nexport { s as OInput } from './Input-19e906a1.mjs';\nexport { s as OAutocomplete } from './Autocomplete-a23ad844.mjs';\nimport index from './autocomplete.mjs';\nexport { default as Autocomplete } from './autocomplete.mjs';\nexport { s as OButton } from './Button-c75f7992.mjs';\nimport index$1 from './button.mjs';\nexport { default as Button } from './button.mjs';\nimport './InjectedChildMixin-5282461d.mjs';\nimport index$2 from './carousel.mjs';\nexport { default as Carousel, OCarousel, OCarouselItem } from './carousel.mjs';\nimport './CheckRadioMixin-f5b57344.mjs';\nexport { s as OCheckbox } from './Checkbox-8670724c.mjs';\nimport index$3 from './checkbox.mjs';\nexport { default as Checkbox } from './checkbox.mjs';\nimport index$4 from './collapse.mjs';\nexport { default as Collapse, OCollapse } from './collapse.mjs';\nimport './MatchMediaMixin-09b141ca.mjs';\nimport './trapFocus-dc03669f.mjs';\nexport { s as ODropdown, a as ODropdownItem } from './DropdownItem-c744c4e9.mjs';\nexport { s as OField } from './Field-937b4591.mjs';\nexport { s as OSelect } from './Select-2cca695f.mjs';\nexport { s as ODatepicker } from './Datepicker-42aca091.mjs';\nimport index$5 from './datepicker.mjs';\nexport { default as Datepicker } from './datepicker.mjs';\nexport { s as OTimepicker } from './Timepicker-c2f10909.mjs';\nimport index$6 from './datetimepicker.mjs';\nexport { default as Datetimepicker, ODatetimepicker } from './datetimepicker.mjs';\nimport index$7 from './dropdown.mjs';\nexport { default as Dropdown } from './dropdown.mjs';\nimport index$8 from './field.mjs';\nexport { default as Field } from './field.mjs';\nimport index$9 from './icon.mjs';\nexport { default as Icon } from './icon.mjs';\nimport index$a from './input.mjs';\nexport { default as Input } from './input.mjs';\nimport index$b from './inputitems.mjs';\nexport { default as Inputitems, OInputitems } from './inputitems.mjs';\nimport './ssr-85c76d50.mjs';\nexport { s as OLoading } from './Loading-20d29914.mjs';\nimport './InstanceRegistry-2fdb6ee8.mjs';\nimport index$c from './loading.mjs';\nexport { default as Loading, LoadingProgrammatic } from './loading.mjs';\nimport index$d from './menu.mjs';\nexport { default as Menu, OMenu, OMenuItem, OMenuList } from './menu.mjs';\nimport index$e from './modal.mjs';\nexport { default as Modal, ModalProgrammatic, OModal } from './modal.mjs';\nimport index$f from './notification.mjs';\nexport { default as Notification, NotificationProgrammatic, ONotification } from './notification.mjs';\nexport { s as OPagination, a as OPaginationButton } from './Pagination-02a660a8.mjs';\nimport index$g from './pagination.mjs';\nexport { default as Pagination } from './pagination.mjs';\nimport index$h from './radio.mjs';\nexport { ORadio, default as Radio } from './radio.mjs';\nimport index$i from './select.mjs';\nexport { default as Select } from './select.mjs';\nimport index$j from './skeleton.mjs';\nexport { OSkeleton, default as Skeleton } from './skeleton.mjs';\nimport index$k from './sidebar.mjs';\nexport { OSidebar, default as Sidebar } from './sidebar.mjs';\nexport { s as OTooltip } from './Tooltip-7e114fbb.mjs';\nimport index$l from './slider.mjs';\nexport { OSlider, OSliderTick, default as Slider } from './slider.mjs';\nimport './SlotComponent-11a269f3.mjs';\nimport './TabbedChildMixin-8b374962.mjs';\nimport index$m from './steps.mjs';\nexport { OStepItem, OSteps, default as Steps } from './steps.mjs';\nimport index$n from './switch.mjs';\nexport { OSwitch, default as Switch } from './switch.mjs';\nimport index$o from './table.mjs';\nexport { OTable, OTableColumn, default as Table } from './table.mjs';\nimport index$p from './tabs.mjs';\nexport { OTabItem, OTabs, default as Tabs } from './tabs.mjs';\nimport index$q from './timepicker.mjs';\nexport { default as Timepicker } from './timepicker.mjs';\nimport index$r from './tooltip.mjs';\nexport { default as Tooltip } from './tooltip.mjs';\nimport index$s from './upload.mjs';\nexport { OUpload, default as Upload } from './upload.mjs';\n\nvar plugins = /*#__PURE__*/Object.freeze({\n __proto__: null,\n Autocomplete: index,\n Button: index$1,\n Carousel: index$2,\n Checkbox: index$3,\n Collapse: index$4,\n Datepicker: index$5,\n Datetimepicker: index$6,\n Dropdown: index$7,\n Field: index$8,\n Icon: index$9,\n Input: index$a,\n Inputitems: index$b,\n Loading: index$c,\n Menu: index$d,\n Modal: index$e,\n Notification: index$f,\n Pagination: index$g,\n Radio: index$h,\n Select: index$i,\n Skeleton: index$j,\n Sidebar: index$k,\n Slider: index$l,\n Steps: index$m,\n Switch: index$n,\n Table: index$o,\n Tabs: index$p,\n Timepicker: index$q,\n Tooltip: index$r,\n Upload: index$s\n});\n\nconst Oruga = {\r\n install(app, options = {}) {\r\n setVueInstance(app);\r\n // Options\r\n const defaultConfig = getOptions();\r\n setOptions(merge(defaultConfig, options, true));\r\n // Components\r\n for (const componentKey in plugins) {\r\n registerPlugin(app, plugins[componentKey]);\r\n }\r\n // Config component\r\n registerComponentProgrammatic(app, 'config', Programmatic);\r\n }\r\n};\n\nexport default Oruga;\n","const bulmaConfig = {\n field: {\n override: true,\n rootClass: 'field',\n labelClass: 'label',\n labelSizeClass: 'is-',\n messageClass: 'help',\n variantMessageClass: 'is-',\n addonsClass: 'has-addons',\n groupedClass: 'is-grouped',\n groupMultilineClass: 'is-grouped-multiline',\n horizontalClass: 'is-horizontal',\n labelHorizontalClass: 'field-label',\n bodyHorizontalClass: 'field-body',\n bodyClass: 'control'\n },\n input: {\n override: true,\n rootClass: (_, { props, computed }) => {\n const classes = ['control'];\n if (props.icon)\n classes.push('has-icons-left');\n if (computed.hasIconRight)\n classes.push('has-icons-right');\n return classes.join(' ').trim();\n },\n inputClass: 'input',\n textareaClass: 'textarea',\n roundedClass: 'is-rounded',\n variantClass: 'is-',\n sizeClass: 'is-',\n expandedClass: 'is-expanded',\n iconLeftClass: 'is-left',\n iconRightClass: 'is-right',\n counterClass: 'help counter'\n },\n select: {\n override: true,\n rootClass: (_, { props, computed }) => {\n const classes = ['control', 'select'];\n if (props.size)\n classes.push(`is-${props.size}`);\n if (props.rounded)\n classes.push('is-rounded');\n if (computed.statusVariant)\n classes.push(`is-${computed.statusVariant}`);\n if (props.multiple)\n classes.push('is-multiple');\n if (props.icon)\n classes.push('has-icons-left');\n if (props.iconRight)\n classes.push('has-icons-right');\n return classes.join(' ').trim();\n },\n expandedClass: 'is-fullwidth',\n iconLeftClass: 'is-left',\n iconRightClass: 'is-right',\n placeholderClass: 'is-empty'\n },\n icon: {\n override: true,\n rootClass: 'icon',\n variantClass: 'has-text-',\n sizeClass: 'is-',\n clickableClass: 'is-clickable',\n spinClass: 'is-spin',\n },\n checkbox: {\n override: true,\n rootClass: 'b-checkbox checkbox',\n disabledClass: 'is-disabled',\n checkClass: 'check',\n labelClass: 'control-label',\n variantClass: 'is-',\n sizeClass: 'is-'\n },\n radio: {\n override: true,\n rootClass: 'b-radio radio',\n disabledClass: 'is-disabled',\n checkClass: 'check',\n labelClass: 'control-label',\n variantClass: 'is-',\n sizeClass: 'is-'\n },\n switch: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['switch'];\n if (props.rounded)\n classes.push('is-rounded');\n if (props.position === 'left')\n classes.push('has-left-label');\n return classes.join(' ');\n },\n checkClass: (_, { props }) => {\n const classes = ['check'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n if (props.passiveVariant)\n classes.push(`is-${props.passiveVariant}-passive`);\n return classes.join(' ');\n },\n labelClass: 'control-label',\n sizeClass: 'is-',\n disabledClass: 'is-disabled'\n },\n autocomplete: {\n override: true,\n rootClass: 'autocomplete control',\n menuClass: 'dropdown-menu dropdown-content',\n menuPositionClass: 'is-opened-',\n itemClass: 'dropdown-item',\n itemHoverClass: 'is-hovered',\n itemEmptyClasses: 'is-disabled',\n itemGroupTitleClass: 'has-text-weight-bold'\n },\n inputitems: {\n override: true,\n rootClass: 'taginput control',\n containerClass: 'taginput-container is-focusable',\n itemClass: 'tag',\n closeClass: 'delete is-small'\n },\n pagination: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['pagination'];\n if (props.rounded)\n classes.push('is-rounded');\n return classes.join(' ');\n },\n sizeClass: 'is-',\n simpleClass: 'is-simple',\n orderClass: 'is-',\n listClass: 'pagination-list',\n linkClass: 'pagination-link',\n linkCurrentClass: 'is-current',\n linkDisabledClass: 'is-disabled',\n nextBtnClass: 'pagination-next',\n prevBtnClass: 'pagination-previous',\n infoClass: 'info'\n },\n slider: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-slider'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n if (props.rounded)\n classes.push('is-rounded');\n return classes.join(' ');\n },\n disabledClass: 'is-disabled',\n // variantClass: 'is-',\n trackClass: 'b-slider-track',\n fillClass: 'b-slider-fill',\n thumbWrapperClass: (_, { data }) => {\n const classes = ['b-slider-thumb-wrapper'];\n if (data.dragging)\n classes.push(`is-dragging`);\n return classes.join(' ');\n },\n sizeClass: 'is-',\n thumbClass: 'b-slider-thumb',\n tickLabelClass: 'b-slider-tick-label',\n tickHiddenClass: 'is-tick-hidden',\n tickClass: 'b-slider-tick'\n },\n tabs: {\n override: true,\n itemTag: 'a',\n rootClass: 'b-tabs',\n contentClass: 'tab-content',\n multilineClass: 'is-multiline',\n navTabsClass: (_, { props }) => {\n const classes = ['tabs'];\n if (props.type)\n classes.push(`is-${props.type}`);\n return classes.join(' ');\n },\n expandedClass: 'is-fullwidth',\n verticalClass: 'is-vertical',\n positionClass: 'is-',\n navSizeClass: 'is-',\n navPositionClass: 'is-',\n transitioningClass: 'is-transitioning',\n itemClass: 'tab-item',\n itemHeaderActiveClass: () => 'is-active',\n itemHeaderDisabledClass: () => 'is-disabled'\n },\n table: {\n override: true,\n rootClass: 'b-table',\n wrapperClass: 'table-wrapper',\n tableClass: 'table',\n borderedClass: 'is-bordered',\n stripedClass: 'is-striped',\n narrowedClass: 'is-narrow',\n hoverableClass: 'is-hoverable',\n emptyClass: 'is-empty',\n detailedClass: 'detail',\n footerClass: 'table-footer',\n paginationWrapperClass: 'level',\n scrollableClass: 'table-container',\n trSelectedClass: 'is-selected',\n thSortableClass: 'is-sortable',\n thCurrentSortClass: 'is-current-sort',\n thSortIconClass: 'th-wrap sort-icon',\n thUnselectableClass: 'is-unselectable',\n thStickyClass: 'is-sticky',\n thCheckboxClass: 'th-checkbox',\n thDetailedClass: 'th-chevron-cell',\n tdDetailedChevronClass: 'chevron-cell',\n thPositionClass: (position) => {\n if (position === 'centered')\n return 'is-centered';\n else if (position === 'right')\n return 'is-right';\n return;\n },\n tdPositionClass: (position) => {\n if (position === 'centered')\n return 'has-text-centered';\n else if (position === 'right')\n return 'has-text-right';\n return;\n },\n mobileClass: 'is-mobile',\n mobileSortClass: 'table-mobile-sort field'\n },\n tooltip: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-tooltip'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n else\n classes.push(`is-primary`);\n if (props.position)\n classes.push(`is-${props.position}`);\n return classes.join(' ');\n },\n contentClass: 'tooltip-content',\n triggerClass: 'tooltip-trigger',\n alwaysClass: 'is-always',\n multilineClass: 'is-multiline',\n variantClass: 'is-',\n orderClass: 'is-'\n },\n steps: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-steps'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n if (props.disables)\n classes.push('is-disabled');\n return classes.join(' ');\n },\n stepsClass: (_, { props }) => {\n const classes = ['steps'];\n if (props.animated)\n classes.push('is-animated');\n if (props.rounded)\n classes.push('is-rounded');\n if (props.labelPosition === 'left')\n classes.push('has-label-left');\n if (props.labelPosition === 'right')\n classes.push('has-label-right');\n return classes.join(' ');\n },\n itemClass: 'step-link',\n itemHeaderClass: 'step-item',\n itemHeaderVariantClass: 'is-',\n itemHeaderActiveClass: 'is-active',\n itemHeaderPreviousClass: 'is-previous',\n stepLinkClass: 'step-link',\n stepLinkLabelClass: 'step-title',\n stepLinkClickableClass: 'is-clickable',\n stepMarkerClass: 'step-marker',\n stepNavigationClass: 'step-navigation',\n stepContentClass: 'step-content',\n verticalClass: 'is-vertical',\n positionClass: 'is-',\n stepContentTransitioningClass: 'is-transitioning',\n sizeClass: 'is-',\n variantClass: 'is-'\n },\n button: {\n override: true,\n rootClass: 'button',\n sizeClass: 'is-',\n variantClass: 'is-',\n roundedClass: 'is-rounded',\n expandedClass: 'is-fullwidth',\n loadingClass: 'is-loading',\n outlinedClass: () => 'is-outlined',\n invertedClass: () => 'is-inverted',\n elementsWrapperClass: 'button-wrapper'\n },\n menu: {\n override: true,\n rootClass: 'menu',\n listClass: 'menu-list',\n listLabelClass: 'menu-label'\n },\n skeleton: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['b-skeleton'];\n if (props.animated)\n classes.push('is-animated');\n return classes.join(' ');\n },\n itemClass: 'b-skeleton-item',\n itemRoundedClass: 'is-rounded'\n },\n notification: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['notification'];\n if (props.variant)\n classes.push(`is-${props.variant}`);\n return classes.join(' ');\n },\n wrapperClass: 'media',\n contentClass: 'media-content',\n iconClass: 'media-left',\n closeClass: 'delete',\n positionClass: 'is-',\n noticeClass: 'b-notices',\n noticePositionClass: 'is-'\n },\n dropdown: {\n override: true,\n itemTag: 'a',\n rootClass: (_, { props, data, computed }) => {\n const classes = ['dropdown', 'dropdown-menu-animation'];\n if (data.isActive || props.inline)\n classes.push('is-active');\n if (computed.hoverable)\n classes.push('is-hoverable');\n if (props.position)\n classes.push(`is-${props.position}`);\n return classes.join(' ');\n },\n triggerClass: 'dropdown-trigger',\n menuClass: 'dropdown-content dropdown-menu',\n disabledClass: 'is-disabled',\n expandedClass: 'is-expanded',\n inlineClass: 'is-inline',\n itemClass: 'dropdown-item',\n itemActiveClass: 'is-active',\n itemDisabledClass: 'is-disabled',\n mobileClass: 'is-mobile-modal',\n menuMobileOverlayClass: 'background'\n },\n datepicker: {\n override: true,\n rootClass: 'datepicker',\n headerClass: 'datepicker-header',\n footerClass: 'datepicker-footer',\n boxClass: 'dropdown-item',\n tableClass: 'datepicker-table',\n tableHeadClass: 'datepicker-header',\n tableHeadCellClass: 'datepicker-cell',\n headerButtonsClass: 'pagination field is-centered',\n prevBtnClass: 'pagination-previous',\n nextBtnClass: 'pagination-next',\n listsClass: 'pagination-list',\n tableBodyClass: (_, { props }) => {\n const classes = ['datepicker-body'];\n if (props.events)\n classes.push(`has-events`);\n return classes.join(' ');\n },\n tableRowClass: 'datepicker-row',\n tableCellClass: 'datepicker-cell',\n tableCellSelectableClass: 'is-selectable',\n tableCellUnselectableClass: 'is-unselectable',\n tableCellTodayClass: 'is-today',\n tableCellSelectedClass: 'is-selected',\n tableCellWithinHoveredClass: 'is-within-hovered',\n tableCellFirstHoveredClass: 'is-first-hovered',\n tableCellLastHoveredClass: 'is-last-hovered',\n tableCellFirstSelectedClass: 'is-first-selected',\n tableCellLastSelectedClass: 'is-last-selected',\n tableCellWithinSelectedClass: 'is-within-selected',\n tableCellInvisibleClass: '',\n tableCellNearbyClass: 'is-nearby',\n tableCellEventsClass: (_, { props }) => {\n const classes = ['has-event'];\n if (props.indicators)\n classes.push(`${props.indicators}`);\n return classes.join(' ');\n },\n tableEventVariantClass: 'is-',\n tableEventsClass: 'events',\n tableEventClass: 'event',\n monthBodyClass: 'datepicker-body',\n monthCellClass: 'datepicker-cell',\n monthCellFirstHoveredClass: 'is-first-hovered',\n monthCellFirstSelectedClass: 'is-first-selected',\n monthCellLastHoveredClass: 'is-last-hovered',\n monthCellLastSelectedClass: 'is-last-selected',\n monthCellNearbyClass: 'is-nearby',\n monthCellSelectableClass: 'is-selectable',\n monthCellSelectedClass: 'is-selected',\n monthCellTodayClass: 'is-today',\n monthCellUnselectableClass: 'is-unselectable',\n monthCellWithinHoveredClass: 'is-within-hovered',\n monthCellWithinSelectedClass: 'is-within-selected',\n monthClass: 'datepicker-table',\n monthEventsClass: 'events',\n monthTableClass: 'datepicker-months'\n },\n modal: {\n override: true,\n rootClass: (_, { props }) => {\n const classes = ['modal'];\n if (props.active || props.programmatic)\n classes.push('is-active');\n return classes.join(' ');\n },\n overlayClass: 'modal-background',\n contentClass: 'modal-content animation-content',\n closeClass: 'modal-close is-large',\n fullScreenClass: 'is-full-screen',\n scrollClipClass: 'is-clipped'\n },\n sidebar: {\n override: true,\n rootClass: 'b-sidebar',\n variantClass: 'is-',\n contentClass: 'sidebar-content',\n staticClass: 'is-static',\n absoluteClass: 'is-absolute',\n fixedClass: 'is-fixed',\n expandOnHoverClass: 'is-mini-expand',\n expandOnHoverFixedClass: 'is-mini-expand',\n fullheightClass: 'is-fullheight',\n fullwidthClass: 'is-fullwidth',\n mobileClass: (_, { props }) => {\n if (props.mobile && props.mobile !== 'reduce') {\n return `is-${props.mobile}-mobile`;\n }\n },\n overlayClass: 'sidebar-background',\n reduceClass: 'is-mini-mobile',\n rightClass: 'is-right'\n },\n loading: {\n fullPageClass: 'is-full-page',\n overlayClass: 'loading-overlay',\n iconClass: 'icon',\n rootClass: 'loading'\n },\n timepicker: {\n override: true,\n rootClass: 'timepicker control',\n boxClass: 'dropdown-item',\n selectClasses: {\n rootClass: 'select control'\n },\n separatorClass: 'is-colon control',\n footerClass: 'timepicker-footer',\n sizeClass: 'is-',\n },\n carousel: {\n override: true,\n rootClass: 'carousel',\n overlayClass: 'is-overlay',\n sceneClass: 'carousel-scene',\n itemsClass: 'carousel-items',\n itemsDraggingClass: 'is-dragging',\n arrowIconClass: 'carousel-arrow',\n arrowIconPrevClass: 'has-icons-left',\n arrowIconNextClass: 'has-icons-right',\n indicatorsClass: 'carousel-indicator',\n indicatorClass: 'indicator-item',\n indicatorsInsideClass: 'is-inside',\n indicatorsInsidePositionClass: 'is-',\n indicatorItemClass: 'indicator-style',\n indicatorItemActiveClass: 'is-active',\n indicatorItemStyleClass: 'is-',\n // CarouselItem\n itemClass: 'carousel-item',\n itemActiveClass: 'is-active'\n },\n upload: {\n override: true,\n rootClass: 'upload control',\n draggableClass: 'upload-draggable',\n variantClass: 'is-',\n expandedClass: 'is-expanded',\n disabledClass: 'is-disabled',\n hoveredClass: 'is-hovered'\n }\n};\n\nexport { bulmaConfig };\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","\"use strict\";\n\nmodule.exports = class TimeoutError extends Error {\n constructor(message) {\n super(message);\n this.name = \"TimeoutError\";\n }\n};\n","\"use strict\";\n\nmodule.exports = function delay(ms) {\n let timeout;\n const promise = new Promise((resolve) => {\n timeout = setTimeout(resolve, ms);\n });\n promise.timeout = timeout;\n return promise;\n};\n","\"use strict\";\n\nconst TimeoutError = require(\"./TimeoutError\");\nconst delay = require(\"./delay\");\n\nmodule.exports = function timeout(promise, ms) {\n const promiseDelay = delay(ms);\n\n function cancelDelay() {\n clearTimeout(promiseDelay.timeout);\n }\n\n return Promise.race([\n promise.finally(cancelDelay),\n promiseDelay.then(() => {\n throw new TimeoutError();\n }),\n ]);\n};\n","\"use strict\";\n\nconst TimeoutError = require(\"./TimeoutError\");\n\nmodule.exports = function promise(EE, event, rejectEvent = \"error\", timeout) {\n return new Promise((resolve, reject) => {\n let timeoutId;\n\n const cleanup = () => {\n clearTimeout(timeoutId);\n EE.removeListener(event, onEvent);\n EE.removeListener(rejectEvent, onError);\n };\n\n function onError(reason) {\n reject(reason);\n cleanup();\n }\n\n function onEvent(value) {\n resolve(value);\n cleanup();\n }\n\n EE.once(event, onEvent);\n if (rejectEvent) {\n EE.once(rejectEvent, onError);\n }\n\n if (timeout) {\n timeoutId = setTimeout(() => {\n cleanup();\n reject(new TimeoutError());\n }, timeout);\n }\n });\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\"use strict\";\n\nmodule.exports = function Deferred() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n};\n","\"use strict\";\n\nconst timeout = require(\"./lib/timeout\");\nconst delay = require(\"./lib/delay\");\nconst TimeoutError = require(\"./lib/TimeoutError\");\nconst promise = require(\"./lib/promise\");\nconst EventEmitter = require(\"events\");\nconst Deferred = require(\"./lib/Deferred\");\n\nexports.EventEmitter = EventEmitter;\nexports.timeout = timeout;\nexports.delay = delay;\nexports.TimeoutError = TimeoutError;\nexports.promise = promise;\nexports.Deferred = Deferred;\n","\"use strict\";\n\nmodule.exports.detect = function detect(local) {\n if (!local) {\n return false;\n }\n\n // Remove all escaped sequences\n const tmp = local\n .replace(/\\\\20/g, \"\")\n .replace(/\\\\22/g, \"\")\n .replace(/\\\\26/g, \"\")\n .replace(/\\\\27/g, \"\")\n .replace(/\\\\2f/g, \"\")\n .replace(/\\\\3a/g, \"\")\n .replace(/\\\\3c/g, \"\")\n .replace(/\\\\3e/g, \"\")\n .replace(/\\\\40/g, \"\")\n .replace(/\\\\5c/g, \"\");\n\n // Detect if we have unescaped sequences\n const search = tmp.search(/[ \"&'/:<>@\\\\]/g);\n if (search === -1) {\n return false;\n }\n\n return true;\n};\n\n/**\n * Escape the local part of a JID.\n *\n * @see http://xmpp.org/extensions/xep-0106.html\n * @param String local local part of a jid\n * @return An escaped local part\n */\nmodule.exports.escape = function escape(local) {\n if (local === null) {\n return null;\n }\n\n return local\n .replace(/^\\s+|\\s+$/g, \"\")\n .replace(/\\\\/g, \"\\\\5c\")\n .replace(/ /g, \"\\\\20\")\n .replace(/\"/g, \"\\\\22\")\n .replace(/&/g, \"\\\\26\")\n .replace(/'/g, \"\\\\27\")\n .replace(/\\//g, \"\\\\2f\")\n .replace(/:/g, \"\\\\3a\")\n .replace(/</g, \"\\\\3c\")\n .replace(/>/g, \"\\\\3e\")\n .replace(/@/g, \"\\\\40\");\n};\n\n/**\n * Unescape a local part of a JID.\n *\n * @see http://xmpp.org/extensions/xep-0106.html\n * @param String local local part of a jid\n * @return unescaped local part\n */\nmodule.exports.unescape = function unescape(local) {\n if (local === null) {\n return null;\n }\n\n return local\n .replace(/\\\\20/g, \" \")\n .replace(/\\\\22/g, '\"')\n .replace(/\\\\26/g, \"&\")\n .replace(/\\\\27/g, \"'\")\n .replace(/\\\\2f/g, \"/\")\n .replace(/\\\\3a/g, \":\")\n .replace(/\\\\3c/g, \"<\")\n .replace(/\\\\3e/g, \">\")\n .replace(/\\\\40/g, \"@\")\n .replace(/\\\\5c/g, \"\\\\\");\n};\n","\"use strict\";\n\nconst escaping = require(\"./escaping\");\n\n/**\n * JID implements\n * - XMPP addresses according to RFC6122\n * - XEP-0106: JID Escaping\n *\n * @see http://tools.ietf.org/html/rfc6122#section-2\n * @see http://xmpp.org/extensions/xep-0106.html\n */\nclass JID {\n constructor(local, domain, resource) {\n if (typeof domain !== \"string\" || !domain) {\n throw new TypeError(`Invalid domain.`);\n }\n\n this.setDomain(domain);\n this.setLocal(typeof local === \"string\" ? local : \"\");\n this.setResource(typeof resource === \"string\" ? resource : \"\");\n }\n\n [Symbol.toPrimitive](hint) {\n if (hint === \"number\") {\n return NaN;\n }\n\n return this.toString();\n }\n\n toString(unescape) {\n let s = this._domain;\n if (this._local) {\n s = this.getLocal(unescape) + \"@\" + s;\n }\n\n if (this._resource) {\n s = s + \"/\" + this._resource;\n }\n\n return s;\n }\n\n /**\n * Convenience method to distinguish users\n * */\n bare() {\n if (this._resource) {\n return new JID(this._local, this._domain, null);\n }\n\n return this;\n }\n\n /**\n * Comparison function\n * */\n equals(other) {\n return (\n this._local === other._local &&\n this._domain === other._domain &&\n this._resource === other._resource\n );\n }\n\n /**\n * http://xmpp.org/rfcs/rfc6122.html#addressing-localpart\n * */\n setLocal(local, escape) {\n escape = escape || escaping.detect(local);\n\n if (escape) {\n local = escaping.escape(local);\n }\n\n this._local = local && local.toLowerCase();\n return this;\n }\n\n getLocal(unescape = false) {\n let local = null;\n\n local = unescape ? escaping.unescape(this._local) : this._local;\n\n return local;\n }\n\n /**\n * http://xmpp.org/rfcs/rfc6122.html#addressing-domain\n */\n setDomain(domain) {\n this._domain = domain.toLowerCase();\n return this;\n }\n\n getDomain() {\n return this._domain;\n }\n\n /**\n * http://xmpp.org/rfcs/rfc6122.html#addressing-resourcepart\n */\n setResource(resource) {\n this._resource = resource;\n return this;\n }\n\n getResource() {\n return this._resource;\n }\n}\n\nObject.defineProperty(JID.prototype, \"local\", {\n get: JID.prototype.getLocal,\n set: JID.prototype.setLocal,\n});\n\nObject.defineProperty(JID.prototype, \"domain\", {\n get: JID.prototype.getDomain,\n set: JID.prototype.setDomain,\n});\n\nObject.defineProperty(JID.prototype, \"resource\", {\n get: JID.prototype.getResource,\n set: JID.prototype.setResource,\n});\n\nmodule.exports = JID;\n","\"use strict\";\n\nconst JID = require(\"../lib/JID\");\n\nmodule.exports = function parse(s) {\n let local;\n let resource;\n\n const resourceStart = s.indexOf(\"/\");\n if (resourceStart !== -1) {\n resource = s.slice(resourceStart + 1);\n s = s.slice(0, resourceStart);\n }\n\n const atStart = s.indexOf(\"@\");\n if (atStart !== -1) {\n local = s.slice(0, atStart);\n s = s.slice(atStart + 1);\n }\n\n return new JID(local, s, resource);\n};\n","\"use strict\";\n\nconst JID = require(\"./lib/JID\");\nconst escaping = require(\"./lib/escaping\");\nconst parse = require(\"./lib/parse\");\n\nfunction jid(...args) {\n if (!args[1] && !args[2]) {\n return parse(...args);\n }\n\n return new JID(...args);\n}\n\nmodule.exports = jid.bind();\nmodule.exports.jid = jid;\nmodule.exports.JID = JID;\nmodule.exports.equal = function equal(a, b) {\n return a.equals(b);\n};\n\nmodule.exports.detectEscape = escaping.detect;\nmodule.exports.escapeLocal = escaping.escape;\nmodule.exports.unescapeLocal = escaping.unescape;\nmodule.exports.parse = parse;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst escapeXMLTable = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n};\n\nfunction escapeXMLReplace(match) {\n return escapeXMLTable[match];\n}\n\nconst unescapeXMLTable = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \""\": '\"',\n \"'\": \"'\",\n};\n\nfunction unescapeXMLReplace(match) {\n if (match[1] === \"#\") {\n const num =\n match[2] === \"x\"\n ? parseInt(match.slice(3), 16)\n : parseInt(match.slice(2), 10);\n // https://www.w3.org/TR/xml/#NT-Char defines legal XML characters:\n // #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]\n if (\n num === 0x9 ||\n num === 0xa ||\n num === 0xd ||\n (num >= 0x20 && num <= 0xd7ff) ||\n (num >= 0xe000 && num <= 0xfffd) ||\n (num >= 0x10000 && num <= 0x10ffff)\n ) {\n return String.fromCodePoint(num);\n }\n throw new Error(\"Illegal XML character 0x\" + num.toString(16));\n }\n if (unescapeXMLTable[match]) {\n return unescapeXMLTable[match] || match;\n }\n throw new Error(\"Illegal XML entity \" + match);\n}\n\nfunction escapeXML(s) {\n return s.replace(/[\"&'<>]/g, escapeXMLReplace);\n}\n\nfunction unescapeXML(s) {\n let result = \"\";\n let start = -1;\n let end = -1;\n let previous = 0;\n while (\n (start = s.indexOf(\"&\", previous)) !== -1 &&\n (end = s.indexOf(\";\", start + 1)) !== -1\n ) {\n result =\n result +\n s.slice(previous, start) +\n unescapeXMLReplace(s.slice(start, end + 1));\n previous = end + 1;\n }\n\n // shortcut if loop never entered:\n // return the original string without creating new objects\n if (previous === 0) return s;\n\n // push the remaining characters\n result = result + s.substring(previous);\n\n return result;\n}\n\nfunction escapeXMLText(s) {\n return s.replace(/[&<>]/g, escapeXMLReplace);\n}\n\nfunction unescapeXMLText(s) {\n return s.replace(/&(amp|#38|lt|#60|gt|#62);/g, unescapeXMLReplace);\n}\n\nexports.escapeXML = escapeXML;\nexports.escapeXMLText = escapeXMLText;\nexports.unescapeXML = unescapeXML;\nexports.unescapeXMLText = unescapeXMLText;\n","'use strict';\n\nvar _escape = require('./escape.js');\n\n/**\n * Element\n *\n * Attributes are in the element.attrs object. Children is a list of\n * either other Elements or Strings for text content.\n **/\nclass Element {\n constructor(name, attrs) {\n this.name = name;\n this.parent = null;\n this.children = [];\n this.attrs = {};\n this.setAttrs(attrs);\n }\n\n /* Accessors */\n\n /**\n * if (element.is('message', 'jabber:client')) ...\n **/\n is(name, xmlns) {\n return this.getName() === name && (!xmlns || this.getNS() === xmlns);\n }\n\n /* without prefix */\n getName() {\n const idx = this.name.indexOf(\":\");\n return idx >= 0 ? this.name.slice(idx + 1) : this.name;\n }\n\n /**\n * retrieves the namespace of the current element, upwards recursively\n **/\n getNS() {\n const idx = this.name.indexOf(\":\");\n if (idx >= 0) {\n const prefix = this.name.slice(0, idx);\n return this.findNS(prefix);\n }\n return this.findNS();\n }\n\n /**\n * find the namespace to the given prefix, upwards recursively\n **/\n findNS(prefix) {\n if (!prefix) {\n /* default namespace */\n if (this.attrs.xmlns) {\n return this.attrs.xmlns;\n } else if (this.parent) {\n return this.parent.findNS();\n }\n } else {\n /* prefixed namespace */\n const attr = \"xmlns:\" + prefix;\n if (this.attrs[attr]) {\n return this.attrs[attr];\n } else if (this.parent) {\n return this.parent.findNS(prefix);\n }\n }\n }\n\n /**\n * Recursiverly gets all xmlns defined, in the form of {url:prefix}\n **/\n getXmlns() {\n let namespaces = {};\n\n if (this.parent) {\n namespaces = this.parent.getXmlns();\n }\n\n for (const attr in this.attrs) {\n const m = attr.match(\"xmlns:?(.*)\");\n // eslint-disable-next-line no-prototype-builtins\n if (this.attrs.hasOwnProperty(attr) && m) {\n namespaces[this.attrs[attr]] = m[1];\n }\n }\n return namespaces;\n }\n\n setAttrs(attrs) {\n if (typeof attrs === \"string\") {\n this.attrs.xmlns = attrs;\n } else if (attrs) {\n Object.assign(this.attrs, attrs);\n }\n }\n\n /**\n * xmlns can be null, returns the matching attribute.\n **/\n getAttr(name, xmlns) {\n if (!xmlns) {\n return this.attrs[name];\n }\n\n const namespaces = this.getXmlns();\n\n if (!namespaces[xmlns]) {\n return null;\n }\n\n return this.attrs[[namespaces[xmlns], name].join(\":\")];\n }\n\n /**\n * xmlns can be null\n **/\n getChild(name, xmlns) {\n return this.getChildren(name, xmlns)[0];\n }\n\n /**\n * xmlns can be null\n **/\n getChildren(name, xmlns) {\n const result = [];\n for (const child of this.children) {\n if (\n child.getName &&\n child.getName() === name &&\n (!xmlns || child.getNS() === xmlns)\n ) {\n result.push(child);\n }\n }\n return result;\n }\n\n /**\n * xmlns and recursive can be null\n **/\n getChildByAttr(attr, val, xmlns, recursive) {\n return this.getChildrenByAttr(attr, val, xmlns, recursive)[0];\n }\n\n /**\n * xmlns and recursive can be null\n **/\n getChildrenByAttr(attr, val, xmlns, recursive) {\n let result = [];\n for (const child of this.children) {\n if (\n child.attrs &&\n child.attrs[attr] === val &&\n (!xmlns || child.getNS() === xmlns)\n ) {\n result.push(child);\n }\n if (recursive && child.getChildrenByAttr) {\n result.push(child.getChildrenByAttr(attr, val, xmlns, true));\n }\n }\n if (recursive) {\n result = result.flat();\n }\n return result;\n }\n\n getChildrenByFilter(filter, recursive) {\n let result = [];\n for (const child of this.children) {\n if (filter(child)) {\n result.push(child);\n }\n if (recursive && child.getChildrenByFilter) {\n result.push(child.getChildrenByFilter(filter, true));\n }\n }\n if (recursive) {\n result = result.flat();\n }\n return result;\n }\n\n getText() {\n let text = \"\";\n for (const child of this.children) {\n if (typeof child === \"string\" || typeof child === \"number\") {\n text += child;\n }\n }\n return text;\n }\n\n getChildText(name, xmlns) {\n const child = this.getChild(name, xmlns);\n return child ? child.getText() : null;\n }\n\n /**\n * Return all direct descendents that are Elements.\n * This differs from `getChildren` in that it will exclude text nodes,\n * processing instructions, etc.\n */\n getChildElements() {\n return this.getChildrenByFilter((child) => {\n return child instanceof Element;\n });\n }\n\n /* Builder */\n\n /** returns uppermost parent */\n root() {\n if (this.parent) {\n return this.parent.root();\n }\n return this;\n }\n\n /** just parent or itself */\n up() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n\n /** create child node and return it */\n c(name, attrs) {\n return this.cnode(new Element(name, attrs));\n }\n\n cnode(child) {\n this.children.push(child);\n if (typeof child === \"object\") {\n child.parent = this;\n }\n return child;\n }\n\n append(...nodes) {\n for (const node of nodes) {\n this.children.push(node);\n if (typeof node === \"object\") {\n node.parent = this;\n }\n }\n }\n\n prepend(...nodes) {\n for (const node of nodes) {\n this.children.unshift(node);\n if (typeof node === \"object\") {\n node.parent = this;\n }\n }\n }\n\n /** add text node and return element */\n t(text) {\n this.children.push(text);\n return this;\n }\n\n /* Manipulation */\n\n /**\n * Either:\n * el.remove(childEl)\n * el.remove('author', 'urn:...')\n */\n remove(el, xmlns) {\n const filter =\n typeof el === \"string\"\n ? (child) => {\n /* 1st parameter is tag name */\n return !(child.is && child.is(el, xmlns));\n }\n : (child) => {\n /* 1st parameter is element */\n return child !== el;\n };\n\n this.children = this.children.filter(filter);\n\n return this;\n }\n\n text(val) {\n if (val && this.children.length === 1) {\n this.children[0] = val;\n return this;\n }\n return this.getText();\n }\n\n attr(attr, val) {\n if (typeof val !== \"undefined\" || val === null) {\n if (!this.attrs) {\n this.attrs = {};\n }\n this.attrs[attr] = val;\n return this;\n }\n return this.attrs[attr];\n }\n\n /* Serialization */\n\n toString() {\n let s = \"\";\n this.write((c) => {\n s += c;\n });\n return s;\n }\n\n _addChildren(writer) {\n writer(\">\");\n for (const child of this.children) {\n /* Skip null/undefined */\n if (child != null) {\n if (child.write) {\n child.write(writer);\n } else if (typeof child === \"string\") {\n writer(_escape.escapeXMLText(child));\n } else if (child.toString) {\n writer(_escape.escapeXMLText(child.toString(10)));\n }\n }\n }\n writer(\"</\");\n writer(this.name);\n writer(\">\");\n }\n\n write(writer) {\n writer(\"<\");\n writer(this.name);\n for (const k in this.attrs) {\n const v = this.attrs[k];\n // === null || undefined\n if (v != null) {\n writer(\" \");\n writer(k);\n writer('=\"');\n writer(_escape.escapeXML(typeof v === \"string\" ? v : v.toString(10)));\n writer('\"');\n }\n }\n if (this.children.length === 0) {\n writer(\"/>\");\n } else {\n this._addChildren(writer);\n }\n }\n}\n\nElement.prototype.tree = Element.prototype.root;\n\nmodule.exports = Element;\n","'use strict';\n\nvar Element = require('./Element.js');\n\nfunction append(el, child) {\n if (Array.isArray(child)) {\n for (const c of child) append(el, c);\n return;\n }\n\n if (child === \"\" || child == null || child === true || child === false) {\n return;\n }\n\n el.cnode(child);\n}\n\n/**\n * JSX compatible API, use this function as pragma\n * https://facebook.github.io/jsx/\n *\n * @param {string} name name of the element\n * @param {object} attrs object of attribute key/value pairs\n * @return {Element} Element\n */\nfunction createElement(name, attrs, ...children) {\n if (typeof attrs === \"object\" && attrs !== null) {\n // __self and __source are added by babel in development\n // https://github.com/facebook/react/pull/4596\n // https://babeljs.io/docs/en/babel-preset-react#development\n // https://babeljs.io/docs/en/babel-plugin-transform-react-jsx-source\n delete attrs.__source;\n delete attrs.__self;\n\n for (const [key, value] of Object.entries(attrs)) {\n if (value == null) delete attrs[key];\n else attrs[key] = value.toString(10);\n }\n }\n\n const el = new Element(name, attrs);\n\n for (const child of children) {\n append(el, child);\n }\n\n return el;\n}\n\nmodule.exports = createElement;\n","'use strict';\n\nvar events = require('events');\nvar _escape = require('../escape.js');\n\nconst STATE_TEXT = 0;\nconst STATE_IGNORE_COMMENT = 1;\nconst STATE_IGNORE_INSTRUCTION = 2;\nconst STATE_TAG_NAME = 3;\nconst STATE_TAG = 4;\nconst STATE_ATTR_NAME = 5;\nconst STATE_ATTR_EQ = 6;\nconst STATE_ATTR_QUOT = 7;\nconst STATE_ATTR_VALUE = 8;\nconst STATE_CDATA = 9;\nconst STATE_IGNORE_CDATA = 10;\n\nclass SaxLtx extends events.EventEmitter {\n constructor() {\n super();\n let state = STATE_TEXT;\n let remainder;\n let parseRemainder;\n let tagName;\n let attrs;\n let endTag;\n let selfClosing;\n let attrQuote;\n let attrQuoteChar;\n let recordStart = 0;\n let attrName;\n\n this._handleTagOpening = function _handleTagOpening(\n endTag,\n tagName,\n attrs\n ) {\n if (!endTag) {\n this.emit(\"startElement\", tagName, attrs);\n if (selfClosing) {\n this.emit(\"endElement\", tagName);\n }\n } else {\n this.emit(\"endElement\", tagName);\n }\n };\n\n this.write = function write(data) {\n if (typeof data !== \"string\") {\n data = data.toString();\n }\n let pos = 0;\n\n /* Anything from previous write()? */\n if (remainder) {\n data = remainder + data;\n pos += !parseRemainder ? remainder.length : 0;\n parseRemainder = false;\n remainder = null;\n }\n\n function endRecording() {\n if (typeof recordStart === \"number\") {\n const recorded = data.slice(recordStart, pos);\n recordStart = undefined;\n return recorded;\n }\n }\n\n for (; pos < data.length; pos++) {\n switch (state) {\n case STATE_TEXT: {\n // if we're looping through text, fast-forward using indexOf to\n // the next '<' character\n const lt = data.indexOf(\"<\", pos);\n if (lt !== -1 && pos !== lt) {\n pos = lt;\n }\n\n break;\n }\n case STATE_ATTR_VALUE: {\n // if we're looping through an attribute, fast-forward using\n // indexOf to the next end quote character\n const quot = data.indexOf(attrQuoteChar, pos);\n if (quot !== -1) {\n pos = quot;\n }\n\n break;\n }\n case STATE_IGNORE_COMMENT: {\n // if we're looping through a comment, fast-forward using\n // indexOf to the first end-comment character\n const endcomment = data.indexOf(\"-->\", pos);\n if (endcomment !== -1) {\n pos = endcomment + 2; // target the '>' character\n }\n\n break;\n }\n case STATE_IGNORE_CDATA: {\n // if we're looping through a CDATA, fast-forward using\n // indexOf to the first end-CDATA character ]]>\n const endCDATA = data.indexOf(\"]]>\", pos);\n if (endCDATA !== -1) {\n pos = endCDATA + 2; // target the '>' character\n }\n\n break;\n }\n // No default\n }\n\n const c = data.charCodeAt(pos);\n switch (state) {\n case STATE_TEXT:\n if (c === 60 /* < */) {\n const text = endRecording();\n if (text) {\n this.emit(\"text\", _escape.unescapeXML(text));\n }\n state = STATE_TAG_NAME;\n recordStart = pos + 1;\n attrs = {};\n }\n break;\n case STATE_CDATA:\n if (c === 93 /* ] */) {\n if (data.substr(pos + 1, 2) === \"]>\") {\n const cData = endRecording();\n if (cData) {\n this.emit(\"text\", cData);\n }\n state = STATE_TEXT;\n } else if (data.length < pos + 2) {\n parseRemainder = true;\n pos = data.length;\n }\n }\n break;\n case STATE_TAG_NAME:\n if (c === 47 /* / */ && recordStart === pos) {\n recordStart = pos + 1;\n endTag = true;\n } else if (c === 33 /* ! */) {\n if (data.substr(pos + 1, 7) === \"[CDATA[\") {\n recordStart = pos + 8;\n state = STATE_CDATA;\n } else if (\n data.length < pos + 8 &&\n \"[CDATA[\".startsWith(data.slice(pos + 1))\n ) {\n // We potentially have CDATA, but the chunk is ending; stop here and let the next write() decide\n parseRemainder = true;\n pos = data.length;\n } else {\n recordStart = undefined;\n state = STATE_IGNORE_COMMENT;\n }\n } else if (c === 63 /* ? */) {\n recordStart = undefined;\n state = STATE_IGNORE_INSTRUCTION;\n } else if (c <= 32 || c === 47 /* / */ || c === 62 /* > */) {\n tagName = endRecording();\n pos--;\n state = STATE_TAG;\n }\n break;\n case STATE_IGNORE_COMMENT:\n if (c === 62 /* > */) {\n const prevFirst = data.charCodeAt(pos - 1);\n const prevSecond = data.charCodeAt(pos - 2);\n if (\n (prevFirst === 45 /* - */ && prevSecond === 45) /* - */ ||\n (prevFirst === 93 /* ] */ && prevSecond === 93) /* ] */\n ) {\n state = STATE_TEXT;\n }\n }\n break;\n case STATE_IGNORE_INSTRUCTION:\n if (c === 62 /* > */) {\n const prev = data.charCodeAt(pos - 1);\n if (prev === 63 /* ? */) {\n state = STATE_TEXT;\n }\n }\n break;\n case STATE_TAG:\n if (c === 62 /* > */) {\n this._handleTagOpening(endTag, tagName, attrs);\n tagName = undefined;\n attrs = undefined;\n endTag = undefined;\n selfClosing = undefined;\n state = STATE_TEXT;\n recordStart = pos + 1;\n } else if (c === 47 /* / */) {\n selfClosing = true;\n } else if (c > 32) {\n recordStart = pos;\n state = STATE_ATTR_NAME;\n }\n break;\n case STATE_ATTR_NAME:\n if (c <= 32 || c === 61 /* = */) {\n attrName = endRecording();\n pos--;\n state = STATE_ATTR_EQ;\n }\n break;\n case STATE_ATTR_EQ:\n if (c === 61 /* = */) {\n state = STATE_ATTR_QUOT;\n }\n break;\n case STATE_ATTR_QUOT:\n if (c === 34 /* \" */ || c === 39 /* ' */) {\n attrQuote = c;\n attrQuoteChar = c === 34 ? '\"' : \"'\";\n state = STATE_ATTR_VALUE;\n recordStart = pos + 1;\n }\n break;\n case STATE_ATTR_VALUE:\n if (c === attrQuote) {\n const value = _escape.unescapeXML(endRecording());\n attrs[attrName] = value;\n attrName = undefined;\n state = STATE_TAG;\n }\n break;\n }\n }\n\n if (typeof recordStart === \"number\" && recordStart <= data.length) {\n remainder = data.slice(recordStart);\n recordStart = 0;\n }\n };\n }\n\n end(data) {\n if (data) {\n this.write(data);\n }\n\n /* Uh, yeah */\n this.write = function write() {};\n }\n}\n\nmodule.exports = SaxLtx;\n","\"use strict\";\n\nmodule.exports = class XMLError extends Error {\n constructor(...args) {\n super(...args);\n this.name = \"XMLError\";\n }\n};\n","\"use strict\";\n\nconst LtxParser = require(\"ltx/lib/parsers/ltx\");\nconst Element = require(\"ltx/lib/Element\");\nconst EventEmitter = require(\"events\");\nconst XMLError = require(\"./XMLError\");\n\nclass Parser extends EventEmitter {\n constructor() {\n super();\n const parser = new LtxParser();\n this.root = null;\n this.cursor = null;\n\n parser.on(\"startElement\", this.onStartElement.bind(this));\n parser.on(\"endElement\", this.onEndElement.bind(this));\n parser.on(\"text\", this.onText.bind(this));\n\n this.parser = parser;\n }\n\n onStartElement(name, attrs) {\n const element = new Element(name, attrs);\n\n const { root, cursor } = this;\n\n if (!root) {\n this.root = element;\n this.emit(\"start\", element);\n } else if (cursor !== root) {\n cursor.append(element);\n }\n\n this.cursor = element;\n }\n\n onEndElement(name) {\n const { root, cursor } = this;\n if (name !== cursor.name) {\n // <foo></bar>\n this.emit(\"error\", new XMLError(`${cursor.name} must be closed.`));\n return;\n }\n\n if (cursor === root) {\n this.emit(\"end\", root);\n return;\n }\n\n if (!cursor.parent) {\n cursor.parent = root;\n this.emit(\"element\", cursor);\n this.cursor = root;\n return;\n }\n\n this.cursor = cursor.parent;\n }\n\n onText(str) {\n const { cursor } = this;\n if (!cursor) {\n this.emit(\"error\", new XMLError(`${str} must be a child.`));\n return;\n }\n\n cursor.t(str);\n }\n\n write(data) {\n this.parser.write(data);\n }\n\n end(data) {\n if (data) {\n this.parser.write(data);\n }\n }\n}\n\nParser.XMLError = XMLError;\n\nmodule.exports = Parser;\n","\"use strict\";\n\nconst Element = require(\"ltx/lib/Element\");\nconst createElement = require(\"ltx/lib/createElement\");\nconst Parser = require(\"./lib/Parser\");\nconst {\n escapeXML,\n unescapeXML,\n escapeXMLText,\n unescapeXMLText,\n} = require(\"ltx/lib/escape\");\nconst XMLError = require(\"./lib/XMLError\");\n\nfunction xml(...args) {\n return createElement(...args);\n}\n\nmodule.exports = xml;\n\nObject.assign(module.exports, {\n Element,\n createElement,\n Parser,\n escapeXML,\n unescapeXML,\n escapeXMLText,\n unescapeXMLText,\n XMLError,\n});\n","\"use strict\";\n\n// https://xmpp.org/rfcs/rfc6120.html#rfc.section.4.9.2\n\nclass XMPPError extends Error {\n constructor(condition, text, application) {\n super(condition + (text ? ` - ${text}` : \"\"));\n this.name = \"XMPPError\";\n this.condition = condition;\n this.text = text;\n this.application = application;\n }\n\n static fromElement(element) {\n const [condition, second, third] = element.children;\n let text;\n let application;\n\n if (second) {\n if (second.is(\"text\")) {\n text = second;\n } else if (second) {\n application = second;\n }\n\n if (third) application = third;\n }\n\n const error = new this(\n condition.name,\n text ? text.text() : \"\",\n application,\n );\n error.element = element;\n return error;\n }\n}\n\nmodule.exports = XMPPError;\n","\"use strict\";\n\nconst XMPPError = require(\"@xmpp/error\");\n\n// https://xmpp.org/rfcs/rfc6120.html#streams-error\n\nclass StreamError extends XMPPError {\n constructor(...args) {\n super(...args);\n this.name = \"StreamError\";\n }\n}\n\nmodule.exports = StreamError;\n","\"use strict\";\n\nfunction parseURI(URI) {\n let { port, hostname, protocol } = new URL(URI);\n // https://github.com/nodejs/node/issues/12410#issuecomment-294138912\n if (hostname === \"[::1]\") {\n hostname = \"::1\";\n }\n\n return { port, hostname, protocol };\n}\n\nfunction parseHost(host) {\n const { port, hostname } = parseURI(`http://${host}`);\n return { port, hostname };\n}\n\nfunction parseService(service) {\n return service.includes(\"://\") ? parseURI(service) : parseHost(service);\n}\n\nObject.assign(module.exports, { parseURI, parseHost, parseService });\n","\"use strict\";\n\nconst { EventEmitter, promise } = require(\"@xmpp/events\");\nconst jid = require(\"@xmpp/jid\");\nconst xml = require(\"@xmpp/xml\");\nconst StreamError = require(\"./lib/StreamError\");\nconst { parseHost, parseService } = require(\"./lib/util\");\n\nconst NS_STREAM = \"urn:ietf:params:xml:ns:xmpp-streams\";\nconst NS_JABBER_STREAM = \"http://etherx.jabber.org/streams\";\n\nclass Connection extends EventEmitter {\n constructor(options = {}) {\n super();\n this.jid = null;\n this.timeout = 2000;\n this.options = options;\n this.socketListeners = Object.create(null);\n this.parserListeners = Object.create(null);\n this.status = \"offline\";\n this.socket = null;\n this.parser = null;\n this.root = null;\n }\n\n _reset() {\n this.jid = null;\n this.status = \"offline\";\n this._detachSocket();\n this._detachParser();\n }\n\n async _streamError(condition, children) {\n try {\n await this.send(\n // prettier-ignore\n xml('stream:error', {}, [\n xml(condition, {xmlns: NS_STREAM}, children),\n ]),\n );\n } catch {}\n\n return this._end();\n }\n\n _onData(data) {\n const str = data.toString(\"utf8\");\n this.emit(\"input\", str);\n this.parser.write(str);\n }\n\n _onParserError(error) {\n // https://xmpp.org/rfcs/rfc6120.html#streams-error-conditions-bad-format\n // \"This error can be used instead of the more specific XML-related errors,\n // such as <bad-namespace-prefix/>, <invalid-xml/>, <not-well-formed/>, <restricted-xml/>,\n // and <unsupported-encoding/>. However, the more specific errors are RECOMMENDED.\"\n this._streamError(\"bad-format\");\n this._detachParser();\n this.emit(\"error\", error);\n }\n\n _attachSocket(socket) {\n this.socket = socket;\n const listeners = this.socketListeners;\n\n listeners.data = this._onData.bind(this);\n\n listeners.close = (dirty, event) => {\n this._reset();\n this._status(\"disconnect\", { clean: !dirty, event });\n };\n\n listeners.connect = () => {\n this._status(\"connect\");\n };\n\n listeners.error = (error) => {\n this.emit(\"error\", error);\n };\n\n this.socket.on(\"close\", listeners.close);\n this.socket.on(\"data\", listeners.data);\n this.socket.on(\"error\", listeners.error);\n this.socket.on(\"connect\", listeners.connect);\n }\n\n _detachSocket() {\n const { socketListeners, socket } = this;\n for (const k of Object.getOwnPropertyNames(socketListeners)) {\n socket.removeListener(k, socketListeners[k]);\n delete socketListeners[k];\n }\n this.socket = null;\n return socket;\n }\n\n _onElement(element) {\n const isStreamError = element.is(\"error\", NS_JABBER_STREAM);\n\n if (isStreamError) {\n this._onStreamError(element);\n }\n\n this.emit(\"element\", element);\n this.emit(this.isStanza(element) ? \"stanza\" : \"nonza\", element);\n\n if (isStreamError) {\n // \"Stream Errors Are Unrecoverable\"\n // \"The entity that receives the stream error then SHALL close the stream\"\n this._end();\n }\n }\n\n // https://xmpp.org/rfcs/rfc6120.html#streams-error\n _onStreamError(element) {\n const error = StreamError.fromElement(element);\n\n if (error.condition === \"see-other-host\") {\n return this._onSeeOtherHost(error);\n }\n\n this.emit(\"error\", error);\n }\n\n // https://xmpp.org/rfcs/rfc6120.html#streams-error-conditions-see-other-host\n async _onSeeOtherHost(error) {\n const { protocol } = parseService(this.options.service);\n\n const host = error.element.getChildText(\"see-other-host\");\n const { port } = parseHost(host);\n\n let service;\n service = port\n ? `${protocol || \"xmpp:\"}//${host}`\n : (protocol ? `${protocol}//` : \"\") + host;\n\n try {\n await promise(this, \"disconnect\");\n const { domain, lang } = this.options;\n await this.connect(service);\n await this.open({ domain, lang });\n } catch (err) {\n this.emit(\"error\", err);\n }\n }\n\n _attachParser(parser) {\n this.parser = parser;\n const listeners = this.parserListeners;\n\n listeners.element = this._onElement.bind(this);\n listeners.error = this._onParserError.bind(this);\n\n listeners.end = (element) => {\n this._detachParser();\n this._status(\"close\", element);\n };\n\n listeners.start = (element) => {\n this._status(\"open\", element);\n };\n\n this.parser.on(\"error\", listeners.error);\n this.parser.on(\"element\", listeners.element);\n this.parser.on(\"end\", listeners.end);\n this.parser.on(\"start\", listeners.start);\n }\n\n _detachParser() {\n const listeners = this.parserListeners;\n for (const k of Object.getOwnPropertyNames(listeners)) {\n this.parser.removeListener(k, listeners[k]);\n delete listeners[k];\n }\n this.parser = null;\n }\n\n _jid(id) {\n this.jid = jid(id);\n return this.jid;\n }\n\n _status(status, ...args) {\n this.status = status;\n this.emit(\"status\", status, ...args);\n this.emit(status, ...args);\n }\n\n async _end() {\n let el;\n try {\n el = await this.close();\n } catch {}\n\n try {\n await this.disconnect();\n } catch {}\n\n return el;\n }\n\n /**\n * Opens the socket then opens the stream\n */\n async start() {\n if (this.status !== \"offline\") {\n throw new Error(\"Connection is not offline\");\n }\n\n const { service, domain, lang } = this.options;\n\n await this.connect(service);\n\n const promiseOnline = promise(this, \"online\");\n\n await this.open({ domain, lang });\n\n return promiseOnline;\n }\n\n /**\n * Connects the socket\n */\n async connect(service) {\n this._status(\"connecting\", service);\n const socket = new this.Socket();\n this._attachSocket(socket);\n // The 'connect' status is set by the socket 'connect' listener\n socket.connect(this.socketParameters(service));\n return promise(socket, \"connect\");\n }\n\n /**\n * Disconnects the socket\n * https://xmpp.org/rfcs/rfc6120.html#streams-close\n * https://tools.ietf.org/html/rfc7395#section-3.6\n */\n async disconnect(timeout = this.timeout) {\n if (this.socket) this._status(\"disconnecting\");\n\n this.socket.end();\n\n // The 'disconnect' status is set by the socket 'close' listener\n await promise(this.socket, \"close\", \"error\", timeout);\n }\n\n /**\n * Opens the stream\n */\n async open(options) {\n this._status(\"opening\");\n\n if (typeof options === \"string\") {\n options = { domain: options };\n }\n\n const { domain, lang, timeout = this.timeout } = options;\n\n const headerElement = this.headerElement();\n headerElement.attrs.to = domain;\n headerElement.attrs[\"xml:lang\"] = lang;\n this.root = headerElement;\n\n this._attachParser(new this.Parser());\n\n await this.write(this.header(headerElement));\n return promise(this, \"open\", \"error\", timeout);\n }\n\n /**\n * Closes the stream then closes the socket\n * https://xmpp.org/rfcs/rfc6120.html#streams-close\n * https://tools.ietf.org/html/rfc7395#section-3.6\n */\n async stop() {\n const el = await this._end();\n if (this.status !== \"offline\") this._status(\"offline\", el);\n return el;\n }\n\n /**\n * Closes the stream and wait for the server to close it\n * https://xmpp.org/rfcs/rfc6120.html#streams-close\n * https://tools.ietf.org/html/rfc7395#section-3.6\n */\n async close(timeout = this.timeout) {\n const fragment = this.footer(this.footerElement());\n\n const p = Promise.all([\n promise(this.parser, \"end\", \"error\", timeout),\n this.write(fragment),\n ]);\n\n if (this.parser && this.socket) this._status(\"closing\");\n const [el] = await p;\n this.root = null;\n return el;\n // The 'close' status is set by the parser 'end' listener\n }\n\n /**\n * Restart the stream\n * https://xmpp.org/rfcs/rfc6120.html#streams-negotiation-restart\n */\n async restart() {\n this._detachParser();\n const { domain, lang } = this.options;\n return this.open({ domain, lang });\n }\n\n async send(element) {\n element.parent = this.root;\n await this.write(element.toString());\n this.emit(\"send\", element);\n }\n\n sendReceive(element, timeout = this.timeout) {\n return Promise.all([\n this.send(element),\n promise(this, \"element\", \"error\", timeout),\n ]).then(([, el]) => el);\n }\n\n write(string) {\n return new Promise((resolve, reject) => {\n // https://xmpp.org/rfcs/rfc6120.html#streams-close\n // \"Refrain from sending any further data over its outbound stream to the other entity\"\n if (this.status === \"closing\") {\n reject(new Error(\"Connection is closing\"));\n return;\n }\n\n this.socket.write(string, (err) => {\n if (err) {\n return reject(err);\n }\n\n this.emit(\"output\", string);\n resolve();\n });\n });\n }\n\n isStanza(element) {\n const { name } = element;\n return name === \"iq\" || name === \"message\" || name === \"presence\";\n }\n\n isNonza(element) {\n return !this.isStanza(element);\n }\n\n // Override\n header(el) {\n return el.toString();\n }\n\n // Override\n headerElement() {\n return new xml.Element(\"\", {\n version: \"1.0\",\n xmlns: this.NS,\n });\n }\n\n // Override\n footer(el) {\n return el.toString();\n }\n\n // Override\n footerElement() {}\n\n // Override\n socketParameters() {}\n}\n\n// Overrirde\nConnection.prototype.NS = \"\";\nConnection.prototype.Socket = null;\nConnection.prototype.Parser = null;\n\nmodule.exports = Connection;\n","\"use strict\";\n\nconst Connection = require(\"@xmpp/connection\");\n\nclass Client extends Connection {\n constructor(options) {\n super(options);\n this.transports = [];\n }\n\n send(element, ...args) {\n return this.Transport.prototype.send.call(this, element, ...args);\n }\n\n sendMany(...args) {\n return this.Transport.prototype.sendMany.call(this, ...args);\n }\n\n _findTransport(service) {\n return this.transports.find((Transport) => {\n try {\n return Transport.prototype.socketParameters(service) !== undefined;\n } catch {\n return false;\n }\n });\n }\n\n connect(service) {\n const Transport = this._findTransport(service);\n\n if (!Transport) {\n throw new Error(\"No compatible connection method found.\");\n }\n\n this.Transport = Transport;\n this.Socket = Transport.prototype.Socket;\n this.Parser = Transport.prototype.Parser;\n\n return super.connect(service);\n }\n\n socketParameters(...args) {\n return this.Transport.prototype.socketParameters(...args);\n }\n\n header(...args) {\n return this.Transport.prototype.header(...args);\n }\n\n headerElement(...args) {\n return this.Transport.prototype.headerElement(...args);\n }\n\n footer(...args) {\n return this.Transport.prototype.footer(...args);\n }\n\n footerElement(...args) {\n return this.Transport.prototype.footerElement(...args);\n }\n}\n\nClient.prototype.NS = \"jabber:client\";\n\nmodule.exports = Client;\n","\"use strict\";\n\nconst Client = require(\"./lib/Client\");\nconst xml = require(\"@xmpp/xml\");\nconst jid = require(\"@xmpp/jid\");\n\nmodule.exports.Client = Client;\nmodule.exports.xml = xml;\nmodule.exports.jid = jid;\n","\"use strict\";\n\nmodule.exports = function getDomain(service) {\n const domain = service.split(\"://\")[1] || service;\n return domain.split(\":\")[0].split(\"/\")[0];\n};\n","\"use strict\";\n\nconst { EventEmitter } = require(\"@xmpp/events\");\n\nclass Reconnect extends EventEmitter {\n constructor(entity) {\n super();\n\n this.delay = 1000;\n this.entity = entity;\n this._timeout = null;\n }\n\n scheduleReconnect() {\n const { entity, delay, _timeout } = this;\n clearTimeout(_timeout);\n this._timeout = setTimeout(async () => {\n if (entity.status !== \"disconnect\") {\n return;\n }\n\n try {\n await this.reconnect();\n } catch {\n // Ignoring the rejection is safe because the error is emitted on entity by #start\n }\n }, delay);\n }\n\n async reconnect() {\n const { entity } = this;\n this.emit(\"reconnecting\");\n\n const { service, domain, lang } = entity.options;\n await entity.connect(service);\n await entity.open({ domain, lang });\n\n this.emit(\"reconnected\");\n }\n\n start() {\n const { entity } = this;\n const listeners = {};\n listeners.disconnect = () => {\n this.scheduleReconnect();\n };\n\n this.listeners = listeners;\n entity.on(\"disconnect\", listeners.disconnect);\n }\n\n stop() {\n const { entity, listeners, _timeout } = this;\n entity.removeListener(\"disconnect\", listeners.disconnect);\n clearTimeout(_timeout);\n }\n}\n\nmodule.exports = function reconnect({ entity }) {\n const r = new Reconnect(entity);\n r.start();\n return r;\n};\n","export default {}","\"use strict\";\n\nconst WS = require(\"ws\");\nconst WebSocket = global.WebSocket || WS;\nconst EventEmitter = require(\"events\");\n\nconst CODE = \"ECONNERROR\";\n\nclass Socket extends EventEmitter {\n constructor() {\n super();\n this.listeners = Object.create(null);\n }\n\n connect(url) {\n this.url = url;\n this._attachSocket(new WebSocket(url, [\"xmpp\"]));\n }\n\n _attachSocket(socket) {\n this.socket = socket;\n const { listeners } = this;\n listeners.open = () => {\n this.emit(\"connect\");\n };\n\n listeners.message = ({ data }) => this.emit(\"data\", data);\n listeners.error = (event) => {\n const { url } = this;\n // WS\n let { error } = event;\n // DOM\n if (!error) {\n error = new Error(`WebSocket ${CODE} ${url}`);\n error.errno = CODE;\n error.code = CODE;\n }\n\n error.event = event;\n error.url = url;\n this.emit(\"error\", error);\n };\n\n listeners.close = (event) => {\n this._detachSocket();\n this.emit(\"close\", !event.wasClean, event);\n };\n\n this.socket.addEventListener(\"open\", listeners.open);\n this.socket.addEventListener(\"message\", listeners.message);\n this.socket.addEventListener(\"error\", listeners.error);\n this.socket.addEventListener(\"close\", listeners.close);\n }\n\n _detachSocket() {\n delete this.url;\n const { socket, listeners } = this;\n for (const k of Object.getOwnPropertyNames(listeners)) {\n socket.removeEventListener(k, listeners[k]);\n delete listeners[k];\n }\n delete this.socket;\n }\n\n end() {\n this.socket.close();\n }\n\n write(data, fn) {\n if (WebSocket === WS) {\n this.socket.send(data, fn);\n } else {\n this.socket.send(data);\n fn();\n }\n }\n}\n\nmodule.exports = Socket;\n","\"use strict\";\n\nconst { Parser, Element, XMLError } = require(\"@xmpp/xml\");\n\nmodule.exports = class FramedParser extends Parser {\n onStartElement(name, attrs) {\n const element = new Element(name, attrs);\n\n const { cursor } = this;\n\n if (cursor) {\n cursor.append(element);\n }\n\n this.cursor = element;\n }\n\n onEndElement(name) {\n const { cursor } = this;\n if (name !== cursor.name) {\n // <foo></bar>\n this.emit(\"error\", new XMLError(`${cursor.name} must be closed.`));\n return;\n }\n\n if (cursor.parent) {\n this.cursor = cursor.parent;\n return;\n }\n\n if (cursor.is(\"open\", \"urn:ietf:params:xml:ns:xmpp-framing\")) {\n this.emit(\"start\", cursor);\n } else if (cursor.is(\"close\", \"urn:ietf:params:xml:ns:xmpp-framing\")) {\n this.emit(\"end\", cursor);\n } else {\n this.emit(\"element\", cursor);\n }\n\n this.cursor = null;\n }\n};\n","\"use strict\";\n\nconst Socket = require(\"./Socket\");\nconst Connection = require(\"@xmpp/connection\");\nconst xml = require(\"@xmpp/xml\");\nconst FramedParser = require(\"./FramedParser\");\n\nconst NS_FRAMING = \"urn:ietf:params:xml:ns:xmpp-framing\";\n\n/* References\n * WebSocket protocol https://tools.ietf.org/html/rfc6455\n * WebSocket Web API https://html.spec.whatwg.org/multipage/comms.html#network\n * XMPP over WebSocket https://tools.ietf.org/html/rfc7395\n */\n\nclass ConnectionWebSocket extends Connection {\n send(element, ...args) {\n if (!element.attrs.xmlns && super.isStanza(element)) {\n element.attrs.xmlns = \"jabber:client\";\n }\n\n return super.send(element, ...args);\n }\n\n async sendMany(elements) {\n for (const element of elements) {\n await this.send(element);\n }\n }\n\n // https://tools.ietf.org/html/rfc7395#section-3.6\n footerElement() {\n return new xml.Element(\"close\", {\n xmlns: NS_FRAMING,\n });\n }\n\n // https://tools.ietf.org/html/rfc7395#section-3.4\n headerElement() {\n const el = super.headerElement();\n el.name = \"open\";\n el.attrs.xmlns = NS_FRAMING;\n return el;\n }\n\n socketParameters(service) {\n return /^wss?:\\/\\//.test(service) ? service : undefined;\n }\n}\n\nConnectionWebSocket.prototype.Socket = Socket;\nConnectionWebSocket.prototype.NS = \"jabber:client\";\nConnectionWebSocket.prototype.Parser = FramedParser;\n\nmodule.exports = ConnectionWebSocket;\n","\"use strict\";\n\nconst ConnectionWebSocket = require(\"./lib/Connection\");\n\nmodule.exports = function websocket({ entity }) {\n entity.transports.push(ConnectionWebSocket);\n};\n","'use strict'\n\n/**\n * Expose compositor.\n */\n\nmodule.exports = compose\n\n/**\n * Compose `middleware` returning\n * a fully valid middleware comprised\n * of all those which are passed.\n *\n * @param {Array} middleware\n * @return {Function}\n * @api public\n */\n\nfunction compose (middleware) {\n if (!Array.isArray(middleware)) throw new TypeError('Middleware stack must be an array!')\n for (const fn of middleware) {\n if (typeof fn !== 'function') throw new TypeError('Middleware must be composed of functions!')\n }\n\n /**\n * @param {Object} context\n * @return {Promise}\n * @api public\n */\n\n return function (context, next) {\n // last called middleware #\n let index = -1\n return dispatch(0)\n function dispatch (i) {\n if (i <= index) return Promise.reject(new Error('next() called multiple times'))\n index = i\n let fn = middleware[i]\n if (i === middleware.length) fn = next\n if (!fn) return Promise.resolve()\n try {\n return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));\n } catch (err) {\n return Promise.reject(err)\n }\n }\n }\n}\n","\"use strict\";\n\nmodule.exports = class Context {\n constructor(entity, stanza) {\n this.stanza = stanza;\n this.entity = entity;\n\n const { name, attrs } = stanza;\n const { type, id } = attrs;\n\n this.name = name;\n this.id = id || \"\";\n\n if (name === \"message\") {\n this.type = type || \"normal\";\n } else if (name === \"presence\") {\n this.type = type || \"available\";\n } else {\n this.type = type || \"\";\n }\n\n this.from = null;\n this.to = null;\n this.local = \"\";\n this.domain = \"\";\n this.resource = \"\";\n }\n};\n","\"use strict\";\n\nconst Context = require(\"./Context\");\nconst JID = require(\"@xmpp/jid\");\n\nmodule.exports = class IncomingContext extends Context {\n constructor(entity, stanza) {\n super(entity, stanza);\n\n const { jid, domain } = entity;\n\n const to = stanza.attrs.to || (jid && jid.toString());\n const from = stanza.attrs.from || domain;\n\n if (to) this.to = new JID(to);\n\n if (from) {\n this.from = new JID(from);\n this.local = this.from.local;\n this.domain = this.from.domain;\n this.resource = this.from.resource;\n }\n }\n};\n","\"use strict\";\n\nconst Context = require(\"./Context\");\nconst JID = require(\"@xmpp/jid\");\n\nmodule.exports = class OutgoingContext extends Context {\n constructor(entity, stanza) {\n super(entity, stanza);\n\n const { jid, domain } = entity;\n\n const from = stanza.attrs.from || (jid && jid.toString());\n const to = stanza.attrs.to || domain;\n\n if (from) this.from = new JID(from);\n\n if (to) {\n this.to = new JID(to);\n this.local = this.to.local;\n this.domain = this.to.domain;\n this.resource = this.to.resource;\n }\n }\n};\n","\"use strict\";\n\nconst compose = require(\"koa-compose\");\n\nconst IncomingContext = require(\"./lib/IncomingContext\");\nconst OutgoingContext = require(\"./lib/OutgoingContext\");\n\nfunction listener(entity, middleware, Context) {\n return (stanza) => {\n const ctx = new Context(entity, stanza);\n return compose(middleware)(ctx);\n };\n}\n\nfunction errorHandler(entity) {\n return (ctx, next) => {\n next()\n .then((reply) => reply && entity.send(reply))\n .catch((err) => entity.emit(\"error\", err));\n };\n}\n\nmodule.exports = function middleware({ entity }) {\n const incoming = [errorHandler(entity)];\n const outgoing = [];\n\n const incomingListener = listener(entity, incoming, IncomingContext);\n const outgoingListener = listener(entity, outgoing, OutgoingContext);\n\n entity.on(\"element\", incomingListener);\n entity.hookOutgoing = outgoingListener;\n\n return {\n use(fn) {\n incoming.push(fn);\n return fn;\n },\n filter(fn) {\n outgoing.push(fn);\n return fn;\n },\n };\n};\n","\"use strict\";\n\nmodule.exports = function route() {\n return async ({ stanza, entity }, next) => {\n if (!stanza.is(\"features\", \"http://etherx.jabber.org/streams\"))\n return next();\n\n const prevent = await next();\n if (!prevent && entity.jid) entity._status(\"online\", entity.jid);\n };\n};\n","\"use strict\";\n\n/**\n * References\n * https://xmpp.org/rfcs/rfc6120.html#streams-negotiation Stream Negotiation\n * https://xmpp.org/extensions/xep-0170.html XEP-0170: Recommended Order of Stream Feature Negotiation\n * https://xmpp.org/registrar/stream-features.html XML Stream Features\n */\n\nconst route = require(\"./route\");\n\nmodule.exports = function streamFeatures({ middleware }) {\n middleware.use(route());\n\n function use(name, xmlns, handler) {\n return middleware.use((ctx, next) => {\n const { stanza } = ctx;\n if (!stanza.is(\"features\", \"http://etherx.jabber.org/streams\"))\n return next();\n const feature = stanza.getChild(name, xmlns);\n if (!feature) return next();\n return handler(ctx, next, feature);\n });\n }\n\n return {\n use,\n };\n};\n","\"use strict\";\n\nmodule.exports = function id() {\n let i;\n while (!i) {\n i = Math.random().toString(36).slice(2, 12);\n }\n\n return i;\n};\n","\"use strict\";\n\n/* https://xmpp.org/rfcs/rfc6120.html#stanzas-error */\n\nconst XMPPError = require(\"@xmpp/error\");\n\nclass StanzaError extends XMPPError {\n constructor(condition, text, application, type) {\n super(condition, text, application);\n this.type = type;\n this.name = \"StanzaError\";\n }\n\n static fromElement(element) {\n const error = super.fromElement(element);\n error.type = element.attrs.type;\n return error;\n }\n}\n\nmodule.exports = StanzaError;\n","\"use strict\";\n\nconst xid = require(\"@xmpp/id\");\nconst StanzaError = require(\"@xmpp/middleware/lib/StanzaError\");\nconst { Deferred } = require(\"@xmpp/events\");\nconst timeoutPromise = require(\"@xmpp/events\").timeout;\nconst xml = require(\"@xmpp/xml\");\n\nfunction isReply({ name, type }) {\n if (name !== \"iq\") return false;\n if (type !== \"error\" && type !== \"result\") return false;\n return true;\n}\n\nclass IQCaller {\n constructor({ entity, middleware }) {\n this.handlers = new Map();\n this.entity = entity;\n this.middleware = middleware;\n }\n\n start() {\n this.middleware.use(this._route.bind(this));\n }\n\n _route({ type, name, id, stanza }, next) {\n if (!isReply({ name, type })) return next();\n\n const deferred = this.handlers.get(id);\n\n if (!deferred) {\n return next();\n }\n\n if (type === \"error\") {\n deferred.reject(StanzaError.fromElement(stanza.getChild(\"error\")));\n } else {\n deferred.resolve(stanza);\n }\n\n this.handlers.delete(id);\n }\n\n async request(stanza, timeout = 30 * 1000) {\n if (!stanza.attrs.id) {\n stanza.attrs.id = xid();\n }\n\n const deferred = new Deferred();\n this.handlers.set(stanza.attrs.id, deferred);\n\n try {\n await this.entity.send(stanza);\n await timeoutPromise(deferred.promise, timeout);\n } catch (err) {\n this.handlers.delete(stanza.attrs.id);\n throw err;\n }\n\n return deferred.promise;\n }\n\n _childRequest(type, element, to, ...args) {\n const {\n name,\n attrs: { xmlns },\n } = element;\n return this.request(xml(\"iq\", { type, to }, element), ...args).then(\n (stanza) => stanza.getChild(name, xmlns),\n );\n }\n\n async get(...args) {\n return this._childRequest(\"get\", ...args);\n }\n\n async set(...args) {\n return this._childRequest(\"set\", ...args);\n }\n}\n\nmodule.exports = function iqCaller(...args) {\n const iqCaller = new IQCaller(...args);\n iqCaller.start();\n return iqCaller;\n};\n","\"use strict\";\n\n/**\n * References\n * https://xmpp.org/rfcs/rfc6120.html#stanzas-semantics-iq\n * https://xmpp.org/rfcs/rfc6120.html#stanzas-error\n */\n\nconst xml = require(\"@xmpp/xml\");\n\nconst NS_STANZA = \"urn:ietf:params:xml:ns:xmpp-stanzas\";\n\nfunction isQuery({ name, type }) {\n if (name !== \"iq\") return false;\n if (type === \"error\" || type === \"result\") return false;\n return true;\n}\n\nfunction isValidQuery({ type }, children, child) {\n if (type !== \"get\" && type !== \"set\") return false;\n if (children.length !== 1) return false;\n if (!child) return false;\n return true;\n}\n\nfunction buildReply({ stanza }) {\n return xml(\"iq\", {\n to: stanza.attrs.from,\n from: stanza.attrs.to,\n id: stanza.attrs.id,\n });\n}\n\nfunction buildReplyResult(ctx, child) {\n const reply = buildReply(ctx);\n reply.attrs.type = \"result\";\n if (child) {\n reply.append(child);\n }\n\n return reply;\n}\n\nfunction buildReplyError(ctx, error, child) {\n const reply = buildReply(ctx);\n reply.attrs.type = \"error\";\n if (child) {\n reply.append(child);\n }\n\n reply.append(error);\n return reply;\n}\n\nfunction buildError(type, condition) {\n return xml(\"error\", { type }, xml(condition, NS_STANZA));\n}\n\nfunction iqHandler(entity) {\n return async function iqHandler(ctx, next) {\n if (!isQuery(ctx)) return next();\n\n const { stanza } = ctx;\n const children = stanza.getChildElements();\n const [child] = children;\n\n if (!isValidQuery(ctx, children, child)) {\n return buildReplyError(ctx, buildError(\"modify\", \"bad-request\"), child);\n }\n\n ctx.element = child;\n\n let reply;\n try {\n reply = await next();\n } catch (err) {\n entity.emit(\"error\", err);\n reply = buildError(\"cancel\", \"internal-server-error\");\n }\n\n if (!reply) {\n reply = buildError(\"cancel\", \"service-unavailable\");\n }\n\n if (reply instanceof xml.Element && reply.is(\"error\")) {\n return buildReplyError(ctx, reply, child);\n }\n\n return buildReplyResult(\n ctx,\n reply instanceof xml.Element ? reply : undefined,\n );\n };\n}\n\nfunction route(type, ns, name, handler) {\n return (ctx, next) => {\n if ((ctx.type !== type) | !ctx.element || !ctx.element.is(name, ns))\n return next();\n return handler(ctx, next);\n };\n}\n\nmodule.exports = function iqCallee({ middleware, entity }) {\n middleware.use(iqHandler(entity));\n\n return {\n get(ns, name, handler) {\n middleware.use(route(\"get\", ns, name, handler));\n },\n set(ns, name, handler) {\n middleware.use(route(\"set\", ns, name, handler));\n },\n };\n};\n","\"use strict\";\n\nconst Parser = require(\"./Parser\");\n\nmodule.exports = function parse(data) {\n const p = new Parser();\n\n let result = null;\n let error = null;\n\n p.on(\"start\", (el) => {\n result = el;\n });\n p.on(\"element\", (el) => {\n result.append(el);\n });\n p.on(\"error\", (err) => {\n error = err;\n });\n\n p.write(data);\n p.end();\n\n if (error) {\n throw error;\n } else {\n return result;\n }\n};\n","\"use strict\";\n\nfunction isSecure(uri) {\n return uri.startsWith(\"https\") || uri.startsWith(\"wss\");\n}\n\nmodule.exports.compare = function compare(a, b) {\n let secure;\n if (isSecure(a.uri) && !isSecure(b.uri)) {\n secure = -1;\n } else if (!isSecure(a.uri) && isSecure(b.uri)) {\n secure = 1;\n } else {\n secure = 0;\n }\n\n if (secure !== 0) {\n return secure;\n }\n\n let method;\n if (a.method === b.method) {\n method = 0;\n } else if (a.method === \"websocket\") {\n method = -1;\n } else if (b.method === \"websocket\") {\n method = 1;\n } else if (a.method === \"xbosh\") {\n method = -1;\n } else if (b.method === \"xbosh\") {\n method = 1;\n } else if (a.method === \"httppoll\") {\n method = -1;\n } else if (b.method === \"httppoll\") {\n method = 1;\n } else {\n method = 0;\n }\n\n if (method !== 0) {\n return method;\n }\n\n return 0;\n};\n","\"use strict\";\n\nconst fetch = global.fetch || require(\"node-fetch\");\nconst parse = require(\"@xmpp/xml/lib/parse\");\nconst compareAltConnections = require(\"./alt-connections\").compare;\n\nfunction resolve(domain) {\n return fetch(`https://${domain}/.well-known/host-meta`)\n .then((res) => res.text())\n .then((res) => {\n return parse(res)\n .getChildren(\"Link\")\n .filter((link) =>\n [\n \"urn:xmpp:alt-connections:websocket\",\n \"urn:xmpp:alt-connections:httppoll\",\n \"urn:xmpp:alt-connections:xbosh\",\n ].includes(link.attrs.rel),\n )\n .map(({ attrs }) => ({\n rel: attrs.rel,\n href: attrs.href,\n method: attrs.rel.split(\":\").pop(),\n uri: attrs.href,\n }))\n .sort(compareAltConnections);\n })\n .catch(() => {\n return [];\n });\n}\n\nmodule.exports.resolve = resolve;\n","\"use strict\";\n\nconst dns = require(\"./lib/dns\");\nconst http = require(\"./lib/http\");\n\nmodule.exports = function resolve(...args) {\n return Promise.all([\n dns.resolve ? dns.resolve(...args) : Promise.resolve([]),\n http.resolve(...args),\n ]).then(([records, endpoints]) => [...records, ...endpoints]);\n};\n\nif (dns.resolve) {\n module.exports.dns = dns;\n}\n\nmodule.exports.http = http;\n","\"use strict\";\n\nconst resolve = require(\"./resolve\");\nconst { promise } = require(\"@xmpp/events\");\n\nasync function fetchURIs(domain) {\n const result = await resolve(domain, {\n srv: [\n {\n service: \"xmpps-client\",\n protocol: \"tcp\",\n },\n {\n service: \"xmpp-client\",\n protocol: \"tcp\",\n },\n ],\n });\n\n return [\n // Remove duplicates\n ...new Set(result.map((record) => record.uri)),\n ];\n}\n\nfunction filterSupportedURIs(entity, uris) {\n return uris.filter((uri) => entity._findTransport(uri));\n}\n\nasync function fallbackConnect(entity, uris) {\n if (uris.length === 0) {\n throw new Error(\"Couldn't connect\");\n }\n\n const uri = uris.shift();\n const Transport = entity._findTransport(uri);\n\n if (!Transport) {\n return fallbackConnect(entity, uris);\n }\n\n entity._status(\"connecting\", uri);\n const params = Transport.prototype.socketParameters(uri);\n const socket = new Transport.prototype.Socket();\n\n try {\n socket.connect(params);\n await promise(socket, \"connect\");\n } catch {\n return fallbackConnect(entity, uris);\n }\n\n entity._attachSocket(socket);\n socket.emit(\"connect\");\n entity.Transport = Transport;\n entity.Socket = Transport.prototype.Socket;\n entity.Parser = Transport.prototype.Parser;\n}\n\nmodule.exports = function resolve({ entity }) {\n const _connect = entity.connect;\n entity.connect = async function connect(service) {\n if (!service || /:\\/\\//.test(service)) {\n return _connect.call(this, service);\n }\n\n const uris = filterSupportedURIs(entity, await fetchURIs(service));\n\n if (uris.length === 0) {\n throw new Error(\"No compatible transport found.\");\n }\n\n try {\n await fallbackConnect(entity, uris);\n } catch (err) {\n entity._reset();\n entity._status(\"disconnect\");\n throw err;\n }\n };\n};\n","\"use strict\";\n\nmodule.exports.encode = function encode(string) {\n return global.btoa(string);\n};\n\nmodule.exports.decode = function decode(string) {\n return global.atob(string);\n};\n","\"use strict\";\n\nconst XMPPError = require(\"@xmpp/error\");\n\n// https://xmpp.org/rfcs/rfc6120.html#sasl-errors\n\nclass SASLError extends XMPPError {\n constructor(...args) {\n super(...args);\n this.name = \"SASLError\";\n }\n}\n\nmodule.exports = SASLError;\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports, module);\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports', 'module'], factory);\n }\n}(this, function(exports, module) {\n \n /**\n * `Factory` constructor.\n *\n * @api public\n */\n function Factory() {\n this._mechs = [];\n }\n \n /**\n * Utilize the given `mech` with optional `name`, overridding the mechanism's\n * default name.\n *\n * Examples:\n *\n * factory.use(FooMechanism);\n *\n * factory.use('XFOO', FooMechanism);\n *\n * @param {String|Mechanism} name\n * @param {Mechanism} mech\n * @return {Factory} for chaining\n * @api public\n */\n Factory.prototype.use = function(name, mech) {\n if (!mech) {\n mech = name;\n name = mech.prototype.name;\n }\n this._mechs.push({ name: name, mech: mech });\n return this;\n };\n \n /**\n * Create a new mechanism from supported list of `mechs`.\n *\n * If no mechanisms are supported, returns `null`.\n *\n * Examples:\n *\n * var mech = factory.create(['FOO', 'BAR']);\n *\n * @param {Array} mechs\n * @return {Mechanism}\n * @api public\n */\n Factory.prototype.create = function(mechs) {\n for (var i = 0, len = this._mechs.length; i < len; i++) {\n for (var j = 0, jlen = mechs.length; j < jlen; j++) {\n var entry = this._mechs[i];\n if (entry.name == mechs[j]) {\n return new entry.mech();\n }\n }\n }\n return null;\n };\n\n exports = module.exports = Factory;\n \n}));\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports,\n module,\n require('./lib/factory'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports',\n 'module',\n './lib/factory'], factory);\n }\n}(this, function(exports, module, Factory) {\n \n exports = module.exports = Factory;\n exports.Factory = Factory;\n \n}));\n","\"use strict\";\n\nconst { encode, decode } = require(\"@xmpp/base64\");\nconst SASLError = require(\"./lib/SASLError\");\nconst xml = require(\"@xmpp/xml\");\nconst SASLFactory = require(\"saslmechanisms\");\n\n// https://xmpp.org/rfcs/rfc6120.html#sasl\n\nconst NS = \"urn:ietf:params:xml:ns:xmpp-sasl\";\n\nfunction getMechanismNames(features) {\n return features.getChild(\"mechanisms\", NS).children.map((el) => el.text());\n}\n\nasync function authenticate(SASL, entity, mechname, credentials) {\n const mech = SASL.create([mechname]);\n if (!mech) {\n throw new Error(\"No compatible mechanism\");\n }\n\n const { domain } = entity.options;\n const creds = {\n username: null,\n password: null,\n server: domain,\n host: domain,\n realm: domain,\n serviceType: \"xmpp\",\n serviceName: domain,\n ...credentials,\n };\n\n return new Promise((resolve, reject) => {\n const handler = (element) => {\n if (element.attrs.xmlns !== NS) {\n return;\n }\n\n if (element.name === \"challenge\") {\n mech.challenge(decode(element.text()));\n const resp = mech.response(creds);\n entity.send(\n xml(\n \"response\",\n { xmlns: NS, mechanism: mech.name },\n typeof resp === \"string\" ? encode(resp) : \"\",\n ),\n );\n return;\n }\n\n if (element.name === \"failure\") {\n reject(SASLError.fromElement(element));\n } else if (element.name === \"success\") {\n resolve();\n }\n\n entity.removeListener(\"nonza\", handler);\n };\n\n entity.on(\"nonza\", handler);\n\n if (mech.clientFirst) {\n entity.send(\n xml(\n \"auth\",\n { xmlns: NS, mechanism: mech.name },\n encode(mech.response(creds)),\n ),\n );\n }\n });\n}\n\nmodule.exports = function sasl({ streamFeatures }, credentials) {\n const SASL = new SASLFactory();\n\n streamFeatures.use(\"mechanisms\", NS, async ({ stanza, entity }) => {\n const offered = getMechanismNames(stanza);\n const supported = SASL._mechs.map(({ name }) => name);\n // eslint-disable-next-line unicorn/prefer-array-find\n const intersection = supported.filter((mech) => {\n return offered.includes(mech);\n });\n // eslint-disable-next-line prefer-destructuring\n let mech = intersection[0];\n\n if (typeof credentials === \"function\") {\n await credentials(\n (creds) => authenticate(SASL, entity, mech, creds, stanza),\n mech,\n );\n } else {\n if (!credentials.username && !credentials.password) {\n mech = \"ANONYMOUS\";\n }\n\n await authenticate(SASL, entity, mech, credentials, stanza);\n }\n\n await entity.restart();\n });\n\n return {\n use(...args) {\n return SASL.use(...args);\n },\n };\n};\n","\"use strict\";\n\nconst xml = require(\"@xmpp/xml\");\n\n/*\n * References\n * https://xmpp.org/rfcs/rfc6120.html#bind\n */\n\nconst NS = \"urn:ietf:params:xml:ns:xmpp-bind\";\n\nfunction makeBindElement(resource) {\n return xml(\"bind\", { xmlns: NS }, resource && xml(\"resource\", {}, resource));\n}\n\nasync function bind(entity, iqCaller, resource) {\n const result = await iqCaller.set(makeBindElement(resource));\n const jid = result.getChildText(\"jid\");\n entity._jid(jid);\n return jid;\n}\n\nfunction route({ iqCaller }, resource) {\n return async ({ entity }, next) => {\n await (typeof resource === \"function\"\n ? resource((resource) => bind(entity, iqCaller, resource))\n : bind(entity, iqCaller, resource));\n\n next();\n };\n}\n\nmodule.exports = function resourceBinding(\n { streamFeatures, iqCaller },\n resource,\n) {\n streamFeatures.use(\"bind\", NS, route({ iqCaller }, resource));\n};\n","\"use strict\";\n\nconst xml = require(\"@xmpp/xml\");\n\n// https://tools.ietf.org/html/draft-cridland-xmpp-session-01\n\nconst NS = \"urn:ietf:params:xml:ns:xmpp-session\";\n\nmodule.exports = function sessionEstablishment({ iqCaller, streamFeatures }) {\n streamFeatures.use(\"session\", NS, async (context, next, feature) => {\n if (feature.getChild(\"optional\")) return next();\n await iqCaller.set(xml(\"session\", NS));\n return next();\n });\n};\n","\"use strict\";\n\nconst xml = require(\"@xmpp/xml\");\n\n// https://xmpp.org/extensions/xep-0198.html\n\nconst NS = \"urn:xmpp:sm:3\";\n\nasync function enable(entity, resume, max) {\n entity.send(\n xml(\"enable\", { xmlns: NS, max, resume: resume ? \"true\" : undefined }),\n );\n\n return new Promise((resolve, reject) => {\n function listener(nonza) {\n if (nonza.is(\"enabled\", NS)) {\n resolve(nonza);\n } else if (nonza.is(\"failed\", NS)) {\n reject(nonza);\n } else {\n return;\n }\n\n entity.removeListener(\"nonza\", listener);\n }\n\n entity.on(\"nonza\", listener);\n });\n}\n\nasync function resume(entity, h, previd) {\n const response = await entity.sendReceive(\n xml(\"resume\", { xmlns: NS, h, previd }),\n );\n\n if (!response.is(\"resumed\", NS)) {\n throw response;\n }\n\n return response;\n}\n\nmodule.exports = function streamManagement({\n streamFeatures,\n entity,\n middleware,\n}) {\n let address = null;\n\n const sm = {\n allowResume: true,\n preferredMaximum: null,\n enabled: false,\n id: \"\",\n outbound: 0,\n inbound: 0,\n max: null,\n };\n\n entity.on(\"online\", (jid) => {\n address = jid;\n sm.outbound = 0;\n sm.inbound = 0;\n });\n\n entity.on(\"offline\", () => {\n sm.outbound = 0;\n sm.inbound = 0;\n sm.enabled = false;\n sm.id = \"\";\n });\n\n middleware.use((context, next) => {\n const { stanza } = context;\n if ([\"presence\", \"message\", \"iq\"].includes(stanza.name)) {\n sm.inbound += 1;\n } else if (stanza.is(\"r\", NS)) {\n // > When an <r/> element (\"request\") is received, the recipient MUST acknowledge it by sending an <a/> element to the sender containing a value of 'h' that is equal to the number of stanzas handled by the recipient of the <r/> element.\n entity.send(xml(\"a\", { xmlns: NS, h: sm.inbound })).catch(() => {});\n } else if (stanza.is(\"a\", NS)) {\n // > When a party receives an <a/> element, it SHOULD keep a record of the 'h' value returned as the sequence number of the last handled outbound stanza for the current stream (and discard the previous value).\n sm.outbound = stanza.attrs.h;\n }\n\n return next();\n });\n\n // https://xmpp.org/extensions/xep-0198.html#enable\n // For client-to-server connections, the client MUST NOT attempt to enable stream management until after it has completed Resource Binding unless it is resuming a previous session\n\n streamFeatures.use(\"sm\", NS, async (context, next) => {\n // Resuming\n if (sm.id) {\n try {\n await resume(entity, sm.inbound, sm.id);\n sm.enabled = true;\n entity.jid = address;\n entity.status = \"online\";\n return true;\n // If resumption fails, continue with session establishment\n // eslint-disable-next-line no-unused-vars\n } catch {\n sm.id = \"\";\n sm.enabled = false;\n sm.outbound = 0;\n }\n }\n\n // Enabling\n\n // Resource binding first\n await next();\n\n const promiseEnable = enable(entity, sm.allowResume, sm.preferredMaximum);\n\n // > The counter for an entity's own sent stanzas is set to zero and started after sending either <enable/> or <enabled/>.\n sm.outbound = 0;\n\n try {\n const response = await promiseEnable;\n sm.enabled = true;\n sm.id = response.attrs.id;\n sm.max = response.attrs.max;\n // eslint-disable-next-line no-unused-vars\n } catch {\n sm.enabled = false;\n }\n\n sm.inbound = 0;\n });\n\n return sm;\n};\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports, module);\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports', 'module'], factory);\n }\n}(this, function(exports, module) {\n\n /**\n * ANONYMOUS `Mechanism` constructor.\n *\n * This class implements the ANONYMOUS SASL mechanism.\n *\n * The ANONYMOUS SASL mechanism provides support for permitting anonymous\n * access to various services\n *\n * References:\n * - [RFC 4505](http://tools.ietf.org/html/rfc4505)\n *\n * @api public\n */\n function Mechanism() {\n }\n \n Mechanism.prototype.name = 'ANONYMOUS';\n Mechanism.prototype.clientFirst = true;\n \n /**\n * Encode a response using optional trace information.\n *\n * Options:\n * - `trace` trace information (optional)\n *\n * @param {Object} cred\n * @api public\n */\n Mechanism.prototype.response = function(cred) {\n return cred.trace || '';\n };\n \n /**\n * Decode a challenge issued by the server.\n *\n * @param {String} chal\n * @api public\n */\n Mechanism.prototype.challenge = function(chal) {\n };\n\n exports = module.exports = Mechanism;\n \n}));\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports,\n module,\n require('./lib/mechanism'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports',\n 'module',\n './lib/mechanism'], factory);\n }\n}(this, function(exports, module, Mechanism) {\n\n exports = module.exports = Mechanism;\n exports.Mechanism = Mechanism;\n \n}));\n","\"use strict\";\n\n/**\n * [XEP-0175: Best Practices for Use of SASL ANONYMOUS](https://xmpp.org/extensions/xep-0175.html)\n * [RFC-4504: Anonymous Simple Authentication and Security Layer (SASL) Mechanism](https://tools.ietf.org/html/rfc4505)\n */\n\nconst mech = require(\"sasl-anonymous\");\n\nmodule.exports = function saslAnonymous(sasl) {\n sasl.use(mech);\n};\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports, module);\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports', 'module'], factory);\n }\n}(this, function(exports, module) {\n\n /**\n * PLAIN `Mechanism` constructor.\n *\n * This class implements the PLAIN SASL mechanism.\n *\n * The PLAIN SASL mechanism provides support for exchanging a clear-text\n * username and password. This mechanism should not be used without adequate\n * security provided by an underlying transport layer. \n *\n * References:\n * - [RFC 4616](http://tools.ietf.org/html/rfc4616)\n *\n * @api public\n */\n function Mechanism() {\n }\n \n Mechanism.prototype.name = 'PLAIN';\n Mechanism.prototype.clientFirst = true;\n \n /**\n * Encode a response using given credential.\n *\n * Options:\n * - `username`\n * - `password`\n * - `authzid` authorization identity (optional)\n *\n * @param {Object} cred\n * @api public\n */\n Mechanism.prototype.response = function(cred) {\n var str = '';\n str += cred.authzid || '';\n str += '\\0';\n str += cred.username;\n str += '\\0';\n str += cred.password;\n return str;\n };\n \n /**\n * Decode a challenge issued by the server.\n *\n * @param {String} chal\n * @return {Mechanism} for chaining\n * @api public\n */\n Mechanism.prototype.challenge = function(chal) {\n return this;\n };\n\n exports = module.exports = Mechanism;\n \n}));\n","(function(root, factory) {\n if (typeof exports === 'object') {\n // CommonJS\n factory(exports,\n module,\n require('./lib/mechanism'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(['exports',\n 'module',\n './lib/mechanism'], factory);\n }\n}(this, function(exports, module, Mechanism) {\n\n exports = module.exports = Mechanism;\n exports.Mechanism = Mechanism;\n \n}));\n","\"use strict\";\n\nconst mech = require(\"sasl-plain\");\n\nmodule.exports = function saslPlain(sasl) {\n sasl.use(mech);\n};\n","\"use strict\";\n\nconst { xml, jid, Client } = require(\"@xmpp/client-core\");\nconst getDomain = require(\"./lib/getDomain\");\n\nconst _reconnect = require(\"@xmpp/reconnect\");\nconst _websocket = require(\"@xmpp/websocket\");\nconst _middleware = require(\"@xmpp/middleware\");\nconst _streamFeatures = require(\"@xmpp/stream-features\");\nconst _iqCaller = require(\"@xmpp/iq/caller\");\nconst _iqCallee = require(\"@xmpp/iq/callee\");\nconst _resolve = require(\"@xmpp/resolve\");\n\n// Stream features - order matters and define priority\nconst _sasl = require(\"@xmpp/sasl\");\nconst _resourceBinding = require(\"@xmpp/resource-binding\");\nconst _sessionEstablishment = require(\"@xmpp/session-establishment\");\nconst _streamManagement = require(\"@xmpp/stream-management\");\n\n// SASL mechanisms - order matters and define priority\nconst anonymous = require(\"@xmpp/sasl-anonymous\");\nconst plain = require(\"@xmpp/sasl-plain\");\n\nfunction client(options = {}) {\n const { resource, credentials, username, password, ...params } = options;\n\n const { domain, service } = params;\n if (!domain && service) {\n params.domain = getDomain(service);\n }\n\n const entity = new Client(params);\n\n const reconnect = _reconnect({ entity });\n const websocket = _websocket({ entity });\n\n const middleware = _middleware({ entity });\n const streamFeatures = _streamFeatures({ middleware });\n const iqCaller = _iqCaller({ middleware, entity });\n const iqCallee = _iqCallee({ middleware, entity });\n const resolve = _resolve({ entity });\n // Stream features - order matters and define priority\n const sasl = _sasl({ streamFeatures }, credentials || { username, password });\n const streamManagement = _streamManagement({\n streamFeatures,\n entity,\n middleware,\n });\n const resourceBinding = _resourceBinding(\n { iqCaller, streamFeatures },\n resource,\n );\n const sessionEstablishment = _sessionEstablishment({\n iqCaller,\n streamFeatures,\n });\n // SASL mechanisms - order matters and define priority\n const mechanisms = Object.entries({ plain, anonymous }).map(([k, v]) => ({\n [k]: v(sasl),\n }));\n\n return Object.assign(entity, {\n entity,\n reconnect,\n websocket,\n middleware,\n streamFeatures,\n iqCaller,\n iqCallee,\n resolve,\n sasl,\n resourceBinding,\n sessionEstablishment,\n streamManagement,\n mechanisms,\n });\n}\n\nmodule.exports.xml = xml;\nmodule.exports.jid = jid;\nmodule.exports.client = client;\n","export { urlAlphabet } from './url-alphabet/index.js'\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * defaultSize) / alphabet.length)\n return (size = defaultSize) => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size, random)\nexport let nanoid = (size = 21) =>\n crypto.getRandomValues(new Uint8Array(size)).reduce((id, byte) => {\n byte &= 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte > 62) {\n id += '-'\n } else {\n id += '_'\n }\n return id\n }, '')\n","import { client, xml, jid as createJid } from '@xmpp/client'\nimport XMPPError from '@xmpp/error'\nimport { nanoid } from 'nanoid'\n\nconst hasDebug = true\nconst hasChatState = true\n\nconst NS = {\n // rfc6121\n ROSTER: 'jabber:iq:roster',\n // rfc3920\n STANZA_ERROR: 'urn:ietf:params:xml:ns:xmpp-stanzas',\n // XEP-0045\n MUC: 'http://jabber.org/protocol/muc',\n MUC_USER: 'http://jabber.org/protocol/muc#user',\n MUC_OWNER: 'http://jabber.org/protocol/muc#owner',\n // XEP-0030\n DISCO_INFO: 'http://jabber.org/protocol/disco#info',\n DISCO_ITEMS: 'http://jabber.org/protocol/disco#items',\n // XEP-0004\n FORM: 'jabber:x:data',\n // XEP-0363\n HTTP_UPLOAD: 'urn:xmpp:http:upload:0',\n // XEP-0313\n MAM: 'urn:xmpp:mam:2',\n // XEP-0059\n RSM: 'http://jabber.org/protocol/rsm',\n // XEP-0280\n CARBONS: 'urn:xmpp:carbons:2',\n // XEP-0085\n CHAT_STATE: 'http://jabber.org/protocol/chatstates',\n // XEP-0054\n VCARD: 'vcard-temp',\n // XEP-0049\n PRIVATE: 'jabber:iq:private',\n // XEP-0048\n BOOKMARKS: 'storage:bookmarks',\n // XEP-0066\n OUT_OF_BAND_DATA: 'jabber:x:oob',\n // XEP-0359\n UNIQUE_ID: 'urn:xmpp:sid:0',\n // XEP-0156\n DISCO_CONNECTION: 'urn:xmpp:alt-connections:websocket',\n // XEP-422\n MESSAGE_FASTENING: 'urn:xmpp:fasten:0',\n // XEP-425\n MESSAGE_MODERATION: 'urn:xmpp:message-moderate:0',\n MESSAGE_RETRACTED: 'urn:xmpp:message-retract:0',\n}\n\nlet xmppClient = null\nlet discoInfoCache = []\n\nclass XmppClient {\n constructor(config) {\n if (xmppClient) {\n xmppClient.disconnect()\n }\n this.config = config\n // declare custom events listeners\n this.callbacks = {\n 'chat': [],\n 'groupchat': [],\n 'messageSent': [],\n 'messageSentError': [],\n 'messageRetracted': [],\n 'presence': [],\n 'authenticated': [],\n 'mucCreated': [],\n 'chatState': [],\n 'subjectChange': [],\n }\n this.jid = {}\n this.uploadService = null\n this.xmpp = client({\n service: config.service || 'ws://localhost:5280/xmpp-websocket',\n domain: config.domain || 'localhost',\n resource: (config.resource || 'Web XMPP') + ' ' + nanoid(5),\n username: config.jid,\n password: config.password,\n })\n xmppClient = this\n // default events listeners\n if (import.meta.env.DEV && hasDebug) {\n this.xmpp.on('stanza', stanza => console.debug('0-stanza', stanza))\n this.xmpp.on('error', error => console.debug('0-error', error))\n this.xmpp.on('status', status => console.debug('0-status', status))\n }\n this.xmpp.on('stanza', this.parseStanza)\n }\n\n parseJid (jid) {\n let _jid = jid\n if (typeof jid === 'string') {\n _jid = createJid(jid)\n }\n return {\n resource: _jid.getResource(),\n local: _jid.getLocal(),\n domain: _jid.getDomain(),\n bare: _jid.bare().toString(),\n full: _jid.toString(),\n }\n }\n\n parseStanza (stanza) {\n if (stanza.is('message')) {\n if (stanza.attrs.type === 'chat' || stanza.attrs.type === 'groupchat') {\n // parse stanza message\n if (stanza.attrs.from === xmppClient.jid.bare && stanza.attrs.to === xmppClient.jid.full) {\n // handling carbon sent/received (XEP-0280)\n let carbon = stanza.getChild('sent')\n if (!carbon) {\n carbon = stanza.getChild('received')\n }\n if (carbon) {\n const message = carbon.getChild('forwarded').getChild('message')\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1a-carbon', message)\n }\n stanza = message\n }\n }\n xmppClient.parseMessage(stanza)\n } else {\n const result = stanza.getChild('result')\n if (result) {\n // parse forwarded stanza message\n const forwarded = result.getChild('forwarded')\n const message = forwarded.getChild('message')\n xmppClient.parseMessage(message)\n }\n if (stanza.attrs.type === 'error') {\n xmppClient.parseMessage(stanza)\n }\n }\n } else if (stanza.is('presence')) {\n const presence = {\n isMuc: false,\n isSelf: false,\n type: stanza.attrs.type,\n }\n presence.from = xmppClient.parseJid(stanza.attrs.from)\n if (stanza.attrs.type === 'unavailable') {\n presence.show = 'off'\n presence.show = undefined\n } else {\n presence.show = stanza.getChildText('show') || 'chat'\n presence.status = stanza.getChildText('status')\n }\n // add MUC information\n const mucPresence = stanza.getChild('x', NS.MUC_USER)\n if (mucPresence) {\n presence.isMuc = true\n mucPresence.getChildren('item').map(i => {\n if (i.attrs.role) {\n presence.mucRole = i.attrs.role\n }\n if (i.attrs.affiliation) {\n presence.mucAffiliation = i.attrs.affiliation\n }\n if (i.attrs.jid) {\n presence.mucJid = i.attrs.jid\n }\n })\n mucPresence.getChildren('status').map(status => {\n if (status.attrs.code === '110') {\n presence.isSelf = true\n }\n })\n mucPresence.getChildren('status').map(status => {\n if (status.attrs.code === '201') {\n xmppClient.callbacks.mucCreated.forEach((callback) => callback(presence))\n }\n })\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-presence', presence, mucPresence)\n }\n xmppClient.callbacks.presence.forEach((callback) => callback(presence))\n // @TODO : handle muc joined\n }\n }\n\n parseMessage (stanza) {\n const message = {}\n const body = stanza.getChild('body')\n if (body) {\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-message', stanza)\n }\n message.body = body.getText()\n message.from = xmppClient.parseJid(stanza.attrs.from)\n message.to = xmppClient.parseJid(stanza.attrs.to || xmppClient.jid)\n message.id = stanza.attrs.id\n message.type = stanza.attrs.type\n const stanzaIdNode = stanza.getChild('stanza-id')\n if (stanzaIdNode) {\n message.stanzaId = stanzaIdNode.attrs.id\n }\n\n // handle links\n const extensions = stanza.getChildren('x')\n if (extensions.length > 0) {\n extensions.forEach(extension => {\n if (extension.attrs && extension.attrs.xmlns === NS.OUT_OF_BAND_DATA) {\n if (!message.links) {\n message.links = []\n }\n message.links.push({ url: extension.getChildText('url') })\n }\n })\n }\n\n // handle timestamp (forwarded/delay)\n const parent = stanza.parent\n if (parent && parent.name === 'forwarded') {\n const delay = parent.getChild('delay')\n message.delay = delay ? delay.attrs.stamp : null\n } else {\n const delay = stanza.getChild('delay')\n if (delay) {\n message.delay = delay ? delay.attrs.stamp : null\n }\n }\n if (!message.delay) {\n message.delay = new Date().toISOString()\n }\n\n xmppClient.callbacks.chat.forEach((callback) => callback(message))\n }\n\n // check message fasten (XEP-0422)\n const fasten = stanza.getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.MESSAGE_FASTENING)\n if (fasten.length > 0) {\n // check MUC retracted message (XEP-0425)\n const moderation = fasten[0].getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.MESSAGE_MODERATION)\n if (moderation.length > 0) {\n const retract = moderation[0].getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.MESSAGE_RETRACTED)\n if (retract.length > 0) {\n const reasonNode = moderation[0].getChild('reason')\n const retracted = {\n stanzaId: fasten[0].attrs.id,\n from: stanza.attrs.from,\n reason: reasonNode ? reasonNode.getText() : null,\n by: this.parseJid(moderation[0].attrs.by),\n }\n xmppClient.callbacks.messageRetracted.forEach((callback) => callback(retracted))\n }\n }\n }\n\n // check subject change (part of XEP-0045)\n const subjectNode = stanza.getChild('subject')\n if (subjectNode) {\n const subject = {\n from: xmppClient.parseJid(stanza.attrs.from),\n subject: subjectNode.getText(),\n }\n xmppClient.callbacks.subjectChange.forEach((callback) => callback(subject))\n }\n\n // check message error\n const errorNode = stanza.getChild('error')\n if (errorNode) {\n const error = {\n messageId: stanza.attrs.id,\n type: errorNode.attrs.type,\n message: errorNode.getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.STANZA_ERROR)\n .map(child => child.name)\n .join(', '),\n }\n xmppClient.callbacks.messageSentError.forEach((callback) => callback(error))\n }\n\n // check chat state\n const chatStateNodes = stanza.getChildrenByFilter(child => child.attrs && child.attrs.xmlns === NS.CHAT_STATE)\n if (chatStateNodes.length > 0) {\n const chatState = {\n jid: xmppClient.parseJid(stanza.attrs.from),\n type: stanza.attrs.type,\n chatState: chatStateNodes[0].getName(),\n }\n xmppClient.callbacks.chatState.forEach((callback) => callback(chatState))\n }\n\n if (import.meta.env.DEV && hasDebug) {\n console.debug('3-message parsed', message)\n }\n }\n\n async connect() {\n if (this.xmpp.status === 'offline') {\n this.jid = this.parseJid(await this.xmpp.start())\n xmppClient.callbacks.authenticated.forEach((callback) => callback(this.jid))\n }\n return this.jid\n }\n\n async disconnect() {\n this.xmpp.stop()\n }\n\n on(type, callback) {\n if (import.meta.env.DEV && hasDebug) {\n console.debug('XmppClient event', type)\n }\n if(this.callbacks[type]) {\n // use custom callback\n this.callbacks[type].push(callback)\n return\n }\n // use default callback\n this.xmpp.on(type, callback)\n }\n\n async getRoster(ver) {\n const rosterMessage =\n xml(\n 'iq', { type: 'get' },\n xml(\n 'query', { xmlns: NS.ROSTER, ver },\n ),\n )\n const result = await this.xmpp.iqCaller.request(rosterMessage)\n return result.getChild('query')\n .getChildren('item')\n .map(item => {\n return {\n ...item.attrs,\n groups: item.getChildren('group').map(i => i.text()),\n }\n })\n }\n\n async sendPresence(show, status, to) {\n const presenceMessage = xml(\n 'presence', {\n to,\n },\n xml(\n 'show', {},\n show,\n ),\n status ? xml('status', {},\n status,\n ) : null,\n )\n await this.xmpp.send(presenceMessage)\n }\n\n async sendChatState (to, type, chatState) {\n if (!hasChatState) {\n return\n }\n const states = [\n 'active',\n 'composing',\n 'paused',\n 'inactive',\n 'gone',\n ]\n if (!states.includes(chatState)) {\n return\n }\n await this.xmpp.send(xml(\n 'message', {\n type,\n to,\n from: this.jid.full,\n },\n xml(chatState, { xmlns: NS.CHAT_STATE }),\n ))\n }\n\n async sendMessage (to, type, body, url = undefined) {\n const id = nanoid()\n await this.xmpp.send(xml(\n 'message', {\n type,\n to,\n from: this.jid.full,\n id,\n },\n xml(\n 'body', {},\n url ? url : body,\n ),\n hasChatState ? xml('active', { xmlns: NS.CHAT_STATE }) : null,\n url ? xml(\n 'x', { xmlns: NS.OUT_OF_BAND_DATA },\n xml(\n 'url', {},\n url,\n ),\n ) : null,\n xml(\n 'origin-id', {\n xmlns: NS.UNIQUE_ID,\n id,\n },\n ),\n ))\n const sentMessage = {\n type,\n to: this.parseJid(to),\n from: this.jid,\n id,\n body,\n delay: new Date().toISOString(),\n }\n if (url) {\n sentMessage.links = [{ url }]\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-message sent', sentMessage)\n }\n xmppClient.callbacks.messageSent.forEach((callback) => callback(sentMessage))\n }\n\n // enabling carbon (XEP-0280)\n async enableCarbons () {\n const carbonsMessage =\n xml(\n 'iq', { type: 'set' },\n xml(\n 'enable', { xmlns: NS.CARBONS },\n ),\n )\n const result = await this.xmpp.iqCaller.request(carbonsMessage)\n return result.attrs.type === 'result'\n }\n\n // Bookmarks (XEP-0048)\n async getBookmarks() {\n const bookmarkRequest =\n xml(\n 'iq', { type: 'get' },\n xml(\n 'query', { xmlns: NS.PRIVATE } ,\n xml(\n 'storage', { xmlns: NS.BOOKMARKS },\n ),\n ),\n )\n const result = await this.xmpp.iqCaller.request(bookmarkRequest)\n const bookmarks = []\n result.getChildren('query')\n .forEach(q => q.getChildren('storage')\n .forEach(s => s.getChildren('conference')\n .forEach(conference => {\n const bookmark = conference.attrs\n if (conference.children) {\n conference.children.forEach(attr => {\n bookmark[attr.name] = attr.children[0]\n })\n }\n if (typeof bookmark.autojoin !== 'boolean') {\n bookmark.autojoin = bookmark.autojoin === 'true'\n }\n const nick = conference.getChildText('nick')\n if (nick) {\n bookmark.nick = nick\n }\n const password = conference.getChildText('password')\n if (password) {\n bookmark.password = password\n }\n bookmarks.push(bookmark)\n }),\n ),\n )\n return bookmarks\n }\n\n async setBookmarks(bookmarks) {\n const setBookmarkRequest =\n xml(\n 'iq', { type: 'set' },\n xml(\n 'query', { xmlns: NS.PRIVATE } ,\n xml(\n 'storage', { xmlns: NS.BOOKMARKS },\n bookmarks.map(b => xml(\n 'conference', {\n jid: b.jid,\n autojoin: b.autojoin,\n name: b.name,\n },\n b.nick ? xml(\n 'nick', {}, b.nick,\n ) : null,\n b.password ? xml(\n 'password', {}, b.password,\n ) : null,\n ),\n ),\n ),\n ),\n )\n await this.xmpp.iqCaller.request(setBookmarkRequest)\n }\n\n async addBookmark(bookmark) {\n const bookmarks = await this.getBookmarks()\n bookmarks.push({\n jid: bookmark.jid,\n autojoin: bookmark.autojoin,\n name: bookmark.name,\n nick: bookmark.nick,\n password: bookmark.password,\n })\n await this.setBookmarks(bookmarks)\n }\n\n async removeBookmark(jid) {\n const bookmarks = (await this.getBookmarks())\n .filter(bookmark => bookmark.jid !== jid)\n await this.setBookmarks(bookmarks)\n }\n\n // Service Discovery (XEP-0030)\n async getDiscoInfo(to) {\n if (to === undefined) {\n to = this.jid.domain\n }\n if (Object.hasOwnProperty.call(discoInfoCache, to)) {\n return discoInfoCache[to]\n }\n const discoInfoMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'query', { xmlns: NS.DISCO_INFO },\n ),\n )\n const result = await this.xmpp.iqCaller.request(discoInfoMessage)\n\n // Service Discovery Extensions (XEP-0128)\n const discoInfo = {\n identities: result.getChild('query').getChildren('identity').map(identity => identity.attrs),\n features: result.getChild('query').getChildren('feature').map(feature => feature.attrs.var),\n extensions: result.getChild('query').getChildren('x').map(x => {\n return { fields: x.getChildren('field').map(field => {\n return {\n name: field.attrs.var,\n label: field.attrs.label,\n type: field.attrs.type,\n value: field.getChildText('value'),\n }\n }) }\n }),\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-getDiscoInfo', to, result, discoInfo)\n }\n // cache result for further request\n discoInfoCache[to] = discoInfo\n return discoInfo\n }\n\n async getDiscoItems(to) {\n if (to === undefined) {\n to = this.jid.domain\n }\n const discoItemsMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'query', { xmlns: NS.DISCO_ITEMS },\n ),\n )\n const result = await this.xmpp.iqCaller.request(discoItemsMessage)\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-getDiscoItems', to, result)\n }\n return {\n items: result.getChild('query').getChildren('item').map(i => i.attrs),\n }\n }\n\n // get HTTP file upload capacity (XEP-0363)\n async getUploadService() {\n // get info from main domain\n this.uploadService = this.jid.domain\n const discoInfo = await this.getDiscoInfo()\n let maxSize = this.getMaxFileSize(discoInfo)\n if (maxSize === undefined) {\n // main domain does not advertise upload service, get components (items)\n const discoItems = await this.getDiscoItems()\n for (let i = 0; i < discoItems.items.length; i++) {\n try {\n const discoInfo = await this.getDiscoInfo(discoItems.items[i].jid)\n maxSize = this.getMaxFileSize(discoInfo)\n if (maxSize) {\n this.uploadService = discoItems.items[i].jid\n break\n }\n } catch (error) {\n console.warn(error.message)\n }\n }\n }\n return {\n maxSize,\n }\n }\n\n getMaxFileSize (discoInfo) {\n if (discoInfo.features.includes(NS.HTTP_UPLOAD)) {\n for (let i = 0; i < discoInfo.extensions.length; i++) {\n const extension = discoInfo.extensions[i]\n if (extension.fields.map(field => field.value).includes(NS.HTTP_UPLOAD)) {\n const maxFileSizeField = extension.fields.filter(field => field.name === 'max-file-size')\n if (maxFileSizeField.length > 0) {\n return parseInt(maxFileSizeField[0].value, 10)\n }\n }\n }\n }\n return undefined\n }\n\n async getUploadSlot(to, request) {\n if (to === undefined || to === null) {\n to = this.uploadService\n }\n const slotRequestMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'request', { xmlns: NS.HTTP_UPLOAD, ...request },\n ),\n )\n const result = await this.xmpp.iqCaller.request(slotRequestMessage)\n const upload = {\n url: result.getChildrenByFilter(child => child.name === 'put', true)[0].attrs.url,\n }\n const download = result.getChildrenByFilter(child => child.name === 'get', true)[0].attrs.url\n return {\n upload,\n download,\n }\n }\n\n // vcard-temp (XEP-0054)\n getVCardAttributes () {\n return [\n {\n id: 'PHOTO',\n label: '',\n placeholder: '',\n type: 'avatar',\n },\n {\n id: 'FN',\n label: 'Full name',\n placeholder: 'John Doe',\n type: 'input',\n },\n {\n id: 'NICKNAME',\n label: 'Nickname',\n placeholder: 'Jo',\n type: 'input',\n },\n {\n id: 'URL',\n label: 'URL',\n placeholder: 'https://mywebsite.ltd',\n type: 'input',\n },\n {\n id: 'BDAY',\n label: 'Birthday',\n placeholder: '1986-08-23',\n type: 'input',\n },\n {\n id: 'ROLE',\n label: 'Role',\n placeholder: 'Executive',\n type: 'input',\n },\n {\n id: 'TITLE',\n label: 'Title',\n placeholder: 'V.P. Research and Development',\n type: 'input',\n },\n ]\n }\n\n async getVCard(to) {\n const getVCardMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full, to },\n xml(\n 'vCard', { xmlns: NS.VCARD },\n ),\n )\n const result = await this.xmpp.iqCaller.request(getVCardMessage)\n const attributes = this.getVCardAttributes()\n .reduce((attributes, attribute) => {\n attributes[attribute.id] = attribute\n return attributes\n }, {})\n const records = result.getChild('vCard').children.map(record => {\n const r = {\n name: record.name,\n }\n const dataType = attributes[record.name] ? attributes[record.name].type : null\n switch (dataType) {\n case 'avatar':\n r.data = record.getChild('BINVAL') ? record.getChild('BINVAL').children[0] : null\n r.mediaType = record.getChild('TYPE') ? record.getChild('TYPE').children[0] : 'image/png'\n break\n case 'input':\n r.value = record.getText()\n break\n default:\n Object.assign(r, record)\n break\n }\n return r\n })\n return { records }\n }\n\n async setVCard (newVCard) {\n // get original\n const getVCardMessage =\n xml(\n 'iq', { type: 'get', from: xmppClient.jid.full },\n xml(\n 'vCard', { xmlns: NS.VCARD },\n ),\n )\n const vCard = (await this.xmpp.iqCaller.request(getVCardMessage)).getChild('vCard')\n // update handled records\n // photo record\n let type = null\n let binVal = null\n if (newVCard.PHOTO) {\n const parts = newVCard.PHOTO.split(',')\n type = /data:(.*);base64/.exec(parts[0])[1]\n binVal = parts[1]\n }\n const updatedRecords = [\n xml(\n 'PHOTO', {},\n xml(\n 'TYPE', {}, type,\n ),\n xml(\n 'BINVAL', {}, binVal,\n ),\n ),\n // other handled records\n ...this.getVCardAttributes()\n .filter(attribute => attribute.id !== 'PHOTO')\n .map(attribute => {\n return xml(\n attribute.id, {}, newVCard[attribute.id],\n )\n }),\n ]\n const handledAttributes = this.getVCardAttributes()\n .map(attribute => attribute.id)\n vCard.children = vCard.children\n // remove previous records to update\n .filter(record => !handledAttributes.includes(record.name))\n // add updated records\n .concat(updatedRecords)\n // prepare and send iq message\n const setVCardMessage =\n xml(\n 'iq', {\n type: 'set',\n },\n vCard,\n )\n const result = await this.xmpp.iqCaller.request(setVCardMessage)\n if (result.attrs.type !== 'result') {\n throw new Error('Error during vCard update')\n }\n }\n\n // Message Archive Management (XEP-0313)\n async searchHistory(jid, last, max = 50) {\n const queryArchiveMessage =\n xml(\n 'iq', { type: 'set' },\n xml(\n 'query', { xmlns: NS.MAM },\n xml('x', { xmlns: NS.FORM, type: 'submit' },\n xml('field', { var: 'FORM_TYPE', type: 'hidden' },\n xml('value', {}, NS.MAM),\n ),\n xml('field', { var: 'with' },\n xml('value', {}, jid),\n ),\n ),\n xml('set', { xmlns: NS.RSM },\n xml('max', {}, max),\n xml('before', {}, last),\n ),\n ),\n )\n const result = await this.xmpp.iqCaller.request(queryArchiveMessage)\n const paging = {}\n if (result.attrs.type === 'result') {\n const set = result.getChild('fin').getChild('set')\n paging.first = set.getChildText('first')\n paging.last = set.getChildText('last')\n paging.count = set.getChildText('count')\n }\n return {\n paging,\n }\n }\n\n // Multi-User Chat (XEP-0045)\n async joinRoom(jid, nick, opts) {\n if (nick === null) {\n nick = xmppClient.jid.local\n }\n const roomPresenceMessage = xml(\n 'presence', {\n to: `${jid}/${nick}`,\n },\n xml(\n 'x', { xmlns: NS.MUC },\n opts && opts.muc && opts.muc.password ? xml(\n 'password', null, opts.muc.password,\n ) : null,\n ),\n )\n\n const timeoutDuration = 2000\n let timeoutId = null\n const timeoutPromise = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId)\n reject(new Error('Server unreachable'))\n }, timeoutDuration)\n })\n const joinPromise = new Promise((resolve, reject) => {\n function roomJoinAck (stanza) {\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-stanza, joined room?', stanza)\n }\n if (stanza.is('presence') && stanza.attrs.from === `${jid}/${nick}`) {\n // stanza is a presence from the joined room\n const mucPresence = stanza.getChild('x', NS.MUC_USER)\n if (import.meta.env.DEV && hasDebug) {\n console.debug('1-presence joined room muc', mucPresence)\n }\n if (mucPresence) {\n if (mucPresence.getChildren('status').some(status => status.attrs.code === '110')) {\n // it is our presence, remove the listener and resolve\n this.removeListener('stanza', roomJoinAck)\n clearTimeout(timeoutId)\n resolve(stanza)\n return\n }\n }\n if (stanza.attrs.type === 'error') {\n // there was an issue, remove the listener and reject with XMPP error\n this.removeListener('stanza', roomJoinAck)\n clearTimeout(timeoutId)\n reject(XMPPError.fromElement(stanza.getChild('error')))\n }\n }\n }\n this.xmpp.on('stanza', roomJoinAck)\n this.xmpp.send(roomPresenceMessage)\n .catch(reject)\n })\n return Promise.race([\n joinPromise,\n timeoutPromise,\n ])\n }\n\n async leaveRoom(jid, nick) {\n const presenceMessage = xml(\n 'presence', {\n to: `${jid}/${nick}`,\n type: 'unavailable',\n },\n )\n await this.xmpp.send(presenceMessage)\n }\n\n async getRoomConfig(roomJid) {\n const getRoomConfigMessage =\n xml(\n 'iq', {\n type: 'get',\n to: roomJid,\n },\n xml(\n 'query', { xmlns: NS.MUC_OWNER },\n ),\n )\n const result = await this.xmpp.iqCaller.request(getRoomConfigMessage)\n const form = result.getChild('query').getChild('x')\n const config = {\n title: form.getChildText('title'),\n instructions: form.getChildText('instructions'),\n fields: form.getChildren('field').map(field => {\n const f = {\n name: field.attrs.var,\n label: field.attrs.label,\n type: field.attrs.type,\n value: field.getChildText('value'),\n description: field.getChildText('desc'),\n }\n switch (f.type) {\n case 'boolean':\n f.value = f.value === '1'\n break\n case 'list-single':\n f.options = field.getChildren('option').map(option => {\n return {\n value: option.getChildText('value'),\n label: option.attrs.label,\n }\n })\n break\n }\n return f\n }),\n }\n if (import.meta.env.DEV && hasDebug) {\n console.debug('0-getConfig', roomJid, result, form, config)\n }\n return config\n }\n\n async configureRoom(roomJid, form) {\n const setRoomConfigMessage =\n xml(\n 'iq', {\n type: 'set',\n to: roomJid,\n },\n xml(\n 'query', { xmlns: NS.MUC_OWNER },\n xml(\n 'x', { xmlns: NS.FORM, type: 'submit' },\n form.fields.map(field => {\n return xml(\n 'field', {\n var: field.name,\n },\n xml('value', {}, field.type === 'boolean' ? field.value ? '1' : '0' : field.value),\n )\n }),\n ),\n ),\n )\n await this.xmpp.iqCaller.request(setRoomConfigMessage)\n }\n\n}\n\nexport { XmppClient, NS }\n","export default 'data:image/svg+xml,%3Csvg width=\"334.26\" height=\"334.26\" enable-background=\"new 0 0 351.333 351.333\" version=\"1.1\" viewBox=\"0 0 334.26 334.26\" xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Crect width=\"334.26\" height=\"334.26\" rx=\"0\" ry=\"0\" fill=\"%23edeef2\" style=\"paint-order:markers stroke fill\"/%3E%3Cpath d=\"m100.08 147.42s-6.6224-89.335 52.581-89.102c0 0 10.703-6.0401 50.676 3.0283 0 0 43.286 11.448 33.836 85.726 0 0 3.604 7.3651 3.565 19.255-0.024 7.19-0.43831 21.357-11.744 30.151 0 0-2.5163 23.071-23.849 40.404 0 0-4.9206 23.395 2.667 30 34.161 22.063 104.19 17.426 104.95 67.379h-295.53c0.48993-50.872 87.364-50.653 108.01-69.05 0 0 6.0062-10.573 2.7826-28.53 0 0-20.492-23.204-20.638-41.944 0 0-11.264-8.356-11.887-23.424-0.25-6.058-1.0857-16.903 4.5823-23.894z\" fill=\"%237e8dc8\"/%3E%3C/svg%3E%0A'\n","import { XmppClient as XMPP, NS } from './XmppClient'\nimport defaultAvatar from '../assets/defaultAvatar'\n\nconst transports = window.config.transports\nconst resource = window.config.resource\nconst defaultDomain = window.config.defaultDomain\nconst defaultMuc = window.config.defaultMuc\nconst connectTimeout = window.config.connectTimeout\n\nfunction logError (error, defaultLevel) {\n const args = Array.prototype.slice.call(arguments, 2)\n if (['XMPPError', 'StanzaError'].includes(error.name)) {\n console.warn(error.name, ...args.filter(arg => !(arg instanceof Error)))\n return\n }\n if (defaultLevel === 'error') {\n console.error(...args)\n } else {\n console.warn(...args)\n }\n}\n\nexport default {\n\n jid: null,\n fullJid: null,\n context: null,\n client: null,\n nick: null,\n isAnonymous: true,\n defaultDomain,\n defaultMuc,\n\n // create XMPP client with credentials and context\n async create (jid, password, domain, transportsUser, context) {\n // clear previous session\n this.nick = null\n this.fullJid = null\n this.jid = null\n this.context = context\n this.disconnect()\n\n // handle anonymous authentication\n if (jid) {\n this.isAnonymous = false\n } else {\n this.isAnonymous = true\n jid = 'anon'\n }\n\n // set domain from user jid or by default\n const jidParts = jid.split('@')\n if (jidParts.length > 1) {\n jid = jidParts[0]\n domain = jidParts[1]\n }\n if (!domain) {\n domain = defaultDomain\n }\n\n this.jid = jid\n\n // use transports if user provided them\n if (transportsUser.websocket) {\n transports.websocket = transportsUser.websocket\n }\n\n // create XMPP client\n this.client = new XMPP({\n service: transports.websocket,\n domain,\n resource: resource || 'Web XMPP',\n jid,\n password,\n })\n\n },\n\n // connect client to XMPP server\n connect () {\n const timeoutDuration = connectTimeout || 5000\n let timeoutId = null\n const timeoutPromise = new Promise((resolve, reject) => {\n timeoutId = setTimeout(() => {\n clearTimeout(timeoutId)\n reject(new Error('Server unreachable'))\n }, timeoutDuration)\n })\n\n const connectPromise = new Promise((resolve, reject) => {\n\n // listen for XMPP error\n this.client.on('error', (error) => {\n console.error('XMPP error', error.message)\n })\n\n // listen for authentication success\n this.client.on('authenticated', (jid) => {\n if (!this.isAnonymous) {\n localStorage.setItem('barejid', jid.bare)\n localStorage.setItem('jid', this.jid)\n localStorage.setItem('auth', true)\n }\n // resolve when listen is resolved\n clearTimeout(timeoutId)\n this.fullJid = jid\n this.context.$store.setOnline(true)\n this.listen()\n resolve()\n })\n\n this.client.connect()\n .catch((error) => {\n // listen for authentication failure\n if (error.name === 'SASLError') {\n clearTimeout(timeoutId)\n return reject(new Error('Check your credentials'))\n }\n reject(new Error('Error during login'))\n })\n })\n\n return Promise.race([\n connectPromise,\n timeoutPromise,\n ])\n },\n\n // logic post connection (listeners)\n listen () {\n function storeMessage (xmppSocket, type, message) {\n // clean body message if it contains only a link\n if (message.links) {\n if (message.links.some((link) => link.url === message.body)) {\n message.body = ''\n }\n }\n xmppSocket.context.$store.storeMessage({\n type,\n message,\n })\n }\n\n\n\n this.client.on('online', () => {\n console.info('XMPP online')\n this.context.$store.setOnline(true)\n })\n this.client.on('status', (status) => {\n if (status === 'close' || status === 'disconnect') {\n if (this.context.$store.isOnline) {\n console.warn('XMPP connection is closed')\n this.context.$store.setOnline(false)\n }\n }\n })\n\n // get contacts (rfc6121)\n this.client.getRoster()\n .then((rosterResult) => {\n this.context.$store.setRoster(rosterResult)\n\n // send presence to contacts (rfc6121)\n this.client.sendPresence()\n })\n .catch((rosterError) => logError(rosterError, 'error', 'getRoster', rosterError.message, rosterError))\n\n this.client.getDiscoInfo()\n .catch((discoInfoError) => logError(discoInfoError, 'error', 'getDiscoInfo', discoInfoError.message, discoInfoError))\n\n // enable carbons (XEP-0280: Message Carbons)\n this.client.enableCarbons()\n .catch((error) => logError(error, 'error', 'carbon', error.message, error))\n\n // get bookmarked rooms (XEP-0048: Bookmarks)\n this.client.getBookmarks()\n .then((mucBookmarks) => {\n mucBookmarks.forEach((bookmark) => {\n const room = this.setRoomAttributes(bookmark.jid, null, bookmark.password)\n room.isBookmarked = true\n room.name = bookmark.name\n room.autojoin = bookmark.autojoin\n // @TODO handle nick\n this.context.$store.setKnownRoom(room)\n if (bookmark.autojoin) {\n // handle autojoin\n this.joinRoom(bookmark.jid, null, { muc: { password: bookmark.password } })\n }\n })\n // get rooms attributes\n mucBookmarks.forEach((muc) => {\n this.client.getDiscoInfo(muc.jid)\n .then((mucDiscoInfoResult) => {\n const room = this.setRoomAttributes(muc.jid, mucDiscoInfoResult, muc.password)\n room.isBookmarked = true\n this.context.$store.setKnownRoom(room)\n })\n .catch((error) => logError(error, 'error', 'getBookmarks/getDiscoInfo', error.message, error))\n })\n })\n .catch((error) => logError(error, 'error', 'getBookmarks', error.message, error))\n\n // get HTTP file upload capacity (XEP-0363)\n this.client.getUploadService()\n .then((UploadServiceResult) => {\n if (UploadServiceResult.maxSize) {\n this.context.$store.setHttpFileUploadMaxSize(UploadServiceResult.maxSize)\n }\n })\n .catch((error) => {\n console.warn(error.message)\n })\n\n // listen for contact/room messages\n this.client.on('chat', (receivedMessage) => {\n storeMessage(this, receivedMessage.type, receivedMessage)\n })\n\n // listen for message sent by user (direct or carbon)\n this.client.on('messageSent', (message) => {\n if (!message.body && !message.url) {\n // no body in message (probably a chat state)\n return\n }\n storeMessage(this, message.type, message)\n })\n\n // listen for contact chat state (writing, pause, ...)\n this.client.on('chatState', chatState => {\n this.context.$store.setChatState(chatState)\n })\n\n // listen for room creation\n this.client.on('mucCreated', async (presence) => {\n let room = {\n jid: presence.from.bare,\n }\n this.context.$store.setKnownRoom(room)\n // get room information\n try {\n const mucDiscoInfoResult = await this.client.getDiscoInfo(room.jid)\n room = this.setRoomAttributes(room.jid, mucDiscoInfoResult, null)\n this.context.$store.setKnownRoom(room)\n } catch (error) {\n logError(error, 'error', 'presence/getDiscoInfo', error.message, error)\n }\n })\n\n // listen for presence\n this.client.on('presence', async (presence) => {\n const fullJid = presence.from\n if (fullJid.bare === this.fullJid.bare) {\n // user presence\n if (fullJid.full === this.fullJid.full) {\n // user presence on current resource, emit event\n this.context.$store.setPresence(presence.show)\n }\n return\n }\n // check if it is a MUC presence\n if (presence.isMuc) {\n if (fullJid.resource === '') {\n // room presence\n return\n }\n if (presence.isSelf) {\n if (presence.type === 'unavailable') {\n this.context.$store.removeJoinedRoom(fullJid.bare)\n } else {\n this.context.$store.setJoinedRoom(fullJid.bare)\n }\n }\n if (presence.type === 'unavailable') {\n // occupant left room\n this.context.$store.removeRoomOccupant({\n roomJid: fullJid.bare,\n jid: fullJid.full,\n })\n return\n }\n this.context.$store.setRoomOccupant({\n roomJid: fullJid.bare,\n jid: fullJid.full,\n presence: presence.show,\n })\n return\n }\n // contact presence commit to store\n this.context.$store.setContactPresence({ jid: fullJid.bare, presence: presence.show, status: presence.status })\n })\n\n // listen for retracted messages\n this.client.on('messageRetracted', (retracted) => {\n const index = this.context.$store.messages.findIndex((message) => message.from.bare === retracted.from && message.stanzaId === retracted.stanzaId)\n if (index === -1) {\n // original message is not found (unknown or retracted sent by a third party)\n return\n }\n this.context.$store.updateMessage({\n stanzaId: retracted.stanzaId,\n // replace body and links\n body: `Moderated by ${retracted.by.resource}` + (retracted.reason ? ` (${retracted.reason})` : ''),\n links: [],\n status: {\n code: 'moderated',\n message: retracted.reason,\n },\n })\n })\n\n // listen for room subject change\n this.client.on('subjectChange', (subjectChange) => {\n if (subjectChange.from && subjectChange.from.bare && subjectChange.subject) {\n this.context.$store.setRoomSubject (subjectChange.from.bare, subjectChange.from.resource, subjectChange.subject)\n }\n })\n\n // listen for sent message errors\n this.client.on('messageSentError', (error) => {\n switch (error.type) {\n case 'cancel':\n this.context.$store.setMessageStatus(error.messageId, 'error', error.message)\n break\n }\n })\n },\n\n async disconnect () {\n if (this.context && this.client) {\n try {\n await this.client.disconnect()\n this.context.$store.clear()\n } catch (error) {\n logError(error, 'error', 'disconnect error', error.message, error)\n }\n }\n },\n\n async sendUrl (to, url, isMuc) {\n await this.client.sendMessage(to, isMuc ? 'groupchat' : 'chat', url, url)\n },\n\n async sendMessage (to, body, isMuc) {\n await this.client.sendMessage(to, isMuc ? 'groupchat' : 'chat', body)\n },\n\n async sendChatState (to, isMuc, chatState) {\n await this.client.sendChatState(to, isMuc ? 'groupchat' : 'chat', chatState)\n },\n\n setRoomAttributes (jid, mucDiscoInfoResult, password = null) {\n const room = {\n jid: jid,\n name: jid,\n description: null,\n lang: null,\n occupantsCount: null,\n password,\n isPublic: null,\n isPersistent: null,\n isPasswordProtected: null,\n isMembersOnly: null,\n isAnonymous: null,\n isModerated: null,\n isBookmarked: null,\n hasVCard: null,\n unreadCount: null,\n }\n if (mucDiscoInfoResult) {\n // get room name from identities\n if (\n Object.prototype.hasOwnProperty.call(mucDiscoInfoResult, 'identities') &&\n mucDiscoInfoResult.identities.length > 0 &&\n Object.prototype.hasOwnProperty.call(mucDiscoInfoResult.identities[0], 'name')\n ) {\n room.name = mucDiscoInfoResult.identities[0].name\n }\n // get room extensions\n if (\n mucDiscoInfoResult.extensions.length > 0 &&\n Object.prototype.hasOwnProperty.call(mucDiscoInfoResult.extensions[0], 'fields')\n ) {\n const fields = mucDiscoInfoResult.extensions[0].fields\n // description\n const description = fields.find((field) => field.name === 'muc#roominfo_description')\n if (description) {\n room.description = description.value\n }\n // lang\n const lang = fields.find((field) => field.name === 'muc#roominfo_lang')\n if (lang) {\n room.lang = lang.value\n }\n // occupants\n const occupantsCount = fields.find((field) => field.name === 'muc#roominfo_occupants')\n if (occupantsCount) {\n room.occupantsCount = parseInt(occupantsCount.value)\n room.occupantsCount = isNaN(room.occupantsCount) ? occupantsCount.value : room.occupantsCount\n }\n }\n // public or hidden\n if (mucDiscoInfoResult.features.includes('muc_public')) {\n room.isPublic = true\n }\n if (mucDiscoInfoResult.features.includes('muc_hidden')) {\n room.isPublic = false\n }\n // persistent or temporary (destroyed if the last occupant exits)\n if (mucDiscoInfoResult.features.includes('muc_persistent')) {\n room.isPersistent = true\n }\n if (mucDiscoInfoResult.features.includes('muc_temporary')) {\n room.isPersistent = false\n }\n // password protected or not\n if (mucDiscoInfoResult.features.includes('muc_passwordprotected')) {\n room.isPasswordProtected = true\n }\n if (mucDiscoInfoResult.features.includes('muc_unsecured')) {\n room.isPasswordProtected = false\n }\n // members only or open\n if (mucDiscoInfoResult.features.includes('muc_membersonly')) {\n room.isMembersOnly = true\n }\n if (mucDiscoInfoResult.features.includes('muc_open')) {\n room.isMembersOnly = false\n }\n // semi-anonymous (display nick) or non-anonymous (display jid)\n if (mucDiscoInfoResult.features.includes('muc_semianonymous')) {\n room.isAnonymous = true\n }\n if (mucDiscoInfoResult.features.includes('muc_nonanonymous')) {\n room.isAnonymous = false\n }\n // moderated or not\n if (mucDiscoInfoResult.features.includes('muc_moderated')) {\n room.isModerated = true\n }\n if (mucDiscoInfoResult.features.includes('muc_unmoderated')) {\n room.isModerated = false\n }\n // has vCard\n if (mucDiscoInfoResult.features.includes('vcard-temp')) {\n room.hasVCard = true\n }\n }\n return room\n },\n\n async getJidAvatar (jid) {\n try {\n const uri = sessionStorage.getItem('avatar-' + jid)\n if (uri) {\n return { uri, isDefault: false }\n }\n if (!this.client) {\n return { uri: defaultAvatar, isDefault: true }\n }\n const vCard = await this.client.getVCard(jid)\n if (!vCard.records) {\n return { uri: defaultAvatar, isDefault: true }\n }\n const avatar = vCard.records.find((record) => record.name === 'PHOTO')\n if (avatar && avatar.data) {\n const uri = 'data:' + avatar.mediaType + ';base64,' + avatar.data\n sessionStorage.setItem('avatar-' + jid, uri)\n return { uri, isDefault: false }\n }\n } catch (error) {\n logError(error, 'warn', 'getJidAvatar error', jid, error.message)\n }\n return { uri: defaultAvatar, isDefault: true }\n },\n\n async getProfile () {\n try {\n const vCard = await this.client.getVCard()\n if (!vCard.records) {\n return { }\n }\n return vCard.records\n // transform each record\n .map(attr => {\n const value = (attr.name === 'PHOTO') ? 'data:' + attr.mediaType + ';base64,' + attr.data : attr.value\n return {\n name: attr.name,\n value,\n }\n })\n // transform in object\n .reduce((acc, cur) => {\n acc[cur.name] = cur.value\n return acc\n }, {})\n } catch (error) {\n logError(error, 'warn', 'getProfile error', error.message)\n return {}\n }\n },\n\n async updateProfile (profile) {\n await this.client.setVCard(profile)\n if (profile.PHOTO) {\n sessionStorage.setItem('avatar-' + this.fullJid.bare, profile.PHOTO)\n }\n return\n },\n\n async sendPresence (presence) {\n try {\n // send global presence\n await this.client.sendPresence(presence.show)\n // send presence to joined rooms\n this.context.$store.joinedRooms.forEach((roomJid) => {\n this.client.sendPresence(presence.show, undefined, roomJid)\n })\n } catch (error) {\n logError(error, 'error', 'sendPresence error', error.message, error)\n }\n },\n\n async searchHistory (jid, last = true) {\n try {\n const history = await this.client.searchHistory(jid, last, 10)\n return history.paging\n } catch (error) {\n logError(error, 'error', 'searchHistory error', error.message, error)\n }\n },\n\n async joinRoom (jid, nick = null, opts = {}, _room = {}) {\n if (!this.fullJid) {\n return {\n isSuccess: false,\n message: 'User Jid is missing',\n }\n }\n if (nick === null) {\n if (this.nick !== null) {\n nick = this.nick\n } else {\n nick = this.fullJid.local\n }\n }\n try {\n await this.client.joinRoom(jid, nick, opts)\n if (_room.jid) {\n const room = Object.assign({}, _room)\n if (opts && opts.muc && opts.muc.password) {\n room.password = opts.muc.password\n }\n this.context.$store.setKnownRoom(room)\n }\n return {\n isSuccess: true,\n }\n } catch (error) {\n logError(error, 'error', 'joinRoom', error.message, error)\n return {\n isSuccess: false,\n message: this.getRoomError(error),\n }\n }\n },\n\n async getPublicMuc () {\n if (!this.context) {\n return []\n }\n const rooms = []\n\n // discoItems on server\n try {\n const serverDiscoItemsResult = await this.client.getDiscoItems(this.fullJid.domain)\n if (serverDiscoItemsResult.items.length === 0) {\n console.info('There is no MUC service')\n return []\n }\n\n // discoInfo on every service for finding MUC services\n for (const serverDiscoItem of serverDiscoItemsResult.items) {\n try {\n const serviceDiscoInfoResult = await this.client.getDiscoInfo(serverDiscoItem.jid)\n\n if (serviceDiscoInfoResult.features.includes(NS.MUC)) {\n // discoItems on every MUC service for listing rooms\n try {\n const MucDiscoItemsResult = await this.client.getDiscoItems(serverDiscoItem.jid)\n\n // discoInfo on every room for getting attributes\n for (const MucDiscoItem of MucDiscoItemsResult.items) {\n const room = await this.getRoom(MucDiscoItem.jid)\n if (room.jid && room.jid !== serverDiscoItem.jid) {\n this.context.$store.setKnownRoom(room)\n rooms.push(room)\n }\n }\n } catch (error) {\n console.warn(`getDiscoItems on MUC service ${serverDiscoItem.jid} error:`, error.message)\n }\n }\n } catch (error) {\n logError(error, 'warn', `getDiscoInfo on service ${serverDiscoItem.jid} error: `, error.message)\n }\n }\n } catch (error) {\n logError(error, 'error', 'getDiscoItems on server error', error.message, error)\n }\n return rooms\n },\n\n async getRoom (jid) {\n if (!this.context) {\n return {\n message: 'Missing context',\n }\n }\n try {\n const mucDiscoInfoResult = await this.client.getDiscoInfo(jid)\n if (mucDiscoInfoResult.features.includes(NS.MUC)) {\n const room = this.setRoomAttributes(jid, mucDiscoInfoResult)\n return room\n }\n } catch (error) {\n return {\n message: this.getRoomError(error),\n }\n }\n return {\n message: 'Not a valid room',\n }\n },\n\n getRoomError (error) {\n if (Object.prototype.hasOwnProperty.call(error, 'message')) {\n switch (error.message) {\n case 'not-authorized':\n return 'Valid password is required to join this room'\n case 'forbidden':\n return 'You have been banned from this room'\n case 'item-not-found':\n return 'This room does not exist'\n case 'not-allowed':\n return 'Room creation is restricted'\n case 'not-acceptable':\n return 'Reserved roomnick must be used'\n case 'registration-required':\n return 'You must be on the member list to join this room'\n case 'conflict':\n return 'Your nickname is already used in this room'\n case 'service-unavailable':\n return 'Maximum number of users has been reached in this room'\n }\n }\n return 'Unable to join room'\n },\n\n // HTTP upload (XEP-0363)\n async getUploadSlot (uploadService, uploadRequest) {\n try {\n return this.client.getUploadSlot(uploadService, uploadRequest)\n } catch (error) {\n logError(error, 'error', 'getUploadSlot error', error.message, error)\n throw error\n }\n },\n\n async bookmarkRoom (isAdd, jid, autojoin = true, nick = null) {\n try {\n const room = this.context.$store.getRoom(jid)\n if (isAdd) {\n // add bookmark\n const bookmark = {\n jid,\n name: room.name,\n autojoin,\n }\n if (room.password) {\n bookmark.password = room.password\n }\n if (nick) {\n bookmark.nick = nick\n } else if (this.nick) {\n bookmark.nick = this.nick\n }\n await this.client.addBookmark(bookmark)\n this.context.$store.setKnownRoom({\n jid,\n isBookmarked: true,\n })\n return true\n }\n // remove bookmark\n await this.client.removeBookmark(jid)\n this.context.$store.setKnownRoom({\n jid,\n isBookmarked: false,\n })\n return true\n } catch (error) {\n return false\n }\n },\n\n async createRoom (roomJid) {\n return this.client.joinRoom(roomJid, this.fullJid.local, {})\n },\n\n async getRoomConfig (roomJid) {\n return this.client.getRoomConfig(roomJid)\n },\n\n async setRoomConfig (roomJid, form) {\n return this.client.configureRoom(roomJid, form)\n },\n\n // Set nickname\n setNick (nick) {\n this.nick = nick\n },\n\n}\n","// src/client/build/register.ts\nvar autoUpdateMode = \"true\";\nvar selfDestroying = \"false\";\nvar auto = autoUpdateMode === \"true\";\nvar autoDestroy = selfDestroying === \"true\";\nfunction registerSW(options = {}) {\n const {\n immediate = false,\n onNeedRefresh,\n onOfflineReady,\n onRegistered,\n onRegisteredSW,\n onRegisterError\n } = options;\n let wb;\n let registerPromise;\n let sendSkipWaitingMessage;\n const updateServiceWorker = async (_reloadPage = true) => {\n await registerPromise;\n if (!auto) {\n await (sendSkipWaitingMessage == null ? void 0 : sendSkipWaitingMessage());\n }\n };\n async function register() {\n if (\"serviceWorker\" in navigator) {\n const { Workbox } = await import(\"workbox-window\");\n wb = new Workbox(\"./sw.js\", { scope: \"./\", type: \"classic\" });\n sendSkipWaitingMessage = async () => {\n await (wb == null ? void 0 : wb.messageSkipWaiting());\n };\n if (!autoDestroy) {\n if (auto) {\n wb.addEventListener(\"activated\", (event) => {\n if (event.isUpdate || event.isExternal)\n window.location.reload();\n });\n wb.addEventListener(\"installed\", (event) => {\n if (!event.isUpdate) {\n onOfflineReady == null ? void 0 : onOfflineReady();\n }\n });\n } else {\n let onNeedRefreshCalled = false;\n const showSkipWaitingPrompt = () => {\n onNeedRefreshCalled = true;\n wb == null ? void 0 : wb.addEventListener(\"controlling\", (event) => {\n if (event.isUpdate)\n window.location.reload();\n });\n onNeedRefresh == null ? void 0 : onNeedRefresh();\n };\n wb.addEventListener(\"installed\", (event) => {\n if (typeof event.isUpdate === \"undefined\") {\n if (typeof event.isExternal !== \"undefined\") {\n if (event.isExternal)\n showSkipWaitingPrompt();\n else\n !onNeedRefreshCalled && (onOfflineReady == null ? void 0 : onOfflineReady());\n } else {\n if (event.isExternal)\n window.location.reload();\n else\n !onNeedRefreshCalled && (onOfflineReady == null ? void 0 : onOfflineReady());\n }\n } else if (!event.isUpdate) {\n onOfflineReady == null ? void 0 : onOfflineReady();\n }\n });\n wb.addEventListener(\"waiting\", showSkipWaitingPrompt);\n wb.addEventListener(\"externalwaiting\", showSkipWaitingPrompt);\n }\n }\n wb.register({ immediate }).then((r) => {\n if (onRegisteredSW)\n onRegisteredSW(\"./sw.js\", r);\n else\n onRegistered == null ? void 0 : onRegistered(r);\n }).catch((e) => {\n onRegisterError == null ? void 0 : onRegisterError(e);\n });\n }\n }\n registerPromise = register();\n return updateServiceWorker;\n}\nexport {\n registerSW\n};\n","/*!\n * vue-router v4.3.2\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\nfunction isESModule(obj) {\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect <base> tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler<ScrollPositionEntry extends HistoryStateValue, ScrollPosition extends ScrollPositionEntry> {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler<ScrollPosition> = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `<base>` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `<base>` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `<base>` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict)\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map<string, Token[][]>()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [\n mainNormalizedRecord,\n ];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n }));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher))\n removeRoute(record.name);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if ((matcher.record.components &&\n Object.keys(matcher.record.components).length) ||\n matcher.record.name ||\n matcher.record.redirect) {\n insertMatcher(matcher);\n }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n let i = 0;\n while (i < matchers.length &&\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\n // Adding children with empty path should still appear before the parent\n // https://github.com/vuejs/router/issues/1124\n (matcher.record.path !== matchers[i].record.path ||\n !isRecordChildOf(matcher, matchers[i])))\n i++;\n matchers.splice(i, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n return {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: undefined,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\nfunction isRecordChildOf(record, parent) {\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of <router-view>. Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of <router-view>. Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to `<RouterView>`.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && slots.default(link);\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and <component :is=\"...\"> both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with <transition> & <keep-alive>\n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(`<router-view> can no longer be used directly inside <transition> or <keep-alive>.\\n` +\n `Use slot props instead:\\n\\n` +\n `<router-view v-slot=\"{ Component }\">\\n` +\n ` <${comp}>\\n` +\n ` <component :is=\"Component\" />\\n` +\n ` </${comp}>\\n` +\n `</router-view>`);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://next.router.vuejs.org/api/#history.');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n rawLocation = {};\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise<Component>\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(error.to, toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute() {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","<template>\n <span :class=\"{ 'has-jid': displayJid }\">\n <figure :class=\"'image is-'+size+'x'+size\">\n <img class=\"is-rounded\" :style=\"style\" :src=\"uri\" :title=\"title\">\n <i v-if=\"presence\" class=\"fa fa-circle presence-icon\" :class=\"presenceClass\" />\n </figure>\n <span v-if=\"displayJid\" class=\"ml-3\">{{ name ? name : jid }}</span>\n </span>\n</template>\n\n<script>\nexport default {\n name: 'Avatar',\n props: {\n jid: {\n type: String,\n required: true,\n },\n name: {\n type: String,\n default: null,\n },\n displayJid: {\n type: Boolean,\n default: false,\n },\n presence: {\n type: String,\n default: null,\n },\n status: {\n type: String,\n default: null,\n },\n size: {\n type: Number,\n default: 32,\n },\n },\n data () {\n return {\n uri: null,\n style: null,\n }\n },\n computed: {\n presenceClass () {\n switch (this.presence) {\n case 'dnd':\n return 'has-text-danger'\n case 'away':\n case 'xa':\n return 'has-text-warning'\n default:\n return 'has-text-success'\n }\n },\n title () {\n if (this.status !== null) {\n return `${this.jid} / ${this.status}`\n }\n return this.jid\n },\n },\n watch: {\n jid: 'getJidAvatar',\n },\n created () {\n this.getJidAvatar()\n },\n methods: {\n async getJidAvatar () {\n const avatar = await this.$xmpp.getJidAvatar(this.jid)\n this.uri = avatar.uri\n if (avatar.isDefault) {\n const angle = this.jid\n .split('')\n .reduce((acc, letter) => {\n return acc + letter.charCodeAt(0)\n }, 0) % 360\n this.style = `filter: hue-rotate(${angle}deg);`\n }\n },\n },\n}\n</script>\n\n<style>\n.has-jid {\n display: flex;\n align-items: center;\n}\n.presence-icon {\n font-size: 0.7em !important;\n position: absolute;\n right: -2px;\n bottom: -4px;\n}\n</style>\n","'use strict';\n\n/**\n * @param typeMap [Object] Map of MIME type -> Array[extensions]\n * @param ...\n */\nfunction Mime() {\n this._types = Object.create(null);\n this._extensions = Object.create(null);\n\n for (let i = 0; i < arguments.length; i++) {\n this.define(arguments[i]);\n }\n\n this.define = this.define.bind(this);\n this.getType = this.getType.bind(this);\n this.getExtension = this.getExtension.bind(this);\n}\n\n/**\n * Define mimetype -> extension mappings. Each key is a mime-type that maps\n * to an array of extensions associated with the type. The first extension is\n * used as the default extension for the type.\n *\n * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});\n *\n * If a type declares an extension that has already been defined, an error will\n * be thrown. To suppress this error and force the extension to be associated\n * with the new type, pass `force`=true. Alternatively, you may prefix the\n * extension with \"*\" to map the type to extension, without mapping the\n * extension to the type.\n *\n * e.g. mime.define({'audio/wav', ['wav']}, {'audio/x-wav', ['*wav']});\n *\n *\n * @param map (Object) type definitions\n * @param force (Boolean) if true, force overriding of existing definitions\n */\nMime.prototype.define = function(typeMap, force) {\n for (let type in typeMap) {\n let extensions = typeMap[type].map(function(t) {\n return t.toLowerCase();\n });\n type = type.toLowerCase();\n\n for (let i = 0; i < extensions.length; i++) {\n const ext = extensions[i];\n\n // '*' prefix = not the preferred type for this extension. So fixup the\n // extension, and skip it.\n if (ext[0] === '*') {\n continue;\n }\n\n if (!force && (ext in this._types)) {\n throw new Error(\n 'Attempt to change mapping for \"' + ext +\n '\" extension from \"' + this._types[ext] + '\" to \"' + type +\n '\". Pass `force=true` to allow this, otherwise remove \"' + ext +\n '\" from the list of extensions for \"' + type + '\".'\n );\n }\n\n this._types[ext] = type;\n }\n\n // Use first extension as default\n if (force || !this._extensions[type]) {\n const ext = extensions[0];\n this._extensions[type] = (ext[0] !== '*') ? ext : ext.substr(1);\n }\n }\n};\n\n/**\n * Lookup a mime type based on extension\n */\nMime.prototype.getType = function(path) {\n path = String(path);\n let last = path.replace(/^.*[/\\\\]/, '').toLowerCase();\n let ext = last.replace(/^.*\\./, '').toLowerCase();\n\n let hasPath = last.length < path.length;\n let hasDot = ext.length < last.length - 1;\n\n return (hasDot || !hasPath) && this._types[ext] || null;\n};\n\n/**\n * Return file extension associated with a mime type\n */\nMime.prototype.getExtension = function(type) {\n type = /^\\s*([^;\\s]*)/.test(type) && RegExp.$1;\n return type && this._extensions[type.toLowerCase()] || null;\n};\n\nmodule.exports = Mime;\n","module.exports = {\"application/andrew-inset\":[\"ez\"],\"application/applixware\":[\"aw\"],\"application/atom+xml\":[\"atom\"],\"application/atomcat+xml\":[\"atomcat\"],\"application/atomdeleted+xml\":[\"atomdeleted\"],\"application/atomsvc+xml\":[\"atomsvc\"],\"application/atsc-dwd+xml\":[\"dwd\"],\"application/atsc-held+xml\":[\"held\"],\"application/atsc-rsat+xml\":[\"rsat\"],\"application/bdoc\":[\"bdoc\"],\"application/calendar+xml\":[\"xcs\"],\"application/ccxml+xml\":[\"ccxml\"],\"application/cdfx+xml\":[\"cdfx\"],\"application/cdmi-capability\":[\"cdmia\"],\"application/cdmi-container\":[\"cdmic\"],\"application/cdmi-domain\":[\"cdmid\"],\"application/cdmi-object\":[\"cdmio\"],\"application/cdmi-queue\":[\"cdmiq\"],\"application/cu-seeme\":[\"cu\"],\"application/dash+xml\":[\"mpd\"],\"application/davmount+xml\":[\"davmount\"],\"application/docbook+xml\":[\"dbk\"],\"application/dssc+der\":[\"dssc\"],\"application/dssc+xml\":[\"xdssc\"],\"application/ecmascript\":[\"es\",\"ecma\"],\"application/emma+xml\":[\"emma\"],\"application/emotionml+xml\":[\"emotionml\"],\"application/epub+zip\":[\"epub\"],\"application/exi\":[\"exi\"],\"application/express\":[\"exp\"],\"application/fdt+xml\":[\"fdt\"],\"application/font-tdpfr\":[\"pfr\"],\"application/geo+json\":[\"geojson\"],\"application/gml+xml\":[\"gml\"],\"application/gpx+xml\":[\"gpx\"],\"application/gxf\":[\"gxf\"],\"application/gzip\":[\"gz\"],\"application/hjson\":[\"hjson\"],\"application/hyperstudio\":[\"stk\"],\"application/inkml+xml\":[\"ink\",\"inkml\"],\"application/ipfix\":[\"ipfix\"],\"application/its+xml\":[\"its\"],\"application/java-archive\":[\"jar\",\"war\",\"ear\"],\"application/java-serialized-object\":[\"ser\"],\"application/java-vm\":[\"class\"],\"application/javascript\":[\"js\",\"mjs\"],\"application/json\":[\"json\",\"map\"],\"application/json5\":[\"json5\"],\"application/jsonml+json\":[\"jsonml\"],\"application/ld+json\":[\"jsonld\"],\"application/lgr+xml\":[\"lgr\"],\"application/lost+xml\":[\"lostxml\"],\"application/mac-binhex40\":[\"hqx\"],\"application/mac-compactpro\":[\"cpt\"],\"application/mads+xml\":[\"mads\"],\"application/manifest+json\":[\"webmanifest\"],\"application/marc\":[\"mrc\"],\"application/marcxml+xml\":[\"mrcx\"],\"application/mathematica\":[\"ma\",\"nb\",\"mb\"],\"application/mathml+xml\":[\"mathml\"],\"application/mbox\":[\"mbox\"],\"application/mediaservercontrol+xml\":[\"mscml\"],\"application/metalink+xml\":[\"metalink\"],\"application/metalink4+xml\":[\"meta4\"],\"application/mets+xml\":[\"mets\"],\"application/mmt-aei+xml\":[\"maei\"],\"application/mmt-usd+xml\":[\"musd\"],\"application/mods+xml\":[\"mods\"],\"application/mp21\":[\"m21\",\"mp21\"],\"application/mp4\":[\"mp4s\",\"m4p\"],\"application/msword\":[\"doc\",\"dot\"],\"application/mxf\":[\"mxf\"],\"application/n-quads\":[\"nq\"],\"application/n-triples\":[\"nt\"],\"application/node\":[\"cjs\"],\"application/octet-stream\":[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"],\"application/oda\":[\"oda\"],\"application/oebps-package+xml\":[\"opf\"],\"application/ogg\":[\"ogx\"],\"application/omdoc+xml\":[\"omdoc\"],\"application/onenote\":[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"],\"application/oxps\":[\"oxps\"],\"application/p2p-overlay+xml\":[\"relo\"],\"application/patch-ops-error+xml\":[\"xer\"],\"application/pdf\":[\"pdf\"],\"application/pgp-encrypted\":[\"pgp\"],\"application/pgp-signature\":[\"asc\",\"sig\"],\"application/pics-rules\":[\"prf\"],\"application/pkcs10\":[\"p10\"],\"application/pkcs7-mime\":[\"p7m\",\"p7c\"],\"application/pkcs7-signature\":[\"p7s\"],\"application/pkcs8\":[\"p8\"],\"application/pkix-attr-cert\":[\"ac\"],\"application/pkix-cert\":[\"cer\"],\"application/pkix-crl\":[\"crl\"],\"application/pkix-pkipath\":[\"pkipath\"],\"application/pkixcmp\":[\"pki\"],\"application/pls+xml\":[\"pls\"],\"application/postscript\":[\"ai\",\"eps\",\"ps\"],\"application/provenance+xml\":[\"provx\"],\"application/pskc+xml\":[\"pskcxml\"],\"application/raml+yaml\":[\"raml\"],\"application/rdf+xml\":[\"rdf\",\"owl\"],\"application/reginfo+xml\":[\"rif\"],\"application/relax-ng-compact-syntax\":[\"rnc\"],\"application/resource-lists+xml\":[\"rl\"],\"application/resource-lists-diff+xml\":[\"rld\"],\"application/rls-services+xml\":[\"rs\"],\"application/route-apd+xml\":[\"rapd\"],\"application/route-s-tsid+xml\":[\"sls\"],\"application/route-usd+xml\":[\"rusd\"],\"application/rpki-ghostbusters\":[\"gbr\"],\"application/rpki-manifest\":[\"mft\"],\"application/rpki-roa\":[\"roa\"],\"application/rsd+xml\":[\"rsd\"],\"application/rss+xml\":[\"rss\"],\"application/rtf\":[\"rtf\"],\"application/sbml+xml\":[\"sbml\"],\"application/scvp-cv-request\":[\"scq\"],\"application/scvp-cv-response\":[\"scs\"],\"application/scvp-vp-request\":[\"spq\"],\"application/scvp-vp-response\":[\"spp\"],\"application/sdp\":[\"sdp\"],\"application/senml+xml\":[\"senmlx\"],\"application/sensml+xml\":[\"sensmlx\"],\"application/set-payment-initiation\":[\"setpay\"],\"application/set-registration-initiation\":[\"setreg\"],\"application/shf+xml\":[\"shf\"],\"application/sieve\":[\"siv\",\"sieve\"],\"application/smil+xml\":[\"smi\",\"smil\"],\"application/sparql-query\":[\"rq\"],\"application/sparql-results+xml\":[\"srx\"],\"application/srgs\":[\"gram\"],\"application/srgs+xml\":[\"grxml\"],\"application/sru+xml\":[\"sru\"],\"application/ssdl+xml\":[\"ssdl\"],\"application/ssml+xml\":[\"ssml\"],\"application/swid+xml\":[\"swidtag\"],\"application/tei+xml\":[\"tei\",\"teicorpus\"],\"application/thraud+xml\":[\"tfi\"],\"application/timestamped-data\":[\"tsd\"],\"application/toml\":[\"toml\"],\"application/trig\":[\"trig\"],\"application/ttml+xml\":[\"ttml\"],\"application/ubjson\":[\"ubj\"],\"application/urc-ressheet+xml\":[\"rsheet\"],\"application/urc-targetdesc+xml\":[\"td\"],\"application/voicexml+xml\":[\"vxml\"],\"application/wasm\":[\"wasm\"],\"application/widget\":[\"wgt\"],\"application/winhlp\":[\"hlp\"],\"application/wsdl+xml\":[\"wsdl\"],\"application/wspolicy+xml\":[\"wspolicy\"],\"application/xaml+xml\":[\"xaml\"],\"application/xcap-att+xml\":[\"xav\"],\"application/xcap-caps+xml\":[\"xca\"],\"application/xcap-diff+xml\":[\"xdf\"],\"application/xcap-el+xml\":[\"xel\"],\"application/xcap-ns+xml\":[\"xns\"],\"application/xenc+xml\":[\"xenc\"],\"application/xhtml+xml\":[\"xhtml\",\"xht\"],\"application/xliff+xml\":[\"xlf\"],\"application/xml\":[\"xml\",\"xsl\",\"xsd\",\"rng\"],\"application/xml-dtd\":[\"dtd\"],\"application/xop+xml\":[\"xop\"],\"application/xproc+xml\":[\"xpl\"],\"application/xslt+xml\":[\"*xsl\",\"xslt\"],\"application/xspf+xml\":[\"xspf\"],\"application/xv+xml\":[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"],\"application/yang\":[\"yang\"],\"application/yin+xml\":[\"yin\"],\"application/zip\":[\"zip\"],\"audio/3gpp\":[\"*3gpp\"],\"audio/adpcm\":[\"adp\"],\"audio/amr\":[\"amr\"],\"audio/basic\":[\"au\",\"snd\"],\"audio/midi\":[\"mid\",\"midi\",\"kar\",\"rmi\"],\"audio/mobile-xmf\":[\"mxmf\"],\"audio/mp3\":[\"*mp3\"],\"audio/mp4\":[\"m4a\",\"mp4a\"],\"audio/mpeg\":[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"],\"audio/ogg\":[\"oga\",\"ogg\",\"spx\",\"opus\"],\"audio/s3m\":[\"s3m\"],\"audio/silk\":[\"sil\"],\"audio/wav\":[\"wav\"],\"audio/wave\":[\"*wav\"],\"audio/webm\":[\"weba\"],\"audio/xm\":[\"xm\"],\"font/collection\":[\"ttc\"],\"font/otf\":[\"otf\"],\"font/ttf\":[\"ttf\"],\"font/woff\":[\"woff\"],\"font/woff2\":[\"woff2\"],\"image/aces\":[\"exr\"],\"image/apng\":[\"apng\"],\"image/avif\":[\"avif\"],\"image/bmp\":[\"bmp\"],\"image/cgm\":[\"cgm\"],\"image/dicom-rle\":[\"drle\"],\"image/emf\":[\"emf\"],\"image/fits\":[\"fits\"],\"image/g3fax\":[\"g3\"],\"image/gif\":[\"gif\"],\"image/heic\":[\"heic\"],\"image/heic-sequence\":[\"heics\"],\"image/heif\":[\"heif\"],\"image/heif-sequence\":[\"heifs\"],\"image/hej2k\":[\"hej2\"],\"image/hsj2\":[\"hsj2\"],\"image/ief\":[\"ief\"],\"image/jls\":[\"jls\"],\"image/jp2\":[\"jp2\",\"jpg2\"],\"image/jpeg\":[\"jpeg\",\"jpg\",\"jpe\"],\"image/jph\":[\"jph\"],\"image/jphc\":[\"jhc\"],\"image/jpm\":[\"jpm\"],\"image/jpx\":[\"jpx\",\"jpf\"],\"image/jxr\":[\"jxr\"],\"image/jxra\":[\"jxra\"],\"image/jxrs\":[\"jxrs\"],\"image/jxs\":[\"jxs\"],\"image/jxsc\":[\"jxsc\"],\"image/jxsi\":[\"jxsi\"],\"image/jxss\":[\"jxss\"],\"image/ktx\":[\"ktx\"],\"image/ktx2\":[\"ktx2\"],\"image/png\":[\"png\"],\"image/sgi\":[\"sgi\"],\"image/svg+xml\":[\"svg\",\"svgz\"],\"image/t38\":[\"t38\"],\"image/tiff\":[\"tif\",\"tiff\"],\"image/tiff-fx\":[\"tfx\"],\"image/webp\":[\"webp\"],\"image/wmf\":[\"wmf\"],\"message/disposition-notification\":[\"disposition-notification\"],\"message/global\":[\"u8msg\"],\"message/global-delivery-status\":[\"u8dsn\"],\"message/global-disposition-notification\":[\"u8mdn\"],\"message/global-headers\":[\"u8hdr\"],\"message/rfc822\":[\"eml\",\"mime\"],\"model/3mf\":[\"3mf\"],\"model/gltf+json\":[\"gltf\"],\"model/gltf-binary\":[\"glb\"],\"model/iges\":[\"igs\",\"iges\"],\"model/mesh\":[\"msh\",\"mesh\",\"silo\"],\"model/mtl\":[\"mtl\"],\"model/obj\":[\"obj\"],\"model/step+xml\":[\"stpx\"],\"model/step+zip\":[\"stpz\"],\"model/step-xml+zip\":[\"stpxz\"],\"model/stl\":[\"stl\"],\"model/vrml\":[\"wrl\",\"vrml\"],\"model/x3d+binary\":[\"*x3db\",\"x3dbz\"],\"model/x3d+fastinfoset\":[\"x3db\"],\"model/x3d+vrml\":[\"*x3dv\",\"x3dvz\"],\"model/x3d+xml\":[\"x3d\",\"x3dz\"],\"model/x3d-vrml\":[\"x3dv\"],\"text/cache-manifest\":[\"appcache\",\"manifest\"],\"text/calendar\":[\"ics\",\"ifb\"],\"text/coffeescript\":[\"coffee\",\"litcoffee\"],\"text/css\":[\"css\"],\"text/csv\":[\"csv\"],\"text/html\":[\"html\",\"htm\",\"shtml\"],\"text/jade\":[\"jade\"],\"text/jsx\":[\"jsx\"],\"text/less\":[\"less\"],\"text/markdown\":[\"markdown\",\"md\"],\"text/mathml\":[\"mml\"],\"text/mdx\":[\"mdx\"],\"text/n3\":[\"n3\"],\"text/plain\":[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"],\"text/richtext\":[\"rtx\"],\"text/rtf\":[\"*rtf\"],\"text/sgml\":[\"sgml\",\"sgm\"],\"text/shex\":[\"shex\"],\"text/slim\":[\"slim\",\"slm\"],\"text/spdx\":[\"spdx\"],\"text/stylus\":[\"stylus\",\"styl\"],\"text/tab-separated-values\":[\"tsv\"],\"text/troff\":[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"],\"text/turtle\":[\"ttl\"],\"text/uri-list\":[\"uri\",\"uris\",\"urls\"],\"text/vcard\":[\"vcard\"],\"text/vtt\":[\"vtt\"],\"text/xml\":[\"*xml\"],\"text/yaml\":[\"yaml\",\"yml\"],\"video/3gpp\":[\"3gp\",\"3gpp\"],\"video/3gpp2\":[\"3g2\"],\"video/h261\":[\"h261\"],\"video/h263\":[\"h263\"],\"video/h264\":[\"h264\"],\"video/iso.segment\":[\"m4s\"],\"video/jpeg\":[\"jpgv\"],\"video/jpm\":[\"*jpm\",\"jpgm\"],\"video/mj2\":[\"mj2\",\"mjp2\"],\"video/mp2t\":[\"ts\"],\"video/mp4\":[\"mp4\",\"mp4v\",\"mpg4\"],\"video/mpeg\":[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"],\"video/ogg\":[\"ogv\"],\"video/quicktime\":[\"qt\",\"mov\"],\"video/webm\":[\"webm\"]};","module.exports = {\"application/prs.cww\":[\"cww\"],\"application/vnd.1000minds.decision-model+xml\":[\"1km\"],\"application/vnd.3gpp.pic-bw-large\":[\"plb\"],\"application/vnd.3gpp.pic-bw-small\":[\"psb\"],\"application/vnd.3gpp.pic-bw-var\":[\"pvb\"],\"application/vnd.3gpp2.tcap\":[\"tcap\"],\"application/vnd.3m.post-it-notes\":[\"pwn\"],\"application/vnd.accpac.simply.aso\":[\"aso\"],\"application/vnd.accpac.simply.imp\":[\"imp\"],\"application/vnd.acucobol\":[\"acu\"],\"application/vnd.acucorp\":[\"atc\",\"acutc\"],\"application/vnd.adobe.air-application-installer-package+zip\":[\"air\"],\"application/vnd.adobe.formscentral.fcdt\":[\"fcdt\"],\"application/vnd.adobe.fxp\":[\"fxp\",\"fxpl\"],\"application/vnd.adobe.xdp+xml\":[\"xdp\"],\"application/vnd.adobe.xfdf\":[\"xfdf\"],\"application/vnd.ahead.space\":[\"ahead\"],\"application/vnd.airzip.filesecure.azf\":[\"azf\"],\"application/vnd.airzip.filesecure.azs\":[\"azs\"],\"application/vnd.amazon.ebook\":[\"azw\"],\"application/vnd.americandynamics.acc\":[\"acc\"],\"application/vnd.amiga.ami\":[\"ami\"],\"application/vnd.android.package-archive\":[\"apk\"],\"application/vnd.anser-web-certificate-issue-initiation\":[\"cii\"],\"application/vnd.anser-web-funds-transfer-initiation\":[\"fti\"],\"application/vnd.antix.game-component\":[\"atx\"],\"application/vnd.apple.installer+xml\":[\"mpkg\"],\"application/vnd.apple.keynote\":[\"key\"],\"application/vnd.apple.mpegurl\":[\"m3u8\"],\"application/vnd.apple.numbers\":[\"numbers\"],\"application/vnd.apple.pages\":[\"pages\"],\"application/vnd.apple.pkpass\":[\"pkpass\"],\"application/vnd.aristanetworks.swi\":[\"swi\"],\"application/vnd.astraea-software.iota\":[\"iota\"],\"application/vnd.audiograph\":[\"aep\"],\"application/vnd.balsamiq.bmml+xml\":[\"bmml\"],\"application/vnd.blueice.multipass\":[\"mpm\"],\"application/vnd.bmi\":[\"bmi\"],\"application/vnd.businessobjects\":[\"rep\"],\"application/vnd.chemdraw+xml\":[\"cdxml\"],\"application/vnd.chipnuts.karaoke-mmd\":[\"mmd\"],\"application/vnd.cinderella\":[\"cdy\"],\"application/vnd.citationstyles.style+xml\":[\"csl\"],\"application/vnd.claymore\":[\"cla\"],\"application/vnd.cloanto.rp9\":[\"rp9\"],\"application/vnd.clonk.c4group\":[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"],\"application/vnd.cluetrust.cartomobile-config\":[\"c11amc\"],\"application/vnd.cluetrust.cartomobile-config-pkg\":[\"c11amz\"],\"application/vnd.commonspace\":[\"csp\"],\"application/vnd.contact.cmsg\":[\"cdbcmsg\"],\"application/vnd.cosmocaller\":[\"cmc\"],\"application/vnd.crick.clicker\":[\"clkx\"],\"application/vnd.crick.clicker.keyboard\":[\"clkk\"],\"application/vnd.crick.clicker.palette\":[\"clkp\"],\"application/vnd.crick.clicker.template\":[\"clkt\"],\"application/vnd.crick.clicker.wordbank\":[\"clkw\"],\"application/vnd.criticaltools.wbs+xml\":[\"wbs\"],\"application/vnd.ctc-posml\":[\"pml\"],\"application/vnd.cups-ppd\":[\"ppd\"],\"application/vnd.curl.car\":[\"car\"],\"application/vnd.curl.pcurl\":[\"pcurl\"],\"application/vnd.dart\":[\"dart\"],\"application/vnd.data-vision.rdz\":[\"rdz\"],\"application/vnd.dbf\":[\"dbf\"],\"application/vnd.dece.data\":[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"],\"application/vnd.dece.ttml+xml\":[\"uvt\",\"uvvt\"],\"application/vnd.dece.unspecified\":[\"uvx\",\"uvvx\"],\"application/vnd.dece.zip\":[\"uvz\",\"uvvz\"],\"application/vnd.denovo.fcselayout-link\":[\"fe_launch\"],\"application/vnd.dna\":[\"dna\"],\"application/vnd.dolby.mlp\":[\"mlp\"],\"application/vnd.dpgraph\":[\"dpg\"],\"application/vnd.dreamfactory\":[\"dfac\"],\"application/vnd.ds-keypoint\":[\"kpxx\"],\"application/vnd.dvb.ait\":[\"ait\"],\"application/vnd.dvb.service\":[\"svc\"],\"application/vnd.dynageo\":[\"geo\"],\"application/vnd.ecowin.chart\":[\"mag\"],\"application/vnd.enliven\":[\"nml\"],\"application/vnd.epson.esf\":[\"esf\"],\"application/vnd.epson.msf\":[\"msf\"],\"application/vnd.epson.quickanime\":[\"qam\"],\"application/vnd.epson.salt\":[\"slt\"],\"application/vnd.epson.ssf\":[\"ssf\"],\"application/vnd.eszigno3+xml\":[\"es3\",\"et3\"],\"application/vnd.ezpix-album\":[\"ez2\"],\"application/vnd.ezpix-package\":[\"ez3\"],\"application/vnd.fdf\":[\"fdf\"],\"application/vnd.fdsn.mseed\":[\"mseed\"],\"application/vnd.fdsn.seed\":[\"seed\",\"dataless\"],\"application/vnd.flographit\":[\"gph\"],\"application/vnd.fluxtime.clip\":[\"ftc\"],\"application/vnd.framemaker\":[\"fm\",\"frame\",\"maker\",\"book\"],\"application/vnd.frogans.fnc\":[\"fnc\"],\"application/vnd.frogans.ltf\":[\"ltf\"],\"application/vnd.fsc.weblaunch\":[\"fsc\"],\"application/vnd.fujitsu.oasys\":[\"oas\"],\"application/vnd.fujitsu.oasys2\":[\"oa2\"],\"application/vnd.fujitsu.oasys3\":[\"oa3\"],\"application/vnd.fujitsu.oasysgp\":[\"fg5\"],\"application/vnd.fujitsu.oasysprs\":[\"bh2\"],\"application/vnd.fujixerox.ddd\":[\"ddd\"],\"application/vnd.fujixerox.docuworks\":[\"xdw\"],\"application/vnd.fujixerox.docuworks.binder\":[\"xbd\"],\"application/vnd.fuzzysheet\":[\"fzs\"],\"application/vnd.genomatix.tuxedo\":[\"txd\"],\"application/vnd.geogebra.file\":[\"ggb\"],\"application/vnd.geogebra.tool\":[\"ggt\"],\"application/vnd.geometry-explorer\":[\"gex\",\"gre\"],\"application/vnd.geonext\":[\"gxt\"],\"application/vnd.geoplan\":[\"g2w\"],\"application/vnd.geospace\":[\"g3w\"],\"application/vnd.gmx\":[\"gmx\"],\"application/vnd.google-apps.document\":[\"gdoc\"],\"application/vnd.google-apps.presentation\":[\"gslides\"],\"application/vnd.google-apps.spreadsheet\":[\"gsheet\"],\"application/vnd.google-earth.kml+xml\":[\"kml\"],\"application/vnd.google-earth.kmz\":[\"kmz\"],\"application/vnd.grafeq\":[\"gqf\",\"gqs\"],\"application/vnd.groove-account\":[\"gac\"],\"application/vnd.groove-help\":[\"ghf\"],\"application/vnd.groove-identity-message\":[\"gim\"],\"application/vnd.groove-injector\":[\"grv\"],\"application/vnd.groove-tool-message\":[\"gtm\"],\"application/vnd.groove-tool-template\":[\"tpl\"],\"application/vnd.groove-vcard\":[\"vcg\"],\"application/vnd.hal+xml\":[\"hal\"],\"application/vnd.handheld-entertainment+xml\":[\"zmm\"],\"application/vnd.hbci\":[\"hbci\"],\"application/vnd.hhe.lesson-player\":[\"les\"],\"application/vnd.hp-hpgl\":[\"hpgl\"],\"application/vnd.hp-hpid\":[\"hpid\"],\"application/vnd.hp-hps\":[\"hps\"],\"application/vnd.hp-jlyt\":[\"jlt\"],\"application/vnd.hp-pcl\":[\"pcl\"],\"application/vnd.hp-pclxl\":[\"pclxl\"],\"application/vnd.hydrostatix.sof-data\":[\"sfd-hdstx\"],\"application/vnd.ibm.minipay\":[\"mpy\"],\"application/vnd.ibm.modcap\":[\"afp\",\"listafp\",\"list3820\"],\"application/vnd.ibm.rights-management\":[\"irm\"],\"application/vnd.ibm.secure-container\":[\"sc\"],\"application/vnd.iccprofile\":[\"icc\",\"icm\"],\"application/vnd.igloader\":[\"igl\"],\"application/vnd.immervision-ivp\":[\"ivp\"],\"application/vnd.immervision-ivu\":[\"ivu\"],\"application/vnd.insors.igm\":[\"igm\"],\"application/vnd.intercon.formnet\":[\"xpw\",\"xpx\"],\"application/vnd.intergeo\":[\"i2g\"],\"application/vnd.intu.qbo\":[\"qbo\"],\"application/vnd.intu.qfx\":[\"qfx\"],\"application/vnd.ipunplugged.rcprofile\":[\"rcprofile\"],\"application/vnd.irepository.package+xml\":[\"irp\"],\"application/vnd.is-xpr\":[\"xpr\"],\"application/vnd.isac.fcs\":[\"fcs\"],\"application/vnd.jam\":[\"jam\"],\"application/vnd.jcp.javame.midlet-rms\":[\"rms\"],\"application/vnd.jisp\":[\"jisp\"],\"application/vnd.joost.joda-archive\":[\"joda\"],\"application/vnd.kahootz\":[\"ktz\",\"ktr\"],\"application/vnd.kde.karbon\":[\"karbon\"],\"application/vnd.kde.kchart\":[\"chrt\"],\"application/vnd.kde.kformula\":[\"kfo\"],\"application/vnd.kde.kivio\":[\"flw\"],\"application/vnd.kde.kontour\":[\"kon\"],\"application/vnd.kde.kpresenter\":[\"kpr\",\"kpt\"],\"application/vnd.kde.kspread\":[\"ksp\"],\"application/vnd.kde.kword\":[\"kwd\",\"kwt\"],\"application/vnd.kenameaapp\":[\"htke\"],\"application/vnd.kidspiration\":[\"kia\"],\"application/vnd.kinar\":[\"kne\",\"knp\"],\"application/vnd.koan\":[\"skp\",\"skd\",\"skt\",\"skm\"],\"application/vnd.kodak-descriptor\":[\"sse\"],\"application/vnd.las.las+xml\":[\"lasxml\"],\"application/vnd.llamagraphics.life-balance.desktop\":[\"lbd\"],\"application/vnd.llamagraphics.life-balance.exchange+xml\":[\"lbe\"],\"application/vnd.lotus-1-2-3\":[\"123\"],\"application/vnd.lotus-approach\":[\"apr\"],\"application/vnd.lotus-freelance\":[\"pre\"],\"application/vnd.lotus-notes\":[\"nsf\"],\"application/vnd.lotus-organizer\":[\"org\"],\"application/vnd.lotus-screencam\":[\"scm\"],\"application/vnd.lotus-wordpro\":[\"lwp\"],\"application/vnd.macports.portpkg\":[\"portpkg\"],\"application/vnd.mapbox-vector-tile\":[\"mvt\"],\"application/vnd.mcd\":[\"mcd\"],\"application/vnd.medcalcdata\":[\"mc1\"],\"application/vnd.mediastation.cdkey\":[\"cdkey\"],\"application/vnd.mfer\":[\"mwf\"],\"application/vnd.mfmp\":[\"mfm\"],\"application/vnd.micrografx.flo\":[\"flo\"],\"application/vnd.micrografx.igx\":[\"igx\"],\"application/vnd.mif\":[\"mif\"],\"application/vnd.mobius.daf\":[\"daf\"],\"application/vnd.mobius.dis\":[\"dis\"],\"application/vnd.mobius.mbk\":[\"mbk\"],\"application/vnd.mobius.mqy\":[\"mqy\"],\"application/vnd.mobius.msl\":[\"msl\"],\"application/vnd.mobius.plc\":[\"plc\"],\"application/vnd.mobius.txf\":[\"txf\"],\"application/vnd.mophun.application\":[\"mpn\"],\"application/vnd.mophun.certificate\":[\"mpc\"],\"application/vnd.mozilla.xul+xml\":[\"xul\"],\"application/vnd.ms-artgalry\":[\"cil\"],\"application/vnd.ms-cab-compressed\":[\"cab\"],\"application/vnd.ms-excel\":[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"],\"application/vnd.ms-excel.addin.macroenabled.12\":[\"xlam\"],\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":[\"xlsb\"],\"application/vnd.ms-excel.sheet.macroenabled.12\":[\"xlsm\"],\"application/vnd.ms-excel.template.macroenabled.12\":[\"xltm\"],\"application/vnd.ms-fontobject\":[\"eot\"],\"application/vnd.ms-htmlhelp\":[\"chm\"],\"application/vnd.ms-ims\":[\"ims\"],\"application/vnd.ms-lrm\":[\"lrm\"],\"application/vnd.ms-officetheme\":[\"thmx\"],\"application/vnd.ms-outlook\":[\"msg\"],\"application/vnd.ms-pki.seccat\":[\"cat\"],\"application/vnd.ms-pki.stl\":[\"*stl\"],\"application/vnd.ms-powerpoint\":[\"ppt\",\"pps\",\"pot\"],\"application/vnd.ms-powerpoint.addin.macroenabled.12\":[\"ppam\"],\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":[\"pptm\"],\"application/vnd.ms-powerpoint.slide.macroenabled.12\":[\"sldm\"],\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":[\"ppsm\"],\"application/vnd.ms-powerpoint.template.macroenabled.12\":[\"potm\"],\"application/vnd.ms-project\":[\"mpp\",\"mpt\"],\"application/vnd.ms-word.document.macroenabled.12\":[\"docm\"],\"application/vnd.ms-word.template.macroenabled.12\":[\"dotm\"],\"application/vnd.ms-works\":[\"wps\",\"wks\",\"wcm\",\"wdb\"],\"application/vnd.ms-wpl\":[\"wpl\"],\"application/vnd.ms-xpsdocument\":[\"xps\"],\"application/vnd.mseq\":[\"mseq\"],\"application/vnd.musician\":[\"mus\"],\"application/vnd.muvee.style\":[\"msty\"],\"application/vnd.mynfc\":[\"taglet\"],\"application/vnd.neurolanguage.nlu\":[\"nlu\"],\"application/vnd.nitf\":[\"ntf\",\"nitf\"],\"application/vnd.noblenet-directory\":[\"nnd\"],\"application/vnd.noblenet-sealer\":[\"nns\"],\"application/vnd.noblenet-web\":[\"nnw\"],\"application/vnd.nokia.n-gage.ac+xml\":[\"*ac\"],\"application/vnd.nokia.n-gage.data\":[\"ngdat\"],\"application/vnd.nokia.n-gage.symbian.install\":[\"n-gage\"],\"application/vnd.nokia.radio-preset\":[\"rpst\"],\"application/vnd.nokia.radio-presets\":[\"rpss\"],\"application/vnd.novadigm.edm\":[\"edm\"],\"application/vnd.novadigm.edx\":[\"edx\"],\"application/vnd.novadigm.ext\":[\"ext\"],\"application/vnd.oasis.opendocument.chart\":[\"odc\"],\"application/vnd.oasis.opendocument.chart-template\":[\"otc\"],\"application/vnd.oasis.opendocument.database\":[\"odb\"],\"application/vnd.oasis.opendocument.formula\":[\"odf\"],\"application/vnd.oasis.opendocument.formula-template\":[\"odft\"],\"application/vnd.oasis.opendocument.graphics\":[\"odg\"],\"application/vnd.oasis.opendocument.graphics-template\":[\"otg\"],\"application/vnd.oasis.opendocument.image\":[\"odi\"],\"application/vnd.oasis.opendocument.image-template\":[\"oti\"],\"application/vnd.oasis.opendocument.presentation\":[\"odp\"],\"application/vnd.oasis.opendocument.presentation-template\":[\"otp\"],\"application/vnd.oasis.opendocument.spreadsheet\":[\"ods\"],\"application/vnd.oasis.opendocument.spreadsheet-template\":[\"ots\"],\"application/vnd.oasis.opendocument.text\":[\"odt\"],\"application/vnd.oasis.opendocument.text-master\":[\"odm\"],\"application/vnd.oasis.opendocument.text-template\":[\"ott\"],\"application/vnd.oasis.opendocument.text-web\":[\"oth\"],\"application/vnd.olpc-sugar\":[\"xo\"],\"application/vnd.oma.dd2+xml\":[\"dd2\"],\"application/vnd.openblox.game+xml\":[\"obgx\"],\"application/vnd.openofficeorg.extension\":[\"oxt\"],\"application/vnd.openstreetmap.data+xml\":[\"osm\"],\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":[\"pptx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slide\":[\"sldx\"],\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":[\"ppsx\"],\"application/vnd.openxmlformats-officedocument.presentationml.template\":[\"potx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":[\"xlsx\"],\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":[\"xltx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":[\"docx\"],\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":[\"dotx\"],\"application/vnd.osgeo.mapguide.package\":[\"mgp\"],\"application/vnd.osgi.dp\":[\"dp\"],\"application/vnd.osgi.subsystem\":[\"esa\"],\"application/vnd.palm\":[\"pdb\",\"pqa\",\"oprc\"],\"application/vnd.pawaafile\":[\"paw\"],\"application/vnd.pg.format\":[\"str\"],\"application/vnd.pg.osasli\":[\"ei6\"],\"application/vnd.picsel\":[\"efif\"],\"application/vnd.pmi.widget\":[\"wg\"],\"application/vnd.pocketlearn\":[\"plf\"],\"application/vnd.powerbuilder6\":[\"pbd\"],\"application/vnd.previewsystems.box\":[\"box\"],\"application/vnd.proteus.magazine\":[\"mgz\"],\"application/vnd.publishare-delta-tree\":[\"qps\"],\"application/vnd.pvi.ptid1\":[\"ptid\"],\"application/vnd.quark.quarkxpress\":[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"],\"application/vnd.rar\":[\"rar\"],\"application/vnd.realvnc.bed\":[\"bed\"],\"application/vnd.recordare.musicxml\":[\"mxl\"],\"application/vnd.recordare.musicxml+xml\":[\"musicxml\"],\"application/vnd.rig.cryptonote\":[\"cryptonote\"],\"application/vnd.rim.cod\":[\"cod\"],\"application/vnd.rn-realmedia\":[\"rm\"],\"application/vnd.rn-realmedia-vbr\":[\"rmvb\"],\"application/vnd.route66.link66+xml\":[\"link66\"],\"application/vnd.sailingtracker.track\":[\"st\"],\"application/vnd.seemail\":[\"see\"],\"application/vnd.sema\":[\"sema\"],\"application/vnd.semd\":[\"semd\"],\"application/vnd.semf\":[\"semf\"],\"application/vnd.shana.informed.formdata\":[\"ifm\"],\"application/vnd.shana.informed.formtemplate\":[\"itp\"],\"application/vnd.shana.informed.interchange\":[\"iif\"],\"application/vnd.shana.informed.package\":[\"ipk\"],\"application/vnd.simtech-mindmapper\":[\"twd\",\"twds\"],\"application/vnd.smaf\":[\"mmf\"],\"application/vnd.smart.teacher\":[\"teacher\"],\"application/vnd.software602.filler.form+xml\":[\"fo\"],\"application/vnd.solent.sdkm+xml\":[\"sdkm\",\"sdkd\"],\"application/vnd.spotfire.dxp\":[\"dxp\"],\"application/vnd.spotfire.sfs\":[\"sfs\"],\"application/vnd.stardivision.calc\":[\"sdc\"],\"application/vnd.stardivision.draw\":[\"sda\"],\"application/vnd.stardivision.impress\":[\"sdd\"],\"application/vnd.stardivision.math\":[\"smf\"],\"application/vnd.stardivision.writer\":[\"sdw\",\"vor\"],\"application/vnd.stardivision.writer-global\":[\"sgl\"],\"application/vnd.stepmania.package\":[\"smzip\"],\"application/vnd.stepmania.stepchart\":[\"sm\"],\"application/vnd.sun.wadl+xml\":[\"wadl\"],\"application/vnd.sun.xml.calc\":[\"sxc\"],\"application/vnd.sun.xml.calc.template\":[\"stc\"],\"application/vnd.sun.xml.draw\":[\"sxd\"],\"application/vnd.sun.xml.draw.template\":[\"std\"],\"application/vnd.sun.xml.impress\":[\"sxi\"],\"application/vnd.sun.xml.impress.template\":[\"sti\"],\"application/vnd.sun.xml.math\":[\"sxm\"],\"application/vnd.sun.xml.writer\":[\"sxw\"],\"application/vnd.sun.xml.writer.global\":[\"sxg\"],\"application/vnd.sun.xml.writer.template\":[\"stw\"],\"application/vnd.sus-calendar\":[\"sus\",\"susp\"],\"application/vnd.svd\":[\"svd\"],\"application/vnd.symbian.install\":[\"sis\",\"sisx\"],\"application/vnd.syncml+xml\":[\"xsm\"],\"application/vnd.syncml.dm+wbxml\":[\"bdm\"],\"application/vnd.syncml.dm+xml\":[\"xdm\"],\"application/vnd.syncml.dmddf+xml\":[\"ddf\"],\"application/vnd.tao.intent-module-archive\":[\"tao\"],\"application/vnd.tcpdump.pcap\":[\"pcap\",\"cap\",\"dmp\"],\"application/vnd.tmobile-livetv\":[\"tmo\"],\"application/vnd.trid.tpt\":[\"tpt\"],\"application/vnd.triscape.mxs\":[\"mxs\"],\"application/vnd.trueapp\":[\"tra\"],\"application/vnd.ufdl\":[\"ufd\",\"ufdl\"],\"application/vnd.uiq.theme\":[\"utz\"],\"application/vnd.umajin\":[\"umj\"],\"application/vnd.unity\":[\"unityweb\"],\"application/vnd.uoml+xml\":[\"uoml\"],\"application/vnd.vcx\":[\"vcx\"],\"application/vnd.visio\":[\"vsd\",\"vst\",\"vss\",\"vsw\"],\"application/vnd.visionary\":[\"vis\"],\"application/vnd.vsf\":[\"vsf\"],\"application/vnd.wap.wbxml\":[\"wbxml\"],\"application/vnd.wap.wmlc\":[\"wmlc\"],\"application/vnd.wap.wmlscriptc\":[\"wmlsc\"],\"application/vnd.webturbo\":[\"wtb\"],\"application/vnd.wolfram.player\":[\"nbp\"],\"application/vnd.wordperfect\":[\"wpd\"],\"application/vnd.wqd\":[\"wqd\"],\"application/vnd.wt.stf\":[\"stf\"],\"application/vnd.xara\":[\"xar\"],\"application/vnd.xfdl\":[\"xfdl\"],\"application/vnd.yamaha.hv-dic\":[\"hvd\"],\"application/vnd.yamaha.hv-script\":[\"hvs\"],\"application/vnd.yamaha.hv-voice\":[\"hvp\"],\"application/vnd.yamaha.openscoreformat\":[\"osf\"],\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":[\"osfpvg\"],\"application/vnd.yamaha.smaf-audio\":[\"saf\"],\"application/vnd.yamaha.smaf-phrase\":[\"spf\"],\"application/vnd.yellowriver-custom-menu\":[\"cmp\"],\"application/vnd.zul\":[\"zir\",\"zirz\"],\"application/vnd.zzazz.deck+xml\":[\"zaz\"],\"application/x-7z-compressed\":[\"7z\"],\"application/x-abiword\":[\"abw\"],\"application/x-ace-compressed\":[\"ace\"],\"application/x-apple-diskimage\":[\"*dmg\"],\"application/x-arj\":[\"arj\"],\"application/x-authorware-bin\":[\"aab\",\"x32\",\"u32\",\"vox\"],\"application/x-authorware-map\":[\"aam\"],\"application/x-authorware-seg\":[\"aas\"],\"application/x-bcpio\":[\"bcpio\"],\"application/x-bdoc\":[\"*bdoc\"],\"application/x-bittorrent\":[\"torrent\"],\"application/x-blorb\":[\"blb\",\"blorb\"],\"application/x-bzip\":[\"bz\"],\"application/x-bzip2\":[\"bz2\",\"boz\"],\"application/x-cbr\":[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"],\"application/x-cdlink\":[\"vcd\"],\"application/x-cfs-compressed\":[\"cfs\"],\"application/x-chat\":[\"chat\"],\"application/x-chess-pgn\":[\"pgn\"],\"application/x-chrome-extension\":[\"crx\"],\"application/x-cocoa\":[\"cco\"],\"application/x-conference\":[\"nsc\"],\"application/x-cpio\":[\"cpio\"],\"application/x-csh\":[\"csh\"],\"application/x-debian-package\":[\"*deb\",\"udeb\"],\"application/x-dgc-compressed\":[\"dgc\"],\"application/x-director\":[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"],\"application/x-doom\":[\"wad\"],\"application/x-dtbncx+xml\":[\"ncx\"],\"application/x-dtbook+xml\":[\"dtb\"],\"application/x-dtbresource+xml\":[\"res\"],\"application/x-dvi\":[\"dvi\"],\"application/x-envoy\":[\"evy\"],\"application/x-eva\":[\"eva\"],\"application/x-font-bdf\":[\"bdf\"],\"application/x-font-ghostscript\":[\"gsf\"],\"application/x-font-linux-psf\":[\"psf\"],\"application/x-font-pcf\":[\"pcf\"],\"application/x-font-snf\":[\"snf\"],\"application/x-font-type1\":[\"pfa\",\"pfb\",\"pfm\",\"afm\"],\"application/x-freearc\":[\"arc\"],\"application/x-futuresplash\":[\"spl\"],\"application/x-gca-compressed\":[\"gca\"],\"application/x-glulx\":[\"ulx\"],\"application/x-gnumeric\":[\"gnumeric\"],\"application/x-gramps-xml\":[\"gramps\"],\"application/x-gtar\":[\"gtar\"],\"application/x-hdf\":[\"hdf\"],\"application/x-httpd-php\":[\"php\"],\"application/x-install-instructions\":[\"install\"],\"application/x-iso9660-image\":[\"*iso\"],\"application/x-iwork-keynote-sffkey\":[\"*key\"],\"application/x-iwork-numbers-sffnumbers\":[\"*numbers\"],\"application/x-iwork-pages-sffpages\":[\"*pages\"],\"application/x-java-archive-diff\":[\"jardiff\"],\"application/x-java-jnlp-file\":[\"jnlp\"],\"application/x-keepass2\":[\"kdbx\"],\"application/x-latex\":[\"latex\"],\"application/x-lua-bytecode\":[\"luac\"],\"application/x-lzh-compressed\":[\"lzh\",\"lha\"],\"application/x-makeself\":[\"run\"],\"application/x-mie\":[\"mie\"],\"application/x-mobipocket-ebook\":[\"prc\",\"mobi\"],\"application/x-ms-application\":[\"application\"],\"application/x-ms-shortcut\":[\"lnk\"],\"application/x-ms-wmd\":[\"wmd\"],\"application/x-ms-wmz\":[\"wmz\"],\"application/x-ms-xbap\":[\"xbap\"],\"application/x-msaccess\":[\"mdb\"],\"application/x-msbinder\":[\"obd\"],\"application/x-mscardfile\":[\"crd\"],\"application/x-msclip\":[\"clp\"],\"application/x-msdos-program\":[\"*exe\"],\"application/x-msdownload\":[\"*exe\",\"*dll\",\"com\",\"bat\",\"*msi\"],\"application/x-msmediaview\":[\"mvb\",\"m13\",\"m14\"],\"application/x-msmetafile\":[\"*wmf\",\"*wmz\",\"*emf\",\"emz\"],\"application/x-msmoney\":[\"mny\"],\"application/x-mspublisher\":[\"pub\"],\"application/x-msschedule\":[\"scd\"],\"application/x-msterminal\":[\"trm\"],\"application/x-mswrite\":[\"wri\"],\"application/x-netcdf\":[\"nc\",\"cdf\"],\"application/x-ns-proxy-autoconfig\":[\"pac\"],\"application/x-nzb\":[\"nzb\"],\"application/x-perl\":[\"pl\",\"pm\"],\"application/x-pilot\":[\"*prc\",\"*pdb\"],\"application/x-pkcs12\":[\"p12\",\"pfx\"],\"application/x-pkcs7-certificates\":[\"p7b\",\"spc\"],\"application/x-pkcs7-certreqresp\":[\"p7r\"],\"application/x-rar-compressed\":[\"*rar\"],\"application/x-redhat-package-manager\":[\"rpm\"],\"application/x-research-info-systems\":[\"ris\"],\"application/x-sea\":[\"sea\"],\"application/x-sh\":[\"sh\"],\"application/x-shar\":[\"shar\"],\"application/x-shockwave-flash\":[\"swf\"],\"application/x-silverlight-app\":[\"xap\"],\"application/x-sql\":[\"sql\"],\"application/x-stuffit\":[\"sit\"],\"application/x-stuffitx\":[\"sitx\"],\"application/x-subrip\":[\"srt\"],\"application/x-sv4cpio\":[\"sv4cpio\"],\"application/x-sv4crc\":[\"sv4crc\"],\"application/x-t3vm-image\":[\"t3\"],\"application/x-tads\":[\"gam\"],\"application/x-tar\":[\"tar\"],\"application/x-tcl\":[\"tcl\",\"tk\"],\"application/x-tex\":[\"tex\"],\"application/x-tex-tfm\":[\"tfm\"],\"application/x-texinfo\":[\"texinfo\",\"texi\"],\"application/x-tgif\":[\"*obj\"],\"application/x-ustar\":[\"ustar\"],\"application/x-virtualbox-hdd\":[\"hdd\"],\"application/x-virtualbox-ova\":[\"ova\"],\"application/x-virtualbox-ovf\":[\"ovf\"],\"application/x-virtualbox-vbox\":[\"vbox\"],\"application/x-virtualbox-vbox-extpack\":[\"vbox-extpack\"],\"application/x-virtualbox-vdi\":[\"vdi\"],\"application/x-virtualbox-vhd\":[\"vhd\"],\"application/x-virtualbox-vmdk\":[\"vmdk\"],\"application/x-wais-source\":[\"src\"],\"application/x-web-app-manifest+json\":[\"webapp\"],\"application/x-x509-ca-cert\":[\"der\",\"crt\",\"pem\"],\"application/x-xfig\":[\"fig\"],\"application/x-xliff+xml\":[\"*xlf\"],\"application/x-xpinstall\":[\"xpi\"],\"application/x-xz\":[\"xz\"],\"application/x-zmachine\":[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"],\"audio/vnd.dece.audio\":[\"uva\",\"uvva\"],\"audio/vnd.digital-winds\":[\"eol\"],\"audio/vnd.dra\":[\"dra\"],\"audio/vnd.dts\":[\"dts\"],\"audio/vnd.dts.hd\":[\"dtshd\"],\"audio/vnd.lucent.voice\":[\"lvp\"],\"audio/vnd.ms-playready.media.pya\":[\"pya\"],\"audio/vnd.nuera.ecelp4800\":[\"ecelp4800\"],\"audio/vnd.nuera.ecelp7470\":[\"ecelp7470\"],\"audio/vnd.nuera.ecelp9600\":[\"ecelp9600\"],\"audio/vnd.rip\":[\"rip\"],\"audio/x-aac\":[\"aac\"],\"audio/x-aiff\":[\"aif\",\"aiff\",\"aifc\"],\"audio/x-caf\":[\"caf\"],\"audio/x-flac\":[\"flac\"],\"audio/x-m4a\":[\"*m4a\"],\"audio/x-matroska\":[\"mka\"],\"audio/x-mpegurl\":[\"m3u\"],\"audio/x-ms-wax\":[\"wax\"],\"audio/x-ms-wma\":[\"wma\"],\"audio/x-pn-realaudio\":[\"ram\",\"ra\"],\"audio/x-pn-realaudio-plugin\":[\"rmp\"],\"audio/x-realaudio\":[\"*ra\"],\"audio/x-wav\":[\"*wav\"],\"chemical/x-cdx\":[\"cdx\"],\"chemical/x-cif\":[\"cif\"],\"chemical/x-cmdf\":[\"cmdf\"],\"chemical/x-cml\":[\"cml\"],\"chemical/x-csml\":[\"csml\"],\"chemical/x-xyz\":[\"xyz\"],\"image/prs.btif\":[\"btif\"],\"image/prs.pti\":[\"pti\"],\"image/vnd.adobe.photoshop\":[\"psd\"],\"image/vnd.airzip.accelerator.azv\":[\"azv\"],\"image/vnd.dece.graphic\":[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"],\"image/vnd.djvu\":[\"djvu\",\"djv\"],\"image/vnd.dvb.subtitle\":[\"*sub\"],\"image/vnd.dwg\":[\"dwg\"],\"image/vnd.dxf\":[\"dxf\"],\"image/vnd.fastbidsheet\":[\"fbs\"],\"image/vnd.fpx\":[\"fpx\"],\"image/vnd.fst\":[\"fst\"],\"image/vnd.fujixerox.edmics-mmr\":[\"mmr\"],\"image/vnd.fujixerox.edmics-rlc\":[\"rlc\"],\"image/vnd.microsoft.icon\":[\"ico\"],\"image/vnd.ms-dds\":[\"dds\"],\"image/vnd.ms-modi\":[\"mdi\"],\"image/vnd.ms-photo\":[\"wdp\"],\"image/vnd.net-fpx\":[\"npx\"],\"image/vnd.pco.b16\":[\"b16\"],\"image/vnd.tencent.tap\":[\"tap\"],\"image/vnd.valve.source.texture\":[\"vtf\"],\"image/vnd.wap.wbmp\":[\"wbmp\"],\"image/vnd.xiff\":[\"xif\"],\"image/vnd.zbrush.pcx\":[\"pcx\"],\"image/x-3ds\":[\"3ds\"],\"image/x-cmu-raster\":[\"ras\"],\"image/x-cmx\":[\"cmx\"],\"image/x-freehand\":[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"],\"image/x-icon\":[\"*ico\"],\"image/x-jng\":[\"jng\"],\"image/x-mrsid-image\":[\"sid\"],\"image/x-ms-bmp\":[\"*bmp\"],\"image/x-pcx\":[\"*pcx\"],\"image/x-pict\":[\"pic\",\"pct\"],\"image/x-portable-anymap\":[\"pnm\"],\"image/x-portable-bitmap\":[\"pbm\"],\"image/x-portable-graymap\":[\"pgm\"],\"image/x-portable-pixmap\":[\"ppm\"],\"image/x-rgb\":[\"rgb\"],\"image/x-tga\":[\"tga\"],\"image/x-xbitmap\":[\"xbm\"],\"image/x-xpixmap\":[\"xpm\"],\"image/x-xwindowdump\":[\"xwd\"],\"message/vnd.wfa.wsc\":[\"wsc\"],\"model/vnd.collada+xml\":[\"dae\"],\"model/vnd.dwf\":[\"dwf\"],\"model/vnd.gdl\":[\"gdl\"],\"model/vnd.gtw\":[\"gtw\"],\"model/vnd.mts\":[\"mts\"],\"model/vnd.opengex\":[\"ogex\"],\"model/vnd.parasolid.transmit.binary\":[\"x_b\"],\"model/vnd.parasolid.transmit.text\":[\"x_t\"],\"model/vnd.sap.vds\":[\"vds\"],\"model/vnd.usdz+zip\":[\"usdz\"],\"model/vnd.valve.source.compiled-map\":[\"bsp\"],\"model/vnd.vtu\":[\"vtu\"],\"text/prs.lines.tag\":[\"dsc\"],\"text/vnd.curl\":[\"curl\"],\"text/vnd.curl.dcurl\":[\"dcurl\"],\"text/vnd.curl.mcurl\":[\"mcurl\"],\"text/vnd.curl.scurl\":[\"scurl\"],\"text/vnd.dvb.subtitle\":[\"sub\"],\"text/vnd.fly\":[\"fly\"],\"text/vnd.fmi.flexstor\":[\"flx\"],\"text/vnd.graphviz\":[\"gv\"],\"text/vnd.in3d.3dml\":[\"3dml\"],\"text/vnd.in3d.spot\":[\"spot\"],\"text/vnd.sun.j2me.app-descriptor\":[\"jad\"],\"text/vnd.wap.wml\":[\"wml\"],\"text/vnd.wap.wmlscript\":[\"wmls\"],\"text/x-asm\":[\"s\",\"asm\"],\"text/x-c\":[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"],\"text/x-component\":[\"htc\"],\"text/x-fortran\":[\"f\",\"for\",\"f77\",\"f90\"],\"text/x-handlebars-template\":[\"hbs\"],\"text/x-java-source\":[\"java\"],\"text/x-lua\":[\"lua\"],\"text/x-markdown\":[\"mkd\"],\"text/x-nfo\":[\"nfo\"],\"text/x-opml\":[\"opml\"],\"text/x-org\":[\"*org\"],\"text/x-pascal\":[\"p\",\"pas\"],\"text/x-processing\":[\"pde\"],\"text/x-sass\":[\"sass\"],\"text/x-scss\":[\"scss\"],\"text/x-setext\":[\"etx\"],\"text/x-sfv\":[\"sfv\"],\"text/x-suse-ymp\":[\"ymp\"],\"text/x-uuencode\":[\"uu\"],\"text/x-vcalendar\":[\"vcs\"],\"text/x-vcard\":[\"vcf\"],\"video/vnd.dece.hd\":[\"uvh\",\"uvvh\"],\"video/vnd.dece.mobile\":[\"uvm\",\"uvvm\"],\"video/vnd.dece.pd\":[\"uvp\",\"uvvp\"],\"video/vnd.dece.sd\":[\"uvs\",\"uvvs\"],\"video/vnd.dece.video\":[\"uvv\",\"uvvv\"],\"video/vnd.dvb.file\":[\"dvb\"],\"video/vnd.fvt\":[\"fvt\"],\"video/vnd.mpegurl\":[\"mxu\",\"m4u\"],\"video/vnd.ms-playready.media.pyv\":[\"pyv\"],\"video/vnd.uvvu.mp4\":[\"uvu\",\"uvvu\"],\"video/vnd.vivo\":[\"viv\"],\"video/x-f4v\":[\"f4v\"],\"video/x-fli\":[\"fli\"],\"video/x-flv\":[\"flv\"],\"video/x-m4v\":[\"m4v\"],\"video/x-matroska\":[\"mkv\",\"mk3d\",\"mks\"],\"video/x-mng\":[\"mng\"],\"video/x-ms-asf\":[\"asf\",\"asx\"],\"video/x-ms-vob\":[\"vob\"],\"video/x-ms-wm\":[\"wm\"],\"video/x-ms-wmv\":[\"wmv\"],\"video/x-ms-wmx\":[\"wmx\"],\"video/x-ms-wvx\":[\"wvx\"],\"video/x-msvideo\":[\"avi\"],\"video/x-sgi-movie\":[\"movie\"],\"video/x-smv\":[\"smv\"],\"x-conference/x-cooltalk\":[\"ice\"]};","'use strict';\n\nlet Mime = require('./Mime');\nmodule.exports = new Mime(require('./types/standard'), require('./types/other'));\n","<template>\n <div>\n <img v-if=\"isImage\" :src=\"url\" class=\"thumbnail\" @click=\"displayModal = true\">\n <audio v-else-if=\"isAudio\" :src=\"url\" controls />\n <video v-else-if=\"isVideo\" :src=\"url\" controls width=\"300\" />\n <a v-else class=\"button is-light is-small\" :href=\"url\" target=\"_blank\">\n <span class=\"icon is-small\">\n <i class=\"fa fa-download\" />\n </span>\n <span>Download file ({{ contentType }})</span>\n </a>\n <div v-if=\"isImage\" class=\"modal\" :class=\"{ 'is-active': displayModal }\">\n <div class=\"modal-background\" @click=\"displayModal = false\" />\n <div class=\"modal-content image-container\">\n <img :src=\"url\" alt=\"\">\n </div>\n <button class=\"modal-close is-large\" aria-label=\"close\" title=\"Close\" @click=\"displayModal = false\" />\n </div>\n </div>\n</template>\n\n<script>\nimport mime from 'mime'\n\nexport default {\n name: 'MessageLink',\n props: {\n url: {\n type: String,\n required: true,\n },\n },\n data () {\n return {\n isImage: false,\n isAudio: false,\n isVideo: false,\n displayModal: false,\n }\n },\n computed: {\n contentType () {\n return mime.getType(this.url)\n },\n },\n mounted () {\n switch (this.contentType) {\n case 'image/jpeg':\n case 'image/gif':\n case 'image/png':\n case 'image/tiff':\n this.isImage = true\n break\n case 'audio/mpeg':\n case 'audio/mp3':\n case 'audio/mp4':\n case 'audio/x-wav':\n case 'audio/wave':\n case 'audio/wav':\n this.isAudio = true\n break\n case 'video/mpeg':\n case 'video/mp4':\n case 'video/quicktime':\n case 'video/x-ms-wmv':\n case 'video/x-msvideo':\n this.isVideo = true\n break\n }\n },\n}\n</script>\n\n<style scoped>\n.thumbnail {\n max-height: 8em;\n}\n.image-container {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n</style>\n","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-html.js.map","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-xml.js.map","\"use strict\";\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceCodePoint = exports.fromCodePoint = void 0;\nvar decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexports.fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nexports.replaceCodePoint = replaceCodePoint;\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nfunction decodeCodePoint(codePoint) {\n return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));\n}\nexports.default = decodeCodePoint;\n//# sourceMappingURL=decode_codepoint.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;\nvar decode_data_html_js_1 = __importDefault(require(\"./generated/decode-data-html.js\"));\nexports.htmlDecodeTree = decode_data_html_js_1.default;\nvar decode_data_xml_js_1 = __importDefault(require(\"./generated/decode-data-xml.js\"));\nexports.xmlDecodeTree = decode_data_xml_js_1.default;\nvar decode_codepoint_js_1 = __importStar(require(\"./decode_codepoint.js\"));\nexports.decodeCodePoint = decode_codepoint_js_1.default;\nvar decode_codepoint_js_2 = require(\"./decode_codepoint.js\");\nObject.defineProperty(exports, \"replaceCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } });\nObject.defineProperty(exports, \"fromCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } });\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nvar TO_LOWER_BIT = 32;\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nvar DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nvar EntityDecoder = /** @class */ (function () {\n function EntityDecoder(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n EntityDecoder.prototype.startEntity = function (decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n };\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param string The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.write = function (str, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (str.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(str, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(str, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(str, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(str, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(str, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(str, offset);\n }\n }\n };\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericStart = function (str, offset) {\n if (offset >= str.length) {\n return -1;\n }\n if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(str, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(str, offset);\n };\n EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) {\n if (start !== end) {\n var digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n parseInt(str.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n };\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericHex = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 16);\n return -1;\n };\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericDecimal = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 10);\n return -1;\n };\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n };\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNamedEntity = function (str, offset) {\n var decodeTree = this.decodeTree;\n var current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < str.length; offset++, this.excess++) {\n var char = str.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n };\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () {\n var _a;\n var _b = this, result = _b.result, decodeTree = _b.decodeTree;\n var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n };\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) {\n var decodeTree = this.decodeTree;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n };\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.end = function () {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n };\n return EntityDecoder;\n}());\nexports.EntityDecoder = EntityDecoder;\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n var ret = \"\";\n var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); });\n return function decodeWithTrie(str, decodeMode) {\n var lastIndex = 0;\n var offset = 0;\n while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n ret += str.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n var len = decoder.write(str, \n // Skip the \"&\"\n offset + 1);\n if (len < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + len;\n // If `len` is 0, skip the current `&` and continue.\n offset = len === 0 ? lastIndex + 1 : lastIndex;\n }\n var result = ret + str.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n ret = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIdx, char) {\n var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n var jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n var value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n var lo = nodeIdx;\n var hi = lo + branchCount - 1;\n while (lo <= hi) {\n var mid = (lo + hi) >>> 1;\n var midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nexports.determineBranch = determineBranch;\nvar htmlDecoder = getDecoder(decode_data_html_js_1.default);\nvar xmlDecoder = getDecoder(decode_data_xml_js_1.default);\n/**\n * Decodes an HTML string.\n *\n * @param str The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nfunction decodeHTML(str, mode) {\n if (mode === void 0) { mode = DecodingMode.Legacy; }\n return htmlDecoder(str, mode);\n}\nexports.decodeHTML = decodeHTML;\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLAttribute(str) {\n return htmlDecoder(str, DecodingMode.Attribute);\n}\nexports.decodeHTMLAttribute = decodeHTMLAttribute;\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(str) {\n return htmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeHTMLStrict = decodeHTMLStrict;\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(str) {\n return xmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeXML = decodeXML;\n//# sourceMappingURL=decode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QuoteType = void 0;\nvar decode_js_1 = require(\"entities/lib/decode.js\");\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"Tab\"] = 9] = \"Tab\";\n CharCodes[CharCodes[\"NewLine\"] = 10] = \"NewLine\";\n CharCodes[CharCodes[\"FormFeed\"] = 12] = \"FormFeed\";\n CharCodes[CharCodes[\"CarriageReturn\"] = 13] = \"CarriageReturn\";\n CharCodes[CharCodes[\"Space\"] = 32] = \"Space\";\n CharCodes[CharCodes[\"ExclamationMark\"] = 33] = \"ExclamationMark\";\n CharCodes[CharCodes[\"Number\"] = 35] = \"Number\";\n CharCodes[CharCodes[\"Amp\"] = 38] = \"Amp\";\n CharCodes[CharCodes[\"SingleQuote\"] = 39] = \"SingleQuote\";\n CharCodes[CharCodes[\"DoubleQuote\"] = 34] = \"DoubleQuote\";\n CharCodes[CharCodes[\"Dash\"] = 45] = \"Dash\";\n CharCodes[CharCodes[\"Slash\"] = 47] = \"Slash\";\n CharCodes[CharCodes[\"Zero\"] = 48] = \"Zero\";\n CharCodes[CharCodes[\"Nine\"] = 57] = \"Nine\";\n CharCodes[CharCodes[\"Semi\"] = 59] = \"Semi\";\n CharCodes[CharCodes[\"Lt\"] = 60] = \"Lt\";\n CharCodes[CharCodes[\"Eq\"] = 61] = \"Eq\";\n CharCodes[CharCodes[\"Gt\"] = 62] = \"Gt\";\n CharCodes[CharCodes[\"Questionmark\"] = 63] = \"Questionmark\";\n CharCodes[CharCodes[\"UpperA\"] = 65] = \"UpperA\";\n CharCodes[CharCodes[\"LowerA\"] = 97] = \"LowerA\";\n CharCodes[CharCodes[\"UpperF\"] = 70] = \"UpperF\";\n CharCodes[CharCodes[\"LowerF\"] = 102] = \"LowerF\";\n CharCodes[CharCodes[\"UpperZ\"] = 90] = \"UpperZ\";\n CharCodes[CharCodes[\"LowerZ\"] = 122] = \"LowerZ\";\n CharCodes[CharCodes[\"LowerX\"] = 120] = \"LowerX\";\n CharCodes[CharCodes[\"OpeningSquareBracket\"] = 91] = \"OpeningSquareBracket\";\n})(CharCodes || (CharCodes = {}));\n/** All the states the tokenizer can be in. */\nvar State;\n(function (State) {\n State[State[\"Text\"] = 1] = \"Text\";\n State[State[\"BeforeTagName\"] = 2] = \"BeforeTagName\";\n State[State[\"InTagName\"] = 3] = \"InTagName\";\n State[State[\"InSelfClosingTag\"] = 4] = \"InSelfClosingTag\";\n State[State[\"BeforeClosingTagName\"] = 5] = \"BeforeClosingTagName\";\n State[State[\"InClosingTagName\"] = 6] = \"InClosingTagName\";\n State[State[\"AfterClosingTagName\"] = 7] = \"AfterClosingTagName\";\n // Attributes\n State[State[\"BeforeAttributeName\"] = 8] = \"BeforeAttributeName\";\n State[State[\"InAttributeName\"] = 9] = \"InAttributeName\";\n State[State[\"AfterAttributeName\"] = 10] = \"AfterAttributeName\";\n State[State[\"BeforeAttributeValue\"] = 11] = \"BeforeAttributeValue\";\n State[State[\"InAttributeValueDq\"] = 12] = \"InAttributeValueDq\";\n State[State[\"InAttributeValueSq\"] = 13] = \"InAttributeValueSq\";\n State[State[\"InAttributeValueNq\"] = 14] = \"InAttributeValueNq\";\n // Declarations\n State[State[\"BeforeDeclaration\"] = 15] = \"BeforeDeclaration\";\n State[State[\"InDeclaration\"] = 16] = \"InDeclaration\";\n // Processing instructions\n State[State[\"InProcessingInstruction\"] = 17] = \"InProcessingInstruction\";\n // Comments & CDATA\n State[State[\"BeforeComment\"] = 18] = \"BeforeComment\";\n State[State[\"CDATASequence\"] = 19] = \"CDATASequence\";\n State[State[\"InSpecialComment\"] = 20] = \"InSpecialComment\";\n State[State[\"InCommentLike\"] = 21] = \"InCommentLike\";\n // Special tags\n State[State[\"BeforeSpecialS\"] = 22] = \"BeforeSpecialS\";\n State[State[\"SpecialStartSequence\"] = 23] = \"SpecialStartSequence\";\n State[State[\"InSpecialTag\"] = 24] = \"InSpecialTag\";\n State[State[\"BeforeEntity\"] = 25] = \"BeforeEntity\";\n State[State[\"BeforeNumericEntity\"] = 26] = \"BeforeNumericEntity\";\n State[State[\"InNamedEntity\"] = 27] = \"InNamedEntity\";\n State[State[\"InNumericEntity\"] = 28] = \"InNumericEntity\";\n State[State[\"InHexEntity\"] = 29] = \"InHexEntity\";\n})(State || (State = {}));\nfunction isWhitespace(c) {\n return (c === CharCodes.Space ||\n c === CharCodes.NewLine ||\n c === CharCodes.Tab ||\n c === CharCodes.FormFeed ||\n c === CharCodes.CarriageReturn);\n}\nfunction isEndOfTagSection(c) {\n return c === CharCodes.Slash || c === CharCodes.Gt || isWhitespace(c);\n}\nfunction isNumber(c) {\n return c >= CharCodes.Zero && c <= CharCodes.Nine;\n}\nfunction isASCIIAlpha(c) {\n return ((c >= CharCodes.LowerA && c <= CharCodes.LowerZ) ||\n (c >= CharCodes.UpperA && c <= CharCodes.UpperZ));\n}\nfunction isHexDigit(c) {\n return ((c >= CharCodes.UpperA && c <= CharCodes.UpperF) ||\n (c >= CharCodes.LowerA && c <= CharCodes.LowerF));\n}\nvar QuoteType;\n(function (QuoteType) {\n QuoteType[QuoteType[\"NoValue\"] = 0] = \"NoValue\";\n QuoteType[QuoteType[\"Unquoted\"] = 1] = \"Unquoted\";\n QuoteType[QuoteType[\"Single\"] = 2] = \"Single\";\n QuoteType[QuoteType[\"Double\"] = 3] = \"Double\";\n})(QuoteType = exports.QuoteType || (exports.QuoteType = {}));\n/**\n * Sequences used to match longer strings.\n *\n * We don't have `Script`, `Style`, or `Title` here. Instead, we re-use the *End\n * sequences with an increased offset.\n */\nvar Sequences = {\n Cdata: new Uint8Array([0x43, 0x44, 0x41, 0x54, 0x41, 0x5b]),\n CdataEnd: new Uint8Array([0x5d, 0x5d, 0x3e]),\n CommentEnd: new Uint8Array([0x2d, 0x2d, 0x3e]),\n ScriptEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74]),\n StyleEnd: new Uint8Array([0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65]),\n TitleEnd: new Uint8Array([0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65]), // `</title`\n};\nvar Tokenizer = /** @class */ (function () {\n function Tokenizer(_a, cbs) {\n var _b = _a.xmlMode, xmlMode = _b === void 0 ? false : _b, _c = _a.decodeEntities, decodeEntities = _c === void 0 ? true : _c;\n this.cbs = cbs;\n /** The current state the tokenizer is in. */\n this.state = State.Text;\n /** The read buffer. */\n this.buffer = \"\";\n /** The beginning of the section that is currently being read. */\n this.sectionStart = 0;\n /** The index within the buffer that we are currently looking at. */\n this.index = 0;\n /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */\n this.baseState = State.Text;\n /** For special parsing behavior inside of script and style tags. */\n this.isSpecial = false;\n /** Indicates whether the tokenizer has been paused. */\n this.running = true;\n /** The offset of the current buffer. */\n this.offset = 0;\n this.currentSequence = undefined;\n this.sequenceIndex = 0;\n this.trieIndex = 0;\n this.trieCurrent = 0;\n /** For named entities, the index of the value. For numeric entities, the code point. */\n this.entityResult = 0;\n this.entityExcess = 0;\n this.xmlMode = xmlMode;\n this.decodeEntities = decodeEntities;\n this.entityTrie = xmlMode ? decode_js_1.xmlDecodeTree : decode_js_1.htmlDecodeTree;\n }\n Tokenizer.prototype.reset = function () {\n this.state = State.Text;\n this.buffer = \"\";\n this.sectionStart = 0;\n this.index = 0;\n this.baseState = State.Text;\n this.currentSequence = undefined;\n this.running = true;\n this.offset = 0;\n };\n Tokenizer.prototype.write = function (chunk) {\n this.offset += this.buffer.length;\n this.buffer = chunk;\n this.parse();\n };\n Tokenizer.prototype.end = function () {\n if (this.running)\n this.finish();\n };\n Tokenizer.prototype.pause = function () {\n this.running = false;\n };\n Tokenizer.prototype.resume = function () {\n this.running = true;\n if (this.index < this.buffer.length + this.offset) {\n this.parse();\n }\n };\n /**\n * The current index within all of the written data.\n */\n Tokenizer.prototype.getIndex = function () {\n return this.index;\n };\n /**\n * The start of the current section.\n */\n Tokenizer.prototype.getSectionStart = function () {\n return this.sectionStart;\n };\n Tokenizer.prototype.stateText = function (c) {\n if (c === CharCodes.Lt ||\n (!this.decodeEntities && this.fastForwardTo(CharCodes.Lt))) {\n if (this.index > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, this.index);\n }\n this.state = State.BeforeTagName;\n this.sectionStart = this.index;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateSpecialStartSequence = function (c) {\n var isEnd = this.sequenceIndex === this.currentSequence.length;\n var isMatch = isEnd\n ? // If we are at the end of the sequence, make sure the tag name has ended\n isEndOfTagSection(c)\n : // Otherwise, do a case-insensitive comparison\n (c | 0x20) === this.currentSequence[this.sequenceIndex];\n if (!isMatch) {\n this.isSpecial = false;\n }\n else if (!isEnd) {\n this.sequenceIndex++;\n return;\n }\n this.sequenceIndex = 0;\n this.state = State.InTagName;\n this.stateInTagName(c);\n };\n /** Look for an end tag. For <title> tags, also decode entities. */\n Tokenizer.prototype.stateInSpecialTag = function (c) {\n if (this.sequenceIndex === this.currentSequence.length) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n var endOfText = this.index - this.currentSequence.length;\n if (this.sectionStart < endOfText) {\n // Spoof the index so that reported locations match up.\n var actualIndex = this.index;\n this.index = endOfText;\n this.cbs.ontext(this.sectionStart, endOfText);\n this.index = actualIndex;\n }\n this.isSpecial = false;\n this.sectionStart = endOfText + 2; // Skip over the `</`\n this.stateInClosingTagName(c);\n return; // We are done; skip the rest of the function.\n }\n this.sequenceIndex = 0;\n }\n if ((c | 0x20) === this.currentSequence[this.sequenceIndex]) {\n this.sequenceIndex += 1;\n }\n else if (this.sequenceIndex === 0) {\n if (this.currentSequence === Sequences.TitleEnd) {\n // We have to parse entities in <title> tags.\n if (this.decodeEntities && c === CharCodes.Amp) {\n this.state = State.BeforeEntity;\n }\n }\n else if (this.fastForwardTo(CharCodes.Lt)) {\n // Outside of <title> tags, we can fast-forward.\n this.sequenceIndex = 1;\n }\n }\n else {\n // If we see a `<`, set the sequence index to 1; useful for eg. `<</script>`.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n };\n Tokenizer.prototype.stateCDATASequence = function (c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n };\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n Tokenizer.prototype.fastForwardTo = function (c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n };\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n Tokenizer.prototype.stateInCommentLike = function (c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n };\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n Tokenizer.prototype.isTagStartChar = function (c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n };\n Tokenizer.prototype.startSpecial = function (sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n };\n Tokenizer.prototype.stateBeforeTagName = function (c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n var lower = c | 0x20;\n this.sectionStart = this.index;\n if (!this.xmlMode && lower === Sequences.TitleEnd[2]) {\n this.startSpecial(Sequences.TitleEnd, 3);\n }\n else {\n this.state =\n !this.xmlMode && lower === Sequences.ScriptEnd[2]\n ? State.BeforeSpecialS\n : State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n };\n Tokenizer.prototype.stateInTagName = function (c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateBeforeClosingTagName = function (c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInClosingTagName = function (c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n };\n Tokenizer.prototype.stateAfterClosingTagName = function (c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeName = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.baseState = this.state;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInSelfClosingTag = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateInAttributeName = function (c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n };\n Tokenizer.prototype.stateAfterAttributeName = function (c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeValue = function (c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n };\n Tokenizer.prototype.handleInAttributeValue = function (c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueSingleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueNoQuotes = function (c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateBeforeDeclaration = function (c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInDeclaration = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateInProcessingInstruction = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeComment = function (c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. <!-->)\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInSpecialComment = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeSpecialS = function (c) {\n var lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n };\n Tokenizer.prototype.stateBeforeEntity = function (c) {\n // Start excess with 1 to include the '&'\n this.entityExcess = 1;\n this.entityResult = 0;\n if (c === CharCodes.Number) {\n this.state = State.BeforeNumericEntity;\n }\n else if (c === CharCodes.Amp) {\n // We have two `&` characters in a row. Stay in the current state.\n }\n else {\n this.trieIndex = 0;\n this.trieCurrent = this.entityTrie[0];\n this.state = State.InNamedEntity;\n this.stateInNamedEntity(c);\n }\n };\n Tokenizer.prototype.stateInNamedEntity = function (c) {\n this.entityExcess += 1;\n this.trieIndex = (0, decode_js_1.determineBranch)(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c);\n if (this.trieIndex < 0) {\n this.emitNamedEntity();\n this.index--;\n return;\n }\n this.trieCurrent = this.entityTrie[this.trieIndex];\n var masked = this.trieCurrent & decode_js_1.BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (masked >> 14) - 1;\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!this.allowLegacyEntity() && c !== CharCodes.Semi) {\n this.trieIndex += valueLength;\n }\n else {\n // Add 1 as we have already incremented the excess\n var entityStart = this.index - this.entityExcess + 1;\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n // If this is a surrogate pair, consume the next two bytes\n this.entityResult = this.trieIndex;\n this.trieIndex += valueLength;\n this.entityExcess = 0;\n this.sectionStart = this.index + 1;\n if (valueLength === 0) {\n this.emitNamedEntity();\n }\n }\n }\n };\n Tokenizer.prototype.emitNamedEntity = function () {\n this.state = this.baseState;\n if (this.entityResult === 0) {\n return;\n }\n var valueLength = (this.entityTrie[this.entityResult] & decode_js_1.BinTrieFlags.VALUE_LENGTH) >>\n 14;\n switch (valueLength) {\n case 1: {\n this.emitCodePoint(this.entityTrie[this.entityResult] &\n ~decode_js_1.BinTrieFlags.VALUE_LENGTH);\n break;\n }\n case 2: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n break;\n }\n case 3: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n this.emitCodePoint(this.entityTrie[this.entityResult + 2]);\n }\n }\n };\n Tokenizer.prototype.stateBeforeNumericEntity = function (c) {\n if ((c | 0x20) === CharCodes.LowerX) {\n this.entityExcess++;\n this.state = State.InHexEntity;\n }\n else {\n this.state = State.InNumericEntity;\n this.stateInNumericEntity(c);\n }\n };\n Tokenizer.prototype.emitNumericEntity = function (strict) {\n var entityStart = this.index - this.entityExcess - 1;\n var numberStart = entityStart + 2 + Number(this.state === State.InHexEntity);\n if (numberStart !== this.index) {\n // Emit leading data if any\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n this.sectionStart = this.index + Number(strict);\n this.emitCodePoint((0, decode_js_1.replaceCodePoint)(this.entityResult));\n }\n this.state = this.baseState;\n };\n Tokenizer.prototype.stateInNumericEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 10 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.stateInHexEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 16 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else if (isHexDigit(c)) {\n this.entityResult =\n this.entityResult * 16 + ((c | 0x20) - CharCodes.LowerA + 10);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.allowLegacyEntity = function () {\n return (!this.xmlMode &&\n (this.baseState === State.Text ||\n this.baseState === State.InSpecialTag));\n };\n /**\n * Remove data that has already been consumed from the buffer.\n */\n Tokenizer.prototype.cleanup = function () {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n };\n Tokenizer.prototype.shouldContinue = function () {\n return this.index < this.buffer.length + this.offset && this.running;\n };\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n Tokenizer.prototype.parse = function () {\n while (this.shouldContinue()) {\n var c = this.buffer.charCodeAt(this.index - this.offset);\n switch (this.state) {\n case State.Text: {\n this.stateText(c);\n break;\n }\n case State.SpecialStartSequence: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case State.InSpecialTag: {\n this.stateInSpecialTag(c);\n break;\n }\n case State.CDATASequence: {\n this.stateCDATASequence(c);\n break;\n }\n case State.InAttributeValueDq: {\n this.stateInAttributeValueDoubleQuotes(c);\n break;\n }\n case State.InAttributeName: {\n this.stateInAttributeName(c);\n break;\n }\n case State.InCommentLike: {\n this.stateInCommentLike(c);\n break;\n }\n case State.InSpecialComment: {\n this.stateInSpecialComment(c);\n break;\n }\n case State.BeforeAttributeName: {\n this.stateBeforeAttributeName(c);\n break;\n }\n case State.InTagName: {\n this.stateInTagName(c);\n break;\n }\n case State.InClosingTagName: {\n this.stateInClosingTagName(c);\n break;\n }\n case State.BeforeTagName: {\n this.stateBeforeTagName(c);\n break;\n }\n case State.AfterAttributeName: {\n this.stateAfterAttributeName(c);\n break;\n }\n case State.InAttributeValueSq: {\n this.stateInAttributeValueSingleQuotes(c);\n break;\n }\n case State.BeforeAttributeValue: {\n this.stateBeforeAttributeValue(c);\n break;\n }\n case State.BeforeClosingTagName: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case State.AfterClosingTagName: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case State.BeforeSpecialS: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case State.InAttributeValueNq: {\n this.stateInAttributeValueNoQuotes(c);\n break;\n }\n case State.InSelfClosingTag: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case State.InDeclaration: {\n this.stateInDeclaration(c);\n break;\n }\n case State.BeforeDeclaration: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case State.BeforeComment: {\n this.stateBeforeComment(c);\n break;\n }\n case State.InProcessingInstruction: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case State.InNamedEntity: {\n this.stateInNamedEntity(c);\n break;\n }\n case State.BeforeEntity: {\n this.stateBeforeEntity(c);\n break;\n }\n case State.InHexEntity: {\n this.stateInHexEntity(c);\n break;\n }\n case State.InNumericEntity: {\n this.stateInNumericEntity(c);\n break;\n }\n default: {\n // `this._state === State.BeforeNumericEntity`\n this.stateBeforeNumericEntity(c);\n }\n }\n this.index++;\n }\n this.cleanup();\n };\n Tokenizer.prototype.finish = function () {\n if (this.state === State.InNamedEntity) {\n this.emitNamedEntity();\n }\n // If there is remaining data, emit it in a reasonable way\n if (this.sectionStart < this.index) {\n this.handleTrailingData();\n }\n this.cbs.onend();\n };\n /** Handle any trailing data. */\n Tokenizer.prototype.handleTrailingData = function () {\n var endIndex = this.buffer.length + this.offset;\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InNumericEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InHexEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n };\n Tokenizer.prototype.emitPartial = function (start, endIndex) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribdata(start, endIndex);\n }\n else {\n this.cbs.ontext(start, endIndex);\n }\n };\n Tokenizer.prototype.emitCodePoint = function (cp) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribentity(cp);\n }\n else {\n this.cbs.ontextentity(cp);\n }\n };\n return Tokenizer;\n}());\nexports.default = Tokenizer;\n//# sourceMappingURL=Tokenizer.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Parser = void 0;\nvar Tokenizer_js_1 = __importStar(require(\"./Tokenizer.js\"));\nvar decode_js_1 = require(\"entities/lib/decode.js\");\nvar formTags = new Set([\n \"input\",\n \"option\",\n \"optgroup\",\n \"select\",\n \"button\",\n \"datalist\",\n \"textarea\",\n]);\nvar pTag = new Set([\"p\"]);\nvar tableSectionTags = new Set([\"thead\", \"tbody\"]);\nvar ddtTags = new Set([\"dd\", \"dt\"]);\nvar rtpTags = new Set([\"rt\", \"rp\"]);\nvar openImpliesClose = new Map([\n [\"tr\", new Set([\"tr\", \"th\", \"td\"])],\n [\"th\", new Set([\"th\"])],\n [\"td\", new Set([\"thead\", \"th\", \"td\"])],\n [\"body\", new Set([\"head\", \"link\", \"script\"])],\n [\"li\", new Set([\"li\"])],\n [\"p\", pTag],\n [\"h1\", pTag],\n [\"h2\", pTag],\n [\"h3\", pTag],\n [\"h4\", pTag],\n [\"h5\", pTag],\n [\"h6\", pTag],\n [\"select\", formTags],\n [\"input\", formTags],\n [\"output\", formTags],\n [\"button\", formTags],\n [\"datalist\", formTags],\n [\"textarea\", formTags],\n [\"option\", new Set([\"option\"])],\n [\"optgroup\", new Set([\"optgroup\", \"option\"])],\n [\"dd\", ddtTags],\n [\"dt\", ddtTags],\n [\"address\", pTag],\n [\"article\", pTag],\n [\"aside\", pTag],\n [\"blockquote\", pTag],\n [\"details\", pTag],\n [\"div\", pTag],\n [\"dl\", pTag],\n [\"fieldset\", pTag],\n [\"figcaption\", pTag],\n [\"figure\", pTag],\n [\"footer\", pTag],\n [\"form\", pTag],\n [\"header\", pTag],\n [\"hr\", pTag],\n [\"main\", pTag],\n [\"nav\", pTag],\n [\"ol\", pTag],\n [\"pre\", pTag],\n [\"section\", pTag],\n [\"table\", pTag],\n [\"ul\", pTag],\n [\"rt\", rtpTags],\n [\"rp\", rtpTags],\n [\"tbody\", tableSectionTags],\n [\"tfoot\", tableSectionTags],\n]);\nvar voidElements = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\nvar foreignContextElements = new Set([\"math\", \"svg\"]);\nvar htmlIntegrationElements = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignobject\",\n \"desc\",\n \"title\",\n]);\nvar reNameEnd = /\\s|\\//;\nvar Parser = /** @class */ (function () {\n function Parser(cbs, options) {\n if (options === void 0) { options = {}; }\n var _a, _b, _c, _d, _e;\n this.options = options;\n /** The start index of the last event. */\n this.startIndex = 0;\n /** The end index of the last event. */\n this.endIndex = 0;\n /**\n * Store the start index of the current open tag,\n * so we can update the start index for attributes.\n */\n this.openTagStart = 0;\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribvalue = \"\";\n this.attribs = null;\n this.stack = [];\n this.foreignContext = [];\n this.buffers = [];\n this.bufferOffset = 0;\n /** The index of the last written buffer. Used when resuming after a `pause()`. */\n this.writeIndex = 0;\n /** Indicates whether the parser has finished running / `.end` has been called. */\n this.ended = false;\n this.cbs = cbs !== null && cbs !== void 0 ? cbs : {};\n this.lowerCaseTagNames = (_a = options.lowerCaseTags) !== null && _a !== void 0 ? _a : !options.xmlMode;\n this.lowerCaseAttributeNames =\n (_b = options.lowerCaseAttributeNames) !== null && _b !== void 0 ? _b : !options.xmlMode;\n this.tokenizer = new ((_c = options.Tokenizer) !== null && _c !== void 0 ? _c : Tokenizer_js_1.default)(this.options, this);\n (_e = (_d = this.cbs).onparserinit) === null || _e === void 0 ? void 0 : _e.call(_d, this);\n }\n // Tokenizer event handlers\n /** @internal */\n Parser.prototype.ontext = function (start, endIndex) {\n var _a, _b;\n var data = this.getSlice(start, endIndex);\n this.endIndex = endIndex - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n this.startIndex = endIndex;\n };\n /** @internal */\n Parser.prototype.ontextentity = function (cp) {\n var _a, _b;\n /*\n * Entities can be emitted on the character, or directly after.\n * We use the section start here to get accurate indices.\n */\n var index = this.tokenizer.getSectionStart();\n this.endIndex = index - 1;\n (_b = (_a = this.cbs).ontext) === null || _b === void 0 ? void 0 : _b.call(_a, (0, decode_js_1.fromCodePoint)(cp));\n this.startIndex = index;\n };\n Parser.prototype.isVoidElement = function (name) {\n return !this.options.xmlMode && voidElements.has(name);\n };\n /** @internal */\n Parser.prototype.onopentagname = function (start, endIndex) {\n this.endIndex = endIndex;\n var name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n this.emitOpenTag(name);\n };\n Parser.prototype.emitOpenTag = function (name) {\n var _a, _b, _c, _d;\n this.openTagStart = this.startIndex;\n this.tagname = name;\n var impliesClose = !this.options.xmlMode && openImpliesClose.get(name);\n if (impliesClose) {\n while (this.stack.length > 0 &&\n impliesClose.has(this.stack[this.stack.length - 1])) {\n var element = this.stack.pop();\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, element, true);\n }\n }\n if (!this.isVoidElement(name)) {\n this.stack.push(name);\n if (foreignContextElements.has(name)) {\n this.foreignContext.push(true);\n }\n else if (htmlIntegrationElements.has(name)) {\n this.foreignContext.push(false);\n }\n }\n (_d = (_c = this.cbs).onopentagname) === null || _d === void 0 ? void 0 : _d.call(_c, name);\n if (this.cbs.onopentag)\n this.attribs = {};\n };\n Parser.prototype.endOpenTag = function (isImplied) {\n var _a, _b;\n this.startIndex = this.openTagStart;\n if (this.attribs) {\n (_b = (_a = this.cbs).onopentag) === null || _b === void 0 ? void 0 : _b.call(_a, this.tagname, this.attribs, isImplied);\n this.attribs = null;\n }\n if (this.cbs.onclosetag && this.isVoidElement(this.tagname)) {\n this.cbs.onclosetag(this.tagname, true);\n }\n this.tagname = \"\";\n };\n /** @internal */\n Parser.prototype.onopentagend = function (endIndex) {\n this.endIndex = endIndex;\n this.endOpenTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onclosetag = function (start, endIndex) {\n var _a, _b, _c, _d, _e, _f;\n this.endIndex = endIndex;\n var name = this.getSlice(start, endIndex);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n if (foreignContextElements.has(name) ||\n htmlIntegrationElements.has(name)) {\n this.foreignContext.pop();\n }\n if (!this.isVoidElement(name)) {\n var pos = this.stack.lastIndexOf(name);\n if (pos !== -1) {\n if (this.cbs.onclosetag) {\n var count = this.stack.length - pos;\n while (count--) {\n // We know the stack has sufficient elements.\n this.cbs.onclosetag(this.stack.pop(), count !== 0);\n }\n }\n else\n this.stack.length = pos;\n }\n else if (!this.options.xmlMode && name === \"p\") {\n // Implicit open before close\n this.emitOpenTag(\"p\");\n this.closeCurrentTag(true);\n }\n }\n else if (!this.options.xmlMode && name === \"br\") {\n // We can't use `emitOpenTag` for implicit open, as `br` would be implicitly closed.\n (_b = (_a = this.cbs).onopentagname) === null || _b === void 0 ? void 0 : _b.call(_a, \"br\");\n (_d = (_c = this.cbs).onopentag) === null || _d === void 0 ? void 0 : _d.call(_c, \"br\", {}, true);\n (_f = (_e = this.cbs).onclosetag) === null || _f === void 0 ? void 0 : _f.call(_e, \"br\", false);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onselfclosingtag = function (endIndex) {\n this.endIndex = endIndex;\n if (this.options.xmlMode ||\n this.options.recognizeSelfClosing ||\n this.foreignContext[this.foreignContext.length - 1]) {\n this.closeCurrentTag(false);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n }\n else {\n // Ignore the fact that the tag is self-closing.\n this.onopentagend(endIndex);\n }\n };\n Parser.prototype.closeCurrentTag = function (isOpenImplied) {\n var _a, _b;\n var name = this.tagname;\n this.endOpenTag(isOpenImplied);\n // Self-closing tags will be on the top of the stack\n if (this.stack[this.stack.length - 1] === name) {\n // If the opening tag isn't implied, the closing tag has to be implied.\n (_b = (_a = this.cbs).onclosetag) === null || _b === void 0 ? void 0 : _b.call(_a, name, !isOpenImplied);\n this.stack.pop();\n }\n };\n /** @internal */\n Parser.prototype.onattribname = function (start, endIndex) {\n this.startIndex = start;\n var name = this.getSlice(start, endIndex);\n this.attribname = this.lowerCaseAttributeNames\n ? name.toLowerCase()\n : name;\n };\n /** @internal */\n Parser.prototype.onattribdata = function (start, endIndex) {\n this.attribvalue += this.getSlice(start, endIndex);\n };\n /** @internal */\n Parser.prototype.onattribentity = function (cp) {\n this.attribvalue += (0, decode_js_1.fromCodePoint)(cp);\n };\n /** @internal */\n Parser.prototype.onattribend = function (quote, endIndex) {\n var _a, _b;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).onattribute) === null || _b === void 0 ? void 0 : _b.call(_a, this.attribname, this.attribvalue, quote === Tokenizer_js_1.QuoteType.Double\n ? '\"'\n : quote === Tokenizer_js_1.QuoteType.Single\n ? \"'\"\n : quote === Tokenizer_js_1.QuoteType.NoValue\n ? undefined\n : null);\n if (this.attribs &&\n !Object.prototype.hasOwnProperty.call(this.attribs, this.attribname)) {\n this.attribs[this.attribname] = this.attribvalue;\n }\n this.attribvalue = \"\";\n };\n Parser.prototype.getInstructionName = function (value) {\n var index = value.search(reNameEnd);\n var name = index < 0 ? value : value.substr(0, index);\n if (this.lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n return name;\n };\n /** @internal */\n Parser.prototype.ondeclaration = function (start, endIndex) {\n this.endIndex = endIndex;\n var value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n var name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(\"!\".concat(name), \"!\".concat(value));\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onprocessinginstruction = function (start, endIndex) {\n this.endIndex = endIndex;\n var value = this.getSlice(start, endIndex);\n if (this.cbs.onprocessinginstruction) {\n var name = this.getInstructionName(value);\n this.cbs.onprocessinginstruction(\"?\".concat(name), \"?\".concat(value));\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.oncomment = function (start, endIndex, offset) {\n var _a, _b, _c, _d;\n this.endIndex = endIndex;\n (_b = (_a = this.cbs).oncomment) === null || _b === void 0 ? void 0 : _b.call(_a, this.getSlice(start, endIndex - offset));\n (_d = (_c = this.cbs).oncommentend) === null || _d === void 0 ? void 0 : _d.call(_c);\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.oncdata = function (start, endIndex, offset) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n this.endIndex = endIndex;\n var value = this.getSlice(start, endIndex - offset);\n if (this.options.xmlMode || this.options.recognizeCDATA) {\n (_b = (_a = this.cbs).oncdatastart) === null || _b === void 0 ? void 0 : _b.call(_a);\n (_d = (_c = this.cbs).ontext) === null || _d === void 0 ? void 0 : _d.call(_c, value);\n (_f = (_e = this.cbs).oncdataend) === null || _f === void 0 ? void 0 : _f.call(_e);\n }\n else {\n (_h = (_g = this.cbs).oncomment) === null || _h === void 0 ? void 0 : _h.call(_g, \"[CDATA[\".concat(value, \"]]\"));\n (_k = (_j = this.cbs).oncommentend) === null || _k === void 0 ? void 0 : _k.call(_j);\n }\n // Set `startIndex` for next node\n this.startIndex = endIndex + 1;\n };\n /** @internal */\n Parser.prototype.onend = function () {\n var _a, _b;\n if (this.cbs.onclosetag) {\n // Set the end index for all remaining tags\n this.endIndex = this.startIndex;\n for (var index = this.stack.length; index > 0; this.cbs.onclosetag(this.stack[--index], true))\n ;\n }\n (_b = (_a = this.cbs).onend) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n /**\n * Resets the parser to a blank state, ready to parse a new HTML document\n */\n Parser.prototype.reset = function () {\n var _a, _b, _c, _d;\n (_b = (_a = this.cbs).onreset) === null || _b === void 0 ? void 0 : _b.call(_a);\n this.tokenizer.reset();\n this.tagname = \"\";\n this.attribname = \"\";\n this.attribs = null;\n this.stack.length = 0;\n this.startIndex = 0;\n this.endIndex = 0;\n (_d = (_c = this.cbs).onparserinit) === null || _d === void 0 ? void 0 : _d.call(_c, this);\n this.buffers.length = 0;\n this.bufferOffset = 0;\n this.writeIndex = 0;\n this.ended = false;\n };\n /**\n * Resets the parser, then parses a complete document and\n * pushes it to the handler.\n *\n * @param data Document to parse.\n */\n Parser.prototype.parseComplete = function (data) {\n this.reset();\n this.end(data);\n };\n Parser.prototype.getSlice = function (start, end) {\n while (start - this.bufferOffset >= this.buffers[0].length) {\n this.shiftBuffer();\n }\n var slice = this.buffers[0].slice(start - this.bufferOffset, end - this.bufferOffset);\n while (end - this.bufferOffset > this.buffers[0].length) {\n this.shiftBuffer();\n slice += this.buffers[0].slice(0, end - this.bufferOffset);\n }\n return slice;\n };\n Parser.prototype.shiftBuffer = function () {\n this.bufferOffset += this.buffers[0].length;\n this.writeIndex--;\n this.buffers.shift();\n };\n /**\n * Parses a chunk of data and calls the corresponding callbacks.\n *\n * @param chunk Chunk to parse.\n */\n Parser.prototype.write = function (chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".write() after done!\"));\n return;\n }\n this.buffers.push(chunk);\n if (this.tokenizer.running) {\n this.tokenizer.write(chunk);\n this.writeIndex++;\n }\n };\n /**\n * Parses the end of the buffer and clears the stack, calls onend.\n *\n * @param chunk Optional final chunk to parse.\n */\n Parser.prototype.end = function (chunk) {\n var _a, _b;\n if (this.ended) {\n (_b = (_a = this.cbs).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(\".end() after done!\"));\n return;\n }\n if (chunk)\n this.write(chunk);\n this.ended = true;\n this.tokenizer.end();\n };\n /**\n * Pauses parsing. The parser won't emit events until `resume` is called.\n */\n Parser.prototype.pause = function () {\n this.tokenizer.pause();\n };\n /**\n * Resumes parsing after `pause` was called.\n */\n Parser.prototype.resume = function () {\n this.tokenizer.resume();\n while (this.tokenizer.running &&\n this.writeIndex < this.buffers.length) {\n this.tokenizer.write(this.buffers[this.writeIndex++]);\n }\n if (this.ended)\n this.tokenizer.end();\n };\n /**\n * Alias of `write`, for backwards compatibility.\n *\n * @param chunk Chunk to parse.\n * @deprecated\n */\n Parser.prototype.parseChunk = function (chunk) {\n this.write(chunk);\n };\n /**\n * Alias of `end`, for backwards compatibility.\n *\n * @param chunk Optional final chunk to parse.\n * @deprecated\n */\n Parser.prototype.done = function (chunk) {\n this.end(chunk);\n };\n return Parser;\n}());\nexports.Parser = Parser;\n//# sourceMappingURL=Parser.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for <? ... ?> */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for <!-- ... --> */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for <script> tags */\n ElementType[\"Script\"] = \"script\";\n /** Type for <style> tags */\n ElementType[\"Style\"] = \"style\";\n /** Type for Any tag */\n ElementType[\"Tag\"] = \"tag\";\n /** Type for <![CDATA[ ... ]]> */\n ElementType[\"CDATA\"] = \"cdata\";\n /** Type for <!doctype ...> */\n ElementType[\"Doctype\"] = \"doctype\";\n})(ElementType = exports.ElementType || (exports.ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\nexports.isTag = isTag;\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexports.Root = ElementType.Root;\n/** Type for Text */\nexports.Text = ElementType.Text;\n/** Type for <? ... ?> */\nexports.Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexports.Comment = ElementType.Comment;\n/** Type for <script> tags */\nexports.Script = ElementType.Script;\n/** Type for <style> tags */\nexports.Style = ElementType.Style;\n/** Type for Any tag */\nexports.Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexports.CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexports.Doctype = ElementType.Doctype;\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.CDATA = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * This object will be used as the prototype for Nodes when creating a\n * DOM-Level-1-compliant structure.\n */\nvar Node = /** @class */ (function () {\n function Node() {\n /** Parent of the node */\n this.parent = null;\n /** Previous sibling */\n this.prev = null;\n /** Next sibling */\n this.next = null;\n /** The start index of the node. Requires `withStartIndices` on the handler to be `true. */\n this.startIndex = null;\n /** The end index of the node. Requires `withEndIndices` on the handler to be `true. */\n this.endIndex = null;\n }\n Object.defineProperty(Node.prototype, \"parentNode\", {\n // Read-write aliases for properties\n /**\n * Same as {@link parent}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.parent;\n },\n set: function (parent) {\n this.parent = parent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"previousSibling\", {\n /**\n * Same as {@link prev}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.prev;\n },\n set: function (prev) {\n this.prev = prev;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Node.prototype, \"nextSibling\", {\n /**\n * Same as {@link next}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.next;\n },\n set: function (next) {\n this.next = next;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Clone this node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\n Node.prototype.cloneNode = function (recursive) {\n if (recursive === void 0) { recursive = false; }\n return cloneNode(this, recursive);\n };\n return Node;\n}());\nexports.Node = Node;\n/**\n * A node that contains some data.\n */\nvar DataNode = /** @class */ (function (_super) {\n __extends(DataNode, _super);\n /**\n * @param data The content of the data node\n */\n function DataNode(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n Object.defineProperty(DataNode.prototype, \"nodeValue\", {\n /**\n * Same as {@link data}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.data;\n },\n set: function (data) {\n this.data = data;\n },\n enumerable: false,\n configurable: true\n });\n return DataNode;\n}(Node));\nexports.DataNode = DataNode;\n/**\n * Text within the document.\n */\nvar Text = /** @class */ (function (_super) {\n __extends(Text, _super);\n function Text() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Text;\n return _this;\n }\n Object.defineProperty(Text.prototype, \"nodeType\", {\n get: function () {\n return 3;\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(DataNode));\nexports.Text = Text;\n/**\n * Comments within the document.\n */\nvar Comment = /** @class */ (function (_super) {\n __extends(Comment, _super);\n function Comment() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Comment;\n return _this;\n }\n Object.defineProperty(Comment.prototype, \"nodeType\", {\n get: function () {\n return 8;\n },\n enumerable: false,\n configurable: true\n });\n return Comment;\n}(DataNode));\nexports.Comment = Comment;\n/**\n * Processing instructions, including doc types.\n */\nvar ProcessingInstruction = /** @class */ (function (_super) {\n __extends(ProcessingInstruction, _super);\n function ProcessingInstruction(name, data) {\n var _this = _super.call(this, data) || this;\n _this.name = name;\n _this.type = domelementtype_1.ElementType.Directive;\n return _this;\n }\n Object.defineProperty(ProcessingInstruction.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n return ProcessingInstruction;\n}(DataNode));\nexports.ProcessingInstruction = ProcessingInstruction;\n/**\n * A `Node` that can have children.\n */\nvar NodeWithChildren = /** @class */ (function (_super) {\n __extends(NodeWithChildren, _super);\n /**\n * @param children Children of the node. Only certain node types can have children.\n */\n function NodeWithChildren(children) {\n var _this = _super.call(this) || this;\n _this.children = children;\n return _this;\n }\n Object.defineProperty(NodeWithChildren.prototype, \"firstChild\", {\n // Aliases\n /** First child of the node. */\n get: function () {\n var _a;\n return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"lastChild\", {\n /** Last child of the node. */\n get: function () {\n return this.children.length > 0\n ? this.children[this.children.length - 1]\n : null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(NodeWithChildren.prototype, \"childNodes\", {\n /**\n * Same as {@link children}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.children;\n },\n set: function (children) {\n this.children = children;\n },\n enumerable: false,\n configurable: true\n });\n return NodeWithChildren;\n}(Node));\nexports.NodeWithChildren = NodeWithChildren;\nvar CDATA = /** @class */ (function (_super) {\n __extends(CDATA, _super);\n function CDATA() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.CDATA;\n return _this;\n }\n Object.defineProperty(CDATA.prototype, \"nodeType\", {\n get: function () {\n return 4;\n },\n enumerable: false,\n configurable: true\n });\n return CDATA;\n}(NodeWithChildren));\nexports.CDATA = CDATA;\n/**\n * The root node of the document.\n */\nvar Document = /** @class */ (function (_super) {\n __extends(Document, _super);\n function Document() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = domelementtype_1.ElementType.Root;\n return _this;\n }\n Object.defineProperty(Document.prototype, \"nodeType\", {\n get: function () {\n return 9;\n },\n enumerable: false,\n configurable: true\n });\n return Document;\n}(NodeWithChildren));\nexports.Document = Document;\n/**\n * An element within the DOM.\n */\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n /**\n * @param name Name of the tag, eg. `div`, `span`.\n * @param attribs Object mapping attribute names to attribute values.\n * @param children Children of the node.\n */\n function Element(name, attribs, children, type) {\n if (children === void 0) { children = []; }\n if (type === void 0) { type = name === \"script\"\n ? domelementtype_1.ElementType.Script\n : name === \"style\"\n ? domelementtype_1.ElementType.Style\n : domelementtype_1.ElementType.Tag; }\n var _this = _super.call(this, children) || this;\n _this.name = name;\n _this.attribs = attribs;\n _this.type = type;\n return _this;\n }\n Object.defineProperty(Element.prototype, \"nodeType\", {\n get: function () {\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"tagName\", {\n // DOM Level 1 aliases\n /**\n * Same as {@link name}.\n * [DOM spec](https://dom.spec.whatwg.org)-compatible alias.\n */\n get: function () {\n return this.name;\n },\n set: function (name) {\n this.name = name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Element.prototype, \"attributes\", {\n get: function () {\n var _this = this;\n return Object.keys(this.attribs).map(function (name) {\n var _a, _b;\n return ({\n name: name,\n value: _this.attribs[name],\n namespace: (_a = _this[\"x-attribsNamespace\"]) === null || _a === void 0 ? void 0 : _a[name],\n prefix: (_b = _this[\"x-attribsPrefix\"]) === null || _b === void 0 ? void 0 : _b[name],\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n return Element;\n}(NodeWithChildren));\nexports.Element = Element;\n/**\n * @param node Node to check.\n * @returns `true` if the node is a `Element`, `false` otherwise.\n */\nfunction isTag(node) {\n return (0, domelementtype_1.isTag)(node);\n}\nexports.isTag = isTag;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `CDATA`, `false` otherwise.\n */\nfunction isCDATA(node) {\n return node.type === domelementtype_1.ElementType.CDATA;\n}\nexports.isCDATA = isCDATA;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Text`, `false` otherwise.\n */\nfunction isText(node) {\n return node.type === domelementtype_1.ElementType.Text;\n}\nexports.isText = isText;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `Comment`, `false` otherwise.\n */\nfunction isComment(node) {\n return node.type === domelementtype_1.ElementType.Comment;\n}\nexports.isComment = isComment;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDirective(node) {\n return node.type === domelementtype_1.ElementType.Directive;\n}\nexports.isDirective = isDirective;\n/**\n * @param node Node to check.\n * @returns `true` if the node has the type `ProcessingInstruction`, `false` otherwise.\n */\nfunction isDocument(node) {\n return node.type === domelementtype_1.ElementType.Root;\n}\nexports.isDocument = isDocument;\n/**\n * @param node Node to check.\n * @returns `true` if the node has children, `false` otherwise.\n */\nfunction hasChildren(node) {\n return Object.prototype.hasOwnProperty.call(node, \"children\");\n}\nexports.hasChildren = hasChildren;\n/**\n * Clone a node, and optionally its children.\n *\n * @param recursive Clone child nodes as well.\n * @returns A clone of the node.\n */\nfunction cloneNode(node, recursive) {\n if (recursive === void 0) { recursive = false; }\n var result;\n if (isText(node)) {\n result = new Text(node.data);\n }\n else if (isComment(node)) {\n result = new Comment(node.data);\n }\n else if (isTag(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_1 = new Element(node.name, __assign({}, node.attribs), children);\n children.forEach(function (child) { return (child.parent = clone_1); });\n if (node.namespace != null) {\n clone_1.namespace = node.namespace;\n }\n if (node[\"x-attribsNamespace\"]) {\n clone_1[\"x-attribsNamespace\"] = __assign({}, node[\"x-attribsNamespace\"]);\n }\n if (node[\"x-attribsPrefix\"]) {\n clone_1[\"x-attribsPrefix\"] = __assign({}, node[\"x-attribsPrefix\"]);\n }\n result = clone_1;\n }\n else if (isCDATA(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_2 = new CDATA(children);\n children.forEach(function (child) { return (child.parent = clone_2); });\n result = clone_2;\n }\n else if (isDocument(node)) {\n var children = recursive ? cloneChildren(node.children) : [];\n var clone_3 = new Document(children);\n children.forEach(function (child) { return (child.parent = clone_3); });\n if (node[\"x-mode\"]) {\n clone_3[\"x-mode\"] = node[\"x-mode\"];\n }\n result = clone_3;\n }\n else if (isDirective(node)) {\n var instruction = new ProcessingInstruction(node.name, node.data);\n if (node[\"x-name\"] != null) {\n instruction[\"x-name\"] = node[\"x-name\"];\n instruction[\"x-publicId\"] = node[\"x-publicId\"];\n instruction[\"x-systemId\"] = node[\"x-systemId\"];\n }\n result = instruction;\n }\n else {\n throw new Error(\"Not implemented yet: \".concat(node.type));\n }\n result.startIndex = node.startIndex;\n result.endIndex = node.endIndex;\n if (node.sourceCodeLocation != null) {\n result.sourceCodeLocation = node.sourceCodeLocation;\n }\n return result;\n}\nexports.cloneNode = cloneNode;\nfunction cloneChildren(childs) {\n var children = childs.map(function (child) { return cloneNode(child, true); });\n for (var i = 1; i < children.length; i++) {\n children[i].prev = children[i - 1];\n children[i - 1].next = children[i];\n }\n return children;\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomHandler = void 0;\nvar domelementtype_1 = require(\"domelementtype\");\nvar node_js_1 = require(\"./node.js\");\n__exportStar(require(\"./node.js\"), exports);\n// Default options\nvar defaultOpts = {\n withStartIndices: false,\n withEndIndices: false,\n xmlMode: false,\n};\nvar DomHandler = /** @class */ (function () {\n /**\n * @param callback Called once parsing has completed.\n * @param options Settings for the handler.\n * @param elementCB Callback whenever a tag is closed.\n */\n function DomHandler(callback, options, elementCB) {\n /** The elements of the DOM */\n this.dom = [];\n /** The root element for the DOM */\n this.root = new node_js_1.Document(this.dom);\n /** Indicated whether parsing has been completed. */\n this.done = false;\n /** Stack of open tags. */\n this.tagStack = [this.root];\n /** A data node that is still being written to. */\n this.lastNode = null;\n /** Reference to the parser instance. Used for location information. */\n this.parser = null;\n // Make it possible to skip arguments, for backwards-compatibility\n if (typeof options === \"function\") {\n elementCB = options;\n options = defaultOpts;\n }\n if (typeof callback === \"object\") {\n options = callback;\n callback = undefined;\n }\n this.callback = callback !== null && callback !== void 0 ? callback : null;\n this.options = options !== null && options !== void 0 ? options : defaultOpts;\n this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null;\n }\n DomHandler.prototype.onparserinit = function (parser) {\n this.parser = parser;\n };\n // Resets the handler back to starting state\n DomHandler.prototype.onreset = function () {\n this.dom = [];\n this.root = new node_js_1.Document(this.dom);\n this.done = false;\n this.tagStack = [this.root];\n this.lastNode = null;\n this.parser = null;\n };\n // Signals the handler that parsing is done\n DomHandler.prototype.onend = function () {\n if (this.done)\n return;\n this.done = true;\n this.parser = null;\n this.handleCallback(null);\n };\n DomHandler.prototype.onerror = function (error) {\n this.handleCallback(error);\n };\n DomHandler.prototype.onclosetag = function () {\n this.lastNode = null;\n var elem = this.tagStack.pop();\n if (this.options.withEndIndices) {\n elem.endIndex = this.parser.endIndex;\n }\n if (this.elementCB)\n this.elementCB(elem);\n };\n DomHandler.prototype.onopentag = function (name, attribs) {\n var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : undefined;\n var element = new node_js_1.Element(name, attribs, undefined, type);\n this.addNode(element);\n this.tagStack.push(element);\n };\n DomHandler.prototype.ontext = function (data) {\n var lastNode = this.lastNode;\n if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) {\n lastNode.data += data;\n if (this.options.withEndIndices) {\n lastNode.endIndex = this.parser.endIndex;\n }\n }\n else {\n var node = new node_js_1.Text(data);\n this.addNode(node);\n this.lastNode = node;\n }\n };\n DomHandler.prototype.oncomment = function (data) {\n if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) {\n this.lastNode.data += data;\n return;\n }\n var node = new node_js_1.Comment(data);\n this.addNode(node);\n this.lastNode = node;\n };\n DomHandler.prototype.oncommentend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.oncdatastart = function () {\n var text = new node_js_1.Text(\"\");\n var node = new node_js_1.CDATA([text]);\n this.addNode(node);\n text.parent = node;\n this.lastNode = text;\n };\n DomHandler.prototype.oncdataend = function () {\n this.lastNode = null;\n };\n DomHandler.prototype.onprocessinginstruction = function (name, data) {\n var node = new node_js_1.ProcessingInstruction(name, data);\n this.addNode(node);\n };\n DomHandler.prototype.handleCallback = function (error) {\n if (typeof this.callback === \"function\") {\n this.callback(error, this.dom);\n }\n else if (error) {\n throw error;\n }\n };\n DomHandler.prototype.addNode = function (node) {\n var parent = this.tagStack[this.tagStack.length - 1];\n var previousSibling = parent.children[parent.children.length - 1];\n if (this.options.withStartIndices) {\n node.startIndex = this.parser.startIndex;\n }\n if (this.options.withEndIndices) {\n node.endIndex = this.parser.endIndex;\n }\n parent.children.push(node);\n if (previousSibling) {\n node.prev = previousSibling;\n previousSibling.next = node;\n }\n node.parent = parent;\n this.lastNode = null;\n };\n return DomHandler;\n}());\nexports.DomHandler = DomHandler;\nexports.default = DomHandler;\n","\"use strict\";\n// Generated using scripts/write-encode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction restoreDiff(arr) {\n for (var i = 1; i < arr.length; i++) {\n arr[i][0] += arr[i - 1][0] + 1;\n }\n return arr;\n}\n// prettier-ignore\nexports.default = new Map(/* #__PURE__ */ restoreDiff([[9, \" \"], [0, \" \"], [22, \"!\"], [0, \""\"], [0, \"#\"], [0, \"$\"], [0, \"%\"], [0, \"&\"], [0, \"'\"], [0, \"(\"], [0, \")\"], [0, \"*\"], [0, \"+\"], [0, \",\"], [1, \".\"], [0, \"/\"], [10, \":\"], [0, \";\"], [0, { v: \"<\", n: 8402, o: \"<⃒\" }], [0, { v: \"=\", n: 8421, o: \"=⃥\" }], [0, { v: \">\", n: 8402, o: \">⃒\" }], [0, \"?\"], [0, \"@\"], [26, \"[\"], [0, \"\\"], [0, \"]\"], [0, \"^\"], [0, \"_\"], [0, \"`\"], [5, { n: 106, o: \"fj\" }], [20, \"{\"], [0, \"|\"], [0, \"}\"], [34, \" \"], [0, \"¡\"], [0, \"¢\"], [0, \"£\"], [0, \"¤\"], [0, \"¥\"], [0, \"¦\"], [0, \"§\"], [0, \"¨\"], [0, \"©\"], [0, \"ª\"], [0, \"«\"], [0, \"¬\"], [0, \"­\"], [0, \"®\"], [0, \"¯\"], [0, \"°\"], [0, \"±\"], [0, \"²\"], [0, \"³\"], [0, \"´\"], [0, \"µ\"], [0, \"¶\"], [0, \"·\"], [0, \"¸\"], [0, \"¹\"], [0, \"º\"], [0, \"»\"], [0, \"¼\"], [0, \"½\"], [0, \"¾\"], [0, \"¿\"], [0, \"À\"], [0, \"Á\"], [0, \"Â\"], [0, \"Ã\"], [0, \"Ä\"], [0, \"Å\"], [0, \"Æ\"], [0, \"Ç\"], [0, \"È\"], [0, \"É\"], [0, \"Ê\"], [0, \"Ë\"], [0, \"Ì\"], [0, \"Í\"], [0, \"Î\"], [0, \"Ï\"], [0, \"Ð\"], [0, \"Ñ\"], [0, \"Ò\"], [0, \"Ó\"], [0, \"Ô\"], [0, \"Õ\"], [0, \"Ö\"], [0, \"×\"], [0, \"Ø\"], [0, \"Ù\"], [0, \"Ú\"], [0, \"Û\"], [0, \"Ü\"], [0, \"Ý\"], [0, \"Þ\"], [0, \"ß\"], [0, \"à\"], [0, \"á\"], [0, \"â\"], [0, \"ã\"], [0, \"ä\"], [0, \"å\"], [0, \"æ\"], [0, \"ç\"], [0, \"è\"], [0, \"é\"], [0, \"ê\"], [0, \"ë\"], [0, \"ì\"], [0, \"í\"], [0, \"î\"], [0, \"ï\"], [0, \"ð\"], [0, \"ñ\"], [0, \"ò\"], [0, \"ó\"], [0, \"ô\"], [0, \"õ\"], [0, \"ö\"], [0, \"÷\"], [0, \"ø\"], [0, \"ù\"], [0, \"ú\"], [0, \"û\"], [0, \"ü\"], [0, \"ý\"], [0, \"þ\"], [0, \"ÿ\"], [0, \"Ā\"], [0, \"ā\"], [0, \"Ă\"], [0, \"ă\"], [0, \"Ą\"], [0, \"ą\"], [0, \"Ć\"], [0, \"ć\"], [0, \"Ĉ\"], [0, \"ĉ\"], [0, \"Ċ\"], [0, \"ċ\"], [0, \"Č\"], [0, \"č\"], [0, \"Ď\"], [0, \"ď\"], [0, \"Đ\"], [0, \"đ\"], [0, \"Ē\"], [0, \"ē\"], [2, \"Ė\"], [0, \"ė\"], [0, \"Ę\"], [0, \"ę\"], [0, \"Ě\"], [0, \"ě\"], [0, \"Ĝ\"], [0, \"ĝ\"], [0, \"Ğ\"], [0, \"ğ\"], [0, \"Ġ\"], [0, \"ġ\"], [0, \"Ģ\"], [1, \"Ĥ\"], [0, \"ĥ\"], [0, \"Ħ\"], [0, \"ħ\"], [0, \"Ĩ\"], [0, \"ĩ\"], [0, \"Ī\"], [0, \"ī\"], [2, \"Į\"], [0, \"į\"], [0, \"İ\"], [0, \"ı\"], [0, \"IJ\"], [0, \"ij\"], [0, \"Ĵ\"], [0, \"ĵ\"], [0, \"Ķ\"], [0, \"ķ\"], [0, \"ĸ\"], [0, \"Ĺ\"], [0, \"ĺ\"], [0, \"Ļ\"], [0, \"ļ\"], [0, \"Ľ\"], [0, \"ľ\"], [0, \"Ŀ\"], [0, \"ŀ\"], [0, \"Ł\"], [0, \"ł\"], [0, \"Ń\"], [0, \"ń\"], [0, \"Ņ\"], [0, \"ņ\"], [0, \"Ň\"], [0, \"ň\"], [0, \"ʼn\"], [0, \"Ŋ\"], [0, \"ŋ\"], [0, \"Ō\"], [0, \"ō\"], [2, \"Ő\"], [0, \"ő\"], [0, \"Œ\"], [0, \"œ\"], [0, \"Ŕ\"], [0, \"ŕ\"], [0, \"Ŗ\"], [0, \"ŗ\"], [0, \"Ř\"], [0, \"ř\"], [0, \"Ś\"], [0, \"ś\"], [0, \"Ŝ\"], [0, \"ŝ\"], [0, \"Ş\"], [0, \"ş\"], [0, \"Š\"], [0, \"š\"], [0, \"Ţ\"], [0, \"ţ\"], [0, \"Ť\"], [0, \"ť\"], [0, \"Ŧ\"], [0, \"ŧ\"], [0, \"Ũ\"], [0, \"ũ\"], [0, \"Ū\"], [0, \"ū\"], [0, \"Ŭ\"], [0, \"ŭ\"], [0, \"Ů\"], [0, \"ů\"], [0, \"Ű\"], [0, \"ű\"], [0, \"Ų\"], [0, \"ų\"], [0, \"Ŵ\"], [0, \"ŵ\"], [0, \"Ŷ\"], [0, \"ŷ\"], [0, \"Ÿ\"], [0, \"Ź\"], [0, \"ź\"], [0, \"Ż\"], [0, \"ż\"], [0, \"Ž\"], [0, \"ž\"], [19, \"ƒ\"], [34, \"Ƶ\"], [63, \"ǵ\"], [65, \"ȷ\"], [142, \"ˆ\"], [0, \"ˇ\"], [16, \"˘\"], [0, \"˙\"], [0, \"˚\"], [0, \"˛\"], [0, \"˜\"], [0, \"˝\"], [51, \"̑\"], [127, \"Α\"], [0, \"Β\"], [0, \"Γ\"], [0, \"Δ\"], [0, \"Ε\"], [0, \"Ζ\"], [0, \"Η\"], [0, \"Θ\"], [0, \"Ι\"], [0, \"Κ\"], [0, \"Λ\"], [0, \"Μ\"], [0, \"Ν\"], [0, \"Ξ\"], [0, \"Ο\"], [0, \"Π\"], [0, \"Ρ\"], [1, \"Σ\"], [0, \"Τ\"], [0, \"Υ\"], [0, \"Φ\"], [0, \"Χ\"], [0, \"Ψ\"], [0, \"Ω\"], [7, \"α\"], [0, \"β\"], [0, \"γ\"], [0, \"δ\"], [0, \"ε\"], [0, \"ζ\"], [0, \"η\"], [0, \"θ\"], [0, \"ι\"], [0, \"κ\"], [0, \"λ\"], [0, \"μ\"], [0, \"ν\"], [0, \"ξ\"], [0, \"ο\"], [0, \"π\"], [0, \"ρ\"], [0, \"ς\"], [0, \"σ\"], [0, \"τ\"], [0, \"υ\"], [0, \"φ\"], [0, \"χ\"], [0, \"ψ\"], [0, \"ω\"], [7, \"ϑ\"], [0, \"ϒ\"], [2, \"ϕ\"], [0, \"ϖ\"], [5, \"Ϝ\"], [0, \"ϝ\"], [18, \"ϰ\"], [0, \"ϱ\"], [3, \"ϵ\"], [0, \"϶\"], [10, \"Ё\"], [0, \"Ђ\"], [0, \"Ѓ\"], [0, \"Є\"], [0, \"Ѕ\"], [0, \"І\"], [0, \"Ї\"], [0, \"Ј\"], [0, \"Љ\"], [0, \"Њ\"], [0, \"Ћ\"], [0, \"Ќ\"], [1, \"Ў\"], [0, \"Џ\"], [0, \"А\"], [0, \"Б\"], [0, \"В\"], [0, \"Г\"], [0, \"Д\"], [0, \"Е\"], [0, \"Ж\"], [0, \"З\"], [0, \"И\"], [0, \"Й\"], [0, \"К\"], [0, \"Л\"], [0, \"М\"], [0, \"Н\"], [0, \"О\"], [0, \"П\"], [0, \"Р\"], [0, \"С\"], [0, \"Т\"], [0, \"У\"], [0, \"Ф\"], [0, \"Х\"], [0, \"Ц\"], [0, \"Ч\"], [0, \"Ш\"], [0, \"Щ\"], [0, \"Ъ\"], [0, \"Ы\"], [0, \"Ь\"], [0, \"Э\"], [0, \"Ю\"], [0, \"Я\"], [0, \"а\"], [0, \"б\"], [0, \"в\"], [0, \"г\"], [0, \"д\"], [0, \"е\"], [0, \"ж\"], [0, \"з\"], [0, \"и\"], [0, \"й\"], [0, \"к\"], [0, \"л\"], [0, \"м\"], [0, \"н\"], [0, \"о\"], [0, \"п\"], [0, \"р\"], [0, \"с\"], [0, \"т\"], [0, \"у\"], [0, \"ф\"], [0, \"х\"], [0, \"ц\"], [0, \"ч\"], [0, \"ш\"], [0, \"щ\"], [0, \"ъ\"], [0, \"ы\"], [0, \"ь\"], [0, \"э\"], [0, \"ю\"], [0, \"я\"], [1, \"ё\"], [0, \"ђ\"], [0, \"ѓ\"], [0, \"є\"], [0, \"ѕ\"], [0, \"і\"], [0, \"ї\"], [0, \"ј\"], [0, \"љ\"], [0, \"њ\"], [0, \"ћ\"], [0, \"ќ\"], [1, \"ў\"], [0, \"џ\"], [7074, \" \"], [0, \" \"], [0, \" \"], [0, \" \"], [1, \" \"], [0, \" \"], [0, \" \"], [0, \" \"], [0, \"​\"], [0, \"‌\"], [0, \"‍\"], [0, \"‎\"], [0, \"‏\"], [0, \"‐\"], [2, \"–\"], [0, \"—\"], [0, \"―\"], [0, \"‖\"], [1, \"‘\"], [0, \"’\"], [0, \"‚\"], [1, \"“\"], [0, \"”\"], [0, \"„\"], [1, \"†\"], [0, \"‡\"], [0, \"•\"], [2, \"‥\"], [0, \"…\"], [9, \"‰\"], [0, \"‱\"], [0, \"′\"], [0, \"″\"], [0, \"‴\"], [0, \"‵\"], [3, \"‹\"], [0, \"›\"], [3, \"‾\"], [2, \"⁁\"], [1, \"⁃\"], [0, \"⁄\"], [10, \"⁏\"], [7, \"⁗\"], [7, { v: \" \", n: 8202, o: \"  \" }], [0, \"⁠\"], [0, \"⁡\"], [0, \"⁢\"], [0, \"⁣\"], [72, \"€\"], [46, \"⃛\"], [0, \"⃜\"], [37, \"ℂ\"], [2, \"℅\"], [4, \"ℊ\"], [0, \"ℋ\"], [0, \"ℌ\"], [0, \"ℍ\"], [0, \"ℎ\"], [0, \"ℏ\"], [0, \"ℐ\"], [0, \"ℑ\"], [0, \"ℒ\"], [0, \"ℓ\"], [1, \"ℕ\"], [0, \"№\"], [0, \"℗\"], [0, \"℘\"], [0, \"ℙ\"], [0, \"ℚ\"], [0, \"ℛ\"], [0, \"ℜ\"], [0, \"ℝ\"], [0, \"℞\"], [3, \"™\"], [1, \"ℤ\"], [2, \"℧\"], [0, \"ℨ\"], [0, \"℩\"], [2, \"ℬ\"], [0, \"ℭ\"], [1, \"ℯ\"], [0, \"ℰ\"], [0, \"ℱ\"], [1, \"ℳ\"], [0, \"ℴ\"], [0, \"ℵ\"], [0, \"ℶ\"], [0, \"ℷ\"], [0, \"ℸ\"], [12, \"ⅅ\"], [0, \"ⅆ\"], [0, \"ⅇ\"], [0, \"ⅈ\"], [10, \"⅓\"], [0, \"⅔\"], [0, \"⅕\"], [0, \"⅖\"], [0, \"⅗\"], [0, \"⅘\"], [0, \"⅙\"], [0, \"⅚\"], [0, \"⅛\"], [0, \"⅜\"], [0, \"⅝\"], [0, \"⅞\"], [49, \"←\"], [0, \"↑\"], [0, \"→\"], [0, \"↓\"], [0, \"↔\"], [0, \"↕\"], [0, \"↖\"], [0, \"↗\"], [0, \"↘\"], [0, \"↙\"], [0, \"↚\"], [0, \"↛\"], [1, { v: \"↝\", n: 824, o: \"↝̸\" }], [0, \"↞\"], [0, \"↟\"], [0, \"↠\"], [0, \"↡\"], [0, \"↢\"], [0, \"↣\"], [0, \"↤\"], [0, \"↥\"], [0, \"↦\"], [0, \"↧\"], [1, \"↩\"], [0, \"↪\"], [0, \"↫\"], [0, \"↬\"], [0, \"↭\"], [0, \"↮\"], [1, \"↰\"], [0, \"↱\"], [0, \"↲\"], [0, \"↳\"], [1, \"↵\"], [0, \"↶\"], [0, \"↷\"], [2, \"↺\"], [0, \"↻\"], [0, \"↼\"], [0, \"↽\"], [0, \"↾\"], [0, \"↿\"], [0, \"⇀\"], [0, \"⇁\"], [0, \"⇂\"], [0, \"⇃\"], [0, \"⇄\"], [0, \"⇅\"], [0, \"⇆\"], [0, \"⇇\"], [0, \"⇈\"], [0, \"⇉\"], [0, \"⇊\"], [0, \"⇋\"], [0, \"⇌\"], [0, \"⇍\"], [0, \"⇎\"], [0, \"⇏\"], [0, \"⇐\"], [0, \"⇑\"], [0, \"⇒\"], [0, \"⇓\"], [0, \"⇔\"], [0, \"⇕\"], [0, \"⇖\"], [0, \"⇗\"], [0, \"⇘\"], [0, \"⇙\"], [0, \"⇚\"], [0, \"⇛\"], [1, \"⇝\"], [6, \"⇤\"], [0, \"⇥\"], [15, \"⇵\"], [7, \"⇽\"], [0, \"⇾\"], [0, \"⇿\"], [0, \"∀\"], [0, \"∁\"], [0, { v: \"∂\", n: 824, o: \"∂̸\" }], [0, \"∃\"], [0, \"∄\"], [0, \"∅\"], [1, \"∇\"], [0, \"∈\"], [0, \"∉\"], [1, \"∋\"], [0, \"∌\"], [2, \"∏\"], [0, \"∐\"], [0, \"∑\"], [0, \"−\"], [0, \"∓\"], [0, \"∔\"], [1, \"∖\"], [0, \"∗\"], [0, \"∘\"], [1, \"√\"], [2, \"∝\"], [0, \"∞\"], [0, \"∟\"], [0, { v: \"∠\", n: 8402, o: \"∠⃒\" }], [0, \"∡\"], [0, \"∢\"], [0, \"∣\"], [0, \"∤\"], [0, \"∥\"], [0, \"∦\"], [0, \"∧\"], [0, \"∨\"], [0, { v: \"∩\", n: 65024, o: \"∩︀\" }], [0, { v: \"∪\", n: 65024, o: \"∪︀\" }], [0, \"∫\"], [0, \"∬\"], [0, \"∭\"], [0, \"∮\"], [0, \"∯\"], [0, \"∰\"], [0, \"∱\"], [0, \"∲\"], [0, \"∳\"], [0, \"∴\"], [0, \"∵\"], [0, \"∶\"], [0, \"∷\"], [0, \"∸\"], [1, \"∺\"], [0, \"∻\"], [0, { v: \"∼\", n: 8402, o: \"∼⃒\" }], [0, { v: \"∽\", n: 817, o: \"∽̱\" }], [0, { v: \"∾\", n: 819, o: \"∾̳\" }], [0, \"∿\"], [0, \"≀\"], [0, \"≁\"], [0, { v: \"≂\", n: 824, o: \"≂̸\" }], [0, \"≃\"], [0, \"≄\"], [0, \"≅\"], [0, \"≆\"], [0, \"≇\"], [0, \"≈\"], [0, \"≉\"], [0, \"≊\"], [0, { v: \"≋\", n: 824, o: \"≋̸\" }], [0, \"≌\"], [0, { v: \"≍\", n: 8402, o: \"≍⃒\" }], [0, { v: \"≎\", n: 824, o: \"≎̸\" }], [0, { v: \"≏\", n: 824, o: \"≏̸\" }], [0, { v: \"≐\", n: 824, o: \"≐̸\" }], [0, \"≑\"], [0, \"≒\"], [0, \"≓\"], [0, \"≔\"], [0, \"≕\"], [0, \"≖\"], [0, \"≗\"], [1, \"≙\"], [0, \"≚\"], [1, \"≜\"], [2, \"≟\"], [0, \"≠\"], [0, { v: \"≡\", n: 8421, o: \"≡⃥\" }], [0, \"≢\"], [1, { v: \"≤\", n: 8402, o: \"≤⃒\" }], [0, { v: \"≥\", n: 8402, o: \"≥⃒\" }], [0, { v: \"≦\", n: 824, o: \"≦̸\" }], [0, { v: \"≧\", n: 824, o: \"≧̸\" }], [0, { v: \"≨\", n: 65024, o: \"≨︀\" }], [0, { v: \"≩\", n: 65024, o: \"≩︀\" }], [0, { v: \"≪\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"≪̸\"], [7577, \"≪⃒\"]])) }], [0, { v: \"≫\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"≫̸\"], [7577, \"≫⃒\"]])) }], [0, \"≬\"], [0, \"≭\"], [0, \"≮\"], [0, \"≯\"], [0, \"≰\"], [0, \"≱\"], [0, \"≲\"], [0, \"≳\"], [0, \"≴\"], [0, \"≵\"], [0, \"≶\"], [0, \"≷\"], [0, \"≸\"], [0, \"≹\"], [0, \"≺\"], [0, \"≻\"], [0, \"≼\"], [0, \"≽\"], [0, \"≾\"], [0, { v: \"≿\", n: 824, o: \"≿̸\" }], [0, \"⊀\"], [0, \"⊁\"], [0, { v: \"⊂\", n: 8402, o: \"⊂⃒\" }], [0, { v: \"⊃\", n: 8402, o: \"⊃⃒\" }], [0, \"⊄\"], [0, \"⊅\"], [0, \"⊆\"], [0, \"⊇\"], [0, \"⊈\"], [0, \"⊉\"], [0, { v: \"⊊\", n: 65024, o: \"⊊︀\" }], [0, { v: \"⊋\", n: 65024, o: \"⊋︀\" }], [1, \"⊍\"], [0, \"⊎\"], [0, { v: \"⊏\", n: 824, o: \"⊏̸\" }], [0, { v: \"⊐\", n: 824, o: \"⊐̸\" }], [0, \"⊑\"], [0, \"⊒\"], [0, { v: \"⊓\", n: 65024, o: \"⊓︀\" }], [0, { v: \"⊔\", n: 65024, o: \"⊔︀\" }], [0, \"⊕\"], [0, \"⊖\"], [0, \"⊗\"], [0, \"⊘\"], [0, \"⊙\"], [0, \"⊚\"], [0, \"⊛\"], [1, \"⊝\"], [0, \"⊞\"], [0, \"⊟\"], [0, \"⊠\"], [0, \"⊡\"], [0, \"⊢\"], [0, \"⊣\"], [0, \"⊤\"], [0, \"⊥\"], [1, \"⊧\"], [0, \"⊨\"], [0, \"⊩\"], [0, \"⊪\"], [0, \"⊫\"], [0, \"⊬\"], [0, \"⊭\"], [0, \"⊮\"], [0, \"⊯\"], [0, \"⊰\"], [1, \"⊲\"], [0, \"⊳\"], [0, { v: \"⊴\", n: 8402, o: \"⊴⃒\" }], [0, { v: \"⊵\", n: 8402, o: \"⊵⃒\" }], [0, \"⊶\"], [0, \"⊷\"], [0, \"⊸\"], [0, \"⊹\"], [0, \"⊺\"], [0, \"⊻\"], [1, \"⊽\"], [0, \"⊾\"], [0, \"⊿\"], [0, \"⋀\"], [0, \"⋁\"], [0, \"⋂\"], [0, \"⋃\"], [0, \"⋄\"], [0, \"⋅\"], [0, \"⋆\"], [0, \"⋇\"], [0, \"⋈\"], [0, \"⋉\"], [0, \"⋊\"], [0, \"⋋\"], [0, \"⋌\"], [0, \"⋍\"], [0, \"⋎\"], [0, \"⋏\"], [0, \"⋐\"], [0, \"⋑\"], [0, \"⋒\"], [0, \"⋓\"], [0, \"⋔\"], [0, \"⋕\"], [0, \"⋖\"], [0, \"⋗\"], [0, { v: \"⋘\", n: 824, o: \"⋘̸\" }], [0, { v: \"⋙\", n: 824, o: \"⋙̸\" }], [0, { v: \"⋚\", n: 65024, o: \"⋚︀\" }], [0, { v: \"⋛\", n: 65024, o: \"⋛︀\" }], [2, \"⋞\"], [0, \"⋟\"], [0, \"⋠\"], [0, \"⋡\"], [0, \"⋢\"], [0, \"⋣\"], [2, \"⋦\"], [0, \"⋧\"], [0, \"⋨\"], [0, \"⋩\"], [0, \"⋪\"], [0, \"⋫\"], [0, \"⋬\"], [0, \"⋭\"], [0, \"⋮\"], [0, \"⋯\"], [0, \"⋰\"], [0, \"⋱\"], [0, \"⋲\"], [0, \"⋳\"], [0, \"⋴\"], [0, { v: \"⋵\", n: 824, o: \"⋵̸\" }], [0, \"⋶\"], [0, \"⋷\"], [1, { v: \"⋹\", n: 824, o: \"⋹̸\" }], [0, \"⋺\"], [0, \"⋻\"], [0, \"⋼\"], [0, \"⋽\"], [0, \"⋾\"], [6, \"⌅\"], [0, \"⌆\"], [1, \"⌈\"], [0, \"⌉\"], [0, \"⌊\"], [0, \"⌋\"], [0, \"⌌\"], [0, \"⌍\"], [0, \"⌎\"], [0, \"⌏\"], [0, \"⌐\"], [1, \"⌒\"], [0, \"⌓\"], [1, \"⌕\"], [0, \"⌖\"], [5, \"⌜\"], [0, \"⌝\"], [0, \"⌞\"], [0, \"⌟\"], [2, \"⌢\"], [0, \"⌣\"], [9, \"⌭\"], [0, \"⌮\"], [7, \"⌶\"], [6, \"⌽\"], [1, \"⌿\"], [60, \"⍼\"], [51, \"⎰\"], [0, \"⎱\"], [2, \"⎴\"], [0, \"⎵\"], [0, \"⎶\"], [37, \"⏜\"], [0, \"⏝\"], [0, \"⏞\"], [0, \"⏟\"], [2, \"⏢\"], [4, \"⏧\"], [59, \"␣\"], [164, \"Ⓢ\"], [55, \"─\"], [1, \"│\"], [9, \"┌\"], [3, \"┐\"], [3, \"└\"], [3, \"┘\"], [3, \"├\"], [7, \"┤\"], [7, \"┬\"], [7, \"┴\"], [7, \"┼\"], [19, \"═\"], [0, \"║\"], [0, \"╒\"], [0, \"╓\"], [0, \"╔\"], [0, \"╕\"], [0, \"╖\"], [0, \"╗\"], [0, \"╘\"], [0, \"╙\"], [0, \"╚\"], [0, \"╛\"], [0, \"╜\"], [0, \"╝\"], [0, \"╞\"], [0, \"╟\"], [0, \"╠\"], [0, \"╡\"], [0, \"╢\"], [0, \"╣\"], [0, \"╤\"], [0, \"╥\"], [0, \"╦\"], [0, \"╧\"], [0, \"╨\"], [0, \"╩\"], [0, \"╪\"], [0, \"╫\"], [0, \"╬\"], [19, \"▀\"], [3, \"▄\"], [3, \"█\"], [8, \"░\"], [0, \"▒\"], [0, \"▓\"], [13, \"□\"], [8, \"▪\"], [0, \"▫\"], [1, \"▭\"], [0, \"▮\"], [2, \"▱\"], [1, \"△\"], [0, \"▴\"], [0, \"▵\"], [2, \"▸\"], [0, \"▹\"], [3, \"▽\"], [0, \"▾\"], [0, \"▿\"], [2, \"◂\"], [0, \"◃\"], [6, \"◊\"], [0, \"○\"], [32, \"◬\"], [2, \"◯\"], [8, \"◸\"], [0, \"◹\"], [0, \"◺\"], [0, \"◻\"], [0, \"◼\"], [8, \"★\"], [0, \"☆\"], [7, \"☎\"], [49, \"♀\"], [1, \"♂\"], [29, \"♠\"], [2, \"♣\"], [1, \"♥\"], [0, \"♦\"], [3, \"♪\"], [2, \"♭\"], [0, \"♮\"], [0, \"♯\"], [163, \"✓\"], [3, \"✗\"], [8, \"✠\"], [21, \"✶\"], [33, \"❘\"], [25, \"❲\"], [0, \"❳\"], [84, \"⟈\"], [0, \"⟉\"], [28, \"⟦\"], [0, \"⟧\"], [0, \"⟨\"], [0, \"⟩\"], [0, \"⟪\"], [0, \"⟫\"], [0, \"⟬\"], [0, \"⟭\"], [7, \"⟵\"], [0, \"⟶\"], [0, \"⟷\"], [0, \"⟸\"], [0, \"⟹\"], [0, \"⟺\"], [1, \"⟼\"], [2, \"⟿\"], [258, \"⤂\"], [0, \"⤃\"], [0, \"⤄\"], [0, \"⤅\"], [6, \"⤌\"], [0, \"⤍\"], [0, \"⤎\"], [0, \"⤏\"], [0, \"⤐\"], [0, \"⤑\"], [0, \"⤒\"], [0, \"⤓\"], [2, \"⤖\"], [2, \"⤙\"], [0, \"⤚\"], [0, \"⤛\"], [0, \"⤜\"], [0, \"⤝\"], [0, \"⤞\"], [0, \"⤟\"], [0, \"⤠\"], [2, \"⤣\"], [0, \"⤤\"], [0, \"⤥\"], [0, \"⤦\"], [0, \"⤧\"], [0, \"⤨\"], [0, \"⤩\"], [0, \"⤪\"], [8, { v: \"⤳\", n: 824, o: \"⤳̸\" }], [1, \"⤵\"], [0, \"⤶\"], [0, \"⤷\"], [0, \"⤸\"], [0, \"⤹\"], [2, \"⤼\"], [0, \"⤽\"], [7, \"⥅\"], [2, \"⥈\"], [0, \"⥉\"], [0, \"⥊\"], [0, \"⥋\"], [2, \"⥎\"], [0, \"⥏\"], [0, \"⥐\"], [0, \"⥑\"], [0, \"⥒\"], [0, \"⥓\"], [0, \"⥔\"], [0, \"⥕\"], [0, \"⥖\"], [0, \"⥗\"], [0, \"⥘\"], [0, \"⥙\"], [0, \"⥚\"], [0, \"⥛\"], [0, \"⥜\"], [0, \"⥝\"], [0, \"⥞\"], [0, \"⥟\"], [0, \"⥠\"], [0, \"⥡\"], [0, \"⥢\"], [0, \"⥣\"], [0, \"⥤\"], [0, \"⥥\"], [0, \"⥦\"], [0, \"⥧\"], [0, \"⥨\"], [0, \"⥩\"], [0, \"⥪\"], [0, \"⥫\"], [0, \"⥬\"], [0, \"⥭\"], [0, \"⥮\"], [0, \"⥯\"], [0, \"⥰\"], [0, \"⥱\"], [0, \"⥲\"], [0, \"⥳\"], [0, \"⥴\"], [0, \"⥵\"], [0, \"⥶\"], [1, \"⥸\"], [0, \"⥹\"], [1, \"⥻\"], [0, \"⥼\"], [0, \"⥽\"], [0, \"⥾\"], [0, \"⥿\"], [5, \"⦅\"], [0, \"⦆\"], [4, \"⦋\"], [0, \"⦌\"], [0, \"⦍\"], [0, \"⦎\"], [0, \"⦏\"], [0, \"⦐\"], [0, \"⦑\"], [0, \"⦒\"], [0, \"⦓\"], [0, \"⦔\"], [0, \"⦕\"], [0, \"⦖\"], [3, \"⦚\"], [1, \"⦜\"], [0, \"⦝\"], [6, \"⦤\"], [0, \"⦥\"], [0, \"⦦\"], [0, \"⦧\"], [0, \"⦨\"], [0, \"⦩\"], [0, \"⦪\"], [0, \"⦫\"], [0, \"⦬\"], [0, \"⦭\"], [0, \"⦮\"], [0, \"⦯\"], [0, \"⦰\"], [0, \"⦱\"], [0, \"⦲\"], [0, \"⦳\"], [0, \"⦴\"], [0, \"⦵\"], [0, \"⦶\"], [0, \"⦷\"], [1, \"⦹\"], [1, \"⦻\"], [0, \"⦼\"], [1, \"⦾\"], [0, \"⦿\"], [0, \"⧀\"], [0, \"⧁\"], [0, \"⧂\"], [0, \"⧃\"], [0, \"⧄\"], [0, \"⧅\"], [3, \"⧉\"], [3, \"⧍\"], [0, \"⧎\"], [0, { v: \"⧏\", n: 824, o: \"⧏̸\" }], [0, { v: \"⧐\", n: 824, o: \"⧐̸\" }], [11, \"⧜\"], [0, \"⧝\"], [0, \"⧞\"], [4, \"⧣\"], [0, \"⧤\"], [0, \"⧥\"], [5, \"⧫\"], [8, \"⧴\"], [1, \"⧶\"], [9, \"⨀\"], [0, \"⨁\"], [0, \"⨂\"], [1, \"⨄\"], [1, \"⨆\"], [5, \"⨌\"], [0, \"⨍\"], [2, \"⨐\"], [0, \"⨑\"], [0, \"⨒\"], [0, \"⨓\"], [0, \"⨔\"], [0, \"⨕\"], [0, \"⨖\"], [0, \"⨗\"], [10, \"⨢\"], [0, \"⨣\"], [0, \"⨤\"], [0, \"⨥\"], [0, \"⨦\"], [0, \"⨧\"], [1, \"⨩\"], [0, \"⨪\"], [2, \"⨭\"], [0, \"⨮\"], [0, \"⨯\"], [0, \"⨰\"], [0, \"⨱\"], [1, \"⨳\"], [0, \"⨴\"], [0, \"⨵\"], [0, \"⨶\"], [0, \"⨷\"], [0, \"⨸\"], [0, \"⨹\"], [0, \"⨺\"], [0, \"⨻\"], [0, \"⨼\"], [2, \"⨿\"], [0, \"⩀\"], [1, \"⩂\"], [0, \"⩃\"], [0, \"⩄\"], [0, \"⩅\"], [0, \"⩆\"], [0, \"⩇\"], [0, \"⩈\"], [0, \"⩉\"], [0, \"⩊\"], [0, \"⩋\"], [0, \"⩌\"], [0, \"⩍\"], [2, \"⩐\"], [2, \"⩓\"], [0, \"⩔\"], [0, \"⩕\"], [0, \"⩖\"], [0, \"⩗\"], [0, \"⩘\"], [1, \"⩚\"], [0, \"⩛\"], [0, \"⩜\"], [0, \"⩝\"], [1, \"⩟\"], [6, \"⩦\"], [3, \"⩪\"], [2, { v: \"⩭\", n: 824, o: \"⩭̸\" }], [0, \"⩮\"], [0, \"⩯\"], [0, { v: \"⩰\", n: 824, o: \"⩰̸\" }], [0, \"⩱\"], [0, \"⩲\"], [0, \"⩳\"], [0, \"⩴\"], [0, \"⩵\"], [1, \"⩷\"], [0, \"⩸\"], [0, \"⩹\"], [0, \"⩺\"], [0, \"⩻\"], [0, \"⩼\"], [0, { v: \"⩽\", n: 824, o: \"⩽̸\" }], [0, { v: \"⩾\", n: 824, o: \"⩾̸\" }], [0, \"⩿\"], [0, \"⪀\"], [0, \"⪁\"], [0, \"⪂\"], [0, \"⪃\"], [0, \"⪄\"], [0, \"⪅\"], [0, \"⪆\"], [0, \"⪇\"], [0, \"⪈\"], [0, \"⪉\"], [0, \"⪊\"], [0, \"⪋\"], [0, \"⪌\"], [0, \"⪍\"], [0, \"⪎\"], [0, \"⪏\"], [0, \"⪐\"], [0, \"⪑\"], [0, \"⪒\"], [0, \"⪓\"], [0, \"⪔\"], [0, \"⪕\"], [0, \"⪖\"], [0, \"⪗\"], [0, \"⪘\"], [0, \"⪙\"], [0, \"⪚\"], [2, \"⪝\"], [0, \"⪞\"], [0, \"⪟\"], [0, \"⪠\"], [0, { v: \"⪡\", n: 824, o: \"⪡̸\" }], [0, { v: \"⪢\", n: 824, o: \"⪢̸\" }], [1, \"⪤\"], [0, \"⪥\"], [0, \"⪦\"], [0, \"⪧\"], [0, \"⪨\"], [0, \"⪩\"], [0, \"⪪\"], [0, \"⪫\"], [0, { v: \"⪬\", n: 65024, o: \"⪬︀\" }], [0, { v: \"⪭\", n: 65024, o: \"⪭︀\" }], [0, \"⪮\"], [0, { v: \"⪯\", n: 824, o: \"⪯̸\" }], [0, { v: \"⪰\", n: 824, o: \"⪰̸\" }], [2, \"⪳\"], [0, \"⪴\"], [0, \"⪵\"], [0, \"⪶\"], [0, \"⪷\"], [0, \"⪸\"], [0, \"⪹\"], [0, \"⪺\"], [0, \"⪻\"], [0, \"⪼\"], [0, \"⪽\"], [0, \"⪾\"], [0, \"⪿\"], [0, \"⫀\"], [0, \"⫁\"], [0, \"⫂\"], [0, \"⫃\"], [0, \"⫄\"], [0, { v: \"⫅\", n: 824, o: \"⫅̸\" }], [0, { v: \"⫆\", n: 824, o: \"⫆̸\" }], [0, \"⫇\"], [0, \"⫈\"], [2, { v: \"⫋\", n: 65024, o: \"⫋︀\" }], [0, { v: \"⫌\", n: 65024, o: \"⫌︀\" }], [2, \"⫏\"], [0, \"⫐\"], [0, \"⫑\"], [0, \"⫒\"], [0, \"⫓\"], [0, \"⫔\"], [0, \"⫕\"], [0, \"⫖\"], [0, \"⫗\"], [0, \"⫘\"], [0, \"⫙\"], [0, \"⫚\"], [0, \"⫛\"], [8, \"⫤\"], [1, \"⫦\"], [0, \"⫧\"], [0, \"⫨\"], [0, \"⫩\"], [1, \"⫫\"], [0, \"⫬\"], [0, \"⫭\"], [0, \"⫮\"], [0, \"⫯\"], [0, \"⫰\"], [0, \"⫱\"], [0, \"⫲\"], [0, \"⫳\"], [9, { v: \"⫽\", n: 8421, o: \"⫽⃥\" }], [44343, { n: new Map(/* #__PURE__ */ restoreDiff([[56476, \"𝒜\"], [1, \"𝒞\"], [0, \"𝒟\"], [2, \"𝒢\"], [2, \"𝒥\"], [0, \"𝒦\"], [2, \"𝒩\"], [0, \"𝒪\"], [0, \"𝒫\"], [0, \"𝒬\"], [1, \"𝒮\"], [0, \"𝒯\"], [0, \"𝒰\"], [0, \"𝒱\"], [0, \"𝒲\"], [0, \"𝒳\"], [0, \"𝒴\"], [0, \"𝒵\"], [0, \"𝒶\"], [0, \"𝒷\"], [0, \"𝒸\"], [0, \"𝒹\"], [1, \"𝒻\"], [1, \"𝒽\"], [0, \"𝒾\"], [0, \"𝒿\"], [0, \"𝓀\"], [0, \"𝓁\"], [0, \"𝓂\"], [0, \"𝓃\"], [1, \"𝓅\"], [0, \"𝓆\"], [0, \"𝓇\"], [0, \"𝓈\"], [0, \"𝓉\"], [0, \"𝓊\"], [0, \"𝓋\"], [0, \"𝓌\"], [0, \"𝓍\"], [0, \"𝓎\"], [0, \"𝓏\"], [52, \"𝔄\"], [0, \"𝔅\"], [1, \"𝔇\"], [0, \"𝔈\"], [0, \"𝔉\"], [0, \"𝔊\"], [2, \"𝔍\"], [0, \"𝔎\"], [0, \"𝔏\"], [0, \"𝔐\"], [0, \"𝔑\"], [0, \"𝔒\"], [0, \"𝔓\"], [0, \"𝔔\"], [1, \"𝔖\"], [0, \"𝔗\"], [0, \"𝔘\"], [0, \"𝔙\"], [0, \"𝔚\"], [0, \"𝔛\"], [0, \"𝔜\"], [1, \"𝔞\"], [0, \"𝔟\"], [0, \"𝔠\"], [0, \"𝔡\"], [0, \"𝔢\"], [0, \"𝔣\"], [0, \"𝔤\"], [0, \"𝔥\"], [0, \"𝔦\"], [0, \"𝔧\"], [0, \"𝔨\"], [0, \"𝔩\"], [0, \"𝔪\"], [0, \"𝔫\"], [0, \"𝔬\"], [0, \"𝔭\"], [0, \"𝔮\"], [0, \"𝔯\"], [0, \"𝔰\"], [0, \"𝔱\"], [0, \"𝔲\"], [0, \"𝔳\"], [0, \"𝔴\"], [0, \"𝔵\"], [0, \"𝔶\"], [0, \"𝔷\"], [0, \"𝔸\"], [0, \"𝔹\"], [1, \"𝔻\"], [0, \"𝔼\"], [0, \"𝔽\"], [0, \"𝔾\"], [1, \"𝕀\"], [0, \"𝕁\"], [0, \"𝕂\"], [0, \"𝕃\"], [0, \"𝕄\"], [1, \"𝕆\"], [3, \"𝕊\"], [0, \"𝕋\"], [0, \"𝕌\"], [0, \"𝕍\"], [0, \"𝕎\"], [0, \"𝕏\"], [0, \"𝕐\"], [1, \"𝕒\"], [0, \"𝕓\"], [0, \"𝕔\"], [0, \"𝕕\"], [0, \"𝕖\"], [0, \"𝕗\"], [0, \"𝕘\"], [0, \"𝕙\"], [0, \"𝕚\"], [0, \"𝕛\"], [0, \"𝕜\"], [0, \"𝕝\"], [0, \"𝕞\"], [0, \"𝕟\"], [0, \"𝕠\"], [0, \"𝕡\"], [0, \"𝕢\"], [0, \"𝕣\"], [0, \"𝕤\"], [0, \"𝕥\"], [0, \"𝕦\"], [0, \"𝕧\"], [0, \"𝕨\"], [0, \"𝕩\"], [0, \"𝕪\"], [0, \"𝕫\"]])) }], [8906, \"ff\"], [0, \"fi\"], [0, \"fl\"], [0, \"ffi\"], [0, \"ffl\"]]));\n//# sourceMappingURL=encode-html.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0;\nexports.xmlReplacer = /[\"&'<>$\\x80-\\uFFFF]/g;\nvar xmlCodeMap = new Map([\n [34, \""\"],\n [38, \"&\"],\n [39, \"'\"],\n [60, \"<\"],\n [62, \">\"],\n]);\n// For compatibility with node < 4, we wrap `codePointAt`\nexports.getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? function (str, index) { return str.codePointAt(index); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c, index) {\n return (c.charCodeAt(index) & 0xfc00) === 0xd800\n ? (c.charCodeAt(index) - 0xd800) * 0x400 +\n c.charCodeAt(index + 1) -\n 0xdc00 +\n 0x10000\n : c.charCodeAt(index);\n };\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nfunction encodeXML(str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = exports.xmlReplacer.exec(str)) !== null) {\n var i = match.index;\n var char = str.charCodeAt(i);\n var next = xmlCodeMap.get(char);\n if (next !== undefined) {\n ret += str.substring(lastIdx, i) + next;\n lastIdx = i + 1;\n }\n else {\n ret += \"\".concat(str.substring(lastIdx, i), \"&#x\").concat((0, exports.getCodePoint)(str, i).toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n }\n }\n return ret + str.substr(lastIdx);\n}\nexports.encodeXML = encodeXML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nexports.escape = encodeXML;\n/**\n * Creates a function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n *\n * @param regex Regular expression to match characters to escape.\n * @param map Map of characters to escape to their entities.\n *\n * @returns Function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n */\nfunction getEscaper(regex, map) {\n return function escape(data) {\n var match;\n var lastIdx = 0;\n var result = \"\";\n while ((match = regex.exec(data))) {\n if (lastIdx !== match.index) {\n result += data.substring(lastIdx, match.index);\n }\n // We know that this character will be in the map.\n result += map.get(match[0].charCodeAt(0));\n // Every match will be of length 1\n lastIdx = match.index + 1;\n }\n return result + data.substring(lastIdx);\n };\n}\n/**\n * Encodes all characters not valid in XML documents using XML entities.\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nexports.escapeUTF8 = getEscaper(/[&<>'\"]/g, xmlCodeMap);\n/**\n * Encodes all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeAttribute = getEscaper(/[\"&\\u00A0]/g, new Map([\n [34, \""\"],\n [38, \"&\"],\n [160, \" \"],\n]));\n/**\n * Encodes all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeText = getEscaper(/[&<>\\u00A0]/g, new Map([\n [38, \"&\"],\n [60, \"<\"],\n [62, \">\"],\n [160, \" \"],\n]));\n//# sourceMappingURL=escape.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encodeNonAsciiHTML = exports.encodeHTML = void 0;\nvar encode_html_js_1 = __importDefault(require(\"./generated/encode-html.js\"));\nvar escape_js_1 = require(\"./escape.js\");\nvar htmlReplacer = /[\\t\\n!-,./:-@[-`\\f{-}$\\x80-\\uFFFF]/g;\n/**\n * Encodes all characters in the input using HTML entities. This includes\n * characters that are valid ASCII characters in HTML documents, such as `#`.\n *\n * To get a more compact output, consider using the `encodeNonAsciiHTML`\n * function, which will only encode characters that are not valid in HTML\n * documents, as well as non-ASCII characters.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `ü`) will be used.\n */\nfunction encodeHTML(data) {\n return encodeHTMLTrieRe(htmlReplacer, data);\n}\nexports.encodeHTML = encodeHTML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in HTML\n * documents using HTML entities. This function will not encode characters that\n * are valid in HTML documents, such as `#`.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `ü`) will be used.\n */\nfunction encodeNonAsciiHTML(data) {\n return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data);\n}\nexports.encodeNonAsciiHTML = encodeNonAsciiHTML;\nfunction encodeHTMLTrieRe(regExp, str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = regExp.exec(str)) !== null) {\n var i = match.index;\n ret += str.substring(lastIdx, i);\n var char = str.charCodeAt(i);\n var next = encode_html_js_1.default.get(char);\n if (typeof next === \"object\") {\n // We are in a branch. Try to match the next char.\n if (i + 1 < str.length) {\n var nextChar = str.charCodeAt(i + 1);\n var value = typeof next.n === \"number\"\n ? next.n === nextChar\n ? next.o\n : undefined\n : next.n.get(nextChar);\n if (value !== undefined) {\n ret += value;\n lastIdx = regExp.lastIndex += 1;\n continue;\n }\n }\n next = next.v;\n }\n // We might have a tree node without a value; skip and use a numeric entity.\n if (next !== undefined) {\n ret += next;\n lastIdx = i + 1;\n }\n else {\n var cp = (0, escape_js_1.getCodePoint)(str, i);\n ret += \"&#x\".concat(cp.toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = regExp.lastIndex += Number(cp !== char);\n }\n }\n return ret + str.substr(lastIdx);\n}\n//# sourceMappingURL=encode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = void 0;\nvar decode_js_1 = require(\"./decode.js\");\nvar encode_js_1 = require(\"./encode.js\");\nvar escape_js_1 = require(\"./escape.js\");\n/** The level of entities to support. */\nvar EntityLevel;\n(function (EntityLevel) {\n /** Support only XML entities. */\n EntityLevel[EntityLevel[\"XML\"] = 0] = \"XML\";\n /** Support HTML entities, which are a superset of XML entities. */\n EntityLevel[EntityLevel[\"HTML\"] = 1] = \"HTML\";\n})(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {}));\nvar EncodingMode;\n(function (EncodingMode) {\n /**\n * The output is UTF-8 encoded. Only characters that need escaping within\n * XML will be escaped.\n */\n EncodingMode[EncodingMode[\"UTF8\"] = 0] = \"UTF8\";\n /**\n * The output consists only of ASCII characters. Characters that need\n * escaping within HTML, and characters that aren't ASCII characters will\n * be escaped.\n */\n EncodingMode[EncodingMode[\"ASCII\"] = 1] = \"ASCII\";\n /**\n * Encode all characters that have an equivalent entity, as well as all\n * characters that are not ASCII characters.\n */\n EncodingMode[EncodingMode[\"Extensive\"] = 2] = \"Extensive\";\n /**\n * Encode all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Attribute\"] = 3] = \"Attribute\";\n /**\n * Encode all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Text\"] = 4] = \"Text\";\n})(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {}));\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n */\nfunction decode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var level = typeof options === \"number\" ? options : options.level;\n if (level === EntityLevel.HTML) {\n var mode = typeof options === \"object\" ? options.mode : undefined;\n return (0, decode_js_1.decodeHTML)(data, mode);\n }\n return (0, decode_js_1.decodeXML)(data);\n}\nexports.decode = decode;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n * @deprecated Use `decode` with the `mode` set to `Strict`.\n */\nfunction decodeStrict(data, options) {\n var _a;\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n (_a = opts.mode) !== null && _a !== void 0 ? _a : (opts.mode = decode_js_1.DecodingMode.Strict);\n return decode(data, opts);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param options Encoding options.\n */\nfunction encode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n // Mode `UTF8` just escapes XML entities\n if (opts.mode === EncodingMode.UTF8)\n return (0, escape_js_1.escapeUTF8)(data);\n if (opts.mode === EncodingMode.Attribute)\n return (0, escape_js_1.escapeAttribute)(data);\n if (opts.mode === EncodingMode.Text)\n return (0, escape_js_1.escapeText)(data);\n if (opts.level === EntityLevel.HTML) {\n if (opts.mode === EncodingMode.ASCII) {\n return (0, encode_js_1.encodeNonAsciiHTML)(data);\n }\n return (0, encode_js_1.encodeHTML)(data);\n }\n // ASCII and Extensive are equivalent\n return (0, escape_js_1.encodeXML)(data);\n}\nexports.encode = encode;\nvar escape_js_2 = require(\"./escape.js\");\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return escape_js_2.encodeXML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return escape_js_2.escape; } });\nObject.defineProperty(exports, \"escapeUTF8\", { enumerable: true, get: function () { return escape_js_2.escapeUTF8; } });\nObject.defineProperty(exports, \"escapeAttribute\", { enumerable: true, get: function () { return escape_js_2.escapeAttribute; } });\nObject.defineProperty(exports, \"escapeText\", { enumerable: true, get: function () { return escape_js_2.escapeText; } });\nvar encode_js_2 = require(\"./encode.js\");\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: true, get: function () { return encode_js_2.encodeNonAsciiHTML; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nvar decode_js_2 = require(\"./decode.js\");\nObject.defineProperty(exports, \"EntityDecoder\", { enumerable: true, get: function () { return decode_js_2.EntityDecoder; } });\nObject.defineProperty(exports, \"DecodingMode\", { enumerable: true, get: function () { return decode_js_2.DecodingMode; } });\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTMLAttribute\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLAttribute; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\nexports.attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.render = void 0;\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nvar entities_1 = require(\"entities\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_js_1 = require(\"./foreignNames.js\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? entities_1.encodeXML\n : entities_1.escapeAttribute;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return \"\".concat(key, \"=\\\"\").concat(encode(value), \"\\\"\");\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports.render = render;\nexports.default = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\".concat(elem.name);\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \".concat(attribs);\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"</\".concat(elem.name, \">\");\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\".concat(elem.data, \">\");\n}\nfunction renderText(elem, opts) {\n var _a;\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? (0, entities_1.encodeXML)(data)\n : (0, entities_1.escapeText)(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"<![CDATA[\".concat(elem.children[0].data, \"]]>\");\n}\nfunction renderComment(elem) {\n return \"<!--\".concat(elem.data, \"-->\");\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.innerText = exports.textContent = exports.getText = exports.getInnerHTML = exports.getOuterHTML = void 0;\nvar domhandler_1 = require(\"domhandler\");\nvar dom_serializer_1 = __importDefault(require(\"dom-serializer\"));\nvar domelementtype_1 = require(\"domelementtype\");\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the outer HTML of.\n * @param options Options for serialization.\n * @returns `node`'s outer HTML.\n */\nfunction getOuterHTML(node, options) {\n return (0, dom_serializer_1.default)(node, options);\n}\nexports.getOuterHTML = getOuterHTML;\n/**\n * @category Stringify\n * @deprecated Use the `dom-serializer` module directly.\n * @param node Node to get the inner HTML of.\n * @param options Options for serialization.\n * @returns `node`'s inner HTML.\n */\nfunction getInnerHTML(node, options) {\n return (0, domhandler_1.hasChildren)(node)\n ? node.children.map(function (node) { return getOuterHTML(node, options); }).join(\"\")\n : \"\";\n}\nexports.getInnerHTML = getInnerHTML;\n/**\n * Get a node's inner text. Same as `textContent`, but inserts newlines for `<br>` tags. Ignores comments.\n *\n * @category Stringify\n * @deprecated Use `textContent` instead.\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n */\nfunction getText(node) {\n if (Array.isArray(node))\n return node.map(getText).join(\"\");\n if ((0, domhandler_1.isTag)(node))\n return node.name === \"br\" ? \"\\n\" : getText(node.children);\n if ((0, domhandler_1.isCDATA)(node))\n return getText(node.children);\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\nexports.getText = getText;\n/**\n * Get a node's text content. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the text content of.\n * @returns `node`'s text content.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent}\n */\nfunction textContent(node) {\n if (Array.isArray(node))\n return node.map(textContent).join(\"\");\n if ((0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node)) {\n return textContent(node.children);\n }\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\nexports.textContent = textContent;\n/**\n * Get a node's inner text, ignoring `<script>` and `<style>` tags. Ignores comments.\n *\n * @category Stringify\n * @param node Node to get the inner text of.\n * @returns `node`'s inner text.\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText}\n */\nfunction innerText(node) {\n if (Array.isArray(node))\n return node.map(innerText).join(\"\");\n if ((0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node))) {\n return innerText(node.children);\n }\n if ((0, domhandler_1.isText)(node))\n return node.data;\n return \"\";\n}\nexports.innerText = innerText;\n//# sourceMappingURL=stringify.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prevElementSibling = exports.nextElementSibling = exports.getName = exports.hasAttrib = exports.getAttributeValue = exports.getSiblings = exports.getParent = exports.getChildren = void 0;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Get a node's children.\n *\n * @category Traversal\n * @param elem Node to get the children of.\n * @returns `elem`'s children, or an empty array.\n */\nfunction getChildren(elem) {\n return (0, domhandler_1.hasChildren)(elem) ? elem.children : [];\n}\nexports.getChildren = getChildren;\n/**\n * Get a node's parent.\n *\n * @category Traversal\n * @param elem Node to get the parent of.\n * @returns `elem`'s parent node, or `null` if `elem` is a root node.\n */\nfunction getParent(elem) {\n return elem.parent || null;\n}\nexports.getParent = getParent;\n/**\n * Gets an elements siblings, including the element itself.\n *\n * Attempts to get the children through the element's parent first. If we don't\n * have a parent (the element is a root node), we walk the element's `prev` &\n * `next` to get all remaining nodes.\n *\n * @category Traversal\n * @param elem Element to get the siblings of.\n * @returns `elem`'s siblings, including `elem`.\n */\nfunction getSiblings(elem) {\n var _a, _b;\n var parent = getParent(elem);\n if (parent != null)\n return getChildren(parent);\n var siblings = [elem];\n var prev = elem.prev, next = elem.next;\n while (prev != null) {\n siblings.unshift(prev);\n (_a = prev, prev = _a.prev);\n }\n while (next != null) {\n siblings.push(next);\n (_b = next, next = _b.next);\n }\n return siblings;\n}\nexports.getSiblings = getSiblings;\n/**\n * Gets an attribute from an element.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to retrieve.\n * @returns The element's attribute value, or `undefined`.\n */\nfunction getAttributeValue(elem, name) {\n var _a;\n return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name];\n}\nexports.getAttributeValue = getAttributeValue;\n/**\n * Checks whether an element has an attribute.\n *\n * @category Traversal\n * @param elem Element to check.\n * @param name Attribute name to look for.\n * @returns Returns whether `elem` has the attribute `name`.\n */\nfunction hasAttrib(elem, name) {\n return (elem.attribs != null &&\n Object.prototype.hasOwnProperty.call(elem.attribs, name) &&\n elem.attribs[name] != null);\n}\nexports.hasAttrib = hasAttrib;\n/**\n * Get the tag name of an element.\n *\n * @category Traversal\n * @param elem The element to get the name for.\n * @returns The tag name of `elem`.\n */\nfunction getName(elem) {\n return elem.name;\n}\nexports.getName = getName;\n/**\n * Returns the next element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the next sibling of.\n * @returns `elem`'s next sibling that is a tag, or `null` if there is no next\n * sibling.\n */\nfunction nextElementSibling(elem) {\n var _a;\n var next = elem.next;\n while (next !== null && !(0, domhandler_1.isTag)(next))\n (_a = next, next = _a.next);\n return next;\n}\nexports.nextElementSibling = nextElementSibling;\n/**\n * Returns the previous element sibling of a node.\n *\n * @category Traversal\n * @param elem The element to get the previous sibling of.\n * @returns `elem`'s previous sibling that is a tag, or `null` if there is no\n * previous sibling.\n */\nfunction prevElementSibling(elem) {\n var _a;\n var prev = elem.prev;\n while (prev !== null && !(0, domhandler_1.isTag)(prev))\n (_a = prev, prev = _a.prev);\n return prev;\n}\nexports.prevElementSibling = prevElementSibling;\n//# sourceMappingURL=traversal.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.prepend = exports.prependChild = exports.append = exports.appendChild = exports.replaceElement = exports.removeElement = void 0;\n/**\n * Remove an element from the dom\n *\n * @category Manipulation\n * @param elem The element to be removed\n */\nfunction removeElement(elem) {\n if (elem.prev)\n elem.prev.next = elem.next;\n if (elem.next)\n elem.next.prev = elem.prev;\n if (elem.parent) {\n var childs = elem.parent.children;\n var childsIndex = childs.lastIndexOf(elem);\n if (childsIndex >= 0) {\n childs.splice(childsIndex, 1);\n }\n }\n elem.next = null;\n elem.prev = null;\n elem.parent = null;\n}\nexports.removeElement = removeElement;\n/**\n * Replace an element in the dom\n *\n * @category Manipulation\n * @param elem The element to be replaced\n * @param replacement The element to be added\n */\nfunction replaceElement(elem, replacement) {\n var prev = (replacement.prev = elem.prev);\n if (prev) {\n prev.next = replacement;\n }\n var next = (replacement.next = elem.next);\n if (next) {\n next.prev = replacement;\n }\n var parent = (replacement.parent = elem.parent);\n if (parent) {\n var childs = parent.children;\n childs[childs.lastIndexOf(elem)] = replacement;\n elem.parent = null;\n }\n}\nexports.replaceElement = replaceElement;\n/**\n * Append a child to an element.\n *\n * @category Manipulation\n * @param parent The element to append to.\n * @param child The element to be added as a child.\n */\nfunction appendChild(parent, child) {\n removeElement(child);\n child.next = null;\n child.parent = parent;\n if (parent.children.push(child) > 1) {\n var sibling = parent.children[parent.children.length - 2];\n sibling.next = child;\n child.prev = sibling;\n }\n else {\n child.prev = null;\n }\n}\nexports.appendChild = appendChild;\n/**\n * Append an element after another.\n *\n * @category Manipulation\n * @param elem The element to append after.\n * @param next The element be added.\n */\nfunction append(elem, next) {\n removeElement(next);\n var parent = elem.parent;\n var currNext = elem.next;\n next.next = currNext;\n next.prev = elem;\n elem.next = next;\n next.parent = parent;\n if (currNext) {\n currNext.prev = next;\n if (parent) {\n var childs = parent.children;\n childs.splice(childs.lastIndexOf(currNext), 0, next);\n }\n }\n else if (parent) {\n parent.children.push(next);\n }\n}\nexports.append = append;\n/**\n * Prepend a child to an element.\n *\n * @category Manipulation\n * @param parent The element to prepend before.\n * @param child The element to be added as a child.\n */\nfunction prependChild(parent, child) {\n removeElement(child);\n child.parent = parent;\n child.prev = null;\n if (parent.children.unshift(child) !== 1) {\n var sibling = parent.children[1];\n sibling.prev = child;\n child.next = sibling;\n }\n else {\n child.next = null;\n }\n}\nexports.prependChild = prependChild;\n/**\n * Prepend an element before another.\n *\n * @category Manipulation\n * @param elem The element to prepend before.\n * @param prev The element be added.\n */\nfunction prepend(elem, prev) {\n removeElement(prev);\n var parent = elem.parent;\n if (parent) {\n var childs = parent.children;\n childs.splice(childs.indexOf(elem), 0, prev);\n }\n if (elem.prev) {\n elem.prev.next = prev;\n }\n prev.parent = parent;\n prev.prev = elem.prev;\n prev.next = elem;\n elem.prev = prev;\n}\nexports.prepend = prepend;\n//# sourceMappingURL=manipulation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findAll = exports.existsOne = exports.findOne = exports.findOneChild = exports.find = exports.filter = void 0;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Search a node and its children for nodes passing a test function. If `node` is not an array, it will be wrapped in one.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param node Node to search. Will be included in the result set if it matches.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction filter(test, node, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return find(test, Array.isArray(node) ? node : [node], recurse, limit);\n}\nexports.filter = filter;\n/**\n * Search an array of nodes and their children for nodes passing a test function.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes passing `test`.\n */\nfunction find(test, nodes, recurse, limit) {\n var result = [];\n /** Stack of the arrays we are looking at. */\n var nodeStack = [nodes];\n /** Stack of the indices within the arrays. */\n var indexStack = [0];\n for (;;) {\n // First, check if the current array has any more elements to look at.\n if (indexStack[0] >= nodeStack[0].length) {\n // If we have no more arrays to look at, we are done.\n if (indexStack.length === 1) {\n return result;\n }\n // Otherwise, remove the current array from the stack.\n nodeStack.shift();\n indexStack.shift();\n // Loop back to the start to continue with the next array.\n continue;\n }\n var elem = nodeStack[0][indexStack[0]++];\n if (test(elem)) {\n result.push(elem);\n if (--limit <= 0)\n return result;\n }\n if (recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) {\n /*\n * Add the children to the stack. We are depth-first, so this is\n * the next array we look at.\n */\n indexStack.unshift(0);\n nodeStack.unshift(elem.children);\n }\n }\n}\nexports.find = find;\n/**\n * Finds the first element inside of an array that matches a test function. This is an alias for `Array.prototype.find`.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns The first node in the array that passes `test`.\n * @deprecated Use `Array.prototype.find` directly.\n */\nfunction findOneChild(test, nodes) {\n return nodes.find(test);\n}\nexports.findOneChild = findOneChild;\n/**\n * Finds one element in a tree that passes a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Node or array of nodes to search.\n * @param recurse Also consider child nodes.\n * @returns The first node that passes `test`.\n */\nfunction findOne(test, nodes, recurse) {\n if (recurse === void 0) { recurse = true; }\n var elem = null;\n for (var i = 0; i < nodes.length && !elem; i++) {\n var node = nodes[i];\n if (!(0, domhandler_1.isTag)(node)) {\n continue;\n }\n else if (test(node)) {\n elem = node;\n }\n else if (recurse && node.children.length > 0) {\n elem = findOne(test, node.children, true);\n }\n }\n return elem;\n}\nexports.findOne = findOne;\n/**\n * Checks if a tree of nodes contains at least one node passing a test.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns Whether a tree of nodes contains at least one node passing the test.\n */\nfunction existsOne(test, nodes) {\n return nodes.some(function (checked) {\n return (0, domhandler_1.isTag)(checked) &&\n (test(checked) || existsOne(test, checked.children));\n });\n}\nexports.existsOne = existsOne;\n/**\n * Search an array of nodes and their children for elements passing a test function.\n *\n * Same as `find`, but limited to elements and with less options, leading to reduced complexity.\n *\n * @category Querying\n * @param test Function to test nodes on.\n * @param nodes Array of nodes to search.\n * @returns All nodes passing `test`.\n */\nfunction findAll(test, nodes) {\n var result = [];\n var nodeStack = [nodes];\n var indexStack = [0];\n for (;;) {\n if (indexStack[0] >= nodeStack[0].length) {\n if (nodeStack.length === 1) {\n return result;\n }\n // Otherwise, remove the current array from the stack.\n nodeStack.shift();\n indexStack.shift();\n // Loop back to the start to continue with the next array.\n continue;\n }\n var elem = nodeStack[0][indexStack[0]++];\n if (!(0, domhandler_1.isTag)(elem))\n continue;\n if (test(elem))\n result.push(elem);\n if (elem.children.length > 0) {\n indexStack.unshift(0);\n nodeStack.unshift(elem.children);\n }\n }\n}\nexports.findAll = findAll;\n//# sourceMappingURL=querying.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getElementsByTagType = exports.getElementsByTagName = exports.getElementById = exports.getElements = exports.testElement = void 0;\nvar domhandler_1 = require(\"domhandler\");\nvar querying_js_1 = require(\"./querying.js\");\n/**\n * A map of functions to check nodes against.\n */\nvar Checks = {\n tag_name: function (name) {\n if (typeof name === \"function\") {\n return function (elem) { return (0, domhandler_1.isTag)(elem) && name(elem.name); };\n }\n else if (name === \"*\") {\n return domhandler_1.isTag;\n }\n return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.name === name; };\n },\n tag_type: function (type) {\n if (typeof type === \"function\") {\n return function (elem) { return type(elem.type); };\n }\n return function (elem) { return elem.type === type; };\n },\n tag_contains: function (data) {\n if (typeof data === \"function\") {\n return function (elem) { return (0, domhandler_1.isText)(elem) && data(elem.data); };\n }\n return function (elem) { return (0, domhandler_1.isText)(elem) && elem.data === data; };\n },\n};\n/**\n * Returns a function to check whether a node has an attribute with a particular\n * value.\n *\n * @param attrib Attribute to check.\n * @param value Attribute value to look for.\n * @returns A function to check whether the a node has an attribute with a\n * particular value.\n */\nfunction getAttribCheck(attrib, value) {\n if (typeof value === \"function\") {\n return function (elem) { return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib]); };\n }\n return function (elem) { return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value; };\n}\n/**\n * Returns a function that returns `true` if either of the input functions\n * returns `true` for a node.\n *\n * @param a First function to combine.\n * @param b Second function to combine.\n * @returns A function taking a node and returning `true` if either of the input\n * functions returns `true` for the node.\n */\nfunction combineFuncs(a, b) {\n return function (elem) { return a(elem) || b(elem); };\n}\n/**\n * Returns a function that executes all checks in `options` and returns `true`\n * if any of them match a node.\n *\n * @param options An object describing nodes to look for.\n * @returns A function that executes all checks in `options` and returns `true`\n * if any of them match a node.\n */\nfunction compileTest(options) {\n var funcs = Object.keys(options).map(function (key) {\n var value = options[key];\n return Object.prototype.hasOwnProperty.call(Checks, key)\n ? Checks[key](value)\n : getAttribCheck(key, value);\n });\n return funcs.length === 0 ? null : funcs.reduce(combineFuncs);\n}\n/**\n * Checks whether a node matches the description in `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param node The element to test.\n * @returns Whether the element matches the description in `options`.\n */\nfunction testElement(options, node) {\n var test = compileTest(options);\n return test ? test(node) : true;\n}\nexports.testElement = testElement;\n/**\n * Returns all nodes that match `options`.\n *\n * @category Legacy Query Functions\n * @param options An object describing nodes to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes that match `options`.\n */\nfunction getElements(options, nodes, recurse, limit) {\n if (limit === void 0) { limit = Infinity; }\n var test = compileTest(options);\n return test ? (0, querying_js_1.filter)(test, nodes, recurse, limit) : [];\n}\nexports.getElements = getElements;\n/**\n * Returns the node with the supplied ID.\n *\n * @category Legacy Query Functions\n * @param id The unique ID attribute value to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @returns The node with the supplied ID.\n */\nfunction getElementById(id, nodes, recurse) {\n if (recurse === void 0) { recurse = true; }\n if (!Array.isArray(nodes))\n nodes = [nodes];\n return (0, querying_js_1.findOne)(getAttribCheck(\"id\", id), nodes, recurse);\n}\nexports.getElementById = getElementById;\n/**\n * Returns all nodes with the supplied `tagName`.\n *\n * @category Legacy Query Functions\n * @param tagName Tag name to search for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `tagName`.\n */\nfunction getElementsByTagName(tagName, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(Checks[\"tag_name\"](tagName), nodes, recurse, limit);\n}\nexports.getElementsByTagName = getElementsByTagName;\n/**\n * Returns all nodes with the supplied `type`.\n *\n * @category Legacy Query Functions\n * @param type Element type to look for.\n * @param nodes Nodes to search through.\n * @param recurse Also consider child nodes.\n * @param limit Maximum number of nodes to return.\n * @returns All nodes with the supplied `type`.\n */\nfunction getElementsByTagType(type, nodes, recurse, limit) {\n if (recurse === void 0) { recurse = true; }\n if (limit === void 0) { limit = Infinity; }\n return (0, querying_js_1.filter)(Checks[\"tag_type\"](type), nodes, recurse, limit);\n}\nexports.getElementsByTagType = getElementsByTagType;\n//# sourceMappingURL=legacy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uniqueSort = exports.compareDocumentPosition = exports.DocumentPosition = exports.removeSubsets = void 0;\nvar domhandler_1 = require(\"domhandler\");\n/**\n * Given an array of nodes, remove any member that is contained by another\n * member.\n *\n * @category Helpers\n * @param nodes Nodes to filter.\n * @returns Remaining nodes that aren't contained by other nodes.\n */\nfunction removeSubsets(nodes) {\n var idx = nodes.length;\n /*\n * Check if each node (or one of its ancestors) is already contained in the\n * array.\n */\n while (--idx >= 0) {\n var node = nodes[idx];\n /*\n * Remove the node if it is not unique.\n * We are going through the array from the end, so we only\n * have to check nodes that preceed the node under consideration in the array.\n */\n if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) {\n nodes.splice(idx, 1);\n continue;\n }\n for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) {\n if (nodes.includes(ancestor)) {\n nodes.splice(idx, 1);\n break;\n }\n }\n }\n return nodes;\n}\nexports.removeSubsets = removeSubsets;\n/**\n * @category Helpers\n * @see {@link http://dom.spec.whatwg.org/#dom-node-comparedocumentposition}\n */\nvar DocumentPosition;\n(function (DocumentPosition) {\n DocumentPosition[DocumentPosition[\"DISCONNECTED\"] = 1] = \"DISCONNECTED\";\n DocumentPosition[DocumentPosition[\"PRECEDING\"] = 2] = \"PRECEDING\";\n DocumentPosition[DocumentPosition[\"FOLLOWING\"] = 4] = \"FOLLOWING\";\n DocumentPosition[DocumentPosition[\"CONTAINS\"] = 8] = \"CONTAINS\";\n DocumentPosition[DocumentPosition[\"CONTAINED_BY\"] = 16] = \"CONTAINED_BY\";\n})(DocumentPosition = exports.DocumentPosition || (exports.DocumentPosition = {}));\n/**\n * Compare the position of one node against another node in any other document,\n * returning a bitmask with the values from {@link DocumentPosition}.\n *\n * Document order:\n * > There is an ordering, document order, defined on all the nodes in the\n * > document corresponding to the order in which the first character of the\n * > XML representation of each node occurs in the XML representation of the\n * > document after expansion of general entities. Thus, the document element\n * > node will be the first node. Element nodes occur before their children.\n * > Thus, document order orders element nodes in order of the occurrence of\n * > their start-tag in the XML (after expansion of entities). The attribute\n * > nodes of an element occur after the element and before its children. The\n * > relative order of attribute nodes is implementation-dependent.\n *\n * Source:\n * http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order\n *\n * @category Helpers\n * @param nodeA The first node to use in the comparison\n * @param nodeB The second node to use in the comparison\n * @returns A bitmask describing the input nodes' relative position.\n *\n * See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for\n * a description of these values.\n */\nfunction compareDocumentPosition(nodeA, nodeB) {\n var aParents = [];\n var bParents = [];\n if (nodeA === nodeB) {\n return 0;\n }\n var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent;\n while (current) {\n aParents.unshift(current);\n current = current.parent;\n }\n current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent;\n while (current) {\n bParents.unshift(current);\n current = current.parent;\n }\n var maxIdx = Math.min(aParents.length, bParents.length);\n var idx = 0;\n while (idx < maxIdx && aParents[idx] === bParents[idx]) {\n idx++;\n }\n if (idx === 0) {\n return DocumentPosition.DISCONNECTED;\n }\n var sharedParent = aParents[idx - 1];\n var siblings = sharedParent.children;\n var aSibling = aParents[idx];\n var bSibling = bParents[idx];\n if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {\n if (sharedParent === nodeB) {\n return DocumentPosition.FOLLOWING | DocumentPosition.CONTAINED_BY;\n }\n return DocumentPosition.FOLLOWING;\n }\n if (sharedParent === nodeA) {\n return DocumentPosition.PRECEDING | DocumentPosition.CONTAINS;\n }\n return DocumentPosition.PRECEDING;\n}\nexports.compareDocumentPosition = compareDocumentPosition;\n/**\n * Sort an array of nodes based on their relative position in the document,\n * removing any duplicate nodes. If the array contains nodes that do not belong\n * to the same document, sort order is unspecified.\n *\n * @category Helpers\n * @param nodes Array of DOM nodes.\n * @returns Collection of unique nodes, sorted in document order.\n */\nfunction uniqueSort(nodes) {\n nodes = nodes.filter(function (node, i, arr) { return !arr.includes(node, i + 1); });\n nodes.sort(function (a, b) {\n var relative = compareDocumentPosition(a, b);\n if (relative & DocumentPosition.PRECEDING) {\n return -1;\n }\n else if (relative & DocumentPosition.FOLLOWING) {\n return 1;\n }\n return 0;\n });\n return nodes;\n}\nexports.uniqueSort = uniqueSort;\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFeed = void 0;\nvar stringify_js_1 = require(\"./stringify.js\");\nvar legacy_js_1 = require(\"./legacy.js\");\n/**\n * Get the feed object from the root of a DOM tree.\n *\n * @category Feeds\n * @param doc - The DOM to to extract the feed from.\n * @returns The feed.\n */\nfunction getFeed(doc) {\n var feedRoot = getOneElement(isValidFeed, doc);\n return !feedRoot\n ? null\n : feedRoot.name === \"feed\"\n ? getAtomFeed(feedRoot)\n : getRssFeed(feedRoot);\n}\nexports.getFeed = getFeed;\n/**\n * Parse an Atom feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getAtomFeed(feedRoot) {\n var _a;\n var childs = feedRoot.children;\n var feed = {\n type: \"atom\",\n items: (0, legacy_js_1.getElementsByTagName)(\"entry\", childs).map(function (item) {\n var _a;\n var children = item.children;\n var entry = { media: getMediaElements(children) };\n addConditionally(entry, \"id\", \"id\", children);\n addConditionally(entry, \"title\", \"title\", children);\n var href = (_a = getOneElement(\"link\", children)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n if (href) {\n entry.link = href;\n }\n var description = fetch(\"summary\", children) || fetch(\"content\", children);\n if (description) {\n entry.description = description;\n }\n var pubDate = fetch(\"updated\", children);\n if (pubDate) {\n entry.pubDate = new Date(pubDate);\n }\n return entry;\n }),\n };\n addConditionally(feed, \"id\", \"id\", childs);\n addConditionally(feed, \"title\", \"title\", childs);\n var href = (_a = getOneElement(\"link\", childs)) === null || _a === void 0 ? void 0 : _a.attribs[\"href\"];\n if (href) {\n feed.link = href;\n }\n addConditionally(feed, \"description\", \"subtitle\", childs);\n var updated = fetch(\"updated\", childs);\n if (updated) {\n feed.updated = new Date(updated);\n }\n addConditionally(feed, \"author\", \"email\", childs, true);\n return feed;\n}\n/**\n * Parse a RSS feed.\n *\n * @param feedRoot The root of the feed.\n * @returns The parsed feed.\n */\nfunction getRssFeed(feedRoot) {\n var _a, _b;\n var childs = (_b = (_a = getOneElement(\"channel\", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : [];\n var feed = {\n type: feedRoot.name.substr(0, 3),\n id: \"\",\n items: (0, legacy_js_1.getElementsByTagName)(\"item\", feedRoot.children).map(function (item) {\n var children = item.children;\n var entry = { media: getMediaElements(children) };\n addConditionally(entry, \"id\", \"guid\", children);\n addConditionally(entry, \"title\", \"title\", children);\n addConditionally(entry, \"link\", \"link\", children);\n addConditionally(entry, \"description\", \"description\", children);\n var pubDate = fetch(\"pubDate\", children) || fetch(\"dc:date\", children);\n if (pubDate)\n entry.pubDate = new Date(pubDate);\n return entry;\n }),\n };\n addConditionally(feed, \"title\", \"title\", childs);\n addConditionally(feed, \"link\", \"link\", childs);\n addConditionally(feed, \"description\", \"description\", childs);\n var updated = fetch(\"lastBuildDate\", childs);\n if (updated) {\n feed.updated = new Date(updated);\n }\n addConditionally(feed, \"author\", \"managingEditor\", childs, true);\n return feed;\n}\nvar MEDIA_KEYS_STRING = [\"url\", \"type\", \"lang\"];\nvar MEDIA_KEYS_INT = [\n \"fileSize\",\n \"bitrate\",\n \"framerate\",\n \"samplingrate\",\n \"channels\",\n \"duration\",\n \"height\",\n \"width\",\n];\n/**\n * Get all media elements of a feed item.\n *\n * @param where Nodes to search in.\n * @returns Media elements.\n */\nfunction getMediaElements(where) {\n return (0, legacy_js_1.getElementsByTagName)(\"media:content\", where).map(function (elem) {\n var attribs = elem.attribs;\n var media = {\n medium: attribs[\"medium\"],\n isDefault: !!attribs[\"isDefault\"],\n };\n for (var _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) {\n var attrib = MEDIA_KEYS_STRING_1[_i];\n if (attribs[attrib]) {\n media[attrib] = attribs[attrib];\n }\n }\n for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) {\n var attrib = MEDIA_KEYS_INT_1[_a];\n if (attribs[attrib]) {\n media[attrib] = parseInt(attribs[attrib], 10);\n }\n }\n if (attribs[\"expression\"]) {\n media.expression = attribs[\"expression\"];\n }\n return media;\n });\n}\n/**\n * Get one element by tag name.\n *\n * @param tagName Tag name to look for\n * @param node Node to search in\n * @returns The element or null\n */\nfunction getOneElement(tagName, node) {\n return (0, legacy_js_1.getElementsByTagName)(tagName, node, true, 1)[0];\n}\n/**\n * Get the text content of an element with a certain tag name.\n *\n * @param tagName Tag name to look for.\n * @param where Node to search in.\n * @param recurse Whether to recurse into child nodes.\n * @returns The text content of the element.\n */\nfunction fetch(tagName, where, recurse) {\n if (recurse === void 0) { recurse = false; }\n return (0, stringify_js_1.textContent)((0, legacy_js_1.getElementsByTagName)(tagName, where, recurse, 1)).trim();\n}\n/**\n * Adds a property to an object if it has a value.\n *\n * @param obj Object to be extended\n * @param prop Property name\n * @param tagName Tag name that contains the conditionally added property\n * @param where Element to search for the property\n * @param recurse Whether to recurse into child nodes.\n */\nfunction addConditionally(obj, prop, tagName, where, recurse) {\n if (recurse === void 0) { recurse = false; }\n var val = fetch(tagName, where, recurse);\n if (val)\n obj[prop] = val;\n}\n/**\n * Checks if an element is a feed root node.\n *\n * @param value The name of the element to check.\n * @returns Whether an element is a feed root node.\n */\nfunction isValidFeed(value) {\n return value === \"rss\" || value === \"feed\" || value === \"rdf:RDF\";\n}\n//# sourceMappingURL=feeds.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0;\n__exportStar(require(\"./stringify.js\"), exports);\n__exportStar(require(\"./traversal.js\"), exports);\n__exportStar(require(\"./manipulation.js\"), exports);\n__exportStar(require(\"./querying.js\"), exports);\n__exportStar(require(\"./legacy.js\"), exports);\n__exportStar(require(\"./helpers.js\"), exports);\n__exportStar(require(\"./feeds.js\"), exports);\n/** @deprecated Use these methods from `domhandler` directly. */\nvar domhandler_1 = require(\"domhandler\");\nObject.defineProperty(exports, \"isTag\", { enumerable: true, get: function () { return domhandler_1.isTag; } });\nObject.defineProperty(exports, \"isCDATA\", { enumerable: true, get: function () { return domhandler_1.isCDATA; } });\nObject.defineProperty(exports, \"isText\", { enumerable: true, get: function () { return domhandler_1.isText; } });\nObject.defineProperty(exports, \"isComment\", { enumerable: true, get: function () { return domhandler_1.isComment; } });\nObject.defineProperty(exports, \"isDocument\", { enumerable: true, get: function () { return domhandler_1.isDocument; } });\nObject.defineProperty(exports, \"hasChildren\", { enumerable: true, get: function () { return domhandler_1.hasChildren; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.Tokenizer = exports.createDomStream = exports.parseDOM = exports.parseDocument = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;\nvar Parser_js_1 = require(\"./Parser.js\");\nvar Parser_js_2 = require(\"./Parser.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return Parser_js_2.Parser; } });\nvar domhandler_1 = require(\"domhandler\");\nvar domhandler_2 = require(\"domhandler\");\nObject.defineProperty(exports, \"DomHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Old name for DomHandler\nObject.defineProperty(exports, \"DefaultHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n */\nfunction parseDocument(data, options) {\n var handler = new domhandler_1.DomHandler(undefined, options);\n new Parser_js_1.Parser(handler, options).end(data);\n return handler.root;\n}\nexports.parseDocument = parseDocument;\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n * @deprecated Use `parseDocument` instead.\n */\nfunction parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\nexports.parseDOM = parseDOM;\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nfunction createDomStream(callback, options, elementCallback) {\n var handler = new domhandler_1.DomHandler(callback, options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\nexports.createDomStream = createDomStream;\nvar Tokenizer_js_1 = require(\"./Tokenizer.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexports.ElementType = __importStar(require(\"domelementtype\"));\nvar domutils_1 = require(\"domutils\");\nvar domutils_2 = require(\"domutils\");\nObject.defineProperty(exports, \"getFeed\", { enumerable: true, get: function () { return domutils_2.getFeed; } });\nvar parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nfunction parseFeed(feed, options) {\n if (options === void 0) { options = parseFeedDefaultOptions; }\n return (0, domutils_1.getFeed)(parseDOM(feed, options));\n}\nexports.parseFeed = parseFeed;\nexports.DomUtils = __importStar(require(\"domutils\"));\n//# sourceMappingURL=index.js.map","'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","/**\n * Srcset Parser\n *\n * By Alex Bell | MIT License\n *\n * JS Parser for the string value that appears in markup <img srcset=\"here\">\n *\n * @returns Array [{url: _, d: _, w: _, h:_}, ...]\n *\n * Based super duper closely on the reference algorithm at:\n * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute\n *\n * Most comments are copied in directly from the spec\n * (except for comments in parens).\n */\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof module === 'object' && module.exports) {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.parseSrcset = factory();\n\t}\n}(this, function () {\n\n\t// 1. Let input be the value passed to this algorithm.\n\treturn function (input) {\n\n\t\t// UTILITY FUNCTIONS\n\n\t\t// Manual is faster than RegEx\n\t\t// http://bjorn.tipling.com/state-and-regular-expressions-in-javascript\n\t\t// http://jsperf.com/whitespace-character/5\n\t\tfunction isSpace(c) {\n\t\t\treturn (c === \"\\u0020\" || // space\n\t\t\tc === \"\\u0009\" || // horizontal tab\n\t\t\tc === \"\\u000A\" || // new line\n\t\t\tc === \"\\u000C\" || // form feed\n\t\t\tc === \"\\u000D\"); // carriage return\n\t\t}\n\n\t\tfunction collectCharacters(regEx) {\n\t\t\tvar chars,\n\t\t\t\tmatch = regEx.exec(input.substring(pos));\n\t\t\tif (match) {\n\t\t\t\tchars = match[ 0 ];\n\t\t\t\tpos += chars.length;\n\t\t\t\treturn chars;\n\t\t\t}\n\t\t}\n\n\t\tvar inputLength = input.length,\n\n\t\t\t// (Don't use \\s, to avoid matching non-breaking space)\n\t\t\tregexLeadingSpaces = /^[ \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingCommasOrSpaces = /^[, \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingNotSpaces = /^[^ \\t\\n\\r\\u000c]+/,\n\t\t\tregexTrailingCommas = /[,]+$/,\n\t\t\tregexNonNegativeInteger = /^\\d+$/,\n\n\t\t\t// ( Positive or negative or unsigned integers or decimals, without or without exponents.\n\t\t\t// Must include at least one digit.\n\t\t\t// According to spec tests any decimal point must be followed by a digit.\n\t\t\t// No leading plus sign is allowed.)\n\t\t\t// https://html.spec.whatwg.org/multipage/infrastructure.html#valid-floating-point-number\n\t\t\tregexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,\n\n\t\t\turl,\n\t\t\tdescriptors,\n\t\t\tcurrentDescriptor,\n\t\t\tstate,\n\t\t\tc,\n\n\t\t\t// 2. Let position be a pointer into input, initially pointing at the start\n\t\t\t// of the string.\n\t\t\tpos = 0,\n\n\t\t\t// 3. Let candidates be an initially empty source set.\n\t\t\tcandidates = [];\n\n\t\t// 4. Splitting loop: Collect a sequence of characters that are space\n\t\t// characters or U+002C COMMA characters. If any U+002C COMMA characters\n\t\t// were collected, that is a parse error.\n\t\twhile (true) {\n\t\t\tcollectCharacters(regexLeadingCommasOrSpaces);\n\n\t\t\t// 5. If position is past the end of input, return candidates and abort these steps.\n\t\t\tif (pos >= inputLength) {\n\t\t\t\treturn candidates; // (we're done, this is the sole return path)\n\t\t\t}\n\n\t\t\t// 6. Collect a sequence of characters that are not space characters,\n\t\t\t// and let that be url.\n\t\t\turl = collectCharacters(regexLeadingNotSpaces);\n\n\t\t\t// 7. Let descriptors be a new empty list.\n\t\t\tdescriptors = [];\n\n\t\t\t// 8. If url ends with a U+002C COMMA character (,), follow these substeps:\n\t\t\t//\t\t(1). Remove all trailing U+002C COMMA characters from url. If this removed\n\t\t\t// more than one character, that is a parse error.\n\t\t\tif (url.slice(-1) === \",\") {\n\t\t\t\turl = url.replace(regexTrailingCommas, \"\");\n\t\t\t\t// (Jump ahead to step 9 to skip tokenization and just push the candidate).\n\t\t\t\tparseDescriptors();\n\n\t\t\t\t//\tOtherwise, follow these substeps:\n\t\t\t} else {\n\t\t\t\ttokenize();\n\t\t\t} // (close else of step 8)\n\n\t\t\t// 16. Return to the step labeled splitting loop.\n\t\t} // (Close of big while loop.)\n\n\t\t/**\n\t\t * Tokenizes descriptor properties prior to parsing\n\t\t * Returns undefined.\n\t\t */\n\t\tfunction tokenize() {\n\n\t\t\t// 8.1. Descriptor tokeniser: Skip whitespace\n\t\t\tcollectCharacters(regexLeadingSpaces);\n\n\t\t\t// 8.2. Let current descriptor be the empty string.\n\t\t\tcurrentDescriptor = \"\";\n\n\t\t\t// 8.3. Let state be in descriptor.\n\t\t\tstate = \"in descriptor\";\n\n\t\t\twhile (true) {\n\n\t\t\t\t// 8.4. Let c be the character at position.\n\t\t\t\tc = input.charAt(pos);\n\n\t\t\t\t// Do the following depending on the value of state.\n\t\t\t\t// For the purpose of this step, \"EOF\" is a special character representing\n\t\t\t\t// that position is past the end of input.\n\n\t\t\t\t// In descriptor\n\t\t\t\tif (state === \"in descriptor\") {\n\t\t\t\t\t// Do the following, depending on the value of c:\n\n\t\t\t\t\t// Space character\n\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t// descriptors and let current descriptor be the empty string.\n\t\t\t\t\t// Set state to after descriptor.\n\t\t\t\t\tif (isSpace(c)) {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t\tcurrentDescriptor = \"\";\n\t\t\t\t\t\t\tstate = \"after descriptor\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// U+002C COMMA (,)\n\t\t\t\t\t\t// Advance position to the next character in input. If current descriptor\n\t\t\t\t\t\t// is not empty, append current descriptor to descriptors. Jump to the step\n\t\t\t\t\t\t// labeled descriptor parser.\n\t\t\t\t\t} else if (c === \",\") {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// U+0028 LEFT PARENTHESIS (()\n\t\t\t\t\t\t// Append c to current descriptor. Set state to in parens.\n\t\t\t\t\t} else if (c === \"\\u0028\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in parens\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t\t// descriptors. Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\t\t\t\t\t// (end \"in descriptor\"\n\n\t\t\t\t\t// In parens\n\t\t\t\t} else if (state === \"in parens\") {\n\n\t\t\t\t\t// U+0029 RIGHT PARENTHESIS ())\n\t\t\t\t\t// Append c to current descriptor. Set state to in descriptor.\n\t\t\t\t\tif (c === \")\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in descriptor\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// Append current descriptor to descriptors. Jump to the step labeled\n\t\t\t\t\t\t// descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\n\t\t\t\t\t// After descriptor\n\t\t\t\t} else if (state === \"after descriptor\") {\n\n\t\t\t\t\t// Do the following, depending on the value of c:\n\t\t\t\t\t// Space character: Stay in this state.\n\t\t\t\t\tif (isSpace(c)) {\n\n\t\t\t\t\t\t// EOF: Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Set state to in descriptor. Set position to the previous character in input.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = \"in descriptor\";\n\t\t\t\t\t\tpos -= 1;\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Advance position to the next character in input.\n\t\t\t\tpos += 1;\n\n\t\t\t\t// Repeat this step.\n\t\t\t} // (close while true loop)\n\t\t}\n\n\t\t/**\n\t\t * Adds descriptor properties to a candidate, pushes to the candidates array\n\t\t * @return undefined\n\t\t */\n\t\t// Declared outside of the while loop so that it's only created once.\n\t\tfunction parseDescriptors() {\n\n\t\t\t// 9. Descriptor parser: Let error be no.\n\t\t\tvar pError = false,\n\n\t\t\t\t// 10. Let width be absent.\n\t\t\t\t// 11. Let density be absent.\n\t\t\t\t// 12. Let future-compat-h be absent. (We're implementing it now as h)\n\t\t\t\tw, d, h, i,\n\t\t\t\tcandidate = {},\n\t\t\t\tdesc, lastChar, value, intVal, floatVal;\n\n\t\t\t// 13. For each descriptor in descriptors, run the appropriate set of steps\n\t\t\t// from the following list:\n\t\t\tfor (i = 0 ; i < descriptors.length; i++) {\n\t\t\t\tdesc = descriptors[ i ];\n\n\t\t\t\tlastChar = desc[ desc.length - 1 ];\n\t\t\t\tvalue = desc.substring(0, desc.length - 1);\n\t\t\t\tintVal = parseInt(value, 10);\n\t\t\t\tfloatVal = parseFloat(value);\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0077 LATIN SMALL LETTER W character\n\t\t\t\tif (regexNonNegativeInteger.test(value) && (lastChar === \"w\")) {\n\n\t\t\t\t\t// If width and density are not both absent, then let error be yes.\n\t\t\t\t\tif (w || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes.\n\t\t\t\t\t// Otherwise, let width be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {w = intVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid floating-point number followed by\n\t\t\t\t\t// a U+0078 LATIN SMALL LETTER X character\n\t\t\t\t} else if (regexFloatingPoint.test(value) && (lastChar === \"x\")) {\n\n\t\t\t\t\t// If width, density and future-compat-h are not all absent, then let error\n\t\t\t\t\t// be yes.\n\t\t\t\t\tif (w || d || h) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing floating-point number values to the descriptor.\n\t\t\t\t\t// If the result is less than zero, let error be yes. Otherwise, let density\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (floatVal < 0) {pError = true;} else {d = floatVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t\t// a U+0068 LATIN SMALL LETTER H character\n\t\t\t\t} else if (regexNonNegativeInteger.test(value) && (lastChar === \"h\")) {\n\n\t\t\t\t\t// If height and density are not both absent, then let error be yes.\n\t\t\t\t\tif (h || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes. Otherwise, let future-compat-h\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {h = intVal;}\n\n\t\t\t\t\t// Anything else, Let error be yes.\n\t\t\t\t} else {pError = true;}\n\t\t\t} // (close step 13 for loop)\n\n\t\t\t// 15. If error is still no, then append a new image source to candidates whose\n\t\t\t// URL is url, associated with a width width if not absent and a pixel\n\t\t\t// density density if not absent. Otherwise, there is a parse error.\n\t\t\tif (!pError) {\n\t\t\t\tcandidate.url = url;\n\t\t\t\tif (w) { candidate.w = w;}\n\t\t\t\tif (d) { candidate.d = d;}\n\t\t\t\tif (h) { candidate.h = h;}\n\t\t\t\tcandidates.push(candidate);\n\t\t\t} else if (console && console.log) {\n\t\t\t\tconsole.log(\"Invalid srcset descriptor found in '\" +\n\t\t\t\t\tinput + \"' at '\" + desc + \"'.\");\n\t\t\t}\n\t\t} // (close parseDescriptors fn)\n\n\t}\n}));\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","'use strict'\n\nlet pico = require('picocolors')\n\nlet terminalHighlight = require('./terminal-highlight')\n\nclass CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin) {\n super(message)\n this.name = 'CssSyntaxError'\n this.reason = message\n\n if (file) {\n this.file = file\n }\n if (source) {\n this.source = source\n }\n if (plugin) {\n this.plugin = plugin\n }\n if (typeof line !== 'undefined' && typeof column !== 'undefined') {\n if (typeof line === 'number') {\n this.line = line\n this.column = column\n } else {\n this.line = line.line\n this.column = line.column\n this.endLine = column.line\n this.endColumn = column.column\n }\n }\n\n this.setMessage()\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError)\n }\n }\n\n setMessage() {\n this.message = this.plugin ? this.plugin + ': ' : ''\n this.message += this.file ? this.file : '<css input>'\n if (typeof this.line !== 'undefined') {\n this.message += ':' + this.line + ':' + this.column\n }\n this.message += ': ' + this.reason\n }\n\n showSourceCode(color) {\n if (!this.source) return ''\n\n let css = this.source\n if (color == null) color = pico.isColorSupported\n if (terminalHighlight) {\n if (color) css = terminalHighlight(css)\n }\n\n let lines = css.split(/\\r?\\n/)\n let start = Math.max(this.line - 3, 0)\n let end = Math.min(this.line + 2, lines.length)\n\n let maxWidth = String(end).length\n\n let mark, aside\n if (color) {\n let { bold, gray, red } = pico.createColors(true)\n mark = text => bold(red(text))\n aside = text => gray(text)\n } else {\n mark = aside = str => str\n }\n\n return lines\n .slice(start, end)\n .map((line, index) => {\n let number = start + 1 + index\n let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '\n if (number === this.line) {\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line.slice(0, this.column - 1).replace(/[^\\t]/g, ' ')\n return mark('>') + aside(gutter) + line + '\\n ' + spacing + mark('^')\n }\n return ' ' + aside(gutter) + line\n })\n .join('\\n')\n }\n\n toString() {\n let code = this.showSourceCode()\n if (code) {\n code = '\\n\\n' + code + '\\n'\n }\n return this.name + ': ' + this.message + code\n }\n}\n\nmodule.exports = CssSyntaxError\nCssSyntaxError.default = CssSyntaxError\n","'use strict'\n\nmodule.exports.isClean = Symbol('isClean')\n\nmodule.exports.my = Symbol('my')\n","'use strict'\n\nconst DEFAULT_RAW = {\n after: '\\n',\n beforeClose: '\\n',\n beforeComment: '\\n',\n beforeDecl: '\\n',\n beforeOpen: ' ',\n beforeRule: '\\n',\n colon: ': ',\n commentLeft: ' ',\n commentRight: ' ',\n emptyBody: '',\n indent: ' ',\n semicolon: false\n}\n\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1)\n}\n\nclass Stringifier {\n constructor(builder) {\n this.builder = builder\n }\n\n atrule(node, semicolon) {\n let name = '@' + node.name\n let params = node.params ? this.rawValue(node, 'params') : ''\n\n if (typeof node.raws.afterName !== 'undefined') {\n name += node.raws.afterName\n } else if (params) {\n name += ' '\n }\n\n if (node.nodes) {\n this.block(node, name + params)\n } else {\n let end = (node.raws.between || '') + (semicolon ? ';' : '')\n this.builder(name + params + end, node)\n }\n }\n\n beforeAfter(node, detect) {\n let value\n if (node.type === 'decl') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (node.type === 'comment') {\n value = this.raw(node, null, 'beforeComment')\n } else if (detect === 'before') {\n value = this.raw(node, null, 'beforeRule')\n } else {\n value = this.raw(node, null, 'beforeClose')\n }\n\n let buf = node.parent\n let depth = 0\n while (buf && buf.type !== 'root') {\n depth += 1\n buf = buf.parent\n }\n\n if (value.includes('\\n')) {\n let indent = this.raw(node, null, 'indent')\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent\n }\n }\n\n return value\n }\n\n block(node, start) {\n let between = this.raw(node, 'between', 'beforeOpen')\n this.builder(start + between + '{', node, 'start')\n\n let after\n if (node.nodes && node.nodes.length) {\n this.body(node)\n after = this.raw(node, 'after')\n } else {\n after = this.raw(node, 'after', 'emptyBody')\n }\n\n if (after) this.builder(after)\n this.builder('}', node, 'end')\n }\n\n body(node) {\n let last = node.nodes.length - 1\n while (last > 0) {\n if (node.nodes[last].type !== 'comment') break\n last -= 1\n }\n\n let semicolon = this.raw(node, 'semicolon')\n for (let i = 0; i < node.nodes.length; i++) {\n let child = node.nodes[i]\n let before = this.raw(child, 'before')\n if (before) this.builder(before)\n this.stringify(child, last !== i || semicolon)\n }\n }\n\n comment(node) {\n let left = this.raw(node, 'left', 'commentLeft')\n let right = this.raw(node, 'right', 'commentRight')\n this.builder('/*' + left + node.text + right + '*/', node)\n }\n\n decl(node, semicolon) {\n let between = this.raw(node, 'between', 'colon')\n let string = node.prop + between + this.rawValue(node, 'value')\n\n if (node.important) {\n string += node.raws.important || ' !important'\n }\n\n if (semicolon) string += ';'\n this.builder(string, node)\n }\n\n document(node) {\n this.body(node)\n }\n\n raw(node, own, detect) {\n let value\n if (!detect) detect = own\n\n // Already had\n if (own) {\n value = node.raws[own]\n if (typeof value !== 'undefined') return value\n }\n\n let parent = node.parent\n\n if (detect === 'before') {\n // Hack for first rule in CSS\n if (!parent || (parent.type === 'root' && parent.first === node)) {\n return ''\n }\n\n // `root` nodes in `document` should use only their own raws\n if (parent && parent.type === 'document') {\n return ''\n }\n }\n\n // Floating child without parent\n if (!parent) return DEFAULT_RAW[detect]\n\n // Detect style by other nodes\n let root = node.root()\n if (!root.rawCache) root.rawCache = {}\n if (typeof root.rawCache[detect] !== 'undefined') {\n return root.rawCache[detect]\n }\n\n if (detect === 'before' || detect === 'after') {\n return this.beforeAfter(node, detect)\n } else {\n let method = 'raw' + capitalize(detect)\n if (this[method]) {\n value = this[method](root, node)\n } else {\n root.walk(i => {\n value = i.raws[own]\n if (typeof value !== 'undefined') return false\n })\n }\n }\n\n if (typeof value === 'undefined') value = DEFAULT_RAW[detect]\n\n root.rawCache[detect] = value\n return value\n }\n\n rawBeforeClose(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length > 0) {\n if (typeof i.raws.after !== 'undefined') {\n value = i.raws.after\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawBeforeComment(root, node) {\n let value\n root.walkComments(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeDecl(root, node) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeRule')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeOpen(root) {\n let value\n root.walk(i => {\n if (i.type !== 'decl') {\n value = i.raws.between\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawBeforeRule(root) {\n let value\n root.walk(i => {\n if (i.nodes && (i.parent !== root || root.first !== i)) {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawColon(root) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.between !== 'undefined') {\n value = i.raws.between.replace(/[^\\s:]/g, '')\n return false\n }\n })\n return value\n }\n\n rawEmptyBody(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length === 0) {\n value = i.raws.after\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawIndent(root) {\n if (root.raws.indent) return root.raws.indent\n let value\n root.walk(i => {\n let p = i.parent\n if (p && p !== root && p.parent && p.parent === root) {\n if (typeof i.raws.before !== 'undefined') {\n let parts = i.raws.before.split('\\n')\n value = parts[parts.length - 1]\n value = value.replace(/\\S/g, '')\n return false\n }\n }\n })\n return value\n }\n\n rawSemicolon(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length && i.last.type === 'decl') {\n value = i.raws.semicolon\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawValue(node, prop) {\n let value = node[prop]\n let raw = node.raws[prop]\n if (raw && raw.value === value) {\n return raw.raw\n }\n\n return value\n }\n\n root(node) {\n this.body(node)\n if (node.raws.after) this.builder(node.raws.after)\n }\n\n rule(node) {\n this.block(node, this.rawValue(node, 'selector'))\n if (node.raws.ownSemicolon) {\n this.builder(node.raws.ownSemicolon, node, 'end')\n }\n }\n\n stringify(node, semicolon) {\n /* c8 ignore start */\n if (!this[node.type]) {\n throw new Error(\n 'Unknown AST node type ' +\n node.type +\n '. ' +\n 'Maybe you need to change PostCSS stringifier.'\n )\n }\n /* c8 ignore stop */\n this[node.type](node, semicolon)\n }\n}\n\nmodule.exports = Stringifier\nStringifier.default = Stringifier\n","'use strict'\n\nlet Stringifier = require('./stringifier')\n\nfunction stringify(node, builder) {\n let str = new Stringifier(builder)\n str.stringify(node)\n}\n\nmodule.exports = stringify\nstringify.default = stringify\n","'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet CssSyntaxError = require('./css-syntax-error')\nlet Stringifier = require('./stringifier')\nlet stringify = require('./stringify')\n\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor()\n\n for (let i in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n /* c8 ignore next 2 */\n continue\n }\n if (i === 'proxyCache') continue\n let value = obj[i]\n let type = typeof value\n\n if (i === 'parent' && type === 'object') {\n if (parent) cloned[i] = parent\n } else if (i === 'source') {\n cloned[i] = value\n } else if (Array.isArray(value)) {\n cloned[i] = value.map(j => cloneNode(j, cloned))\n } else {\n if (type === 'object' && value !== null) value = cloneNode(value)\n cloned[i] = value\n }\n }\n\n return cloned\n}\n\nclass Node {\n constructor(defaults = {}) {\n this.raws = {}\n this[isClean] = false\n this[my] = true\n\n for (let name in defaults) {\n if (name === 'nodes') {\n this.nodes = []\n for (let node of defaults[name]) {\n if (typeof node.clone === 'function') {\n this.append(node.clone())\n } else {\n this.append(node)\n }\n }\n } else {\n this[name] = defaults[name]\n }\n }\n }\n\n addToError(error) {\n error.postcssNode = this\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s = this.source\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s.input.from}:${s.start.line}:${s.start.column}$&`\n )\n }\n return error\n }\n\n after(add) {\n this.parent.insertAfter(this, add)\n return this\n }\n\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name]\n }\n return this\n }\n\n before(add) {\n this.parent.insertBefore(this, add)\n return this\n }\n\n cleanRaws(keepBetween) {\n delete this.raws.before\n delete this.raws.after\n if (!keepBetween) delete this.raws.between\n }\n\n clone(overrides = {}) {\n let cloned = cloneNode(this)\n for (let name in overrides) {\n cloned[name] = overrides[name]\n }\n return cloned\n }\n\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertAfter(this, cloned)\n return cloned\n }\n\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertBefore(this, cloned)\n return cloned\n }\n\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts)\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n )\n }\n return new CssSyntaxError(message)\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (\n prop === 'prop' ||\n prop === 'value' ||\n prop === 'name' ||\n prop === 'params' ||\n prop === 'important' ||\n /* c8 ignore next */\n prop === 'text'\n ) {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n markDirty() {\n if (this[isClean]) {\n this[isClean] = false\n let next = this\n while ((next = next.parent)) {\n next[isClean] = false\n }\n }\n }\n\n next() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index + 1]\n }\n\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation)\n } else if (opts.word) {\n stringRepresentation = this.toString()\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) pos = this.positionInside(index, stringRepresentation)\n }\n return pos\n }\n\n positionInside(index, stringRepresentation) {\n let string = stringRepresentation || this.toString()\n let column = this.source.start.column\n let line = this.source.start.line\n\n for (let i = 0; i < index; i++) {\n if (string[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return { column, line }\n }\n\n prev() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index - 1]\n }\n\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n }\n let end = this.source.end\n ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n }\n : {\n column: start.column + 1,\n line: start.line\n }\n\n if (opts.word) {\n let stringRepresentation = this.toString()\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) {\n start = this.positionInside(index, stringRepresentation)\n end = this.positionInside(index + opts.word.length, stringRepresentation)\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n }\n } else if (opts.index) {\n start = this.positionInside(opts.index)\n }\n\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n }\n } else if (typeof opts.endIndex === 'number') {\n end = this.positionInside(opts.endIndex)\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1)\n }\n }\n\n if (\n end.line < start.line ||\n (end.line === start.line && end.column <= start.column)\n ) {\n end = { column: start.column + 1, line: start.line }\n }\n\n return { end, start }\n }\n\n raw(prop, defaultType) {\n let str = new Stringifier()\n return str.raw(this, prop, defaultType)\n }\n\n remove() {\n if (this.parent) {\n this.parent.removeChild(this)\n }\n this.parent = undefined\n return this\n }\n\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this\n let foundSelf = false\n for (let node of nodes) {\n if (node === this) {\n foundSelf = true\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node)\n bookmark = node\n } else {\n this.parent.insertBefore(bookmark, node)\n }\n }\n\n if (!foundSelf) {\n this.remove()\n }\n }\n\n return this\n }\n\n root() {\n let result = this\n while (result.parent && result.parent.type !== 'document') {\n result = result.parent\n }\n return result\n }\n\n toJSON(_, inputs) {\n let fixed = {}\n let emitInputs = inputs == null\n inputs = inputs || new Map()\n let inputsNextIndex = 0\n\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n /* c8 ignore next 2 */\n continue\n }\n if (name === 'parent' || name === 'proxyCache') continue\n let value = this[name]\n\n if (Array.isArray(value)) {\n fixed[name] = value.map(i => {\n if (typeof i === 'object' && i.toJSON) {\n return i.toJSON(null, inputs)\n } else {\n return i\n }\n })\n } else if (typeof value === 'object' && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs)\n } else if (name === 'source') {\n let inputId = inputs.get(value.input)\n if (inputId == null) {\n inputId = inputsNextIndex\n inputs.set(value.input, inputsNextIndex)\n inputsNextIndex++\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n }\n } else {\n fixed[name] = value\n }\n }\n\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map(input => input.toJSON())\n }\n\n return fixed\n }\n\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor())\n }\n return this.proxyCache\n }\n\n toString(stringifier = stringify) {\n if (stringifier.stringify) stringifier = stringifier.stringify\n let result = ''\n stringifier(this, i => {\n result += i\n })\n return result\n }\n\n warn(result, text, opts) {\n let data = { node: this }\n for (let i in opts) data[i] = opts[i]\n return result.warn(text, data)\n }\n\n get proxyOf() {\n return this\n }\n}\n\nmodule.exports = Node\nNode.default = Node\n","'use strict'\n\nlet Node = require('./node')\n\nclass Declaration extends Node {\n constructor(defaults) {\n if (\n defaults &&\n typeof defaults.value !== 'undefined' &&\n typeof defaults.value !== 'string'\n ) {\n defaults = { ...defaults, value: String(defaults.value) }\n }\n super(defaults)\n this.type = 'decl'\n }\n\n get variable() {\n return this.prop.startsWith('--') || this.prop[0] === '$'\n }\n}\n\nmodule.exports = Declaration\nDeclaration.default = Declaration\n","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nmodule.exports = { nanoid, customAlphabet }\n","'use strict'\n\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { existsSync, readFileSync } = require('fs')\nlet { dirname, join } = require('path')\n\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, 'base64').toString()\n } else {\n /* c8 ignore next 2 */\n return window.atob(str)\n }\n}\n\nclass PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return\n this.loadAnnotation(css)\n this.inline = this.startWith(this.annotation, 'data:')\n\n let prev = opts.map ? opts.map.prev : undefined\n let text = this.loadMap(opts.from, prev)\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from\n }\n if (this.mapFile) this.root = dirname(this.mapFile)\n if (text) this.text = text\n }\n\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer(this.text)\n }\n return this.consumerCache\n }\n\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/\n let baseUri = /^data:application\\/json;base64,/\n let charsetUri = /^data:application\\/json;charset=utf-?8,/\n let uri = /^data:application\\/json,/\n\n if (charsetUri.test(text) || uri.test(text)) {\n return decodeURIComponent(text.substr(RegExp.lastMatch.length))\n }\n\n if (baseCharsetUri.test(text) || baseUri.test(text)) {\n return fromBase64(text.substr(RegExp.lastMatch.length))\n }\n\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1]\n throw new Error('Unsupported source map encoding ' + encoding)\n }\n\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, '').trim()\n }\n\n isMap(map) {\n if (typeof map !== 'object') return false\n return (\n typeof map.mappings === 'string' ||\n typeof map._mappings === 'string' ||\n Array.isArray(map.sections)\n )\n }\n\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/gm)\n if (!comments) return\n\n // sourceMappingURLs from comments, strings, etc.\n let start = css.lastIndexOf(comments.pop())\n let end = css.indexOf('*/', start)\n\n if (start > -1 && end > -1) {\n // Locate the last sourceMappingURL to avoid pickin\n this.annotation = this.getAnnotationURL(css.substring(start, end))\n }\n }\n\n loadFile(path) {\n this.root = dirname(path)\n if (existsSync(path)) {\n this.mapFile = path\n return readFileSync(path, 'utf-8').toString().trim()\n }\n }\n\n loadMap(file, prev) {\n if (prev === false) return false\n\n if (prev) {\n if (typeof prev === 'string') {\n return prev\n } else if (typeof prev === 'function') {\n let prevPath = prev(file)\n if (prevPath) {\n let map = this.loadFile(prevPath)\n if (!map) {\n throw new Error(\n 'Unable to load previous source map: ' + prevPath.toString()\n )\n }\n return map\n }\n } else if (prev instanceof SourceMapConsumer) {\n return SourceMapGenerator.fromSourceMap(prev).toString()\n } else if (prev instanceof SourceMapGenerator) {\n return prev.toString()\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev)\n } else {\n throw new Error(\n 'Unsupported previous source map format: ' + prev.toString()\n )\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation)\n } else if (this.annotation) {\n let map = this.annotation\n if (file) map = join(dirname(file), map)\n return this.loadFile(map)\n }\n }\n\n startWith(string, start) {\n if (!string) return false\n return string.substr(0, start.length) === start\n }\n\n withContent() {\n return !!(\n this.consumer().sourcesContent &&\n this.consumer().sourcesContent.length > 0\n )\n }\n}\n\nmodule.exports = PreviousMap\nPreviousMap.default = PreviousMap\n","'use strict'\n\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { fileURLToPath, pathToFileURL } = require('url')\nlet { isAbsolute, resolve } = require('path')\nlet { nanoid } = require('nanoid/non-secure')\n\nlet terminalHighlight = require('./terminal-highlight')\nlet CssSyntaxError = require('./css-syntax-error')\nlet PreviousMap = require('./previous-map')\n\nlet fromOffsetCache = Symbol('fromOffsetCache')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(resolve && isAbsolute)\n\nclass Input {\n constructor(css, opts = {}) {\n if (\n css === null ||\n typeof css === 'undefined' ||\n (typeof css === 'object' && !css.toString)\n ) {\n throw new Error(`PostCSS received ${css} instead of CSS string`)\n }\n\n this.css = css.toString()\n\n if (this.css[0] === '\\uFEFF' || this.css[0] === '\\uFFFE') {\n this.hasBOM = true\n this.css = this.css.slice(1)\n } else {\n this.hasBOM = false\n }\n\n if (opts.from) {\n if (\n !pathAvailable ||\n /^\\w+:\\/\\//.test(opts.from) ||\n isAbsolute(opts.from)\n ) {\n this.file = opts.from\n } else {\n this.file = resolve(opts.from)\n }\n }\n\n if (pathAvailable && sourceMapAvailable) {\n let map = new PreviousMap(this.css, opts)\n if (map.text) {\n this.map = map\n let file = map.consumer().file\n if (!this.file && file) this.file = this.mapResolve(file)\n }\n }\n\n if (!this.file) {\n this.id = '<input css ' + nanoid(6) + '>'\n }\n if (this.map) this.map.file = this.from\n }\n\n error(message, line, column, opts = {}) {\n let result, endLine, endColumn\n\n if (line && typeof line === 'object') {\n let start = line\n let end = column\n if (typeof start.offset === 'number') {\n let pos = this.fromOffset(start.offset)\n line = pos.line\n column = pos.col\n } else {\n line = start.line\n column = start.column\n }\n if (typeof end.offset === 'number') {\n let pos = this.fromOffset(end.offset)\n endLine = pos.line\n endColumn = pos.col\n } else {\n endLine = end.line\n endColumn = end.column\n }\n } else if (!column) {\n let pos = this.fromOffset(line)\n line = pos.line\n column = pos.col\n }\n\n let origin = this.origin(line, column, endLine, endColumn)\n if (origin) {\n result = new CssSyntaxError(\n message,\n origin.endLine === undefined\n ? origin.line\n : { column: origin.column, line: origin.line },\n origin.endLine === undefined\n ? origin.column\n : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n )\n } else {\n result = new CssSyntaxError(\n message,\n endLine === undefined ? line : { column, line },\n endLine === undefined ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n )\n }\n\n result.input = { column, endColumn, endLine, line, source: this.css }\n if (this.file) {\n if (pathToFileURL) {\n result.input.url = pathToFileURL(this.file).toString()\n }\n result.input.file = this.file\n }\n\n return result\n }\n\n fromOffset(offset) {\n let lastLine, lineToIndex\n if (!this[fromOffsetCache]) {\n let lines = this.css.split('\\n')\n lineToIndex = new Array(lines.length)\n let prevIndex = 0\n\n for (let i = 0, l = lines.length; i < l; i++) {\n lineToIndex[i] = prevIndex\n prevIndex += lines[i].length + 1\n }\n\n this[fromOffsetCache] = lineToIndex\n } else {\n lineToIndex = this[fromOffsetCache]\n }\n lastLine = lineToIndex[lineToIndex.length - 1]\n\n let min = 0\n if (offset >= lastLine) {\n min = lineToIndex.length - 1\n } else {\n let max = lineToIndex.length - 2\n let mid\n while (min < max) {\n mid = min + ((max - min) >> 1)\n if (offset < lineToIndex[mid]) {\n max = mid - 1\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1\n } else {\n min = mid\n break\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n }\n }\n\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file\n }\n return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)\n }\n\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false\n let consumer = this.map.consumer()\n\n let from = consumer.originalPositionFor({ column, line })\n if (!from.source) return false\n\n let to\n if (typeof endLine === 'number') {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine })\n }\n\n let fromUrl\n\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL(from.source)\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)\n )\n }\n\n let result = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n }\n\n if (fromUrl.protocol === 'file:') {\n if (fileURLToPath) {\n result.file = fileURLToPath(fromUrl)\n } else {\n /* c8 ignore next 2 */\n throw new Error(`file: protocol is not available in this PostCSS build`)\n }\n }\n\n let source = consumer.sourceContentFor(from.source)\n if (source) result.source = source\n\n return result\n }\n\n toJSON() {\n let json = {}\n for (let name of ['hasBOM', 'css', 'file', 'id']) {\n if (this[name] != null) {\n json[name] = this[name]\n }\n }\n if (this.map) {\n json.map = { ...this.map }\n if (json.map.consumerCache) {\n json.map.consumerCache = undefined\n }\n }\n return json\n }\n\n get from() {\n return this.file || this.id\n }\n}\n\nmodule.exports = Input\nInput.default = Input\n\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input)\n}\n","'use strict'\n\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { dirname, relative, resolve, sep } = require('path')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.originalCSS = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n\n this.memoizedFileURLs = new Map()\n this.memoizedPaths = new Map()\n this.memoizedURLs = new Map()\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = null\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.indexOf('# sourceMappingURL=') === 0) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*?\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n })\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n\n let line = 1\n let column = 1\n\n let noSource = '<no source>'\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: ''\n }\n\n let lines, last\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n path(file) {\n if (this.mapOpts.absolute) return file\n if (file.charCodeAt(0) === 60 /* `<` */) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n let cached = this.memoizedPaths.get(file)\n if (cached) return cached\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n let path = relative(from, file)\n this.memoizedPaths.set(file, path)\n\n return path\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.originalCSS, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : '<no source>'\n this.map.setSourceContent(from, this.css)\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path)\n if (cached) return cached\n\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString()\n this.memoizedFileURLs.set(path, fileURL)\n\n return fileURL\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n toUrl(path) {\n let cached = this.memoizedURLs.get(path)\n if (cached) return cached\n\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n this.memoizedURLs.set(path, url)\n\n return url\n }\n}\n\nmodule.exports = MapGenerator\n","'use strict'\n\nlet Node = require('./node')\n\nclass Comment extends Node {\n constructor(defaults) {\n super(defaults)\n this.type = 'comment'\n }\n}\n\nmodule.exports = Comment\nComment.default = Comment\n","'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet Declaration = require('./declaration')\nlet Comment = require('./comment')\nlet Node = require('./node')\n\nlet parse, Rule, AtRule, Root\n\nfunction cleanSource(nodes) {\n return nodes.map(i => {\n if (i.nodes) i.nodes = cleanSource(i.nodes)\n delete i.source\n return i\n })\n}\n\nfunction markDirtyUp(node) {\n node[isClean] = false\n if (node.proxyOf.nodes) {\n for (let i of node.proxyOf.nodes) {\n markDirtyUp(i)\n }\n }\n}\n\nclass Container extends Node {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last)\n for (let node of nodes) this.proxyOf.nodes.push(node)\n }\n\n this.markDirty()\n\n return this\n }\n\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween)\n if (this.nodes) {\n for (let node of this.nodes) node.cleanRaws(keepBetween)\n }\n }\n\n each(callback) {\n if (!this.proxyOf.nodes) return undefined\n let iterator = this.getIterator()\n\n let index, result\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index = this.indexes[iterator]\n result = callback(this.proxyOf.nodes[index], index)\n if (result === false) break\n\n this.indexes[iterator] += 1\n }\n\n delete this.indexes[iterator]\n return result\n }\n\n every(condition) {\n return this.nodes.every(condition)\n }\n\n getIterator() {\n if (!this.lastEach) this.lastEach = 0\n if (!this.indexes) this.indexes = {}\n\n this.lastEach += 1\n let iterator = this.lastEach\n this.indexes[iterator] = 0\n\n return iterator\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (!node[prop]) {\n return node[prop]\n } else if (\n prop === 'each' ||\n (typeof prop === 'string' && prop.startsWith('walk'))\n ) {\n return (...args) => {\n return node[prop](\n ...args.map(i => {\n if (typeof i === 'function') {\n return (child, index) => i(child.toProxy(), index)\n } else {\n return i\n }\n })\n )\n }\n } else if (prop === 'every' || prop === 'some') {\n return cb => {\n return node[prop]((child, ...other) =>\n cb(child.toProxy(), ...other)\n )\n }\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else if (prop === 'nodes') {\n return node.nodes.map(i => i.toProxy())\n } else if (prop === 'first' || prop === 'last') {\n return node[prop].toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (prop === 'name' || prop === 'params' || prop === 'selector') {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n index(child) {\n if (typeof child === 'number') return child\n if (child.proxyOf) child = child.proxyOf\n return this.proxyOf.nodes.indexOf(child)\n }\n\n insertAfter(exist, add) {\n let existIndex = this.index(exist)\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex < index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n insertBefore(exist, add) {\n let existIndex = this.index(exist)\n let type = existIndex === 0 ? 'prepend' : false\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex], type).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex <= index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n normalize(nodes, sample) {\n if (typeof nodes === 'string') {\n nodes = cleanSource(parse(nodes).nodes)\n } else if (typeof nodes === 'undefined') {\n nodes = []\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type === 'root' && this.type !== 'document') {\n nodes = nodes.nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type) {\n nodes = [nodes]\n } else if (nodes.prop) {\n if (typeof nodes.value === 'undefined') {\n throw new Error('Value field is missed in node creation')\n } else if (typeof nodes.value !== 'string') {\n nodes.value = String(nodes.value)\n }\n nodes = [new Declaration(nodes)]\n } else if (nodes.selector) {\n nodes = [new Rule(nodes)]\n } else if (nodes.name) {\n nodes = [new AtRule(nodes)]\n } else if (nodes.text) {\n nodes = [new Comment(nodes)]\n } else {\n throw new Error('Unknown node type in node creation')\n }\n\n let processed = nodes.map(i => {\n /* c8 ignore next */\n if (!i[my]) Container.rebuild(i)\n i = i.proxyOf\n if (i.parent) i.parent.removeChild(i)\n if (i[isClean]) markDirtyUp(i)\n if (typeof i.raws.before === 'undefined') {\n if (sample && typeof sample.raws.before !== 'undefined') {\n i.raws.before = sample.raws.before.replace(/\\S/g, '')\n }\n }\n i.parent = this.proxyOf\n return i\n })\n\n return processed\n }\n\n prepend(...children) {\n children = children.reverse()\n for (let child of children) {\n let nodes = this.normalize(child, this.first, 'prepend').reverse()\n for (let node of nodes) this.proxyOf.nodes.unshift(node)\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n push(child) {\n child.parent = this\n this.proxyOf.nodes.push(child)\n return this\n }\n\n removeAll() {\n for (let node of this.proxyOf.nodes) node.parent = undefined\n this.proxyOf.nodes = []\n\n this.markDirty()\n\n return this\n }\n\n removeChild(child) {\n child = this.index(child)\n this.proxyOf.nodes[child].parent = undefined\n this.proxyOf.nodes.splice(child, 1)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (index >= child) {\n this.indexes[id] = index - 1\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts\n opts = {}\n }\n\n this.walkDecls(decl => {\n if (opts.props && !opts.props.includes(decl.prop)) return\n if (opts.fast && !decl.value.includes(opts.fast)) return\n\n decl.value = decl.value.replace(pattern, callback)\n })\n\n this.markDirty()\n\n return this\n }\n\n some(condition) {\n return this.nodes.some(condition)\n }\n\n walk(callback) {\n return this.each((child, i) => {\n let result\n try {\n result = callback(child, i)\n } catch (e) {\n throw child.addToError(e)\n }\n if (result !== false && child.walk) {\n result = child.walk(callback)\n }\n\n return result\n })\n }\n\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name\n return this.walk((child, i) => {\n if (child.type === 'atrule') {\n return callback(child, i)\n }\n })\n }\n if (name instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'atrule' && name.test(child.name)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'atrule' && child.name === name) {\n return callback(child, i)\n }\n })\n }\n\n walkComments(callback) {\n return this.walk((child, i) => {\n if (child.type === 'comment') {\n return callback(child, i)\n }\n })\n }\n\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop\n return this.walk((child, i) => {\n if (child.type === 'decl') {\n return callback(child, i)\n }\n })\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'decl' && prop.test(child.prop)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'decl' && child.prop === prop) {\n return callback(child, i)\n }\n })\n }\n\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector\n\n return this.walk((child, i) => {\n if (child.type === 'rule') {\n return callback(child, i)\n }\n })\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'rule' && selector.test(child.selector)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'rule' && child.selector === selector) {\n return callback(child, i)\n }\n })\n }\n\n get first() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[0]\n }\n\n get last() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n }\n}\n\nContainer.registerParse = dependant => {\n parse = dependant\n}\n\nContainer.registerRule = dependant => {\n Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n if (node.type === 'atrule') {\n Object.setPrototypeOf(node, AtRule.prototype)\n } else if (node.type === 'rule') {\n Object.setPrototypeOf(node, Rule.prototype)\n } else if (node.type === 'decl') {\n Object.setPrototypeOf(node, Declaration.prototype)\n } else if (node.type === 'comment') {\n Object.setPrototypeOf(node, Comment.prototype)\n } else if (node.type === 'root') {\n Object.setPrototypeOf(node, Root.prototype)\n }\n\n node[my] = true\n\n if (node.nodes) {\n node.nodes.forEach(child => {\n Container.rebuild(child)\n })\n }\n}\n/* c8 ignore stop */\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Document extends Container {\n constructor(defaults) {\n // type needs to be passed to super, otherwise child roots won't be normalized correctly\n super({ type: 'document', ...defaults })\n\n if (!this.nodes) {\n this.nodes = []\n }\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n\n return lazy.stringify()\n }\n}\n\nDocument.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nDocument.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Document\nDocument.default = Document\n","'use strict'\n\nclass Warning {\n constructor(text, opts = {}) {\n this.type = 'warning'\n this.text = text\n\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts)\n this.line = range.start.line\n this.column = range.start.column\n this.endLine = range.end.line\n this.endColumn = range.end.column\n }\n\n for (let opt in opts) this[opt] = opts[opt]\n }\n\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message\n }\n\n if (this.plugin) {\n return this.plugin + ': ' + this.text\n }\n\n return this.text\n }\n}\n\nmodule.exports = Warning\nWarning.default = Warning\n","'use strict'\n\nlet Warning = require('./warning')\n\nclass Result {\n constructor(processor, root, opts) {\n this.processor = processor\n this.messages = []\n this.root = root\n this.opts = opts\n this.css = undefined\n this.map = undefined\n }\n\n toString() {\n return this.css\n }\n\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin\n }\n }\n\n let warning = new Warning(text, opts)\n this.messages.push(warning)\n\n return warning\n }\n\n warnings() {\n return this.messages.filter(i => i.type === 'warning')\n }\n\n get content() {\n return this.css\n }\n}\n\nmodule.exports = Result\nResult.default = Result\n","'use strict'\n\nconst SINGLE_QUOTE = \"'\".charCodeAt(0)\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0)\nconst BACKSLASH = '\\\\'.charCodeAt(0)\nconst SLASH = '/'.charCodeAt(0)\nconst NEWLINE = '\\n'.charCodeAt(0)\nconst SPACE = ' '.charCodeAt(0)\nconst FEED = '\\f'.charCodeAt(0)\nconst TAB = '\\t'.charCodeAt(0)\nconst CR = '\\r'.charCodeAt(0)\nconst OPEN_SQUARE = '['.charCodeAt(0)\nconst CLOSE_SQUARE = ']'.charCodeAt(0)\nconst OPEN_PARENTHESES = '('.charCodeAt(0)\nconst CLOSE_PARENTHESES = ')'.charCodeAt(0)\nconst OPEN_CURLY = '{'.charCodeAt(0)\nconst CLOSE_CURLY = '}'.charCodeAt(0)\nconst SEMICOLON = ';'.charCodeAt(0)\nconst ASTERISK = '*'.charCodeAt(0)\nconst COLON = ':'.charCodeAt(0)\nconst AT = '@'.charCodeAt(0)\n\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/\nconst RE_HEX_ESCAPE = /[\\da-f]/i\n\nmodule.exports = function tokenizer(input, options = {}) {\n let css = input.css.valueOf()\n let ignore = options.ignoreErrors\n\n let code, next, quote, content, escape\n let escaped, escapePos, prev, n, currentToken\n\n let length = css.length\n let pos = 0\n let buffer = []\n let returned = []\n\n function position() {\n return pos\n }\n\n function unclosed(what) {\n throw input.error('Unclosed ' + what, pos)\n }\n\n function endOfFile() {\n return returned.length === 0 && pos >= length\n }\n\n function nextToken(opts) {\n if (returned.length) return returned.pop()\n if (pos >= length) return\n\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false\n\n code = css.charCodeAt(pos)\n\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos\n do {\n next += 1\n code = css.charCodeAt(next)\n } while (\n code === SPACE ||\n code === NEWLINE ||\n code === TAB ||\n code === CR ||\n code === FEED\n )\n\n currentToken = ['space', css.slice(pos, next)]\n pos = next - 1\n break\n }\n\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code)\n currentToken = [controlChar, controlChar, pos]\n break\n }\n\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : ''\n n = css.charCodeAt(pos + 1)\n if (\n prev === 'url' &&\n n !== SINGLE_QUOTE &&\n n !== DOUBLE_QUOTE &&\n n !== SPACE &&\n n !== NEWLINE &&\n n !== TAB &&\n n !== FEED &&\n n !== CR\n ) {\n next = pos\n do {\n escaped = false\n next = css.indexOf(')', next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos\n break\n } else {\n unclosed('bracket')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['brackets', css.slice(pos, next + 1), pos, next]\n\n pos = next\n } else {\n next = css.indexOf(')', pos + 1)\n content = css.slice(pos, next + 1)\n\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = ['(', '(', pos]\n } else {\n currentToken = ['brackets', content, pos, next]\n pos = next\n }\n }\n\n break\n }\n\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"'\n next = pos\n do {\n escaped = false\n next = css.indexOf(quote, next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1\n break\n } else {\n unclosed('string')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['string', css.slice(pos, next + 1), pos, next]\n pos = next\n break\n }\n\n case AT: {\n RE_AT_END.lastIndex = pos + 1\n RE_AT_END.test(css)\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_AT_END.lastIndex - 2\n }\n\n currentToken = ['at-word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n case BACKSLASH: {\n next = pos\n escape = true\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1\n escape = !escape\n }\n code = css.charCodeAt(next + 1)\n if (\n escape &&\n code !== SLASH &&\n code !== SPACE &&\n code !== NEWLINE &&\n code !== TAB &&\n code !== CR &&\n code !== FEED\n ) {\n next += 1\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1\n }\n }\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf('*/', pos + 2) + 1\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length\n } else {\n unclosed('comment')\n }\n }\n\n currentToken = ['comment', css.slice(pos, next + 1), pos, next]\n pos = next\n } else {\n RE_WORD_END.lastIndex = pos + 1\n RE_WORD_END.test(css)\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_WORD_END.lastIndex - 2\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n buffer.push(currentToken)\n pos = next\n }\n\n break\n }\n }\n\n pos++\n return currentToken\n }\n\n function back(token) {\n returned.push(token)\n }\n\n return {\n back,\n endOfFile,\n nextToken,\n position\n }\n}\n","'use strict'\n\nlet Container = require('./container')\n\nclass AtRule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'atrule'\n }\n\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.append(...children)\n }\n\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.prepend(...children)\n }\n}\n\nmodule.exports = AtRule\nAtRule.default = AtRule\n\nContainer.registerAtRule(AtRule)\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Root extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'root'\n if (!this.nodes) this.nodes = []\n }\n\n normalize(child, sample, type) {\n let nodes = super.normalize(child)\n\n if (sample) {\n if (type === 'prepend') {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before\n } else {\n delete sample.raws.before\n }\n } else if (this.first !== sample) {\n for (let node of nodes) {\n node.raws.before = sample.raws.before\n }\n }\n }\n\n return nodes\n }\n\n removeChild(child, ignore) {\n let index = this.index(child)\n\n if (!ignore && index === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index].raws.before\n }\n\n return super.removeChild(child)\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n return lazy.stringify()\n }\n}\n\nRoot.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nRoot.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Root\nRoot.default = Root\n\nContainer.registerRoot(Root)\n","'use strict'\n\nlet list = {\n comma(string) {\n return list.split(string, [','], true)\n },\n\n space(string) {\n let spaces = [' ', '\\n', '\\t']\n return list.split(string, spaces)\n },\n\n split(string, separators, last) {\n let array = []\n let current = ''\n let split = false\n\n let func = 0\n let inQuote = false\n let prevQuote = ''\n let escape = false\n\n for (let letter of string) {\n if (escape) {\n escape = false\n } else if (letter === '\\\\') {\n escape = true\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true\n prevQuote = letter\n } else if (letter === '(') {\n func += 1\n } else if (letter === ')') {\n if (func > 0) func -= 1\n } else if (func === 0) {\n if (separators.includes(letter)) split = true\n }\n\n if (split) {\n if (current !== '') array.push(current.trim())\n current = ''\n split = false\n } else {\n current += letter\n }\n }\n\n if (last || current !== '') array.push(current.trim())\n return array\n }\n}\n\nmodule.exports = list\nlist.default = list\n","'use strict'\n\nlet Container = require('./container')\nlet list = require('./list')\n\nclass Rule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'rule'\n if (!this.nodes) this.nodes = []\n }\n\n get selectors() {\n return list.comma(this.selector)\n }\n\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null\n let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')\n this.selector = values.join(sep)\n }\n}\n\nmodule.exports = Rule\nRule.default = Rule\n\nContainer.registerRule(Rule)\n","'use strict'\n\nlet Declaration = require('./declaration')\nlet tokenizer = require('./tokenize')\nlet Comment = require('./comment')\nlet AtRule = require('./at-rule')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n}\n\nfunction findLastWithPosition(tokens) {\n for (let i = tokens.length - 1; i >= 0; i--) {\n let token = tokens[i]\n let pos = token[3] || token[2]\n if (pos) return pos\n }\n}\n\nclass Parser {\n constructor(input) {\n this.input = input\n\n this.root = new Root()\n this.current = this.root\n this.spaces = ''\n this.semicolon = false\n\n this.createTokenizer()\n this.root.source = { input, start: { column: 1, line: 1, offset: 0 } }\n }\n\n atrule(token) {\n let node = new AtRule()\n node.name = token[1].slice(1)\n if (node.name === '') {\n this.unnamedAtrule(node, token)\n }\n this.init(node, token[2])\n\n let type\n let prev\n let shift\n let last = false\n let open = false\n let params = []\n let brackets = []\n\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n type = token[0]\n\n if (type === '(' || type === '[') {\n brackets.push(type === '(' ? ')' : ']')\n } else if (type === '{' && brackets.length > 0) {\n brackets.push('}')\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n }\n\n if (brackets.length === 0) {\n if (type === ';') {\n node.source.end = this.getPosition(token[2])\n node.source.end.offset++\n this.semicolon = true\n break\n } else if (type === '{') {\n open = true\n break\n } else if (type === '}') {\n if (params.length > 0) {\n shift = params.length - 1\n prev = params[shift]\n while (prev && prev[0] === 'space') {\n prev = params[--shift]\n }\n if (prev) {\n node.source.end = this.getPosition(prev[3] || prev[2])\n node.source.end.offset++\n }\n }\n this.end(token)\n break\n } else {\n params.push(token)\n }\n } else {\n params.push(token)\n }\n\n if (this.tokenizer.endOfFile()) {\n last = true\n break\n }\n }\n\n node.raws.between = this.spacesAndCommentsFromEnd(params)\n if (params.length) {\n node.raws.afterName = this.spacesAndCommentsFromStart(params)\n this.raw(node, 'params', params)\n if (last) {\n token = params[params.length - 1]\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n this.spaces = node.raws.between\n node.raws.between = ''\n }\n } else {\n node.raws.afterName = ''\n node.params = ''\n }\n\n if (open) {\n node.nodes = []\n this.current = node\n }\n }\n\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens)\n if (colon === false) return\n\n let founded = 0\n let token\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j]\n if (token[0] !== 'space') {\n founded += 1\n if (founded === 2) break\n }\n }\n // If the token is a word, e.g. `!important`, `red` or any other valid property's value.\n // Then we need to return the colon after that word token. [3] is the \"end\" colon of that word.\n // And because we need it after that one we do +1 to get the next one.\n throw this.input.error(\n 'Missed semicolon',\n token[0] === 'word' ? token[3] + 1 : token[2]\n )\n }\n\n colon(tokens) {\n let brackets = 0\n let token, type, prev\n for (let [i, element] of tokens.entries()) {\n token = element\n type = token[0]\n\n if (type === '(') {\n brackets += 1\n }\n if (type === ')') {\n brackets -= 1\n }\n if (brackets === 0 && type === ':') {\n if (!prev) {\n this.doubleColon(token)\n } else if (prev[0] === 'word' && prev[1] === 'progid') {\n continue\n } else {\n return i\n }\n }\n\n prev = token\n }\n return false\n }\n\n comment(token) {\n let node = new Comment()\n this.init(node, token[2])\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n\n let text = token[1].slice(2, -2)\n if (/^\\s*$/.test(text)) {\n node.text = ''\n node.raws.left = text\n node.raws.right = ''\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/)\n node.text = match[2]\n node.raws.left = match[1]\n node.raws.right = match[3]\n }\n }\n\n createTokenizer() {\n this.tokenizer = tokenizer(this.input)\n }\n\n decl(tokens, customProperty) {\n let node = new Declaration()\n this.init(node, tokens[0][2])\n\n let last = tokens[tokens.length - 1]\n if (last[0] === ';') {\n this.semicolon = true\n tokens.pop()\n }\n\n node.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n )\n node.source.end.offset++\n\n while (tokens[0][0] !== 'word') {\n if (tokens.length === 1) this.unknownWord(tokens)\n node.raws.before += tokens.shift()[1]\n }\n node.source.start = this.getPosition(tokens[0][2])\n\n node.prop = ''\n while (tokens.length) {\n let type = tokens[0][0]\n if (type === ':' || type === 'space' || type === 'comment') {\n break\n }\n node.prop += tokens.shift()[1]\n }\n\n node.raws.between = ''\n\n let token\n while (tokens.length) {\n token = tokens.shift()\n\n if (token[0] === ':') {\n node.raws.between += token[1]\n break\n } else {\n if (token[0] === 'word' && /\\w/.test(token[1])) {\n this.unknownWord([token])\n }\n node.raws.between += token[1]\n }\n }\n\n if (node.prop[0] === '_' || node.prop[0] === '*') {\n node.raws.before += node.prop[0]\n node.prop = node.prop.slice(1)\n }\n\n let firstSpaces = []\n let next\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n firstSpaces.push(tokens.shift())\n }\n\n this.precheckMissedSemicolon(tokens)\n\n for (let i = tokens.length - 1; i >= 0; i--) {\n token = tokens[i]\n if (token[1].toLowerCase() === '!important') {\n node.important = true\n let string = this.stringFrom(tokens, i)\n string = this.spacesFromEnd(tokens) + string\n if (string !== ' !important') node.raws.important = string\n break\n } else if (token[1].toLowerCase() === 'important') {\n let cache = tokens.slice(0)\n let str = ''\n for (let j = i; j > 0; j--) {\n let type = cache[j][0]\n if (str.trim().indexOf('!') === 0 && type !== 'space') {\n break\n }\n str = cache.pop()[1] + str\n }\n if (str.trim().indexOf('!') === 0) {\n node.important = true\n node.raws.important = str\n tokens = cache\n }\n }\n\n if (token[0] !== 'space' && token[0] !== 'comment') {\n break\n }\n }\n\n let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment')\n\n if (hasWord) {\n node.raws.between += firstSpaces.map(i => i[1]).join('')\n firstSpaces = []\n }\n this.raw(node, 'value', firstSpaces.concat(tokens), customProperty)\n\n if (node.value.includes(':') && !customProperty) {\n this.checkMissedSemicolon(tokens)\n }\n }\n\n doubleColon(token) {\n throw this.input.error(\n 'Double colon',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n\n emptyRule(token) {\n let node = new Rule()\n this.init(node, token[2])\n node.selector = ''\n node.raws.between = ''\n this.current = node\n }\n\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.semicolon = false\n\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.spaces = ''\n\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2])\n this.current.source.end.offset++\n this.current = this.current.parent\n } else {\n this.unexpectedClose(token)\n }\n }\n\n endFile() {\n if (this.current.parent) this.unclosedBlock()\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.root.source.end = this.getPosition(this.tokenizer.position())\n }\n\n freeSemicolon(token) {\n this.spaces += token[1]\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1]\n if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces\n this.spaces = ''\n }\n }\n }\n\n // Helpers\n\n getPosition(offset) {\n let pos = this.input.fromOffset(offset)\n return {\n column: pos.col,\n line: pos.line,\n offset\n }\n }\n\n init(node, offset) {\n this.current.push(node)\n node.source = {\n input: this.input,\n start: this.getPosition(offset)\n }\n node.raws.before = this.spaces\n this.spaces = ''\n if (node.type !== 'comment') this.semicolon = false\n }\n\n other(start) {\n let end = false\n let type = null\n let colon = false\n let bracket = null\n let brackets = []\n let customProperty = start[1].startsWith('--')\n\n let tokens = []\n let token = start\n while (token) {\n type = token[0]\n tokens.push(token)\n\n if (type === '(' || type === '[') {\n if (!bracket) bracket = token\n brackets.push(type === '(' ? ')' : ']')\n } else if (customProperty && colon && type === '{') {\n if (!bracket) bracket = token\n brackets.push('}')\n } else if (brackets.length === 0) {\n if (type === ';') {\n if (colon) {\n this.decl(tokens, customProperty)\n return\n } else {\n break\n }\n } else if (type === '{') {\n this.rule(tokens)\n return\n } else if (type === '}') {\n this.tokenizer.back(tokens.pop())\n end = true\n break\n } else if (type === ':') {\n colon = true\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n if (brackets.length === 0) bracket = null\n }\n\n token = this.tokenizer.nextToken()\n }\n\n if (this.tokenizer.endOfFile()) end = true\n if (brackets.length > 0) this.unclosedBracket(bracket)\n\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0]\n if (token !== 'space' && token !== 'comment') break\n this.tokenizer.back(tokens.pop())\n }\n }\n this.decl(tokens, customProperty)\n } else {\n this.unknownWord(tokens)\n }\n }\n\n parse() {\n let token\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n\n switch (token[0]) {\n case 'space':\n this.spaces += token[1]\n break\n\n case ';':\n this.freeSemicolon(token)\n break\n\n case '}':\n this.end(token)\n break\n\n case 'comment':\n this.comment(token)\n break\n\n case 'at-word':\n this.atrule(token)\n break\n\n case '{':\n this.emptyRule(token)\n break\n\n default:\n this.other(token)\n break\n }\n }\n this.endFile()\n }\n\n precheckMissedSemicolon(/* tokens */) {\n // Hook for Safe Parser\n }\n\n raw(node, prop, tokens, customProperty) {\n let token, type\n let length = tokens.length\n let value = ''\n let clean = true\n let next, prev\n\n for (let i = 0; i < length; i += 1) {\n token = tokens[i]\n type = token[0]\n if (type === 'space' && i === length - 1 && !customProperty) {\n clean = false\n } else if (type === 'comment') {\n prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'\n next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === ',') {\n clean = false\n } else {\n value += token[1]\n }\n } else {\n clean = false\n }\n } else {\n value += token[1]\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i) => all + i[1], '')\n node.raws[prop] = { raw, value }\n }\n node[prop] = value\n }\n\n rule(tokens) {\n tokens.pop()\n\n let node = new Rule()\n this.init(node, tokens[0][2])\n\n node.raws.between = this.spacesAndCommentsFromEnd(tokens)\n this.raw(node, 'selector', tokens)\n this.current = node\n }\n\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space' && lastTokenType !== 'comment') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n // Errors\n\n spacesAndCommentsFromStart(tokens) {\n let next\n let spaces = ''\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n spaces += tokens.shift()[1]\n }\n return spaces\n }\n\n spacesFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n stringFrom(tokens, from) {\n let result = ''\n for (let i = from; i < tokens.length; i++) {\n result += tokens[i][1]\n }\n tokens.splice(from, tokens.length - from)\n return result\n }\n\n unclosedBlock() {\n let pos = this.current.source.start\n throw this.input.error('Unclosed block', pos.line, pos.column)\n }\n\n unclosedBracket(bracket) {\n throw this.input.error(\n 'Unclosed bracket',\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n )\n }\n\n unexpectedClose(token) {\n throw this.input.error(\n 'Unexpected }',\n { offset: token[2] },\n { offset: token[2] + 1 }\n )\n }\n\n unknownWord(tokens) {\n throw this.input.error(\n 'Unknown word',\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n )\n }\n\n unnamedAtrule(node, token) {\n throw this.input.error(\n 'At-rule without name',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n}\n\nmodule.exports = Parser\n","'use strict'\n\nlet Container = require('./container')\nlet Parser = require('./parser')\nlet Input = require('./input')\n\nfunction parse(css, opts) {\n let input = new Input(css, opts)\n let parser = new Parser(input)\n try {\n parser.parse()\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n if (e.name === 'CssSyntaxError' && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse SCSS with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-scss parser'\n } else if (/\\.sass/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Sass with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-sass parser'\n } else if (/\\.less$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Less with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-less parser'\n }\n }\n }\n throw e\n }\n\n return parser.root\n}\n\nmodule.exports = parse\nparse.default = parse\n\nContainer.registerParse(parse)\n","'use strict'\n\nlet { isClean, my } = require('./symbols')\nlet MapGenerator = require('./map-generator')\nlet stringify = require('./stringify')\nlet Container = require('./container')\nlet Document = require('./document')\nlet warnOnce = require('./warn-once')\nlet Result = require('./result')\nlet parse = require('./parse')\nlet Root = require('./root')\n\nconst TYPE_TO_CLASS_NAME = {\n atrule: 'AtRule',\n comment: 'Comment',\n decl: 'Declaration',\n document: 'Document',\n root: 'Root',\n rule: 'Rule'\n}\n\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n}\n\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n}\n\nconst CHILDREN = 0\n\nfunction isPromise(obj) {\n return typeof obj === 'object' && typeof obj.then === 'function'\n}\n\nfunction getEvents(node) {\n let key = false\n let type = TYPE_TO_CLASS_NAME[node.type]\n if (node.type === 'decl') {\n key = node.prop.toLowerCase()\n } else if (node.type === 'atrule') {\n key = node.name.toLowerCase()\n }\n\n if (key && node.append) {\n return [\n type,\n type + '-' + key,\n CHILDREN,\n type + 'Exit',\n type + 'Exit-' + key\n ]\n } else if (key) {\n return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]\n } else if (node.append) {\n return [type, CHILDREN, type + 'Exit']\n } else {\n return [type, type + 'Exit']\n }\n}\n\nfunction toStack(node) {\n let events\n if (node.type === 'document') {\n events = ['Document', CHILDREN, 'DocumentExit']\n } else if (node.type === 'root') {\n events = ['Root', CHILDREN, 'RootExit']\n } else {\n events = getEvents(node)\n }\n\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node,\n visitorIndex: 0,\n visitors: []\n }\n}\n\nfunction cleanMarks(node) {\n node[isClean] = false\n if (node.nodes) node.nodes.forEach(i => cleanMarks(i))\n return node\n}\n\nlet postcss = {}\n\nclass LazyResult {\n constructor(processor, css, opts) {\n this.stringified = false\n this.processed = false\n\n let root\n if (\n typeof css === 'object' &&\n css !== null &&\n (css.type === 'root' || css.type === 'document')\n ) {\n root = cleanMarks(css)\n } else if (css instanceof LazyResult || css instanceof Result) {\n root = cleanMarks(css.root)\n if (css.map) {\n if (typeof opts.map === 'undefined') opts.map = {}\n if (!opts.map.inline) opts.map.inline = false\n opts.map.prev = css.map\n }\n } else {\n let parser = parse\n if (opts.syntax) parser = opts.syntax.parse\n if (opts.parser) parser = opts.parser\n if (parser.parse) parser = parser.parse\n\n try {\n root = parser(css, opts)\n } catch (error) {\n this.processed = true\n this.error = error\n }\n\n if (root && !root[my]) {\n /* c8 ignore next 2 */\n Container.rebuild(root)\n }\n }\n\n this.result = new Result(processor, root, opts)\n this.helpers = { ...postcss, postcss, result: this.result }\n this.plugins = this.processor.plugins.map(plugin => {\n if (typeof plugin === 'object' && plugin.prepare) {\n return { ...plugin, ...plugin.prepare(this.result) }\n } else {\n return plugin\n }\n })\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n if (this.processed) return Promise.resolve(this.result)\n if (!this.processing) {\n this.processing = this.runAsync()\n }\n return this.processing\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n getAsyncError() {\n throw new Error('Use process(css).then(cb) to work with async plugins')\n }\n\n handleError(error, node) {\n let plugin = this.result.lastPlugin\n try {\n if (node) node.addToError(error)\n this.error = error\n if (error.name === 'CssSyntaxError' && !error.plugin) {\n error.plugin = plugin.postcssPlugin\n error.setMessage()\n } else if (plugin.postcssVersion) {\n if (process.env.NODE_ENV !== 'production') {\n let pluginName = plugin.postcssPlugin\n let pluginVer = plugin.postcssVersion\n let runtimeVer = this.result.processor.version\n let a = pluginVer.split('.')\n let b = runtimeVer.split('.')\n\n if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n // eslint-disable-next-line no-console\n console.error(\n 'Unknown error from PostCSS plugin. Your current PostCSS ' +\n 'version is ' +\n runtimeVer +\n ', but ' +\n pluginName +\n ' uses ' +\n pluginVer +\n '. Perhaps this is the source of the error below.'\n )\n }\n }\n }\n } catch (err) {\n /* c8 ignore next 3 */\n // eslint-disable-next-line no-console\n if (console && console.error) console.error(err)\n }\n return error\n }\n\n prepareVisitors() {\n this.listeners = {}\n let add = (plugin, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = []\n this.listeners[type].push([plugin, cb])\n }\n for (let plugin of this.plugins) {\n if (typeof plugin === 'object') {\n for (let event in plugin) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin.postcssPlugin}. ` +\n `Try to update PostCSS (${this.processor.version} now).`\n )\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin[event] === 'object') {\n for (let filter in plugin[event]) {\n if (filter === '*') {\n add(plugin, event, plugin[event][filter])\n } else {\n add(\n plugin,\n event + '-' + filter.toLowerCase(),\n plugin[event][filter]\n )\n }\n }\n } else if (typeof plugin[event] === 'function') {\n add(plugin, event, plugin[event])\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0\n }\n\n async runAsync() {\n this.plugin = 0\n for (let i = 0; i < this.plugins.length; i++) {\n let plugin = this.plugins[i]\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (error) {\n throw this.handleError(error)\n }\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n let stack = [toStack(root)]\n while (stack.length > 0) {\n let promise = this.visitTick(stack)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (e) {\n let node = stack[stack.length - 1].node\n throw this.handleError(e, node)\n }\n }\n }\n }\n\n if (this.listeners.OnceExit) {\n for (let [plugin, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin\n try {\n if (root.type === 'document') {\n let roots = root.nodes.map(subRoot =>\n visitor(subRoot, this.helpers)\n )\n\n await Promise.all(roots)\n } else {\n await visitor(root, this.helpers)\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n }\n }\n\n this.processed = true\n return this.stringify()\n }\n\n runOnRoot(plugin) {\n this.result.lastPlugin = plugin\n try {\n if (typeof plugin === 'object' && plugin.Once) {\n if (this.result.root.type === 'document') {\n let roots = this.result.root.nodes.map(root =>\n plugin.Once(root, this.helpers)\n )\n\n if (isPromise(roots[0])) {\n return Promise.all(roots)\n }\n\n return roots\n }\n\n return plugin.Once(this.result.root, this.helpers)\n } else if (typeof plugin === 'function') {\n return plugin(this.result.root, this.result)\n }\n } catch (error) {\n throw this.handleError(error)\n }\n }\n\n stringify() {\n if (this.error) throw this.error\n if (this.stringified) return this.result\n this.stringified = true\n\n this.sync()\n\n let opts = this.result.opts\n let str = stringify\n if (opts.syntax) str = opts.syntax.stringify\n if (opts.stringifier) str = opts.stringifier\n if (str.stringify) str = str.stringify\n\n let map = new MapGenerator(str, this.result.root, this.result.opts)\n let data = map.generate()\n this.result.css = data[0]\n this.result.map = data[1]\n\n return this.result\n }\n\n sync() {\n if (this.error) throw this.error\n if (this.processed) return this.result\n this.processed = true\n\n if (this.processing) {\n throw this.getAsyncError()\n }\n\n for (let plugin of this.plugins) {\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n this.walkSync(root)\n }\n if (this.listeners.OnceExit) {\n if (root.type === 'document') {\n for (let subRoot of root.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot)\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root)\n }\n }\n }\n\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this.opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this.css\n }\n\n visitSync(visitors, node) {\n for (let [plugin, visitor] of visitors) {\n this.result.lastPlugin = plugin\n let promise\n try {\n promise = visitor(node, this.helpers)\n } catch (e) {\n throw this.handleError(e, node.proxyOf)\n }\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n return true\n }\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n }\n\n visitTick(stack) {\n let visit = stack[stack.length - 1]\n let { node, visitors } = visit\n\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n stack.pop()\n return\n }\n\n if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n let [plugin, visitor] = visitors[visit.visitorIndex]\n visit.visitorIndex += 1\n if (visit.visitorIndex === visitors.length) {\n visit.visitors = []\n visit.visitorIndex = 0\n }\n this.result.lastPlugin = plugin\n try {\n return visitor(node.toProxy(), this.helpers)\n } catch (e) {\n throw this.handleError(e, node)\n }\n }\n\n if (visit.iterator !== 0) {\n let iterator = visit.iterator\n let child\n while ((child = node.nodes[node.indexes[iterator]])) {\n node.indexes[iterator] += 1\n if (!child[isClean]) {\n child[isClean] = true\n stack.push(toStack(child))\n return\n }\n }\n visit.iterator = 0\n delete node.indexes[iterator]\n }\n\n let events = visit.events\n while (visit.eventIndex < events.length) {\n let event = events[visit.eventIndex]\n visit.eventIndex += 1\n if (event === CHILDREN) {\n if (node.nodes && node.nodes.length) {\n node[isClean] = true\n visit.iterator = node.getIterator()\n }\n return\n } else if (this.listeners[event]) {\n visit.visitors = this.listeners[event]\n return\n }\n }\n stack.pop()\n }\n\n walkSync(node) {\n node[isClean] = true\n let events = getEvents(node)\n for (let event of events) {\n if (event === CHILDREN) {\n if (node.nodes) {\n node.each(child => {\n if (!child[isClean]) this.walkSync(child)\n })\n }\n } else {\n let visitors = this.listeners[event]\n if (visitors) {\n if (this.visitSync(visitors, node.toProxy())) return\n }\n }\n }\n }\n\n warnings() {\n return this.sync().warnings()\n }\n\n get content() {\n return this.stringify().content\n }\n\n get css() {\n return this.stringify().css\n }\n\n get map() {\n return this.stringify().map\n }\n\n get messages() {\n return this.sync().messages\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n return this.sync().root\n }\n\n get [Symbol.toStringTag]() {\n return 'LazyResult'\n }\n}\n\nLazyResult.registerPostcss = dependant => {\n postcss = dependant\n}\n\nmodule.exports = LazyResult\nLazyResult.default = LazyResult\n\nRoot.registerLazyResult(LazyResult)\nDocument.registerLazyResult(LazyResult)\n","'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\nlet parse = require('./parse')\nconst Result = require('./result')\n\nclass NoWorkResult {\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n } else {\n map.clearAnnotation()\n this.result.css = map.css\n }\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this._css\n }\n\n warnings() {\n return []\n }\n\n get content() {\n return this.result.css\n }\n\n get css() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get messages() {\n return []\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n","'use strict'\n\nlet NoWorkResult = require('./no-work-result')\nlet LazyResult = require('./lazy-result')\nlet Document = require('./document')\nlet Root = require('./root')\n\nclass Processor {\n constructor(plugins = []) {\n this.version = '8.4.38'\n this.plugins = this.normalize(plugins)\n }\n\n normalize(plugins) {\n let normalized = []\n for (let i of plugins) {\n if (i.postcss === true) {\n i = i()\n } else if (i.postcss) {\n i = i.postcss\n }\n\n if (typeof i === 'object' && Array.isArray(i.plugins)) {\n normalized = normalized.concat(i.plugins)\n } else if (typeof i === 'object' && i.postcssPlugin) {\n normalized.push(i)\n } else if (typeof i === 'function') {\n normalized.push(i)\n } else if (typeof i === 'object' && (i.parse || i.stringify)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +\n 'one of the syntax/parser/stringifier options as outlined ' +\n 'in your PostCSS runner documentation.'\n )\n }\n } else {\n throw new Error(i + ' is not a PostCSS plugin')\n }\n }\n return normalized\n }\n\n process(css, opts = {}) {\n if (\n !this.plugins.length &&\n !opts.parser &&\n !opts.stringifier &&\n !opts.syntax\n ) {\n return new NoWorkResult(this, css, opts)\n } else {\n return new LazyResult(this, css, opts)\n }\n }\n\n use(plugin) {\n this.plugins = this.plugins.concat(this.normalize([plugin]))\n return this\n }\n}\n\nmodule.exports = Processor\nProcessor.default = Processor\n\nRoot.registerProcessor(Processor)\nDocument.registerProcessor(Processor)\n","'use strict'\n\nlet Declaration = require('./declaration')\nlet PreviousMap = require('./previous-map')\nlet Comment = require('./comment')\nlet AtRule = require('./at-rule')\nlet Input = require('./input')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nfunction fromJSON(json, inputs) {\n if (Array.isArray(json)) return json.map(n => fromJSON(n))\n\n let { inputs: ownInputs, ...defaults } = json\n if (ownInputs) {\n inputs = []\n for (let input of ownInputs) {\n let inputHydrated = { ...input, __proto__: Input.prototype }\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap.prototype\n }\n }\n inputs.push(inputHydrated)\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source\n defaults.source = source\n if (inputId != null) {\n defaults.source.input = inputs[inputId]\n }\n }\n if (defaults.type === 'root') {\n return new Root(defaults)\n } else if (defaults.type === 'decl') {\n return new Declaration(defaults)\n } else if (defaults.type === 'rule') {\n return new Rule(defaults)\n } else if (defaults.type === 'comment') {\n return new Comment(defaults)\n } else if (defaults.type === 'atrule') {\n return new AtRule(defaults)\n } else {\n throw new Error('Unknown node type: ' + json.type)\n }\n}\n\nmodule.exports = fromJSON\nfromJSON.default = fromJSON\n","'use strict'\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet Declaration = require('./declaration')\nlet LazyResult = require('./lazy-result')\nlet Container = require('./container')\nlet Processor = require('./processor')\nlet stringify = require('./stringify')\nlet fromJSON = require('./fromJSON')\nlet Document = require('./document')\nlet Warning = require('./warning')\nlet Comment = require('./comment')\nlet AtRule = require('./at-rule')\nlet Result = require('./result.js')\nlet Input = require('./input')\nlet parse = require('./parse')\nlet list = require('./list')\nlet Rule = require('./rule')\nlet Root = require('./root')\nlet Node = require('./node')\n\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0]\n }\n return new Processor(plugins)\n}\n\npostcss.plugin = function plugin(name, initializer) {\n let warningPrinted = false\n function creator(...args) {\n // eslint-disable-next-line no-console\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': postcss.plugin was deprecated. Migration guide:\\n' +\n 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'\n )\n if (process.env.LANG && process.env.LANG.startsWith('cn')) {\n /* c8 ignore next 7 */\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': 里面 postcss.plugin 被弃用. 迁移指南:\\n' +\n 'https://www.w3ctech.com/topic/2226'\n )\n }\n }\n let transformer = initializer(...args)\n transformer.postcssPlugin = name\n transformer.postcssVersion = new Processor().version\n return transformer\n }\n\n let cache\n Object.defineProperty(creator, 'postcss', {\n get() {\n if (!cache) cache = creator()\n return cache\n }\n })\n\n creator.process = function (css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts)\n }\n\n return creator\n}\n\npostcss.stringify = stringify\npostcss.parse = parse\npostcss.fromJSON = fromJSON\npostcss.list = list\n\npostcss.comment = defaults => new Comment(defaults)\npostcss.atRule = defaults => new AtRule(defaults)\npostcss.decl = defaults => new Declaration(defaults)\npostcss.rule = defaults => new Rule(defaults)\npostcss.root = defaults => new Root(defaults)\npostcss.document = defaults => new Document(defaults)\n\npostcss.CssSyntaxError = CssSyntaxError\npostcss.Declaration = Declaration\npostcss.Container = Container\npostcss.Processor = Processor\npostcss.Document = Document\npostcss.Comment = Comment\npostcss.Warning = Warning\npostcss.AtRule = AtRule\npostcss.Result = Result\npostcss.Input = Input\npostcss.Rule = Rule\npostcss.Root = Root\npostcss.Node = Node\n\nLazyResult.registerPostcss(postcss)\n\nmodule.exports = postcss\npostcss.default = postcss\n","const htmlparser = require('htmlparser2');\nconst escapeStringRegexp = require('escape-string-regexp');\nconst { isPlainObject } = require('is-plain-object');\nconst deepmerge = require('deepmerge');\nconst parseSrcset = require('parse-srcset');\nconst { parse: postcssParse } = require('postcss');\n// Tags that can conceivably represent stand-alone media.\nconst mediaTags = [\n 'img', 'audio', 'video', 'picture', 'svg',\n 'object', 'map', 'iframe', 'embed'\n];\n// Tags that are inherently vulnerable to being used in XSS attacks.\nconst vulnerableTags = [ 'script', 'style' ];\n\nfunction each(obj, cb) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n cb(obj[key], key);\n });\n }\n}\n\n// Avoid false positives with .__proto__, .hasOwnProperty, etc.\nfunction has(obj, key) {\n return ({}).hasOwnProperty.call(obj, key);\n}\n\n// Returns those elements of `a` for which `cb(a)` returns truthy\nfunction filter(a, cb) {\n const n = [];\n each(a, function(v) {\n if (cb(v)) {\n n.push(v);\n }\n });\n return n;\n}\n\nfunction isEmptyObject(obj) {\n for (const key in obj) {\n if (has(obj, key)) {\n return false;\n }\n }\n return true;\n}\n\nfunction stringifySrcset(parsedSrcset) {\n return parsedSrcset.map(function(part) {\n if (!part.url) {\n throw new Error('URL missing');\n }\n\n return (\n part.url +\n (part.w ? ` ${part.w}w` : '') +\n (part.h ? ` ${part.h}h` : '') +\n (part.d ? ` ${part.d}x` : '')\n );\n }).join(', ');\n}\n\nmodule.exports = sanitizeHtml;\n\n// A valid attribute name.\n// We use a tolerant definition based on the set of strings defined by\n// html.spec.whatwg.org/multipage/parsing.html#before-attribute-name-state\n// and html.spec.whatwg.org/multipage/parsing.html#attribute-name-state .\n// The characters accepted are ones which can be appended to the attribute\n// name buffer without triggering a parse error:\n// * unexpected-equals-sign-before-attribute-name\n// * unexpected-null-character\n// * unexpected-character-in-attribute-name\n// We exclude the empty string because it's impossible to get to the after\n// attribute name state with an empty attribute name buffer.\nconst VALID_HTML_ATTRIBUTE_NAME = /^[^\\0\\t\\n\\f\\r /<=>]+$/;\n\n// Ignore the _recursing flag; it's there for recursive\n// invocation as a guard against this exploit:\n// https://github.com/fb55/htmlparser2/issues/105\n\nfunction sanitizeHtml(html, options, _recursing) {\n if (html == null) {\n return '';\n }\n if (typeof html === 'number') {\n html = html.toString();\n }\n\n let result = '';\n // Used for hot swapping the result variable with an empty string in order to \"capture\" the text written to it.\n let tempResult = '';\n\n function Frame(tag, attribs) {\n const that = this;\n this.tag = tag;\n this.attribs = attribs || {};\n this.tagPosition = result.length;\n this.text = ''; // Node inner text\n this.mediaChildren = [];\n\n this.updateParentNodeText = function() {\n if (stack.length) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.text += that.text;\n }\n };\n\n this.updateParentNodeMediaChildren = function() {\n if (stack.length && mediaTags.includes(this.tag)) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.mediaChildren.push(this.tag);\n }\n };\n }\n\n options = Object.assign({}, sanitizeHtml.defaults, options);\n options.parser = Object.assign({}, htmlParserDefaults, options.parser);\n\n const tagAllowed = function (name) {\n return options.allowedTags === false || (options.allowedTags || []).indexOf(name) > -1;\n };\n\n // vulnerableTags\n vulnerableTags.forEach(function (tag) {\n if (tagAllowed(tag) && !options.allowVulnerableTags) {\n console.warn(`\\n\\n⚠️ Your \\`allowedTags\\` option includes, \\`${tag}\\`, which is inherently\\nvulnerable to XSS attacks. Please remove it from \\`allowedTags\\`.\\nOr, to disable this warning, add the \\`allowVulnerableTags\\` option\\nand ensure you are accounting for this risk.\\n\\n`);\n }\n });\n\n // Tags that contain something other than HTML, or where discarding\n // the text when the tag is disallowed makes sense for other reasons.\n // If we are not allowing these tags, we should drop their content too.\n // For other tags you would drop the tag but keep its content.\n const nonTextTagsArray = options.nonTextTags || [\n 'script',\n 'style',\n 'textarea',\n 'option'\n ];\n let allowedAttributesMap;\n let allowedAttributesGlobMap;\n if (options.allowedAttributes) {\n allowedAttributesMap = {};\n allowedAttributesGlobMap = {};\n each(options.allowedAttributes, function(attributes, tag) {\n allowedAttributesMap[tag] = [];\n const globRegex = [];\n attributes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else {\n allowedAttributesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedAttributesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n });\n }\n const allowedClassesMap = {};\n const allowedClassesGlobMap = {};\n const allowedClassesRegexMap = {};\n each(options.allowedClasses, function(classes, tag) {\n // Implicitly allows the class attribute\n if (allowedAttributesMap) {\n if (!has(allowedAttributesMap, tag)) {\n allowedAttributesMap[tag] = [];\n }\n allowedAttributesMap[tag].push('class');\n }\n\n allowedClassesMap[tag] = classes;\n\n if (Array.isArray(classes)) {\n const globRegex = [];\n allowedClassesMap[tag] = [];\n allowedClassesRegexMap[tag] = [];\n classes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else if (obj instanceof RegExp) {\n allowedClassesRegexMap[tag].push(obj);\n } else {\n allowedClassesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedClassesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n }\n });\n\n const transformTagsMap = {};\n let transformTagsAll;\n each(options.transformTags, function(transform, tag) {\n let transFun;\n if (typeof transform === 'function') {\n transFun = transform;\n } else if (typeof transform === 'string') {\n transFun = sanitizeHtml.simpleTransform(transform);\n }\n if (tag === '*') {\n transformTagsAll = transFun;\n } else {\n transformTagsMap[tag] = transFun;\n }\n });\n\n let depth;\n let stack;\n let skipMap;\n let transformMap;\n let skipText;\n let skipTextDepth;\n let addedText = false;\n\n initializeState();\n\n const parser = new htmlparser.Parser({\n onopentag: function(name, attribs) {\n // If `enforceHtmlBoundary` is `true` and this has found the opening\n // `html` tag, reset the state.\n if (options.enforceHtmlBoundary && name === 'html') {\n initializeState();\n }\n\n if (skipText) {\n skipTextDepth++;\n return;\n }\n const frame = new Frame(name, attribs);\n stack.push(frame);\n\n let skip = false;\n const hasText = !!frame.text;\n let transformedTag;\n if (has(transformTagsMap, name)) {\n transformedTag = transformTagsMap[name](name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n\n if (transformedTag.text !== undefined) {\n frame.innerText = transformedTag.text;\n }\n\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n if (transformTagsAll) {\n transformedTag = transformTagsAll(name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n\n if (!tagAllowed(name) || (options.disallowedTagsMode === 'recursiveEscape' && !isEmptyObject(skipMap)) || (options.nestingLimit != null && depth >= options.nestingLimit)) {\n skip = true;\n skipMap[depth] = true;\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n if (nonTextTagsArray.indexOf(name) !== -1) {\n skipText = true;\n skipTextDepth = 1;\n }\n }\n skipMap[depth] = true;\n }\n depth++;\n if (skip) {\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n // We want the contents but not this tag\n return;\n }\n tempResult = result;\n result = '';\n }\n result += '<' + name;\n\n if (name === 'script') {\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n frame.innerText = '';\n }\n }\n\n if (!allowedAttributesMap || has(allowedAttributesMap, name) || allowedAttributesMap['*']) {\n each(attribs, function(value, a) {\n if (!VALID_HTML_ATTRIBUTE_NAME.test(a)) {\n // This prevents part of an attribute name in the output from being\n // interpreted as the end of an attribute, or end of a tag.\n delete frame.attribs[a];\n return;\n }\n // If the value is empty, check if the attribute is in the allowedEmptyAttributes array.\n // If it is not in the allowedEmptyAttributes array, and it is a known non-boolean attribute, delete it\n // List taken from https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n if (value === '' && (!options.allowedEmptyAttributes.includes(a)) &&\n (options.nonBooleanAttributes.includes(a) || options.nonBooleanAttributes.includes('*'))) {\n delete frame.attribs[a];\n return;\n }\n // check allowedAttributesMap for the element and attribute and modify the value\n // as necessary if there are specific values defined.\n let passedAllowedAttributesMapCheck = false;\n if (!allowedAttributesMap ||\n (has(allowedAttributesMap, name) && allowedAttributesMap[name].indexOf(a) !== -1) ||\n (allowedAttributesMap['*'] && allowedAttributesMap['*'].indexOf(a) !== -1) ||\n (has(allowedAttributesGlobMap, name) && allowedAttributesGlobMap[name].test(a)) ||\n (allowedAttributesGlobMap['*'] && allowedAttributesGlobMap['*'].test(a))) {\n passedAllowedAttributesMapCheck = true;\n } else if (allowedAttributesMap && allowedAttributesMap[name]) {\n for (const o of allowedAttributesMap[name]) {\n if (isPlainObject(o) && o.name && (o.name === a)) {\n passedAllowedAttributesMapCheck = true;\n let newValue = '';\n if (o.multiple === true) {\n // verify the values that are allowed\n const splitStrArray = value.split(' ');\n for (const s of splitStrArray) {\n if (o.values.indexOf(s) !== -1) {\n if (newValue === '') {\n newValue = s;\n } else {\n newValue += ' ' + s;\n }\n }\n }\n } else if (o.values.indexOf(value) >= 0) {\n // verified an allowed value matches the entire attribute value\n newValue = value;\n }\n value = newValue;\n }\n }\n }\n if (passedAllowedAttributesMapCheck) {\n if (options.allowedSchemesAppliedToAttributes.indexOf(a) !== -1) {\n if (naughtyHref(name, value)) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'script' && a === 'src') {\n\n let allowed = true;\n\n try {\n const parsed = parseUrl(value);\n\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n const allowedHostname = (options.allowedScriptHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedScriptDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n allowed = false;\n }\n\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'iframe' && a === 'src') {\n let allowed = true;\n try {\n const parsed = parseUrl(value);\n\n if (parsed.isRelativeUrl) {\n // default value of allowIframeRelativeUrls is true\n // unless allowedIframeHostnames or allowedIframeDomains specified\n allowed = has(options, 'allowIframeRelativeUrls')\n ? options.allowIframeRelativeUrls\n : (!options.allowedIframeHostnames && !options.allowedIframeDomains);\n } else if (options.allowedIframeHostnames || options.allowedIframeDomains) {\n const allowedHostname = (options.allowedIframeHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedIframeDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n // Unparseable iframe src\n allowed = false;\n }\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'srcset') {\n try {\n let parsed = parseSrcset(value);\n parsed.forEach(function(value) {\n if (naughtyHref('srcset', value.url)) {\n value.evil = true;\n }\n });\n parsed = filter(parsed, function(v) {\n return !v.evil;\n });\n if (!parsed.length) {\n delete frame.attribs[a];\n return;\n } else {\n value = stringifySrcset(filter(parsed, function(v) {\n return !v.evil;\n }));\n frame.attribs[a] = value;\n }\n } catch (e) {\n // Unparseable srcset\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'class') {\n const allowedSpecificClasses = allowedClassesMap[name];\n const allowedWildcardClasses = allowedClassesMap['*'];\n const allowedSpecificClassesGlob = allowedClassesGlobMap[name];\n const allowedSpecificClassesRegex = allowedClassesRegexMap[name];\n const allowedWildcardClassesGlob = allowedClassesGlobMap['*'];\n const allowedClassesGlobs = [\n allowedSpecificClassesGlob,\n allowedWildcardClassesGlob\n ]\n .concat(allowedSpecificClassesRegex)\n .filter(function (t) {\n return t;\n });\n if (allowedSpecificClasses && allowedWildcardClasses) {\n value = filterClasses(value, deepmerge(allowedSpecificClasses, allowedWildcardClasses), allowedClassesGlobs);\n } else {\n value = filterClasses(value, allowedSpecificClasses || allowedWildcardClasses, allowedClassesGlobs);\n }\n if (!value.length) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'style') {\n if (options.parseStyleAttributes) {\n try {\n const abstractSyntaxTree = postcssParse(name + ' {' + value + '}', { map: false });\n const filteredAST = filterCss(abstractSyntaxTree, options.allowedStyles);\n\n value = stringifyStyleAttributes(filteredAST);\n\n if (value.length === 0) {\n delete frame.attribs[a];\n return;\n }\n } catch (e) {\n if (typeof window !== 'undefined') {\n console.warn('Failed to parse \"' + name + ' {' + value + '}' + '\", If you\\'re running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547');\n }\n delete frame.attribs[a];\n return;\n }\n } else if (options.allowedStyles) {\n throw new Error('allowedStyles option cannot be used together with parseStyleAttributes: false.');\n }\n }\n result += ' ' + a;\n if (value && value.length) {\n result += '=\"' + escapeHtml(value, true) + '\"';\n } else if (options.allowedEmptyAttributes.includes(a)) {\n result += '=\"\"';\n }\n } else {\n delete frame.attribs[a];\n }\n });\n }\n if (options.selfClosing.indexOf(name) !== -1) {\n result += ' />';\n } else {\n result += '>';\n if (frame.innerText && !hasText && !options.textFilter) {\n result += escapeHtml(frame.innerText);\n addedText = true;\n }\n }\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n },\n ontext: function(text) {\n if (skipText) {\n return;\n }\n const lastFrame = stack[stack.length - 1];\n let tag;\n\n if (lastFrame) {\n tag = lastFrame.tag;\n // If inner text was set by transform function then let's use it\n text = lastFrame.innerText !== undefined ? lastFrame.innerText : text;\n }\n\n if (options.disallowedTagsMode === 'completelyDiscard' && !tagAllowed(tag)) {\n text = '';\n } else if ((options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') && ((tag === 'script') || (tag === 'style'))) {\n // htmlparser2 gives us these as-is. Escaping them ruins the content. Allowing\n // script tags is, by definition, game over for XSS protection, so if that's\n // your concern, don't allow them. The same is essentially true for style tags\n // which have their own collection of XSS vectors.\n result += text;\n } else {\n const escaped = escapeHtml(text, false);\n if (options.textFilter && !addedText) {\n result += options.textFilter(escaped, tag);\n } else if (!addedText) {\n result += escaped;\n }\n }\n if (stack.length) {\n const frame = stack[stack.length - 1];\n frame.text += text;\n }\n },\n onclosetag: function(name, isImplied) {\n\n if (skipText) {\n skipTextDepth--;\n if (!skipTextDepth) {\n skipText = false;\n } else {\n return;\n }\n }\n\n const frame = stack.pop();\n if (!frame) {\n // Do not crash on bad markup\n return;\n }\n\n if (frame.tag !== name) {\n // Another case of bad markup.\n // Push to stack, so that it will be used in future closing tags.\n stack.push(frame);\n return;\n }\n\n skipText = options.enforceHtmlBoundary ? name === 'html' : false;\n depth--;\n const skip = skipMap[depth];\n if (skip) {\n delete skipMap[depth];\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n frame.updateParentNodeText();\n return;\n }\n tempResult = result;\n result = '';\n }\n\n if (transformMap[depth]) {\n name = transformMap[depth];\n delete transformMap[depth];\n }\n\n if (options.exclusiveFilter && options.exclusiveFilter(frame)) {\n result = result.substr(0, frame.tagPosition);\n return;\n }\n\n frame.updateParentNodeMediaChildren();\n frame.updateParentNodeText();\n\n if (\n // Already output />\n options.selfClosing.indexOf(name) !== -1 ||\n // Escaped tag, closing tag is implied\n (isImplied && !tagAllowed(name) && [ 'escape', 'recursiveEscape' ].indexOf(options.disallowedTagsMode) >= 0)\n ) {\n if (skip) {\n result = tempResult;\n tempResult = '';\n }\n return;\n }\n\n result += '</' + name + '>';\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n addedText = false;\n }\n }, options.parser);\n parser.write(html);\n parser.end();\n\n return result;\n\n function initializeState() {\n result = '';\n depth = 0;\n stack = [];\n skipMap = {};\n transformMap = {};\n skipText = false;\n skipTextDepth = 0;\n }\n\n function escapeHtml(s, quote) {\n if (typeof (s) !== 'string') {\n s = s + '';\n }\n if (options.parser.decodeEntities) {\n s = s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n }\n // TODO: this is inadequate because it will pass `&0;`. This approach\n // will not work, each & must be considered with regard to whether it\n // is followed by a 100% syntactically valid entity or not, and escaped\n // if it is not. If this bothers you, don't set parser.decodeEntities\n // to false. (The default is true.)\n s = s.replace(/&(?![a-zA-Z0-9#]{1,20};)/g, '&') // Match ampersands not part of existing HTML entity\n .replace(/</g, '<')\n .replace(/>/g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n return s;\n }\n\n function naughtyHref(name, href) {\n // Browsers ignore character codes of 32 (space) and below in a surprising\n // number of situations. Start reading here:\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Embedded_tab\n // eslint-disable-next-line no-control-regex\n href = href.replace(/[\\x00-\\x20]+/g, '');\n // Clobber any comments in URLs, which the browser might\n // interpret inside an XML data island, allowing\n // a javascript: URL to be snuck through\n while (true) {\n const firstIndex = href.indexOf('<!--');\n if (firstIndex === -1) {\n break;\n }\n const lastIndex = href.indexOf('-->', firstIndex + 4);\n if (lastIndex === -1) {\n break;\n }\n href = href.substring(0, firstIndex) + href.substring(lastIndex + 3);\n }\n // Case insensitive so we don't get faked out by JAVASCRIPT #1\n // Allow more characters after the first so we don't get faked\n // out by certain schemes browsers accept\n const matches = href.match(/^([a-zA-Z][a-zA-Z0-9.\\-+]*):/);\n if (!matches) {\n // Protocol-relative URL starting with any combination of '/' and '\\'\n if (href.match(/^[/\\\\]{2}/)) {\n return !options.allowProtocolRelative;\n }\n\n // No scheme\n return false;\n }\n const scheme = matches[1].toLowerCase();\n\n if (has(options.allowedSchemesByTag, name)) {\n return options.allowedSchemesByTag[name].indexOf(scheme) === -1;\n }\n\n return !options.allowedSchemes || options.allowedSchemes.indexOf(scheme) === -1;\n }\n\n function parseUrl(value) {\n value = value.replace(/^(\\w+:)?\\s*[\\\\/]\\s*[\\\\/]/, '$1//');\n if (value.startsWith('relative:')) {\n // An attempt to exploit our workaround for base URLs being\n // mandatory for relative URL validation in the WHATWG\n // URL parser, reject it\n throw new Error('relative: exploit attempt');\n }\n // naughtyHref is in charge of whether protocol relative URLs\n // are cool. Here we are concerned just with allowed hostnames and\n // whether to allow relative URLs.\n //\n // Build a placeholder \"base URL\" against which any reasonable\n // relative URL may be parsed successfully\n let base = 'relative://relative-site';\n for (let i = 0; (i < 100); i++) {\n base += `/${i}`;\n }\n\n const parsed = new URL(value, base);\n\n const isRelativeUrl = parsed && parsed.hostname === 'relative-site' && parsed.protocol === 'relative:';\n return {\n isRelativeUrl,\n url: parsed\n };\n }\n /**\n * Filters user input css properties by allowlisted regex attributes.\n * Modifies the abstractSyntaxTree object.\n *\n * @param {object} abstractSyntaxTree - Object representation of CSS attributes.\n * @property {array[Declaration]} abstractSyntaxTree.nodes[0] - Each object cointains prop and value key, i.e { prop: 'color', value: 'red' }.\n * @param {object} allowedStyles - Keys are properties (i.e color), value is list of permitted regex rules (i.e /green/i).\n * @return {object} - The modified tree.\n */\n function filterCss(abstractSyntaxTree, allowedStyles) {\n if (!allowedStyles) {\n return abstractSyntaxTree;\n }\n\n const astRules = abstractSyntaxTree.nodes[0];\n let selectedRule;\n\n // Merge global and tag-specific styles into new AST.\n if (allowedStyles[astRules.selector] && allowedStyles['*']) {\n selectedRule = deepmerge(\n allowedStyles[astRules.selector],\n allowedStyles['*']\n );\n } else {\n selectedRule = allowedStyles[astRules.selector] || allowedStyles['*'];\n }\n\n if (selectedRule) {\n abstractSyntaxTree.nodes[0].nodes = astRules.nodes.reduce(filterDeclarations(selectedRule), []);\n }\n\n return abstractSyntaxTree;\n }\n\n /**\n * Extracts the style attributes from an AbstractSyntaxTree and formats those\n * values in the inline style attribute format.\n *\n * @param {AbstractSyntaxTree} filteredAST\n * @return {string} - Example: \"color:yellow;text-align:center !important;font-family:helvetica;\"\n */\n function stringifyStyleAttributes(filteredAST) {\n return filteredAST.nodes[0].nodes\n .reduce(function(extractedAttributes, attrObject) {\n extractedAttributes.push(\n `${attrObject.prop}:${attrObject.value}${attrObject.important ? ' !important' : ''}`\n );\n return extractedAttributes;\n }, [])\n .join(';');\n }\n\n /**\n * Filters the existing attributes for the given property. Discards any attributes\n * which don't match the allowlist.\n *\n * @param {object} selectedRule - Example: { color: red, font-family: helvetica }\n * @param {array} allowedDeclarationsList - List of declarations which pass the allowlist.\n * @param {object} attributeObject - Object representing the current css property.\n * @property {string} attributeObject.type - Typically 'declaration'.\n * @property {string} attributeObject.prop - The CSS property, i.e 'color'.\n * @property {string} attributeObject.value - The corresponding value to the css property, i.e 'red'.\n * @return {function} - When used in Array.reduce, will return an array of Declaration objects\n */\n function filterDeclarations(selectedRule) {\n return function (allowedDeclarationsList, attributeObject) {\n // If this property is allowlisted...\n if (has(selectedRule, attributeObject.prop)) {\n const matchesRegex = selectedRule[attributeObject.prop].some(function(regularExpression) {\n return regularExpression.test(attributeObject.value);\n });\n\n if (matchesRegex) {\n allowedDeclarationsList.push(attributeObject);\n }\n }\n return allowedDeclarationsList;\n };\n }\n\n function filterClasses(classes, allowed, allowedGlobs) {\n if (!allowed) {\n // The class attribute is allowed without filtering on this tag\n return classes;\n }\n classes = classes.split(/\\s+/);\n return classes.filter(function(clss) {\n return allowed.indexOf(clss) !== -1 || allowedGlobs.some(function(glob) {\n return glob.test(clss);\n });\n }).join(' ');\n }\n}\n\n// Defaults are accessible to you so that you can use them as a starting point\n// programmatically if you wish\n\nconst htmlParserDefaults = {\n decodeEntities: true\n};\nsanitizeHtml.defaults = {\n allowedTags: [\n // Sections derived from MDN element categories and limited to the more\n // benign categories.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element\n // Content sectioning\n 'address', 'article', 'aside', 'footer', 'header',\n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hgroup',\n 'main', 'nav', 'section',\n // Text content\n 'blockquote', 'dd', 'div', 'dl', 'dt', 'figcaption', 'figure',\n 'hr', 'li', 'main', 'ol', 'p', 'pre', 'ul',\n // Inline text semantics\n 'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code', 'data', 'dfn',\n 'em', 'i', 'kbd', 'mark', 'q',\n 'rb', 'rp', 'rt', 'rtc', 'ruby',\n 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u', 'var', 'wbr',\n // Table content\n 'caption', 'col', 'colgroup', 'table', 'tbody', 'td', 'tfoot', 'th',\n 'thead', 'tr'\n ],\n // Tags that cannot be boolean\n nonBooleanAttributes: [\n 'abbr', 'accept', 'accept-charset', 'accesskey', 'action',\n 'allow', 'alt', 'as', 'autocapitalize', 'autocomplete',\n 'blocking', 'charset', 'cite', 'class', 'color', 'cols',\n 'colspan', 'content', 'contenteditable', 'coords', 'crossorigin',\n 'data', 'datetime', 'decoding', 'dir', 'dirname', 'download',\n 'draggable', 'enctype', 'enterkeyhint', 'fetchpriority', 'for',\n 'form', 'formaction', 'formenctype', 'formmethod', 'formtarget',\n 'headers', 'height', 'hidden', 'high', 'href', 'hreflang',\n 'http-equiv', 'id', 'imagesizes', 'imagesrcset', 'inputmode',\n 'integrity', 'is', 'itemid', 'itemprop', 'itemref', 'itemtype',\n 'kind', 'label', 'lang', 'list', 'loading', 'low', 'max',\n 'maxlength', 'media', 'method', 'min', 'minlength', 'name',\n 'nonce', 'optimum', 'pattern', 'ping', 'placeholder', 'popover',\n 'popovertarget', 'popovertargetaction', 'poster', 'preload',\n 'referrerpolicy', 'rel', 'rows', 'rowspan', 'sandbox', 'scope',\n 'shape', 'size', 'sizes', 'slot', 'span', 'spellcheck', 'src',\n 'srcdoc', 'srclang', 'srcset', 'start', 'step', 'style',\n 'tabindex', 'target', 'title', 'translate', 'type', 'usemap',\n 'value', 'width', 'wrap',\n // Event handlers\n 'onauxclick', 'onafterprint', 'onbeforematch', 'onbeforeprint',\n 'onbeforeunload', 'onbeforetoggle', 'onblur', 'oncancel',\n 'oncanplay', 'oncanplaythrough', 'onchange', 'onclick', 'onclose',\n 'oncontextlost', 'oncontextmenu', 'oncontextrestored', 'oncopy',\n 'oncuechange', 'oncut', 'ondblclick', 'ondrag', 'ondragend',\n 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart',\n 'ondrop', 'ondurationchange', 'onemptied', 'onended',\n 'onerror', 'onfocus', 'onformdata', 'onhashchange', 'oninput',\n 'oninvalid', 'onkeydown', 'onkeypress', 'onkeyup',\n 'onlanguagechange', 'onload', 'onloadeddata', 'onloadedmetadata',\n 'onloadstart', 'onmessage', 'onmessageerror', 'onmousedown',\n 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout',\n 'onmouseover', 'onmouseup', 'onoffline', 'ononline', 'onpagehide',\n 'onpageshow', 'onpaste', 'onpause', 'onplay', 'onplaying',\n 'onpopstate', 'onprogress', 'onratechange', 'onreset', 'onresize',\n 'onrejectionhandled', 'onscroll', 'onscrollend',\n 'onsecuritypolicyviolation', 'onseeked', 'onseeking', 'onselect',\n 'onslotchange', 'onstalled', 'onstorage', 'onsubmit', 'onsuspend',\n 'ontimeupdate', 'ontoggle', 'onunhandledrejection', 'onunload',\n 'onvolumechange', 'onwaiting', 'onwheel'\n ],\n disallowedTagsMode: 'discard',\n allowedAttributes: {\n a: [ 'href', 'name', 'target' ],\n // We don't currently allow img itself by default, but\n // these attributes would make sense if we did.\n img: [ 'src', 'srcset', 'alt', 'title', 'width', 'height', 'loading' ]\n },\n allowedEmptyAttributes: [\n 'alt'\n ],\n // Lots of these won't come up by default because we don't allow them\n selfClosing: [ 'img', 'br', 'hr', 'area', 'base', 'basefont', 'input', 'link', 'meta' ],\n // URL schemes we permit\n allowedSchemes: [ 'http', 'https', 'ftp', 'mailto', 'tel' ],\n allowedSchemesByTag: {},\n allowedSchemesAppliedToAttributes: [ 'href', 'src', 'cite' ],\n allowProtocolRelative: true,\n enforceHtmlBoundary: false,\n parseStyleAttributes: true\n};\n\nsanitizeHtml.simpleTransform = function(newTagName, newAttribs, merge) {\n merge = (merge === undefined) ? true : merge;\n newAttribs = newAttribs || {};\n\n return function(tagName, attribs) {\n let attrib;\n if (merge) {\n for (attrib in newAttribs) {\n attribs[attrib] = newAttribs[attrib];\n }\n } else {\n attribs = newAttribs;\n }\n\n return {\n tagName: newTagName,\n attribs: attribs\n };\n };\n};\n","<template>\n <span class=\"message-text has-background-shade-1\" :class=\"{ 'is-msg-moderated': statusCode === 'moderated' }\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-if=\"message.body\" v-html=\"body\" />\n <message-link v-for=\"link in message.links\" :key=\"link.url\" :url=\"link.url\" class=\"is-clickable\" />\n <div v-if=\"message.delay\" class=\"content is-italic has-text-weight-light is-small\">\n <b v-if=\"displayNick\" class=\"pr-1\">{{ nick }}</b>\n <time :datetime=\"$dayjs(message.delay).format()\" :title=\"$dayjs(message.delay).format()\">{{ $dayjs(message.delay).fromNow() }}</time>\n <i v-if=\"statusCode === 'error'\" class=\"fa fa-times has-text-danger ml-2\" :title=\"message.status.message\" />\n <i v-else-if=\"statusCode === 'moderated'\" class=\"fa fa-ban has-text-danger ml-2\" :title=\"message.status.message\" />\n </div>\n </span>\n</template>\n\n<script>\nimport MessageLink from '../components/MessageLink.vue'\nimport sanitizeHtml from 'sanitize-html'\n\nexport default {\n name: 'Message',\n components: {\n MessageLink,\n },\n props: {\n message: {\n type: Object,\n required: true,\n },\n displayNick: {\n type: Boolean,\n default: false,\n },\n },\n computed: {\n nick () {\n return this.message.from.resource\n },\n body () {\n if (window.config.isStylingDisabled) {\n return sanitizeHtml(this.message.body, {\n allowedTags: [],\n disallowedTagsMode: escape,\n })\n }\n\n let codeBlockStartLine = null\n let codeBlockEndLine = null\n return sanitizeHtml(this.message.body, {\n allowedTags: [],\n disallowedTagsMode: escape,\n })\n .split(/\\r?\\n/)\n .map((line, index, lines) => {\n if (codeBlockEndLine !== null) {\n // continue current code block\n if (index === codeBlockStartLine) {\n if (index === codeBlockEndLine - 1) {\n // start and end code block\n return '<pre><code>' + line + '</code></pre>'\n }\n // start code block\n return '<pre><code>' + line\n }\n if (index === codeBlockEndLine - 1) {\n // end code block\n return line + '</code></pre>'\n }\n if (index === codeBlockEndLine) {\n // clear code block vars\n codeBlockStartLine = null\n codeBlockEndLine = null\n return null\n }\n // inside code block\n return line\n }\n\n if (/^```/.test(line)) {\n // code block, try to found the end\n const relativeBlockLineEnd = lines\n .slice(index + 1)\n .findIndex((testedLine) => /```/.test(testedLine))\n if (relativeBlockLineEnd !== -1) {\n // code block is valid, set vars for handling relativeBlockLineEnd-th next lines\n codeBlockStartLine = index + 1\n codeBlockEndLine = index + relativeBlockLineEnd + 1\n return null\n }\n }\n\n // handle inline tags\n // inline code\n const re = /([^`]*)`([^`]*)`([^`]*)/g\n let parts\n const codes = {}\n let lineTemp = ''\n while ((parts = re.exec(line)) !== null) {\n codes[parts.index] = parts[2]\n lineTemp += `${parts[1]}<code ${parts.index} />${parts[3]}`\n }\n if (lineTemp !== '') {\n line = lineTemp\n }\n // link\n line = line.replace(/(.*)((?:https?|mailto):\\/\\/[a-z0-9/:%_+.,#?!@&=-]+)(.*)/g, '$1<a href=\"$2\" target=\"_blank\" rel=\"noreferrer\">$2</a>$3')\n // bold\n line = line.replace(/([^*]*)\\*([^*]*)\\*([^*]*)/g, '$1<strong>$2</strong>$3')\n // italic\n line = line.replace(/([^_]*)_([^_]*)_([^_]*)/g, '$1<i>$2</i>$3')\n // striked\n line = line.replace(/([^~]*)~([^~]*)~([^~]*)/g, '$1<strike>$2</strike>$3')\n // finally bind inline code tags (to avoid styling inside code tag)\n for (const code in codes) {\n line = line.replace(new RegExp(`(.*)<code ${code} />(.*)`, 'g'), `$1<code>${codes[code]}</code>$2`)\n }\n return line\n })\n .filter((line) => line !== null)\n .join('\\n')\n },\n statusCode () {\n return this.message.status ? this.message.status.code : null\n },\n },\n}\n</script>\n","<template>\n <div class=\"modal-card animation-content\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">{{ title }}</p>\n </header>\n <section class=\"modal-card-body\">\n <div class=\"media\">\n <div v-if=\"hasIcon\" class=\"media-left\">\n <span class=\"icon has-text-danger is-large\">\n <i :class=\"iconClass\" />\n </span>\n </div>\n <div class=\"media-content\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span v-html=\"message\" />\n <div v-if=\"prompt\" class=\"field pt-4\">\n <div class=\"control\">\n <input ref=\"promptInput\" v-model=\"promptValue\" :type=\"prompt.type\" :placeholder=\"prompt.placeholder\" required=\"required\" autofocus class=\"input\" :class=\"{ 'is-danger': error }\">\n </div>\n <p v-if=\"error\" class=\"help is-danger\">{{ error }}</p>\n </div>\n </div>\n </div>\n </section>\n <footer class=\"modal-card-foot\">\n <button v-if=\"hasCancelButton\" type=\"button\" class=\"button\">\n <span>{{ cancelText }}</span>\n </button>\n <button type=\"button\" class=\"button\" :class=\"type\" @click=\"validate\">\n <span>{{ confirmText }}</span>\n </button>\n </footer>\n </div>\n</template>\n\n<script>\nimport { nextTick } from 'vue'\n\nexport default {\n name: 'Modal',\n props: {\n type: {\n type: String,\n default: 'is-primary',\n },\n title: {\n type: String,\n default: '',\n },\n message: {\n type: String,\n default: '',\n },\n prompt: {\n type: Object,\n default: null,\n },\n hasIcon: {\n type: Boolean,\n default: false,\n },\n hasCancelButton: {\n type: Boolean,\n default: false,\n },\n iconClass: {\n type: String,\n default: '',\n },\n confirmText: {\n type: String,\n default: 'OK',\n },\n cancelText: {\n type: String,\n default: 'Cancel',\n },\n },\n emits: [\n 'close',\n 'promptAnswered',\n ],\n data () {\n return {\n error: null,\n promptValue: this.prompt ? this.prompt.value : null,\n }\n },\n mounted () {\n if (this.prompt) {\n nextTick(() => {\n this.$refs.promptInput.focus()\n })\n }\n },\n methods: {\n validate() {\n if (this.prompt) {\n if (!this.validPrompt()) {\n return\n }\n this.$emit('promptAnswered', this.promptValue)\n }\n this.$emit('close')\n },\n validPrompt() {\n this.error = null\n if (!this.promptValue) {\n this.error = 'This field is required.'\n return false\n }\n return true\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Guest invitation link\" @click=\"getInviteLink()\">\n <i class=\"fa fa-share-alt\" aria-hidden=\"true\" />\n </button>\n</template>\n\n<script>\nimport Modal from './../components/Modal.vue'\n\nexport default {\n name: 'InviteGuestButton',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n methods: {\n getInviteLink () {\n const link = window.location.origin + window.location.pathname + this.$router.resolve({ name: 'guest', query: { join: this.roomJid } }).href\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Guest invitation link',\n message: `<p>You can provide the following link to anyone (without registration):</p><p class=\"is-family-code is-select-all is-size-7\">${link}</p>`,\n },\n })\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-warning-ghost has-no-border is-shadowless\" :title=\"isBookmarked ? 'Unbookmark room' : 'Bookmark room'\" @click=\"bookmarkRoom()\">\n <i class=\"fa\" :class=\"isBookmarked ? 'fa-star' : 'fa-star-o' \" aria-hidden=\"true\" />\n </button>\n</template>\n<script>\n\nexport default {\n name: 'BookmarkButton',\n props: {\n jid: {\n type: String,\n required: true,\n },\n },\n computed: {\n isBookmarked () { return this.$store.isBookmarked(this.jid) },\n },\n methods: {\n async bookmarkRoom () {\n await this.$xmpp.bookmarkRoom(!this.isBookmarked, this.jid)\n },\n },\n}\n</script>\n","<template>\n <main class=\"modal-card\">\n <header class=\"modal-card-head\">\n <span class=\"modal-card-title has-text-weight-semibold\">Room <{{ roomJid }}> configuration</span>\n </header>\n\n <section class=\"modal-card-body\">\n <div v-for=\"(field, index) in fields\" :key=\"index\" class=\"field\">\n <h3 v-if=\"field.type === 'fixed'\" class=\"divider has-text-light is-dark\">{{ field.value }}</h3>\n <div v-else>\n <label v-if=\"field.label\" class=\"label has-text-light\">{{ field.label }}</label>\n <div class=\"control\" :title=\"field.description\">\n <o-switch v-if=\"field.type === 'boolean'\" v-model=\"field.value\" />\n <label v-else-if=\"field.type === 'list-single'\" class=\"radio\">\n <div v-for=\"option in field.options\" :key=\"option.value\" class=\"field\">\n <o-radio v-model=\"field.value\" :native-value=\"option.value\">\n {{ option.label }}\n </o-radio>\n </div>\n </label>\n <input v-else v-model=\"field.value\" class=\"input\" :type=\"field.type === 'text-private' ? 'password' : 'text'\" :placeholder=\"field.description\">\n </div>\n </div>\n </div>\n <o-loading v-model=\"isLoading\" :is-full-page=\"false\" />\n </section>\n\n <footer class=\"modal-card-foot\">\n <button v-if=\"hasCancelButton\" class=\"button is-dark\" @click=\"$emit('close')\">Close</button>\n <button v-if=\"form.fields\" class=\"button is-primary\" @click=\"saveRoomConfiguration\">Save</button>\n <span v-if=\"error\" class=\"is-flex-grow-1 has-text-right has-text-danger\">{{ error }}</span>\n </footer>\n </main>\n</template>\n\n<script>\nexport default {\n name: 'RoomConfiguration',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n hasCancelButton: {\n type: Boolean,\n default: true,\n },\n },\n emits: [\n 'close',\n ],\n data () {\n return {\n form: {},\n isLoading: false,\n error: null,\n }\n },\n computed: {\n fields () { return this.form.fields ? this.form.fields.filter((field) => field.type !== 'hidden') : [] },\n },\n mounted () {\n this.getRoomConfiguration()\n },\n methods: {\n async getRoomConfiguration () {\n this.isLoading = true\n this.error = null\n try {\n this.form = {}\n this.form = await this.$xmpp.getRoomConfig(this.roomJid)\n } catch (error) {\n this.error = error.message ? error.message : 'Oups, an error occurs'\n }\n this.isLoading = false\n },\n async saveRoomConfiguration () {\n this.isLoading = true\n try {\n await this.$xmpp.setRoomConfig(this.roomJid, this.form)\n this.$parent.$emit('saved')\n this.$emit('close')\n } catch (error) {\n this.error = error.message ? error.message : 'Oups, an error occurs'\n }\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Configure room\" @click=\"openConfigurationModal()\">\n <i class=\"fa fa-wrench\" aria-hidden=\"true\" />\n </button>\n</template>\n\n<script>\nimport RoomConfiguration from '../components/RoomConfiguration.vue'\n\nexport default {\n name: 'RoomConfigurationButton',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n methods: {\n openConfigurationModal () {\n this.$oruga.modal.open({\n component: RoomConfiguration,\n hasModalCard: true,\n trapFocus: true,\n props: { roomJid: this.roomJid },\n })\n },\n },\n}\n</script>\n","<template>\n <button class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Get history\" :class=\"{ 'is-loading': isLoadingPreviousMessages }\" :disabled=\"isDisabled\" @click=\"getPreviousMessages()\">\n <i class=\"fa fa-history\" aria-hidden=\"true\" />\n </button>\n</template>\n\n<script>\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'RetrieveHistoryButton',\n data () {\n return {\n firstMessageId: undefined,\n isLoadingPreviousMessages: false,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'activeChat',\n ]),\n isDisabled () { return this.firstMessageId === null },\n },\n watch: {\n activeChat: function () {\n this.firstMessageId = undefined\n },\n },\n methods: {\n // ask for messages archive (update messages in store)\n async getPreviousMessages () {\n this.isLoadingPreviousMessages = true\n const paging = await this.$xmpp.searchHistory(this.activeChat, this.firstMessageId)\n if (paging) {\n // store first displayed message\n this.firstMessageId = paging.first\n }\n this.isLoadingPreviousMessages = false\n },\n },\n}\n</script>\n","<template>\n <span class=\"px-4 py-1 is-flex is-align-items-center is-flex-shrink-5\" style=\"overflow-x: auto;overflow-y: hidden;\">\n <avatar v-for=\"occupant in occupants\" :key=\"occupant.jid\" :jid=\"occupant.jid\" :display-jid=\"false\" :presence=\"occupant.presence\" :size=\"24\" style=\"margin-left: -5px;\" />\n </span>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nexport default {\n name: 'RoomOccupants',\n components: {\n avatar,\n },\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n computed: {\n occupants () { return this.$store.getRoomOccupants(this.roomJid) },\n },\n}\n</script>\n","<template>\n <div v-if=\"isDiplayed && roomSubject\" class=\"message is-small is-shade-1 has-background-shade-2 m-3\" title=\"Room subject\">\n <div class=\"message-header\">\n <p>{{ roomJid }}</p>\n <button class=\"delete\" aria-label=\"delete\" title=\"Dismiss\" @click=\"isDiplayed = false\" />\n </div>\n <div class=\"message-body is-flex py-3 px-1\">\n <div class=\"icon is-medium is-flex-shrink-0\">\n <i class=\"fa fa-2x fa-info-circle\" />\n </div>\n <div class=\"is-flex is-flex-direction-column\">\n <!-- eslint-disable-next-line vue/no-v-html -->\n <span style=\"white-space: pre-wrap;\" v-html=\"subject\" />\n <span class=\"content is-italic has-text-weight-light is-small\">{{ roomSubject.author }}</span>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport sanitizeHtml from 'sanitize-html'\nexport default {\n name: 'RoomSubject',\n props: {\n roomJid: {\n type: String,\n required: true,\n },\n },\n data () {\n return {\n isDiplayed: true,\n }\n },\n computed: {\n roomSubject () {\n return this.$store.getRoomSubject(this.roomJid)\n },\n subject () {\n return sanitizeHtml(this.roomSubject.subject)\n .replace(/(.*)((?:https?|mailto):\\/\\/[a-z0-9/:%_+.,#?!@&=-]+)(.*)/g, '$1<a href=\"$2\" target=\"_blank\" rel=\"noreferrer\">$2</a>$3')\n },\n },\n}\n</script>\n","/**\n * @typedef Gemoji\n * @property {string} emoji\n * Example: `'😀'`.\n * @property {Array<string>} names\n * Example: `['grinning']`.\n * @property {Array<string>} tags\n * Example: `['smile', 'happy']`.\n * @property {string} description\n * Example: `'grinning face'`.\n * @property {string} category\n * Example: `'Smileys & Emotion'`.\n */\n\n/**\n * List of gemoji.\n *\n * @type {Array<Gemoji>}\n */\nexport const gemoji = [\n {\n emoji: '😀',\n names: ['grinning'],\n tags: ['smile', 'happy'],\n description: 'grinning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😃',\n names: ['smiley'],\n tags: ['happy', 'joy', 'haha'],\n description: 'grinning face with big eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😄',\n names: ['smile'],\n tags: ['happy', 'joy', 'laugh', 'pleased'],\n description: 'grinning face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😁',\n names: ['grin'],\n tags: [],\n description: 'beaming face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😆',\n names: ['laughing', 'satisfied'],\n tags: ['happy', 'haha'],\n description: 'grinning squinting face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😅',\n names: ['sweat_smile'],\n tags: ['hot'],\n description: 'grinning face with sweat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤣',\n names: ['rofl'],\n tags: ['lol', 'laughing'],\n description: 'rolling on the floor laughing',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😂',\n names: ['joy'],\n tags: ['tears'],\n description: 'face with tears of joy',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙂',\n names: ['slightly_smiling_face'],\n tags: [],\n description: 'slightly smiling face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙃',\n names: ['upside_down_face'],\n tags: [],\n description: 'upside-down face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫠',\n names: ['melting_face'],\n tags: ['sarcasm', 'dread'],\n description: 'melting face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😉',\n names: ['wink'],\n tags: ['flirt'],\n description: 'winking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😊',\n names: ['blush'],\n tags: ['proud'],\n description: 'smiling face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😇',\n names: ['innocent'],\n tags: ['angel'],\n description: 'smiling face with halo',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥰',\n names: ['smiling_face_with_three_hearts'],\n tags: ['love'],\n description: 'smiling face with hearts',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😍',\n names: ['heart_eyes'],\n tags: ['love', 'crush'],\n description: 'smiling face with heart-eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤩',\n names: ['star_struck'],\n tags: ['eyes'],\n description: 'star-struck',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😘',\n names: ['kissing_heart'],\n tags: ['flirt'],\n description: 'face blowing a kiss',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😗',\n names: ['kissing'],\n tags: [],\n description: 'kissing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '☺️',\n names: ['relaxed'],\n tags: ['blush', 'pleased'],\n description: 'smiling face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😚',\n names: ['kissing_closed_eyes'],\n tags: [],\n description: 'kissing face with closed eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😙',\n names: ['kissing_smiling_eyes'],\n tags: [],\n description: 'kissing face with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥲',\n names: ['smiling_face_with_tear'],\n tags: [],\n description: 'smiling face with tear',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😋',\n names: ['yum'],\n tags: ['tongue', 'lick'],\n description: 'face savoring food',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😛',\n names: ['stuck_out_tongue'],\n tags: [],\n description: 'face with tongue',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😜',\n names: ['stuck_out_tongue_winking_eye'],\n tags: ['prank', 'silly'],\n description: 'winking face with tongue',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤪',\n names: ['zany_face'],\n tags: ['goofy', 'wacky'],\n description: 'zany face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😝',\n names: ['stuck_out_tongue_closed_eyes'],\n tags: ['prank'],\n description: 'squinting face with tongue',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤑',\n names: ['money_mouth_face'],\n tags: ['rich'],\n description: 'money-mouth face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤗',\n names: ['hugs'],\n tags: [],\n description: 'smiling face with open hands',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤭',\n names: ['hand_over_mouth'],\n tags: ['quiet', 'whoops'],\n description: 'face with hand over mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫢',\n names: ['face_with_open_eyes_and_hand_over_mouth'],\n tags: ['gasp', 'shock'],\n description: 'face with open eyes and hand over mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫣',\n names: ['face_with_peeking_eye'],\n tags: [],\n description: 'face with peeking eye',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤫',\n names: ['shushing_face'],\n tags: ['silence', 'quiet'],\n description: 'shushing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤔',\n names: ['thinking'],\n tags: [],\n description: 'thinking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫡',\n names: ['saluting_face'],\n tags: ['respect'],\n description: 'saluting face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤐',\n names: ['zipper_mouth_face'],\n tags: ['silence', 'hush'],\n description: 'zipper-mouth face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤨',\n names: ['raised_eyebrow'],\n tags: ['suspicious'],\n description: 'face with raised eyebrow',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😐',\n names: ['neutral_face'],\n tags: ['meh'],\n description: 'neutral face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😑',\n names: ['expressionless'],\n tags: [],\n description: 'expressionless face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😶',\n names: ['no_mouth'],\n tags: ['mute', 'silence'],\n description: 'face without mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫥',\n names: ['dotted_line_face'],\n tags: ['invisible'],\n description: 'dotted line face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😶‍🌫️',\n names: ['face_in_clouds'],\n tags: [],\n description: 'face in clouds',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😏',\n names: ['smirk'],\n tags: ['smug'],\n description: 'smirking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😒',\n names: ['unamused'],\n tags: ['meh'],\n description: 'unamused face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙄',\n names: ['roll_eyes'],\n tags: [],\n description: 'face with rolling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😬',\n names: ['grimacing'],\n tags: [],\n description: 'grimacing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😮‍💨',\n names: ['face_exhaling'],\n tags: [],\n description: 'face exhaling',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤥',\n names: ['lying_face'],\n tags: ['liar'],\n description: 'lying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫨',\n names: ['shaking_face'],\n tags: ['shock'],\n description: 'shaking face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😌',\n names: ['relieved'],\n tags: ['whew'],\n description: 'relieved face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😔',\n names: ['pensive'],\n tags: [],\n description: 'pensive face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😪',\n names: ['sleepy'],\n tags: ['tired'],\n description: 'sleepy face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤤',\n names: ['drooling_face'],\n tags: [],\n description: 'drooling face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😴',\n names: ['sleeping'],\n tags: ['zzz'],\n description: 'sleeping face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😷',\n names: ['mask'],\n tags: ['sick', 'ill'],\n description: 'face with medical mask',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤒',\n names: ['face_with_thermometer'],\n tags: ['sick'],\n description: 'face with thermometer',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤕',\n names: ['face_with_head_bandage'],\n tags: ['hurt'],\n description: 'face with head-bandage',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤢',\n names: ['nauseated_face'],\n tags: ['sick', 'barf', 'disgusted'],\n description: 'nauseated face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤮',\n names: ['vomiting_face'],\n tags: ['barf', 'sick'],\n description: 'face vomiting',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤧',\n names: ['sneezing_face'],\n tags: ['achoo', 'sick'],\n description: 'sneezing face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥵',\n names: ['hot_face'],\n tags: ['heat', 'sweating'],\n description: 'hot face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥶',\n names: ['cold_face'],\n tags: ['freezing', 'ice'],\n description: 'cold face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥴',\n names: ['woozy_face'],\n tags: ['groggy'],\n description: 'woozy face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😵',\n names: ['dizzy_face'],\n tags: [],\n description: 'face with crossed-out eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😵‍💫',\n names: ['face_with_spiral_eyes'],\n tags: [],\n description: 'face with spiral eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤯',\n names: ['exploding_head'],\n tags: ['mind', 'blown'],\n description: 'exploding head',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤠',\n names: ['cowboy_hat_face'],\n tags: [],\n description: 'cowboy hat face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥳',\n names: ['partying_face'],\n tags: ['celebration', 'birthday'],\n description: 'partying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥸',\n names: ['disguised_face'],\n tags: [],\n description: 'disguised face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😎',\n names: ['sunglasses'],\n tags: ['cool'],\n description: 'smiling face with sunglasses',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤓',\n names: ['nerd_face'],\n tags: ['geek', 'glasses'],\n description: 'nerd face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🧐',\n names: ['monocle_face'],\n tags: [],\n description: 'face with monocle',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😕',\n names: ['confused'],\n tags: [],\n description: 'confused face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🫤',\n names: ['face_with_diagonal_mouth'],\n tags: ['confused'],\n description: 'face with diagonal mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😟',\n names: ['worried'],\n tags: ['nervous'],\n description: 'worried face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙁',\n names: ['slightly_frowning_face'],\n tags: [],\n description: 'slightly frowning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '☹️',\n names: ['frowning_face'],\n tags: [],\n description: 'frowning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😮',\n names: ['open_mouth'],\n tags: ['surprise', 'impressed', 'wow'],\n description: 'face with open mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😯',\n names: ['hushed'],\n tags: ['silence', 'speechless'],\n description: 'hushed face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😲',\n names: ['astonished'],\n tags: ['amazed', 'gasp'],\n description: 'astonished face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😳',\n names: ['flushed'],\n tags: [],\n description: 'flushed face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥺',\n names: ['pleading_face'],\n tags: ['puppy', 'eyes'],\n description: 'pleading face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥹',\n names: ['face_holding_back_tears'],\n tags: ['tears', 'gratitude'],\n description: 'face holding back tears',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😦',\n names: ['frowning'],\n tags: [],\n description: 'frowning face with open mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😧',\n names: ['anguished'],\n tags: ['stunned'],\n description: 'anguished face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😨',\n names: ['fearful'],\n tags: ['scared', 'shocked', 'oops'],\n description: 'fearful face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😰',\n names: ['cold_sweat'],\n tags: ['nervous'],\n description: 'anxious face with sweat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😥',\n names: ['disappointed_relieved'],\n tags: ['phew', 'sweat', 'nervous'],\n description: 'sad but relieved face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😢',\n names: ['cry'],\n tags: ['sad', 'tear'],\n description: 'crying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😭',\n names: ['sob'],\n tags: ['sad', 'cry', 'bawling'],\n description: 'loudly crying face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😱',\n names: ['scream'],\n tags: ['horror', 'shocked'],\n description: 'face screaming in fear',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😖',\n names: ['confounded'],\n tags: [],\n description: 'confounded face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😣',\n names: ['persevere'],\n tags: ['struggling'],\n description: 'persevering face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😞',\n names: ['disappointed'],\n tags: ['sad'],\n description: 'disappointed face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😓',\n names: ['sweat'],\n tags: [],\n description: 'downcast face with sweat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😩',\n names: ['weary'],\n tags: ['tired'],\n description: 'weary face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😫',\n names: ['tired_face'],\n tags: ['upset', 'whine'],\n description: 'tired face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🥱',\n names: ['yawning_face'],\n tags: [],\n description: 'yawning face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😤',\n names: ['triumph'],\n tags: ['smug'],\n description: 'face with steam from nose',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😡',\n names: ['rage', 'pout'],\n tags: ['angry'],\n description: 'enraged face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😠',\n names: ['angry'],\n tags: ['mad', 'annoyed'],\n description: 'angry face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤬',\n names: ['cursing_face'],\n tags: ['foul'],\n description: 'face with symbols on mouth',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😈',\n names: ['smiling_imp'],\n tags: ['devil', 'evil', 'horns'],\n description: 'smiling face with horns',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👿',\n names: ['imp'],\n tags: ['angry', 'devil', 'evil', 'horns'],\n description: 'angry face with horns',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💀',\n names: ['skull'],\n tags: ['dead', 'danger', 'poison'],\n description: 'skull',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '☠️',\n names: ['skull_and_crossbones'],\n tags: ['danger', 'pirate'],\n description: 'skull and crossbones',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💩',\n names: ['hankey', 'poop', 'shit'],\n tags: ['crap'],\n description: 'pile of poo',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤡',\n names: ['clown_face'],\n tags: [],\n description: 'clown face',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👹',\n names: ['japanese_ogre'],\n tags: ['monster'],\n description: 'ogre',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👺',\n names: ['japanese_goblin'],\n tags: [],\n description: 'goblin',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👻',\n names: ['ghost'],\n tags: ['halloween'],\n description: 'ghost',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👽',\n names: ['alien'],\n tags: ['ufo'],\n description: 'alien',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👾',\n names: ['space_invader'],\n tags: ['game', 'retro'],\n description: 'alien monster',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤖',\n names: ['robot'],\n tags: [],\n description: 'robot',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😺',\n names: ['smiley_cat'],\n tags: [],\n description: 'grinning cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😸',\n names: ['smile_cat'],\n tags: [],\n description: 'grinning cat with smiling eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😹',\n names: ['joy_cat'],\n tags: [],\n description: 'cat with tears of joy',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😻',\n names: ['heart_eyes_cat'],\n tags: [],\n description: 'smiling cat with heart-eyes',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😼',\n names: ['smirk_cat'],\n tags: [],\n description: 'cat with wry smile',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😽',\n names: ['kissing_cat'],\n tags: [],\n description: 'kissing cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙀',\n names: ['scream_cat'],\n tags: ['horror'],\n description: 'weary cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😿',\n names: ['crying_cat_face'],\n tags: ['sad', 'tear'],\n description: 'crying cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '😾',\n names: ['pouting_cat'],\n tags: [],\n description: 'pouting cat',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙈',\n names: ['see_no_evil'],\n tags: ['monkey', 'blind', 'ignore'],\n description: 'see-no-evil monkey',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙉',\n names: ['hear_no_evil'],\n tags: ['monkey', 'deaf'],\n description: 'hear-no-evil monkey',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🙊',\n names: ['speak_no_evil'],\n tags: ['monkey', 'mute', 'hush'],\n description: 'speak-no-evil monkey',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💌',\n names: ['love_letter'],\n tags: ['email', 'envelope'],\n description: 'love letter',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💘',\n names: ['cupid'],\n tags: ['love', 'heart'],\n description: 'heart with arrow',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💝',\n names: ['gift_heart'],\n tags: ['chocolates'],\n description: 'heart with ribbon',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💖',\n names: ['sparkling_heart'],\n tags: [],\n description: 'sparkling heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💗',\n names: ['heartpulse'],\n tags: [],\n description: 'growing heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💓',\n names: ['heartbeat'],\n tags: [],\n description: 'beating heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💞',\n names: ['revolving_hearts'],\n tags: [],\n description: 'revolving hearts',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💕',\n names: ['two_hearts'],\n tags: [],\n description: 'two hearts',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💟',\n names: ['heart_decoration'],\n tags: [],\n description: 'heart decoration',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❣️',\n names: ['heavy_heart_exclamation'],\n tags: [],\n description: 'heart exclamation',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💔',\n names: ['broken_heart'],\n tags: [],\n description: 'broken heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❤️‍🔥',\n names: ['heart_on_fire'],\n tags: [],\n description: 'heart on fire',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❤️‍🩹',\n names: ['mending_heart'],\n tags: [],\n description: 'mending heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '❤️',\n names: ['heart'],\n tags: ['love'],\n description: 'red heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🩷',\n names: ['pink_heart'],\n tags: [],\n description: 'pink heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🧡',\n names: ['orange_heart'],\n tags: [],\n description: 'orange heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💛',\n names: ['yellow_heart'],\n tags: [],\n description: 'yellow heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💚',\n names: ['green_heart'],\n tags: [],\n description: 'green heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💙',\n names: ['blue_heart'],\n tags: [],\n description: 'blue heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🩵',\n names: ['light_blue_heart'],\n tags: [],\n description: 'light blue heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💜',\n names: ['purple_heart'],\n tags: [],\n description: 'purple heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤎',\n names: ['brown_heart'],\n tags: [],\n description: 'brown heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🖤',\n names: ['black_heart'],\n tags: [],\n description: 'black heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🩶',\n names: ['grey_heart'],\n tags: [],\n description: 'grey heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🤍',\n names: ['white_heart'],\n tags: [],\n description: 'white heart',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💋',\n names: ['kiss'],\n tags: ['lipstick'],\n description: 'kiss mark',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💯',\n names: ['100'],\n tags: ['score', 'perfect'],\n description: 'hundred points',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💢',\n names: ['anger'],\n tags: ['angry'],\n description: 'anger symbol',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💥',\n names: ['boom', 'collision'],\n tags: ['explode'],\n description: 'collision',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💫',\n names: ['dizzy'],\n tags: ['star'],\n description: 'dizzy',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💦',\n names: ['sweat_drops'],\n tags: ['water', 'workout'],\n description: 'sweat droplets',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💨',\n names: ['dash'],\n tags: ['wind', 'blow', 'fast'],\n description: 'dashing away',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🕳️',\n names: ['hole'],\n tags: [],\n description: 'hole',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💬',\n names: ['speech_balloon'],\n tags: ['comment'],\n description: 'speech balloon',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👁️‍🗨️',\n names: ['eye_speech_bubble'],\n tags: [],\n description: 'eye in speech bubble',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🗨️',\n names: ['left_speech_bubble'],\n tags: [],\n description: 'left speech bubble',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '🗯️',\n names: ['right_anger_bubble'],\n tags: [],\n description: 'right anger bubble',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💭',\n names: ['thought_balloon'],\n tags: ['thinking'],\n description: 'thought balloon',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '💤',\n names: ['zzz'],\n tags: ['sleeping'],\n description: 'ZZZ',\n category: 'Smileys & Emotion'\n },\n {\n emoji: '👋',\n names: ['wave'],\n tags: ['goodbye'],\n description: 'waving hand',\n category: 'People & Body'\n },\n {\n emoji: '🤚',\n names: ['raised_back_of_hand'],\n tags: [],\n description: 'raised back of hand',\n category: 'People & Body'\n },\n {\n emoji: '🖐️',\n names: ['raised_hand_with_fingers_splayed'],\n tags: [],\n description: 'hand with fingers splayed',\n category: 'People & Body'\n },\n {\n emoji: '✋',\n names: ['hand', 'raised_hand'],\n tags: ['highfive', 'stop'],\n description: 'raised hand',\n category: 'People & Body'\n },\n {\n emoji: '🖖',\n names: ['vulcan_salute'],\n tags: ['prosper', 'spock'],\n description: 'vulcan salute',\n category: 'People & Body'\n },\n {\n emoji: '🫱',\n names: ['rightwards_hand'],\n tags: [],\n description: 'rightwards hand',\n category: 'People & Body'\n },\n {\n emoji: '🫲',\n names: ['leftwards_hand'],\n tags: [],\n description: 'leftwards hand',\n category: 'People & Body'\n },\n {\n emoji: '🫳',\n names: ['palm_down_hand'],\n tags: [],\n description: 'palm down hand',\n category: 'People & Body'\n },\n {\n emoji: '🫴',\n names: ['palm_up_hand'],\n tags: [],\n description: 'palm up hand',\n category: 'People & Body'\n },\n {\n emoji: '🫷',\n names: ['leftwards_pushing_hand'],\n tags: [],\n description: 'leftwards pushing hand',\n category: 'People & Body'\n },\n {\n emoji: '🫸',\n names: ['rightwards_pushing_hand'],\n tags: [],\n description: 'rightwards pushing hand',\n category: 'People & Body'\n },\n {\n emoji: '👌',\n names: ['ok_hand'],\n tags: [],\n description: 'OK hand',\n category: 'People & Body'\n },\n {\n emoji: '🤌',\n names: ['pinched_fingers'],\n tags: [],\n description: 'pinched fingers',\n category: 'People & Body'\n },\n {\n emoji: '🤏',\n names: ['pinching_hand'],\n tags: [],\n description: 'pinching hand',\n category: 'People & Body'\n },\n {\n emoji: '✌️',\n names: ['v'],\n tags: ['victory', 'peace'],\n description: 'victory hand',\n category: 'People & Body'\n },\n {\n emoji: '🤞',\n names: ['crossed_fingers'],\n tags: ['luck', 'hopeful'],\n description: 'crossed fingers',\n category: 'People & Body'\n },\n {\n emoji: '🫰',\n names: ['hand_with_index_finger_and_thumb_crossed'],\n tags: [],\n description: 'hand with index finger and thumb crossed',\n category: 'People & Body'\n },\n {\n emoji: '🤟',\n names: ['love_you_gesture'],\n tags: [],\n description: 'love-you gesture',\n category: 'People & Body'\n },\n {\n emoji: '🤘',\n names: ['metal'],\n tags: [],\n description: 'sign of the horns',\n category: 'People & Body'\n },\n {\n emoji: '🤙',\n names: ['call_me_hand'],\n tags: [],\n description: 'call me hand',\n category: 'People & Body'\n },\n {\n emoji: '👈',\n names: ['point_left'],\n tags: [],\n description: 'backhand index pointing left',\n category: 'People & Body'\n },\n {\n emoji: '👉',\n names: ['point_right'],\n tags: [],\n description: 'backhand index pointing right',\n category: 'People & Body'\n },\n {\n emoji: '👆',\n names: ['point_up_2'],\n tags: [],\n description: 'backhand index pointing up',\n category: 'People & Body'\n },\n {\n emoji: '🖕',\n names: ['middle_finger', 'fu'],\n tags: [],\n description: 'middle finger',\n category: 'People & Body'\n },\n {\n emoji: '👇',\n names: ['point_down'],\n tags: [],\n description: 'backhand index pointing down',\n category: 'People & Body'\n },\n {\n emoji: '☝️',\n names: ['point_up'],\n tags: [],\n description: 'index pointing up',\n category: 'People & Body'\n },\n {\n emoji: '🫵',\n names: ['index_pointing_at_the_viewer'],\n tags: [],\n description: 'index pointing at the viewer',\n category: 'People & Body'\n },\n {\n emoji: '👍',\n names: ['+1', 'thumbsup'],\n tags: ['approve', 'ok'],\n description: 'thumbs up',\n category: 'People & Body'\n },\n {\n emoji: '👎',\n names: ['-1', 'thumbsdown'],\n tags: ['disapprove', 'bury'],\n description: 'thumbs down',\n category: 'People & Body'\n },\n {\n emoji: '✊',\n names: ['fist_raised', 'fist'],\n tags: ['power'],\n description: 'raised fist',\n category: 'People & Body'\n },\n {\n emoji: '👊',\n names: ['fist_oncoming', 'facepunch', 'punch'],\n tags: ['attack'],\n description: 'oncoming fist',\n category: 'People & Body'\n },\n {\n emoji: '🤛',\n names: ['fist_left'],\n tags: [],\n description: 'left-facing fist',\n category: 'People & Body'\n },\n {\n emoji: '🤜',\n names: ['fist_right'],\n tags: [],\n description: 'right-facing fist',\n category: 'People & Body'\n },\n {\n emoji: '👏',\n names: ['clap'],\n tags: ['praise', 'applause'],\n description: 'clapping hands',\n category: 'People & Body'\n },\n {\n emoji: '🙌',\n names: ['raised_hands'],\n tags: ['hooray'],\n description: 'raising hands',\n category: 'People & Body'\n },\n {\n emoji: '🫶',\n names: ['heart_hands'],\n tags: ['love'],\n description: 'heart hands',\n category: 'People & Body'\n },\n {\n emoji: '👐',\n names: ['open_hands'],\n tags: [],\n description: 'open hands',\n category: 'People & Body'\n },\n {\n emoji: '🤲',\n names: ['palms_up_together'],\n tags: [],\n description: 'palms up together',\n category: 'People & Body'\n },\n {\n emoji: '🤝',\n names: ['handshake'],\n tags: ['deal'],\n description: 'handshake',\n category: 'People & Body'\n },\n {\n emoji: '🙏',\n names: ['pray'],\n tags: ['please', 'hope', 'wish'],\n description: 'folded hands',\n category: 'People & Body'\n },\n {\n emoji: '✍️',\n names: ['writing_hand'],\n tags: [],\n description: 'writing hand',\n category: 'People & Body'\n },\n {\n emoji: '💅',\n names: ['nail_care'],\n tags: ['beauty', 'manicure'],\n description: 'nail polish',\n category: 'People & Body'\n },\n {\n emoji: '🤳',\n names: ['selfie'],\n tags: [],\n description: 'selfie',\n category: 'People & Body'\n },\n {\n emoji: '💪',\n names: ['muscle'],\n tags: ['flex', 'bicep', 'strong', 'workout'],\n description: 'flexed biceps',\n category: 'People & Body'\n },\n {\n emoji: '🦾',\n names: ['mechanical_arm'],\n tags: [],\n description: 'mechanical arm',\n category: 'People & Body'\n },\n {\n emoji: '🦿',\n names: ['mechanical_leg'],\n tags: [],\n description: 'mechanical leg',\n category: 'People & Body'\n },\n {\n emoji: '🦵',\n names: ['leg'],\n tags: [],\n description: 'leg',\n category: 'People & Body'\n },\n {\n emoji: '🦶',\n names: ['foot'],\n tags: [],\n description: 'foot',\n category: 'People & Body'\n },\n {\n emoji: '👂',\n names: ['ear'],\n tags: ['hear', 'sound', 'listen'],\n description: 'ear',\n category: 'People & Body'\n },\n {\n emoji: '🦻',\n names: ['ear_with_hearing_aid'],\n tags: [],\n description: 'ear with hearing aid',\n category: 'People & Body'\n },\n {\n emoji: '👃',\n names: ['nose'],\n tags: ['smell'],\n description: 'nose',\n category: 'People & Body'\n },\n {\n emoji: '🧠',\n names: ['brain'],\n tags: [],\n description: 'brain',\n category: 'People & Body'\n },\n {\n emoji: '🫀',\n names: ['anatomical_heart'],\n tags: [],\n description: 'anatomical heart',\n category: 'People & Body'\n },\n {\n emoji: '🫁',\n names: ['lungs'],\n tags: [],\n description: 'lungs',\n category: 'People & Body'\n },\n {\n emoji: '🦷',\n names: ['tooth'],\n tags: [],\n description: 'tooth',\n category: 'People & Body'\n },\n {\n emoji: '🦴',\n names: ['bone'],\n tags: [],\n description: 'bone',\n category: 'People & Body'\n },\n {\n emoji: '👀',\n names: ['eyes'],\n tags: ['look', 'see', 'watch'],\n description: 'eyes',\n category: 'People & Body'\n },\n {\n emoji: '👁️',\n names: ['eye'],\n tags: [],\n description: 'eye',\n category: 'People & Body'\n },\n {\n emoji: '👅',\n names: ['tongue'],\n tags: ['taste'],\n description: 'tongue',\n category: 'People & Body'\n },\n {\n emoji: '👄',\n names: ['lips'],\n tags: ['kiss'],\n description: 'mouth',\n category: 'People & Body'\n },\n {\n emoji: '🫦',\n names: ['biting_lip'],\n tags: [],\n description: 'biting lip',\n category: 'People & Body'\n },\n {\n emoji: '👶',\n names: ['baby'],\n tags: ['child', 'newborn'],\n description: 'baby',\n category: 'People & Body'\n },\n {\n emoji: '🧒',\n names: ['child'],\n tags: [],\n description: 'child',\n category: 'People & Body'\n },\n {\n emoji: '👦',\n names: ['boy'],\n tags: ['child'],\n description: 'boy',\n category: 'People & Body'\n },\n {\n emoji: '👧',\n names: ['girl'],\n tags: ['child'],\n description: 'girl',\n category: 'People & Body'\n },\n {\n emoji: '🧑',\n names: ['adult'],\n tags: [],\n description: 'person',\n category: 'People & Body'\n },\n {\n emoji: '👱',\n names: ['blond_haired_person'],\n tags: [],\n description: 'person: blond hair',\n category: 'People & Body'\n },\n {\n emoji: '👨',\n names: ['man'],\n tags: ['mustache', 'father', 'dad'],\n description: 'man',\n category: 'People & Body'\n },\n {\n emoji: '🧔',\n names: ['bearded_person'],\n tags: [],\n description: 'person: beard',\n category: 'People & Body'\n },\n {\n emoji: '🧔‍♂️',\n names: ['man_beard'],\n tags: [],\n description: 'man: beard',\n category: 'People & Body'\n },\n {\n emoji: '🧔‍♀️',\n names: ['woman_beard'],\n tags: [],\n description: 'woman: beard',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦰',\n names: ['red_haired_man'],\n tags: [],\n description: 'man: red hair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦱',\n names: ['curly_haired_man'],\n tags: [],\n description: 'man: curly hair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦳',\n names: ['white_haired_man'],\n tags: [],\n description: 'man: white hair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦲',\n names: ['bald_man'],\n tags: [],\n description: 'man: bald',\n category: 'People & Body'\n },\n {\n emoji: '👩',\n names: ['woman'],\n tags: ['girls'],\n description: 'woman',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦰',\n names: ['red_haired_woman'],\n tags: [],\n description: 'woman: red hair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦰',\n names: ['person_red_hair'],\n tags: [],\n description: 'person: red hair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦱',\n names: ['curly_haired_woman'],\n tags: [],\n description: 'woman: curly hair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦱',\n names: ['person_curly_hair'],\n tags: [],\n description: 'person: curly hair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦳',\n names: ['white_haired_woman'],\n tags: [],\n description: 'woman: white hair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦳',\n names: ['person_white_hair'],\n tags: [],\n description: 'person: white hair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦲',\n names: ['bald_woman'],\n tags: [],\n description: 'woman: bald',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦲',\n names: ['person_bald'],\n tags: [],\n description: 'person: bald',\n category: 'People & Body'\n },\n {\n emoji: '👱‍♀️',\n names: ['blond_haired_woman', 'blonde_woman'],\n tags: [],\n description: 'woman: blond hair',\n category: 'People & Body'\n },\n {\n emoji: '👱‍♂️',\n names: ['blond_haired_man'],\n tags: [],\n description: 'man: blond hair',\n category: 'People & Body'\n },\n {\n emoji: '🧓',\n names: ['older_adult'],\n tags: [],\n description: 'older person',\n category: 'People & Body'\n },\n {\n emoji: '👴',\n names: ['older_man'],\n tags: [],\n description: 'old man',\n category: 'People & Body'\n },\n {\n emoji: '👵',\n names: ['older_woman'],\n tags: [],\n description: 'old woman',\n category: 'People & Body'\n },\n {\n emoji: '🙍',\n names: ['frowning_person'],\n tags: [],\n description: 'person frowning',\n category: 'People & Body'\n },\n {\n emoji: '🙍‍♂️',\n names: ['frowning_man'],\n tags: [],\n description: 'man frowning',\n category: 'People & Body'\n },\n {\n emoji: '🙍‍♀️',\n names: ['frowning_woman'],\n tags: [],\n description: 'woman frowning',\n category: 'People & Body'\n },\n {\n emoji: '🙎',\n names: ['pouting_face'],\n tags: [],\n description: 'person pouting',\n category: 'People & Body'\n },\n {\n emoji: '🙎‍♂️',\n names: ['pouting_man'],\n tags: [],\n description: 'man pouting',\n category: 'People & Body'\n },\n {\n emoji: '🙎‍♀️',\n names: ['pouting_woman'],\n tags: [],\n description: 'woman pouting',\n category: 'People & Body'\n },\n {\n emoji: '🙅',\n names: ['no_good'],\n tags: ['stop', 'halt', 'denied'],\n description: 'person gesturing NO',\n category: 'People & Body'\n },\n {\n emoji: '🙅‍♂️',\n names: ['no_good_man', 'ng_man'],\n tags: ['stop', 'halt', 'denied'],\n description: 'man gesturing NO',\n category: 'People & Body'\n },\n {\n emoji: '🙅‍♀️',\n names: ['no_good_woman', 'ng_woman'],\n tags: ['stop', 'halt', 'denied'],\n description: 'woman gesturing NO',\n category: 'People & Body'\n },\n {\n emoji: '🙆',\n names: ['ok_person'],\n tags: [],\n description: 'person gesturing OK',\n category: 'People & Body'\n },\n {\n emoji: '🙆‍♂️',\n names: ['ok_man'],\n tags: [],\n description: 'man gesturing OK',\n category: 'People & Body'\n },\n {\n emoji: '🙆‍♀️',\n names: ['ok_woman'],\n tags: [],\n description: 'woman gesturing OK',\n category: 'People & Body'\n },\n {\n emoji: '💁',\n names: ['tipping_hand_person', 'information_desk_person'],\n tags: [],\n description: 'person tipping hand',\n category: 'People & Body'\n },\n {\n emoji: '💁‍♂️',\n names: ['tipping_hand_man', 'sassy_man'],\n tags: ['information'],\n description: 'man tipping hand',\n category: 'People & Body'\n },\n {\n emoji: '💁‍♀️',\n names: ['tipping_hand_woman', 'sassy_woman'],\n tags: ['information'],\n description: 'woman tipping hand',\n category: 'People & Body'\n },\n {\n emoji: '🙋',\n names: ['raising_hand'],\n tags: [],\n description: 'person raising hand',\n category: 'People & Body'\n },\n {\n emoji: '🙋‍♂️',\n names: ['raising_hand_man'],\n tags: [],\n description: 'man raising hand',\n category: 'People & Body'\n },\n {\n emoji: '🙋‍♀️',\n names: ['raising_hand_woman'],\n tags: [],\n description: 'woman raising hand',\n category: 'People & Body'\n },\n {\n emoji: '🧏',\n names: ['deaf_person'],\n tags: [],\n description: 'deaf person',\n category: 'People & Body'\n },\n {\n emoji: '🧏‍♂️',\n names: ['deaf_man'],\n tags: [],\n description: 'deaf man',\n category: 'People & Body'\n },\n {\n emoji: '🧏‍♀️',\n names: ['deaf_woman'],\n tags: [],\n description: 'deaf woman',\n category: 'People & Body'\n },\n {\n emoji: '🙇',\n names: ['bow'],\n tags: ['respect', 'thanks'],\n description: 'person bowing',\n category: 'People & Body'\n },\n {\n emoji: '🙇‍♂️',\n names: ['bowing_man'],\n tags: ['respect', 'thanks'],\n description: 'man bowing',\n category: 'People & Body'\n },\n {\n emoji: '🙇‍♀️',\n names: ['bowing_woman'],\n tags: ['respect', 'thanks'],\n description: 'woman bowing',\n category: 'People & Body'\n },\n {\n emoji: '🤦',\n names: ['facepalm'],\n tags: [],\n description: 'person facepalming',\n category: 'People & Body'\n },\n {\n emoji: '🤦‍♂️',\n names: ['man_facepalming'],\n tags: [],\n description: 'man facepalming',\n category: 'People & Body'\n },\n {\n emoji: '🤦‍♀️',\n names: ['woman_facepalming'],\n tags: [],\n description: 'woman facepalming',\n category: 'People & Body'\n },\n {\n emoji: '🤷',\n names: ['shrug'],\n tags: [],\n description: 'person shrugging',\n category: 'People & Body'\n },\n {\n emoji: '🤷‍♂️',\n names: ['man_shrugging'],\n tags: [],\n description: 'man shrugging',\n category: 'People & Body'\n },\n {\n emoji: '🤷‍♀️',\n names: ['woman_shrugging'],\n tags: [],\n description: 'woman shrugging',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍⚕️',\n names: ['health_worker'],\n tags: [],\n description: 'health worker',\n category: 'People & Body'\n },\n {\n emoji: '👨‍⚕️',\n names: ['man_health_worker'],\n tags: ['doctor', 'nurse'],\n description: 'man health worker',\n category: 'People & Body'\n },\n {\n emoji: '👩‍⚕️',\n names: ['woman_health_worker'],\n tags: ['doctor', 'nurse'],\n description: 'woman health worker',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎓',\n names: ['student'],\n tags: [],\n description: 'student',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🎓',\n names: ['man_student'],\n tags: ['graduation'],\n description: 'man student',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🎓',\n names: ['woman_student'],\n tags: ['graduation'],\n description: 'woman student',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🏫',\n names: ['teacher'],\n tags: [],\n description: 'teacher',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🏫',\n names: ['man_teacher'],\n tags: ['school', 'professor'],\n description: 'man teacher',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🏫',\n names: ['woman_teacher'],\n tags: ['school', 'professor'],\n description: 'woman teacher',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍⚖️',\n names: ['judge'],\n tags: [],\n description: 'judge',\n category: 'People & Body'\n },\n {\n emoji: '👨‍⚖️',\n names: ['man_judge'],\n tags: ['justice'],\n description: 'man judge',\n category: 'People & Body'\n },\n {\n emoji: '👩‍⚖️',\n names: ['woman_judge'],\n tags: ['justice'],\n description: 'woman judge',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🌾',\n names: ['farmer'],\n tags: [],\n description: 'farmer',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🌾',\n names: ['man_farmer'],\n tags: [],\n description: 'man farmer',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🌾',\n names: ['woman_farmer'],\n tags: [],\n description: 'woman farmer',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🍳',\n names: ['cook'],\n tags: [],\n description: 'cook',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🍳',\n names: ['man_cook'],\n tags: ['chef'],\n description: 'man cook',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🍳',\n names: ['woman_cook'],\n tags: ['chef'],\n description: 'woman cook',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🔧',\n names: ['mechanic'],\n tags: [],\n description: 'mechanic',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🔧',\n names: ['man_mechanic'],\n tags: [],\n description: 'man mechanic',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🔧',\n names: ['woman_mechanic'],\n tags: [],\n description: 'woman mechanic',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🏭',\n names: ['factory_worker'],\n tags: [],\n description: 'factory worker',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🏭',\n names: ['man_factory_worker'],\n tags: [],\n description: 'man factory worker',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🏭',\n names: ['woman_factory_worker'],\n tags: [],\n description: 'woman factory worker',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍💼',\n names: ['office_worker'],\n tags: [],\n description: 'office worker',\n category: 'People & Body'\n },\n {\n emoji: '👨‍💼',\n names: ['man_office_worker'],\n tags: ['business'],\n description: 'man office worker',\n category: 'People & Body'\n },\n {\n emoji: '👩‍💼',\n names: ['woman_office_worker'],\n tags: ['business'],\n description: 'woman office worker',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🔬',\n names: ['scientist'],\n tags: [],\n description: 'scientist',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🔬',\n names: ['man_scientist'],\n tags: ['research'],\n description: 'man scientist',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🔬',\n names: ['woman_scientist'],\n tags: ['research'],\n description: 'woman scientist',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍💻',\n names: ['technologist'],\n tags: [],\n description: 'technologist',\n category: 'People & Body'\n },\n {\n emoji: '👨‍💻',\n names: ['man_technologist'],\n tags: ['coder'],\n description: 'man technologist',\n category: 'People & Body'\n },\n {\n emoji: '👩‍💻',\n names: ['woman_technologist'],\n tags: ['coder'],\n description: 'woman technologist',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎤',\n names: ['singer'],\n tags: [],\n description: 'singer',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🎤',\n names: ['man_singer'],\n tags: ['rockstar'],\n description: 'man singer',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🎤',\n names: ['woman_singer'],\n tags: ['rockstar'],\n description: 'woman singer',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎨',\n names: ['artist'],\n tags: [],\n description: 'artist',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🎨',\n names: ['man_artist'],\n tags: ['painter'],\n description: 'man artist',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🎨',\n names: ['woman_artist'],\n tags: ['painter'],\n description: 'woman artist',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍✈️',\n names: ['pilot'],\n tags: [],\n description: 'pilot',\n category: 'People & Body'\n },\n {\n emoji: '👨‍✈️',\n names: ['man_pilot'],\n tags: [],\n description: 'man pilot',\n category: 'People & Body'\n },\n {\n emoji: '👩‍✈️',\n names: ['woman_pilot'],\n tags: [],\n description: 'woman pilot',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🚀',\n names: ['astronaut'],\n tags: [],\n description: 'astronaut',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🚀',\n names: ['man_astronaut'],\n tags: ['space'],\n description: 'man astronaut',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🚀',\n names: ['woman_astronaut'],\n tags: ['space'],\n description: 'woman astronaut',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🚒',\n names: ['firefighter'],\n tags: [],\n description: 'firefighter',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🚒',\n names: ['man_firefighter'],\n tags: [],\n description: 'man firefighter',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🚒',\n names: ['woman_firefighter'],\n tags: [],\n description: 'woman firefighter',\n category: 'People & Body'\n },\n {\n emoji: '👮',\n names: ['police_officer', 'cop'],\n tags: ['law'],\n description: 'police officer',\n category: 'People & Body'\n },\n {\n emoji: '👮‍♂️',\n names: ['policeman'],\n tags: ['law', 'cop'],\n description: 'man police officer',\n category: 'People & Body'\n },\n {\n emoji: '👮‍♀️',\n names: ['policewoman'],\n tags: ['law', 'cop'],\n description: 'woman police officer',\n category: 'People & Body'\n },\n {\n emoji: '🕵️',\n names: ['detective'],\n tags: ['sleuth'],\n description: 'detective',\n category: 'People & Body'\n },\n {\n emoji: '🕵️‍♂️',\n names: ['male_detective'],\n tags: ['sleuth'],\n description: 'man detective',\n category: 'People & Body'\n },\n {\n emoji: '🕵️‍♀️',\n names: ['female_detective'],\n tags: ['sleuth'],\n description: 'woman detective',\n category: 'People & Body'\n },\n {\n emoji: '💂',\n names: ['guard'],\n tags: [],\n description: 'guard',\n category: 'People & Body'\n },\n {\n emoji: '💂‍♂️',\n names: ['guardsman'],\n tags: [],\n description: 'man guard',\n category: 'People & Body'\n },\n {\n emoji: '💂‍♀️',\n names: ['guardswoman'],\n tags: [],\n description: 'woman guard',\n category: 'People & Body'\n },\n {\n emoji: '🥷',\n names: ['ninja'],\n tags: [],\n description: 'ninja',\n category: 'People & Body'\n },\n {\n emoji: '👷',\n names: ['construction_worker'],\n tags: ['helmet'],\n description: 'construction worker',\n category: 'People & Body'\n },\n {\n emoji: '👷‍♂️',\n names: ['construction_worker_man'],\n tags: ['helmet'],\n description: 'man construction worker',\n category: 'People & Body'\n },\n {\n emoji: '👷‍♀️',\n names: ['construction_worker_woman'],\n tags: ['helmet'],\n description: 'woman construction worker',\n category: 'People & Body'\n },\n {\n emoji: '🫅',\n names: ['person_with_crown'],\n tags: [],\n description: 'person with crown',\n category: 'People & Body'\n },\n {\n emoji: '🤴',\n names: ['prince'],\n tags: ['crown', 'royal'],\n description: 'prince',\n category: 'People & Body'\n },\n {\n emoji: '👸',\n names: ['princess'],\n tags: ['crown', 'royal'],\n description: 'princess',\n category: 'People & Body'\n },\n {\n emoji: '👳',\n names: ['person_with_turban'],\n tags: [],\n description: 'person wearing turban',\n category: 'People & Body'\n },\n {\n emoji: '👳‍♂️',\n names: ['man_with_turban'],\n tags: [],\n description: 'man wearing turban',\n category: 'People & Body'\n },\n {\n emoji: '👳‍♀️',\n names: ['woman_with_turban'],\n tags: [],\n description: 'woman wearing turban',\n category: 'People & Body'\n },\n {\n emoji: '👲',\n names: ['man_with_gua_pi_mao'],\n tags: [],\n description: 'person with skullcap',\n category: 'People & Body'\n },\n {\n emoji: '🧕',\n names: ['woman_with_headscarf'],\n tags: ['hijab'],\n description: 'woman with headscarf',\n category: 'People & Body'\n },\n {\n emoji: '🤵',\n names: ['person_in_tuxedo'],\n tags: ['groom', 'marriage', 'wedding'],\n description: 'person in tuxedo',\n category: 'People & Body'\n },\n {\n emoji: '🤵‍♂️',\n names: ['man_in_tuxedo'],\n tags: [],\n description: 'man in tuxedo',\n category: 'People & Body'\n },\n {\n emoji: '🤵‍♀️',\n names: ['woman_in_tuxedo'],\n tags: [],\n description: 'woman in tuxedo',\n category: 'People & Body'\n },\n {\n emoji: '👰',\n names: ['person_with_veil'],\n tags: ['marriage', 'wedding'],\n description: 'person with veil',\n category: 'People & Body'\n },\n {\n emoji: '👰‍♂️',\n names: ['man_with_veil'],\n tags: [],\n description: 'man with veil',\n category: 'People & Body'\n },\n {\n emoji: '👰‍♀️',\n names: ['woman_with_veil', 'bride_with_veil'],\n tags: [],\n description: 'woman with veil',\n category: 'People & Body'\n },\n {\n emoji: '🤰',\n names: ['pregnant_woman'],\n tags: [],\n description: 'pregnant woman',\n category: 'People & Body'\n },\n {\n emoji: '🫃',\n names: ['pregnant_man'],\n tags: [],\n description: 'pregnant man',\n category: 'People & Body'\n },\n {\n emoji: '🫄',\n names: ['pregnant_person'],\n tags: [],\n description: 'pregnant person',\n category: 'People & Body'\n },\n {\n emoji: '🤱',\n names: ['breast_feeding'],\n tags: ['nursing'],\n description: 'breast-feeding',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🍼',\n names: ['woman_feeding_baby'],\n tags: [],\n description: 'woman feeding baby',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🍼',\n names: ['man_feeding_baby'],\n tags: [],\n description: 'man feeding baby',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🍼',\n names: ['person_feeding_baby'],\n tags: [],\n description: 'person feeding baby',\n category: 'People & Body'\n },\n {\n emoji: '👼',\n names: ['angel'],\n tags: [],\n description: 'baby angel',\n category: 'People & Body'\n },\n {\n emoji: '🎅',\n names: ['santa'],\n tags: ['christmas'],\n description: 'Santa Claus',\n category: 'People & Body'\n },\n {\n emoji: '🤶',\n names: ['mrs_claus'],\n tags: ['santa'],\n description: 'Mrs. Claus',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🎄',\n names: ['mx_claus'],\n tags: [],\n description: 'mx claus',\n category: 'People & Body'\n },\n {\n emoji: '🦸',\n names: ['superhero'],\n tags: [],\n description: 'superhero',\n category: 'People & Body'\n },\n {\n emoji: '🦸‍♂️',\n names: ['superhero_man'],\n tags: [],\n description: 'man superhero',\n category: 'People & Body'\n },\n {\n emoji: '🦸‍♀️',\n names: ['superhero_woman'],\n tags: [],\n description: 'woman superhero',\n category: 'People & Body'\n },\n {\n emoji: '🦹',\n names: ['supervillain'],\n tags: [],\n description: 'supervillain',\n category: 'People & Body'\n },\n {\n emoji: '🦹‍♂️',\n names: ['supervillain_man'],\n tags: [],\n description: 'man supervillain',\n category: 'People & Body'\n },\n {\n emoji: '🦹‍♀️',\n names: ['supervillain_woman'],\n tags: [],\n description: 'woman supervillain',\n category: 'People & Body'\n },\n {\n emoji: '🧙',\n names: ['mage'],\n tags: ['wizard'],\n description: 'mage',\n category: 'People & Body'\n },\n {\n emoji: '🧙‍♂️',\n names: ['mage_man'],\n tags: ['wizard'],\n description: 'man mage',\n category: 'People & Body'\n },\n {\n emoji: '🧙‍♀️',\n names: ['mage_woman'],\n tags: ['wizard'],\n description: 'woman mage',\n category: 'People & Body'\n },\n {\n emoji: '🧚',\n names: ['fairy'],\n tags: [],\n description: 'fairy',\n category: 'People & Body'\n },\n {\n emoji: '🧚‍♂️',\n names: ['fairy_man'],\n tags: [],\n description: 'man fairy',\n category: 'People & Body'\n },\n {\n emoji: '🧚‍♀️',\n names: ['fairy_woman'],\n tags: [],\n description: 'woman fairy',\n category: 'People & Body'\n },\n {\n emoji: '🧛',\n names: ['vampire'],\n tags: [],\n description: 'vampire',\n category: 'People & Body'\n },\n {\n emoji: '🧛‍♂️',\n names: ['vampire_man'],\n tags: [],\n description: 'man vampire',\n category: 'People & Body'\n },\n {\n emoji: '🧛‍♀️',\n names: ['vampire_woman'],\n tags: [],\n description: 'woman vampire',\n category: 'People & Body'\n },\n {\n emoji: '🧜',\n names: ['merperson'],\n tags: [],\n description: 'merperson',\n category: 'People & Body'\n },\n {\n emoji: '🧜‍♂️',\n names: ['merman'],\n tags: [],\n description: 'merman',\n category: 'People & Body'\n },\n {\n emoji: '🧜‍♀️',\n names: ['mermaid'],\n tags: [],\n description: 'mermaid',\n category: 'People & Body'\n },\n {\n emoji: '🧝',\n names: ['elf'],\n tags: [],\n description: 'elf',\n category: 'People & Body'\n },\n {\n emoji: '🧝‍♂️',\n names: ['elf_man'],\n tags: [],\n description: 'man elf',\n category: 'People & Body'\n },\n {\n emoji: '🧝‍♀️',\n names: ['elf_woman'],\n tags: [],\n description: 'woman elf',\n category: 'People & Body'\n },\n {\n emoji: '🧞',\n names: ['genie'],\n tags: [],\n description: 'genie',\n category: 'People & Body'\n },\n {\n emoji: '🧞‍♂️',\n names: ['genie_man'],\n tags: [],\n description: 'man genie',\n category: 'People & Body'\n },\n {\n emoji: '🧞‍♀️',\n names: ['genie_woman'],\n tags: [],\n description: 'woman genie',\n category: 'People & Body'\n },\n {\n emoji: '🧟',\n names: ['zombie'],\n tags: [],\n description: 'zombie',\n category: 'People & Body'\n },\n {\n emoji: '🧟‍♂️',\n names: ['zombie_man'],\n tags: [],\n description: 'man zombie',\n category: 'People & Body'\n },\n {\n emoji: '🧟‍♀️',\n names: ['zombie_woman'],\n tags: [],\n description: 'woman zombie',\n category: 'People & Body'\n },\n {\n emoji: '🧌',\n names: ['troll'],\n tags: [],\n description: 'troll',\n category: 'People & Body'\n },\n {\n emoji: '💆',\n names: ['massage'],\n tags: ['spa'],\n description: 'person getting massage',\n category: 'People & Body'\n },\n {\n emoji: '💆‍♂️',\n names: ['massage_man'],\n tags: ['spa'],\n description: 'man getting massage',\n category: 'People & Body'\n },\n {\n emoji: '💆‍♀️',\n names: ['massage_woman'],\n tags: ['spa'],\n description: 'woman getting massage',\n category: 'People & Body'\n },\n {\n emoji: '💇',\n names: ['haircut'],\n tags: ['beauty'],\n description: 'person getting haircut',\n category: 'People & Body'\n },\n {\n emoji: '💇‍♂️',\n names: ['haircut_man'],\n tags: [],\n description: 'man getting haircut',\n category: 'People & Body'\n },\n {\n emoji: '💇‍♀️',\n names: ['haircut_woman'],\n tags: [],\n description: 'woman getting haircut',\n category: 'People & Body'\n },\n {\n emoji: '🚶',\n names: ['walking'],\n tags: [],\n description: 'person walking',\n category: 'People & Body'\n },\n {\n emoji: '🚶‍♂️',\n names: ['walking_man'],\n tags: [],\n description: 'man walking',\n category: 'People & Body'\n },\n {\n emoji: '🚶‍♀️',\n names: ['walking_woman'],\n tags: [],\n description: 'woman walking',\n category: 'People & Body'\n },\n {\n emoji: '🧍',\n names: ['standing_person'],\n tags: [],\n description: 'person standing',\n category: 'People & Body'\n },\n {\n emoji: '🧍‍♂️',\n names: ['standing_man'],\n tags: [],\n description: 'man standing',\n category: 'People & Body'\n },\n {\n emoji: '🧍‍♀️',\n names: ['standing_woman'],\n tags: [],\n description: 'woman standing',\n category: 'People & Body'\n },\n {\n emoji: '🧎',\n names: ['kneeling_person'],\n tags: [],\n description: 'person kneeling',\n category: 'People & Body'\n },\n {\n emoji: '🧎‍♂️',\n names: ['kneeling_man'],\n tags: [],\n description: 'man kneeling',\n category: 'People & Body'\n },\n {\n emoji: '🧎‍♀️',\n names: ['kneeling_woman'],\n tags: [],\n description: 'woman kneeling',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦯',\n names: ['person_with_probing_cane'],\n tags: [],\n description: 'person with white cane',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦯',\n names: ['man_with_probing_cane'],\n tags: [],\n description: 'man with white cane',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦯',\n names: ['woman_with_probing_cane'],\n tags: [],\n description: 'woman with white cane',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦼',\n names: ['person_in_motorized_wheelchair'],\n tags: [],\n description: 'person in motorized wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦼',\n names: ['man_in_motorized_wheelchair'],\n tags: [],\n description: 'man in motorized wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦼',\n names: ['woman_in_motorized_wheelchair'],\n tags: [],\n description: 'woman in motorized wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🦽',\n names: ['person_in_manual_wheelchair'],\n tags: [],\n description: 'person in manual wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👨‍🦽',\n names: ['man_in_manual_wheelchair'],\n tags: [],\n description: 'man in manual wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '👩‍🦽',\n names: ['woman_in_manual_wheelchair'],\n tags: [],\n description: 'woman in manual wheelchair',\n category: 'People & Body'\n },\n {\n emoji: '🏃',\n names: ['runner', 'running'],\n tags: ['exercise', 'workout', 'marathon'],\n description: 'person running',\n category: 'People & Body'\n },\n {\n emoji: '🏃‍♂️',\n names: ['running_man'],\n tags: ['exercise', 'workout', 'marathon'],\n description: 'man running',\n category: 'People & Body'\n },\n {\n emoji: '🏃‍♀️',\n names: ['running_woman'],\n tags: ['exercise', 'workout', 'marathon'],\n description: 'woman running',\n category: 'People & Body'\n },\n {\n emoji: '💃',\n names: ['woman_dancing', 'dancer'],\n tags: ['dress'],\n description: 'woman dancing',\n category: 'People & Body'\n },\n {\n emoji: '🕺',\n names: ['man_dancing'],\n tags: ['dancer'],\n description: 'man dancing',\n category: 'People & Body'\n },\n {\n emoji: '🕴️',\n names: ['business_suit_levitating'],\n tags: [],\n description: 'person in suit levitating',\n category: 'People & Body'\n },\n {\n emoji: '👯',\n names: ['dancers'],\n tags: ['bunny'],\n description: 'people with bunny ears',\n category: 'People & Body'\n },\n {\n emoji: '👯‍♂️',\n names: ['dancing_men'],\n tags: ['bunny'],\n description: 'men with bunny ears',\n category: 'People & Body'\n },\n {\n emoji: '👯‍♀️',\n names: ['dancing_women'],\n tags: ['bunny'],\n description: 'women with bunny ears',\n category: 'People & Body'\n },\n {\n emoji: '🧖',\n names: ['sauna_person'],\n tags: ['steamy'],\n description: 'person in steamy room',\n category: 'People & Body'\n },\n {\n emoji: '🧖‍♂️',\n names: ['sauna_man'],\n tags: ['steamy'],\n description: 'man in steamy room',\n category: 'People & Body'\n },\n {\n emoji: '🧖‍♀️',\n names: ['sauna_woman'],\n tags: ['steamy'],\n description: 'woman in steamy room',\n category: 'People & Body'\n },\n {\n emoji: '🧗',\n names: ['climbing'],\n tags: ['bouldering'],\n description: 'person climbing',\n category: 'People & Body'\n },\n {\n emoji: '🧗‍♂️',\n names: ['climbing_man'],\n tags: ['bouldering'],\n description: 'man climbing',\n category: 'People & Body'\n },\n {\n emoji: '🧗‍♀️',\n names: ['climbing_woman'],\n tags: ['bouldering'],\n description: 'woman climbing',\n category: 'People & Body'\n },\n {\n emoji: '🤺',\n names: ['person_fencing'],\n tags: [],\n description: 'person fencing',\n category: 'People & Body'\n },\n {\n emoji: '🏇',\n names: ['horse_racing'],\n tags: [],\n description: 'horse racing',\n category: 'People & Body'\n },\n {\n emoji: '⛷️',\n names: ['skier'],\n tags: [],\n description: 'skier',\n category: 'People & Body'\n },\n {\n emoji: '🏂',\n names: ['snowboarder'],\n tags: [],\n description: 'snowboarder',\n category: 'People & Body'\n },\n {\n emoji: '🏌️',\n names: ['golfing'],\n tags: [],\n description: 'person golfing',\n category: 'People & Body'\n },\n {\n emoji: '🏌️‍♂️',\n names: ['golfing_man'],\n tags: [],\n description: 'man golfing',\n category: 'People & Body'\n },\n {\n emoji: '🏌️‍♀️',\n names: ['golfing_woman'],\n tags: [],\n description: 'woman golfing',\n category: 'People & Body'\n },\n {\n emoji: '🏄',\n names: ['surfer'],\n tags: [],\n description: 'person surfing',\n category: 'People & Body'\n },\n {\n emoji: '🏄‍♂️',\n names: ['surfing_man'],\n tags: [],\n description: 'man surfing',\n category: 'People & Body'\n },\n {\n emoji: '🏄‍♀️',\n names: ['surfing_woman'],\n tags: [],\n description: 'woman surfing',\n category: 'People & Body'\n },\n {\n emoji: '🚣',\n names: ['rowboat'],\n tags: [],\n description: 'person rowing boat',\n category: 'People & Body'\n },\n {\n emoji: '🚣‍♂️',\n names: ['rowing_man'],\n tags: [],\n description: 'man rowing boat',\n category: 'People & Body'\n },\n {\n emoji: '🚣‍♀️',\n names: ['rowing_woman'],\n tags: [],\n description: 'woman rowing boat',\n category: 'People & Body'\n },\n {\n emoji: '🏊',\n names: ['swimmer'],\n tags: [],\n description: 'person swimming',\n category: 'People & Body'\n },\n {\n emoji: '🏊‍♂️',\n names: ['swimming_man'],\n tags: [],\n description: 'man swimming',\n category: 'People & Body'\n },\n {\n emoji: '🏊‍♀️',\n names: ['swimming_woman'],\n tags: [],\n description: 'woman swimming',\n category: 'People & Body'\n },\n {\n emoji: '⛹️',\n names: ['bouncing_ball_person'],\n tags: ['basketball'],\n description: 'person bouncing ball',\n category: 'People & Body'\n },\n {\n emoji: '⛹️‍♂️',\n names: ['bouncing_ball_man', 'basketball_man'],\n tags: [],\n description: 'man bouncing ball',\n category: 'People & Body'\n },\n {\n emoji: '⛹️‍♀️',\n names: ['bouncing_ball_woman', 'basketball_woman'],\n tags: [],\n description: 'woman bouncing ball',\n category: 'People & Body'\n },\n {\n emoji: '🏋️',\n names: ['weight_lifting'],\n tags: ['gym', 'workout'],\n description: 'person lifting weights',\n category: 'People & Body'\n },\n {\n emoji: '🏋️‍♂️',\n names: ['weight_lifting_man'],\n tags: ['gym', 'workout'],\n description: 'man lifting weights',\n category: 'People & Body'\n },\n {\n emoji: '🏋️‍♀️',\n names: ['weight_lifting_woman'],\n tags: ['gym', 'workout'],\n description: 'woman lifting weights',\n category: 'People & Body'\n },\n {\n emoji: '🚴',\n names: ['bicyclist'],\n tags: [],\n description: 'person biking',\n category: 'People & Body'\n },\n {\n emoji: '🚴‍♂️',\n names: ['biking_man'],\n tags: [],\n description: 'man biking',\n category: 'People & Body'\n },\n {\n emoji: '🚴‍♀️',\n names: ['biking_woman'],\n tags: [],\n description: 'woman biking',\n category: 'People & Body'\n },\n {\n emoji: '🚵',\n names: ['mountain_bicyclist'],\n tags: [],\n description: 'person mountain biking',\n category: 'People & Body'\n },\n {\n emoji: '🚵‍♂️',\n names: ['mountain_biking_man'],\n tags: [],\n description: 'man mountain biking',\n category: 'People & Body'\n },\n {\n emoji: '🚵‍♀️',\n names: ['mountain_biking_woman'],\n tags: [],\n description: 'woman mountain biking',\n category: 'People & Body'\n },\n {\n emoji: '🤸',\n names: ['cartwheeling'],\n tags: [],\n description: 'person cartwheeling',\n category: 'People & Body'\n },\n {\n emoji: '🤸‍♂️',\n names: ['man_cartwheeling'],\n tags: [],\n description: 'man cartwheeling',\n category: 'People & Body'\n },\n {\n emoji: '🤸‍♀️',\n names: ['woman_cartwheeling'],\n tags: [],\n description: 'woman cartwheeling',\n category: 'People & Body'\n },\n {\n emoji: '🤼',\n names: ['wrestling'],\n tags: [],\n description: 'people wrestling',\n category: 'People & Body'\n },\n {\n emoji: '🤼‍♂️',\n names: ['men_wrestling'],\n tags: [],\n description: 'men wrestling',\n category: 'People & Body'\n },\n {\n emoji: '🤼‍♀️',\n names: ['women_wrestling'],\n tags: [],\n description: 'women wrestling',\n category: 'People & Body'\n },\n {\n emoji: '🤽',\n names: ['water_polo'],\n tags: [],\n description: 'person playing water polo',\n category: 'People & Body'\n },\n {\n emoji: '🤽‍♂️',\n names: ['man_playing_water_polo'],\n tags: [],\n description: 'man playing water polo',\n category: 'People & Body'\n },\n {\n emoji: '🤽‍♀️',\n names: ['woman_playing_water_polo'],\n tags: [],\n description: 'woman playing water polo',\n category: 'People & Body'\n },\n {\n emoji: '🤾',\n names: ['handball_person'],\n tags: [],\n description: 'person playing handball',\n category: 'People & Body'\n },\n {\n emoji: '🤾‍♂️',\n names: ['man_playing_handball'],\n tags: [],\n description: 'man playing handball',\n category: 'People & Body'\n },\n {\n emoji: '🤾‍♀️',\n names: ['woman_playing_handball'],\n tags: [],\n description: 'woman playing handball',\n category: 'People & Body'\n },\n {\n emoji: '🤹',\n names: ['juggling_person'],\n tags: [],\n description: 'person juggling',\n category: 'People & Body'\n },\n {\n emoji: '🤹‍♂️',\n names: ['man_juggling'],\n tags: [],\n description: 'man juggling',\n category: 'People & Body'\n },\n {\n emoji: '🤹‍♀️',\n names: ['woman_juggling'],\n tags: [],\n description: 'woman juggling',\n category: 'People & Body'\n },\n {\n emoji: '🧘',\n names: ['lotus_position'],\n tags: ['meditation'],\n description: 'person in lotus position',\n category: 'People & Body'\n },\n {\n emoji: '🧘‍♂️',\n names: ['lotus_position_man'],\n tags: ['meditation'],\n description: 'man in lotus position',\n category: 'People & Body'\n },\n {\n emoji: '🧘‍♀️',\n names: ['lotus_position_woman'],\n tags: ['meditation'],\n description: 'woman in lotus position',\n category: 'People & Body'\n },\n {\n emoji: '🛀',\n names: ['bath'],\n tags: ['shower'],\n description: 'person taking bath',\n category: 'People & Body'\n },\n {\n emoji: '🛌',\n names: ['sleeping_bed'],\n tags: [],\n description: 'person in bed',\n category: 'People & Body'\n },\n {\n emoji: '🧑‍🤝‍🧑',\n names: ['people_holding_hands'],\n tags: ['couple', 'date'],\n description: 'people holding hands',\n category: 'People & Body'\n },\n {\n emoji: '👭',\n names: ['two_women_holding_hands'],\n tags: ['couple', 'date'],\n description: 'women holding hands',\n category: 'People & Body'\n },\n {\n emoji: '👫',\n names: ['couple'],\n tags: ['date'],\n description: 'woman and man holding hands',\n category: 'People & Body'\n },\n {\n emoji: '👬',\n names: ['two_men_holding_hands'],\n tags: ['couple', 'date'],\n description: 'men holding hands',\n category: 'People & Body'\n },\n {\n emoji: '💏',\n names: ['couplekiss'],\n tags: [],\n description: 'kiss',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍💋‍👨',\n names: ['couplekiss_man_woman'],\n tags: [],\n description: 'kiss: woman, man',\n category: 'People & Body'\n },\n {\n emoji: '👨‍❤️‍💋‍👨',\n names: ['couplekiss_man_man'],\n tags: [],\n description: 'kiss: man, man',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍💋‍👩',\n names: ['couplekiss_woman_woman'],\n tags: [],\n description: 'kiss: woman, woman',\n category: 'People & Body'\n },\n {\n emoji: '💑',\n names: ['couple_with_heart'],\n tags: [],\n description: 'couple with heart',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍👨',\n names: ['couple_with_heart_woman_man'],\n tags: [],\n description: 'couple with heart: woman, man',\n category: 'People & Body'\n },\n {\n emoji: '👨‍❤️‍👨',\n names: ['couple_with_heart_man_man'],\n tags: [],\n description: 'couple with heart: man, man',\n category: 'People & Body'\n },\n {\n emoji: '👩‍❤️‍👩',\n names: ['couple_with_heart_woman_woman'],\n tags: [],\n description: 'couple with heart: woman, woman',\n category: 'People & Body'\n },\n {\n emoji: '👪',\n names: ['family'],\n tags: ['home', 'parents', 'child'],\n description: 'family',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👦',\n names: ['family_man_woman_boy'],\n tags: [],\n description: 'family: man, woman, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👧',\n names: ['family_man_woman_girl'],\n tags: [],\n description: 'family: man, woman, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👧‍👦',\n names: ['family_man_woman_girl_boy'],\n tags: [],\n description: 'family: man, woman, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👦‍👦',\n names: ['family_man_woman_boy_boy'],\n tags: [],\n description: 'family: man, woman, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👩‍👧‍👧',\n names: ['family_man_woman_girl_girl'],\n tags: [],\n description: 'family: man, woman, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👦',\n names: ['family_man_man_boy'],\n tags: [],\n description: 'family: man, man, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👧',\n names: ['family_man_man_girl'],\n tags: [],\n description: 'family: man, man, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👧‍👦',\n names: ['family_man_man_girl_boy'],\n tags: [],\n description: 'family: man, man, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👦‍👦',\n names: ['family_man_man_boy_boy'],\n tags: [],\n description: 'family: man, man, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👨‍👧‍👧',\n names: ['family_man_man_girl_girl'],\n tags: [],\n description: 'family: man, man, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👦',\n names: ['family_woman_woman_boy'],\n tags: [],\n description: 'family: woman, woman, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👧',\n names: ['family_woman_woman_girl'],\n tags: [],\n description: 'family: woman, woman, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👧‍👦',\n names: ['family_woman_woman_girl_boy'],\n tags: [],\n description: 'family: woman, woman, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👦‍👦',\n names: ['family_woman_woman_boy_boy'],\n tags: [],\n description: 'family: woman, woman, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👩‍👧‍👧',\n names: ['family_woman_woman_girl_girl'],\n tags: [],\n description: 'family: woman, woman, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👦',\n names: ['family_man_boy'],\n tags: [],\n description: 'family: man, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👦‍👦',\n names: ['family_man_boy_boy'],\n tags: [],\n description: 'family: man, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👧',\n names: ['family_man_girl'],\n tags: [],\n description: 'family: man, girl',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👧‍👦',\n names: ['family_man_girl_boy'],\n tags: [],\n description: 'family: man, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👨‍👧‍👧',\n names: ['family_man_girl_girl'],\n tags: [],\n description: 'family: man, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👦',\n names: ['family_woman_boy'],\n tags: [],\n description: 'family: woman, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👦‍👦',\n names: ['family_woman_boy_boy'],\n tags: [],\n description: 'family: woman, boy, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👧',\n names: ['family_woman_girl'],\n tags: [],\n description: 'family: woman, girl',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👧‍👦',\n names: ['family_woman_girl_boy'],\n tags: [],\n description: 'family: woman, girl, boy',\n category: 'People & Body'\n },\n {\n emoji: '👩‍👧‍👧',\n names: ['family_woman_girl_girl'],\n tags: [],\n description: 'family: woman, girl, girl',\n category: 'People & Body'\n },\n {\n emoji: '🗣️',\n names: ['speaking_head'],\n tags: [],\n description: 'speaking head',\n category: 'People & Body'\n },\n {\n emoji: '👤',\n names: ['bust_in_silhouette'],\n tags: ['user'],\n description: 'bust in silhouette',\n category: 'People & Body'\n },\n {\n emoji: '👥',\n names: ['busts_in_silhouette'],\n tags: ['users', 'group', 'team'],\n description: 'busts in silhouette',\n category: 'People & Body'\n },\n {\n emoji: '🫂',\n names: ['people_hugging'],\n tags: [],\n description: 'people hugging',\n category: 'People & Body'\n },\n {\n emoji: '👣',\n names: ['footprints'],\n tags: ['feet', 'tracks'],\n description: 'footprints',\n category: 'People & Body'\n },\n {\n emoji: '🐵',\n names: ['monkey_face'],\n tags: [],\n description: 'monkey face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐒',\n names: ['monkey'],\n tags: [],\n description: 'monkey',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦍',\n names: ['gorilla'],\n tags: [],\n description: 'gorilla',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦧',\n names: ['orangutan'],\n tags: [],\n description: 'orangutan',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐶',\n names: ['dog'],\n tags: ['pet'],\n description: 'dog face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐕',\n names: ['dog2'],\n tags: [],\n description: 'dog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦮',\n names: ['guide_dog'],\n tags: [],\n description: 'guide dog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐕‍🦺',\n names: ['service_dog'],\n tags: [],\n description: 'service dog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐩',\n names: ['poodle'],\n tags: ['dog'],\n description: 'poodle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐺',\n names: ['wolf'],\n tags: [],\n description: 'wolf',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦊',\n names: ['fox_face'],\n tags: [],\n description: 'fox',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦝',\n names: ['raccoon'],\n tags: [],\n description: 'raccoon',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐱',\n names: ['cat'],\n tags: ['pet'],\n description: 'cat face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐈',\n names: ['cat2'],\n tags: [],\n description: 'cat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐈‍⬛',\n names: ['black_cat'],\n tags: [],\n description: 'black cat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦁',\n names: ['lion'],\n tags: [],\n description: 'lion',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐯',\n names: ['tiger'],\n tags: [],\n description: 'tiger face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐅',\n names: ['tiger2'],\n tags: [],\n description: 'tiger',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐆',\n names: ['leopard'],\n tags: [],\n description: 'leopard',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐴',\n names: ['horse'],\n tags: [],\n description: 'horse face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🫎',\n names: ['moose'],\n tags: ['canada'],\n description: 'moose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🫏',\n names: ['donkey'],\n tags: ['mule'],\n description: 'donkey',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐎',\n names: ['racehorse'],\n tags: ['speed'],\n description: 'horse',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦄',\n names: ['unicorn'],\n tags: [],\n description: 'unicorn',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦓',\n names: ['zebra'],\n tags: [],\n description: 'zebra',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦌',\n names: ['deer'],\n tags: [],\n description: 'deer',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦬',\n names: ['bison'],\n tags: [],\n description: 'bison',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐮',\n names: ['cow'],\n tags: [],\n description: 'cow face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐂',\n names: ['ox'],\n tags: [],\n description: 'ox',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐃',\n names: ['water_buffalo'],\n tags: [],\n description: 'water buffalo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐄',\n names: ['cow2'],\n tags: [],\n description: 'cow',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐷',\n names: ['pig'],\n tags: [],\n description: 'pig face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐖',\n names: ['pig2'],\n tags: [],\n description: 'pig',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐗',\n names: ['boar'],\n tags: [],\n description: 'boar',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐽',\n names: ['pig_nose'],\n tags: [],\n description: 'pig nose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐏',\n names: ['ram'],\n tags: [],\n description: 'ram',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐑',\n names: ['sheep'],\n tags: [],\n description: 'ewe',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐐',\n names: ['goat'],\n tags: [],\n description: 'goat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐪',\n names: ['dromedary_camel'],\n tags: ['desert'],\n description: 'camel',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐫',\n names: ['camel'],\n tags: [],\n description: 'two-hump camel',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦙',\n names: ['llama'],\n tags: [],\n description: 'llama',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦒',\n names: ['giraffe'],\n tags: [],\n description: 'giraffe',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐘',\n names: ['elephant'],\n tags: [],\n description: 'elephant',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦣',\n names: ['mammoth'],\n tags: [],\n description: 'mammoth',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦏',\n names: ['rhinoceros'],\n tags: [],\n description: 'rhinoceros',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦛',\n names: ['hippopotamus'],\n tags: [],\n description: 'hippopotamus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐭',\n names: ['mouse'],\n tags: [],\n description: 'mouse face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐁',\n names: ['mouse2'],\n tags: [],\n description: 'mouse',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐀',\n names: ['rat'],\n tags: [],\n description: 'rat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐹',\n names: ['hamster'],\n tags: ['pet'],\n description: 'hamster',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐰',\n names: ['rabbit'],\n tags: ['bunny'],\n description: 'rabbit face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐇',\n names: ['rabbit2'],\n tags: [],\n description: 'rabbit',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐿️',\n names: ['chipmunk'],\n tags: [],\n description: 'chipmunk',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦫',\n names: ['beaver'],\n tags: [],\n description: 'beaver',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦔',\n names: ['hedgehog'],\n tags: [],\n description: 'hedgehog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦇',\n names: ['bat'],\n tags: [],\n description: 'bat',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐻',\n names: ['bear'],\n tags: [],\n description: 'bear',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐻‍❄️',\n names: ['polar_bear'],\n tags: [],\n description: 'polar bear',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐨',\n names: ['koala'],\n tags: [],\n description: 'koala',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐼',\n names: ['panda_face'],\n tags: [],\n description: 'panda',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦥',\n names: ['sloth'],\n tags: [],\n description: 'sloth',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦦',\n names: ['otter'],\n tags: [],\n description: 'otter',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦨',\n names: ['skunk'],\n tags: [],\n description: 'skunk',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦘',\n names: ['kangaroo'],\n tags: [],\n description: 'kangaroo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦡',\n names: ['badger'],\n tags: [],\n description: 'badger',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐾',\n names: ['feet', 'paw_prints'],\n tags: [],\n description: 'paw prints',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦃',\n names: ['turkey'],\n tags: ['thanksgiving'],\n description: 'turkey',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐔',\n names: ['chicken'],\n tags: [],\n description: 'chicken',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐓',\n names: ['rooster'],\n tags: [],\n description: 'rooster',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐣',\n names: ['hatching_chick'],\n tags: [],\n description: 'hatching chick',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐤',\n names: ['baby_chick'],\n tags: [],\n description: 'baby chick',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐥',\n names: ['hatched_chick'],\n tags: [],\n description: 'front-facing baby chick',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐦',\n names: ['bird'],\n tags: [],\n description: 'bird',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐧',\n names: ['penguin'],\n tags: [],\n description: 'penguin',\n category: 'Animals & Nature'\n },\n {\n emoji: '🕊️',\n names: ['dove'],\n tags: ['peace'],\n description: 'dove',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦅',\n names: ['eagle'],\n tags: [],\n description: 'eagle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦆',\n names: ['duck'],\n tags: [],\n description: 'duck',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦢',\n names: ['swan'],\n tags: [],\n description: 'swan',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦉',\n names: ['owl'],\n tags: [],\n description: 'owl',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦤',\n names: ['dodo'],\n tags: [],\n description: 'dodo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪶',\n names: ['feather'],\n tags: [],\n description: 'feather',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦩',\n names: ['flamingo'],\n tags: [],\n description: 'flamingo',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦚',\n names: ['peacock'],\n tags: [],\n description: 'peacock',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦜',\n names: ['parrot'],\n tags: [],\n description: 'parrot',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪽',\n names: ['wing'],\n tags: ['fly'],\n description: 'wing',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐦‍⬛',\n names: ['black_bird'],\n tags: [],\n description: 'black bird',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪿',\n names: ['goose'],\n tags: ['honk'],\n description: 'goose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐸',\n names: ['frog'],\n tags: [],\n description: 'frog',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐊',\n names: ['crocodile'],\n tags: [],\n description: 'crocodile',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐢',\n names: ['turtle'],\n tags: ['slow'],\n description: 'turtle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦎',\n names: ['lizard'],\n tags: [],\n description: 'lizard',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐍',\n names: ['snake'],\n tags: [],\n description: 'snake',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐲',\n names: ['dragon_face'],\n tags: [],\n description: 'dragon face',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐉',\n names: ['dragon'],\n tags: [],\n description: 'dragon',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦕',\n names: ['sauropod'],\n tags: ['dinosaur'],\n description: 'sauropod',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦖',\n names: ['t-rex'],\n tags: ['dinosaur'],\n description: 'T-Rex',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐳',\n names: ['whale'],\n tags: ['sea'],\n description: 'spouting whale',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐋',\n names: ['whale2'],\n tags: [],\n description: 'whale',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐬',\n names: ['dolphin', 'flipper'],\n tags: [],\n description: 'dolphin',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦭',\n names: ['seal'],\n tags: [],\n description: 'seal',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐟',\n names: ['fish'],\n tags: [],\n description: 'fish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐠',\n names: ['tropical_fish'],\n tags: [],\n description: 'tropical fish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐡',\n names: ['blowfish'],\n tags: [],\n description: 'blowfish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦈',\n names: ['shark'],\n tags: [],\n description: 'shark',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐙',\n names: ['octopus'],\n tags: [],\n description: 'octopus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐚',\n names: ['shell'],\n tags: ['sea', 'beach'],\n description: 'spiral shell',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪸',\n names: ['coral'],\n tags: [],\n description: 'coral',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪼',\n names: ['jellyfish'],\n tags: [],\n description: 'jellyfish',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐌',\n names: ['snail'],\n tags: ['slow'],\n description: 'snail',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦋',\n names: ['butterfly'],\n tags: [],\n description: 'butterfly',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐛',\n names: ['bug'],\n tags: [],\n description: 'bug',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐜',\n names: ['ant'],\n tags: [],\n description: 'ant',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐝',\n names: ['bee', 'honeybee'],\n tags: [],\n description: 'honeybee',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪲',\n names: ['beetle'],\n tags: [],\n description: 'beetle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🐞',\n names: ['lady_beetle'],\n tags: ['bug'],\n description: 'lady beetle',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦗',\n names: ['cricket'],\n tags: [],\n description: 'cricket',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪳',\n names: ['cockroach'],\n tags: [],\n description: 'cockroach',\n category: 'Animals & Nature'\n },\n {\n emoji: '🕷️',\n names: ['spider'],\n tags: [],\n description: 'spider',\n category: 'Animals & Nature'\n },\n {\n emoji: '🕸️',\n names: ['spider_web'],\n tags: [],\n description: 'spider web',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦂',\n names: ['scorpion'],\n tags: [],\n description: 'scorpion',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦟',\n names: ['mosquito'],\n tags: [],\n description: 'mosquito',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪰',\n names: ['fly'],\n tags: [],\n description: 'fly',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪱',\n names: ['worm'],\n tags: [],\n description: 'worm',\n category: 'Animals & Nature'\n },\n {\n emoji: '🦠',\n names: ['microbe'],\n tags: ['germ'],\n description: 'microbe',\n category: 'Animals & Nature'\n },\n {\n emoji: '💐',\n names: ['bouquet'],\n tags: ['flowers'],\n description: 'bouquet',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌸',\n names: ['cherry_blossom'],\n tags: ['flower', 'spring'],\n description: 'cherry blossom',\n category: 'Animals & Nature'\n },\n {\n emoji: '💮',\n names: ['white_flower'],\n tags: [],\n description: 'white flower',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪷',\n names: ['lotus'],\n tags: [],\n description: 'lotus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🏵️',\n names: ['rosette'],\n tags: [],\n description: 'rosette',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌹',\n names: ['rose'],\n tags: ['flower'],\n description: 'rose',\n category: 'Animals & Nature'\n },\n {\n emoji: '🥀',\n names: ['wilted_flower'],\n tags: [],\n description: 'wilted flower',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌺',\n names: ['hibiscus'],\n tags: [],\n description: 'hibiscus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌻',\n names: ['sunflower'],\n tags: [],\n description: 'sunflower',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌼',\n names: ['blossom'],\n tags: [],\n description: 'blossom',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌷',\n names: ['tulip'],\n tags: ['flower'],\n description: 'tulip',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪻',\n names: ['hyacinth'],\n tags: [],\n description: 'hyacinth',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌱',\n names: ['seedling'],\n tags: ['plant'],\n description: 'seedling',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪴',\n names: ['potted_plant'],\n tags: [],\n description: 'potted plant',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌲',\n names: ['evergreen_tree'],\n tags: ['wood'],\n description: 'evergreen tree',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌳',\n names: ['deciduous_tree'],\n tags: ['wood'],\n description: 'deciduous tree',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌴',\n names: ['palm_tree'],\n tags: [],\n description: 'palm tree',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌵',\n names: ['cactus'],\n tags: [],\n description: 'cactus',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌾',\n names: ['ear_of_rice'],\n tags: [],\n description: 'sheaf of rice',\n category: 'Animals & Nature'\n },\n {\n emoji: '🌿',\n names: ['herb'],\n tags: [],\n description: 'herb',\n category: 'Animals & Nature'\n },\n {\n emoji: '☘️',\n names: ['shamrock'],\n tags: [],\n description: 'shamrock',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍀',\n names: ['four_leaf_clover'],\n tags: ['luck'],\n description: 'four leaf clover',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍁',\n names: ['maple_leaf'],\n tags: ['canada'],\n description: 'maple leaf',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍂',\n names: ['fallen_leaf'],\n tags: ['autumn'],\n description: 'fallen leaf',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍃',\n names: ['leaves'],\n tags: ['leaf'],\n description: 'leaf fluttering in wind',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪹',\n names: ['empty_nest'],\n tags: [],\n description: 'empty nest',\n category: 'Animals & Nature'\n },\n {\n emoji: '🪺',\n names: ['nest_with_eggs'],\n tags: [],\n description: 'nest with eggs',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍄',\n names: ['mushroom'],\n tags: ['fungus'],\n description: 'mushroom',\n category: 'Animals & Nature'\n },\n {\n emoji: '🍇',\n names: ['grapes'],\n tags: [],\n description: 'grapes',\n category: 'Food & Drink'\n },\n {\n emoji: '🍈',\n names: ['melon'],\n tags: [],\n description: 'melon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍉',\n names: ['watermelon'],\n tags: [],\n description: 'watermelon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍊',\n names: ['tangerine', 'orange', 'mandarin'],\n tags: [],\n description: 'tangerine',\n category: 'Food & Drink'\n },\n {\n emoji: '🍋',\n names: ['lemon'],\n tags: [],\n description: 'lemon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍌',\n names: ['banana'],\n tags: ['fruit'],\n description: 'banana',\n category: 'Food & Drink'\n },\n {\n emoji: '🍍',\n names: ['pineapple'],\n tags: [],\n description: 'pineapple',\n category: 'Food & Drink'\n },\n {\n emoji: '🥭',\n names: ['mango'],\n tags: [],\n description: 'mango',\n category: 'Food & Drink'\n },\n {\n emoji: '🍎',\n names: ['apple'],\n tags: [],\n description: 'red apple',\n category: 'Food & Drink'\n },\n {\n emoji: '🍏',\n names: ['green_apple'],\n tags: ['fruit'],\n description: 'green apple',\n category: 'Food & Drink'\n },\n {\n emoji: '🍐',\n names: ['pear'],\n tags: [],\n description: 'pear',\n category: 'Food & Drink'\n },\n {\n emoji: '🍑',\n names: ['peach'],\n tags: [],\n description: 'peach',\n category: 'Food & Drink'\n },\n {\n emoji: '🍒',\n names: ['cherries'],\n tags: ['fruit'],\n description: 'cherries',\n category: 'Food & Drink'\n },\n {\n emoji: '🍓',\n names: ['strawberry'],\n tags: ['fruit'],\n description: 'strawberry',\n category: 'Food & Drink'\n },\n {\n emoji: '🫐',\n names: ['blueberries'],\n tags: [],\n description: 'blueberries',\n category: 'Food & Drink'\n },\n {\n emoji: '🥝',\n names: ['kiwi_fruit'],\n tags: [],\n description: 'kiwi fruit',\n category: 'Food & Drink'\n },\n {\n emoji: '🍅',\n names: ['tomato'],\n tags: [],\n description: 'tomato',\n category: 'Food & Drink'\n },\n {\n emoji: '🫒',\n names: ['olive'],\n tags: [],\n description: 'olive',\n category: 'Food & Drink'\n },\n {\n emoji: '🥥',\n names: ['coconut'],\n tags: [],\n description: 'coconut',\n category: 'Food & Drink'\n },\n {\n emoji: '🥑',\n names: ['avocado'],\n tags: [],\n description: 'avocado',\n category: 'Food & Drink'\n },\n {\n emoji: '🍆',\n names: ['eggplant'],\n tags: ['aubergine'],\n description: 'eggplant',\n category: 'Food & Drink'\n },\n {\n emoji: '🥔',\n names: ['potato'],\n tags: [],\n description: 'potato',\n category: 'Food & Drink'\n },\n {\n emoji: '🥕',\n names: ['carrot'],\n tags: [],\n description: 'carrot',\n category: 'Food & Drink'\n },\n {\n emoji: '🌽',\n names: ['corn'],\n tags: [],\n description: 'ear of corn',\n category: 'Food & Drink'\n },\n {\n emoji: '🌶️',\n names: ['hot_pepper'],\n tags: ['spicy'],\n description: 'hot pepper',\n category: 'Food & Drink'\n },\n {\n emoji: '🫑',\n names: ['bell_pepper'],\n tags: [],\n description: 'bell pepper',\n category: 'Food & Drink'\n },\n {\n emoji: '🥒',\n names: ['cucumber'],\n tags: [],\n description: 'cucumber',\n category: 'Food & Drink'\n },\n {\n emoji: '🥬',\n names: ['leafy_green'],\n tags: [],\n description: 'leafy green',\n category: 'Food & Drink'\n },\n {\n emoji: '🥦',\n names: ['broccoli'],\n tags: [],\n description: 'broccoli',\n category: 'Food & Drink'\n },\n {\n emoji: '🧄',\n names: ['garlic'],\n tags: [],\n description: 'garlic',\n category: 'Food & Drink'\n },\n {\n emoji: '🧅',\n names: ['onion'],\n tags: [],\n description: 'onion',\n category: 'Food & Drink'\n },\n {\n emoji: '🥜',\n names: ['peanuts'],\n tags: [],\n description: 'peanuts',\n category: 'Food & Drink'\n },\n {\n emoji: '🫘',\n names: ['beans'],\n tags: [],\n description: 'beans',\n category: 'Food & Drink'\n },\n {\n emoji: '🌰',\n names: ['chestnut'],\n tags: [],\n description: 'chestnut',\n category: 'Food & Drink'\n },\n {\n emoji: '🫚',\n names: ['ginger_root'],\n tags: [],\n description: 'ginger root',\n category: 'Food & Drink'\n },\n {\n emoji: '🫛',\n names: ['pea_pod'],\n tags: [],\n description: 'pea pod',\n category: 'Food & Drink'\n },\n {\n emoji: '🍞',\n names: ['bread'],\n tags: ['toast'],\n description: 'bread',\n category: 'Food & Drink'\n },\n {\n emoji: '🥐',\n names: ['croissant'],\n tags: [],\n description: 'croissant',\n category: 'Food & Drink'\n },\n {\n emoji: '🥖',\n names: ['baguette_bread'],\n tags: [],\n description: 'baguette bread',\n category: 'Food & Drink'\n },\n {\n emoji: '🫓',\n names: ['flatbread'],\n tags: [],\n description: 'flatbread',\n category: 'Food & Drink'\n },\n {\n emoji: '🥨',\n names: ['pretzel'],\n tags: [],\n description: 'pretzel',\n category: 'Food & Drink'\n },\n {\n emoji: '🥯',\n names: ['bagel'],\n tags: [],\n description: 'bagel',\n category: 'Food & Drink'\n },\n {\n emoji: '🥞',\n names: ['pancakes'],\n tags: [],\n description: 'pancakes',\n category: 'Food & Drink'\n },\n {\n emoji: '🧇',\n names: ['waffle'],\n tags: [],\n description: 'waffle',\n category: 'Food & Drink'\n },\n {\n emoji: '🧀',\n names: ['cheese'],\n tags: [],\n description: 'cheese wedge',\n category: 'Food & Drink'\n },\n {\n emoji: '🍖',\n names: ['meat_on_bone'],\n tags: [],\n description: 'meat on bone',\n category: 'Food & Drink'\n },\n {\n emoji: '🍗',\n names: ['poultry_leg'],\n tags: ['meat', 'chicken'],\n description: 'poultry leg',\n category: 'Food & Drink'\n },\n {\n emoji: '🥩',\n names: ['cut_of_meat'],\n tags: [],\n description: 'cut of meat',\n category: 'Food & Drink'\n },\n {\n emoji: '🥓',\n names: ['bacon'],\n tags: [],\n description: 'bacon',\n category: 'Food & Drink'\n },\n {\n emoji: '🍔',\n names: ['hamburger'],\n tags: ['burger'],\n description: 'hamburger',\n category: 'Food & Drink'\n },\n {\n emoji: '🍟',\n names: ['fries'],\n tags: [],\n description: 'french fries',\n category: 'Food & Drink'\n },\n {\n emoji: '🍕',\n names: ['pizza'],\n tags: [],\n description: 'pizza',\n category: 'Food & Drink'\n },\n {\n emoji: '🌭',\n names: ['hotdog'],\n tags: [],\n description: 'hot dog',\n category: 'Food & Drink'\n },\n {\n emoji: '🥪',\n names: ['sandwich'],\n tags: [],\n description: 'sandwich',\n category: 'Food & Drink'\n },\n {\n emoji: '🌮',\n names: ['taco'],\n tags: [],\n description: 'taco',\n category: 'Food & Drink'\n },\n {\n emoji: '🌯',\n names: ['burrito'],\n tags: [],\n description: 'burrito',\n category: 'Food & Drink'\n },\n {\n emoji: '🫔',\n names: ['tamale'],\n tags: [],\n description: 'tamale',\n category: 'Food & Drink'\n },\n {\n emoji: '🥙',\n names: ['stuffed_flatbread'],\n tags: [],\n description: 'stuffed flatbread',\n category: 'Food & Drink'\n },\n {\n emoji: '🧆',\n names: ['falafel'],\n tags: [],\n description: 'falafel',\n category: 'Food & Drink'\n },\n {\n emoji: '🥚',\n names: ['egg'],\n tags: [],\n description: 'egg',\n category: 'Food & Drink'\n },\n {\n emoji: '🍳',\n names: ['fried_egg'],\n tags: ['breakfast'],\n description: 'cooking',\n category: 'Food & Drink'\n },\n {\n emoji: '🥘',\n names: ['shallow_pan_of_food'],\n tags: ['paella', 'curry'],\n description: 'shallow pan of food',\n category: 'Food & Drink'\n },\n {\n emoji: '🍲',\n names: ['stew'],\n tags: [],\n description: 'pot of food',\n category: 'Food & Drink'\n },\n {\n emoji: '🫕',\n names: ['fondue'],\n tags: [],\n description: 'fondue',\n category: 'Food & Drink'\n },\n {\n emoji: '🥣',\n names: ['bowl_with_spoon'],\n tags: [],\n description: 'bowl with spoon',\n category: 'Food & Drink'\n },\n {\n emoji: '🥗',\n names: ['green_salad'],\n tags: [],\n description: 'green salad',\n category: 'Food & Drink'\n },\n {\n emoji: '🍿',\n names: ['popcorn'],\n tags: [],\n description: 'popcorn',\n category: 'Food & Drink'\n },\n {\n emoji: '🧈',\n names: ['butter'],\n tags: [],\n description: 'butter',\n category: 'Food & Drink'\n },\n {\n emoji: '🧂',\n names: ['salt'],\n tags: [],\n description: 'salt',\n category: 'Food & Drink'\n },\n {\n emoji: '🥫',\n names: ['canned_food'],\n tags: [],\n description: 'canned food',\n category: 'Food & Drink'\n },\n {\n emoji: '🍱',\n names: ['bento'],\n tags: [],\n description: 'bento box',\n category: 'Food & Drink'\n },\n {\n emoji: '🍘',\n names: ['rice_cracker'],\n tags: [],\n description: 'rice cracker',\n category: 'Food & Drink'\n },\n {\n emoji: '🍙',\n names: ['rice_ball'],\n tags: [],\n description: 'rice ball',\n category: 'Food & Drink'\n },\n {\n emoji: '🍚',\n names: ['rice'],\n tags: [],\n description: 'cooked rice',\n category: 'Food & Drink'\n },\n {\n emoji: '🍛',\n names: ['curry'],\n tags: [],\n description: 'curry rice',\n category: 'Food & Drink'\n },\n {\n emoji: '🍜',\n names: ['ramen'],\n tags: ['noodle'],\n description: 'steaming bowl',\n category: 'Food & Drink'\n },\n {\n emoji: '🍝',\n names: ['spaghetti'],\n tags: ['pasta'],\n description: 'spaghetti',\n category: 'Food & Drink'\n },\n {\n emoji: '🍠',\n names: ['sweet_potato'],\n tags: [],\n description: 'roasted sweet potato',\n category: 'Food & Drink'\n },\n {\n emoji: '🍢',\n names: ['oden'],\n tags: [],\n description: 'oden',\n category: 'Food & Drink'\n },\n {\n emoji: '🍣',\n names: ['sushi'],\n tags: [],\n description: 'sushi',\n category: 'Food & Drink'\n },\n {\n emoji: '🍤',\n names: ['fried_shrimp'],\n tags: ['tempura'],\n description: 'fried shrimp',\n category: 'Food & Drink'\n },\n {\n emoji: '🍥',\n names: ['fish_cake'],\n tags: [],\n description: 'fish cake with swirl',\n category: 'Food & Drink'\n },\n {\n emoji: '🥮',\n names: ['moon_cake'],\n tags: [],\n description: 'moon cake',\n category: 'Food & Drink'\n },\n {\n emoji: '🍡',\n names: ['dango'],\n tags: [],\n description: 'dango',\n category: 'Food & Drink'\n },\n {\n emoji: '🥟',\n names: ['dumpling'],\n tags: [],\n description: 'dumpling',\n category: 'Food & Drink'\n },\n {\n emoji: '🥠',\n names: ['fortune_cookie'],\n tags: [],\n description: 'fortune cookie',\n category: 'Food & Drink'\n },\n {\n emoji: '🥡',\n names: ['takeout_box'],\n tags: [],\n description: 'takeout box',\n category: 'Food & Drink'\n },\n {\n emoji: '🦀',\n names: ['crab'],\n tags: [],\n description: 'crab',\n category: 'Food & Drink'\n },\n {\n emoji: '🦞',\n names: ['lobster'],\n tags: [],\n description: 'lobster',\n category: 'Food & Drink'\n },\n {\n emoji: '🦐',\n names: ['shrimp'],\n tags: [],\n description: 'shrimp',\n category: 'Food & Drink'\n },\n {\n emoji: '🦑',\n names: ['squid'],\n tags: [],\n description: 'squid',\n category: 'Food & Drink'\n },\n {\n emoji: '🦪',\n names: ['oyster'],\n tags: [],\n description: 'oyster',\n category: 'Food & Drink'\n },\n {\n emoji: '🍦',\n names: ['icecream'],\n tags: [],\n description: 'soft ice cream',\n category: 'Food & Drink'\n },\n {\n emoji: '🍧',\n names: ['shaved_ice'],\n tags: [],\n description: 'shaved ice',\n category: 'Food & Drink'\n },\n {\n emoji: '🍨',\n names: ['ice_cream'],\n tags: [],\n description: 'ice cream',\n category: 'Food & Drink'\n },\n {\n emoji: '🍩',\n names: ['doughnut'],\n tags: [],\n description: 'doughnut',\n category: 'Food & Drink'\n },\n {\n emoji: '🍪',\n names: ['cookie'],\n tags: [],\n description: 'cookie',\n category: 'Food & Drink'\n },\n {\n emoji: '🎂',\n names: ['birthday'],\n tags: ['party'],\n description: 'birthday cake',\n category: 'Food & Drink'\n },\n {\n emoji: '🍰',\n names: ['cake'],\n tags: ['dessert'],\n description: 'shortcake',\n category: 'Food & Drink'\n },\n {\n emoji: '🧁',\n names: ['cupcake'],\n tags: [],\n description: 'cupcake',\n category: 'Food & Drink'\n },\n {\n emoji: '🥧',\n names: ['pie'],\n tags: [],\n description: 'pie',\n category: 'Food & Drink'\n },\n {\n emoji: '🍫',\n names: ['chocolate_bar'],\n tags: [],\n description: 'chocolate bar',\n category: 'Food & Drink'\n },\n {\n emoji: '🍬',\n names: ['candy'],\n tags: ['sweet'],\n description: 'candy',\n category: 'Food & Drink'\n },\n {\n emoji: '🍭',\n names: ['lollipop'],\n tags: [],\n description: 'lollipop',\n category: 'Food & Drink'\n },\n {\n emoji: '🍮',\n names: ['custard'],\n tags: [],\n description: 'custard',\n category: 'Food & Drink'\n },\n {\n emoji: '🍯',\n names: ['honey_pot'],\n tags: [],\n description: 'honey pot',\n category: 'Food & Drink'\n },\n {\n emoji: '🍼',\n names: ['baby_bottle'],\n tags: ['milk'],\n description: 'baby bottle',\n category: 'Food & Drink'\n },\n {\n emoji: '🥛',\n names: ['milk_glass'],\n tags: [],\n description: 'glass of milk',\n category: 'Food & Drink'\n },\n {\n emoji: '☕',\n names: ['coffee'],\n tags: ['cafe', 'espresso'],\n description: 'hot beverage',\n category: 'Food & Drink'\n },\n {\n emoji: '🫖',\n names: ['teapot'],\n tags: [],\n description: 'teapot',\n category: 'Food & Drink'\n },\n {\n emoji: '🍵',\n names: ['tea'],\n tags: ['green', 'breakfast'],\n description: 'teacup without handle',\n category: 'Food & Drink'\n },\n {\n emoji: '🍶',\n names: ['sake'],\n tags: [],\n description: 'sake',\n category: 'Food & Drink'\n },\n {\n emoji: '🍾',\n names: ['champagne'],\n tags: ['bottle', 'bubbly', 'celebration'],\n description: 'bottle with popping cork',\n category: 'Food & Drink'\n },\n {\n emoji: '🍷',\n names: ['wine_glass'],\n tags: [],\n description: 'wine glass',\n category: 'Food & Drink'\n },\n {\n emoji: '🍸',\n names: ['cocktail'],\n tags: ['drink'],\n description: 'cocktail glass',\n category: 'Food & Drink'\n },\n {\n emoji: '🍹',\n names: ['tropical_drink'],\n tags: ['summer', 'vacation'],\n description: 'tropical drink',\n category: 'Food & Drink'\n },\n {\n emoji: '🍺',\n names: ['beer'],\n tags: ['drink'],\n description: 'beer mug',\n category: 'Food & Drink'\n },\n {\n emoji: '🍻',\n names: ['beers'],\n tags: ['drinks'],\n description: 'clinking beer mugs',\n category: 'Food & Drink'\n },\n {\n emoji: '🥂',\n names: ['clinking_glasses'],\n tags: ['cheers', 'toast'],\n description: 'clinking glasses',\n category: 'Food & Drink'\n },\n {\n emoji: '🥃',\n names: ['tumbler_glass'],\n tags: ['whisky'],\n description: 'tumbler glass',\n category: 'Food & Drink'\n },\n {\n emoji: '🫗',\n names: ['pouring_liquid'],\n tags: [],\n description: 'pouring liquid',\n category: 'Food & Drink'\n },\n {\n emoji: '🥤',\n names: ['cup_with_straw'],\n tags: [],\n description: 'cup with straw',\n category: 'Food & Drink'\n },\n {\n emoji: '🧋',\n names: ['bubble_tea'],\n tags: [],\n description: 'bubble tea',\n category: 'Food & Drink'\n },\n {\n emoji: '🧃',\n names: ['beverage_box'],\n tags: [],\n description: 'beverage box',\n category: 'Food & Drink'\n },\n {\n emoji: '🧉',\n names: ['mate'],\n tags: [],\n description: 'mate',\n category: 'Food & Drink'\n },\n {\n emoji: '🧊',\n names: ['ice_cube'],\n tags: [],\n description: 'ice',\n category: 'Food & Drink'\n },\n {\n emoji: '🥢',\n names: ['chopsticks'],\n tags: [],\n description: 'chopsticks',\n category: 'Food & Drink'\n },\n {\n emoji: '🍽️',\n names: ['plate_with_cutlery'],\n tags: ['dining', 'dinner'],\n description: 'fork and knife with plate',\n category: 'Food & Drink'\n },\n {\n emoji: '🍴',\n names: ['fork_and_knife'],\n tags: ['cutlery'],\n description: 'fork and knife',\n category: 'Food & Drink'\n },\n {\n emoji: '🥄',\n names: ['spoon'],\n tags: [],\n description: 'spoon',\n category: 'Food & Drink'\n },\n {\n emoji: '🔪',\n names: ['hocho', 'knife'],\n tags: ['cut', 'chop'],\n description: 'kitchen knife',\n category: 'Food & Drink'\n },\n {\n emoji: '🫙',\n names: ['jar'],\n tags: [],\n description: 'jar',\n category: 'Food & Drink'\n },\n {\n emoji: '🏺',\n names: ['amphora'],\n tags: [],\n description: 'amphora',\n category: 'Food & Drink'\n },\n {\n emoji: '🌍',\n names: ['earth_africa'],\n tags: ['globe', 'world', 'international'],\n description: 'globe showing Europe-Africa',\n category: 'Travel & Places'\n },\n {\n emoji: '🌎',\n names: ['earth_americas'],\n tags: ['globe', 'world', 'international'],\n description: 'globe showing Americas',\n category: 'Travel & Places'\n },\n {\n emoji: '🌏',\n names: ['earth_asia'],\n tags: ['globe', 'world', 'international'],\n description: 'globe showing Asia-Australia',\n category: 'Travel & Places'\n },\n {\n emoji: '🌐',\n names: ['globe_with_meridians'],\n tags: ['world', 'global', 'international'],\n description: 'globe with meridians',\n category: 'Travel & Places'\n },\n {\n emoji: '🗺️',\n names: ['world_map'],\n tags: ['travel'],\n description: 'world map',\n category: 'Travel & Places'\n },\n {\n emoji: '🗾',\n names: ['japan'],\n tags: [],\n description: 'map of Japan',\n category: 'Travel & Places'\n },\n {\n emoji: '🧭',\n names: ['compass'],\n tags: [],\n description: 'compass',\n category: 'Travel & Places'\n },\n {\n emoji: '🏔️',\n names: ['mountain_snow'],\n tags: [],\n description: 'snow-capped mountain',\n category: 'Travel & Places'\n },\n {\n emoji: '⛰️',\n names: ['mountain'],\n tags: [],\n description: 'mountain',\n category: 'Travel & Places'\n },\n {\n emoji: '🌋',\n names: ['volcano'],\n tags: [],\n description: 'volcano',\n category: 'Travel & Places'\n },\n {\n emoji: '🗻',\n names: ['mount_fuji'],\n tags: [],\n description: 'mount fuji',\n category: 'Travel & Places'\n },\n {\n emoji: '🏕️',\n names: ['camping'],\n tags: [],\n description: 'camping',\n category: 'Travel & Places'\n },\n {\n emoji: '🏖️',\n names: ['beach_umbrella'],\n tags: [],\n description: 'beach with umbrella',\n category: 'Travel & Places'\n },\n {\n emoji: '🏜️',\n names: ['desert'],\n tags: [],\n description: 'desert',\n category: 'Travel & Places'\n },\n {\n emoji: '🏝️',\n names: ['desert_island'],\n tags: [],\n description: 'desert island',\n category: 'Travel & Places'\n },\n {\n emoji: '🏞️',\n names: ['national_park'],\n tags: [],\n description: 'national park',\n category: 'Travel & Places'\n },\n {\n emoji: '🏟️',\n names: ['stadium'],\n tags: [],\n description: 'stadium',\n category: 'Travel & Places'\n },\n {\n emoji: '🏛️',\n names: ['classical_building'],\n tags: [],\n description: 'classical building',\n category: 'Travel & Places'\n },\n {\n emoji: '🏗️',\n names: ['building_construction'],\n tags: [],\n description: 'building construction',\n category: 'Travel & Places'\n },\n {\n emoji: '🧱',\n names: ['bricks'],\n tags: [],\n description: 'brick',\n category: 'Travel & Places'\n },\n {\n emoji: '🪨',\n names: ['rock'],\n tags: [],\n description: 'rock',\n category: 'Travel & Places'\n },\n {\n emoji: '🪵',\n names: ['wood'],\n tags: [],\n description: 'wood',\n category: 'Travel & Places'\n },\n {\n emoji: '🛖',\n names: ['hut'],\n tags: [],\n description: 'hut',\n category: 'Travel & Places'\n },\n {\n emoji: '🏘️',\n names: ['houses'],\n tags: [],\n description: 'houses',\n category: 'Travel & Places'\n },\n {\n emoji: '🏚️',\n names: ['derelict_house'],\n tags: [],\n description: 'derelict house',\n category: 'Travel & Places'\n },\n {\n emoji: '🏠',\n names: ['house'],\n tags: [],\n description: 'house',\n category: 'Travel & Places'\n },\n {\n emoji: '🏡',\n names: ['house_with_garden'],\n tags: [],\n description: 'house with garden',\n category: 'Travel & Places'\n },\n {\n emoji: '🏢',\n names: ['office'],\n tags: [],\n description: 'office building',\n category: 'Travel & Places'\n },\n {\n emoji: '🏣',\n names: ['post_office'],\n tags: [],\n description: 'Japanese post office',\n category: 'Travel & Places'\n },\n {\n emoji: '🏤',\n names: ['european_post_office'],\n tags: [],\n description: 'post office',\n category: 'Travel & Places'\n },\n {\n emoji: '🏥',\n names: ['hospital'],\n tags: [],\n description: 'hospital',\n category: 'Travel & Places'\n },\n {\n emoji: '🏦',\n names: ['bank'],\n tags: [],\n description: 'bank',\n category: 'Travel & Places'\n },\n {\n emoji: '🏨',\n names: ['hotel'],\n tags: [],\n description: 'hotel',\n category: 'Travel & Places'\n },\n {\n emoji: '🏩',\n names: ['love_hotel'],\n tags: [],\n description: 'love hotel',\n category: 'Travel & Places'\n },\n {\n emoji: '🏪',\n names: ['convenience_store'],\n tags: [],\n description: 'convenience store',\n category: 'Travel & Places'\n },\n {\n emoji: '🏫',\n names: ['school'],\n tags: [],\n description: 'school',\n category: 'Travel & Places'\n },\n {\n emoji: '🏬',\n names: ['department_store'],\n tags: [],\n description: 'department store',\n category: 'Travel & Places'\n },\n {\n emoji: '🏭',\n names: ['factory'],\n tags: [],\n description: 'factory',\n category: 'Travel & Places'\n },\n {\n emoji: '🏯',\n names: ['japanese_castle'],\n tags: [],\n description: 'Japanese castle',\n category: 'Travel & Places'\n },\n {\n emoji: '🏰',\n names: ['european_castle'],\n tags: [],\n description: 'castle',\n category: 'Travel & Places'\n },\n {\n emoji: '💒',\n names: ['wedding'],\n tags: ['marriage'],\n description: 'wedding',\n category: 'Travel & Places'\n },\n {\n emoji: '🗼',\n names: ['tokyo_tower'],\n tags: [],\n description: 'Tokyo tower',\n category: 'Travel & Places'\n },\n {\n emoji: '🗽',\n names: ['statue_of_liberty'],\n tags: [],\n description: 'Statue of Liberty',\n category: 'Travel & Places'\n },\n {\n emoji: '⛪',\n names: ['church'],\n tags: [],\n description: 'church',\n category: 'Travel & Places'\n },\n {\n emoji: '🕌',\n names: ['mosque'],\n tags: [],\n description: 'mosque',\n category: 'Travel & Places'\n },\n {\n emoji: '🛕',\n names: ['hindu_temple'],\n tags: [],\n description: 'hindu temple',\n category: 'Travel & Places'\n },\n {\n emoji: '🕍',\n names: ['synagogue'],\n tags: [],\n description: 'synagogue',\n category: 'Travel & Places'\n },\n {\n emoji: '⛩️',\n names: ['shinto_shrine'],\n tags: [],\n description: 'shinto shrine',\n category: 'Travel & Places'\n },\n {\n emoji: '🕋',\n names: ['kaaba'],\n tags: [],\n description: 'kaaba',\n category: 'Travel & Places'\n },\n {\n emoji: '⛲',\n names: ['fountain'],\n tags: [],\n description: 'fountain',\n category: 'Travel & Places'\n },\n {\n emoji: '⛺',\n names: ['tent'],\n tags: ['camping'],\n description: 'tent',\n category: 'Travel & Places'\n },\n {\n emoji: '🌁',\n names: ['foggy'],\n tags: ['karl'],\n description: 'foggy',\n category: 'Travel & Places'\n },\n {\n emoji: '🌃',\n names: ['night_with_stars'],\n tags: [],\n description: 'night with stars',\n category: 'Travel & Places'\n },\n {\n emoji: '🏙️',\n names: ['cityscape'],\n tags: ['skyline'],\n description: 'cityscape',\n category: 'Travel & Places'\n },\n {\n emoji: '🌄',\n names: ['sunrise_over_mountains'],\n tags: [],\n description: 'sunrise over mountains',\n category: 'Travel & Places'\n },\n {\n emoji: '🌅',\n names: ['sunrise'],\n tags: [],\n description: 'sunrise',\n category: 'Travel & Places'\n },\n {\n emoji: '🌆',\n names: ['city_sunset'],\n tags: [],\n description: 'cityscape at dusk',\n category: 'Travel & Places'\n },\n {\n emoji: '🌇',\n names: ['city_sunrise'],\n tags: [],\n description: 'sunset',\n category: 'Travel & Places'\n },\n {\n emoji: '🌉',\n names: ['bridge_at_night'],\n tags: [],\n description: 'bridge at night',\n category: 'Travel & Places'\n },\n {\n emoji: '♨️',\n names: ['hotsprings'],\n tags: [],\n description: 'hot springs',\n category: 'Travel & Places'\n },\n {\n emoji: '🎠',\n names: ['carousel_horse'],\n tags: [],\n description: 'carousel horse',\n category: 'Travel & Places'\n },\n {\n emoji: '🛝',\n names: ['playground_slide'],\n tags: [],\n description: 'playground slide',\n category: 'Travel & Places'\n },\n {\n emoji: '🎡',\n names: ['ferris_wheel'],\n tags: [],\n description: 'ferris wheel',\n category: 'Travel & Places'\n },\n {\n emoji: '🎢',\n names: ['roller_coaster'],\n tags: [],\n description: 'roller coaster',\n category: 'Travel & Places'\n },\n {\n emoji: '💈',\n names: ['barber'],\n tags: [],\n description: 'barber pole',\n category: 'Travel & Places'\n },\n {\n emoji: '🎪',\n names: ['circus_tent'],\n tags: [],\n description: 'circus tent',\n category: 'Travel & Places'\n },\n {\n emoji: '🚂',\n names: ['steam_locomotive'],\n tags: ['train'],\n description: 'locomotive',\n category: 'Travel & Places'\n },\n {\n emoji: '🚃',\n names: ['railway_car'],\n tags: [],\n description: 'railway car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚄',\n names: ['bullettrain_side'],\n tags: ['train'],\n description: 'high-speed train',\n category: 'Travel & Places'\n },\n {\n emoji: '🚅',\n names: ['bullettrain_front'],\n tags: ['train'],\n description: 'bullet train',\n category: 'Travel & Places'\n },\n {\n emoji: '🚆',\n names: ['train2'],\n tags: [],\n description: 'train',\n category: 'Travel & Places'\n },\n {\n emoji: '🚇',\n names: ['metro'],\n tags: [],\n description: 'metro',\n category: 'Travel & Places'\n },\n {\n emoji: '🚈',\n names: ['light_rail'],\n tags: [],\n description: 'light rail',\n category: 'Travel & Places'\n },\n {\n emoji: '🚉',\n names: ['station'],\n tags: [],\n description: 'station',\n category: 'Travel & Places'\n },\n {\n emoji: '🚊',\n names: ['tram'],\n tags: [],\n description: 'tram',\n category: 'Travel & Places'\n },\n {\n emoji: '🚝',\n names: ['monorail'],\n tags: [],\n description: 'monorail',\n category: 'Travel & Places'\n },\n {\n emoji: '🚞',\n names: ['mountain_railway'],\n tags: [],\n description: 'mountain railway',\n category: 'Travel & Places'\n },\n {\n emoji: '🚋',\n names: ['train'],\n tags: [],\n description: 'tram car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚌',\n names: ['bus'],\n tags: [],\n description: 'bus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚍',\n names: ['oncoming_bus'],\n tags: [],\n description: 'oncoming bus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚎',\n names: ['trolleybus'],\n tags: [],\n description: 'trolleybus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚐',\n names: ['minibus'],\n tags: [],\n description: 'minibus',\n category: 'Travel & Places'\n },\n {\n emoji: '🚑',\n names: ['ambulance'],\n tags: [],\n description: 'ambulance',\n category: 'Travel & Places'\n },\n {\n emoji: '🚒',\n names: ['fire_engine'],\n tags: [],\n description: 'fire engine',\n category: 'Travel & Places'\n },\n {\n emoji: '🚓',\n names: ['police_car'],\n tags: [],\n description: 'police car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚔',\n names: ['oncoming_police_car'],\n tags: [],\n description: 'oncoming police car',\n category: 'Travel & Places'\n },\n {\n emoji: '🚕',\n names: ['taxi'],\n tags: [],\n description: 'taxi',\n category: 'Travel & Places'\n },\n {\n emoji: '🚖',\n names: ['oncoming_taxi'],\n tags: [],\n description: 'oncoming taxi',\n category: 'Travel & Places'\n },\n {\n emoji: '🚗',\n names: ['car', 'red_car'],\n tags: [],\n description: 'automobile',\n category: 'Travel & Places'\n },\n {\n emoji: '🚘',\n names: ['oncoming_automobile'],\n tags: [],\n description: 'oncoming automobile',\n category: 'Travel & Places'\n },\n {\n emoji: '🚙',\n names: ['blue_car'],\n tags: [],\n description: 'sport utility vehicle',\n category: 'Travel & Places'\n },\n {\n emoji: '🛻',\n names: ['pickup_truck'],\n tags: [],\n description: 'pickup truck',\n category: 'Travel & Places'\n },\n {\n emoji: '🚚',\n names: ['truck'],\n tags: [],\n description: 'delivery truck',\n category: 'Travel & Places'\n },\n {\n emoji: '🚛',\n names: ['articulated_lorry'],\n tags: [],\n description: 'articulated lorry',\n category: 'Travel & Places'\n },\n {\n emoji: '🚜',\n names: ['tractor'],\n tags: [],\n description: 'tractor',\n category: 'Travel & Places'\n },\n {\n emoji: '🏎️',\n names: ['racing_car'],\n tags: [],\n description: 'racing car',\n category: 'Travel & Places'\n },\n {\n emoji: '🏍️',\n names: ['motorcycle'],\n tags: [],\n description: 'motorcycle',\n category: 'Travel & Places'\n },\n {\n emoji: '🛵',\n names: ['motor_scooter'],\n tags: [],\n description: 'motor scooter',\n category: 'Travel & Places'\n },\n {\n emoji: '🦽',\n names: ['manual_wheelchair'],\n tags: [],\n description: 'manual wheelchair',\n category: 'Travel & Places'\n },\n {\n emoji: '🦼',\n names: ['motorized_wheelchair'],\n tags: [],\n description: 'motorized wheelchair',\n category: 'Travel & Places'\n },\n {\n emoji: '🛺',\n names: ['auto_rickshaw'],\n tags: [],\n description: 'auto rickshaw',\n category: 'Travel & Places'\n },\n {\n emoji: '🚲',\n names: ['bike'],\n tags: ['bicycle'],\n description: 'bicycle',\n category: 'Travel & Places'\n },\n {\n emoji: '🛴',\n names: ['kick_scooter'],\n tags: [],\n description: 'kick scooter',\n category: 'Travel & Places'\n },\n {\n emoji: '🛹',\n names: ['skateboard'],\n tags: [],\n description: 'skateboard',\n category: 'Travel & Places'\n },\n {\n emoji: '🛼',\n names: ['roller_skate'],\n tags: [],\n description: 'roller skate',\n category: 'Travel & Places'\n },\n {\n emoji: '🚏',\n names: ['busstop'],\n tags: [],\n description: 'bus stop',\n category: 'Travel & Places'\n },\n {\n emoji: '🛣️',\n names: ['motorway'],\n tags: [],\n description: 'motorway',\n category: 'Travel & Places'\n },\n {\n emoji: '🛤️',\n names: ['railway_track'],\n tags: [],\n description: 'railway track',\n category: 'Travel & Places'\n },\n {\n emoji: '🛢️',\n names: ['oil_drum'],\n tags: [],\n description: 'oil drum',\n category: 'Travel & Places'\n },\n {\n emoji: '⛽',\n names: ['fuelpump'],\n tags: [],\n description: 'fuel pump',\n category: 'Travel & Places'\n },\n {\n emoji: '🛞',\n names: ['wheel'],\n tags: [],\n description: 'wheel',\n category: 'Travel & Places'\n },\n {\n emoji: '🚨',\n names: ['rotating_light'],\n tags: ['911', 'emergency'],\n description: 'police car light',\n category: 'Travel & Places'\n },\n {\n emoji: '🚥',\n names: ['traffic_light'],\n tags: [],\n description: 'horizontal traffic light',\n category: 'Travel & Places'\n },\n {\n emoji: '🚦',\n names: ['vertical_traffic_light'],\n tags: ['semaphore'],\n description: 'vertical traffic light',\n category: 'Travel & Places'\n },\n {\n emoji: '🛑',\n names: ['stop_sign'],\n tags: [],\n description: 'stop sign',\n category: 'Travel & Places'\n },\n {\n emoji: '🚧',\n names: ['construction'],\n tags: ['wip'],\n description: 'construction',\n category: 'Travel & Places'\n },\n {\n emoji: '⚓',\n names: ['anchor'],\n tags: ['ship'],\n description: 'anchor',\n category: 'Travel & Places'\n },\n {\n emoji: '🛟',\n names: ['ring_buoy'],\n tags: ['life preserver'],\n description: 'ring buoy',\n category: 'Travel & Places'\n },\n {\n emoji: '⛵',\n names: ['boat', 'sailboat'],\n tags: [],\n description: 'sailboat',\n category: 'Travel & Places'\n },\n {\n emoji: '🛶',\n names: ['canoe'],\n tags: [],\n description: 'canoe',\n category: 'Travel & Places'\n },\n {\n emoji: '🚤',\n names: ['speedboat'],\n tags: ['ship'],\n description: 'speedboat',\n category: 'Travel & Places'\n },\n {\n emoji: '🛳️',\n names: ['passenger_ship'],\n tags: ['cruise'],\n description: 'passenger ship',\n category: 'Travel & Places'\n },\n {\n emoji: '⛴️',\n names: ['ferry'],\n tags: [],\n description: 'ferry',\n category: 'Travel & Places'\n },\n {\n emoji: '🛥️',\n names: ['motor_boat'],\n tags: [],\n description: 'motor boat',\n category: 'Travel & Places'\n },\n {\n emoji: '🚢',\n names: ['ship'],\n tags: [],\n description: 'ship',\n category: 'Travel & Places'\n },\n {\n emoji: '✈️',\n names: ['airplane'],\n tags: ['flight'],\n description: 'airplane',\n category: 'Travel & Places'\n },\n {\n emoji: '🛩️',\n names: ['small_airplane'],\n tags: ['flight'],\n description: 'small airplane',\n category: 'Travel & Places'\n },\n {\n emoji: '🛫',\n names: ['flight_departure'],\n tags: [],\n description: 'airplane departure',\n category: 'Travel & Places'\n },\n {\n emoji: '🛬',\n names: ['flight_arrival'],\n tags: [],\n description: 'airplane arrival',\n category: 'Travel & Places'\n },\n {\n emoji: '🪂',\n names: ['parachute'],\n tags: [],\n description: 'parachute',\n category: 'Travel & Places'\n },\n {\n emoji: '💺',\n names: ['seat'],\n tags: [],\n description: 'seat',\n category: 'Travel & Places'\n },\n {\n emoji: '🚁',\n names: ['helicopter'],\n tags: [],\n description: 'helicopter',\n category: 'Travel & Places'\n },\n {\n emoji: '🚟',\n names: ['suspension_railway'],\n tags: [],\n description: 'suspension railway',\n category: 'Travel & Places'\n },\n {\n emoji: '🚠',\n names: ['mountain_cableway'],\n tags: [],\n description: 'mountain cableway',\n category: 'Travel & Places'\n },\n {\n emoji: '🚡',\n names: ['aerial_tramway'],\n tags: [],\n description: 'aerial tramway',\n category: 'Travel & Places'\n },\n {\n emoji: '🛰️',\n names: ['artificial_satellite'],\n tags: ['orbit', 'space'],\n description: 'satellite',\n category: 'Travel & Places'\n },\n {\n emoji: '🚀',\n names: ['rocket'],\n tags: ['ship', 'launch'],\n description: 'rocket',\n category: 'Travel & Places'\n },\n {\n emoji: '🛸',\n names: ['flying_saucer'],\n tags: ['ufo'],\n description: 'flying saucer',\n category: 'Travel & Places'\n },\n {\n emoji: '🛎️',\n names: ['bellhop_bell'],\n tags: [],\n description: 'bellhop bell',\n category: 'Travel & Places'\n },\n {\n emoji: '🧳',\n names: ['luggage'],\n tags: [],\n description: 'luggage',\n category: 'Travel & Places'\n },\n {\n emoji: '⌛',\n names: ['hourglass'],\n tags: ['time'],\n description: 'hourglass done',\n category: 'Travel & Places'\n },\n {\n emoji: '⏳',\n names: ['hourglass_flowing_sand'],\n tags: ['time'],\n description: 'hourglass not done',\n category: 'Travel & Places'\n },\n {\n emoji: '⌚',\n names: ['watch'],\n tags: ['time'],\n description: 'watch',\n category: 'Travel & Places'\n },\n {\n emoji: '⏰',\n names: ['alarm_clock'],\n tags: ['morning'],\n description: 'alarm clock',\n category: 'Travel & Places'\n },\n {\n emoji: '⏱️',\n names: ['stopwatch'],\n tags: [],\n description: 'stopwatch',\n category: 'Travel & Places'\n },\n {\n emoji: '⏲️',\n names: ['timer_clock'],\n tags: [],\n description: 'timer clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕰️',\n names: ['mantelpiece_clock'],\n tags: [],\n description: 'mantelpiece clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕛',\n names: ['clock12'],\n tags: [],\n description: 'twelve o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕧',\n names: ['clock1230'],\n tags: [],\n description: 'twelve-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕐',\n names: ['clock1'],\n tags: [],\n description: 'one o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕜',\n names: ['clock130'],\n tags: [],\n description: 'one-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕑',\n names: ['clock2'],\n tags: [],\n description: 'two o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕝',\n names: ['clock230'],\n tags: [],\n description: 'two-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕒',\n names: ['clock3'],\n tags: [],\n description: 'three o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕞',\n names: ['clock330'],\n tags: [],\n description: 'three-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕓',\n names: ['clock4'],\n tags: [],\n description: 'four o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕟',\n names: ['clock430'],\n tags: [],\n description: 'four-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕔',\n names: ['clock5'],\n tags: [],\n description: 'five o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕠',\n names: ['clock530'],\n tags: [],\n description: 'five-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕕',\n names: ['clock6'],\n tags: [],\n description: 'six o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕡',\n names: ['clock630'],\n tags: [],\n description: 'six-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕖',\n names: ['clock7'],\n tags: [],\n description: 'seven o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕢',\n names: ['clock730'],\n tags: [],\n description: 'seven-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕗',\n names: ['clock8'],\n tags: [],\n description: 'eight o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕣',\n names: ['clock830'],\n tags: [],\n description: 'eight-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕘',\n names: ['clock9'],\n tags: [],\n description: 'nine o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕤',\n names: ['clock930'],\n tags: [],\n description: 'nine-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕙',\n names: ['clock10'],\n tags: [],\n description: 'ten o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕥',\n names: ['clock1030'],\n tags: [],\n description: 'ten-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🕚',\n names: ['clock11'],\n tags: [],\n description: 'eleven o’clock',\n category: 'Travel & Places'\n },\n {\n emoji: '🕦',\n names: ['clock1130'],\n tags: [],\n description: 'eleven-thirty',\n category: 'Travel & Places'\n },\n {\n emoji: '🌑',\n names: ['new_moon'],\n tags: [],\n description: 'new moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌒',\n names: ['waxing_crescent_moon'],\n tags: [],\n description: 'waxing crescent moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌓',\n names: ['first_quarter_moon'],\n tags: [],\n description: 'first quarter moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌔',\n names: ['moon', 'waxing_gibbous_moon'],\n tags: [],\n description: 'waxing gibbous moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌕',\n names: ['full_moon'],\n tags: [],\n description: 'full moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌖',\n names: ['waning_gibbous_moon'],\n tags: [],\n description: 'waning gibbous moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌗',\n names: ['last_quarter_moon'],\n tags: [],\n description: 'last quarter moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌘',\n names: ['waning_crescent_moon'],\n tags: [],\n description: 'waning crescent moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌙',\n names: ['crescent_moon'],\n tags: ['night'],\n description: 'crescent moon',\n category: 'Travel & Places'\n },\n {\n emoji: '🌚',\n names: ['new_moon_with_face'],\n tags: [],\n description: 'new moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌛',\n names: ['first_quarter_moon_with_face'],\n tags: [],\n description: 'first quarter moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌜',\n names: ['last_quarter_moon_with_face'],\n tags: [],\n description: 'last quarter moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌡️',\n names: ['thermometer'],\n tags: [],\n description: 'thermometer',\n category: 'Travel & Places'\n },\n {\n emoji: '☀️',\n names: ['sunny'],\n tags: ['weather'],\n description: 'sun',\n category: 'Travel & Places'\n },\n {\n emoji: '🌝',\n names: ['full_moon_with_face'],\n tags: [],\n description: 'full moon face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌞',\n names: ['sun_with_face'],\n tags: ['summer'],\n description: 'sun with face',\n category: 'Travel & Places'\n },\n {\n emoji: '🪐',\n names: ['ringed_planet'],\n tags: [],\n description: 'ringed planet',\n category: 'Travel & Places'\n },\n {\n emoji: '⭐',\n names: ['star'],\n tags: [],\n description: 'star',\n category: 'Travel & Places'\n },\n {\n emoji: '🌟',\n names: ['star2'],\n tags: [],\n description: 'glowing star',\n category: 'Travel & Places'\n },\n {\n emoji: '🌠',\n names: ['stars'],\n tags: [],\n description: 'shooting star',\n category: 'Travel & Places'\n },\n {\n emoji: '🌌',\n names: ['milky_way'],\n tags: [],\n description: 'milky way',\n category: 'Travel & Places'\n },\n {\n emoji: '☁️',\n names: ['cloud'],\n tags: [],\n description: 'cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '⛅',\n names: ['partly_sunny'],\n tags: ['weather', 'cloud'],\n description: 'sun behind cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '⛈️',\n names: ['cloud_with_lightning_and_rain'],\n tags: [],\n description: 'cloud with lightning and rain',\n category: 'Travel & Places'\n },\n {\n emoji: '🌤️',\n names: ['sun_behind_small_cloud'],\n tags: [],\n description: 'sun behind small cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '🌥️',\n names: ['sun_behind_large_cloud'],\n tags: [],\n description: 'sun behind large cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '🌦️',\n names: ['sun_behind_rain_cloud'],\n tags: [],\n description: 'sun behind rain cloud',\n category: 'Travel & Places'\n },\n {\n emoji: '🌧️',\n names: ['cloud_with_rain'],\n tags: [],\n description: 'cloud with rain',\n category: 'Travel & Places'\n },\n {\n emoji: '🌨️',\n names: ['cloud_with_snow'],\n tags: [],\n description: 'cloud with snow',\n category: 'Travel & Places'\n },\n {\n emoji: '🌩️',\n names: ['cloud_with_lightning'],\n tags: [],\n description: 'cloud with lightning',\n category: 'Travel & Places'\n },\n {\n emoji: '🌪️',\n names: ['tornado'],\n tags: [],\n description: 'tornado',\n category: 'Travel & Places'\n },\n {\n emoji: '🌫️',\n names: ['fog'],\n tags: [],\n description: 'fog',\n category: 'Travel & Places'\n },\n {\n emoji: '🌬️',\n names: ['wind_face'],\n tags: [],\n description: 'wind face',\n category: 'Travel & Places'\n },\n {\n emoji: '🌀',\n names: ['cyclone'],\n tags: ['swirl'],\n description: 'cyclone',\n category: 'Travel & Places'\n },\n {\n emoji: '🌈',\n names: ['rainbow'],\n tags: [],\n description: 'rainbow',\n category: 'Travel & Places'\n },\n {\n emoji: '🌂',\n names: ['closed_umbrella'],\n tags: ['weather', 'rain'],\n description: 'closed umbrella',\n category: 'Travel & Places'\n },\n {\n emoji: '☂️',\n names: ['open_umbrella'],\n tags: [],\n description: 'umbrella',\n category: 'Travel & Places'\n },\n {\n emoji: '☔',\n names: ['umbrella'],\n tags: ['rain', 'weather'],\n description: 'umbrella with rain drops',\n category: 'Travel & Places'\n },\n {\n emoji: '⛱️',\n names: ['parasol_on_ground'],\n tags: ['beach_umbrella'],\n description: 'umbrella on ground',\n category: 'Travel & Places'\n },\n {\n emoji: '⚡',\n names: ['zap'],\n tags: ['lightning', 'thunder'],\n description: 'high voltage',\n category: 'Travel & Places'\n },\n {\n emoji: '❄️',\n names: ['snowflake'],\n tags: ['winter', 'cold', 'weather'],\n description: 'snowflake',\n category: 'Travel & Places'\n },\n {\n emoji: '☃️',\n names: ['snowman_with_snow'],\n tags: ['winter', 'christmas'],\n description: 'snowman',\n category: 'Travel & Places'\n },\n {\n emoji: '⛄',\n names: ['snowman'],\n tags: ['winter'],\n description: 'snowman without snow',\n category: 'Travel & Places'\n },\n {\n emoji: '☄️',\n names: ['comet'],\n tags: [],\n description: 'comet',\n category: 'Travel & Places'\n },\n {\n emoji: '🔥',\n names: ['fire'],\n tags: ['burn'],\n description: 'fire',\n category: 'Travel & Places'\n },\n {\n emoji: '💧',\n names: ['droplet'],\n tags: ['water'],\n description: 'droplet',\n category: 'Travel & Places'\n },\n {\n emoji: '🌊',\n names: ['ocean'],\n tags: ['sea'],\n description: 'water wave',\n category: 'Travel & Places'\n },\n {\n emoji: '🎃',\n names: ['jack_o_lantern'],\n tags: ['halloween'],\n description: 'jack-o-lantern',\n category: 'Activities'\n },\n {\n emoji: '🎄',\n names: ['christmas_tree'],\n tags: [],\n description: 'Christmas tree',\n category: 'Activities'\n },\n {\n emoji: '🎆',\n names: ['fireworks'],\n tags: ['festival', 'celebration'],\n description: 'fireworks',\n category: 'Activities'\n },\n {\n emoji: '🎇',\n names: ['sparkler'],\n tags: [],\n description: 'sparkler',\n category: 'Activities'\n },\n {\n emoji: '🧨',\n names: ['firecracker'],\n tags: [],\n description: 'firecracker',\n category: 'Activities'\n },\n {\n emoji: '✨',\n names: ['sparkles'],\n tags: ['shiny'],\n description: 'sparkles',\n category: 'Activities'\n },\n {\n emoji: '🎈',\n names: ['balloon'],\n tags: ['party', 'birthday'],\n description: 'balloon',\n category: 'Activities'\n },\n {\n emoji: '🎉',\n names: ['tada'],\n tags: ['hooray', 'party'],\n description: 'party popper',\n category: 'Activities'\n },\n {\n emoji: '🎊',\n names: ['confetti_ball'],\n tags: [],\n description: 'confetti ball',\n category: 'Activities'\n },\n {\n emoji: '🎋',\n names: ['tanabata_tree'],\n tags: [],\n description: 'tanabata tree',\n category: 'Activities'\n },\n {\n emoji: '🎍',\n names: ['bamboo'],\n tags: [],\n description: 'pine decoration',\n category: 'Activities'\n },\n {\n emoji: '🎎',\n names: ['dolls'],\n tags: [],\n description: 'Japanese dolls',\n category: 'Activities'\n },\n {\n emoji: '🎏',\n names: ['flags'],\n tags: [],\n description: 'carp streamer',\n category: 'Activities'\n },\n {\n emoji: '🎐',\n names: ['wind_chime'],\n tags: [],\n description: 'wind chime',\n category: 'Activities'\n },\n {\n emoji: '🎑',\n names: ['rice_scene'],\n tags: [],\n description: 'moon viewing ceremony',\n category: 'Activities'\n },\n {\n emoji: '🧧',\n names: ['red_envelope'],\n tags: [],\n description: 'red envelope',\n category: 'Activities'\n },\n {\n emoji: '🎀',\n names: ['ribbon'],\n tags: [],\n description: 'ribbon',\n category: 'Activities'\n },\n {\n emoji: '🎁',\n names: ['gift'],\n tags: ['present', 'birthday', 'christmas'],\n description: 'wrapped gift',\n category: 'Activities'\n },\n {\n emoji: '🎗️',\n names: ['reminder_ribbon'],\n tags: [],\n description: 'reminder ribbon',\n category: 'Activities'\n },\n {\n emoji: '🎟️',\n names: ['tickets'],\n tags: [],\n description: 'admission tickets',\n category: 'Activities'\n },\n {\n emoji: '🎫',\n names: ['ticket'],\n tags: [],\n description: 'ticket',\n category: 'Activities'\n },\n {\n emoji: '🎖️',\n names: ['medal_military'],\n tags: [],\n description: 'military medal',\n category: 'Activities'\n },\n {\n emoji: '🏆',\n names: ['trophy'],\n tags: ['award', 'contest', 'winner'],\n description: 'trophy',\n category: 'Activities'\n },\n {\n emoji: '🏅',\n names: ['medal_sports'],\n tags: ['gold', 'winner'],\n description: 'sports medal',\n category: 'Activities'\n },\n {\n emoji: '🥇',\n names: ['1st_place_medal'],\n tags: ['gold'],\n description: '1st place medal',\n category: 'Activities'\n },\n {\n emoji: '🥈',\n names: ['2nd_place_medal'],\n tags: ['silver'],\n description: '2nd place medal',\n category: 'Activities'\n },\n {\n emoji: '🥉',\n names: ['3rd_place_medal'],\n tags: ['bronze'],\n description: '3rd place medal',\n category: 'Activities'\n },\n {\n emoji: '⚽',\n names: ['soccer'],\n tags: ['sports'],\n description: 'soccer ball',\n category: 'Activities'\n },\n {\n emoji: '⚾',\n names: ['baseball'],\n tags: ['sports'],\n description: 'baseball',\n category: 'Activities'\n },\n {\n emoji: '🥎',\n names: ['softball'],\n tags: [],\n description: 'softball',\n category: 'Activities'\n },\n {\n emoji: '🏀',\n names: ['basketball'],\n tags: ['sports'],\n description: 'basketball',\n category: 'Activities'\n },\n {\n emoji: '🏐',\n names: ['volleyball'],\n tags: [],\n description: 'volleyball',\n category: 'Activities'\n },\n {\n emoji: '🏈',\n names: ['football'],\n tags: ['sports'],\n description: 'american football',\n category: 'Activities'\n },\n {\n emoji: '🏉',\n names: ['rugby_football'],\n tags: [],\n description: 'rugby football',\n category: 'Activities'\n },\n {\n emoji: '🎾',\n names: ['tennis'],\n tags: ['sports'],\n description: 'tennis',\n category: 'Activities'\n },\n {\n emoji: '🥏',\n names: ['flying_disc'],\n tags: [],\n description: 'flying disc',\n category: 'Activities'\n },\n {\n emoji: '🎳',\n names: ['bowling'],\n tags: [],\n description: 'bowling',\n category: 'Activities'\n },\n {\n emoji: '🏏',\n names: ['cricket_game'],\n tags: [],\n description: 'cricket game',\n category: 'Activities'\n },\n {\n emoji: '🏑',\n names: ['field_hockey'],\n tags: [],\n description: 'field hockey',\n category: 'Activities'\n },\n {\n emoji: '🏒',\n names: ['ice_hockey'],\n tags: [],\n description: 'ice hockey',\n category: 'Activities'\n },\n {\n emoji: '🥍',\n names: ['lacrosse'],\n tags: [],\n description: 'lacrosse',\n category: 'Activities'\n },\n {\n emoji: '🏓',\n names: ['ping_pong'],\n tags: [],\n description: 'ping pong',\n category: 'Activities'\n },\n {\n emoji: '🏸',\n names: ['badminton'],\n tags: [],\n description: 'badminton',\n category: 'Activities'\n },\n {\n emoji: '🥊',\n names: ['boxing_glove'],\n tags: [],\n description: 'boxing glove',\n category: 'Activities'\n },\n {\n emoji: '🥋',\n names: ['martial_arts_uniform'],\n tags: [],\n description: 'martial arts uniform',\n category: 'Activities'\n },\n {\n emoji: '🥅',\n names: ['goal_net'],\n tags: [],\n description: 'goal net',\n category: 'Activities'\n },\n {\n emoji: '⛳',\n names: ['golf'],\n tags: [],\n description: 'flag in hole',\n category: 'Activities'\n },\n {\n emoji: '⛸️',\n names: ['ice_skate'],\n tags: ['skating'],\n description: 'ice skate',\n category: 'Activities'\n },\n {\n emoji: '🎣',\n names: ['fishing_pole_and_fish'],\n tags: [],\n description: 'fishing pole',\n category: 'Activities'\n },\n {\n emoji: '🤿',\n names: ['diving_mask'],\n tags: [],\n description: 'diving mask',\n category: 'Activities'\n },\n {\n emoji: '🎽',\n names: ['running_shirt_with_sash'],\n tags: ['marathon'],\n description: 'running shirt',\n category: 'Activities'\n },\n {\n emoji: '🎿',\n names: ['ski'],\n tags: [],\n description: 'skis',\n category: 'Activities'\n },\n {\n emoji: '🛷',\n names: ['sled'],\n tags: [],\n description: 'sled',\n category: 'Activities'\n },\n {\n emoji: '🥌',\n names: ['curling_stone'],\n tags: [],\n description: 'curling stone',\n category: 'Activities'\n },\n {\n emoji: '🎯',\n names: ['dart'],\n tags: ['target'],\n description: 'bullseye',\n category: 'Activities'\n },\n {\n emoji: '🪀',\n names: ['yo_yo'],\n tags: [],\n description: 'yo-yo',\n category: 'Activities'\n },\n {\n emoji: '🪁',\n names: ['kite'],\n tags: [],\n description: 'kite',\n category: 'Activities'\n },\n {\n emoji: '🔫',\n names: ['gun'],\n tags: ['shoot', 'weapon'],\n description: 'water pistol',\n category: 'Activities'\n },\n {\n emoji: '🎱',\n names: ['8ball'],\n tags: ['pool', 'billiards'],\n description: 'pool 8 ball',\n category: 'Activities'\n },\n {\n emoji: '🔮',\n names: ['crystal_ball'],\n tags: ['fortune'],\n description: 'crystal ball',\n category: 'Activities'\n },\n {\n emoji: '🪄',\n names: ['magic_wand'],\n tags: [],\n description: 'magic wand',\n category: 'Activities'\n },\n {\n emoji: '🎮',\n names: ['video_game'],\n tags: ['play', 'controller', 'console'],\n description: 'video game',\n category: 'Activities'\n },\n {\n emoji: '🕹️',\n names: ['joystick'],\n tags: [],\n description: 'joystick',\n category: 'Activities'\n },\n {\n emoji: '🎰',\n names: ['slot_machine'],\n tags: [],\n description: 'slot machine',\n category: 'Activities'\n },\n {\n emoji: '🎲',\n names: ['game_die'],\n tags: ['dice', 'gambling'],\n description: 'game die',\n category: 'Activities'\n },\n {\n emoji: '🧩',\n names: ['jigsaw'],\n tags: [],\n description: 'puzzle piece',\n category: 'Activities'\n },\n {\n emoji: '🧸',\n names: ['teddy_bear'],\n tags: [],\n description: 'teddy bear',\n category: 'Activities'\n },\n {\n emoji: '🪅',\n names: ['pinata'],\n tags: [],\n description: 'piñata',\n category: 'Activities'\n },\n {\n emoji: '🪩',\n names: ['mirror_ball'],\n tags: ['disco', 'party'],\n description: 'mirror ball',\n category: 'Activities'\n },\n {\n emoji: '🪆',\n names: ['nesting_dolls'],\n tags: [],\n description: 'nesting dolls',\n category: 'Activities'\n },\n {\n emoji: '♠️',\n names: ['spades'],\n tags: [],\n description: 'spade suit',\n category: 'Activities'\n },\n {\n emoji: '♥️',\n names: ['hearts'],\n tags: [],\n description: 'heart suit',\n category: 'Activities'\n },\n {\n emoji: '♦️',\n names: ['diamonds'],\n tags: [],\n description: 'diamond suit',\n category: 'Activities'\n },\n {\n emoji: '♣️',\n names: ['clubs'],\n tags: [],\n description: 'club suit',\n category: 'Activities'\n },\n {\n emoji: '♟️',\n names: ['chess_pawn'],\n tags: [],\n description: 'chess pawn',\n category: 'Activities'\n },\n {\n emoji: '🃏',\n names: ['black_joker'],\n tags: [],\n description: 'joker',\n category: 'Activities'\n },\n {\n emoji: '🀄',\n names: ['mahjong'],\n tags: [],\n description: 'mahjong red dragon',\n category: 'Activities'\n },\n {\n emoji: '🎴',\n names: ['flower_playing_cards'],\n tags: [],\n description: 'flower playing cards',\n category: 'Activities'\n },\n {\n emoji: '🎭',\n names: ['performing_arts'],\n tags: ['theater', 'drama'],\n description: 'performing arts',\n category: 'Activities'\n },\n {\n emoji: '🖼️',\n names: ['framed_picture'],\n tags: [],\n description: 'framed picture',\n category: 'Activities'\n },\n {\n emoji: '🎨',\n names: ['art'],\n tags: ['design', 'paint'],\n description: 'artist palette',\n category: 'Activities'\n },\n {\n emoji: '🧵',\n names: ['thread'],\n tags: [],\n description: 'thread',\n category: 'Activities'\n },\n {\n emoji: '🪡',\n names: ['sewing_needle'],\n tags: [],\n description: 'sewing needle',\n category: 'Activities'\n },\n {\n emoji: '🧶',\n names: ['yarn'],\n tags: [],\n description: 'yarn',\n category: 'Activities'\n },\n {\n emoji: '🪢',\n names: ['knot'],\n tags: [],\n description: 'knot',\n category: 'Activities'\n },\n {\n emoji: '👓',\n names: ['eyeglasses'],\n tags: ['glasses'],\n description: 'glasses',\n category: 'Objects'\n },\n {\n emoji: '🕶️',\n names: ['dark_sunglasses'],\n tags: [],\n description: 'sunglasses',\n category: 'Objects'\n },\n {\n emoji: '🥽',\n names: ['goggles'],\n tags: [],\n description: 'goggles',\n category: 'Objects'\n },\n {\n emoji: '🥼',\n names: ['lab_coat'],\n tags: [],\n description: 'lab coat',\n category: 'Objects'\n },\n {\n emoji: '🦺',\n names: ['safety_vest'],\n tags: [],\n description: 'safety vest',\n category: 'Objects'\n },\n {\n emoji: '👔',\n names: ['necktie'],\n tags: ['shirt', 'formal'],\n description: 'necktie',\n category: 'Objects'\n },\n {\n emoji: '👕',\n names: ['shirt', 'tshirt'],\n tags: [],\n description: 't-shirt',\n category: 'Objects'\n },\n {\n emoji: '👖',\n names: ['jeans'],\n tags: ['pants'],\n description: 'jeans',\n category: 'Objects'\n },\n {\n emoji: '🧣',\n names: ['scarf'],\n tags: [],\n description: 'scarf',\n category: 'Objects'\n },\n {\n emoji: '🧤',\n names: ['gloves'],\n tags: [],\n description: 'gloves',\n category: 'Objects'\n },\n {\n emoji: '🧥',\n names: ['coat'],\n tags: [],\n description: 'coat',\n category: 'Objects'\n },\n {\n emoji: '🧦',\n names: ['socks'],\n tags: [],\n description: 'socks',\n category: 'Objects'\n },\n {\n emoji: '👗',\n names: ['dress'],\n tags: [],\n description: 'dress',\n category: 'Objects'\n },\n {\n emoji: '👘',\n names: ['kimono'],\n tags: [],\n description: 'kimono',\n category: 'Objects'\n },\n {\n emoji: '🥻',\n names: ['sari'],\n tags: [],\n description: 'sari',\n category: 'Objects'\n },\n {\n emoji: '🩱',\n names: ['one_piece_swimsuit'],\n tags: [],\n description: 'one-piece swimsuit',\n category: 'Objects'\n },\n {\n emoji: '🩲',\n names: ['swim_brief'],\n tags: [],\n description: 'briefs',\n category: 'Objects'\n },\n {\n emoji: '🩳',\n names: ['shorts'],\n tags: [],\n description: 'shorts',\n category: 'Objects'\n },\n {\n emoji: '👙',\n names: ['bikini'],\n tags: ['beach'],\n description: 'bikini',\n category: 'Objects'\n },\n {\n emoji: '👚',\n names: ['womans_clothes'],\n tags: [],\n description: 'woman’s clothes',\n category: 'Objects'\n },\n {\n emoji: '🪭',\n names: ['folding_hand_fan'],\n tags: ['sensu'],\n description: 'folding hand fan',\n category: 'Objects'\n },\n {\n emoji: '👛',\n names: ['purse'],\n tags: [],\n description: 'purse',\n category: 'Objects'\n },\n {\n emoji: '👜',\n names: ['handbag'],\n tags: ['bag'],\n description: 'handbag',\n category: 'Objects'\n },\n {\n emoji: '👝',\n names: ['pouch'],\n tags: ['bag'],\n description: 'clutch bag',\n category: 'Objects'\n },\n {\n emoji: '🛍️',\n names: ['shopping'],\n tags: ['bags'],\n description: 'shopping bags',\n category: 'Objects'\n },\n {\n emoji: '🎒',\n names: ['school_satchel'],\n tags: [],\n description: 'backpack',\n category: 'Objects'\n },\n {\n emoji: '🩴',\n names: ['thong_sandal'],\n tags: [],\n description: 'thong sandal',\n category: 'Objects'\n },\n {\n emoji: '👞',\n names: ['mans_shoe', 'shoe'],\n tags: [],\n description: 'man’s shoe',\n category: 'Objects'\n },\n {\n emoji: '👟',\n names: ['athletic_shoe'],\n tags: ['sneaker', 'sport', 'running'],\n description: 'running shoe',\n category: 'Objects'\n },\n {\n emoji: '🥾',\n names: ['hiking_boot'],\n tags: [],\n description: 'hiking boot',\n category: 'Objects'\n },\n {\n emoji: '🥿',\n names: ['flat_shoe'],\n tags: [],\n description: 'flat shoe',\n category: 'Objects'\n },\n {\n emoji: '👠',\n names: ['high_heel'],\n tags: ['shoe'],\n description: 'high-heeled shoe',\n category: 'Objects'\n },\n {\n emoji: '👡',\n names: ['sandal'],\n tags: ['shoe'],\n description: 'woman’s sandal',\n category: 'Objects'\n },\n {\n emoji: '🩰',\n names: ['ballet_shoes'],\n tags: [],\n description: 'ballet shoes',\n category: 'Objects'\n },\n {\n emoji: '👢',\n names: ['boot'],\n tags: [],\n description: 'woman’s boot',\n category: 'Objects'\n },\n {\n emoji: '🪮',\n names: ['hair_pick'],\n tags: [],\n description: 'hair pick',\n category: 'Objects'\n },\n {\n emoji: '👑',\n names: ['crown'],\n tags: ['king', 'queen', 'royal'],\n description: 'crown',\n category: 'Objects'\n },\n {\n emoji: '👒',\n names: ['womans_hat'],\n tags: [],\n description: 'woman’s hat',\n category: 'Objects'\n },\n {\n emoji: '🎩',\n names: ['tophat'],\n tags: ['hat', 'classy'],\n description: 'top hat',\n category: 'Objects'\n },\n {\n emoji: '🎓',\n names: ['mortar_board'],\n tags: ['education', 'college', 'university', 'graduation'],\n description: 'graduation cap',\n category: 'Objects'\n },\n {\n emoji: '🧢',\n names: ['billed_cap'],\n tags: [],\n description: 'billed cap',\n category: 'Objects'\n },\n {\n emoji: '🪖',\n names: ['military_helmet'],\n tags: [],\n description: 'military helmet',\n category: 'Objects'\n },\n {\n emoji: '⛑️',\n names: ['rescue_worker_helmet'],\n tags: [],\n description: 'rescue worker’s helmet',\n category: 'Objects'\n },\n {\n emoji: '📿',\n names: ['prayer_beads'],\n tags: [],\n description: 'prayer beads',\n category: 'Objects'\n },\n {\n emoji: '💄',\n names: ['lipstick'],\n tags: ['makeup'],\n description: 'lipstick',\n category: 'Objects'\n },\n {\n emoji: '💍',\n names: ['ring'],\n tags: ['wedding', 'marriage', 'engaged'],\n description: 'ring',\n category: 'Objects'\n },\n {\n emoji: '💎',\n names: ['gem'],\n tags: ['diamond'],\n description: 'gem stone',\n category: 'Objects'\n },\n {\n emoji: '🔇',\n names: ['mute'],\n tags: ['sound', 'volume'],\n description: 'muted speaker',\n category: 'Objects'\n },\n {\n emoji: '🔈',\n names: ['speaker'],\n tags: [],\n description: 'speaker low volume',\n category: 'Objects'\n },\n {\n emoji: '🔉',\n names: ['sound'],\n tags: ['volume'],\n description: 'speaker medium volume',\n category: 'Objects'\n },\n {\n emoji: '🔊',\n names: ['loud_sound'],\n tags: ['volume'],\n description: 'speaker high volume',\n category: 'Objects'\n },\n {\n emoji: '📢',\n names: ['loudspeaker'],\n tags: ['announcement'],\n description: 'loudspeaker',\n category: 'Objects'\n },\n {\n emoji: '📣',\n names: ['mega'],\n tags: [],\n description: 'megaphone',\n category: 'Objects'\n },\n {\n emoji: '📯',\n names: ['postal_horn'],\n tags: [],\n description: 'postal horn',\n category: 'Objects'\n },\n {\n emoji: '🔔',\n names: ['bell'],\n tags: ['sound', 'notification'],\n description: 'bell',\n category: 'Objects'\n },\n {\n emoji: '🔕',\n names: ['no_bell'],\n tags: ['volume', 'off'],\n description: 'bell with slash',\n category: 'Objects'\n },\n {\n emoji: '🎼',\n names: ['musical_score'],\n tags: [],\n description: 'musical score',\n category: 'Objects'\n },\n {\n emoji: '🎵',\n names: ['musical_note'],\n tags: [],\n description: 'musical note',\n category: 'Objects'\n },\n {\n emoji: '🎶',\n names: ['notes'],\n tags: ['music'],\n description: 'musical notes',\n category: 'Objects'\n },\n {\n emoji: '🎙️',\n names: ['studio_microphone'],\n tags: ['podcast'],\n description: 'studio microphone',\n category: 'Objects'\n },\n {\n emoji: '🎚️',\n names: ['level_slider'],\n tags: [],\n description: 'level slider',\n category: 'Objects'\n },\n {\n emoji: '🎛️',\n names: ['control_knobs'],\n tags: [],\n description: 'control knobs',\n category: 'Objects'\n },\n {\n emoji: '🎤',\n names: ['microphone'],\n tags: ['sing'],\n description: 'microphone',\n category: 'Objects'\n },\n {\n emoji: '🎧',\n names: ['headphones'],\n tags: ['music', 'earphones'],\n description: 'headphone',\n category: 'Objects'\n },\n {\n emoji: '📻',\n names: ['radio'],\n tags: ['podcast'],\n description: 'radio',\n category: 'Objects'\n },\n {\n emoji: '🎷',\n names: ['saxophone'],\n tags: [],\n description: 'saxophone',\n category: 'Objects'\n },\n {\n emoji: '🪗',\n names: ['accordion'],\n tags: [],\n description: 'accordion',\n category: 'Objects'\n },\n {\n emoji: '🎸',\n names: ['guitar'],\n tags: ['rock'],\n description: 'guitar',\n category: 'Objects'\n },\n {\n emoji: '🎹',\n names: ['musical_keyboard'],\n tags: ['piano'],\n description: 'musical keyboard',\n category: 'Objects'\n },\n {\n emoji: '🎺',\n names: ['trumpet'],\n tags: [],\n description: 'trumpet',\n category: 'Objects'\n },\n {\n emoji: '🎻',\n names: ['violin'],\n tags: [],\n description: 'violin',\n category: 'Objects'\n },\n {\n emoji: '🪕',\n names: ['banjo'],\n tags: [],\n description: 'banjo',\n category: 'Objects'\n },\n {\n emoji: '🥁',\n names: ['drum'],\n tags: [],\n description: 'drum',\n category: 'Objects'\n },\n {\n emoji: '🪘',\n names: ['long_drum'],\n tags: [],\n description: 'long drum',\n category: 'Objects'\n },\n {\n emoji: '🪇',\n names: ['maracas'],\n tags: ['shaker'],\n description: 'maracas',\n category: 'Objects'\n },\n {\n emoji: '🪈',\n names: ['flute'],\n tags: ['recorder'],\n description: 'flute',\n category: 'Objects'\n },\n {\n emoji: '📱',\n names: ['iphone'],\n tags: ['smartphone', 'mobile'],\n description: 'mobile phone',\n category: 'Objects'\n },\n {\n emoji: '📲',\n names: ['calling'],\n tags: ['call', 'incoming'],\n description: 'mobile phone with arrow',\n category: 'Objects'\n },\n {\n emoji: '☎️',\n names: ['phone', 'telephone'],\n tags: [],\n description: 'telephone',\n category: 'Objects'\n },\n {\n emoji: '📞',\n names: ['telephone_receiver'],\n tags: ['phone', 'call'],\n description: 'telephone receiver',\n category: 'Objects'\n },\n {\n emoji: '📟',\n names: ['pager'],\n tags: [],\n description: 'pager',\n category: 'Objects'\n },\n {\n emoji: '📠',\n names: ['fax'],\n tags: [],\n description: 'fax machine',\n category: 'Objects'\n },\n {\n emoji: '🔋',\n names: ['battery'],\n tags: ['power'],\n description: 'battery',\n category: 'Objects'\n },\n {\n emoji: '🪫',\n names: ['low_battery'],\n tags: [],\n description: 'low battery',\n category: 'Objects'\n },\n {\n emoji: '🔌',\n names: ['electric_plug'],\n tags: [],\n description: 'electric plug',\n category: 'Objects'\n },\n {\n emoji: '💻',\n names: ['computer'],\n tags: ['desktop', 'screen'],\n description: 'laptop',\n category: 'Objects'\n },\n {\n emoji: '🖥️',\n names: ['desktop_computer'],\n tags: [],\n description: 'desktop computer',\n category: 'Objects'\n },\n {\n emoji: '🖨️',\n names: ['printer'],\n tags: [],\n description: 'printer',\n category: 'Objects'\n },\n {\n emoji: '⌨️',\n names: ['keyboard'],\n tags: [],\n description: 'keyboard',\n category: 'Objects'\n },\n {\n emoji: '🖱️',\n names: ['computer_mouse'],\n tags: [],\n description: 'computer mouse',\n category: 'Objects'\n },\n {\n emoji: '🖲️',\n names: ['trackball'],\n tags: [],\n description: 'trackball',\n category: 'Objects'\n },\n {\n emoji: '💽',\n names: ['minidisc'],\n tags: [],\n description: 'computer disk',\n category: 'Objects'\n },\n {\n emoji: '💾',\n names: ['floppy_disk'],\n tags: ['save'],\n description: 'floppy disk',\n category: 'Objects'\n },\n {\n emoji: '💿',\n names: ['cd'],\n tags: [],\n description: 'optical disk',\n category: 'Objects'\n },\n {\n emoji: '📀',\n names: ['dvd'],\n tags: [],\n description: 'dvd',\n category: 'Objects'\n },\n {\n emoji: '🧮',\n names: ['abacus'],\n tags: [],\n description: 'abacus',\n category: 'Objects'\n },\n {\n emoji: '🎥',\n names: ['movie_camera'],\n tags: ['film', 'video'],\n description: 'movie camera',\n category: 'Objects'\n },\n {\n emoji: '🎞️',\n names: ['film_strip'],\n tags: [],\n description: 'film frames',\n category: 'Objects'\n },\n {\n emoji: '📽️',\n names: ['film_projector'],\n tags: [],\n description: 'film projector',\n category: 'Objects'\n },\n {\n emoji: '🎬',\n names: ['clapper'],\n tags: ['film'],\n description: 'clapper board',\n category: 'Objects'\n },\n {\n emoji: '📺',\n names: ['tv'],\n tags: [],\n description: 'television',\n category: 'Objects'\n },\n {\n emoji: '📷',\n names: ['camera'],\n tags: ['photo'],\n description: 'camera',\n category: 'Objects'\n },\n {\n emoji: '📸',\n names: ['camera_flash'],\n tags: ['photo'],\n description: 'camera with flash',\n category: 'Objects'\n },\n {\n emoji: '📹',\n names: ['video_camera'],\n tags: [],\n description: 'video camera',\n category: 'Objects'\n },\n {\n emoji: '📼',\n names: ['vhs'],\n tags: [],\n description: 'videocassette',\n category: 'Objects'\n },\n {\n emoji: '🔍',\n names: ['mag'],\n tags: ['search', 'zoom'],\n description: 'magnifying glass tilted left',\n category: 'Objects'\n },\n {\n emoji: '🔎',\n names: ['mag_right'],\n tags: [],\n description: 'magnifying glass tilted right',\n category: 'Objects'\n },\n {\n emoji: '🕯️',\n names: ['candle'],\n tags: [],\n description: 'candle',\n category: 'Objects'\n },\n {\n emoji: '💡',\n names: ['bulb'],\n tags: ['idea', 'light'],\n description: 'light bulb',\n category: 'Objects'\n },\n {\n emoji: '🔦',\n names: ['flashlight'],\n tags: [],\n description: 'flashlight',\n category: 'Objects'\n },\n {\n emoji: '🏮',\n names: ['izakaya_lantern', 'lantern'],\n tags: [],\n description: 'red paper lantern',\n category: 'Objects'\n },\n {\n emoji: '🪔',\n names: ['diya_lamp'],\n tags: [],\n description: 'diya lamp',\n category: 'Objects'\n },\n {\n emoji: '📔',\n names: ['notebook_with_decorative_cover'],\n tags: [],\n description: 'notebook with decorative cover',\n category: 'Objects'\n },\n {\n emoji: '📕',\n names: ['closed_book'],\n tags: [],\n description: 'closed book',\n category: 'Objects'\n },\n {\n emoji: '📖',\n names: ['book', 'open_book'],\n tags: [],\n description: 'open book',\n category: 'Objects'\n },\n {\n emoji: '📗',\n names: ['green_book'],\n tags: [],\n description: 'green book',\n category: 'Objects'\n },\n {\n emoji: '📘',\n names: ['blue_book'],\n tags: [],\n description: 'blue book',\n category: 'Objects'\n },\n {\n emoji: '📙',\n names: ['orange_book'],\n tags: [],\n description: 'orange book',\n category: 'Objects'\n },\n {\n emoji: '📚',\n names: ['books'],\n tags: ['library'],\n description: 'books',\n category: 'Objects'\n },\n {\n emoji: '📓',\n names: ['notebook'],\n tags: [],\n description: 'notebook',\n category: 'Objects'\n },\n {\n emoji: '📒',\n names: ['ledger'],\n tags: [],\n description: 'ledger',\n category: 'Objects'\n },\n {\n emoji: '📃',\n names: ['page_with_curl'],\n tags: [],\n description: 'page with curl',\n category: 'Objects'\n },\n {\n emoji: '📜',\n names: ['scroll'],\n tags: ['document'],\n description: 'scroll',\n category: 'Objects'\n },\n {\n emoji: '📄',\n names: ['page_facing_up'],\n tags: ['document'],\n description: 'page facing up',\n category: 'Objects'\n },\n {\n emoji: '📰',\n names: ['newspaper'],\n tags: ['press'],\n description: 'newspaper',\n category: 'Objects'\n },\n {\n emoji: '🗞️',\n names: ['newspaper_roll'],\n tags: ['press'],\n description: 'rolled-up newspaper',\n category: 'Objects'\n },\n {\n emoji: '📑',\n names: ['bookmark_tabs'],\n tags: [],\n description: 'bookmark tabs',\n category: 'Objects'\n },\n {\n emoji: '🔖',\n names: ['bookmark'],\n tags: [],\n description: 'bookmark',\n category: 'Objects'\n },\n {\n emoji: '🏷️',\n names: ['label'],\n tags: ['tag'],\n description: 'label',\n category: 'Objects'\n },\n {\n emoji: '💰',\n names: ['moneybag'],\n tags: ['dollar', 'cream'],\n description: 'money bag',\n category: 'Objects'\n },\n {\n emoji: '🪙',\n names: ['coin'],\n tags: [],\n description: 'coin',\n category: 'Objects'\n },\n {\n emoji: '💴',\n names: ['yen'],\n tags: [],\n description: 'yen banknote',\n category: 'Objects'\n },\n {\n emoji: '💵',\n names: ['dollar'],\n tags: ['money'],\n description: 'dollar banknote',\n category: 'Objects'\n },\n {\n emoji: '💶',\n names: ['euro'],\n tags: [],\n description: 'euro banknote',\n category: 'Objects'\n },\n {\n emoji: '💷',\n names: ['pound'],\n tags: [],\n description: 'pound banknote',\n category: 'Objects'\n },\n {\n emoji: '💸',\n names: ['money_with_wings'],\n tags: ['dollar'],\n description: 'money with wings',\n category: 'Objects'\n },\n {\n emoji: '💳',\n names: ['credit_card'],\n tags: ['subscription'],\n description: 'credit card',\n category: 'Objects'\n },\n {\n emoji: '🧾',\n names: ['receipt'],\n tags: [],\n description: 'receipt',\n category: 'Objects'\n },\n {\n emoji: '💹',\n names: ['chart'],\n tags: [],\n description: 'chart increasing with yen',\n category: 'Objects'\n },\n {\n emoji: '✉️',\n names: ['envelope'],\n tags: ['letter', 'email'],\n description: 'envelope',\n category: 'Objects'\n },\n {\n emoji: '📧',\n names: ['email', 'e-mail'],\n tags: [],\n description: 'e-mail',\n category: 'Objects'\n },\n {\n emoji: '📨',\n names: ['incoming_envelope'],\n tags: [],\n description: 'incoming envelope',\n category: 'Objects'\n },\n {\n emoji: '📩',\n names: ['envelope_with_arrow'],\n tags: [],\n description: 'envelope with arrow',\n category: 'Objects'\n },\n {\n emoji: '📤',\n names: ['outbox_tray'],\n tags: [],\n description: 'outbox tray',\n category: 'Objects'\n },\n {\n emoji: '📥',\n names: ['inbox_tray'],\n tags: [],\n description: 'inbox tray',\n category: 'Objects'\n },\n {\n emoji: '📦',\n names: ['package'],\n tags: ['shipping'],\n description: 'package',\n category: 'Objects'\n },\n {\n emoji: '📫',\n names: ['mailbox'],\n tags: [],\n description: 'closed mailbox with raised flag',\n category: 'Objects'\n },\n {\n emoji: '📪',\n names: ['mailbox_closed'],\n tags: [],\n description: 'closed mailbox with lowered flag',\n category: 'Objects'\n },\n {\n emoji: '📬',\n names: ['mailbox_with_mail'],\n tags: [],\n description: 'open mailbox with raised flag',\n category: 'Objects'\n },\n {\n emoji: '📭',\n names: ['mailbox_with_no_mail'],\n tags: [],\n description: 'open mailbox with lowered flag',\n category: 'Objects'\n },\n {\n emoji: '📮',\n names: ['postbox'],\n tags: [],\n description: 'postbox',\n category: 'Objects'\n },\n {\n emoji: '🗳️',\n names: ['ballot_box'],\n tags: [],\n description: 'ballot box with ballot',\n category: 'Objects'\n },\n {\n emoji: '✏️',\n names: ['pencil2'],\n tags: [],\n description: 'pencil',\n category: 'Objects'\n },\n {\n emoji: '✒️',\n names: ['black_nib'],\n tags: [],\n description: 'black nib',\n category: 'Objects'\n },\n {\n emoji: '🖋️',\n names: ['fountain_pen'],\n tags: [],\n description: 'fountain pen',\n category: 'Objects'\n },\n {\n emoji: '🖊️',\n names: ['pen'],\n tags: [],\n description: 'pen',\n category: 'Objects'\n },\n {\n emoji: '🖌️',\n names: ['paintbrush'],\n tags: [],\n description: 'paintbrush',\n category: 'Objects'\n },\n {\n emoji: '🖍️',\n names: ['crayon'],\n tags: [],\n description: 'crayon',\n category: 'Objects'\n },\n {\n emoji: '📝',\n names: ['memo', 'pencil'],\n tags: ['document', 'note'],\n description: 'memo',\n category: 'Objects'\n },\n {\n emoji: '💼',\n names: ['briefcase'],\n tags: ['business'],\n description: 'briefcase',\n category: 'Objects'\n },\n {\n emoji: '📁',\n names: ['file_folder'],\n tags: ['directory'],\n description: 'file folder',\n category: 'Objects'\n },\n {\n emoji: '📂',\n names: ['open_file_folder'],\n tags: [],\n description: 'open file folder',\n category: 'Objects'\n },\n {\n emoji: '🗂️',\n names: ['card_index_dividers'],\n tags: [],\n description: 'card index dividers',\n category: 'Objects'\n },\n {\n emoji: '📅',\n names: ['date'],\n tags: ['calendar', 'schedule'],\n description: 'calendar',\n category: 'Objects'\n },\n {\n emoji: '📆',\n names: ['calendar'],\n tags: ['schedule'],\n description: 'tear-off calendar',\n category: 'Objects'\n },\n {\n emoji: '🗒️',\n names: ['spiral_notepad'],\n tags: [],\n description: 'spiral notepad',\n category: 'Objects'\n },\n {\n emoji: '🗓️',\n names: ['spiral_calendar'],\n tags: [],\n description: 'spiral calendar',\n category: 'Objects'\n },\n {\n emoji: '📇',\n names: ['card_index'],\n tags: [],\n description: 'card index',\n category: 'Objects'\n },\n {\n emoji: '📈',\n names: ['chart_with_upwards_trend'],\n tags: ['graph', 'metrics'],\n description: 'chart increasing',\n category: 'Objects'\n },\n {\n emoji: '📉',\n names: ['chart_with_downwards_trend'],\n tags: ['graph', 'metrics'],\n description: 'chart decreasing',\n category: 'Objects'\n },\n {\n emoji: '📊',\n names: ['bar_chart'],\n tags: ['stats', 'metrics'],\n description: 'bar chart',\n category: 'Objects'\n },\n {\n emoji: '📋',\n names: ['clipboard'],\n tags: [],\n description: 'clipboard',\n category: 'Objects'\n },\n {\n emoji: '📌',\n names: ['pushpin'],\n tags: ['location'],\n description: 'pushpin',\n category: 'Objects'\n },\n {\n emoji: '📍',\n names: ['round_pushpin'],\n tags: ['location'],\n description: 'round pushpin',\n category: 'Objects'\n },\n {\n emoji: '📎',\n names: ['paperclip'],\n tags: [],\n description: 'paperclip',\n category: 'Objects'\n },\n {\n emoji: '🖇️',\n names: ['paperclips'],\n tags: [],\n description: 'linked paperclips',\n category: 'Objects'\n },\n {\n emoji: '📏',\n names: ['straight_ruler'],\n tags: [],\n description: 'straight ruler',\n category: 'Objects'\n },\n {\n emoji: '📐',\n names: ['triangular_ruler'],\n tags: [],\n description: 'triangular ruler',\n category: 'Objects'\n },\n {\n emoji: '✂️',\n names: ['scissors'],\n tags: ['cut'],\n description: 'scissors',\n category: 'Objects'\n },\n {\n emoji: '🗃️',\n names: ['card_file_box'],\n tags: [],\n description: 'card file box',\n category: 'Objects'\n },\n {\n emoji: '🗄️',\n names: ['file_cabinet'],\n tags: [],\n description: 'file cabinet',\n category: 'Objects'\n },\n {\n emoji: '🗑️',\n names: ['wastebasket'],\n tags: ['trash'],\n description: 'wastebasket',\n category: 'Objects'\n },\n {\n emoji: '🔒',\n names: ['lock'],\n tags: ['security', 'private'],\n description: 'locked',\n category: 'Objects'\n },\n {\n emoji: '🔓',\n names: ['unlock'],\n tags: ['security'],\n description: 'unlocked',\n category: 'Objects'\n },\n {\n emoji: '🔏',\n names: ['lock_with_ink_pen'],\n tags: [],\n description: 'locked with pen',\n category: 'Objects'\n },\n {\n emoji: '🔐',\n names: ['closed_lock_with_key'],\n tags: ['security'],\n description: 'locked with key',\n category: 'Objects'\n },\n {\n emoji: '🔑',\n names: ['key'],\n tags: ['lock', 'password'],\n description: 'key',\n category: 'Objects'\n },\n {\n emoji: '🗝️',\n names: ['old_key'],\n tags: [],\n description: 'old key',\n category: 'Objects'\n },\n {\n emoji: '🔨',\n names: ['hammer'],\n tags: ['tool'],\n description: 'hammer',\n category: 'Objects'\n },\n {\n emoji: '🪓',\n names: ['axe'],\n tags: [],\n description: 'axe',\n category: 'Objects'\n },\n {\n emoji: '⛏️',\n names: ['pick'],\n tags: [],\n description: 'pick',\n category: 'Objects'\n },\n {\n emoji: '⚒️',\n names: ['hammer_and_pick'],\n tags: [],\n description: 'hammer and pick',\n category: 'Objects'\n },\n {\n emoji: '🛠️',\n names: ['hammer_and_wrench'],\n tags: [],\n description: 'hammer and wrench',\n category: 'Objects'\n },\n {\n emoji: '🗡️',\n names: ['dagger'],\n tags: [],\n description: 'dagger',\n category: 'Objects'\n },\n {\n emoji: '⚔️',\n names: ['crossed_swords'],\n tags: [],\n description: 'crossed swords',\n category: 'Objects'\n },\n {\n emoji: '💣',\n names: ['bomb'],\n tags: ['boom'],\n description: 'bomb',\n category: 'Objects'\n },\n {\n emoji: '🪃',\n names: ['boomerang'],\n tags: [],\n description: 'boomerang',\n category: 'Objects'\n },\n {\n emoji: '🏹',\n names: ['bow_and_arrow'],\n tags: ['archery'],\n description: 'bow and arrow',\n category: 'Objects'\n },\n {\n emoji: '🛡️',\n names: ['shield'],\n tags: [],\n description: 'shield',\n category: 'Objects'\n },\n {\n emoji: '🪚',\n names: ['carpentry_saw'],\n tags: [],\n description: 'carpentry saw',\n category: 'Objects'\n },\n {\n emoji: '🔧',\n names: ['wrench'],\n tags: ['tool'],\n description: 'wrench',\n category: 'Objects'\n },\n {\n emoji: '🪛',\n names: ['screwdriver'],\n tags: [],\n description: 'screwdriver',\n category: 'Objects'\n },\n {\n emoji: '🔩',\n names: ['nut_and_bolt'],\n tags: [],\n description: 'nut and bolt',\n category: 'Objects'\n },\n {\n emoji: '⚙️',\n names: ['gear'],\n tags: [],\n description: 'gear',\n category: 'Objects'\n },\n {\n emoji: '🗜️',\n names: ['clamp'],\n tags: [],\n description: 'clamp',\n category: 'Objects'\n },\n {\n emoji: '⚖️',\n names: ['balance_scale'],\n tags: [],\n description: 'balance scale',\n category: 'Objects'\n },\n {\n emoji: '🦯',\n names: ['probing_cane'],\n tags: [],\n description: 'white cane',\n category: 'Objects'\n },\n {\n emoji: '🔗',\n names: ['link'],\n tags: [],\n description: 'link',\n category: 'Objects'\n },\n {\n emoji: '⛓️',\n names: ['chains'],\n tags: [],\n description: 'chains',\n category: 'Objects'\n },\n {\n emoji: '🪝',\n names: ['hook'],\n tags: [],\n description: 'hook',\n category: 'Objects'\n },\n {\n emoji: '🧰',\n names: ['toolbox'],\n tags: [],\n description: 'toolbox',\n category: 'Objects'\n },\n {\n emoji: '🧲',\n names: ['magnet'],\n tags: [],\n description: 'magnet',\n category: 'Objects'\n },\n {\n emoji: '🪜',\n names: ['ladder'],\n tags: [],\n description: 'ladder',\n category: 'Objects'\n },\n {\n emoji: '⚗️',\n names: ['alembic'],\n tags: [],\n description: 'alembic',\n category: 'Objects'\n },\n {\n emoji: '🧪',\n names: ['test_tube'],\n tags: [],\n description: 'test tube',\n category: 'Objects'\n },\n {\n emoji: '🧫',\n names: ['petri_dish'],\n tags: [],\n description: 'petri dish',\n category: 'Objects'\n },\n {\n emoji: '🧬',\n names: ['dna'],\n tags: [],\n description: 'dna',\n category: 'Objects'\n },\n {\n emoji: '🔬',\n names: ['microscope'],\n tags: ['science', 'laboratory', 'investigate'],\n description: 'microscope',\n category: 'Objects'\n },\n {\n emoji: '🔭',\n names: ['telescope'],\n tags: [],\n description: 'telescope',\n category: 'Objects'\n },\n {\n emoji: '📡',\n names: ['satellite'],\n tags: ['signal'],\n description: 'satellite antenna',\n category: 'Objects'\n },\n {\n emoji: '💉',\n names: ['syringe'],\n tags: ['health', 'hospital', 'needle'],\n description: 'syringe',\n category: 'Objects'\n },\n {\n emoji: '🩸',\n names: ['drop_of_blood'],\n tags: [],\n description: 'drop of blood',\n category: 'Objects'\n },\n {\n emoji: '💊',\n names: ['pill'],\n tags: ['health', 'medicine'],\n description: 'pill',\n category: 'Objects'\n },\n {\n emoji: '🩹',\n names: ['adhesive_bandage'],\n tags: [],\n description: 'adhesive bandage',\n category: 'Objects'\n },\n {\n emoji: '🩼',\n names: ['crutch'],\n tags: [],\n description: 'crutch',\n category: 'Objects'\n },\n {\n emoji: '🩺',\n names: ['stethoscope'],\n tags: [],\n description: 'stethoscope',\n category: 'Objects'\n },\n {\n emoji: '🩻',\n names: ['x_ray'],\n tags: [],\n description: 'x-ray',\n category: 'Objects'\n },\n {\n emoji: '🚪',\n names: ['door'],\n tags: [],\n description: 'door',\n category: 'Objects'\n },\n {\n emoji: '🛗',\n names: ['elevator'],\n tags: [],\n description: 'elevator',\n category: 'Objects'\n },\n {\n emoji: '🪞',\n names: ['mirror'],\n tags: [],\n description: 'mirror',\n category: 'Objects'\n },\n {\n emoji: '🪟',\n names: ['window'],\n tags: [],\n description: 'window',\n category: 'Objects'\n },\n {\n emoji: '🛏️',\n names: ['bed'],\n tags: [],\n description: 'bed',\n category: 'Objects'\n },\n {\n emoji: '🛋️',\n names: ['couch_and_lamp'],\n tags: [],\n description: 'couch and lamp',\n category: 'Objects'\n },\n {\n emoji: '🪑',\n names: ['chair'],\n tags: [],\n description: 'chair',\n category: 'Objects'\n },\n {\n emoji: '🚽',\n names: ['toilet'],\n tags: ['wc'],\n description: 'toilet',\n category: 'Objects'\n },\n {\n emoji: '🪠',\n names: ['plunger'],\n tags: [],\n description: 'plunger',\n category: 'Objects'\n },\n {\n emoji: '🚿',\n names: ['shower'],\n tags: ['bath'],\n description: 'shower',\n category: 'Objects'\n },\n {\n emoji: '🛁',\n names: ['bathtub'],\n tags: [],\n description: 'bathtub',\n category: 'Objects'\n },\n {\n emoji: '🪤',\n names: ['mouse_trap'],\n tags: [],\n description: 'mouse trap',\n category: 'Objects'\n },\n {\n emoji: '🪒',\n names: ['razor'],\n tags: [],\n description: 'razor',\n category: 'Objects'\n },\n {\n emoji: '🧴',\n names: ['lotion_bottle'],\n tags: [],\n description: 'lotion bottle',\n category: 'Objects'\n },\n {\n emoji: '🧷',\n names: ['safety_pin'],\n tags: [],\n description: 'safety pin',\n category: 'Objects'\n },\n {\n emoji: '🧹',\n names: ['broom'],\n tags: [],\n description: 'broom',\n category: 'Objects'\n },\n {\n emoji: '🧺',\n names: ['basket'],\n tags: [],\n description: 'basket',\n category: 'Objects'\n },\n {\n emoji: '🧻',\n names: ['roll_of_paper'],\n tags: ['toilet'],\n description: 'roll of paper',\n category: 'Objects'\n },\n {\n emoji: '🪣',\n names: ['bucket'],\n tags: [],\n description: 'bucket',\n category: 'Objects'\n },\n {\n emoji: '🧼',\n names: ['soap'],\n tags: [],\n description: 'soap',\n category: 'Objects'\n },\n {\n emoji: '🫧',\n names: ['bubbles'],\n tags: [],\n description: 'bubbles',\n category: 'Objects'\n },\n {\n emoji: '🪥',\n names: ['toothbrush'],\n tags: [],\n description: 'toothbrush',\n category: 'Objects'\n },\n {\n emoji: '🧽',\n names: ['sponge'],\n tags: [],\n description: 'sponge',\n category: 'Objects'\n },\n {\n emoji: '🧯',\n names: ['fire_extinguisher'],\n tags: [],\n description: 'fire extinguisher',\n category: 'Objects'\n },\n {\n emoji: '🛒',\n names: ['shopping_cart'],\n tags: [],\n description: 'shopping cart',\n category: 'Objects'\n },\n {\n emoji: '🚬',\n names: ['smoking'],\n tags: ['cigarette'],\n description: 'cigarette',\n category: 'Objects'\n },\n {\n emoji: '⚰️',\n names: ['coffin'],\n tags: ['funeral'],\n description: 'coffin',\n category: 'Objects'\n },\n {\n emoji: '🪦',\n names: ['headstone'],\n tags: [],\n description: 'headstone',\n category: 'Objects'\n },\n {\n emoji: '⚱️',\n names: ['funeral_urn'],\n tags: [],\n description: 'funeral urn',\n category: 'Objects'\n },\n {\n emoji: '🧿',\n names: ['nazar_amulet'],\n tags: [],\n description: 'nazar amulet',\n category: 'Objects'\n },\n {\n emoji: '🪬',\n names: ['hamsa'],\n tags: [],\n description: 'hamsa',\n category: 'Objects'\n },\n {\n emoji: '🗿',\n names: ['moyai'],\n tags: ['stone'],\n description: 'moai',\n category: 'Objects'\n },\n {\n emoji: '🪧',\n names: ['placard'],\n tags: [],\n description: 'placard',\n category: 'Objects'\n },\n {\n emoji: '🪪',\n names: ['identification_card'],\n tags: [],\n description: 'identification card',\n category: 'Objects'\n },\n {\n emoji: '🏧',\n names: ['atm'],\n tags: [],\n description: 'ATM sign',\n category: 'Symbols'\n },\n {\n emoji: '🚮',\n names: ['put_litter_in_its_place'],\n tags: [],\n description: 'litter in bin sign',\n category: 'Symbols'\n },\n {\n emoji: '🚰',\n names: ['potable_water'],\n tags: [],\n description: 'potable water',\n category: 'Symbols'\n },\n {\n emoji: '♿',\n names: ['wheelchair'],\n tags: ['accessibility'],\n description: 'wheelchair symbol',\n category: 'Symbols'\n },\n {\n emoji: '🚹',\n names: ['mens'],\n tags: [],\n description: 'men’s room',\n category: 'Symbols'\n },\n {\n emoji: '🚺',\n names: ['womens'],\n tags: [],\n description: 'women’s room',\n category: 'Symbols'\n },\n {\n emoji: '🚻',\n names: ['restroom'],\n tags: ['toilet'],\n description: 'restroom',\n category: 'Symbols'\n },\n {\n emoji: '🚼',\n names: ['baby_symbol'],\n tags: [],\n description: 'baby symbol',\n category: 'Symbols'\n },\n {\n emoji: '🚾',\n names: ['wc'],\n tags: ['toilet', 'restroom'],\n description: 'water closet',\n category: 'Symbols'\n },\n {\n emoji: '🛂',\n names: ['passport_control'],\n tags: [],\n description: 'passport control',\n category: 'Symbols'\n },\n {\n emoji: '🛃',\n names: ['customs'],\n tags: [],\n description: 'customs',\n category: 'Symbols'\n },\n {\n emoji: '🛄',\n names: ['baggage_claim'],\n tags: ['airport'],\n description: 'baggage claim',\n category: 'Symbols'\n },\n {\n emoji: '🛅',\n names: ['left_luggage'],\n tags: [],\n description: 'left luggage',\n category: 'Symbols'\n },\n {\n emoji: '⚠️',\n names: ['warning'],\n tags: ['wip'],\n description: 'warning',\n category: 'Symbols'\n },\n {\n emoji: '🚸',\n names: ['children_crossing'],\n tags: [],\n description: 'children crossing',\n category: 'Symbols'\n },\n {\n emoji: '⛔',\n names: ['no_entry'],\n tags: ['limit'],\n description: 'no entry',\n category: 'Symbols'\n },\n {\n emoji: '🚫',\n names: ['no_entry_sign'],\n tags: ['block', 'forbidden'],\n description: 'prohibited',\n category: 'Symbols'\n },\n {\n emoji: '🚳',\n names: ['no_bicycles'],\n tags: [],\n description: 'no bicycles',\n category: 'Symbols'\n },\n {\n emoji: '🚭',\n names: ['no_smoking'],\n tags: [],\n description: 'no smoking',\n category: 'Symbols'\n },\n {\n emoji: '🚯',\n names: ['do_not_litter'],\n tags: [],\n description: 'no littering',\n category: 'Symbols'\n },\n {\n emoji: '🚱',\n names: ['non-potable_water'],\n tags: [],\n description: 'non-potable water',\n category: 'Symbols'\n },\n {\n emoji: '🚷',\n names: ['no_pedestrians'],\n tags: [],\n description: 'no pedestrians',\n category: 'Symbols'\n },\n {\n emoji: '📵',\n names: ['no_mobile_phones'],\n tags: [],\n description: 'no mobile phones',\n category: 'Symbols'\n },\n {\n emoji: '🔞',\n names: ['underage'],\n tags: [],\n description: 'no one under eighteen',\n category: 'Symbols'\n },\n {\n emoji: '☢️',\n names: ['radioactive'],\n tags: [],\n description: 'radioactive',\n category: 'Symbols'\n },\n {\n emoji: '☣️',\n names: ['biohazard'],\n tags: [],\n description: 'biohazard',\n category: 'Symbols'\n },\n {\n emoji: '⬆️',\n names: ['arrow_up'],\n tags: [],\n description: 'up arrow',\n category: 'Symbols'\n },\n {\n emoji: '↗️',\n names: ['arrow_upper_right'],\n tags: [],\n description: 'up-right arrow',\n category: 'Symbols'\n },\n {\n emoji: '➡️',\n names: ['arrow_right'],\n tags: [],\n description: 'right arrow',\n category: 'Symbols'\n },\n {\n emoji: '↘️',\n names: ['arrow_lower_right'],\n tags: [],\n description: 'down-right arrow',\n category: 'Symbols'\n },\n {\n emoji: '⬇️',\n names: ['arrow_down'],\n tags: [],\n description: 'down arrow',\n category: 'Symbols'\n },\n {\n emoji: '↙️',\n names: ['arrow_lower_left'],\n tags: [],\n description: 'down-left arrow',\n category: 'Symbols'\n },\n {\n emoji: '⬅️',\n names: ['arrow_left'],\n tags: [],\n description: 'left arrow',\n category: 'Symbols'\n },\n {\n emoji: '↖️',\n names: ['arrow_upper_left'],\n tags: [],\n description: 'up-left arrow',\n category: 'Symbols'\n },\n {\n emoji: '↕️',\n names: ['arrow_up_down'],\n tags: [],\n description: 'up-down arrow',\n category: 'Symbols'\n },\n {\n emoji: '↔️',\n names: ['left_right_arrow'],\n tags: [],\n description: 'left-right arrow',\n category: 'Symbols'\n },\n {\n emoji: '↩️',\n names: ['leftwards_arrow_with_hook'],\n tags: ['return'],\n description: 'right arrow curving left',\n category: 'Symbols'\n },\n {\n emoji: '↪️',\n names: ['arrow_right_hook'],\n tags: [],\n description: 'left arrow curving right',\n category: 'Symbols'\n },\n {\n emoji: '⤴️',\n names: ['arrow_heading_up'],\n tags: [],\n description: 'right arrow curving up',\n category: 'Symbols'\n },\n {\n emoji: '⤵️',\n names: ['arrow_heading_down'],\n tags: [],\n description: 'right arrow curving down',\n category: 'Symbols'\n },\n {\n emoji: '🔃',\n names: ['arrows_clockwise'],\n tags: [],\n description: 'clockwise vertical arrows',\n category: 'Symbols'\n },\n {\n emoji: '🔄',\n names: ['arrows_counterclockwise'],\n tags: ['sync'],\n description: 'counterclockwise arrows button',\n category: 'Symbols'\n },\n {\n emoji: '🔙',\n names: ['back'],\n tags: [],\n description: 'BACK arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔚',\n names: ['end'],\n tags: [],\n description: 'END arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔛',\n names: ['on'],\n tags: [],\n description: 'ON! arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔜',\n names: ['soon'],\n tags: [],\n description: 'SOON arrow',\n category: 'Symbols'\n },\n {\n emoji: '🔝',\n names: ['top'],\n tags: [],\n description: 'TOP arrow',\n category: 'Symbols'\n },\n {\n emoji: '🛐',\n names: ['place_of_worship'],\n tags: [],\n description: 'place of worship',\n category: 'Symbols'\n },\n {\n emoji: '⚛️',\n names: ['atom_symbol'],\n tags: [],\n description: 'atom symbol',\n category: 'Symbols'\n },\n {\n emoji: '🕉️',\n names: ['om'],\n tags: [],\n description: 'om',\n category: 'Symbols'\n },\n {\n emoji: '✡️',\n names: ['star_of_david'],\n tags: [],\n description: 'star of David',\n category: 'Symbols'\n },\n {\n emoji: '☸️',\n names: ['wheel_of_dharma'],\n tags: [],\n description: 'wheel of dharma',\n category: 'Symbols'\n },\n {\n emoji: '☯️',\n names: ['yin_yang'],\n tags: [],\n description: 'yin yang',\n category: 'Symbols'\n },\n {\n emoji: '✝️',\n names: ['latin_cross'],\n tags: [],\n description: 'latin cross',\n category: 'Symbols'\n },\n {\n emoji: '☦️',\n names: ['orthodox_cross'],\n tags: [],\n description: 'orthodox cross',\n category: 'Symbols'\n },\n {\n emoji: '☪️',\n names: ['star_and_crescent'],\n tags: [],\n description: 'star and crescent',\n category: 'Symbols'\n },\n {\n emoji: '☮️',\n names: ['peace_symbol'],\n tags: [],\n description: 'peace symbol',\n category: 'Symbols'\n },\n {\n emoji: '🕎',\n names: ['menorah'],\n tags: [],\n description: 'menorah',\n category: 'Symbols'\n },\n {\n emoji: '🔯',\n names: ['six_pointed_star'],\n tags: [],\n description: 'dotted six-pointed star',\n category: 'Symbols'\n },\n {\n emoji: '🪯',\n names: ['khanda'],\n tags: [],\n description: 'khanda',\n category: 'Symbols'\n },\n {\n emoji: '♈',\n names: ['aries'],\n tags: [],\n description: 'Aries',\n category: 'Symbols'\n },\n {\n emoji: '♉',\n names: ['taurus'],\n tags: [],\n description: 'Taurus',\n category: 'Symbols'\n },\n {\n emoji: '♊',\n names: ['gemini'],\n tags: [],\n description: 'Gemini',\n category: 'Symbols'\n },\n {\n emoji: '♋',\n names: ['cancer'],\n tags: [],\n description: 'Cancer',\n category: 'Symbols'\n },\n {\n emoji: '♌',\n names: ['leo'],\n tags: [],\n description: 'Leo',\n category: 'Symbols'\n },\n {\n emoji: '♍',\n names: ['virgo'],\n tags: [],\n description: 'Virgo',\n category: 'Symbols'\n },\n {\n emoji: '♎',\n names: ['libra'],\n tags: [],\n description: 'Libra',\n category: 'Symbols'\n },\n {\n emoji: '♏',\n names: ['scorpius'],\n tags: [],\n description: 'Scorpio',\n category: 'Symbols'\n },\n {\n emoji: '♐',\n names: ['sagittarius'],\n tags: [],\n description: 'Sagittarius',\n category: 'Symbols'\n },\n {\n emoji: '♑',\n names: ['capricorn'],\n tags: [],\n description: 'Capricorn',\n category: 'Symbols'\n },\n {\n emoji: '♒',\n names: ['aquarius'],\n tags: [],\n description: 'Aquarius',\n category: 'Symbols'\n },\n {\n emoji: '♓',\n names: ['pisces'],\n tags: [],\n description: 'Pisces',\n category: 'Symbols'\n },\n {\n emoji: '⛎',\n names: ['ophiuchus'],\n tags: [],\n description: 'Ophiuchus',\n category: 'Symbols'\n },\n {\n emoji: '🔀',\n names: ['twisted_rightwards_arrows'],\n tags: ['shuffle'],\n description: 'shuffle tracks button',\n category: 'Symbols'\n },\n {\n emoji: '🔁',\n names: ['repeat'],\n tags: ['loop'],\n description: 'repeat button',\n category: 'Symbols'\n },\n {\n emoji: '🔂',\n names: ['repeat_one'],\n tags: [],\n description: 'repeat single button',\n category: 'Symbols'\n },\n {\n emoji: '▶️',\n names: ['arrow_forward'],\n tags: [],\n description: 'play button',\n category: 'Symbols'\n },\n {\n emoji: '⏩',\n names: ['fast_forward'],\n tags: [],\n description: 'fast-forward button',\n category: 'Symbols'\n },\n {\n emoji: '⏭️',\n names: ['next_track_button'],\n tags: [],\n description: 'next track button',\n category: 'Symbols'\n },\n {\n emoji: '⏯️',\n names: ['play_or_pause_button'],\n tags: [],\n description: 'play or pause button',\n category: 'Symbols'\n },\n {\n emoji: '◀️',\n names: ['arrow_backward'],\n tags: [],\n description: 'reverse button',\n category: 'Symbols'\n },\n {\n emoji: '⏪',\n names: ['rewind'],\n tags: [],\n description: 'fast reverse button',\n category: 'Symbols'\n },\n {\n emoji: '⏮️',\n names: ['previous_track_button'],\n tags: [],\n description: 'last track button',\n category: 'Symbols'\n },\n {\n emoji: '🔼',\n names: ['arrow_up_small'],\n tags: [],\n description: 'upwards button',\n category: 'Symbols'\n },\n {\n emoji: '⏫',\n names: ['arrow_double_up'],\n tags: [],\n description: 'fast up button',\n category: 'Symbols'\n },\n {\n emoji: '🔽',\n names: ['arrow_down_small'],\n tags: [],\n description: 'downwards button',\n category: 'Symbols'\n },\n {\n emoji: '⏬',\n names: ['arrow_double_down'],\n tags: [],\n description: 'fast down button',\n category: 'Symbols'\n },\n {\n emoji: '⏸️',\n names: ['pause_button'],\n tags: [],\n description: 'pause button',\n category: 'Symbols'\n },\n {\n emoji: '⏹️',\n names: ['stop_button'],\n tags: [],\n description: 'stop button',\n category: 'Symbols'\n },\n {\n emoji: '⏺️',\n names: ['record_button'],\n tags: [],\n description: 'record button',\n category: 'Symbols'\n },\n {\n emoji: '⏏️',\n names: ['eject_button'],\n tags: [],\n description: 'eject button',\n category: 'Symbols'\n },\n {\n emoji: '🎦',\n names: ['cinema'],\n tags: ['film', 'movie'],\n description: 'cinema',\n category: 'Symbols'\n },\n {\n emoji: '🔅',\n names: ['low_brightness'],\n tags: [],\n description: 'dim button',\n category: 'Symbols'\n },\n {\n emoji: '🔆',\n names: ['high_brightness'],\n tags: [],\n description: 'bright button',\n category: 'Symbols'\n },\n {\n emoji: '📶',\n names: ['signal_strength'],\n tags: ['wifi'],\n description: 'antenna bars',\n category: 'Symbols'\n },\n {\n emoji: '🛜',\n names: ['wireless'],\n tags: ['wifi'],\n description: 'wireless',\n category: 'Symbols'\n },\n {\n emoji: '📳',\n names: ['vibration_mode'],\n tags: [],\n description: 'vibration mode',\n category: 'Symbols'\n },\n {\n emoji: '📴',\n names: ['mobile_phone_off'],\n tags: ['mute', 'off'],\n description: 'mobile phone off',\n category: 'Symbols'\n },\n {\n emoji: '♀️',\n names: ['female_sign'],\n tags: [],\n description: 'female sign',\n category: 'Symbols'\n },\n {\n emoji: '♂️',\n names: ['male_sign'],\n tags: [],\n description: 'male sign',\n category: 'Symbols'\n },\n {\n emoji: '⚧️',\n names: ['transgender_symbol'],\n tags: [],\n description: 'transgender symbol',\n category: 'Symbols'\n },\n {\n emoji: '✖️',\n names: ['heavy_multiplication_x'],\n tags: [],\n description: 'multiply',\n category: 'Symbols'\n },\n {\n emoji: '➕',\n names: ['heavy_plus_sign'],\n tags: [],\n description: 'plus',\n category: 'Symbols'\n },\n {\n emoji: '➖',\n names: ['heavy_minus_sign'],\n tags: [],\n description: 'minus',\n category: 'Symbols'\n },\n {\n emoji: '➗',\n names: ['heavy_division_sign'],\n tags: [],\n description: 'divide',\n category: 'Symbols'\n },\n {\n emoji: '🟰',\n names: ['heavy_equals_sign'],\n tags: [],\n description: 'heavy equals sign',\n category: 'Symbols'\n },\n {\n emoji: '♾️',\n names: ['infinity'],\n tags: [],\n description: 'infinity',\n category: 'Symbols'\n },\n {\n emoji: '‼️',\n names: ['bangbang'],\n tags: [],\n description: 'double exclamation mark',\n category: 'Symbols'\n },\n {\n emoji: '⁉️',\n names: ['interrobang'],\n tags: [],\n description: 'exclamation question mark',\n category: 'Symbols'\n },\n {\n emoji: '❓',\n names: ['question'],\n tags: ['confused'],\n description: 'red question mark',\n category: 'Symbols'\n },\n {\n emoji: '❔',\n names: ['grey_question'],\n tags: [],\n description: 'white question mark',\n category: 'Symbols'\n },\n {\n emoji: '❕',\n names: ['grey_exclamation'],\n tags: [],\n description: 'white exclamation mark',\n category: 'Symbols'\n },\n {\n emoji: '❗',\n names: ['exclamation', 'heavy_exclamation_mark'],\n tags: ['bang'],\n description: 'red exclamation mark',\n category: 'Symbols'\n },\n {\n emoji: '〰️',\n names: ['wavy_dash'],\n tags: [],\n description: 'wavy dash',\n category: 'Symbols'\n },\n {\n emoji: '💱',\n names: ['currency_exchange'],\n tags: [],\n description: 'currency exchange',\n category: 'Symbols'\n },\n {\n emoji: '💲',\n names: ['heavy_dollar_sign'],\n tags: [],\n description: 'heavy dollar sign',\n category: 'Symbols'\n },\n {\n emoji: '⚕️',\n names: ['medical_symbol'],\n tags: [],\n description: 'medical symbol',\n category: 'Symbols'\n },\n {\n emoji: '♻️',\n names: ['recycle'],\n tags: ['environment', 'green'],\n description: 'recycling symbol',\n category: 'Symbols'\n },\n {\n emoji: '⚜️',\n names: ['fleur_de_lis'],\n tags: [],\n description: 'fleur-de-lis',\n category: 'Symbols'\n },\n {\n emoji: '🔱',\n names: ['trident'],\n tags: [],\n description: 'trident emblem',\n category: 'Symbols'\n },\n {\n emoji: '📛',\n names: ['name_badge'],\n tags: [],\n description: 'name badge',\n category: 'Symbols'\n },\n {\n emoji: '🔰',\n names: ['beginner'],\n tags: [],\n description: 'Japanese symbol for beginner',\n category: 'Symbols'\n },\n {\n emoji: '⭕',\n names: ['o'],\n tags: [],\n description: 'hollow red circle',\n category: 'Symbols'\n },\n {\n emoji: '✅',\n names: ['white_check_mark'],\n tags: [],\n description: 'check mark button',\n category: 'Symbols'\n },\n {\n emoji: '☑️',\n names: ['ballot_box_with_check'],\n tags: [],\n description: 'check box with check',\n category: 'Symbols'\n },\n {\n emoji: '✔️',\n names: ['heavy_check_mark'],\n tags: [],\n description: 'check mark',\n category: 'Symbols'\n },\n {\n emoji: '❌',\n names: ['x'],\n tags: [],\n description: 'cross mark',\n category: 'Symbols'\n },\n {\n emoji: '❎',\n names: ['negative_squared_cross_mark'],\n tags: [],\n description: 'cross mark button',\n category: 'Symbols'\n },\n {\n emoji: '➰',\n names: ['curly_loop'],\n tags: [],\n description: 'curly loop',\n category: 'Symbols'\n },\n {\n emoji: '➿',\n names: ['loop'],\n tags: [],\n description: 'double curly loop',\n category: 'Symbols'\n },\n {\n emoji: '〽️',\n names: ['part_alternation_mark'],\n tags: [],\n description: 'part alternation mark',\n category: 'Symbols'\n },\n {\n emoji: '✳️',\n names: ['eight_spoked_asterisk'],\n tags: [],\n description: 'eight-spoked asterisk',\n category: 'Symbols'\n },\n {\n emoji: '✴️',\n names: ['eight_pointed_black_star'],\n tags: [],\n description: 'eight-pointed star',\n category: 'Symbols'\n },\n {\n emoji: '❇️',\n names: ['sparkle'],\n tags: [],\n description: 'sparkle',\n category: 'Symbols'\n },\n {\n emoji: '©️',\n names: ['copyright'],\n tags: [],\n description: 'copyright',\n category: 'Symbols'\n },\n {\n emoji: '®️',\n names: ['registered'],\n tags: [],\n description: 'registered',\n category: 'Symbols'\n },\n {\n emoji: '™️',\n names: ['tm'],\n tags: ['trademark'],\n description: 'trade mark',\n category: 'Symbols'\n },\n {\n emoji: '#️⃣',\n names: ['hash'],\n tags: ['number'],\n description: 'keycap: #',\n category: 'Symbols'\n },\n {\n emoji: '*️⃣',\n names: ['asterisk'],\n tags: [],\n description: 'keycap: *',\n category: 'Symbols'\n },\n {\n emoji: '0️⃣',\n names: ['zero'],\n tags: [],\n description: 'keycap: 0',\n category: 'Symbols'\n },\n {\n emoji: '1️⃣',\n names: ['one'],\n tags: [],\n description: 'keycap: 1',\n category: 'Symbols'\n },\n {\n emoji: '2️⃣',\n names: ['two'],\n tags: [],\n description: 'keycap: 2',\n category: 'Symbols'\n },\n {\n emoji: '3️⃣',\n names: ['three'],\n tags: [],\n description: 'keycap: 3',\n category: 'Symbols'\n },\n {\n emoji: '4️⃣',\n names: ['four'],\n tags: [],\n description: 'keycap: 4',\n category: 'Symbols'\n },\n {\n emoji: '5️⃣',\n names: ['five'],\n tags: [],\n description: 'keycap: 5',\n category: 'Symbols'\n },\n {\n emoji: '6️⃣',\n names: ['six'],\n tags: [],\n description: 'keycap: 6',\n category: 'Symbols'\n },\n {\n emoji: '7️⃣',\n names: ['seven'],\n tags: [],\n description: 'keycap: 7',\n category: 'Symbols'\n },\n {\n emoji: '8️⃣',\n names: ['eight'],\n tags: [],\n description: 'keycap: 8',\n category: 'Symbols'\n },\n {\n emoji: '9️⃣',\n names: ['nine'],\n tags: [],\n description: 'keycap: 9',\n category: 'Symbols'\n },\n {\n emoji: '🔟',\n names: ['keycap_ten'],\n tags: [],\n description: 'keycap: 10',\n category: 'Symbols'\n },\n {\n emoji: '🔠',\n names: ['capital_abcd'],\n tags: ['letters'],\n description: 'input latin uppercase',\n category: 'Symbols'\n },\n {\n emoji: '🔡',\n names: ['abcd'],\n tags: [],\n description: 'input latin lowercase',\n category: 'Symbols'\n },\n {\n emoji: '🔢',\n names: ['1234'],\n tags: ['numbers'],\n description: 'input numbers',\n category: 'Symbols'\n },\n {\n emoji: '🔣',\n names: ['symbols'],\n tags: [],\n description: 'input symbols',\n category: 'Symbols'\n },\n {\n emoji: '🔤',\n names: ['abc'],\n tags: ['alphabet'],\n description: 'input latin letters',\n category: 'Symbols'\n },\n {\n emoji: '🅰️',\n names: ['a'],\n tags: [],\n description: 'A button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🆎',\n names: ['ab'],\n tags: [],\n description: 'AB button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🅱️',\n names: ['b'],\n tags: [],\n description: 'B button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🆑',\n names: ['cl'],\n tags: [],\n description: 'CL button',\n category: 'Symbols'\n },\n {\n emoji: '🆒',\n names: ['cool'],\n tags: [],\n description: 'COOL button',\n category: 'Symbols'\n },\n {\n emoji: '🆓',\n names: ['free'],\n tags: [],\n description: 'FREE button',\n category: 'Symbols'\n },\n {\n emoji: 'ℹ️',\n names: ['information_source'],\n tags: [],\n description: 'information',\n category: 'Symbols'\n },\n {\n emoji: '🆔',\n names: ['id'],\n tags: [],\n description: 'ID button',\n category: 'Symbols'\n },\n {\n emoji: 'Ⓜ️',\n names: ['m'],\n tags: [],\n description: 'circled M',\n category: 'Symbols'\n },\n {\n emoji: '🆕',\n names: ['new'],\n tags: ['fresh'],\n description: 'NEW button',\n category: 'Symbols'\n },\n {\n emoji: '🆖',\n names: ['ng'],\n tags: [],\n description: 'NG button',\n category: 'Symbols'\n },\n {\n emoji: '🅾️',\n names: ['o2'],\n tags: [],\n description: 'O button (blood type)',\n category: 'Symbols'\n },\n {\n emoji: '🆗',\n names: ['ok'],\n tags: ['yes'],\n description: 'OK button',\n category: 'Symbols'\n },\n {\n emoji: '🅿️',\n names: ['parking'],\n tags: [],\n description: 'P button',\n category: 'Symbols'\n },\n {\n emoji: '🆘',\n names: ['sos'],\n tags: ['help', 'emergency'],\n description: 'SOS button',\n category: 'Symbols'\n },\n {\n emoji: '🆙',\n names: ['up'],\n tags: [],\n description: 'UP! button',\n category: 'Symbols'\n },\n {\n emoji: '🆚',\n names: ['vs'],\n tags: [],\n description: 'VS button',\n category: 'Symbols'\n },\n {\n emoji: '🈁',\n names: ['koko'],\n tags: [],\n description: 'Japanese “here” button',\n category: 'Symbols'\n },\n {\n emoji: '🈂️',\n names: ['sa'],\n tags: [],\n description: 'Japanese “service charge” button',\n category: 'Symbols'\n },\n {\n emoji: '🈷️',\n names: ['u6708'],\n tags: [],\n description: 'Japanese “monthly amount” button',\n category: 'Symbols'\n },\n {\n emoji: '🈶',\n names: ['u6709'],\n tags: [],\n description: 'Japanese “not free of charge” button',\n category: 'Symbols'\n },\n {\n emoji: '🈯',\n names: ['u6307'],\n tags: [],\n description: 'Japanese “reserved” button',\n category: 'Symbols'\n },\n {\n emoji: '🉐',\n names: ['ideograph_advantage'],\n tags: [],\n description: 'Japanese “bargain” button',\n category: 'Symbols'\n },\n {\n emoji: '🈹',\n names: ['u5272'],\n tags: [],\n description: 'Japanese “discount” button',\n category: 'Symbols'\n },\n {\n emoji: '🈚',\n names: ['u7121'],\n tags: [],\n description: 'Japanese “free of charge” button',\n category: 'Symbols'\n },\n {\n emoji: '🈲',\n names: ['u7981'],\n tags: [],\n description: 'Japanese “prohibited” button',\n category: 'Symbols'\n },\n {\n emoji: '🉑',\n names: ['accept'],\n tags: [],\n description: 'Japanese “acceptable” button',\n category: 'Symbols'\n },\n {\n emoji: '🈸',\n names: ['u7533'],\n tags: [],\n description: 'Japanese “application” button',\n category: 'Symbols'\n },\n {\n emoji: '🈴',\n names: ['u5408'],\n tags: [],\n description: 'Japanese “passing grade” button',\n category: 'Symbols'\n },\n {\n emoji: '🈳',\n names: ['u7a7a'],\n tags: [],\n description: 'Japanese “vacancy” button',\n category: 'Symbols'\n },\n {\n emoji: '㊗️',\n names: ['congratulations'],\n tags: [],\n description: 'Japanese “congratulations” button',\n category: 'Symbols'\n },\n {\n emoji: '㊙️',\n names: ['secret'],\n tags: [],\n description: 'Japanese “secret” button',\n category: 'Symbols'\n },\n {\n emoji: '🈺',\n names: ['u55b6'],\n tags: [],\n description: 'Japanese “open for business” button',\n category: 'Symbols'\n },\n {\n emoji: '🈵',\n names: ['u6e80'],\n tags: [],\n description: 'Japanese “no vacancy” button',\n category: 'Symbols'\n },\n {\n emoji: '🔴',\n names: ['red_circle'],\n tags: [],\n description: 'red circle',\n category: 'Symbols'\n },\n {\n emoji: '🟠',\n names: ['orange_circle'],\n tags: [],\n description: 'orange circle',\n category: 'Symbols'\n },\n {\n emoji: '🟡',\n names: ['yellow_circle'],\n tags: [],\n description: 'yellow circle',\n category: 'Symbols'\n },\n {\n emoji: '🟢',\n names: ['green_circle'],\n tags: [],\n description: 'green circle',\n category: 'Symbols'\n },\n {\n emoji: '🔵',\n names: ['large_blue_circle'],\n tags: [],\n description: 'blue circle',\n category: 'Symbols'\n },\n {\n emoji: '🟣',\n names: ['purple_circle'],\n tags: [],\n description: 'purple circle',\n category: 'Symbols'\n },\n {\n emoji: '🟤',\n names: ['brown_circle'],\n tags: [],\n description: 'brown circle',\n category: 'Symbols'\n },\n {\n emoji: '⚫',\n names: ['black_circle'],\n tags: [],\n description: 'black circle',\n category: 'Symbols'\n },\n {\n emoji: '⚪',\n names: ['white_circle'],\n tags: [],\n description: 'white circle',\n category: 'Symbols'\n },\n {\n emoji: '🟥',\n names: ['red_square'],\n tags: [],\n description: 'red square',\n category: 'Symbols'\n },\n {\n emoji: '🟧',\n names: ['orange_square'],\n tags: [],\n description: 'orange square',\n category: 'Symbols'\n },\n {\n emoji: '🟨',\n names: ['yellow_square'],\n tags: [],\n description: 'yellow square',\n category: 'Symbols'\n },\n {\n emoji: '🟩',\n names: ['green_square'],\n tags: [],\n description: 'green square',\n category: 'Symbols'\n },\n {\n emoji: '🟦',\n names: ['blue_square'],\n tags: [],\n description: 'blue square',\n category: 'Symbols'\n },\n {\n emoji: '🟪',\n names: ['purple_square'],\n tags: [],\n description: 'purple square',\n category: 'Symbols'\n },\n {\n emoji: '🟫',\n names: ['brown_square'],\n tags: [],\n description: 'brown square',\n category: 'Symbols'\n },\n {\n emoji: '⬛',\n names: ['black_large_square'],\n tags: [],\n description: 'black large square',\n category: 'Symbols'\n },\n {\n emoji: '⬜',\n names: ['white_large_square'],\n tags: [],\n description: 'white large square',\n category: 'Symbols'\n },\n {\n emoji: '◼️',\n names: ['black_medium_square'],\n tags: [],\n description: 'black medium square',\n category: 'Symbols'\n },\n {\n emoji: '◻️',\n names: ['white_medium_square'],\n tags: [],\n description: 'white medium square',\n category: 'Symbols'\n },\n {\n emoji: '◾',\n names: ['black_medium_small_square'],\n tags: [],\n description: 'black medium-small square',\n category: 'Symbols'\n },\n {\n emoji: '◽',\n names: ['white_medium_small_square'],\n tags: [],\n description: 'white medium-small square',\n category: 'Symbols'\n },\n {\n emoji: '▪️',\n names: ['black_small_square'],\n tags: [],\n description: 'black small square',\n category: 'Symbols'\n },\n {\n emoji: '▫️',\n names: ['white_small_square'],\n tags: [],\n description: 'white small square',\n category: 'Symbols'\n },\n {\n emoji: '🔶',\n names: ['large_orange_diamond'],\n tags: [],\n description: 'large orange diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔷',\n names: ['large_blue_diamond'],\n tags: [],\n description: 'large blue diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔸',\n names: ['small_orange_diamond'],\n tags: [],\n description: 'small orange diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔹',\n names: ['small_blue_diamond'],\n tags: [],\n description: 'small blue diamond',\n category: 'Symbols'\n },\n {\n emoji: '🔺',\n names: ['small_red_triangle'],\n tags: [],\n description: 'red triangle pointed up',\n category: 'Symbols'\n },\n {\n emoji: '🔻',\n names: ['small_red_triangle_down'],\n tags: [],\n description: 'red triangle pointed down',\n category: 'Symbols'\n },\n {\n emoji: '💠',\n names: ['diamond_shape_with_a_dot_inside'],\n tags: [],\n description: 'diamond with a dot',\n category: 'Symbols'\n },\n {\n emoji: '🔘',\n names: ['radio_button'],\n tags: [],\n description: 'radio button',\n category: 'Symbols'\n },\n {\n emoji: '🔳',\n names: ['white_square_button'],\n tags: [],\n description: 'white square button',\n category: 'Symbols'\n },\n {\n emoji: '🔲',\n names: ['black_square_button'],\n tags: [],\n description: 'black square button',\n category: 'Symbols'\n },\n {\n emoji: '🏁',\n names: ['checkered_flag'],\n tags: ['milestone', 'finish'],\n description: 'chequered flag',\n category: 'Flags'\n },\n {\n emoji: '🚩',\n names: ['triangular_flag_on_post'],\n tags: [],\n description: 'triangular flag',\n category: 'Flags'\n },\n {\n emoji: '🎌',\n names: ['crossed_flags'],\n tags: [],\n description: 'crossed flags',\n category: 'Flags'\n },\n {\n emoji: '🏴',\n names: ['black_flag'],\n tags: [],\n description: 'black flag',\n category: 'Flags'\n },\n {\n emoji: '🏳️',\n names: ['white_flag'],\n tags: [],\n description: 'white flag',\n category: 'Flags'\n },\n {\n emoji: '🏳️‍🌈',\n names: ['rainbow_flag'],\n tags: ['pride'],\n description: 'rainbow flag',\n category: 'Flags'\n },\n {\n emoji: '🏳️‍⚧️',\n names: ['transgender_flag'],\n tags: [],\n description: 'transgender flag',\n category: 'Flags'\n },\n {\n emoji: '🏴‍☠️',\n names: ['pirate_flag'],\n tags: [],\n description: 'pirate flag',\n category: 'Flags'\n },\n {\n emoji: '🇦🇨',\n names: ['ascension_island'],\n tags: [],\n description: 'flag: Ascension Island',\n category: 'Flags'\n },\n {\n emoji: '🇦🇩',\n names: ['andorra'],\n tags: [],\n description: 'flag: Andorra',\n category: 'Flags'\n },\n {\n emoji: '🇦🇪',\n names: ['united_arab_emirates'],\n tags: [],\n description: 'flag: United Arab Emirates',\n category: 'Flags'\n },\n {\n emoji: '🇦🇫',\n names: ['afghanistan'],\n tags: [],\n description: 'flag: Afghanistan',\n category: 'Flags'\n },\n {\n emoji: '🇦🇬',\n names: ['antigua_barbuda'],\n tags: [],\n description: 'flag: Antigua & Barbuda',\n category: 'Flags'\n },\n {\n emoji: '🇦🇮',\n names: ['anguilla'],\n tags: [],\n description: 'flag: Anguilla',\n category: 'Flags'\n },\n {\n emoji: '🇦🇱',\n names: ['albania'],\n tags: [],\n description: 'flag: Albania',\n category: 'Flags'\n },\n {\n emoji: '🇦🇲',\n names: ['armenia'],\n tags: [],\n description: 'flag: Armenia',\n category: 'Flags'\n },\n {\n emoji: '🇦🇴',\n names: ['angola'],\n tags: [],\n description: 'flag: Angola',\n category: 'Flags'\n },\n {\n emoji: '🇦🇶',\n names: ['antarctica'],\n tags: [],\n description: 'flag: Antarctica',\n category: 'Flags'\n },\n {\n emoji: '🇦🇷',\n names: ['argentina'],\n tags: [],\n description: 'flag: Argentina',\n category: 'Flags'\n },\n {\n emoji: '🇦🇸',\n names: ['american_samoa'],\n tags: [],\n description: 'flag: American Samoa',\n category: 'Flags'\n },\n {\n emoji: '🇦🇹',\n names: ['austria'],\n tags: [],\n description: 'flag: Austria',\n category: 'Flags'\n },\n {\n emoji: '🇦🇺',\n names: ['australia'],\n tags: [],\n description: 'flag: Australia',\n category: 'Flags'\n },\n {\n emoji: '🇦🇼',\n names: ['aruba'],\n tags: [],\n description: 'flag: Aruba',\n category: 'Flags'\n },\n {\n emoji: '🇦🇽',\n names: ['aland_islands'],\n tags: [],\n description: 'flag: Åland Islands',\n category: 'Flags'\n },\n {\n emoji: '🇦🇿',\n names: ['azerbaijan'],\n tags: [],\n description: 'flag: Azerbaijan',\n category: 'Flags'\n },\n {\n emoji: '🇧🇦',\n names: ['bosnia_herzegovina'],\n tags: [],\n description: 'flag: Bosnia & Herzegovina',\n category: 'Flags'\n },\n {\n emoji: '🇧🇧',\n names: ['barbados'],\n tags: [],\n description: 'flag: Barbados',\n category: 'Flags'\n },\n {\n emoji: '🇧🇩',\n names: ['bangladesh'],\n tags: [],\n description: 'flag: Bangladesh',\n category: 'Flags'\n },\n {\n emoji: '🇧🇪',\n names: ['belgium'],\n tags: [],\n description: 'flag: Belgium',\n category: 'Flags'\n },\n {\n emoji: '🇧🇫',\n names: ['burkina_faso'],\n tags: [],\n description: 'flag: Burkina Faso',\n category: 'Flags'\n },\n {\n emoji: '🇧🇬',\n names: ['bulgaria'],\n tags: [],\n description: 'flag: Bulgaria',\n category: 'Flags'\n },\n {\n emoji: '🇧🇭',\n names: ['bahrain'],\n tags: [],\n description: 'flag: Bahrain',\n category: 'Flags'\n },\n {\n emoji: '🇧🇮',\n names: ['burundi'],\n tags: [],\n description: 'flag: Burundi',\n category: 'Flags'\n },\n {\n emoji: '🇧🇯',\n names: ['benin'],\n tags: [],\n description: 'flag: Benin',\n category: 'Flags'\n },\n {\n emoji: '🇧🇱',\n names: ['st_barthelemy'],\n tags: [],\n description: 'flag: St. Barthélemy',\n category: 'Flags'\n },\n {\n emoji: '🇧🇲',\n names: ['bermuda'],\n tags: [],\n description: 'flag: Bermuda',\n category: 'Flags'\n },\n {\n emoji: '🇧🇳',\n names: ['brunei'],\n tags: [],\n description: 'flag: Brunei',\n category: 'Flags'\n },\n {\n emoji: '🇧🇴',\n names: ['bolivia'],\n tags: [],\n description: 'flag: Bolivia',\n category: 'Flags'\n },\n {\n emoji: '🇧🇶',\n names: ['caribbean_netherlands'],\n tags: [],\n description: 'flag: Caribbean Netherlands',\n category: 'Flags'\n },\n {\n emoji: '🇧🇷',\n names: ['brazil'],\n tags: [],\n description: 'flag: Brazil',\n category: 'Flags'\n },\n {\n emoji: '🇧🇸',\n names: ['bahamas'],\n tags: [],\n description: 'flag: Bahamas',\n category: 'Flags'\n },\n {\n emoji: '🇧🇹',\n names: ['bhutan'],\n tags: [],\n description: 'flag: Bhutan',\n category: 'Flags'\n },\n {\n emoji: '🇧🇻',\n names: ['bouvet_island'],\n tags: [],\n description: 'flag: Bouvet Island',\n category: 'Flags'\n },\n {\n emoji: '🇧🇼',\n names: ['botswana'],\n tags: [],\n description: 'flag: Botswana',\n category: 'Flags'\n },\n {\n emoji: '🇧🇾',\n names: ['belarus'],\n tags: [],\n description: 'flag: Belarus',\n category: 'Flags'\n },\n {\n emoji: '🇧🇿',\n names: ['belize'],\n tags: [],\n description: 'flag: Belize',\n category: 'Flags'\n },\n {\n emoji: '🇨🇦',\n names: ['canada'],\n tags: [],\n description: 'flag: Canada',\n category: 'Flags'\n },\n {\n emoji: '🇨🇨',\n names: ['cocos_islands'],\n tags: ['keeling'],\n description: 'flag: Cocos (Keeling) Islands',\n category: 'Flags'\n },\n {\n emoji: '🇨🇩',\n names: ['congo_kinshasa'],\n tags: [],\n description: 'flag: Congo - Kinshasa',\n category: 'Flags'\n },\n {\n emoji: '🇨🇫',\n names: ['central_african_republic'],\n tags: [],\n description: 'flag: Central African Republic',\n category: 'Flags'\n },\n {\n emoji: '🇨🇬',\n names: ['congo_brazzaville'],\n tags: [],\n description: 'flag: Congo - Brazzaville',\n category: 'Flags'\n },\n {\n emoji: '🇨🇭',\n names: ['switzerland'],\n tags: [],\n description: 'flag: Switzerland',\n category: 'Flags'\n },\n {\n emoji: '🇨🇮',\n names: ['cote_divoire'],\n tags: ['ivory'],\n description: 'flag: Côte d’Ivoire',\n category: 'Flags'\n },\n {\n emoji: '🇨🇰',\n names: ['cook_islands'],\n tags: [],\n description: 'flag: Cook Islands',\n category: 'Flags'\n },\n {\n emoji: '🇨🇱',\n names: ['chile'],\n tags: [],\n description: 'flag: Chile',\n category: 'Flags'\n },\n {\n emoji: '🇨🇲',\n names: ['cameroon'],\n tags: [],\n description: 'flag: Cameroon',\n category: 'Flags'\n },\n {\n emoji: '🇨🇳',\n names: ['cn'],\n tags: ['china'],\n description: 'flag: China',\n category: 'Flags'\n },\n {\n emoji: '🇨🇴',\n names: ['colombia'],\n tags: [],\n description: 'flag: Colombia',\n category: 'Flags'\n },\n {\n emoji: '🇨🇵',\n names: ['clipperton_island'],\n tags: [],\n description: 'flag: Clipperton Island',\n category: 'Flags'\n },\n {\n emoji: '🇨🇷',\n names: ['costa_rica'],\n tags: [],\n description: 'flag: Costa Rica',\n category: 'Flags'\n },\n {\n emoji: '🇨🇺',\n names: ['cuba'],\n tags: [],\n description: 'flag: Cuba',\n category: 'Flags'\n },\n {\n emoji: '🇨🇻',\n names: ['cape_verde'],\n tags: [],\n description: 'flag: Cape Verde',\n category: 'Flags'\n },\n {\n emoji: '🇨🇼',\n names: ['curacao'],\n tags: [],\n description: 'flag: Curaçao',\n category: 'Flags'\n },\n {\n emoji: '🇨🇽',\n names: ['christmas_island'],\n tags: [],\n description: 'flag: Christmas Island',\n category: 'Flags'\n },\n {\n emoji: '🇨🇾',\n names: ['cyprus'],\n tags: [],\n description: 'flag: Cyprus',\n category: 'Flags'\n },\n {\n emoji: '🇨🇿',\n names: ['czech_republic'],\n tags: [],\n description: 'flag: Czechia',\n category: 'Flags'\n },\n {\n emoji: '🇩🇪',\n names: ['de'],\n tags: ['flag', 'germany'],\n description: 'flag: Germany',\n category: 'Flags'\n },\n {\n emoji: '🇩🇬',\n names: ['diego_garcia'],\n tags: [],\n description: 'flag: Diego Garcia',\n category: 'Flags'\n },\n {\n emoji: '🇩🇯',\n names: ['djibouti'],\n tags: [],\n description: 'flag: Djibouti',\n category: 'Flags'\n },\n {\n emoji: '🇩🇰',\n names: ['denmark'],\n tags: [],\n description: 'flag: Denmark',\n category: 'Flags'\n },\n {\n emoji: '🇩🇲',\n names: ['dominica'],\n tags: [],\n description: 'flag: Dominica',\n category: 'Flags'\n },\n {\n emoji: '🇩🇴',\n names: ['dominican_republic'],\n tags: [],\n description: 'flag: Dominican Republic',\n category: 'Flags'\n },\n {\n emoji: '🇩🇿',\n names: ['algeria'],\n tags: [],\n description: 'flag: Algeria',\n category: 'Flags'\n },\n {\n emoji: '🇪🇦',\n names: ['ceuta_melilla'],\n tags: [],\n description: 'flag: Ceuta & Melilla',\n category: 'Flags'\n },\n {\n emoji: '🇪🇨',\n names: ['ecuador'],\n tags: [],\n description: 'flag: Ecuador',\n category: 'Flags'\n },\n {\n emoji: '🇪🇪',\n names: ['estonia'],\n tags: [],\n description: 'flag: Estonia',\n category: 'Flags'\n },\n {\n emoji: '🇪🇬',\n names: ['egypt'],\n tags: [],\n description: 'flag: Egypt',\n category: 'Flags'\n },\n {\n emoji: '🇪🇭',\n names: ['western_sahara'],\n tags: [],\n description: 'flag: Western Sahara',\n category: 'Flags'\n },\n {\n emoji: '🇪🇷',\n names: ['eritrea'],\n tags: [],\n description: 'flag: Eritrea',\n category: 'Flags'\n },\n {\n emoji: '🇪🇸',\n names: ['es'],\n tags: ['spain'],\n description: 'flag: Spain',\n category: 'Flags'\n },\n {\n emoji: '🇪🇹',\n names: ['ethiopia'],\n tags: [],\n description: 'flag: Ethiopia',\n category: 'Flags'\n },\n {\n emoji: '🇪🇺',\n names: ['eu', 'european_union'],\n tags: [],\n description: 'flag: European Union',\n category: 'Flags'\n },\n {\n emoji: '🇫🇮',\n names: ['finland'],\n tags: [],\n description: 'flag: Finland',\n category: 'Flags'\n },\n {\n emoji: '🇫🇯',\n names: ['fiji'],\n tags: [],\n description: 'flag: Fiji',\n category: 'Flags'\n },\n {\n emoji: '🇫🇰',\n names: ['falkland_islands'],\n tags: [],\n description: 'flag: Falkland Islands',\n category: 'Flags'\n },\n {\n emoji: '🇫🇲',\n names: ['micronesia'],\n tags: [],\n description: 'flag: Micronesia',\n category: 'Flags'\n },\n {\n emoji: '🇫🇴',\n names: ['faroe_islands'],\n tags: [],\n description: 'flag: Faroe Islands',\n category: 'Flags'\n },\n {\n emoji: '🇫🇷',\n names: ['fr'],\n tags: ['france', 'french'],\n description: 'flag: France',\n category: 'Flags'\n },\n {\n emoji: '🇬🇦',\n names: ['gabon'],\n tags: [],\n description: 'flag: Gabon',\n category: 'Flags'\n },\n {\n emoji: '🇬🇧',\n names: ['gb', 'uk'],\n tags: ['flag', 'british'],\n description: 'flag: United Kingdom',\n category: 'Flags'\n },\n {\n emoji: '🇬🇩',\n names: ['grenada'],\n tags: [],\n description: 'flag: Grenada',\n category: 'Flags'\n },\n {\n emoji: '🇬🇪',\n names: ['georgia'],\n tags: [],\n description: 'flag: Georgia',\n category: 'Flags'\n },\n {\n emoji: '🇬🇫',\n names: ['french_guiana'],\n tags: [],\n description: 'flag: French Guiana',\n category: 'Flags'\n },\n {\n emoji: '🇬🇬',\n names: ['guernsey'],\n tags: [],\n description: 'flag: Guernsey',\n category: 'Flags'\n },\n {\n emoji: '🇬🇭',\n names: ['ghana'],\n tags: [],\n description: 'flag: Ghana',\n category: 'Flags'\n },\n {\n emoji: '🇬🇮',\n names: ['gibraltar'],\n tags: [],\n description: 'flag: Gibraltar',\n category: 'Flags'\n },\n {\n emoji: '🇬🇱',\n names: ['greenland'],\n tags: [],\n description: 'flag: Greenland',\n category: 'Flags'\n },\n {\n emoji: '🇬🇲',\n names: ['gambia'],\n tags: [],\n description: 'flag: Gambia',\n category: 'Flags'\n },\n {\n emoji: '🇬🇳',\n names: ['guinea'],\n tags: [],\n description: 'flag: Guinea',\n category: 'Flags'\n },\n {\n emoji: '🇬🇵',\n names: ['guadeloupe'],\n tags: [],\n description: 'flag: Guadeloupe',\n category: 'Flags'\n },\n {\n emoji: '🇬🇶',\n names: ['equatorial_guinea'],\n tags: [],\n description: 'flag: Equatorial Guinea',\n category: 'Flags'\n },\n {\n emoji: '🇬🇷',\n names: ['greece'],\n tags: [],\n description: 'flag: Greece',\n category: 'Flags'\n },\n {\n emoji: '🇬🇸',\n names: ['south_georgia_south_sandwich_islands'],\n tags: [],\n description: 'flag: South Georgia & South Sandwich Islands',\n category: 'Flags'\n },\n {\n emoji: '🇬🇹',\n names: ['guatemala'],\n tags: [],\n description: 'flag: Guatemala',\n category: 'Flags'\n },\n {\n emoji: '🇬🇺',\n names: ['guam'],\n tags: [],\n description: 'flag: Guam',\n category: 'Flags'\n },\n {\n emoji: '🇬🇼',\n names: ['guinea_bissau'],\n tags: [],\n description: 'flag: Guinea-Bissau',\n category: 'Flags'\n },\n {\n emoji: '🇬🇾',\n names: ['guyana'],\n tags: [],\n description: 'flag: Guyana',\n category: 'Flags'\n },\n {\n emoji: '🇭🇰',\n names: ['hong_kong'],\n tags: [],\n description: 'flag: Hong Kong SAR China',\n category: 'Flags'\n },\n {\n emoji: '🇭🇲',\n names: ['heard_mcdonald_islands'],\n tags: [],\n description: 'flag: Heard & McDonald Islands',\n category: 'Flags'\n },\n {\n emoji: '🇭🇳',\n names: ['honduras'],\n tags: [],\n description: 'flag: Honduras',\n category: 'Flags'\n },\n {\n emoji: '🇭🇷',\n names: ['croatia'],\n tags: [],\n description: 'flag: Croatia',\n category: 'Flags'\n },\n {\n emoji: '🇭🇹',\n names: ['haiti'],\n tags: [],\n description: 'flag: Haiti',\n category: 'Flags'\n },\n {\n emoji: '🇭🇺',\n names: ['hungary'],\n tags: [],\n description: 'flag: Hungary',\n category: 'Flags'\n },\n {\n emoji: '🇮🇨',\n names: ['canary_islands'],\n tags: [],\n description: 'flag: Canary Islands',\n category: 'Flags'\n },\n {\n emoji: '🇮🇩',\n names: ['indonesia'],\n tags: [],\n description: 'flag: Indonesia',\n category: 'Flags'\n },\n {\n emoji: '🇮🇪',\n names: ['ireland'],\n tags: [],\n description: 'flag: Ireland',\n category: 'Flags'\n },\n {\n emoji: '🇮🇱',\n names: ['israel'],\n tags: [],\n description: 'flag: Israel',\n category: 'Flags'\n },\n {\n emoji: '🇮🇲',\n names: ['isle_of_man'],\n tags: [],\n description: 'flag: Isle of Man',\n category: 'Flags'\n },\n {\n emoji: '🇮🇳',\n names: ['india'],\n tags: [],\n description: 'flag: India',\n category: 'Flags'\n },\n {\n emoji: '🇮🇴',\n names: ['british_indian_ocean_territory'],\n tags: [],\n description: 'flag: British Indian Ocean Territory',\n category: 'Flags'\n },\n {\n emoji: '🇮🇶',\n names: ['iraq'],\n tags: [],\n description: 'flag: Iraq',\n category: 'Flags'\n },\n {\n emoji: '🇮🇷',\n names: ['iran'],\n tags: [],\n description: 'flag: Iran',\n category: 'Flags'\n },\n {\n emoji: '🇮🇸',\n names: ['iceland'],\n tags: [],\n description: 'flag: Iceland',\n category: 'Flags'\n },\n {\n emoji: '🇮🇹',\n names: ['it'],\n tags: ['italy'],\n description: 'flag: Italy',\n category: 'Flags'\n },\n {\n emoji: '🇯🇪',\n names: ['jersey'],\n tags: [],\n description: 'flag: Jersey',\n category: 'Flags'\n },\n {\n emoji: '🇯🇲',\n names: ['jamaica'],\n tags: [],\n description: 'flag: Jamaica',\n category: 'Flags'\n },\n {\n emoji: '🇯🇴',\n names: ['jordan'],\n tags: [],\n description: 'flag: Jordan',\n category: 'Flags'\n },\n {\n emoji: '🇯🇵',\n names: ['jp'],\n tags: ['japan'],\n description: 'flag: Japan',\n category: 'Flags'\n },\n {\n emoji: '🇰🇪',\n names: ['kenya'],\n tags: [],\n description: 'flag: Kenya',\n category: 'Flags'\n },\n {\n emoji: '🇰🇬',\n names: ['kyrgyzstan'],\n tags: [],\n description: 'flag: Kyrgyzstan',\n category: 'Flags'\n },\n {\n emoji: '🇰🇭',\n names: ['cambodia'],\n tags: [],\n description: 'flag: Cambodia',\n category: 'Flags'\n },\n {\n emoji: '🇰🇮',\n names: ['kiribati'],\n tags: [],\n description: 'flag: Kiribati',\n category: 'Flags'\n },\n {\n emoji: '🇰🇲',\n names: ['comoros'],\n tags: [],\n description: 'flag: Comoros',\n category: 'Flags'\n },\n {\n emoji: '🇰🇳',\n names: ['st_kitts_nevis'],\n tags: [],\n description: 'flag: St. Kitts & Nevis',\n category: 'Flags'\n },\n {\n emoji: '🇰🇵',\n names: ['north_korea'],\n tags: [],\n description: 'flag: North Korea',\n category: 'Flags'\n },\n {\n emoji: '🇰🇷',\n names: ['kr'],\n tags: ['korea'],\n description: 'flag: South Korea',\n category: 'Flags'\n },\n {\n emoji: '🇰🇼',\n names: ['kuwait'],\n tags: [],\n description: 'flag: Kuwait',\n category: 'Flags'\n },\n {\n emoji: '🇰🇾',\n names: ['cayman_islands'],\n tags: [],\n description: 'flag: Cayman Islands',\n category: 'Flags'\n },\n {\n emoji: '🇰🇿',\n names: ['kazakhstan'],\n tags: [],\n description: 'flag: Kazakhstan',\n category: 'Flags'\n },\n {\n emoji: '🇱🇦',\n names: ['laos'],\n tags: [],\n description: 'flag: Laos',\n category: 'Flags'\n },\n {\n emoji: '🇱🇧',\n names: ['lebanon'],\n tags: [],\n description: 'flag: Lebanon',\n category: 'Flags'\n },\n {\n emoji: '🇱🇨',\n names: ['st_lucia'],\n tags: [],\n description: 'flag: St. Lucia',\n category: 'Flags'\n },\n {\n emoji: '🇱🇮',\n names: ['liechtenstein'],\n tags: [],\n description: 'flag: Liechtenstein',\n category: 'Flags'\n },\n {\n emoji: '🇱🇰',\n names: ['sri_lanka'],\n tags: [],\n description: 'flag: Sri Lanka',\n category: 'Flags'\n },\n {\n emoji: '🇱🇷',\n names: ['liberia'],\n tags: [],\n description: 'flag: Liberia',\n category: 'Flags'\n },\n {\n emoji: '🇱🇸',\n names: ['lesotho'],\n tags: [],\n description: 'flag: Lesotho',\n category: 'Flags'\n },\n {\n emoji: '🇱🇹',\n names: ['lithuania'],\n tags: [],\n description: 'flag: Lithuania',\n category: 'Flags'\n },\n {\n emoji: '🇱🇺',\n names: ['luxembourg'],\n tags: [],\n description: 'flag: Luxembourg',\n category: 'Flags'\n },\n {\n emoji: '🇱🇻',\n names: ['latvia'],\n tags: [],\n description: 'flag: Latvia',\n category: 'Flags'\n },\n {\n emoji: '🇱🇾',\n names: ['libya'],\n tags: [],\n description: 'flag: Libya',\n category: 'Flags'\n },\n {\n emoji: '🇲🇦',\n names: ['morocco'],\n tags: [],\n description: 'flag: Morocco',\n category: 'Flags'\n },\n {\n emoji: '🇲🇨',\n names: ['monaco'],\n tags: [],\n description: 'flag: Monaco',\n category: 'Flags'\n },\n {\n emoji: '🇲🇩',\n names: ['moldova'],\n tags: [],\n description: 'flag: Moldova',\n category: 'Flags'\n },\n {\n emoji: '🇲🇪',\n names: ['montenegro'],\n tags: [],\n description: 'flag: Montenegro',\n category: 'Flags'\n },\n {\n emoji: '🇲🇫',\n names: ['st_martin'],\n tags: [],\n description: 'flag: St. Martin',\n category: 'Flags'\n },\n {\n emoji: '🇲🇬',\n names: ['madagascar'],\n tags: [],\n description: 'flag: Madagascar',\n category: 'Flags'\n },\n {\n emoji: '🇲🇭',\n names: ['marshall_islands'],\n tags: [],\n description: 'flag: Marshall Islands',\n category: 'Flags'\n },\n {\n emoji: '🇲🇰',\n names: ['macedonia'],\n tags: [],\n description: 'flag: North Macedonia',\n category: 'Flags'\n },\n {\n emoji: '🇲🇱',\n names: ['mali'],\n tags: [],\n description: 'flag: Mali',\n category: 'Flags'\n },\n {\n emoji: '🇲🇲',\n names: ['myanmar'],\n tags: ['burma'],\n description: 'flag: Myanmar (Burma)',\n category: 'Flags'\n },\n {\n emoji: '🇲🇳',\n names: ['mongolia'],\n tags: [],\n description: 'flag: Mongolia',\n category: 'Flags'\n },\n {\n emoji: '🇲🇴',\n names: ['macau'],\n tags: [],\n description: 'flag: Macao SAR China',\n category: 'Flags'\n },\n {\n emoji: '🇲🇵',\n names: ['northern_mariana_islands'],\n tags: [],\n description: 'flag: Northern Mariana Islands',\n category: 'Flags'\n },\n {\n emoji: '🇲🇶',\n names: ['martinique'],\n tags: [],\n description: 'flag: Martinique',\n category: 'Flags'\n },\n {\n emoji: '🇲🇷',\n names: ['mauritania'],\n tags: [],\n description: 'flag: Mauritania',\n category: 'Flags'\n },\n {\n emoji: '🇲🇸',\n names: ['montserrat'],\n tags: [],\n description: 'flag: Montserrat',\n category: 'Flags'\n },\n {\n emoji: '🇲🇹',\n names: ['malta'],\n tags: [],\n description: 'flag: Malta',\n category: 'Flags'\n },\n {\n emoji: '🇲🇺',\n names: ['mauritius'],\n tags: [],\n description: 'flag: Mauritius',\n category: 'Flags'\n },\n {\n emoji: '🇲🇻',\n names: ['maldives'],\n tags: [],\n description: 'flag: Maldives',\n category: 'Flags'\n },\n {\n emoji: '🇲🇼',\n names: ['malawi'],\n tags: [],\n description: 'flag: Malawi',\n category: 'Flags'\n },\n {\n emoji: '🇲🇽',\n names: ['mexico'],\n tags: [],\n description: 'flag: Mexico',\n category: 'Flags'\n },\n {\n emoji: '🇲🇾',\n names: ['malaysia'],\n tags: [],\n description: 'flag: Malaysia',\n category: 'Flags'\n },\n {\n emoji: '🇲🇿',\n names: ['mozambique'],\n tags: [],\n description: 'flag: Mozambique',\n category: 'Flags'\n },\n {\n emoji: '🇳🇦',\n names: ['namibia'],\n tags: [],\n description: 'flag: Namibia',\n category: 'Flags'\n },\n {\n emoji: '🇳🇨',\n names: ['new_caledonia'],\n tags: [],\n description: 'flag: New Caledonia',\n category: 'Flags'\n },\n {\n emoji: '🇳🇪',\n names: ['niger'],\n tags: [],\n description: 'flag: Niger',\n category: 'Flags'\n },\n {\n emoji: '🇳🇫',\n names: ['norfolk_island'],\n tags: [],\n description: 'flag: Norfolk Island',\n category: 'Flags'\n },\n {\n emoji: '🇳🇬',\n names: ['nigeria'],\n tags: [],\n description: 'flag: Nigeria',\n category: 'Flags'\n },\n {\n emoji: '🇳🇮',\n names: ['nicaragua'],\n tags: [],\n description: 'flag: Nicaragua',\n category: 'Flags'\n },\n {\n emoji: '🇳🇱',\n names: ['netherlands'],\n tags: [],\n description: 'flag: Netherlands',\n category: 'Flags'\n },\n {\n emoji: '🇳🇴',\n names: ['norway'],\n tags: [],\n description: 'flag: Norway',\n category: 'Flags'\n },\n {\n emoji: '🇳🇵',\n names: ['nepal'],\n tags: [],\n description: 'flag: Nepal',\n category: 'Flags'\n },\n {\n emoji: '🇳🇷',\n names: ['nauru'],\n tags: [],\n description: 'flag: Nauru',\n category: 'Flags'\n },\n {\n emoji: '🇳🇺',\n names: ['niue'],\n tags: [],\n description: 'flag: Niue',\n category: 'Flags'\n },\n {\n emoji: '🇳🇿',\n names: ['new_zealand'],\n tags: [],\n description: 'flag: New Zealand',\n category: 'Flags'\n },\n {\n emoji: '🇴🇲',\n names: ['oman'],\n tags: [],\n description: 'flag: Oman',\n category: 'Flags'\n },\n {\n emoji: '🇵🇦',\n names: ['panama'],\n tags: [],\n description: 'flag: Panama',\n category: 'Flags'\n },\n {\n emoji: '🇵🇪',\n names: ['peru'],\n tags: [],\n description: 'flag: Peru',\n category: 'Flags'\n },\n {\n emoji: '🇵🇫',\n names: ['french_polynesia'],\n tags: [],\n description: 'flag: French Polynesia',\n category: 'Flags'\n },\n {\n emoji: '🇵🇬',\n names: ['papua_new_guinea'],\n tags: [],\n description: 'flag: Papua New Guinea',\n category: 'Flags'\n },\n {\n emoji: '🇵🇭',\n names: ['philippines'],\n tags: [],\n description: 'flag: Philippines',\n category: 'Flags'\n },\n {\n emoji: '🇵🇰',\n names: ['pakistan'],\n tags: [],\n description: 'flag: Pakistan',\n category: 'Flags'\n },\n {\n emoji: '🇵🇱',\n names: ['poland'],\n tags: [],\n description: 'flag: Poland',\n category: 'Flags'\n },\n {\n emoji: '🇵🇲',\n names: ['st_pierre_miquelon'],\n tags: [],\n description: 'flag: St. Pierre & Miquelon',\n category: 'Flags'\n },\n {\n emoji: '🇵🇳',\n names: ['pitcairn_islands'],\n tags: [],\n description: 'flag: Pitcairn Islands',\n category: 'Flags'\n },\n {\n emoji: '🇵🇷',\n names: ['puerto_rico'],\n tags: [],\n description: 'flag: Puerto Rico',\n category: 'Flags'\n },\n {\n emoji: '🇵🇸',\n names: ['palestinian_territories'],\n tags: [],\n description: 'flag: Palestinian Territories',\n category: 'Flags'\n },\n {\n emoji: '🇵🇹',\n names: ['portugal'],\n tags: [],\n description: 'flag: Portugal',\n category: 'Flags'\n },\n {\n emoji: '🇵🇼',\n names: ['palau'],\n tags: [],\n description: 'flag: Palau',\n category: 'Flags'\n },\n {\n emoji: '🇵🇾',\n names: ['paraguay'],\n tags: [],\n description: 'flag: Paraguay',\n category: 'Flags'\n },\n {\n emoji: '🇶🇦',\n names: ['qatar'],\n tags: [],\n description: 'flag: Qatar',\n category: 'Flags'\n },\n {\n emoji: '🇷🇪',\n names: ['reunion'],\n tags: [],\n description: 'flag: Réunion',\n category: 'Flags'\n },\n {\n emoji: '🇷🇴',\n names: ['romania'],\n tags: [],\n description: 'flag: Romania',\n category: 'Flags'\n },\n {\n emoji: '🇷🇸',\n names: ['serbia'],\n tags: [],\n description: 'flag: Serbia',\n category: 'Flags'\n },\n {\n emoji: '🇷🇺',\n names: ['ru'],\n tags: ['russia'],\n description: 'flag: Russia',\n category: 'Flags'\n },\n {\n emoji: '🇷🇼',\n names: ['rwanda'],\n tags: [],\n description: 'flag: Rwanda',\n category: 'Flags'\n },\n {\n emoji: '🇸🇦',\n names: ['saudi_arabia'],\n tags: [],\n description: 'flag: Saudi Arabia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇧',\n names: ['solomon_islands'],\n tags: [],\n description: 'flag: Solomon Islands',\n category: 'Flags'\n },\n {\n emoji: '🇸🇨',\n names: ['seychelles'],\n tags: [],\n description: 'flag: Seychelles',\n category: 'Flags'\n },\n {\n emoji: '🇸🇩',\n names: ['sudan'],\n tags: [],\n description: 'flag: Sudan',\n category: 'Flags'\n },\n {\n emoji: '🇸🇪',\n names: ['sweden'],\n tags: [],\n description: 'flag: Sweden',\n category: 'Flags'\n },\n {\n emoji: '🇸🇬',\n names: ['singapore'],\n tags: [],\n description: 'flag: Singapore',\n category: 'Flags'\n },\n {\n emoji: '🇸🇭',\n names: ['st_helena'],\n tags: [],\n description: 'flag: St. Helena',\n category: 'Flags'\n },\n {\n emoji: '🇸🇮',\n names: ['slovenia'],\n tags: [],\n description: 'flag: Slovenia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇯',\n names: ['svalbard_jan_mayen'],\n tags: [],\n description: 'flag: Svalbard & Jan Mayen',\n category: 'Flags'\n },\n {\n emoji: '🇸🇰',\n names: ['slovakia'],\n tags: [],\n description: 'flag: Slovakia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇱',\n names: ['sierra_leone'],\n tags: [],\n description: 'flag: Sierra Leone',\n category: 'Flags'\n },\n {\n emoji: '🇸🇲',\n names: ['san_marino'],\n tags: [],\n description: 'flag: San Marino',\n category: 'Flags'\n },\n {\n emoji: '🇸🇳',\n names: ['senegal'],\n tags: [],\n description: 'flag: Senegal',\n category: 'Flags'\n },\n {\n emoji: '🇸🇴',\n names: ['somalia'],\n tags: [],\n description: 'flag: Somalia',\n category: 'Flags'\n },\n {\n emoji: '🇸🇷',\n names: ['suriname'],\n tags: [],\n description: 'flag: Suriname',\n category: 'Flags'\n },\n {\n emoji: '🇸🇸',\n names: ['south_sudan'],\n tags: [],\n description: 'flag: South Sudan',\n category: 'Flags'\n },\n {\n emoji: '🇸🇹',\n names: ['sao_tome_principe'],\n tags: [],\n description: 'flag: São Tomé & Príncipe',\n category: 'Flags'\n },\n {\n emoji: '🇸🇻',\n names: ['el_salvador'],\n tags: [],\n description: 'flag: El Salvador',\n category: 'Flags'\n },\n {\n emoji: '🇸🇽',\n names: ['sint_maarten'],\n tags: [],\n description: 'flag: Sint Maarten',\n category: 'Flags'\n },\n {\n emoji: '🇸🇾',\n names: ['syria'],\n tags: [],\n description: 'flag: Syria',\n category: 'Flags'\n },\n {\n emoji: '🇸🇿',\n names: ['swaziland'],\n tags: [],\n description: 'flag: Eswatini',\n category: 'Flags'\n },\n {\n emoji: '🇹🇦',\n names: ['tristan_da_cunha'],\n tags: [],\n description: 'flag: Tristan da Cunha',\n category: 'Flags'\n },\n {\n emoji: '🇹🇨',\n names: ['turks_caicos_islands'],\n tags: [],\n description: 'flag: Turks & Caicos Islands',\n category: 'Flags'\n },\n {\n emoji: '🇹🇩',\n names: ['chad'],\n tags: [],\n description: 'flag: Chad',\n category: 'Flags'\n },\n {\n emoji: '🇹🇫',\n names: ['french_southern_territories'],\n tags: [],\n description: 'flag: French Southern Territories',\n category: 'Flags'\n },\n {\n emoji: '🇹🇬',\n names: ['togo'],\n tags: [],\n description: 'flag: Togo',\n category: 'Flags'\n },\n {\n emoji: '🇹🇭',\n names: ['thailand'],\n tags: [],\n description: 'flag: Thailand',\n category: 'Flags'\n },\n {\n emoji: '🇹🇯',\n names: ['tajikistan'],\n tags: [],\n description: 'flag: Tajikistan',\n category: 'Flags'\n },\n {\n emoji: '🇹🇰',\n names: ['tokelau'],\n tags: [],\n description: 'flag: Tokelau',\n category: 'Flags'\n },\n {\n emoji: '🇹🇱',\n names: ['timor_leste'],\n tags: [],\n description: 'flag: Timor-Leste',\n category: 'Flags'\n },\n {\n emoji: '🇹🇲',\n names: ['turkmenistan'],\n tags: [],\n description: 'flag: Turkmenistan',\n category: 'Flags'\n },\n {\n emoji: '🇹🇳',\n names: ['tunisia'],\n tags: [],\n description: 'flag: Tunisia',\n category: 'Flags'\n },\n {\n emoji: '🇹🇴',\n names: ['tonga'],\n tags: [],\n description: 'flag: Tonga',\n category: 'Flags'\n },\n {\n emoji: '🇹🇷',\n names: ['tr'],\n tags: ['turkey'],\n description: 'flag: Turkey',\n category: 'Flags'\n },\n {\n emoji: '🇹🇹',\n names: ['trinidad_tobago'],\n tags: [],\n description: 'flag: Trinidad & Tobago',\n category: 'Flags'\n },\n {\n emoji: '🇹🇻',\n names: ['tuvalu'],\n tags: [],\n description: 'flag: Tuvalu',\n category: 'Flags'\n },\n {\n emoji: '🇹🇼',\n names: ['taiwan'],\n tags: [],\n description: 'flag: Taiwan',\n category: 'Flags'\n },\n {\n emoji: '🇹🇿',\n names: ['tanzania'],\n tags: [],\n description: 'flag: Tanzania',\n category: 'Flags'\n },\n {\n emoji: '🇺🇦',\n names: ['ukraine'],\n tags: [],\n description: 'flag: Ukraine',\n category: 'Flags'\n },\n {\n emoji: '🇺🇬',\n names: ['uganda'],\n tags: [],\n description: 'flag: Uganda',\n category: 'Flags'\n },\n {\n emoji: '🇺🇲',\n names: ['us_outlying_islands'],\n tags: [],\n description: 'flag: U.S. Outlying Islands',\n category: 'Flags'\n },\n {\n emoji: '🇺🇳',\n names: ['united_nations'],\n tags: [],\n description: 'flag: United Nations',\n category: 'Flags'\n },\n {\n emoji: '🇺🇸',\n names: ['us'],\n tags: ['flag', 'united', 'america'],\n description: 'flag: United States',\n category: 'Flags'\n },\n {\n emoji: '🇺🇾',\n names: ['uruguay'],\n tags: [],\n description: 'flag: Uruguay',\n category: 'Flags'\n },\n {\n emoji: '🇺🇿',\n names: ['uzbekistan'],\n tags: [],\n description: 'flag: Uzbekistan',\n category: 'Flags'\n },\n {\n emoji: '🇻🇦',\n names: ['vatican_city'],\n tags: [],\n description: 'flag: Vatican City',\n category: 'Flags'\n },\n {\n emoji: '🇻🇨',\n names: ['st_vincent_grenadines'],\n tags: [],\n description: 'flag: St. Vincent & Grenadines',\n category: 'Flags'\n },\n {\n emoji: '🇻🇪',\n names: ['venezuela'],\n tags: [],\n description: 'flag: Venezuela',\n category: 'Flags'\n },\n {\n emoji: '🇻🇬',\n names: ['british_virgin_islands'],\n tags: [],\n description: 'flag: British Virgin Islands',\n category: 'Flags'\n },\n {\n emoji: '🇻🇮',\n names: ['us_virgin_islands'],\n tags: [],\n description: 'flag: U.S. Virgin Islands',\n category: 'Flags'\n },\n {\n emoji: '🇻🇳',\n names: ['vietnam'],\n tags: [],\n description: 'flag: Vietnam',\n category: 'Flags'\n },\n {\n emoji: '🇻🇺',\n names: ['vanuatu'],\n tags: [],\n description: 'flag: Vanuatu',\n category: 'Flags'\n },\n {\n emoji: '🇼🇫',\n names: ['wallis_futuna'],\n tags: [],\n description: 'flag: Wallis & Futuna',\n category: 'Flags'\n },\n {\n emoji: '🇼🇸',\n names: ['samoa'],\n tags: [],\n description: 'flag: Samoa',\n category: 'Flags'\n },\n {\n emoji: '🇽🇰',\n names: ['kosovo'],\n tags: [],\n description: 'flag: Kosovo',\n category: 'Flags'\n },\n {\n emoji: '🇾🇪',\n names: ['yemen'],\n tags: [],\n description: 'flag: Yemen',\n category: 'Flags'\n },\n {\n emoji: '🇾🇹',\n names: ['mayotte'],\n tags: [],\n description: 'flag: Mayotte',\n category: 'Flags'\n },\n {\n emoji: '🇿🇦',\n names: ['south_africa'],\n tags: [],\n description: 'flag: South Africa',\n category: 'Flags'\n },\n {\n emoji: '🇿🇲',\n names: ['zambia'],\n tags: [],\n description: 'flag: Zambia',\n category: 'Flags'\n },\n {\n emoji: '🇿🇼',\n names: ['zimbabwe'],\n tags: [],\n description: 'flag: Zimbabwe',\n category: 'Flags'\n },\n {\n emoji: '🏴󠁧󠁢󠁥󠁮󠁧󠁿',\n names: ['england'],\n tags: [],\n description: 'flag: England',\n category: 'Flags'\n },\n {\n emoji: '🏴󠁧󠁢󠁳󠁣󠁴󠁿',\n names: ['scotland'],\n tags: [],\n description: 'flag: Scotland',\n category: 'Flags'\n },\n {\n emoji: '🏴󠁧󠁢󠁷󠁬󠁳󠁿',\n names: ['wales'],\n tags: [],\n description: 'flag: Wales',\n category: 'Flags'\n }\n]\n\n/**\n * Map of names to emoji.\n *\n * @type {Record<string, string>}\n */\nexport const nameToEmoji = {\n 100: '💯',\n 1234: '🔢',\n grinning: '😀',\n smiley: '😃',\n smile: '😄',\n grin: '😁',\n laughing: '😆',\n satisfied: '😆',\n sweat_smile: '😅',\n rofl: '🤣',\n joy: '😂',\n slightly_smiling_face: '🙂',\n upside_down_face: '🙃',\n melting_face: '🫠',\n wink: '😉',\n blush: '😊',\n innocent: '😇',\n smiling_face_with_three_hearts: '🥰',\n heart_eyes: '😍',\n star_struck: '🤩',\n kissing_heart: '😘',\n kissing: '😗',\n relaxed: '☺️',\n kissing_closed_eyes: '😚',\n kissing_smiling_eyes: '😙',\n smiling_face_with_tear: '🥲',\n yum: '😋',\n stuck_out_tongue: '😛',\n stuck_out_tongue_winking_eye: '😜',\n zany_face: '🤪',\n stuck_out_tongue_closed_eyes: '😝',\n money_mouth_face: '🤑',\n hugs: '🤗',\n hand_over_mouth: '🤭',\n face_with_open_eyes_and_hand_over_mouth: '🫢',\n face_with_peeking_eye: '🫣',\n shushing_face: '🤫',\n thinking: '🤔',\n saluting_face: '🫡',\n zipper_mouth_face: '🤐',\n raised_eyebrow: '🤨',\n neutral_face: '😐',\n expressionless: '😑',\n no_mouth: '😶',\n dotted_line_face: '🫥',\n face_in_clouds: '😶‍🌫️',\n smirk: '😏',\n unamused: '😒',\n roll_eyes: '🙄',\n grimacing: '😬',\n face_exhaling: '😮‍💨',\n lying_face: '🤥',\n shaking_face: '🫨',\n relieved: '😌',\n pensive: '😔',\n sleepy: '😪',\n drooling_face: '🤤',\n sleeping: '😴',\n mask: '😷',\n face_with_thermometer: '🤒',\n face_with_head_bandage: '🤕',\n nauseated_face: '🤢',\n vomiting_face: '🤮',\n sneezing_face: '🤧',\n hot_face: '🥵',\n cold_face: '🥶',\n woozy_face: '🥴',\n dizzy_face: '😵',\n face_with_spiral_eyes: '😵‍💫',\n exploding_head: '🤯',\n cowboy_hat_face: '🤠',\n partying_face: '🥳',\n disguised_face: '🥸',\n sunglasses: '😎',\n nerd_face: '🤓',\n monocle_face: '🧐',\n confused: '😕',\n face_with_diagonal_mouth: '🫤',\n worried: '😟',\n slightly_frowning_face: '🙁',\n frowning_face: '☹️',\n open_mouth: '😮',\n hushed: '😯',\n astonished: '😲',\n flushed: '😳',\n pleading_face: '🥺',\n face_holding_back_tears: '🥹',\n frowning: '😦',\n anguished: '😧',\n fearful: '😨',\n cold_sweat: '😰',\n disappointed_relieved: '😥',\n cry: '😢',\n sob: '😭',\n scream: '😱',\n confounded: '😖',\n persevere: '😣',\n disappointed: '😞',\n sweat: '😓',\n weary: '😩',\n tired_face: '😫',\n yawning_face: '🥱',\n triumph: '😤',\n rage: '😡',\n pout: '😡',\n angry: '😠',\n cursing_face: '🤬',\n smiling_imp: '😈',\n imp: '👿',\n skull: '💀',\n skull_and_crossbones: '☠️',\n hankey: '💩',\n poop: '💩',\n shit: '💩',\n clown_face: '🤡',\n japanese_ogre: '👹',\n japanese_goblin: '👺',\n ghost: '👻',\n alien: '👽',\n space_invader: '👾',\n robot: '🤖',\n smiley_cat: '😺',\n smile_cat: '😸',\n joy_cat: '😹',\n heart_eyes_cat: '😻',\n smirk_cat: '😼',\n kissing_cat: '😽',\n scream_cat: '🙀',\n crying_cat_face: '😿',\n pouting_cat: '😾',\n see_no_evil: '🙈',\n hear_no_evil: '🙉',\n speak_no_evil: '🙊',\n love_letter: '💌',\n cupid: '💘',\n gift_heart: '💝',\n sparkling_heart: '💖',\n heartpulse: '💗',\n heartbeat: '💓',\n revolving_hearts: '💞',\n two_hearts: '💕',\n heart_decoration: '💟',\n heavy_heart_exclamation: '❣️',\n broken_heart: '💔',\n heart_on_fire: '❤️‍🔥',\n mending_heart: '❤️‍🩹',\n heart: '❤️',\n pink_heart: '🩷',\n orange_heart: '🧡',\n yellow_heart: '💛',\n green_heart: '💚',\n blue_heart: '💙',\n light_blue_heart: '🩵',\n purple_heart: '💜',\n brown_heart: '🤎',\n black_heart: '🖤',\n grey_heart: '🩶',\n white_heart: '🤍',\n kiss: '💋',\n anger: '💢',\n boom: '💥',\n collision: '💥',\n dizzy: '💫',\n sweat_drops: '💦',\n dash: '💨',\n hole: '🕳️',\n speech_balloon: '💬',\n eye_speech_bubble: '👁️‍🗨️',\n left_speech_bubble: '🗨️',\n right_anger_bubble: '🗯️',\n thought_balloon: '💭',\n zzz: '💤',\n wave: '👋',\n raised_back_of_hand: '🤚',\n raised_hand_with_fingers_splayed: '🖐️',\n hand: '✋',\n raised_hand: '✋',\n vulcan_salute: '🖖',\n rightwards_hand: '🫱',\n leftwards_hand: '🫲',\n palm_down_hand: '🫳',\n palm_up_hand: '🫴',\n leftwards_pushing_hand: '🫷',\n rightwards_pushing_hand: '🫸',\n ok_hand: '👌',\n pinched_fingers: '🤌',\n pinching_hand: '🤏',\n v: '✌️',\n crossed_fingers: '🤞',\n hand_with_index_finger_and_thumb_crossed: '🫰',\n love_you_gesture: '🤟',\n metal: '🤘',\n call_me_hand: '🤙',\n point_left: '👈',\n point_right: '👉',\n point_up_2: '👆',\n middle_finger: '🖕',\n fu: '🖕',\n point_down: '👇',\n point_up: '☝️',\n index_pointing_at_the_viewer: '🫵',\n '+1': '👍',\n thumbsup: '👍',\n '-1': '👎',\n thumbsdown: '👎',\n fist_raised: '✊',\n fist: '✊',\n fist_oncoming: '👊',\n facepunch: '👊',\n punch: '👊',\n fist_left: '🤛',\n fist_right: '🤜',\n clap: '👏',\n raised_hands: '🙌',\n heart_hands: '🫶',\n open_hands: '👐',\n palms_up_together: '🤲',\n handshake: '🤝',\n pray: '🙏',\n writing_hand: '✍️',\n nail_care: '💅',\n selfie: '🤳',\n muscle: '💪',\n mechanical_arm: '🦾',\n mechanical_leg: '🦿',\n leg: '🦵',\n foot: '🦶',\n ear: '👂',\n ear_with_hearing_aid: '🦻',\n nose: '👃',\n brain: '🧠',\n anatomical_heart: '🫀',\n lungs: '🫁',\n tooth: '🦷',\n bone: '🦴',\n eyes: '👀',\n eye: '👁️',\n tongue: '👅',\n lips: '👄',\n biting_lip: '🫦',\n baby: '👶',\n child: '🧒',\n boy: '👦',\n girl: '👧',\n adult: '🧑',\n blond_haired_person: '👱',\n man: '👨',\n bearded_person: '🧔',\n man_beard: '🧔‍♂️',\n woman_beard: '🧔‍♀️',\n red_haired_man: '👨‍🦰',\n curly_haired_man: '👨‍🦱',\n white_haired_man: '👨‍🦳',\n bald_man: '👨‍🦲',\n woman: '👩',\n red_haired_woman: '👩‍🦰',\n person_red_hair: '🧑‍🦰',\n curly_haired_woman: '👩‍🦱',\n person_curly_hair: '🧑‍🦱',\n white_haired_woman: '👩‍🦳',\n person_white_hair: '🧑‍🦳',\n bald_woman: '👩‍🦲',\n person_bald: '🧑‍🦲',\n blond_haired_woman: '👱‍♀️',\n blonde_woman: '👱‍♀️',\n blond_haired_man: '👱‍♂️',\n older_adult: '🧓',\n older_man: '👴',\n older_woman: '👵',\n frowning_person: '🙍',\n frowning_man: '🙍‍♂️',\n frowning_woman: '🙍‍♀️',\n pouting_face: '🙎',\n pouting_man: '🙎‍♂️',\n pouting_woman: '🙎‍♀️',\n no_good: '🙅',\n no_good_man: '🙅‍♂️',\n ng_man: '🙅‍♂️',\n no_good_woman: '🙅‍♀️',\n ng_woman: '🙅‍♀️',\n ok_person: '🙆',\n ok_man: '🙆‍♂️',\n ok_woman: '🙆‍♀️',\n tipping_hand_person: '💁',\n information_desk_person: '💁',\n tipping_hand_man: '💁‍♂️',\n sassy_man: '💁‍♂️',\n tipping_hand_woman: '💁‍♀️',\n sassy_woman: '💁‍♀️',\n raising_hand: '🙋',\n raising_hand_man: '🙋‍♂️',\n raising_hand_woman: '🙋‍♀️',\n deaf_person: '🧏',\n deaf_man: '🧏‍♂️',\n deaf_woman: '🧏‍♀️',\n bow: '🙇',\n bowing_man: '🙇‍♂️',\n bowing_woman: '🙇‍♀️',\n facepalm: '🤦',\n man_facepalming: '🤦‍♂️',\n woman_facepalming: '🤦‍♀️',\n shrug: '🤷',\n man_shrugging: '🤷‍♂️',\n woman_shrugging: '🤷‍♀️',\n health_worker: '🧑‍⚕️',\n man_health_worker: '👨‍⚕️',\n woman_health_worker: '👩‍⚕️',\n student: '🧑‍🎓',\n man_student: '👨‍🎓',\n woman_student: '👩‍🎓',\n teacher: '🧑‍🏫',\n man_teacher: '👨‍🏫',\n woman_teacher: '👩‍🏫',\n judge: '🧑‍⚖️',\n man_judge: '👨‍⚖️',\n woman_judge: '👩‍⚖️',\n farmer: '🧑‍🌾',\n man_farmer: '👨‍🌾',\n woman_farmer: '👩‍🌾',\n cook: '🧑‍🍳',\n man_cook: '👨‍🍳',\n woman_cook: '👩‍🍳',\n mechanic: '🧑‍🔧',\n man_mechanic: '👨‍🔧',\n woman_mechanic: '👩‍🔧',\n factory_worker: '🧑‍🏭',\n man_factory_worker: '👨‍🏭',\n woman_factory_worker: '👩‍🏭',\n office_worker: '🧑‍💼',\n man_office_worker: '👨‍💼',\n woman_office_worker: '👩‍💼',\n scientist: '🧑‍🔬',\n man_scientist: '👨‍🔬',\n woman_scientist: '👩‍🔬',\n technologist: '🧑‍💻',\n man_technologist: '👨‍💻',\n woman_technologist: '👩‍💻',\n singer: '🧑‍🎤',\n man_singer: '👨‍🎤',\n woman_singer: '👩‍🎤',\n artist: '🧑‍🎨',\n man_artist: '👨‍🎨',\n woman_artist: '👩‍🎨',\n pilot: '🧑‍✈️',\n man_pilot: '👨‍✈️',\n woman_pilot: '👩‍✈️',\n astronaut: '🧑‍🚀',\n man_astronaut: '👨‍🚀',\n woman_astronaut: '👩‍🚀',\n firefighter: '🧑‍🚒',\n man_firefighter: '👨‍🚒',\n woman_firefighter: '👩‍🚒',\n police_officer: '👮',\n cop: '👮',\n policeman: '👮‍♂️',\n policewoman: '👮‍♀️',\n detective: '🕵️',\n male_detective: '🕵️‍♂️',\n female_detective: '🕵️‍♀️',\n guard: '💂',\n guardsman: '💂‍♂️',\n guardswoman: '💂‍♀️',\n ninja: '🥷',\n construction_worker: '👷',\n construction_worker_man: '👷‍♂️',\n construction_worker_woman: '👷‍♀️',\n person_with_crown: '🫅',\n prince: '🤴',\n princess: '👸',\n person_with_turban: '👳',\n man_with_turban: '👳‍♂️',\n woman_with_turban: '👳‍♀️',\n man_with_gua_pi_mao: '👲',\n woman_with_headscarf: '🧕',\n person_in_tuxedo: '🤵',\n man_in_tuxedo: '🤵‍♂️',\n woman_in_tuxedo: '🤵‍♀️',\n person_with_veil: '👰',\n man_with_veil: '👰‍♂️',\n woman_with_veil: '👰‍♀️',\n bride_with_veil: '👰‍♀️',\n pregnant_woman: '🤰',\n pregnant_man: '🫃',\n pregnant_person: '🫄',\n breast_feeding: '🤱',\n woman_feeding_baby: '👩‍🍼',\n man_feeding_baby: '👨‍🍼',\n person_feeding_baby: '🧑‍🍼',\n angel: '👼',\n santa: '🎅',\n mrs_claus: '🤶',\n mx_claus: '🧑‍🎄',\n superhero: '🦸',\n superhero_man: '🦸‍♂️',\n superhero_woman: '🦸‍♀️',\n supervillain: '🦹',\n supervillain_man: '🦹‍♂️',\n supervillain_woman: '🦹‍♀️',\n mage: '🧙',\n mage_man: '🧙‍♂️',\n mage_woman: '🧙‍♀️',\n fairy: '🧚',\n fairy_man: '🧚‍♂️',\n fairy_woman: '🧚‍♀️',\n vampire: '🧛',\n vampire_man: '🧛‍♂️',\n vampire_woman: '🧛‍♀️',\n merperson: '🧜',\n merman: '🧜‍♂️',\n mermaid: '🧜‍♀️',\n elf: '🧝',\n elf_man: '🧝‍♂️',\n elf_woman: '🧝‍♀️',\n genie: '🧞',\n genie_man: '🧞‍♂️',\n genie_woman: '🧞‍♀️',\n zombie: '🧟',\n zombie_man: '🧟‍♂️',\n zombie_woman: '🧟‍♀️',\n troll: '🧌',\n massage: '💆',\n massage_man: '💆‍♂️',\n massage_woman: '💆‍♀️',\n haircut: '💇',\n haircut_man: '💇‍♂️',\n haircut_woman: '💇‍♀️',\n walking: '🚶',\n walking_man: '🚶‍♂️',\n walking_woman: '🚶‍♀️',\n standing_person: '🧍',\n standing_man: '🧍‍♂️',\n standing_woman: '🧍‍♀️',\n kneeling_person: '🧎',\n kneeling_man: '🧎‍♂️',\n kneeling_woman: '🧎‍♀️',\n person_with_probing_cane: '🧑‍🦯',\n man_with_probing_cane: '👨‍🦯',\n woman_with_probing_cane: '👩‍🦯',\n person_in_motorized_wheelchair: '🧑‍🦼',\n man_in_motorized_wheelchair: '👨‍🦼',\n woman_in_motorized_wheelchair: '👩‍🦼',\n person_in_manual_wheelchair: '🧑‍🦽',\n man_in_manual_wheelchair: '👨‍🦽',\n woman_in_manual_wheelchair: '👩‍🦽',\n runner: '🏃',\n running: '🏃',\n running_man: '🏃‍♂️',\n running_woman: '🏃‍♀️',\n woman_dancing: '💃',\n dancer: '💃',\n man_dancing: '🕺',\n business_suit_levitating: '🕴️',\n dancers: '👯',\n dancing_men: '👯‍♂️',\n dancing_women: '👯‍♀️',\n sauna_person: '🧖',\n sauna_man: '🧖‍♂️',\n sauna_woman: '🧖‍♀️',\n climbing: '🧗',\n climbing_man: '🧗‍♂️',\n climbing_woman: '🧗‍♀️',\n person_fencing: '🤺',\n horse_racing: '🏇',\n skier: '⛷️',\n snowboarder: '🏂',\n golfing: '🏌️',\n golfing_man: '🏌️‍♂️',\n golfing_woman: '🏌️‍♀️',\n surfer: '🏄',\n surfing_man: '🏄‍♂️',\n surfing_woman: '🏄‍♀️',\n rowboat: '🚣',\n rowing_man: '🚣‍♂️',\n rowing_woman: '🚣‍♀️',\n swimmer: '🏊',\n swimming_man: '🏊‍♂️',\n swimming_woman: '🏊‍♀️',\n bouncing_ball_person: '⛹️',\n bouncing_ball_man: '⛹️‍♂️',\n basketball_man: '⛹️‍♂️',\n bouncing_ball_woman: '⛹️‍♀️',\n basketball_woman: '⛹️‍♀️',\n weight_lifting: '🏋️',\n weight_lifting_man: '🏋️‍♂️',\n weight_lifting_woman: '🏋️‍♀️',\n bicyclist: '🚴',\n biking_man: '🚴‍♂️',\n biking_woman: '🚴‍♀️',\n mountain_bicyclist: '🚵',\n mountain_biking_man: '🚵‍♂️',\n mountain_biking_woman: '🚵‍♀️',\n cartwheeling: '🤸',\n man_cartwheeling: '🤸‍♂️',\n woman_cartwheeling: '🤸‍♀️',\n wrestling: '🤼',\n men_wrestling: '🤼‍♂️',\n women_wrestling: '🤼‍♀️',\n water_polo: '🤽',\n man_playing_water_polo: '🤽‍♂️',\n woman_playing_water_polo: '🤽‍♀️',\n handball_person: '🤾',\n man_playing_handball: '🤾‍♂️',\n woman_playing_handball: '🤾‍♀️',\n juggling_person: '🤹',\n man_juggling: '🤹‍♂️',\n woman_juggling: '🤹‍♀️',\n lotus_position: '🧘',\n lotus_position_man: '🧘‍♂️',\n lotus_position_woman: '🧘‍♀️',\n bath: '🛀',\n sleeping_bed: '🛌',\n people_holding_hands: '🧑‍🤝‍🧑',\n two_women_holding_hands: '👭',\n couple: '👫',\n two_men_holding_hands: '👬',\n couplekiss: '💏',\n couplekiss_man_woman: '👩‍❤️‍💋‍👨',\n couplekiss_man_man: '👨‍❤️‍💋‍👨',\n couplekiss_woman_woman: '👩‍❤️‍💋‍👩',\n couple_with_heart: '💑',\n couple_with_heart_woman_man: '👩‍❤️‍👨',\n couple_with_heart_man_man: '👨‍❤️‍👨',\n couple_with_heart_woman_woman: '👩‍❤️‍👩',\n family: '👪',\n family_man_woman_boy: '👨‍👩‍👦',\n family_man_woman_girl: '👨‍👩‍👧',\n family_man_woman_girl_boy: '👨‍👩‍👧‍👦',\n family_man_woman_boy_boy: '👨‍👩‍👦‍👦',\n family_man_woman_girl_girl: '👨‍👩‍👧‍👧',\n family_man_man_boy: '👨‍👨‍👦',\n family_man_man_girl: '👨‍👨‍👧',\n family_man_man_girl_boy: '👨‍👨‍👧‍👦',\n family_man_man_boy_boy: '👨‍👨‍👦‍👦',\n family_man_man_girl_girl: '👨‍👨‍👧‍👧',\n family_woman_woman_boy: '👩‍👩‍👦',\n family_woman_woman_girl: '👩‍👩‍👧',\n family_woman_woman_girl_boy: '👩‍👩‍👧‍👦',\n family_woman_woman_boy_boy: '👩‍👩‍👦‍👦',\n family_woman_woman_girl_girl: '👩‍👩‍👧‍👧',\n family_man_boy: '👨‍👦',\n family_man_boy_boy: '👨‍👦‍👦',\n family_man_girl: '👨‍👧',\n family_man_girl_boy: '👨‍👧‍👦',\n family_man_girl_girl: '👨‍👧‍👧',\n family_woman_boy: '👩‍👦',\n family_woman_boy_boy: '👩‍👦‍👦',\n family_woman_girl: '👩‍👧',\n family_woman_girl_boy: '👩‍👧‍👦',\n family_woman_girl_girl: '👩‍👧‍👧',\n speaking_head: '🗣️',\n bust_in_silhouette: '👤',\n busts_in_silhouette: '👥',\n people_hugging: '🫂',\n footprints: '👣',\n monkey_face: '🐵',\n monkey: '🐒',\n gorilla: '🦍',\n orangutan: '🦧',\n dog: '🐶',\n dog2: '🐕',\n guide_dog: '🦮',\n service_dog: '🐕‍🦺',\n poodle: '🐩',\n wolf: '🐺',\n fox_face: '🦊',\n raccoon: '🦝',\n cat: '🐱',\n cat2: '🐈',\n black_cat: '🐈‍⬛',\n lion: '🦁',\n tiger: '🐯',\n tiger2: '🐅',\n leopard: '🐆',\n horse: '🐴',\n moose: '🫎',\n donkey: '🫏',\n racehorse: '🐎',\n unicorn: '🦄',\n zebra: '🦓',\n deer: '🦌',\n bison: '🦬',\n cow: '🐮',\n ox: '🐂',\n water_buffalo: '🐃',\n cow2: '🐄',\n pig: '🐷',\n pig2: '🐖',\n boar: '🐗',\n pig_nose: '🐽',\n ram: '🐏',\n sheep: '🐑',\n goat: '🐐',\n dromedary_camel: '🐪',\n camel: '🐫',\n llama: '🦙',\n giraffe: '🦒',\n elephant: '🐘',\n mammoth: '🦣',\n rhinoceros: '🦏',\n hippopotamus: '🦛',\n mouse: '🐭',\n mouse2: '🐁',\n rat: '🐀',\n hamster: '🐹',\n rabbit: '🐰',\n rabbit2: '🐇',\n chipmunk: '🐿️',\n beaver: '🦫',\n hedgehog: '🦔',\n bat: '🦇',\n bear: '🐻',\n polar_bear: '🐻‍❄️',\n koala: '🐨',\n panda_face: '🐼',\n sloth: '🦥',\n otter: '🦦',\n skunk: '🦨',\n kangaroo: '🦘',\n badger: '🦡',\n feet: '🐾',\n paw_prints: '🐾',\n turkey: '🦃',\n chicken: '🐔',\n rooster: '🐓',\n hatching_chick: '🐣',\n baby_chick: '🐤',\n hatched_chick: '🐥',\n bird: '🐦',\n penguin: '🐧',\n dove: '🕊️',\n eagle: '🦅',\n duck: '🦆',\n swan: '🦢',\n owl: '🦉',\n dodo: '🦤',\n feather: '🪶',\n flamingo: '🦩',\n peacock: '🦚',\n parrot: '🦜',\n wing: '🪽',\n black_bird: '🐦‍⬛',\n goose: '🪿',\n frog: '🐸',\n crocodile: '🐊',\n turtle: '🐢',\n lizard: '🦎',\n snake: '🐍',\n dragon_face: '🐲',\n dragon: '🐉',\n sauropod: '🦕',\n 't-rex': '🦖',\n whale: '🐳',\n whale2: '🐋',\n dolphin: '🐬',\n flipper: '🐬',\n seal: '🦭',\n fish: '🐟',\n tropical_fish: '🐠',\n blowfish: '🐡',\n shark: '🦈',\n octopus: '🐙',\n shell: '🐚',\n coral: '🪸',\n jellyfish: '🪼',\n snail: '🐌',\n butterfly: '🦋',\n bug: '🐛',\n ant: '🐜',\n bee: '🐝',\n honeybee: '🐝',\n beetle: '🪲',\n lady_beetle: '🐞',\n cricket: '🦗',\n cockroach: '🪳',\n spider: '🕷️',\n spider_web: '🕸️',\n scorpion: '🦂',\n mosquito: '🦟',\n fly: '🪰',\n worm: '🪱',\n microbe: '🦠',\n bouquet: '💐',\n cherry_blossom: '🌸',\n white_flower: '💮',\n lotus: '🪷',\n rosette: '🏵️',\n rose: '🌹',\n wilted_flower: '🥀',\n hibiscus: '🌺',\n sunflower: '🌻',\n blossom: '🌼',\n tulip: '🌷',\n hyacinth: '🪻',\n seedling: '🌱',\n potted_plant: '🪴',\n evergreen_tree: '🌲',\n deciduous_tree: '🌳',\n palm_tree: '🌴',\n cactus: '🌵',\n ear_of_rice: '🌾',\n herb: '🌿',\n shamrock: '☘️',\n four_leaf_clover: '🍀',\n maple_leaf: '🍁',\n fallen_leaf: '🍂',\n leaves: '🍃',\n empty_nest: '🪹',\n nest_with_eggs: '🪺',\n mushroom: '🍄',\n grapes: '🍇',\n melon: '🍈',\n watermelon: '🍉',\n tangerine: '🍊',\n orange: '🍊',\n mandarin: '🍊',\n lemon: '🍋',\n banana: '🍌',\n pineapple: '🍍',\n mango: '🥭',\n apple: '🍎',\n green_apple: '🍏',\n pear: '🍐',\n peach: '🍑',\n cherries: '🍒',\n strawberry: '🍓',\n blueberries: '🫐',\n kiwi_fruit: '🥝',\n tomato: '🍅',\n olive: '🫒',\n coconut: '🥥',\n avocado: '🥑',\n eggplant: '🍆',\n potato: '🥔',\n carrot: '🥕',\n corn: '🌽',\n hot_pepper: '🌶️',\n bell_pepper: '🫑',\n cucumber: '🥒',\n leafy_green: '🥬',\n broccoli: '🥦',\n garlic: '🧄',\n onion: '🧅',\n peanuts: '🥜',\n beans: '🫘',\n chestnut: '🌰',\n ginger_root: '🫚',\n pea_pod: '🫛',\n bread: '🍞',\n croissant: '🥐',\n baguette_bread: '🥖',\n flatbread: '🫓',\n pretzel: '🥨',\n bagel: '🥯',\n pancakes: '🥞',\n waffle: '🧇',\n cheese: '🧀',\n meat_on_bone: '🍖',\n poultry_leg: '🍗',\n cut_of_meat: '🥩',\n bacon: '🥓',\n hamburger: '🍔',\n fries: '🍟',\n pizza: '🍕',\n hotdog: '🌭',\n sandwich: '🥪',\n taco: '🌮',\n burrito: '🌯',\n tamale: '🫔',\n stuffed_flatbread: '🥙',\n falafel: '🧆',\n egg: '🥚',\n fried_egg: '🍳',\n shallow_pan_of_food: '🥘',\n stew: '🍲',\n fondue: '🫕',\n bowl_with_spoon: '🥣',\n green_salad: '🥗',\n popcorn: '🍿',\n butter: '🧈',\n salt: '🧂',\n canned_food: '🥫',\n bento: '🍱',\n rice_cracker: '🍘',\n rice_ball: '🍙',\n rice: '🍚',\n curry: '🍛',\n ramen: '🍜',\n spaghetti: '🍝',\n sweet_potato: '🍠',\n oden: '🍢',\n sushi: '🍣',\n fried_shrimp: '🍤',\n fish_cake: '🍥',\n moon_cake: '🥮',\n dango: '🍡',\n dumpling: '🥟',\n fortune_cookie: '🥠',\n takeout_box: '🥡',\n crab: '🦀',\n lobster: '🦞',\n shrimp: '🦐',\n squid: '🦑',\n oyster: '🦪',\n icecream: '🍦',\n shaved_ice: '🍧',\n ice_cream: '🍨',\n doughnut: '🍩',\n cookie: '🍪',\n birthday: '🎂',\n cake: '🍰',\n cupcake: '🧁',\n pie: '🥧',\n chocolate_bar: '🍫',\n candy: '🍬',\n lollipop: '🍭',\n custard: '🍮',\n honey_pot: '🍯',\n baby_bottle: '🍼',\n milk_glass: '🥛',\n coffee: '☕',\n teapot: '🫖',\n tea: '🍵',\n sake: '🍶',\n champagne: '🍾',\n wine_glass: '🍷',\n cocktail: '🍸',\n tropical_drink: '🍹',\n beer: '🍺',\n beers: '🍻',\n clinking_glasses: '🥂',\n tumbler_glass: '🥃',\n pouring_liquid: '🫗',\n cup_with_straw: '🥤',\n bubble_tea: '🧋',\n beverage_box: '🧃',\n mate: '🧉',\n ice_cube: '🧊',\n chopsticks: '🥢',\n plate_with_cutlery: '🍽️',\n fork_and_knife: '🍴',\n spoon: '🥄',\n hocho: '🔪',\n knife: '🔪',\n jar: '🫙',\n amphora: '🏺',\n earth_africa: '🌍',\n earth_americas: '🌎',\n earth_asia: '🌏',\n globe_with_meridians: '🌐',\n world_map: '🗺️',\n japan: '🗾',\n compass: '🧭',\n mountain_snow: '🏔️',\n mountain: '⛰️',\n volcano: '🌋',\n mount_fuji: '🗻',\n camping: '🏕️',\n beach_umbrella: '🏖️',\n desert: '🏜️',\n desert_island: '🏝️',\n national_park: '🏞️',\n stadium: '🏟️',\n classical_building: '🏛️',\n building_construction: '🏗️',\n bricks: '🧱',\n rock: '🪨',\n wood: '🪵',\n hut: '🛖',\n houses: '🏘️',\n derelict_house: '🏚️',\n house: '🏠',\n house_with_garden: '🏡',\n office: '🏢',\n post_office: '🏣',\n european_post_office: '🏤',\n hospital: '🏥',\n bank: '🏦',\n hotel: '🏨',\n love_hotel: '🏩',\n convenience_store: '🏪',\n school: '🏫',\n department_store: '🏬',\n factory: '🏭',\n japanese_castle: '🏯',\n european_castle: '🏰',\n wedding: '💒',\n tokyo_tower: '🗼',\n statue_of_liberty: '🗽',\n church: '⛪',\n mosque: '🕌',\n hindu_temple: '🛕',\n synagogue: '🕍',\n shinto_shrine: '⛩️',\n kaaba: '🕋',\n fountain: '⛲',\n tent: '⛺',\n foggy: '🌁',\n night_with_stars: '🌃',\n cityscape: '🏙️',\n sunrise_over_mountains: '🌄',\n sunrise: '🌅',\n city_sunset: '🌆',\n city_sunrise: '🌇',\n bridge_at_night: '🌉',\n hotsprings: '♨️',\n carousel_horse: '🎠',\n playground_slide: '🛝',\n ferris_wheel: '🎡',\n roller_coaster: '🎢',\n barber: '💈',\n circus_tent: '🎪',\n steam_locomotive: '🚂',\n railway_car: '🚃',\n bullettrain_side: '🚄',\n bullettrain_front: '🚅',\n train2: '🚆',\n metro: '🚇',\n light_rail: '🚈',\n station: '🚉',\n tram: '🚊',\n monorail: '🚝',\n mountain_railway: '🚞',\n train: '🚋',\n bus: '🚌',\n oncoming_bus: '🚍',\n trolleybus: '🚎',\n minibus: '🚐',\n ambulance: '🚑',\n fire_engine: '🚒',\n police_car: '🚓',\n oncoming_police_car: '🚔',\n taxi: '🚕',\n oncoming_taxi: '🚖',\n car: '🚗',\n red_car: '🚗',\n oncoming_automobile: '🚘',\n blue_car: '🚙',\n pickup_truck: '🛻',\n truck: '🚚',\n articulated_lorry: '🚛',\n tractor: '🚜',\n racing_car: '🏎️',\n motorcycle: '🏍️',\n motor_scooter: '🛵',\n manual_wheelchair: '🦽',\n motorized_wheelchair: '🦼',\n auto_rickshaw: '🛺',\n bike: '🚲',\n kick_scooter: '🛴',\n skateboard: '🛹',\n roller_skate: '🛼',\n busstop: '🚏',\n motorway: '🛣️',\n railway_track: '🛤️',\n oil_drum: '🛢️',\n fuelpump: '⛽',\n wheel: '🛞',\n rotating_light: '🚨',\n traffic_light: '🚥',\n vertical_traffic_light: '🚦',\n stop_sign: '🛑',\n construction: '🚧',\n anchor: '⚓',\n ring_buoy: '🛟',\n boat: '⛵',\n sailboat: '⛵',\n canoe: '🛶',\n speedboat: '🚤',\n passenger_ship: '🛳️',\n ferry: '⛴️',\n motor_boat: '🛥️',\n ship: '🚢',\n airplane: '✈️',\n small_airplane: '🛩️',\n flight_departure: '🛫',\n flight_arrival: '🛬',\n parachute: '🪂',\n seat: '💺',\n helicopter: '🚁',\n suspension_railway: '🚟',\n mountain_cableway: '🚠',\n aerial_tramway: '🚡',\n artificial_satellite: '🛰️',\n rocket: '🚀',\n flying_saucer: '🛸',\n bellhop_bell: '🛎️',\n luggage: '🧳',\n hourglass: '⌛',\n hourglass_flowing_sand: '⏳',\n watch: '⌚',\n alarm_clock: '⏰',\n stopwatch: '⏱️',\n timer_clock: '⏲️',\n mantelpiece_clock: '🕰️',\n clock12: '🕛',\n clock1230: '🕧',\n clock1: '🕐',\n clock130: '🕜',\n clock2: '🕑',\n clock230: '🕝',\n clock3: '🕒',\n clock330: '🕞',\n clock4: '🕓',\n clock430: '🕟',\n clock5: '🕔',\n clock530: '🕠',\n clock6: '🕕',\n clock630: '🕡',\n clock7: '🕖',\n clock730: '🕢',\n clock8: '🕗',\n clock830: '🕣',\n clock9: '🕘',\n clock930: '🕤',\n clock10: '🕙',\n clock1030: '🕥',\n clock11: '🕚',\n clock1130: '🕦',\n new_moon: '🌑',\n waxing_crescent_moon: '🌒',\n first_quarter_moon: '🌓',\n moon: '🌔',\n waxing_gibbous_moon: '🌔',\n full_moon: '🌕',\n waning_gibbous_moon: '🌖',\n last_quarter_moon: '🌗',\n waning_crescent_moon: '🌘',\n crescent_moon: '🌙',\n new_moon_with_face: '🌚',\n first_quarter_moon_with_face: '🌛',\n last_quarter_moon_with_face: '🌜',\n thermometer: '🌡️',\n sunny: '☀️',\n full_moon_with_face: '🌝',\n sun_with_face: '🌞',\n ringed_planet: '🪐',\n star: '⭐',\n star2: '🌟',\n stars: '🌠',\n milky_way: '🌌',\n cloud: '☁️',\n partly_sunny: '⛅',\n cloud_with_lightning_and_rain: '⛈️',\n sun_behind_small_cloud: '🌤️',\n sun_behind_large_cloud: '🌥️',\n sun_behind_rain_cloud: '🌦️',\n cloud_with_rain: '🌧️',\n cloud_with_snow: '🌨️',\n cloud_with_lightning: '🌩️',\n tornado: '🌪️',\n fog: '🌫️',\n wind_face: '🌬️',\n cyclone: '🌀',\n rainbow: '🌈',\n closed_umbrella: '🌂',\n open_umbrella: '☂️',\n umbrella: '☔',\n parasol_on_ground: '⛱️',\n zap: '⚡',\n snowflake: '❄️',\n snowman_with_snow: '☃️',\n snowman: '⛄',\n comet: '☄️',\n fire: '🔥',\n droplet: '💧',\n ocean: '🌊',\n jack_o_lantern: '🎃',\n christmas_tree: '🎄',\n fireworks: '🎆',\n sparkler: '🎇',\n firecracker: '🧨',\n sparkles: '✨',\n balloon: '🎈',\n tada: '🎉',\n confetti_ball: '🎊',\n tanabata_tree: '🎋',\n bamboo: '🎍',\n dolls: '🎎',\n flags: '🎏',\n wind_chime: '🎐',\n rice_scene: '🎑',\n red_envelope: '🧧',\n ribbon: '🎀',\n gift: '🎁',\n reminder_ribbon: '🎗️',\n tickets: '🎟️',\n ticket: '🎫',\n medal_military: '🎖️',\n trophy: '🏆',\n medal_sports: '🏅',\n '1st_place_medal': '🥇',\n '2nd_place_medal': '🥈',\n '3rd_place_medal': '🥉',\n soccer: '⚽',\n baseball: '⚾',\n softball: '🥎',\n basketball: '🏀',\n volleyball: '🏐',\n football: '🏈',\n rugby_football: '🏉',\n tennis: '🎾',\n flying_disc: '🥏',\n bowling: '🎳',\n cricket_game: '🏏',\n field_hockey: '🏑',\n ice_hockey: '🏒',\n lacrosse: '🥍',\n ping_pong: '🏓',\n badminton: '🏸',\n boxing_glove: '🥊',\n martial_arts_uniform: '🥋',\n goal_net: '🥅',\n golf: '⛳',\n ice_skate: '⛸️',\n fishing_pole_and_fish: '🎣',\n diving_mask: '🤿',\n running_shirt_with_sash: '🎽',\n ski: '🎿',\n sled: '🛷',\n curling_stone: '🥌',\n dart: '🎯',\n yo_yo: '🪀',\n kite: '🪁',\n gun: '🔫',\n '8ball': '🎱',\n crystal_ball: '🔮',\n magic_wand: '🪄',\n video_game: '🎮',\n joystick: '🕹️',\n slot_machine: '🎰',\n game_die: '🎲',\n jigsaw: '🧩',\n teddy_bear: '🧸',\n pinata: '🪅',\n mirror_ball: '🪩',\n nesting_dolls: '🪆',\n spades: '♠️',\n hearts: '♥️',\n diamonds: '♦️',\n clubs: '♣️',\n chess_pawn: '♟️',\n black_joker: '🃏',\n mahjong: '🀄',\n flower_playing_cards: '🎴',\n performing_arts: '🎭',\n framed_picture: '🖼️',\n art: '🎨',\n thread: '🧵',\n sewing_needle: '🪡',\n yarn: '🧶',\n knot: '🪢',\n eyeglasses: '👓',\n dark_sunglasses: '🕶️',\n goggles: '🥽',\n lab_coat: '🥼',\n safety_vest: '🦺',\n necktie: '👔',\n shirt: '👕',\n tshirt: '👕',\n jeans: '👖',\n scarf: '🧣',\n gloves: '🧤',\n coat: '🧥',\n socks: '🧦',\n dress: '👗',\n kimono: '👘',\n sari: '🥻',\n one_piece_swimsuit: '🩱',\n swim_brief: '🩲',\n shorts: '🩳',\n bikini: '👙',\n womans_clothes: '👚',\n folding_hand_fan: '🪭',\n purse: '👛',\n handbag: '👜',\n pouch: '👝',\n shopping: '🛍️',\n school_satchel: '🎒',\n thong_sandal: '🩴',\n mans_shoe: '👞',\n shoe: '👞',\n athletic_shoe: '👟',\n hiking_boot: '🥾',\n flat_shoe: '🥿',\n high_heel: '👠',\n sandal: '👡',\n ballet_shoes: '🩰',\n boot: '👢',\n hair_pick: '🪮',\n crown: '👑',\n womans_hat: '👒',\n tophat: '🎩',\n mortar_board: '🎓',\n billed_cap: '🧢',\n military_helmet: '🪖',\n rescue_worker_helmet: '⛑️',\n prayer_beads: '📿',\n lipstick: '💄',\n ring: '💍',\n gem: '💎',\n mute: '🔇',\n speaker: '🔈',\n sound: '🔉',\n loud_sound: '🔊',\n loudspeaker: '📢',\n mega: '📣',\n postal_horn: '📯',\n bell: '🔔',\n no_bell: '🔕',\n musical_score: '🎼',\n musical_note: '🎵',\n notes: '🎶',\n studio_microphone: '🎙️',\n level_slider: '🎚️',\n control_knobs: '🎛️',\n microphone: '🎤',\n headphones: '🎧',\n radio: '📻',\n saxophone: '🎷',\n accordion: '🪗',\n guitar: '🎸',\n musical_keyboard: '🎹',\n trumpet: '🎺',\n violin: '🎻',\n banjo: '🪕',\n drum: '🥁',\n long_drum: '🪘',\n maracas: '🪇',\n flute: '🪈',\n iphone: '📱',\n calling: '📲',\n phone: '☎️',\n telephone: '☎️',\n telephone_receiver: '📞',\n pager: '📟',\n fax: '📠',\n battery: '🔋',\n low_battery: '🪫',\n electric_plug: '🔌',\n computer: '💻',\n desktop_computer: '🖥️',\n printer: '🖨️',\n keyboard: '⌨️',\n computer_mouse: '🖱️',\n trackball: '🖲️',\n minidisc: '💽',\n floppy_disk: '💾',\n cd: '💿',\n dvd: '📀',\n abacus: '🧮',\n movie_camera: '🎥',\n film_strip: '🎞️',\n film_projector: '📽️',\n clapper: '🎬',\n tv: '📺',\n camera: '📷',\n camera_flash: '📸',\n video_camera: '📹',\n vhs: '📼',\n mag: '🔍',\n mag_right: '🔎',\n candle: '🕯️',\n bulb: '💡',\n flashlight: '🔦',\n izakaya_lantern: '🏮',\n lantern: '🏮',\n diya_lamp: '🪔',\n notebook_with_decorative_cover: '📔',\n closed_book: '📕',\n book: '📖',\n open_book: '📖',\n green_book: '📗',\n blue_book: '📘',\n orange_book: '📙',\n books: '📚',\n notebook: '📓',\n ledger: '📒',\n page_with_curl: '📃',\n scroll: '📜',\n page_facing_up: '📄',\n newspaper: '📰',\n newspaper_roll: '🗞️',\n bookmark_tabs: '📑',\n bookmark: '🔖',\n label: '🏷️',\n moneybag: '💰',\n coin: '🪙',\n yen: '💴',\n dollar: '💵',\n euro: '💶',\n pound: '💷',\n money_with_wings: '💸',\n credit_card: '💳',\n receipt: '🧾',\n chart: '💹',\n envelope: '✉️',\n email: '📧',\n 'e-mail': '📧',\n incoming_envelope: '📨',\n envelope_with_arrow: '📩',\n outbox_tray: '📤',\n inbox_tray: '📥',\n package: '📦',\n mailbox: '📫',\n mailbox_closed: '📪',\n mailbox_with_mail: '📬',\n mailbox_with_no_mail: '📭',\n postbox: '📮',\n ballot_box: '🗳️',\n pencil2: '✏️',\n black_nib: '✒️',\n fountain_pen: '🖋️',\n pen: '🖊️',\n paintbrush: '🖌️',\n crayon: '🖍️',\n memo: '📝',\n pencil: '📝',\n briefcase: '💼',\n file_folder: '📁',\n open_file_folder: '📂',\n card_index_dividers: '🗂️',\n date: '📅',\n calendar: '📆',\n spiral_notepad: '🗒️',\n spiral_calendar: '🗓️',\n card_index: '📇',\n chart_with_upwards_trend: '📈',\n chart_with_downwards_trend: '📉',\n bar_chart: '📊',\n clipboard: '📋',\n pushpin: '📌',\n round_pushpin: '📍',\n paperclip: '📎',\n paperclips: '🖇️',\n straight_ruler: '📏',\n triangular_ruler: '📐',\n scissors: '✂️',\n card_file_box: '🗃️',\n file_cabinet: '🗄️',\n wastebasket: '🗑️',\n lock: '🔒',\n unlock: '🔓',\n lock_with_ink_pen: '🔏',\n closed_lock_with_key: '🔐',\n key: '🔑',\n old_key: '🗝️',\n hammer: '🔨',\n axe: '🪓',\n pick: '⛏️',\n hammer_and_pick: '⚒️',\n hammer_and_wrench: '🛠️',\n dagger: '🗡️',\n crossed_swords: '⚔️',\n bomb: '💣',\n boomerang: '🪃',\n bow_and_arrow: '🏹',\n shield: '🛡️',\n carpentry_saw: '🪚',\n wrench: '🔧',\n screwdriver: '🪛',\n nut_and_bolt: '🔩',\n gear: '⚙️',\n clamp: '🗜️',\n balance_scale: '⚖️',\n probing_cane: '🦯',\n link: '🔗',\n chains: '⛓️',\n hook: '🪝',\n toolbox: '🧰',\n magnet: '🧲',\n ladder: '🪜',\n alembic: '⚗️',\n test_tube: '🧪',\n petri_dish: '🧫',\n dna: '🧬',\n microscope: '🔬',\n telescope: '🔭',\n satellite: '📡',\n syringe: '💉',\n drop_of_blood: '🩸',\n pill: '💊',\n adhesive_bandage: '🩹',\n crutch: '🩼',\n stethoscope: '🩺',\n x_ray: '🩻',\n door: '🚪',\n elevator: '🛗',\n mirror: '🪞',\n window: '🪟',\n bed: '🛏️',\n couch_and_lamp: '🛋️',\n chair: '🪑',\n toilet: '🚽',\n plunger: '🪠',\n shower: '🚿',\n bathtub: '🛁',\n mouse_trap: '🪤',\n razor: '🪒',\n lotion_bottle: '🧴',\n safety_pin: '🧷',\n broom: '🧹',\n basket: '🧺',\n roll_of_paper: '🧻',\n bucket: '🪣',\n soap: '🧼',\n bubbles: '🫧',\n toothbrush: '🪥',\n sponge: '🧽',\n fire_extinguisher: '🧯',\n shopping_cart: '🛒',\n smoking: '🚬',\n coffin: '⚰️',\n headstone: '🪦',\n funeral_urn: '⚱️',\n nazar_amulet: '🧿',\n hamsa: '🪬',\n moyai: '🗿',\n placard: '🪧',\n identification_card: '🪪',\n atm: '🏧',\n put_litter_in_its_place: '🚮',\n potable_water: '🚰',\n wheelchair: '♿',\n mens: '🚹',\n womens: '🚺',\n restroom: '🚻',\n baby_symbol: '🚼',\n wc: '🚾',\n passport_control: '🛂',\n customs: '🛃',\n baggage_claim: '🛄',\n left_luggage: '🛅',\n warning: '⚠️',\n children_crossing: '🚸',\n no_entry: '⛔',\n no_entry_sign: '🚫',\n no_bicycles: '🚳',\n no_smoking: '🚭',\n do_not_litter: '🚯',\n 'non-potable_water': '🚱',\n no_pedestrians: '🚷',\n no_mobile_phones: '📵',\n underage: '🔞',\n radioactive: '☢️',\n biohazard: '☣️',\n arrow_up: '⬆️',\n arrow_upper_right: '↗️',\n arrow_right: '➡️',\n arrow_lower_right: '↘️',\n arrow_down: '⬇️',\n arrow_lower_left: '↙️',\n arrow_left: '⬅️',\n arrow_upper_left: '↖️',\n arrow_up_down: '↕️',\n left_right_arrow: '↔️',\n leftwards_arrow_with_hook: '↩️',\n arrow_right_hook: '↪️',\n arrow_heading_up: '⤴️',\n arrow_heading_down: '⤵️',\n arrows_clockwise: '🔃',\n arrows_counterclockwise: '🔄',\n back: '🔙',\n end: '🔚',\n on: '🔛',\n soon: '🔜',\n top: '🔝',\n place_of_worship: '🛐',\n atom_symbol: '⚛️',\n om: '🕉️',\n star_of_david: '✡️',\n wheel_of_dharma: '☸️',\n yin_yang: '☯️',\n latin_cross: '✝️',\n orthodox_cross: '☦️',\n star_and_crescent: '☪️',\n peace_symbol: '☮️',\n menorah: '🕎',\n six_pointed_star: '🔯',\n khanda: '🪯',\n aries: '♈',\n taurus: '♉',\n gemini: '♊',\n cancer: '♋',\n leo: '♌',\n virgo: '♍',\n libra: '♎',\n scorpius: '♏',\n sagittarius: '♐',\n capricorn: '♑',\n aquarius: '♒',\n pisces: '♓',\n ophiuchus: '⛎',\n twisted_rightwards_arrows: '🔀',\n repeat: '🔁',\n repeat_one: '🔂',\n arrow_forward: '▶️',\n fast_forward: '⏩',\n next_track_button: '⏭️',\n play_or_pause_button: '⏯️',\n arrow_backward: '◀️',\n rewind: '⏪',\n previous_track_button: '⏮️',\n arrow_up_small: '🔼',\n arrow_double_up: '⏫',\n arrow_down_small: '🔽',\n arrow_double_down: '⏬',\n pause_button: '⏸️',\n stop_button: '⏹️',\n record_button: '⏺️',\n eject_button: '⏏️',\n cinema: '🎦',\n low_brightness: '🔅',\n high_brightness: '🔆',\n signal_strength: '📶',\n wireless: '🛜',\n vibration_mode: '📳',\n mobile_phone_off: '📴',\n female_sign: '♀️',\n male_sign: '♂️',\n transgender_symbol: '⚧️',\n heavy_multiplication_x: '✖️',\n heavy_plus_sign: '➕',\n heavy_minus_sign: '➖',\n heavy_division_sign: '➗',\n heavy_equals_sign: '🟰',\n infinity: '♾️',\n bangbang: '‼️',\n interrobang: '⁉️',\n question: '❓',\n grey_question: '❔',\n grey_exclamation: '❕',\n exclamation: '❗',\n heavy_exclamation_mark: '❗',\n wavy_dash: '〰️',\n currency_exchange: '💱',\n heavy_dollar_sign: '💲',\n medical_symbol: '⚕️',\n recycle: '♻️',\n fleur_de_lis: '⚜️',\n trident: '🔱',\n name_badge: '📛',\n beginner: '🔰',\n o: '⭕',\n white_check_mark: '✅',\n ballot_box_with_check: '☑️',\n heavy_check_mark: '✔️',\n x: '❌',\n negative_squared_cross_mark: '❎',\n curly_loop: '➰',\n loop: '➿',\n part_alternation_mark: '〽️',\n eight_spoked_asterisk: '✳️',\n eight_pointed_black_star: '✴️',\n sparkle: '❇️',\n copyright: '©️',\n registered: '®️',\n tm: '™️',\n hash: '#️⃣',\n asterisk: '*️⃣',\n zero: '0️⃣',\n one: '1️⃣',\n two: '2️⃣',\n three: '3️⃣',\n four: '4️⃣',\n five: '5️⃣',\n six: '6️⃣',\n seven: '7️⃣',\n eight: '8️⃣',\n nine: '9️⃣',\n keycap_ten: '🔟',\n capital_abcd: '🔠',\n abcd: '🔡',\n symbols: '🔣',\n abc: '🔤',\n a: '🅰️',\n ab: '🆎',\n b: '🅱️',\n cl: '🆑',\n cool: '🆒',\n free: '🆓',\n information_source: 'ℹ️',\n id: '🆔',\n m: 'Ⓜ️',\n new: '🆕',\n ng: '🆖',\n o2: '🅾️',\n ok: '🆗',\n parking: '🅿️',\n sos: '🆘',\n up: '🆙',\n vs: '🆚',\n koko: '🈁',\n sa: '🈂️',\n u6708: '🈷️',\n u6709: '🈶',\n u6307: '🈯',\n ideograph_advantage: '🉐',\n u5272: '🈹',\n u7121: '🈚',\n u7981: '🈲',\n accept: '🉑',\n u7533: '🈸',\n u5408: '🈴',\n u7a7a: '🈳',\n congratulations: '㊗️',\n secret: '㊙️',\n u55b6: '🈺',\n u6e80: '🈵',\n red_circle: '🔴',\n orange_circle: '🟠',\n yellow_circle: '🟡',\n green_circle: '🟢',\n large_blue_circle: '🔵',\n purple_circle: '🟣',\n brown_circle: '🟤',\n black_circle: '⚫',\n white_circle: '⚪',\n red_square: '🟥',\n orange_square: '🟧',\n yellow_square: '🟨',\n green_square: '🟩',\n blue_square: '🟦',\n purple_square: '🟪',\n brown_square: '🟫',\n black_large_square: '⬛',\n white_large_square: '⬜',\n black_medium_square: '◼️',\n white_medium_square: '◻️',\n black_medium_small_square: '◾',\n white_medium_small_square: '◽',\n black_small_square: '▪️',\n white_small_square: '▫️',\n large_orange_diamond: '🔶',\n large_blue_diamond: '🔷',\n small_orange_diamond: '🔸',\n small_blue_diamond: '🔹',\n small_red_triangle: '🔺',\n small_red_triangle_down: '🔻',\n diamond_shape_with_a_dot_inside: '💠',\n radio_button: '🔘',\n white_square_button: '🔳',\n black_square_button: '🔲',\n checkered_flag: '🏁',\n triangular_flag_on_post: '🚩',\n crossed_flags: '🎌',\n black_flag: '🏴',\n white_flag: '🏳️',\n rainbow_flag: '🏳️‍🌈',\n transgender_flag: '🏳️‍⚧️',\n pirate_flag: '🏴‍☠️',\n ascension_island: '🇦🇨',\n andorra: '🇦🇩',\n united_arab_emirates: '🇦🇪',\n afghanistan: '🇦🇫',\n antigua_barbuda: '🇦🇬',\n anguilla: '🇦🇮',\n albania: '🇦🇱',\n armenia: '🇦🇲',\n angola: '🇦🇴',\n antarctica: '🇦🇶',\n argentina: '🇦🇷',\n american_samoa: '🇦🇸',\n austria: '🇦🇹',\n australia: '🇦🇺',\n aruba: '🇦🇼',\n aland_islands: '🇦🇽',\n azerbaijan: '🇦🇿',\n bosnia_herzegovina: '🇧🇦',\n barbados: '🇧🇧',\n bangladesh: '🇧🇩',\n belgium: '🇧🇪',\n burkina_faso: '🇧🇫',\n bulgaria: '🇧🇬',\n bahrain: '🇧🇭',\n burundi: '🇧🇮',\n benin: '🇧🇯',\n st_barthelemy: '🇧🇱',\n bermuda: '🇧🇲',\n brunei: '🇧🇳',\n bolivia: '🇧🇴',\n caribbean_netherlands: '🇧🇶',\n brazil: '🇧🇷',\n bahamas: '🇧🇸',\n bhutan: '🇧🇹',\n bouvet_island: '🇧🇻',\n botswana: '🇧🇼',\n belarus: '🇧🇾',\n belize: '🇧🇿',\n canada: '🇨🇦',\n cocos_islands: '🇨🇨',\n congo_kinshasa: '🇨🇩',\n central_african_republic: '🇨🇫',\n congo_brazzaville: '🇨🇬',\n switzerland: '🇨🇭',\n cote_divoire: '🇨🇮',\n cook_islands: '🇨🇰',\n chile: '🇨🇱',\n cameroon: '🇨🇲',\n cn: '🇨🇳',\n colombia: '🇨🇴',\n clipperton_island: '🇨🇵',\n costa_rica: '🇨🇷',\n cuba: '🇨🇺',\n cape_verde: '🇨🇻',\n curacao: '🇨🇼',\n christmas_island: '🇨🇽',\n cyprus: '🇨🇾',\n czech_republic: '🇨🇿',\n de: '🇩🇪',\n diego_garcia: '🇩🇬',\n djibouti: '🇩🇯',\n denmark: '🇩🇰',\n dominica: '🇩🇲',\n dominican_republic: '🇩🇴',\n algeria: '🇩🇿',\n ceuta_melilla: '🇪🇦',\n ecuador: '🇪🇨',\n estonia: '🇪🇪',\n egypt: '🇪🇬',\n western_sahara: '🇪🇭',\n eritrea: '🇪🇷',\n es: '🇪🇸',\n ethiopia: '🇪🇹',\n eu: '🇪🇺',\n european_union: '🇪🇺',\n finland: '🇫🇮',\n fiji: '🇫🇯',\n falkland_islands: '🇫🇰',\n micronesia: '🇫🇲',\n faroe_islands: '🇫🇴',\n fr: '🇫🇷',\n gabon: '🇬🇦',\n gb: '🇬🇧',\n uk: '🇬🇧',\n grenada: '🇬🇩',\n georgia: '🇬🇪',\n french_guiana: '🇬🇫',\n guernsey: '🇬🇬',\n ghana: '🇬🇭',\n gibraltar: '🇬🇮',\n greenland: '🇬🇱',\n gambia: '🇬🇲',\n guinea: '🇬🇳',\n guadeloupe: '🇬🇵',\n equatorial_guinea: '🇬🇶',\n greece: '🇬🇷',\n south_georgia_south_sandwich_islands: '🇬🇸',\n guatemala: '🇬🇹',\n guam: '🇬🇺',\n guinea_bissau: '🇬🇼',\n guyana: '🇬🇾',\n hong_kong: '🇭🇰',\n heard_mcdonald_islands: '🇭🇲',\n honduras: '🇭🇳',\n croatia: '🇭🇷',\n haiti: '🇭🇹',\n hungary: '🇭🇺',\n canary_islands: '🇮🇨',\n indonesia: '🇮🇩',\n ireland: '🇮🇪',\n israel: '🇮🇱',\n isle_of_man: '🇮🇲',\n india: '🇮🇳',\n british_indian_ocean_territory: '🇮🇴',\n iraq: '🇮🇶',\n iran: '🇮🇷',\n iceland: '🇮🇸',\n it: '🇮🇹',\n jersey: '🇯🇪',\n jamaica: '🇯🇲',\n jordan: '🇯🇴',\n jp: '🇯🇵',\n kenya: '🇰🇪',\n kyrgyzstan: '🇰🇬',\n cambodia: '🇰🇭',\n kiribati: '🇰🇮',\n comoros: '🇰🇲',\n st_kitts_nevis: '🇰🇳',\n north_korea: '🇰🇵',\n kr: '🇰🇷',\n kuwait: '🇰🇼',\n cayman_islands: '🇰🇾',\n kazakhstan: '🇰🇿',\n laos: '🇱🇦',\n lebanon: '🇱🇧',\n st_lucia: '🇱🇨',\n liechtenstein: '🇱🇮',\n sri_lanka: '🇱🇰',\n liberia: '🇱🇷',\n lesotho: '🇱🇸',\n lithuania: '🇱🇹',\n luxembourg: '🇱🇺',\n latvia: '🇱🇻',\n libya: '🇱🇾',\n morocco: '🇲🇦',\n monaco: '🇲🇨',\n moldova: '🇲🇩',\n montenegro: '🇲🇪',\n st_martin: '🇲🇫',\n madagascar: '🇲🇬',\n marshall_islands: '🇲🇭',\n macedonia: '🇲🇰',\n mali: '🇲🇱',\n myanmar: '🇲🇲',\n mongolia: '🇲🇳',\n macau: '🇲🇴',\n northern_mariana_islands: '🇲🇵',\n martinique: '🇲🇶',\n mauritania: '🇲🇷',\n montserrat: '🇲🇸',\n malta: '🇲🇹',\n mauritius: '🇲🇺',\n maldives: '🇲🇻',\n malawi: '🇲🇼',\n mexico: '🇲🇽',\n malaysia: '🇲🇾',\n mozambique: '🇲🇿',\n namibia: '🇳🇦',\n new_caledonia: '🇳🇨',\n niger: '🇳🇪',\n norfolk_island: '🇳🇫',\n nigeria: '🇳🇬',\n nicaragua: '🇳🇮',\n netherlands: '🇳🇱',\n norway: '🇳🇴',\n nepal: '🇳🇵',\n nauru: '🇳🇷',\n niue: '🇳🇺',\n new_zealand: '🇳🇿',\n oman: '🇴🇲',\n panama: '🇵🇦',\n peru: '🇵🇪',\n french_polynesia: '🇵🇫',\n papua_new_guinea: '🇵🇬',\n philippines: '🇵🇭',\n pakistan: '🇵🇰',\n poland: '🇵🇱',\n st_pierre_miquelon: '🇵🇲',\n pitcairn_islands: '🇵🇳',\n puerto_rico: '🇵🇷',\n palestinian_territories: '🇵🇸',\n portugal: '🇵🇹',\n palau: '🇵🇼',\n paraguay: '🇵🇾',\n qatar: '🇶🇦',\n reunion: '🇷🇪',\n romania: '🇷🇴',\n serbia: '🇷🇸',\n ru: '🇷🇺',\n rwanda: '🇷🇼',\n saudi_arabia: '🇸🇦',\n solomon_islands: '🇸🇧',\n seychelles: '🇸🇨',\n sudan: '🇸🇩',\n sweden: '🇸🇪',\n singapore: '🇸🇬',\n st_helena: '🇸🇭',\n slovenia: '🇸🇮',\n svalbard_jan_mayen: '🇸🇯',\n slovakia: '🇸🇰',\n sierra_leone: '🇸🇱',\n san_marino: '🇸🇲',\n senegal: '🇸🇳',\n somalia: '🇸🇴',\n suriname: '🇸🇷',\n south_sudan: '🇸🇸',\n sao_tome_principe: '🇸🇹',\n el_salvador: '🇸🇻',\n sint_maarten: '🇸🇽',\n syria: '🇸🇾',\n swaziland: '🇸🇿',\n tristan_da_cunha: '🇹🇦',\n turks_caicos_islands: '🇹🇨',\n chad: '🇹🇩',\n french_southern_territories: '🇹🇫',\n togo: '🇹🇬',\n thailand: '🇹🇭',\n tajikistan: '🇹🇯',\n tokelau: '🇹🇰',\n timor_leste: '🇹🇱',\n turkmenistan: '🇹🇲',\n tunisia: '🇹🇳',\n tonga: '🇹🇴',\n tr: '🇹🇷',\n trinidad_tobago: '🇹🇹',\n tuvalu: '🇹🇻',\n taiwan: '🇹🇼',\n tanzania: '🇹🇿',\n ukraine: '🇺🇦',\n uganda: '🇺🇬',\n us_outlying_islands: '🇺🇲',\n united_nations: '🇺🇳',\n us: '🇺🇸',\n uruguay: '🇺🇾',\n uzbekistan: '🇺🇿',\n vatican_city: '🇻🇦',\n st_vincent_grenadines: '🇻🇨',\n venezuela: '🇻🇪',\n british_virgin_islands: '🇻🇬',\n us_virgin_islands: '🇻🇮',\n vietnam: '🇻🇳',\n vanuatu: '🇻🇺',\n wallis_futuna: '🇼🇫',\n samoa: '🇼🇸',\n kosovo: '🇽🇰',\n yemen: '🇾🇪',\n mayotte: '🇾🇹',\n south_africa: '🇿🇦',\n zambia: '🇿🇲',\n zimbabwe: '🇿🇼',\n england: '🏴󠁧󠁢󠁥󠁮󠁧󠁿',\n scotland: '🏴󠁧󠁢󠁳󠁣󠁴󠁿',\n wales: '🏴󠁧󠁢󠁷󠁬󠁳󠁿'\n}\n\n/**\n * Map of emoji to primary name.\n *\n * @type {Record<string, string>}\n */\nexport const emojiToName = {\n '😀': 'grinning',\n '😃': 'smiley',\n '😄': 'smile',\n '😁': 'grin',\n '😆': 'laughing',\n '😅': 'sweat_smile',\n '🤣': 'rofl',\n '😂': 'joy',\n '🙂': 'slightly_smiling_face',\n '🙃': 'upside_down_face',\n '🫠': 'melting_face',\n '😉': 'wink',\n '😊': 'blush',\n '😇': 'innocent',\n '🥰': 'smiling_face_with_three_hearts',\n '😍': 'heart_eyes',\n '🤩': 'star_struck',\n '😘': 'kissing_heart',\n '😗': 'kissing',\n '☺️': 'relaxed',\n '😚': 'kissing_closed_eyes',\n '😙': 'kissing_smiling_eyes',\n '🥲': 'smiling_face_with_tear',\n '😋': 'yum',\n '😛': 'stuck_out_tongue',\n '😜': 'stuck_out_tongue_winking_eye',\n '🤪': 'zany_face',\n '😝': 'stuck_out_tongue_closed_eyes',\n '🤑': 'money_mouth_face',\n '🤗': 'hugs',\n '🤭': 'hand_over_mouth',\n '🫢': 'face_with_open_eyes_and_hand_over_mouth',\n '🫣': 'face_with_peeking_eye',\n '🤫': 'shushing_face',\n '🤔': 'thinking',\n '🫡': 'saluting_face',\n '🤐': 'zipper_mouth_face',\n '🤨': 'raised_eyebrow',\n '😐': 'neutral_face',\n '😑': 'expressionless',\n '😶': 'no_mouth',\n '🫥': 'dotted_line_face',\n '😶‍🌫️': 'face_in_clouds',\n '😏': 'smirk',\n '😒': 'unamused',\n '🙄': 'roll_eyes',\n '😬': 'grimacing',\n '😮‍💨': 'face_exhaling',\n '🤥': 'lying_face',\n '🫨': 'shaking_face',\n '😌': 'relieved',\n '😔': 'pensive',\n '😪': 'sleepy',\n '🤤': 'drooling_face',\n '😴': 'sleeping',\n '😷': 'mask',\n '🤒': 'face_with_thermometer',\n '🤕': 'face_with_head_bandage',\n '🤢': 'nauseated_face',\n '🤮': 'vomiting_face',\n '🤧': 'sneezing_face',\n '🥵': 'hot_face',\n '🥶': 'cold_face',\n '🥴': 'woozy_face',\n '😵': 'dizzy_face',\n '😵‍💫': 'face_with_spiral_eyes',\n '🤯': 'exploding_head',\n '🤠': 'cowboy_hat_face',\n '🥳': 'partying_face',\n '🥸': 'disguised_face',\n '😎': 'sunglasses',\n '🤓': 'nerd_face',\n '🧐': 'monocle_face',\n '😕': 'confused',\n '🫤': 'face_with_diagonal_mouth',\n '😟': 'worried',\n '🙁': 'slightly_frowning_face',\n '☹️': 'frowning_face',\n '😮': 'open_mouth',\n '😯': 'hushed',\n '😲': 'astonished',\n '😳': 'flushed',\n '🥺': 'pleading_face',\n '🥹': 'face_holding_back_tears',\n '😦': 'frowning',\n '😧': 'anguished',\n '😨': 'fearful',\n '😰': 'cold_sweat',\n '😥': 'disappointed_relieved',\n '😢': 'cry',\n '😭': 'sob',\n '😱': 'scream',\n '😖': 'confounded',\n '😣': 'persevere',\n '😞': 'disappointed',\n '😓': 'sweat',\n '😩': 'weary',\n '😫': 'tired_face',\n '🥱': 'yawning_face',\n '😤': 'triumph',\n '😡': 'rage',\n '😠': 'angry',\n '🤬': 'cursing_face',\n '😈': 'smiling_imp',\n '👿': 'imp',\n '💀': 'skull',\n '☠️': 'skull_and_crossbones',\n '💩': 'hankey',\n '🤡': 'clown_face',\n '👹': 'japanese_ogre',\n '👺': 'japanese_goblin',\n '👻': 'ghost',\n '👽': 'alien',\n '👾': 'space_invader',\n '🤖': 'robot',\n '😺': 'smiley_cat',\n '😸': 'smile_cat',\n '😹': 'joy_cat',\n '😻': 'heart_eyes_cat',\n '😼': 'smirk_cat',\n '😽': 'kissing_cat',\n '🙀': 'scream_cat',\n '😿': 'crying_cat_face',\n '😾': 'pouting_cat',\n '🙈': 'see_no_evil',\n '🙉': 'hear_no_evil',\n '🙊': 'speak_no_evil',\n '💌': 'love_letter',\n '💘': 'cupid',\n '💝': 'gift_heart',\n '💖': 'sparkling_heart',\n '💗': 'heartpulse',\n '💓': 'heartbeat',\n '💞': 'revolving_hearts',\n '💕': 'two_hearts',\n '💟': 'heart_decoration',\n '❣️': 'heavy_heart_exclamation',\n '💔': 'broken_heart',\n '❤️‍🔥': 'heart_on_fire',\n '❤️‍🩹': 'mending_heart',\n '❤️': 'heart',\n '🩷': 'pink_heart',\n '🧡': 'orange_heart',\n '💛': 'yellow_heart',\n '💚': 'green_heart',\n '💙': 'blue_heart',\n '🩵': 'light_blue_heart',\n '💜': 'purple_heart',\n '🤎': 'brown_heart',\n '🖤': 'black_heart',\n '🩶': 'grey_heart',\n '🤍': 'white_heart',\n '💋': 'kiss',\n '💯': '100',\n '💢': 'anger',\n '💥': 'boom',\n '💫': 'dizzy',\n '💦': 'sweat_drops',\n '💨': 'dash',\n '🕳️': 'hole',\n '💬': 'speech_balloon',\n '👁️‍🗨️': 'eye_speech_bubble',\n '🗨️': 'left_speech_bubble',\n '🗯️': 'right_anger_bubble',\n '💭': 'thought_balloon',\n '💤': 'zzz',\n '👋': 'wave',\n '🤚': 'raised_back_of_hand',\n '🖐️': 'raised_hand_with_fingers_splayed',\n '✋': 'hand',\n '🖖': 'vulcan_salute',\n '🫱': 'rightwards_hand',\n '🫲': 'leftwards_hand',\n '🫳': 'palm_down_hand',\n '🫴': 'palm_up_hand',\n '🫷': 'leftwards_pushing_hand',\n '🫸': 'rightwards_pushing_hand',\n '👌': 'ok_hand',\n '🤌': 'pinched_fingers',\n '🤏': 'pinching_hand',\n '✌️': 'v',\n '🤞': 'crossed_fingers',\n '🫰': 'hand_with_index_finger_and_thumb_crossed',\n '🤟': 'love_you_gesture',\n '🤘': 'metal',\n '🤙': 'call_me_hand',\n '👈': 'point_left',\n '👉': 'point_right',\n '👆': 'point_up_2',\n '🖕': 'middle_finger',\n '👇': 'point_down',\n '☝️': 'point_up',\n '🫵': 'index_pointing_at_the_viewer',\n '👍': '+1',\n '👎': '-1',\n '✊': 'fist_raised',\n '👊': 'fist_oncoming',\n '🤛': 'fist_left',\n '🤜': 'fist_right',\n '👏': 'clap',\n '🙌': 'raised_hands',\n '🫶': 'heart_hands',\n '👐': 'open_hands',\n '🤲': 'palms_up_together',\n '🤝': 'handshake',\n '🙏': 'pray',\n '✍️': 'writing_hand',\n '💅': 'nail_care',\n '🤳': 'selfie',\n '💪': 'muscle',\n '🦾': 'mechanical_arm',\n '🦿': 'mechanical_leg',\n '🦵': 'leg',\n '🦶': 'foot',\n '👂': 'ear',\n '🦻': 'ear_with_hearing_aid',\n '👃': 'nose',\n '🧠': 'brain',\n '🫀': 'anatomical_heart',\n '🫁': 'lungs',\n '🦷': 'tooth',\n '🦴': 'bone',\n '👀': 'eyes',\n '👁️': 'eye',\n '👅': 'tongue',\n '👄': 'lips',\n '🫦': 'biting_lip',\n '👶': 'baby',\n '🧒': 'child',\n '👦': 'boy',\n '👧': 'girl',\n '🧑': 'adult',\n '👱': 'blond_haired_person',\n '👨': 'man',\n '🧔': 'bearded_person',\n '🧔‍♂️': 'man_beard',\n '🧔‍♀️': 'woman_beard',\n '👨‍🦰': 'red_haired_man',\n '👨‍🦱': 'curly_haired_man',\n '👨‍🦳': 'white_haired_man',\n '👨‍🦲': 'bald_man',\n '👩': 'woman',\n '👩‍🦰': 'red_haired_woman',\n '🧑‍🦰': 'person_red_hair',\n '👩‍🦱': 'curly_haired_woman',\n '🧑‍🦱': 'person_curly_hair',\n '👩‍🦳': 'white_haired_woman',\n '🧑‍🦳': 'person_white_hair',\n '👩‍🦲': 'bald_woman',\n '🧑‍🦲': 'person_bald',\n '👱‍♀️': 'blond_haired_woman',\n '👱‍♂️': 'blond_haired_man',\n '🧓': 'older_adult',\n '👴': 'older_man',\n '👵': 'older_woman',\n '🙍': 'frowning_person',\n '🙍‍♂️': 'frowning_man',\n '🙍‍♀️': 'frowning_woman',\n '🙎': 'pouting_face',\n '🙎‍♂️': 'pouting_man',\n '🙎‍♀️': 'pouting_woman',\n '🙅': 'no_good',\n '🙅‍♂️': 'no_good_man',\n '🙅‍♀️': 'no_good_woman',\n '🙆': 'ok_person',\n '🙆‍♂️': 'ok_man',\n '🙆‍♀️': 'ok_woman',\n '💁': 'tipping_hand_person',\n '💁‍♂️': 'tipping_hand_man',\n '💁‍♀️': 'tipping_hand_woman',\n '🙋': 'raising_hand',\n '🙋‍♂️': 'raising_hand_man',\n '🙋‍♀️': 'raising_hand_woman',\n '🧏': 'deaf_person',\n '🧏‍♂️': 'deaf_man',\n '🧏‍♀️': 'deaf_woman',\n '🙇': 'bow',\n '🙇‍♂️': 'bowing_man',\n '🙇‍♀️': 'bowing_woman',\n '🤦': 'facepalm',\n '🤦‍♂️': 'man_facepalming',\n '🤦‍♀️': 'woman_facepalming',\n '🤷': 'shrug',\n '🤷‍♂️': 'man_shrugging',\n '🤷‍♀️': 'woman_shrugging',\n '🧑‍⚕️': 'health_worker',\n '👨‍⚕️': 'man_health_worker',\n '👩‍⚕️': 'woman_health_worker',\n '🧑‍🎓': 'student',\n '👨‍🎓': 'man_student',\n '👩‍🎓': 'woman_student',\n '🧑‍🏫': 'teacher',\n '👨‍🏫': 'man_teacher',\n '👩‍🏫': 'woman_teacher',\n '🧑‍⚖️': 'judge',\n '👨‍⚖️': 'man_judge',\n '👩‍⚖️': 'woman_judge',\n '🧑‍🌾': 'farmer',\n '👨‍🌾': 'man_farmer',\n '👩‍🌾': 'woman_farmer',\n '🧑‍🍳': 'cook',\n '👨‍🍳': 'man_cook',\n '👩‍🍳': 'woman_cook',\n '🧑‍🔧': 'mechanic',\n '👨‍🔧': 'man_mechanic',\n '👩‍🔧': 'woman_mechanic',\n '🧑‍🏭': 'factory_worker',\n '👨‍🏭': 'man_factory_worker',\n '👩‍🏭': 'woman_factory_worker',\n '🧑‍💼': 'office_worker',\n '👨‍💼': 'man_office_worker',\n '👩‍💼': 'woman_office_worker',\n '🧑‍🔬': 'scientist',\n '👨‍🔬': 'man_scientist',\n '👩‍🔬': 'woman_scientist',\n '🧑‍💻': 'technologist',\n '👨‍💻': 'man_technologist',\n '👩‍💻': 'woman_technologist',\n '🧑‍🎤': 'singer',\n '👨‍🎤': 'man_singer',\n '👩‍🎤': 'woman_singer',\n '🧑‍🎨': 'artist',\n '👨‍🎨': 'man_artist',\n '👩‍🎨': 'woman_artist',\n '🧑‍✈️': 'pilot',\n '👨‍✈️': 'man_pilot',\n '👩‍✈️': 'woman_pilot',\n '🧑‍🚀': 'astronaut',\n '👨‍🚀': 'man_astronaut',\n '👩‍🚀': 'woman_astronaut',\n '🧑‍🚒': 'firefighter',\n '👨‍🚒': 'man_firefighter',\n '👩‍🚒': 'woman_firefighter',\n '👮': 'police_officer',\n '👮‍♂️': 'policeman',\n '👮‍♀️': 'policewoman',\n '🕵️': 'detective',\n '🕵️‍♂️': 'male_detective',\n '🕵️‍♀️': 'female_detective',\n '💂': 'guard',\n '💂‍♂️': 'guardsman',\n '💂‍♀️': 'guardswoman',\n '🥷': 'ninja',\n '👷': 'construction_worker',\n '👷‍♂️': 'construction_worker_man',\n '👷‍♀️': 'construction_worker_woman',\n '🫅': 'person_with_crown',\n '🤴': 'prince',\n '👸': 'princess',\n '👳': 'person_with_turban',\n '👳‍♂️': 'man_with_turban',\n '👳‍♀️': 'woman_with_turban',\n '👲': 'man_with_gua_pi_mao',\n '🧕': 'woman_with_headscarf',\n '🤵': 'person_in_tuxedo',\n '🤵‍♂️': 'man_in_tuxedo',\n '🤵‍♀️': 'woman_in_tuxedo',\n '👰': 'person_with_veil',\n '👰‍♂️': 'man_with_veil',\n '👰‍♀️': 'woman_with_veil',\n '🤰': 'pregnant_woman',\n '🫃': 'pregnant_man',\n '🫄': 'pregnant_person',\n '🤱': 'breast_feeding',\n '👩‍🍼': 'woman_feeding_baby',\n '👨‍🍼': 'man_feeding_baby',\n '🧑‍🍼': 'person_feeding_baby',\n '👼': 'angel',\n '🎅': 'santa',\n '🤶': 'mrs_claus',\n '🧑‍🎄': 'mx_claus',\n '🦸': 'superhero',\n '🦸‍♂️': 'superhero_man',\n '🦸‍♀️': 'superhero_woman',\n '🦹': 'supervillain',\n '🦹‍♂️': 'supervillain_man',\n '🦹‍♀️': 'supervillain_woman',\n '🧙': 'mage',\n '🧙‍♂️': 'mage_man',\n '🧙‍♀️': 'mage_woman',\n '🧚': 'fairy',\n '🧚‍♂️': 'fairy_man',\n '🧚‍♀️': 'fairy_woman',\n '🧛': 'vampire',\n '🧛‍♂️': 'vampire_man',\n '🧛‍♀️': 'vampire_woman',\n '🧜': 'merperson',\n '🧜‍♂️': 'merman',\n '🧜‍♀️': 'mermaid',\n '🧝': 'elf',\n '🧝‍♂️': 'elf_man',\n '🧝‍♀️': 'elf_woman',\n '🧞': 'genie',\n '🧞‍♂️': 'genie_man',\n '🧞‍♀️': 'genie_woman',\n '🧟': 'zombie',\n '🧟‍♂️': 'zombie_man',\n '🧟‍♀️': 'zombie_woman',\n '🧌': 'troll',\n '💆': 'massage',\n '💆‍♂️': 'massage_man',\n '💆‍♀️': 'massage_woman',\n '💇': 'haircut',\n '💇‍♂️': 'haircut_man',\n '💇‍♀️': 'haircut_woman',\n '🚶': 'walking',\n '🚶‍♂️': 'walking_man',\n '🚶‍♀️': 'walking_woman',\n '🧍': 'standing_person',\n '🧍‍♂️': 'standing_man',\n '🧍‍♀️': 'standing_woman',\n '🧎': 'kneeling_person',\n '🧎‍♂️': 'kneeling_man',\n '🧎‍♀️': 'kneeling_woman',\n '🧑‍🦯': 'person_with_probing_cane',\n '👨‍🦯': 'man_with_probing_cane',\n '👩‍🦯': 'woman_with_probing_cane',\n '🧑‍🦼': 'person_in_motorized_wheelchair',\n '👨‍🦼': 'man_in_motorized_wheelchair',\n '👩‍🦼': 'woman_in_motorized_wheelchair',\n '🧑‍🦽': 'person_in_manual_wheelchair',\n '👨‍🦽': 'man_in_manual_wheelchair',\n '👩‍🦽': 'woman_in_manual_wheelchair',\n '🏃': 'runner',\n '🏃‍♂️': 'running_man',\n '🏃‍♀️': 'running_woman',\n '💃': 'woman_dancing',\n '🕺': 'man_dancing',\n '🕴️': 'business_suit_levitating',\n '👯': 'dancers',\n '👯‍♂️': 'dancing_men',\n '👯‍♀️': 'dancing_women',\n '🧖': 'sauna_person',\n '🧖‍♂️': 'sauna_man',\n '🧖‍♀️': 'sauna_woman',\n '🧗': 'climbing',\n '🧗‍♂️': 'climbing_man',\n '🧗‍♀️': 'climbing_woman',\n '🤺': 'person_fencing',\n '🏇': 'horse_racing',\n '⛷️': 'skier',\n '🏂': 'snowboarder',\n '🏌️': 'golfing',\n '🏌️‍♂️': 'golfing_man',\n '🏌️‍♀️': 'golfing_woman',\n '🏄': 'surfer',\n '🏄‍♂️': 'surfing_man',\n '🏄‍♀️': 'surfing_woman',\n '🚣': 'rowboat',\n '🚣‍♂️': 'rowing_man',\n '🚣‍♀️': 'rowing_woman',\n '🏊': 'swimmer',\n '🏊‍♂️': 'swimming_man',\n '🏊‍♀️': 'swimming_woman',\n '⛹️': 'bouncing_ball_person',\n '⛹️‍♂️': 'bouncing_ball_man',\n '⛹️‍♀️': 'bouncing_ball_woman',\n '🏋️': 'weight_lifting',\n '🏋️‍♂️': 'weight_lifting_man',\n '🏋️‍♀️': 'weight_lifting_woman',\n '🚴': 'bicyclist',\n '🚴‍♂️': 'biking_man',\n '🚴‍♀️': 'biking_woman',\n '🚵': 'mountain_bicyclist',\n '🚵‍♂️': 'mountain_biking_man',\n '🚵‍♀️': 'mountain_biking_woman',\n '🤸': 'cartwheeling',\n '🤸‍♂️': 'man_cartwheeling',\n '🤸‍♀️': 'woman_cartwheeling',\n '🤼': 'wrestling',\n '🤼‍♂️': 'men_wrestling',\n '🤼‍♀️': 'women_wrestling',\n '🤽': 'water_polo',\n '🤽‍♂️': 'man_playing_water_polo',\n '🤽‍♀️': 'woman_playing_water_polo',\n '🤾': 'handball_person',\n '🤾‍♂️': 'man_playing_handball',\n '🤾‍♀️': 'woman_playing_handball',\n '🤹': 'juggling_person',\n '🤹‍♂️': 'man_juggling',\n '🤹‍♀️': 'woman_juggling',\n '🧘': 'lotus_position',\n '🧘‍♂️': 'lotus_position_man',\n '🧘‍♀️': 'lotus_position_woman',\n '🛀': 'bath',\n '🛌': 'sleeping_bed',\n '🧑‍🤝‍🧑': 'people_holding_hands',\n '👭': 'two_women_holding_hands',\n '👫': 'couple',\n '👬': 'two_men_holding_hands',\n '💏': 'couplekiss',\n '👩‍❤️‍💋‍👨': 'couplekiss_man_woman',\n '👨‍❤️‍💋‍👨': 'couplekiss_man_man',\n '👩‍❤️‍💋‍👩': 'couplekiss_woman_woman',\n '💑': 'couple_with_heart',\n '👩‍❤️‍👨': 'couple_with_heart_woman_man',\n '👨‍❤️‍👨': 'couple_with_heart_man_man',\n '👩‍❤️‍👩': 'couple_with_heart_woman_woman',\n '👪': 'family',\n '👨‍👩‍👦': 'family_man_woman_boy',\n '👨‍👩‍👧': 'family_man_woman_girl',\n '👨‍👩‍👧‍👦': 'family_man_woman_girl_boy',\n '👨‍👩‍👦‍👦': 'family_man_woman_boy_boy',\n '👨‍👩‍👧‍👧': 'family_man_woman_girl_girl',\n '👨‍👨‍👦': 'family_man_man_boy',\n '👨‍👨‍👧': 'family_man_man_girl',\n '👨‍👨‍👧‍👦': 'family_man_man_girl_boy',\n '👨‍👨‍👦‍👦': 'family_man_man_boy_boy',\n '👨‍👨‍👧‍👧': 'family_man_man_girl_girl',\n '👩‍👩‍👦': 'family_woman_woman_boy',\n '👩‍👩‍👧': 'family_woman_woman_girl',\n '👩‍👩‍👧‍👦': 'family_woman_woman_girl_boy',\n '👩‍👩‍👦‍👦': 'family_woman_woman_boy_boy',\n '👩‍👩‍👧‍👧': 'family_woman_woman_girl_girl',\n '👨‍👦': 'family_man_boy',\n '👨‍👦‍👦': 'family_man_boy_boy',\n '👨‍👧': 'family_man_girl',\n '👨‍👧‍👦': 'family_man_girl_boy',\n '👨‍👧‍👧': 'family_man_girl_girl',\n '👩‍👦': 'family_woman_boy',\n '👩‍👦‍👦': 'family_woman_boy_boy',\n '👩‍👧': 'family_woman_girl',\n '👩‍👧‍👦': 'family_woman_girl_boy',\n '👩‍👧‍👧': 'family_woman_girl_girl',\n '🗣️': 'speaking_head',\n '👤': 'bust_in_silhouette',\n '👥': 'busts_in_silhouette',\n '🫂': 'people_hugging',\n '👣': 'footprints',\n '🐵': 'monkey_face',\n '🐒': 'monkey',\n '🦍': 'gorilla',\n '🦧': 'orangutan',\n '🐶': 'dog',\n '🐕': 'dog2',\n '🦮': 'guide_dog',\n '🐕‍🦺': 'service_dog',\n '🐩': 'poodle',\n '🐺': 'wolf',\n '🦊': 'fox_face',\n '🦝': 'raccoon',\n '🐱': 'cat',\n '🐈': 'cat2',\n '🐈‍⬛': 'black_cat',\n '🦁': 'lion',\n '🐯': 'tiger',\n '🐅': 'tiger2',\n '🐆': 'leopard',\n '🐴': 'horse',\n '🫎': 'moose',\n '🫏': 'donkey',\n '🐎': 'racehorse',\n '🦄': 'unicorn',\n '🦓': 'zebra',\n '🦌': 'deer',\n '🦬': 'bison',\n '🐮': 'cow',\n '🐂': 'ox',\n '🐃': 'water_buffalo',\n '🐄': 'cow2',\n '🐷': 'pig',\n '🐖': 'pig2',\n '🐗': 'boar',\n '🐽': 'pig_nose',\n '🐏': 'ram',\n '🐑': 'sheep',\n '🐐': 'goat',\n '🐪': 'dromedary_camel',\n '🐫': 'camel',\n '🦙': 'llama',\n '🦒': 'giraffe',\n '🐘': 'elephant',\n '🦣': 'mammoth',\n '🦏': 'rhinoceros',\n '🦛': 'hippopotamus',\n '🐭': 'mouse',\n '🐁': 'mouse2',\n '🐀': 'rat',\n '🐹': 'hamster',\n '🐰': 'rabbit',\n '🐇': 'rabbit2',\n '🐿️': 'chipmunk',\n '🦫': 'beaver',\n '🦔': 'hedgehog',\n '🦇': 'bat',\n '🐻': 'bear',\n '🐻‍❄️': 'polar_bear',\n '🐨': 'koala',\n '🐼': 'panda_face',\n '🦥': 'sloth',\n '🦦': 'otter',\n '🦨': 'skunk',\n '🦘': 'kangaroo',\n '🦡': 'badger',\n '🐾': 'feet',\n '🦃': 'turkey',\n '🐔': 'chicken',\n '🐓': 'rooster',\n '🐣': 'hatching_chick',\n '🐤': 'baby_chick',\n '🐥': 'hatched_chick',\n '🐦': 'bird',\n '🐧': 'penguin',\n '🕊️': 'dove',\n '🦅': 'eagle',\n '🦆': 'duck',\n '🦢': 'swan',\n '🦉': 'owl',\n '🦤': 'dodo',\n '🪶': 'feather',\n '🦩': 'flamingo',\n '🦚': 'peacock',\n '🦜': 'parrot',\n '🪽': 'wing',\n '🐦‍⬛': 'black_bird',\n '🪿': 'goose',\n '🐸': 'frog',\n '🐊': 'crocodile',\n '🐢': 'turtle',\n '🦎': 'lizard',\n '🐍': 'snake',\n '🐲': 'dragon_face',\n '🐉': 'dragon',\n '🦕': 'sauropod',\n '🦖': 't-rex',\n '🐳': 'whale',\n '🐋': 'whale2',\n '🐬': 'dolphin',\n '🦭': 'seal',\n '🐟': 'fish',\n '🐠': 'tropical_fish',\n '🐡': 'blowfish',\n '🦈': 'shark',\n '🐙': 'octopus',\n '🐚': 'shell',\n '🪸': 'coral',\n '🪼': 'jellyfish',\n '🐌': 'snail',\n '🦋': 'butterfly',\n '🐛': 'bug',\n '🐜': 'ant',\n '🐝': 'bee',\n '🪲': 'beetle',\n '🐞': 'lady_beetle',\n '🦗': 'cricket',\n '🪳': 'cockroach',\n '🕷️': 'spider',\n '🕸️': 'spider_web',\n '🦂': 'scorpion',\n '🦟': 'mosquito',\n '🪰': 'fly',\n '🪱': 'worm',\n '🦠': 'microbe',\n '💐': 'bouquet',\n '🌸': 'cherry_blossom',\n '💮': 'white_flower',\n '🪷': 'lotus',\n '🏵️': 'rosette',\n '🌹': 'rose',\n '🥀': 'wilted_flower',\n '🌺': 'hibiscus',\n '🌻': 'sunflower',\n '🌼': 'blossom',\n '🌷': 'tulip',\n '🪻': 'hyacinth',\n '🌱': 'seedling',\n '🪴': 'potted_plant',\n '🌲': 'evergreen_tree',\n '🌳': 'deciduous_tree',\n '🌴': 'palm_tree',\n '🌵': 'cactus',\n '🌾': 'ear_of_rice',\n '🌿': 'herb',\n '☘️': 'shamrock',\n '🍀': 'four_leaf_clover',\n '🍁': 'maple_leaf',\n '🍂': 'fallen_leaf',\n '🍃': 'leaves',\n '🪹': 'empty_nest',\n '🪺': 'nest_with_eggs',\n '🍄': 'mushroom',\n '🍇': 'grapes',\n '🍈': 'melon',\n '🍉': 'watermelon',\n '🍊': 'tangerine',\n '🍋': 'lemon',\n '🍌': 'banana',\n '🍍': 'pineapple',\n '🥭': 'mango',\n '🍎': 'apple',\n '🍏': 'green_apple',\n '🍐': 'pear',\n '🍑': 'peach',\n '🍒': 'cherries',\n '🍓': 'strawberry',\n '🫐': 'blueberries',\n '🥝': 'kiwi_fruit',\n '🍅': 'tomato',\n '🫒': 'olive',\n '🥥': 'coconut',\n '🥑': 'avocado',\n '🍆': 'eggplant',\n '🥔': 'potato',\n '🥕': 'carrot',\n '🌽': 'corn',\n '🌶️': 'hot_pepper',\n '🫑': 'bell_pepper',\n '🥒': 'cucumber',\n '🥬': 'leafy_green',\n '🥦': 'broccoli',\n '🧄': 'garlic',\n '🧅': 'onion',\n '🥜': 'peanuts',\n '🫘': 'beans',\n '🌰': 'chestnut',\n '🫚': 'ginger_root',\n '🫛': 'pea_pod',\n '🍞': 'bread',\n '🥐': 'croissant',\n '🥖': 'baguette_bread',\n '🫓': 'flatbread',\n '🥨': 'pretzel',\n '🥯': 'bagel',\n '🥞': 'pancakes',\n '🧇': 'waffle',\n '🧀': 'cheese',\n '🍖': 'meat_on_bone',\n '🍗': 'poultry_leg',\n '🥩': 'cut_of_meat',\n '🥓': 'bacon',\n '🍔': 'hamburger',\n '🍟': 'fries',\n '🍕': 'pizza',\n '🌭': 'hotdog',\n '🥪': 'sandwich',\n '🌮': 'taco',\n '🌯': 'burrito',\n '🫔': 'tamale',\n '🥙': 'stuffed_flatbread',\n '🧆': 'falafel',\n '🥚': 'egg',\n '🍳': 'fried_egg',\n '🥘': 'shallow_pan_of_food',\n '🍲': 'stew',\n '🫕': 'fondue',\n '🥣': 'bowl_with_spoon',\n '🥗': 'green_salad',\n '🍿': 'popcorn',\n '🧈': 'butter',\n '🧂': 'salt',\n '🥫': 'canned_food',\n '🍱': 'bento',\n '🍘': 'rice_cracker',\n '🍙': 'rice_ball',\n '🍚': 'rice',\n '🍛': 'curry',\n '🍜': 'ramen',\n '🍝': 'spaghetti',\n '🍠': 'sweet_potato',\n '🍢': 'oden',\n '🍣': 'sushi',\n '🍤': 'fried_shrimp',\n '🍥': 'fish_cake',\n '🥮': 'moon_cake',\n '🍡': 'dango',\n '🥟': 'dumpling',\n '🥠': 'fortune_cookie',\n '🥡': 'takeout_box',\n '🦀': 'crab',\n '🦞': 'lobster',\n '🦐': 'shrimp',\n '🦑': 'squid',\n '🦪': 'oyster',\n '🍦': 'icecream',\n '🍧': 'shaved_ice',\n '🍨': 'ice_cream',\n '🍩': 'doughnut',\n '🍪': 'cookie',\n '🎂': 'birthday',\n '🍰': 'cake',\n '🧁': 'cupcake',\n '🥧': 'pie',\n '🍫': 'chocolate_bar',\n '🍬': 'candy',\n '🍭': 'lollipop',\n '🍮': 'custard',\n '🍯': 'honey_pot',\n '🍼': 'baby_bottle',\n '🥛': 'milk_glass',\n '☕': 'coffee',\n '🫖': 'teapot',\n '🍵': 'tea',\n '🍶': 'sake',\n '🍾': 'champagne',\n '🍷': 'wine_glass',\n '🍸': 'cocktail',\n '🍹': 'tropical_drink',\n '🍺': 'beer',\n '🍻': 'beers',\n '🥂': 'clinking_glasses',\n '🥃': 'tumbler_glass',\n '🫗': 'pouring_liquid',\n '🥤': 'cup_with_straw',\n '🧋': 'bubble_tea',\n '🧃': 'beverage_box',\n '🧉': 'mate',\n '🧊': 'ice_cube',\n '🥢': 'chopsticks',\n '🍽️': 'plate_with_cutlery',\n '🍴': 'fork_and_knife',\n '🥄': 'spoon',\n '🔪': 'hocho',\n '🫙': 'jar',\n '🏺': 'amphora',\n '🌍': 'earth_africa',\n '🌎': 'earth_americas',\n '🌏': 'earth_asia',\n '🌐': 'globe_with_meridians',\n '🗺️': 'world_map',\n '🗾': 'japan',\n '🧭': 'compass',\n '🏔️': 'mountain_snow',\n '⛰️': 'mountain',\n '🌋': 'volcano',\n '🗻': 'mount_fuji',\n '🏕️': 'camping',\n '🏖️': 'beach_umbrella',\n '🏜️': 'desert',\n '🏝️': 'desert_island',\n '🏞️': 'national_park',\n '🏟️': 'stadium',\n '🏛️': 'classical_building',\n '🏗️': 'building_construction',\n '🧱': 'bricks',\n '🪨': 'rock',\n '🪵': 'wood',\n '🛖': 'hut',\n '🏘️': 'houses',\n '🏚️': 'derelict_house',\n '🏠': 'house',\n '🏡': 'house_with_garden',\n '🏢': 'office',\n '🏣': 'post_office',\n '🏤': 'european_post_office',\n '🏥': 'hospital',\n '🏦': 'bank',\n '🏨': 'hotel',\n '🏩': 'love_hotel',\n '🏪': 'convenience_store',\n '🏫': 'school',\n '🏬': 'department_store',\n '🏭': 'factory',\n '🏯': 'japanese_castle',\n '🏰': 'european_castle',\n '💒': 'wedding',\n '🗼': 'tokyo_tower',\n '🗽': 'statue_of_liberty',\n '⛪': 'church',\n '🕌': 'mosque',\n '🛕': 'hindu_temple',\n '🕍': 'synagogue',\n '⛩️': 'shinto_shrine',\n '🕋': 'kaaba',\n '⛲': 'fountain',\n '⛺': 'tent',\n '🌁': 'foggy',\n '🌃': 'night_with_stars',\n '🏙️': 'cityscape',\n '🌄': 'sunrise_over_mountains',\n '🌅': 'sunrise',\n '🌆': 'city_sunset',\n '🌇': 'city_sunrise',\n '🌉': 'bridge_at_night',\n '♨️': 'hotsprings',\n '🎠': 'carousel_horse',\n '🛝': 'playground_slide',\n '🎡': 'ferris_wheel',\n '🎢': 'roller_coaster',\n '💈': 'barber',\n '🎪': 'circus_tent',\n '🚂': 'steam_locomotive',\n '🚃': 'railway_car',\n '🚄': 'bullettrain_side',\n '🚅': 'bullettrain_front',\n '🚆': 'train2',\n '🚇': 'metro',\n '🚈': 'light_rail',\n '🚉': 'station',\n '🚊': 'tram',\n '🚝': 'monorail',\n '🚞': 'mountain_railway',\n '🚋': 'train',\n '🚌': 'bus',\n '🚍': 'oncoming_bus',\n '🚎': 'trolleybus',\n '🚐': 'minibus',\n '🚑': 'ambulance',\n '🚒': 'fire_engine',\n '🚓': 'police_car',\n '🚔': 'oncoming_police_car',\n '🚕': 'taxi',\n '🚖': 'oncoming_taxi',\n '🚗': 'car',\n '🚘': 'oncoming_automobile',\n '🚙': 'blue_car',\n '🛻': 'pickup_truck',\n '🚚': 'truck',\n '🚛': 'articulated_lorry',\n '🚜': 'tractor',\n '🏎️': 'racing_car',\n '🏍️': 'motorcycle',\n '🛵': 'motor_scooter',\n '🦽': 'manual_wheelchair',\n '🦼': 'motorized_wheelchair',\n '🛺': 'auto_rickshaw',\n '🚲': 'bike',\n '🛴': 'kick_scooter',\n '🛹': 'skateboard',\n '🛼': 'roller_skate',\n '🚏': 'busstop',\n '🛣️': 'motorway',\n '🛤️': 'railway_track',\n '🛢️': 'oil_drum',\n '⛽': 'fuelpump',\n '🛞': 'wheel',\n '🚨': 'rotating_light',\n '🚥': 'traffic_light',\n '🚦': 'vertical_traffic_light',\n '🛑': 'stop_sign',\n '🚧': 'construction',\n '⚓': 'anchor',\n '🛟': 'ring_buoy',\n '⛵': 'boat',\n '🛶': 'canoe',\n '🚤': 'speedboat',\n '🛳️': 'passenger_ship',\n '⛴️': 'ferry',\n '🛥️': 'motor_boat',\n '🚢': 'ship',\n '✈️': 'airplane',\n '🛩️': 'small_airplane',\n '🛫': 'flight_departure',\n '🛬': 'flight_arrival',\n '🪂': 'parachute',\n '💺': 'seat',\n '🚁': 'helicopter',\n '🚟': 'suspension_railway',\n '🚠': 'mountain_cableway',\n '🚡': 'aerial_tramway',\n '🛰️': 'artificial_satellite',\n '🚀': 'rocket',\n '🛸': 'flying_saucer',\n '🛎️': 'bellhop_bell',\n '🧳': 'luggage',\n '⌛': 'hourglass',\n '⏳': 'hourglass_flowing_sand',\n '⌚': 'watch',\n '⏰': 'alarm_clock',\n '⏱️': 'stopwatch',\n '⏲️': 'timer_clock',\n '🕰️': 'mantelpiece_clock',\n '🕛': 'clock12',\n '🕧': 'clock1230',\n '🕐': 'clock1',\n '🕜': 'clock130',\n '🕑': 'clock2',\n '🕝': 'clock230',\n '🕒': 'clock3',\n '🕞': 'clock330',\n '🕓': 'clock4',\n '🕟': 'clock430',\n '🕔': 'clock5',\n '🕠': 'clock530',\n '🕕': 'clock6',\n '🕡': 'clock630',\n '🕖': 'clock7',\n '🕢': 'clock730',\n '🕗': 'clock8',\n '🕣': 'clock830',\n '🕘': 'clock9',\n '🕤': 'clock930',\n '🕙': 'clock10',\n '🕥': 'clock1030',\n '🕚': 'clock11',\n '🕦': 'clock1130',\n '🌑': 'new_moon',\n '🌒': 'waxing_crescent_moon',\n '🌓': 'first_quarter_moon',\n '🌔': 'moon',\n '🌕': 'full_moon',\n '🌖': 'waning_gibbous_moon',\n '🌗': 'last_quarter_moon',\n '🌘': 'waning_crescent_moon',\n '🌙': 'crescent_moon',\n '🌚': 'new_moon_with_face',\n '🌛': 'first_quarter_moon_with_face',\n '🌜': 'last_quarter_moon_with_face',\n '🌡️': 'thermometer',\n '☀️': 'sunny',\n '🌝': 'full_moon_with_face',\n '🌞': 'sun_with_face',\n '🪐': 'ringed_planet',\n '⭐': 'star',\n '🌟': 'star2',\n '🌠': 'stars',\n '🌌': 'milky_way',\n '☁️': 'cloud',\n '⛅': 'partly_sunny',\n '⛈️': 'cloud_with_lightning_and_rain',\n '🌤️': 'sun_behind_small_cloud',\n '🌥️': 'sun_behind_large_cloud',\n '🌦️': 'sun_behind_rain_cloud',\n '🌧️': 'cloud_with_rain',\n '🌨️': 'cloud_with_snow',\n '🌩️': 'cloud_with_lightning',\n '🌪️': 'tornado',\n '🌫️': 'fog',\n '🌬️': 'wind_face',\n '🌀': 'cyclone',\n '🌈': 'rainbow',\n '🌂': 'closed_umbrella',\n '☂️': 'open_umbrella',\n '☔': 'umbrella',\n '⛱️': 'parasol_on_ground',\n '⚡': 'zap',\n '❄️': 'snowflake',\n '☃️': 'snowman_with_snow',\n '⛄': 'snowman',\n '☄️': 'comet',\n '🔥': 'fire',\n '💧': 'droplet',\n '🌊': 'ocean',\n '🎃': 'jack_o_lantern',\n '🎄': 'christmas_tree',\n '🎆': 'fireworks',\n '🎇': 'sparkler',\n '🧨': 'firecracker',\n '✨': 'sparkles',\n '🎈': 'balloon',\n '🎉': 'tada',\n '🎊': 'confetti_ball',\n '🎋': 'tanabata_tree',\n '🎍': 'bamboo',\n '🎎': 'dolls',\n '🎏': 'flags',\n '🎐': 'wind_chime',\n '🎑': 'rice_scene',\n '🧧': 'red_envelope',\n '🎀': 'ribbon',\n '🎁': 'gift',\n '🎗️': 'reminder_ribbon',\n '🎟️': 'tickets',\n '🎫': 'ticket',\n '🎖️': 'medal_military',\n '🏆': 'trophy',\n '🏅': 'medal_sports',\n '🥇': '1st_place_medal',\n '🥈': '2nd_place_medal',\n '🥉': '3rd_place_medal',\n '⚽': 'soccer',\n '⚾': 'baseball',\n '🥎': 'softball',\n '🏀': 'basketball',\n '🏐': 'volleyball',\n '🏈': 'football',\n '🏉': 'rugby_football',\n '🎾': 'tennis',\n '🥏': 'flying_disc',\n '🎳': 'bowling',\n '🏏': 'cricket_game',\n '🏑': 'field_hockey',\n '🏒': 'ice_hockey',\n '🥍': 'lacrosse',\n '🏓': 'ping_pong',\n '🏸': 'badminton',\n '🥊': 'boxing_glove',\n '🥋': 'martial_arts_uniform',\n '🥅': 'goal_net',\n '⛳': 'golf',\n '⛸️': 'ice_skate',\n '🎣': 'fishing_pole_and_fish',\n '🤿': 'diving_mask',\n '🎽': 'running_shirt_with_sash',\n '🎿': 'ski',\n '🛷': 'sled',\n '🥌': 'curling_stone',\n '🎯': 'dart',\n '🪀': 'yo_yo',\n '🪁': 'kite',\n '🔫': 'gun',\n '🎱': '8ball',\n '🔮': 'crystal_ball',\n '🪄': 'magic_wand',\n '🎮': 'video_game',\n '🕹️': 'joystick',\n '🎰': 'slot_machine',\n '🎲': 'game_die',\n '🧩': 'jigsaw',\n '🧸': 'teddy_bear',\n '🪅': 'pinata',\n '🪩': 'mirror_ball',\n '🪆': 'nesting_dolls',\n '♠️': 'spades',\n '♥️': 'hearts',\n '♦️': 'diamonds',\n '♣️': 'clubs',\n '♟️': 'chess_pawn',\n '🃏': 'black_joker',\n '🀄': 'mahjong',\n '🎴': 'flower_playing_cards',\n '🎭': 'performing_arts',\n '🖼️': 'framed_picture',\n '🎨': 'art',\n '🧵': 'thread',\n '🪡': 'sewing_needle',\n '🧶': 'yarn',\n '🪢': 'knot',\n '👓': 'eyeglasses',\n '🕶️': 'dark_sunglasses',\n '🥽': 'goggles',\n '🥼': 'lab_coat',\n '🦺': 'safety_vest',\n '👔': 'necktie',\n '👕': 'shirt',\n '👖': 'jeans',\n '🧣': 'scarf',\n '🧤': 'gloves',\n '🧥': 'coat',\n '🧦': 'socks',\n '👗': 'dress',\n '👘': 'kimono',\n '🥻': 'sari',\n '🩱': 'one_piece_swimsuit',\n '🩲': 'swim_brief',\n '🩳': 'shorts',\n '👙': 'bikini',\n '👚': 'womans_clothes',\n '🪭': 'folding_hand_fan',\n '👛': 'purse',\n '👜': 'handbag',\n '👝': 'pouch',\n '🛍️': 'shopping',\n '🎒': 'school_satchel',\n '🩴': 'thong_sandal',\n '👞': 'mans_shoe',\n '👟': 'athletic_shoe',\n '🥾': 'hiking_boot',\n '🥿': 'flat_shoe',\n '👠': 'high_heel',\n '👡': 'sandal',\n '🩰': 'ballet_shoes',\n '👢': 'boot',\n '🪮': 'hair_pick',\n '👑': 'crown',\n '👒': 'womans_hat',\n '🎩': 'tophat',\n '🎓': 'mortar_board',\n '🧢': 'billed_cap',\n '🪖': 'military_helmet',\n '⛑️': 'rescue_worker_helmet',\n '📿': 'prayer_beads',\n '💄': 'lipstick',\n '💍': 'ring',\n '💎': 'gem',\n '🔇': 'mute',\n '🔈': 'speaker',\n '🔉': 'sound',\n '🔊': 'loud_sound',\n '📢': 'loudspeaker',\n '📣': 'mega',\n '📯': 'postal_horn',\n '🔔': 'bell',\n '🔕': 'no_bell',\n '🎼': 'musical_score',\n '🎵': 'musical_note',\n '🎶': 'notes',\n '🎙️': 'studio_microphone',\n '🎚️': 'level_slider',\n '🎛️': 'control_knobs',\n '🎤': 'microphone',\n '🎧': 'headphones',\n '📻': 'radio',\n '🎷': 'saxophone',\n '🪗': 'accordion',\n '🎸': 'guitar',\n '🎹': 'musical_keyboard',\n '🎺': 'trumpet',\n '🎻': 'violin',\n '🪕': 'banjo',\n '🥁': 'drum',\n '🪘': 'long_drum',\n '🪇': 'maracas',\n '🪈': 'flute',\n '📱': 'iphone',\n '📲': 'calling',\n '☎️': 'phone',\n '📞': 'telephone_receiver',\n '📟': 'pager',\n '📠': 'fax',\n '🔋': 'battery',\n '🪫': 'low_battery',\n '🔌': 'electric_plug',\n '💻': 'computer',\n '🖥️': 'desktop_computer',\n '🖨️': 'printer',\n '⌨️': 'keyboard',\n '🖱️': 'computer_mouse',\n '🖲️': 'trackball',\n '💽': 'minidisc',\n '💾': 'floppy_disk',\n '💿': 'cd',\n '📀': 'dvd',\n '🧮': 'abacus',\n '🎥': 'movie_camera',\n '🎞️': 'film_strip',\n '📽️': 'film_projector',\n '🎬': 'clapper',\n '📺': 'tv',\n '📷': 'camera',\n '📸': 'camera_flash',\n '📹': 'video_camera',\n '📼': 'vhs',\n '🔍': 'mag',\n '🔎': 'mag_right',\n '🕯️': 'candle',\n '💡': 'bulb',\n '🔦': 'flashlight',\n '🏮': 'izakaya_lantern',\n '🪔': 'diya_lamp',\n '📔': 'notebook_with_decorative_cover',\n '📕': 'closed_book',\n '📖': 'book',\n '📗': 'green_book',\n '📘': 'blue_book',\n '📙': 'orange_book',\n '📚': 'books',\n '📓': 'notebook',\n '📒': 'ledger',\n '📃': 'page_with_curl',\n '📜': 'scroll',\n '📄': 'page_facing_up',\n '📰': 'newspaper',\n '🗞️': 'newspaper_roll',\n '📑': 'bookmark_tabs',\n '🔖': 'bookmark',\n '🏷️': 'label',\n '💰': 'moneybag',\n '🪙': 'coin',\n '💴': 'yen',\n '💵': 'dollar',\n '💶': 'euro',\n '💷': 'pound',\n '💸': 'money_with_wings',\n '💳': 'credit_card',\n '🧾': 'receipt',\n '💹': 'chart',\n '✉️': 'envelope',\n '📧': 'email',\n '📨': 'incoming_envelope',\n '📩': 'envelope_with_arrow',\n '📤': 'outbox_tray',\n '📥': 'inbox_tray',\n '📦': 'package',\n '📫': 'mailbox',\n '📪': 'mailbox_closed',\n '📬': 'mailbox_with_mail',\n '📭': 'mailbox_with_no_mail',\n '📮': 'postbox',\n '🗳️': 'ballot_box',\n '✏️': 'pencil2',\n '✒️': 'black_nib',\n '🖋️': 'fountain_pen',\n '🖊️': 'pen',\n '🖌️': 'paintbrush',\n '🖍️': 'crayon',\n '📝': 'memo',\n '💼': 'briefcase',\n '📁': 'file_folder',\n '📂': 'open_file_folder',\n '🗂️': 'card_index_dividers',\n '📅': 'date',\n '📆': 'calendar',\n '🗒️': 'spiral_notepad',\n '🗓️': 'spiral_calendar',\n '📇': 'card_index',\n '📈': 'chart_with_upwards_trend',\n '📉': 'chart_with_downwards_trend',\n '📊': 'bar_chart',\n '📋': 'clipboard',\n '📌': 'pushpin',\n '📍': 'round_pushpin',\n '📎': 'paperclip',\n '🖇️': 'paperclips',\n '📏': 'straight_ruler',\n '📐': 'triangular_ruler',\n '✂️': 'scissors',\n '🗃️': 'card_file_box',\n '🗄️': 'file_cabinet',\n '🗑️': 'wastebasket',\n '🔒': 'lock',\n '🔓': 'unlock',\n '🔏': 'lock_with_ink_pen',\n '🔐': 'closed_lock_with_key',\n '🔑': 'key',\n '🗝️': 'old_key',\n '🔨': 'hammer',\n '🪓': 'axe',\n '⛏️': 'pick',\n '⚒️': 'hammer_and_pick',\n '🛠️': 'hammer_and_wrench',\n '🗡️': 'dagger',\n '⚔️': 'crossed_swords',\n '💣': 'bomb',\n '🪃': 'boomerang',\n '🏹': 'bow_and_arrow',\n '🛡️': 'shield',\n '🪚': 'carpentry_saw',\n '🔧': 'wrench',\n '🪛': 'screwdriver',\n '🔩': 'nut_and_bolt',\n '⚙️': 'gear',\n '🗜️': 'clamp',\n '⚖️': 'balance_scale',\n '🦯': 'probing_cane',\n '🔗': 'link',\n '⛓️': 'chains',\n '🪝': 'hook',\n '🧰': 'toolbox',\n '🧲': 'magnet',\n '🪜': 'ladder',\n '⚗️': 'alembic',\n '🧪': 'test_tube',\n '🧫': 'petri_dish',\n '🧬': 'dna',\n '🔬': 'microscope',\n '🔭': 'telescope',\n '📡': 'satellite',\n '💉': 'syringe',\n '🩸': 'drop_of_blood',\n '💊': 'pill',\n '🩹': 'adhesive_bandage',\n '🩼': 'crutch',\n '🩺': 'stethoscope',\n '🩻': 'x_ray',\n '🚪': 'door',\n '🛗': 'elevator',\n '🪞': 'mirror',\n '🪟': 'window',\n '🛏️': 'bed',\n '🛋️': 'couch_and_lamp',\n '🪑': 'chair',\n '🚽': 'toilet',\n '🪠': 'plunger',\n '🚿': 'shower',\n '🛁': 'bathtub',\n '🪤': 'mouse_trap',\n '🪒': 'razor',\n '🧴': 'lotion_bottle',\n '🧷': 'safety_pin',\n '🧹': 'broom',\n '🧺': 'basket',\n '🧻': 'roll_of_paper',\n '🪣': 'bucket',\n '🧼': 'soap',\n '🫧': 'bubbles',\n '🪥': 'toothbrush',\n '🧽': 'sponge',\n '🧯': 'fire_extinguisher',\n '🛒': 'shopping_cart',\n '🚬': 'smoking',\n '⚰️': 'coffin',\n '🪦': 'headstone',\n '⚱️': 'funeral_urn',\n '🧿': 'nazar_amulet',\n '🪬': 'hamsa',\n '🗿': 'moyai',\n '🪧': 'placard',\n '🪪': 'identification_card',\n '🏧': 'atm',\n '🚮': 'put_litter_in_its_place',\n '🚰': 'potable_water',\n '♿': 'wheelchair',\n '🚹': 'mens',\n '🚺': 'womens',\n '🚻': 'restroom',\n '🚼': 'baby_symbol',\n '🚾': 'wc',\n '🛂': 'passport_control',\n '🛃': 'customs',\n '🛄': 'baggage_claim',\n '🛅': 'left_luggage',\n '⚠️': 'warning',\n '🚸': 'children_crossing',\n '⛔': 'no_entry',\n '🚫': 'no_entry_sign',\n '🚳': 'no_bicycles',\n '🚭': 'no_smoking',\n '🚯': 'do_not_litter',\n '🚱': 'non-potable_water',\n '🚷': 'no_pedestrians',\n '📵': 'no_mobile_phones',\n '🔞': 'underage',\n '☢️': 'radioactive',\n '☣️': 'biohazard',\n '⬆️': 'arrow_up',\n '↗️': 'arrow_upper_right',\n '➡️': 'arrow_right',\n '↘️': 'arrow_lower_right',\n '⬇️': 'arrow_down',\n '↙️': 'arrow_lower_left',\n '⬅️': 'arrow_left',\n '↖️': 'arrow_upper_left',\n '↕️': 'arrow_up_down',\n '↔️': 'left_right_arrow',\n '↩️': 'leftwards_arrow_with_hook',\n '↪️': 'arrow_right_hook',\n '⤴️': 'arrow_heading_up',\n '⤵️': 'arrow_heading_down',\n '🔃': 'arrows_clockwise',\n '🔄': 'arrows_counterclockwise',\n '🔙': 'back',\n '🔚': 'end',\n '🔛': 'on',\n '🔜': 'soon',\n '🔝': 'top',\n '🛐': 'place_of_worship',\n '⚛️': 'atom_symbol',\n '🕉️': 'om',\n '✡️': 'star_of_david',\n '☸️': 'wheel_of_dharma',\n '☯️': 'yin_yang',\n '✝️': 'latin_cross',\n '☦️': 'orthodox_cross',\n '☪️': 'star_and_crescent',\n '☮️': 'peace_symbol',\n '🕎': 'menorah',\n '🔯': 'six_pointed_star',\n '🪯': 'khanda',\n '♈': 'aries',\n '♉': 'taurus',\n '♊': 'gemini',\n '♋': 'cancer',\n '♌': 'leo',\n '♍': 'virgo',\n '♎': 'libra',\n '♏': 'scorpius',\n '♐': 'sagittarius',\n '♑': 'capricorn',\n '♒': 'aquarius',\n '♓': 'pisces',\n '⛎': 'ophiuchus',\n '🔀': 'twisted_rightwards_arrows',\n '🔁': 'repeat',\n '🔂': 'repeat_one',\n '▶️': 'arrow_forward',\n '⏩': 'fast_forward',\n '⏭️': 'next_track_button',\n '⏯️': 'play_or_pause_button',\n '◀️': 'arrow_backward',\n '⏪': 'rewind',\n '⏮️': 'previous_track_button',\n '🔼': 'arrow_up_small',\n '⏫': 'arrow_double_up',\n '🔽': 'arrow_down_small',\n '⏬': 'arrow_double_down',\n '⏸️': 'pause_button',\n '⏹️': 'stop_button',\n '⏺️': 'record_button',\n '⏏️': 'eject_button',\n '🎦': 'cinema',\n '🔅': 'low_brightness',\n '🔆': 'high_brightness',\n '📶': 'signal_strength',\n '🛜': 'wireless',\n '📳': 'vibration_mode',\n '📴': 'mobile_phone_off',\n '♀️': 'female_sign',\n '♂️': 'male_sign',\n '⚧️': 'transgender_symbol',\n '✖️': 'heavy_multiplication_x',\n '➕': 'heavy_plus_sign',\n '➖': 'heavy_minus_sign',\n '➗': 'heavy_division_sign',\n '🟰': 'heavy_equals_sign',\n '♾️': 'infinity',\n '‼️': 'bangbang',\n '⁉️': 'interrobang',\n '❓': 'question',\n '❔': 'grey_question',\n '❕': 'grey_exclamation',\n '❗': 'exclamation',\n '〰️': 'wavy_dash',\n '💱': 'currency_exchange',\n '💲': 'heavy_dollar_sign',\n '⚕️': 'medical_symbol',\n '♻️': 'recycle',\n '⚜️': 'fleur_de_lis',\n '🔱': 'trident',\n '📛': 'name_badge',\n '🔰': 'beginner',\n '⭕': 'o',\n '✅': 'white_check_mark',\n '☑️': 'ballot_box_with_check',\n '✔️': 'heavy_check_mark',\n '❌': 'x',\n '❎': 'negative_squared_cross_mark',\n '➰': 'curly_loop',\n '➿': 'loop',\n '〽️': 'part_alternation_mark',\n '✳️': 'eight_spoked_asterisk',\n '✴️': 'eight_pointed_black_star',\n '❇️': 'sparkle',\n '©️': 'copyright',\n '®️': 'registered',\n '™️': 'tm',\n '#️⃣': 'hash',\n '*️⃣': 'asterisk',\n '0️⃣': 'zero',\n '1️⃣': 'one',\n '2️⃣': 'two',\n '3️⃣': 'three',\n '4️⃣': 'four',\n '5️⃣': 'five',\n '6️⃣': 'six',\n '7️⃣': 'seven',\n '8️⃣': 'eight',\n '9️⃣': 'nine',\n '🔟': 'keycap_ten',\n '🔠': 'capital_abcd',\n '🔡': 'abcd',\n '🔢': '1234',\n '🔣': 'symbols',\n '🔤': 'abc',\n '🅰️': 'a',\n '🆎': 'ab',\n '🅱️': 'b',\n '🆑': 'cl',\n '🆒': 'cool',\n '🆓': 'free',\n ℹ️: 'information_source',\n '🆔': 'id',\n 'Ⓜ️': 'm',\n '🆕': 'new',\n '🆖': 'ng',\n '🅾️': 'o2',\n '🆗': 'ok',\n '🅿️': 'parking',\n '🆘': 'sos',\n '🆙': 'up',\n '🆚': 'vs',\n '🈁': 'koko',\n '🈂️': 'sa',\n '🈷️': 'u6708',\n '🈶': 'u6709',\n '🈯': 'u6307',\n '🉐': 'ideograph_advantage',\n '🈹': 'u5272',\n '🈚': 'u7121',\n '🈲': 'u7981',\n '🉑': 'accept',\n '🈸': 'u7533',\n '🈴': 'u5408',\n '🈳': 'u7a7a',\n '㊗️': 'congratulations',\n '㊙️': 'secret',\n '🈺': 'u55b6',\n '🈵': 'u6e80',\n '🔴': 'red_circle',\n '🟠': 'orange_circle',\n '🟡': 'yellow_circle',\n '🟢': 'green_circle',\n '🔵': 'large_blue_circle',\n '🟣': 'purple_circle',\n '🟤': 'brown_circle',\n '⚫': 'black_circle',\n '⚪': 'white_circle',\n '🟥': 'red_square',\n '🟧': 'orange_square',\n '🟨': 'yellow_square',\n '🟩': 'green_square',\n '🟦': 'blue_square',\n '🟪': 'purple_square',\n '🟫': 'brown_square',\n '⬛': 'black_large_square',\n '⬜': 'white_large_square',\n '◼️': 'black_medium_square',\n '◻️': 'white_medium_square',\n '◾': 'black_medium_small_square',\n '◽': 'white_medium_small_square',\n '▪️': 'black_small_square',\n '▫️': 'white_small_square',\n '🔶': 'large_orange_diamond',\n '🔷': 'large_blue_diamond',\n '🔸': 'small_orange_diamond',\n '🔹': 'small_blue_diamond',\n '🔺': 'small_red_triangle',\n '🔻': 'small_red_triangle_down',\n '💠': 'diamond_shape_with_a_dot_inside',\n '🔘': 'radio_button',\n '🔳': 'white_square_button',\n '🔲': 'black_square_button',\n '🏁': 'checkered_flag',\n '🚩': 'triangular_flag_on_post',\n '🎌': 'crossed_flags',\n '🏴': 'black_flag',\n '🏳️': 'white_flag',\n '🏳️‍🌈': 'rainbow_flag',\n '🏳️‍⚧️': 'transgender_flag',\n '🏴‍☠️': 'pirate_flag',\n '🇦🇨': 'ascension_island',\n '🇦🇩': 'andorra',\n '🇦🇪': 'united_arab_emirates',\n '🇦🇫': 'afghanistan',\n '🇦🇬': 'antigua_barbuda',\n '🇦🇮': 'anguilla',\n '🇦🇱': 'albania',\n '🇦🇲': 'armenia',\n '🇦🇴': 'angola',\n '🇦🇶': 'antarctica',\n '🇦🇷': 'argentina',\n '🇦🇸': 'american_samoa',\n '🇦🇹': 'austria',\n '🇦🇺': 'australia',\n '🇦🇼': 'aruba',\n '🇦🇽': 'aland_islands',\n '🇦🇿': 'azerbaijan',\n '🇧🇦': 'bosnia_herzegovina',\n '🇧🇧': 'barbados',\n '🇧🇩': 'bangladesh',\n '🇧🇪': 'belgium',\n '🇧🇫': 'burkina_faso',\n '🇧🇬': 'bulgaria',\n '🇧🇭': 'bahrain',\n '🇧🇮': 'burundi',\n '🇧🇯': 'benin',\n '🇧🇱': 'st_barthelemy',\n '🇧🇲': 'bermuda',\n '🇧🇳': 'brunei',\n '🇧🇴': 'bolivia',\n '🇧🇶': 'caribbean_netherlands',\n '🇧🇷': 'brazil',\n '🇧🇸': 'bahamas',\n '🇧🇹': 'bhutan',\n '🇧🇻': 'bouvet_island',\n '🇧🇼': 'botswana',\n '🇧🇾': 'belarus',\n '🇧🇿': 'belize',\n '🇨🇦': 'canada',\n '🇨🇨': 'cocos_islands',\n '🇨🇩': 'congo_kinshasa',\n '🇨🇫': 'central_african_republic',\n '🇨🇬': 'congo_brazzaville',\n '🇨🇭': 'switzerland',\n '🇨🇮': 'cote_divoire',\n '🇨🇰': 'cook_islands',\n '🇨🇱': 'chile',\n '🇨🇲': 'cameroon',\n '🇨🇳': 'cn',\n '🇨🇴': 'colombia',\n '🇨🇵': 'clipperton_island',\n '🇨🇷': 'costa_rica',\n '🇨🇺': 'cuba',\n '🇨🇻': 'cape_verde',\n '🇨🇼': 'curacao',\n '🇨🇽': 'christmas_island',\n '🇨🇾': 'cyprus',\n '🇨🇿': 'czech_republic',\n '🇩🇪': 'de',\n '🇩🇬': 'diego_garcia',\n '🇩🇯': 'djibouti',\n '🇩🇰': 'denmark',\n '🇩🇲': 'dominica',\n '🇩🇴': 'dominican_republic',\n '🇩🇿': 'algeria',\n '🇪🇦': 'ceuta_melilla',\n '🇪🇨': 'ecuador',\n '🇪🇪': 'estonia',\n '🇪🇬': 'egypt',\n '🇪🇭': 'western_sahara',\n '🇪🇷': 'eritrea',\n '🇪🇸': 'es',\n '🇪🇹': 'ethiopia',\n '🇪🇺': 'eu',\n '🇫🇮': 'finland',\n '🇫🇯': 'fiji',\n '🇫🇰': 'falkland_islands',\n '🇫🇲': 'micronesia',\n '🇫🇴': 'faroe_islands',\n '🇫🇷': 'fr',\n '🇬🇦': 'gabon',\n '🇬🇧': 'gb',\n '🇬🇩': 'grenada',\n '🇬🇪': 'georgia',\n '🇬🇫': 'french_guiana',\n '🇬🇬': 'guernsey',\n '🇬🇭': 'ghana',\n '🇬🇮': 'gibraltar',\n '🇬🇱': 'greenland',\n '🇬🇲': 'gambia',\n '🇬🇳': 'guinea',\n '🇬🇵': 'guadeloupe',\n '🇬🇶': 'equatorial_guinea',\n '🇬🇷': 'greece',\n '🇬🇸': 'south_georgia_south_sandwich_islands',\n '🇬🇹': 'guatemala',\n '🇬🇺': 'guam',\n '🇬🇼': 'guinea_bissau',\n '🇬🇾': 'guyana',\n '🇭🇰': 'hong_kong',\n '🇭🇲': 'heard_mcdonald_islands',\n '🇭🇳': 'honduras',\n '🇭🇷': 'croatia',\n '🇭🇹': 'haiti',\n '🇭🇺': 'hungary',\n '🇮🇨': 'canary_islands',\n '🇮🇩': 'indonesia',\n '🇮🇪': 'ireland',\n '🇮🇱': 'israel',\n '🇮🇲': 'isle_of_man',\n '🇮🇳': 'india',\n '🇮🇴': 'british_indian_ocean_territory',\n '🇮🇶': 'iraq',\n '🇮🇷': 'iran',\n '🇮🇸': 'iceland',\n '🇮🇹': 'it',\n '🇯🇪': 'jersey',\n '🇯🇲': 'jamaica',\n '🇯🇴': 'jordan',\n '🇯🇵': 'jp',\n '🇰🇪': 'kenya',\n '🇰🇬': 'kyrgyzstan',\n '🇰🇭': 'cambodia',\n '🇰🇮': 'kiribati',\n '🇰🇲': 'comoros',\n '🇰🇳': 'st_kitts_nevis',\n '🇰🇵': 'north_korea',\n '🇰🇷': 'kr',\n '🇰🇼': 'kuwait',\n '🇰🇾': 'cayman_islands',\n '🇰🇿': 'kazakhstan',\n '🇱🇦': 'laos',\n '🇱🇧': 'lebanon',\n '🇱🇨': 'st_lucia',\n '🇱🇮': 'liechtenstein',\n '🇱🇰': 'sri_lanka',\n '🇱🇷': 'liberia',\n '🇱🇸': 'lesotho',\n '🇱🇹': 'lithuania',\n '🇱🇺': 'luxembourg',\n '🇱🇻': 'latvia',\n '🇱🇾': 'libya',\n '🇲🇦': 'morocco',\n '🇲🇨': 'monaco',\n '🇲🇩': 'moldova',\n '🇲🇪': 'montenegro',\n '🇲🇫': 'st_martin',\n '🇲🇬': 'madagascar',\n '🇲🇭': 'marshall_islands',\n '🇲🇰': 'macedonia',\n '🇲🇱': 'mali',\n '🇲🇲': 'myanmar',\n '🇲🇳': 'mongolia',\n '🇲🇴': 'macau',\n '🇲🇵': 'northern_mariana_islands',\n '🇲🇶': 'martinique',\n '🇲🇷': 'mauritania',\n '🇲🇸': 'montserrat',\n '🇲🇹': 'malta',\n '🇲🇺': 'mauritius',\n '🇲🇻': 'maldives',\n '🇲🇼': 'malawi',\n '🇲🇽': 'mexico',\n '🇲🇾': 'malaysia',\n '🇲🇿': 'mozambique',\n '🇳🇦': 'namibia',\n '🇳🇨': 'new_caledonia',\n '🇳🇪': 'niger',\n '🇳🇫': 'norfolk_island',\n '🇳🇬': 'nigeria',\n '🇳🇮': 'nicaragua',\n '🇳🇱': 'netherlands',\n '🇳🇴': 'norway',\n '🇳🇵': 'nepal',\n '🇳🇷': 'nauru',\n '🇳🇺': 'niue',\n '🇳🇿': 'new_zealand',\n '🇴🇲': 'oman',\n '🇵🇦': 'panama',\n '🇵🇪': 'peru',\n '🇵🇫': 'french_polynesia',\n '🇵🇬': 'papua_new_guinea',\n '🇵🇭': 'philippines',\n '🇵🇰': 'pakistan',\n '🇵🇱': 'poland',\n '🇵🇲': 'st_pierre_miquelon',\n '🇵🇳': 'pitcairn_islands',\n '🇵🇷': 'puerto_rico',\n '🇵🇸': 'palestinian_territories',\n '🇵🇹': 'portugal',\n '🇵🇼': 'palau',\n '🇵🇾': 'paraguay',\n '🇶🇦': 'qatar',\n '🇷🇪': 'reunion',\n '🇷🇴': 'romania',\n '🇷🇸': 'serbia',\n '🇷🇺': 'ru',\n '🇷🇼': 'rwanda',\n '🇸🇦': 'saudi_arabia',\n '🇸🇧': 'solomon_islands',\n '🇸🇨': 'seychelles',\n '🇸🇩': 'sudan',\n '🇸🇪': 'sweden',\n '🇸🇬': 'singapore',\n '🇸🇭': 'st_helena',\n '🇸🇮': 'slovenia',\n '🇸🇯': 'svalbard_jan_mayen',\n '🇸🇰': 'slovakia',\n '🇸🇱': 'sierra_leone',\n '🇸🇲': 'san_marino',\n '🇸🇳': 'senegal',\n '🇸🇴': 'somalia',\n '🇸🇷': 'suriname',\n '🇸🇸': 'south_sudan',\n '🇸🇹': 'sao_tome_principe',\n '🇸🇻': 'el_salvador',\n '🇸🇽': 'sint_maarten',\n '🇸🇾': 'syria',\n '🇸🇿': 'swaziland',\n '🇹🇦': 'tristan_da_cunha',\n '🇹🇨': 'turks_caicos_islands',\n '🇹🇩': 'chad',\n '🇹🇫': 'french_southern_territories',\n '🇹🇬': 'togo',\n '🇹🇭': 'thailand',\n '🇹🇯': 'tajikistan',\n '🇹🇰': 'tokelau',\n '🇹🇱': 'timor_leste',\n '🇹🇲': 'turkmenistan',\n '🇹🇳': 'tunisia',\n '🇹🇴': 'tonga',\n '🇹🇷': 'tr',\n '🇹🇹': 'trinidad_tobago',\n '🇹🇻': 'tuvalu',\n '🇹🇼': 'taiwan',\n '🇹🇿': 'tanzania',\n '🇺🇦': 'ukraine',\n '🇺🇬': 'uganda',\n '🇺🇲': 'us_outlying_islands',\n '🇺🇳': 'united_nations',\n '🇺🇸': 'us',\n '🇺🇾': 'uruguay',\n '🇺🇿': 'uzbekistan',\n '🇻🇦': 'vatican_city',\n '🇻🇨': 'st_vincent_grenadines',\n '🇻🇪': 'venezuela',\n '🇻🇬': 'british_virgin_islands',\n '🇻🇮': 'us_virgin_islands',\n '🇻🇳': 'vietnam',\n '🇻🇺': 'vanuatu',\n '🇼🇫': 'wallis_futuna',\n '🇼🇸': 'samoa',\n '🇽🇰': 'kosovo',\n '🇾🇪': 'yemen',\n '🇾🇹': 'mayotte',\n '🇿🇦': 'south_africa',\n '🇿🇲': 'zambia',\n '🇿🇼': 'zimbabwe',\n '🏴󠁧󠁢󠁥󠁮󠁧󠁿': 'england',\n '🏴󠁧󠁢󠁳󠁣󠁴󠁿': 'scotland',\n '🏴󠁧󠁢󠁷󠁬󠁳󠁿': 'wales'\n}\n","<template>\n <button v-if=\"!isOpen\" class=\"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3\" title=\"Choose an emoji\" @click=\"isOpen = true\"><i class=\"fa fa-smile-o\" aria-hidden=\"true\" /></button>\n <aside v-else class=\"emojiPicker px-0\">\n <o-tabs>\n <o-tab-item v-for=\"category in categories\" :key=\"category\" :label=\"category\" class=\"is-full-height mb-5\">\n <div class=\"is-flex is-flex-wrap-wrap is-align-content-flex-start is-full-height-scrollable\">\n <a v-for=\"emoji in getEmojiByCategory(category)\" :key=\"emoji.emoji\" href=\"#\" :title=\"emoji.description\" class=\"emoji is-size-5 p-1\" @click.prevent=\"sendEmojiPicked(emoji)\">{{ emoji.emoji }}</a>\n </div>\n </o-tab-item>\n </o-tabs>\n </aside>\n</template>\n\n<script>\nimport { gemoji } from 'gemoji'\n\nexport default {\n name: 'EmojiPicker',\n emits: [\n 'emoji-picked',\n ],\n data () {\n return {\n isOpen: false,\n activeCategory: '',\n }\n },\n computed: {\n categories () {\n return gemoji.reduce(function (acc, emoji) {\n if (!acc.includes(emoji.category)) {\n acc.push(emoji.category)\n }\n return acc\n }, [])\n },\n },\n created () {\n document.addEventListener('keyup', this.keyUp)\n },\n beforeUnmount () {\n document.removeEventListener('keyup', this.keyUp)\n },\n methods: {\n getEmojiByCategory (category) {\n return gemoji\n .filter((emoji) => emoji.category === category)\n },\n sendEmojiPicked (emoji) {\n this.$emit('emoji-picked', emoji.emoji)\n this.isOpen = false\n },\n keyUp ({ key }) {\n if (this.isOpen && (key === 'Escape' || key === 'Esc')) {\n this.isOpen = false\n }\n },\n },\n}\n</script>\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/**\n * filesize\n *\n * @copyright 2024 Jason Mulligan <jason.mulligan@avoidwork.com>\n * @license BSD-3-Clause\n * @version 10.1.2\n */\nconst ARRAY = \"array\";\r\nconst BIT = \"bit\";\r\nconst BITS = \"bits\";\r\nconst BYTE = \"byte\";\r\nconst BYTES = \"bytes\";\r\nconst EMPTY = \"\";\r\nconst EXPONENT = \"exponent\";\r\nconst FUNCTION = \"function\";\r\nconst IEC = \"iec\";\r\nconst INVALID_NUMBER = \"Invalid number\";\r\nconst INVALID_ROUND = \"Invalid rounding method\";\r\nconst JEDEC = \"jedec\";\r\nconst OBJECT = \"object\";\r\nconst PERIOD = \".\";\r\nconst ROUND = \"round\";\r\nconst S = \"s\";\r\nconst SI = \"si\";\r\nconst SI_KBIT = \"kbit\";\r\nconst SI_KBYTE = \"kB\";\r\nconst SPACE = \" \";\r\nconst STRING = \"string\";\r\nconst ZERO = \"0\";\r\nconst STRINGS = {\r\n\tsymbol: {\r\n\t\tiec: {\r\n\t\t\tbits: [\"bit\", \"Kibit\", \"Mibit\", \"Gibit\", \"Tibit\", \"Pibit\", \"Eibit\", \"Zibit\", \"Yibit\"],\r\n\t\t\tbytes: [\"B\", \"KiB\", \"MiB\", \"GiB\", \"TiB\", \"PiB\", \"EiB\", \"ZiB\", \"YiB\"]\r\n\t\t},\r\n\t\tjedec: {\r\n\t\t\tbits: [\"bit\", \"Kbit\", \"Mbit\", \"Gbit\", \"Tbit\", \"Pbit\", \"Ebit\", \"Zbit\", \"Ybit\"],\r\n\t\t\tbytes: [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"]\r\n\t\t}\r\n\t},\r\n\tfullform: {\r\n\t\tiec: [\"\", \"kibi\", \"mebi\", \"gibi\", \"tebi\", \"pebi\", \"exbi\", \"zebi\", \"yobi\"],\r\n\t\tjedec: [\"\", \"kilo\", \"mega\", \"giga\", \"tera\", \"peta\", \"exa\", \"zetta\", \"yotta\"]\r\n\t}\r\n};function filesize (arg, {\r\n\tbits = false,\r\n\tpad = false,\r\n\tbase = -1,\r\n\tround = 2,\r\n\tlocale = EMPTY,\r\n\tlocaleOptions = {},\r\n\tseparator = EMPTY,\r\n\tspacer = SPACE,\r\n\tsymbols = {},\r\n\tstandard = EMPTY,\r\n\toutput = STRING,\r\n\tfullform = false,\r\n\tfullforms = [],\r\n\texponent = -1,\r\n\troundingMethod = ROUND,\r\n\tprecision = 0\r\n} = {}) {\r\n\tlet e = exponent,\r\n\t\tnum = Number(arg),\r\n\t\tresult = [],\r\n\t\tval = 0,\r\n\t\tu = EMPTY;\r\n\r\n\t// Sync base & standard\r\n\tif (standard === SI) {\r\n\t\tbase = 10;\r\n\t\tstandard = JEDEC;\r\n\t} else if (standard === IEC || standard === JEDEC) {\r\n\t\tbase = 2;\r\n\t} else if (base === 2) {\r\n\t\tstandard = IEC;\r\n\t} else {\r\n\t\tbase = 10;\r\n\t\tstandard = JEDEC;\r\n\t}\r\n\r\n\tconst ceil = base === 10 ? 1000 : 1024,\r\n\t\tfull = fullform === true,\r\n\t\tneg = num < 0,\r\n\t\troundingFunc = Math[roundingMethod];\r\n\r\n\tif (typeof arg !== \"bigint\" && isNaN(arg)) {\r\n\t\tthrow new TypeError(INVALID_NUMBER);\r\n\t}\r\n\r\n\tif (typeof roundingFunc !== FUNCTION) {\r\n\t\tthrow new TypeError(INVALID_ROUND);\r\n\t}\r\n\r\n\t// Flipping a negative number to determine the size\r\n\tif (neg) {\r\n\t\tnum = -num;\r\n\t}\r\n\r\n\t// Determining the exponent\r\n\tif (e === -1 || isNaN(e)) {\r\n\t\te = Math.floor(Math.log(num) / Math.log(ceil));\r\n\r\n\t\tif (e < 0) {\r\n\t\t\te = 0;\r\n\t\t}\r\n\t}\r\n\r\n\t// Exceeding supported length, time to reduce & multiply\r\n\tif (e > 8) {\r\n\t\tif (precision > 0) {\r\n\t\t\tprecision += 8 - e;\r\n\t\t}\r\n\r\n\t\te = 8;\r\n\t}\r\n\r\n\tif (output === EXPONENT) {\r\n\t\treturn e;\r\n\t}\r\n\r\n\t// Zero is now a special case because bytes divide by 1\r\n\tif (num === 0) {\r\n\t\tresult[0] = 0;\r\n\t\tu = result[1] = STRINGS.symbol[standard][bits ? BITS : BYTES][e];\r\n\t} else {\r\n\t\tval = num / (base === 2 ? Math.pow(2, e * 10) : Math.pow(1000, e));\r\n\r\n\t\tif (bits) {\r\n\t\t\tval = val * 8;\r\n\r\n\t\t\tif (val >= ceil && e < 8) {\r\n\t\t\t\tval = val / ceil;\r\n\t\t\t\te++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst p = Math.pow(10, e > 0 ? round : 0);\r\n\t\tresult[0] = roundingFunc(val * p) / p;\r\n\r\n\t\tif (result[0] === ceil && e < 8 && exponent === -1) {\r\n\t\t\tresult[0] = 1;\r\n\t\t\te++;\r\n\t\t}\r\n\r\n\t\tu = result[1] = base === 10 && e === 1 ? bits ? SI_KBIT : SI_KBYTE : STRINGS.symbol[standard][bits ? BITS : BYTES][e];\r\n\t}\r\n\r\n\t// Decorating a 'diff'\r\n\tif (neg) {\r\n\t\tresult[0] = -result[0];\r\n\t}\r\n\r\n\t// Setting optional precision\r\n\tif (precision > 0) {\r\n\t\tresult[0] = result[0].toPrecision(precision);\r\n\t}\r\n\r\n\t// Applying custom symbol\r\n\tresult[1] = symbols[result[1]] || result[1];\r\n\r\n\tif (locale === true) {\r\n\t\tresult[0] = result[0].toLocaleString();\r\n\t} else if (locale.length > 0) {\r\n\t\tresult[0] = result[0].toLocaleString(locale, localeOptions);\r\n\t} else if (separator.length > 0) {\r\n\t\tresult[0] = result[0].toString().replace(PERIOD, separator);\r\n\t}\r\n\r\n\tif (pad && Number.isInteger(result[0]) === false && round > 0) {\r\n\t\tconst x = separator || PERIOD,\r\n\t\t\ttmp = result[0].toString().split(x),\r\n\t\t\ts = tmp[1] || EMPTY,\r\n\t\t\tl = s.length,\r\n\t\t\tn = round - l;\r\n\r\n\t\tresult[0] = `${tmp[0]}${x}${s.padEnd(l + n, ZERO)}`;\r\n\t}\r\n\r\n\tif (full) {\r\n\t\tresult[1] = fullforms[e] ? fullforms[e] : STRINGS.fullform[standard][e] + (bits ? BIT : BYTE) + (result[0] === 1 ? EMPTY : S);\r\n\t}\r\n\r\n\t// Returning Array, Object, or String (default)\r\n\treturn output === ARRAY ? result : output === OBJECT ? {\r\n\t\tvalue: result[0],\r\n\t\tsymbol: result[1],\r\n\t\texponent: e,\r\n\t\tunit: u\r\n\t} : result.join(spacer);\r\n}\r\n\r\n// Partial application for functional programming\r\nfunction partial ({\r\n\tbits = false,\r\n\tpad = false,\r\n\tbase = -1,\r\n\tround = 2,\r\n\tlocale = EMPTY,\r\n\tlocaleOptions = {},\r\n\tseparator = EMPTY,\r\n\tspacer = SPACE,\r\n\tsymbols = {},\r\n\tstandard = EMPTY,\r\n\toutput = STRING,\r\n\tfullform = false,\r\n\tfullforms = [],\r\n\texponent = -1,\r\n\troundingMethod = ROUND,\r\n\tprecision = 0\r\n} = {}) {\r\n\treturn arg => filesize(arg, {\r\n\t\tbits,\r\n\t\tpad,\r\n\t\tbase,\r\n\t\tround,\r\n\t\tlocale,\r\n\t\tlocaleOptions,\r\n\t\tseparator,\r\n\t\tspacer,\r\n\t\tsymbols,\r\n\t\tstandard,\r\n\t\toutput,\r\n\t\tfullform,\r\n\t\tfullforms,\r\n\t\texponent,\r\n\t\troundingMethod,\r\n\t\tprecision\r\n\t});\r\n}export{filesize,partial};","<template>\n <div class=\"sendbox has-border-top-shade-3\">\n <form @submit.prevent=\"sendMessage\">\n <div class=\"field is-flex is-align-items-center mr-3\">\n <div class=\"control is-flex-grow-1\">\n <textarea v-model=\"composingMessage\" class=\"textarea has-background-shade-4 is-shadowless has-placeholder-shade-1\" :placeholder=\"!file? 'Send message' : ''\" rows=\"2\" :disabled=\"fileThumbnail || fileIcon\" @keydown.ctrl.enter=\"sendMessage\" @keydown.exact.enter=\"handleEnterKey\" @input=\"onInput\" />\n <div v-if=\"fileThumbnail || fileIcon\" class=\"thumbnail-container\">\n <img v-if=\"fileThumbnail\" :src=\"fileThumbnail\" class=\"thumbnail\">\n <i v-if=\"fileIcon\" class=\"fa fa-2x\" :class=\"fileIcon\" />\n <button class=\"delete has-background-grey-light\" title=\"Remove file\" @click=\"removeFile\" />\n </div>\n </div>\n <emoji-picker @emoji-picked=\"addEmoji\" />\n <button v-if=\"composingMessage || file || !httpFileUploadMaxSize\" type=\"submit\" class=\"button is-size-4 is-primary-ghost has-no-border is-shadowless px-3\" title=\"Send message\"><i class=\"fa fa-paper-plane\" aria-hidden=\"true\" /></button>\n <div v-else class=\"file has-no-border is-size-4\" title=\"Send a file\">\n <label class=\"file-label\">\n <input class=\"file-input\" type=\"file\" name=\"resume\" @change=\"onFileChange\">\n <span class=\"file-cta is-primary-ghost has-no-border is-size-4 px-3\">\n <span class=\"file-icon mr-0\">\n <i class=\"fa fa-paperclip is-primary-ghost is-size-4\" />\n </span>\n </span>\n </label>\n </div>\n </div>\n </form>\n </div>\n</template>\n\n<script>\nimport EmojiPicker from '../components/EmojiPicker.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport axios from 'axios'\nimport { filesize } from 'filesize'\n\nexport default {\n name: 'Sendbox',\n components: {\n EmojiPicker,\n },\n props: {\n isRoom: {\n type: Boolean,\n default: false,\n },\n },\n data () {\n return {\n composingMessage: '',\n file: null,\n fileThumbnail: null,\n fileIcon: null,\n chatState: null,\n pauseTimeoutId: null,\n }\n },\n computed: {\n userJid () {\n return this.$xmpp.fullJid\n },\n ...mapState(useStore, [\n 'activeChat',\n 'httpFileUploadMaxSize',\n 'isSendingTypingChatStates',\n ]),\n },\n methods: {\n async handleEnterKey (event) {\n if (window.config.hasSendingEnterKey) {\n await this.sendMessage()\n event.preventDefault()\n }\n },\n // send message\n async sendMessage () {\n try {\n if (this.file) {\n await this.postFile(this.file)\n return\n }\n if (this.composingMessage.trim() === '') {\n // do not send empty messages\n return\n }\n await this.$xmpp.sendMessage(this.activeChat, this.composingMessage, this.isRoom)\n this.composingMessage = ''\n } catch (error) {\n console.error('send error', error)\n }\n },\n async onInput () {\n if (!this.isSendingTypingChatStates) {\n // the user has opted out\n return\n }\n clearTimeout(this.pauseTimeoutId)\n if (this.composingMessage) {\n // prepare to go to paused after 15 seconds\n this.pauseTimeoutId = setTimeout(async () => {\n if (!this.userJid) {\n return\n }\n this.chatState = 'paused'\n try {\n await this.$xmpp.sendChatState(this.activeChat, this.isRoom, this.chatState)\n } catch (error) {\n console.warn(`Can not send state chat (${error.message}), are you still connected?`)\n }\n }, 15000)\n if (this.chatState === 'composing') {\n // do not send composing chat state if already done\n return\n }\n // user has started to typing something\n this.chatState = 'composing'\n } else {\n // user is not typing anything (or clear composing) but is active on chat\n this.chatState = 'active'\n }\n await this.$xmpp.sendChatState(this.activeChat, this.isRoom, this.chatState)\n },\n onFileChange (e) {\n const files = e.target.files || e.dataTransfer.files\n if (!files.length) {\n return\n }\n this.file = files[0]\n // check file size\n if (this.file.size > this.httpFileUploadMaxSize) {\n alert(`File is too big (${filesize(this.file.size)}, max is ${filesize(this.httpFileUploadMaxSize)})`)\n return\n }\n // handle thumbnail\n if (this.file.type.startsWith('image/')) {\n const reader = new FileReader()\n const vm = this\n reader.onload = (e) => {\n vm.fileThumbnail = e.target.result\n }\n reader.readAsDataURL(this.file)\n } else if (this.file.type.startsWith('audio/')) {\n this.fileIcon = 'fa-file-audio-o'\n } else if (this.file.type.startsWith('video/')) {\n this.fileIcon = 'fa-file-video-o'\n } else if (this.file.type.includes('pdf')) {\n this.fileIcon = 'fa-file-pdf-o'\n } else {\n this.fileIcon = 'fa-file-o'\n }\n },\n async postFile (file) {\n try {\n // reserve slot\n const httpUploadSlotResult = await this.$xmpp.getUploadSlot(null, {\n filename: file.name,\n size: file.size,\n 'content-type': file.type,\n })\n // upload file on returned slot\n await axios.put(httpUploadSlotResult.upload.url, file, {\n headers: {\n 'Content-Type': file.type,\n },\n })\n // upload is ok, send message\n await this.$xmpp.sendUrl(this.activeChat, httpUploadSlotResult.download, this.isRoom)\n this.file = null\n this.fileThumbnail = null\n this.fileIcon = null\n } catch (error) {\n console.error('httpUpload', error)\n }\n },\n removeFile () {\n this.file = null\n this.fileThumbnail = null\n this.fileIcon = null\n },\n addEmoji (emoji) {\n this.composingMessage += emoji\n },\n },\n}\n</script>\n","<template>\n <span>\n <span class=\"fa-stack\">\n <i class=\"fa fa-circle fa-stack-2x\" :class=\"backgroundClass\" />\n <i class=\"fa fa-stack-1x fa-inverse fa-fw\" :class=\"iconClass\" />\n </span>\n <span v-if=\"displayLabel\" class=\"ml-3\">{{ text }}</span>\n </span>\n</template>\n\n<script>\nexport default {\n name: 'Presence',\n props: {\n presence: {\n type: String,\n required: true,\n },\n displayLabel: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n backgroundClass () {\n switch (this.presence) {\n case 'dnd':\n return 'has-text-danger'\n case 'away':\n case 'xa':\n return 'has-text-warning'\n case 'off':\n return 'has-text-grey-light'\n default:\n return 'has-text-success'\n }\n },\n iconClass () {\n switch (this.presence) {\n case 'dnd':\n return 'fa-ban'\n case 'away':\n case 'xa':\n return 'fa-moon'\n case 'off':\n return 'fa-exclamation'\n default:\n return 'fa-comments-o'\n }\n },\n text () {\n switch (this.presence) {\n case 'dnd':\n return 'Do not disturb'\n case 'away':\n case 'xa':\n return 'Away'\n case 'off':\n return 'Disconnected'\n default:\n return 'Available'\n }\n },\n },\n}\n</script>\n","<template>\n <div v-if=\"isNotificationsSupported\">\n <o-switch v-model=\"hasNotificationsEnabledSwitch\" title=\"Allow the browser to send you notifications when you miss messages\" class=\"has-no-wrap\"><span class=\"icon mr-1\"><i class=\"fa fa-bell-ringing fa-fw\" aria-hidden=\"true\" /></span>Notifications</o-switch>\n </div>\n</template>\n\n<script>\nimport { mapState, mapActions } from 'pinia'\nimport { useStore } from '@/store'\nimport { useWebNotification } from '@vueuse/core'\n\nconst lsNotificationKey = 'hasNotificationsEnabled'\n\nexport default {\n name: 'NotificationsSwitch',\n setup() {\n const { isSupported } = useWebNotification()\n return { isNotificationsSupported: isSupported }\n },\n computed: {\n ...mapState(useStore, [\n 'hasNotificationsEnabled',\n ]),\n hasNotificationsEnabledSwitch: {\n get() {\n return this.hasNotificationsEnabled\n },\n set(hasNotificationsEnabled) {\n if (hasNotificationsEnabled) {\n localStorage.setItem(lsNotificationKey, hasNotificationsEnabled)\n } else {\n localStorage.removeItem(lsNotificationKey)\n }\n this.setNotificationStatus(hasNotificationsEnabled)\n },\n },\n },\n mounted () {\n const hasNotificationsEnabled = localStorage.getItem(lsNotificationKey)\n if (hasNotificationsEnabled) {\n this.setNotificationStatus(hasNotificationsEnabled)\n }\n },\n methods: {\n ...mapActions(useStore, ['setNotificationStatus']),\n },\n}\n</script>\n","<template>\n <div class=\"is-hoverable\" :class=\"[{ 'is-right': isRight }, isNavbarItem ? 'navbar-item has-dropdown' : 'dropdown']\">\n <a :class=\"[isNavbarItem ? 'navbar-link is-arrowless' : 'dropdown-trigger']\">\n <presence v-if=\"isOnline\" :presence=\"presence\" :display-label=\"false\" />\n <presence v-else presence=\"off\" :display-label=\"false\" />\n </a>\n <div id=\"dropdown-menu\" :class=\"{ 'dropdown-menu': !isNavbarItem }\" role=\"menu\">\n <div v-if=\"isOnline\" :class=\"[isNavbarItem ? 'navbar-dropdown is-right' : 'dropdown-content']\">\n <a v-for=\"presenceOption in ['chat', 'away', 'dnd']\" :key=\"presenceOption\" :class=\"[{ 'is-active': presenceOption === presence }, isNavbarItem ? 'navbar-item' : 'dropdown-item']\" @click=\"setPresence(presenceOption)\"><presence :presence=\"presenceOption\" /></a>\n <hr :class=\"[isNavbarItem ? 'navbar-divider' : 'dropdown-divider']\">\n <div :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\">\n <o-switch v-model=\"isAutoPresence\" title=\"You will be seen away when the browser is not active\" class=\"has-no-wrap\" @change=\"setAutoPresence\"><span class=\"icon mr-1\"><i class=\"fa fa-moon-o fa-fw\" aria-hidden=\"true\" /></span>Set away when inactive</o-switch>\n </div>\n <notifications-switch :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\" />\n <div :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\">\n <o-switch v-model=\"isSendingTypingChatStatesSwitch\" title=\"Notify your partner(s) that you are typing or paused\" class=\"has-no-wrap\"><span class=\"icon mr-1\"><i class=\"fa fa-pencil-square-o fa-fw\" aria-hidden=\"true\" /></span>Send typing states</o-switch>\n </div>\n <div :class=\"[isNavbarItem ? 'navbar-item' : 'dropdown-item']\">\n <o-switch v-model=\"isSendingInactiveChatStatesSwitch\" title=\"Notify your partner(s) that you are not looking the conversation\" class=\"has-no-wrap\"><span class=\"icon mr-1\"><i class=\"fa fa-eye-slash fa-fw\" aria-hidden=\"true\" /></span>Send inactive chat states</o-switch>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport presence from '../components/Presence.vue'\nimport NotificationsSwitch from '../components/NotificationsSwitch.vue'\nimport { mapState, mapWritableState } from 'pinia'\nimport { useStore } from '@/store'\n\nconst lsNotTypingChatStatesKey = 'isNotSendingTypingChatStates'\nconst lsInactiveChatStatesKey = 'isSendingInactiveChatStates'\n\nexport default {\n name: 'PresenceController',\n components: {\n presence,\n NotificationsSwitch,\n },\n props: {\n isNavbarItem: {\n type: Boolean,\n default: false,\n },\n isRight: {\n type: Boolean,\n default: false,\n },\n },\n data () {\n return {\n isAutoPresence: false,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'isOnline',\n 'presence',\n ]),\n ...mapWritableState(useStore, [\n 'isSendingTypingChatStates',\n 'isSendingInactiveChatStates',\n ]),\n isSendingTypingChatStatesSwitch: {\n get() {\n return this.isSendingTypingChatStates\n },\n set(isSendingTypingChatStates) {\n if (!isSendingTypingChatStates) {\n localStorage.setItem(lsNotTypingChatStatesKey, true)\n } else {\n localStorage.removeItem(lsNotTypingChatStatesKey)\n }\n this.isSendingTypingChatStates = isSendingTypingChatStates\n },\n },\n isSendingInactiveChatStatesSwitch: {\n get() {\n return this.isSendingInactiveChatStates\n },\n set(isSendingInactiveChatStates) {\n if (isSendingInactiveChatStates) {\n localStorage.setItem(lsInactiveChatStatesKey, true)\n } else {\n localStorage.removeItem(lsInactiveChatStatesKey)\n }\n this.isSendingInactiveChatStates = isSendingInactiveChatStates\n },\n },\n },\n mounted () {\n this.isSendingTypingChatStates = localStorage.getItem(lsNotTypingChatStatesKey) === null\n this.isSendingInactiveChatStates = localStorage.getItem(lsInactiveChatStatesKey) !== null\n },\n methods: {\n setPresence (presence) {\n this.$xmpp.sendPresence({ show: presence })\n },\n setAutoPresence () {\n if (this.isAutoPresence) {\n window.addEventListener('blur', this.sendAutoPresence)\n window.addEventListener('focus', this.sendAutoPresence)\n } else {\n window.removeEventListener('blur', this.sendAutoPresence)\n window.removeEventListener('focus', this.sendAutoPresence)\n }\n },\n sendAutoPresence (event) {\n if (this.$xmpp.client) {\n this.setPresence(event.type === 'blur' ? 'away' : 'chat')\n }\n },\n },\n}\n</script>\n","<template>\n <main class=\"is-flex is-flex-direction-column is-justify-content-space-between is-full-height has-background-shade-4 is-relative\">\n <div class=\"toolbar has-border-bottom-shade-3\">\n <router-link v-if=\"!$xmpp.isAnonymous\" :to=\"{ name: 'home' }\" class=\"button is-primary-ghost has-no-border is-shadowless\" :class=\"{ 'is-hidden-tablet': jid }\" title=\"Back to contacts\"><i class=\"fa fa-arrow-circle-left\" aria-hidden=\"true\" /></router-link>\n <router-link v-else :to=\"{ name: 'guestRooms', state: { nick: userNick } }\" class=\"button is-primary-ghost has-no-border is-shadowless\" title=\"Leave this room and go back to rooms list\"><i class=\"fa fa-arrow-circle-left\" aria-hidden=\"true\" /></router-link>\n <i class=\"fa fa-lg fa-pencil-square-o\" :class=\"chatStateClass\" aria-hidden=\"true\" />\n <span class=\"is-flex is-align-items-center\" style=\"min-width: 0;\">\n <room-occupants v-if=\"isRoom\" :room-jid=\"jid\" />\n <bookmark-button v-if=\"isRoom && !$xmpp.isAnonymous\" :jid=\"jid\" />\n <room-configuration-button v-if=\"isRoom && !$xmpp.isAnonymous\" :room-jid=\"jid\" />\n <invite-guest-button v-if=\"hasGuestInviteLink\" :room-jid=\"jid\" />\n <retrieve-history-button />\n <presence-controller v-if=\"$xmpp.isAnonymous\" :is-navbar-item=\"false\" :is-right=\"true\" class=\"px-2 mx-2\" />\n </span>\n </div>\n <div id=\"messages-container\" class=\"messages-container\">\n <room-subject v-if=\"isRoom\" :room-jid=\"jid\" />\n <TransitionGroup name=\"messages-list\">\n <div v-for=\"message in messagesWithJid\" :key=\"message.id\" class=\"mx-4 my-2 is-flex\" :class=\"{ 'is-flex-direction-row-reverse': isUser(message.from) }\">\n <avatar :jid=\"(isRoom && message.from.bare !== userJid.bare) ? message.from.full : message.from.bare\" :display-jid=\"false\" />\n <message :message=\"message\" :display-nick=\"isRoom\" />\n </div>\n </TransitionGroup>\n </div>\n <sendbox :is-room=\"isRoom\" />\n </main>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nimport message from '../components/Message.vue'\nimport InviteGuestButton from '../components/InviteGuestButton.vue'\nimport BookmarkButton from '../components/BookmarkButton.vue'\nimport RoomConfigurationButton from '../components/RoomConfigurationButton.vue'\nimport RetrieveHistoryButton from '../components/RetrieveHistoryButton.vue'\nimport RoomOccupants from '../components/RoomOccupants.vue'\nimport RoomSubject from '../components/RoomSubject.vue'\nimport Sendbox from '../components/Sendbox.vue'\nimport Modal from '../components/Modal.vue'\nimport PresenceController from '../components/PresenceController.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'Chat',\n components: {\n avatar,\n message,\n InviteGuestButton,\n BookmarkButton,\n RoomConfigurationButton,\n RetrieveHistoryButton,\n RoomOccupants,\n RoomSubject,\n Sendbox,\n PresenceController,\n },\n beforeRouteEnter (to, from, next) {\n next(vm => {\n vm.previousRoute = from\n })\n },\n props: {\n jid: {\n type: String,\n default: null,\n },\n isRoom: {\n type: Boolean,\n default: false,\n },\n },\n data () {\n return {\n previousRoute: null,\n }\n },\n computed: {\n userJid () {\n return this.$xmpp.fullJid\n },\n userNick () {\n return this.$xmpp.nick\n },\n messagesWithJid () {\n return this.messages.filter((message) => (message.from.bare === this.jid || message.to.bare === this.jid))\n },\n chatStateClass () {\n switch (this.$store.getChatState(this.isRoom, this.jid)) {\n case 'composing':\n return 'has-text-grey-light'\n case 'paused':\n return 'has-text-shade-3'\n default:\n return 'has-text-shade-4'\n }\n },\n ...mapState(useStore, [\n 'activeChat',\n 'messages',\n 'isSendingInactiveChatStates',\n ]),\n hasGuestInviteLink () {\n return window.config.hasGuestAccess && this.isRoom\n },\n },\n // watch route param to force component update\n watch: {\n jid: 'handleRoute',\n messagesWithJid: 'scrollToLastMessage',\n },\n mounted () {\n // handle route prop\n this.handleRoute()\n },\n async beforeUnmount () {\n if (!this.userJid) {\n // $xmpp is not loaded\n return\n }\n if (!this.isSendingInactiveChatStates) {\n // the user has not opted in\n return\n }\n // notify leaving discussion\n try {\n await this.$xmpp.sendChatState(this.jid, this.isRoom, 'inactive')\n } catch (error) {\n console.warn(error.message)\n }\n },\n methods: {\n // check if a jid is current user (including MUC nick)\n isUser (jid) {\n return jid.bare === this.userJid.bare || jid.resource === this.userJid.local || jid.resource === this.userNick\n },\n // handle route on mount (commit active chat, reset first message, join room if not already)\n async handleRoute () {\n if (!this.userJid) {\n // $xmpp is not loaded\n return\n }\n this.$store.setActiveChat({\n type: this.isRoom ? 'groupchat' : 'chat',\n activeChat: this.jid,\n })\n if (this.isRoom && !this.$store.isJoined(this.jid)) {\n // user was not in this room, he have to join before\n let room = this.$store.getRoom(this.jid)\n const options = { }\n if (!room || !room.jid) {\n // room is not known, request more info\n room = await this.$xmpp.getRoom(this.jid)\n if (!room.jid) {\n // handle room error\n await new Promise((resolve) =>\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Error',\n message: room.message || 'Unable to join room',\n type: 'is-danger',\n },\n onClose: () => resolve(false),\n }),\n )\n return this.abortChat()\n }\n }\n if (room.jid && room.isPasswordProtected) {\n // room is protected, asking password\n const result = await new Promise((resolve) =>\n this.$oruga.modal.open({\n rootClass: 'dialog',\n trapFocus: true,\n component: Modal,\n onCancel: () => resolve(false),\n props: {\n title: 'Room protected',\n message: '<span class=\"icon mr-2\"><i class=\"fa fa-key-modern\" /></i></span><span>Please enter password</span>',\n prompt: {\n placeholder: 'Password',\n type: 'password',\n value: room.password || '',\n },\n onPromptAnswered: resolve,\n },\n }),\n )\n options.muc = {\n password: result,\n }\n if (result === false) {\n return this.abortChat()\n }\n }\n const result = await this.$xmpp.joinRoom(this.jid, null, options, room)\n if (!result.isSuccess) {\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Error',\n message: result.message || 'Unable to join room',\n type: 'is-danger',\n },\n })\n return this.abortChat()\n }\n }\n if (!this.isRoom && this.messagesWithJid.length === 0) {\n // request history\n try {\n await this.$xmpp.searchHistory(this.activeChat, undefined)\n } catch (error) {\n console.warn('History was not loaded', error.message)\n }\n }\n this.scrollToLastMessage()\n },\n abortChat () {\n // choose valid path for navigation\n if (this.previousRoute && this.previousRoute.query.redirect === this.$route.fullPath) {\n if (this.$xmpp.isAnonymous) {\n return this.$router.push({ name: 'guest' })\n }\n return this.$router.push({ name: 'home' })\n }\n if (history.state && history.state.back) {\n return this.$router.replace({ path: history.state.back })\n }\n return this.$router.back()\n },\n // scroll to last message (called when messages changes)\n scrollToLastMessage () {\n this.$nextTick(() => {\n const messagesContainer = document.getElementById('messages-container')\n if (messagesContainer) {\n messagesContainer.scrollTop = messagesContainer.scrollHeight + 5000\n }\n })\n },\n },\n}\n</script>\n","<template>\n <nav class=\"navbar is-shade-2 is-fixed-top\">\n <div class=\"navbar-brand\">\n <router-link class=\"navbar-item\" :to=\"{ name: 'home' }\"><h1 class=\"has-text-weight-bold\"><i class=\"fa fa-xmpp fa-fw\" /><span class=\"ml-3 is-hidden-mobile\">Home</span></h1></router-link>\n <span class=\"navbar-item is-hidden-tablet\">{{ activeChat }}</span>\n <a id=\"navbar-burger\" role=\"button\" class=\"navbar-burger\" aria-label=\"menu\" aria-expanded=\"false\" @click=\"toggleMenu\">\n <span aria-hidden=\"true\" class=\"is-primary\" />\n <span aria-hidden=\"true\" />\n <span aria-hidden=\"true\" />\n </a>\n </div>\n <div id=\"navbar-menu\" class=\"navbar-menu\">\n <div class=\"navbar-end\">\n <presence-controller :is-navbar-item=\"true\" />\n <div class=\"navbar-item has-dropdown is-hoverable\">\n <a class=\"navbar-link is-arrowless\"><avatar :jid=\"userJid\" :display-jid=\"true\" :size=\"32\" /></a>\n <div class=\"navbar-dropdown is-right\">\n <router-link class=\"navbar-item\" :to=\"{ name: 'about' }\" active-class=\"is-active\"><i class=\"fa fa-info-circle fa-fw mr-3\" />About</router-link>\n <router-link class=\"navbar-item\" :to=\"{ name: 'profile' }\" active-class=\"is-active\"><i class=\"fa fa-user fa-fw mr-3\" />Profile</router-link>\n <a class=\"navbar-item\" :href=\"bugUrl\" target=\"_blank\" rel=\"noreferrer\"><i class=\"fa fa-bug fa-fw mr-3\" />Bug</a>\n <hr class=\"navbar-divider\">\n <a id=\"logout\" class=\"navbar-item\" @click=\"logout()\"><i class=\"fa fa-sign-out fa-fw mr-3\" />Logout</a>\n </div>\n </div>\n </div>\n </div>\n </nav>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nimport PresenceController from '../components/PresenceController.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport { bugs } from '../../package.json'\n\nexport default {\n name: 'Navbar',\n components: {\n avatar,\n PresenceController,\n },\n data () {\n return {\n userJid: localStorage.getItem('barejid'),\n bugUrl: bugs.url,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'activeChat',\n ]),\n },\n mounted () {\n document.body.classList.add('has-navbar-fixed-top')\n },\n methods: {\n toggleMenu (e) {\n e.target.classList.toggle('is-active')\n document.getElementById('navbar-menu').classList.toggle('is-active')\n },\n async logout () {\n await this.$xmpp.disconnect()\n this.$store.clear()\n localStorage.clear()\n sessionStorage.clear()\n this.$router.replace('/login')\n },\n },\n}\n</script>\n","<template>\n <span v-once class=\"is-block is-size-7 has-text-grey has-text-centered py-2\" style=\"opacity: 50%;\">\n <span><span class=\"mr-1\"><i class=\"fa fa-github\" aria-hidden=\"true\" /><span class=\"sr-only\">Code</span></span>Made with <i class=\"fa fa-heart has-text-danger\" aria-hidden=\"true\" /><span class=\"sr-only\">love</span> by <b><a :href=\"homepage\" target=\"_blank\" rel=\"noreferrer\" class=\"has-text-grey\">Nioc</a></b></span>\n <span class=\"ml-3\"><span class=\"mr-1\"><i class=\"fa fa-tag\" aria-hidden=\"true\" /><span class=\"sr-only\">Version</span></span><span :title=\"`${gitVersion} (${gitBranch})`\">{{ version }}</span></span>\n <span class=\"ml-3\"><span class=\"mr-1\"><i class=\"fa fa-balance-scale\" aria-hidden=\"true\" /><span class=\"sr-only\">License</span></span><span>{{ license }}</span></span>\n </span>\n</template>\n\n<script>\nimport { version, license, homepage } from '../../package.json'\n\nexport default {\n name: 'Version',\n data () {\n return {\n gitVersion: import.meta.env.VITE_GIT_VERSION,\n gitBranch: import.meta.env.VITE_GIT_BRANCH,\n homepage,\n license,\n version,\n }\n },\n}\n</script>\n","<template>\n <section class=\"hero is-fullheight\">\n <div class=\"hero-body\">\n <div class=\"container has-text-centered\">\n <div class=\"column is-4 is-offset-4\">\n <div class=\"box has-background-shade-3\">\n <form @submit.prevent=\"login\">\n <h3 class=\"title has-text-grey is-flex is-justify-content-center is-align-items-center\"><img class=\"image is-48x48 is-inline mr-2\" :src=\"logoSrc\">{{ appName }}</h3>\n <p class=\"subtitle has-text-grey\">Login</p>\n <div class=\"field\">\n <div class=\"control has-icons-left\">\n <input v-model=\"credentials.jid\" class=\"input is-medium\" type=\"text\" name=\"jid\" :placeholder=\"jidPlaceholder\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-user\" />\n </span>\n </div>\n </div>\n <div class=\"field\">\n <div class=\"control has-icons-left\">\n <input v-model=\"credentials.password\" class=\"input is-medium\" type=\"password\" name=\"password\" placeholder=\"Password\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-lock\" />\n </span>\n </div>\n </div>\n <div class=\"field has-text-left pl-3\">\n <o-checkbox v-model=\"credentials.remember\" variant=\"primary\" class=\"has-text-grey-light\">\n Store my password in browser\n </o-checkbox>\n </div>\n <o-collapse v-if=\"isTransportsUserAllowed\" class=\"card has-background-shade-3 mb-3\" :open=\"false\" aria-id=\"connection-settings\">\n <template #trigger=\"props\">\n <div role=\"button\" aria-controls=\"connection-settings\" class=\"card-header\">\n <p class=\"card-header-title has-text-grey-light\"><span class=\"fa fa-cog fa-fw mr-3\" aria-hidden=\"true\" />Connection settings</p>\n <a class=\"card-header-icon has-text-grey-light\">\n <span class=\"fa fa-fw mr-3\" :class=\"[props.open ? 'fa-caret-down': 'fa-caret-up']\" aria-hidden=\"true\" />\n </a>\n </div>\n </template>\n <div class=\"card-content\">\n <div class=\"field\">\n <div class=\"control\">\n <input v-model=\"transportsUser.websocket\" class=\"input\" type=\"url\" name=\"websocket\" placeholder=\"wss://chat.domain.ltd/xmpp-websocket\" title=\"Websocket url\">\n </div>\n </div>\n </div>\n </o-collapse>\n <div class=\"field\">\n <button type=\"submit\" class=\"button is-block is-primary is-medium is-fullwidth\" :class=\"{ 'is-loading': isLoading }\" :disabled=\"isDisabled\"><span class=\"fa fa-sign-in fa-fw mr-3\" aria-hidden=\"true\" />Login</button>\n </div>\n <div v-if=\"error\" class=\"message is-danger\">\n <div class=\"message-body has-text-danger\">{{ error }}</div>\n </div>\n </form>\n </div>\n </div>\n </div>\n </div>\n <version />\n </section>\n</template>\n\n<script>\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport Version from '../components/Version.vue'\n\nexport default {\n name: 'Login',\n components: {\n Version,\n },\n data () {\n return {\n credentials: {\n jid: '',\n password: '',\n remember: false,\n },\n transportsUser: {\n websocket: window.config.transports.websocket,\n },\n isLoading: false,\n error: '',\n isTransportsUserAllowed: window.config.isTransportsUserAllowed,\n }\n },\n computed: {\n isDisabled () {\n return this.isLoading || !this.credentials.jid || !this.credentials.password || !this.hasNetwork\n },\n jidPlaceholder () {\n return (typeof window.config.defaultDomain === 'string' && window.config.defaultDomain !== '') ? `username@${window.config.defaultDomain}` : 'username@domain.ltd'\n },\n appName () {\n return (typeof window.config.name === 'string' && window.config.name !== '') ? window.config.name : 'XMPP webchat'\n },\n logoSrc () {\n return window.config.logoUrl || 'img/icons/android-chrome-192x192.png'\n },\n ...mapState(useStore, ['hasNetwork']),\n },\n mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n // get stored credentials\n const jid = localStorage.getItem('jid')\n if (jid) {\n this.credentials.jid = jid\n }\n const password = localStorage.getItem('p')\n if (password) {\n // auto login\n const reverse = (value) => value.split('').reverse().join('')\n this.credentials.password = reverse(atob(reverse(password)))\n this.login()\n }\n },\n methods: {\n async login () {\n this.error = ''\n const reverse = (value) => value.split('').reverse().join('')\n // check credentials are set\n if (this.credentials.jid === '' || this.credentials.password === '') {\n return\n }\n // call the auth service\n this.isLoading = true\n try {\n await this.$xmpp.create(this.credentials.jid, this.credentials.password, null, this.transportsUser, this)\n await this.$xmpp.connect()\n // authentication succeeded, route to requested page or default\n if (this.credentials.remember) {\n localStorage.setItem('p', reverse(btoa(reverse(this.credentials.password))))\n }\n if (this.$route.query.redirect !== undefined) {\n return this.$router.push(this.$route.query.redirect)\n }\n this.$router.push('/')\n } catch (error) {\n // authentication failed, display error\n this.error = error.message\n }\n // remove loading status\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <router-link :to=\"{ name: isRoom ? 'groupchat' : 'chat', params: { jid } }\" class=\"has-unread is-relative\" :title=\"title\" exact exact-active-class=\"is-active\">\n <!-- groupchat (room) -->\n <span v-if=\"isRoom\" class=\"is-flex is-align-items-center\">\n <avatar v-if=\"room.hasVCard\" class=\"mr-3\" :jid=\"jid\" :display-jid=\"false\" :size=\"24\" />\n <span v-show=\"isExpanded\" :class=\"{ 'is-italic has-text-grey': !isJoined }\">{{ roomName }}</span>\n <i v-if=\"room.isBookmarked\" v-show=\"isExpanded\" class=\"fa fa-star has-text-warning ml-3\" />\n <span v-show=\"isExpanded\" class=\"ml-3 room-attributes\" :class=\"isJoined ? 'has-text-grey-light': 'has-text-grey'\">\n <i v-if=\"room.isPasswordProtected\" class=\"fa fa-key-modern fa-fw\" title=\"Password protected\" />\n <i v-if=\"room.isModerated\" class=\"fa fa-shield fa-fw\" title=\"Is moderated\" />\n <i v-if=\"room.isAnonymous\" class=\"fa fa-user-secret fa-fw\" title=\"Allow anonymous (nick)\" />\n <i v-if=\"room.isMembersOnly\" class=\"fa fa-users fa-fw\" title=\"Restricted to members\" />\n <i v-if=\"room.isPublic\" class=\"fa fa-globe fa-fw\" title=\"Public room\" />\n </span>\n </span>\n <!-- chat -->\n <avatar v-else :jid=\"jid\" :name=\"name\" :display-jid=\"isExpanded\" :size=\"24\" :presence=\"presence\" :status=\"status\" />\n <!-- common -->\n <span v-if=\"unreadCount > 0\" class=\"tag is-rounded is-danger\" :class=\"isExpanded ? 'ml-3' : 'unread-count-attached'\">{{ unreadCount }}</span>\n </router-link>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\n\nexport default {\n name: 'Contact',\n components: {\n avatar,\n },\n props: {\n jid: {\n type: String,\n required: true,\n },\n name: {\n type: String,\n default: null,\n },\n presence: {\n type: String,\n default: null,\n },\n status: {\n type: String,\n default: null,\n },\n isRoom: {\n type: Boolean,\n default: false,\n },\n unreadCount: {\n type: Number,\n default: 0,\n },\n isExpanded: {\n type: Boolean,\n default: true,\n },\n },\n computed: {\n title () { return this.isRoom ? `${this.jid}\\n${this.room.name}` : this.status ? `${this.jid} / ${this.status}` : this.jid },\n roomName () { return this.room.name && this.room.name.length > 25 ? this.room.name.substring(0, 25) + '…' : this.room.name },\n room () { return this.isRoom ? this.$store.getRoom(this.jid) : null },\n isJoined () { return this.$store.isJoined(this.jid) },\n },\n}\n</script>\n\n<style scoped>\n.has-unread {\n display: flex;\n align-items: center;\n}\n.room-attributes {\n font-size: 0.8em;\n}\n.unread-count-attached {\n position: absolute;\n top: 4px;\n left: 30px;\n font-size: 0.5em;\n}\n</style>\n","<template>\n <div>\n <a class=\"is-flex is-align-items-center is-justify-content-space-between\" @click=\"isOpened = !isOpened\"><span>{{ group }}</span><i class=\"fa fa-fw\" :class=\"isOpened ? 'fa-caret-down' : 'fa-caret-up'\" /></a>\n <ul v-if=\"isOpened\">\n <li v-for=\"contact in contactsInGroup\" :key=\"contact.jid\">\n <contact :jid=\"contact.jid\" :is-room=\"false\" :name=\"contact.name\" :presence=\"contact.presence\" :status=\"contact.status\" :unread-count=\"contact.unreadCount\" />\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nimport contact from '../components/Contact.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'Group',\n components: {\n contact,\n },\n props: {\n group: {\n type: String,\n required: true,\n },\n },\n data () {\n return {\n isOpened: false,\n }\n },\n computed: {\n ...mapState(useStore, [\n 'contacts',\n ]),\n contactsInGroup () {\n return this.contacts\n .filter((contact) => contact.groups.includes(this.group))\n },\n },\n}\n</script>\n","<template>\n <aside class=\"section pb-2\" :class=\"isExpanded ? 'p-5' : 'py-5 px-1'\">\n <div class=\"menu\">\n <p v-if=\"groups.length > 0\" class=\"menu-label\"><i class=\"fa fa-user mr-3\" :class=\"isExpanded ? 'fa-lg' : 'fa-2x fa-fw pl-4'\" /><span v-show=\"isExpanded\">Contacts</span></p>\n <ul id=\"contactsList\" class=\"menu-list\">\n <li v-for=\"contact in contacts\" :key=\"contact.jid\">\n <contact :jid=\"contact.jid\" :is-room=\"false\" :name=\"contact.name\" :is-expanded=\"isExpanded\" :presence=\"contact.presence\" :status=\"contact.status\" :unread-count=\"contact.unreadCount\" />\n </li>\n </ul>\n <p v-if=\"groups.length > 0\" v-show=\"isExpanded\" class=\"menu-label\"><i class=\"fa fa-address-book mr-3\" :class=\"isExpanded ? 'fa-lg' : 'fa-2x fa-fw pl-4'\" /><span>Groups</span></p>\n <ul v-show=\"isExpanded\" id=\"groupsList\" class=\"menu-list\">\n <li v-for=\"group in groups\" :key=\"group\">\n <group :group=\"group\" />\n </li>\n </ul>\n <p class=\"menu-label\"><i class=\"fa fa-users mr-3\" :class=\"isExpanded ? 'fa-lg' : 'fa-2x fa-fw pl-3'\" /><span v-show=\"isExpanded\">Rooms</span></p>\n <ul id=\"roomsList\" class=\"menu-list\">\n <li v-for=\"room in displayedRooms\" :key=\"room.jid\">\n <contact :jid=\"room.jid\" :is-room=\"true\" :unread-count=\"room.unreadCount\" :is-expanded=\"isExpanded\" />\n </li>\n <li v-show=\"isExpanded\">\n <router-link active-class=\"is-active\" :to=\"{ name: 'public muc' }\" title=\"Join a room\"><i class=\"fa fa-sign-in fa-fw mr-3\" />Public rooms</router-link>\n </li>\n <li v-show=\"isExpanded\">\n <form class=\"field has-addons\" @submit.prevent=\"joinRoomByJid\">\n <div class=\"control is-flex-grow-1\">\n <input v-model=\"roomJid\" class=\"input is-dark\" type=\"text\" :placeholder=\"roomPlaceholder\" title=\"Enter a room jid for joining\">\n </div>\n <div class=\"control\" title=\"Join this room\">\n <button type=\"submit\" class=\"button is-dark\" :disabled=\"!isValidRoomJid\">\n <span class=\"icon\">\n <i class=\"fa fa-sign-in\" />\n </span>\n </button>\n </div>\n </form>\n </li>\n <li v-show=\"isExpanded\">\n <router-link :to=\"{ name: 'room creation' }\" class=\"button is-fullwidth is-dark\" title=\"Create a room\">\n <span class=\"icon\">\n <i class=\"fa fa-plus-square\" />\n </span>\n <span>Create a room</span>\n </router-link>\n </li>\n </ul>\n </div>\n </aside>\n</template>\n\n<script>\nimport contact from '../components/Contact.vue'\nimport group from '../components/Group.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'Contacts',\n components: {\n contact,\n group,\n },\n props: {\n isExpanded: {\n type: Boolean,\n default: true,\n },\n },\n data () {\n return {\n roomJid: '',\n }\n },\n computed: {\n ...mapState(useStore, [\n 'contacts',\n 'knownRooms',\n 'groups',\n ]),\n displayedRooms () {\n return this.knownRooms\n .filter((room) => room.isBookmarked || this.$store.isJoined(room.jid))\n },\n roomPlaceholder () { return this.$xmpp.defaultMuc ? `room@${this.$xmpp.defaultMuc}` : `room@conference.${this.$xmpp.defaultDomain}` },\n isValidRoomJid () { return this.$xmpp.defaultMuc ? this.roomJid.length > 2 : /\\S+@\\S+\\S+/.test(this.roomJid) },\n },\n methods: {\n joinRoomByJid () {\n if (this.roomJid === '') {\n return\n }\n if (!/\\S+@\\S+\\S+/.test(this.roomJid)) {\n if (!this.$xmpp.defaultMuc) {\n return\n }\n this.roomJid = this.roomJid + '@' + this.$xmpp.defaultMuc\n }\n if (this.$route.name !== 'groupchat' || (!this.$route.params.jid || this.$route.params.jid !== this.roomJid)) {\n this.$router.push({ name: 'groupchat', params: { jid: this.roomJid } })\n }\n this.roomJid = ''\n },\n },\n}\n</script>\n\n<style scoped>\n.menu-list a {\n min-height: 40px;\n}\n</style>\n","<template>\n <div v-if=\"hasAuthConfirmed\" class=\"is-flex-tablet is-block-mobile is-full-height\">\n <aside class=\"is-full-height-scrollable is-block-mobile is-flex-shrink-0 has-background-shade-3 is-flex is-flex-direction-column is-justify-content-space-between is-relative\" :class=\"{ 'is-hidden-mobile': !displayContact }\">\n <span style=\"position: absolute; top: 4px; right: 0px;\" class=\"is-clipped is-hidden-mobile\">\n <span style=\"position: relative; right: -20px;\">\n <button class=\"button is-rounded is-dark has-text-grey px-4 py-3\" :title=\"isExpanded ? 'Collapse' : 'Expand'\" @click=\"isExpanded = !isExpanded\">\n <span class=\"icon pr-3\"><i class=\"fa\" :class=\"isExpanded ? 'fa-angle-double-left' : 'fa-angle-double-right'\" /></span>\n </button>\n </span>\n </span>\n <contacts :is-expanded=\"isExpanded\" />\n <version v-if=\"isExpanded\" />\n </aside>\n <router-view :key=\"$route.fullPath\" class=\"is-flex-grow-1\" />\n </div>\n</template>\n\n<script>\nimport contacts from '../components/Contacts.vue'\nimport Version from '../components/Version.vue'\n\nexport default {\n name: 'Home',\n components: {\n contacts,\n Version,\n },\n props: {\n jid: {\n type: String,\n default: null,\n },\n },\n data () {\n return {\n hasAuthConfirmed: false,\n isExpanded: true,\n }\n },\n computed: {\n displayContact () {\n return this.$route.meta.displayContact\n },\n userJid () {\n return this.$xmpp.fullJid\n },\n },\n // watch network status for resuming session\n watch: {\n jid: function resetActiveChat () {\n if (this.jid === null) {\n this.$store.setActiveChat({\n activeChat: null,\n })\n }\n },\n },\n async beforeUnmount () {\n await this.$xmpp.disconnect()\n },\n created () {\n // check if user is connected\n if (this.userJid === null || this.$xmpp.isAnonymous) {\n // user not connected, return to login page\n localStorage.removeItem('auth')\n return this.$router.replace({ name: 'login', query: { redirect: this.$route.fullPath } })\n }\n this.hasAuthConfirmed = true\n // disconnect before leaving page\n window.addEventListener('beforeunload', async () => {\n await this.$xmpp.disconnect()\n })\n },\n}\n</script>\n","<template>\n <main class=\"section\">\n <h2 class=\"title\">Public rooms</h2>\n <table class=\"table is-hoverable is-fullwidth center-table\">\n <thead>\n <tr>\n <th style=\"width: 32px;\" />\n <th class=\"has-text-centered\">Room name</th>\n <th class=\"has-text-centered\">Occupants</th>\n <th class=\"has-text-centered\">Password protected</th>\n <th class=\"has-text-centered\">Moderated</th>\n <th class=\"has-text-centered\">Semi-Anonymous</th>\n <th class=\"has-text-centered\">Members-Only</th>\n <th class=\"has-text-centered\">Visibility</th>\n </tr>\n </thead>\n <tbody>\n <tr v-for=\"room in publicRooms\" :key=\"room.jid\" class=\"is-clickable\" @click=\"openRoom(room.jid)\">\n <td><avatar v-if=\"room.hasVCard\" :jid=\"room.jid\" :size=\"32\" /></td>\n <td class=\"has-text-centered\" :title=\"getRoomTitle(room)\">{{ room.name }}</td>\n <td class=\"has-text-centered\">{{ room.occupantsCount }}</td>\n <td class=\"has-text-centered\"><i v-if=\"room.isPasswordProtected\" class=\"fa fa-key-modern fa-fw\" title=\"Password protected\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isModerated\" class=\"fa fa-shield fa-fw\" title=\"Is moderated\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isAnonymous\" class=\"fa fa-user-secret fa-fw\" title=\"Allow anonymous (nick)\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isMembersOnly\" class=\"fa fa-users fa-fw\" title=\"Restricted to members\" /></td>\n <td class=\"has-text-centered\"><i v-if=\"room.isPublic\" class=\"fa fa-globe fa-fw\" title=\"Public room\" /></td>\n </tr>\n </tbody>\n </table>\n </main>\n</template>\n\n<script>\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\nimport avatar from '../components/Avatar.vue'\n\nexport default {\n name: 'RoomsList',\n components: {\n avatar,\n },\n computed: {\n ...mapState(useStore, ['publicRooms']),\n },\n async mounted () {\n try {\n await this.$xmpp.getPublicMuc()\n } catch (error) {\n console.error('getPublicMuc error', error)\n }\n },\n methods: {\n openRoom (jid) {\n this.$router.push({ name: 'groupchat', params: { jid } })\n },\n getRoomTitle (room) {\n let title = ''\n if (room.lang) {\n title = `[${room.lang}] `\n }\n if (room.description) {\n title = title + room.description\n }\n return title === '' ? null : title\n },\n },\n}\n</script>\n","<template>\n <main class=\"section\">\n <form class=\"field has-addons\" @submit.prevent=\"createRoom\">\n <div class=\"control has-icons-left is-flex-grow-1\">\n <input v-model=\"roomJid\" autofocus class=\"input\" type=\"text\" :placeholder=\"roomPlaceholder\" title=\"Enter room Jid\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-tag\" />\n </span>\n </div>\n <div class=\"control\">\n <button type=\"submit\" class=\"button is-primary\" :class=\"{ 'is-loading': isLoading }\" :disabled=\"!hasValidJid\">\n <span class=\"icon\">\n <i class=\"fa fa-plus-square\" /></span>\n <span>Create</span>\n </button>\n </div>\n </form>\n <div v-if=\"error\" class=\"message is-danger\">\n <div class=\"message-body has-text-danger\">{{ error }}</div>\n </div>\n </main>\n</template>\n\n<script>\nimport RoomConfiguration from '../components/RoomConfiguration.vue'\n\nexport default {\n name: 'RoomCreation',\n data () {\n return {\n error: '',\n roomJid: '',\n isLoading: false,\n }\n },\n computed: {\n roomPlaceholder () { return this.$xmpp.defaultMuc ? `room@${this.$xmpp.defaultMuc}` : `room@conference.${this.$xmpp.defaultDomain}` },\n hasValidJid () { return this.$xmpp.defaultMuc ? this.roomJid.length > 2 : /\\S+@\\S+\\S+/.test(this.roomJid) },\n },\n methods: {\n async createRoom () {\n if (!/\\S+@\\S+\\S+/.test(this.roomJid)) {\n if (!this.$xmpp.defaultMuc) {\n return\n }\n this.roomJid = this.roomJid + '@' + this.$xmpp.defaultMuc\n }\n this.isLoading = true\n try {\n this.error = ''\n const result = await this.$xmpp.createRoom(this.roomJid)\n if (result) {\n this.$oruga.modal.open({\n component: RoomConfiguration,\n trapFocus: true,\n props: {\n roomJid: this.roomJid,\n hasCancelButton: false,\n },\n onClose: () => {\n this.$router.push({ name: 'groupchat', params: { jid: this.roomJid } })\n },\n canCancel: false,\n })\n }\n } catch (error) {\n this.error = error.message\n }\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <main v-if=\"isLoaded\" class=\"is-full-height-scrollable section\">\n <label class=\"is-inline-block field is-relative is-clickable\" title=\"Click to edit your avatar\">\n <input ref=\"avatar\" class=\"file-input\" type=\"file\" accept=\"image/*\" @change=\"selectAvatar\">\n <span class=\"image is-128x128\">\n <img v-if=\"profile.PHOTO\" class=\"is-rounded\" :src=\"profile.PHOTO\">\n <img v-else class=\"is-rounded\" :src=\"defaultAvatar\">\n </span>\n </label>\n\n <div v-for=\"field in fields\" :key=\"field.id\" class=\"field\">\n <label class=\"label has-text-light\">{{ field.label }}</label>\n <div class=\"control\">\n <input v-model=\"profile[field.id]\" class=\"input\" type=\"text\" :placeholder=\"field.placeholder\">\n </div>\n </div>\n\n <div class=\"field\">\n <div class=\"control\">\n <button class=\"button is-primary\" :disabled=\"isProcessing\" @click=\"save\">\n <span class=\"icon\"><i class=\"fa fa-save\" /></span><span>Save</span>\n </button>\n </div>\n <p class=\"help is-danger\">{{ error }}</p>\n </div>\n </main>\n\n <main v-else class=\"is-relative section\">\n <o-loading class=\"is-full-height-scrollable section\" :active=\"true\" :full-page=\"false\" icon=\"circle-o-notch\" icon-size=\"large\" />\n </main>\n</template>\n\n<script>\nimport defaultAvatar from '../assets/defaultAvatar'\n\nexport default {\n name: 'Profile',\n components: {\n },\n data () {\n return {\n isLoaded: false,\n isProcessing: false,\n profile: {},\n fields: this.$xmpp.client.getVCardAttributes().filter(attribute => attribute.type === 'input'),\n defaultAvatar,\n error: null,\n }\n },\n computed: {\n },\n async created () {\n this.profile = await this.$xmpp.getProfile()\n this.isLoaded = true\n },\n methods: {\n async save() {\n this.error = null\n try {\n await this.$xmpp.updateProfile(this.profile)\n } catch (error) {\n this.error = `Error during profile update: ${error.message}`\n }\n },\n selectAvatar () {\n this.isProcessing = true\n const reader = new FileReader()\n reader.onload = () => {\n // check image\n const parts = reader.result.split(',')\n const type = /data:(.*);base64/.exec(parts[0])\n if (type && type.length > 1 && parts.length > 1) {\n this.profile.PHOTO = reader.result\n }\n this.isProcessing = false\n }\n try {\n reader.readAsDataURL(this.$refs.avatar.files[0])\n } catch (error) {\n console.error(error.message)\n }\n },\n },\n}\n</script>\n","'use strict';\nmodule.exports = require('./spdx.json');\n","export default \"__VITE_PUBLIC_ASSET__b6a1b491__\"","<template>\n <main class=\"section\">\n <div class=\"container\">\n <h2 class=\"title\">About</h2>\n <h3 class=\"subtitle is-5\">\n <a :href=\"homepage\" target=\"_blank\" rel=\"noreferrer\"><img class=\"image is-96x96\" src=\"/img/icons/android-chrome-192x192.png\">XMPP Web</a>\n </h3>\n <div class=\"content field is-grouped is-grouped-multiline\">\n <div class=\"control\">\n <div class=\"tags has-addons\">\n <span class=\"tag is-dark\">Installed version</span>\n <span class=\"tag\" :class=\"[isUpToDate ? 'is-success': 'is-danger']\" :title=\"`${gitVersion} (${gitBranch})`\">{{ version.installed }}</span>\n </div>\n </div>\n <div class=\"control\">\n <a v-if=\"!isUpToDate\" class=\"tags has-addons\" :href=\"version.latestLink\" target=\"_blank\" rel=\"noreferrer\">\n <span class=\"tag is-dark\">Latest version</span>\n <span class=\"tag is-info\">{{ version.latest }}</span>\n </a>\n </div>\n </div>\n <p class=\"content\">{{ description }}</p>\n <p v-if=\"license.name\" class=\"content\">This project is licensed under the <a :href=\"license.url\" target=\"_blank\" rel=\"noreferrer\">{{ license.name }}</a></p>\n </div>\n </main>\n</template>\n\n<script>\nimport { version, description, license, homepage, xmppWeb } from '../../package.json'\nimport axios from 'axios'\nimport spdxLicenseList from 'spdx-license-list'\n\nexport default {\n name: 'About',\n data () {\n return {\n version: {\n installed: version,\n latest: null,\n latestLink: null,\n },\n description,\n license: {\n id: license,\n name: null,\n url: null,\n },\n homepage,\n isUpToDate: true,\n gitVersion: import.meta.env.VITE_GIT_VERSION,\n gitBranch: import.meta.env.VITE_GIT_BRANCH,\n }\n },\n mounted () {\n this.getLastVersion()\n this.getLicense()\n },\n methods: {\n async getLastVersion () {\n try {\n const response = await axios.get(xmppWeb.latestReleaseUrl)\n this.version.latest = response.data.tag_name\n this.version.latestLink = response.data.html_url\n if (this.version.latest !== this.version.installed) {\n this.isUpToDate = false\n }\n } catch (error) {\n console.error('getLastVersion error', error)\n }\n },\n getLicense () {\n Object.assign(this.license, spdxLicenseList[license])\n },\n },\n}\n</script>\n","<template>\n <section class=\"hero is-full-height has-background-shade-4\">\n <div class=\"is-flex is-justify-content-center is-full-height\" style=\"overflow-y:auto;\">\n <!-- Guest access not allowed message -->\n <div v-if=\"server === null\" class=\"message is-danger is-light is-align-self-center\">\n <div class=\"message-body has-text-danger\">Anonymous access is not allowed<br>Please <router-link :to=\"{ name: 'login' }\">login</router-link></div>\n </div>\n <!-- User nickname form -->\n <div v-else class=\"is-align-self-center\">\n <div class=\"box has-background-shade-3 mx-1\" style=\"max-width: 420px;\">\n <form class=\"has-text-centered\" @submit.prevent=\"join\">\n <h3 class=\"title has-text-grey is-flex is-justify-content-center is-align-items-center\"><img class=\"image is-48x48 is-inline mr-2\" :src=\"logoSrc\">{{ appName }}</h3>\n <p class=\"subtitle has-text-grey\">Guest</p>\n <!-- eslint-disable-next-line vue/no-v-html -->\n <p v-if=\"description\" class=\"content has-text-grey is-size-7\" v-html=\"description\" />\n <div class=\"field\">\n <div class=\"control has-icons-left\">\n <input v-model=\"nick\" autofocus class=\"input is-medium\" type=\"text\" name=\"nick\" placeholder=\"Nickname\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-user\" />\n </span>\n </div>\n </div>\n <div class=\"field\">\n <button type=\"submit\" class=\"button is-medium is-block is-primary is-fullwidth\" :disabled=\"!hasValidNick\">\n <span class=\"icon\" aria-hidden=\"true\">\n <i class=\"fa fa-sign-in\" /></span>\n <span>Join</span>\n </button>\n </div>\n <div v-if=\"error\" class=\"message is-danger\">\n <div class=\"message-body has-text-danger\">{{ error }}</div>\n </div>\n </form>\n </div>\n </div>\n </div>\n <version />\n </section>\n</template>\n\n<script>\nimport sanitizeHtml from 'sanitize-html'\nimport Version from '../components/Version.vue'\n\nexport default {\n name: 'GuestHome',\n components: {\n Version,\n },\n props: {\n requestedJid: {\n type: String,\n default: null,\n },\n },\n data () {\n return {\n nick: '',\n isLoading: false,\n error: '',\n transportsUser: {\n websocket: window.config.transports.websocket,\n bosh: window.config.transports.bosh,\n },\n server: window.config.anonymousHost,\n }\n },\n computed: {\n hasValidNick () { return this.nick.length > 2 },\n requestedFullJid () {\n if (!this.requestedJid) {\n return null\n }\n if (/\\S+@\\S+\\S+/.test(this.requestedJid) || !this.$xmpp.defaultMuc) {\n return this.requestedJid\n }\n return `${this.requestedJid}@${this.$xmpp.defaultMuc}`\n },\n appName () {\n return (typeof window.config.name === 'string' && window.config.name !== '') ? window.config.name : 'XMPP webchat'\n },\n logoSrc () {\n return window.config.logoUrl || 'img/icons/android-chrome-192x192.png'\n },\n description () {\n return window.config.guestDescription ? sanitizeHtml(window.config.guestDescription) : null\n },\n },\n mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n },\n methods: {\n async join () {\n this.isLoading = true\n try {\n await this.$xmpp.create(null, null, this.server, this.transportsUser, this)\n this.$xmpp.setNick(this.nick)\n await this.$xmpp.connect()\n this.$router.push({ name: 'guestRooms', state: { nick: this.nick, requestedJid: this.requestedFullJid } })\n } catch (error) {\n this.error = error.message\n }\n this.isLoading = false\n },\n },\n}\n</script>\n","<template>\n <section class=\"is-full-height has-background-shade-3\">\n <div class=\"is-flex is-justify-content-center is-full-height\" style=\"overflow-y:auto;\">\n <div v-if=\"displayRoomsList\" class=\"container is-flex is-flex-direction-column\">\n <div class=\"field has-addons mt-5\">\n <div class=\"control is-expanded has-icons-left\">\n <input v-model=\"search.text\" class=\"input\" type=\"text\" name=\"room\" placeholder=\"Search a room\" title=\"Filter rooms by name or description\">\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-search\" />\n </span>\n </div>\n <div class=\"control has-icons-left\">\n <span class=\"select\">\n <select v-model=\"search.language\" title=\"Filter rooms by language\">\n <option value=\"\" />\n <option v-for=\"language in roomsLanguages\" :key=\"language\">{{ language }}</option>\n </select>\n <span class=\"icon is-small is-left\">\n <i class=\"fa fa-globe-e\" />\n </span>\n </span>\n </div>\n </div>\n <div class=\"is-flex is-justify-content-center is-flex-grow-1\">\n <ul class=\"is-align-self-center columns is-multiline\">\n <li v-for=\"room in filteredPublicRooms\" :key=\"room.jid\" class=\"column\">\n <div class=\"card is-width-min-400\">\n <header class=\"card-header\">\n <span class=\"card-header-title\">\n <span v-if=\"room.isPinned\" class=\"icon has-text-danger mr-2\" title=\"Pinned room\">\n <i class=\"fa fa-map-pin\" />\n </span>\n <span v-if=\"room.lang\" class=\"has-text-weight-light\" title=\"Language\">[{{ room.lang }}]</span>\n </span>\n <span class=\"px-4 py-3\">\n <span v-if=\"room.isPasswordProtected\" class=\"icon\" title=\"This room is password protected\">\n <i class=\"fa fa-key-modern\" />\n </span>\n <span v-if=\"room.occupantsCount\" title=\"Occupants\">\n <span class=\"icon mr-1 ml-2\">\n <i class=\"fa fa-users\" />\n </span>\n <span>{{ room.occupantsCount }}</span>\n </span>\n </span>\n </header>\n <div class=\"card-content\">\n <div class=\"media\">\n <avatar v-if=\"room.hasVCard\" class=\"media-left\" :jid=\"room.jid\" :display-jid=\"false\" :size=\"48\" />\n <div class=\"media-content\">\n <div class=\"title is-5\">{{ room.name }}</div>\n <div class=\"subtitle is-6\">{{ room.jid }}</div>\n </div>\n </div>\n <small class=\"content\">{{ room.description }}</small>\n </div>\n <footer class=\"card-footer\">\n <router-link :to=\"{ name: 'guestInRoom', params: { jid: room.jid } }\" class=\"card-footer-item\" title=\"Join the room\">\n <span class=\"icon\">\n <i class=\"fa fa-sign-in\" /></span>\n <span>Join</span>\n </router-link>\n </footer>\n </div>\n </li>\n </ul>\n </div>\n <version />\n </div>\n </div>\n </section>\n</template>\n\n<script>\nimport avatar from '../components/Avatar.vue'\nimport Modal from '../components/Modal.vue'\nimport Version from '../components/Version.vue'\nimport { mapState } from 'pinia'\nimport { useStore } from '@/store'\n\nexport default {\n name: 'GuestRooms',\n components: {\n avatar,\n Version,\n },\n data () {\n return {\n isLoading: false,\n search: {\n text: '',\n language: '',\n },\n transportsUser: {\n websocket: window.config.transports.websocket,\n bosh: window.config.transports.bosh,\n },\n server: window.config.anonymousHost,\n nick: null,\n requestedJid: null,\n }\n },\n computed: {\n displayRoomsList () { return !this.isLoading && this.publicRooms.length > 0 },\n roomsLanguages () {\n return [...new Set(this.publicRooms.map((room) => room.lang))]\n .filter(lang => lang !== '')\n },\n filteredPublicRooms () {\n const pinnedRooms = window.config.pinnedMucs || []\n const searchText = this.search.text.toLowerCase()\n const searchLanguage = this.search.language\n return this.publicRooms\n .filter((room) => (searchText === '' || room.name.toLowerCase().indexOf(searchText) > -1 || room.description.toLowerCase().indexOf(searchText) > -1) && (searchLanguage === '' || room.lang === searchLanguage))\n .map((room) => {\n return {\n ...room,\n isPinned: pinnedRooms.includes(room.jid),\n }\n })\n .sort((a, b) => {\n if (a.isPinned !== b.isPinned) {\n return a.isPinned ? -1 : 1\n }\n return a.name.toLowerCase() > b.name.toLowerCase()\n })\n },\n ...mapState(useStore, ['publicRooms']),\n },\n async created () {\n if (history.state) {\n this.requestedJid = history.state.requestedJid\n this.nick = history.state.nick\n }\n if (!this.nick || !this.$xmpp.jid) {\n // no nick or xmpp not initialized (may be refresh page / F5) return to guest home\n this.$router.push({ name: 'guest' })\n return\n }\n this.isLoading = true\n try {\n // get public rooms\n const rooms = await this.$xmpp.getPublicMuc()\n // if room jid provided, check if exists and join it\n if (this.requestedJid) {\n if (rooms.find((room) => room.jid === this.requestedJid)) {\n // join public room\n return this.openRoom(this.requestedJid)\n }\n // check if room exist as private\n const requestedRoom = await this.$xmpp.getRoom(this.requestedJid)\n if (requestedRoom.jid) {\n // join private room\n return this.openRoom(this.requestedJid)\n }\n if (requestedRoom.message) {\n await new Promise((resolve) =>\n this.$oruga.modal.open({\n component: Modal,\n trapFocus: true,\n props: {\n title: 'Error',\n message: requestedRoom.message || 'Unable to join room',\n type: 'is-danger',\n },\n onClose: () => resolve(false),\n }),\n )\n }\n }\n } catch (error) {\n console.error(error.message)\n }\n this.isLoading = false\n },\n mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n },\n methods: {\n openRoom (jid) {\n this.$router.push({ name: 'guestInRoom', params: { jid } })\n },\n },\n}\n</script>\n","<template>\n <section class=\"is-full-height\">\n <div class=\"is-justify-content-center is-full-height\">\n <chat v-if=\"displayChat\" :jid=\"jid\" :is-room=\"true\" class=\"is-flex-grow-1\" />\n </div>\n </section>\n</template>\n\n<script>\nimport Chat from '../components/Chat.vue'\nexport default {\n name: 'Guest',\n components: {\n Chat,\n },\n props: {\n jid: {\n type: String,\n default: null,\n },\n },\n computed: {\n displayChat () { return this.jid !== null && this.$xmpp.nick !== null },\n },\n created () {\n if (this.$xmpp.nick === null) {\n this.$router.replace({ name: 'guest', query: { join: this.jid } })\n }\n },\n mounted () {\n // remove navbar spacing\n document.body.classList.remove('has-navbar-fixed-top')\n },\n async beforeUnmount () {\n if (this.$xmpp.client) {\n await this.$xmpp.client.leaveRoom(this.jid, this.$xmpp.nick)\n }\n },\n}\n</script>\n","import { createRouter, createWebHashHistory } from 'vue-router'\nimport Chat from '../components/Chat.vue'\nimport Navbar from '../components/Navbar.vue'\nimport Login from '../components/Login.vue'\nimport Home from '../components/Home.vue'\nimport RoomsList from '../components/RoomsList.vue'\nimport RoomCreation from '../components/RoomCreation.vue'\nimport Profile from '../components/Profile.vue'\nimport About from '../components/About.vue'\nimport GuestHome from '../components/GuestHome.vue'\nimport GuestRooms from '../components/GuestRooms.vue'\nimport GuestChat from '../components/GuestChat.vue'\n\nconst routes = [\n {\n // redirect unknown path to homepage\n path: '/:pathMatch(.*)*',\n redirect: { name: 'home' },\n },\n]\n\nif (window.config.hasRegisteredAccess) {\n // set registered user routes\n routes.push(\n {\n // home page containing child components for chats and MUC\n name: 'home',\n path: '/',\n components: {\n navbar: Navbar,\n default: Home,\n },\n props: {\n default: true,\n navbar: false,\n },\n meta: {\n requiresAuth: true,\n displayContact: true,\n },\n children: [\n {\n // chat component\n name: 'chat',\n path: 'contacts/:jid',\n component: Chat,\n props: true,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // public MUC component\n name: 'public muc',\n path: 'rooms/discover',\n component: RoomsList,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // room creation\n name: 'room creation',\n path: 'rooms/new',\n component: RoomCreation,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // MUC component\n name: 'groupchat',\n path: 'rooms/:jid',\n component: Chat,\n props: (route) => ({\n jid: route.params.jid,\n isRoom: true,\n }),\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // profile component\n name: 'profile',\n path: 'profile',\n component: Profile,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n {\n // about component\n name: 'about',\n path: 'about',\n component: About,\n meta: {\n requiresAuth: true,\n displayContact: false,\n },\n },\n ],\n },\n {\n // login page\n name: 'login',\n path: '/login',\n component: Login,\n },\n )\n}\n\nif (window.config.hasGuestAccess) {\n // set guest user routes\n routes.push(\n {\n // guest home\n name: 'guest',\n path: '/guest',\n component: GuestHome,\n props: (route) => ({\n requestedJid: route.query.join,\n }),\n meta: {\n requiresAuth: false,\n },\n },\n {\n // guest rooms\n name: 'guestRooms',\n path: '/guest/rooms',\n component: GuestRooms,\n meta: {\n requiresAuth: false,\n },\n },\n {\n // guest access room\n name: 'guestInRoom',\n path: '/guest/:jid',\n component: GuestChat,\n props: (route) => ({\n jid: route.params.jid,\n }),\n meta: {\n requiresAuth: false,\n },\n },\n )\n if (!window.config.hasRegisteredAccess) {\n // set default home if registered access is disabled\n routes.push(\n {\n name: 'home',\n path: '/',\n component: GuestHome,\n props: (route) => ({\n requestedJid: route.query.join,\n }),\n meta: {\n requiresAuth: false,\n },\n },\n )\n }\n}\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes,\n})\n\nrouter.beforeEach((to) => {\n // check if route require authentication\n if (to.matched.some(record => record.meta.requiresAuth)) {\n if (localStorage.getItem('auth') === null) {\n // user is not authenticated, route to login page\n return {\n name: 'login',\n query: { redirect: to.fullPath },\n }\n }\n }\n})\n\nexport default router\n","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport Oruga from '@oruga-ui/oruga-next'\nimport { bulmaConfig } from '@oruga-ui/theme-bulma'\nimport '@oruga-ui/oruga-next/dist/oruga.css'\nimport './assets/styles.scss'\nimport 'fork-awesome/css/fork-awesome.min.css'\nimport dayjs from 'dayjs'\nimport relativeTime from 'dayjs/plugin/relativeTime'\nimport { useStore } from './store'\nimport xmppSocket from './services/XmppSocket'\nimport { registerSW } from 'virtual:pwa-register'\nimport router from './router'\n\nregisterSW({ immediate: true })\ndayjs.extend(relativeTime)\n\nconst pinia = createPinia()\nconst app = createApp(App)\n\napp.use(Oruga, { ...bulmaConfig, iconPack: 'fa' })\napp.config.globalProperties.$xmpp = xmppSocket\napp.config.globalProperties.$dayjs = dayjs\n\npinia.use(() => {\n return { $dayjs: dayjs }\n} )\napp.use(pinia)\napp.use(router)\n\nconst store = useStore()\napp.config.globalProperties.$store = store\n\napp.mount('#body')\n"],"file":"assets/index-375456c0.js"} \ No newline at end of file diff --git a/classes/assets/index-b1d20143.css b/classes/assets/index-b1d20143.css deleted file mode 100644 index 001bf0d..0000000 --- a/classes/assets/index-b1d20143.css +++ /dev/null @@ -1,12 +0,0 @@ -@charset "UTF-8";/*! Oruga v0.5.10 | MIT License | github.com/oruga-ui/oruga */@keyframes append-animate{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}*,:after,:before{box-sizing:inherit}.o-noscroll{position:fixed;overflow-y:hidden;width:100%;bottom:0;overflow-x:hidden;overflow-y:scroll}.o-clipped{overflow:hidden}.o-acp{position:relative}.o-acp__menu{display:block;width:100%;position:absolute;left:0;top:100%;overflow:auto;z-index:20;background-color:#fff}.o-acp__menu--top{top:auto;bottom:100%}.o-acp__item{display:block;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.o-acp__item-group-title,.o-acp__item--empty{pointer-events:none}.o-acp--expanded{width:100%}.o-btn{-moz-appearance:none;-webkit-appearance:none;position:relative;display:inline-flex;cursor:pointer;text-align:center;white-space:nowrap;align-items:center;justify-content:center;vertical-align:top;text-decoration:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#445e00;color:#fff}.o-btn__wrapper{margin-left:-.1875em;margin-right:-.1875em;display:inline-flex;align-items:center;justify-content:center;position:relative;width:100%}.o-btn__wrapper>*{margin-left:.1875em;margin-right:.1875em}.o-btn__label,.o-btn--expanded{width:100%}.o-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.o-btn--outlined{background-color:transparent;border-color:#445e00;color:#445e00}.o-btn--outlined:hover{border-color:transparent;background-color:#445e00;color:#fff}.o-btn--inverted{background-color:#fff;border-color:#fff;color:#445e00}.o-btn--inverted:hover{filter:brightness(95%)}.o-car{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;overflow:hidden;width:100%}.o-car__overlay{bottom:0;left:0;right:0;top:0;align-items:center;flex-direction:column;justify-content:center;display:flex;max-height:100vh;position:fixed;z-index:40}.o-car__scene{position:relative;width:100%}.o-car__items{display:flex;width:100%}.o-car__item{flex-shrink:0}.o-car__indicators{width:100%;display:flex;align-items:center;justify-content:center}.o-car__indicators--inside{position:absolute}.o-car__indicators--inside--bottom{bottom:0}.o-car__indicators--inside--top{top:0}.o-car__indicator__item{display:block;border:1px solid #445e00;background:#ffffff}.o-car__indicator__item--active,.o-car__indicator__item :hover{background:#445e00;border:1px solid #445e00}.o-car__indicator__item--boxes{width:10px;height:10px}.o-car__indicator__item--dots{border-radius:4px;width:10px;height:10px}.o-car__arrow__icon{cursor:pointer;background:#ffffff;color:#445e00;width:1.5rem;height:1.5rem}.o-car__arrow__icon-prev,.o-car__arrow__icon-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.o-car__arrow__icon-prev{left:1.5rem}.o-car__arrow__icon-next{right:1.5rem}.o-chk{display:inline-flex;align-items:center;cursor:pointer;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-chk__check{width:1rem;height:1rem;outline:none;margin:0;vertical-align:top;background-position:center;background-size:contain;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-shrink:0;cursor:pointer;background-repeat:no-repeat;border-color:#445e00;border-style:solid;transition-property:background}.o-chk__check--checked{background-color:#445e00;border-color:#445e00;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 234 225' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'%3E%3Cg transform='matrix(4.16667,0,0,4.16667,0,0)'%3E%3Cg transform='matrix(3.13817,0,0,3.13817,-69.2796,-49.5156)'%3E%3Cpath style='fill:%23ffffff' d='M22.504,26.219L28.637,32.386L39.494,18.284L37.348,16.379L28,27.725L24.46,24.196L22.504,26.219Z'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.o-chk__check--indeterminate{background-color:#445e00;border-color:#445e00;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 417 417' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(4.16667,0,0,4.16667,0,0)'%3E%3Cg transform='matrix(6.96176,0,0,20.5682,-118.661,-806.753)'%3E%3Cpath style='fill:%23ffffff' d='M31.265,41.654C31.265,41.324 30.474,41.057 29.5,41.057L18.953,41.057C17.979,41.057 17.188,41.324 17.188,41.654C17.188,41.984 17.979,42.252 18.953,42.252L29.5,42.252C30.474,42.252 31.265,41.984 31.265,41.654Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.o-chk--disabled{opacity:.5}.o-clps__trigger{cursor:pointer}.o-clps__content{display:inherit}.o-dpck__dropdown{width:100%}.o-dpck__box{display:block;position:relative}.o-dpck__header__buttons{align-items:center;display:flex;justify-content:center;text-align:center}.o-dpck__header__previous,.o-dpck__header__next{justify-content:center;text-align:center;text-decoration:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;align-items:center;box-shadow:none;display:inline-flex;position:relative;vertical-align:top;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-color:#dbdbdb;color:#363636}.o-dpck__header__previous:hover,.o-dpck__header__next:hover{text-decoration:none}.o-dpck__header__previous{order:1}.o-dpck__header__next{order:3}.o-dpck__header__list{order:2;align-items:center;display:flex;justify-content:center;text-align:center;list-style:none;flex-wrap:wrap;margin:0;padding:0;margin-left:-.125rem;margin-right:-.125rem}.o-dpck__header__list>*{margin-left:.125rem;margin-right:.125rem}.o-dpck__table,.o-dpck__month{display:table;margin:0 auto}.o-dpck__table__head,.o-dpck__month__head{display:table-header-group}.o-dpck__table__body,.o-dpck__month__body{display:table-row-group}.o-dpck__table__row,.o-dpck__month__row{display:table-row}.o-dpck__table__cell,.o-dpck__month__cell{text-align:center;vertical-align:middle;display:table-cell;text-decoration:none}.o-dpck__table__cell--unselectable,.o-dpck__month__cell--unselectable{color:#b5b5b5}.o-dpck__table__cell--selectable,.o-dpck__month__cell--selectable{color:#4a4a4a}.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered{background-color:#7a7a7a;color:#dbdbdb}.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered{color:#dbdbdb}.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered{background-color:#7a7a7a;color:#dbdbdb}.o-dpck__table__cell--selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e00;color:#fff}.o-dpck__table__cell--first-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--first-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e00;color:#fff}.o-dpck__table__cell--within-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--within-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e0080}.o-dpck__table__cell--last-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered),.o-dpck__month__cell--last-selected:not(.o-dpck__table__cell--first-hovered,.o-dpck__month__cell--first-hovered):not(.o-dpck__table__cell--within-hovered,.o-dpck__month__cell--within-hovered):not(.o-dpck__table__cell--last-hovered,.o-dpck__month__cell--last-hovered){background-color:#445e00;color:#fff}.o-dpck__table__cell--invisible,.o-dpck__month__cell--invisible{visibility:hidden}.o-dpck__table__cell--events,.o-dpck__month__cell--events{position:relative}.o-dpck__table__events,.o-dpck__month__events{display:flex;justify-content:center;position:absolute;width:100%;left:0;bottom:15%}.o-dpck__table__event,.o-dpck__month__event{background-color:#b5b5b5}.o-dpck__table__event--dots,.o-dpck__month__event--dots{border-radius:50%}.o-dpck__table__event--bars,.o-dpck__month__event--bars{width:100%}.o-dpck__month__table{display:inline-flex;flex-wrap:wrap;flex-direction:row;width:17rem}.o-dpck__month__cell{display:flex;align-items:center;justify-content:center;width:33.33%;height:2.5rem}.o-dpck--mobile .o-dpck__header__previous{order:1;flex-grow:1;flex-shrink:1}.o-dpck--mobile .o-dpck__header__next{order:3;flex-grow:1;flex-shrink:1}.o-dpck--mobile .o-dpck__header__list{order:2;flex-grow:1;flex-shrink:1}.o-dtpck__time{display:flex;justify-content:center;align-items:center}.o-drop{display:inline-flex;position:relative;vertical-align:top}.o-drop--inline{display:inline}.o-drop--inline .o-drop__menu{position:static;display:inline-block;padding:0}.o-drop__overlay{position:fixed;bottom:0;left:0;right:0;top:0;cursor:pointer;display:none;background-color:#000000db;z-index:40}.o-drop__trigger{width:100%}.o-drop__menu{position:absolute;left:0;top:100%;display:block;z-index:20;background-color:#fff}.o-drop__menu--top-left{top:auto;bottom:100%;right:0;left:auto}.o-drop__menu--bottom-left{right:0;left:auto}.o-drop__menu--top-right{top:auto;bottom:100%}.o-drop__item{display:block;position:relative;cursor:pointer}.o-drop__item--disabled{opacity:.5;pointer-events:none}.o-drop__item--active{background-color:#445e00;color:#fff}.o-drop--expanded,.o-drop--expanded .o-drop__menu{width:100%}.o-drop--disabled{opacity:.5;pointer-events:none}.o-drop--mobile>.o-drop__menu{position:fixed;top:25%;left:50%;bottom:auto;right:auto;transform:translate3d(-50%,-25%,0);overflow-y:auto;z-index:50}.o-drop--mobile>.o-drop__overlay{display:block}.o-field{flex-grow:1}.o-field__label,.o-field__message{display:block}.o-field--addons{display:flex;justify-content:flex-start}.o-field--addons>*:first-child:not(:only-child) button,.o-field--addons>button:first-child,.o-field--addons>*:first-child:not(:only-child) input,.o-field--addons>input:first-child,.o-field--addons>*:first-child:not(:only-child) select,.o-field--addons>select:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.o-field--addons>*:last-child:not(:only-child) button,.o-field--addons>button:last-child,.o-field--addons>*:last-child:not(:only-child) input,.o-field--addons>input:last-child,.o-field--addons>*:last-child:not(:only-child) select,.o-field--addons>select:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.o-field--addons>*:not(:first-child):not(:last-child) button,.o-field--addons>button:not(:first-child):not(:last-child),.o-field--addons>*:not(:first-child):not(:last-child) input,.o-field--addons>input:not(:first-child):not(:last-child),.o-field--addons>*:not(:first-child):not(:last-child) select,.o-field--addons>select:not(:first-child):not(:last-child){border-radius:0}.o-field--grouped{display:flex;margin-left:-.37rem;margin-right:-.37rem}.o-field--grouped>*{margin-left:.37rem;margin-right:.37rem}.o-field--grouped-multiline{flex-wrap:wrap}.o-field__horizontal-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1;margin-left:-.37rem;margin-right:-.37rem}.o-field__horizontal-body>*{margin-left:.37rem;margin-right:.37rem}.o-field--horizontal{display:flex}.o-field__horizontal-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin:0 1.5rem 0 0;text-align:right}.o-field--mobile .o-field__horizontal-body,.o-field--mobile.o-field--horizontal,.o-field--mobile .o-field__horizontal-label{all:unset}.o-icon{align-items:center;display:inline-flex;justify-content:center;transition:transform .15s ease-out,opacity .3s ease-out}.o-icon--clickable{pointer-events:auto;cursor:pointer}.o-icon--spin{animation-name:icon-spin;animation-iteration-count:infinite;animation-timing-function:linear;animation-duration:2s}.o-ctrl-input{display:block;position:relative}.o-ctrl-input--expanded{width:100%;flex-grow:1;flex-shrink:1}.o-input{-moz-appearance:none;-webkit-appearance:none;display:inline-flex;position:relative;vertical-align:top;width:100%}.o-input__textarea{display:block;max-width:100%;min-width:100%;height:auto;resize:vertical}.o-input__counter{display:block;float:right}.o-input__icon-left,.o-input__icon-right{position:absolute;top:0;height:100%}.o-input__icon-right{right:0}.o-input__icon-left{left:0}.o-inputit{display:block}.o-inputit__container{display:flex;align-items:center;justify-content:flex-start;position:relative;vertical-align:top;flex-wrap:wrap;border-color:#dbdbdb;border-style:solid;border-width:1px;color:#363636}.o-inputit__autocomplete{position:static;flex:1}.o-inputit__input{border:none;box-shadow:none}.o-inputit__input:focus{box-shadow:none}.o-inputit__item{display:inline-flex;justify-content:center;align-items:center;position:relative;margin-left:-.1875em;margin-right:-.1875em;background-color:#445e00;color:#fff}.o-inputit__item>*{margin-left:.1875em;margin-right:.1875em}.o-inputit__counter{display:block;float:right}.o-inputit--expanded{width:100%;flex-grow:1;flex-shrink:1}.o-load{position:absolute;bottom:0;left:0;right:0;top:0;align-items:center;display:flex;justify-content:center;overflow:hidden}.o-load--fullpage{position:fixed}.o-load__overlay{position:absolute;bottom:0;left:0;right:0;top:0}.o-menu-list .o-menu-list,.o-menu-list .o-menu-item__wrapper{list-style:none}.o-menu-label{text-transform:uppercase}.o-menu-item{display:block;list-style:none}.o-modal{display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;position:fixed;bottom:0;left:0;right:0;top:0;z-index:40}.o-modal__overlay{bottom:0;left:0;position:absolute;right:0;top:0;background-color:#0a0a0adb}.o-modal__content{overflow:auto;position:relative;background-color:#fff}.o-modal__content--full-screen{width:100%;height:100%;max-height:100vh;margin:0}.o-modal__close{background:none;position:fixed;border:none;display:inline-block;vertical-align:top;right:20px;top:20px}.o-modal--mobile .o-modal__content{width:100%}.o-notification{background-color:#445e00;color:#fff;position:relative;transform-origin:50% 0}.o-notification__content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit;overflow-y:hidden;overflow-x:auto}.o-notification__wrapper{align-items:flex-start;display:flex;text-align:inherit;padding-top:0;border:0}.o-notification__icon{flex-basis:auto;flex-grow:0;flex-shrink:0}.o-notification__close{position:absolute;border:none;cursor:pointer;pointer-events:auto;display:flex;justify-content:center;align-items:center;flex-grow:0;flex-shrink:0;vertical-align:top;right:.5rem;top:.5rem}.o-notices{position:fixed;display:flex;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;padding:2em;z-index:1000}.o-notices .o-notification{pointer-events:stroke;max-width:600px}.o-notices .o-notification--top,.o-notices .o-notification--bottom{align-self:center}.o-notices .o-notification--top-right,.o-notices .o-notification--bottom-right{align-self:flex-end}.o-notices .o-notification--top-left,.o-notices .o-notification--bottom-left{align-self:flex-start}.o-notices--top{flex-direction:column}.o-notices--bottom{flex-direction:column-reverse}.o-notices--bottom .o-notification{margin-bottom:0}.o-notices--bottom .o-notification:not(:first-child){margin-bottom:1.5rem}.o-notices__custom-container{position:absolute}.o-pag{align-items:center;display:flex;justify-content:center;text-align:center;justify-content:space-between}.o-pag__link{-moz-appearance:none;-webkit-appearance:none;align-items:center;box-shadow:none;display:inline-flex;position:relative;vertical-align:top;justify-content:center;text-align:center;text-decoration:none;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-pag__link:hover{text-decoration:none}.o-pag__link--disabled{pointer-events:none}.o-pag__link--current{pointer-events:none;background-color:#445e00;border-color:#445e00;color:#fff}.o-pag__ellipsis{justify-content:center;text-align:center;pointer-events:none}.o-pag--simple{justify-content:normal}.o-pag--centered{justify-content:center}.o-pag--centered .o-pag__previous{order:1}.o-pag--centered .o-pag__next{order:3}.o-pag--centered .o-pag__list{justify-content:center;order:2}.o-pag--right{justify-content:flex-end}.o-pag--right .o-pag__previous{order:1}.o-pag--right .o-pag__next{order:2}.o-pag--right .o-pag__list{justify-content:flex-end;order:2}.o-pag__next{order:3}.o-pag__previous{order:2}.o-pag__list{align-items:center;display:flex;justify-content:center;text-align:center;list-style:none;flex-wrap:wrap;margin:0;padding:0;flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.o-pag--mobile{justify-content:flex-start;flex-wrap:wrap}.o-pag--mobile .o-pag__link{flex-grow:1;flex-shrink:1}.o-pag--mobile .o-pag__previous,.o-pag--mobile .o-pag__next{flex-grow:1;flex-shrink:1;order:0}.o-pag--mobile .o-pag__ellipsis{flex-grow:1;flex-shrink:1}.o-pag--mobile .o-pag__list{order:0}.o-radio{display:inline-flex;align-items:center;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-radio__check{width:1rem;height:1rem;margin:0;vertical-align:top;background-position:center;background-size:contain;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:50%;cursor:pointer;background-repeat:no-repeat;transition-property:background;background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 100 100' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(10.1032,0,0,10.1032,-255.068,-313.298)'%3E%3Ccircle cx='30.195' cy='35.959' r='4.85' style='fill:%23445e00;'/%3E%3C/g%3E%3C/svg%3E")}.o-radio__check--checked{background-image:url("data:image/svg+xml,%3Csvg width='100%25' height='100%25' viewBox='0 0 100 100' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xml:space='preserve' xmlns:serif='http://www.serif.com/' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;'%3E%3Cg transform='matrix(4.38544,0,0,4.38544,-94.4336,-58.9876)'%3E%3Cpath d='M32.935,13.679C39.102,13.679 44.108,18.685 44.108,24.852C44.108,31.019 39.102,36.025 32.935,36.025C26.768,36.025 21.761,31.019 21.761,24.852C21.761,18.685 26.768,13.679 32.935,13.679ZM32.798,17.05C37.105,17.05 40.601,20.546 40.601,24.852C40.601,29.158 37.105,32.655 32.798,32.655C28.492,32.655 24.996,29.158 24.996,24.852C24.996,20.546 28.492,17.05 32.798,17.05Z' style='fill:%23445e00;'/%3E%3Ccircle cx='32.84' cy='24.8' r='7.9' style='fill:transparent;'/%3E%3C/g%3E%3C/svg%3E")}.o-radio--disabled{opacity:.5}.o-ctrl-sel{display:inline-flex;position:relative}.o-ctrl-sel--expanded{width:100%;flex-grow:1;flex-shrink:1}.o-sel{-moz-appearance:none;-webkit-appearance:none;display:inline-block;position:relative;vertical-align:top;cursor:pointer;justify-content:flex-start;align-items:center}.o-sel-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:serif='http://www.serif.com/' width='100%25' height='100%25' viewBox='0 0 100 100' version='1.1' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;'%3E%3Cg transform='matrix(5.70052,0,0,5.70052,-1329.79,-547.054)'%3E%3Cpath d='M233.451,101.749L235.617,99.422L242.013,105.565L248.463,99.422L250.642,101.749L242.013,110.052L233.451,101.749Z' style='fill:;stroke:white;stroke-width:0.18px;'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:1rem;background-position:calc(100% - .5rem) center;padding-right:2rem}.o-sel--multiple{height:auto;padding:0}.o-sel__icon-left,.o-sel__icon-right{position:absolute;top:0;height:100%}.o-sel__icon-right{right:0}.o-sel__icon-left{left:0}.o-sklt{display:inline-flex;flex-direction:column;vertical-align:middle;width:100%}.o-sklt__item{width:100%;background:linear-gradient(90deg,#dbdbdb 25%,rgba(219,219,219,.5) 50%,#dbdbdb 75%)}.o-sklt__item--animated{background-size:400% 100%;animation-name:skeleton-loading;animation-iteration-count:infinite;animation-duration:1.5s}.o-sklt__item:after{content:" "}.o-sklt--centered{align-items:center}.o-sklt--right{align-items:flex-end}.o-side__content{background-color:#dbdbdb;z-index:39}.o-side__content--fixed{position:fixed;left:0;top:0}.o-side__content--absolute{position:absolute;left:0;top:0}.o-side__content--right{left:auto;right:0}.o-side__content--mini-expand:hover{transition:width}.o-side__content--static{position:static}.o-side__content--absolute,.o-side__content--static{transition:width .15s ease-out}.o-side__content--fullwidth{width:100%;max-width:100%}.o-side__content--fullheight{height:100%;max-height:100%;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;align-content:stretch}.o-side__overlay{bottom:0;left:0;right:0;top:0;position:fixed;background:rgba(10,10,10,.86);z-index:38}.o-slide{background:transparent;width:100%}.o-slide__thumb{border:1px solid #b5b5b5;background:#ffffff}.o-slide__thumb--dragging{cursor:grabbing;filter:brightness(.8)}.o-slide__track{display:flex;align-items:center;position:relative;cursor:pointer;background:#dbdbdb}.o-slide__fill{position:absolute;height:100%;background:#445e00;top:50%;transform:translateY(-50%)}.o-slide .o-slide__track{height:.5rem}.o-slide .o-slide__thumb{height:1rem;width:1rem}.o-slide .o-slide__tick-label{position:absolute;left:50%;transform:translate(-50%)}.o-slide__tick{position:absolute;transform:translate(-50%,-50%);top:50%;width:3px;background:#445e00}.o-slide__tick--hidden{background:transparent}.o-slide__thumb-wrapper{display:inline-flex;align-items:center;position:absolute;cursor:grab;transform:translate(-50%,-50%);top:50%;flex-direction:column}.o-slide--disabled{cursor:not-allowed;pointer-events:none}.o-steps{display:flex;flex-wrap:wrap;margin:0;padding:0}.o-steps .o-steps__title{background-color:#fff;text-align:center;z-index:1}.o-steps .o-steps__wrapper-vertical .o-steps--label-left .o-steps__divider,.o-steps .o-steps__wrapper-vertical.o-steps__wrapper-position-right .o-steps--label-left .o-steps__divider{left:auto}.o-steps__nav-item{margin:0;padding:0;position:relative;flex-grow:1;flex-basis:1em}.o-steps__divider{background:linear-gradient(to left,#dbdbdb 50%,#445e00 50%);background-size:200% 100%;background-position:right bottom;content:" ";display:block;position:absolute;bottom:0;left:-50%;width:100%}.o-steps__content{position:relative;overflow:visible;display:flex;flex-direction:column}.o-steps__content-transitioning{overflow:hidden}.o-steps--animated .o-steps__divider{transition-property:background}.o-steps__link{display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;text-decoration:none}.o-steps__link-label-right{flex-direction:row}.o-steps__link-label-left{flex-direction:row-reverse}.o-steps__link:hover{text-decoration:none}.o-steps__link:not(.o-steps__link-clickable){cursor:not-allowed}.o-steps__marker{align-items:center;display:flex;justify-content:center;background:#b5b5b5;color:#fff;border:.2em solid #fff;z-index:1;overflow:hidden}.o-steps__details{background-color:#fff;text-align:center;z-index:1}.o-steps__nav-item-active .o-steps__link{cursor:default}.o-steps__nav-item-active .o-steps__marker{background-color:#fff;border-color:#445e00;color:#445e00}.o-steps__nav-item-active .o-steps__divider{background-position:left bottom}.o-steps__nav-item-previous .o-steps__marker{color:#fff;background-color:#445e00}.o-steps__nav-item-previous .o-steps__divider{background-position:left bottom}.o-steps__item{flex-shrink:0;flex-basis:auto}.o-steps__wrapper-vertical{display:flex;flex-direction:row;flex-wrap:wrap}.o-steps__wrapper-vertical .o-steps{height:100%;flex-direction:column}.o-steps__wrapper-vertical .o-steps__divider{height:100%;top:-50%;left:calc(50% - .1em)}.o-steps__wrapper-vertical .o-steps__item-active .o-steps__divider,.o-steps__wrapper-vertical .o-steps__item-previous .o-steps__divider{background-position:right top}.o-steps__wrapper-vertical .o-steps__nav-item{width:100%;display:flex;align-items:center;justify-content:center}.o-steps__wrapper-vertical .o-steps__content{flex-grow:1;flex-basis:70%}.o-steps__wrapper-vertical .o-steps__navigation{flex-basis:100%}.o-steps__wrapper-vertical.o-steps__wrapper-position-right{flex-direction:row-reverse}.o-steps--mobile .o-steps__title{display:none;padding:0}.o-switch{cursor:pointer;display:inline-flex;align-items:center;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-switch--left{flex-direction:row-reverse}.o-switch--left .o-switch__label{margin-left:0}.o-switch__check-switch{content:"";display:block;height:1.175em;width:1.175em;background:#f5f5f5;transition-property:transform;will-change:transform;transform-origin:left}.o-switch__check{display:flex;align-items:center;flex-shrink:0;width:2.75em;height:1.575em;padding:.2em;background:#b5b5b5;transition-property:background}.o-switch__check--checked{background:#445e00}.o-switch__check--checked .o-switch__check-switch{transform:translate3d(100%,0,0)}.o-switch__input{position:absolute;left:0;opacity:0;z-index:-1}.o-switch--rounded{border-radius:9999px}.o-switch--disabled{opacity:.5}.o-table{display:table;width:100%;border-collapse:separate;border-spacing:0}.o-table__root{position:relative}.o-table__wrapper{transition:opacity .3s ease-out;position:relative}.o-table__wrapper--sticky-header{overflow-y:auto}.o-table__wrapper--sticky-header th{position:-webkit-sticky;position:sticky;left:0;top:0}.o-table__wrapper--scrollable{-webkit-overflow-scrolling:touch;overflow-x:auto;max-width:100%}.o-table__wrapper--mobile{overflow-x:auto}.o-table__wrapper--mobile .o-table__mobile-sort{display:block}.o-table__wrapper--mobile .o-table{background-color:transparent}.o-table__wrapper--mobile thead tr{box-shadow:none;border-width:0}.o-table__wrapper--mobile thead tr th{display:none}.o-table__wrapper--mobile thead tr .o-table-th-checkbox{display:block;width:100%;text-align:right;border:0}.o-table__wrapper--mobile tfoot th{border:0;display:inherit}.o-table__wrapper--mobile tr{max-width:100%;position:relative;display:block}.o-table__wrapper--mobile tr td{border:0;display:inherit}.o-table__wrapper--mobile tr td:last-child{border-bottom:0}.o-table__wrapper--mobile tr:not(.o-table__tr--selected){background:inherit;background:#fff}.o-table__wrapper--mobile tr:not(.o-table__tr--selected):hover{background-color:inherit;background-color:#fff}.o-table__wrapper--mobile tr:not(.o-table--detailed):not(.o-table--empty):not(.o-table__footer) td{display:flex;width:auto;justify-content:space-between;text-align:right}.o-table__wrapper--mobile tr:not(.o-table--detailed):not(.o-table--empty):not(.o-table__footer) td:before{content:attr(data-label)}.o-table__mobile-sort{display:none}.o-table__th{vertical-align:top;text-align:left;position:relative}.o-table__th--centered{text-align:center}.o-table__th--right{text-align:right}.o-table__th__sort-icon{position:absolute;right:0}.o-table__th--sortable{cursor:pointer}.o-table__th--sticky{position:-webkit-sticky;position:sticky;left:0;top:0}.o-table__th--unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.o-table__td{vertical-align:top;text-align:left}.o-table__td--sticky{position:-webkit-sticky;position:sticky;left:0}.o-table__td--right{text-align:right}.o-table__td--centered{text-align:center}.o-table__td-chevron{vertical-align:middle}.o-table__tr--selected{background-color:#445e00;color:#fff}.o-table__pagination{align-items:center;justify-content:space-between;display:flex}.o-table__pagination>div:first-child{align-items:center;justify-content:flex-start}.o-table__pagination>div:last-child{align-items:center;justify-content:flex-end}.o-table__pagination>div:last-child>div{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.o-table__pagination>div{flex-basis:auto;flex-grow:0;flex-shrink:0}.o-tabs--fullwidth{width:100%}.o-tabs--fullwidth .o-tabs__nav-item-wrapper{flex-grow:1;flex-shrink:0}.o-tabs--fullwidth .o-tabs__nav-item-default,.o-tabs--fullwidth .o-tabs__nav-item-boxed,.o-tabs--fullwidth .o-tabs__nav-item-toggle{height:100%}.o-tabs--vertical{display:flex;flex-direction:row}.o-tabs--vertical .o-tabs__nav{flex-direction:column;align-items:stretch;flex-grow:0;border-bottom:none}.o-tabs--vertical .o-tabs__nav-item-boxed{border-bottom-color:transparent}.o-tabs--vertical .o-tabs__nav-item-boxed--active{border-right-color:transparent}.o-tabs--right{flex-direction:row-reverse}.o-tabs--right .o-tabs__nav-item-boxed{border-bottom-color:transparent;border-right-color:transparent}.o-tabs--right .o-tabs__nav-item-boxed--active{border-left-color:transparent}.o-tabs__nav{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:0;padding:0;align-items:center;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start;overflow-x:auto}.o-tabs__nav--centered{justify-content:center}.o-tabs__nav--right{justify-content:flex-end}.o-tabs__nav-item-default{-moz-appearance:none;-webkit-appearance:none;width:100%;margin:0 0 -1px;padding:0;border:1px solid transparent;background-color:transparent;align-items:center;line-height:1.5;color:#4a4a4a;display:flex;justify-content:center;vertical-align:top;cursor:pointer;text-decoration:none}.o-tabs__nav-item-default--active{border-bottom-color:#445e00;color:#445e00}.o-tabs__nav-item-default--disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.o-tabs__nav-item-boxed{-moz-appearance:none;-webkit-appearance:none;width:100%;margin:0 0 -1px;padding:0;border:1px solid transparent;background-color:transparent;align-items:center;line-height:1.5;color:#4a4a4a;display:flex;justify-content:center;vertical-align:top;cursor:pointer;text-decoration:none;border-bottom-color:transparent}.o-tabs__nav-item-boxed--active{border-bottom-color:#445e00;color:#445e00}.o-tabs__nav-item-boxed--disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.o-tabs__nav-item-toggle{-moz-appearance:none;-webkit-appearance:none;width:100%;margin:0;padding:0;border:1px solid transparent;background-color:transparent;align-items:center;line-height:1.5;color:#4a4a4a;display:flex;justify-content:center;vertical-align:top;cursor:pointer;text-decoration:none;position:relative}.o-tabs__nav-item-toggle--disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.o-tabs__content{position:relative;overflow:visible;display:flex;flex-direction:column;flex-grow:1}.o-tabs__content--transitioning{overflow:hidden}.o-tpck__dropdown{width:100%}.o-tpck__box{display:flex;justify-content:center;align-items:center}.o-tpck__select{-moz-appearance:none;-webkit-appearance:none;display:inline-block;position:relative;vertical-align:top;cursor:pointer;justify-content:flex-start;align-items:center;border:0;font-size:inherit}.o-tpck__select-placeholder{opacity:.5}.o-tip{position:relative;display:inline-flex}.o-tip__arrow--top{top:100%;right:auto;bottom:auto;left:50%;transform:translate(-50%);border-top-style:solid;border-top-width:5px;border-right-style:solid;border-right-color:transparent;border-left-style:solid;border-left-color:transparent;border-right-width:5px;border-left-width:5px}.o-tip__content--top{top:auto;right:auto;bottom:calc(7px + 100%);left:50%;transform:translate(-50%)}.o-tip__arrow--right{top:50%;right:100%;bottom:auto;left:auto;transform:translateY(-50%);border-right-style:solid;border-right-width:5px;border-top-style:solid;border-top-color:transparent;border-bottom-style:solid;border-bottom-color:transparent;border-top-width:5px;border-bottom-width:5px}.o-tip__content--right{top:50%;right:auto;bottom:auto;left:calc(7px + 100%);transform:translateY(-50%)}.o-tip__arrow--bottom{top:auto;right:auto;bottom:100%;left:50%;transform:translate(-50%);border-bottom-style:solid;border-bottom-width:5px;border-right-style:solid;border-right-color:transparent;border-left-style:solid;border-left-color:transparent;border-right-width:5px;border-left-width:5px}.o-tip__content--bottom{top:calc(7px + 100%);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.o-tip__arrow--left{top:50%;right:auto;bottom:auto;left:100%;transform:translateY(-50%);border-left-style:solid;border-left-width:5px;border-top-style:solid;border-top-color:transparent;border-bottom-style:solid;border-bottom-color:transparent;border-top-width:5px;border-bottom-width:5px}.o-tip__content--left{top:50%;right:calc(7px + 100%);bottom:auto;left:auto;transform:translateY(-50%)}.o-tip__arrow{position:absolute;content:"";pointer-events:none;z-index:38;color:#445e00}.o-tip__content{position:absolute;white-space:nowrap;z-index:38;background-color:#445e00}.o-tip__content--always{opacity:1;visibility:visible}.o-tip__content--multiline{text-align:center;white-space:normal}.o-tip__trigger{width:100%}.o-upl{position:relative;display:inline-flex}.o-upl--disabled{cursor:not-allowed}.o-upl--expanded{width:100%}.o-upl__draggable{cursor:pointer;width:100%}.o-upl input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:-1}.modal-close:before,.delete:before,.modal-close:after,.delete:after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}code,pre{border-radius:6px}.has-border-top-shade-3{border-top:2px solid #282e33!important}.has-border-left-shade-3{border-left:2px solid #282e33!important}.has-border-bottom-shade-3{border-bottom:2px solid #282e33!important}.has-border-right-shade-3{border-right:2px solid #282e33!important}/*! bulma.io v0.9.4 | MIT License | github.com/jgthms/bulma */.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.file-cta,.file-name,.select select,.taginput .taginput-container.is-focusable,.textarea,.input,.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(.5em - 1px);padding-left:calc(.75em - 1px);padding-right:calc(.75em - 1px);padding-top:calc(.5em - 1px);position:relative;vertical-align:top}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus,.pagination-ellipsis:focus,.file-cta:focus,.file-name:focus,.select select:focus,.taginput .taginput-container.is-focusable:focus,.textarea:focus,.input:focus,.button:focus,.is-focused.pagination-previous,.is-focused.pagination-next,.is-focused.pagination-link,.is-focused.pagination-ellipsis,.is-focused.file-cta,.is-focused.file-name,.select select.is-focused,.taginput .is-focused.taginput-container.is-focusable,.is-focused.textarea,.is-focused.input,.is-focused.button,.pagination-previous:active,.pagination-next:active,.pagination-link:active,.pagination-ellipsis:active,.file-cta:active,.file-name:active,.select select:active,.taginput .taginput-container.is-focusable:active,.textarea:active,.input:active,.button:active,.is-active.pagination-previous,.is-active.pagination-next,.is-active.pagination-link,.is-active.pagination-ellipsis,.is-active.file-cta,.is-active.file-name,.select select.is-active,.taginput .is-active.taginput-container.is-focusable,.is-active.textarea,.is-active.input,.is-active.button{outline:none}[disabled].pagination-previous,[disabled].pagination-next,[disabled].pagination-link,[disabled].pagination-ellipsis,[disabled].file-cta,[disabled].file-name,.select select[disabled],.taginput [disabled].taginput-container.is-focusable,[disabled].textarea,[disabled].input,[disabled].button,fieldset[disabled] .pagination-previous,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .taginput .taginput-container.is-focusable,.taginput fieldset[disabled] .taginput-container.is-focusable,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] .button{cursor:not-allowed}.carousel,.b-radio.radio,.b-checkbox.checkbox,.switch,.is-unselectable,.tabs,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.breadcrumb,.file,.button{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless):after,.select:not(.is-multiple):not(.is-loading):after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:.625em}.tabs:not(:last-child),.pagination:not(:last-child),.message:not(:last-child),.level:not(:last-child),.breadcrumb:not(:last-child),.block:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.progress:not(:last-child),.notification:not(:last-child),.content:not(:last-child),.box:not(:last-child){margin-bottom:1.5rem}.modal-close,.delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-moz-appearance:none;-webkit-appearance:none;background-color:#0a0a0a33;border:none;border-radius:9999px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.modal-close:before,.delete:before,.modal-close:after,.delete:after{background-color:#18191d;content:"";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.modal-close:before,.delete:before{height:2px;width:50%}.modal-close:after,.delete:after{height:50%;width:2px}.modal-close:hover,.delete:hover,.modal-close:focus,.delete:focus{background-color:#0a0a0a4d}.modal-close:active,.delete:active{background-color:#0a0a0a66}.is-small.modal-close,.is-small.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.modal-close,.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.modal-close,.is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.control.is-loading:after,.select.is-loading:after,.loader,.button.is-loading:after{animation:spinAround .5s infinite linear;border:2px solid hsl(0,0%,86%);border-radius:9999px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.is-overlay,.modal-background,.modal,.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio{bottom:0;left:0;position:absolute;right:0;top:0}.navbar-burger{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0}/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}html{background-color:#18191d;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,optgroup,select,textarea{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#fff;font-size:1em;font-weight:400;line-height:1.5}a{color:#2da192;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#39c8b5}code{background-color:#282e33;color:#ffedbd;font-size:.875em;font-weight:400;padding:.25em .5em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#f2f2f2;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#33393f;color:#fff;font-size:.875em;overflow-x:auto;padding:1rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:inherit}table th{color:#f2f2f2}@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.box{background-color:#18191d;border-radius:6px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;color:#fff;display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #2da192}a.box:active{box-shadow:inset 0 1px 2px #0a0a0a33,0 0 0 1px #2da192}.button{background-color:#18191d;border-color:#242424;border-width:1px;color:#f2f2f2;cursor:pointer;justify-content:center;padding-bottom:calc(.5em - 1px);padding-left:1em;padding-right:1em;padding-top:calc(.5em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-small,.button .icon.is-medium,.button .icon.is-large{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.5em - 1px);margin-right:calc(-.5em - 1px)}.button:hover,.button.is-hovered{border-color:#b5b5b5;color:#39c8b5}.button:focus,.button.is-focused{border-color:#2da192;color:#0a0a0a}.button:focus:not(:active),.button.is-focused:not(:active){box-shadow:0 0 0 .125em #2da19240}.button:active,.button.is-active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#fff;text-decoration:underline}.button.is-text:hover,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text.is-focused{background-color:#f5f5f5;color:#f2f2f2}.button.is-text:active,.button.is-text.is-active{background-color:#e8e8e8;color:#f2f2f2}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-ghost{background:none;border-color:transparent;color:#2da192;text-decoration:none}.button.is-ghost:hover,.button.is-ghost.is-hovered{color:#2da192;text-decoration:underline}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover,.button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white:focus,.button.is-white.is-focused{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active),.button.is-white.is-focused:not(:active){box-shadow:0 0 0 .125em #ffffff40}.button.is-white:active,.button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:#fff;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover,.button.is-white.is-inverted.is-hovered{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:hover,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-white.is-outlined.is-loading:hover:after,.button.is-white.is-outlined.is-loading.is-hovered:after,.button.is-white.is-outlined.is-loading:focus:after,.button.is-white.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:hover,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading:hover:after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-white.is-inverted.is-outlined.is-loading:focus:after,.button.is-white.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover,.button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus,.button.is-black.is-focused{border-color:transparent;color:#fff}.button.is-black:focus:not(:active),.button.is-black.is-focused:not(:active){box-shadow:0 0 0 .125em #0a0a0a40}.button.is-black:active,.button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:#0a0a0a;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover,.button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:hover,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-black.is-outlined.is-loading:hover:after,.button.is-black.is-outlined.is-loading.is-hovered:after,.button.is-black.is-outlined.is-loading:focus:after,.button.is-black.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,100%) hsl(0,0%,100%)!important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:hover,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading:hover:after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-black.is-inverted.is-outlined.is-loading:focus:after,.button.is-black.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,4%) hsl(0,0%,4%)!important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#000000b3}.button.is-light:hover,.button.is-light.is-hovered{background-color:#eee;border-color:transparent;color:#000000b3}.button.is-light:focus,.button.is-light.is-focused{border-color:transparent;color:#000000b3}.button.is-light:focus:not(:active),.button.is-light.is-focused:not(:active){box-shadow:0 0 0 .125em #f5f5f540}.button.is-light:active,.button.is-light.is-active{background-color:#e8e8e8;border-color:transparent;color:#000000b3}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none}.button.is-light.is-inverted{background-color:#000000b3;color:#f5f5f5}.button.is-light.is-inverted:hover,.button.is-light.is-inverted.is-hovered{background-color:#000000b3}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#000000b3;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:hover,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined.is-focused{background-color:#f5f5f5;border-color:#f5f5f5;color:#000000b3}.button.is-light.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,96%) hsl(0,0%,96%)!important}.button.is-light.is-outlined.is-loading:hover:after,.button.is-light.is-outlined.is-loading.is-hovered:after,.button.is-light.is-outlined.is-loading:focus:after,.button.is-light.is-outlined.is-loading.is-focused:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;color:#000000b3}.button.is-light.is-inverted.is-outlined:hover,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined.is-focused{background-color:#000000b3;color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading:hover:after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-light.is-inverted.is-outlined.is-loading:focus:after,.button.is-light.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,96%) hsl(0,0%,96%)!important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;box-shadow:none;color:#000000b3}.button.is-dark{background-color:#363636;border-color:transparent;color:#fff}.button.is-dark:hover,.button.is-dark.is-hovered{background-color:#2f2f2f;border-color:transparent;color:#fff}.button.is-dark:focus,.button.is-dark.is-focused{border-color:transparent;color:#fff}.button.is-dark:focus:not(:active),.button.is-dark.is-focused:not(:active){box-shadow:0 0 0 .125em #36363640}.button.is-dark:active,.button.is-dark.is-active{background-color:#292929;border-color:transparent;color:#fff}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:#363636;box-shadow:none}.button.is-dark.is-inverted{background-color:#fff;color:#363636}.button.is-dark.is-inverted:hover,.button.is-dark.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:hover,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined.is-focused{background-color:#363636;border-color:#363636;color:#fff}.button.is-dark.is-outlined.is-loading:after{border-color:transparent transparent hsl(0,0%,21%) hsl(0,0%,21%)!important}.button.is-dark.is-outlined.is-loading:hover:after,.button.is-dark.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-outlined.is-loading:focus:after,.button.is-dark.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-dark.is-inverted.is-outlined:hover,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined.is-focused{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading:hover:after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-dark.is-inverted.is-outlined.is-loading:focus:after,.button.is-dark.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(0,0%,21%) hsl(0,0%,21%)!important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary{background-color:#2da192;border-color:transparent;color:#fff}.button.is-primary:hover,.button.is-primary.is-hovered{background-color:#2a9789;border-color:transparent;color:#fff}.button.is-primary:focus,.button.is-primary.is-focused{border-color:transparent;color:#fff}.button.is-primary:focus:not(:active),.button.is-primary.is-focused:not(:active){box-shadow:0 0 0 .125em #2da19240}.button.is-primary:active,.button.is-primary.is-active{background-color:#278d80;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#2da192;border-color:#2da192;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#2da192}.button.is-primary.is-inverted:hover,.button.is-primary.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#2da192}.button.is-primary.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined{background-color:transparent;border-color:#2da192;color:#2da192}.button.is-primary.is-outlined:hover,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined.is-focused{background-color:#2da192;border-color:#2da192;color:#fff}.button.is-primary.is-outlined.is-loading:after{border-color:transparent transparent #2da192 #2da192!important}.button.is-primary.is-outlined.is-loading:hover:after,.button.is-primary.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-outlined.is-loading:focus:after,.button.is-primary.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#2da192;box-shadow:none;color:#2da192}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:hover,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined.is-focused{background-color:#fff;color:#2da192}.button.is-primary.is-inverted.is-outlined.is-loading:hover:after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-primary.is-inverted.is-outlined.is-loading:focus:after,.button.is-primary.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #2da192 #2da192!important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#3e8ed0;border-color:transparent;color:#fff}.button.is-info:hover,.button.is-info.is-hovered{background-color:#3488ce;border-color:transparent;color:#fff}.button.is-info:focus,.button.is-info.is-focused{border-color:transparent;color:#fff}.button.is-info:focus:not(:active),.button.is-info.is-focused:not(:active){box-shadow:0 0 0 .125em #3e8ed040}.button.is-info:active,.button.is-info.is-active{background-color:#3082c5;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#3e8ed0;border-color:#3e8ed0;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#3e8ed0}.button.is-info.is-inverted:hover,.button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3e8ed0}.button.is-info.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined{background-color:transparent;border-color:#3e8ed0;color:#3e8ed0}.button.is-info.is-outlined:hover,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined.is-focused{background-color:#3e8ed0;border-color:#3e8ed0;color:#fff}.button.is-info.is-outlined.is-loading:after{border-color:transparent transparent hsl(207,61%,53%) hsl(207,61%,53%)!important}.button.is-info.is-outlined.is-loading:hover:after,.button.is-info.is-outlined.is-loading.is-hovered:after,.button.is-info.is-outlined.is-loading:focus:after,.button.is-info.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#3e8ed0;box-shadow:none;color:#3e8ed0}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:hover,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#3e8ed0}.button.is-info.is-inverted.is-outlined.is-loading:hover:after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-info.is-inverted.is-outlined.is-loading:focus:after,.button.is-info.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(207,61%,53%) hsl(207,61%,53%)!important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#48c78e;border-color:transparent;color:#fff}.button.is-success:hover,.button.is-success.is-hovered{background-color:#3ec487;border-color:transparent;color:#fff}.button.is-success:focus,.button.is-success.is-focused{border-color:transparent;color:#fff}.button.is-success:focus:not(:active),.button.is-success.is-focused:not(:active){box-shadow:0 0 0 .125em #48c78e40}.button.is-success:active,.button.is-success.is-active{background-color:#3abb81;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#48c78e;border-color:#48c78e;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#48c78e}.button.is-success.is-inverted:hover,.button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#48c78e}.button.is-success.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined{background-color:transparent;border-color:#48c78e;color:#48c78e}.button.is-success.is-outlined:hover,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined.is-focused{background-color:#48c78e;border-color:#48c78e;color:#fff}.button.is-success.is-outlined.is-loading:after{border-color:transparent transparent hsl(153,53%,53%) hsl(153,53%,53%)!important}.button.is-success.is-outlined.is-loading:hover:after,.button.is-success.is-outlined.is-loading.is-hovered:after,.button.is-success.is-outlined.is-loading:focus:after,.button.is-success.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#48c78e;box-shadow:none;color:#48c78e}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:hover,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#48c78e}.button.is-success.is-inverted.is-outlined.is-loading:hover:after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-success.is-inverted.is-outlined.is-loading:focus:after,.button.is-success.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(153,53%,53%) hsl(153,53%,53%)!important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffe08a;border-color:transparent;color:#000000b3}.button.is-warning:hover,.button.is-warning.is-hovered{background-color:#ffdc7d;border-color:transparent;color:#000000b3}.button.is-warning:focus,.button.is-warning.is-focused{border-color:transparent;color:#000000b3}.button.is-warning:focus:not(:active),.button.is-warning.is-focused:not(:active){box-shadow:0 0 0 .125em #ffe08a40}.button.is-warning:active,.button.is-warning.is-active{background-color:#ffd970;border-color:transparent;color:#000000b3}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffe08a;border-color:#ffe08a;box-shadow:none}.button.is-warning.is-inverted{background-color:#000000b3;color:#ffe08a}.button.is-warning.is-inverted:hover,.button.is-warning.is-inverted.is-hovered{background-color:#000000b3}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:#000000b3;border-color:transparent;box-shadow:none;color:#ffe08a}.button.is-warning.is-loading:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;color:#ffe08a}.button.is-warning.is-outlined:hover,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined.is-focused{background-color:#ffe08a;border-color:#ffe08a;color:#000000b3}.button.is-warning.is-outlined.is-loading:after{border-color:transparent transparent hsl(44,100%,77%) hsl(44,100%,77%)!important}.button.is-warning.is-outlined.is-loading:hover:after,.button.is-warning.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-outlined.is-loading:focus:after,.button.is-warning.is-outlined.is-loading.is-focused:after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;box-shadow:none;color:#ffe08a}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;color:#000000b3}.button.is-warning.is-inverted.is-outlined:hover,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined.is-focused{background-color:#000000b3;color:#ffe08a}.button.is-warning.is-inverted.is-outlined.is-loading:hover:after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-warning.is-inverted.is-outlined.is-loading:focus:after,.button.is-warning.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(44,100%,77%) hsl(44,100%,77%)!important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#000000b3;box-shadow:none;color:#000000b3}.button.is-danger{background-color:#f14668;border-color:transparent;color:#fff}.button.is-danger:hover,.button.is-danger.is-hovered{background-color:#f03a5f;border-color:transparent;color:#fff}.button.is-danger:focus,.button.is-danger.is-focused{border-color:transparent;color:#fff}.button.is-danger:focus:not(:active),.button.is-danger.is-focused:not(:active){box-shadow:0 0 0 .125em #f1466840}.button.is-danger:active,.button.is-danger.is-active{background-color:#ef2e55;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#f14668;border-color:#f14668;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#f14668}.button.is-danger.is-inverted:hover,.button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#f14668}.button.is-danger.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined{background-color:transparent;border-color:#f14668;color:#f14668}.button.is-danger.is-outlined:hover,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined.is-focused{background-color:#f14668;border-color:#f14668;color:#fff}.button.is-danger.is-outlined.is-loading:after{border-color:transparent transparent hsl(348,86%,61%) hsl(348,86%,61%)!important}.button.is-danger.is-outlined.is-loading:hover:after,.button.is-danger.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-outlined.is-loading:focus:after,.button.is-danger.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#f14668;box-shadow:none;color:#f14668}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:hover,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#f14668}.button.is-danger.is-inverted.is-outlined.is-loading:hover:after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-danger.is-inverted.is-outlined.is-loading:focus:after,.button.is-danger.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent hsl(348,86%,61%) hsl(348,86%,61%)!important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-1{background-color:#3d444b;border-color:transparent;color:#fff}.button.is-shade-1:hover,.button.is-shade-1.is-hovered{background-color:#373e44;border-color:transparent;color:#fff}.button.is-shade-1:focus,.button.is-shade-1.is-focused{border-color:transparent;color:#fff}.button.is-shade-1:focus:not(:active),.button.is-shade-1.is-focused:not(:active){box-shadow:0 0 0 .125em #3d444b40}.button.is-shade-1:active,.button.is-shade-1.is-active{background-color:#32373d;border-color:transparent;color:#fff}.button.is-shade-1[disabled],fieldset[disabled] .button.is-shade-1{background-color:#3d444b;border-color:#3d444b;box-shadow:none}.button.is-shade-1.is-inverted{background-color:#fff;color:#3d444b}.button.is-shade-1.is-inverted:hover,.button.is-shade-1.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-1.is-inverted[disabled],fieldset[disabled] .button.is-shade-1.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3d444b}.button.is-shade-1.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-1.is-outlined{background-color:transparent;border-color:#3d444b;color:#3d444b}.button.is-shade-1.is-outlined:hover,.button.is-shade-1.is-outlined.is-hovered,.button.is-shade-1.is-outlined:focus,.button.is-shade-1.is-outlined.is-focused{background-color:#3d444b;border-color:#3d444b;color:#fff}.button.is-shade-1.is-outlined.is-loading:after{border-color:transparent transparent #3d444b #3d444b!important}.button.is-shade-1.is-outlined.is-loading:hover:after,.button.is-shade-1.is-outlined.is-loading.is-hovered:after,.button.is-shade-1.is-outlined.is-loading:focus:after,.button.is-shade-1.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-1.is-outlined[disabled],fieldset[disabled] .button.is-shade-1.is-outlined{background-color:transparent;border-color:#3d444b;box-shadow:none;color:#3d444b}.button.is-shade-1.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-1.is-inverted.is-outlined:hover,.button.is-shade-1.is-inverted.is-outlined.is-hovered,.button.is-shade-1.is-inverted.is-outlined:focus,.button.is-shade-1.is-inverted.is-outlined.is-focused{background-color:#fff;color:#3d444b}.button.is-shade-1.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-1.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-1.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-1.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #3d444b #3d444b!important}.button.is-shade-1.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-1.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-2{background-color:#33393f;border-color:transparent;color:#fff}.button.is-shade-2:hover,.button.is-shade-2.is-hovered{background-color:#2d3338;border-color:transparent;color:#fff}.button.is-shade-2:focus,.button.is-shade-2.is-focused{border-color:transparent;color:#fff}.button.is-shade-2:focus:not(:active),.button.is-shade-2.is-focused:not(:active){box-shadow:0 0 0 .125em #33393f40}.button.is-shade-2:active,.button.is-shade-2.is-active{background-color:#282c31;border-color:transparent;color:#fff}.button.is-shade-2[disabled],fieldset[disabled] .button.is-shade-2{background-color:#33393f;border-color:#33393f;box-shadow:none}.button.is-shade-2.is-inverted{background-color:#fff;color:#33393f}.button.is-shade-2.is-inverted:hover,.button.is-shade-2.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-2.is-inverted[disabled],fieldset[disabled] .button.is-shade-2.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#33393f}.button.is-shade-2.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-2.is-outlined{background-color:transparent;border-color:#33393f;color:#33393f}.button.is-shade-2.is-outlined:hover,.button.is-shade-2.is-outlined.is-hovered,.button.is-shade-2.is-outlined:focus,.button.is-shade-2.is-outlined.is-focused{background-color:#33393f;border-color:#33393f;color:#fff}.button.is-shade-2.is-outlined.is-loading:after{border-color:transparent transparent #33393f #33393f!important}.button.is-shade-2.is-outlined.is-loading:hover:after,.button.is-shade-2.is-outlined.is-loading.is-hovered:after,.button.is-shade-2.is-outlined.is-loading:focus:after,.button.is-shade-2.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-2.is-outlined[disabled],fieldset[disabled] .button.is-shade-2.is-outlined{background-color:transparent;border-color:#33393f;box-shadow:none;color:#33393f}.button.is-shade-2.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-2.is-inverted.is-outlined:hover,.button.is-shade-2.is-inverted.is-outlined.is-hovered,.button.is-shade-2.is-inverted.is-outlined:focus,.button.is-shade-2.is-inverted.is-outlined.is-focused{background-color:#fff;color:#33393f}.button.is-shade-2.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-2.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-2.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-2.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #33393f #33393f!important}.button.is-shade-2.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-2.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-3{background-color:#282e33;border-color:transparent;color:#fff}.button.is-shade-3:hover,.button.is-shade-3.is-hovered{background-color:#22282c;border-color:transparent;color:#fff}.button.is-shade-3:focus,.button.is-shade-3.is-focused{border-color:transparent;color:#fff}.button.is-shade-3:focus:not(:active),.button.is-shade-3.is-focused:not(:active){box-shadow:0 0 0 .125em #282e3340}.button.is-shade-3:active,.button.is-shade-3.is-active{background-color:#1d2125;border-color:transparent;color:#fff}.button.is-shade-3[disabled],fieldset[disabled] .button.is-shade-3{background-color:#282e33;border-color:#282e33;box-shadow:none}.button.is-shade-3.is-inverted{background-color:#fff;color:#282e33}.button.is-shade-3.is-inverted:hover,.button.is-shade-3.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-3.is-inverted[disabled],fieldset[disabled] .button.is-shade-3.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#282e33}.button.is-shade-3.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-3.is-outlined{background-color:transparent;border-color:#282e33;color:#282e33}.button.is-shade-3.is-outlined:hover,.button.is-shade-3.is-outlined.is-hovered,.button.is-shade-3.is-outlined:focus,.button.is-shade-3.is-outlined.is-focused{background-color:#282e33;border-color:#282e33;color:#fff}.button.is-shade-3.is-outlined.is-loading:after{border-color:transparent transparent #282e33 #282e33!important}.button.is-shade-3.is-outlined.is-loading:hover:after,.button.is-shade-3.is-outlined.is-loading.is-hovered:after,.button.is-shade-3.is-outlined.is-loading:focus:after,.button.is-shade-3.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-3.is-outlined[disabled],fieldset[disabled] .button.is-shade-3.is-outlined{background-color:transparent;border-color:#282e33;box-shadow:none;color:#282e33}.button.is-shade-3.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-3.is-inverted.is-outlined:hover,.button.is-shade-3.is-inverted.is-outlined.is-hovered,.button.is-shade-3.is-inverted.is-outlined:focus,.button.is-shade-3.is-inverted.is-outlined.is-focused{background-color:#fff;color:#282e33}.button.is-shade-3.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-3.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-3.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-3.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #282e33 #282e33!important}.button.is-shade-3.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-3.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-shade-4{background-color:#18191d;border-color:transparent;color:#fff}.button.is-shade-4:hover,.button.is-shade-4.is-hovered{background-color:#121316;border-color:transparent;color:#fff}.button.is-shade-4:focus,.button.is-shade-4.is-focused{border-color:transparent;color:#fff}.button.is-shade-4:focus:not(:active),.button.is-shade-4.is-focused:not(:active){box-shadow:0 0 0 .125em #18191d40}.button.is-shade-4:active,.button.is-shade-4.is-active{background-color:#0c0d0f;border-color:transparent;color:#fff}.button.is-shade-4[disabled],fieldset[disabled] .button.is-shade-4{background-color:#18191d;border-color:#18191d;box-shadow:none}.button.is-shade-4.is-inverted{background-color:#fff;color:#18191d}.button.is-shade-4.is-inverted:hover,.button.is-shade-4.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-shade-4.is-inverted[disabled],fieldset[disabled] .button.is-shade-4.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#18191d}.button.is-shade-4.is-loading:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-4.is-outlined{background-color:transparent;border-color:#18191d;color:#18191d}.button.is-shade-4.is-outlined:hover,.button.is-shade-4.is-outlined.is-hovered,.button.is-shade-4.is-outlined:focus,.button.is-shade-4.is-outlined.is-focused{background-color:#18191d;border-color:#18191d;color:#fff}.button.is-shade-4.is-outlined.is-loading:after{border-color:transparent transparent #18191d #18191d!important}.button.is-shade-4.is-outlined.is-loading:hover:after,.button.is-shade-4.is-outlined.is-loading.is-hovered:after,.button.is-shade-4.is-outlined.is-loading:focus:after,.button.is-shade-4.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #fff #fff!important}.button.is-shade-4.is-outlined[disabled],fieldset[disabled] .button.is-shade-4.is-outlined{background-color:transparent;border-color:#18191d;box-shadow:none;color:#18191d}.button.is-shade-4.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-shade-4.is-inverted.is-outlined:hover,.button.is-shade-4.is-inverted.is-outlined.is-hovered,.button.is-shade-4.is-inverted.is-outlined:focus,.button.is-shade-4.is-inverted.is-outlined.is-focused{background-color:#fff;color:#18191d}.button.is-shade-4.is-inverted.is-outlined.is-loading:hover:after,.button.is-shade-4.is-inverted.is-outlined.is-loading.is-hovered:after,.button.is-shade-4.is-inverted.is-outlined.is-loading:focus:after,.button.is-shade-4.is-inverted.is-outlined.is-loading.is-focused:after{border-color:transparent transparent #18191d #18191d!important}.button.is-shade-4.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-shade-4.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small{font-size:.75rem}.button.is-small:not(.is-rounded){border-radius:2px}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#18191d;border-color:#242424;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent!important;pointer-events:none}.button.is-loading:after{position:absolute;left:calc(50% - .5em);top:calc(50% - .5em);position:absolute!important}.button.is-static{background-color:#f5f5f5;border-color:#242424;color:#fff;box-shadow:none;pointer-events:none}.button.is-rounded{border-radius:9999px;padding-left:1.25em;padding-right:1.25em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){font-size:.75rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded){border-radius:2px}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button:hover,.buttons.has-addons .button.is-hovered{z-index:2}.buttons.has-addons .button:focus,.buttons.has-addons .button.is-focused,.buttons.has-addons .button:active,.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-selected{z-index:3}.buttons.has-addons .button:focus:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-selected:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}@media screen and (max-width: 768px){.button.is-responsive.is-small{font-size:.5625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.65625rem}.button.is-responsive.is-medium{font-size:.75rem}.button.is-responsive.is-large{font-size:1rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.button.is-responsive.is-small{font-size:.65625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.75rem}.button.is-responsive.is-medium{font-size:1rem}.button.is-responsive.is-large{font-size:1.25rem}}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}.container.is-fluid{max-width:none!important;padding-left:32px;padding-right:32px;width:100%}@media screen and (min-width: 1024px){.container{max-width:960px}}@media screen and (max-width: 1215px){.container.is-widescreen:not(.is-max-desktop){max-width:1152px}}@media screen and (max-width: 1407px){.container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width: 1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width: 1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content p:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content ul:not(:last-child),.content blockquote:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#f2f2f2;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid hsl(0,0%,14%);padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1.25em 1.5em;white-space:pre;word-wrap:normal}.content sup,.content sub{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid hsl(0,0%,14%);border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.content table th{color:#f2f2f2}.content table th:not([align]){text-align:inherit}.content table thead td,.content table thead th{border-width:0 0 2px;color:#f2f2f2}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#f2f2f2}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-normal{font-size:1rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;line-height:1.5rem;vertical-align:top}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.25em}.icon-text .icon:not(:first-child){margin-left:.25em}div.icon-text{display:flex}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:9999px}.image.is-fullwidth{width:100%}.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio{height:100%;width:100%}.image.is-square,.image.is-1by1{padding-top:100%}.image.is-5by4{padding-top:80%}.image.is-4by3{padding-top:75%}.image.is-3by2{padding-top:66.6666%}.image.is-5by3{padding-top:60%}.image.is-16by9{padding-top:56.25%}.image.is-2by1{padding-top:50%}.image.is-3by1{padding-top:33.3333%}.image.is-4by5{padding-top:125%}.image.is-3by4{padding-top:133.3333%}.image.is-2by3{padding-top:150%}.image.is-3by5{padding-top:166.6666%}.image.is-9by16{padding-top:177.7777%}.image.is-1by2{padding-top:200%}.image.is-1by3{padding-top:300%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;position:relative;padding:1.25rem 2.5rem 1.25rem 1.5rem}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#18191d}.notification pre code{background:transparent}.notification>.delete{right:.5rem;position:absolute;top:.5rem}.notification .title,.notification .subtitle,.notification .content{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#000000b3}.notification.is-dark{background-color:#363636;color:#fff}.notification.is-primary{background-color:#2da192;color:#fff}.notification.is-info{background-color:#3e8ed0;color:#fff}.notification.is-success{background-color:#48c78e;color:#fff}.notification.is-warning{background-color:#ffe08a;color:#000000b3}.notification.is-danger{background-color:#f14668;color:#fff}.notification.is-shade-1{background-color:#3d444b;color:#fff}.notification.is-shade-2{background-color:#33393f;color:#fff}.notification.is-shade-3{background-color:#282e33;color:#fff}.notification.is-shade-4{background-color:#18191d;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#0a0a0a}.progress::-webkit-progress-value{background-color:#fff}.progress::-moz-progress-bar{background-color:#fff}.progress::-ms-fill{background-color:#fff;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,100%) 30%,hsl(0,0%,4%) 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,4%) 30%,hsl(0,0%,4%) 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,96%) 30%,hsl(0,0%,4%) 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right,hsl(0,0%,21%) 30%,hsl(0,0%,4%) 30%)}.progress.is-primary::-webkit-progress-value{background-color:#2da192}.progress.is-primary::-moz-progress-bar{background-color:#2da192}.progress.is-primary::-ms-fill{background-color:#2da192}.progress.is-primary:indeterminate{background-image:linear-gradient(to right,#2da192 30%,hsl(0,0%,4%) 30%)}.progress.is-info::-webkit-progress-value{background-color:#3e8ed0}.progress.is-info::-moz-progress-bar{background-color:#3e8ed0}.progress.is-info::-ms-fill{background-color:#3e8ed0}.progress.is-info:indeterminate{background-image:linear-gradient(to right,hsl(207,61%,53%) 30%,hsl(0,0%,4%) 30%)}.progress.is-success::-webkit-progress-value{background-color:#48c78e}.progress.is-success::-moz-progress-bar{background-color:#48c78e}.progress.is-success::-ms-fill{background-color:#48c78e}.progress.is-success:indeterminate{background-image:linear-gradient(to right,hsl(153,53%,53%) 30%,hsl(0,0%,4%) 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffe08a}.progress.is-warning::-moz-progress-bar{background-color:#ffe08a}.progress.is-warning::-ms-fill{background-color:#ffe08a}.progress.is-warning:indeterminate{background-image:linear-gradient(to right,hsl(44,100%,77%) 30%,hsl(0,0%,4%) 30%)}.progress.is-danger::-webkit-progress-value{background-color:#f14668}.progress.is-danger::-moz-progress-bar{background-color:#f14668}.progress.is-danger::-ms-fill{background-color:#f14668}.progress.is-danger:indeterminate{background-image:linear-gradient(to right,hsl(348,86%,61%) 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-1::-webkit-progress-value{background-color:#3d444b}.progress.is-shade-1::-moz-progress-bar{background-color:#3d444b}.progress.is-shade-1::-ms-fill{background-color:#3d444b}.progress.is-shade-1:indeterminate{background-image:linear-gradient(to right,#3d444b 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-2::-webkit-progress-value{background-color:#33393f}.progress.is-shade-2::-moz-progress-bar{background-color:#33393f}.progress.is-shade-2::-ms-fill{background-color:#33393f}.progress.is-shade-2:indeterminate{background-image:linear-gradient(to right,#33393f 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-3::-webkit-progress-value{background-color:#282e33}.progress.is-shade-3::-moz-progress-bar{background-color:#282e33}.progress.is-shade-3::-ms-fill{background-color:#282e33}.progress.is-shade-3:indeterminate{background-image:linear-gradient(to right,#282e33 30%,hsl(0,0%,4%) 30%)}.progress.is-shade-4::-webkit-progress-value{background-color:#18191d}.progress.is-shade-4::-moz-progress-bar{background-color:#18191d}.progress.is-shade-4::-ms-fill{background-color:#18191d}.progress.is-shade-4:indeterminate{background-image:linear-gradient(to right,#18191d 30%,hsl(0,0%,4%) 30%)}.progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#0a0a0a;background-image:linear-gradient(to right,#fff 30%,hsl(0,0%,4%) 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#18191d;color:#f2f2f2}.table td,.table th{border:1px solid hsl(0,0%,14%);border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#000000b3}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#fff}.table td.is-primary,.table th.is-primary{background-color:#2da192;border-color:#2da192;color:#fff}.table td.is-info,.table th.is-info{background-color:#3e8ed0;border-color:#3e8ed0;color:#fff}.table td.is-success,.table th.is-success{background-color:#48c78e;border-color:#48c78e;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffe08a;border-color:#ffe08a;color:#000000b3}.table td.is-danger,.table th.is-danger{background-color:#f14668;border-color:#f14668;color:#fff}.table td.is-shade-1,.table th.is-shade-1{background-color:#3d444b;border-color:#3d444b;color:#fff}.table td.is-shade-2,.table th.is-shade-2{background-color:#33393f;border-color:#33393f;color:#fff}.table td.is-shade-3,.table th.is-shade-3{background-color:#282e33;border-color:#282e33;color:#fff}.table td.is-shade-4,.table th.is-shade-4{background-color:#18191d;border-color:#18191d;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#2da192;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:#f2f2f2}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#2da192;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#f2f2f2}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#f2f2f2}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#33393f}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#33393f}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(2n){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:#33393f}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:.5rem}.tags .tag:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:.25rem;margin-left:.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.tags.has-addons .tag:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#fff;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:#000000b3}.tag:not(body).is-dark{background-color:#363636;color:#fff}.tag:not(body).is-primary{background-color:#2da192;color:#fff}.tag:not(body).is-info{background-color:#3e8ed0;color:#fff}.tag:not(body).is-success{background-color:#48c78e;color:#fff}.tag:not(body).is-warning{background-color:#ffe08a;color:#000000b3}.tag:not(body).is-danger{background-color:#f14668;color:#fff}.tag:not(body).is-shade-1{background-color:#3d444b;color:#fff}.tag:not(body).is-shade-2{background-color:#33393f;color:#fff}.tag:not(body).is-shade-3{background-color:#282e33;color:#fff}.tag:not(body).is-shade-4{background-color:#18191d;color:#fff}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete:before,.tag:not(body).is-delete:after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag:not(body).is-delete:before{height:1px;width:50%}.tag:not(body).is-delete:after{height:50%;width:1px}.tag:not(body).is-delete:hover,.tag:not(body).is-delete:focus{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:9999px}a.tag:hover{text-decoration:underline}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sub,.subtitle sub,.title sup,.subtitle sup{font-size:.75em}.title .tag,.subtitle .tag{vertical-align:middle}.title{color:#f2f2f2;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#fff;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#f2f2f2;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.number{align-items:center;background-color:#f5f5f5;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.select select,.taginput .taginput-container.is-focusable,.textarea,.input{background-color:#3d444b;border-color:#242424;border-radius:4px;color:#f2f2f2}.select select::-moz-placeholder,.taginput .taginput-container.is-focusable::-moz-placeholder,.textarea::-moz-placeholder,.input::-moz-placeholder{color:#f2f2f24d}.select select::-webkit-input-placeholder,.taginput .taginput-container.is-focusable::-webkit-input-placeholder,.textarea::-webkit-input-placeholder,.input::-webkit-input-placeholder{color:#f2f2f24d}.select select:-moz-placeholder,.taginput .taginput-container.is-focusable:-moz-placeholder,.textarea:-moz-placeholder,.input:-moz-placeholder{color:#f2f2f24d}.select select:-ms-input-placeholder,.taginput .taginput-container.is-focusable:-ms-input-placeholder,.textarea:-ms-input-placeholder,.input:-ms-input-placeholder{color:#f2f2f24d}.select select:hover,.taginput .taginput-container.is-focusable:hover,.textarea:hover,.input:hover,.select select.is-hovered,.taginput .is-hovered.taginput-container.is-focusable,.is-hovered.textarea,.is-hovered.input{border-color:#121212}.select select:focus,.taginput .taginput-container.is-focusable:focus,.textarea:focus,.input:focus,.select select.is-focused,.taginput .is-focused.taginput-container.is-focusable,.is-focused.textarea,.is-focused.input,.select select:active,.taginput .taginput-container.is-focusable:active,.textarea:active,.input:active,.select select.is-active,.taginput .is-active.taginput-container.is-focusable,.is-active.textarea,.is-active.input{border-color:#2da192;box-shadow:0 0 0 .125em #2da19240}.select select[disabled],.taginput [disabled].taginput-container.is-focusable,[disabled].textarea,[disabled].input,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .taginput .taginput-container.is-focusable,.taginput fieldset[disabled] .taginput-container.is-focusable,fieldset[disabled] .textarea,fieldset[disabled] .input{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#fff}.select select[disabled]::-moz-placeholder,.taginput [disabled].taginput-container.is-focusable::-moz-placeholder,[disabled].textarea::-moz-placeholder,[disabled].input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable::-moz-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder{color:#ffffff4d}.select select[disabled]::-webkit-input-placeholder,.taginput [disabled].taginput-container.is-focusable::-webkit-input-placeholder,[disabled].textarea::-webkit-input-placeholder,[disabled].input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable::-webkit-input-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder{color:#ffffff4d}.select select[disabled]:-moz-placeholder,.taginput [disabled].taginput-container.is-focusable:-moz-placeholder,[disabled].textarea:-moz-placeholder,[disabled].input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable:-moz-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder{color:#ffffff4d}.select select[disabled]:-ms-input-placeholder,.taginput [disabled].taginput-container.is-focusable:-ms-input-placeholder,[disabled].textarea:-ms-input-placeholder,[disabled].input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,fieldset[disabled] .taginput .taginput-container.is-focusable:-ms-input-placeholder,.taginput fieldset[disabled] .taginput-container.is-focusable:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder{color:#ffffff4d}.taginput .taginput-container.is-focusable,.textarea,.input{box-shadow:inset 0 .0625em .125em #0a0a0a0d;max-width:100%;width:100%}.taginput [readonly].taginput-container.is-focusable,[readonly].textarea,[readonly].input{box-shadow:none}.taginput .is-white.taginput-container.is-focusable,.is-white.textarea,.is-white.input{border-color:#fff}.taginput .is-white.taginput-container.is-focusable:focus,.is-white.textarea:focus,.is-white.input:focus,.taginput .is-white.is-focused.taginput-container.is-focusable,.is-white.is-focused.textarea,.is-white.is-focused.input,.taginput .is-white.taginput-container.is-focusable:active,.is-white.textarea:active,.is-white.input:active,.taginput .is-white.is-active.taginput-container.is-focusable,.is-white.is-active.textarea,.is-white.is-active.input{box-shadow:0 0 0 .125em #ffffff40}.taginput .is-black.taginput-container.is-focusable,.is-black.textarea,.is-black.input{border-color:#0a0a0a}.taginput .is-black.taginput-container.is-focusable:focus,.is-black.textarea:focus,.is-black.input:focus,.taginput .is-black.is-focused.taginput-container.is-focusable,.is-black.is-focused.textarea,.is-black.is-focused.input,.taginput .is-black.taginput-container.is-focusable:active,.is-black.textarea:active,.is-black.input:active,.taginput .is-black.is-active.taginput-container.is-focusable,.is-black.is-active.textarea,.is-black.is-active.input{box-shadow:0 0 0 .125em #0a0a0a40}.taginput .is-light.taginput-container.is-focusable,.is-light.textarea,.is-light.input{border-color:#f5f5f5}.taginput .is-light.taginput-container.is-focusable:focus,.is-light.textarea:focus,.is-light.input:focus,.taginput .is-light.is-focused.taginput-container.is-focusable,.is-light.is-focused.textarea,.is-light.is-focused.input,.taginput .is-light.taginput-container.is-focusable:active,.is-light.textarea:active,.is-light.input:active,.taginput .is-light.is-active.taginput-container.is-focusable,.is-light.is-active.textarea,.is-light.is-active.input{box-shadow:0 0 0 .125em #f5f5f540}.taginput .is-dark.taginput-container.is-focusable,.is-dark.textarea,.is-dark.input{border-color:#363636}.taginput .is-dark.taginput-container.is-focusable:focus,.is-dark.textarea:focus,.is-dark.input:focus,.taginput .is-dark.is-focused.taginput-container.is-focusable,.is-dark.is-focused.textarea,.is-dark.is-focused.input,.taginput .is-dark.taginput-container.is-focusable:active,.is-dark.textarea:active,.is-dark.input:active,.taginput .is-dark.is-active.taginput-container.is-focusable,.is-dark.is-active.textarea,.is-dark.is-active.input{box-shadow:0 0 0 .125em #36363640}.taginput .is-primary.taginput-container.is-focusable,.is-primary.textarea,.is-primary.input{border-color:#2da192}.taginput .is-primary.taginput-container.is-focusable:focus,.is-primary.textarea:focus,.is-primary.input:focus,.taginput .is-primary.is-focused.taginput-container.is-focusable,.is-primary.is-focused.textarea,.is-primary.is-focused.input,.taginput .is-primary.taginput-container.is-focusable:active,.is-primary.textarea:active,.is-primary.input:active,.taginput .is-primary.is-active.taginput-container.is-focusable,.is-primary.is-active.textarea,.is-primary.is-active.input{box-shadow:0 0 0 .125em #2da19240}.taginput .is-info.taginput-container.is-focusable,.is-info.textarea,.is-info.input{border-color:#3e8ed0}.taginput .is-info.taginput-container.is-focusable:focus,.is-info.textarea:focus,.is-info.input:focus,.taginput .is-info.is-focused.taginput-container.is-focusable,.is-info.is-focused.textarea,.is-info.is-focused.input,.taginput .is-info.taginput-container.is-focusable:active,.is-info.textarea:active,.is-info.input:active,.taginput .is-info.is-active.taginput-container.is-focusable,.is-info.is-active.textarea,.is-info.is-active.input{box-shadow:0 0 0 .125em #3e8ed040}.taginput .is-success.taginput-container.is-focusable,.is-success.textarea,.is-success.input{border-color:#48c78e}.taginput .is-success.taginput-container.is-focusable:focus,.is-success.textarea:focus,.is-success.input:focus,.taginput .is-success.is-focused.taginput-container.is-focusable,.is-success.is-focused.textarea,.is-success.is-focused.input,.taginput .is-success.taginput-container.is-focusable:active,.is-success.textarea:active,.is-success.input:active,.taginput .is-success.is-active.taginput-container.is-focusable,.is-success.is-active.textarea,.is-success.is-active.input{box-shadow:0 0 0 .125em #48c78e40}.taginput .is-warning.taginput-container.is-focusable,.is-warning.textarea,.is-warning.input{border-color:#ffe08a}.taginput .is-warning.taginput-container.is-focusable:focus,.is-warning.textarea:focus,.is-warning.input:focus,.taginput .is-warning.is-focused.taginput-container.is-focusable,.is-warning.is-focused.textarea,.is-warning.is-focused.input,.taginput .is-warning.taginput-container.is-focusable:active,.is-warning.textarea:active,.is-warning.input:active,.taginput .is-warning.is-active.taginput-container.is-focusable,.is-warning.is-active.textarea,.is-warning.is-active.input{box-shadow:0 0 0 .125em #ffe08a40}.taginput .is-danger.taginput-container.is-focusable,.is-danger.textarea,.is-danger.input{border-color:#f14668}.taginput .is-danger.taginput-container.is-focusable:focus,.is-danger.textarea:focus,.is-danger.input:focus,.taginput .is-danger.is-focused.taginput-container.is-focusable,.is-danger.is-focused.textarea,.is-danger.is-focused.input,.taginput .is-danger.taginput-container.is-focusable:active,.is-danger.textarea:active,.is-danger.input:active,.taginput .is-danger.is-active.taginput-container.is-focusable,.is-danger.is-active.textarea,.is-danger.is-active.input{box-shadow:0 0 0 .125em #f1466840}.taginput .is-shade-1.taginput-container.is-focusable,.is-shade-1.textarea,.is-shade-1.input{border-color:#3d444b}.taginput .is-shade-1.taginput-container.is-focusable:focus,.is-shade-1.textarea:focus,.is-shade-1.input:focus,.taginput .is-shade-1.is-focused.taginput-container.is-focusable,.is-shade-1.is-focused.textarea,.is-shade-1.is-focused.input,.taginput .is-shade-1.taginput-container.is-focusable:active,.is-shade-1.textarea:active,.is-shade-1.input:active,.taginput .is-shade-1.is-active.taginput-container.is-focusable,.is-shade-1.is-active.textarea,.is-shade-1.is-active.input{box-shadow:0 0 0 .125em #3d444b40}.taginput .is-shade-2.taginput-container.is-focusable,.is-shade-2.textarea,.is-shade-2.input{border-color:#33393f}.taginput .is-shade-2.taginput-container.is-focusable:focus,.is-shade-2.textarea:focus,.is-shade-2.input:focus,.taginput .is-shade-2.is-focused.taginput-container.is-focusable,.is-shade-2.is-focused.textarea,.is-shade-2.is-focused.input,.taginput .is-shade-2.taginput-container.is-focusable:active,.is-shade-2.textarea:active,.is-shade-2.input:active,.taginput .is-shade-2.is-active.taginput-container.is-focusable,.is-shade-2.is-active.textarea,.is-shade-2.is-active.input{box-shadow:0 0 0 .125em #33393f40}.taginput .is-shade-3.taginput-container.is-focusable,.is-shade-3.textarea,.is-shade-3.input{border-color:#282e33}.taginput .is-shade-3.taginput-container.is-focusable:focus,.is-shade-3.textarea:focus,.is-shade-3.input:focus,.taginput .is-shade-3.is-focused.taginput-container.is-focusable,.is-shade-3.is-focused.textarea,.is-shade-3.is-focused.input,.taginput .is-shade-3.taginput-container.is-focusable:active,.is-shade-3.textarea:active,.is-shade-3.input:active,.taginput .is-shade-3.is-active.taginput-container.is-focusable,.is-shade-3.is-active.textarea,.is-shade-3.is-active.input{box-shadow:0 0 0 .125em #282e3340}.taginput .is-shade-4.taginput-container.is-focusable,.is-shade-4.textarea,.is-shade-4.input{border-color:#18191d}.taginput .is-shade-4.taginput-container.is-focusable:focus,.is-shade-4.textarea:focus,.is-shade-4.input:focus,.taginput .is-shade-4.is-focused.taginput-container.is-focusable,.is-shade-4.is-focused.textarea,.is-shade-4.is-focused.input,.taginput .is-shade-4.taginput-container.is-focusable:active,.is-shade-4.textarea:active,.is-shade-4.input:active,.taginput .is-shade-4.is-active.taginput-container.is-focusable,.is-shade-4.is-active.textarea,.is-shade-4.is-active.input{box-shadow:0 0 0 .125em #18191d40}.taginput .is-small.taginput-container.is-focusable,.is-small.textarea,.is-small.input{border-radius:2px;font-size:.75rem}.taginput .is-medium.taginput-container.is-focusable,.is-medium.textarea,.is-medium.input{font-size:1.25rem}.taginput .is-large.taginput-container.is-focusable,.is-large.textarea,.is-large.input{font-size:1.5rem}.taginput .is-fullwidth.taginput-container.is-focusable,.is-fullwidth.textarea,.is-fullwidth.input{display:block;width:100%}.taginput .is-inline.taginput-container.is-focusable,.is-inline.textarea,.is-inline.input{display:inline;width:auto}.input.is-rounded{border-radius:9999px;padding-left:calc(1.125em - 1px);padding-right:calc(1.125em - 1px)}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:calc(.75em - 1px);resize:vertical}.textarea:not([rows]){max-height:40em;min-height:8em}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.radio,.checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.radio input,.checkbox input{cursor:pointer}.radio:hover,.checkbox:hover{color:#f2f2f2}[disabled].radio,[disabled].checkbox,fieldset[disabled] .radio,fieldset[disabled] .checkbox,.radio input[disabled],.checkbox input[disabled]{color:#fff;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading):after{border-color:#2da192;right:1.125em;z-index:4}.select.is-rounded select{border-radius:9999px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover:after{border-color:#f2f2f2}.select.is-white:not(:hover):after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select:hover,.select.is-white select.is-hovered{border-color:#f2f2f2}.select.is-white select:focus,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select.is-active{box-shadow:0 0 0 .125em #ffffff40}.select.is-black:not(:hover):after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover,.select.is-black select.is-hovered{border-color:#000}.select.is-black select:focus,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select.is-active{box-shadow:0 0 0 .125em #0a0a0a40}.select.is-light:not(:hover):after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select:hover,.select.is-light select.is-hovered{border-color:#e8e8e8}.select.is-light select:focus,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select.is-active{box-shadow:0 0 0 .125em #f5f5f540}.select.is-dark:not(:hover):after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select:hover,.select.is-dark select.is-hovered{border-color:#292929}.select.is-dark select:focus,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select.is-active{box-shadow:0 0 0 .125em #36363640}.select.is-primary:not(:hover):after{border-color:#2da192}.select.is-primary select{border-color:#2da192}.select.is-primary select:hover,.select.is-primary select.is-hovered{border-color:#278d80}.select.is-primary select:focus,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select.is-active{box-shadow:0 0 0 .125em #2da19240}.select.is-info:not(:hover):after{border-color:#3e8ed0}.select.is-info select{border-color:#3e8ed0}.select.is-info select:hover,.select.is-info select.is-hovered{border-color:#3082c5}.select.is-info select:focus,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select.is-active{box-shadow:0 0 0 .125em #3e8ed040}.select.is-success:not(:hover):after{border-color:#48c78e}.select.is-success select{border-color:#48c78e}.select.is-success select:hover,.select.is-success select.is-hovered{border-color:#3abb81}.select.is-success select:focus,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select.is-active{box-shadow:0 0 0 .125em #48c78e40}.select.is-warning:not(:hover):after{border-color:#ffe08a}.select.is-warning select{border-color:#ffe08a}.select.is-warning select:hover,.select.is-warning select.is-hovered{border-color:#ffd970}.select.is-warning select:focus,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select.is-active{box-shadow:0 0 0 .125em #ffe08a40}.select.is-danger:not(:hover):after{border-color:#f14668}.select.is-danger select{border-color:#f14668}.select.is-danger select:hover,.select.is-danger select.is-hovered{border-color:#ef2e55}.select.is-danger select:focus,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select.is-active{box-shadow:0 0 0 .125em #f1466840}.select.is-shade-1:not(:hover):after{border-color:#3d444b}.select.is-shade-1 select{border-color:#3d444b}.select.is-shade-1 select:hover,.select.is-shade-1 select.is-hovered{border-color:#32373d}.select.is-shade-1 select:focus,.select.is-shade-1 select.is-focused,.select.is-shade-1 select:active,.select.is-shade-1 select.is-active{box-shadow:0 0 0 .125em #3d444b40}.select.is-shade-2:not(:hover):after{border-color:#33393f}.select.is-shade-2 select{border-color:#33393f}.select.is-shade-2 select:hover,.select.is-shade-2 select.is-hovered{border-color:#282c31}.select.is-shade-2 select:focus,.select.is-shade-2 select.is-focused,.select.is-shade-2 select:active,.select.is-shade-2 select.is-active{box-shadow:0 0 0 .125em #33393f40}.select.is-shade-3:not(:hover):after{border-color:#282e33}.select.is-shade-3 select{border-color:#282e33}.select.is-shade-3 select:hover,.select.is-shade-3 select.is-hovered{border-color:#1d2125}.select.is-shade-3 select:focus,.select.is-shade-3 select.is-focused,.select.is-shade-3 select:active,.select.is-shade-3 select.is-active{box-shadow:0 0 0 .125em #282e3340}.select.is-shade-4:not(:hover):after{border-color:#18191d}.select.is-shade-4 select{border-color:#18191d}.select.is-shade-4 select:hover,.select.is-shade-4 select.is-hovered{border-color:#0c0d0f}.select.is-shade-4 select:focus,.select.is-shade-4 select.is-focused,.select.is-shade-4 select:active,.select.is-shade-4 select.is-active{box-shadow:0 0 0 .125em #18191d40}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled:after{border-color:#fff!important;opacity:.5}.select.is-fullwidth,.select.is-fullwidth select{width:100%}.select.is-loading:after{margin-top:0;position:absolute;right:.625em;top:.625em;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white:hover .file-cta,.file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white:focus .file-cta,.file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #ffffff40;color:#0a0a0a}.file.is-white:active .file-cta,.file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black:hover .file-cta,.file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black:focus .file-cta,.file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #0a0a0a40;color:#fff}.file.is-black:active .file-cta,.file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#000000b3}.file.is-light:hover .file-cta,.file.is-light.is-hovered .file-cta{background-color:#eee;border-color:transparent;color:#000000b3}.file.is-light:focus .file-cta,.file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #f5f5f540;color:#000000b3}.file.is-light:active .file-cta,.file.is-light.is-active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#000000b3}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#fff}.file.is-dark:hover .file-cta,.file.is-dark.is-hovered .file-cta{background-color:#2f2f2f;border-color:transparent;color:#fff}.file.is-dark:focus .file-cta,.file.is-dark.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #36363640;color:#fff}.file.is-dark:active .file-cta,.file.is-dark.is-active .file-cta{background-color:#292929;border-color:transparent;color:#fff}.file.is-primary .file-cta{background-color:#2da192;border-color:transparent;color:#fff}.file.is-primary:hover .file-cta,.file.is-primary.is-hovered .file-cta{background-color:#2a9789;border-color:transparent;color:#fff}.file.is-primary:focus .file-cta,.file.is-primary.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #2da19240;color:#fff}.file.is-primary:active .file-cta,.file.is-primary.is-active .file-cta{background-color:#278d80;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#3e8ed0;border-color:transparent;color:#fff}.file.is-info:hover .file-cta,.file.is-info.is-hovered .file-cta{background-color:#3488ce;border-color:transparent;color:#fff}.file.is-info:focus .file-cta,.file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #3e8ed040;color:#fff}.file.is-info:active .file-cta,.file.is-info.is-active .file-cta{background-color:#3082c5;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#48c78e;border-color:transparent;color:#fff}.file.is-success:hover .file-cta,.file.is-success.is-hovered .file-cta{background-color:#3ec487;border-color:transparent;color:#fff}.file.is-success:focus .file-cta,.file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #48c78e40;color:#fff}.file.is-success:active .file-cta,.file.is-success.is-active .file-cta{background-color:#3abb81;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffe08a;border-color:transparent;color:#000000b3}.file.is-warning:hover .file-cta,.file.is-warning.is-hovered .file-cta{background-color:#ffdc7d;border-color:transparent;color:#000000b3}.file.is-warning:focus .file-cta,.file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #ffe08a40;color:#000000b3}.file.is-warning:active .file-cta,.file.is-warning.is-active .file-cta{background-color:#ffd970;border-color:transparent;color:#000000b3}.file.is-danger .file-cta{background-color:#f14668;border-color:transparent;color:#fff}.file.is-danger:hover .file-cta,.file.is-danger.is-hovered .file-cta{background-color:#f03a5f;border-color:transparent;color:#fff}.file.is-danger:focus .file-cta,.file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #f1466840;color:#fff}.file.is-danger:active .file-cta,.file.is-danger.is-active .file-cta{background-color:#ef2e55;border-color:transparent;color:#fff}.file.is-shade-1 .file-cta{background-color:#3d444b;border-color:transparent;color:#fff}.file.is-shade-1:hover .file-cta,.file.is-shade-1.is-hovered .file-cta{background-color:#373e44;border-color:transparent;color:#fff}.file.is-shade-1:focus .file-cta,.file.is-shade-1.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #3d444b40;color:#fff}.file.is-shade-1:active .file-cta,.file.is-shade-1.is-active .file-cta{background-color:#32373d;border-color:transparent;color:#fff}.file.is-shade-2 .file-cta{background-color:#33393f;border-color:transparent;color:#fff}.file.is-shade-2:hover .file-cta,.file.is-shade-2.is-hovered .file-cta{background-color:#2d3338;border-color:transparent;color:#fff}.file.is-shade-2:focus .file-cta,.file.is-shade-2.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #33393f40;color:#fff}.file.is-shade-2:active .file-cta,.file.is-shade-2.is-active .file-cta{background-color:#282c31;border-color:transparent;color:#fff}.file.is-shade-3 .file-cta{background-color:#282e33;border-color:transparent;color:#fff}.file.is-shade-3:hover .file-cta,.file.is-shade-3.is-hovered .file-cta{background-color:#22282c;border-color:transparent;color:#fff}.file.is-shade-3:focus .file-cta,.file.is-shade-3.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #282e3340;color:#fff}.file.is-shade-3:active .file-cta,.file.is-shade-3.is-active .file-cta{background-color:#1d2125;border-color:transparent;color:#fff}.file.is-shade-4 .file-cta{background-color:#18191d;border-color:transparent;color:#fff}.file.is-shade-4:hover .file-cta,.file.is-shade-4.is-hovered .file-cta{background-color:#121316;border-color:transparent;color:#fff}.file.is-shade-4:focus .file-cta,.file.is-shade-4.is-focused .file-cta{border-color:transparent;box-shadow:0 0 .5em #18191d40;color:#fff}.file.is-shade-4:active .file-cta,.file.is-shade-4.is-active .file-cta{background-color:#0c0d0f;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-normal{font-size:1rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#0000;color:#f2f2f2}.file-label:hover .file-name{border-color:#1d1d1d}.file-label:active .file-cta{background-color:#0000;color:#f2f2f2}.file-label:active .file-name{border-color:#171717}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#242424;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:transparent;color:#fff}.file-name{border-color:#242424;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#242424;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#2da192}.help.is-info{color:#3e8ed0}.help.is-success{color:#48c78e}.help.is-warning{color:#ffe08a}.help.is-danger{color:#f14668}.help.is-shade-1{color:#3d444b}.help.is-shade-2{color:#33393f}.help.is-shade-3{color:#282e33}.help.is-shade-4{color:#18191d}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered{z-index:2}.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]).is-active{z-index:3}.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width: 768px){.field-label{margin-bottom:.5rem}}@media screen and (min-width: 769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#fff}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#242424;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.5em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.5em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading:after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#2da192;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#39c8b5}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#f2f2f2;cursor:default;pointer-events:none}.breadcrumb li+li:before{color:#121212;content:"/"}.breadcrumb ul,.breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:.5em}.breadcrumb .icon:last-child{margin-left:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li:before{content:"→"}.breadcrumb.has-bullet-separator li+li:before{content:"•"}.breadcrumb.has-dot-separator li+li:before{content:"·"}.breadcrumb.has-succeeds-separator li+li:before{content:"≻"}.card{background-color:#18191d;border-radius:.25rem;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;color:#fff;max-width:100%;position:relative}.card-footer:first-child,.card-content:first-child,.card-header:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-footer:last-child,.card-content:last-child,.card-header:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-header{background-color:transparent;align-items:stretch;box-shadow:0 .125em .25em #0a0a0a1a;display:flex}.card-header-title{align-items:center;color:#f2f2f2;display:flex;flex-grow:1;font-weight:700;padding:.75rem 1rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0;align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem 1rem}.card-image{display:block;position:relative}.card-image:first-child img{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-image:last-child img{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-content{background-color:transparent;padding:1.5rem}.card-footer{background-color:transparent;border-top:1px solid hsl(0,0%,4%);align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid hsl(0,0%,4%)}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#18191d;border-radius:4px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;padding-bottom:.5rem;padding-top:.5rem}.dropdown-item,.dropdown .dropdown-menu .has-link a{color:#fff;display:block;font-size:.875rem;line-height:1.5;padding:.375rem 1rem;position:relative}a.dropdown-item,.dropdown .dropdown-menu .has-link a,button.dropdown-item{padding-right:3rem;text-align:inherit;white-space:nowrap;width:100%}a.dropdown-item:hover,.dropdown .dropdown-menu .has-link a:hover,button.dropdown-item:hover{background-color:#3d444b;color:#fff}a.dropdown-item.is-active,.dropdown .dropdown-menu .has-link a.is-active,button.dropdown-item.is-active{background-color:#33393f;color:#fff}.dropdown-divider{background-color:#282e33;border:none;display:block;height:1px;margin:.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile,.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .title,.level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{.level-right{display:flex}}.media{align-items:flex-start;display:flex;text-align:inherit}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(36,36,36,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid rgba(36,36,36,.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#fff;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#3d444b;color:#f2f2f2}.menu-list a.is-active{background-color:#2da192;color:#fff}.menu-list li ul{border-left:1px solid #3d444b;margin:.75em;padding-left:.75em}.menu-label{color:#ccc;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#000000b3}.message.is-light .message-body{border-color:#f5f5f5}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#fff}.message.is-dark .message-body{border-color:#363636}.message.is-primary{background-color:#f7fdfc}.message.is-primary .message-header{background-color:#2da192;color:#fff}.message.is-primary .message-body{border-color:#2da192}.message.is-info{background-color:#f7fafd}.message.is-info .message-header{background-color:#3e8ed0;color:#fff}.message.is-info .message-body{border-color:#3e8ed0}.message.is-success{background-color:#f7fdfa}.message.is-success .message-header{background-color:#48c78e;color:#fff}.message.is-success .message-body{border-color:#48c78e}.message.is-warning{background-color:#fffcf5}.message.is-warning .message-header{background-color:#ffe08a;color:#000000b3}.message.is-warning .message-body{border-color:#ffe08a}.message.is-danger{background-color:#fef6f7}.message.is-danger .message-header{background-color:#f14668;color:#fff}.message.is-danger .message-body{border-color:#f14668}.message.is-shade-1{background-color:#f9fafa}.message.is-shade-1 .message-header{background-color:#3d444b;color:#fff}.message.is-shade-1 .message-body{border-color:#3d444b}.message.is-shade-2{background-color:#f9fafa}.message.is-shade-2 .message-header{background-color:#33393f;color:#fff}.message.is-shade-2 .message-body{border-color:#33393f}.message.is-shade-3{background-color:#f9fafb}.message.is-shade-3 .message-header{background-color:#282e33;color:#fff}.message.is-shade-3 .message-body{border-color:#282e33}.message.is-shade-4{background-color:#f9fafa}.message.is-shade-4 .message-header{background-color:#18191d;color:#fff}.message.is-shade-4 .message-body{border-color:#18191d}.message-header{align-items:center;background-color:#fff;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#242424;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#fff;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#18191d}.message-body pre code{background-color:transparent}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:#0a0a0adb}.modal-content,.modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px){.modal-content,.modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-head,.modal-card-foot{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid hsl(0,0%,14%);border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#f2f2f2;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid hsl(0,0%,14%)}.modal-card-foot .button:not(:last-child){margin-right:.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#18191d;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#18191d;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link:after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1024px){.navbar.is-white .navbar-start>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-start .navbar-link:after,.navbar.is-white .navbar-end .navbar-link:after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item,.navbar.is-black .navbar-brand .navbar-link{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-black .navbar-start>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-end .navbar-link{color:#fff}.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-start .navbar-link:after,.navbar.is-black .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#000000b3}.navbar.is-light .navbar-brand>.navbar-item,.navbar.is-light .navbar-brand .navbar-link{color:#000000b3}.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#e8e8e8;color:#000000b3}.navbar.is-light .navbar-brand .navbar-link:after{border-color:#000000b3}.navbar.is-light .navbar-burger{color:#000000b3}@media screen and (min-width: 1024px){.navbar.is-light .navbar-start>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-end .navbar-link{color:#000000b3}.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end .navbar-link.is-active{background-color:#e8e8e8;color:#000000b3}.navbar.is-light .navbar-start .navbar-link:after,.navbar.is-light .navbar-end .navbar-link:after{border-color:#000000b3}.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#e8e8e8;color:#000000b3}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#000000b3}}.navbar.is-dark{background-color:#363636;color:#fff}.navbar.is-dark .navbar-brand>.navbar-item,.navbar.is-dark .navbar-brand .navbar-link{color:#fff}.navbar.is-dark .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand .navbar-link.is-active{background-color:#292929;color:#fff}.navbar.is-dark .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-dark .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-dark .navbar-start>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-end .navbar-link{color:#fff}.navbar.is-dark .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end .navbar-link.is-active{background-color:#292929;color:#fff}.navbar.is-dark .navbar-start .navbar-link:after,.navbar.is-dark .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link{background-color:#292929;color:#fff}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#fff}}.navbar.is-primary{background-color:#2da192;color:#fff}.navbar.is-primary .navbar-brand>.navbar-item,.navbar.is-primary .navbar-brand .navbar-link{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand .navbar-link.is-active{background-color:#278d80;color:#fff}.navbar.is-primary .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-primary .navbar-start>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-end .navbar-link{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end .navbar-link.is-active{background-color:#278d80;color:#fff}.navbar.is-primary .navbar-start .navbar-link:after,.navbar.is-primary .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link{background-color:#278d80;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#2da192;color:#fff}}.navbar.is-info{background-color:#3e8ed0;color:#fff}.navbar.is-info .navbar-brand>.navbar-item,.navbar.is-info .navbar-brand .navbar-link{color:#fff}.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-info .navbar-start>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-end .navbar-link{color:#fff}.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end .navbar-link.is-active{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-start .navbar-link:after,.navbar.is-info .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#3e8ed0;color:#fff}}.navbar.is-success{background-color:#48c78e;color:#fff}.navbar.is-success .navbar-brand>.navbar-item,.navbar.is-success .navbar-brand .navbar-link{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-success .navbar-start>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-end .navbar-link{color:#fff}.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end .navbar-link.is-active{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-start .navbar-link:after,.navbar.is-success .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#48c78e;color:#fff}}.navbar.is-warning{background-color:#ffe08a;color:#000000b3}.navbar.is-warning .navbar-brand>.navbar-item,.navbar.is-warning .navbar-brand .navbar-link{color:#000000b3}.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#ffd970;color:#000000b3}.navbar.is-warning .navbar-brand .navbar-link:after{border-color:#000000b3}.navbar.is-warning .navbar-burger{color:#000000b3}@media screen and (min-width: 1024px){.navbar.is-warning .navbar-start>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-end .navbar-link{color:#000000b3}.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#ffd970;color:#000000b3}.navbar.is-warning .navbar-start .navbar-link:after,.navbar.is-warning .navbar-end .navbar-link:after{border-color:#000000b3}.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ffd970;color:#000000b3}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffe08a;color:#000000b3}}.navbar.is-danger{background-color:#f14668;color:#fff}.navbar.is-danger .navbar-brand>.navbar-item,.navbar.is-danger .navbar-brand .navbar-link{color:#fff}.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-danger .navbar-start>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-end .navbar-link{color:#fff}.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-start .navbar-link:after,.navbar.is-danger .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#f14668;color:#fff}}.navbar.is-shade-1{background-color:#3d444b;color:#fff}.navbar.is-shade-1 .navbar-brand>.navbar-item,.navbar.is-shade-1 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-1 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-1 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-1 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-1 .navbar-brand .navbar-link:focus,.navbar.is-shade-1 .navbar-brand .navbar-link:hover,.navbar.is-shade-1 .navbar-brand .navbar-link.is-active{background-color:#32373d;color:#fff}.navbar.is-shade-1 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-1 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-1 .navbar-start>.navbar-item,.navbar.is-shade-1 .navbar-start .navbar-link,.navbar.is-shade-1 .navbar-end>.navbar-item,.navbar.is-shade-1 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-1 .navbar-start>a.navbar-item:focus,.navbar.is-shade-1 .navbar-start>a.navbar-item:hover,.navbar.is-shade-1 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-1 .navbar-start .navbar-link:focus,.navbar.is-shade-1 .navbar-start .navbar-link:hover,.navbar.is-shade-1 .navbar-start .navbar-link.is-active,.navbar.is-shade-1 .navbar-end>a.navbar-item:focus,.navbar.is-shade-1 .navbar-end>a.navbar-item:hover,.navbar.is-shade-1 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-1 .navbar-end .navbar-link:focus,.navbar.is-shade-1 .navbar-end .navbar-link:hover,.navbar.is-shade-1 .navbar-end .navbar-link.is-active{background-color:#32373d;color:#fff}.navbar.is-shade-1 .navbar-start .navbar-link:after,.navbar.is-shade-1 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-1 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-1 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-1 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#32373d;color:#fff}.navbar.is-shade-1 .navbar-dropdown a.navbar-item.is-active{background-color:#3d444b;color:#fff}}.navbar.is-shade-2{background-color:#33393f;color:#fff}.navbar.is-shade-2 .navbar-brand>.navbar-item,.navbar.is-shade-2 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-2 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-2 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-2 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-2 .navbar-brand .navbar-link:focus,.navbar.is-shade-2 .navbar-brand .navbar-link:hover,.navbar.is-shade-2 .navbar-brand .navbar-link.is-active{background-color:#282c31;color:#fff}.navbar.is-shade-2 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-2 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-2 .navbar-start>.navbar-item,.navbar.is-shade-2 .navbar-start .navbar-link,.navbar.is-shade-2 .navbar-end>.navbar-item,.navbar.is-shade-2 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-2 .navbar-start>a.navbar-item:focus,.navbar.is-shade-2 .navbar-start>a.navbar-item:hover,.navbar.is-shade-2 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-2 .navbar-start .navbar-link:focus,.navbar.is-shade-2 .navbar-start .navbar-link:hover,.navbar.is-shade-2 .navbar-start .navbar-link.is-active,.navbar.is-shade-2 .navbar-end>a.navbar-item:focus,.navbar.is-shade-2 .navbar-end>a.navbar-item:hover,.navbar.is-shade-2 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-2 .navbar-end .navbar-link:focus,.navbar.is-shade-2 .navbar-end .navbar-link:hover,.navbar.is-shade-2 .navbar-end .navbar-link.is-active{background-color:#282c31;color:#fff}.navbar.is-shade-2 .navbar-start .navbar-link:after,.navbar.is-shade-2 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-2 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-2 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-2 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#282c31;color:#fff}.navbar.is-shade-2 .navbar-dropdown a.navbar-item.is-active{background-color:#33393f;color:#fff}}.navbar.is-shade-3{background-color:#282e33;color:#fff}.navbar.is-shade-3 .navbar-brand>.navbar-item,.navbar.is-shade-3 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-3 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-3 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-3 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-3 .navbar-brand .navbar-link:focus,.navbar.is-shade-3 .navbar-brand .navbar-link:hover,.navbar.is-shade-3 .navbar-brand .navbar-link.is-active{background-color:#1d2125;color:#fff}.navbar.is-shade-3 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-3 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-3 .navbar-start>.navbar-item,.navbar.is-shade-3 .navbar-start .navbar-link,.navbar.is-shade-3 .navbar-end>.navbar-item,.navbar.is-shade-3 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-3 .navbar-start>a.navbar-item:focus,.navbar.is-shade-3 .navbar-start>a.navbar-item:hover,.navbar.is-shade-3 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-3 .navbar-start .navbar-link:focus,.navbar.is-shade-3 .navbar-start .navbar-link:hover,.navbar.is-shade-3 .navbar-start .navbar-link.is-active,.navbar.is-shade-3 .navbar-end>a.navbar-item:focus,.navbar.is-shade-3 .navbar-end>a.navbar-item:hover,.navbar.is-shade-3 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-3 .navbar-end .navbar-link:focus,.navbar.is-shade-3 .navbar-end .navbar-link:hover,.navbar.is-shade-3 .navbar-end .navbar-link.is-active{background-color:#1d2125;color:#fff}.navbar.is-shade-3 .navbar-start .navbar-link:after,.navbar.is-shade-3 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-3 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-3 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-3 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1d2125;color:#fff}.navbar.is-shade-3 .navbar-dropdown a.navbar-item.is-active{background-color:#282e33;color:#fff}}.navbar.is-shade-4{background-color:#18191d;color:#fff}.navbar.is-shade-4 .navbar-brand>.navbar-item,.navbar.is-shade-4 .navbar-brand .navbar-link{color:#fff}.navbar.is-shade-4 .navbar-brand>a.navbar-item:focus,.navbar.is-shade-4 .navbar-brand>a.navbar-item:hover,.navbar.is-shade-4 .navbar-brand>a.navbar-item.is-active,.navbar.is-shade-4 .navbar-brand .navbar-link:focus,.navbar.is-shade-4 .navbar-brand .navbar-link:hover,.navbar.is-shade-4 .navbar-brand .navbar-link.is-active{background-color:#0c0d0f;color:#fff}.navbar.is-shade-4 .navbar-brand .navbar-link:after{border-color:#fff}.navbar.is-shade-4 .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-shade-4 .navbar-start>.navbar-item,.navbar.is-shade-4 .navbar-start .navbar-link,.navbar.is-shade-4 .navbar-end>.navbar-item,.navbar.is-shade-4 .navbar-end .navbar-link{color:#fff}.navbar.is-shade-4 .navbar-start>a.navbar-item:focus,.navbar.is-shade-4 .navbar-start>a.navbar-item:hover,.navbar.is-shade-4 .navbar-start>a.navbar-item.is-active,.navbar.is-shade-4 .navbar-start .navbar-link:focus,.navbar.is-shade-4 .navbar-start .navbar-link:hover,.navbar.is-shade-4 .navbar-start .navbar-link.is-active,.navbar.is-shade-4 .navbar-end>a.navbar-item:focus,.navbar.is-shade-4 .navbar-end>a.navbar-item:hover,.navbar.is-shade-4 .navbar-end>a.navbar-item.is-active,.navbar.is-shade-4 .navbar-end .navbar-link:focus,.navbar.is-shade-4 .navbar-end .navbar-link:hover,.navbar.is-shade-4 .navbar-end .navbar-link.is-active{background-color:#0c0d0f;color:#fff}.navbar.is-shade-4 .navbar-start .navbar-link:after,.navbar.is-shade-4 .navbar-end .navbar-link:after{border-color:#fff}.navbar.is-shade-4 .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-shade-4 .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-shade-4 .navbar-item.has-dropdown.is-active .navbar-link{background-color:#0c0d0f;color:#fff}.navbar.is-shade-4 .navbar-dropdown a.navbar-item.is-active{background-color:#18191d;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px #f5f5f5}.navbar.is-fixed-top{top:0}html.has-navbar-fixed-top,body.has-navbar-fixed-top{padding-top:3.25rem}html.has-navbar-fixed-bottom,body.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#fff;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:none;border:none;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:#0000000d}.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#fff;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}a.navbar-item,.navbar-link{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,.navbar-link.is-active{background-color:#33393f;color:#2da192}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:unset}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:transparent;border-bottom-color:#2da192}.navbar-item.is-tab.is-active{background-color:transparent;border-bottom-color:#2da192;border-bottom-style:solid;border-bottom-width:3px;color:#2da192;padding-bottom:calc(.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless):after{border-color:#2da192;margin-top:-.375em;right:1.125em}.navbar-dropdown{font-size:.875rem;padding-bottom:.5rem;padding-top:.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#282e33;border:none;display:none;height:2px;margin:.5rem 0}@media screen and (max-width: 1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link:after{display:none}.navbar-menu{background-color:#18191d;box-shadow:0 8px 16px #0a0a0a1a;padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px #0a0a0a1a}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}html.has-navbar-fixed-top-touch,body.has-navbar-fixed-top-touch{padding-top:3.25rem}html.has-navbar-fixed-bottom-touch,body.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width: 1024px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-start,.navbar.is-spaced .navbar-end{align-items:center}.navbar.is-spaced a.navbar-item,.navbar.is-spaced .navbar-link{border-radius:4px}.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent .navbar-link.is-active{background-color:transparent!important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent!important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#3d444b;color:#fff}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2da192}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link:after{transform:rotate(135deg) translate(.25em,-.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid hsl(0,0%,14%);border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px #0a0a0a1a;top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#18191d;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid hsl(0,0%,14%);box-shadow:0 8px 8px #0a0a0a1a;display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#3d444b;color:#fff}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2da192}.navbar.is-spaced .navbar-dropdown,.navbar-dropdown.is-boxed{border-radius:6px;border-top:none;box-shadow:0 8px 8px #0a0a0a1a,0 0 0 1px #0a0a0a1a;display:block;opacity:0;pointer-events:none;top:calc(100% - 4px);transform:translateY(-5px);transition-duration:86ms;transition-property:opacity,transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px #0a0a0a1a}.navbar.is-fixed-top-desktop{top:0}html.has-navbar-fixed-top-desktop,body.has-navbar-fixed-top-desktop{padding-top:3.25rem}html.has-navbar-fixed-bottom-desktop,body.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}html.has-spaced-navbar-fixed-top,body.has-spaced-navbar-fixed-top{padding-top:5.25rem}html.has-spaced-navbar-fixed-bottom,body.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}a.navbar-item.is-active,.navbar-link.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover),.navbar-link.is-active:not(:focus):not(:hover){background-color:transparent}.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link,.navbar-item.has-dropdown.is-active .navbar-link{background-color:#33393f}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-previous,.pagination.is-rounded .pagination-next{padding-left:1em;padding-right:1em;border-radius:9999px}.pagination.is-rounded .pagination-link{border-radius:9999px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-previous,.pagination-next,.pagination-link{border-color:#242424;color:#f2f2f2;min-width:2.5em}.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5;color:#39c8b5}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus{border-color:#2da192}.pagination-previous:active,.pagination-next:active,.pagination-link:active{box-shadow:inset 0 1px 2px #0a0a0a33}.pagination-previous[disabled],.pagination-previous.is-disabled,.pagination-next[disabled],.pagination-next.is-disabled,.pagination-link[disabled],.pagination-link.is-disabled{background-color:#242424;border-color:#242424;box-shadow:none;color:#fff;opacity:.5}.pagination-previous,.pagination-next{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#2da192;border-color:#2da192;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width: 768px){.pagination{flex-wrap:wrap}.pagination-previous,.pagination-next,.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{border-radius:6px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05;font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel.is-white .panel-heading{background-color:#fff;color:#0a0a0a}.panel.is-white .panel-tabs a.is-active{border-bottom-color:#fff}.panel.is-white .panel-block.is-active .panel-icon{color:#fff}.panel.is-black .panel-heading{background-color:#0a0a0a;color:#fff}.panel.is-black .panel-tabs a.is-active{border-bottom-color:#0a0a0a}.panel.is-black .panel-block.is-active .panel-icon{color:#0a0a0a}.panel.is-light .panel-heading{background-color:#f5f5f5;color:#000000b3}.panel.is-light .panel-tabs a.is-active{border-bottom-color:#f5f5f5}.panel.is-light .panel-block.is-active .panel-icon{color:#f5f5f5}.panel.is-dark .panel-heading{background-color:#363636;color:#fff}.panel.is-dark .panel-tabs a.is-active{border-bottom-color:#363636}.panel.is-dark .panel-block.is-active .panel-icon{color:#363636}.panel.is-primary .panel-heading{background-color:#2da192;color:#fff}.panel.is-primary .panel-tabs a.is-active{border-bottom-color:#2da192}.panel.is-primary .panel-block.is-active .panel-icon{color:#2da192}.panel.is-info .panel-heading{background-color:#3e8ed0;color:#fff}.panel.is-info .panel-tabs a.is-active{border-bottom-color:#3e8ed0}.panel.is-info .panel-block.is-active .panel-icon{color:#3e8ed0}.panel.is-success .panel-heading{background-color:#48c78e;color:#fff}.panel.is-success .panel-tabs a.is-active{border-bottom-color:#48c78e}.panel.is-success .panel-block.is-active .panel-icon{color:#48c78e}.panel.is-warning .panel-heading{background-color:#ffe08a;color:#000000b3}.panel.is-warning .panel-tabs a.is-active{border-bottom-color:#ffe08a}.panel.is-warning .panel-block.is-active .panel-icon{color:#ffe08a}.panel.is-danger .panel-heading{background-color:#f14668;color:#fff}.panel.is-danger .panel-tabs a.is-active{border-bottom-color:#f14668}.panel.is-danger .panel-block.is-active .panel-icon{color:#f14668}.panel.is-shade-1 .panel-heading{background-color:#3d444b;color:#fff}.panel.is-shade-1 .panel-tabs a.is-active{border-bottom-color:#3d444b}.panel.is-shade-1 .panel-block.is-active .panel-icon{color:#3d444b}.panel.is-shade-2 .panel-heading{background-color:#33393f;color:#fff}.panel.is-shade-2 .panel-tabs a.is-active{border-bottom-color:#33393f}.panel.is-shade-2 .panel-block.is-active .panel-icon{color:#33393f}.panel.is-shade-3 .panel-heading{background-color:#282e33;color:#fff}.panel.is-shade-3 .panel-tabs a.is-active{border-bottom-color:#282e33}.panel.is-shade-3 .panel-block.is-active .panel-icon{color:#282e33}.panel.is-shade-4 .panel-heading{background-color:#18191d;color:#fff}.panel.is-shade-4 .panel-tabs a.is-active{border-bottom-color:#18191d}.panel.is-shade-4 .panel-block.is-active .panel-icon{color:#18191d}.panel-tabs:not(:last-child),.panel-block:not(:last-child){border-bottom:1px solid hsl(0,0%,4%)}.panel-heading{background-color:#0a0a0a;border-radius:6px 6px 0 0;color:#f2f2f2;font-size:1.25em;font-weight:700;line-height:1.25;padding:.75em 1em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid hsl(0,0%,14%);margin-bottom:-1px;padding:.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#fff}.panel-list a:hover{color:#2da192}.panel-block{align-items:center;color:#f2f2f2;display:flex;justify-content:flex-start;padding:.5em .75em}.panel-block input[type=checkbox]{margin-right:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#2da192;color:#363636}.panel-block.is-active .panel-icon{color:#2da192}.panel-block:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#fff;margin-right:.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#242424;border-bottom-style:solid;border-bottom-width:1px;color:#fff;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#f2f2f2;color:#f2f2f2}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#2da192;color:#2da192}.tabs ul{align-items:center;border-bottom-color:#242424;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em;padding-right:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#242424}.tabs.is-boxed li.is-active a{background-color:#18191d;border-color:#242424;border-bottom-color:transparent!important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#242424;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#121212;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.tabs.is-toggle li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.tabs.is-toggle li.is-active a{background-color:#2da192;border-color:#2da192;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none;width:unset}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0%}.columns.is-mobile>.column.is-1{flex:none;width:8.33333337%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333337%}.columns.is-mobile>.column.is-2{flex:none;width:16.66666674%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66666674%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333337%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333337%}.columns.is-mobile>.column.is-5{flex:none;width:41.66666674%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66666674%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333337%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333337%}.columns.is-mobile>.column.is-8{flex:none;width:66.66666674%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66666674%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333337%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333337%}.columns.is-mobile>.column.is-11{flex:none;width:91.66666674%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66666674%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){.column.is-narrow-mobile{flex:none;width:unset}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0%}.column.is-1-mobile{flex:none;width:8.33333337%}.column.is-offset-1-mobile{margin-left:8.33333337%}.column.is-2-mobile{flex:none;width:16.66666674%}.column.is-offset-2-mobile{margin-left:16.66666674%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333337%}.column.is-offset-4-mobile{margin-left:33.33333337%}.column.is-5-mobile{flex:none;width:41.66666674%}.column.is-offset-5-mobile{margin-left:41.66666674%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333337%}.column.is-offset-7-mobile{margin-left:58.33333337%}.column.is-8-mobile{flex:none;width:66.66666674%}.column.is-offset-8-mobile{margin-left:66.66666674%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333337%}.column.is-offset-10-mobile{margin-left:83.33333337%}.column.is-11-mobile{flex:none;width:91.66666674%}.column.is-offset-11-mobile{margin-left:91.66666674%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none;width:unset}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0%}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333337%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333337%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66666674%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66666674%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333337%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333337%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66666674%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66666674%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333337%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333337%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66666674%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66666674%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333337%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333337%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66666674%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66666674%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1023px){.column.is-narrow-touch{flex:none;width:unset}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0%}.column.is-1-touch{flex:none;width:8.33333337%}.column.is-offset-1-touch{margin-left:8.33333337%}.column.is-2-touch{flex:none;width:16.66666674%}.column.is-offset-2-touch{margin-left:16.66666674%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333337%}.column.is-offset-4-touch{margin-left:33.33333337%}.column.is-5-touch{flex:none;width:41.66666674%}.column.is-offset-5-touch{margin-left:41.66666674%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333337%}.column.is-offset-7-touch{margin-left:58.33333337%}.column.is-8-touch{flex:none;width:66.66666674%}.column.is-offset-8-touch{margin-left:66.66666674%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333337%}.column.is-offset-10-touch{margin-left:83.33333337%}.column.is-11-touch{flex:none;width:91.66666674%}.column.is-offset-11-touch{margin-left:91.66666674%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1024px){.column.is-narrow-desktop{flex:none;width:unset}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0%}.column.is-1-desktop{flex:none;width:8.33333337%}.column.is-offset-1-desktop{margin-left:8.33333337%}.column.is-2-desktop{flex:none;width:16.66666674%}.column.is-offset-2-desktop{margin-left:16.66666674%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333337%}.column.is-offset-4-desktop{margin-left:33.33333337%}.column.is-5-desktop{flex:none;width:41.66666674%}.column.is-offset-5-desktop{margin-left:41.66666674%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333337%}.column.is-offset-7-desktop{margin-left:58.33333337%}.column.is-8-desktop{flex:none;width:66.66666674%}.column.is-offset-8-desktop{margin-left:66.66666674%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333337%}.column.is-offset-10-desktop{margin-left:83.33333337%}.column.is-11-desktop{flex:none;width:91.66666674%}.column.is-offset-11-desktop{margin-left:91.66666674%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){.column.is-narrow-widescreen{flex:none;width:unset}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0%}.column.is-1-widescreen{flex:none;width:8.33333337%}.column.is-offset-1-widescreen{margin-left:8.33333337%}.column.is-2-widescreen{flex:none;width:16.66666674%}.column.is-offset-2-widescreen{margin-left:16.66666674%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333337%}.column.is-offset-4-widescreen{margin-left:33.33333337%}.column.is-5-widescreen{flex:none;width:41.66666674%}.column.is-offset-5-widescreen{margin-left:41.66666674%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333337%}.column.is-offset-7-widescreen{margin-left:58.33333337%}.column.is-8-widescreen{flex:none;width:66.66666674%}.column.is-offset-8-widescreen{margin-left:66.66666674%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333337%}.column.is-offset-10-widescreen{margin-left:83.33333337%}.column.is-11-widescreen{flex:none;width:91.66666674%}.column.is-offset-11-widescreen{margin-left:91.66666674%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){.column.is-narrow-fullhd{flex:none;width:unset}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0%}.column.is-1-fullhd{flex:none;width:8.33333337%}.column.is-offset-1-fullhd{margin-left:8.33333337%}.column.is-2-fullhd{flex:none;width:16.66666674%}.column.is-offset-2-fullhd{margin-left:16.66666674%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333337%}.column.is-offset-4-fullhd{margin-left:33.33333337%}.column.is-5-fullhd{flex:none;width:41.66666674%}.column.is-offset-5-fullhd{margin-left:41.66666674%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333337%}.column.is-offset-7-fullhd{margin-left:58.33333337%}.column.is-8-fullhd{flex:none;width:66.66666674%}.column.is-offset-8-fullhd{margin-left:66.66666674%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333337%}.column.is-offset-10-fullhd{margin-left:83.33333337%}.column.is-11-fullhd{flex:none;width:91.66666674%}.column.is-offset-11-fullhd{margin-left:91.66666674%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:.75rem}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap: .75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){.columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-0-fullhd{--columnGap: 0rem}}.columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){.columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-1-fullhd{--columnGap: .25rem}}.columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){.columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-2-fullhd{--columnGap: .5rem}}.columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){.columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-3-fullhd{--columnGap: .75rem}}.columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){.columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-4-fullhd{--columnGap: 1rem}}.columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){.columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}.columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){.columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}.columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){.columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){.columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-8-fullhd{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media screen and (min-width: 769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333337%}.tile.is-2{flex:none;width:16.66666674%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333337%}.tile.is-5{flex:none;width:41.66666674%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333337%}.tile.is-8{flex:none;width:66.66666674%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333337%}.tile.is-11{flex:none;width:91.66666674%}.tile.is-12{flex:none;width:100%}}.has-text-white{color:#fff!important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black{color:#0a0a0a!important}a.has-text-black:hover,a.has-text-black:focus{color:#000!important}.has-background-black{background-color:#0a0a0a!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:hover,a.has-text-light:focus{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:hover,a.has-text-dark:focus{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#2da192!important}a.has-text-primary:hover,a.has-text-primary:focus{color:#22796e!important}.has-background-primary{background-color:#2da192!important}.has-text-info{color:#3e8ed0!important}a.has-text-info:hover,a.has-text-info:focus{color:#2b74b1!important}.has-background-info{background-color:#3e8ed0!important}.has-text-success{color:#48c78e!important}a.has-text-success:hover,a.has-text-success:focus{color:#34a873!important}.has-background-success{background-color:#48c78e!important}.has-text-warning{color:#ffe08a!important}a.has-text-warning:hover,a.has-text-warning:focus{color:#ffd257!important}.has-background-warning{background-color:#ffe08a!important}.has-text-danger{color:#f14668!important}a.has-text-danger:hover,a.has-text-danger:focus{color:#ee1742!important}.has-background-danger{background-color:#f14668!important}.has-text-shade-1{color:#3d444b!important}a.has-text-shade-1:hover,a.has-text-shade-1:focus{color:#262b2f!important}.has-background-shade-1{background-color:#3d444b!important}.has-text-shade-2{color:#33393f!important}a.has-text-shade-2:hover,a.has-text-shade-2:focus{color:#1c2023!important}.has-background-shade-2{background-color:#33393f!important}.has-text-shade-3{color:#282e33!important}a.has-text-shade-3:hover,a.has-text-shade-3:focus{color:#121416!important}.has-background-shade-3{background-color:#282e33!important}.has-text-shade-4{color:#18191d!important}a.has-text-shade-4:hover,a.has-text-shade-4:focus{color:#010101!important}.has-background-shade-4{background-color:#18191d!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.is-flex-direction-row{flex-direction:row!important}.is-flex-direction-row-reverse{flex-direction:row-reverse!important}.is-flex-direction-column{flex-direction:column!important}.is-flex-direction-column-reverse{flex-direction:column-reverse!important}.is-flex-wrap-nowrap{flex-wrap:nowrap!important}.is-flex-wrap-wrap{flex-wrap:wrap!important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse!important}.is-justify-content-flex-start{justify-content:flex-start!important}.is-justify-content-flex-end{justify-content:flex-end!important}.is-justify-content-center{justify-content:center!important}.is-justify-content-space-between{justify-content:space-between!important}.is-justify-content-space-around{justify-content:space-around!important}.is-justify-content-space-evenly{justify-content:space-evenly!important}.is-justify-content-start{justify-content:start!important}.is-justify-content-end{justify-content:end!important}.is-justify-content-left{justify-content:left!important}.is-justify-content-right{justify-content:right!important}.is-align-content-flex-start{align-content:flex-start!important}.is-align-content-flex-end{align-content:flex-end!important}.is-align-content-center{align-content:center!important}.is-align-content-space-between{align-content:space-between!important}.is-align-content-space-around{align-content:space-around!important}.is-align-content-space-evenly{align-content:space-evenly!important}.is-align-content-stretch{align-content:stretch!important}.is-align-content-start{align-content:start!important}.is-align-content-end{align-content:end!important}.is-align-content-baseline{align-content:baseline!important}.is-align-items-stretch{align-items:stretch!important}.is-align-items-flex-start{align-items:flex-start!important}.is-align-items-flex-end{align-items:flex-end!important}.is-align-items-center{align-items:center!important}.is-align-items-baseline{align-items:baseline!important}.is-align-items-start{align-items:start!important}.is-align-items-end{align-items:end!important}.is-align-items-self-start{align-items:self-start!important}.is-align-items-self-end{align-items:self-end!important}.is-align-self-auto{align-self:auto!important}.is-align-self-flex-start{align-self:flex-start!important}.is-align-self-flex-end{align-self:flex-end!important}.is-align-self-center{align-self:center!important}.is-align-self-baseline{align-self:baseline!important}.is-align-self-stretch{align-self:stretch!important}.is-flex-grow-0{flex-grow:0!important}.is-flex-grow-1{flex-grow:1!important}.is-flex-grow-2{flex-grow:2!important}.is-flex-grow-3{flex-grow:3!important}.is-flex-grow-4{flex-grow:4!important}.is-flex-grow-5{flex-grow:5!important}.is-flex-shrink-0{flex-shrink:0!important}.is-flex-shrink-1{flex-shrink:1!important}.is-flex-shrink-2{flex-shrink:2!important}.is-flex-shrink-3{flex-shrink:3!important}.is-flex-shrink-4{flex-shrink:4!important}.is-flex-shrink-5{flex-shrink:5!important}.is-clearfix:after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-clickable{cursor:pointer!important;pointer-events:all!important}.is-clipped{overflow:hidden!important}.is-relative{position:relative!important}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:.75rem!important}.mt-3{margin-top:.75rem!important}.mr-3{margin-right:.75rem!important}.mb-3{margin-bottom:.75rem!important}.ml-3{margin-left:.75rem!important}.mx-3{margin-left:.75rem!important;margin-right:.75rem!important}.my-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.m-4{margin:1rem!important}.mt-4{margin-top:1rem!important}.mr-4{margin-right:1rem!important}.mb-4{margin-bottom:1rem!important}.ml-4{margin-left:1rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}.my-4{margin-top:1rem!important;margin-bottom:1rem!important}.m-5{margin:1.5rem!important}.mt-5{margin-top:1.5rem!important}.mr-5{margin-right:1.5rem!important}.mb-5{margin-bottom:1.5rem!important}.ml-5{margin-left:1.5rem!important}.mx-5{margin-left:1.5rem!important;margin-right:1.5rem!important}.my-5{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-6{margin:3rem!important}.mt-6{margin-top:3rem!important}.mr-6{margin-right:3rem!important}.mb-6{margin-bottom:3rem!important}.ml-6{margin-left:3rem!important}.mx-6{margin-left:3rem!important;margin-right:3rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:.75rem!important}.pt-3{padding-top:.75rem!important}.pr-3{padding-right:.75rem!important}.pb-3{padding-bottom:.75rem!important}.pl-3{padding-left:.75rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.p-4{padding:1rem!important}.pt-4{padding-top:1rem!important}.pr-4{padding-right:1rem!important}.pb-4{padding-bottom:1rem!important}.pl-4{padding-left:1rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.p-5{padding:1.5rem!important}.pt-5{padding-top:1.5rem!important}.pr-5{padding-right:1.5rem!important}.pb-5{padding-bottom:1.5rem!important}.pl-5{padding-left:1.5rem!important}.px-5{padding-left:1.5rem!important;padding-right:1.5rem!important}.py-5{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-6{padding:3rem!important}.pt-6{padding-top:3rem!important}.pr-6{padding-right:3rem!important}.pb-6{padding-bottom:3rem!important}.pl-6{padding-left:3rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.p-auto{padding:auto!important}.pt-auto{padding-top:auto!important}.pr-auto{padding-right:auto!important}.pb-auto{padding-bottom:auto!important}.pl-auto{padding-left:auto!important}.px-auto{padding-left:auto!important;padding-right:auto!important}.py-auto{padding-top:auto!important;padding-bottom:auto!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width: 1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width: 1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center!important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width: 1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width: 1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify!important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width: 1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width: 1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left!important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width: 1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width: 1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right!important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width: 1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width: 1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.is-underlined{text-decoration:underline!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary,.is-family-secondary,.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif!important}.is-family-monospace,.is-family-code{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width: 768px){.is-block-mobile{display:block!important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-block-tablet-only{display:block!important}}@media screen and (max-width: 1023px){.is-block-touch{display:block!important}}@media screen and (min-width: 1024px){.is-block-desktop{display:block!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-block-desktop-only{display:block!important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex!important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width: 1023px){.is-flex-touch{display:flex!important}}@media screen and (min-width: 1024px){.is-flex-desktop{display:flex!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline!important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width: 1023px){.is-inline-touch{display:inline!important}}@media screen and (min-width: 1024px){.is-inline-desktop{display:inline!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block!important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width: 1023px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width: 1024px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex!important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width: 1023px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width: 1024px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{border:none!important;clip:rect(0,0,0,0)!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none!important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width: 1023px){.is-hidden-touch{display:none!important}}@media screen and (min-width: 1024px){.is-hidden-desktop{display:none!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden!important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width: 1023px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width: 1024px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden!important}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:#0a0a0ae6}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:#0a0a0ab3}.hero.is-white a.navbar-item:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white .navbar-link:hover,.hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{color:#fff!important;opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,#e8e3e4 0%,hsl(0,0%,100%) 71%,white 100%)}@media screen and (max-width: 768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,#e8e3e4 0%,hsl(0,0%,100%) 71%,white 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:#ffffffe6}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:#ffffffb3}.hero.is-black a.navbar-item:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black .navbar-link:hover,.hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{color:#0a0a0a!important;opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg,black 0%,hsl(0,0%,4%) 71%,#181616 100%)}@media screen and (max-width: 768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,black 0%,hsl(0,0%,4%) 71%,#181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:#000000b3}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#000000b3}.hero.is-light .subtitle{color:#000000e6}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#000000b3}@media screen and (max-width: 1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:#000000b3}.hero.is-light a.navbar-item:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light .navbar-link:hover,.hero.is-light .navbar-link.is-active{background-color:#e8e8e8;color:#000000b3}.hero.is-light .tabs a{color:#000000b3;opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{color:#f5f5f5!important;opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#000000b3}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#000000b3;border-color:#000000b3;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,#dfd8d9 0%,hsl(0,0%,96%) 71%,white 100%)}@media screen and (max-width: 768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,#dfd8d9 0%,hsl(0,0%,96%) 71%,white 100%)}}.hero.is-dark{background-color:#363636;color:#fff}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#fff}.hero.is-dark .subtitle{color:#ffffffe6}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:#ffffffb3}.hero.is-dark a.navbar-item:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark .navbar-link.is-active{background-color:#292929;color:#fff}.hero.is-dark .tabs a{color:#fff;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{color:#363636!important;opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#fff}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,#1f191a 0%,hsl(0,0%,21%) 71%,#46403f 100%)}@media screen and (max-width: 768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1f191a 0%,hsl(0,0%,21%) 71%,#46403f 100%)}}.hero.is-primary{background-color:#2da192;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:#ffffffe6}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-primary .navbar-menu{background-color:#2da192}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:#ffffffb3}.hero.is-primary a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary .navbar-link.is-active{background-color:#278d80;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{color:#2da192!important;opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#2da192}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,#1a8162 0%,#2da192 71%,#2db5bb 100%)}@media screen and (max-width: 768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1a8162 0%,#2da192 71%,#2db5bb 100%)}}.hero.is-info{background-color:#3e8ed0;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:#ffffffe6}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-info .navbar-menu{background-color:#3e8ed0}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:#ffffffb3}.hero.is-info a.navbar-item:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info .navbar-link:hover,.hero.is-info .navbar-link.is-active{background-color:#3082c5;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{color:#3e8ed0!important;opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3e8ed0}.hero.is-info.is-bold{background-image:linear-gradient(141deg,#208fbc 0%,hsl(207,61%,53%) 71%,#4d83db 100%)}@media screen and (max-width: 768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,#208fbc 0%,hsl(207,61%,53%) 71%,#4d83db 100%)}}.hero.is-success{background-color:#48c78e;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:#ffffffe6}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-success .navbar-menu{background-color:#48c78e}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:#ffffffb3}.hero.is-success a.navbar-item:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success .navbar-link:hover,.hero.is-success .navbar-link.is-active{background-color:#3abb81;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{color:#48c78e!important;opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#48c78e}.hero.is-success.is-bold{background-image:linear-gradient(141deg,#29b35e 0%,hsl(153,53%,53%) 71%,#56d2af 100%)}@media screen and (max-width: 768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,#29b35e 0%,hsl(153,53%,53%) 71%,#56d2af 100%)}}.hero.is-warning{background-color:#ffe08a;color:#000000b3}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:#000000b3}.hero.is-warning .subtitle{color:#000000e6}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:#000000b3}@media screen and (max-width: 1023px){.hero.is-warning .navbar-menu{background-color:#ffe08a}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:#000000b3}.hero.is-warning a.navbar-item:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning .navbar-link.is-active{background-color:#ffd970;color:#000000b3}.hero.is-warning .tabs a{color:#000000b3;opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{color:#ffe08a!important;opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:#000000b3}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:#000000b3;border-color:#000000b3;color:#ffe08a}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,#ffb657 0%,hsl(44,100%,77%) 71%,#fff6a3 100%)}@media screen and (max-width: 768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ffb657 0%,hsl(44,100%,77%) 71%,#fff6a3 100%)}}.hero.is-danger{background-color:#f14668;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:#ffffffe6}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-danger .navbar-menu{background-color:#f14668}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:#ffffffb3}.hero.is-danger a.navbar-item:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger .navbar-link.is-active{background-color:#ef2e55;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{color:#f14668!important;opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#f14668}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,#fa0a62 0%,hsl(348,86%,61%) 71%,#f7595f 100%)}@media screen and (max-width: 768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,#fa0a62 0%,hsl(348,86%,61%) 71%,#f7595f 100%)}}.hero.is-shade-1{background-color:#3d444b;color:#fff}.hero.is-shade-1 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-1 strong{color:inherit}.hero.is-shade-1 .title{color:#fff}.hero.is-shade-1 .subtitle{color:#ffffffe6}.hero.is-shade-1 .subtitle a:not(.button),.hero.is-shade-1 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-1 .navbar-menu{background-color:#3d444b}}.hero.is-shade-1 .navbar-item,.hero.is-shade-1 .navbar-link{color:#ffffffb3}.hero.is-shade-1 a.navbar-item:hover,.hero.is-shade-1 a.navbar-item.is-active,.hero.is-shade-1 .navbar-link:hover,.hero.is-shade-1 .navbar-link.is-active{background-color:#32373d;color:#fff}.hero.is-shade-1 .tabs a{color:#fff;opacity:.9}.hero.is-shade-1 .tabs a:hover{opacity:1}.hero.is-shade-1 .tabs li.is-active a{color:#3d444b!important;opacity:1}.hero.is-shade-1 .tabs.is-boxed a,.hero.is-shade-1 .tabs.is-toggle a{color:#fff}.hero.is-shade-1 .tabs.is-boxed a:hover,.hero.is-shade-1 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-1 .tabs.is-boxed li.is-active a,.hero.is-shade-1 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-1 .tabs.is-toggle li.is-active a,.hero.is-shade-1 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3d444b}.hero.is-shade-1.is-bold{background-image:linear-gradient(141deg,#222d33 0%,#3d444b 71%,#444d5d 100%)}@media screen and (max-width: 768px){.hero.is-shade-1.is-bold .navbar-menu{background-image:linear-gradient(141deg,#222d33 0%,#3d444b 71%,#444d5d 100%)}}.hero.is-shade-2{background-color:#33393f;color:#fff}.hero.is-shade-2 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-2 strong{color:inherit}.hero.is-shade-2 .title{color:#fff}.hero.is-shade-2 .subtitle{color:#ffffffe6}.hero.is-shade-2 .subtitle a:not(.button),.hero.is-shade-2 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-2 .navbar-menu{background-color:#33393f}}.hero.is-shade-2 .navbar-item,.hero.is-shade-2 .navbar-link{color:#ffffffb3}.hero.is-shade-2 a.navbar-item:hover,.hero.is-shade-2 a.navbar-item.is-active,.hero.is-shade-2 .navbar-link:hover,.hero.is-shade-2 .navbar-link.is-active{background-color:#282c31;color:#fff}.hero.is-shade-2 .tabs a{color:#fff;opacity:.9}.hero.is-shade-2 .tabs a:hover{opacity:1}.hero.is-shade-2 .tabs li.is-active a{color:#33393f!important;opacity:1}.hero.is-shade-2 .tabs.is-boxed a,.hero.is-shade-2 .tabs.is-toggle a{color:#fff}.hero.is-shade-2 .tabs.is-boxed a:hover,.hero.is-shade-2 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-2 .tabs.is-boxed li.is-active a,.hero.is-shade-2 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-2 .tabs.is-toggle li.is-active a,.hero.is-shade-2 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#33393f}.hero.is-shade-2.is-bold{background-image:linear-gradient(141deg,#192226 0%,#33393f 71%,#3b4251 100%)}@media screen and (max-width: 768px){.hero.is-shade-2.is-bold .navbar-menu{background-image:linear-gradient(141deg,#192226 0%,#33393f 71%,#3b4251 100%)}}.hero.is-shade-3{background-color:#282e33;color:#fff}.hero.is-shade-3 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-3 strong{color:inherit}.hero.is-shade-3 .title{color:#fff}.hero.is-shade-3 .subtitle{color:#ffffffe6}.hero.is-shade-3 .subtitle a:not(.button),.hero.is-shade-3 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-3 .navbar-menu{background-color:#282e33}}.hero.is-shade-3 .navbar-item,.hero.is-shade-3 .navbar-link{color:#ffffffb3}.hero.is-shade-3 a.navbar-item:hover,.hero.is-shade-3 a.navbar-item.is-active,.hero.is-shade-3 .navbar-link:hover,.hero.is-shade-3 .navbar-link.is-active{background-color:#1d2125;color:#fff}.hero.is-shade-3 .tabs a{color:#fff;opacity:.9}.hero.is-shade-3 .tabs a:hover{opacity:1}.hero.is-shade-3 .tabs li.is-active a{color:#282e33!important;opacity:1}.hero.is-shade-3 .tabs.is-boxed a,.hero.is-shade-3 .tabs.is-toggle a{color:#fff}.hero.is-shade-3 .tabs.is-boxed a:hover,.hero.is-shade-3 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-3 .tabs.is-boxed li.is-active a,.hero.is-shade-3 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-3 .tabs.is-toggle li.is-active a,.hero.is-shade-3 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#282e33}.hero.is-shade-3.is-bold{background-image:linear-gradient(141deg,#101618 0%,#282e33 71%,#303844 100%)}@media screen and (max-width: 768px){.hero.is-shade-3.is-bold .navbar-menu{background-image:linear-gradient(141deg,#101618 0%,#282e33 71%,#303844 100%)}}.hero.is-shade-4{background-color:#18191d;color:#fff}.hero.is-shade-4 a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-shade-4 strong{color:inherit}.hero.is-shade-4 .title{color:#fff}.hero.is-shade-4 .subtitle{color:#ffffffe6}.hero.is-shade-4 .subtitle a:not(.button),.hero.is-shade-4 .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-shade-4 .navbar-menu{background-color:#18191d}}.hero.is-shade-4 .navbar-item,.hero.is-shade-4 .navbar-link{color:#ffffffb3}.hero.is-shade-4 a.navbar-item:hover,.hero.is-shade-4 a.navbar-item.is-active,.hero.is-shade-4 .navbar-link:hover,.hero.is-shade-4 .navbar-link.is-active{background-color:#0c0d0f;color:#fff}.hero.is-shade-4 .tabs a{color:#fff;opacity:.9}.hero.is-shade-4 .tabs a:hover{opacity:1}.hero.is-shade-4 .tabs li.is-active a{color:#18191d!important;opacity:1}.hero.is-shade-4 .tabs.is-boxed a,.hero.is-shade-4 .tabs.is-toggle a{color:#fff}.hero.is-shade-4 .tabs.is-boxed a:hover,.hero.is-shade-4 .tabs.is-toggle a:hover{background-color:#0a0a0a1a}.hero.is-shade-4 .tabs.is-boxed li.is-active a,.hero.is-shade-4 .tabs.is-boxed li.is-active a:hover,.hero.is-shade-4 .tabs.is-toggle li.is-active a,.hero.is-shade-4 .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#18191d}.hero.is-shade-4.is-bold{background-image:linear-gradient(141deg,#010101 0%,#18191d 71%,#22222d 100%)}@media screen and (max-width: 768px){.hero.is-shade-4.is-bold .navbar-menu{background-image:linear-gradient(141deg,#010101 0%,#18191d 71%,#22222d 100%)}}.hero.is-small .hero-body{padding:1.5rem}@media screen and (min-width: 769px),print{.hero.is-medium .hero-body{padding:9rem 4.5rem}}@media screen and (min-width: 769px),print{.hero.is-large .hero-body{padding:18rem 6rem}}.hero.is-halfheight .hero-body,.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}.hero.is-halfheight .hero-body>.container,.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width: 768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media screen and (min-width: 769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-head,.hero-foot{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media screen and (min-width: 769px),print{.hero-body{padding:3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width: 1024px){.section{padding:3rem}.section.is-medium{padding:9rem 4.5rem}.section.is-large{padding:18rem 6rem}}.footer{background-color:#33393f;padding:3rem 1.5rem 6rem}.is-noscroll{position:fixed;overflow-y:hidden;width:100%;bottom:0}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{animation-name:fadeOut}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;transform:translate3d(0,100%,0)}}.fadeOutDown{animation-name:fadeOutDown}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;transform:translate3d(0,-100%,0)}}.fadeOutUp{animation-name:fadeOutUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{animation-name:fadeIn}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}.fadeInDown{animation-name:fadeInDown}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}.fadeInUp{animation-name:fadeInUp}.fade-enter-active,.fade-leave-active{transition:opacity .15s ease-out}.fade-enter,.fade-enter-from,.fade-leave-to{opacity:0}.zoom-in-enter-active,.zoom-in-leave-active{transition:opacity .15s ease-out}.zoom-in-enter-active .animation-content,.zoom-in-leave-active .animation-content{transition:transform .15s ease-out}.zoom-in-enter,.zoom-in-enter-from,.zoom-in-leave-active{opacity:0}.zoom-in-enter .animation-content,.zoom-in-enter-from .animation-content,.zoom-in-leave-active .animation-content{transform:scale(.95)}.zoom-out-enter-active,.zoom-out-leave-active{transition:opacity .15s ease-out}.zoom-out-enter-active .animation-content,.zoom-out-leave-active .animation-content{transition:transform .15s ease-out}.zoom-out-enter,.zoom-out-enter-from,.zoom-out-leave-active{opacity:0}.zoom-out-enter .animation-content,.zoom-out-enter-from .animation-content,.zoom-out-leave-active .animation-content{transform:scale(1.05)}.slide-next-enter-active,.slide-next-leave-active,.slide-prev-enter-active,.slide-prev-leave-active{transition:transform .25s cubic-bezier(.785,.135,.15,.86)}.slide-prev-leave-to,.slide-next-enter,.slide-next-enter-from{transform:translate3d(-100%,0,0);position:absolute;width:100%}.slide-prev-enter,.slide-prev-enter-from,.slide-next-leave-to{transform:translate3d(100%,0,0);position:absolute;width:100%}.slide-down-enter-active,.slide-down-leave-active,.slide-up-enter-active,.slide-up-leave-active{transition:transform .25s cubic-bezier(.785,.135,.15,.86)}.slide-down-enter,.slide-up-leave-to,.slide-down-enter-from{transform:translate3d(0,-100%,0);position:absolute;height:100%}.slide-up-enter,.slide-up-enter-from,.slide-down-leave-to{transform:translate3d(0,100%,0);position:absolute;height:100%}.slide-enter-active{transition:.15s ease-out}.slide-leave-active{transition:.15s ease-out;transition-timing-function:cubic-bezier(0,1,.5,1)}.slide-leave,.slide-enter-to,.slide-leave-from{max-height:100px;overflow:hidden}.slide-enter,.slide-enter-from,.slide-leave-to{overflow:hidden;max-height:0}.autocomplete{position:relative}.autocomplete .dropdown-menu{display:block;width:100%}.autocomplete .dropdown-menu.is-opened-top{top:auto;bottom:100%}.autocomplete .dropdown-content{overflow:auto;max-height:200px}.autocomplete .dropdown-item,.autocomplete .dropdown .dropdown-menu .has-link a,.dropdown .dropdown-menu .has-link .autocomplete a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.autocomplete .dropdown-item.is-hovered,.autocomplete .dropdown .dropdown-menu .has-link a.is-hovered,.dropdown .dropdown-menu .has-link .autocomplete a.is-hovered,.autocomplete .dropdown-item:hover,.autocomplete .dropdown .dropdown-menu .has-link a:hover,.dropdown .dropdown-menu .has-link .autocomplete a:hover{background:#3d444b;color:#fff}.autocomplete .dropdown-item.is-disabled,.autocomplete .dropdown .dropdown-menu .has-link a.is-disabled,.dropdown .dropdown-menu .has-link .autocomplete a.is-disabled{opacity:.5;cursor:not-allowed}.field.is-grouped>:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped.is-grouped-multiline>:not(:last-child){margin-bottom:.75rem}.field.is-grouped .field{flex-shrink:0}.field.is-grouped .field:not(:last-child){margin-right:.75rem}.field.is-grouped .field.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .select:not(:last-child) select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .select:not(:first-child) select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .dropdown:not(:last-child) .button{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .dropdown:not(:first-child) .button{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .datepicker:not(:last-child) .input{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .datepicker:not(:first-child) .input{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control:first-child .control .button,.field.has-addons .control:first-child .control .input,.field.has-addons .control:first-child .control .select select{border-bottom-left-radius:4px;border-top-left-radius:4px}.field.has-addons .control:last-child .control .button,.field.has-addons .control:last-child .control .input,.field.has-addons .control:last-child .control .select select{border-bottom-right-radius:4px;border-top-right-radius:4px}.field.has-addons .control .control .button,.field.has-addons .control .control .input,.field.has-addons .control .control .select select{border-radius:0}.field.has-addons .b-numberinput:not(:first-child) .control:first-child .button,.field.has-addons .b-numberinput:not(:first-child) .control:first-child .input,.field.has-addons .b-numberinput:not(:first-child) .control:first-child .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .b-numberinput:not(:last-child) .control:last-child .button,.field.has-addons .b-numberinput:not(:last-child) .control:last-child .input,.field.has-addons .b-numberinput:not(:last-child) .control:last-child .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons.b-numberinput .control{margin-right:unset}.field.is-floating-label,.field.is-floating-in-label{position:relative}.field.is-floating-label .label,.field.is-floating-in-label .label{position:absolute;left:1em;font-size:.75rem;background-color:transparent;z-index:5;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 2em);overflow:hidden}.field.is-floating-label .label.is-small,.field.is-floating-in-label .label.is-small{font-size:.5625rem}.field.is-floating-label .label.is-medium,.field.is-floating-in-label .label.is-medium{font-size:.9375rem}.field.is-floating-label .label.is-large,.field.is-floating-in-label .label.is-large{font-size:1.125rem}.field.is-floating-label .taginput .counter,.field.is-floating-in-label .taginput .counter{float:none;text-align:right}.field.is-floating-label.has-addons>.label+.control .button,.field.is-floating-label.has-addons>.label+.control .input,.field.is-floating-label.has-addons>.label+.control .select select,.field.is-floating-in-label.has-addons>.label+.control .button,.field.is-floating-in-label.has-addons>.label+.control .input,.field.is-floating-in-label.has-addons>.label+.control .select select{border-bottom-left-radius:4px;border-top-left-radius:4px}.field.is-floating-label .label{top:-.775em;padding-left:.125em;padding-right:.125em}.field.is-floating-label .label:before{content:"";display:block;position:absolute;top:.775em;left:0;right:0;height:.375em;background-color:#3d444b;z-index:-1}.field.is-floating-label .input:focus,.field.is-floating-label .textarea:focus,.field.is-floating-label .select select:focus{box-shadow:none}.field.is-floating-label .taginput .taginput-container{padding-top:.475em}.field.is-floating-label .taginput .taginput-container.is-focused{box-shadow:none}.field.is-floating-in-label>.label{top:.25em}.field.is-floating-in-label>.label+.control.datepicker .input,.field.is-floating-in-label>.label+.control.timepicker .input{padding-top:calc(1.625em - .5625rem);padding-bottom:1px;height:3.25em}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .input,.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .textarea,.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) select{padding-top:calc(1.625em - .5625rem);padding-bottom:1px;height:3.25em}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .select:not(multiple){height:3.25em}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .select:not(multiple).is-loading:after{margin-top:calc(1.625em - .5625rem)}.field.is-floating-in-label>.label+.control:not(.datepicker):not(.timepicker):not(.taginput) .select:not(multiple):after{margin-top:1px}.field.is-floating-in-label>.label+.control.taginput .taginput-container{padding-top:calc(1.9em - .5625rem - 1px)}.field.is-floating-in-label>.label+.control:not(.taginput) .is-left.icon,.field.is-floating-in-label>.label+.control:not(.taginput) .is-right.icon{height:3.25em}.field.is-floating-in-label>.label+.control:not(.taginput) .is-left.icon{padding-top:calc(1.625em - .5625rem)}.field.is-floating-in-label>.label+.control.is-loading:after{margin-top:calc(1.625em - .5625rem)}.field.is-floating-in-label>.label+.field-body>.is-grouped .control .input,.field.is-floating-in-label>.label+.field-body>.is-grouped .control .textarea,.field.is-floating-in-label>.label+.field-body>.is-grouped .control select,.field.is-floating-in-label>.label+.field-body>.has-addons .control .input,.field.is-floating-in-label>.label+.field-body>.has-addons .control .textarea,.field.is-floating-in-label>.label+.field-body>.has-addons .control select{padding-top:calc(1.625em - .5625rem);padding-bottom:1px}.field.is-floating-in-label>.label+.field-body>.is-grouped .control .input,.field.is-floating-in-label>.label+.field-body>.is-grouped .control .textarea,.field.is-floating-in-label>.label+.field-body>.is-grouped .control select,.field.is-floating-in-label>.label+.field-body>.is-grouped .control .button,.field.is-floating-in-label>.label+.field-body>.has-addons .control .input,.field.is-floating-in-label>.label+.field-body>.has-addons .control .textarea,.field.is-floating-in-label>.label+.field-body>.has-addons .control select,.field.is-floating-in-label>.label+.field-body>.has-addons .control .button{height:3.25em}.field.is-floating-in-label.has-numberinput .b-numberinput .control .input,.field.is-floating-in-label.has-numberinput .b-numberinput .control .button{height:3.25em}.field.is-floating-label.has-numberinput .label,.field.is-floating-in-label.has-numberinput .label{margin-left:3rem}.field.is-floating-label.has-numberinput.has-numberinput-is-small .label,.field.is-floating-in-label.has-numberinput.has-numberinput-is-small .label{margin-left:2.25rem}.field.is-floating-label.has-numberinput.has-numberinput-is-medium .label,.field.is-floating-in-label.has-numberinput.has-numberinput-is-medium .label{margin-left:3.75rem}.field.is-floating-label.has-numberinput.has-numberinput-is-large .label,.field.is-floating-in-label.has-numberinput.has-numberinput-is-large .label{margin-left:4.5rem}.field.is-floating-label.has-numberinput-compact .label,.field.is-floating-in-label.has-numberinput-compact .label{margin-left:2.25rem}.field.is-floating-label.has-numberinput-compact.has-numberinput-is-small .label,.field.is-floating-in-label.has-numberinput-compact.has-numberinput-is-small .label{margin-left:1.6875rem}.field.is-floating-label.has-numberinput-compact.has-numberinput-is-medium .label,.field.is-floating-in-label.has-numberinput-compact.has-numberinput-is-medium .label{margin-left:2.8125rem}.field.is-floating-label.has-numberinput-compact.has-numberinput-is-large .label,.field.is-floating-in-label.has-numberinput-compact.has-numberinput-is-large .label{margin-left:3.375rem}.field.is-grouped-right.is-floating-in-label .label,.field.has-addons-right.is-floating-in-label .label,.field.is-grouped-right.is-floating-label .label,.field.has-addons-right.is-floating-label .label{position:relative;left:5.25em}.control .help.counter{float:right;margin-left:.5em}.control .icon.is-clickable{pointer-events:auto;cursor:pointer}.control.is-loading:after{top:calc(50% - .5em);right:.75em}.taginput .taginput-container{display:flex}.taginput .taginput-container.is-focusable{padding-bottom:0;padding-top:calc(.275em - 1px);padding-left:0;padding-right:0;align-items:center;flex-wrap:wrap;justify-content:flex-start;height:auto;cursor:text}.taginput .taginput-container:not(.is-focusable){align-items:center;flex-wrap:wrap;justify-content:flex-start;height:auto}.taginput .taginput-container:not(.is-focusable).is-small{border-radius:2px;font-size:.75rem}.taginput .taginput-container:not(.is-focusable).is-medium{font-size:1.25rem}.taginput .taginput-container:not(.is-focusable).is-large{font-size:1.5rem}.taginput .taginput-container>.tag,.taginput .taginput-container>.tags{margin-left:.275rem;margin-bottom:calc(.275em - 1px);font-size:.9em;height:calc(2em - 1px)}.taginput .taginput-container>.tag .tag,.taginput .taginput-container>.tags .tag{margin-bottom:0;font-size:.9em;height:calc(2em - 1px)}.taginput .taginput-container>.tag .tag.is-delete,.taginput .taginput-container>.tags .tag.is-delete{width:calc(2em - 1px)}.taginput .taginput-container .tag:not(body) .icon.delete{margin-left:.275rem;margin-bottom:calc(.275em - 1px)}.taginput .taginput-container .autocomplete{position:static;flex:1}.taginput .taginput-container .autocomplete input{height:calc(2em - 1px);margin-bottom:calc(.275em - 1px);padding-top:0;padding-bottom:0;border:none;box-shadow:none;min-width:8em}.taginput .taginput-container .autocomplete input:focus{box-shadow:none!important}.taginput .taginput-container .autocomplete .icon{height:calc(2em - 1px)}.taginput .taginput-container .autocomplete>.control.is-loading:after{top:.375em}.switch{cursor:pointer;display:inline-flex;align-items:center;position:relative;margin-right:.5em}.switch+.switch:last-child{margin-right:0}.switch input[type=checkbox]{position:absolute;left:0;opacity:0;outline:none;z-index:-1}.switch input[type=checkbox]+.check{display:flex;align-items:center;flex-shrink:0;width:2.75em;height:1.575em;padding:.2em;background:hsl(0,0%,71%);border-radius:4px;transition:background .15s ease-out,box-shadow .15s ease-out}.switch input[type=checkbox]+.check.is-white-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,100%)}.switch input[type=checkbox]+.check.is-black-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,4%)}.switch input[type=checkbox]+.check.is-light-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,96%)}.switch input[type=checkbox]+.check.is-dark-passive,.switch input[type=checkbox]+.check:hover{background:hsl(0,0%,21%)}.switch input[type=checkbox]+.check.is-primary-passive,.switch input[type=checkbox]+.check:hover{background:#2da192}.switch input[type=checkbox]+.check.is-info-passive,.switch input[type=checkbox]+.check:hover{background:hsl(207,61%,53%)}.switch input[type=checkbox]+.check.is-success-passive,.switch input[type=checkbox]+.check:hover{background:hsl(153,53%,53%)}.switch input[type=checkbox]+.check.is-warning-passive,.switch input[type=checkbox]+.check:hover{background:hsl(44,100%,77%)}.switch input[type=checkbox]+.check.is-danger-passive,.switch input[type=checkbox]+.check:hover{background:hsl(348,86%,61%)}.switch input[type=checkbox]+.check.is-shade-1-passive,.switch input[type=checkbox]+.check:hover{background:#3d444b}.switch input[type=checkbox]+.check.is-shade-2-passive,.switch input[type=checkbox]+.check:hover{background:#33393f}.switch input[type=checkbox]+.check.is-shade-3-passive,.switch input[type=checkbox]+.check:hover{background:#282e33}.switch input[type=checkbox]+.check.is-shade-4-passive,.switch input[type=checkbox]+.check:hover{background:#18191d}.switch input[type=checkbox]+.check.input[type=checkbox]+.switch input[type=checkbox]+.check.check{background:"pink"}.switch input[type=checkbox]+.check:before{content:"";display:block;border-radius:4px;width:1.175em;height:1.175em;background:hsl(0,0%,96%);box-shadow:0 3px 1px #0000000d,0 2px 2px #0000001a,0 3px 3px #0000000d;transition:transform .15s ease-out;will-change:transform;transform-origin:left}.switch input[type=checkbox]+.check.is-elastic:before{transform:scaleX(1.5);border-radius:4px}.switch input[type=checkbox]:checked+.check{background:#2da192}.switch input[type=checkbox]:checked+.check.is-white{background:hsl(0,0%,100%)}.switch input[type=checkbox]:checked+.check.is-black{background:hsl(0,0%,4%)}.switch input[type=checkbox]:checked+.check.is-light{background:hsl(0,0%,96%)}.switch input[type=checkbox]:checked+.check.is-dark{background:hsl(0,0%,21%)}.switch input[type=checkbox]:checked+.check.is-primary{background:#2da192}.switch input[type=checkbox]:checked+.check.is-info{background:hsl(207,61%,53%)}.switch input[type=checkbox]:checked+.check.is-success{background:hsl(153,53%,53%)}.switch input[type=checkbox]:checked+.check.is-warning{background:hsl(44,100%,77%)}.switch input[type=checkbox]:checked+.check.is-danger{background:hsl(348,86%,61%)}.switch input[type=checkbox]:checked+.check.is-shade-1{background:#3d444b}.switch input[type=checkbox]:checked+.check.is-shade-2{background:#33393f}.switch input[type=checkbox]:checked+.check.is-shade-3{background:#282e33}.switch input[type=checkbox]:checked+.check.is-shade-4{background:#18191d}.switch input[type=checkbox]:checked+.check:before{transform:translate3d(100%,0,0)}.switch input[type=checkbox]:checked+.check.is-elastic:before{transform:translate3d(50%,0,0) scaleX(1.5)}.switch input[type=checkbox]:focus,.switch input[type=checkbox]:active{outline:none}.switch input[type=checkbox]:focus+.check,.switch input[type=checkbox]:active+.check{box-shadow:0 0 .5em #7a7a7a99}.switch input[type=checkbox]:focus+.check.is-white-passive,.switch input[type=checkbox]:active+.check.is-white-passive{box-shadow:0 0 .5em #fffc}.switch input[type=checkbox]:focus+.check.is-black-passive,.switch input[type=checkbox]:active+.check.is-black-passive{box-shadow:0 0 .5em #0a0a0acc}.switch input[type=checkbox]:focus+.check.is-light-passive,.switch input[type=checkbox]:active+.check.is-light-passive{box-shadow:0 0 .5em #f5f5f5cc}.switch input[type=checkbox]:focus+.check.is-dark-passive,.switch input[type=checkbox]:active+.check.is-dark-passive{box-shadow:0 0 .5em #363636cc}.switch input[type=checkbox]:focus+.check.is-primary-passive,.switch input[type=checkbox]:active+.check.is-primary-passive{box-shadow:0 0 .5em #2da192cc}.switch input[type=checkbox]:focus+.check.is-info-passive,.switch input[type=checkbox]:active+.check.is-info-passive{box-shadow:0 0 .5em #3e8ed0cc}.switch input[type=checkbox]:focus+.check.is-success-passive,.switch input[type=checkbox]:active+.check.is-success-passive{box-shadow:0 0 .5em #48c78ecc}.switch input[type=checkbox]:focus+.check.is-warning-passive,.switch input[type=checkbox]:active+.check.is-warning-passive{box-shadow:0 0 .5em #ffe08acc}.switch input[type=checkbox]:focus+.check.is-danger-passive,.switch input[type=checkbox]:active+.check.is-danger-passive{box-shadow:0 0 .5em #f14668cc}.switch input[type=checkbox]:focus+.check.is-shade-1-passive,.switch input[type=checkbox]:active+.check.is-shade-1-passive{box-shadow:0 0 .5em #3d444bcc}.switch input[type=checkbox]:focus+.check.is-shade-2-passive,.switch input[type=checkbox]:active+.check.is-shade-2-passive{box-shadow:0 0 .5em #33393fcc}.switch input[type=checkbox]:focus+.check.is-shade-3-passive,.switch input[type=checkbox]:active+.check.is-shade-3-passive{box-shadow:0 0 .5em #282e33cc}.switch input[type=checkbox]:focus+.check.is-shade-4-passive,.switch input[type=checkbox]:active+.check.is-shade-4-passive{box-shadow:0 0 .5em #18191dcc}.switch input[type=checkbox]:focus:checked+.check,.switch input[type=checkbox]:active:checked+.check{box-shadow:0 0 .5em #2da192cc}.switch input[type=checkbox]:focus:checked+.check.is-white,.switch input[type=checkbox]:active:checked+.check.is-white{box-shadow:0 0 .5em #fffc}.switch input[type=checkbox]:focus:checked+.check.is-black,.switch input[type=checkbox]:active:checked+.check.is-black{box-shadow:0 0 .5em #0a0a0acc}.switch input[type=checkbox]:focus:checked+.check.is-light,.switch input[type=checkbox]:active:checked+.check.is-light{box-shadow:0 0 .5em #f5f5f5cc}.switch input[type=checkbox]:focus:checked+.check.is-dark,.switch input[type=checkbox]:active:checked+.check.is-dark{box-shadow:0 0 .5em #363636cc}.switch input[type=checkbox]:focus:checked+.check.is-primary,.switch input[type=checkbox]:active:checked+.check.is-primary{box-shadow:0 0 .5em #2da192cc}.switch input[type=checkbox]:focus:checked+.check.is-info,.switch input[type=checkbox]:active:checked+.check.is-info{box-shadow:0 0 .5em #3e8ed0cc}.switch input[type=checkbox]:focus:checked+.check.is-success,.switch input[type=checkbox]:active:checked+.check.is-success{box-shadow:0 0 .5em #48c78ecc}.switch input[type=checkbox]:focus:checked+.check.is-warning,.switch input[type=checkbox]:active:checked+.check.is-warning{box-shadow:0 0 .5em #ffe08acc}.switch input[type=checkbox]:focus:checked+.check.is-danger,.switch input[type=checkbox]:active:checked+.check.is-danger{box-shadow:0 0 .5em #f14668cc}.switch input[type=checkbox]:focus:checked+.check.is-shade-1,.switch input[type=checkbox]:active:checked+.check.is-shade-1{box-shadow:0 0 .5em #3d444bcc}.switch input[type=checkbox]:focus:checked+.check.is-shade-2,.switch input[type=checkbox]:active:checked+.check.is-shade-2{box-shadow:0 0 .5em #33393fcc}.switch input[type=checkbox]:focus:checked+.check.is-shade-3,.switch input[type=checkbox]:active:checked+.check.is-shade-3{box-shadow:0 0 .5em #282e33cc}.switch input[type=checkbox]:focus:checked+.check.is-shade-4,.switch input[type=checkbox]:active:checked+.check.is-shade-4{box-shadow:0 0 .5em #18191dcc}.switch.has-left-label{flex-direction:row-reverse}.switch.has-left-label .control-label{padding-right:calc(.75em - 1px)}.switch:not(.has-left-label) .control-label{padding-left:calc(.75em - 1px)}.switch:hover input[type=checkbox]+.check{background:rgba(181,181,181,.9)}.switch:hover input[type=checkbox]+.check.is-white-passive{background:rgba(255,255,255,.9)}.switch:hover input[type=checkbox]+.check.is-black-passive{background:rgba(10,10,10,.9)}.switch:hover input[type=checkbox]+.check.is-light-passive{background:rgba(245,245,245,.9)}.switch:hover input[type=checkbox]+.check.is-dark-passive{background:rgba(54,54,54,.9)}.switch:hover input[type=checkbox]+.check.is-primary-passive{background:rgba(45,161,146,.9)}.switch:hover input[type=checkbox]+.check.is-info-passive{background:rgba(62,142,208,.9)}.switch:hover input[type=checkbox]+.check.is-success-passive{background:rgba(72,199,142,.9)}.switch:hover input[type=checkbox]+.check.is-warning-passive{background:rgba(255,224,138,.9)}.switch:hover input[type=checkbox]+.check.is-danger-passive{background:rgba(241,70,104,.9)}.switch:hover input[type=checkbox]+.check.is-shade-1-passive{background:rgba(61,68,75,.9)}.switch:hover input[type=checkbox]+.check.is-shade-2-passive{background:rgba(51,57,63,.9)}.switch:hover input[type=checkbox]+.check.is-shade-3-passive{background:rgba(40,46,51,.9)}.switch:hover input[type=checkbox]+.check.is-shade-4-passive{background:rgba(24,25,29,.9)}.switch:hover input[type=checkbox]:checked+.check{background:rgba(45,161,146,.9)}.switch:hover input[type=checkbox]:checked+.check.is-white{background:rgba(255,255,255,.9)}.switch:hover input[type=checkbox]:checked+.check.is-black{background:rgba(10,10,10,.9)}.switch:hover input[type=checkbox]:checked+.check.is-light{background:rgba(245,245,245,.9)}.switch:hover input[type=checkbox]:checked+.check.is-dark{background:rgba(54,54,54,.9)}.switch:hover input[type=checkbox]:checked+.check.is-primary{background:rgba(45,161,146,.9)}.switch:hover input[type=checkbox]:checked+.check.is-info{background:rgba(62,142,208,.9)}.switch:hover input[type=checkbox]:checked+.check.is-success{background:rgba(72,199,142,.9)}.switch:hover input[type=checkbox]:checked+.check.is-warning{background:rgba(255,224,138,.9)}.switch:hover input[type=checkbox]:checked+.check.is-danger{background:rgba(241,70,104,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-1{background:rgba(61,68,75,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-2{background:rgba(51,57,63,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-3{background:rgba(40,46,51,.9)}.switch:hover input[type=checkbox]:checked+.check.is-shade-4{background:rgba(24,25,29,.9)}.switch.is-rounded input[type=checkbox]+.check{border-radius:9999px}.switch.is-rounded input[type=checkbox]+.check:before{border-radius:9999px}.switch.is-rounded input[type=checkbox].is-elastic:before{transform:scaleX(1.5);border-radius:9999px}.switch.is-outlined input[type=checkbox]+.check{background:transparent;border:.1rem solid hsl(0,0%,71%)}.switch.is-outlined input[type=checkbox]+.check.is-white-passive{border:.1rem solid rgba(255,255,255,.9)}.switch.is-outlined input[type=checkbox]+.check.is-white-passive:before{background:hsl(0,0%,100%)}.switch.is-outlined input[type=checkbox]+.check.is-white-passive:hover{border-color:#ffffffe6}.switch.is-outlined input[type=checkbox]+.check.is-black-passive{border:.1rem solid rgba(10,10,10,.9)}.switch.is-outlined input[type=checkbox]+.check.is-black-passive:before{background:hsl(0,0%,4%)}.switch.is-outlined input[type=checkbox]+.check.is-black-passive:hover{border-color:#0a0a0ae6}.switch.is-outlined input[type=checkbox]+.check.is-light-passive{border:.1rem solid rgba(245,245,245,.9)}.switch.is-outlined input[type=checkbox]+.check.is-light-passive:before{background:hsl(0,0%,96%)}.switch.is-outlined input[type=checkbox]+.check.is-light-passive:hover{border-color:#f5f5f5e6}.switch.is-outlined input[type=checkbox]+.check.is-dark-passive{border:.1rem solid rgba(54,54,54,.9)}.switch.is-outlined input[type=checkbox]+.check.is-dark-passive:before{background:hsl(0,0%,21%)}.switch.is-outlined input[type=checkbox]+.check.is-dark-passive:hover{border-color:#363636e6}.switch.is-outlined input[type=checkbox]+.check.is-primary-passive{border:.1rem solid rgba(45,161,146,.9)}.switch.is-outlined input[type=checkbox]+.check.is-primary-passive:before{background:#2da192}.switch.is-outlined input[type=checkbox]+.check.is-primary-passive:hover{border-color:#2da192e6}.switch.is-outlined input[type=checkbox]+.check.is-info-passive{border:.1rem solid rgba(62,142,208,.9)}.switch.is-outlined input[type=checkbox]+.check.is-info-passive:before{background:hsl(207,61%,53%)}.switch.is-outlined input[type=checkbox]+.check.is-info-passive:hover{border-color:#3e8ed0e6}.switch.is-outlined input[type=checkbox]+.check.is-success-passive{border:.1rem solid rgba(72,199,142,.9)}.switch.is-outlined input[type=checkbox]+.check.is-success-passive:before{background:hsl(153,53%,53%)}.switch.is-outlined input[type=checkbox]+.check.is-success-passive:hover{border-color:#48c78ee6}.switch.is-outlined input[type=checkbox]+.check.is-warning-passive{border:.1rem solid rgba(255,224,138,.9)}.switch.is-outlined input[type=checkbox]+.check.is-warning-passive:before{background:hsl(44,100%,77%)}.switch.is-outlined input[type=checkbox]+.check.is-warning-passive:hover{border-color:#ffe08ae6}.switch.is-outlined input[type=checkbox]+.check.is-danger-passive{border:.1rem solid rgba(241,70,104,.9)}.switch.is-outlined input[type=checkbox]+.check.is-danger-passive:before{background:hsl(348,86%,61%)}.switch.is-outlined input[type=checkbox]+.check.is-danger-passive:hover{border-color:#f14668e6}.switch.is-outlined input[type=checkbox]+.check.is-shade-1-passive{border:.1rem solid rgba(61,68,75,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-1-passive:before{background:#3d444b}.switch.is-outlined input[type=checkbox]+.check.is-shade-1-passive:hover{border-color:#3d444be6}.switch.is-outlined input[type=checkbox]+.check.is-shade-2-passive{border:.1rem solid rgba(51,57,63,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-2-passive:before{background:#33393f}.switch.is-outlined input[type=checkbox]+.check.is-shade-2-passive:hover{border-color:#33393fe6}.switch.is-outlined input[type=checkbox]+.check.is-shade-3-passive{border:.1rem solid rgba(40,46,51,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-3-passive:before{background:#282e33}.switch.is-outlined input[type=checkbox]+.check.is-shade-3-passive:hover{border-color:#282e33e6}.switch.is-outlined input[type=checkbox]+.check.is-shade-4-passive{border:.1rem solid rgba(24,25,29,.9)}.switch.is-outlined input[type=checkbox]+.check.is-shade-4-passive:before{background:#18191d}.switch.is-outlined input[type=checkbox]+.check.is-shade-4-passive:hover{border-color:#18191de6}.switch.is-outlined input[type=checkbox]+.check:before{background:hsl(0,0%,71%)}.switch.is-outlined input[type=checkbox]:checked+.check{border-color:#2da192}.switch.is-outlined input[type=checkbox]:checked+.check.is-white{background:transparent;border-color:#fff}.switch.is-outlined input[type=checkbox]:checked+.check.is-white:before{background:hsl(0,0%,100%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-black{background:transparent;border-color:#0a0a0a}.switch.is-outlined input[type=checkbox]:checked+.check.is-black:before{background:hsl(0,0%,4%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-light{background:transparent;border-color:#f5f5f5}.switch.is-outlined input[type=checkbox]:checked+.check.is-light:before{background:hsl(0,0%,96%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-dark{background:transparent;border-color:#363636}.switch.is-outlined input[type=checkbox]:checked+.check.is-dark:before{background:hsl(0,0%,21%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-primary{background:transparent;border-color:#2da192}.switch.is-outlined input[type=checkbox]:checked+.check.is-primary:before{background:#2da192}.switch.is-outlined input[type=checkbox]:checked+.check.is-info{background:transparent;border-color:#3e8ed0}.switch.is-outlined input[type=checkbox]:checked+.check.is-info:before{background:hsl(207,61%,53%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-success{background:transparent;border-color:#48c78e}.switch.is-outlined input[type=checkbox]:checked+.check.is-success:before{background:hsl(153,53%,53%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-warning{background:transparent;border-color:#ffe08a}.switch.is-outlined input[type=checkbox]:checked+.check.is-warning:before{background:hsl(44,100%,77%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-danger{background:transparent;border-color:#f14668}.switch.is-outlined input[type=checkbox]:checked+.check.is-danger:before{background:hsl(348,86%,61%)}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-1{background:transparent;border-color:#3d444b}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-1:before{background:#3d444b}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-2{background:transparent;border-color:#33393f}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-2:before{background:#33393f}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-3{background:transparent;border-color:#282e33}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-3:before{background:#282e33}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-4{background:transparent;border-color:#18191d}.switch.is-outlined input[type=checkbox]:checked+.check.is-shade-4:before{background:#18191d}.switch.is-outlined input[type=checkbox]:checked+.check:before{background:#2da192}.switch.is-outlined:hover input[type=checkbox]+.check{background:transparent;border-color:#b5b5b5e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check{background:transparent;border-color:#2da192e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-white{border-color:#ffffffe6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-black{border-color:#0a0a0ae6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-light{border-color:#f5f5f5e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-dark{border-color:#363636e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-primary{border-color:#2da192e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-info{border-color:#3e8ed0e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-success{border-color:#48c78ee6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-warning{border-color:#ffe08ae6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-danger{border-color:#f14668e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-1{border-color:#3d444be6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-2{border-color:#33393fe6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-3{border-color:#282e33e6}.switch.is-outlined:hover input[type=checkbox]:checked+.check.is-shade-4{border-color:#18191de6}.switch.is-small{border-radius:2px;font-size:.75rem}.switch.is-medium{font-size:1.25rem}.switch.is-large{font-size:1.5rem}.switch.is-disabled{opacity:.5;cursor:not-allowed;color:#7a7a7a}.pagination .pagination-next,.pagination .pagination-previous{padding-left:.75em;padding-right:.75em}.pagination .pagination-next.is-disabled,.pagination .pagination-previous.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.pagination.is-simple{justify-content:normal}.pagination.is-simple.is-centered{justify-content:center}.pagination.is-simple.is-right{justify-content:flex-end}.pagination .is-current{pointer-events:none;cursor:not-allowed}.table-wrapper{position:relative}.table-wrapper .table{margin-bottom:0}.table-wrapper:not(:last-child){margin-bottom:1.5rem}@media screen and (max-width: 1023px){.table-wrapper{overflow-x:auto}}.b-table{transition:opacity 86ms ease-out}@media screen and (min-width: 769px),print{.b-table .table-mobile-sort{display:none}}.b-table .table-mobile-sort .button{background-color:#2da192;color:#fff}.b-table .icon{transition:transform .15s ease-out,opacity 86ms ease-out}.b-table .icon.is-desc{transform:rotate(180deg)}.b-table .icon.is-expanded{transform:rotate(90deg)}.b-table .sort-icon.icon.is-desc{transform:rotate(180deg) translateY(-50%)!important}.b-table .table{width:100%;border:1px solid transparent;border-radius:4px;border-collapse:separate}.b-table .table th{font-weight:600}.b-table .table th .th-wrap{display:flex;align-items:center}.b-table .table th .th-wrap .icon{margin-left:.5rem;margin-right:0;font-size:1rem}.b-table .table th.is-right{flex-direction:row-reverse;text-align:right}.b-table .table th.is-right .icon{margin-left:0;margin-right:.5rem}.b-table .table th.is-centered{justify-content:center;text-align:center}.b-table .table th.is-current-sort{border-color:#7a7a7a;font-weight:700}.b-table .table th.is-sortable:hover{border-color:#7a7a7a}.b-table .table th.is-sortable{cursor:pointer}.b-table .table th.is-sortable>span{position:relative}.b-table .table th .sort-icon,.b-table .table th .multi-sort-cancel-icon{position:absolute;bottom:50%;left:100%;transform:translateY(50%)}.b-table .table th .multi-sort-cancel-icon{margin-left:10px}.b-table .table th.is-sticky{position:-webkit-sticky;position:sticky;left:0;z-index:3!important;background:transparent}.b-table .table th.th-checkbox,.b-table .table th.th-chevron-cell{width:40px}.b-table .table tr.is-selected .checkbox input:checked+.check{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%232da192' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-table .table tr.is-selected .checkbox input+.check{border-color:#fff}.b-table .table tr.is-empty:hover{background-color:transparent}.b-table .table .chevron-cell{vertical-align:middle}.b-table .table .chevron-cell>.icon{color:#2da192!important}.b-table .table .checkbox-cell{width:40px}.b-table .table .checkbox-cell .checkbox{vertical-align:middle}.b-table .table .checkbox-cell .checkbox .check{transition:none}.b-table .table tr.detail{box-shadow:inset 0 1px 3px #dbdbdb;background:#33393f}.b-table .table tr.detail .detail-container{padding:1rem}.b-table .table:focus{border-color:#2da192;box-shadow:0 0 0 .125em #2da19240}.b-table .table.is-bordered th.is-current-sort,.b-table .table.is-bordered th.is-sortable:hover{border-color:#dbdbdb;background:hsl(0,0%,96%)}.b-table .table td.is-sticky{position:-webkit-sticky;position:sticky;left:0;z-index:1;background:#18191d}.b-table .table.is-striped tbody tr:not(.is-selected):nth-child(2n) td.is-sticky{background:#33393f}.b-table .level>div{flex-basis:auto;flex-grow:0;flex-shrink:0;align-items:center}@media screen and (min-width: 769px),print{.b-table .level>div{display:flex}}.b-table .level>div>div{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.b-table .level>div:first-child{justify-content:flex-start}.b-table .level>div:last-child{justify-content:flex-end}.b-table .level.is-mobile>div{display:flex}.b-table .table-wrapper.has-sticky-header{height:300px;overflow-y:auto}@media screen and (max-width: 768px){.b-table .table-wrapper.has-sticky-header.is-mobile{height:initial!important;overflow-y:initial!important}}.b-table .table-wrapper.has-sticky-header tr:first-child th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#18191d}@media screen and (max-width: 768px){.b-table .table-wrapper.is-mobile .table{background-color:transparent}.b-table .table-wrapper.is-mobile thead tr{box-shadow:none;border-width:0}.b-table .table-wrapper.is-mobile thead tr th{display:none}.b-table .table-wrapper.is-mobile thead tr .checkbox-cell{display:block;width:100%;text-align:right;margin-bottom:1rem;border:0}.b-table .table-wrapper.is-mobile tfoot th{border:0;display:inherit}.b-table .table-wrapper.is-mobile tr{box-shadow:0 2px 3px #0a0a0a1a,0 0 0 1px #0a0a0a1a;max-width:100%;position:relative;display:block}.b-table .table-wrapper.is-mobile tr td{border:0;display:inherit}.b-table .table-wrapper.is-mobile tr td:last-child{border-bottom:0}.b-table .table-wrapper.is-mobile tr:not(:last-child){margin-bottom:1rem}.b-table .table-wrapper.is-mobile tr:not([class*=is-]){background:#18191d}.b-table .table-wrapper.is-mobile tr:not([class*=is-]):hover{background-color:#18191d}.b-table .table-wrapper.is-mobile tr.detail{margin-top:-1rem}.b-table .table-wrapper.is-mobile tr:not(.detail):not(.is-empty):not(.table-footer) td{display:flex;width:auto;justify-content:space-between;text-align:right;border-bottom:1px solid hsl(0,0%,96%)}.b-table .table-wrapper.is-mobile tr:not(.detail):not(.is-empty):not(.table-footer) td:before{content:attr(data-label);font-weight:600;padding-right:.5em;text-align:left}}.b-table .table-wrapper.is-card-list .table{background-color:transparent}.b-table .table-wrapper.is-card-list thead tr{box-shadow:none;border-width:0}.b-table .table-wrapper.is-card-list thead tr th{display:none}.b-table .table-wrapper.is-card-list thead tr .checkbox-cell{display:block;width:100%;text-align:right;margin-bottom:1rem;border:0}.b-table .table-wrapper.is-card-list tfoot th{border:0;display:inherit}.b-table .table-wrapper.is-card-list tr{box-shadow:0 2px 3px #0a0a0a1a,0 0 0 1px #0a0a0a1a;max-width:100%;position:relative;display:block}.b-table .table-wrapper.is-card-list tr td{border:0;display:inherit}.b-table .table-wrapper.is-card-list tr td:last-child{border-bottom:0}.b-table .table-wrapper.is-card-list tr:not(:last-child){margin-bottom:1rem}.b-table .table-wrapper.is-card-list tr:not([class*=is-]){background:#18191d}.b-table .table-wrapper.is-card-list tr:not([class*=is-]):hover{background-color:#18191d}.b-table .table-wrapper.is-card-list tr.detail{margin-top:-1rem}.b-table .table-wrapper.is-card-list tr:not(.detail):not(.is-empty):not(.table-footer) td{display:flex;width:auto;justify-content:space-between;text-align:right;border-bottom:1px solid hsl(0,0%,96%)}.b-table .table-wrapper.is-card-list tr:not(.detail):not(.is-empty):not(.table-footer) td:before{content:attr(data-label);font-weight:600;padding-right:.5em;text-align:left}.b-tabs .tabs{margin-bottom:0;flex-shrink:0}.b-tabs .tabs div a:focus{outline:none;border-bottom-color:#2da192}.b-tabs .tabs div a:not(.is-active):focus{border-bottom-color:#f2f2f2}.b-tabs .tabs div a.is-disabled{pointer-events:none;cursor:not-allowed;opacity:.5}.b-tabs .tabs.is-boxed div a:focus{background-color:#18191d;border-bottom-color:transparent}.b-tabs .tabs.is-boxed div a:not(.is-active):focus{background-color:#f5f5f5;border-bottom-color:#242424}.b-tabs .tabs.is-toggle div a:focus{background-color:#2da192;border-color:#2da192}.b-tabs .tabs.is-toggle div a:not(.is-active):focus{background-color:#f5f5f5;border-color:#121212}.b-tabs .tab-content{position:relative;overflow:visible;display:flex;flex-direction:column;padding:1rem}.b-tabs .tab-content .tab-item{flex-shrink:0;flex-basis:auto}.b-tabs .tab-content .tab-item:focus{outline:none}.b-tabs .tab-content.is-transitioning{overflow:hidden}.b-tabs:not(:last-child){margin-bottom:1.5rem}.b-tabs.is-fullwidth{width:100%}.b-tabs.is-vertical{display:flex;flex-direction:row;flex-wrap:wrap}.b-tabs.is-vertical>.tabs{flex-direction:column;border-bottom-color:transparent}.b-tabs.is-vertical>.tabs div{width:100%}.b-tabs.is-vertical>.tabs div a{justify-content:left}.b-tabs.is-vertical>.tabs.is-boxed div a{border-bottom-color:transparent!important;border-right-color:#242424!important;border-radius:4px 0 0 4px}.b-tabs.is-vertical>.tabs.is-boxed div a.is-active{border-bottom-color:#242424!important;border-right-color:transparent!important}.b-tabs.is-vertical>.tabs.is-toggle div+div{margin-left:0}.b-tabs.is-vertical>.tabs.is-toggle div:first-child a{border-radius:4px 4px 0 0}.b-tabs.is-vertical>.tabs.is-toggle div:last-child a{border-radius:0 0 4px 4px}.b-tabs.is-vertical>.tabs.is-fullwidth div a{height:100%}.b-tabs.is-vertical>.tab-content{flex-grow:1}.b-tabs.is-vertical.is-right{flex-direction:row-reverse}.b-tabs.is-vertical.is-right>.tabs a{flex-direction:row-reverse}.b-tabs.is-vertical.is-right>.tabs a .icon:first-child{margin-right:0;margin-left:.5em}.b-tabs.is-vertical.is-right>.tabs.is-boxed div a{border-bottom-color:transparent!important;border-right-color:transparent!important;border-left-color:#242424!important;border-radius:0 4px 4px 0}.b-tabs.is-vertical.is-right>.tabs.is-boxed div a.is-active{border-bottom-color:#242424!important;border-right-color:#242424!important;border-left-color:transparent!important}.b-tabs.is-multiline>.tabs{flex-wrap:wrap;flex-shrink:1}.b-tabs .tabs{display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.b-tabs .tabs div a{height:100%}.b-tabs .tabs div a.is-active{border-bottom-color:#2da192;color:#2da192}.b-tabs .tabs:not(.is-toggle),.b-tabs .tabs:not(.is-toggle-rounded){border-bottom-color:#242424;border-bottom-style:solid;border-bottom-width:1px}.b-tabs .tabs.is-toggle a,.b-tabs .tabs.is-toggle-rounded a{border-color:#242424;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.b-tabs .tabs.is-toggle a:hover,.b-tabs .tabs.is-toggle-rounded a:hover{background-color:#f5f5f5;border-color:#121212;z-index:2}.b-tabs .tabs.is-toggle div+div,.b-tabs .tabs.is-toggle-rounded div+div{margin-left:-1px}.b-tabs .tabs.is-toggle div:first-child a,.b-tabs .tabs.is-toggle-rounded div:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.b-tabs .tabs.is-toggle div:last-child a,.b-tabs .tabs.is-toggle-rounded div:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.b-tabs .tabs.is-toggle div a.is-active,.b-tabs .tabs.is-toggle-rounded div a.is-active{background-color:#2da192;border-color:#2da192;color:#fff;z-index:1}.b-tabs .tabs.is-toggle-rounded div:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.b-tabs .tabs.is-toggle-rounded div:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.b-tabs .tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.b-tabs .tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#242424}.b-tabs .tabs.is-boxed div a.is-active{background-color:#18191d;border-color:#242424;border-bottom-color:transparent!important}.b-slider{margin:1em 0;background:transparent;width:100%}.b-slider .b-slider-track{display:flex;align-items:center;position:relative;cursor:pointer;background:hsl(0,0%,86%);border-radius:4px}.b-slider .b-slider-fill{position:absolute;height:100%;box-shadow:0 0 #7a7a7a;background:#2da192;border-radius:4px;border:0px solid hsl(0,0%,48%);top:50%;transform:translateY(-50%)}.b-slider .b-slider-thumb-wrapper{display:inline-flex;align-items:center;position:absolute;cursor:grab;transform:translate(-50%,-50%);top:50%;flex-direction:column}.b-slider .b-slider-thumb-wrapper .b-slider-thumb{box-shadow:none;border:1px solid hsl(0,0%,71%);border-radius:4px;background:#18191d}.b-slider .b-slider-thumb-wrapper .b-slider-thumb:focus{transform:scale(1.25)}.b-slider .b-slider-thumb-wrapper.is-dragging{cursor:grabbing}.b-slider .b-slider-thumb-wrapper.is-dragging .b-slider-thumb{transform:scale(1.25)}.b-slider .b-slider-thumb-wrapper.has-indicator .b-slider-thumb{padding:16px 10px;display:flex;align-items:center;width:auto}.b-slider.slider-focus{padding-top:20px;padding-bottom:20px;margin-top:-20px;margin-bottom:-20px;cursor:pointer}.b-slider.is-rounded .b-slider-thumb{border-radius:9999px}.b-slider.is-disabled .b-slider-track{cursor:not-allowed;opacity:.5}.b-slider.is-disabled .b-slider-thumb-wrapper{cursor:not-allowed}.b-slider.is-disabled .b-slider-thumb-wrapper .b-slider-thumb{transform:scale(1)}.b-slider .b-slider-track{height:.5rem}.b-slider .b-slider-thumb{height:1rem;width:1rem}.b-slider .b-slider-tick{height:.25rem}.b-slider .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.25rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-small .b-slider-track{height:.375rem}.b-slider.is-small .b-slider-thumb{height:.75rem;width:.75rem}.b-slider.is-small .b-slider-tick{height:.1875rem}.b-slider.is-small .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.1875rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-medium .b-slider-track{height:.625rem}.b-slider.is-medium .b-slider-thumb{height:1.25rem;width:1.25rem}.b-slider.is-medium .b-slider-tick{height:.3125rem}.b-slider.is-medium .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.3125rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-large .b-slider-track{height:.75rem}.b-slider.is-large .b-slider-thumb{height:1.5rem;width:1.5rem}.b-slider.is-large .b-slider-tick{height:.375rem}.b-slider.is-large .b-slider-tick-label{font-size:.75rem;position:absolute;top:calc(.375rem + 2px);left:50%;transform:translate(-50%)}.b-slider.is-white .b-slider-fill{background:hsl(0,0%,100%)!important}.b-slider.is-black .b-slider-fill{background:hsl(0,0%,4%)!important}.b-slider.is-light .b-slider-fill{background:hsl(0,0%,96%)!important}.b-slider.is-dark .b-slider-fill{background:hsl(0,0%,21%)!important}.b-slider.is-primary .b-slider-fill{background:#2da192!important}.b-slider.is-info .b-slider-fill{background:hsl(207,61%,53%)!important}.b-slider.is-success .b-slider-fill{background:hsl(153,53%,53%)!important}.b-slider.is-warning .b-slider-fill{background:hsl(44,100%,77%)!important}.b-slider.is-danger .b-slider-fill{background:hsl(348,86%,61%)!important}.b-slider.is-shade-1 .b-slider-fill{background:#3d444b!important}.b-slider.is-shade-2 .b-slider-fill{background:#33393f!important}.b-slider.is-shade-3 .b-slider-fill{background:#282e33!important}.b-slider.is-shade-4 .b-slider-fill{background:#18191d!important}.b-slider .b-slider-tick{position:absolute;width:3px;transform:translate(-50%,-50%);top:50%;background:hsl(0,0%,71%);border-radius:4px}.b-slider .b-slider-tick.is-tick-hidden{background:transparent}.b-tooltip{position:relative;display:inline-flex}.b-tooltip.is-top .tooltip-content{top:auto;right:auto;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.b-tooltip.is-top .tooltip-content:before{top:100%;right:auto;bottom:auto;left:50%;transform:translate(-50%);border-top:5px solid #2da192;border-right:5px solid transparent;border-left:5px solid transparent}.b-tooltip.is-top.is-white .tooltip-content:before{border-top-color:#fff}.b-tooltip.is-top.is-black .tooltip-content:before{border-top-color:#0a0a0a}.b-tooltip.is-top.is-light .tooltip-content:before{border-top-color:#f5f5f5}.b-tooltip.is-top.is-dark .tooltip-content:before{border-top-color:#363636}.b-tooltip.is-top.is-primary .tooltip-content:before{border-top-color:#2da192}.b-tooltip.is-top.is-info .tooltip-content:before{border-top-color:#3e8ed0}.b-tooltip.is-top.is-success .tooltip-content:before{border-top-color:#48c78e}.b-tooltip.is-top.is-warning .tooltip-content:before{border-top-color:#ffe08a}.b-tooltip.is-top.is-danger .tooltip-content:before{border-top-color:#f14668}.b-tooltip.is-top.is-shade-1 .tooltip-content:before{border-top-color:#3d444b}.b-tooltip.is-top.is-shade-2 .tooltip-content:before{border-top-color:#33393f}.b-tooltip.is-top.is-shade-3 .tooltip-content:before{border-top-color:#282e33}.b-tooltip.is-top.is-shade-4 .tooltip-content:before{border-top-color:#18191d}.b-tooltip.is-right .tooltip-content{top:50%;right:auto;bottom:auto;left:calc(100% + 7px);transform:translateY(-50%)}.b-tooltip.is-right .tooltip-content:before{top:50%;right:100%;bottom:auto;left:auto;transform:translateY(-50%);border-top:5px solid transparent;border-right:5px solid #2da192;border-bottom:5px solid transparent}.b-tooltip.is-right.is-white .tooltip-content:before{border-right-color:#fff}.b-tooltip.is-right.is-black .tooltip-content:before{border-right-color:#0a0a0a}.b-tooltip.is-right.is-light .tooltip-content:before{border-right-color:#f5f5f5}.b-tooltip.is-right.is-dark .tooltip-content:before{border-right-color:#363636}.b-tooltip.is-right.is-primary .tooltip-content:before{border-right-color:#2da192}.b-tooltip.is-right.is-info .tooltip-content:before{border-right-color:#3e8ed0}.b-tooltip.is-right.is-success .tooltip-content:before{border-right-color:#48c78e}.b-tooltip.is-right.is-warning .tooltip-content:before{border-right-color:#ffe08a}.b-tooltip.is-right.is-danger .tooltip-content:before{border-right-color:#f14668}.b-tooltip.is-right.is-shade-1 .tooltip-content:before{border-right-color:#3d444b}.b-tooltip.is-right.is-shade-2 .tooltip-content:before{border-right-color:#33393f}.b-tooltip.is-right.is-shade-3 .tooltip-content:before{border-right-color:#282e33}.b-tooltip.is-right.is-shade-4 .tooltip-content:before{border-right-color:#18191d}.b-tooltip.is-bottom .tooltip-content{top:calc(100% + 7px);right:auto;bottom:auto;left:50%;transform:translate(-50%)}.b-tooltip.is-bottom .tooltip-content:before{top:auto;right:auto;bottom:100%;left:50%;transform:translate(-50%);border-right:5px solid transparent;border-bottom:5px solid #2da192;border-left:5px solid transparent}.b-tooltip.is-bottom.is-white .tooltip-content:before{border-bottom-color:#fff}.b-tooltip.is-bottom.is-black .tooltip-content:before{border-bottom-color:#0a0a0a}.b-tooltip.is-bottom.is-light .tooltip-content:before{border-bottom-color:#f5f5f5}.b-tooltip.is-bottom.is-dark .tooltip-content:before{border-bottom-color:#363636}.b-tooltip.is-bottom.is-primary .tooltip-content:before{border-bottom-color:#2da192}.b-tooltip.is-bottom.is-info .tooltip-content:before{border-bottom-color:#3e8ed0}.b-tooltip.is-bottom.is-success .tooltip-content:before{border-bottom-color:#48c78e}.b-tooltip.is-bottom.is-warning .tooltip-content:before{border-bottom-color:#ffe08a}.b-tooltip.is-bottom.is-danger .tooltip-content:before{border-bottom-color:#f14668}.b-tooltip.is-bottom.is-shade-1 .tooltip-content:before{border-bottom-color:#3d444b}.b-tooltip.is-bottom.is-shade-2 .tooltip-content:before{border-bottom-color:#33393f}.b-tooltip.is-bottom.is-shade-3 .tooltip-content:before{border-bottom-color:#282e33}.b-tooltip.is-bottom.is-shade-4 .tooltip-content:before{border-bottom-color:#18191d}.b-tooltip.is-left .tooltip-content{top:50%;right:calc(100% + 7px);bottom:auto;left:auto;transform:translateY(-50%)}.b-tooltip.is-left .tooltip-content:before{top:50%;right:auto;bottom:auto;left:100%;transform:translateY(-50%);border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #2da192}.b-tooltip.is-left.is-white .tooltip-content:before{border-left-color:#fff}.b-tooltip.is-left.is-black .tooltip-content:before{border-left-color:#0a0a0a}.b-tooltip.is-left.is-light .tooltip-content:before{border-left-color:#f5f5f5}.b-tooltip.is-left.is-dark .tooltip-content:before{border-left-color:#363636}.b-tooltip.is-left.is-primary .tooltip-content:before{border-left-color:#2da192}.b-tooltip.is-left.is-info .tooltip-content:before{border-left-color:#3e8ed0}.b-tooltip.is-left.is-success .tooltip-content:before{border-left-color:#48c78e}.b-tooltip.is-left.is-warning .tooltip-content:before{border-left-color:#ffe08a}.b-tooltip.is-left.is-danger .tooltip-content:before{border-left-color:#f14668}.b-tooltip.is-left.is-shade-1 .tooltip-content:before{border-left-color:#3d444b}.b-tooltip.is-left.is-shade-2 .tooltip-content:before{border-left-color:#33393f}.b-tooltip.is-left.is-shade-3 .tooltip-content:before{border-left-color:#282e33}.b-tooltip.is-left.is-shade-4 .tooltip-content:before{border-left-color:#18191d}.b-tooltip .tooltip-content{width:auto;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:400;box-shadow:0 1px 2px 1px #00010033;z-index:38;white-space:nowrap;position:absolute}.b-tooltip .tooltip-content:before{position:absolute;content:"";pointer-events:none;z-index:38}.b-tooltip .tooltip-trigger{width:100%}.b-tooltip.is-white .tooltip-content{background:hsl(0,0%,100%);color:#0a0a0a}.b-tooltip.is-black .tooltip-content{background:hsl(0,0%,4%);color:#fff}.b-tooltip.is-light .tooltip-content{background:hsl(0,0%,96%);color:#000000b3}.b-tooltip.is-dark .tooltip-content{background:hsl(0,0%,21%);color:#fff}.b-tooltip.is-primary .tooltip-content{background:#2da192;color:#fff}.b-tooltip.is-info .tooltip-content{background:hsl(207,61%,53%);color:#fff}.b-tooltip.is-success .tooltip-content{background:hsl(153,53%,53%);color:#fff}.b-tooltip.is-warning .tooltip-content{background:hsl(44,100%,77%);color:#000000b3}.b-tooltip.is-danger .tooltip-content{background:hsl(348,86%,61%);color:#fff}.b-tooltip.is-shade-1 .tooltip-content{background:#3d444b;color:#fff}.b-tooltip.is-shade-2 .tooltip-content{background:#33393f;color:#fff}.b-tooltip.is-shade-3 .tooltip-content{background:#282e33;color:#fff}.b-tooltip.is-shade-4 .tooltip-content{background:#18191d;color:#fff}.b-tooltip .tooltip-content.is-always{opacity:1;visibility:visible}.b-tooltip .tooltip-content.is-multiline{text-align:center;white-space:normal;width:300px}.b-tooltip.is-dashed .tooltip-trigger{border-bottom:1px dashed hsl(0,0%,71%);cursor:default}.b-tooltip.is-square .tooltip-content{border-radius:0}.b-steps .steps{display:flex;flex-wrap:wrap}.b-steps .steps .step-item{margin-top:0;position:relative;flex-grow:1;flex-basis:1em}.b-steps .steps .step-item .step-link{display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff}.b-steps .steps .step-item .step-link:not(.is-clickable){cursor:not-allowed}.b-steps .steps .step-item .step-marker{align-items:center;display:flex;border-radius:4px;font-weight:700;justify-content:center;background:hsl(0,0%,71%);color:#18191d;border:.2em solid #fff;z-index:1;overflow:hidden}.b-steps .steps .step-item.is-white:before,.b-steps .steps .step-item.is-white:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,100%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-white.is-active .step-marker{background-color:#18191d;border-color:#fff;color:#fff}.b-steps .steps .step-item.is-white.is-active:before,.b-steps .steps .step-item.is-white.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-white.is-previous .step-marker{color:#0a0a0a;background-color:#fff}.b-steps .steps .step-item.is-white.is-previous:before,.b-steps .steps .step-item.is-white.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-black:before,.b-steps .steps .step-item.is-black:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,4%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-black.is-active .step-marker{background-color:#18191d;border-color:#0a0a0a;color:#0a0a0a}.b-steps .steps .step-item.is-black.is-active:before,.b-steps .steps .step-item.is-black.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-black.is-previous .step-marker{color:#fff;background-color:#0a0a0a}.b-steps .steps .step-item.is-black.is-previous:before,.b-steps .steps .step-item.is-black.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-light:before,.b-steps .steps .step-item.is-light:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,96%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-light.is-active .step-marker{background-color:#18191d;border-color:#f5f5f5;color:#f5f5f5}.b-steps .steps .step-item.is-light.is-active:before,.b-steps .steps .step-item.is-light.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-light.is-previous .step-marker{color:#000000b3;background-color:#f5f5f5}.b-steps .steps .step-item.is-light.is-previous:before,.b-steps .steps .step-item.is-light.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-dark:before,.b-steps .steps .step-item.is-dark:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(0,0%,21%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-dark.is-active .step-marker{background-color:#18191d;border-color:#363636;color:#363636}.b-steps .steps .step-item.is-dark.is-active:before,.b-steps .steps .step-item.is-dark.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-dark.is-previous .step-marker{color:#fff;background-color:#363636}.b-steps .steps .step-item.is-dark.is-previous:before,.b-steps .steps .step-item.is-dark.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-primary:before,.b-steps .steps .step-item.is-primary:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#2da192 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-primary.is-active .step-marker{background-color:#18191d;border-color:#2da192;color:#2da192}.b-steps .steps .step-item.is-primary.is-active:before,.b-steps .steps .step-item.is-primary.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-primary.is-previous .step-marker{color:#fff;background-color:#2da192}.b-steps .steps .step-item.is-primary.is-previous:before,.b-steps .steps .step-item.is-primary.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-info:before,.b-steps .steps .step-item.is-info:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(207,61%,53%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-info.is-active .step-marker{background-color:#18191d;border-color:#3e8ed0;color:#3e8ed0}.b-steps .steps .step-item.is-info.is-active:before,.b-steps .steps .step-item.is-info.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-info.is-previous .step-marker{color:#fff;background-color:#3e8ed0}.b-steps .steps .step-item.is-info.is-previous:before,.b-steps .steps .step-item.is-info.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-success:before,.b-steps .steps .step-item.is-success:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(153,53%,53%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-success.is-active .step-marker{background-color:#18191d;border-color:#48c78e;color:#48c78e}.b-steps .steps .step-item.is-success.is-active:before,.b-steps .steps .step-item.is-success.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-success.is-previous .step-marker{color:#fff;background-color:#48c78e}.b-steps .steps .step-item.is-success.is-previous:before,.b-steps .steps .step-item.is-success.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-warning:before,.b-steps .steps .step-item.is-warning:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(44,100%,77%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-warning.is-active .step-marker{background-color:#18191d;border-color:#ffe08a;color:#ffe08a}.b-steps .steps .step-item.is-warning.is-active:before,.b-steps .steps .step-item.is-warning.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-warning.is-previous .step-marker{color:#000000b3;background-color:#ffe08a}.b-steps .steps .step-item.is-warning.is-previous:before,.b-steps .steps .step-item.is-warning.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-danger:before,.b-steps .steps .step-item.is-danger:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,hsl(348,86%,61%) 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-danger.is-active .step-marker{background-color:#18191d;border-color:#f14668;color:#f14668}.b-steps .steps .step-item.is-danger.is-active:before,.b-steps .steps .step-item.is-danger.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-danger.is-previous .step-marker{color:#fff;background-color:#f14668}.b-steps .steps .step-item.is-danger.is-previous:before,.b-steps .steps .step-item.is-danger.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-1:before,.b-steps .steps .step-item.is-shade-1:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#3d444b 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-1.is-active .step-marker{background-color:#18191d;border-color:#3d444b;color:#3d444b}.b-steps .steps .step-item.is-shade-1.is-active:before,.b-steps .steps .step-item.is-shade-1.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-1.is-previous .step-marker{color:#fff;background-color:#3d444b}.b-steps .steps .step-item.is-shade-1.is-previous:before,.b-steps .steps .step-item.is-shade-1.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-2:before,.b-steps .steps .step-item.is-shade-2:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#33393f 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-2.is-active .step-marker{background-color:#18191d;border-color:#33393f;color:#33393f}.b-steps .steps .step-item.is-shade-2.is-active:before,.b-steps .steps .step-item.is-shade-2.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-2.is-previous .step-marker{color:#fff;background-color:#33393f}.b-steps .steps .step-item.is-shade-2.is-previous:before,.b-steps .steps .step-item.is-shade-2.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-3:before,.b-steps .steps .step-item.is-shade-3:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#282e33 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-3.is-active .step-marker{background-color:#18191d;border-color:#282e33;color:#282e33}.b-steps .steps .step-item.is-shade-3.is-active:before,.b-steps .steps .step-item.is-shade-3.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-3.is-previous .step-marker{color:#fff;background-color:#282e33}.b-steps .steps .step-item.is-shade-3.is-previous:before,.b-steps .steps .step-item.is-shade-3.is-previous:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-4:before,.b-steps .steps .step-item.is-shade-4:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#18191d 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-shade-4.is-active .step-marker{background-color:#18191d;border-color:#18191d;color:#18191d}.b-steps .steps .step-item.is-shade-4.is-active:before,.b-steps .steps .step-item.is-shade-4.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-shade-4.is-previous .step-marker{color:#fff;background-color:#18191d}.b-steps .steps .step-item.is-shade-4.is-previous:before,.b-steps .steps .step-item.is-shade-4.is-previous:after{background-position:left bottom}.b-steps .steps .step-item .step-marker{color:#18191d}.b-steps .steps .step-item .step-title{text-align:center;z-index:1}.b-steps .steps .step-item:not(:first-child),.b-steps .steps .step-item:only-child{flex-shrink:1}.b-steps .steps .step-item:not(:first-child):before,.b-steps .steps .step-item:only-child:before{content:" ";display:block;position:absolute;width:100%;bottom:0;left:-50%}.b-steps .steps .step-item:only-child:after{content:" ";display:block;position:absolute;height:.2em;bottom:0}.b-steps .steps .step-item:only-child:before,.b-steps .steps .step-item:only-child:after{width:25%;left:50%}.b-steps .steps .step-item:only-child:before{right:50%;left:auto}.b-steps .steps .step-item:before,.b-steps .steps .step-item:after{background:linear-gradient(to left,hsl(0,0%,86%) 50%,#2da192 50%);background-size:200% 100%;background-position:right bottom}.b-steps .steps .step-item.is-active .step-link{cursor:default}.b-steps .steps .step-item.is-active .step-marker{background-color:#18191d;border-color:#2da192;color:#2da192}.b-steps .steps .step-item.is-active:before,.b-steps .steps .step-item.is-active:after{background-position:left bottom}.b-steps .steps .step-item.is-previous .step-marker{color:#18191d;background-color:#2da192}.b-steps .steps .step-item.is-previous:before,.b-steps .steps .step-item.is-previous:after{background-position:left bottom}.b-steps .steps+.step-content{position:relative;overflow:visible;display:flex;flex-direction:column;padding:1rem}.b-steps .steps+.step-content .step-item{flex-shrink:0;flex-basis:auto}.b-steps .steps+.step-content .step-item:focus{outline:none}.b-steps .steps+.step-content.is-transitioning{overflow:hidden}.b-steps .steps.is-rounded .step-item .step-marker{border-radius:9999px}.b-steps .steps.is-animated .step-item:not(:first-child):before,.b-steps .steps.is-animated .step-item:only-child:before{transition:background .15s ease-out}.b-steps .steps.has-label-right .step-item .step-link,.b-steps .steps.has-label-left .step-item .step-link{flex-direction:row}.b-steps .steps.has-label-right .step-item .step-link>.step-title,.b-steps .steps.has-label-left .step-item .step-link>.step-title{background-color:#18191d;padding:.2em}.b-steps .steps.has-label-left .step-item .step-link{flex-direction:row-reverse}.b-steps .steps{font-size:1rem;min-height:2rem}.b-steps .steps .step-item .step-marker{height:2rem;width:2rem}.b-steps .steps .step-item .step-marker .icon *,.b-steps .steps .step-item .step-marker .icon *:before{font-size:1rem}.b-steps .steps .step-item .step-title{font-size:1.2rem;font-weight:600;line-height:1rem}.b-steps .steps .step-item:not(:first-child):before,.b-steps .steps .step-item:only-child:before{height:.2em;top:1rem}.b-steps .steps .step-item:only-child:after{top:1rem}@media screen and (max-width: 768px){.b-steps .steps .step-item:before,.b-steps .steps .step-item:after,.b-steps .steps .step-item:not(:first-child):before{top:1rem}}.b-steps.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(1rem - .1em)}.b-steps.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1rem - .1em)}.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(1rem - .1em)}.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1rem - .1em)}.b-steps.is-small .steps{font-size:.75rem;min-height:1.5rem}.b-steps.is-small .steps .step-item .step-marker{height:1.5rem;width:1.5rem}.b-steps.is-small .steps .step-item .step-marker .icon *,.b-steps.is-small .steps .step-item .step-marker .icon *:before{font-size:.75rem}.b-steps.is-small .steps .step-item .step-title{font-size:.9rem;font-weight:600;line-height:.75rem}.b-steps.is-small .steps .step-item:not(:first-child):before,.b-steps.is-small .steps .step-item:only-child:before{height:.2em;top:.75rem}.b-steps.is-small .steps .step-item:only-child:after{top:.75rem}@media screen and (max-width: 768px){.b-steps.is-small .steps .step-item:before,.b-steps.is-small .steps .step-item:after,.b-steps.is-small .steps .step-item:not(:first-child):before{top:.75rem}}.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-small.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(.75rem - .1em)}.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-small.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(.75rem - .1em)}.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(.75rem - .1em)}.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-small.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(.75rem - .1em)}.b-steps.is-medium .steps{font-size:1.25rem;min-height:2.5rem}.b-steps.is-medium .steps .step-item .step-marker{height:2.5rem;width:2.5rem}.b-steps.is-medium .steps .step-item .step-marker .icon *,.b-steps.is-medium .steps .step-item .step-marker .icon *:before{font-size:1.25rem}.b-steps.is-medium .steps .step-item .step-title{font-size:1.5rem;font-weight:600;line-height:1.25rem}.b-steps.is-medium .steps .step-item:not(:first-child):before,.b-steps.is-medium .steps .step-item:only-child:before{height:.2em;top:1.25rem}.b-steps.is-medium .steps .step-item:only-child:after{top:1.25rem}@media screen and (max-width: 768px){.b-steps.is-medium .steps .step-item:before,.b-steps.is-medium .steps .step-item:after,.b-steps.is-medium .steps .step-item:not(:first-child):before{top:1.25rem}}.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-medium.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(1.25rem - .1em)}.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-medium.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.25rem - .1em)}.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(1.25rem - .1em)}.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-medium.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.25rem - .1em)}.b-steps.is-large .steps{font-size:1.5rem;min-height:3rem}.b-steps.is-large .steps .step-item .step-marker{height:3rem;width:3rem}.b-steps.is-large .steps .step-item .step-marker .icon *,.b-steps.is-large .steps .step-item .step-marker .icon *:before{font-size:1.5rem}.b-steps.is-large .steps .step-item .step-title{font-size:1.8rem;font-weight:600;line-height:1.5rem}.b-steps.is-large .steps .step-item:not(:first-child):before,.b-steps.is-large .steps .step-item:only-child:before{height:.2em;top:1.5rem}.b-steps.is-large .steps .step-item:only-child:after{top:1.5rem}@media screen and (max-width: 768px){.b-steps.is-large .steps .step-item:before,.b-steps.is-large .steps .step-item:after,.b-steps.is-large .steps .step-item:not(:first-child):before{top:1.5rem}}.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:only-child:before,.b-steps.is-large.is-vertical>.steps.has-label-right .step-item:only-child:after{left:calc(1.5rem - .1em)}.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:only-child:before,.b-steps.is-large.is-vertical>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.5rem - .1em)}.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:not(:first-child):after,.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:only-child:before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-right .step-item:only-child:after{left:calc(1.5rem - .1em)}.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:not(:first-child):after,.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:only-child:before,.b-steps.is-large.is-vertical.is-right>.steps.has-label-left .step-item:only-child:after{left:auto;right:calc(1.5rem - .1em)}.b-steps.is-vertical{display:flex;flex-direction:row;flex-wrap:wrap}.b-steps.is-vertical>.steps{height:100%;flex-direction:column;border-bottom-color:transparent}.b-steps.is-vertical>.steps .step-item{width:100%;display:flex;align-items:center;justify-content:center;padding:1em 0}.b-steps.is-vertical>.steps .step-item:before,.b-steps.is-vertical>.steps .step-item:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#2da192 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-white:before,.b-steps.is-vertical>.steps .step-item.is-white:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,100%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-black:before,.b-steps.is-vertical>.steps .step-item.is-black:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,4%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-light:before,.b-steps.is-vertical>.steps .step-item.is-light:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,96%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-dark:before,.b-steps.is-vertical>.steps .step-item.is-dark:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(0,0%,21%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-primary:before,.b-steps.is-vertical>.steps .step-item.is-primary:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#2da192 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-info:before,.b-steps.is-vertical>.steps .step-item.is-info:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(207,61%,53%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-success:before,.b-steps.is-vertical>.steps .step-item.is-success:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(153,53%,53%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-warning:before,.b-steps.is-vertical>.steps .step-item.is-warning:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(44,100%,77%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-danger:before,.b-steps.is-vertical>.steps .step-item.is-danger:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,hsl(348,86%,61%) 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-1:before,.b-steps.is-vertical>.steps .step-item.is-shade-1:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#3d444b 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-2:before,.b-steps.is-vertical>.steps .step-item.is-shade-2:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#33393f 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-3:before,.b-steps.is-vertical>.steps .step-item.is-shade-3:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#282e33 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item.is-shade-4:before,.b-steps.is-vertical>.steps .step-item.is-shade-4:after{background:linear-gradient(to top,hsl(0,0%,86%) 50%,#18191d 50%);background-size:100% 200%;background-position:left bottom}.b-steps.is-vertical>.steps .step-item:not(:first-child):before,.b-steps.is-vertical>.steps .step-item:only-child:before{height:100%;width:.2em;top:-50%;left:calc(50% - .1em)}.b-steps.is-vertical>.steps .step-item.is-active:before,.b-steps.is-vertical>.steps .step-item.is-active:after,.b-steps.is-vertical>.steps .step-item.is-previous:before,.b-steps.is-vertical>.steps .step-item.is-previous:after{background-position:right top}.b-steps.is-vertical>.steps .step-item:only-child:before{top:50%}.b-steps.is-vertical>.steps .step-item:only-child:after{width:.2em;top:auto;bottom:50%}.b-steps.is-vertical>.steps .step-item:only-child:before,.b-steps.is-vertical>.steps .step-item:only-child:after{height:25%}.b-steps.is-vertical>.steps.has-label-right .step-item{justify-content:flex-start}.b-steps.is-vertical>.steps.has-label-left .step-item{justify-content:flex-end}.b-steps.is-vertical>.steps:not(.has-label-right):not(.has-label-left) .step-item .step-link>.step-title{background-color:#18191d}.b-steps.is-vertical>.step-content{flex-grow:1}.b-steps.is-vertical>.step-navigation{flex-basis:100%}.b-steps.is-vertical.is-right{flex-direction:row-reverse}@media screen and (max-width: 768px){.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:not(.is-active){display:none}.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:before,.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:after,.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:not(:first-child):before{content:" ";display:block;position:absolute;height:.2em;width:25%;bottom:0;left:50%}.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:before,.b-steps:not(.is-vertical) .steps.mobile-minimalist .step-item:not(:first-child):before{right:50%;left:auto}.b-steps:not(.is-vertical) .steps.mobile-compact .step-item:not(.is-active) .step-title{display:none}}.b-skeleton{display:inline-flex;flex-direction:column;vertical-align:middle;width:100%}.b-skeleton>.b-skeleton-item{background:linear-gradient(90deg,hsl(0,0%,86%) 25%,rgba(219,219,219,.5) 50%,hsl(0,0%,86%) 75%);background-size:400% 100%;width:100%}.b-skeleton>.b-skeleton-item.is-rounded{border-radius:4px}.b-skeleton>.b-skeleton-item:after{content:" "}.b-skeleton>.b-skeleton-item+.b-skeleton-item{margin-top:.5rem}.b-skeleton.is-animated>.b-skeleton-item{animation:skeleton-loading 1.5s infinite}.b-skeleton.is-centered{align-items:center}.b-skeleton.is-right{align-items:flex-end}.b-skeleton+.b-skeleton{margin-top:.5rem}.b-skeleton>.b-skeleton-item{line-height:1rem}.b-skeleton.is-small>.b-skeleton-item{line-height:.75rem}.b-skeleton.is-medium>.b-skeleton-item{line-height:1.25rem}.b-skeleton.is-large>.b-skeleton-item{line-height:1.5rem}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.dropdown+.dropdown{margin-left:.5em}.dropdown .background{bottom:0;left:0;position:absolute;right:0;top:0;position:fixed;background-color:#0a0a0adb;z-index:40;cursor:pointer}@media screen and (min-width: 1024px){.dropdown .background{display:none}}.dropdown.dropdown-menu-animation .dropdown-menu{display:block}.dropdown .dropdown-menu .dropdown-item.is-disabled,.dropdown .dropdown-menu .has-link a.is-disabled{cursor:not-allowed}.dropdown .dropdown-menu .dropdown-item.is-disabled:hover,.dropdown .dropdown-menu .has-link a.is-disabled:hover{background:inherit;color:inherit}.dropdown .dropdown-menu .has-link a{padding-right:3rem;white-space:nowrap}.dropdown.is-hoverable:not(.is-active) .dropdown-menu{display:none}.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-expanded,.dropdown.is-expanded .dropdown-trigger,.dropdown.is-expanded .dropdown-menu{width:100%}.dropdown.is-expanded.is-mobile-modal .dropdown-menu{max-width:100%}.dropdown:not(.is-disabled) .dropdown-menu .dropdown-item.is-disabled,.dropdown:not(.is-disabled) .dropdown-menu .has-link a.is-disabled{opacity:.5}.dropdown .navbar-item{height:100%}.dropdown.is-disabled{opacity:.5;cursor:not-allowed}.dropdown.is-disabled .dropdown-trigger{pointer-events:none}.dropdown.is-inline .dropdown-menu{position:static;display:inline-block;padding:0}.dropdown.is-top-right .dropdown-menu{top:auto;bottom:100%}.dropdown.is-top-left .dropdown-menu{top:auto;bottom:100%;right:0;left:auto}.dropdown.is-bottom-left .dropdown-menu{right:0;left:auto}@media screen and (max-width: 1023px){.dropdown.is-mobile-modal>.dropdown-menu{position:fixed!important;width:calc(100vw - 40px);max-width:460px;max-height:calc(100vh - 120px);top:25%!important;left:50%!important;bottom:auto!important;right:auto!important;transform:translate3d(-50%,-25%,0);white-space:normal;overflow-y:auto;z-index:50!important}.dropdown.is-mobile-modal>.dropdown-menu>.dropdown-item,.dropdown .dropdown-menu .has-link .dropdown.is-mobile-modal>.dropdown-menu>a,.dropdown.is-mobile-modal>.dropdown-menu>.has-link a{padding:1rem 1.5rem}}.datepicker{font-size:.875rem}.datepicker .dropdown,.datepicker .dropdown-trigger{width:100%}.datepicker .dropdown .input[readonly],.datepicker .dropdown-trigger .input[readonly]{cursor:pointer;box-shadow:inset 0 .0625em .125em #0a0a0a0d}.datepicker .dropdown .input[readonly]:focus,.datepicker .dropdown .input[readonly].is-focused,.datepicker .dropdown .input[readonly]:active,.datepicker .dropdown .input[readonly].is-active,.datepicker .dropdown-trigger .input[readonly]:focus,.datepicker .dropdown-trigger .input[readonly].is-focused,.datepicker .dropdown-trigger .input[readonly]:active,.datepicker .dropdown-trigger .input[readonly].is-active{box-shadow:0 0 0 .125em #2da19240}.datepicker .dropdown.is-disabled{opacity:1}.datepicker .dropdown-menu{background-color:#18191d;border-radius:4px;box-shadow:0 .5em 1em -.125em #0a0a0a1a,0 0 0 1px #0a0a0a05}.datepicker .dropdown-item,.datepicker .dropdown .dropdown-menu .has-link a,.dropdown .dropdown-menu .has-link .datepicker a{font-size:inherit}.datepicker .dropdown-item:hover,.datepicker .dropdown .dropdown-menu .has-link a:hover,.dropdown .dropdown-menu .has-link .datepicker a:hover{background-color:unset;color:unset}.datepicker .datepicker-header{padding-bottom:.875rem;margin-bottom:.875rem;border-bottom:1px solid hsl(0,0%,86%)}.datepicker .datepicker-footer{margin-top:.875rem;padding-top:.875rem;border-top:1px solid hsl(0,0%,86%)}.datepicker .datepicker-table{display:table;margin:0 auto}.datepicker .datepicker-table .datepicker-cell{text-align:center;vertical-align:middle;display:table-cell;border-radius:4px;padding:.5rem .75rem}.datepicker .datepicker-table .datepicker-header{display:table-header-group}.datepicker .datepicker-table .datepicker-header .datepicker-cell{color:#7a7a7a;font-weight:600}.datepicker .datepicker-table .datepicker-body{display:table-row-group}.datepicker .datepicker-table .datepicker-body .datepicker-row{display:table-row}.datepicker .datepicker-table .datepicker-body .datepicker-months{display:inline-flex;flex-wrap:wrap;flex-direction:row;width:17rem}.datepicker .datepicker-table .datepicker-body .datepicker-months .datepicker-cell{display:flex;align-items:center;justify-content:center;width:33.33%;height:2.5rem}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-unselectable{color:#b5b5b5}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-today{border:solid 1px rgba(45,161,146,.5)}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable{color:#4a4a4a}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable:hover:not(.is-selected):not(.is-first-hovered):not(.is-last-hovered),.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable:focus:not(.is-selected):not(.is-first-hovered):not(.is-last-hovered){background-color:#f5f5f5;color:#0a0a0a;cursor:pointer}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable.is-first-hovered{background-color:#7a7a7a;color:#dbdbdb;border-bottom-right-radius:0;border-top-right-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable.is-within-hovered{background-color:#f5f5f5;color:#0a0a0a;border-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selectable.is-last-hovered{background-color:#7a7a7a;color:#dbdbdb;border-bottom-left-radius:0;border-top-left-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da192;color:#fff}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered).is-first-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da192;color:#fff;border-bottom-right-radius:0;border-top-right-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered).is-within-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da19280;border-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered).is-last-selected:not(.is-first-hovered):not(.is-within-hovered):not(.is-last-hovered){background-color:#2da192;color:#fff;border-bottom-left-radius:0;border-top-left-radius:0}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-nearby:not(.is-selected){color:#b5b5b5}.datepicker .datepicker-table .datepicker-body .datepicker-cell.is-week-number{cursor:default}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell{padding:.3rem .75rem .75rem}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event{position:relative}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events{bottom:.425rem;display:flex;justify-content:center;left:0;padding:0 .35rem;position:absolute;width:100%}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event{background-color:#b5b5b5}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-white{background-color:#fff}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-black{background-color:#0a0a0a}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-light{background-color:#f5f5f5}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-dark{background-color:#363636}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-primary{background-color:#2da192}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-info{background-color:#3e8ed0}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-success{background-color:#48c78e}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-warning{background-color:#ffe08a}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-danger{background-color:#f14668}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-1{background-color:#3d444b}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-2{background-color:#33393f}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-3{background-color:#282e33}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event .events .event.is-shade-4{background-color:#18191d}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event.dots .event{border-radius:50%;height:.35em;margin:0 .1em;width:.35em}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.has-event.bars .event{height:.25em;width:100%}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.is-selected{overflow:hidden}.datepicker .datepicker-table .datepicker-body.has-events .datepicker-cell.is-selected .events .event.is-primary{background-color:#4dcdbd}.datepicker.is-small{border-radius:2px;font-size:.75rem}.datepicker.is-medium{font-size:1.25rem}.datepicker.is-large{font-size:1.5rem}@media screen and (min-width: 1024px){.datepicker .footer-horizontal-timepicker{border:none;padding-left:10px;margin-left:5px;display:flex}.datepicker .dropdown-horizonal-timepicker{display:flex}.datepicker .content-horizonal-timepicker{border-right:1px solid #dbdbdb}}.datepicker .pagination-list{flex-wrap:nowrap}.datepicker .pagination-list .select{margin-left:.125rem;margin-right:.125rem}.modal>.animation-content.is-full-screen,.modal>.animation-content.is-full-screen>.modal-card{width:100%;height:100%;max-height:100vh;margin:0;background-color:#f5f5f5}.modal .animation-content{margin:0 20px}.modal .animation-content .modal-card{margin:0}@media screen and (max-width: 768px){.modal .animation-content{width:100%}}.modal .modal-content{width:100%}.b-checkbox.checkbox{outline:none;display:inline-flex;align-items:center}.b-checkbox.checkbox:not(.button){margin-right:.5em}.b-checkbox.checkbox:not(.button)+.checkbox:last-child{margin-right:0}.b-checkbox.checkbox .check{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:inherit;width:1.25em;height:1.25em;flex-shrink:0;border-radius:4px;border:2px solid hsl(0,0%,48%);transition:background .15s ease-out;background:transparent}.b-checkbox.checkbox .check:checked{background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center;border-color:#2da192}.b-checkbox.checkbox .check:indeterminate{background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#2da192}.b-checkbox.checkbox .check:hover:not(:disabled){border-color:#2da192}.b-checkbox.checkbox .check:focus.check{box-shadow:0 0 .5em #7a7a7acc}.b-checkbox.checkbox .check:focus:checked.check{box-shadow:0 0 .5em #2da192cc}.b-checkbox.checkbox .control-label{padding-left:calc(.75em - 1px)}.b-checkbox.checkbox.button{display:flex}.b-checkbox.checkbox.is-disabled{opacity:.5;cursor:not-allowed}.b-checkbox.checkbox.is-small{border-radius:2px;font-size:.75rem}.b-checkbox.checkbox.is-medium{font-size:1.25rem}.b-checkbox.checkbox.is-large{font-size:1.5rem}.b-checkbox.checkbox.is-white .check:hover:not(:disabled){border-color:#fff}.b-checkbox.checkbox.is-white .check:checked{border-color:#fff;background:hsl(0,0%,100%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:hsl(0, 0%25, 4%25)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-white .check:checked:focus{box-shadow:0 0 .5em #fffc}.b-checkbox.checkbox.is-white .check:indeterminate{background:hsl(0,0%,100%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:hsl(0, 0%25, 4%25)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#fff}.b-checkbox.checkbox.is-black .check:hover:not(:disabled){border-color:#0a0a0a}.b-checkbox.checkbox.is-black .check:checked{border-color:#0a0a0a;background:hsl(0,0%,4%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:hsl(0, 0%25, 100%25)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-black .check:checked:focus{box-shadow:0 0 .5em #0a0a0acc}.b-checkbox.checkbox.is-black .check:indeterminate{background:hsl(0,0%,4%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:hsl(0, 0%25, 100%25)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#0a0a0a}.b-checkbox.checkbox.is-light .check:hover:not(:disabled){border-color:#f5f5f5}.b-checkbox.checkbox.is-light .check:checked{border-color:#f5f5f5;background:hsl(0,0%,96%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:rgba(0, 0, 0, 0.7)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-light .check:checked:focus{box-shadow:0 0 .5em #f5f5f5cc}.b-checkbox.checkbox.is-light .check:indeterminate{background:hsl(0,0%,96%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:rgba(0, 0, 0, 0.7)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#f5f5f5}.b-checkbox.checkbox.is-dark .check:hover:not(:disabled){border-color:#363636}.b-checkbox.checkbox.is-dark .check:checked{border-color:#363636;background:hsl(0,0%,21%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-dark .check:checked:focus{box-shadow:0 0 .5em #363636cc}.b-checkbox.checkbox.is-dark .check:indeterminate{background:hsl(0,0%,21%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#363636}.b-checkbox.checkbox.is-primary .check:hover:not(:disabled){border-color:#2da192}.b-checkbox.checkbox.is-primary .check:checked{border-color:#2da192;background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-primary .check:checked:focus{box-shadow:0 0 .5em #2da192cc}.b-checkbox.checkbox.is-primary .check:indeterminate{background:#2da192 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#2da192}.b-checkbox.checkbox.is-info .check:hover:not(:disabled){border-color:#3e8ed0}.b-checkbox.checkbox.is-info .check:checked{border-color:#3e8ed0;background:hsl(207,61%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-info .check:checked:focus{box-shadow:0 0 .5em #3e8ed0cc}.b-checkbox.checkbox.is-info .check:indeterminate{background:hsl(207,61%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#3e8ed0}.b-checkbox.checkbox.is-success .check:hover:not(:disabled){border-color:#48c78e}.b-checkbox.checkbox.is-success .check:checked{border-color:#48c78e;background:hsl(153,53%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-success .check:checked:focus{box-shadow:0 0 .5em #48c78ecc}.b-checkbox.checkbox.is-success .check:indeterminate{background:hsl(153,53%,53%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#48c78e}.b-checkbox.checkbox.is-warning .check:hover:not(:disabled){border-color:#ffe08a}.b-checkbox.checkbox.is-warning .check:checked{border-color:#ffe08a;background:hsl(44,100%,77%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:rgba(0, 0, 0, 0.7)' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-warning .check:checked:focus{box-shadow:0 0 .5em #ffe08acc}.b-checkbox.checkbox.is-warning .check:indeterminate{background:hsl(44,100%,77%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:rgba(0, 0, 0, 0.7)' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#ffe08a}.b-checkbox.checkbox.is-danger .check:hover:not(:disabled){border-color:#f14668}.b-checkbox.checkbox.is-danger .check:checked{border-color:#f14668;background:hsl(348,86%,61%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-danger .check:checked:focus{box-shadow:0 0 .5em #f14668cc}.b-checkbox.checkbox.is-danger .check:indeterminate{background:hsl(348,86%,61%) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#f14668}.b-checkbox.checkbox.is-shade-1 .check:hover:not(:disabled){border-color:#3d444b}.b-checkbox.checkbox.is-shade-1 .check:checked{border-color:#3d444b;background:#3d444b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-1 .check:checked:focus{box-shadow:0 0 .5em #3d444bcc}.b-checkbox.checkbox.is-shade-1 .check:indeterminate{background:#3d444b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#3d444b}.b-checkbox.checkbox.is-shade-2 .check:hover:not(:disabled){border-color:#33393f}.b-checkbox.checkbox.is-shade-2 .check:checked{border-color:#33393f;background:#33393f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-2 .check:checked:focus{box-shadow:0 0 .5em #33393fcc}.b-checkbox.checkbox.is-shade-2 .check:indeterminate{background:#33393f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#33393f}.b-checkbox.checkbox.is-shade-3 .check:hover:not(:disabled){border-color:#282e33}.b-checkbox.checkbox.is-shade-3 .check:checked{border-color:#282e33;background:#282e33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-3 .check:checked:focus{box-shadow:0 0 .5em #282e33cc}.b-checkbox.checkbox.is-shade-3 .check:indeterminate{background:#282e33 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#282e33}.b-checkbox.checkbox.is-shade-4 .check:hover:not(:disabled){border-color:#18191d}.b-checkbox.checkbox.is-shade-4 .check:checked{border-color:#18191d;background:#18191d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Cpath style='fill:%23fff' d='M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z'%3E%3C/path%3E%3C/svg%3E") no-repeat center center}.b-checkbox.checkbox.is-shade-4 .check:checked:focus{box-shadow:0 0 .5em #18191dcc}.b-checkbox.checkbox.is-shade-4 .check:indeterminate{background:#18191d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3Crect style='fill:%23fff' width='0.7' height='0.2' x='.15' y='.4'%3E%3C/rect%3E%3C/svg%3E") no-repeat center center;border-color:#18191d}.b-sidebar .sidebar-content{background-color:#f5f5f5;box-shadow:5px 0 13px 3px #0a0a0a1a;width:260px;z-index:39}.b-sidebar .sidebar-content.is-white{background-color:#fff}.b-sidebar .sidebar-content.is-black{background-color:#0a0a0a}.b-sidebar .sidebar-content.is-light{background-color:#f5f5f5}.b-sidebar .sidebar-content.is-dark{background-color:#363636}.b-sidebar .sidebar-content.is-primary{background-color:#2da192}.b-sidebar .sidebar-content.is-info{background-color:#3e8ed0}.b-sidebar .sidebar-content.is-success{background-color:#48c78e}.b-sidebar .sidebar-content.is-warning{background-color:#ffe08a}.b-sidebar .sidebar-content.is-danger{background-color:#f14668}.b-sidebar .sidebar-content.is-shade-1{background-color:#3d444b}.b-sidebar .sidebar-content.is-shade-2{background-color:#33393f}.b-sidebar .sidebar-content.is-shade-3{background-color:#282e33}.b-sidebar .sidebar-content.is-shade-4{background-color:#18191d}.b-sidebar .sidebar-content.is-fixed{position:fixed;left:0;top:0}.b-sidebar .sidebar-content.is-fixed.is-right{left:auto;right:0}.b-sidebar .sidebar-content.is-absolute{position:absolute;left:0;top:0}.b-sidebar .sidebar-content.is-absolute.is-right{left:auto;right:0}.b-sidebar .sidebar-content.is-mini{width:80px}.b-sidebar .sidebar-content.is-mini.is-mini-expand:hover:not(.is-mini-delayed){transition:width .15s ease-out}.b-sidebar .sidebar-content.is-mini.is-mini-expand:hover:not(.is-mini-delayed):not(.is-fullwidth){width:260px}.b-sidebar .sidebar-content.is-mini.is-mini-expand:hover:not(.is-mini-delayed):not(.is-fullwidth).is-mini-expand-fixed{position:fixed}.b-sidebar .sidebar-content.is-static{position:static}.b-sidebar .sidebar-content.is-absolute,.b-sidebar .sidebar-content.is-static{transition:width .15s ease-out}.b-sidebar .sidebar-content.is-fullwidth{width:100%;max-width:100%}.b-sidebar .sidebar-content.is-fullheight{height:100%;max-height:100%;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;align-content:stretch}@media screen and (max-width: 768px){.b-sidebar .sidebar-content.is-mini-mobile{width:80px}.b-sidebar .sidebar-content.is-mini-mobile.is-mini-expand:hover:not(.is-fullwidth-mobile){width:260px}.b-sidebar .sidebar-content.is-mini-mobile.is-mini-expand:hover:not(.is-fullwidth-mobile).is-mini-expand-fixed{position:fixed}.b-sidebar .sidebar-content.is-hidden-mobile{width:0;height:0;overflow:hidden}.b-sidebar .sidebar-content.is-fullwidth-mobile{width:100%;max-width:100%}}.b-sidebar .sidebar-background{bottom:0;left:0;position:absolute;right:0;top:0;background:rgba(10,10,10,.86);position:fixed;z-index:38}.loading{bottom:0;left:0;position:absolute;right:0;top:0;align-items:center;justify-content:center;display:flex;overflow:hidden;z-index:29}.loading.is-full-page{position:fixed;z-index:999}.loading.is-full-page .icon{width:5em;height:5em}.loading .loading-overlay{bottom:0;left:0;position:absolute;right:0;top:0;background:rgba(24,25,29,.2)}.loading .icon{animation:spinAround 1s infinite linear;position:absolute;width:3em;height:3em}.timepicker .dropdown-menu{min-width:0}.timepicker .dropdown,.timepicker .dropdown-trigger{width:100%}.timepicker .dropdown .input[readonly],.timepicker .dropdown-trigger .input[readonly]{cursor:pointer;box-shadow:inset 0 .0625em .125em #0a0a0a0d}.timepicker .dropdown .input[readonly]:focus,.timepicker .dropdown .input[readonly].is-focused,.timepicker .dropdown .input[readonly]:active,.timepicker .dropdown .input[readonly].is-active,.timepicker .dropdown-trigger .input[readonly]:focus,.timepicker .dropdown-trigger .input[readonly].is-focused,.timepicker .dropdown-trigger .input[readonly]:active,.timepicker .dropdown-trigger .input[readonly].is-active{box-shadow:0 0 0 .125em #2da19240}.timepicker .dropdown.is-disabled{opacity:1}.timepicker .dropdown-item,.timepicker .dropdown .dropdown-menu .has-link a,.dropdown .dropdown-menu .has-link .timepicker a{font-size:inherit;padding:0;justify-content:center;display:flex}.timepicker .timepicker-footer{padding:0 .5rem}.timepicker .dropdown-content .control{font-size:1.25em;margin-right:0!important}.timepicker .dropdown-content .control.select{margin:0 .125em}.timepicker .dropdown-content .control.select select{font-weight:600;padding-right:calc(.75em - 1px);border:0}.timepicker .dropdown-content .control.select select option:disabled{color:#7a7a7ab3}.timepicker .dropdown-content .control.select:after{display:none}.timepicker .dropdown-content .control.is-colon{font-size:1.7em;line-height:1.7em}.timepicker.is-small{border-radius:2px;font-size:.75rem}.timepicker.is-medium{font-size:1.25rem}.timepicker.is-large{font-size:1.5rem}.b-radio.radio{outline:none;display:inline-flex;align-items:center}.b-radio.radio:not(.button){margin-right:.5em}.b-radio.radio:not(.button)+.radio:last-child{margin-right:0}.b-radio.radio+.radio{margin-left:0}.b-radio.radio .check{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:inherit;width:1.25em;height:1.25em;flex-shrink:0;border-radius:50%;border:2px solid hsl(0,0%,48%);transition:background .15s ease-out}.b-radio.radio .check:hover:not(:disabled){border-color:#2da192}.b-radio.radio .check:before{content:"";display:flex;position:absolute;left:.625em;margin-left:-.625em;bottom:50%;margin-bottom:-.625em;width:1.25em;height:1.25em;transition:transform .15s ease-out;border-radius:50%;transform:scale(0);background:#2da192}.b-radio.radio .check:checked{border-color:#2da192}.b-radio.radio .check:checked:before{transform:scale(.5)}.b-radio.radio .check:focus{box-shadow:0 0 .5em #7a7a7acc}.b-radio.radio .check:focus:checked{box-shadow:0 0 .5em #2da192cc}.b-radio.radio .control-label{padding-left:calc(.75em - 1px)}.b-radio.radio.button{display:flex}.b-radio.radio.button.is-selected{z-index:1}.b-radio.radio.is-disabled{opacity:.5}.b-radio.radio.is-small{border-radius:2px;font-size:.75rem}.b-radio.radio.is-medium{font-size:1.25rem}.b-radio.radio.is-large{font-size:1.5rem}.b-radio.radio.is-white .check:before{background:hsl(0,0%,100%)}.b-radio.radio.is-white .check:before:hover:not(:disabled){border-color:#fff}.b-radio.radio.is-white .check:checked{border-color:#fff}.b-radio.radio.is-white .check:checked:focus{box-shadow:0 0 .5em #fffc}.b-radio.radio.is-white .check:hover:not(:disabled){border-color:#fff}.b-radio.radio.is-black .check:before{background:hsl(0,0%,4%)}.b-radio.radio.is-black .check:before:hover:not(:disabled){border-color:#0a0a0a}.b-radio.radio.is-black .check:checked{border-color:#0a0a0a}.b-radio.radio.is-black .check:checked:focus{box-shadow:0 0 .5em #0a0a0acc}.b-radio.radio.is-black .check:hover:not(:disabled){border-color:#0a0a0a}.b-radio.radio.is-light .check:before{background:hsl(0,0%,96%)}.b-radio.radio.is-light .check:before:hover:not(:disabled){border-color:#f5f5f5}.b-radio.radio.is-light .check:checked{border-color:#f5f5f5}.b-radio.radio.is-light .check:checked:focus{box-shadow:0 0 .5em #f5f5f5cc}.b-radio.radio.is-light .check:hover:not(:disabled){border-color:#f5f5f5}.b-radio.radio.is-dark .check:before{background:hsl(0,0%,21%)}.b-radio.radio.is-dark .check:before:hover:not(:disabled){border-color:#363636}.b-radio.radio.is-dark .check:checked{border-color:#363636}.b-radio.radio.is-dark .check:checked:focus{box-shadow:0 0 .5em #363636cc}.b-radio.radio.is-dark .check:hover:not(:disabled){border-color:#363636}.b-radio.radio.is-primary .check:before{background:#2da192}.b-radio.radio.is-primary .check:before:hover:not(:disabled){border-color:#2da192}.b-radio.radio.is-primary .check:checked{border-color:#2da192}.b-radio.radio.is-primary .check:checked:focus{box-shadow:0 0 .5em #2da192cc}.b-radio.radio.is-primary .check:hover:not(:disabled){border-color:#2da192}.b-radio.radio.is-info .check:before{background:hsl(207,61%,53%)}.b-radio.radio.is-info .check:before:hover:not(:disabled){border-color:#3e8ed0}.b-radio.radio.is-info .check:checked{border-color:#3e8ed0}.b-radio.radio.is-info .check:checked:focus{box-shadow:0 0 .5em #3e8ed0cc}.b-radio.radio.is-info .check:hover:not(:disabled){border-color:#3e8ed0}.b-radio.radio.is-success .check:before{background:hsl(153,53%,53%)}.b-radio.radio.is-success .check:before:hover:not(:disabled){border-color:#48c78e}.b-radio.radio.is-success .check:checked{border-color:#48c78e}.b-radio.radio.is-success .check:checked:focus{box-shadow:0 0 .5em #48c78ecc}.b-radio.radio.is-success .check:hover:not(:disabled){border-color:#48c78e}.b-radio.radio.is-warning .check:before{background:hsl(44,100%,77%)}.b-radio.radio.is-warning .check:before:hover:not(:disabled){border-color:#ffe08a}.b-radio.radio.is-warning .check:checked{border-color:#ffe08a}.b-radio.radio.is-warning .check:checked:focus{box-shadow:0 0 .5em #ffe08acc}.b-radio.radio.is-warning .check:hover:not(:disabled){border-color:#ffe08a}.b-radio.radio.is-danger .check:before{background:hsl(348,86%,61%)}.b-radio.radio.is-danger .check:before:hover:not(:disabled){border-color:#f14668}.b-radio.radio.is-danger .check:checked{border-color:#f14668}.b-radio.radio.is-danger .check:checked:focus{box-shadow:0 0 .5em #f14668cc}.b-radio.radio.is-danger .check:hover:not(:disabled){border-color:#f14668}.b-radio.radio.is-shade-1 .check:before{background:#3d444b}.b-radio.radio.is-shade-1 .check:before:hover:not(:disabled){border-color:#3d444b}.b-radio.radio.is-shade-1 .check:checked{border-color:#3d444b}.b-radio.radio.is-shade-1 .check:checked:focus{box-shadow:0 0 .5em #3d444bcc}.b-radio.radio.is-shade-1 .check:hover:not(:disabled){border-color:#3d444b}.b-radio.radio.is-shade-2 .check:before{background:#33393f}.b-radio.radio.is-shade-2 .check:before:hover:not(:disabled){border-color:#33393f}.b-radio.radio.is-shade-2 .check:checked{border-color:#33393f}.b-radio.radio.is-shade-2 .check:checked:focus{box-shadow:0 0 .5em #33393fcc}.b-radio.radio.is-shade-2 .check:hover:not(:disabled){border-color:#33393f}.b-radio.radio.is-shade-3 .check:before{background:#282e33}.b-radio.radio.is-shade-3 .check:before:hover:not(:disabled){border-color:#282e33}.b-radio.radio.is-shade-3 .check:checked{border-color:#282e33}.b-radio.radio.is-shade-3 .check:checked:focus{box-shadow:0 0 .5em #282e33cc}.b-radio.radio.is-shade-3 .check:hover:not(:disabled){border-color:#282e33}.b-radio.radio.is-shade-4 .check:before{background:#18191d}.b-radio.radio.is-shade-4 .check:before:hover:not(:disabled){border-color:#18191d}.b-radio.radio.is-shade-4 .check:checked{border-color:#18191d}.b-radio.radio.is-shade-4 .check:checked:focus{box-shadow:0 0 .5em #18191dcc}.b-radio.radio.is-shade-4 .check:hover:not(:disabled){border-color:#18191d}.button .button-wrapper{display:inline-flex;justify-content:center}@keyframes icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.icon.is-spin{animation-name:icon-spin;animation-iteration-count:infinite;animation-timing-function:linear;animation-duration:2s}.select select option{color:#4a4a4a;padding:calc(.5em - 1px) calc(.75em - 1px)}.select select option:disabled{cursor:not-allowed;opacity:.5}.select select optgroup{color:#b5b5b5;font-weight:400;font-style:normal;padding:.25em 0}.select select.is-empty{color:#7a7a7ab3}.select{display:table}.select .icon{color:#242424;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.select.has-icons-left select{padding-left:2.5em}.select.has-icons-left .icon.is-left{left:0}.select .has-icons-right{padding-right:2.5em}.select .has-icons-right .icon.is-right{right:0}.b-notices{position:fixed;display:flex;top:0;bottom:0;left:0;right:0;overflow:hidden;pointer-events:none;padding:2em;z-index:1000}.b-notices .notification{pointer-events:auto;max-width:600px}.b-notices .notification.is-top,.b-notices .notification.is-bottom{align-self:center}.b-notices .notification.is-top-right,.b-notices .notification.is-bottom-right{align-self:flex-end}.b-notices .notification.is-top-left,.b-notices .notification.is-bottom-left{align-self:flex-start}.b-notices.is-top{flex-direction:column}.b-notices.is-bottom{flex-direction:column-reverse}.b-notices.is-bottom .notification{margin-bottom:0}.b-notices.is-bottom .notification:not(:first-child){margin-bottom:1.5rem}.b-notices.has-custom-container{position:absolute}.carousel{position:relative;overflow:hidden;width:100%}.carousel.is-overlay{background-color:#0a0a0adb;align-items:center;flex-direction:column;justify-content:center;display:flex;max-height:100vh;position:fixed;z-index:40}.carousel.is-overlay .carousel-item img{cursor:default}.carousel.is-overlay .carousel-indicator.has-background{background:transparent}.carousel .carousel-scene{width:100%;position:relative}.carousel .carousel-scene .carousel-items{display:flex}@media screen and (min-width: 769px),print{.carousel .carousel-scene .carousel-items:hover .carousel-arrow.is-hovered{opacity:1}}.carousel .carousel-scene .carousel-items:not(.is-dragging){transition:all .25s ease-out 0s}.carousel .carousel-scene .carousel-items .carousel-item{flex-shrink:0;width:100%;border:2px solid transparent}.carousel .carousel-indicator{width:100%;padding:.5rem;display:flex;align-items:center;justify-content:center}.carousel .carousel-indicator.has-background{background:rgba(10,10,10,.5)}.carousel .carousel-indicator.has-custom{flex-wrap:nowrap;justify-content:flex-start;-webkit-overflow-scrolling:touch;overflow:hidden;overflow-x:auto}.carousel .carousel-indicator.has-custom.is-small .indicator-item{flex:1 0 10%}.carousel .carousel-indicator.has-custom.is-medium .indicator-item{flex:1 0 16.66667%}.carousel .carousel-indicator.is-inside{position:absolute}.carousel .carousel-indicator.is-inside.is-bottom{bottom:0}.carousel .carousel-indicator.is-inside.is-top{top:0}.carousel .carousel-indicator .indicator-item:not(:last-child){margin-right:.5rem}.carousel .carousel-indicator .indicator-item .indicator-style.is-active,.carousel .carousel-indicator .indicator-item .indicator-style.is-active:hover{background:#2da192;border:1px solid #18191d}.carousel .carousel-indicator .indicator-item .indicator-style{display:block;border:1px solid #2da192;background:#18191d;outline:none;transition:.15s ease-out}.carousel .carousel-indicator .indicator-item .indicator-style.is-boxes{height:10px;width:10px}.carousel .carousel-indicator .indicator-item .indicator-style.is-dots{border-radius:9999px;height:10px;width:10px}.carousel .carousel-indicator .indicator-item .indicator-style.is-lines{height:5px;width:25px}.carousel-arrow{transition:.15s ease-out}.carousel-arrow.is-hovered{opacity:0}.carousel-arrow.icon{background:#18191d;color:#2da192;cursor:pointer;border:1px solid #18191d;border-radius:9999px;outline:0}.carousel-arrow.icon:hover{border:1px solid #2da192;opacity:1}.carousel-arrow.icon.has-icons-left,.carousel-arrow.icon.has-icons-right{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-arrow.icon.has-icons-left{left:1.5rem}.carousel-arrow.icon.has-icons-right{right:1.5rem}.upload{position:relative;display:inline-flex}.upload input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;outline:none;cursor:pointer;z-index:-1}.upload .upload-draggable{cursor:pointer;padding:.25em;border:1px dashed hsl(0,0%,71%);border-radius:6px}.upload .upload-draggable:hover.is-white,.upload .upload-draggable.is-hovered.is-white{border-color:#fff;background:rgba(255,255,255,.05)}.upload .upload-draggable:hover.is-black,.upload .upload-draggable.is-hovered.is-black{border-color:#0a0a0a;background:rgba(10,10,10,.05)}.upload .upload-draggable:hover.is-light,.upload .upload-draggable.is-hovered.is-light{border-color:#f5f5f5;background:rgba(245,245,245,.05)}.upload .upload-draggable:hover.is-dark,.upload .upload-draggable.is-hovered.is-dark{border-color:#363636;background:rgba(54,54,54,.05)}.upload .upload-draggable:hover.is-primary,.upload .upload-draggable.is-hovered.is-primary{border-color:#2da192;background:rgba(45,161,146,.05)}.upload .upload-draggable:hover.is-info,.upload .upload-draggable.is-hovered.is-info{border-color:#3e8ed0;background:rgba(62,142,208,.05)}.upload .upload-draggable:hover.is-success,.upload .upload-draggable.is-hovered.is-success{border-color:#48c78e;background:rgba(72,199,142,.05)}.upload .upload-draggable:hover.is-warning,.upload .upload-draggable.is-hovered.is-warning{border-color:#ffe08a;background:rgba(255,224,138,.05)}.upload .upload-draggable:hover.is-danger,.upload .upload-draggable.is-hovered.is-danger{border-color:#f14668;background:rgba(241,70,104,.05)}.upload .upload-draggable:hover.is-shade-1,.upload .upload-draggable.is-hovered.is-shade-1{border-color:#3d444b;background:rgba(61,68,75,.05)}.upload .upload-draggable:hover.is-shade-2,.upload .upload-draggable.is-hovered.is-shade-2{border-color:#33393f;background:rgba(51,57,63,.05)}.upload .upload-draggable:hover.is-shade-3,.upload .upload-draggable.is-hovered.is-shade-3{border-color:#282e33;background:rgba(40,46,51,.05)}.upload .upload-draggable:hover.is-shade-4,.upload .upload-draggable.is-hovered.is-shade-4{border-color:#18191d;background:rgba(24,25,29,.05)}.upload.is-expanded,.upload.is-expanded .upload-draggable{width:100%}.upload.is-disabled{opacity:.5;cursor:not-allowed}.upload.is-rounded{border-radius:9999px}.upload.is-rounded .file-name{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.divider{position:relative;display:flex;align-items:center;text-transform:uppercase;color:#7a7a7a;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:25px 0}.divider:after,.divider:before{content:"";display:block;flex:1;height:1px;background-color:#242424}.divider:not(.is-right):after{margin-left:10px}.divider:not(.is-left):before{margin-right:10px}.divider.is-left:before{display:none}.divider.is-right:after{display:none}.divider.is-vertical{flex-direction:column;margin:0 25px}.divider.is-vertical:after,.divider.is-vertical:before{height:auto;width:1px}.divider.is-vertical:after{margin-left:0;margin-top:10px}.divider.is-vertical:before{margin-right:0;margin-bottom:10px}.divider.is-white:after,.divider.is-white:before{background-color:#fff}.divider.is-black:after,.divider.is-black:before{background-color:#0a0a0a}.divider.is-light:after,.divider.is-light:before{background-color:#f5f5f5}.divider.is-dark:after,.divider.is-dark:before{background-color:#363636}.divider.is-primary:after,.divider.is-primary:before{background-color:#2da192}.divider.is-info:after,.divider.is-info:before{background-color:#3e8ed0}.divider.is-success:after,.divider.is-success:before{background-color:#48c78e}.divider.is-warning:after,.divider.is-warning:before{background-color:#ffe08a}.divider.is-danger:after,.divider.is-danger:before{background-color:#f14668}.divider.is-shade-1:after,.divider.is-shade-1:before{background-color:#3d444b}.divider.is-shade-2:after,.divider.is-shade-2:before{background-color:#33393f}.divider.is-shade-3:after,.divider.is-shade-3:before{background-color:#282e33}.divider.is-shade-4:after,.divider.is-shade-4:before{background-color:#18191d}html,body,.is-full-height{height:100%;overflow-y:hidden}.is-full-height-scrollable{height:100%;overflow-y:auto}.has-no-border{border:none}.has-no-border:focus{border:none}.has-placeholder-shade-1::placeholder{color:#3d444b}.modal-close:before,.modal-close:after{background-color:#fff}.modal-card-head,.modal-card-foot{background-color:#282e33}.dialog .modal-card{max-width:460px;min-width:320px;width:auto}.table td{vertical-align:middle}.is-width-min-400{min-width:400px}.is-primary-ghost{background-color:transparent;color:#2da192}.is-primary-ghost:hover,.is-primary-ghost:focus{background-color:transparent;color:#39c8b5}.is-warning-ghost{background-color:transparent;color:#ffe08a}.is-warning-ghost:hover,.is-warning-ghost:focus{color:#ffedbd}.menu-list li{margin:2px 0}.is-select-all{user-select:text;-webkit-user-select:text;-webkit-touch-callout:all;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:text;user-select:all}.has-no-wrap{white-space:nowrap}.messages-container{overflow-y:auto;scroll-behavior:smooth;flex-grow:1}.toolbar{position:relative;padding:.5em .3em;height:3em;display:flex;align-items:center;justify-content:space-between}.message-text{white-space:pre-wrap;border-radius:3px 9px 9px!important;padding:.25em .75em;margin:0 .75em}.messages-list-enter-active{transition:opacity .3s ease-out}.messages-list-enter-from{opacity:0}.is-flex-direction-row-reverse .message-text{border-radius:9px 3px 9px 9px!important}.is-msg-moderated{opacity:30%}.sendbox textarea{resize:none;border:none}.sendbox .thumbnail-container{position:absolute;top:1em;left:1em}.sendbox .thumbnail{max-height:2.5em}.sendbox .delete{margin-left:-7px;margin-top:-13px}.emojiPicker .b-tabs,.emojiPicker .tab-content{height:100%;overflow-y:hidden;padding:0}.emojiPicker{position:absolute;left:0;right:0;top:0;bottom:0;z-index:1;background-color:#18191d}.emoji{width:2.5rem;text-align:center}/*! -Fork Awesome 1.2.0 -License - https://forkaweso.me/Fork-Awesome/license - -Copyright 2018 Dave Gandy & Fork Awesome - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */@font-face{font-family:ForkAwesome;src:url(./forkawesome-webfont-62c52951.eot?v=1.2.0);src:url(./forkawesome-webfont-62c52951.eot?#iefix&v=1.2.0) format("embedded-opentype"),url(./forkawesome-webfont-8810ba34.woff2?v=1.2.0) format("woff2"),url(./forkawesome-webfont-006708d6.woff?v=1.2.0) format("woff"),url(./forkawesome-webfont-4f319287.ttf?v=1.2.0) format("truetype"),url(./forkawesome-webfont-d491dbcb.svg?v=1.2.0#forkawesomeregular) format("svg");font-weight:400;font-style:normal;font-display:block}.fa{display:inline-block;font: 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before,.fa-sync:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell-o:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-globe-e:before{content:""}.fa-globe-w:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-community:before,.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus-g:before,.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before,.fa-pound:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-sort-alpha-desc:before,.fa-sort-alpha-up:before{content:""}.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-sort-amount-desc:before,.fa-sort-amount-up:before{content:""}.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-sort-numeric-desc:before,.fa-sort-numeric-up:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before,.fa-closed-captioning:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before,.fa-gem:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-medium-square:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo-v:before,.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.fa-mastodon:before{content:""}.fa-mastodon-alt:before{content:""}.fa-fork-awesome:before,.fa-fork-circle:before{content:""}.fa-peertube:before{content:""}.fa-diaspora:before{content:""}.fa-friendica:before{content:""}.fa-gnu-social:before{content:""}.fa-liberapay-square:before{content:""}.fa-liberapay:before{content:""}.fa-scuttlebutt:before,.fa-ssb:before{content:""}.fa-hubzilla:before{content:""}.fa-social-home:before{content:""}.fa-artstation:before{content:""}.fa-discord:before{content:""}.fa-discord-alt:before{content:""}.fa-patreon:before{content:""}.fa-snowdrift:before{content:""}.fa-activitypub:before{content:""}.fa-ethereum:before{content:""}.fa-keybase:before{content:""}.fa-shaarli:before{content:""}.fa-shaarli-o:before{content:""}.fa-cut-key:before,.fa-key-modern:before{content:""}.fa-xmpp:before{content:""}.fa-archive-org:before{content:""}.fa-freedombox:before{content:""}.fa-facebook-messenger:before{content:""}.fa-debian:before{content:""}.fa-mastodon-square:before{content:""}.fa-tipeee:before{content:""}.fa-react:before{content:""}.fa-dogmazic:before{content:""}.fa-zotero:before{content:""}.fa-nodejs:before{content:""}.fa-nextcloud:before{content:""}.fa-nextcloud-square:before{content:""}.fa-hackaday:before{content:""}.fa-laravel:before{content:""}.fa-signalapp:before{content:""}.fa-gnupg:before{content:""}.fa-php:before{content:""}.fa-ffmpeg:before{content:""}.fa-joplin:before{content:""}.fa-syncthing:before{content:""}.fa-inkscape:before{content:""}.fa-matrix-org:before{content:""}.fa-pixelfed:before{content:""}.fa-bootstrap:before{content:""}.fa-dev-to:before{content:""}.fa-hashnode:before{content:""}.fa-jirafeau:before{content:""}.fa-emby:before{content:""}.fa-wikidata:before{content:""}.fa-gimp:before{content:""}.fa-c:before{content:""}.fa-digitalocean:before{content:""}.fa-att:before{content:""}.fa-gitea:before{content:""}.fa-file-epub:before{content:""}.fa-python:before{content:""}.fa-archlinux:before{content:""}.fa-pleroma:before{content:""}.fa-unsplash:before{content:""}.fa-hackster:before{content:""}.fa-spell-check:before{content:""}.fa-moon:before{content:""}.fa-sun:before{content:""}.fa-f-droid:before{content:""}.fa-biometric:before{content:""}.fa-wire:before{content:""}.fa-tor-onion:before{content:""}.fa-volume-mute:before{content:""}.fa-bell-ringing:before{content:""}.fa-bell-ringing-o:before{content:""}.fa-hal:before{content:""}.fa-jupyter:before{content:""}.fa-julia:before{content:""}.fa-classicpress:before{content:""}.fa-classicpress-circle:before{content:""}.fa-open-collective:before{content:""}.fa-orcid:before{content:""}.fa-researchgate:before{content:""}.fa-funkwhale:before{content:""}.fa-askfm:before{content:""}.fa-blockstack:before{content:""}.fa-boardgamegeek:before{content:""}.fa-bunny:before{content:""}.fa-buymeacoffee:before{content:""}.fa-cc-by:before{content:""}.fa-cc-cc:before,.fa-creative-commons-alt:before{content:""}.fa-cc-nc-eu:before{content:""}.fa-cc-nc-jp:before{content:""}.fa-cc-nc:before{content:""}.fa-cc-nd:before{content:""}.fa-cc-pd:before{content:""}.fa-cc-remix:before{content:""}.fa-cc-sa:before{content:""}.fa-cc-share:before{content:""}.fa-cc-zero:before{content:""}.fa-conway-glider:before,.fa-conway-hacker:before{content:""}.fa-csharp:before{content:""}.fa-email-bulk:before{content:""}.fa-email-bulk-o:before{content:""}.fa-gnu:before{content:""}.fa-google-play:before{content:""}.fa-heroku:before{content:""}.fa-hassio:before,.fa-home-assistant:before{content:""}.fa-java:before{content:""}.fa-mariadb:before{content:""}.fa-markdown:before{content:""}.fa-mysql:before{content:""}.fa-nordcast:before{content:""}.fa-plume:before{content:""}.fa-postgresql:before{content:""}.fa-sass-alt:before{content:""}.fa-sass:before{content:""}.fa-skate:before{content:""}.fa-sketchfab:before{content:""}.fa-tex:before{content:""}.fa-textpattern:before{content:""}.fa-unity:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.has-jid{display:flex;align-items:center}.presence-icon{font-size:.7em!important;position:absolute;right:-2px;bottom:-4px}.thumbnail[data-v-63e2154b]{max-height:8em}.image-container[data-v-63e2154b]{display:flex;justify-content:center;align-items:center}.has-unread[data-v-a1b25128]{display:flex;align-items:center}.room-attributes[data-v-a1b25128]{font-size:.8em}.unread-count-attached[data-v-a1b25128]{position:absolute;top:4px;left:30px;font-size:.5em}.menu-list a[data-v-443cd60f]{min-height:40px} diff --git a/classes/index.html b/classes/index.html index bea6b3f..05c2997 100644 --- a/classes/index.html +++ b/classes/index.html @@ -11,8 +11,8 @@ <title>XMPP web - - + +